diff --git a/CHANGELOG.md b/CHANGELOG.md index 3009660fe12..4c802790b73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +Release v1.44.250 (2023-04-25) +=== + +### Service Client Updates +* `service/chime-sdk-messaging`: Updates service API and documentation +* `service/connect`: Updates service API, documentation, and paginators +* `service/datasync`: Updates service API, documentation, and paginators +* `service/ds`: Updates service API and documentation + * New field added in AWS Managed Microsoft AD DescribeSettings response and regex pattern update for UpdateSettings value. Added length validation to RemoteDomainName. +* `service/pinpoint`: Updates service API, documentation, and examples + * Adds support for journey runs and querying journey execution metrics based on journey runs. Adds execution metrics to campaign activities. Updates docs for Advanced Quiet Time. + Release v1.44.249 (2023-04-24) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 33271e4575b..5b19d91905f 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -28832,6 +28832,14 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "fips-il-central-1", + }: endpoint{ + Hostname: "waf-regional-fips.il-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "il-central-1", + }, + }, endpointKey{ Region: "fips-me-central-1", }: endpoint{ @@ -29538,6 +29546,14 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "fips-il-central-1", + }: endpoint{ + Hostname: "wafv2-fips.il-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "il-central-1", + }, + }, endpointKey{ Region: "fips-me-central-1", }: endpoint{ diff --git a/aws/version.go b/aws/version.go index 31c451d305a..478e4e034cf 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.249" +const SDKVersion = "1.44.250" diff --git a/models/apis/chime-sdk-messaging/2021-05-15/api-2.json b/models/apis/chime-sdk-messaging/2021-05-15/api-2.json index 1f2f094820b..fa4cc777686 100644 --- a/models/apis/chime-sdk-messaging/2021-05-15/api-2.json +++ b/models/apis/chime-sdk-messaging/2021-05-15/api-2.json @@ -181,6 +181,7 @@ "errors":[ {"shape":"BadRequestException"}, {"shape":"ForbiddenException"}, + {"shape":"ConflictException"}, {"shape":"UnauthorizedClientException"}, {"shape":"ThrottledClientException"}, {"shape":"ServiceUnavailableException"}, @@ -283,6 +284,7 @@ }, "input":{"shape":"DeleteMessagingStreamingConfigurationsRequest"}, "errors":[ + {"shape":"BadRequestException"}, {"shape":"ForbiddenException"}, {"shape":"UnauthorizedClientException"}, {"shape":"ThrottledClientException"}, @@ -1446,7 +1448,10 @@ "Processors":{"shape":"ProcessorList"}, "Name":{"shape":"NonEmptyResourceName"}, "Tags":{"shape":"TagList"}, - "ClientRequestToken":{"shape":"ClientRequestToken"} + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } } }, "CreateChannelFlowResponse":{ @@ -1689,11 +1694,6 @@ "shape":"ChimeArn", "location":"header", "locationName":"x-amz-chime-bearer" - }, - "SubChannelId":{ - "shape":"SubChannelId", - "location":"querystring", - "locationName":"sub-channel-id" } } }, @@ -3216,15 +3216,13 @@ "shape":"ChimeArn", "location":"header", "locationName":"x-amz-chime-bearer" - }, - "SubChannelId":{"shape":"SubChannelId"} + } } }, "UpdateChannelReadMarkerResponse":{ "type":"structure", "members":{ - "ChannelArn":{"shape":"ChimeArn"}, - "SubChannelId":{"shape":"SubChannelId"} + "ChannelArn":{"shape":"ChimeArn"} } }, "UpdateChannelRequest":{ diff --git a/models/apis/chime-sdk-messaging/2021-05-15/docs-2.json b/models/apis/chime-sdk-messaging/2021-05-15/docs-2.json index b8024e40b57..27537f0a9b2 100644 --- a/models/apis/chime-sdk-messaging/2021-05-15/docs-2.json +++ b/models/apis/chime-sdk-messaging/2021-05-15/docs-2.json @@ -1374,7 +1374,6 @@ "CreateChannelMembershipResponse$SubChannelId": "

The ID of the SubChannel in the response.

", "DeleteChannelMembershipRequest$SubChannelId": "

The ID of the SubChannel in the request.

Only for use by moderators.

", "DeleteChannelMessageRequest$SubChannelId": "

The ID of the SubChannel in the request.

Only required when deleting messages in a SubChannel that the user belongs to.

", - "DeleteChannelRequest$SubChannelId": "

The ID of the SubChannel in the request.

", "DescribeChannelMembershipRequest$SubChannelId": "

The ID of the SubChannel in the request. The response contains an ElasticChannelConfiguration object.

Only required to get a user’s SubChannel membership details.

", "GetChannelMessageRequest$SubChannelId": "

The ID of the SubChannel in the request.

Only required when getting messages in a SubChannel that the user belongs to.

", "GetChannelMessageStatusRequest$SubChannelId": "

The ID of the SubChannel in the request.

Only required when getting message status in a SubChannel that the user belongs to.

", @@ -1387,9 +1386,7 @@ "SendChannelMessageResponse$SubChannelId": "

The ID of the SubChannel in the response.

", "SubChannelSummary$SubChannelId": "

The unique ID of a SubChannel.

", "UpdateChannelMessageRequest$SubChannelId": "

The ID of the SubChannel in the request.

Only required when updating messages in a SubChannel that the user belongs to.

", - "UpdateChannelMessageResponse$SubChannelId": "

The ID of the SubChannel in the response.

", - "UpdateChannelReadMarkerRequest$SubChannelId": "

The ID of the SubChannel in the request.

", - "UpdateChannelReadMarkerResponse$SubChannelId": "

The ID of the SubChannel in the response.

" + "UpdateChannelMessageResponse$SubChannelId": "

The ID of the SubChannel in the response.

" } }, "SubChannelSummary": { diff --git a/models/apis/chime-sdk-messaging/2021-05-15/endpoint-tests-1.json b/models/apis/chime-sdk-messaging/2021-05-15/endpoint-tests-1.json index f5ff02b055d..d9114a40772 100644 --- a/models/apis/chime-sdk-messaging/2021-05-15/endpoint-tests-1.json +++ b/models/apis/chime-sdk-messaging/2021-05-15/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -175,9 +175,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -188,9 +188,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -199,9 +199,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -212,9 +212,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -223,9 +223,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -236,9 +236,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -247,9 +247,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -260,9 +260,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -273,9 +273,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -298,9 +298,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -310,9 +310,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": true, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index c1aeca565b7..5eecf873e65 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -13,6 +13,22 @@ "uid":"connect-2017-08-08" }, "operations":{ + "ActivateEvaluationForm":{ + "name":"ActivateEvaluationForm", + "http":{ + "method":"POST", + "requestUri":"/evaluation-forms/{InstanceId}/{EvaluationFormId}/activate" + }, + "input":{"shape":"ActivateEvaluationFormRequest"}, + "output":{"shape":"ActivateEvaluationFormResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"}, + {"shape":"ResourceConflictException"} + ] + }, "AssociateApprovedOrigin":{ "name":"AssociateApprovedOrigin", "http":{ @@ -253,6 +269,24 @@ {"shape":"InternalServiceException"} ] }, + "CreateEvaluationForm":{ + "name":"CreateEvaluationForm", + "http":{ + "method":"PUT", + "requestUri":"/evaluation-forms/{InstanceId}" + }, + "input":{"shape":"CreateEvaluationFormRequest"}, + "output":{"shape":"CreateEvaluationFormResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceConflictException"} + ], + "idempotent":true + }, "CreateHoursOfOperation":{ "name":"CreateHoursOfOperation", "http":{ @@ -516,6 +550,37 @@ {"shape":"ServiceQuotaExceededException"} ] }, + "DeactivateEvaluationForm":{ + "name":"DeactivateEvaluationForm", + "http":{ + "method":"POST", + "requestUri":"/evaluation-forms/{InstanceId}/{EvaluationFormId}/deactivate" + }, + "input":{"shape":"DeactivateEvaluationFormRequest"}, + "output":{"shape":"DeactivateEvaluationFormResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"}, + {"shape":"ResourceConflictException"} + ] + }, + "DeleteContactEvaluation":{ + "name":"DeleteContactEvaluation", + "http":{ + "method":"DELETE", + "requestUri":"/contact-evaluations/{InstanceId}/{EvaluationId}" + }, + "input":{"shape":"DeleteContactEvaluationRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"}, + {"shape":"ResourceConflictException"} + ] + }, "DeleteContactFlow":{ "name":"DeleteContactFlow", "http":{ @@ -550,6 +615,21 @@ {"shape":"InternalServiceException"} ] }, + "DeleteEvaluationForm":{ + "name":"DeleteEvaluationForm", + "http":{ + "method":"DELETE", + "requestUri":"/evaluation-forms/{InstanceId}/{EvaluationFormId}" + }, + "input":{"shape":"DeleteEvaluationFormRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"}, + {"shape":"ResourceConflictException"} + ] + }, "DeleteHoursOfOperation":{ "name":"DeleteHoursOfOperation", "http":{ @@ -765,6 +845,21 @@ {"shape":"ThrottlingException"} ] }, + "DescribeContactEvaluation":{ + "name":"DescribeContactEvaluation", + "http":{ + "method":"GET", + "requestUri":"/contact-evaluations/{InstanceId}/{EvaluationId}" + }, + "input":{"shape":"DescribeContactEvaluationRequest"}, + "output":{"shape":"DescribeContactEvaluationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "DescribeContactFlow":{ "name":"DescribeContactFlow", "http":{ @@ -799,6 +894,21 @@ {"shape":"InternalServiceException"} ] }, + "DescribeEvaluationForm":{ + "name":"DescribeEvaluationForm", + "http":{ + "method":"GET", + "requestUri":"/evaluation-forms/{InstanceId}/{EvaluationFormId}" + }, + "input":{"shape":"DescribeEvaluationFormRequest"}, + "output":{"shape":"DescribeEvaluationFormResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "DescribeHoursOfOperation":{ "name":"DescribeHoursOfOperation", "http":{ @@ -1362,6 +1472,21 @@ {"shape":"ThrottlingException"} ] }, + "ListContactEvaluations":{ + "name":"ListContactEvaluations", + "http":{ + "method":"GET", + "requestUri":"/contact-evaluations/{InstanceId}" + }, + "input":{"shape":"ListContactEvaluationsRequest"}, + "output":{"shape":"ListContactEvaluationsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "ListContactFlowModules":{ "name":"ListContactFlowModules", "http":{ @@ -1426,6 +1551,36 @@ {"shape":"AccessDeniedException"} ] }, + "ListEvaluationFormVersions":{ + "name":"ListEvaluationFormVersions", + "http":{ + "method":"GET", + "requestUri":"/evaluation-forms/{InstanceId}/{EvaluationFormId}/versions" + }, + "input":{"shape":"ListEvaluationFormVersionsRequest"}, + "output":{"shape":"ListEvaluationFormVersionsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, + "ListEvaluationForms":{ + "name":"ListEvaluationForms", + "http":{ + "method":"GET", + "requestUri":"/evaluation-forms/{InstanceId}" + }, + "input":{"shape":"ListEvaluationFormsRequest"}, + "output":{"shape":"ListEvaluationFormsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "ListHoursOfOperations":{ "name":"ListHoursOfOperations", "http":{ @@ -2015,6 +2170,24 @@ {"shape":"LimitExceededException"} ] }, + "StartContactEvaluation":{ + "name":"StartContactEvaluation", + "http":{ + "method":"PUT", + "requestUri":"/contact-evaluations/{InstanceId}" + }, + "input":{"shape":"StartContactEvaluationRequest"}, + "output":{"shape":"StartContactEvaluationResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceConflictException"} + ], + "idempotent":true + }, "StartContactRecording":{ "name":"StartContactRecording", "http":{ @@ -2126,6 +2299,22 @@ {"shape":"InternalServiceException"} ] }, + "SubmitContactEvaluation":{ + "name":"SubmitContactEvaluation", + "http":{ + "method":"POST", + "requestUri":"/contact-evaluations/{InstanceId}/{EvaluationId}/submit" + }, + "input":{"shape":"SubmitContactEvaluationRequest"}, + "output":{"shape":"SubmitContactEvaluationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"}, + {"shape":"ResourceConflictException"} + ] + }, "SuspendContactRecording":{ "name":"SuspendContactRecording", "http":{ @@ -2236,6 +2425,22 @@ {"shape":"InternalServiceException"} ] }, + "UpdateContactEvaluation":{ + "name":"UpdateContactEvaluation", + "http":{ + "method":"POST", + "requestUri":"/contact-evaluations/{InstanceId}/{EvaluationId}" + }, + "input":{"shape":"UpdateContactEvaluationRequest"}, + "output":{"shape":"UpdateContactEvaluationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"}, + {"shape":"ResourceConflictException"} + ] + }, "UpdateContactFlowContent":{ "name":"UpdateContactFlowContent", "http":{ @@ -2339,6 +2544,24 @@ {"shape":"InternalServiceException"} ] }, + "UpdateEvaluationForm":{ + "name":"UpdateEvaluationForm", + "http":{ + "method":"PUT", + "requestUri":"/evaluation-forms/{InstanceId}/{EvaluationFormId}" + }, + "input":{"shape":"UpdateEvaluationFormRequest"}, + "output":{"shape":"UpdateEvaluationFormResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceConflictException"} + ], + "idempotent":true + }, "UpdateHoursOfOperation":{ "name":"UpdateHoursOfOperation", "http":{ @@ -2790,6 +3013,40 @@ "SEND_NOTIFICATION" ] }, + "ActivateEvaluationFormRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "EvaluationFormId", + "EvaluationFormVersion" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "EvaluationFormId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"EvaluationFormId" + }, + "EvaluationFormVersion":{"shape":"VersionNumber"} + } + }, + "ActivateEvaluationFormResponse":{ + "type":"structure", + "required":[ + "EvaluationFormId", + "EvaluationFormArn", + "EvaluationFormVersion" + ], + "members":{ + "EvaluationFormId":{"shape":"ResourceId"}, + "EvaluationFormArn":{"shape":"ARN"}, + "EvaluationFormVersion":{"shape":"VersionNumber"} + } + }, "AfterContactWorkTimeLimit":{ "type":"integer", "min":0 @@ -3198,6 +3455,10 @@ "type":"string", "max":50 }, + "BoxedBoolean":{ + "type":"boolean", + "box":true + }, "BucketName":{ "type":"string", "max":128, @@ -3638,6 +3899,40 @@ "ContactFlowArn":{"shape":"ARN"} } }, + "CreateEvaluationFormRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "Title", + "Items" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "Title":{"shape":"EvaluationFormTitle"}, + "Description":{"shape":"EvaluationFormDescription"}, + "Items":{"shape":"EvaluationFormItemsList"}, + "ScoringStrategy":{"shape":"EvaluationFormScoringStrategy"}, + "ClientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "CreateEvaluationFormResponse":{ + "type":"structure", + "required":[ + "EvaluationFormId", + "EvaluationFormArn" + ], + "members":{ + "EvaluationFormId":{"shape":"ResourceId"}, + "EvaluationFormArn":{"shape":"ARN"} + } + }, "CreateHoursOfOperationRequest":{ "type":"structure", "required":[ @@ -4174,6 +4469,40 @@ "Value":{"shape":"ReferenceValue"} } }, + "DeactivateEvaluationFormRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "EvaluationFormId", + "EvaluationFormVersion" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "EvaluationFormId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"EvaluationFormId" + }, + "EvaluationFormVersion":{"shape":"VersionNumber"} + } + }, + "DeactivateEvaluationFormResponse":{ + "type":"structure", + "required":[ + "EvaluationFormId", + "EvaluationFormArn", + "EvaluationFormVersion" + ], + "members":{ + "EvaluationFormId":{"shape":"ResourceId"}, + "EvaluationFormArn":{"shape":"ARN"}, + "EvaluationFormVersion":{"shape":"VersionNumber"} + } + }, "DefaultVocabulary":{ "type":"structure", "required":[ @@ -4198,6 +4527,25 @@ "max":9999, "min":0 }, + "DeleteContactEvaluationRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "EvaluationId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "EvaluationId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"EvaluationId" + } + } + }, "DeleteContactFlowModuleRequest":{ "type":"structure", "required":[ @@ -4246,6 +4594,30 @@ "members":{ } }, + "DeleteEvaluationFormRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "EvaluationFormId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "EvaluationFormId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"EvaluationFormId" + }, + "EvaluationFormVersion":{ + "shape":"VersionNumber", + "location":"querystring", + "locationName":"version" + } + } + }, "DeleteHoursOfOperationRequest":{ "type":"structure", "required":[ @@ -4512,11 +4884,11 @@ "AgentStatus":{"shape":"AgentStatus"} } }, - "DescribeContactFlowModuleRequest":{ + "DescribeContactEvaluationRequest":{ "type":"structure", "required":[ "InstanceId", - "ContactFlowModuleId" + "EvaluationId" ], "members":{ "InstanceId":{ @@ -4524,20 +4896,50 @@ "location":"uri", "locationName":"InstanceId" }, - "ContactFlowModuleId":{ - "shape":"ContactFlowModuleId", + "EvaluationId":{ + "shape":"ResourceId", "location":"uri", - "locationName":"ContactFlowModuleId" + "locationName":"EvaluationId" } } }, - "DescribeContactFlowModuleResponse":{ + "DescribeContactEvaluationResponse":{ "type":"structure", + "required":[ + "Evaluation", + "EvaluationForm" + ], "members":{ - "ContactFlowModule":{"shape":"ContactFlowModule"} + "Evaluation":{"shape":"Evaluation"}, + "EvaluationForm":{"shape":"EvaluationFormContent"} } }, - "DescribeContactFlowRequest":{ + "DescribeContactFlowModuleRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "ContactFlowModuleId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "ContactFlowModuleId":{ + "shape":"ContactFlowModuleId", + "location":"uri", + "locationName":"ContactFlowModuleId" + } + } + }, + "DescribeContactFlowModuleResponse":{ + "type":"structure", + "members":{ + "ContactFlowModule":{"shape":"ContactFlowModule"} + } + }, + "DescribeContactFlowRequest":{ "type":"structure", "required":[ "InstanceId", @@ -4587,6 +4989,37 @@ "Contact":{"shape":"Contact"} } }, + "DescribeEvaluationFormRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "EvaluationFormId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "EvaluationFormId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"EvaluationFormId" + }, + "EvaluationFormVersion":{ + "shape":"VersionNumber", + "location":"querystring", + "locationName":"version" + } + } + }, + "DescribeEvaluationFormResponse":{ + "type":"structure", + "required":["EvaluationForm"], + "members":{ + "EvaluationForm":{"shape":"EvaluationForm"} + } + }, "DescribeHoursOfOperationRequest":{ "type":"structure", "required":[ @@ -5196,61 +5629,549 @@ "ContactId":{"shape":"ContactId"} } }, - "DismissUserContactResponse":{ + "DismissUserContactResponse":{ + "type":"structure", + "members":{ + } + }, + "DisplayName":{ + "type":"string", + "max":256, + "min":1 + }, + "Distribution":{ + "type":"structure", + "required":[ + "Region", + "Percentage" + ], + "members":{ + "Region":{"shape":"AwsRegion"}, + "Percentage":{"shape":"Percentage"} + } + }, + "DistributionList":{ + "type":"list", + "member":{"shape":"Distribution"} + }, + "DuplicateResourceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "Email":{"type":"string"}, + "EmailReference":{ + "type":"structure", + "members":{ + "Name":{"shape":"ReferenceKey"}, + "Value":{"shape":"ReferenceValue"} + } + }, + "EncryptionConfig":{ + "type":"structure", + "required":[ + "EncryptionType", + "KeyId" + ], + "members":{ + "EncryptionType":{"shape":"EncryptionType"}, + "KeyId":{"shape":"KeyId"} + } + }, + "EncryptionType":{ + "type":"string", + "enum":["KMS"] + }, + "Evaluation":{ + "type":"structure", + "required":[ + "EvaluationId", + "EvaluationArn", + "Metadata", + "Answers", + "Notes", + "Status", + "CreatedTime", + "LastModifiedTime" + ], + "members":{ + "EvaluationId":{"shape":"ResourceId"}, + "EvaluationArn":{"shape":"ARN"}, + "Metadata":{"shape":"EvaluationMetadata"}, + "Answers":{"shape":"EvaluationAnswersOutputMap"}, + "Notes":{"shape":"EvaluationNotesMap"}, + "Status":{"shape":"EvaluationStatus"}, + "Scores":{"shape":"EvaluationScoresMap"}, + "CreatedTime":{"shape":"Timestamp"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "Tags":{"shape":"TagMap"} + } + }, + "EvaluationAnswerData":{ + "type":"structure", + "members":{ + "StringValue":{"shape":"EvaluationAnswerDataStringValue"}, + "NumericValue":{"shape":"EvaluationAnswerDataNumericValue"}, + "NotApplicable":{"shape":"Boolean"} + }, + "union":true + }, + "EvaluationAnswerDataNumericValue":{"type":"double"}, + "EvaluationAnswerDataStringValue":{ + "type":"string", + "max":128, + "min":0 + }, + "EvaluationAnswerInput":{ + "type":"structure", + "members":{ + "Value":{"shape":"EvaluationAnswerData"} + } + }, + "EvaluationAnswerOutput":{ + "type":"structure", + "members":{ + "Value":{"shape":"EvaluationAnswerData"}, + "SystemSuggestedValue":{"shape":"EvaluationAnswerData"} + } + }, + "EvaluationAnswersInputMap":{ + "type":"map", + "key":{"shape":"ResourceId"}, + "value":{"shape":"EvaluationAnswerInput"}, + "max":100 + }, + "EvaluationAnswersOutputMap":{ + "type":"map", + "key":{"shape":"ResourceId"}, + "value":{"shape":"EvaluationAnswerOutput"}, + "max":100 + }, + "EvaluationForm":{ + "type":"structure", + "required":[ + "EvaluationFormId", + "EvaluationFormVersion", + "Locked", + "EvaluationFormArn", + "Title", + "Status", + "Items", + "CreatedTime", + "CreatedBy", + "LastModifiedTime", + "LastModifiedBy" + ], + "members":{ + "EvaluationFormId":{"shape":"ResourceId"}, + "EvaluationFormVersion":{"shape":"VersionNumber"}, + "Locked":{"shape":"EvaluationFormVersionIsLocked"}, + "EvaluationFormArn":{"shape":"ARN"}, + "Title":{"shape":"EvaluationFormTitle"}, + "Description":{"shape":"EvaluationFormDescription"}, + "Status":{"shape":"EvaluationFormVersionStatus"}, + "Items":{"shape":"EvaluationFormItemsList"}, + "ScoringStrategy":{"shape":"EvaluationFormScoringStrategy"}, + "CreatedTime":{"shape":"Timestamp"}, + "CreatedBy":{"shape":"ARN"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedBy":{"shape":"ARN"}, + "Tags":{"shape":"TagMap"} + } + }, + "EvaluationFormContent":{ + "type":"structure", + "required":[ + "EvaluationFormVersion", + "EvaluationFormId", + "EvaluationFormArn", + "Title", + "Items" + ], + "members":{ + "EvaluationFormVersion":{"shape":"VersionNumber"}, + "EvaluationFormId":{"shape":"ResourceId"}, + "EvaluationFormArn":{"shape":"ARN"}, + "Title":{"shape":"EvaluationFormTitle"}, + "Description":{"shape":"EvaluationFormDescription"}, + "Items":{"shape":"EvaluationFormItemsList"}, + "ScoringStrategy":{"shape":"EvaluationFormScoringStrategy"} + } + }, + "EvaluationFormDescription":{ + "type":"string", + "max":1024, + "min":0 + }, + "EvaluationFormItem":{ + "type":"structure", + "members":{ + "Section":{"shape":"EvaluationFormSection"}, + "Question":{"shape":"EvaluationFormQuestion"} + }, + "union":true + }, + "EvaluationFormItemWeight":{ + "type":"double", + "max":100, + "min":0 + }, + "EvaluationFormItemsList":{ + "type":"list", + "member":{"shape":"EvaluationFormItem"}, + "max":100, + "min":0 + }, + "EvaluationFormNumericQuestionAutomation":{ + "type":"structure", + "members":{ + "PropertyValue":{"shape":"NumericQuestionPropertyValueAutomation"} + }, + "union":true + }, + "EvaluationFormNumericQuestionOption":{ + "type":"structure", + "required":[ + "MinValue", + "MaxValue" + ], + "members":{ + "MinValue":{"shape":"Integer"}, + "MaxValue":{"shape":"Integer"}, + "Score":{"shape":"EvaluationFormQuestionAnswerScore"}, + "AutomaticFail":{"shape":"Boolean"} + } + }, + "EvaluationFormNumericQuestionOptionList":{ + "type":"list", + "member":{"shape":"EvaluationFormNumericQuestionOption"}, + "max":10, + "min":1 + }, + "EvaluationFormNumericQuestionProperties":{ + "type":"structure", + "required":[ + "MinValue", + "MaxValue" + ], + "members":{ + "MinValue":{"shape":"Integer"}, + "MaxValue":{"shape":"Integer"}, + "Options":{"shape":"EvaluationFormNumericQuestionOptionList"}, + "Automation":{"shape":"EvaluationFormNumericQuestionAutomation"} + } + }, + "EvaluationFormQuestion":{ + "type":"structure", + "required":[ + "Title", + "RefId", + "QuestionType" + ], + "members":{ + "Title":{"shape":"EvaluationFormQuestionTitle"}, + "Instructions":{"shape":"EvaluationFormQuestionInstructions"}, + "RefId":{"shape":"ReferenceId"}, + "NotApplicableEnabled":{"shape":"Boolean"}, + "QuestionType":{"shape":"EvaluationFormQuestionType"}, + "QuestionTypeProperties":{"shape":"EvaluationFormQuestionTypeProperties"}, + "Weight":{"shape":"EvaluationFormItemWeight"} + } + }, + "EvaluationFormQuestionAnswerScore":{ + "type":"integer", + "max":10, + "min":0 + }, + "EvaluationFormQuestionInstructions":{ + "type":"string", + "max":1024, + "min":0 + }, + "EvaluationFormQuestionTitle":{ + "type":"string", + "max":350, + "min":0 + }, + "EvaluationFormQuestionType":{ + "type":"string", + "enum":[ + "TEXT", + "SINGLESELECT", + "NUMERIC" + ] + }, + "EvaluationFormQuestionTypeProperties":{ + "type":"structure", + "members":{ + "Numeric":{"shape":"EvaluationFormNumericQuestionProperties"}, + "SingleSelect":{"shape":"EvaluationFormSingleSelectQuestionProperties"} + }, + "union":true + }, + "EvaluationFormScoringMode":{ + "type":"string", + "enum":[ + "QUESTION_ONLY", + "SECTION_ONLY" + ] + }, + "EvaluationFormScoringStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "EvaluationFormScoringStrategy":{ + "type":"structure", + "required":[ + "Mode", + "Status" + ], + "members":{ + "Mode":{"shape":"EvaluationFormScoringMode"}, + "Status":{"shape":"EvaluationFormScoringStatus"} + } + }, + "EvaluationFormSection":{ + "type":"structure", + "required":[ + "Title", + "RefId" + ], + "members":{ + "Title":{"shape":"EvaluationFormSectionTitle"}, + "RefId":{"shape":"ReferenceId"}, + "Instructions":{"shape":"EvaluationFormQuestionInstructions"}, + "Items":{"shape":"EvaluationFormItemsList"}, + "Weight":{"shape":"EvaluationFormItemWeight"} + } + }, + "EvaluationFormSectionTitle":{ + "type":"string", + "max":128, + "min":0 + }, + "EvaluationFormSingleSelectQuestionAutomation":{ + "type":"structure", + "required":["Options"], + "members":{ + "Options":{"shape":"EvaluationFormSingleSelectQuestionAutomationOptionList"}, + "DefaultOptionRefId":{"shape":"ReferenceId"} + } + }, + "EvaluationFormSingleSelectQuestionAutomationOption":{ + "type":"structure", + "members":{ + "RuleCategory":{"shape":"SingleSelectQuestionRuleCategoryAutomation"} + }, + "union":true + }, + "EvaluationFormSingleSelectQuestionAutomationOptionList":{ + "type":"list", + "member":{"shape":"EvaluationFormSingleSelectQuestionAutomationOption"}, + "max":20, + "min":1 + }, + "EvaluationFormSingleSelectQuestionDisplayMode":{ + "type":"string", + "enum":[ + "DROPDOWN", + "RADIO" + ] + }, + "EvaluationFormSingleSelectQuestionOption":{ + "type":"structure", + "required":[ + "RefId", + "Text" + ], + "members":{ + "RefId":{"shape":"ReferenceId"}, + "Text":{"shape":"EvaluationFormSingleSelectQuestionOptionText"}, + "Score":{"shape":"EvaluationFormQuestionAnswerScore"}, + "AutomaticFail":{"shape":"Boolean"} + } + }, + "EvaluationFormSingleSelectQuestionOptionList":{ + "type":"list", + "member":{"shape":"EvaluationFormSingleSelectQuestionOption"}, + "max":256, + "min":1 + }, + "EvaluationFormSingleSelectQuestionOptionText":{ + "type":"string", + "max":128, + "min":0 + }, + "EvaluationFormSingleSelectQuestionProperties":{ + "type":"structure", + "required":["Options"], + "members":{ + "Options":{"shape":"EvaluationFormSingleSelectQuestionOptionList"}, + "DisplayAs":{"shape":"EvaluationFormSingleSelectQuestionDisplayMode"}, + "Automation":{"shape":"EvaluationFormSingleSelectQuestionAutomation"} + } + }, + "EvaluationFormSummary":{ + "type":"structure", + "required":[ + "EvaluationFormId", + "EvaluationFormArn", + "Title", + "CreatedTime", + "CreatedBy", + "LastModifiedTime", + "LastModifiedBy", + "LatestVersion" + ], + "members":{ + "EvaluationFormId":{"shape":"ResourceId"}, + "EvaluationFormArn":{"shape":"ARN"}, + "Title":{"shape":"EvaluationFormTitle"}, + "CreatedTime":{"shape":"Timestamp"}, + "CreatedBy":{"shape":"ARN"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedBy":{"shape":"ARN"}, + "LastActivatedTime":{"shape":"Timestamp"}, + "LastActivatedBy":{"shape":"ARN"}, + "LatestVersion":{"shape":"VersionNumber"}, + "ActiveVersion":{"shape":"VersionNumber"} + } + }, + "EvaluationFormSummaryList":{ + "type":"list", + "member":{"shape":"EvaluationFormSummary"} + }, + "EvaluationFormTitle":{ + "type":"string", + "max":128, + "min":0 + }, + "EvaluationFormVersionIsLocked":{"type":"boolean"}, + "EvaluationFormVersionStatus":{ + "type":"string", + "enum":[ + "DRAFT", + "ACTIVE" + ] + }, + "EvaluationFormVersionSummary":{ + "type":"structure", + "required":[ + "EvaluationFormArn", + "EvaluationFormId", + "EvaluationFormVersion", + "Locked", + "Status", + "CreatedTime", + "CreatedBy", + "LastModifiedTime", + "LastModifiedBy" + ], + "members":{ + "EvaluationFormArn":{"shape":"ARN"}, + "EvaluationFormId":{"shape":"ResourceId"}, + "EvaluationFormVersion":{"shape":"VersionNumber"}, + "Locked":{"shape":"EvaluationFormVersionIsLocked"}, + "Status":{"shape":"EvaluationFormVersionStatus"}, + "CreatedTime":{"shape":"Timestamp"}, + "CreatedBy":{"shape":"ARN"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedBy":{"shape":"ARN"} + } + }, + "EvaluationFormVersionSummaryList":{ + "type":"list", + "member":{"shape":"EvaluationFormVersionSummary"} + }, + "EvaluationMetadata":{ + "type":"structure", + "required":[ + "ContactId", + "EvaluatorArn" + ], + "members":{ + "ContactId":{"shape":"ContactId"}, + "EvaluatorArn":{"shape":"ARN"}, + "ContactAgentId":{"shape":"ResourceId"}, + "Score":{"shape":"EvaluationScore"} + } + }, + "EvaluationNote":{ "type":"structure", "members":{ + "Value":{"shape":"EvaluationNoteString"} } }, - "DisplayName":{ + "EvaluationNoteString":{ "type":"string", - "max":256, - "min":1 + "max":1024, + "min":0 }, - "Distribution":{ + "EvaluationNotesMap":{ + "type":"map", + "key":{"shape":"ResourceId"}, + "value":{"shape":"EvaluationNote"}, + "max":100 + }, + "EvaluationScore":{ "type":"structure", - "required":[ - "Region", - "Percentage" - ], "members":{ - "Region":{"shape":"AwsRegion"}, - "Percentage":{"shape":"Percentage"} + "Percentage":{"shape":"EvaluationScorePercentage"}, + "NotApplicable":{"shape":"Boolean"}, + "AutomaticFail":{"shape":"Boolean"} } }, - "DistributionList":{ - "type":"list", - "member":{"shape":"Distribution"} + "EvaluationScorePercentage":{ + "type":"double", + "max":100, + "min":0 }, - "DuplicateResourceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"Message"} - }, - "error":{"httpStatusCode":409}, - "exception":true + "EvaluationScoresMap":{ + "type":"map", + "key":{"shape":"ResourceId"}, + "value":{"shape":"EvaluationScore"}, + "max":100 }, - "Email":{"type":"string"}, - "EmailReference":{ - "type":"structure", - "members":{ - "Name":{"shape":"ReferenceKey"}, - "Value":{"shape":"ReferenceValue"} - } + "EvaluationStatus":{ + "type":"string", + "enum":[ + "DRAFT", + "SUBMITTED" + ] }, - "EncryptionConfig":{ + "EvaluationSummary":{ "type":"structure", "required":[ - "EncryptionType", - "KeyId" + "EvaluationId", + "EvaluationArn", + "EvaluationFormTitle", + "EvaluationFormId", + "Status", + "EvaluatorArn", + "CreatedTime", + "LastModifiedTime" ], "members":{ - "EncryptionType":{"shape":"EncryptionType"}, - "KeyId":{"shape":"KeyId"} + "EvaluationId":{"shape":"ResourceId"}, + "EvaluationArn":{"shape":"ARN"}, + "EvaluationFormTitle":{"shape":"EvaluationFormTitle"}, + "EvaluationFormId":{"shape":"ResourceId"}, + "Status":{"shape":"EvaluationStatus"}, + "EvaluatorArn":{"shape":"ARN"}, + "Score":{"shape":"EvaluationScore"}, + "CreatedTime":{"shape":"Timestamp"}, + "LastModifiedTime":{"shape":"Timestamp"} } }, - "EncryptionType":{ - "type":"string", - "enum":["KMS"] + "EvaluationSummaryList":{ + "type":"list", + "member":{"shape":"EvaluationSummary"} }, "EventBridgeActionDefinition":{ "type":"structure", @@ -5951,6 +6872,7 @@ "type":"list", "member":{"shape":"InstanceSummary"} }, + "Integer":{"type":"integer"}, "IntegerCount":{ "type":"integer", "min":0 @@ -6226,6 +7148,38 @@ "NextToken":{"shape":"NextToken"} } }, + "ListContactEvaluationsRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "ContactId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "ContactId":{ + "shape":"ContactId", + "location":"querystring", + "locationName":"contactId" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListContactEvaluationsResponse":{ + "type":"structure", + "required":["EvaluationSummaryList"], + "members":{ + "EvaluationSummaryList":{"shape":"EvaluationSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListContactFlowModulesRequest":{ "type":"structure", "required":["InstanceId"], @@ -6352,6 +7306,74 @@ "NextToken":{"shape":"VocabularyNextToken"} } }, + "ListEvaluationFormVersionsRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "EvaluationFormId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "EvaluationFormId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"EvaluationFormId" + }, + "MaxResults":{ + "shape":"MaxResult100", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListEvaluationFormVersionsResponse":{ + "type":"structure", + "required":["EvaluationFormVersionSummaryList"], + "members":{ + "EvaluationFormVersionSummaryList":{"shape":"EvaluationFormVersionSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListEvaluationFormsRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "MaxResults":{ + "shape":"MaxResult100", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListEvaluationFormsResponse":{ + "type":"structure", + "required":["EvaluationFormSummaryList"], + "members":{ + "EvaluationFormSummaryList":{"shape":"EvaluationFormSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListHoursOfOperationsRequest":{ "type":"structure", "required":["InstanceId"], @@ -7332,6 +8354,26 @@ "Value":{"shape":"ReferenceValue"} } }, + "NumericQuestionPropertyAutomationLabel":{ + "type":"string", + "enum":[ + "OVERALL_CUSTOMER_SENTIMENT_SCORE", + "OVERALL_AGENT_SENTIMENT_SCORE", + "NON_TALK_TIME", + "NON_TALK_TIME_PERCENTAGE", + "NUMBER_OF_INTERRUPTIONS", + "CONTACT_DURATION", + "AGENT_INTERACTION_DURATION", + "CUSTOMER_HOLD_TIME" + ] + }, + "NumericQuestionPropertyValueAutomation":{ + "type":"structure", + "required":["Label"], + "members":{ + "Label":{"shape":"NumericQuestionPropertyAutomationLabel"} + } + }, "Origin":{ "type":"string", "max":267 @@ -8110,6 +9152,11 @@ "Type":{"shape":"ReferenceType"} } }, + "ReferenceId":{ + "type":"string", + "max":40, + "min":0 + }, "ReferenceKey":{ "type":"string", "max":4096, @@ -8234,6 +9281,11 @@ "error":{"httpStatusCode":409}, "exception":true }, + "ResourceId":{ + "type":"string", + "max":50, + "min":1 + }, "ResourceInUseException":{ "type":"structure", "members":{ @@ -8803,6 +9855,31 @@ "type":"list", "member":{"shape":"TaskTemplateSingleSelectOption"} }, + "SingleSelectQuestionRuleCategoryAutomation":{ + "type":"structure", + "required":[ + "Category", + "Condition", + "OptionRefId" + ], + "members":{ + "Category":{"shape":"SingleSelectQuestionRuleCategoryAutomationLabel"}, + "Condition":{"shape":"SingleSelectQuestionRuleCategoryAutomationCondition"}, + "OptionRefId":{"shape":"ReferenceId"} + } + }, + "SingleSelectQuestionRuleCategoryAutomationCondition":{ + "type":"string", + "enum":[ + "PRESENT", + "NOT_PRESENT" + ] + }, + "SingleSelectQuestionRuleCategoryAutomationLabel":{ + "type":"string", + "max":50, + "min":1 + }, "SnapshotVersion":{"type":"string"}, "SortOrder":{ "type":"string", @@ -8856,6 +9933,38 @@ "ContinuedFromContactId":{"shape":"ContactId"} } }, + "StartContactEvaluationRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "ContactId", + "EvaluationFormId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "ContactId":{"shape":"ContactId"}, + "EvaluationFormId":{"shape":"ResourceId"}, + "ClientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "StartContactEvaluationResponse":{ + "type":"structure", + "required":[ + "EvaluationId", + "EvaluationArn" + ], + "members":{ + "EvaluationId":{"shape":"ResourceId"}, + "EvaluationArn":{"shape":"ARN"} + } + }, "StartContactRecordingRequest":{ "type":"structure", "required":[ @@ -9063,6 +10172,38 @@ "max":200, "min":1 }, + "SubmitContactEvaluationRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "EvaluationId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "EvaluationId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"EvaluationId" + }, + "Answers":{"shape":"EvaluationAnswersInputMap"}, + "Notes":{"shape":"EvaluationNotesMap"} + } + }, + "SubmitContactEvaluationResponse":{ + "type":"structure", + "required":[ + "EvaluationId", + "EvaluationArn" + ], + "members":{ + "EvaluationId":{"shape":"ResourceId"}, + "EvaluationArn":{"shape":"ARN"} + } + }, "SupportedMessagingContentType":{ "type":"string", "max":100, @@ -9517,6 +10658,38 @@ "members":{ } }, + "UpdateContactEvaluationRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "EvaluationId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "EvaluationId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"EvaluationId" + }, + "Answers":{"shape":"EvaluationAnswersInputMap"}, + "Notes":{"shape":"EvaluationNotesMap"} + } + }, + "UpdateContactEvaluationResponse":{ + "type":"structure", + "required":[ + "EvaluationId", + "EvaluationArn" + ], + "members":{ + "EvaluationId":{"shape":"ResourceId"}, + "EvaluationArn":{"shape":"ARN"} + } + }, "UpdateContactFlowContentRequest":{ "type":"structure", "required":[ @@ -9694,6 +10867,51 @@ "members":{ } }, + "UpdateEvaluationFormRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "EvaluationFormId", + "EvaluationFormVersion", + "Title", + "Items" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "EvaluationFormId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"EvaluationFormId" + }, + "EvaluationFormVersion":{"shape":"VersionNumber"}, + "CreateNewVersion":{"shape":"BoxedBoolean"}, + "Title":{"shape":"EvaluationFormTitle"}, + "Description":{"shape":"EvaluationFormDescription"}, + "Items":{"shape":"EvaluationFormItemsList"}, + "ScoringStrategy":{"shape":"EvaluationFormScoringStrategy"}, + "ClientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "UpdateEvaluationFormResponse":{ + "type":"structure", + "required":[ + "EvaluationFormId", + "EvaluationFormArn", + "EvaluationFormVersion" + ], + "members":{ + "EvaluationFormId":{"shape":"ResourceId"}, + "EvaluationFormArn":{"shape":"ARN"}, + "EvaluationFormVersion":{"shape":"VersionNumber"} + } + }, "UpdateHoursOfOperationDescription":{ "type":"string", "max":250, @@ -10512,6 +11730,11 @@ "value":{"shape":"String"} }, "Value":{"type":"double"}, + "VersionNumber":{ + "type":"integer", + "box":true, + "min":1 + }, "Vocabulary":{ "type":"structure", "required":[ diff --git a/models/apis/connect/2017-08-08/docs-2.json b/models/apis/connect/2017-08-08/docs-2.json index 80315d2c524..ddefde96e08 100644 --- a/models/apis/connect/2017-08-08/docs-2.json +++ b/models/apis/connect/2017-08-08/docs-2.json @@ -2,6 +2,7 @@ "version": "2.0", "service": "

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center and provide reliable customer engagement at any scale.

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also resolve customer issues more efficiently by getting customers in touch with the appropriate agents.

There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

", "operations": { + "ActivateEvaluationForm": "

Activates an evaluation form in the specified Amazon Connect instance. After the evaluation form is activated, it is available to start new evaluations based on the form.

", "AssociateApprovedOrigin": "

This API is in preview release for Amazon Connect and is subject to change.

Associates an approved origin to an Amazon Connect instance.

", "AssociateBot": "

This API is in preview release for Amazon Connect and is subject to change.

Allows the specified Amazon Connect instance to access the specified Amazon Lex or Amazon Lex V2 bot.

", "AssociateDefaultVocabulary": "

Associates an existing vocabulary as the default. Contact Lens for Amazon Connect uses the vocabulary in post-call and real-time analysis sessions for the given language.

", @@ -16,6 +17,7 @@ "CreateAgentStatus": "

This API is in preview release for Amazon Connect and is subject to change.

Creates an agent status for the specified Amazon Connect instance.

", "CreateContactFlow": "

Creates a flow for the specified Amazon Connect instance.

You can also create and update flows using the Amazon Connect Flow language.

", "CreateContactFlowModule": "

Creates a flow module for the specified Amazon Connect instance.

", + "CreateEvaluationForm": "

Creates an evaluation form in the specified Amazon Connect instance. The form can be used to define questions related to agent performance, and create sections to organize such questions. An evaluation form must have a unique title within an instance. Question and section identifiers cannot be duplicated within the same evaluation form.

", "CreateHoursOfOperation": "

This API is in preview release for Amazon Connect and is subject to change.

Creates hours of operation.

", "CreateInstance": "

This API is in preview release for Amazon Connect and is subject to change.

Initiates an Amazon Connect instance with all the supported channels enabled. It does not attach any storage, such as Amazon Simple Storage Service (Amazon S3) or Amazon Kinesis. It also does not allow for any configurations on features, such as Contact Lens for Amazon Connect.

Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. If you exceed this limit, you will get an error message indicating there has been an excessive number of attempts at creating or deleting instances. You must wait 30 days before you can restart creating and deleting instances in your account.

", "CreateIntegrationAssociation": "

Creates an Amazon Web Services resource association with an Amazon Connect instance.

", @@ -31,8 +33,11 @@ "CreateUser": "

Creates a user account for the specified Amazon Connect instance.

For information about how to create user accounts using the Amazon Connect console, see Add Users in the Amazon Connect Administrator Guide.

", "CreateUserHierarchyGroup": "

Creates a new user hierarchy group.

", "CreateVocabulary": "

Creates a custom vocabulary associated with your Amazon Connect instance. You can set a custom vocabulary to be your default vocabulary for a given language. Contact Lens for Amazon Connect uses the default vocabulary in post-call and real-time contact analysis sessions for that language.

", + "DeactivateEvaluationForm": "

Deactivates an evaluation form in the specified Amazon Connect instance. After a form is deactivated, it is no longer available for users to start new evaluations based on the form.

", + "DeleteContactEvaluation": "

Deletes a contact evaluation in the specified Amazon Connect instance.

", "DeleteContactFlow": "

Deletes a flow for the specified Amazon Connect instance.

", "DeleteContactFlowModule": "

Deletes the specified flow module.

", + "DeleteEvaluationForm": "

Deletes an evaluation form in the specified Amazon Connect instance.

", "DeleteHoursOfOperation": "

This API is in preview release for Amazon Connect and is subject to change.

Deletes an hours of operation.

", "DeleteInstance": "

This API is in preview release for Amazon Connect and is subject to change.

Deletes the Amazon Connect instance.

Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. If you exceed this limit, you will get an error message indicating there has been an excessive number of attempts at creating or deleting instances. You must wait 30 days before you can restart creating and deleting instances in your account.

", "DeleteIntegrationAssociation": "

Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not have any use cases associated with it.

", @@ -47,8 +52,10 @@ "DeleteVocabulary": "

Deletes the vocabulary that has the given identifier.

", "DescribeAgentStatus": "

This API is in preview release for Amazon Connect and is subject to change.

Describes an agent status.

", "DescribeContact": "

This API is in preview release for Amazon Connect and is subject to change.

Describes the specified contact.

Contact information remains available in Amazon Connect for 24 months, and then it is deleted.

Only data from November 12, 2021, and later is returned by this API.

", + "DescribeContactEvaluation": "

Describes a contact evaluation in the specified Amazon Connect instance.

", "DescribeContactFlow": "

Describes the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

", "DescribeContactFlowModule": "

Describes the specified flow module.

", + "DescribeEvaluationForm": "

Describes an evaluation form in the specified Amazon Connect instance. If the version property is not provided, the latest version of the evaluation form is described.

", "DescribeHoursOfOperation": "

This API is in preview release for Amazon Connect and is subject to change.

Describes the hours of operation.

", "DescribeInstance": "

This API is in preview release for Amazon Connect and is subject to change.

Returns the current state of the specified instance identifier. It tracks the instance while it is being created and returns an error status, if applicable.

If an instance is not created successfully, the instance status reason field returns details relevant to the reason. The instance in a failed state is returned only for 24 hours after the CreateInstance API was invoked.

", "DescribeInstanceAttribute": "

This API is in preview release for Amazon Connect and is subject to change.

Describes the specified instance attribute.

", @@ -85,10 +92,13 @@ "ListAgentStatuses": "

This API is in preview release for Amazon Connect and is subject to change.

Lists agent statuses.

", "ListApprovedOrigins": "

This API is in preview release for Amazon Connect and is subject to change.

Returns a paginated list of all approved origins associated with the instance.

", "ListBots": "

This API is in preview release for Amazon Connect and is subject to change.

For the specified version of Amazon Lex, returns a paginated list of all the Amazon Lex bots currently associated with the instance. Use this API to returns both Amazon Lex V1 and V2 bots.

", + "ListContactEvaluations": "

Lists contact evaluations in the specified Amazon Connect instance.

", "ListContactFlowModules": "

Provides information about the flow modules for the specified Amazon Connect instance.

", "ListContactFlows": "

Provides information about the flows for the specified Amazon Connect instance.

You can also create and update flows using the Amazon Connect Flow language.

For more information about flows, see Flows in the Amazon Connect Administrator Guide.

", "ListContactReferences": "

This API is in preview release for Amazon Connect and is subject to change.

For the specified referenceTypes, returns a list of references associated with the contact.

", "ListDefaultVocabularies": "

Lists the default vocabularies for the specified Amazon Connect instance.

", + "ListEvaluationFormVersions": "

Lists versions of an evaluation form in the specified Amazon Connect instance.

", + "ListEvaluationForms": "

Lists evaluation forms in the specified Amazon Connect instance.

", "ListHoursOfOperations": "

Provides information about the hours of operation for the specified Amazon Connect instance.

For more information about hours of operation, see Set the Hours of Operation for a Queue in the Amazon Connect Administrator Guide.

", "ListInstanceAttributes": "

This API is in preview release for Amazon Connect and is subject to change.

Returns a paginated list of all attribute types for the given instance.

", "ListInstanceStorageConfigs": "

This API is in preview release for Amazon Connect and is subject to change.

Returns a paginated list of storage configs for the identified instance and resource type.

", @@ -126,6 +136,7 @@ "SearchUsers": "

Searches users in an Amazon Connect instance, with optional filtering.

AfterContactWorkTimeLimit is returned in milliseconds.

", "SearchVocabularies": "

Searches for vocabularies within a specific Amazon Connect instance using State, NameStartsWith, and LanguageCode.

", "StartChatContact": "

Initiates a flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

A 429 error occurs in the following situations:

If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support.

For more information about chat, see Chat in the Amazon Connect Administrator Guide.

", + "StartContactEvaluation": "

Starts an empty evaluation in the specified Amazon Connect instance, using the given evaluation form for the particular contact. The evaluation form version used for the contact evaluation corresponds to the currently activated version. If no version is activated for the evaluation form, the contact evaluation cannot be started.

Evaluations created through the public API do not contain answer values suggested from automation.

", "StartContactRecording": "

Starts recording the contact:

StartContactRecording is a one-time action. For example, if you use StopContactRecording to stop recording an ongoing call, you can't use StartContactRecording to restart it. For scenarios where the recording has started and you want to suspend and resume it, such as when collecting sensitive information (for example, a credit card number), use SuspendContactRecording and ResumeContactRecording.

You can use this API to override the recording behavior configured in the Set recording behavior block.

Only voice recordings are supported at this time.

", "StartContactStreaming": "

Initiates real-time message streaming for a new chat contact.

For more information about message streaming, see Enable real-time chat message streaming in the Amazon Connect Administrator Guide.

", "StartOutboundVoiceContact": "

Places an outbound call to a contact, and then initiates the flow. It performs the actions in the flow that's specified (in ContactFlowId).

Agents do not initiate the outbound API, which means that they do not dial the contact. If the flow places an outbound call to a contact, and then puts the contact in queue, the call is then routed to the agent, like any other inbound case.

There is a 60-second dialing timeout for this operation. If the call is not connected after 60 seconds, it fails.

UK numbers with a 447 prefix are not allowed by default. Before you can dial these UK mobile numbers, you must submit a service quota increase request. For more information, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

Campaign calls are not allowed by default. Before you can make a call with TrafficType = CAMPAIGN, you must submit a service quota increase request to the quota Amazon Connect campaigns.

", @@ -133,6 +144,7 @@ "StopContact": "

Ends the specified contact. This call does not work for the following initiation methods:

", "StopContactRecording": "

Stops recording a call when a contact is being recorded. StopContactRecording is a one-time action. If you use StopContactRecording to stop recording an ongoing call, you can't use StartContactRecording to restart it. For scenarios where the recording has started and you want to suspend it for sensitive information (for example, to collect a credit card number), and then restart it, use SuspendContactRecording and ResumeContactRecording.

Only voice recordings are supported at this time.

", "StopContactStreaming": "

Ends message streaming on a specified contact. To restart message streaming on that contact, call the StartContactStreaming API.

", + "SubmitContactEvaluation": "

Submits a contact evaluation in the specified Amazon Connect instance. Answers included in the request are merged with existing answers for the given evaluation. If no answers or notes are passed, the evaluation is submitted with the existing answers and notes. You can delete an answer or note by passing an empty object ({}) to the question identifier.

If a contact evaluation is already in submitted state, this operation will trigger a resubmission.

", "SuspendContactRecording": "

When a contact is being recorded, this API suspends recording the call. For example, you might suspend the call recording while collecting sensitive information, such as a credit card number. Then use ResumeContactRecording to restart recording.

The period of time that the recording is suspended is filled with silence in the final recording.

Only voice recordings are supported at this time.

", "TagResource": "

Adds the specified tags to the specified resource.

Some of the supported resource types are agents, routing profiles, queues, quick connects, contact flows, agent statuses, hours of operation, phone numbers, security profiles, and task templates. For a complete list, see Tagging resources in Amazon Connect.

For sample policies that use tags, see Amazon Connect Identity-Based Policy Examples in the Amazon Connect Administrator Guide.

", "TransferContact": "

Transfers contacts from one agent or queue to another agent or queue at any point after a contact is created. You can transfer a contact to another queue by providing the flow which orchestrates the contact to the destination queue. This gives you more control over contact handling and helps you adhere to the service level agreement (SLA) guaranteed to your customers.

Note the following requirements:

", @@ -140,12 +152,14 @@ "UpdateAgentStatus": "

This API is in preview release for Amazon Connect and is subject to change.

Updates agent status.

", "UpdateContact": "

This API is in preview release for Amazon Connect and is subject to change.

Adds or updates user-defined contact information associated with the specified contact. At least one field to be updated must be present in the request.

You can add or update user-defined contact information for both ongoing and completed contacts.

", "UpdateContactAttributes": "

Creates or updates user-defined contact attributes associated with the specified contact.

You can create or update user-defined attributes for both ongoing and completed contacts. For example, while the call is active, you can update the customer's name or the reason the customer called. You can add notes about steps that the agent took during the call that display to the next agent that takes the call. You can also update attributes for a contact using data from your CRM application and save the data with the contact in Amazon Connect. You could also flag calls for additional analysis, such as legal review or to identify abusive callers.

Contact attributes are available in Amazon Connect for 24 months, and are then deleted. For information about contact record retention and the maximum size of the contact record attributes section, see Feature specifications in the Amazon Connect Administrator Guide.

", + "UpdateContactEvaluation": "

Updates details about a contact evaluation in the specified Amazon Connect instance. A contact evaluation must be in draft state. Answers included in the request are merged with existing answers for the given evaluation. An answer or note can be deleted by passing an empty object ({}) to the question identifier.

", "UpdateContactFlowContent": "

Updates the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

", "UpdateContactFlowMetadata": "

Updates metadata about specified flow.

", "UpdateContactFlowModuleContent": "

Updates specified flow module for the specified Amazon Connect instance.

", "UpdateContactFlowModuleMetadata": "

Updates metadata about specified flow module.

", "UpdateContactFlowName": "

The name of the flow.

You can also create and update flows using the Amazon Connect Flow language.

", "UpdateContactSchedule": "

Updates the scheduled time of a task contact that is already scheduled.

", + "UpdateEvaluationForm": "

Updates details about a specific evaluation form version in the specified Amazon Connect instance. An evaluation form must have a unique title within an instance. Question and section identifiers cannot be duplicated within the same evaluation form.

This operation does not support partial updates. Instead it does a full update of evaluation form content.

", "UpdateHoursOfOperation": "

This API is in preview release for Amazon Connect and is subject to change.

Updates the hours of operation.

", "UpdateInstanceAttribute": "

This API is in preview release for Amazon Connect and is subject to change.

Updates the value for the specified attribute type.

", "UpdateInstanceStorageConfig": "

This API is in preview release for Amazon Connect and is subject to change.

Updates an existing configuration for a resource type. This API is idempotent.

", @@ -178,6 +192,7 @@ "ARN": { "base": null, "refs": { + "ActivateEvaluationFormResponse$EvaluationFormArn": "

The Amazon Resource Name (ARN) for the evaluation form resource.

", "AgentStatus$AgentStatusARN": "

The Amazon Resource Name (ARN) of the agent status.

", "AgentStatusReference$StatusArn": "

The Amazon Resource Name (ARN) of the agent's status.

", "AgentStatusSummary$Arn": "

The Amazon Resource Name (ARN) for the agent status.

", @@ -193,6 +208,7 @@ "CreateAgentStatusResponse$AgentStatusARN": "

The Amazon Resource Name (ARN) of the agent status.

", "CreateContactFlowModuleResponse$Arn": "

The Amazon Resource Name (ARN) of the flow module.

", "CreateContactFlowResponse$ContactFlowArn": "

The Amazon Resource Name (ARN) of the flow.

", + "CreateEvaluationFormResponse$EvaluationFormArn": "

The Amazon Resource Name (ARN) for the evaluation form resource.

", "CreateHoursOfOperationResponse$HoursOfOperationArn": "

The Amazon Resource Name (ARN) for the hours of operation.

", "CreateInstanceResponse$Arn": "

The Amazon Resource Name (ARN) of the instance.

", "CreateIntegrationAssociationRequest$IntegrationArn": "

The Amazon Resource Name (ARN) of the integration.

When integrating with Amazon Pinpoint, the Amazon Connect and Amazon Pinpoint instances must be in the same account.

", @@ -206,7 +222,23 @@ "CreateUserHierarchyGroupResponse$HierarchyGroupArn": "

The Amazon Resource Name (ARN) of the hierarchy group.

", "CreateUserResponse$UserArn": "

The Amazon Resource Name (ARN) of the user account.

", "CreateVocabularyResponse$VocabularyArn": "

The Amazon Resource Name (ARN) of the custom vocabulary.

", + "DeactivateEvaluationFormResponse$EvaluationFormArn": "

The Amazon Resource Name (ARN) for the evaluation form resource.

", "DeleteVocabularyResponse$VocabularyArn": "

The Amazon Resource Name (ARN) of the custom vocabulary.

", + "Evaluation$EvaluationArn": "

The Amazon Resource Name (ARN) for the contact evaluation resource.

", + "EvaluationForm$EvaluationFormArn": "

The Amazon Resource Name (ARN) for the evaluation form resource.

", + "EvaluationForm$CreatedBy": "

The Amazon Resource Name (ARN) of the user who created the evaluation form.

", + "EvaluationForm$LastModifiedBy": "

The Amazon Resource Name (ARN) of the user who last updated the evaluation form.

", + "EvaluationFormContent$EvaluationFormArn": "

The Amazon Resource Name (ARN) for the evaluation form resource.

", + "EvaluationFormSummary$EvaluationFormArn": "

The Amazon Resource Name (ARN) for the evaluation form resource.

", + "EvaluationFormSummary$CreatedBy": "

The Amazon Resource Name (ARN) of the user who created the evaluation form.

", + "EvaluationFormSummary$LastModifiedBy": "

The Amazon Resource Name (ARN) of the user who last updated the evaluation form.

", + "EvaluationFormSummary$LastActivatedBy": "

The Amazon Resource Name (ARN) of the user who last activated the evaluation form.

", + "EvaluationFormVersionSummary$EvaluationFormArn": "

The Amazon Resource Name (ARN) for the evaluation form resource.

", + "EvaluationFormVersionSummary$CreatedBy": "

The Amazon Resource Name (ARN) of the user who created the evaluation form.

", + "EvaluationFormVersionSummary$LastModifiedBy": "

The Amazon Resource Name (ARN) of the user who last updated the evaluation form.

", + "EvaluationMetadata$EvaluatorArn": "

The Amazon Resource Name (ARN) of the user who last updated the evaluation.

", + "EvaluationSummary$EvaluationArn": "

The Amazon Resource Name (ARN) for the contact evaluation resource.

", + "EvaluationSummary$EvaluatorArn": "

The Amazon Resource Name (ARN) of the user who last updated the evaluation.

", "GetFederationTokenResponse$UserArn": "

The Amazon Resource Name (ARN) of the user.

", "GetMetricDataV2Request$ResourceArn": "

The Amazon Resource Name (ARN) of the resource. This includes the instanceId an Amazon Connect instance.

", "HierarchyGroup$Arn": "

The Amazon Resource Name (ARN) of the hierarchy group.

", @@ -248,9 +280,13 @@ "SecurityProfile$Arn": "

The Amazon Resource Name (ARN) for the secruity profile.

", "SecurityProfileSearchSummary$Arn": "

The Amazon Resource Name (ARN) of the security profile.

", "SecurityProfileSummary$Arn": "

The Amazon Resource Name (ARN) of the security profile.

", + "StartContactEvaluationResponse$EvaluationArn": "

The Amazon Resource Name (ARN) for the contact evaluation resource.

", + "SubmitContactEvaluationResponse$EvaluationArn": "

The Amazon Resource Name (ARN) for the contact evaluation resource.

", "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource.

", "TransferContactResponse$ContactArn": "

The Amazon Resource Name (ARN) of the contact.

", "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource.

", + "UpdateContactEvaluationResponse$EvaluationArn": "

The Amazon Resource Name (ARN) for the contact evaluation resource.

", + "UpdateEvaluationFormResponse$EvaluationFormArn": "

The Amazon Resource Name (ARN) for the contact evaluation resource.

", "UpdatePhoneNumberRequest$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone numbers are claimed to.

", "UpdatePhoneNumberResponse$PhoneNumberArn": "

The Amazon Resource Name (ARN) of the phone number.

", "UseCase$UseCaseArn": "

The Amazon Resource Name (ARN) for the use case.

", @@ -287,6 +323,16 @@ "RuleAction$ActionType": "

The type of action that creates a rule.

" } }, + "ActivateEvaluationFormRequest": { + "base": null, + "refs": { + } + }, + "ActivateEvaluationFormResponse": { + "base": null, + "refs": { + } + }, "AfterContactWorkTimeLimit": { "base": null, "refs": { @@ -630,6 +676,12 @@ "refs": { "AnswerMachineDetectionConfig$EnableAnswerMachineDetection": "

The flag to indicate if answer machine detection analysis needs to be performed for a voice call. If set to true, TrafficType must be set as CAMPAIGN.

", "AnswerMachineDetectionConfig$AwaitAnswerMachinePrompt": "

Wait for the answering machine prompt.

", + "EvaluationAnswerData$NotApplicable": "

The flag to mark the question as not applicable.

", + "EvaluationFormNumericQuestionOption$AutomaticFail": "

The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.

", + "EvaluationFormQuestion$NotApplicableEnabled": "

The flag to enable not applicable answers to the question.

", + "EvaluationFormSingleSelectQuestionOption$AutomaticFail": "

The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.

", + "EvaluationScore$NotApplicable": "

The flag to mark the item as not applicable for scoring.

", + "EvaluationScore$AutomaticFail": "

The flag that marks the item as automatic fail. If the item or a child item gets an automatic fail answer, this flag will be true.

", "UpdateAgentStatusRequest$ResetOrderNumber": "

A number indicating the reset order of the agent status.

" } }, @@ -640,6 +692,12 @@ "LexBot$Name": "

The name of the Amazon Lex bot.

" } }, + "BoxedBoolean": { + "base": null, + "refs": { + "UpdateEvaluationFormRequest$CreateNewVersion": "

A flag indicating whether the operation must create a new version.

" + } + }, "BucketName": { "base": null, "refs": { @@ -742,6 +800,7 @@ "refs": { "ClaimPhoneNumberRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

Pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$

", "CreateContactFlowModuleRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", + "CreateEvaluationFormRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "CreateInstanceRequest$ClientToken": "

The idempotency token.

", "CreateParticipantRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "CreateRuleRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", @@ -752,10 +811,12 @@ "ReleasePhoneNumberRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "ReplicateInstanceRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "StartChatContactRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", + "StartContactEvaluationRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "StartContactStreamingRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "StartOutboundVoiceContactRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs. The token is valid for 7 days after creation. If a contact is already started, the contact ID is returned.

", "StartTaskContactRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "TransferContactRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", + "UpdateEvaluationFormRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

", "UpdatePhoneNumberRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

" } }, @@ -974,7 +1035,9 @@ "CreateParticipantRequest$ContactId": "

The identifier of the contact in this instance of Amazon Connect. Only contacts in the CHAT channel are supported.

", "DescribeContactRequest$ContactId": "

The identifier of the contact.

", "DismissUserContactRequest$ContactId": "

The identifier of the contact.

", + "EvaluationMetadata$ContactId": "

The identifier of the contact in this instance of Amazon Connect.

", "GetContactAttributesRequest$InitialContactId": "

The identifier of the initial contact.

", + "ListContactEvaluationsRequest$ContactId": "

The identifier of the contact in this instance of Amazon Connect.

", "ListContactReferencesRequest$ContactId": "

The identifier of the initial contact.

", "MonitorContactRequest$ContactId": "

The identifier of the contact.

", "MonitorContactResponse$ContactId": "

The identifier of the contact.

", @@ -984,6 +1047,7 @@ "StartChatContactRequest$RelatedContactId": "

The unique identifier for an Amazon Connect contact. This identifier is related to the chat starting.

You cannot provide data for both RelatedContactId and PersistentChat.

", "StartChatContactResponse$ContactId": "

The identifier of this contact within the Amazon Connect instance.

", "StartChatContactResponse$ContinuedFromContactId": "

The contactId from which a persistent chat session is started. This field is populated only for persistent chats.

", + "StartContactEvaluationRequest$ContactId": "

The identifier of the contact in this instance of Amazon Connect.

", "StartContactRecordingRequest$ContactId": "

The identifier of the contact.

", "StartContactRecordingRequest$InitialContactId": "

The identifier of the contact. This is the identifier of the contact associated with the first interaction with the contact center.

", "StartContactStreamingRequest$ContactId": "

The identifier of the contact. This is the identifier of the contact associated with the first interaction with the contact center.

", @@ -1083,6 +1147,16 @@ "refs": { } }, + "CreateEvaluationFormRequest": { + "base": null, + "refs": { + } + }, + "CreateEvaluationFormResponse": { + "base": null, + "refs": { + } + }, "CreateHoursOfOperationRequest": { "base": null, "refs": { @@ -1313,6 +1387,16 @@ "ReferenceSummary$Date": "

Information about a reference when the referenceType is DATE. Otherwise, null.

" } }, + "DeactivateEvaluationFormRequest": { + "base": null, + "refs": { + } + }, + "DeactivateEvaluationFormResponse": { + "base": null, + "refs": { + } + }, "DefaultVocabulary": { "base": "

Contains information about a default vocabulary.

", "refs": { @@ -1332,6 +1416,11 @@ "RoutingProfileQueueConfigSummary$Delay": "

The delay, in seconds, that a contact should be in the queue before they are routed to an available agent. For more information, see Queues: priority and delay in the Amazon Connect Administrator Guide.

" } }, + "DeleteContactEvaluationRequest": { + "base": null, + "refs": { + } + }, "DeleteContactFlowModuleRequest": { "base": null, "refs": { @@ -1352,6 +1441,11 @@ "refs": { } }, + "DeleteEvaluationFormRequest": { + "base": null, + "refs": { + } + }, "DeleteHoursOfOperationRequest": { "base": null, "refs": { @@ -1437,6 +1531,16 @@ "refs": { } }, + "DescribeContactEvaluationRequest": { + "base": null, + "refs": { + } + }, + "DescribeContactEvaluationResponse": { + "base": null, + "refs": { + } + }, "DescribeContactFlowModuleRequest": { "base": null, "refs": { @@ -1467,6 +1571,16 @@ "refs": { } }, + "DescribeEvaluationFormRequest": { + "base": null, + "refs": { + } + }, + "DescribeEvaluationFormResponse": { + "base": null, + "refs": { + } + }, "DescribeHoursOfOperationRequest": { "base": null, "refs": { @@ -1798,6 +1912,358 @@ "EncryptionConfig$EncryptionType": "

The type of encryption.

" } }, + "Evaluation": { + "base": "

Information about a contact evaluation.

", + "refs": { + "DescribeContactEvaluationResponse$Evaluation": "

Information about the evaluation form completed for a specific contact.

" + } + }, + "EvaluationAnswerData": { + "base": "

Information about answer data for a contact evaluation. Answer data must be either string, numeric, or not applicable.

", + "refs": { + "EvaluationAnswerInput$Value": "

The value for an answer in a contact evaluation.

", + "EvaluationAnswerOutput$Value": "

The value for an answer in a contact evaluation.

", + "EvaluationAnswerOutput$SystemSuggestedValue": "

The system suggested value for an answer in a contact evaluation.

" + } + }, + "EvaluationAnswerDataNumericValue": { + "base": null, + "refs": { + "EvaluationAnswerData$NumericValue": "

The numeric value for an answer in a contact evaluation.

" + } + }, + "EvaluationAnswerDataStringValue": { + "base": null, + "refs": { + "EvaluationAnswerData$StringValue": "

The string value for an answer in a contact evaluation.

" + } + }, + "EvaluationAnswerInput": { + "base": "

Information about input answers for a contact evaluation.

", + "refs": { + "EvaluationAnswersInputMap$value": null + } + }, + "EvaluationAnswerOutput": { + "base": "

Information about output answers for a contact evaluation.

", + "refs": { + "EvaluationAnswersOutputMap$value": null + } + }, + "EvaluationAnswersInputMap": { + "base": null, + "refs": { + "SubmitContactEvaluationRequest$Answers": "

A map of question identifiers to answer value.

", + "UpdateContactEvaluationRequest$Answers": "

A map of question identifiers to answer value.

" + } + }, + "EvaluationAnswersOutputMap": { + "base": null, + "refs": { + "Evaluation$Answers": "

A map of question identifiers to answer value.

" + } + }, + "EvaluationForm": { + "base": "

Information about the evaluation form.

", + "refs": { + "DescribeEvaluationFormResponse$EvaluationForm": "

Information about the evaluation form.

" + } + }, + "EvaluationFormContent": { + "base": "

Information about an evaluation form used in a contact evaluation.

", + "refs": { + "DescribeContactEvaluationResponse$EvaluationForm": "

Information about the evaluation form.

" + } + }, + "EvaluationFormDescription": { + "base": null, + "refs": { + "CreateEvaluationFormRequest$Description": "

The description of the evaluation form.

", + "EvaluationForm$Description": "

The description of the evaluation form.

", + "EvaluationFormContent$Description": "

The description of the evaluation form.

", + "UpdateEvaluationFormRequest$Description": "

The description of the evaluation form.

" + } + }, + "EvaluationFormItem": { + "base": "

Information about an item from an evaluation form. The item must be either a section or a question.

", + "refs": { + "EvaluationFormItemsList$member": null + } + }, + "EvaluationFormItemWeight": { + "base": null, + "refs": { + "EvaluationFormQuestion$Weight": "

The scoring weight of the section.

", + "EvaluationFormSection$Weight": "

The scoring weight of the section.

" + } + }, + "EvaluationFormItemsList": { + "base": null, + "refs": { + "CreateEvaluationFormRequest$Items": "

Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.

", + "EvaluationForm$Items": "

Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.

", + "EvaluationFormContent$Items": "

Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.

", + "EvaluationFormSection$Items": "

The items of the section.

", + "UpdateEvaluationFormRequest$Items": "

Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.

" + } + }, + "EvaluationFormNumericQuestionAutomation": { + "base": "

Information about the automation configuration in numeric questions.

", + "refs": { + "EvaluationFormNumericQuestionProperties$Automation": "

The automation properties of the numeric question.

" + } + }, + "EvaluationFormNumericQuestionOption": { + "base": "

Information about the option range used for scoring in numeric questions.

", + "refs": { + "EvaluationFormNumericQuestionOptionList$member": null + } + }, + "EvaluationFormNumericQuestionOptionList": { + "base": null, + "refs": { + "EvaluationFormNumericQuestionProperties$Options": "

The scoring options of the numeric question.

" + } + }, + "EvaluationFormNumericQuestionProperties": { + "base": "

Information about properties for a numeric question in an evaluation form.

", + "refs": { + "EvaluationFormQuestionTypeProperties$Numeric": "

The properties of the numeric question.

" + } + }, + "EvaluationFormQuestion": { + "base": "

Information about a question from an evaluation form.

", + "refs": { + "EvaluationFormItem$Question": "

The information of the question.

" + } + }, + "EvaluationFormQuestionAnswerScore": { + "base": null, + "refs": { + "EvaluationFormNumericQuestionOption$Score": "

The score assigned to answer values within the range option.

", + "EvaluationFormSingleSelectQuestionOption$Score": "

The score assigned to the answer option.

" + } + }, + "EvaluationFormQuestionInstructions": { + "base": null, + "refs": { + "EvaluationFormQuestion$Instructions": "

The instructions of the section.

", + "EvaluationFormSection$Instructions": "

The instructions of the section.

" + } + }, + "EvaluationFormQuestionTitle": { + "base": null, + "refs": { + "EvaluationFormQuestion$Title": "

The title of the question.

" + } + }, + "EvaluationFormQuestionType": { + "base": null, + "refs": { + "EvaluationFormQuestion$QuestionType": "

The type of the question.

" + } + }, + "EvaluationFormQuestionTypeProperties": { + "base": "

Information about properties for a question in an evaluation form. The question type properties must be either for a numeric question or a single select question.

", + "refs": { + "EvaluationFormQuestion$QuestionTypeProperties": "

The properties of the type of question. Text questions do not have to define question type properties.

" + } + }, + "EvaluationFormScoringMode": { + "base": null, + "refs": { + "EvaluationFormScoringStrategy$Mode": "

The scoring mode of the evaluation form.

" + } + }, + "EvaluationFormScoringStatus": { + "base": null, + "refs": { + "EvaluationFormScoringStrategy$Status": "

The scoring status of the evaluation form.

" + } + }, + "EvaluationFormScoringStrategy": { + "base": "

Information about scoring strategy for an evaluation form.

", + "refs": { + "CreateEvaluationFormRequest$ScoringStrategy": "

A scoring strategy of the evaluation form.

", + "EvaluationForm$ScoringStrategy": "

A scoring strategy of the evaluation form.

", + "EvaluationFormContent$ScoringStrategy": "

A scoring strategy of the evaluation form.

", + "UpdateEvaluationFormRequest$ScoringStrategy": "

A scoring strategy of the evaluation form.

" + } + }, + "EvaluationFormSection": { + "base": "

Information about a section from an evaluation form. A section can contain sections and/or questions. Evaluation forms can only contain sections and subsections (two level nesting).

", + "refs": { + "EvaluationFormItem$Section": "

The information of the section.

" + } + }, + "EvaluationFormSectionTitle": { + "base": null, + "refs": { + "EvaluationFormSection$Title": "

The title of the section.

" + } + }, + "EvaluationFormSingleSelectQuestionAutomation": { + "base": "

Information about the automation configuration in single select questions. Automation options are evaluated in order, and the first matched option is applied. If no automation option matches, and there is a default option, then the default option is applied.

", + "refs": { + "EvaluationFormSingleSelectQuestionProperties$Automation": "

The display mode of the single select question.

" + } + }, + "EvaluationFormSingleSelectQuestionAutomationOption": { + "base": "

Information about the automation option of a single select question.

", + "refs": { + "EvaluationFormSingleSelectQuestionAutomationOptionList$member": null + } + }, + "EvaluationFormSingleSelectQuestionAutomationOptionList": { + "base": null, + "refs": { + "EvaluationFormSingleSelectQuestionAutomation$Options": "

The automation options of the single select question.

" + } + }, + "EvaluationFormSingleSelectQuestionDisplayMode": { + "base": null, + "refs": { + "EvaluationFormSingleSelectQuestionProperties$DisplayAs": "

The display mode of the single select question.

" + } + }, + "EvaluationFormSingleSelectQuestionOption": { + "base": "

Information about the automation configuration in single select questions.

", + "refs": { + "EvaluationFormSingleSelectQuestionOptionList$member": null + } + }, + "EvaluationFormSingleSelectQuestionOptionList": { + "base": null, + "refs": { + "EvaluationFormSingleSelectQuestionProperties$Options": "

The answer options of the single select question.

" + } + }, + "EvaluationFormSingleSelectQuestionOptionText": { + "base": null, + "refs": { + "EvaluationFormSingleSelectQuestionOption$Text": "

The title of the answer option.

" + } + }, + "EvaluationFormSingleSelectQuestionProperties": { + "base": "

Information about the options in single select questions.

", + "refs": { + "EvaluationFormQuestionTypeProperties$SingleSelect": "

The properties of the numeric question.

" + } + }, + "EvaluationFormSummary": { + "base": "

Summary information about an evaluation form.

", + "refs": { + "EvaluationFormSummaryList$member": null + } + }, + "EvaluationFormSummaryList": { + "base": null, + "refs": { + "ListEvaluationFormsResponse$EvaluationFormSummaryList": "

Provides details about a list of evaluation forms belonging to an instance.

" + } + }, + "EvaluationFormTitle": { + "base": null, + "refs": { + "CreateEvaluationFormRequest$Title": "

A unique title of the evaluation form.

", + "EvaluationForm$Title": "

A unique title of the evaluation form.

", + "EvaluationFormContent$Title": "

A unique title of the evaluation form.

", + "EvaluationFormSummary$Title": "

A unique title of the evaluation form.

", + "EvaluationSummary$EvaluationFormTitle": "

A unique title of the evaluation form.

", + "UpdateEvaluationFormRequest$Title": "

A unique title of the evaluation form.

" + } + }, + "EvaluationFormVersionIsLocked": { + "base": null, + "refs": { + "EvaluationForm$Locked": "

The flag indicating whether the evaluation form is locked for changes.

", + "EvaluationFormVersionSummary$Locked": "

The flag indicating whether the evaluation form is locked for changes.

" + } + }, + "EvaluationFormVersionStatus": { + "base": null, + "refs": { + "EvaluationForm$Status": "

The status of the evaluation form.

", + "EvaluationFormVersionSummary$Status": "

The status of the evaluation form.

" + } + }, + "EvaluationFormVersionSummary": { + "base": "

Summary information about an evaluation form.

", + "refs": { + "EvaluationFormVersionSummaryList$member": null + } + }, + "EvaluationFormVersionSummaryList": { + "base": null, + "refs": { + "ListEvaluationFormVersionsResponse$EvaluationFormVersionSummaryList": "

Provides details about a list of evaluation forms belonging to an instance.

" + } + }, + "EvaluationMetadata": { + "base": "

Metadata information about a contact evaluation.

", + "refs": { + "Evaluation$Metadata": "

Metadata about the contact evaluation.

" + } + }, + "EvaluationNote": { + "base": "

Information about notes for a contact evaluation.

", + "refs": { + "EvaluationNotesMap$value": null + } + }, + "EvaluationNoteString": { + "base": null, + "refs": { + "EvaluationNote$Value": "

The note for an item (section or question) in a contact evaluation.

" + } + }, + "EvaluationNotesMap": { + "base": null, + "refs": { + "Evaluation$Notes": "

A map of question identifiers to note value.

", + "SubmitContactEvaluationRequest$Notes": "

A map of question identifiers to note value.

", + "UpdateContactEvaluationRequest$Notes": "

A map of question identifiers to note value.

" + } + }, + "EvaluationScore": { + "base": "

Information about scores of a contact evaluation item (section or question).

", + "refs": { + "EvaluationMetadata$Score": "

The overall score of the contact evaluation.

", + "EvaluationScoresMap$value": null, + "EvaluationSummary$Score": "

The overall score of the contact evaluation.

" + } + }, + "EvaluationScorePercentage": { + "base": null, + "refs": { + "EvaluationScore$Percentage": "

The score percentage for an item in a contact evaluation.

" + } + }, + "EvaluationScoresMap": { + "base": null, + "refs": { + "Evaluation$Scores": "

A map of item (section or question) identifiers to score value.

" + } + }, + "EvaluationStatus": { + "base": null, + "refs": { + "Evaluation$Status": "

The status of the contact evaluation.

", + "EvaluationSummary$Status": "

The status of the contact evaluation.

" + } + }, + "EvaluationSummary": { + "base": "

Summary information about a contact evaluation.

", + "refs": { + "EvaluationSummaryList$member": null + } + }, + "EvaluationSummaryList": { + "base": null, + "refs": { + "ListContactEvaluationsResponse$EvaluationSummaryList": "

Provides details about a list of contact evaluations belonging to an instance.

" + } + }, "EventBridgeActionDefinition": { "base": "

The EventBridge action definition.

", "refs": { @@ -2269,6 +2735,7 @@ "InstanceId": { "base": null, "refs": { + "ActivateEvaluationFormRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "AssociateApprovedOriginRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "AssociateBotRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "AssociateDefaultVocabularyRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", @@ -2282,6 +2749,7 @@ "CreateAgentStatusRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "CreateContactFlowModuleRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "CreateContactFlowRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", + "CreateEvaluationFormRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "CreateHoursOfOperationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "CreateInstanceResponse$Id": "

The identifier for the instance.

", "CreateIntegrationAssociationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", @@ -2296,9 +2764,12 @@ "CreateUserHierarchyGroupRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "CreateUserRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "CreateVocabularyRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "DeactivateEvaluationFormRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DefaultVocabulary$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "DeleteContactEvaluationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteContactFlowModuleRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteContactFlowRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "DeleteEvaluationFormRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteHoursOfOperationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteInstanceRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteIntegrationAssociationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", @@ -2311,9 +2782,11 @@ "DeleteUserRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteVocabularyRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DescribeAgentStatusRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "DescribeContactEvaluationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DescribeContactFlowModuleRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DescribeContactFlowRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", "DescribeContactRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "DescribeEvaluationFormRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DescribeHoursOfOperationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DescribeInstanceAttributeRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DescribeInstanceRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", @@ -2350,10 +2823,13 @@ "ListAgentStatusRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "ListApprovedOriginsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "ListBotsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "ListContactEvaluationsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "ListContactFlowModulesRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "ListContactFlowsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "ListContactReferencesRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "ListDefaultVocabulariesRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "ListEvaluationFormVersionsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "ListEvaluationFormsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "ListHoursOfOperationsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "ListInstanceAttributesRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "ListInstanceStorageConfigsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", @@ -2388,6 +2864,7 @@ "SecurityProfile$OrganizationResourceId": "

The organization resource identifier for the security profile.

", "SecurityProfileSearchSummary$OrganizationResourceId": "

The organization resource identifier.

", "StartChatContactRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "StartContactEvaluationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "StartContactRecordingRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "StartContactStreamingRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "StartOutboundVoiceContactRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", @@ -2395,10 +2872,12 @@ "StopContactRecordingRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "StopContactRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "StopContactStreamingRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "SubmitContactEvaluationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "SuspendContactRecordingRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "TransferContactRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "UpdateAgentStatusRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "UpdateContactAttributesRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "UpdateContactEvaluationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "UpdateContactFlowContentRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", "UpdateContactFlowMetadataRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "UpdateContactFlowModuleContentRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", @@ -2406,6 +2885,7 @@ "UpdateContactFlowNameRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", "UpdateContactRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "UpdateContactScheduleRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "UpdateEvaluationFormRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "UpdateHoursOfOperationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "UpdateInstanceAttributeRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "UpdateInstanceStorageConfigRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", @@ -2492,6 +2972,15 @@ "ListInstancesResponse$InstanceSummaryList": "

Information about the instances.

" } }, + "Integer": { + "base": null, + "refs": { + "EvaluationFormNumericQuestionOption$MinValue": "

The minimum answer value of the range option.

", + "EvaluationFormNumericQuestionOption$MaxValue": "

The maximum answer value of the range option.

", + "EvaluationFormNumericQuestionProperties$MinValue": "

The minimum answer value.

", + "EvaluationFormNumericQuestionProperties$MaxValue": "

The maximum answer value.

" + } + }, "IntegerCount": { "base": null, "refs": { @@ -2684,6 +3173,16 @@ "refs": { } }, + "ListContactEvaluationsRequest": { + "base": null, + "refs": { + } + }, + "ListContactEvaluationsResponse": { + "base": null, + "refs": { + } + }, "ListContactFlowModulesRequest": { "base": null, "refs": { @@ -2724,6 +3223,26 @@ "refs": { } }, + "ListEvaluationFormVersionsRequest": { + "base": null, + "refs": { + } + }, + "ListEvaluationFormVersionsResponse": { + "base": null, + "refs": { + } + }, + "ListEvaluationFormsRequest": { + "base": null, + "refs": { + } + }, + "ListEvaluationFormsResponse": { + "base": null, + "refs": { + } + }, "ListHoursOfOperationsRequest": { "base": null, "refs": { @@ -3010,6 +3529,8 @@ "GetMetricDataRequest$MaxResults": "

The maximum number of results to return per page.

", "GetMetricDataV2Request$MaxResults": "

The maximum number of results to return per page.

", "ListDefaultVocabulariesRequest$MaxResults": "

The maximum number of results to return per page.

", + "ListEvaluationFormVersionsRequest$MaxResults": "

The maximum number of results to return per page.

", + "ListEvaluationFormsRequest$MaxResults": "

The maximum number of results to return per page.

", "ListIntegrationAssociationsRequest$MaxResults": "

The maximum number of results to return per page.

", "ListQueueQuickConnectsRequest$MaxResults": "

The maximum number of results to return per page. The default MaxResult size is 100.

", "ListRoutingProfileQueuesRequest$MaxResults": "

The maximum number of results to return per page. The default MaxResult size is 100.

", @@ -3221,12 +3742,18 @@ "ListApprovedOriginsResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", "ListBotsRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ListBotsResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", + "ListContactEvaluationsRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

This is not expected to be set because the value returned in the previous response is always null.

", + "ListContactEvaluationsResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

This is always returned as null in the response.

", "ListContactFlowModulesRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ListContactFlowModulesResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", "ListContactFlowsRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ListContactFlowsResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", "ListContactReferencesRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

This is not expected to be set, because the value returned in the previous response is always null.

", "ListContactReferencesResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

This is always returned as null in the response.

", + "ListEvaluationFormVersionsRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "ListEvaluationFormVersionsResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", + "ListEvaluationFormsRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "ListEvaluationFormsResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", "ListHoursOfOperationsRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ListHoursOfOperationsResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", "ListInstanceAttributesRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", @@ -3314,6 +3841,18 @@ "ReferenceSummary$Number": "

Information about a reference when the referenceType is NUMBER. Otherwise, null.

" } }, + "NumericQuestionPropertyAutomationLabel": { + "base": null, + "refs": { + "NumericQuestionPropertyValueAutomation$Label": "

The property label of the automation.

" + } + }, + "NumericQuestionPropertyValueAutomation": { + "base": "

Information about the property value used in automation of a numeric questions. Label values are associated with minimum and maximum values for the numeric question.

", + "refs": { + "EvaluationFormNumericQuestionAutomation$PropertyValue": "

The property value of the automation.

" + } + }, "Origin": { "base": null, "refs": { @@ -3914,6 +4453,16 @@ "ContactReferences$value": null } }, + "ReferenceId": { + "base": null, + "refs": { + "EvaluationFormQuestion$RefId": "

The identifier of the question. An identifier must be unique within the evaluation form.

", + "EvaluationFormSection$RefId": "

The identifier of the section. An identifier must be unique within the evaluation form.

", + "EvaluationFormSingleSelectQuestionAutomation$DefaultOptionRefId": "

The identifier of the default answer option, when none of the automation options match the criteria.

", + "EvaluationFormSingleSelectQuestionOption$RefId": "

The identifier of the answer option. An identifier must be unique within the question.

", + "SingleSelectQuestionRuleCategoryAutomation$OptionRefId": "

The identifier of the answer option tha

" + } + }, "ReferenceKey": { "base": null, "refs": { @@ -4015,6 +4564,41 @@ "refs": { } }, + "ResourceId": { + "base": null, + "refs": { + "ActivateEvaluationFormRequest$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "ActivateEvaluationFormResponse$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "CreateEvaluationFormResponse$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "DeactivateEvaluationFormRequest$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "DeactivateEvaluationFormResponse$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "DeleteContactEvaluationRequest$EvaluationId": "

A unique identifier for the contact evaluation.

", + "DeleteEvaluationFormRequest$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "DescribeContactEvaluationRequest$EvaluationId": "

A unique identifier for the contact evaluation.

", + "DescribeEvaluationFormRequest$EvaluationFormId": "

A unique identifier for the contact evaluation.

", + "Evaluation$EvaluationId": "

A unique identifier for the contact evaluation.

", + "EvaluationAnswersInputMap$key": null, + "EvaluationAnswersOutputMap$key": null, + "EvaluationForm$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "EvaluationFormContent$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "EvaluationFormSummary$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "EvaluationFormVersionSummary$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "EvaluationMetadata$ContactAgentId": "

The identifier of the agent who performed the contact.

", + "EvaluationNotesMap$key": null, + "EvaluationScoresMap$key": null, + "EvaluationSummary$EvaluationId": "

A unique identifier for the contact evaluation.

", + "EvaluationSummary$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "ListEvaluationFormVersionsRequest$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "StartContactEvaluationRequest$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "StartContactEvaluationResponse$EvaluationId": "

A unique identifier for the contact evaluation.

", + "SubmitContactEvaluationRequest$EvaluationId": "

A unique identifier for the contact evaluation.

", + "SubmitContactEvaluationResponse$EvaluationId": "

A unique identifier for the contact evaluation.

", + "UpdateContactEvaluationRequest$EvaluationId": "

A unique identifier for the contact evaluation.

", + "UpdateContactEvaluationResponse$EvaluationId": "

A unique identifier for the contact evaluation.

", + "UpdateEvaluationFormRequest$EvaluationFormId": "

The unique identifier for the evaluation form.

", + "UpdateEvaluationFormResponse$EvaluationFormId": "

The unique identifier for the evaluation form.

" + } + }, "ResourceInUseException": { "base": "

That resource is already in use. Please try another.

", "refs": { @@ -4476,6 +5060,24 @@ "TaskTemplateField$SingleSelectOptions": "

A list of options for a single select field.

" } }, + "SingleSelectQuestionRuleCategoryAutomation": { + "base": "

Information about the automation option based on a rule category for a single select question.

", + "refs": { + "EvaluationFormSingleSelectQuestionAutomationOption$RuleCategory": "

The automation option based on a rule category for the single select question.

" + } + }, + "SingleSelectQuestionRuleCategoryAutomationCondition": { + "base": null, + "refs": { + "SingleSelectQuestionRuleCategoryAutomation$Condition": "

The condition to apply for the automation option. If the condition is PRESENT, then the option is applied when the contact data includes the category. Similarly, if the condition is NOT_PRESENT, then the option is applied when the contact data does not include the category.

" + } + }, + "SingleSelectQuestionRuleCategoryAutomationLabel": { + "base": null, + "refs": { + "SingleSelectQuestionRuleCategoryAutomation$Category": "

The category name, as defined in Rules.

" + } + }, "SnapshotVersion": { "base": null, "refs": { @@ -4512,6 +5114,16 @@ "refs": { } }, + "StartContactEvaluationRequest": { + "base": null, + "refs": { + } + }, + "StartContactEvaluationResponse": { + "base": null, + "refs": { + } + }, "StartContactRecordingRequest": { "base": null, "refs": { @@ -4644,6 +5256,16 @@ "SendNotificationActionDefinition$Subject": "

The subject of the email if the delivery method is EMAIL. Supports variable injection. For more information, see JSONPath reference in the Amazon Connect Administrators Guide.

" } }, + "SubmitContactEvaluationRequest": { + "base": null, + "refs": { + } + }, + "SubmitContactEvaluationResponse": { + "base": null, + "refs": { + } + }, "SupportedMessagingContentType": { "base": null, "refs": { @@ -4715,6 +5337,8 @@ "CreateUserHierarchyGroupRequest$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", "CreateUserRequest$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", "CreateVocabularyRequest$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "Evaluation$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "EvaluationForm$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", "GetTaskTemplateResponse$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", "HierarchyGroup$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", "HoursOfOperation$Tags": "

The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", @@ -4989,6 +5613,17 @@ "AgentContactReference$StateStartTimestamp": "

The epoch timestamp when the contact state started.

", "AgentContactReference$ConnectedToAgentTimestamp": "

The time at which the contact was connected to an agent.

", "AgentStatusReference$StatusStartTimestamp": "

The start timestamp of the agent's status.

", + "Evaluation$CreatedTime": "

The timestamp for when the evaluation was created.

", + "Evaluation$LastModifiedTime": "

The timestamp for when the evaluation was last updated.

", + "EvaluationForm$CreatedTime": "

The timestamp for when the evaluation form was created.

", + "EvaluationForm$LastModifiedTime": "

The timestamp for when the evaluation form was last updated.

", + "EvaluationFormSummary$CreatedTime": "

The timestamp for when the evaluation form was created.

", + "EvaluationFormSummary$LastModifiedTime": "

The timestamp for when the evaluation form was last updated.

", + "EvaluationFormSummary$LastActivatedTime": "

The timestamp for when the evaluation form was last activated.

", + "EvaluationFormVersionSummary$CreatedTime": "

The timestamp for when the evaluation form was created.

", + "EvaluationFormVersionSummary$LastModifiedTime": "

The timestamp for when the evaluation form was last updated.

", + "EvaluationSummary$CreatedTime": "

The timestamp for when the evaluation was created.

", + "EvaluationSummary$LastModifiedTime": "

The timestamp for when the evaluation was last updated.

", "GetMetricDataV2Request$StartTime": "

The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be before the end time timestamp. The time range between the start and end time must be less than 24 hours. The start time cannot be earlier than 14 days before the time of the request. Historical metrics are available for 14 days.

", "GetMetricDataV2Request$EndTime": "

The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be later than the start time timestamp. It cannot be later than the current timestamp.

The time range between the start and end time must be less than 24 hours.

", "Instance$CreatedTime": "

When the instance was created.

", @@ -5109,6 +5744,16 @@ "refs": { } }, + "UpdateContactEvaluationRequest": { + "base": null, + "refs": { + } + }, + "UpdateContactEvaluationResponse": { + "base": null, + "refs": { + } + }, "UpdateContactFlowContentRequest": { "base": null, "refs": { @@ -5179,6 +5824,16 @@ "refs": { } }, + "UpdateEvaluationFormRequest": { + "base": null, + "refs": { + } + }, + "UpdateEvaluationFormResponse": { + "base": null, + "refs": { + } + }, "UpdateHoursOfOperationDescription": { "base": null, "refs": { @@ -5547,6 +6202,24 @@ "MetricDataV2$Value": "

The corresponding value of the metric returned in the response.

" } }, + "VersionNumber": { + "base": null, + "refs": { + "ActivateEvaluationFormRequest$EvaluationFormVersion": "

The version of the evaluation form to activate. If the version property is not provided, the latest version of the evaluation form is activated.

", + "ActivateEvaluationFormResponse$EvaluationFormVersion": "

A version of the evaluation form.

", + "DeactivateEvaluationFormRequest$EvaluationFormVersion": "

A version of the evaluation form. If the version property is not provided, the latest version of the evaluation form is deactivated.

", + "DeactivateEvaluationFormResponse$EvaluationFormVersion": "

The version of the deactivated evaluation form resource.

", + "DeleteEvaluationFormRequest$EvaluationFormVersion": "

The unique identifier for the evaluation form.

", + "DescribeEvaluationFormRequest$EvaluationFormVersion": "

A version of the evaluation form.

", + "EvaluationForm$EvaluationFormVersion": "

A version of the evaluation form.

", + "EvaluationFormContent$EvaluationFormVersion": "

A version of the evaluation form.

", + "EvaluationFormSummary$LatestVersion": "

The version number of the latest evaluation form version.

", + "EvaluationFormSummary$ActiveVersion": "

The version of the active evaluation form version.

", + "EvaluationFormVersionSummary$EvaluationFormVersion": "

A version of the evaluation form.

", + "UpdateEvaluationFormRequest$EvaluationFormVersion": "

A version of the evaluation form to update.

", + "UpdateEvaluationFormResponse$EvaluationFormVersion": "

The version of the updated evaluation form resource.

" + } + }, "Vocabulary": { "base": "

Contains information about a custom vocabulary.

", "refs": { diff --git a/models/apis/connect/2017-08-08/paginators-1.json b/models/apis/connect/2017-08-08/paginators-1.json index bf66f7f5951..230d2e1b39b 100644 --- a/models/apis/connect/2017-08-08/paginators-1.json +++ b/models/apis/connect/2017-08-08/paginators-1.json @@ -38,6 +38,11 @@ "output_token": "NextToken", "result_key": "LexBots" }, + "ListContactEvaluations": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "EvaluationSummaryList" + }, "ListContactFlowModules": { "input_token": "NextToken", "limit_key": "MaxResults", @@ -61,6 +66,18 @@ "output_token": "NextToken", "result_key": "DefaultVocabularyList" }, + "ListEvaluationFormVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EvaluationFormVersionSummaryList" + }, + "ListEvaluationForms": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EvaluationFormSummaryList" + }, "ListHoursOfOperations": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/apis/datasync/2018-11-09/api-2.json b/models/apis/datasync/2018-11-09/api-2.json index 33291e9e676..835b468f28b 100644 --- a/models/apis/datasync/2018-11-09/api-2.json +++ b/models/apis/datasync/2018-11-09/api-2.json @@ -14,6 +14,20 @@ "uid":"datasync-2018-11-09" }, "operations":{ + "AddStorageSystem":{ + "name":"AddStorageSystem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddStorageSystemRequest"}, + "output":{"shape":"AddStorageSystemResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, "CancelTaskExecution":{ "name":"CancelTaskExecution", "http":{ @@ -235,6 +249,20 @@ {"shape":"InternalException"} ] }, + "DescribeDiscoveryJob":{ + "name":"DescribeDiscoveryJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDiscoveryJobRequest"}, + "output":{"shape":"DescribeDiscoveryJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, "DescribeLocationEfs":{ "name":"DescribeLocationEfs", "http":{ @@ -365,6 +393,48 @@ {"shape":"InternalException"} ] }, + "DescribeStorageSystem":{ + "name":"DescribeStorageSystem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStorageSystemRequest"}, + "output":{"shape":"DescribeStorageSystemResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, + "DescribeStorageSystemResourceMetrics":{ + "name":"DescribeStorageSystemResourceMetrics", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStorageSystemResourceMetricsRequest"}, + "output":{"shape":"DescribeStorageSystemResourceMetricsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, + "DescribeStorageSystemResources":{ + "name":"DescribeStorageSystemResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStorageSystemResourcesRequest"}, + "output":{"shape":"DescribeStorageSystemResourcesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, "DescribeTask":{ "name":"DescribeTask", "http":{ @@ -391,6 +461,20 @@ {"shape":"InternalException"} ] }, + "GenerateRecommendations":{ + "name":"GenerateRecommendations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateRecommendationsRequest"}, + "output":{"shape":"GenerateRecommendationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, "ListAgents":{ "name":"ListAgents", "http":{ @@ -404,6 +488,20 @@ {"shape":"InternalException"} ] }, + "ListDiscoveryJobs":{ + "name":"ListDiscoveryJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDiscoveryJobsRequest"}, + "output":{"shape":"ListDiscoveryJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, "ListLocations":{ "name":"ListLocations", "http":{ @@ -417,6 +515,20 @@ {"shape":"InternalException"} ] }, + "ListStorageSystems":{ + "name":"ListStorageSystems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStorageSystemsRequest"}, + "output":{"shape":"ListStorageSystemsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -456,6 +568,34 @@ {"shape":"InternalException"} ] }, + "RemoveStorageSystem":{ + "name":"RemoveStorageSystem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveStorageSystemRequest"}, + "output":{"shape":"RemoveStorageSystemResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, + "StartDiscoveryJob":{ + "name":"StartDiscoveryJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDiscoveryJobRequest"}, + "output":{"shape":"StartDiscoveryJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, "StartTaskExecution":{ "name":"StartTaskExecution", "http":{ @@ -469,6 +609,20 @@ {"shape":"InternalException"} ] }, + "StopDiscoveryJob":{ + "name":"StopDiscoveryJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDiscoveryJobRequest"}, + "output":{"shape":"StopDiscoveryJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, "TagResource":{ "name":"TagResource", "http":{ @@ -508,6 +662,20 @@ {"shape":"InternalException"} ] }, + "UpdateDiscoveryJob":{ + "name":"UpdateDiscoveryJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDiscoveryJobRequest"}, + "output":{"shape":"UpdateDiscoveryJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, "UpdateLocationHdfs":{ "name":"UpdateLocationHdfs", "http":{ @@ -560,6 +728,20 @@ {"shape":"InternalException"} ] }, + "UpdateStorageSystem":{ + "name":"UpdateStorageSystem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateStorageSystemRequest"}, + "output":{"shape":"UpdateStorageSystemResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "endpoint":{"hostPrefix":"discovery-"} + }, "UpdateTask":{ "name":"UpdateTask", "http":{ @@ -593,6 +775,36 @@ "max":29, "pattern":"[A-Z0-9]{5}(-[A-Z0-9]{5}){4}" }, + "AddStorageSystemRequest":{ + "type":"structure", + "required":[ + "ServerConfiguration", + "SystemType", + "AgentArns", + "ClientToken", + "Credentials" + ], + "members":{ + "ServerConfiguration":{"shape":"DiscoveryServerConfiguration"}, + "SystemType":{"shape":"DiscoverySystemType"}, + "AgentArns":{"shape":"DiscoveryAgentArnList"}, + "CloudWatchLogGroupArn":{"shape":"LogGroupArn"}, + "Tags":{"shape":"InputTagList"}, + "Name":{"shape":"Name"}, + "ClientToken":{ + "shape":"PtolemyUUID", + "idempotencyToken":true + }, + "Credentials":{"shape":"Credentials"} + } + }, + "AddStorageSystemResponse":{ + "type":"structure", + "required":["StorageSystemArn"], + "members":{ + "StorageSystemArn":{"shape":"StorageSystemArn"} + } + }, "AgentArn":{ "type":"string", "max":128, @@ -646,6 +858,19 @@ "members":{ } }, + "Capacity":{ + "type":"structure", + "members":{ + "Used":{"shape":"NonNegativeLong"}, + "Provisioned":{"shape":"NonNegativeLong"}, + "LogicalUsed":{"shape":"NonNegativeLong"} + } + }, + "CollectionDurationMinutes":{ + "type":"integer", + "max":44640, + "min":60 + }, "CreateAgentRequest":{ "type":"structure", "required":["ActivationKey"], @@ -918,6 +1143,17 @@ "TaskArn":{"shape":"TaskArn"} } }, + "Credentials":{ + "type":"structure", + "required":[ + "Username", + "Password" + ], + "members":{ + "Username":{"shape":"PtolemyUsername"}, + "Password":{"shape":"PtolemyPassword"} + } + }, "DeleteAgentRequest":{ "type":"structure", "required":["AgentArn"], @@ -973,6 +1209,24 @@ "PrivateLinkConfig":{"shape":"PrivateLinkConfig"} } }, + "DescribeDiscoveryJobRequest":{ + "type":"structure", + "required":["DiscoveryJobArn"], + "members":{ + "DiscoveryJobArn":{"shape":"DiscoveryJobArn"} + } + }, + "DescribeDiscoveryJobResponse":{ + "type":"structure", + "members":{ + "StorageSystemArn":{"shape":"StorageSystemArn"}, + "DiscoveryJobArn":{"shape":"DiscoveryJobArn"}, + "CollectionDurationMinutes":{"shape":"CollectionDurationMinutes"}, + "Status":{"shape":"DiscoveryJobStatus"}, + "JobStartTime":{"shape":"DiscoveryTime"}, + "JobEndTime":{"shape":"DiscoveryTime"} + } + }, "DescribeLocationEfsRequest":{ "type":"structure", "required":["LocationArn"], @@ -1160,6 +1414,74 @@ "CreationTime":{"shape":"Time"} } }, + "DescribeStorageSystemRequest":{ + "type":"structure", + "required":["StorageSystemArn"], + "members":{ + "StorageSystemArn":{"shape":"StorageSystemArn"} + } + }, + "DescribeStorageSystemResourceMetricsRequest":{ + "type":"structure", + "required":[ + "DiscoveryJobArn", + "ResourceType", + "ResourceId" + ], + "members":{ + "DiscoveryJobArn":{"shape":"DiscoveryJobArn"}, + "ResourceType":{"shape":"DiscoveryResourceType"}, + "ResourceId":{"shape":"ResourceId"}, + "StartTime":{"shape":"DiscoveryTime"}, + "EndTime":{"shape":"DiscoveryTime"}, + "MaxResults":{"shape":"DiscoveryMaxResults"}, + "NextToken":{"shape":"DiscoveryNextToken"} + } + }, + "DescribeStorageSystemResourceMetricsResponse":{ + "type":"structure", + "members":{ + "Metrics":{"shape":"Metrics"}, + "NextToken":{"shape":"DiscoveryNextToken"} + } + }, + "DescribeStorageSystemResourcesRequest":{ + "type":"structure", + "required":[ + "DiscoveryJobArn", + "ResourceType" + ], + "members":{ + "DiscoveryJobArn":{"shape":"DiscoveryJobArn"}, + "ResourceType":{"shape":"DiscoveryResourceType"}, + "ResourceIds":{"shape":"ResourceIds"}, + "Filter":{"shape":"ResourceFilters"}, + "MaxResults":{"shape":"DiscoveryMaxResults"}, + "NextToken":{"shape":"DiscoveryNextToken"} + } + }, + "DescribeStorageSystemResourcesResponse":{ + "type":"structure", + "members":{ + "ResourceDetails":{"shape":"ResourceDetails"}, + "NextToken":{"shape":"DiscoveryNextToken"} + } + }, + "DescribeStorageSystemResponse":{ + "type":"structure", + "members":{ + "StorageSystemArn":{"shape":"StorageSystemArn"}, + "ServerConfiguration":{"shape":"DiscoveryServerConfiguration"}, + "SystemType":{"shape":"DiscoverySystemType"}, + "AgentArns":{"shape":"DiscoveryAgentArnList"}, + "Name":{"shape":"Name"}, + "ErrorMessage":{"shape":"ErrorMessage"}, + "ConnectivityStatus":{"shape":"StorageSystemConnectivityStatus"}, + "CloudWatchLogGroupArn":{"shape":"LogGroupArn"}, + "CreationTime":{"shape":"Timestamp"}, + "SecretsManagerArn":{"shape":"SecretsManagerArn"} + } + }, "DescribeTaskExecutionRequest":{ "type":"structure", "required":["TaskExecutionArn"], @@ -1217,6 +1539,86 @@ "type":"list", "member":{"shape":"NetworkInterfaceArn"} }, + "DiscoveryAgentArnList":{ + "type":"list", + "member":{"shape":"AgentArn"}, + "max":1, + "min":1 + }, + "DiscoveryJobArn":{ + "type":"string", + "max":256, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:system/storage-system-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/job/discovery-job-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "DiscoveryJobList":{ + "type":"list", + "member":{"shape":"DiscoveryJobListEntry"} + }, + "DiscoveryJobListEntry":{ + "type":"structure", + "members":{ + "DiscoveryJobArn":{"shape":"DiscoveryJobArn"}, + "Status":{"shape":"DiscoveryJobStatus"} + } + }, + "DiscoveryJobStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "WARNING", + "TERMINATED", + "FAILED", + "STOPPED", + "COMPLETED", + "COMPLETED_WITH_ISSUES" + ] + }, + "DiscoveryMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "DiscoveryNextToken":{ + "type":"string", + "max":65535, + "pattern":"[a-zA-Z0-9=_-]+" + }, + "DiscoveryResourceFilter":{ + "type":"string", + "enum":["SVM"] + }, + "DiscoveryResourceType":{ + "type":"string", + "enum":[ + "SVM", + "VOLUME", + "CLUSTER" + ] + }, + "DiscoveryServerConfiguration":{ + "type":"structure", + "required":["ServerHostname"], + "members":{ + "ServerHostname":{"shape":"DiscoveryServerHostname"}, + "ServerPort":{"shape":"DiscoveryServerPort"} + } + }, + "DiscoveryServerHostname":{ + "type":"string", + "max":255, + "pattern":"^(([a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9\\-]*[A-Za-z0-9])$" + }, + "DiscoveryServerPort":{ + "type":"integer", + "box":true, + "max":65535, + "min":1 + }, + "DiscoverySystemType":{ + "type":"string", + "enum":["NetAppONTAP"] + }, + "DiscoveryTime":{"type":"timestamp"}, "Duration":{ "type":"long", "min":0 @@ -1235,7 +1637,7 @@ "Ec2SecurityGroupArn":{ "type":"string", "max":128, - "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/sg-[a-f0-9]+$" }, "Ec2SecurityGroupArnList":{ "type":"list", @@ -1270,6 +1672,10 @@ "max":4096, "pattern":"^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\p{Zs}]*$" }, + "EnabledProtocols":{ + "type":"list", + "member":{"shape":"PtolemyString"} + }, "Endpoint":{ "type":"string", "max":15, @@ -1284,6 +1690,11 @@ "FIPS" ] }, + "ErrorMessage":{ + "type":"string", + "max":128, + "pattern":".*" + }, "FilterAttributeValue":{ "type":"string", "max":255, @@ -1296,6 +1707,10 @@ "max":1, "min":0 }, + "FilterMembers":{ + "type":"list", + "member":{"shape":"PtolemyString"} + }, "FilterRule":{ "type":"structure", "members":{ @@ -1369,6 +1784,24 @@ "max":4096, "pattern":"^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$" }, + "GenerateRecommendationsRequest":{ + "type":"structure", + "required":[ + "DiscoveryJobArn", + "ResourceIds", + "ResourceType" + ], + "members":{ + "DiscoveryJobArn":{"shape":"DiscoveryJobArn"}, + "ResourceIds":{"shape":"ResourceIds"}, + "ResourceType":{"shape":"DiscoveryResourceType"} + } + }, + "GenerateRecommendationsResponse":{ + "type":"structure", + "members":{ + } + }, "Gid":{ "type":"string", "enum":[ @@ -1454,6 +1887,15 @@ "min":1, "pattern":"^[_.A-Za-z0-9][-_.A-Za-z0-9]*$" }, + "IOPS":{ + "type":"structure", + "members":{ + "Read":{"shape":"NonNegativeDouble"}, + "Write":{"shape":"NonNegativeDouble"}, + "Other":{"shape":"NonNegativeDouble"}, + "Total":{"shape":"NonNegativeDouble"} + } + }, "IamRoleArn":{ "type":"string", "max":2048, @@ -1503,6 +1945,14 @@ "min":1, "pattern":"^kms:\\/\\/http[s]?@(([a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9\\-]*[A-Za-z0-9])(;(([a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9\\-]*[A-Za-z0-9]))*:[0-9]{1,5}\\/kms$" }, + "Latency":{ + "type":"structure", + "members":{ + "Read":{"shape":"NonNegativeDouble"}, + "Write":{"shape":"NonNegativeDouble"}, + "Other":{"shape":"NonNegativeDouble"} + } + }, "ListAgentsRequest":{ "type":"structure", "members":{ @@ -1517,6 +1967,21 @@ "NextToken":{"shape":"NextToken"} } }, + "ListDiscoveryJobsRequest":{ + "type":"structure", + "members":{ + "StorageSystemArn":{"shape":"StorageSystemArn"}, + "MaxResults":{"shape":"DiscoveryMaxResults"}, + "NextToken":{"shape":"DiscoveryNextToken"} + } + }, + "ListDiscoveryJobsResponse":{ + "type":"structure", + "members":{ + "DiscoveryJobs":{"shape":"DiscoveryJobList"}, + "NextToken":{"shape":"DiscoveryNextToken"} + } + }, "ListLocationsRequest":{ "type":"structure", "members":{ @@ -1532,6 +1997,20 @@ "NextToken":{"shape":"NextToken"} } }, + "ListStorageSystemsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"DiscoveryMaxResults"}, + "NextToken":{"shape":"DiscoveryNextToken"} + } + }, + "ListStorageSystemsResponse":{ + "type":"structure", + "members":{ + "StorageSystems":{"shape":"StorageSystemList"}, + "NextToken":{"shape":"DiscoveryNextToken"} + } + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["ResourceArn"], @@ -1627,7 +2106,7 @@ "LogGroupArn":{ "type":"string", "max":562, - "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):logs:[a-z\\-0-9]*:[0-9]{12}:log-group:([^:\\*]*)(:\\*)?$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):logs:[a-z\\-0-9]+:[0-9]{12}:log-group:([^:\\*]*)(:\\*)?$" }, "LogLevel":{ "type":"string", @@ -1637,11 +2116,31 @@ "TRANSFER" ] }, + "MaxP95Performance":{ + "type":"structure", + "members":{ + "IopsRead":{"shape":"NonNegativeDouble"}, + "IopsWrite":{"shape":"NonNegativeDouble"}, + "IopsOther":{"shape":"NonNegativeDouble"}, + "IopsTotal":{"shape":"NonNegativeDouble"}, + "ThroughputRead":{"shape":"NonNegativeDouble"}, + "ThroughputWrite":{"shape":"NonNegativeDouble"}, + "ThroughputOther":{"shape":"NonNegativeDouble"}, + "ThroughputTotal":{"shape":"NonNegativeDouble"}, + "LatencyRead":{"shape":"NonNegativeDouble"}, + "LatencyWrite":{"shape":"NonNegativeDouble"}, + "LatencyOther":{"shape":"NonNegativeDouble"} + } + }, "MaxResults":{ "type":"integer", "max":100, "min":0 }, + "Metrics":{ + "type":"list", + "member":{"shape":"ResourceMetrics"} + }, "Mtime":{ "type":"string", "enum":[ @@ -1649,6 +2148,76 @@ "PRESERVE" ] }, + "Name":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[\\p{L}\\p{M}\\p{N}\\s+=._:@\\/-]+$" + }, + "NetAppONTAPCluster":{ + "type":"structure", + "members":{ + "CifsShareCount":{"shape":"NonNegativeLong"}, + "NfsExportedVolumes":{"shape":"NonNegativeLong"}, + "ResourceId":{"shape":"PtolemyUUID"}, + "ClusterName":{"shape":"PtolemyString"}, + "MaxP95Performance":{"shape":"MaxP95Performance"}, + "ClusterBlockStorageSize":{"shape":"NonNegativeLong"}, + "ClusterBlockStorageUsed":{"shape":"NonNegativeLong"}, + "ClusterBlockStorageLogicalUsed":{"shape":"NonNegativeLong"}, + "Recommendations":{"shape":"Recommendations"}, + "RecommendationStatus":{"shape":"RecommendationStatus"} + } + }, + "NetAppONTAPClusters":{ + "type":"list", + "member":{"shape":"NetAppONTAPCluster"} + }, + "NetAppONTAPSVM":{ + "type":"structure", + "members":{ + "ClusterUuid":{"shape":"PtolemyUUID"}, + "ResourceId":{"shape":"PtolemyUUID"}, + "SvmName":{"shape":"PtolemyString"}, + "CifsShareCount":{"shape":"NonNegativeLong"}, + "EnabledProtocols":{"shape":"EnabledProtocols"}, + "TotalCapacityUsed":{"shape":"NonNegativeLong"}, + "TotalCapacityProvisioned":{"shape":"NonNegativeLong"}, + "TotalLogicalCapacityUsed":{"shape":"NonNegativeLong"}, + "MaxP95Performance":{"shape":"MaxP95Performance"}, + "Recommendations":{"shape":"Recommendations"}, + "NfsExportedVolumes":{"shape":"NonNegativeLong"}, + "RecommendationStatus":{"shape":"RecommendationStatus"}, + "TotalSnapshotCapacityUsed":{"shape":"NonNegativeLong"} + } + }, + "NetAppONTAPSVMs":{ + "type":"list", + "member":{"shape":"NetAppONTAPSVM"} + }, + "NetAppONTAPVolume":{ + "type":"structure", + "members":{ + "VolumeName":{"shape":"PtolemyString"}, + "ResourceId":{"shape":"PtolemyUUID"}, + "CifsShareCount":{"shape":"NonNegativeLong"}, + "SecurityStyle":{"shape":"PtolemyString"}, + "SvmUuid":{"shape":"PtolemyUUID"}, + "SvmName":{"shape":"PtolemyString"}, + "CapacityUsed":{"shape":"NonNegativeLong"}, + "CapacityProvisioned":{"shape":"NonNegativeLong"}, + "LogicalCapacityUsed":{"shape":"NonNegativeLong"}, + "NfsExported":{"shape":"PtolemyBoolean"}, + "SnapshotCapacityUsed":{"shape":"NonNegativeLong"}, + "MaxP95Performance":{"shape":"MaxP95Performance"}, + "Recommendations":{"shape":"Recommendations"}, + "RecommendationStatus":{"shape":"RecommendationStatus"} + } + }, + "NetAppONTAPVolumes":{ + "type":"list", + "member":{"shape":"NetAppONTAPVolume"} + }, "NetworkInterfaceArn":{ "type":"string", "max":128, @@ -1679,6 +2248,16 @@ "NFS4_1" ] }, + "NonNegativeDouble":{ + "type":"double", + "box":true, + "min":0 + }, + "NonNegativeLong":{ + "type":"long", + "box":true, + "min":0 + }, "ObjectStorageAccessKey":{ "type":"string", "max":200, @@ -1777,6 +2356,14 @@ "NEVER" ] }, + "P95Metrics":{ + "type":"structure", + "members":{ + "IOPS":{"shape":"IOPS"}, + "Throughput":{"shape":"Throughput"}, + "Latency":{"shape":"Latency"} + } + }, "PLSecurityGroupArnList":{ "type":"list", "member":{"shape":"Ec2SecurityGroupArn"}, @@ -1827,6 +2414,28 @@ "SecurityGroupArns":{"shape":"PLSecurityGroupArnList"} } }, + "PtolemyBoolean":{"type":"boolean"}, + "PtolemyPassword":{ + "type":"string", + "max":1024, + "pattern":"^(?!.*[:\\\"][^:\"]*$).+$", + "sensitive":true + }, + "PtolemyString":{ + "type":"string", + "max":1024, + "pattern":"^.{0,1024}$" + }, + "PtolemyUUID":{ + "type":"string", + "pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "PtolemyUsername":{ + "type":"string", + "max":1024, + "pattern":"^(?!.*[:\\\"][^:\"]*$).+$", + "sensitive":true + }, "QopConfiguration":{ "type":"structure", "members":{ @@ -1834,6 +2443,77 @@ "DataTransferProtection":{"shape":"HdfsDataTransferProtection"} } }, + "Recommendation":{ + "type":"structure", + "members":{ + "StorageType":{"shape":"PtolemyString"}, + "StorageConfiguration":{"shape":"RecommendationsConfigMap"}, + "EstimatedMonthlyStorageCost":{"shape":"PtolemyString"} + } + }, + "RecommendationStatus":{ + "type":"string", + "enum":[ + "NONE", + "IN_PROGRESS", + "COMPLETED", + "FAILED" + ] + }, + "Recommendations":{ + "type":"list", + "member":{"shape":"Recommendation"} + }, + "RecommendationsConfigMap":{ + "type":"map", + "key":{"shape":"PtolemyString"}, + "value":{"shape":"PtolemyString"} + }, + "RemoveStorageSystemRequest":{ + "type":"structure", + "required":["StorageSystemArn"], + "members":{ + "StorageSystemArn":{"shape":"StorageSystemArn"} + } + }, + "RemoveStorageSystemResponse":{ + "type":"structure", + "members":{ + } + }, + "ResourceDetails":{ + "type":"structure", + "members":{ + "NetAppONTAPSVMs":{"shape":"NetAppONTAPSVMs"}, + "NetAppONTAPVolumes":{"shape":"NetAppONTAPVolumes"}, + "NetAppONTAPClusters":{"shape":"NetAppONTAPClusters"} + } + }, + "ResourceFilters":{ + "type":"map", + "key":{"shape":"DiscoveryResourceFilter"}, + "value":{"shape":"FilterMembers"} + }, + "ResourceId":{ + "type":"string", + "pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "ResourceIds":{ + "type":"list", + "member":{"shape":"ResourceId"}, + "max":100, + "min":1 + }, + "ResourceMetrics":{ + "type":"structure", + "members":{ + "Timestamp":{"shape":"Timestamp"}, + "P95Metrics":{"shape":"P95Metrics"}, + "Capacity":{"shape":"Capacity"}, + "ResourceId":{"shape":"ResourceId"}, + "ResourceType":{"shape":"DiscoveryResourceType"} + } + }, "S3BucketArn":{ "type":"string", "max":156, @@ -1869,6 +2549,11 @@ "max":256, "pattern":"^[a-zA-Z0-9\\ \\_\\*\\?\\,\\|\\^\\-\\/\\#\\s\\(\\)\\+]*$" }, + "SecretsManagerArn":{ + "type":"string", + "max":2048, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):secretsmanager:[a-z\\-0-9]+:[0-9]{12}:secret:.*" + }, "ServerHostname":{ "type":"string", "max":255, @@ -1923,6 +2608,29 @@ "type":"list", "member":{"shape":"NetworkInterfaceArn"} }, + "StartDiscoveryJobRequest":{ + "type":"structure", + "required":[ + "StorageSystemArn", + "CollectionDurationMinutes", + "ClientToken" + ], + "members":{ + "StorageSystemArn":{"shape":"StorageSystemArn"}, + "CollectionDurationMinutes":{"shape":"CollectionDurationMinutes"}, + "ClientToken":{ + "shape":"PtolemyUUID", + "idempotencyToken":true + }, + "Tags":{"shape":"InputTagList"} + } + }, + "StartDiscoveryJobResponse":{ + "type":"structure", + "members":{ + "DiscoveryJobArn":{"shape":"DiscoveryJobArn"} + } + }, "StartTaskExecutionRequest":{ "type":"structure", "required":["TaskArn"], @@ -1940,6 +2648,42 @@ "TaskExecutionArn":{"shape":"TaskExecutionArn"} } }, + "StopDiscoveryJobRequest":{ + "type":"structure", + "required":["DiscoveryJobArn"], + "members":{ + "DiscoveryJobArn":{"shape":"DiscoveryJobArn"} + } + }, + "StopDiscoveryJobResponse":{ + "type":"structure", + "members":{ + } + }, + "StorageSystemArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:system/storage-system-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "StorageSystemConnectivityStatus":{ + "type":"string", + "enum":[ + "PASS", + "FAIL", + "UNKNOWN" + ] + }, + "StorageSystemList":{ + "type":"list", + "member":{"shape":"StorageSystemListEntry"} + }, + "StorageSystemListEntry":{ + "type":"structure", + "members":{ + "StorageSystemArn":{"shape":"StorageSystemArn"}, + "Name":{"shape":"Name"} + } + }, "StorageVirtualMachineArn":{ "type":"string", "max":162, @@ -1990,7 +2734,7 @@ "TaggableResourceArn":{ "type":"string", "max":128, - "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:(agent|task|location)/(agent|task|loc)-[a-f0-9]{17}(/execution/exec-[a-f0-9]{17})?$" + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:(agent|task|location|system)/((agent|task|loc)-[a-f0-9]{17}|storage-system-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})(/execution/exec-[a-f0-9]{17})?$" }, "TaskArn":{ "type":"string", @@ -2099,7 +2843,17 @@ "UNAVAILABLE" ] }, + "Throughput":{ + "type":"structure", + "members":{ + "Read":{"shape":"NonNegativeDouble"}, + "Write":{"shape":"NonNegativeDouble"}, + "Other":{"shape":"NonNegativeDouble"}, + "Total":{"shape":"NonNegativeDouble"} + } + }, "Time":{"type":"timestamp"}, + "Timestamp":{"type":"timestamp"}, "TransferMode":{ "type":"string", "enum":[ @@ -2145,6 +2899,22 @@ "members":{ } }, + "UpdateDiscoveryJobRequest":{ + "type":"structure", + "required":[ + "DiscoveryJobArn", + "CollectionDurationMinutes" + ], + "members":{ + "DiscoveryJobArn":{"shape":"DiscoveryJobArn"}, + "CollectionDurationMinutes":{"shape":"CollectionDurationMinutes"} + } + }, + "UpdateDiscoveryJobResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateLocationHdfsRequest":{ "type":"structure", "required":["LocationArn"], @@ -2221,6 +2991,23 @@ "members":{ } }, + "UpdateStorageSystemRequest":{ + "type":"structure", + "required":["StorageSystemArn"], + "members":{ + "StorageSystemArn":{"shape":"StorageSystemArn"}, + "ServerConfiguration":{"shape":"DiscoveryServerConfiguration"}, + "AgentArns":{"shape":"DiscoveryAgentArnList"}, + "Name":{"shape":"Name"}, + "CloudWatchLogGroupArn":{"shape":"LogGroupArn"}, + "Credentials":{"shape":"Credentials"} + } + }, + "UpdateStorageSystemResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateTaskExecutionRequest":{ "type":"structure", "required":[ diff --git a/models/apis/datasync/2018-11-09/docs-2.json b/models/apis/datasync/2018-11-09/docs-2.json index 66c583f5fd8..8d6a54a4a1d 100644 --- a/models/apis/datasync/2018-11-09/docs-2.json +++ b/models/apis/datasync/2018-11-09/docs-2.json @@ -2,6 +2,7 @@ "version": "2.0", "service": "DataSync

DataSync is a managed data transfer service that makes it simpler for you to automate moving data between on-premises storage and Amazon Web Services storage services. You also can use DataSync to transfer data between other cloud providers and Amazon Web Services storage services.

This API interface reference includes documentation for using DataSync programmatically. For complete information, see the DataSync User Guide .

", "operations": { + "AddStorageSystem": "

Creates an Amazon Web Services resource for an on-premises storage system that you want DataSync Discovery to collect information about.

", "CancelTaskExecution": "

Stops an DataSync task execution that's in progress. The transfer of some files are abruptly interrupted. File contents that're transferred to the destination might be incomplete or inconsistent with the source files.

However, if you start a new task execution using the same task and allow it to finish, file content on the destination will be complete and consistent. This applies to other unexpected failures that interrupt a task execution. In all of these cases, DataSync successfully completes the transfer when you start the next task execution.

", "CreateAgent": "

Activates an DataSync agent that you have deployed in your storage environment. The activation process associates your agent with your account. In the activation process, you specify information such as the Amazon Web Services Region that you want to activate the agent in. You activate the agent in the Amazon Web Services Region where your target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created in this Amazon Web Services Region.

You can activate the agent in a VPC (virtual private cloud) or provide the agent access to a VPC endpoint so you can run tasks without going over the public internet.

You can use an agent for more than one location. If a task uses multiple agents, all of them need to have status AVAILABLE for the task to run. If you use multiple agents for a source location, the status of all the agents must be AVAILABLE for the task to run.

Agents are automatically updated by Amazon Web Services on a regular basis, using a mechanism that ensures minimal interruption to your tasks.

", "CreateLocationEfs": "

Creates an endpoint for an Amazon EFS file system that DataSync can access for a transfer. For more information, see Creating a location for Amazon EFS.

", @@ -12,13 +13,14 @@ "CreateLocationHdfs": "

Creates an endpoint for a Hadoop Distributed File System (HDFS).

", "CreateLocationNfs": "

Defines a file system on a Network File System (NFS) server that can be read from or written to.

", "CreateLocationObjectStorage": "

Creates an endpoint for an object storage system that DataSync can access for a transfer. For more information, see Creating a location for object storage.

", - "CreateLocationS3": "

Creates an endpoint for an Amazon S3 bucket that DataSync can access for a transfer. For more information, see Create an Amazon S3 location.

", + "CreateLocationS3": "

A location is an endpoint for an Amazon S3 bucket. DataSync can use the location as a source or destination for copying data.

Before you create your location, make sure that you read the following sections:

For more information, see Creating an Amazon S3 location.

", "CreateLocationSmb": "

Creates an endpoint for a Server Message Block (SMB) file server that DataSync can access for a transfer. For more information, see Creating an SMB location.

", - "CreateTask": "

Configures a task, which defines where and how DataSync transfers your data.

A task includes a source location, a destination location, and the preferences for how and when you want to transfer your data (such as bandwidth limits, scheduling, among other options).

", + "CreateTask": "

Configures a task, which defines where and how DataSync transfers your data.

A task includes a source location, a destination location, and the preferences for how and when you want to transfer your data (such as bandwidth limits, scheduling, among other options).

If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

", "DeleteAgent": "

Deletes an agent. To specify which agent to delete, use the Amazon Resource Name (ARN) of the agent in your request. The operation disassociates the agent from your Amazon Web Services account. However, it doesn't delete the agent virtual machine (VM) from your on-premises environment.

", "DeleteLocation": "

Deletes the configuration of a location used by DataSync.

", "DeleteTask": "

Deletes an DataSync task.

", "DescribeAgent": "

Returns metadata about an DataSync agent, such as its name, endpoint type, and status.

", + "DescribeDiscoveryJob": "

Returns information about a DataSync discovery job.

", "DescribeLocationEfs": "

Returns metadata about your DataSync location for an Amazon EFS file system.

", "DescribeLocationFsxLustre": "

Provides details about how an DataSync location for an Amazon FSx for Lustre file system is configured.

", "DescribeLocationFsxOntap": "

Provides details about how an DataSync location for an Amazon FSx for NetApp ONTAP file system is configured.

If your location uses SMB, the DescribeLocationFsxOntap operation doesn't actually return a Password.

", @@ -29,23 +31,34 @@ "DescribeLocationObjectStorage": "

Returns metadata about your DataSync location for an object storage system.

", "DescribeLocationS3": "

Returns metadata, such as bucket name, about an Amazon S3 bucket location.

", "DescribeLocationSmb": "

Returns metadata, such as the path and user information about an SMB location.

", + "DescribeStorageSystem": "

Returns information about an on-premises storage system that you're using with DataSync Discovery.

", + "DescribeStorageSystemResourceMetrics": "

Returns information, including performance data and capacity usage, which DataSync Discovery collects about a specific resource in your-premises storage system.

", + "DescribeStorageSystemResources": "

Returns information that DataSync Discovery collects about resources in your on-premises storage system.

", "DescribeTask": "

Returns metadata about a task.

", "DescribeTaskExecution": "

Returns detailed metadata about a task that is being executed.

", + "GenerateRecommendations": "

Creates recommendations about where to migrate your data to in Amazon Web Services. Recommendations are generated based on information that DataSync Discovery collects about your on-premises storage system's resources. For more information, see Recommendations provided by DataSync Discovery.

Once generated, you can view your recommendations by using the DescribeStorageSystemResources operation.

If your discovery job completes successfully, you don't need to use this operation. DataSync Discovery generates the recommendations for you automatically.

", "ListAgents": "

Returns a list of DataSync agents that belong to an Amazon Web Services account in the Amazon Web Services Region specified in the request.

With pagination, you can reduce the number of agents returned in a response. If you get a truncated list of agents in a response, the response contains a marker that you can specify in your next request to fetch the next page of agents.

ListAgents is eventually consistent. This means the result of running the operation might not reflect that you just created or deleted an agent. For example, if you create an agent with CreateAgent and then immediately run ListAgents, that agent might not show up in the list right away. In situations like this, you can always confirm whether an agent has been created (or deleted) by using DescribeAgent.

", + "ListDiscoveryJobs": "

Provides a list of the existing discovery jobs in the Amazon Web Services Region and Amazon Web Services account where you're using DataSync Discovery.

", "ListLocations": "

Returns a list of source and destination locations.

If you have more locations than are returned in a response (that is, the response returns only a truncated list of your agents), the response contains a token that you can specify in your next request to fetch the next page of locations.

", + "ListStorageSystems": "

Lists the on-premises storage systems that you're using with DataSync Discovery.

", "ListTagsForResource": "

Returns all the tags associated with an Amazon Web Services resource.

", "ListTaskExecutions": "

Returns a list of executed tasks.

", "ListTasks": "

Returns a list of the DataSync tasks you created.

", - "StartTaskExecution": "

Starts an DataSync task. For each task, you can only run one task execution at a time.

There are several phases to a task execution. For more information, see Task execution statuses.

", + "RemoveStorageSystem": "

Permanently removes a storage system resource from DataSync Discovery, including the associated discovery jobs, collected data, and recommendations.

", + "StartDiscoveryJob": "

Runs a DataSync discovery job on your on-premises storage system. If you haven't added the storage system to DataSync Discovery yet, do this first by using the AddStorageSystem operation.

", + "StartTaskExecution": "

Starts an DataSync task. For each task, you can only run one task execution at a time.

There are several phases to a task execution. For more information, see Task execution statuses.

If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

", + "StopDiscoveryJob": "

Stops a running DataSync discovery job.

You can stop a discovery job anytime. A job that's stopped before it's scheduled to end likely will provide you some information about your on-premises storage system resources. To get recommendations for a stopped job, you must use the GenerateRecommendations operation.

", "TagResource": "

Applies a tag to an Amazon Web Services resource. Tags are key-value pairs that can help you manage, filter, and search for your resources.

These include DataSync resources, such as locations, tasks, and task executions.

", "UntagResource": "

Removes tags from an Amazon Web Services resource.

", "UpdateAgent": "

Updates the name of an agent.

", + "UpdateDiscoveryJob": "

Edits a DataSync discovery job configuration.

", "UpdateLocationHdfs": "

Updates some parameters of a previously created location for a Hadoop Distributed File System cluster.

", "UpdateLocationNfs": "

Updates some of the parameters of a previously created location for Network File System (NFS) access. For information about creating an NFS location, see Creating a location for NFS.

", "UpdateLocationObjectStorage": "

Updates some parameters of an existing object storage location that DataSync accesses for a transfer. For information about creating a self-managed object storage location, see Creating a location for object storage.

", "UpdateLocationSmb": "

Updates some of the parameters of a previously created location for Server Message Block (SMB) file system access. For information about creating an SMB location, see Creating a location for SMB.

", + "UpdateStorageSystem": "

Modifies some configurations of an on-premises storage system resource that you're using with DataSync Discovery.

", "UpdateTask": "

Updates the metadata associated with a task.

", - "UpdateTaskExecution": "

Updates execution of a task.

You can modify bandwidth throttling for a task execution that is running or queued. For more information, see Adjusting Bandwidth Throttling for a Task Execution.

The only Option that can be modified by UpdateTaskExecution is BytesPerSecond .

" + "UpdateTaskExecution": "

Modifies a running DataSync task.

Currently, the only Option that you can modify with UpdateTaskExecution is BytesPerSecond , which throttles bandwidth for a running or queued task.

" }, "shapes": { "ActivationKey": { @@ -54,6 +67,16 @@ "CreateAgentRequest$ActivationKey": "

Your agent activation key. You can get the activation key either by sending an HTTP GET request with redirects that enable you to get the agent IP address (port 80). Alternatively, you can get it from the DataSync console.

The redirect URL returned in the response provides you the activation key for your agent in the query string parameter activationKey. It might also include other activation-related parameters; however, these are merely defaults. The arguments you pass to this API call determine the actual configuration of your agent.

For more information, see Activating an Agent in the DataSync User Guide.

" } }, + "AddStorageSystemRequest": { + "base": null, + "refs": { + } + }, + "AddStorageSystemResponse": { + "base": null, + "refs": { + } + }, "AgentArn": { "base": null, "refs": { @@ -63,6 +86,7 @@ "DeleteAgentRequest$AgentArn": "

The Amazon Resource Name (ARN) of the agent to delete. Use the ListAgents operation to return a list of agents for your account and Amazon Web Services Region.

", "DescribeAgentRequest$AgentArn": "

Specifies the Amazon Resource Name (ARN) of the DataSync agent to describe.

", "DescribeAgentResponse$AgentArn": "

The ARN of the agent.

", + "DiscoveryAgentArnList$member": null, "UpdateAgentRequest$AgentArn": "

The Amazon Resource Name (ARN) of the agent to update.

" } }, @@ -124,6 +148,20 @@ "refs": { } }, + "Capacity": { + "base": "

The storage capacity of an on-premises storage system resource (for example, a volume).

", + "refs": { + "ResourceMetrics$Capacity": "

The storage capacity of the on-premises storage system resource.

" + } + }, + "CollectionDurationMinutes": { + "base": null, + "refs": { + "DescribeDiscoveryJobResponse$CollectionDurationMinutes": "

The number of minutes that the discovery job runs.

", + "StartDiscoveryJobRequest$CollectionDurationMinutes": "

Specifies in minutes how long you want the discovery job to run.

For more accurate recommendations, we recommend a duration of at least 14 days. Longer durations allow time to collect a sufficient number of data points and provide a realistic representation of storage performance and utilization.

", + "UpdateDiscoveryJobRequest$CollectionDurationMinutes": "

Specifies in minutes how long that you want the discovery job to run. (You can't set this parameter to less than the number of minutes that the job has already run for.)

" + } + }, "CreateAgentRequest": { "base": "

CreateAgentRequest

", "refs": { @@ -244,6 +282,13 @@ "refs": { } }, + "Credentials": { + "base": "

The credentials that provide DataSync Discovery read access to your on-premises storage system's management interface.

DataSync Discovery stores these credentials in Secrets Manager. For more information, see Accessing your on-premises storage system.

", + "refs": { + "AddStorageSystemRequest$Credentials": "

Specifies the user name and password for accessing your on-premises storage system's management interface.

", + "UpdateStorageSystemRequest$Credentials": "

Specifies the user name and password for accessing your on-premises storage system's management interface.

" + } + }, "DeleteAgentRequest": { "base": "

DeleteAgentRequest

", "refs": { @@ -284,6 +329,16 @@ "refs": { } }, + "DescribeDiscoveryJobRequest": { + "base": null, + "refs": { + } + }, + "DescribeDiscoveryJobResponse": { + "base": null, + "refs": { + } + }, "DescribeLocationEfsRequest": { "base": "

DescribeLocationEfsRequest

", "refs": { @@ -384,6 +439,36 @@ "refs": { } }, + "DescribeStorageSystemRequest": { + "base": null, + "refs": { + } + }, + "DescribeStorageSystemResourceMetricsRequest": { + "base": null, + "refs": { + } + }, + "DescribeStorageSystemResourceMetricsResponse": { + "base": null, + "refs": { + } + }, + "DescribeStorageSystemResourcesRequest": { + "base": null, + "refs": { + } + }, + "DescribeStorageSystemResourcesResponse": { + "base": null, + "refs": { + } + }, + "DescribeStorageSystemResponse": { + "base": null, + "refs": { + } + }, "DescribeTaskExecutionRequest": { "base": "

DescribeTaskExecutionRequest

", "refs": { @@ -410,6 +495,120 @@ "DescribeTaskResponse$DestinationNetworkInterfaceArns": "

The Amazon Resource Names (ARNs) of the network interfaces created for your destination location. For more information, see Network interface requirements.

" } }, + "DiscoveryAgentArnList": { + "base": null, + "refs": { + "AddStorageSystemRequest$AgentArns": "

Specifies the Amazon Resource Name (ARN) of the DataSync agent that connects to and reads from your on-premises storage system's management interface.

", + "DescribeStorageSystemResponse$AgentArns": "

The ARN of the DataSync agent that connects to and reads from your on-premises storage system.

", + "UpdateStorageSystemRequest$AgentArns": "

Specifies the Amazon Resource Name (ARN) of the DataSync agent that connects to and reads your on-premises storage system.

" + } + }, + "DiscoveryJobArn": { + "base": null, + "refs": { + "DescribeDiscoveryJobRequest$DiscoveryJobArn": "

Specifies the Amazon Resource Name (ARN) of the discovery job that you want information about.

", + "DescribeDiscoveryJobResponse$DiscoveryJobArn": "

The ARN of the discovery job.

", + "DescribeStorageSystemResourceMetricsRequest$DiscoveryJobArn": "

Specifies the Amazon Resource Name (ARN) of the discovery job that collects information about your on-premises storage system.

", + "DescribeStorageSystemResourcesRequest$DiscoveryJobArn": "

Specifies the Amazon Resource Name (ARN) of the discovery job that's collecting data from your on-premises storage system.

", + "DiscoveryJobListEntry$DiscoveryJobArn": "

The Amazon Resource Name (ARN) of a discovery job.

", + "GenerateRecommendationsRequest$DiscoveryJobArn": "

Specifies the Amazon Resource Name (ARN) of the discovery job that collects information about your on-premises storage system.

", + "StartDiscoveryJobResponse$DiscoveryJobArn": "

The ARN of the discovery job that you started.

", + "StopDiscoveryJobRequest$DiscoveryJobArn": "

Specifies the Amazon Resource Name (ARN) of the discovery job that you want to stop.

", + "UpdateDiscoveryJobRequest$DiscoveryJobArn": "

Specifies the Amazon Resource Name (ARN) of the discovery job that you want to update.

" + } + }, + "DiscoveryJobList": { + "base": null, + "refs": { + "ListDiscoveryJobsResponse$DiscoveryJobs": "

The discovery jobs that you've run.

" + } + }, + "DiscoveryJobListEntry": { + "base": "

The details about a specific DataSync discovery job.

", + "refs": { + "DiscoveryJobList$member": null + } + }, + "DiscoveryJobStatus": { + "base": null, + "refs": { + "DescribeDiscoveryJobResponse$Status": "

Indicates the status of a discovery job. For more information, see Discovery job statuses.

", + "DiscoveryJobListEntry$Status": "

The status of a discovery job. For more information, see Discovery job statuses.

" + } + }, + "DiscoveryMaxResults": { + "base": null, + "refs": { + "DescribeStorageSystemResourceMetricsRequest$MaxResults": "

Specifies how many results that you want in the response.

", + "DescribeStorageSystemResourcesRequest$MaxResults": "

Specifies the maximum number of storage system resources that you want to list in a response.

", + "ListDiscoveryJobsRequest$MaxResults": "

Specifies how many results you want in the response.

", + "ListStorageSystemsRequest$MaxResults": "

Specifies how many results you want in the response.

" + } + }, + "DiscoveryNextToken": { + "base": null, + "refs": { + "DescribeStorageSystemResourceMetricsRequest$NextToken": "

Specifies an opaque string that indicates the position to begin the next list of results in the response.

", + "DescribeStorageSystemResourceMetricsResponse$NextToken": "

The opaque string that indicates the position to begin the next list of results in the response.

", + "DescribeStorageSystemResourcesRequest$NextToken": "

Specifies an opaque string that indicates the position to begin the next list of results in the response.

", + "DescribeStorageSystemResourcesResponse$NextToken": "

The opaque string that indicates the position to begin the next list of results in the response.

", + "ListDiscoveryJobsRequest$NextToken": "

Specifies an opaque string that indicates the position to begin the next list of results in the response.

", + "ListDiscoveryJobsResponse$NextToken": "

The opaque string that indicates the position to begin the next list of results in the response.

", + "ListStorageSystemsRequest$NextToken": "

Specifies an opaque string that indicates the position to begin the next list of results in the response.

", + "ListStorageSystemsResponse$NextToken": "

The opaque string that indicates the position to begin the next list of results in the response.

" + } + }, + "DiscoveryResourceFilter": { + "base": null, + "refs": { + "ResourceFilters$key": null + } + }, + "DiscoveryResourceType": { + "base": null, + "refs": { + "DescribeStorageSystemResourceMetricsRequest$ResourceType": "

Specifies the kind of storage system resource that you want information about.

", + "DescribeStorageSystemResourcesRequest$ResourceType": "

Specifies what kind of storage system resources that you want information about.

", + "GenerateRecommendationsRequest$ResourceType": "

Specifies the type of resource in your storage system that you want recommendations on.

", + "ResourceMetrics$ResourceType": "

The type of on-premises storage system resource.

" + } + }, + "DiscoveryServerConfiguration": { + "base": "

The network settings that DataSync Discovery uses to connect with your on-premises storage system's management interface.

", + "refs": { + "AddStorageSystemRequest$ServerConfiguration": "

Specifies the server name and network port required to connect with the management interface of your on-premises storage system.

", + "DescribeStorageSystemResponse$ServerConfiguration": "

The server name and network port required to connect with your on-premises storage system's management interface.

", + "UpdateStorageSystemRequest$ServerConfiguration": "

Specifies the server name and network port required to connect with your on-premises storage system's management interface.

" + } + }, + "DiscoveryServerHostname": { + "base": null, + "refs": { + "DiscoveryServerConfiguration$ServerHostname": "

The domain name or IP address of your storage system's management interface.

" + } + }, + "DiscoveryServerPort": { + "base": null, + "refs": { + "DiscoveryServerConfiguration$ServerPort": "

The network port for accessing the storage system's management interface.

" + } + }, + "DiscoverySystemType": { + "base": null, + "refs": { + "AddStorageSystemRequest$SystemType": "

Specifies the type of on-premises storage system that you want DataSync Discovery to collect information about.

DataSync Discovery currently supports NetApp Fabric-Attached Storage (FAS) and All Flash FAS (AFF) systems running ONTAP 9.7 or later.

", + "DescribeStorageSystemResponse$SystemType": "

The type of on-premises storage system.

DataSync Discovery currently only supports NetApp Fabric-Attached Storage (FAS) and All Flash FAS (AFF) systems running ONTAP 9.7 or later.

" + } + }, + "DiscoveryTime": { + "base": null, + "refs": { + "DescribeDiscoveryJobResponse$JobStartTime": "

The time when the discovery job started.

", + "DescribeDiscoveryJobResponse$JobEndTime": "

The time when the discovery job ended.

", + "DescribeStorageSystemResourceMetricsRequest$StartTime": "

Specifies a time within the total duration that the discovery job ran. To see information gathered during a certain time frame, use this parameter with EndTime.

", + "DescribeStorageSystemResourceMetricsRequest$EndTime": "

Specifies a time within the total duration that the discovery job ran. To see information gathered during a certain time frame, use this parameter with StartTime.

" + } + }, "Duration": { "base": null, "refs": { @@ -480,6 +679,12 @@ "CreateLocationEfsRequest$Subdirectory": "

Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location). By default, DataSync uses the root directory, but you can also include subdirectories.

You must specify a value with forward slashes (for example, /path/to/folder).

" } }, + "EnabledProtocols": { + "base": null, + "refs": { + "NetAppONTAPSVM$EnabledProtocols": "

The data transfer protocols (such as NFS) configured for the SVM.

" + } + }, "Endpoint": { "base": null, "refs": { @@ -492,6 +697,12 @@ "DescribeAgentResponse$EndpointType": "

The type of endpoint that your agent is connected to. If the endpoint is a VPC endpoint, the agent is not accessible over the public internet.

" } }, + "ErrorMessage": { + "base": null, + "refs": { + "DescribeStorageSystemResponse$ErrorMessage": "

Describes the connectivity error that the DataSync agent is encountering with your on-premises storage system.

" + } + }, "FilterAttributeValue": { "base": null, "refs": { @@ -513,6 +724,12 @@ "UpdateTaskRequest$Includes": "

Specifies a list of filter rules that include specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

" } }, + "FilterMembers": { + "base": null, + "refs": { + "ResourceFilters$value": null + } + }, "FilterRule": { "base": "

Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

", "refs": { @@ -592,6 +809,16 @@ "CreateLocationFsxWindowsRequest$Subdirectory": "

Specifies a mount path for your file system using forward slashes. This is where DataSync reads or writes data (depending on if this is a source or destination location).

" } }, + "GenerateRecommendationsRequest": { + "base": null, + "refs": { + } + }, + "GenerateRecommendationsResponse": { + "base": null, + "refs": { + } + }, "Gid": { "base": null, "refs": { @@ -675,6 +902,12 @@ "UpdateLocationHdfsRequest$SimpleUser": "

The user name used to identify the client on the host operating system.

" } }, + "IOPS": { + "base": "

The IOPS peaks for an on-premises storage system resource. Each data point represents the 95th percentile peak value during a 1-hour interval.

", + "refs": { + "P95Metrics$IOPS": "

The IOPS peaks for an on-premises storage system resource. Each data point represents the 95th percentile peak value during a 1-hour interval.

" + } + }, "IamRoleArn": { "base": null, "refs": { @@ -686,6 +919,7 @@ "InputTagList": { "base": null, "refs": { + "AddStorageSystemRequest$Tags": "

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your on-premises storage system.

", "CreateAgentRequest$Tags": "

The key-value pair that represents the tag that you want to associate with the agent. The value can be an empty string. This value helps you manage, filter, and search for your agents.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @.

", "CreateLocationEfsRequest$Tags": "

Specifies the key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

", "CreateLocationFsxLustreRequest$Tags": "

The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

", @@ -698,6 +932,7 @@ "CreateLocationS3Request$Tags": "

The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.

", "CreateLocationSmbRequest$Tags": "

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your location.

", "CreateTaskRequest$Tags": "

Specifies the tags that you want to apply to the Amazon Resource Name (ARN) representing the task.

Tags are key-value pairs that help you manage, filter, and search for your DataSync resources.

", + "StartDiscoveryJobRequest$Tags": "

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources.

", "StartTaskExecutionRequest$Tags": "

Specifies the tags that you want to apply to the Amazon Resource Name (ARN) representing the task execution.

Tags are key-value pairs that help you manage, filter, and search for your DataSync resources.

", "TagResourceRequest$Tags": "

Specifies the tags that you want to apply to the resource.

" } @@ -742,6 +977,12 @@ "UpdateLocationHdfsRequest$KmsKeyProviderUri": "

The URI of the HDFS cluster's Key Management Server (KMS).

" } }, + "Latency": { + "base": "

The latency peaks for an on-premises storage system resource. Each data point represents the 95th percentile peak value during a 1-hour interval.

", + "refs": { + "P95Metrics$Latency": "

The latency peaks for an on-premises storage system resource. Each data point represents the 95th percentile peak value during a 1-hour interval.

" + } + }, "ListAgentsRequest": { "base": "

ListAgentsRequest

", "refs": { @@ -752,6 +993,16 @@ "refs": { } }, + "ListDiscoveryJobsRequest": { + "base": null, + "refs": { + } + }, + "ListDiscoveryJobsResponse": { + "base": null, + "refs": { + } + }, "ListLocationsRequest": { "base": "

ListLocationsRequest

", "refs": { @@ -762,6 +1013,16 @@ "refs": { } }, + "ListStorageSystemsRequest": { + "base": null, + "refs": { + } + }, + "ListStorageSystemsResponse": { + "base": null, + "refs": { + } + }, "ListTagsForResourceRequest": { "base": "

ListTagsForResourceRequest

", "refs": { @@ -886,8 +1147,11 @@ "LogGroupArn": { "base": null, "refs": { + "AddStorageSystemRequest$CloudWatchLogGroupArn": "

Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging discovery job events.

", "CreateTaskRequest$CloudWatchLogGroupArn": "

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to monitor and log events in the task.

", + "DescribeStorageSystemResponse$CloudWatchLogGroupArn": "

The ARN of the Amazon CloudWatch log group that's used to monitor and log discovery job events.

", "DescribeTaskResponse$CloudWatchLogGroupArn": "

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was used to monitor and log events in the task.

For more information on these groups, see Working with Log Groups and Log Streams in the Amazon CloudWatch User Guide.

", + "UpdateStorageSystemRequest$CloudWatchLogGroupArn": "

Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging discovery job events.

", "UpdateTaskRequest$CloudWatchLogGroupArn": "

The Amazon Resource Name (ARN) of the resource name of the Amazon CloudWatch log group.

" } }, @@ -897,6 +1161,14 @@ "Options$LogLevel": "

Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see CloudWatchLogGroupArn.

If you set LogLevel to OFF, no logs are published. BASIC publishes logs on errors for individual files transferred. TRANSFER publishes logs for every file or object that is transferred and integrity checked.

" } }, + "MaxP95Performance": { + "base": "

The performance data that DataSync Discovery collects about an on-premises storage system resource.

", + "refs": { + "NetAppONTAPCluster$MaxP95Performance": "

The performance data that DataSync Discovery collects about the cluster.

", + "NetAppONTAPSVM$MaxP95Performance": "

The performance data that DataSync Discovery collects about the SVM.

", + "NetAppONTAPVolume$MaxP95Performance": "

The performance data that DataSync Discovery collects about the volume.

" + } + }, "MaxResults": { "base": null, "refs": { @@ -907,12 +1179,63 @@ "ListTasksRequest$MaxResults": "

The maximum number of tasks to return.

" } }, + "Metrics": { + "base": null, + "refs": { + "DescribeStorageSystemResourceMetricsResponse$Metrics": "

The details that your discovery job collected about your storage system resource.

" + } + }, "Mtime": { "base": null, "refs": { "Options$Mtime": "

Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING phase of your task execution. This option is required when you need to run the a task more than once.

Default Value: PRESERVE

PRESERVE: Preserve original Mtime (recommended)

NONE: Ignore Mtime.

If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.

If Mtime is set to NONE, Atime must also be set to NONE.

" } }, + "Name": { + "base": null, + "refs": { + "AddStorageSystemRequest$Name": "

Specifies a familiar name for your on-premises storage system.

", + "DescribeStorageSystemResponse$Name": "

The name that you gave your on-premises storage system when adding it to DataSync Discovery.

", + "StorageSystemListEntry$Name": "

The name of an on-premises storage system that you added to DataSync Discovery.

", + "UpdateStorageSystemRequest$Name": "

Specifies a familiar name for your on-premises storage system.

" + } + }, + "NetAppONTAPCluster": { + "base": "

The information that DataSync Discovery collects about an on-premises storage system cluster.

", + "refs": { + "NetAppONTAPClusters$member": null + } + }, + "NetAppONTAPClusters": { + "base": null, + "refs": { + "ResourceDetails$NetAppONTAPClusters": "

The information that DataSync Discovery collects about the cluster in your on-premises storage system.

" + } + }, + "NetAppONTAPSVM": { + "base": "

The information that DataSync Discovery collects about a storage virtual machine (SVM) in your on-premises storage system.

", + "refs": { + "NetAppONTAPSVMs$member": null + } + }, + "NetAppONTAPSVMs": { + "base": null, + "refs": { + "ResourceDetails$NetAppONTAPSVMs": "

The information that DataSync Discovery collects about storage virtual machines (SVMs) in your on-premises storage system.

" + } + }, + "NetAppONTAPVolume": { + "base": "

The information that DataSync Discovery collects about a volume in your on-premises storage system.

", + "refs": { + "NetAppONTAPVolumes$member": null + } + }, + "NetAppONTAPVolumes": { + "base": null, + "refs": { + "ResourceDetails$NetAppONTAPVolumes": "

The information that DataSync Discovery collects about volumes in your on-premises storage system.

" + } + }, "NetworkInterfaceArn": { "base": null, "refs": { @@ -957,6 +1280,57 @@ "NfsMountOptions$Version": "

Specifies the NFS version that you want DataSync to use when mounting your NFS share. If the server refuses to use the version specified, the task fails.

You can specify the following options:

DataSync currently only supports NFS version 3 with Amazon FSx for NetApp ONTAP locations.

" } }, + "NonNegativeDouble": { + "base": null, + "refs": { + "IOPS$Read": "

Peak IOPS related to read operations.

", + "IOPS$Write": "

Peak IOPS related to write operations.

", + "IOPS$Other": "

Peak IOPS unrelated to read and write operations.

", + "IOPS$Total": "

Peak total IOPS on your on-premises storage system resource.

", + "Latency$Read": "

Peak latency for read operations.

", + "Latency$Write": "

Peak latency for write operations.

", + "Latency$Other": "

Peak latency for operations unrelated to read and write operations.

", + "MaxP95Performance$IopsRead": "

Peak IOPS related to read operations.

", + "MaxP95Performance$IopsWrite": "

Peak IOPS related to write operations.

", + "MaxP95Performance$IopsOther": "

Peak IOPS unrelated to read and write operations.

", + "MaxP95Performance$IopsTotal": "

Peak total IOPS on your on-premises storage system resource.

", + "MaxP95Performance$ThroughputRead": "

Peak throughput related to read operations.

", + "MaxP95Performance$ThroughputWrite": "

Peak throughput related to write operations.

", + "MaxP95Performance$ThroughputOther": "

Peak throughput unrelated to read and write operations.

", + "MaxP95Performance$ThroughputTotal": "

Peak total throughput on your on-premises storage system resource.

", + "MaxP95Performance$LatencyRead": "

Peak latency for read operations.

", + "MaxP95Performance$LatencyWrite": "

Peak latency for write operations.

", + "MaxP95Performance$LatencyOther": "

Peak latency for operations unrelated to read and write operations.

", + "Throughput$Read": "

Peak throughput related to read operations.

", + "Throughput$Write": "

Peak throughput related to write operations.

", + "Throughput$Other": "

Peak throughput unrelated to read and write operations.

", + "Throughput$Total": "

Peak total throughput on your on-premises storage system resource.

" + } + }, + "NonNegativeLong": { + "base": null, + "refs": { + "Capacity$Used": "

The amount of space that's being used in a storage system resource.

", + "Capacity$Provisioned": "

The total amount of space available in a storage system resource.

", + "Capacity$LogicalUsed": "

The amount of space that's being used in a storage system resource without accounting for compression or deduplication.

", + "NetAppONTAPCluster$CifsShareCount": "

The number of CIFS shares in the cluster.

", + "NetAppONTAPCluster$NfsExportedVolumes": "

The number of NFS volumes in the cluster.

", + "NetAppONTAPCluster$ClusterBlockStorageSize": "

The total storage space that's available in the cluster.

", + "NetAppONTAPCluster$ClusterBlockStorageUsed": "

The storage space that's being used in a cluster.

", + "NetAppONTAPCluster$ClusterBlockStorageLogicalUsed": "

The storage space that's being used in the cluster without accounting for compression or deduplication.

", + "NetAppONTAPSVM$CifsShareCount": "

The number of CIFS shares in the SVM.

", + "NetAppONTAPSVM$TotalCapacityUsed": "

The storage space that's being used in the SVM.

", + "NetAppONTAPSVM$TotalCapacityProvisioned": "

The total storage space that's available in the SVM.

", + "NetAppONTAPSVM$TotalLogicalCapacityUsed": "

The storage space that's being used in the SVM without accounting for compression or deduplication.

", + "NetAppONTAPSVM$NfsExportedVolumes": "

The number of NFS volumes in the SVM.

", + "NetAppONTAPSVM$TotalSnapshotCapacityUsed": "

The amount of storage in the SVM that's being used for snapshots.

", + "NetAppONTAPVolume$CifsShareCount": "

The number of CIFS shares in the volume.

", + "NetAppONTAPVolume$CapacityUsed": "

The storage space that's being used in the volume.

", + "NetAppONTAPVolume$CapacityProvisioned": "

The total storage space that's available in the volume.

", + "NetAppONTAPVolume$LogicalCapacityUsed": "

The storage space that's being used in the volume without accounting for compression or deduplication.

", + "NetAppONTAPVolume$SnapshotCapacityUsed": "

The amount of storage in the volume that's being used for snapshots.

" + } + }, "ObjectStorageAccessKey": { "base": null, "refs": { @@ -1046,6 +1420,12 @@ "Options$OverwriteMode": "

Specifies whether data at the destination location should be overwritten or preserved. If set to NEVER, a destination file for example will not be replaced by a source file (even if the destination file differs from the source file). If you modify files in the destination and you sync the files, you can use this value to protect against overwriting those changes.

Some storage classes have specific behaviors that can affect your Amazon S3 storage cost. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync.

" } }, + "P95Metrics": { + "base": "

The types of performance data that DataSync Discovery collects about an on-premises storage system resource.

", + "refs": { + "ResourceMetrics$P95Metrics": "

The types of performance data that DataSync Discovery collects about the on-premises storage system resource.

" + } + }, "PLSecurityGroupArnList": { "base": null, "refs": { @@ -1092,6 +1472,52 @@ "DescribeAgentResponse$PrivateLinkConfig": "

The subnet and the security group that DataSync used to access a VPC endpoint.

" } }, + "PtolemyBoolean": { + "base": null, + "refs": { + "NetAppONTAPVolume$NfsExported": "

The number of NFS volumes in the volume.

" + } + }, + "PtolemyPassword": { + "base": null, + "refs": { + "Credentials$Password": "

Specifies the password for your storage system's management interface.

" + } + }, + "PtolemyString": { + "base": null, + "refs": { + "EnabledProtocols$member": null, + "FilterMembers$member": null, + "NetAppONTAPCluster$ClusterName": "

The name of the cluster.

", + "NetAppONTAPSVM$SvmName": "

The name of the SVM

", + "NetAppONTAPVolume$VolumeName": "

The name of the volume.

", + "NetAppONTAPVolume$SecurityStyle": "

The volume's security style (such as Unix or NTFS).

", + "NetAppONTAPVolume$SvmName": "

The name of the SVM associated with the volume.

", + "Recommendation$StorageType": "

A recommended Amazon Web Services storage service that you can migrate data to based on information that DataSync Discovery collects about your on-premises storage system.

", + "Recommendation$EstimatedMonthlyStorageCost": "

The estimated monthly cost of the recommended Amazon Web Services storage service.

", + "RecommendationsConfigMap$key": null, + "RecommendationsConfigMap$value": null + } + }, + "PtolemyUUID": { + "base": null, + "refs": { + "AddStorageSystemRequest$ClientToken": "

Specifies a client token to make sure requests with this API operation are idempotent. If you don't specify a client token, DataSync generates one for you automatically.

", + "NetAppONTAPCluster$ResourceId": "

The universally unique identifier (UUID) of the cluster.

", + "NetAppONTAPSVM$ClusterUuid": "

The universally unique identifier (UUID) of the cluster associated with the SVM.

", + "NetAppONTAPSVM$ResourceId": "

The UUID of the SVM.

", + "NetAppONTAPVolume$ResourceId": "

The universally unique identifier (UUID) of the volume.

", + "NetAppONTAPVolume$SvmUuid": "

The UUID of the storage virtual machine (SVM) associated with the volume.

", + "StartDiscoveryJobRequest$ClientToken": "

Specifies a client token to make sure requests with this API operation are idempotent. If you don't specify a client token, DataSync generates one for you automatically.

" + } + }, + "PtolemyUsername": { + "base": null, + "refs": { + "Credentials$Username": "

Specifies the user name for your storage system's management interface.

" + } + }, "QopConfiguration": { "base": "

The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer privacy settings configured on the Hadoop Distributed File System (HDFS) cluster.

", "refs": { @@ -1100,6 +1526,77 @@ "UpdateLocationHdfsRequest$QopConfiguration": "

The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer privacy settings configured on the Hadoop Distributed File System (HDFS) cluster.

" } }, + "Recommendation": { + "base": "

The details about an Amazon Web Services storage service that DataSync Discovery recommends for a resource in your on-premises storage system.

For more information, see Recommendations provided by DataSync Discovery.

", + "refs": { + "Recommendations$member": null + } + }, + "RecommendationStatus": { + "base": null, + "refs": { + "NetAppONTAPCluster$RecommendationStatus": "

Indicates whether DataSync Discovery recommendations for the cluster are ready to view, incomplete, or can't be determined.

For more information, see Recommendation statuses.

", + "NetAppONTAPSVM$RecommendationStatus": "

Indicates whether DataSync Discovery recommendations for the SVM are ready to view, incomplete, or can't be determined.

For more information, see Recommendation statuses.

", + "NetAppONTAPVolume$RecommendationStatus": "

Indicates whether DataSync Discovery recommendations for the volume are ready to view, incomplete, or can't be determined.

For more information, see Recommendation statuses.

" + } + }, + "Recommendations": { + "base": null, + "refs": { + "NetAppONTAPCluster$Recommendations": "

The Amazon Web Services storage services that DataSync Discovery recommends for the cluster. For more information, see Recommendations provided by DataSync Discovery.

", + "NetAppONTAPSVM$Recommendations": "

The Amazon Web Services storage services that DataSync Discovery recommends for the SVM. For more information, see Recommendations provided by DataSync Discovery.

", + "NetAppONTAPVolume$Recommendations": "

The Amazon Web Services storage services that DataSync Discovery recommends for the volume. For more information, see Recommendations provided by DataSync Discovery.

" + } + }, + "RecommendationsConfigMap": { + "base": null, + "refs": { + "Recommendation$StorageConfiguration": "

Information about how you can set up a recommended Amazon Web Services storage service.

" + } + }, + "RemoveStorageSystemRequest": { + "base": null, + "refs": { + } + }, + "RemoveStorageSystemResponse": { + "base": null, + "refs": { + } + }, + "ResourceDetails": { + "base": "

Information provided by DataSync Discovery about the resources in your on-premises storage system.

", + "refs": { + "DescribeStorageSystemResourcesResponse$ResourceDetails": "

The information collected about your storage system's resources. A response can also include Amazon Web Services storage service recommendations.

For more information, see storage resource information collected by and recommendations provided by DataSync Discovery.

" + } + }, + "ResourceFilters": { + "base": null, + "refs": { + "DescribeStorageSystemResourcesRequest$Filter": "

Filters the storage system resources that you want returned. For example, this might be volumes associated with a specific storage virtual machine (SVM).

" + } + }, + "ResourceId": { + "base": null, + "refs": { + "DescribeStorageSystemResourceMetricsRequest$ResourceId": "

Specifies the universally unique identifier (UUID) of the storage system resource that you want information about.

", + "ResourceIds$member": null, + "ResourceMetrics$ResourceId": "

The universally unique identifier (UUID) of the on-premises storage system resource.

" + } + }, + "ResourceIds": { + "base": null, + "refs": { + "DescribeStorageSystemResourcesRequest$ResourceIds": "

Specifies the universally unique identifiers (UUIDs) of the storage system resources that you want information about. You can't use this parameter in combination with the Filter parameter.

", + "GenerateRecommendationsRequest$ResourceIds": "

Specifies the universally unique identifiers (UUIDs) of the resources in your storage system that you want recommendations on.

" + } + }, + "ResourceMetrics": { + "base": "

Information, including performance data and capacity usage, provided by DataSync Discovery about a resource in your on-premises storage system.

", + "refs": { + "Metrics$member": null + } + }, "S3BucketArn": { "base": null, "refs": { @@ -1134,6 +1631,12 @@ "TaskSchedule$ScheduleExpression": "

A cron expression that specifies when DataSync initiates a scheduled transfer from a source to a destination location.

" } }, + "SecretsManagerArn": { + "base": null, + "refs": { + "DescribeStorageSystemResponse$SecretsManagerArn": "

The ARN of the secret that stores your on-premises storage system's credentials. DataSync Discovery stores these credentials in Secrets Manager.

" + } + }, "ServerHostname": { "base": null, "refs": { @@ -1198,7 +1701,7 @@ "SmbVersion": { "base": null, "refs": { - "SmbMountOptions$Version": "

By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.

These are the following options for configuring the SMB version:

" + "SmbMountOptions$Version": "

By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.

These are the following options for configuring the SMB version:

" } }, "SourceNetworkInterfaceArns": { @@ -1207,6 +1710,16 @@ "DescribeTaskResponse$SourceNetworkInterfaceArns": "

The Amazon Resource Names (ARNs) of the network interfaces created for your source location. For more information, see Network interface requirements.

" } }, + "StartDiscoveryJobRequest": { + "base": null, + "refs": { + } + }, + "StartDiscoveryJobResponse": { + "base": null, + "refs": { + } + }, "StartTaskExecutionRequest": { "base": "

StartTaskExecutionRequest

", "refs": { @@ -1217,6 +1730,48 @@ "refs": { } }, + "StopDiscoveryJobRequest": { + "base": null, + "refs": { + } + }, + "StopDiscoveryJobResponse": { + "base": null, + "refs": { + } + }, + "StorageSystemArn": { + "base": null, + "refs": { + "AddStorageSystemResponse$StorageSystemArn": "

The ARN of the on-premises storage system that you can use with DataSync Discovery.

", + "DescribeDiscoveryJobResponse$StorageSystemArn": "

The ARN of the on-premises storage system you're running the discovery job on.

", + "DescribeStorageSystemRequest$StorageSystemArn": "

Specifies the Amazon Resource Name (ARN) of an on-premises storage system that you're using with DataSync Discovery.

", + "DescribeStorageSystemResponse$StorageSystemArn": "

The ARN of the on-premises storage system that the discovery job looked at.

", + "ListDiscoveryJobsRequest$StorageSystemArn": "

Specifies the Amazon Resource Name (ARN) of an on-premises storage system. Use this parameter if you only want to list the discovery jobs that are associated with a specific storage system.

", + "RemoveStorageSystemRequest$StorageSystemArn": "

Specifies the Amazon Resource Name (ARN) of the storage system that you want to permanently remove from DataSync Discovery.

", + "StartDiscoveryJobRequest$StorageSystemArn": "

Specifies the Amazon Resource Name (ARN) of the on-premises storage system that you want to run the discovery job on.

", + "StorageSystemListEntry$StorageSystemArn": "

The Amazon Resource Names (ARN) of an on-premises storage system that you added to DataSync Discovery.

", + "UpdateStorageSystemRequest$StorageSystemArn": "

Specifies the ARN of the on-premises storage system that you want reconfigure.

" + } + }, + "StorageSystemConnectivityStatus": { + "base": null, + "refs": { + "DescribeStorageSystemResponse$ConnectivityStatus": "

Indicates whether your DataSync agent can connect to your on-premises storage system.

" + } + }, + "StorageSystemList": { + "base": null, + "refs": { + "ListStorageSystemsResponse$StorageSystems": "

The Amazon Resource Names ARNs) of the on-premises storage systems that you're using with DataSync Discovery.

" + } + }, + "StorageSystemListEntry": { + "base": "

Information that identifies an on-premises storage system that you're using with DataSync Discovery.

", + "refs": { + "StorageSystemList$member": null + } + }, "StorageVirtualMachineArn": { "base": null, "refs": { @@ -1298,7 +1853,7 @@ "DescribeTaskResponse$CurrentTaskExecutionArn": "

The Amazon Resource Name (ARN) of the task execution that is transferring files.

", "StartTaskExecutionResponse$TaskExecutionArn": "

The ARN of the running task execution.

", "TaskExecutionListEntry$TaskExecutionArn": "

The Amazon Resource Name (ARN) of the task that was executed.

", - "UpdateTaskExecutionRequest$TaskExecutionArn": "

The Amazon Resource Name (ARN) of the specific task execution that is being updated.

" + "UpdateTaskExecutionRequest$TaskExecutionArn": "

Specifies the Amazon Resource Name (ARN) of the task execution that you're updating.

" } }, "TaskExecutionList": { @@ -1377,6 +1932,12 @@ "TaskListEntry$Status": "

The status of the task.

" } }, + "Throughput": { + "base": "

The throughput peaks for an on-premises storage system volume. Each data point represents the 95th percentile peak value during a 1-hour interval.

", + "refs": { + "P95Metrics$Throughput": "

The throughput peaks for an on-premises storage system resource. Each data point represents the 95th percentile peak value during a 1-hour interval.

" + } + }, "Time": { "base": null, "refs": { @@ -1396,6 +1957,13 @@ "DescribeTaskResponse$CreationTime": "

The time that the task was created.

" } }, + "Timestamp": { + "base": null, + "refs": { + "DescribeStorageSystemResponse$CreationTime": "

The time when you added the on-premises storage system to DataSync Discovery.

", + "ResourceMetrics$Timestamp": "

The time when DataSync Discovery collected this information from the resource.

" + } + }, "TransferMode": { "base": null, "refs": { @@ -1428,6 +1996,16 @@ "refs": { } }, + "UpdateDiscoveryJobRequest": { + "base": null, + "refs": { + } + }, + "UpdateDiscoveryJobResponse": { + "base": null, + "refs": { + } + }, "UpdateLocationHdfsRequest": { "base": null, "refs": { @@ -1468,6 +2046,16 @@ "refs": { } }, + "UpdateStorageSystemRequest": { + "base": null, + "refs": { + } + }, + "UpdateStorageSystemResponse": { + "base": null, + "refs": { + } + }, "UpdateTaskExecutionRequest": { "base": null, "refs": { diff --git a/models/apis/datasync/2018-11-09/endpoint-tests-1.json b/models/apis/datasync/2018-11-09/endpoint-tests-1.json index cd873b96aa5..0ab4e6c9085 100644 --- a/models/apis/datasync/2018-11-09/endpoint-tests-1.json +++ b/models/apis/datasync/2018-11-09/endpoint-tests-1.json @@ -507,6 +507,17 @@ "UseDualStack": true } }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -520,6 +531,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -533,6 +555,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -546,6 +579,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -609,6 +653,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/datasync/2018-11-09/paginators-1.json b/models/apis/datasync/2018-11-09/paginators-1.json index 53de34f21c8..a6e75974321 100644 --- a/models/apis/datasync/2018-11-09/paginators-1.json +++ b/models/apis/datasync/2018-11-09/paginators-1.json @@ -1,17 +1,40 @@ { "pagination": { + "DescribeStorageSystemResourceMetrics": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Metrics" + }, + "DescribeStorageSystemResources": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListAgents": { "input_token": "NextToken", "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "Agents" }, + "ListDiscoveryJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "DiscoveryJobs" + }, "ListLocations": { "input_token": "NextToken", "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "Locations" }, + "ListStorageSystems": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "StorageSystems" + }, "ListTagsForResource": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/ds/2015-04-16/api-2.json b/models/apis/ds/2015-04-16/api-2.json index c0cf78b0c14..0a6bc467f32 100644 --- a/models/apis/ds/2015-04-16/api-2.json +++ b/models/apis/ds/2015-04-16/api-2.json @@ -1970,6 +1970,7 @@ "exception":true }, "DirectoryConfigurationSettingAllowedValues":{"type":"string"}, + "DirectoryConfigurationSettingDataType":{"type":"string"}, "DirectoryConfigurationSettingLastRequestedDateTime":{"type":"timestamp"}, "DirectoryConfigurationSettingLastUpdatedDateTime":{"type":"timestamp"}, "DirectoryConfigurationSettingName":{ @@ -1989,7 +1990,7 @@ "type":"string", "max":255, "min":1, - "pattern":"^[a-zA-Z0-9]*$" + "pattern":"^[a-zA-Z0-9_]*$" }, "DirectoryConfigurationStatus":{ "type":"string", @@ -2900,6 +2901,7 @@ }, "RemoteDomainName":{ "type":"string", + "max":1024, "pattern":"^([a-zA-Z0-9]+[\\\\.-])+([a-zA-Z0-9])+[.]?$" }, "RemoteDomainNames":{ @@ -3089,7 +3091,8 @@ "RequestDetailedStatus":{"shape":"DirectoryConfigurationSettingRequestDetailedStatus"}, "RequestStatusMessage":{"shape":"DirectoryConfigurationSettingRequestStatusMessage"}, "LastUpdatedDateTime":{"shape":"DirectoryConfigurationSettingLastUpdatedDateTime"}, - "LastRequestedDateTime":{"shape":"DirectoryConfigurationSettingLastRequestedDateTime"} + "LastRequestedDateTime":{"shape":"DirectoryConfigurationSettingLastRequestedDateTime"}, + "DataType":{"shape":"DirectoryConfigurationSettingDataType"} } }, "Settings":{ diff --git a/models/apis/ds/2015-04-16/docs-2.json b/models/apis/ds/2015-04-16/docs-2.json index 88c518430fd..21a1e2f483d 100644 --- a/models/apis/ds/2015-04-16/docs-2.json +++ b/models/apis/ds/2015-04-16/docs-2.json @@ -760,7 +760,13 @@ "DirectoryConfigurationSettingAllowedValues": { "base": null, "refs": { - "SettingEntry$AllowedValues": "

The valid range of values for the directory setting.

" + "SettingEntry$AllowedValues": "

The valid range of values for the directory setting. These values depend on the DataType of your directory.

" + } + }, + "DirectoryConfigurationSettingDataType": { + "base": null, + "refs": { + "SettingEntry$DataType": "

The data type of a directory setting. This is used to define the AllowedValues of a setting. For example a data type can be Boolean, DurationInSeconds, or Enum.

" } }, "DirectoryConfigurationSettingLastRequestedDateTime": { @@ -797,7 +803,7 @@ "DirectoryConfigurationSettingType": { "base": null, "refs": { - "SettingEntry$Type": "

The type of directory setting. For example, Protocol or Cipher.

" + "SettingEntry$Type": "

The type, or category, of a directory setting. Similar settings have the same type. For example, Protocol, Cipher, or Certificate-Based Authentication.

" } }, "DirectoryConfigurationSettingValue": { diff --git a/models/apis/ds/2015-04-16/endpoint-rule-set-1.json b/models/apis/ds/2015-04-16/endpoint-rule-set-1.json new file mode 100644 index 00000000000..6775abd6efb --- /dev/null +++ b/models/apis/ds/2015-04-16/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ds-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ds-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ds.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ds.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/ds/2015-04-16/endpoint-tests-1.json b/models/apis/ds/2015-04-16/endpoint-tests-1.json new file mode 100644 index 00000000000..dc7198f6840 --- /dev/null +++ b/models/apis/ds/2015-04-16/endpoint-tests-1.json @@ -0,0 +1,665 @@ +{ + "testCases": [ + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.af-south-1.amazonaws.com" + } + }, + "params": { + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.ap-east-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.eu-north-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.eu-south-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.eu-west-3.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.me-south-1.amazonaws.com" + } + }, + "params": { + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.sa-east-1.amazonaws.com" + } + }, + "params": { + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ds.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ds.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ds.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ds-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/pinpoint/2016-12-01/api-2.json b/models/apis/pinpoint/2016-12-01/api-2.json index de34a3fe1fb..e18abb0df35 100644 --- a/models/apis/pinpoint/2016-12-01/api-2.json +++ b/models/apis/pinpoint/2016-12-01/api-2.json @@ -2460,6 +2460,117 @@ } ] }, + "GetJourneyRunExecutionActivityMetrics": { + "name": "GetJourneyRunExecutionActivityMetrics", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/journeys/{journey-id}/runs/{run-id}/activities/{journey-activity-id}/execution-metrics", + "responseCode": 200 + }, + "input": { + "shape": "GetJourneyRunExecutionActivityMetricsRequest" + }, + "output": { + "shape": "GetJourneyRunExecutionActivityMetricsResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "PayloadTooLargeException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "MethodNotAllowedException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "GetJourneyRunExecutionMetrics": { + "name": "GetJourneyRunExecutionMetrics", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/journeys/{journey-id}/runs/{run-id}/execution-metrics", + "responseCode": 200 + }, + "input": { + "shape": "GetJourneyRunExecutionMetricsRequest" + }, + "output": { + "shape": "GetJourneyRunExecutionMetricsResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "PayloadTooLargeException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "MethodNotAllowedException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "GetJourneyRuns": { + "name": "GetJourneyRuns", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/journeys/{journey-id}/runs", + "responseCode": 200 + }, + "input": { + "shape": "GetJourneyRunsRequest" + }, + "output": { + "shape": "GetJourneyRunsResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "PayloadTooLargeException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "MethodNotAllowedException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "GetPushTemplate": { "name": "GetPushTemplate", "http": { @@ -4898,6 +5009,9 @@ }, "TreatmentId": { "shape": "__string" + }, + "ExecutionMetrics": { + "shape": "MapOf__string" } }, "required": [ @@ -8825,6 +8939,147 @@ ], "payload": "JourneyResponse" }, + "GetJourneyRunExecutionActivityMetricsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id" + }, + "JourneyActivityId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-activity-id" + }, + "JourneyId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-id" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "next-token" + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size" + }, + "RunId": { + "shape": "__string", + "location": "uri", + "locationName": "run-id" + } + }, + "required": [ + "RunId", + "JourneyActivityId", + "JourneyId", + "ApplicationId" + ] + }, + "GetJourneyRunExecutionActivityMetricsResponse": { + "type": "structure", + "members": { + "JourneyRunExecutionActivityMetricsResponse": { + "shape": "JourneyRunExecutionActivityMetricsResponse" + } + }, + "required": [ + "JourneyRunExecutionActivityMetricsResponse" + ], + "payload": "JourneyRunExecutionActivityMetricsResponse" + }, + "GetJourneyRunExecutionMetricsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id" + }, + "JourneyId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-id" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "next-token" + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size" + }, + "RunId": { + "shape": "__string", + "location": "uri", + "locationName": "run-id" + } + }, + "required": [ + "RunId", + "ApplicationId", + "JourneyId" + ] + }, + "GetJourneyRunExecutionMetricsResponse": { + "type": "structure", + "members": { + "JourneyRunExecutionMetricsResponse": { + "shape": "JourneyRunExecutionMetricsResponse" + } + }, + "required": [ + "JourneyRunExecutionMetricsResponse" + ], + "payload": "JourneyRunExecutionMetricsResponse" + }, + "GetJourneyRunsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id" + }, + "JourneyId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-id" + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size" + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token" + } + }, + "required": [ + "ApplicationId", + "JourneyId" + ] + }, + "GetJourneyRunsResponse": { + "type": "structure", + "members": { + "JourneyRunsResponse": { + "shape": "JourneyRunsResponse" + } + }, + "required": [ + "JourneyRunsResponse" + ], + "payload": "JourneyRunsResponse" + }, "GetPushTemplateRequest": { "type": "structure", "members": { @@ -9893,6 +10148,114 @@ "ApplicationId" ] }, + "JourneyRunExecutionActivityMetricsResponse": { + "type": "structure", + "members": { + "ActivityType": { + "shape": "__string" + }, + "ApplicationId": { + "shape": "__string" + }, + "JourneyActivityId": { + "shape": "__string" + }, + "JourneyId": { + "shape": "__string" + }, + "LastEvaluatedTime": { + "shape": "__string" + }, + "Metrics": { + "shape": "MapOf__string" + }, + "RunId": { + "shape": "__string" + } + }, + "required": [ + "Metrics", + "JourneyId", + "LastEvaluatedTime", + "JourneyActivityId", + "ActivityType", + "RunId", + "ApplicationId" + ] + }, + "JourneyRunExecutionMetricsResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string" + }, + "JourneyId": { + "shape": "__string" + }, + "LastEvaluatedTime": { + "shape": "__string" + }, + "Metrics": { + "shape": "MapOf__string" + }, + "RunId": { + "shape": "__string" + } + }, + "required": [ + "Metrics", + "JourneyId", + "LastEvaluatedTime", + "RunId", + "ApplicationId" + ] + }, + "JourneyRunResponse": { + "type": "structure", + "members": { + "CreationTime": { + "shape": "__string" + }, + "LastUpdateTime": { + "shape": "__string" + }, + "RunId": { + "shape": "__string" + }, + "Status": { + "shape": "JourneyRunStatus" + } + }, + "required": [ + "Status", + "LastUpdateTime", + "CreationTime", + "RunId" + ] + }, + "JourneyRunsResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfJourneyRunResponse" + }, + "NextToken": { + "shape": "__string" + } + }, + "required": [ + "Item" + ] + }, + "JourneyRunStatus": { + "type": "string", + "enum": [ + "SCHEDULED", + "RUNNING", + "COMPLETED", + "CANCELLED" + ] + }, "JourneySMSMessage": { "type": "structure", "members": { @@ -13189,6 +13552,12 @@ "shape": "JourneyResponse" } }, + "ListOfJourneyRunResponse": { + "type": "list", + "member": { + "shape": "JourneyRunResponse" + } + }, "ListOfMultiConditionalBranch": { "type": "list", "member": { @@ -13523,7 +13892,7 @@ "shape": "__string" } } - }, + }, "ListOfClosedDaysRules": { "type": "list", "member": { @@ -13549,6 +13918,6 @@ "shape": "ListOfClosedDaysRules" } } - } + } } } diff --git a/models/apis/pinpoint/2016-12-01/docs-2.json b/models/apis/pinpoint/2016-12-01/docs-2.json index fdbae11491c..e3d02e3ee18 100644 --- a/models/apis/pinpoint/2016-12-01/docs-2.json +++ b/models/apis/pinpoint/2016-12-01/docs-2.json @@ -69,6 +69,9 @@ "GetJourneyDateRangeKpi" : "

Retrieves (queries) pre-aggregated data for a standard engagement metric that applies to a journey.

", "GetJourneyExecutionActivityMetrics" : "

Retrieves (queries) pre-aggregated data for a standard execution metric that applies to a journey activity.

", "GetJourneyExecutionMetrics" : "

Retrieves (queries) pre-aggregated data for a standard execution metric that applies to a journey.

", + "GetJourneyRunExecutionActivityMetrics" : "

Retrieves (queries) pre-aggregated data for a standard run execution metric that applies to a journey activity.

", + "GetJourneyRunExecutionMetrics" : "

Retrieves (queries) pre-aggregated data for a standard run execution metric that applies to a journey.

", + "GetJourneyRuns" : "

Provides information about the runs of a journey.

", "GetPushTemplate" : "

Retrieves the content and settings of a message template for messages that are sent through a push notification channel.

", "GetRecommenderConfiguration" : "

Retrieves information about an Amazon Pinpoint configuration for a recommender model.

", "GetRecommenderConfigurations" : "

Retrieves information about all the recommender model configurations that are associated with your Amazon Pinpoint account.

", @@ -878,6 +881,30 @@ "ListOfJourneyResponse$member" : null } }, + "JourneyRunExecutionActivityMetricsResponse" : { + "base" : "

Provides the results of a query that retrieved the data for a standard execution metric that applies to a journey activity for a particular journey run, and provides information about that query.

", + "refs" : { } + }, + "JourneyRunExecutionMetricsResponse" : { + "base" : "

Provides the results of a query that retrieved the data for a standard execution metric that applies to a journey run, and provides information about that query.

", + "refs" : { } + }, + "JourneyRunResponse" : { + "base" : "

Provides information from a specified run of a journey.

", + "refs" : { + "ListOfJourneyRunResponse$member" : null + } + }, + "JourneyRunsResponse" : { + "base" : "

Provides information from all runs of a journey.

", + "refs" : { } + }, + "JourneyRunStatus" : { + "base" : null, + "refs" : { + "JourneyRunResponse$Status" : "

The current status of the journey run.

" + } + }, "JourneySMSMessage" : { "base" : "

Specifies the sender ID and message type for an SMS message that's sent to participants in a journey.

", "refs" : { @@ -1495,6 +1522,9 @@ "ImportJobResource$DefineSegment" : "

Specifies whether the import job creates a segment that contains the endpoints, when the endpoint definitions are imported.

", "ImportJobResource$RegisterEndpoints" : "

Specifies whether the import job registers the endpoints with Amazon Pinpoint, when the endpoint definitions are imported.

", "JourneyResponse$LocalTime" : "

Specifies whether the journey's scheduled start and end times use each participant's local time. If this value is true, the schedule uses each participant's local time.

", + "JourneyResponse$RefreshOnSegmentUpdate" : "

Indicates whether the journey participants should be refreshed when a segment is updated.

", + "JourneyResponse$SendingSchedule" : "

Indicates if journey has Advance Quiet Time enabled. This flag should be set to true in order to allow using OpenHours and ClosedDays.

", + "JourneyResponse$WaitForQuietTime" : "

Indicates whether endpoints in quiet hours should enter a wait activity until quiet hours have elapsed.

", "Message$SilentPush" : "

Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.

", "SMSChannelRequest$Enabled" : "

Specifies whether to enable the SMS channel for the application.

", "SMSChannelResponse$Enabled" : "

Specifies whether the SMS channel is enabled for the application.

", @@ -1510,8 +1540,9 @@ "WriteApplicationSettingsRequest$EventTaggingEnabled" : null, "WriteCampaignRequest$IsPaused" : "

Specifies whether to pause the campaign. A paused campaign doesn't run unless you resume it by changing this value to false.

", "WriteJourneyRequest$LocalTime" : "

Specifies whether the journey's scheduled start and end times use each participant's local time. To base the schedule on each participant's local time, set this value to true.

", - "WriteJourneyRequest$SendingSchedule" : "

Indicates if journey have Advance Quiet Time (OpenHours and ClosedDays). This flag should be set to true in order to allow (OpenHours and ClosedDays)

", - "JourneyResponse$SendingSchedule" : "

Indicates if journey have Advance Quiet Time (OpenHours and ClosedDays). This flag should be set to true in order to allow (OpenHours and ClosedDays)

" + "WriteJourneyRequest$RefreshOnSegmentUpdate" : "

Indicates whether the journey participants should be refreshed when a segment is updated.

", + "WriteJourneyRequest$SendingSchedule" : "

Indicates if journey has Advance Quiet Time enabled. This flag should be set to true in order to allow using OpenHours and ClosedDays.

", + "WriteJourneyRequest$WaitForQuietTime" : "

Indicates whether endpoints in quiet hours should enter a wait activity until quiet hours have elapsed.

" } }, "__double" : { @@ -1669,6 +1700,12 @@ "JourneysResponse$Item" : "

An array of responses, one for each journey that's associated with the application.

" } }, + "ListOfJourneyRunResponse" : { + "base" : null, + "refs" : { + "JourneyRunsResponse$Item" : "

An array of responses, one for each run of the journey

" + } + }, "ListOfMultiConditionalBranch" : { "base" : null, "refs" : { @@ -1900,6 +1937,7 @@ "refs" : { "ADMMessage$Data" : "

The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

", "APNSMessage$Data" : "

The JSON payload to use for a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

", + "ActivityResponse$ExecutionMetrics" : "

A JSON object that contains metrics relating to the campaign execution for this campaign activity. For information about the structure and contents of the results, see Standard Amazon Pinpoint analytics metrics in the Amazon Pinpoint Developer Guide.

", "AddressConfiguration$Context" : "

An object that maps custom attributes to attributes for the address and is attached to the message. Attribute names are case sensitive.

For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

", "ApplicationResponse$tags" : "

A string-to-string map of key-value pairs that identifies the tags that are associated with the application. Each tag consists of a required tag key and an associated tag value.

", "BaiduMessage$Data" : "

The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

", @@ -1921,6 +1959,8 @@ "JourneyExecutionActivityMetricsResponse$Metrics" : "

A JSON object that contains the results of the query. The results vary depending on the type of activity (ActivityType). For information about the structure and contents of the results, see the Amazon Pinpoint Developer Guide.

", "JourneyExecutionMetricsResponse$Metrics" : "

A JSON object that contains the results of the query. For information about the structure and contents of the results, see the Amazon Pinpoint Developer Guide.

", "JourneyResponse$tags" : "

This object is not used or supported.

", + "JourneyRunExecutionActivityMetricsResponse$Metrics" : "

A JSON object that contains the results of the query. For information about the structure and contents of the results, see see Standard Amazon Pinpoint analytics metrics in the Amazon Pinpoint Developer Guide.

", + "JourneyRunExecutionMetricsResponse$Metrics" : "

A JSON object that contains the results of the query. For information about the structure and contents of the results, see the Standard Amazon Pinpoint analytics metrics in the Amazon Pinpoint Developer Guide.

", "MessageRequest$Context" : "

A map of custom attributes to attach to the message. For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

", "PushNotificationTemplateRequest$tags" : "

A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

", "PushNotificationTemplateResponse$tags" : "

A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

", @@ -2324,7 +2364,7 @@ "JourneyDateRangeKpiResponse$NextToken" : "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null for the Journey Engagement Metrics resource because the resource returns all results in a single page.

", "JourneyDateRangeKpiResponse$StartTime" : "

The first date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

", "JourneyEmailMessage$FromAddress" : "

The verified email address to send the email message from. The default address is the FromAddress specified for the email channel for the application.

", - "JourneyExecutionActivityMetricsResponse$ActivityType" : "

The type of activity that the metric applies to. Possible values are:

", + "JourneyExecutionActivityMetricsResponse$ActivityType" : "

The type of activity that the metric applies to. Possible values are:

", "JourneyExecutionActivityMetricsResponse$ApplicationId" : "

The unique identifier for the application that the metric applies to.

", "JourneyExecutionActivityMetricsResponse$JourneyActivityId" : "

The unique identifier for the activity that the metric applies to.

", "JourneyExecutionActivityMetricsResponse$JourneyId" : "

The unique identifier for the journey that the metric applies to.

", @@ -2332,7 +2372,8 @@ "JourneyExecutionMetricsResponse$ApplicationId" : "

The unique identifier for the application that the metric applies to.

", "JourneyExecutionMetricsResponse$JourneyId" : "

The unique identifier for the journey that the metric applies to.

", "JourneyExecutionMetricsResponse$LastEvaluatedTime" : "

The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the journey and updated the data for the metric.

", - "JourneyPushMessage$TimeToLive" : "

The number of seconds that the push notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.

", + "JourneyLimits$EndpointReentryInterval" : "

Minimum time that must pass before an endpoint can re-enter a given journey.

", + "JourneyPushMessage$TimeToLive" : "

The number of seconds that the push notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.

", "JourneyResponse$ApplicationId" : "

The unique identifier for the application that the journey applies to.

", "JourneyResponse$CreationDate" : "

The date, in ISO 8601 format, when the journey was created.

", "JourneyResponse$Id" : "

The unique identifier for the journey.

", @@ -2340,6 +2381,20 @@ "JourneyResponse$Name" : "

The name of the journey.

", "JourneyResponse$RefreshFrequency" : "

The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

", "JourneyResponse$StartActivity" : "

The unique identifier for the first activity in the journey.

", + "JourneyRunExecutionActivityMetricsResponse$ActivityType" : "

The type of activity that the metric applies to. Possible values are:

", + "JourneyRunExecutionActivityMetricsResponse$ApplicationId" : "

The unique identifier for the application that the metric applies to.

", + "JourneyRunExecutionActivityMetricsResponse$JourneyActivityId" : "

The unique identifier for the activity that the metric applies to.

", + "JourneyRunExecutionActivityMetricsResponse$JourneyId" : "

The unique identifier for the journey that the metric applies to.

", + "JourneyRunExecutionActivityMetricsResponse$LastEvaluatedTime" : "

The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the execution status of the activity for this journey run and updated the data for the metric.

", + "JourneyRunExecutionActivityMetricsResponse$RunId" : "

The unique identifier for the journey run that the metric applies to.

", + "JourneyRunExecutionMetricsResponse$ApplicationId" : "

The unique identifier for the application that the metric applies to.

", + "JourneyRunExecutionMetricsResponse$JourneyId" : "

The unique identifier for the journey that the metric applies to.

", + "JourneyRunExecutionMetricsResponse$LastEvaluatedTime" : "

The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the journey run and updated the data for the metric.

", + "JourneyRunExecutionMetricsResponse$RunId" : "

The unique identifier for the journey run that the metric applies to.

", + "JourneyRunResponse$CreationTime" : "

The time when the journey run was created or scheduled, in ISO 8601 format.

", + "JourneyRunResponse$LastUpdateTime" : "

The last time the journey run was updated, in ISO 8601 format..

", + "JourneyRunResponse$RunId" : "

The unique identifier for the run.

", + "JourneyRunsResponse$NextToken" : "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

", "JourneySMSMessage$OriginationNumber" : "

The long code to send the SMS message from. This value should be one of the dedicated long codes that's assigned to your AWS account. Although it isn't required, we recommend that you specify the long code using an E.164 format to ensure prompt and accurate delivery of the message. For example, +12065550100.

", "JourneySMSMessage$SenderId" : "

The sender ID to display as the sender of the message on a recipient's device. Support for sender IDs varies by country or region. For more information, see Supported Countries and Regions in the Amazon Pinpoint User Guide.

", "JourneySMSMessage$EntityId" : "

The entity ID or Principal Entity (PE) id received from the regulatory body for sending SMS in your country.

", @@ -2568,11 +2623,11 @@ "WriteTreatmentResource$TreatmentName" : "

A custom name for the treatment.

", "ListOf__string$member" : null, "MapOf__string$member" : null, - "OpenHoursRule$StartTime" : "

Local start time in ISO 8601 format.

", - "OpenHoursRule$EndTime" : "

Local start time in ISO 8601 format.

", - "ClosedDaysRule$Name" : "

Name of the rule.

", - "ClosedDaysRule$StartDateTime" : "

Start Datetime in ISO 8601 format.

", - "ClosedDaysRule$EndDateTime" : "

End Datetime in ISO 8601 format.

" + "OpenHoursRule$StartTime" : "

The start of the scheduled time, in ISO 8601 format, when the channel can send messages.

", + "OpenHoursRule$EndTime" : "

The end of the scheduled time, in ISO 8601 format, when the channel can't send messages.

", + "ClosedDaysRule$Name" : "

The name of the closed day rule.

", + "ClosedDaysRule$StartDateTime" : "

Start DateTime ISO 8601 format

", + "ClosedDaysRule$EndDateTime" : "

End DateTime ISO 8601 format

" } }, "DayOfWeek": { @@ -2587,31 +2642,31 @@ "MapOfOpenHoursRules$value" : "

Open Hour Rules.

" } }, - "OpenHoursRule": { - "base" : "

Open Hour Rules.

", + "OpenHoursRule" : { + "base" : "

Specifies the start and end time for OpenHours.

", "refs" : { "ListOfOpenHoursRules$member" : "

Open Hour Rule Details.

" } }, - "MapOfListOfOpenHoursRules": { + "MapOfListOfOpenHoursRules" : { "base" : "

OpenHours Rules for a channel

", "refs" : { - "OpenHours$EMAIL" : "

Rules for Email Channel.

", - "OpenHours$SMS" : "

Rules for SMS Channel.

", - "OpenHours$PUSH" : "

Rules for Push Channel.

", - "OpenHours$VOICE" : "

Rules for Email Channel.

", - "OpenHours$CUSTOM" : "

Rules for Custom Channel.

" + "OpenHours$EMAIL" : "

Specifies the schedule settings for the email channel.

", + "OpenHours$SMS" : "

Specifies the schedule settings for the SMS channel.

", + "OpenHours$PUSH" : "

Specifies the schedule settings for the push channel.

", + "OpenHours$VOICE" : "

Specifies the schedule settings for the voice channel.

", + "OpenHours$CUSTOM" : "

Specifies the schedule settings for the custom channel.

" } }, - "OpenHours": { - "base" : "

The time when journey allow to send messages. QuietTime should be configured first and SendingSchedule should be set to true.

", + "OpenHours" : { + "base" : "

Specifies the times when message are allowed to be sent to endpoints.

", "refs" : { "WriteJourneyRequest$OpenHours" : "

The time when journey allow to send messages. QuietTime should be configured first and SendingSchedule should be set to true.

", - "JourneyResponse$OpenHours" : "

The time when journey allow to send messages. QuietTime should be configured first and SendingSchedule should be set to true.

" + "JourneyResponse$OpenHours" : "

The time when a journey can send messages. QuietTime should be configured first and SendingSchedule should be set to true.

" } }, "ClosedDaysRule" : { - "base" : "

Closed Days Rule. Part of Journey sending schedule.

", + "base" : "

Specifies the rule settings for when messages can't be sent.

", "refs" : { "ListOfClosedDaysRules$member" : "

Closed Days Rule. Part of Journey sending schedule.

" } @@ -2626,13 +2681,12 @@ "OpenHours$CUSTOM" : "

Rules for Custom Channel.

" } }, - "ClosedDays": { - "base" : "

The time when journey will stop sending messages.

", + "ClosedDays" : { + "base" : "

The time when a journey will not send messages. QuietTime should be configured first and SendingSchedule should be set to true.

", "refs" : { "WriteJourneyRequest$ClosedDays" : "

The time when journey will stop sending messages. QuietTime should be configured first and SendingSchedule should be set to true.

", - "JourneyResponse$ClosedDays" : "

The time when journey will stop sending messages. QuietTime should be configured first and SendingSchedule should be set to true.

" - + "JourneyResponse$ClosedDays" : "

The time when a journey will not send messages. QuietTime should be configured first and SendingSchedule should be set to true.

" } } } -} +} \ No newline at end of file diff --git a/models/apis/pinpoint/2016-12-01/endpoint-rule-set-1.json b/models/apis/pinpoint/2016-12-01/endpoint-rule-set-1.json new file mode 100644 index 00000000000..2f55d5222e7 --- /dev/null +++ b/models/apis/pinpoint/2016-12-01/endpoint-rule-set-1.json @@ -0,0 +1,457 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pinpoint-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pinpoint-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://pinpoint.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://pinpoint.us-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-west-2" + ] + } + ], + "endpoint": { + "url": "https://pinpoint.us-west-2.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://pinpoint.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://pinpoint.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://pinpoint.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://pinpoint.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/pinpoint/2016-12-01/endpoint-tests-1.json b/models/apis/pinpoint/2016-12-01/endpoint-tests-1.json new file mode 100644 index 00000000000..60ed60bc36d --- /dev/null +++ b/models/apis/pinpoint/2016-12-01/endpoint-tests-1.json @@ -0,0 +1,483 @@ +{ + "testCases": [ + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pinpoint-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pinpoint-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pinpoint-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://pinpoint.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/pinpoint/2016-12-01/examples-1.json b/models/apis/pinpoint/2016-12-01/examples-1.json index 0ea7e3b0bbe..8f01da56067 100644 --- a/models/apis/pinpoint/2016-12-01/examples-1.json +++ b/models/apis/pinpoint/2016-12-01/examples-1.json @@ -1,5 +1,103 @@ { "version": "1.0", "examples": { + "GetJourneyRuns": [ + { + "input": { + "ApplicationId": "11111111112222222222333333333344", + "JourneyId": "aaaaaaaaaabbbbbbbbbbccccccccccdd" + }, + "output": { + "JourneyRunsResponse": { + "Item": [ + { + "RunId": "99999999998888888888777777777766", + "CreationTime": "2000-01-01T00:00:00.000Z", + "LastUpdateTime": "2000-01-01T00:00:05.000Z", + "Status": "COMPLETED" + }, + { + "RunId": "ffffffffffeeeeeeeeeeddddddddddcc", + "CreationTime": "2000-01-01T00:00:10.000Z", + "LastUpdateTime": "2000-01-01T00:00:10.000Z", + "Status": "SCHEDULED" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets the runs of a journey.", + "id": "to-get-the-runs-of-a-journey", + "title": "To get the runs of a journey" + } + ], + "GetJourneyRunExecutionMetrics": [ + { + "input": { + "ApplicationId": "11111111112222222222333333333344", + "JourneyId": "aaaaaaaaaabbbbbbbbbbccccccccccdd", + "RunId": "99999999998888888888777777777766" + }, + "output": { + "JourneyRunExecutionMetricsResponse": { + "ApplicationId": "11111111112222222222333333333344", + "JourneyId": "aaaaaaaaaabbbbbbbbbbccccccccccdd", + "RunId": "99999999998888888888777777777766", + "LastEvaluatedTime": "2000-01-01T00:00:05.000Z", + "Metrics": { + "ENDPOINT_PRODUCED": "1", + "ENDPOINT_ENTERED": "1", + "ENDPOINT_LEFT": "1" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets execution metrics for a single run of a journey.", + "id": "to-get-the-execution-metrics-for-a-journey-run", + "title": "To get the execution metrics for a journey run" + } + ], + "GetJourneyRunExecutionActivityMetrics": [ + { + "input": { + "ApplicationId": "11111111112222222222333333333344", + "JourneyId": "aaaaaaaaaabbbbbbbbbbccccccccccdd", + "RunId": "99999999998888888888777777777766", + "JourneyActivityId": "AAAAAAAAAA" + }, + "output": { + "JourneyRunExecutionActivityMetricsResponse": { + "ApplicationId": "11111111112222222222333333333344", + "JourneyId": "aaaaaaaaaabbbbbbbbbbccccccccccdd", + "RunId": "99999999998888888888777777777766", + "JourneyActivityId": "AAAAAAAAAA", + "ActivityType": "EMAIL", + "LastEvaluatedTime": "2000-01-01T00:00:05.000Z", + "Metrics": { + "SUCCESS": "1" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets activity execution metrics for a single run of a journey.", + "id": "to-get-the-activity-execution-metrics-for-a-journey-run", + "title": "To get the activity execution metrics for a journey run" + } + ] } } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 4b4873dd239..53aa6232f08 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -16628,6 +16628,12 @@ "deprecated" : true, "hostname" : "waf-regional-fips.eu-west-3.amazonaws.com" }, + "fips-il-central-1" : { + "credentialScope" : { + "region" : "il-central-1" + }, + "hostname" : "waf-regional-fips.il-central-1.amazonaws.com" + }, "fips-me-central-1" : { "credentialScope" : { "region" : "me-central-1" @@ -17091,6 +17097,12 @@ "deprecated" : true, "hostname" : "wafv2-fips.eu-west-3.amazonaws.com" }, + "fips-il-central-1" : { + "credentialScope" : { + "region" : "il-central-1" + }, + "hostname" : "wafv2-fips.il-central-1.amazonaws.com" + }, "fips-me-central-1" : { "credentialScope" : { "region" : "me-central-1" diff --git a/service/chimesdkmessaging/api.go b/service/chimesdkmessaging/api.go index b5eb010e15c..230e8ae07e2 100644 --- a/service/chimesdkmessaging/api.go +++ b/service/chimesdkmessaging/api.go @@ -966,6 +966,10 @@ func (c *ChimeSDKMessaging) DeleteChannelRequest(input *DeleteChannelInput) (req // - ForbiddenException // The client is permanently forbidden from making the request. // +// - ConflictException +// The request could not be processed because of conflict in the current state +// of the resource. +// // - UnauthorizedClientException // The client is not currently authorized to make the request. // @@ -1559,6 +1563,9 @@ func (c *ChimeSDKMessaging) DeleteMessagingStreamingConfigurationsRequest(input // // Returned Error Types: // +// - BadRequestException +// The input parameters don't match the service's restrictions. +// // - ForbiddenException // The client is permanently forbidden from making the request. // @@ -7992,9 +7999,7 @@ type CreateChannelFlowInput struct { // ClientRequestToken is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by CreateChannelFlowInput's // String and GoString methods. - // - // ClientRequestToken is a required field - ClientRequestToken *string `min:"2" type:"string" required:"true" sensitive:"true"` + ClientRequestToken *string `min:"2" type:"string" idempotencyToken:"true" sensitive:"true"` // The name of the channel flow. // @@ -8041,9 +8046,6 @@ func (s *CreateChannelFlowInput) Validate() error { if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 { invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5)) } - if s.ClientRequestToken == nil { - invalidParams.Add(request.NewErrParamRequired("ClientRequestToken")) - } if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 2 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 2)) } @@ -8887,9 +8889,6 @@ type DeleteChannelInput struct { // // ChimeBearer is a required field ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"` - - // The ID of the SubChannel in the request. - SubChannelId *string `location:"querystring" locationName:"sub-channel-id" min:"1" type:"string"` } // String returns the string representation. @@ -8925,9 +8924,6 @@ func (s *DeleteChannelInput) Validate() error { if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 { invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5)) } - if s.SubChannelId != nil && len(*s.SubChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SubChannelId", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -8947,12 +8943,6 @@ func (s *DeleteChannelInput) SetChimeBearer(v string) *DeleteChannelInput { return s } -// SetSubChannelId sets the SubChannelId field's value. -func (s *DeleteChannelInput) SetSubChannelId(v string) *DeleteChannelInput { - s.SubChannelId = &v - return s -} - type DeleteChannelMembershipInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -15237,7 +15227,7 @@ func (s *UpdateChannelOutput) SetChannelArn(v string) *UpdateChannelOutput { } type UpdateChannelReadMarkerInput struct { - _ struct{} `type:"structure"` + _ struct{} `type:"structure" nopayload:"true"` // The ARN of the channel. // @@ -15248,9 +15238,6 @@ type UpdateChannelReadMarkerInput struct { // // ChimeBearer is a required field ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"` - - // The ID of the SubChannel in the request. - SubChannelId *string `min:"1" type:"string"` } // String returns the string representation. @@ -15286,9 +15273,6 @@ func (s *UpdateChannelReadMarkerInput) Validate() error { if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 { invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5)) } - if s.SubChannelId != nil && len(*s.SubChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SubChannelId", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -15308,20 +15292,11 @@ func (s *UpdateChannelReadMarkerInput) SetChimeBearer(v string) *UpdateChannelRe return s } -// SetSubChannelId sets the SubChannelId field's value. -func (s *UpdateChannelReadMarkerInput) SetSubChannelId(v string) *UpdateChannelReadMarkerInput { - s.SubChannelId = &v - return s -} - type UpdateChannelReadMarkerOutput struct { _ struct{} `type:"structure"` // The ARN of the channel. ChannelArn *string `min:"5" type:"string"` - - // The ID of the SubChannel in the response. - SubChannelId *string `min:"1" type:"string"` } // String returns the string representation. @@ -15348,12 +15323,6 @@ func (s *UpdateChannelReadMarkerOutput) SetChannelArn(v string) *UpdateChannelRe return s } -// SetSubChannelId sets the SubChannelId field's value. -func (s *UpdateChannelReadMarkerOutput) SetSubChannelId(v string) *UpdateChannelReadMarkerOutput { - s.SubChannelId = &v - return s -} - const ( // AllowNotificationsAll is a AllowNotifications enum value AllowNotificationsAll = "ALL" diff --git a/service/connect/api.go b/service/connect/api.go index aa13d8b45b7..1ece797b497 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -13,6 +13,99 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opActivateEvaluationForm = "ActivateEvaluationForm" + +// ActivateEvaluationFormRequest generates a "aws/request.Request" representing the +// client's request for the ActivateEvaluationForm operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ActivateEvaluationForm for more information on using the ActivateEvaluationForm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ActivateEvaluationFormRequest method. +// req, resp := client.ActivateEvaluationFormRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ActivateEvaluationForm +func (c *Connect) ActivateEvaluationFormRequest(input *ActivateEvaluationFormInput) (req *request.Request, output *ActivateEvaluationFormOutput) { + op := &request.Operation{ + Name: opActivateEvaluationForm, + HTTPMethod: "POST", + HTTPPath: "/evaluation-forms/{InstanceId}/{EvaluationFormId}/activate", + } + + if input == nil { + input = &ActivateEvaluationFormInput{} + } + + output = &ActivateEvaluationFormOutput{} + req = c.newRequest(op, input, output) + return +} + +// ActivateEvaluationForm API operation for Amazon Connect Service. +// +// Activates an evaluation form in the specified Amazon Connect instance. After +// the evaluation form is activated, it is available to start new evaluations +// based on the form. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation ActivateEvaluationForm for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - ResourceConflictException +// A resource already has that name. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ActivateEvaluationForm +func (c *Connect) ActivateEvaluationForm(input *ActivateEvaluationFormInput) (*ActivateEvaluationFormOutput, error) { + req, out := c.ActivateEvaluationFormRequest(input) + return out, req.Send() +} + +// ActivateEvaluationFormWithContext is the same as ActivateEvaluationForm with the addition of +// the ability to pass a context and additional request options. +// +// See ActivateEvaluationForm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ActivateEvaluationFormWithContext(ctx aws.Context, input *ActivateEvaluationFormInput, opts ...request.Option) (*ActivateEvaluationFormOutput, error) { + req, out := c.ActivateEvaluationFormRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssociateApprovedOrigin = "AssociateApprovedOrigin" // AssociateApprovedOriginRequest generates a "aws/request.Request" representing the @@ -1418,6 +1511,104 @@ func (c *Connect) CreateContactFlowModuleWithContext(ctx aws.Context, input *Cre return out, req.Send() } +const opCreateEvaluationForm = "CreateEvaluationForm" + +// CreateEvaluationFormRequest generates a "aws/request.Request" representing the +// client's request for the CreateEvaluationForm operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateEvaluationForm for more information on using the CreateEvaluationForm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateEvaluationFormRequest method. +// req, resp := client.CreateEvaluationFormRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateEvaluationForm +func (c *Connect) CreateEvaluationFormRequest(input *CreateEvaluationFormInput) (req *request.Request, output *CreateEvaluationFormOutput) { + op := &request.Operation{ + Name: opCreateEvaluationForm, + HTTPMethod: "PUT", + HTTPPath: "/evaluation-forms/{InstanceId}", + } + + if input == nil { + input = &CreateEvaluationFormInput{} + } + + output = &CreateEvaluationFormOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateEvaluationForm API operation for Amazon Connect Service. +// +// Creates an evaluation form in the specified Amazon Connect instance. The +// form can be used to define questions related to agent performance, and create +// sections to organize such questions. An evaluation form must have a unique +// title within an instance. Question and section identifiers cannot be duplicated +// within the same evaluation form. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation CreateEvaluationForm for usage and error information. +// +// Returned Error Types: +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - ServiceQuotaExceededException +// The service quota has been exceeded. +// +// - ResourceConflictException +// A resource already has that name. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateEvaluationForm +func (c *Connect) CreateEvaluationForm(input *CreateEvaluationFormInput) (*CreateEvaluationFormOutput, error) { + req, out := c.CreateEvaluationFormRequest(input) + return out, req.Send() +} + +// CreateEvaluationFormWithContext is the same as CreateEvaluationForm with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEvaluationForm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) CreateEvaluationFormWithContext(ctx aws.Context, input *CreateEvaluationFormInput, opts ...request.Option) (*CreateEvaluationFormOutput, error) { + req, out := c.CreateEvaluationFormRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateHoursOfOperation = "CreateHoursOfOperation" // CreateHoursOfOperationRequest generates a "aws/request.Request" representing the @@ -2897,6 +3088,191 @@ func (c *Connect) CreateVocabularyWithContext(ctx aws.Context, input *CreateVoca return out, req.Send() } +const opDeactivateEvaluationForm = "DeactivateEvaluationForm" + +// DeactivateEvaluationFormRequest generates a "aws/request.Request" representing the +// client's request for the DeactivateEvaluationForm operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeactivateEvaluationForm for more information on using the DeactivateEvaluationForm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeactivateEvaluationFormRequest method. +// req, resp := client.DeactivateEvaluationFormRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeactivateEvaluationForm +func (c *Connect) DeactivateEvaluationFormRequest(input *DeactivateEvaluationFormInput) (req *request.Request, output *DeactivateEvaluationFormOutput) { + op := &request.Operation{ + Name: opDeactivateEvaluationForm, + HTTPMethod: "POST", + HTTPPath: "/evaluation-forms/{InstanceId}/{EvaluationFormId}/deactivate", + } + + if input == nil { + input = &DeactivateEvaluationFormInput{} + } + + output = &DeactivateEvaluationFormOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeactivateEvaluationForm API operation for Amazon Connect Service. +// +// Deactivates an evaluation form in the specified Amazon Connect instance. +// After a form is deactivated, it is no longer available for users to start +// new evaluations based on the form. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation DeactivateEvaluationForm for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - ResourceConflictException +// A resource already has that name. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeactivateEvaluationForm +func (c *Connect) DeactivateEvaluationForm(input *DeactivateEvaluationFormInput) (*DeactivateEvaluationFormOutput, error) { + req, out := c.DeactivateEvaluationFormRequest(input) + return out, req.Send() +} + +// DeactivateEvaluationFormWithContext is the same as DeactivateEvaluationForm with the addition of +// the ability to pass a context and additional request options. +// +// See DeactivateEvaluationForm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) DeactivateEvaluationFormWithContext(ctx aws.Context, input *DeactivateEvaluationFormInput, opts ...request.Option) (*DeactivateEvaluationFormOutput, error) { + req, out := c.DeactivateEvaluationFormRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteContactEvaluation = "DeleteContactEvaluation" + +// DeleteContactEvaluationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteContactEvaluation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteContactEvaluation for more information on using the DeleteContactEvaluation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteContactEvaluationRequest method. +// req, resp := client.DeleteContactEvaluationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteContactEvaluation +func (c *Connect) DeleteContactEvaluationRequest(input *DeleteContactEvaluationInput) (req *request.Request, output *DeleteContactEvaluationOutput) { + op := &request.Operation{ + Name: opDeleteContactEvaluation, + HTTPMethod: "DELETE", + HTTPPath: "/contact-evaluations/{InstanceId}/{EvaluationId}", + } + + if input == nil { + input = &DeleteContactEvaluationInput{} + } + + output = &DeleteContactEvaluationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteContactEvaluation API operation for Amazon Connect Service. +// +// Deletes a contact evaluation in the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation DeleteContactEvaluation for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - ResourceConflictException +// A resource already has that name. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteContactEvaluation +func (c *Connect) DeleteContactEvaluation(input *DeleteContactEvaluationInput) (*DeleteContactEvaluationOutput, error) { + req, out := c.DeleteContactEvaluationRequest(input) + return out, req.Send() +} + +// DeleteContactEvaluationWithContext is the same as DeleteContactEvaluation with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteContactEvaluation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) DeleteContactEvaluationWithContext(ctx aws.Context, input *DeleteContactEvaluationInput, opts ...request.Option) (*DeleteContactEvaluationOutput, error) { + req, out := c.DeleteContactEvaluationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteContactFlow = "DeleteContactFlow" // DeleteContactFlowRequest generates a "aws/request.Request" representing the @@ -3087,6 +3463,103 @@ func (c *Connect) DeleteContactFlowModuleWithContext(ctx aws.Context, input *Del return out, req.Send() } +const opDeleteEvaluationForm = "DeleteEvaluationForm" + +// DeleteEvaluationFormRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEvaluationForm operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteEvaluationForm for more information on using the DeleteEvaluationForm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteEvaluationFormRequest method. +// req, resp := client.DeleteEvaluationFormRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteEvaluationForm +func (c *Connect) DeleteEvaluationFormRequest(input *DeleteEvaluationFormInput) (req *request.Request, output *DeleteEvaluationFormOutput) { + op := &request.Operation{ + Name: opDeleteEvaluationForm, + HTTPMethod: "DELETE", + HTTPPath: "/evaluation-forms/{InstanceId}/{EvaluationFormId}", + } + + if input == nil { + input = &DeleteEvaluationFormInput{} + } + + output = &DeleteEvaluationFormOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteEvaluationForm API operation for Amazon Connect Service. +// +// Deletes an evaluation form in the specified Amazon Connect instance. +// +// - If the version property is provided, only the specified version of the +// evaluation form is deleted. +// +// - If no version is provided, then the full form (all versions) is deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation DeleteEvaluationForm for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - ResourceConflictException +// A resource already has that name. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteEvaluationForm +func (c *Connect) DeleteEvaluationForm(input *DeleteEvaluationFormInput) (*DeleteEvaluationFormOutput, error) { + req, out := c.DeleteEvaluationFormRequest(input) + return out, req.Send() +} + +// DeleteEvaluationFormWithContext is the same as DeleteEvaluationForm with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEvaluationForm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) DeleteEvaluationFormWithContext(ctx aws.Context, input *DeleteEvaluationFormInput, opts ...request.Option) (*DeleteEvaluationFormOutput, error) { + req, out := c.DeleteEvaluationFormRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteHoursOfOperation = "DeleteHoursOfOperation" // DeleteHoursOfOperationRequest generates a "aws/request.Request" representing the @@ -4404,6 +4877,94 @@ func (c *Connect) DescribeContactWithContext(ctx aws.Context, input *DescribeCon return out, req.Send() } +const opDescribeContactEvaluation = "DescribeContactEvaluation" + +// DescribeContactEvaluationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeContactEvaluation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeContactEvaluation for more information on using the DescribeContactEvaluation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeContactEvaluationRequest method. +// req, resp := client.DescribeContactEvaluationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeContactEvaluation +func (c *Connect) DescribeContactEvaluationRequest(input *DescribeContactEvaluationInput) (req *request.Request, output *DescribeContactEvaluationOutput) { + op := &request.Operation{ + Name: opDescribeContactEvaluation, + HTTPMethod: "GET", + HTTPPath: "/contact-evaluations/{InstanceId}/{EvaluationId}", + } + + if input == nil { + input = &DescribeContactEvaluationInput{} + } + + output = &DescribeContactEvaluationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeContactEvaluation API operation for Amazon Connect Service. +// +// Describes a contact evaluation in the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation DescribeContactEvaluation for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeContactEvaluation +func (c *Connect) DescribeContactEvaluation(input *DescribeContactEvaluationInput) (*DescribeContactEvaluationOutput, error) { + req, out := c.DescribeContactEvaluationRequest(input) + return out, req.Send() +} + +// DescribeContactEvaluationWithContext is the same as DescribeContactEvaluation with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeContactEvaluation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) DescribeContactEvaluationWithContext(ctx aws.Context, input *DescribeContactEvaluationInput, opts ...request.Option) (*DescribeContactEvaluationOutput, error) { + req, out := c.DescribeContactEvaluationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeContactFlow = "DescribeContactFlow" // DescribeContactFlowRequest generates a "aws/request.Request" representing the @@ -4595,6 +5156,96 @@ func (c *Connect) DescribeContactFlowModuleWithContext(ctx aws.Context, input *D return out, req.Send() } +const opDescribeEvaluationForm = "DescribeEvaluationForm" + +// DescribeEvaluationFormRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEvaluationForm operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeEvaluationForm for more information on using the DescribeEvaluationForm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeEvaluationFormRequest method. +// req, resp := client.DescribeEvaluationFormRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeEvaluationForm +func (c *Connect) DescribeEvaluationFormRequest(input *DescribeEvaluationFormInput) (req *request.Request, output *DescribeEvaluationFormOutput) { + op := &request.Operation{ + Name: opDescribeEvaluationForm, + HTTPMethod: "GET", + HTTPPath: "/evaluation-forms/{InstanceId}/{EvaluationFormId}", + } + + if input == nil { + input = &DescribeEvaluationFormInput{} + } + + output = &DescribeEvaluationFormOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEvaluationForm API operation for Amazon Connect Service. +// +// Describes an evaluation form in the specified Amazon Connect instance. If +// the version property is not provided, the latest version of the evaluation +// form is described. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation DescribeEvaluationForm for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeEvaluationForm +func (c *Connect) DescribeEvaluationForm(input *DescribeEvaluationFormInput) (*DescribeEvaluationFormOutput, error) { + req, out := c.DescribeEvaluationFormRequest(input) + return out, req.Send() +} + +// DescribeEvaluationFormWithContext is the same as DescribeEvaluationForm with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEvaluationForm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) DescribeEvaluationFormWithContext(ctx aws.Context, input *DescribeEvaluationFormInput, opts ...request.Option) (*DescribeEvaluationFormOutput, error) { + req, out := c.DescribeEvaluationFormRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeHoursOfOperation = "DescribeHoursOfOperation" // DescribeHoursOfOperationRequest generates a "aws/request.Request" representing the @@ -8364,6 +9015,151 @@ func (c *Connect) ListBotsPagesWithContext(ctx aws.Context, input *ListBotsInput return p.Err() } +const opListContactEvaluations = "ListContactEvaluations" + +// ListContactEvaluationsRequest generates a "aws/request.Request" representing the +// client's request for the ListContactEvaluations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListContactEvaluations for more information on using the ListContactEvaluations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListContactEvaluationsRequest method. +// req, resp := client.ListContactEvaluationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactEvaluations +func (c *Connect) ListContactEvaluationsRequest(input *ListContactEvaluationsInput) (req *request.Request, output *ListContactEvaluationsOutput) { + op := &request.Operation{ + Name: opListContactEvaluations, + HTTPMethod: "GET", + HTTPPath: "/contact-evaluations/{InstanceId}", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListContactEvaluationsInput{} + } + + output = &ListContactEvaluationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListContactEvaluations API operation for Amazon Connect Service. +// +// Lists contact evaluations in the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation ListContactEvaluations for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactEvaluations +func (c *Connect) ListContactEvaluations(input *ListContactEvaluationsInput) (*ListContactEvaluationsOutput, error) { + req, out := c.ListContactEvaluationsRequest(input) + return out, req.Send() +} + +// ListContactEvaluationsWithContext is the same as ListContactEvaluations with the addition of +// the ability to pass a context and additional request options. +// +// See ListContactEvaluations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ListContactEvaluationsWithContext(ctx aws.Context, input *ListContactEvaluationsInput, opts ...request.Option) (*ListContactEvaluationsOutput, error) { + req, out := c.ListContactEvaluationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListContactEvaluationsPages iterates over the pages of a ListContactEvaluations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListContactEvaluations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListContactEvaluations operation. +// pageNum := 0 +// err := client.ListContactEvaluationsPages(params, +// func(page *connect.ListContactEvaluationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Connect) ListContactEvaluationsPages(input *ListContactEvaluationsInput, fn func(*ListContactEvaluationsOutput, bool) bool) error { + return c.ListContactEvaluationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListContactEvaluationsPagesWithContext same as ListContactEvaluationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ListContactEvaluationsPagesWithContext(ctx aws.Context, input *ListContactEvaluationsInput, fn func(*ListContactEvaluationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListContactEvaluationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListContactEvaluationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListContactEvaluationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListContactFlowModules = "ListContactFlowModules" // ListContactFlowModulesRequest generates a "aws/request.Request" representing the @@ -8966,6 +9762,296 @@ func (c *Connect) ListDefaultVocabulariesPagesWithContext(ctx aws.Context, input return p.Err() } +const opListEvaluationFormVersions = "ListEvaluationFormVersions" + +// ListEvaluationFormVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListEvaluationFormVersions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListEvaluationFormVersions for more information on using the ListEvaluationFormVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListEvaluationFormVersionsRequest method. +// req, resp := client.ListEvaluationFormVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListEvaluationFormVersions +func (c *Connect) ListEvaluationFormVersionsRequest(input *ListEvaluationFormVersionsInput) (req *request.Request, output *ListEvaluationFormVersionsOutput) { + op := &request.Operation{ + Name: opListEvaluationFormVersions, + HTTPMethod: "GET", + HTTPPath: "/evaluation-forms/{InstanceId}/{EvaluationFormId}/versions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEvaluationFormVersionsInput{} + } + + output = &ListEvaluationFormVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEvaluationFormVersions API operation for Amazon Connect Service. +// +// Lists versions of an evaluation form in the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation ListEvaluationFormVersions for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListEvaluationFormVersions +func (c *Connect) ListEvaluationFormVersions(input *ListEvaluationFormVersionsInput) (*ListEvaluationFormVersionsOutput, error) { + req, out := c.ListEvaluationFormVersionsRequest(input) + return out, req.Send() +} + +// ListEvaluationFormVersionsWithContext is the same as ListEvaluationFormVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListEvaluationFormVersions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ListEvaluationFormVersionsWithContext(ctx aws.Context, input *ListEvaluationFormVersionsInput, opts ...request.Option) (*ListEvaluationFormVersionsOutput, error) { + req, out := c.ListEvaluationFormVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEvaluationFormVersionsPages iterates over the pages of a ListEvaluationFormVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEvaluationFormVersions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListEvaluationFormVersions operation. +// pageNum := 0 +// err := client.ListEvaluationFormVersionsPages(params, +// func(page *connect.ListEvaluationFormVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Connect) ListEvaluationFormVersionsPages(input *ListEvaluationFormVersionsInput, fn func(*ListEvaluationFormVersionsOutput, bool) bool) error { + return c.ListEvaluationFormVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEvaluationFormVersionsPagesWithContext same as ListEvaluationFormVersionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ListEvaluationFormVersionsPagesWithContext(ctx aws.Context, input *ListEvaluationFormVersionsInput, fn func(*ListEvaluationFormVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEvaluationFormVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEvaluationFormVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEvaluationFormVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListEvaluationForms = "ListEvaluationForms" + +// ListEvaluationFormsRequest generates a "aws/request.Request" representing the +// client's request for the ListEvaluationForms operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListEvaluationForms for more information on using the ListEvaluationForms +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListEvaluationFormsRequest method. +// req, resp := client.ListEvaluationFormsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListEvaluationForms +func (c *Connect) ListEvaluationFormsRequest(input *ListEvaluationFormsInput) (req *request.Request, output *ListEvaluationFormsOutput) { + op := &request.Operation{ + Name: opListEvaluationForms, + HTTPMethod: "GET", + HTTPPath: "/evaluation-forms/{InstanceId}", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEvaluationFormsInput{} + } + + output = &ListEvaluationFormsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEvaluationForms API operation for Amazon Connect Service. +// +// Lists evaluation forms in the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation ListEvaluationForms for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListEvaluationForms +func (c *Connect) ListEvaluationForms(input *ListEvaluationFormsInput) (*ListEvaluationFormsOutput, error) { + req, out := c.ListEvaluationFormsRequest(input) + return out, req.Send() +} + +// ListEvaluationFormsWithContext is the same as ListEvaluationForms with the addition of +// the ability to pass a context and additional request options. +// +// See ListEvaluationForms for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ListEvaluationFormsWithContext(ctx aws.Context, input *ListEvaluationFormsInput, opts ...request.Option) (*ListEvaluationFormsOutput, error) { + req, out := c.ListEvaluationFormsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEvaluationFormsPages iterates over the pages of a ListEvaluationForms operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEvaluationForms method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListEvaluationForms operation. +// pageNum := 0 +// err := client.ListEvaluationFormsPages(params, +// func(page *connect.ListEvaluationFormsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Connect) ListEvaluationFormsPages(input *ListEvaluationFormsInput, fn func(*ListEvaluationFormsOutput, bool) bool) error { + return c.ListEvaluationFormsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEvaluationFormsPagesWithContext same as ListEvaluationFormsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) ListEvaluationFormsPagesWithContext(ctx aws.Context, input *ListEvaluationFormsInput, fn func(*ListEvaluationFormsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEvaluationFormsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEvaluationFormsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEvaluationFormsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListHoursOfOperations = "ListHoursOfOperations" // ListHoursOfOperationsRequest generates a "aws/request.Request" representing the @@ -14177,6 +15263,107 @@ func (c *Connect) StartChatContactWithContext(ctx aws.Context, input *StartChatC return out, req.Send() } +const opStartContactEvaluation = "StartContactEvaluation" + +// StartContactEvaluationRequest generates a "aws/request.Request" representing the +// client's request for the StartContactEvaluation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartContactEvaluation for more information on using the StartContactEvaluation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StartContactEvaluationRequest method. +// req, resp := client.StartContactEvaluationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartContactEvaluation +func (c *Connect) StartContactEvaluationRequest(input *StartContactEvaluationInput) (req *request.Request, output *StartContactEvaluationOutput) { + op := &request.Operation{ + Name: opStartContactEvaluation, + HTTPMethod: "PUT", + HTTPPath: "/contact-evaluations/{InstanceId}", + } + + if input == nil { + input = &StartContactEvaluationInput{} + } + + output = &StartContactEvaluationOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartContactEvaluation API operation for Amazon Connect Service. +// +// Starts an empty evaluation in the specified Amazon Connect instance, using +// the given evaluation form for the particular contact. The evaluation form +// version used for the contact evaluation corresponds to the currently activated +// version. If no version is activated for the evaluation form, the contact +// evaluation cannot be started. +// +// Evaluations created through the public API do not contain answer values suggested +// from automation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation StartContactEvaluation for usage and error information. +// +// Returned Error Types: +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - ServiceQuotaExceededException +// The service quota has been exceeded. +// +// - ResourceConflictException +// A resource already has that name. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartContactEvaluation +func (c *Connect) StartContactEvaluation(input *StartContactEvaluationInput) (*StartContactEvaluationOutput, error) { + req, out := c.StartContactEvaluationRequest(input) + return out, req.Send() +} + +// StartContactEvaluationWithContext is the same as StartContactEvaluation with the addition of +// the ability to pass a context and additional request options. +// +// See StartContactEvaluation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) StartContactEvaluationWithContext(ctx aws.Context, input *StartContactEvaluationInput, opts ...request.Option) (*StartContactEvaluationOutput, error) { + req, out := c.StartContactEvaluationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartContactRecording = "StartContactRecording" // StartContactRecordingRequest generates a "aws/request.Request" representing the @@ -14872,6 +16059,104 @@ func (c *Connect) StopContactStreamingWithContext(ctx aws.Context, input *StopCo return out, req.Send() } +const opSubmitContactEvaluation = "SubmitContactEvaluation" + +// SubmitContactEvaluationRequest generates a "aws/request.Request" representing the +// client's request for the SubmitContactEvaluation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SubmitContactEvaluation for more information on using the SubmitContactEvaluation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the SubmitContactEvaluationRequest method. +// req, resp := client.SubmitContactEvaluationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SubmitContactEvaluation +func (c *Connect) SubmitContactEvaluationRequest(input *SubmitContactEvaluationInput) (req *request.Request, output *SubmitContactEvaluationOutput) { + op := &request.Operation{ + Name: opSubmitContactEvaluation, + HTTPMethod: "POST", + HTTPPath: "/contact-evaluations/{InstanceId}/{EvaluationId}/submit", + } + + if input == nil { + input = &SubmitContactEvaluationInput{} + } + + output = &SubmitContactEvaluationOutput{} + req = c.newRequest(op, input, output) + return +} + +// SubmitContactEvaluation API operation for Amazon Connect Service. +// +// Submits a contact evaluation in the specified Amazon Connect instance. Answers +// included in the request are merged with existing answers for the given evaluation. +// If no answers or notes are passed, the evaluation is submitted with the existing +// answers and notes. You can delete an answer or note by passing an empty object +// ({}) to the question identifier. +// +// If a contact evaluation is already in submitted state, this operation will +// trigger a resubmission. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation SubmitContactEvaluation for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - ResourceConflictException +// A resource already has that name. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SubmitContactEvaluation +func (c *Connect) SubmitContactEvaluation(input *SubmitContactEvaluationInput) (*SubmitContactEvaluationOutput, error) { + req, out := c.SubmitContactEvaluationRequest(input) + return out, req.Send() +} + +// SubmitContactEvaluationWithContext is the same as SubmitContactEvaluation with the addition of +// the ability to pass a context and additional request options. +// +// See SubmitContactEvaluation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) SubmitContactEvaluationWithContext(ctx aws.Context, input *SubmitContactEvaluationInput, opts ...request.Option) (*SubmitContactEvaluationOutput, error) { + req, out := c.SubmitContactEvaluationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSuspendContactRecording = "SuspendContactRecording" // SuspendContactRecordingRequest generates a "aws/request.Request" representing the @@ -15576,6 +16861,101 @@ func (c *Connect) UpdateContactAttributesWithContext(ctx aws.Context, input *Upd return out, req.Send() } +const opUpdateContactEvaluation = "UpdateContactEvaluation" + +// UpdateContactEvaluationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateContactEvaluation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateContactEvaluation for more information on using the UpdateContactEvaluation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateContactEvaluationRequest method. +// req, resp := client.UpdateContactEvaluationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactEvaluation +func (c *Connect) UpdateContactEvaluationRequest(input *UpdateContactEvaluationInput) (req *request.Request, output *UpdateContactEvaluationOutput) { + op := &request.Operation{ + Name: opUpdateContactEvaluation, + HTTPMethod: "POST", + HTTPPath: "/contact-evaluations/{InstanceId}/{EvaluationId}", + } + + if input == nil { + input = &UpdateContactEvaluationInput{} + } + + output = &UpdateContactEvaluationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateContactEvaluation API operation for Amazon Connect Service. +// +// Updates details about a contact evaluation in the specified Amazon Connect +// instance. A contact evaluation must be in draft state. Answers included in +// the request are merged with existing answers for the given evaluation. An +// answer or note can be deleted by passing an empty object ({}) to the question +// identifier. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation UpdateContactEvaluation for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - ResourceConflictException +// A resource already has that name. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactEvaluation +func (c *Connect) UpdateContactEvaluation(input *UpdateContactEvaluationInput) (*UpdateContactEvaluationOutput, error) { + req, out := c.UpdateContactEvaluationRequest(input) + return out, req.Send() +} + +// UpdateContactEvaluationWithContext is the same as UpdateContactEvaluation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateContactEvaluation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) UpdateContactEvaluationWithContext(ctx aws.Context, input *UpdateContactEvaluationInput, opts ...request.Option) (*UpdateContactEvaluationOutput, error) { + req, out := c.UpdateContactEvaluationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateContactFlowContent = "UpdateContactFlowContent" // UpdateContactFlowContentRequest generates a "aws/request.Request" representing the @@ -16155,6 +17535,106 @@ func (c *Connect) UpdateContactScheduleWithContext(ctx aws.Context, input *Updat return out, req.Send() } +const opUpdateEvaluationForm = "UpdateEvaluationForm" + +// UpdateEvaluationFormRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEvaluationForm operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateEvaluationForm for more information on using the UpdateEvaluationForm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateEvaluationFormRequest method. +// req, resp := client.UpdateEvaluationFormRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateEvaluationForm +func (c *Connect) UpdateEvaluationFormRequest(input *UpdateEvaluationFormInput) (req *request.Request, output *UpdateEvaluationFormOutput) { + op := &request.Operation{ + Name: opUpdateEvaluationForm, + HTTPMethod: "PUT", + HTTPPath: "/evaluation-forms/{InstanceId}/{EvaluationFormId}", + } + + if input == nil { + input = &UpdateEvaluationFormInput{} + } + + output = &UpdateEvaluationFormOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateEvaluationForm API operation for Amazon Connect Service. +// +// Updates details about a specific evaluation form version in the specified +// Amazon Connect instance. An evaluation form must have a unique title within +// an instance. Question and section identifiers cannot be duplicated within +// the same evaluation form. +// +// This operation does not support partial updates. Instead it does a full update +// of evaluation form content. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation UpdateEvaluationForm for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - ServiceQuotaExceededException +// The service quota has been exceeded. +// +// - ResourceConflictException +// A resource already has that name. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateEvaluationForm +func (c *Connect) UpdateEvaluationForm(input *UpdateEvaluationFormInput) (*UpdateEvaluationFormOutput, error) { + req, out := c.UpdateEvaluationFormRequest(input) + return out, req.Send() +} + +// UpdateEvaluationFormWithContext is the same as UpdateEvaluationForm with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEvaluationForm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) UpdateEvaluationFormWithContext(ctx aws.Context, input *UpdateEvaluationFormInput, opts ...request.Option) (*UpdateEvaluationFormOutput, error) { + req, out := c.UpdateEvaluationFormRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateHoursOfOperation = "UpdateHoursOfOperation" // UpdateHoursOfOperationRequest generates a "aws/request.Request" representing the @@ -18840,6 +20320,147 @@ func (s *ActionSummary) SetActionType(v string) *ActionSummary { return s } +type ActivateEvaluationFormInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `location:"uri" locationName:"EvaluationFormId" min:"1" type:"string" required:"true"` + + // The version of the evaluation form to activate. If the version property is + // not provided, the latest version of the evaluation form is activated. + // + // EvaluationFormVersion is a required field + EvaluationFormVersion *int64 `min:"1" type:"integer" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateEvaluationFormInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateEvaluationFormInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActivateEvaluationFormInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActivateEvaluationFormInput"} + if s.EvaluationFormId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationFormId")) + } + if s.EvaluationFormId != nil && len(*s.EvaluationFormId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationFormId", 1)) + } + if s.EvaluationFormVersion == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationFormVersion")) + } + if s.EvaluationFormVersion != nil && *s.EvaluationFormVersion < 1 { + invalidParams.Add(request.NewErrParamMinValue("EvaluationFormVersion", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *ActivateEvaluationFormInput) SetEvaluationFormId(v string) *ActivateEvaluationFormInput { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *ActivateEvaluationFormInput) SetEvaluationFormVersion(v int64) *ActivateEvaluationFormInput { + s.EvaluationFormVersion = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ActivateEvaluationFormInput) SetInstanceId(v string) *ActivateEvaluationFormInput { + s.InstanceId = &v + return s +} + +type ActivateEvaluationFormOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the evaluation form resource. + // + // EvaluationFormArn is a required field + EvaluationFormArn *string `type:"string" required:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `min:"1" type:"string" required:"true"` + + // A version of the evaluation form. + // + // EvaluationFormVersion is a required field + EvaluationFormVersion *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateEvaluationFormOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateEvaluationFormOutput) GoString() string { + return s.String() +} + +// SetEvaluationFormArn sets the EvaluationFormArn field's value. +func (s *ActivateEvaluationFormOutput) SetEvaluationFormArn(v string) *ActivateEvaluationFormOutput { + s.EvaluationFormArn = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *ActivateEvaluationFormOutput) SetEvaluationFormId(v string) *ActivateEvaluationFormOutput { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *ActivateEvaluationFormOutput) SetEvaluationFormVersion(v int64) *ActivateEvaluationFormOutput { + s.EvaluationFormVersion = &v + return s +} + // Information about the contact (https://docs.aws.amazon.com/connect/latest/APIReference/API_Contact.html) // associated to the user. type AgentContactReference struct { @@ -22056,6 +23677,176 @@ func (s *CreateContactFlowOutput) SetContactFlowId(v string) *CreateContactFlowO return s } +type CreateEvaluationFormInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The description of the evaluation form. + Description *string `type:"string"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // Items that are part of the evaluation form. The total number of sections + // and questions must not exceed 100 each. Questions must be contained in a + // section. + // + // Items is a required field + Items []*EvaluationFormItem `type:"list" required:"true"` + + // A scoring strategy of the evaluation form. + ScoringStrategy *EvaluationFormScoringStrategy `type:"structure"` + + // A unique title of the evaluation form. + // + // Title is a required field + Title *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateEvaluationFormInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateEvaluationFormInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEvaluationFormInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEvaluationFormInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScoringStrategy != nil { + if err := s.ScoringStrategy.Validate(); err != nil { + invalidParams.AddNested("ScoringStrategy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateEvaluationFormInput) SetClientToken(v string) *CreateEvaluationFormInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateEvaluationFormInput) SetDescription(v string) *CreateEvaluationFormInput { + s.Description = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *CreateEvaluationFormInput) SetInstanceId(v string) *CreateEvaluationFormInput { + s.InstanceId = &v + return s +} + +// SetItems sets the Items field's value. +func (s *CreateEvaluationFormInput) SetItems(v []*EvaluationFormItem) *CreateEvaluationFormInput { + s.Items = v + return s +} + +// SetScoringStrategy sets the ScoringStrategy field's value. +func (s *CreateEvaluationFormInput) SetScoringStrategy(v *EvaluationFormScoringStrategy) *CreateEvaluationFormInput { + s.ScoringStrategy = v + return s +} + +// SetTitle sets the Title field's value. +func (s *CreateEvaluationFormInput) SetTitle(v string) *CreateEvaluationFormInput { + s.Title = &v + return s +} + +type CreateEvaluationFormOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the evaluation form resource. + // + // EvaluationFormArn is a required field + EvaluationFormArn *string `type:"string" required:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateEvaluationFormOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateEvaluationFormOutput) GoString() string { + return s.String() +} + +// SetEvaluationFormArn sets the EvaluationFormArn field's value. +func (s *CreateEvaluationFormOutput) SetEvaluationFormArn(v string) *CreateEvaluationFormOutput { + s.EvaluationFormArn = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *CreateEvaluationFormOutput) SetEvaluationFormId(v string) *CreateEvaluationFormOutput { + s.EvaluationFormId = &v + return s +} + type CreateHoursOfOperationInput struct { _ struct{} `type:"structure"` @@ -24952,6 +26743,147 @@ func (s *DateReference) SetValue(v string) *DateReference { return s } +type DeactivateEvaluationFormInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `location:"uri" locationName:"EvaluationFormId" min:"1" type:"string" required:"true"` + + // A version of the evaluation form. If the version property is not provided, + // the latest version of the evaluation form is deactivated. + // + // EvaluationFormVersion is a required field + EvaluationFormVersion *int64 `min:"1" type:"integer" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateEvaluationFormInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateEvaluationFormInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeactivateEvaluationFormInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeactivateEvaluationFormInput"} + if s.EvaluationFormId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationFormId")) + } + if s.EvaluationFormId != nil && len(*s.EvaluationFormId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationFormId", 1)) + } + if s.EvaluationFormVersion == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationFormVersion")) + } + if s.EvaluationFormVersion != nil && *s.EvaluationFormVersion < 1 { + invalidParams.Add(request.NewErrParamMinValue("EvaluationFormVersion", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *DeactivateEvaluationFormInput) SetEvaluationFormId(v string) *DeactivateEvaluationFormInput { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *DeactivateEvaluationFormInput) SetEvaluationFormVersion(v int64) *DeactivateEvaluationFormInput { + s.EvaluationFormVersion = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DeactivateEvaluationFormInput) SetInstanceId(v string) *DeactivateEvaluationFormInput { + s.InstanceId = &v + return s +} + +type DeactivateEvaluationFormOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the evaluation form resource. + // + // EvaluationFormArn is a required field + EvaluationFormArn *string `type:"string" required:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `min:"1" type:"string" required:"true"` + + // The version of the deactivated evaluation form resource. + // + // EvaluationFormVersion is a required field + EvaluationFormVersion *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateEvaluationFormOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateEvaluationFormOutput) GoString() string { + return s.String() +} + +// SetEvaluationFormArn sets the EvaluationFormArn field's value. +func (s *DeactivateEvaluationFormOutput) SetEvaluationFormArn(v string) *DeactivateEvaluationFormOutput { + s.EvaluationFormArn = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *DeactivateEvaluationFormOutput) SetEvaluationFormId(v string) *DeactivateEvaluationFormOutput { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *DeactivateEvaluationFormOutput) SetEvaluationFormVersion(v int64) *DeactivateEvaluationFormOutput { + s.EvaluationFormVersion = &v + return s +} + // Contains information about a default vocabulary. type DefaultVocabulary struct { _ struct{} `type:"structure"` @@ -25022,6 +26954,96 @@ func (s *DefaultVocabulary) SetVocabularyName(v string) *DefaultVocabulary { return s } +type DeleteContactEvaluationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the contact evaluation. + // + // EvaluationId is a required field + EvaluationId *string `location:"uri" locationName:"EvaluationId" min:"1" type:"string" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactEvaluationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactEvaluationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteContactEvaluationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteContactEvaluationInput"} + if s.EvaluationId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationId")) + } + if s.EvaluationId != nil && len(*s.EvaluationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationId", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluationId sets the EvaluationId field's value. +func (s *DeleteContactEvaluationInput) SetEvaluationId(v string) *DeleteContactEvaluationInput { + s.EvaluationId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DeleteContactEvaluationInput) SetInstanceId(v string) *DeleteContactEvaluationInput { + s.InstanceId = &v + return s +} + +type DeleteContactEvaluationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactEvaluationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactEvaluationOutput) GoString() string { + return s.String() +} + type DeleteContactFlowInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -25202,6 +27224,108 @@ func (s DeleteContactFlowOutput) GoString() string { return s.String() } +type DeleteEvaluationFormInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `location:"uri" locationName:"EvaluationFormId" min:"1" type:"string" required:"true"` + + // The unique identifier for the evaluation form. + EvaluationFormVersion *int64 `location:"querystring" locationName:"version" min:"1" type:"integer"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteEvaluationFormInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteEvaluationFormInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEvaluationFormInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEvaluationFormInput"} + if s.EvaluationFormId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationFormId")) + } + if s.EvaluationFormId != nil && len(*s.EvaluationFormId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationFormId", 1)) + } + if s.EvaluationFormVersion != nil && *s.EvaluationFormVersion < 1 { + invalidParams.Add(request.NewErrParamMinValue("EvaluationFormVersion", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *DeleteEvaluationFormInput) SetEvaluationFormId(v string) *DeleteEvaluationFormInput { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *DeleteEvaluationFormInput) SetEvaluationFormVersion(v int64) *DeleteEvaluationFormInput { + s.EvaluationFormVersion = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DeleteEvaluationFormInput) SetInstanceId(v string) *DeleteEvaluationFormInput { + s.InstanceId = &v + return s +} + +type DeleteEvaluationFormOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteEvaluationFormOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteEvaluationFormOutput) GoString() string { + return s.String() +} + type DeleteHoursOfOperationInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -26398,6 +28522,118 @@ func (s *DescribeAgentStatusOutput) SetAgentStatus(v *AgentStatus) *DescribeAgen return s } +type DescribeContactEvaluationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the contact evaluation. + // + // EvaluationId is a required field + EvaluationId *string `location:"uri" locationName:"EvaluationId" min:"1" type:"string" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeContactEvaluationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeContactEvaluationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeContactEvaluationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeContactEvaluationInput"} + if s.EvaluationId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationId")) + } + if s.EvaluationId != nil && len(*s.EvaluationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationId", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluationId sets the EvaluationId field's value. +func (s *DescribeContactEvaluationInput) SetEvaluationId(v string) *DescribeContactEvaluationInput { + s.EvaluationId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DescribeContactEvaluationInput) SetInstanceId(v string) *DescribeContactEvaluationInput { + s.InstanceId = &v + return s +} + +type DescribeContactEvaluationOutput struct { + _ struct{} `type:"structure"` + + // Information about the evaluation form completed for a specific contact. + // + // Evaluation is a required field + Evaluation *Evaluation `type:"structure" required:"true"` + + // Information about the evaluation form. + // + // EvaluationForm is a required field + EvaluationForm *EvaluationFormContent `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeContactEvaluationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeContactEvaluationOutput) GoString() string { + return s.String() +} + +// SetEvaluation sets the Evaluation field's value. +func (s *DescribeContactEvaluationOutput) SetEvaluation(v *Evaluation) *DescribeContactEvaluationOutput { + s.Evaluation = v + return s +} + +// SetEvaluationForm sets the EvaluationForm field's value. +func (s *DescribeContactEvaluationOutput) SetEvaluationForm(v *EvaluationFormContent) *DescribeContactEvaluationOutput { + s.EvaluationForm = v + return s +} + type DescribeContactFlowInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -26693,6 +28929,119 @@ func (s *DescribeContactOutput) SetContact(v *Contact) *DescribeContactOutput { return s } +type DescribeEvaluationFormInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the contact evaluation. + // + // EvaluationFormId is a required field + EvaluationFormId *string `location:"uri" locationName:"EvaluationFormId" min:"1" type:"string" required:"true"` + + // A version of the evaluation form. + EvaluationFormVersion *int64 `location:"querystring" locationName:"version" min:"1" type:"integer"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeEvaluationFormInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeEvaluationFormInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEvaluationFormInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEvaluationFormInput"} + if s.EvaluationFormId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationFormId")) + } + if s.EvaluationFormId != nil && len(*s.EvaluationFormId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationFormId", 1)) + } + if s.EvaluationFormVersion != nil && *s.EvaluationFormVersion < 1 { + invalidParams.Add(request.NewErrParamMinValue("EvaluationFormVersion", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *DescribeEvaluationFormInput) SetEvaluationFormId(v string) *DescribeEvaluationFormInput { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *DescribeEvaluationFormInput) SetEvaluationFormVersion(v int64) *DescribeEvaluationFormInput { + s.EvaluationFormVersion = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DescribeEvaluationFormInput) SetInstanceId(v string) *DescribeEvaluationFormInput { + s.InstanceId = &v + return s +} + +type DescribeEvaluationFormOutput struct { + _ struct{} `type:"structure"` + + // Information about the evaluation form. + // + // EvaluationForm is a required field + EvaluationForm *EvaluationForm `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeEvaluationFormOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeEvaluationFormOutput) GoString() string { + return s.String() +} + +// SetEvaluationForm sets the EvaluationForm field's value. +func (s *DescribeEvaluationFormOutput) SetEvaluationForm(v *EvaluationForm) *DescribeEvaluationFormOutput { + s.EvaluationForm = v + return s +} + type DescribeHoursOfOperationInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -29477,6 +31826,1975 @@ func (s *EncryptionConfig) SetKeyId(v string) *EncryptionConfig { return s } +// Information about a contact evaluation. +type Evaluation struct { + _ struct{} `type:"structure"` + + // A map of question identifiers to answer value. + // + // Answers is a required field + Answers map[string]*EvaluationAnswerOutput_ `type:"map" required:"true"` + + // The timestamp for when the evaluation was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) for the contact evaluation resource. + // + // EvaluationArn is a required field + EvaluationArn *string `type:"string" required:"true"` + + // A unique identifier for the contact evaluation. + // + // EvaluationId is a required field + EvaluationId *string `min:"1" type:"string" required:"true"` + + // The timestamp for when the evaluation was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // Metadata about the contact evaluation. + // + // Metadata is a required field + Metadata *EvaluationMetadata `type:"structure" required:"true"` + + // A map of question identifiers to note value. + // + // Notes is a required field + Notes map[string]*EvaluationNote `type:"map" required:"true"` + + // A map of item (section or question) identifiers to score value. + Scores map[string]*EvaluationScore `type:"map"` + + // The status of the contact evaluation. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"EvaluationStatus"` + + // The tags used to organize, track, or control access for this resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + Tags map[string]*string `min:"1" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Evaluation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Evaluation) GoString() string { + return s.String() +} + +// SetAnswers sets the Answers field's value. +func (s *Evaluation) SetAnswers(v map[string]*EvaluationAnswerOutput_) *Evaluation { + s.Answers = v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *Evaluation) SetCreatedTime(v time.Time) *Evaluation { + s.CreatedTime = &v + return s +} + +// SetEvaluationArn sets the EvaluationArn field's value. +func (s *Evaluation) SetEvaluationArn(v string) *Evaluation { + s.EvaluationArn = &v + return s +} + +// SetEvaluationId sets the EvaluationId field's value. +func (s *Evaluation) SetEvaluationId(v string) *Evaluation { + s.EvaluationId = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *Evaluation) SetLastModifiedTime(v time.Time) *Evaluation { + s.LastModifiedTime = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *Evaluation) SetMetadata(v *EvaluationMetadata) *Evaluation { + s.Metadata = v + return s +} + +// SetNotes sets the Notes field's value. +func (s *Evaluation) SetNotes(v map[string]*EvaluationNote) *Evaluation { + s.Notes = v + return s +} + +// SetScores sets the Scores field's value. +func (s *Evaluation) SetScores(v map[string]*EvaluationScore) *Evaluation { + s.Scores = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Evaluation) SetStatus(v string) *Evaluation { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Evaluation) SetTags(v map[string]*string) *Evaluation { + s.Tags = v + return s +} + +// Information about answer data for a contact evaluation. Answer data must +// be either string, numeric, or not applicable. +type EvaluationAnswerData struct { + _ struct{} `type:"structure"` + + // The flag to mark the question as not applicable. + NotApplicable *bool `type:"boolean"` + + // The numeric value for an answer in a contact evaluation. + NumericValue *float64 `type:"double"` + + // The string value for an answer in a contact evaluation. + StringValue *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationAnswerData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationAnswerData) GoString() string { + return s.String() +} + +// SetNotApplicable sets the NotApplicable field's value. +func (s *EvaluationAnswerData) SetNotApplicable(v bool) *EvaluationAnswerData { + s.NotApplicable = &v + return s +} + +// SetNumericValue sets the NumericValue field's value. +func (s *EvaluationAnswerData) SetNumericValue(v float64) *EvaluationAnswerData { + s.NumericValue = &v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *EvaluationAnswerData) SetStringValue(v string) *EvaluationAnswerData { + s.StringValue = &v + return s +} + +// Information about input answers for a contact evaluation. +type EvaluationAnswerInput_ struct { + _ struct{} `type:"structure"` + + // The value for an answer in a contact evaluation. + Value *EvaluationAnswerData `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationAnswerInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationAnswerInput_) GoString() string { + return s.String() +} + +// SetValue sets the Value field's value. +func (s *EvaluationAnswerInput_) SetValue(v *EvaluationAnswerData) *EvaluationAnswerInput_ { + s.Value = v + return s +} + +// Information about output answers for a contact evaluation. +type EvaluationAnswerOutput_ struct { + _ struct{} `type:"structure"` + + // The system suggested value for an answer in a contact evaluation. + SystemSuggestedValue *EvaluationAnswerData `type:"structure"` + + // The value for an answer in a contact evaluation. + Value *EvaluationAnswerData `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationAnswerOutput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationAnswerOutput_) GoString() string { + return s.String() +} + +// SetSystemSuggestedValue sets the SystemSuggestedValue field's value. +func (s *EvaluationAnswerOutput_) SetSystemSuggestedValue(v *EvaluationAnswerData) *EvaluationAnswerOutput_ { + s.SystemSuggestedValue = v + return s +} + +// SetValue sets the Value field's value. +func (s *EvaluationAnswerOutput_) SetValue(v *EvaluationAnswerData) *EvaluationAnswerOutput_ { + s.Value = v + return s +} + +// Information about the evaluation form. +type EvaluationForm struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the user who created the evaluation form. + // + // CreatedBy is a required field + CreatedBy *string `type:"string" required:"true"` + + // The timestamp for when the evaluation form was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `type:"timestamp" required:"true"` + + // The description of the evaluation form. + Description *string `type:"string"` + + // The Amazon Resource Name (ARN) for the evaluation form resource. + // + // EvaluationFormArn is a required field + EvaluationFormArn *string `type:"string" required:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `min:"1" type:"string" required:"true"` + + // A version of the evaluation form. + // + // EvaluationFormVersion is a required field + EvaluationFormVersion *int64 `min:"1" type:"integer" required:"true"` + + // Items that are part of the evaluation form. The total number of sections + // and questions must not exceed 100 each. Questions must be contained in a + // section. + // + // Items is a required field + Items []*EvaluationFormItem `type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the user who last updated the evaluation + // form. + // + // LastModifiedBy is a required field + LastModifiedBy *string `type:"string" required:"true"` + + // The timestamp for when the evaluation form was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The flag indicating whether the evaluation form is locked for changes. + // + // Locked is a required field + Locked *bool `type:"boolean" required:"true"` + + // A scoring strategy of the evaluation form. + ScoringStrategy *EvaluationFormScoringStrategy `type:"structure"` + + // The status of the evaluation form. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"EvaluationFormVersionStatus"` + + // The tags used to organize, track, or control access for this resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + Tags map[string]*string `min:"1" type:"map"` + + // A unique title of the evaluation form. + // + // Title is a required field + Title *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationForm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationForm) GoString() string { + return s.String() +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *EvaluationForm) SetCreatedBy(v string) *EvaluationForm { + s.CreatedBy = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *EvaluationForm) SetCreatedTime(v time.Time) *EvaluationForm { + s.CreatedTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *EvaluationForm) SetDescription(v string) *EvaluationForm { + s.Description = &v + return s +} + +// SetEvaluationFormArn sets the EvaluationFormArn field's value. +func (s *EvaluationForm) SetEvaluationFormArn(v string) *EvaluationForm { + s.EvaluationFormArn = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *EvaluationForm) SetEvaluationFormId(v string) *EvaluationForm { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *EvaluationForm) SetEvaluationFormVersion(v int64) *EvaluationForm { + s.EvaluationFormVersion = &v + return s +} + +// SetItems sets the Items field's value. +func (s *EvaluationForm) SetItems(v []*EvaluationFormItem) *EvaluationForm { + s.Items = v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *EvaluationForm) SetLastModifiedBy(v string) *EvaluationForm { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *EvaluationForm) SetLastModifiedTime(v time.Time) *EvaluationForm { + s.LastModifiedTime = &v + return s +} + +// SetLocked sets the Locked field's value. +func (s *EvaluationForm) SetLocked(v bool) *EvaluationForm { + s.Locked = &v + return s +} + +// SetScoringStrategy sets the ScoringStrategy field's value. +func (s *EvaluationForm) SetScoringStrategy(v *EvaluationFormScoringStrategy) *EvaluationForm { + s.ScoringStrategy = v + return s +} + +// SetStatus sets the Status field's value. +func (s *EvaluationForm) SetStatus(v string) *EvaluationForm { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *EvaluationForm) SetTags(v map[string]*string) *EvaluationForm { + s.Tags = v + return s +} + +// SetTitle sets the Title field's value. +func (s *EvaluationForm) SetTitle(v string) *EvaluationForm { + s.Title = &v + return s +} + +// Information about an evaluation form used in a contact evaluation. +type EvaluationFormContent struct { + _ struct{} `type:"structure"` + + // The description of the evaluation form. + Description *string `type:"string"` + + // The Amazon Resource Name (ARN) for the evaluation form resource. + // + // EvaluationFormArn is a required field + EvaluationFormArn *string `type:"string" required:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `min:"1" type:"string" required:"true"` + + // A version of the evaluation form. + // + // EvaluationFormVersion is a required field + EvaluationFormVersion *int64 `min:"1" type:"integer" required:"true"` + + // Items that are part of the evaluation form. The total number of sections + // and questions must not exceed 100 each. Questions must be contained in a + // section. + // + // Items is a required field + Items []*EvaluationFormItem `type:"list" required:"true"` + + // A scoring strategy of the evaluation form. + ScoringStrategy *EvaluationFormScoringStrategy `type:"structure"` + + // A unique title of the evaluation form. + // + // Title is a required field + Title *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormContent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormContent) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *EvaluationFormContent) SetDescription(v string) *EvaluationFormContent { + s.Description = &v + return s +} + +// SetEvaluationFormArn sets the EvaluationFormArn field's value. +func (s *EvaluationFormContent) SetEvaluationFormArn(v string) *EvaluationFormContent { + s.EvaluationFormArn = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *EvaluationFormContent) SetEvaluationFormId(v string) *EvaluationFormContent { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *EvaluationFormContent) SetEvaluationFormVersion(v int64) *EvaluationFormContent { + s.EvaluationFormVersion = &v + return s +} + +// SetItems sets the Items field's value. +func (s *EvaluationFormContent) SetItems(v []*EvaluationFormItem) *EvaluationFormContent { + s.Items = v + return s +} + +// SetScoringStrategy sets the ScoringStrategy field's value. +func (s *EvaluationFormContent) SetScoringStrategy(v *EvaluationFormScoringStrategy) *EvaluationFormContent { + s.ScoringStrategy = v + return s +} + +// SetTitle sets the Title field's value. +func (s *EvaluationFormContent) SetTitle(v string) *EvaluationFormContent { + s.Title = &v + return s +} + +// Information about an item from an evaluation form. The item must be either +// a section or a question. +type EvaluationFormItem struct { + _ struct{} `type:"structure"` + + // The information of the question. + Question *EvaluationFormQuestion `type:"structure"` + + // The information of the section. + Section *EvaluationFormSection `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormItem"} + if s.Question != nil { + if err := s.Question.Validate(); err != nil { + invalidParams.AddNested("Question", err.(request.ErrInvalidParams)) + } + } + if s.Section != nil { + if err := s.Section.Validate(); err != nil { + invalidParams.AddNested("Section", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetQuestion sets the Question field's value. +func (s *EvaluationFormItem) SetQuestion(v *EvaluationFormQuestion) *EvaluationFormItem { + s.Question = v + return s +} + +// SetSection sets the Section field's value. +func (s *EvaluationFormItem) SetSection(v *EvaluationFormSection) *EvaluationFormItem { + s.Section = v + return s +} + +// Information about the automation configuration in numeric questions. +type EvaluationFormNumericQuestionAutomation struct { + _ struct{} `type:"structure"` + + // The property value of the automation. + PropertyValue *NumericQuestionPropertyValueAutomation `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormNumericQuestionAutomation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormNumericQuestionAutomation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormNumericQuestionAutomation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormNumericQuestionAutomation"} + if s.PropertyValue != nil { + if err := s.PropertyValue.Validate(); err != nil { + invalidParams.AddNested("PropertyValue", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPropertyValue sets the PropertyValue field's value. +func (s *EvaluationFormNumericQuestionAutomation) SetPropertyValue(v *NumericQuestionPropertyValueAutomation) *EvaluationFormNumericQuestionAutomation { + s.PropertyValue = v + return s +} + +// Information about the option range used for scoring in numeric questions. +type EvaluationFormNumericQuestionOption struct { + _ struct{} `type:"structure"` + + // The flag to mark the option as automatic fail. If an automatic fail answer + // is provided, the overall evaluation gets a score of 0. + AutomaticFail *bool `type:"boolean"` + + // The maximum answer value of the range option. + // + // MaxValue is a required field + MaxValue *int64 `type:"integer" required:"true"` + + // The minimum answer value of the range option. + // + // MinValue is a required field + MinValue *int64 `type:"integer" required:"true"` + + // The score assigned to answer values within the range option. + Score *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormNumericQuestionOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormNumericQuestionOption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormNumericQuestionOption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormNumericQuestionOption"} + if s.MaxValue == nil { + invalidParams.Add(request.NewErrParamRequired("MaxValue")) + } + if s.MinValue == nil { + invalidParams.Add(request.NewErrParamRequired("MinValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomaticFail sets the AutomaticFail field's value. +func (s *EvaluationFormNumericQuestionOption) SetAutomaticFail(v bool) *EvaluationFormNumericQuestionOption { + s.AutomaticFail = &v + return s +} + +// SetMaxValue sets the MaxValue field's value. +func (s *EvaluationFormNumericQuestionOption) SetMaxValue(v int64) *EvaluationFormNumericQuestionOption { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *EvaluationFormNumericQuestionOption) SetMinValue(v int64) *EvaluationFormNumericQuestionOption { + s.MinValue = &v + return s +} + +// SetScore sets the Score field's value. +func (s *EvaluationFormNumericQuestionOption) SetScore(v int64) *EvaluationFormNumericQuestionOption { + s.Score = &v + return s +} + +// Information about properties for a numeric question in an evaluation form. +type EvaluationFormNumericQuestionProperties struct { + _ struct{} `type:"structure"` + + // The automation properties of the numeric question. + Automation *EvaluationFormNumericQuestionAutomation `type:"structure"` + + // The maximum answer value. + // + // MaxValue is a required field + MaxValue *int64 `type:"integer" required:"true"` + + // The minimum answer value. + // + // MinValue is a required field + MinValue *int64 `type:"integer" required:"true"` + + // The scoring options of the numeric question. + Options []*EvaluationFormNumericQuestionOption `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormNumericQuestionProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormNumericQuestionProperties) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormNumericQuestionProperties) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormNumericQuestionProperties"} + if s.MaxValue == nil { + invalidParams.Add(request.NewErrParamRequired("MaxValue")) + } + if s.MinValue == nil { + invalidParams.Add(request.NewErrParamRequired("MinValue")) + } + if s.Options != nil && len(s.Options) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Options", 1)) + } + if s.Automation != nil { + if err := s.Automation.Validate(); err != nil { + invalidParams.AddNested("Automation", err.(request.ErrInvalidParams)) + } + } + if s.Options != nil { + for i, v := range s.Options { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Options", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomation sets the Automation field's value. +func (s *EvaluationFormNumericQuestionProperties) SetAutomation(v *EvaluationFormNumericQuestionAutomation) *EvaluationFormNumericQuestionProperties { + s.Automation = v + return s +} + +// SetMaxValue sets the MaxValue field's value. +func (s *EvaluationFormNumericQuestionProperties) SetMaxValue(v int64) *EvaluationFormNumericQuestionProperties { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *EvaluationFormNumericQuestionProperties) SetMinValue(v int64) *EvaluationFormNumericQuestionProperties { + s.MinValue = &v + return s +} + +// SetOptions sets the Options field's value. +func (s *EvaluationFormNumericQuestionProperties) SetOptions(v []*EvaluationFormNumericQuestionOption) *EvaluationFormNumericQuestionProperties { + s.Options = v + return s +} + +// Information about a question from an evaluation form. +type EvaluationFormQuestion struct { + _ struct{} `type:"structure"` + + // The instructions of the section. + Instructions *string `type:"string"` + + // The flag to enable not applicable answers to the question. + NotApplicableEnabled *bool `type:"boolean"` + + // The type of the question. + // + // QuestionType is a required field + QuestionType *string `type:"string" required:"true" enum:"EvaluationFormQuestionType"` + + // The properties of the type of question. Text questions do not have to define + // question type properties. + QuestionTypeProperties *EvaluationFormQuestionTypeProperties `type:"structure"` + + // The identifier of the question. An identifier must be unique within the evaluation + // form. + // + // RefId is a required field + RefId *string `type:"string" required:"true"` + + // The title of the question. + // + // Title is a required field + Title *string `type:"string" required:"true"` + + // The scoring weight of the section. + Weight *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormQuestion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormQuestion) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormQuestion) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormQuestion"} + if s.QuestionType == nil { + invalidParams.Add(request.NewErrParamRequired("QuestionType")) + } + if s.RefId == nil { + invalidParams.Add(request.NewErrParamRequired("RefId")) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + if s.QuestionTypeProperties != nil { + if err := s.QuestionTypeProperties.Validate(); err != nil { + invalidParams.AddNested("QuestionTypeProperties", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstructions sets the Instructions field's value. +func (s *EvaluationFormQuestion) SetInstructions(v string) *EvaluationFormQuestion { + s.Instructions = &v + return s +} + +// SetNotApplicableEnabled sets the NotApplicableEnabled field's value. +func (s *EvaluationFormQuestion) SetNotApplicableEnabled(v bool) *EvaluationFormQuestion { + s.NotApplicableEnabled = &v + return s +} + +// SetQuestionType sets the QuestionType field's value. +func (s *EvaluationFormQuestion) SetQuestionType(v string) *EvaluationFormQuestion { + s.QuestionType = &v + return s +} + +// SetQuestionTypeProperties sets the QuestionTypeProperties field's value. +func (s *EvaluationFormQuestion) SetQuestionTypeProperties(v *EvaluationFormQuestionTypeProperties) *EvaluationFormQuestion { + s.QuestionTypeProperties = v + return s +} + +// SetRefId sets the RefId field's value. +func (s *EvaluationFormQuestion) SetRefId(v string) *EvaluationFormQuestion { + s.RefId = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *EvaluationFormQuestion) SetTitle(v string) *EvaluationFormQuestion { + s.Title = &v + return s +} + +// SetWeight sets the Weight field's value. +func (s *EvaluationFormQuestion) SetWeight(v float64) *EvaluationFormQuestion { + s.Weight = &v + return s +} + +// Information about properties for a question in an evaluation form. The question +// type properties must be either for a numeric question or a single select +// question. +type EvaluationFormQuestionTypeProperties struct { + _ struct{} `type:"structure"` + + // The properties of the numeric question. + Numeric *EvaluationFormNumericQuestionProperties `type:"structure"` + + // The properties of the numeric question. + SingleSelect *EvaluationFormSingleSelectQuestionProperties `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormQuestionTypeProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormQuestionTypeProperties) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormQuestionTypeProperties) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormQuestionTypeProperties"} + if s.Numeric != nil { + if err := s.Numeric.Validate(); err != nil { + invalidParams.AddNested("Numeric", err.(request.ErrInvalidParams)) + } + } + if s.SingleSelect != nil { + if err := s.SingleSelect.Validate(); err != nil { + invalidParams.AddNested("SingleSelect", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNumeric sets the Numeric field's value. +func (s *EvaluationFormQuestionTypeProperties) SetNumeric(v *EvaluationFormNumericQuestionProperties) *EvaluationFormQuestionTypeProperties { + s.Numeric = v + return s +} + +// SetSingleSelect sets the SingleSelect field's value. +func (s *EvaluationFormQuestionTypeProperties) SetSingleSelect(v *EvaluationFormSingleSelectQuestionProperties) *EvaluationFormQuestionTypeProperties { + s.SingleSelect = v + return s +} + +// Information about scoring strategy for an evaluation form. +type EvaluationFormScoringStrategy struct { + _ struct{} `type:"structure"` + + // The scoring mode of the evaluation form. + // + // Mode is a required field + Mode *string `type:"string" required:"true" enum:"EvaluationFormScoringMode"` + + // The scoring status of the evaluation form. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"EvaluationFormScoringStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormScoringStrategy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormScoringStrategy) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormScoringStrategy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormScoringStrategy"} + if s.Mode == nil { + invalidParams.Add(request.NewErrParamRequired("Mode")) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMode sets the Mode field's value. +func (s *EvaluationFormScoringStrategy) SetMode(v string) *EvaluationFormScoringStrategy { + s.Mode = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EvaluationFormScoringStrategy) SetStatus(v string) *EvaluationFormScoringStrategy { + s.Status = &v + return s +} + +// Information about a section from an evaluation form. A section can contain +// sections and/or questions. Evaluation forms can only contain sections and +// subsections (two level nesting). +type EvaluationFormSection struct { + _ struct{} `type:"structure"` + + // The instructions of the section. + Instructions *string `type:"string"` + + // The items of the section. + Items []*EvaluationFormItem `type:"list"` + + // The identifier of the section. An identifier must be unique within the evaluation + // form. + // + // RefId is a required field + RefId *string `type:"string" required:"true"` + + // The title of the section. + // + // Title is a required field + Title *string `type:"string" required:"true"` + + // The scoring weight of the section. + Weight *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSection) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormSection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormSection"} + if s.RefId == nil { + invalidParams.Add(request.NewErrParamRequired("RefId")) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstructions sets the Instructions field's value. +func (s *EvaluationFormSection) SetInstructions(v string) *EvaluationFormSection { + s.Instructions = &v + return s +} + +// SetItems sets the Items field's value. +func (s *EvaluationFormSection) SetItems(v []*EvaluationFormItem) *EvaluationFormSection { + s.Items = v + return s +} + +// SetRefId sets the RefId field's value. +func (s *EvaluationFormSection) SetRefId(v string) *EvaluationFormSection { + s.RefId = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *EvaluationFormSection) SetTitle(v string) *EvaluationFormSection { + s.Title = &v + return s +} + +// SetWeight sets the Weight field's value. +func (s *EvaluationFormSection) SetWeight(v float64) *EvaluationFormSection { + s.Weight = &v + return s +} + +// Information about the automation configuration in single select questions. +// Automation options are evaluated in order, and the first matched option is +// applied. If no automation option matches, and there is a default option, +// then the default option is applied. +type EvaluationFormSingleSelectQuestionAutomation struct { + _ struct{} `type:"structure"` + + // The identifier of the default answer option, when none of the automation + // options match the criteria. + DefaultOptionRefId *string `type:"string"` + + // The automation options of the single select question. + // + // Options is a required field + Options []*EvaluationFormSingleSelectQuestionAutomationOption `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSingleSelectQuestionAutomation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSingleSelectQuestionAutomation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormSingleSelectQuestionAutomation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormSingleSelectQuestionAutomation"} + if s.Options == nil { + invalidParams.Add(request.NewErrParamRequired("Options")) + } + if s.Options != nil && len(s.Options) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Options", 1)) + } + if s.Options != nil { + for i, v := range s.Options { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Options", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultOptionRefId sets the DefaultOptionRefId field's value. +func (s *EvaluationFormSingleSelectQuestionAutomation) SetDefaultOptionRefId(v string) *EvaluationFormSingleSelectQuestionAutomation { + s.DefaultOptionRefId = &v + return s +} + +// SetOptions sets the Options field's value. +func (s *EvaluationFormSingleSelectQuestionAutomation) SetOptions(v []*EvaluationFormSingleSelectQuestionAutomationOption) *EvaluationFormSingleSelectQuestionAutomation { + s.Options = v + return s +} + +// Information about the automation option of a single select question. +type EvaluationFormSingleSelectQuestionAutomationOption struct { + _ struct{} `type:"structure"` + + // The automation option based on a rule category for the single select question. + RuleCategory *SingleSelectQuestionRuleCategoryAutomation `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSingleSelectQuestionAutomationOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSingleSelectQuestionAutomationOption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormSingleSelectQuestionAutomationOption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormSingleSelectQuestionAutomationOption"} + if s.RuleCategory != nil { + if err := s.RuleCategory.Validate(); err != nil { + invalidParams.AddNested("RuleCategory", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleCategory sets the RuleCategory field's value. +func (s *EvaluationFormSingleSelectQuestionAutomationOption) SetRuleCategory(v *SingleSelectQuestionRuleCategoryAutomation) *EvaluationFormSingleSelectQuestionAutomationOption { + s.RuleCategory = v + return s +} + +// Information about the automation configuration in single select questions. +type EvaluationFormSingleSelectQuestionOption struct { + _ struct{} `type:"structure"` + + // The flag to mark the option as automatic fail. If an automatic fail answer + // is provided, the overall evaluation gets a score of 0. + AutomaticFail *bool `type:"boolean"` + + // The identifier of the answer option. An identifier must be unique within + // the question. + // + // RefId is a required field + RefId *string `type:"string" required:"true"` + + // The score assigned to the answer option. + Score *int64 `type:"integer"` + + // The title of the answer option. + // + // Text is a required field + Text *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSingleSelectQuestionOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSingleSelectQuestionOption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormSingleSelectQuestionOption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormSingleSelectQuestionOption"} + if s.RefId == nil { + invalidParams.Add(request.NewErrParamRequired("RefId")) + } + if s.Text == nil { + invalidParams.Add(request.NewErrParamRequired("Text")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomaticFail sets the AutomaticFail field's value. +func (s *EvaluationFormSingleSelectQuestionOption) SetAutomaticFail(v bool) *EvaluationFormSingleSelectQuestionOption { + s.AutomaticFail = &v + return s +} + +// SetRefId sets the RefId field's value. +func (s *EvaluationFormSingleSelectQuestionOption) SetRefId(v string) *EvaluationFormSingleSelectQuestionOption { + s.RefId = &v + return s +} + +// SetScore sets the Score field's value. +func (s *EvaluationFormSingleSelectQuestionOption) SetScore(v int64) *EvaluationFormSingleSelectQuestionOption { + s.Score = &v + return s +} + +// SetText sets the Text field's value. +func (s *EvaluationFormSingleSelectQuestionOption) SetText(v string) *EvaluationFormSingleSelectQuestionOption { + s.Text = &v + return s +} + +// Information about the options in single select questions. +type EvaluationFormSingleSelectQuestionProperties struct { + _ struct{} `type:"structure"` + + // The display mode of the single select question. + Automation *EvaluationFormSingleSelectQuestionAutomation `type:"structure"` + + // The display mode of the single select question. + DisplayAs *string `type:"string" enum:"EvaluationFormSingleSelectQuestionDisplayMode"` + + // The answer options of the single select question. + // + // Options is a required field + Options []*EvaluationFormSingleSelectQuestionOption `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSingleSelectQuestionProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSingleSelectQuestionProperties) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationFormSingleSelectQuestionProperties) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationFormSingleSelectQuestionProperties"} + if s.Options == nil { + invalidParams.Add(request.NewErrParamRequired("Options")) + } + if s.Options != nil && len(s.Options) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Options", 1)) + } + if s.Automation != nil { + if err := s.Automation.Validate(); err != nil { + invalidParams.AddNested("Automation", err.(request.ErrInvalidParams)) + } + } + if s.Options != nil { + for i, v := range s.Options { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Options", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomation sets the Automation field's value. +func (s *EvaluationFormSingleSelectQuestionProperties) SetAutomation(v *EvaluationFormSingleSelectQuestionAutomation) *EvaluationFormSingleSelectQuestionProperties { + s.Automation = v + return s +} + +// SetDisplayAs sets the DisplayAs field's value. +func (s *EvaluationFormSingleSelectQuestionProperties) SetDisplayAs(v string) *EvaluationFormSingleSelectQuestionProperties { + s.DisplayAs = &v + return s +} + +// SetOptions sets the Options field's value. +func (s *EvaluationFormSingleSelectQuestionProperties) SetOptions(v []*EvaluationFormSingleSelectQuestionOption) *EvaluationFormSingleSelectQuestionProperties { + s.Options = v + return s +} + +// Summary information about an evaluation form. +type EvaluationFormSummary struct { + _ struct{} `type:"structure"` + + // The version of the active evaluation form version. + ActiveVersion *int64 `min:"1" type:"integer"` + + // The Amazon Resource Name (ARN) of the user who created the evaluation form. + // + // CreatedBy is a required field + CreatedBy *string `type:"string" required:"true"` + + // The timestamp for when the evaluation form was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) for the evaluation form resource. + // + // EvaluationFormArn is a required field + EvaluationFormArn *string `type:"string" required:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the user who last activated the evaluation + // form. + LastActivatedBy *string `type:"string"` + + // The timestamp for when the evaluation form was last activated. + LastActivatedTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the user who last updated the evaluation + // form. + // + // LastModifiedBy is a required field + LastModifiedBy *string `type:"string" required:"true"` + + // The timestamp for when the evaluation form was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The version number of the latest evaluation form version. + // + // LatestVersion is a required field + LatestVersion *int64 `min:"1" type:"integer" required:"true"` + + // A unique title of the evaluation form. + // + // Title is a required field + Title *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormSummary) GoString() string { + return s.String() +} + +// SetActiveVersion sets the ActiveVersion field's value. +func (s *EvaluationFormSummary) SetActiveVersion(v int64) *EvaluationFormSummary { + s.ActiveVersion = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *EvaluationFormSummary) SetCreatedBy(v string) *EvaluationFormSummary { + s.CreatedBy = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *EvaluationFormSummary) SetCreatedTime(v time.Time) *EvaluationFormSummary { + s.CreatedTime = &v + return s +} + +// SetEvaluationFormArn sets the EvaluationFormArn field's value. +func (s *EvaluationFormSummary) SetEvaluationFormArn(v string) *EvaluationFormSummary { + s.EvaluationFormArn = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *EvaluationFormSummary) SetEvaluationFormId(v string) *EvaluationFormSummary { + s.EvaluationFormId = &v + return s +} + +// SetLastActivatedBy sets the LastActivatedBy field's value. +func (s *EvaluationFormSummary) SetLastActivatedBy(v string) *EvaluationFormSummary { + s.LastActivatedBy = &v + return s +} + +// SetLastActivatedTime sets the LastActivatedTime field's value. +func (s *EvaluationFormSummary) SetLastActivatedTime(v time.Time) *EvaluationFormSummary { + s.LastActivatedTime = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *EvaluationFormSummary) SetLastModifiedBy(v string) *EvaluationFormSummary { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *EvaluationFormSummary) SetLastModifiedTime(v time.Time) *EvaluationFormSummary { + s.LastModifiedTime = &v + return s +} + +// SetLatestVersion sets the LatestVersion field's value. +func (s *EvaluationFormSummary) SetLatestVersion(v int64) *EvaluationFormSummary { + s.LatestVersion = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *EvaluationFormSummary) SetTitle(v string) *EvaluationFormSummary { + s.Title = &v + return s +} + +// Summary information about an evaluation form. +type EvaluationFormVersionSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the user who created the evaluation form. + // + // CreatedBy is a required field + CreatedBy *string `type:"string" required:"true"` + + // The timestamp for when the evaluation form was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) for the evaluation form resource. + // + // EvaluationFormArn is a required field + EvaluationFormArn *string `type:"string" required:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `min:"1" type:"string" required:"true"` + + // A version of the evaluation form. + // + // EvaluationFormVersion is a required field + EvaluationFormVersion *int64 `min:"1" type:"integer" required:"true"` + + // The Amazon Resource Name (ARN) of the user who last updated the evaluation + // form. + // + // LastModifiedBy is a required field + LastModifiedBy *string `type:"string" required:"true"` + + // The timestamp for when the evaluation form was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The flag indicating whether the evaluation form is locked for changes. + // + // Locked is a required field + Locked *bool `type:"boolean" required:"true"` + + // The status of the evaluation form. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"EvaluationFormVersionStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormVersionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationFormVersionSummary) GoString() string { + return s.String() +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *EvaluationFormVersionSummary) SetCreatedBy(v string) *EvaluationFormVersionSummary { + s.CreatedBy = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *EvaluationFormVersionSummary) SetCreatedTime(v time.Time) *EvaluationFormVersionSummary { + s.CreatedTime = &v + return s +} + +// SetEvaluationFormArn sets the EvaluationFormArn field's value. +func (s *EvaluationFormVersionSummary) SetEvaluationFormArn(v string) *EvaluationFormVersionSummary { + s.EvaluationFormArn = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *EvaluationFormVersionSummary) SetEvaluationFormId(v string) *EvaluationFormVersionSummary { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *EvaluationFormVersionSummary) SetEvaluationFormVersion(v int64) *EvaluationFormVersionSummary { + s.EvaluationFormVersion = &v + return s +} + +// SetLastModifiedBy sets the LastModifiedBy field's value. +func (s *EvaluationFormVersionSummary) SetLastModifiedBy(v string) *EvaluationFormVersionSummary { + s.LastModifiedBy = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *EvaluationFormVersionSummary) SetLastModifiedTime(v time.Time) *EvaluationFormVersionSummary { + s.LastModifiedTime = &v + return s +} + +// SetLocked sets the Locked field's value. +func (s *EvaluationFormVersionSummary) SetLocked(v bool) *EvaluationFormVersionSummary { + s.Locked = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EvaluationFormVersionSummary) SetStatus(v string) *EvaluationFormVersionSummary { + s.Status = &v + return s +} + +// Metadata information about a contact evaluation. +type EvaluationMetadata struct { + _ struct{} `type:"structure"` + + // The identifier of the agent who performed the contact. + ContactAgentId *string `min:"1" type:"string"` + + // The identifier of the contact in this instance of Amazon Connect. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the user who last updated the evaluation. + // + // EvaluatorArn is a required field + EvaluatorArn *string `type:"string" required:"true"` + + // The overall score of the contact evaluation. + Score *EvaluationScore `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationMetadata) GoString() string { + return s.String() +} + +// SetContactAgentId sets the ContactAgentId field's value. +func (s *EvaluationMetadata) SetContactAgentId(v string) *EvaluationMetadata { + s.ContactAgentId = &v + return s +} + +// SetContactId sets the ContactId field's value. +func (s *EvaluationMetadata) SetContactId(v string) *EvaluationMetadata { + s.ContactId = &v + return s +} + +// SetEvaluatorArn sets the EvaluatorArn field's value. +func (s *EvaluationMetadata) SetEvaluatorArn(v string) *EvaluationMetadata { + s.EvaluatorArn = &v + return s +} + +// SetScore sets the Score field's value. +func (s *EvaluationMetadata) SetScore(v *EvaluationScore) *EvaluationMetadata { + s.Score = v + return s +} + +// Information about notes for a contact evaluation. +type EvaluationNote struct { + _ struct{} `type:"structure"` + + // The note for an item (section or question) in a contact evaluation. + Value *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationNote) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationNote) GoString() string { + return s.String() +} + +// SetValue sets the Value field's value. +func (s *EvaluationNote) SetValue(v string) *EvaluationNote { + s.Value = &v + return s +} + +// Information about scores of a contact evaluation item (section or question). +type EvaluationScore struct { + _ struct{} `type:"structure"` + + // The flag that marks the item as automatic fail. If the item or a child item + // gets an automatic fail answer, this flag will be true. + AutomaticFail *bool `type:"boolean"` + + // The flag to mark the item as not applicable for scoring. + NotApplicable *bool `type:"boolean"` + + // The score percentage for an item in a contact evaluation. + Percentage *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationScore) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationScore) GoString() string { + return s.String() +} + +// SetAutomaticFail sets the AutomaticFail field's value. +func (s *EvaluationScore) SetAutomaticFail(v bool) *EvaluationScore { + s.AutomaticFail = &v + return s +} + +// SetNotApplicable sets the NotApplicable field's value. +func (s *EvaluationScore) SetNotApplicable(v bool) *EvaluationScore { + s.NotApplicable = &v + return s +} + +// SetPercentage sets the Percentage field's value. +func (s *EvaluationScore) SetPercentage(v float64) *EvaluationScore { + s.Percentage = &v + return s +} + +// Summary information about a contact evaluation. +type EvaluationSummary struct { + _ struct{} `type:"structure"` + + // The timestamp for when the evaluation was created. + // + // CreatedTime is a required field + CreatedTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) for the contact evaluation resource. + // + // EvaluationArn is a required field + EvaluationArn *string `type:"string" required:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `min:"1" type:"string" required:"true"` + + // A unique title of the evaluation form. + // + // EvaluationFormTitle is a required field + EvaluationFormTitle *string `type:"string" required:"true"` + + // A unique identifier for the contact evaluation. + // + // EvaluationId is a required field + EvaluationId *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the user who last updated the evaluation. + // + // EvaluatorArn is a required field + EvaluatorArn *string `type:"string" required:"true"` + + // The timestamp for when the evaluation was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The overall score of the contact evaluation. + Score *EvaluationScore `type:"structure"` + + // The status of the contact evaluation. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"EvaluationStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationSummary) GoString() string { + return s.String() +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *EvaluationSummary) SetCreatedTime(v time.Time) *EvaluationSummary { + s.CreatedTime = &v + return s +} + +// SetEvaluationArn sets the EvaluationArn field's value. +func (s *EvaluationSummary) SetEvaluationArn(v string) *EvaluationSummary { + s.EvaluationArn = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *EvaluationSummary) SetEvaluationFormId(v string) *EvaluationSummary { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormTitle sets the EvaluationFormTitle field's value. +func (s *EvaluationSummary) SetEvaluationFormTitle(v string) *EvaluationSummary { + s.EvaluationFormTitle = &v + return s +} + +// SetEvaluationId sets the EvaluationId field's value. +func (s *EvaluationSummary) SetEvaluationId(v string) *EvaluationSummary { + s.EvaluationId = &v + return s +} + +// SetEvaluatorArn sets the EvaluatorArn field's value. +func (s *EvaluationSummary) SetEvaluatorArn(v string) *EvaluationSummary { + s.EvaluatorArn = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *EvaluationSummary) SetLastModifiedTime(v time.Time) *EvaluationSummary { + s.LastModifiedTime = &v + return s +} + +// SetScore sets the Score field's value. +func (s *EvaluationSummary) SetScore(v *EvaluationScore) *EvaluationSummary { + s.Score = v + return s +} + +// SetStatus sets the Status field's value. +func (s *EvaluationSummary) SetStatus(v string) *EvaluationSummary { + s.Status = &v + return s +} + // The EventBridge action definition. type EventBridgeActionDefinition struct { _ struct{} `type:"structure"` @@ -34204,6 +38522,131 @@ func (s *ListBotsOutput) SetNextToken(v string) *ListBotsOutput { return s } +type ListContactEvaluationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the contact in this instance of Amazon Connect. + // + // ContactId is a required field + ContactId *string `location:"querystring" locationName:"contactId" min:"1" type:"string" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + // + // This is not expected to be set because the value returned in the previous + // response is always null. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListContactEvaluationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListContactEvaluationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListContactEvaluationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListContactEvaluationsInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *ListContactEvaluationsInput) SetContactId(v string) *ListContactEvaluationsInput { + s.ContactId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ListContactEvaluationsInput) SetInstanceId(v string) *ListContactEvaluationsInput { + s.InstanceId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContactEvaluationsInput) SetNextToken(v string) *ListContactEvaluationsInput { + s.NextToken = &v + return s +} + +type ListContactEvaluationsOutput struct { + _ struct{} `type:"structure"` + + // Provides details about a list of contact evaluations belonging to an instance. + // + // EvaluationSummaryList is a required field + EvaluationSummaryList []*EvaluationSummary `type:"list" required:"true"` + + // If there are additional results, this is the token for the next set of results. + // + // This is always returned as null in the response. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListContactEvaluationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListContactEvaluationsOutput) GoString() string { + return s.String() +} + +// SetEvaluationSummaryList sets the EvaluationSummaryList field's value. +func (s *ListContactEvaluationsOutput) SetEvaluationSummaryList(v []*EvaluationSummary) *ListContactEvaluationsOutput { + s.EvaluationSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContactEvaluationsOutput) SetNextToken(v string) *ListContactEvaluationsOutput { + s.NextToken = &v + return s +} + type ListContactFlowModulesInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -34714,6 +39157,253 @@ func (s *ListDefaultVocabulariesOutput) SetNextToken(v string) *ListDefaultVocab return s } +type ListEvaluationFormVersionsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `location:"uri" locationName:"EvaluationFormId" min:"1" type:"string" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEvaluationFormVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEvaluationFormVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEvaluationFormVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEvaluationFormVersionsInput"} + if s.EvaluationFormId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationFormId")) + } + if s.EvaluationFormId != nil && len(*s.EvaluationFormId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationFormId", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *ListEvaluationFormVersionsInput) SetEvaluationFormId(v string) *ListEvaluationFormVersionsInput { + s.EvaluationFormId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ListEvaluationFormVersionsInput) SetInstanceId(v string) *ListEvaluationFormVersionsInput { + s.InstanceId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEvaluationFormVersionsInput) SetMaxResults(v int64) *ListEvaluationFormVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEvaluationFormVersionsInput) SetNextToken(v string) *ListEvaluationFormVersionsInput { + s.NextToken = &v + return s +} + +type ListEvaluationFormVersionsOutput struct { + _ struct{} `type:"structure"` + + // Provides details about a list of evaluation forms belonging to an instance. + // + // EvaluationFormVersionSummaryList is a required field + EvaluationFormVersionSummaryList []*EvaluationFormVersionSummary `type:"list" required:"true"` + + // If there are additional results, this is the token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEvaluationFormVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEvaluationFormVersionsOutput) GoString() string { + return s.String() +} + +// SetEvaluationFormVersionSummaryList sets the EvaluationFormVersionSummaryList field's value. +func (s *ListEvaluationFormVersionsOutput) SetEvaluationFormVersionSummaryList(v []*EvaluationFormVersionSummary) *ListEvaluationFormVersionsOutput { + s.EvaluationFormVersionSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEvaluationFormVersionsOutput) SetNextToken(v string) *ListEvaluationFormVersionsOutput { + s.NextToken = &v + return s +} + +type ListEvaluationFormsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEvaluationFormsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEvaluationFormsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEvaluationFormsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEvaluationFormsInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ListEvaluationFormsInput) SetInstanceId(v string) *ListEvaluationFormsInput { + s.InstanceId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEvaluationFormsInput) SetMaxResults(v int64) *ListEvaluationFormsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEvaluationFormsInput) SetNextToken(v string) *ListEvaluationFormsInput { + s.NextToken = &v + return s +} + +type ListEvaluationFormsOutput struct { + _ struct{} `type:"structure"` + + // Provides details about a list of evaluation forms belonging to an instance. + // + // EvaluationFormSummaryList is a required field + EvaluationFormSummaryList []*EvaluationFormSummary `type:"list" required:"true"` + + // If there are additional results, this is the token for the next set of results. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEvaluationFormsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEvaluationFormsOutput) GoString() string { + return s.String() +} + +// SetEvaluationFormSummaryList sets the EvaluationFormSummaryList field's value. +func (s *ListEvaluationFormsOutput) SetEvaluationFormSummaryList(v []*EvaluationFormSummary) *ListEvaluationFormsOutput { + s.EvaluationFormSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEvaluationFormsOutput) SetNextToken(v string) *ListEvaluationFormsOutput { + s.NextToken = &v + return s +} + type ListHoursOfOperationsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -38332,6 +43022,65 @@ func (s *NumberReference) SetValue(v string) *NumberReference { return s } +// Information about the property value used in automation of a numeric questions. +// Label values are associated with minimum and maximum values for the numeric +// question. +// +// - Sentiment scores have a minimum value of -5 and maximum value of 5. +// +// - Duration labels, such as NON_TALK_TIME, CONTACT_DURATION, AGENT_INTERACTION_DURATION, +// CUSTOMER_HOLD_TIME have a minimum value of 0 and maximum value of 28800. +// +// - Percantages have a minimum value of 0 and maximum value of 100. +// +// - NUMBER_OF_INTERRUPTIONS has a minimum value of 0 and maximum value of +// 100. +type NumericQuestionPropertyValueAutomation struct { + _ struct{} `type:"structure"` + + // The property label of the automation. + // + // Label is a required field + Label *string `type:"string" required:"true" enum:"NumericQuestionPropertyAutomationLabel"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NumericQuestionPropertyValueAutomation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NumericQuestionPropertyValueAutomation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NumericQuestionPropertyValueAutomation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NumericQuestionPropertyValueAutomation"} + if s.Label == nil { + invalidParams.Add(request.NewErrParamRequired("Label")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLabel sets the Label field's value. +func (s *NumericQuestionPropertyValueAutomation) SetLabel(v string) *NumericQuestionPropertyValueAutomation { + s.Label = &v + return s +} + // The outbound caller ID name, number, and outbound whisper flow. type OutboundCallerConfig struct { _ struct{} `type:"structure"` @@ -43257,6 +48006,88 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } +// Information about the automation option based on a rule category for a single +// select question. +type SingleSelectQuestionRuleCategoryAutomation struct { + _ struct{} `type:"structure"` + + // The category name, as defined in Rules. + // + // Category is a required field + Category *string `min:"1" type:"string" required:"true"` + + // The condition to apply for the automation option. If the condition is PRESENT, + // then the option is applied when the contact data includes the category. Similarly, + // if the condition is NOT_PRESENT, then the option is applied when the contact + // data does not include the category. + // + // Condition is a required field + Condition *string `type:"string" required:"true" enum:"SingleSelectQuestionRuleCategoryAutomationCondition"` + + // The identifier of the answer option tha + // + // OptionRefId is a required field + OptionRefId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SingleSelectQuestionRuleCategoryAutomation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SingleSelectQuestionRuleCategoryAutomation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SingleSelectQuestionRuleCategoryAutomation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SingleSelectQuestionRuleCategoryAutomation"} + if s.Category == nil { + invalidParams.Add(request.NewErrParamRequired("Category")) + } + if s.Category != nil && len(*s.Category) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Category", 1)) + } + if s.Condition == nil { + invalidParams.Add(request.NewErrParamRequired("Condition")) + } + if s.OptionRefId == nil { + invalidParams.Add(request.NewErrParamRequired("OptionRefId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCategory sets the Category field's value. +func (s *SingleSelectQuestionRuleCategoryAutomation) SetCategory(v string) *SingleSelectQuestionRuleCategoryAutomation { + s.Category = &v + return s +} + +// SetCondition sets the Condition field's value. +func (s *SingleSelectQuestionRuleCategoryAutomation) SetCondition(v string) *SingleSelectQuestionRuleCategoryAutomation { + s.Condition = &v + return s +} + +// SetOptionRefId sets the OptionRefId field's value. +func (s *SingleSelectQuestionRuleCategoryAutomation) SetOptionRefId(v string) *SingleSelectQuestionRuleCategoryAutomation { + s.OptionRefId = &v + return s +} + type StartChatContactInput struct { _ struct{} `type:"structure"` @@ -43514,6 +48345,147 @@ func (s *StartChatContactOutput) SetParticipantToken(v string) *StartChatContact return s } +type StartContactEvaluationInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The identifier of the contact in this instance of Amazon Connect. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `min:"1" type:"string" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartContactEvaluationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartContactEvaluationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartContactEvaluationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartContactEvaluationInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + if s.EvaluationFormId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationFormId")) + } + if s.EvaluationFormId != nil && len(*s.EvaluationFormId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationFormId", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *StartContactEvaluationInput) SetClientToken(v string) *StartContactEvaluationInput { + s.ClientToken = &v + return s +} + +// SetContactId sets the ContactId field's value. +func (s *StartContactEvaluationInput) SetContactId(v string) *StartContactEvaluationInput { + s.ContactId = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *StartContactEvaluationInput) SetEvaluationFormId(v string) *StartContactEvaluationInput { + s.EvaluationFormId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *StartContactEvaluationInput) SetInstanceId(v string) *StartContactEvaluationInput { + s.InstanceId = &v + return s +} + +type StartContactEvaluationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the contact evaluation resource. + // + // EvaluationArn is a required field + EvaluationArn *string `type:"string" required:"true"` + + // A unique identifier for the contact evaluation. + // + // EvaluationId is a required field + EvaluationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartContactEvaluationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartContactEvaluationOutput) GoString() string { + return s.String() +} + +// SetEvaluationArn sets the EvaluationArn field's value. +func (s *StartContactEvaluationOutput) SetEvaluationArn(v string) *StartContactEvaluationOutput { + s.EvaluationArn = &v + return s +} + +// SetEvaluationId sets the EvaluationId field's value. +func (s *StartContactEvaluationOutput) SetEvaluationId(v string) *StartContactEvaluationOutput { + s.EvaluationId = &v + return s +} + type StartContactRecordingInput struct { _ struct{} `type:"structure"` @@ -44592,6 +49564,136 @@ func (s *StringReference) SetValue(v string) *StringReference { return s } +type SubmitContactEvaluationInput struct { + _ struct{} `type:"structure"` + + // A map of question identifiers to answer value. + Answers map[string]*EvaluationAnswerInput_ `type:"map"` + + // A unique identifier for the contact evaluation. + // + // EvaluationId is a required field + EvaluationId *string `location:"uri" locationName:"EvaluationId" min:"1" type:"string" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // A map of question identifiers to note value. + Notes map[string]*EvaluationNote `type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SubmitContactEvaluationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SubmitContactEvaluationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SubmitContactEvaluationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SubmitContactEvaluationInput"} + if s.EvaluationId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationId")) + } + if s.EvaluationId != nil && len(*s.EvaluationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationId", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnswers sets the Answers field's value. +func (s *SubmitContactEvaluationInput) SetAnswers(v map[string]*EvaluationAnswerInput_) *SubmitContactEvaluationInput { + s.Answers = v + return s +} + +// SetEvaluationId sets the EvaluationId field's value. +func (s *SubmitContactEvaluationInput) SetEvaluationId(v string) *SubmitContactEvaluationInput { + s.EvaluationId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *SubmitContactEvaluationInput) SetInstanceId(v string) *SubmitContactEvaluationInput { + s.InstanceId = &v + return s +} + +// SetNotes sets the Notes field's value. +func (s *SubmitContactEvaluationInput) SetNotes(v map[string]*EvaluationNote) *SubmitContactEvaluationInput { + s.Notes = v + return s +} + +type SubmitContactEvaluationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the contact evaluation resource. + // + // EvaluationArn is a required field + EvaluationArn *string `type:"string" required:"true"` + + // A unique identifier for the contact evaluation. + // + // EvaluationId is a required field + EvaluationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SubmitContactEvaluationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SubmitContactEvaluationOutput) GoString() string { + return s.String() +} + +// SetEvaluationArn sets the EvaluationArn field's value. +func (s *SubmitContactEvaluationOutput) SetEvaluationArn(v string) *SubmitContactEvaluationOutput { + s.EvaluationArn = &v + return s +} + +// SetEvaluationId sets the EvaluationId field's value. +func (s *SubmitContactEvaluationOutput) SetEvaluationId(v string) *SubmitContactEvaluationOutput { + s.EvaluationId = &v + return s +} + type SuspendContactRecordingInput struct { _ struct{} `type:"structure"` @@ -46253,6 +51355,136 @@ func (s UpdateContactAttributesOutput) GoString() string { return s.String() } +type UpdateContactEvaluationInput struct { + _ struct{} `type:"structure"` + + // A map of question identifiers to answer value. + Answers map[string]*EvaluationAnswerInput_ `type:"map"` + + // A unique identifier for the contact evaluation. + // + // EvaluationId is a required field + EvaluationId *string `location:"uri" locationName:"EvaluationId" min:"1" type:"string" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // A map of question identifiers to note value. + Notes map[string]*EvaluationNote `type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateContactEvaluationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateContactEvaluationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateContactEvaluationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateContactEvaluationInput"} + if s.EvaluationId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationId")) + } + if s.EvaluationId != nil && len(*s.EvaluationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationId", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnswers sets the Answers field's value. +func (s *UpdateContactEvaluationInput) SetAnswers(v map[string]*EvaluationAnswerInput_) *UpdateContactEvaluationInput { + s.Answers = v + return s +} + +// SetEvaluationId sets the EvaluationId field's value. +func (s *UpdateContactEvaluationInput) SetEvaluationId(v string) *UpdateContactEvaluationInput { + s.EvaluationId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *UpdateContactEvaluationInput) SetInstanceId(v string) *UpdateContactEvaluationInput { + s.InstanceId = &v + return s +} + +// SetNotes sets the Notes field's value. +func (s *UpdateContactEvaluationInput) SetNotes(v map[string]*EvaluationNote) *UpdateContactEvaluationInput { + s.Notes = v + return s +} + +type UpdateContactEvaluationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the contact evaluation resource. + // + // EvaluationArn is a required field + EvaluationArn *string `type:"string" required:"true"` + + // A unique identifier for the contact evaluation. + // + // EvaluationId is a required field + EvaluationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateContactEvaluationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateContactEvaluationOutput) GoString() string { + return s.String() +} + +// SetEvaluationArn sets the EvaluationArn field's value. +func (s *UpdateContactEvaluationOutput) SetEvaluationArn(v string) *UpdateContactEvaluationOutput { + s.EvaluationArn = &v + return s +} + +// SetEvaluationId sets the EvaluationId field's value. +func (s *UpdateContactEvaluationOutput) SetEvaluationId(v string) *UpdateContactEvaluationOutput { + s.EvaluationId = &v + return s +} + type UpdateContactFlowContentInput struct { _ struct{} `type:"structure"` @@ -47046,6 +52278,230 @@ func (s UpdateContactScheduleOutput) GoString() string { return s.String() } +type UpdateEvaluationFormInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. If not provided, the Amazon Web Services SDK populates this + // field. For more information about idempotency, see Making retries safe with + // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). + ClientToken *string `type:"string" idempotencyToken:"true"` + + // A flag indicating whether the operation must create a new version. + CreateNewVersion *bool `type:"boolean"` + + // The description of the evaluation form. + Description *string `type:"string"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `location:"uri" locationName:"EvaluationFormId" min:"1" type:"string" required:"true"` + + // A version of the evaluation form to update. + // + // EvaluationFormVersion is a required field + EvaluationFormVersion *int64 `min:"1" type:"integer" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // Items that are part of the evaluation form. The total number of sections + // and questions must not exceed 100 each. Questions must be contained in a + // section. + // + // Items is a required field + Items []*EvaluationFormItem `type:"list" required:"true"` + + // A scoring strategy of the evaluation form. + ScoringStrategy *EvaluationFormScoringStrategy `type:"structure"` + + // A unique title of the evaluation form. + // + // Title is a required field + Title *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateEvaluationFormInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateEvaluationFormInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEvaluationFormInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEvaluationFormInput"} + if s.EvaluationFormId == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationFormId")) + } + if s.EvaluationFormId != nil && len(*s.EvaluationFormId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EvaluationFormId", 1)) + } + if s.EvaluationFormVersion == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationFormVersion")) + } + if s.EvaluationFormVersion != nil && *s.EvaluationFormVersion < 1 { + invalidParams.Add(request.NewErrParamMinValue("EvaluationFormVersion", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Title == nil { + invalidParams.Add(request.NewErrParamRequired("Title")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScoringStrategy != nil { + if err := s.ScoringStrategy.Validate(); err != nil { + invalidParams.AddNested("ScoringStrategy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateEvaluationFormInput) SetClientToken(v string) *UpdateEvaluationFormInput { + s.ClientToken = &v + return s +} + +// SetCreateNewVersion sets the CreateNewVersion field's value. +func (s *UpdateEvaluationFormInput) SetCreateNewVersion(v bool) *UpdateEvaluationFormInput { + s.CreateNewVersion = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateEvaluationFormInput) SetDescription(v string) *UpdateEvaluationFormInput { + s.Description = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *UpdateEvaluationFormInput) SetEvaluationFormId(v string) *UpdateEvaluationFormInput { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *UpdateEvaluationFormInput) SetEvaluationFormVersion(v int64) *UpdateEvaluationFormInput { + s.EvaluationFormVersion = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *UpdateEvaluationFormInput) SetInstanceId(v string) *UpdateEvaluationFormInput { + s.InstanceId = &v + return s +} + +// SetItems sets the Items field's value. +func (s *UpdateEvaluationFormInput) SetItems(v []*EvaluationFormItem) *UpdateEvaluationFormInput { + s.Items = v + return s +} + +// SetScoringStrategy sets the ScoringStrategy field's value. +func (s *UpdateEvaluationFormInput) SetScoringStrategy(v *EvaluationFormScoringStrategy) *UpdateEvaluationFormInput { + s.ScoringStrategy = v + return s +} + +// SetTitle sets the Title field's value. +func (s *UpdateEvaluationFormInput) SetTitle(v string) *UpdateEvaluationFormInput { + s.Title = &v + return s +} + +type UpdateEvaluationFormOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the contact evaluation resource. + // + // EvaluationFormArn is a required field + EvaluationFormArn *string `type:"string" required:"true"` + + // The unique identifier for the evaluation form. + // + // EvaluationFormId is a required field + EvaluationFormId *string `min:"1" type:"string" required:"true"` + + // The version of the updated evaluation form resource. + // + // EvaluationFormVersion is a required field + EvaluationFormVersion *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateEvaluationFormOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateEvaluationFormOutput) GoString() string { + return s.String() +} + +// SetEvaluationFormArn sets the EvaluationFormArn field's value. +func (s *UpdateEvaluationFormOutput) SetEvaluationFormArn(v string) *UpdateEvaluationFormOutput { + s.EvaluationFormArn = &v + return s +} + +// SetEvaluationFormId sets the EvaluationFormId field's value. +func (s *UpdateEvaluationFormOutput) SetEvaluationFormId(v string) *UpdateEvaluationFormOutput { + s.EvaluationFormId = &v + return s +} + +// SetEvaluationFormVersion sets the EvaluationFormVersion field's value. +func (s *UpdateEvaluationFormOutput) SetEvaluationFormVersion(v int64) *UpdateEvaluationFormOutput { + s.EvaluationFormVersion = &v + return s +} + type UpdateHoursOfOperationInput struct { _ struct{} `type:"structure"` @@ -52002,6 +57458,106 @@ func EncryptionType_Values() []string { } } +const ( + // EvaluationFormQuestionTypeText is a EvaluationFormQuestionType enum value + EvaluationFormQuestionTypeText = "TEXT" + + // EvaluationFormQuestionTypeSingleselect is a EvaluationFormQuestionType enum value + EvaluationFormQuestionTypeSingleselect = "SINGLESELECT" + + // EvaluationFormQuestionTypeNumeric is a EvaluationFormQuestionType enum value + EvaluationFormQuestionTypeNumeric = "NUMERIC" +) + +// EvaluationFormQuestionType_Values returns all elements of the EvaluationFormQuestionType enum +func EvaluationFormQuestionType_Values() []string { + return []string{ + EvaluationFormQuestionTypeText, + EvaluationFormQuestionTypeSingleselect, + EvaluationFormQuestionTypeNumeric, + } +} + +const ( + // EvaluationFormScoringModeQuestionOnly is a EvaluationFormScoringMode enum value + EvaluationFormScoringModeQuestionOnly = "QUESTION_ONLY" + + // EvaluationFormScoringModeSectionOnly is a EvaluationFormScoringMode enum value + EvaluationFormScoringModeSectionOnly = "SECTION_ONLY" +) + +// EvaluationFormScoringMode_Values returns all elements of the EvaluationFormScoringMode enum +func EvaluationFormScoringMode_Values() []string { + return []string{ + EvaluationFormScoringModeQuestionOnly, + EvaluationFormScoringModeSectionOnly, + } +} + +const ( + // EvaluationFormScoringStatusEnabled is a EvaluationFormScoringStatus enum value + EvaluationFormScoringStatusEnabled = "ENABLED" + + // EvaluationFormScoringStatusDisabled is a EvaluationFormScoringStatus enum value + EvaluationFormScoringStatusDisabled = "DISABLED" +) + +// EvaluationFormScoringStatus_Values returns all elements of the EvaluationFormScoringStatus enum +func EvaluationFormScoringStatus_Values() []string { + return []string{ + EvaluationFormScoringStatusEnabled, + EvaluationFormScoringStatusDisabled, + } +} + +const ( + // EvaluationFormSingleSelectQuestionDisplayModeDropdown is a EvaluationFormSingleSelectQuestionDisplayMode enum value + EvaluationFormSingleSelectQuestionDisplayModeDropdown = "DROPDOWN" + + // EvaluationFormSingleSelectQuestionDisplayModeRadio is a EvaluationFormSingleSelectQuestionDisplayMode enum value + EvaluationFormSingleSelectQuestionDisplayModeRadio = "RADIO" +) + +// EvaluationFormSingleSelectQuestionDisplayMode_Values returns all elements of the EvaluationFormSingleSelectQuestionDisplayMode enum +func EvaluationFormSingleSelectQuestionDisplayMode_Values() []string { + return []string{ + EvaluationFormSingleSelectQuestionDisplayModeDropdown, + EvaluationFormSingleSelectQuestionDisplayModeRadio, + } +} + +const ( + // EvaluationFormVersionStatusDraft is a EvaluationFormVersionStatus enum value + EvaluationFormVersionStatusDraft = "DRAFT" + + // EvaluationFormVersionStatusActive is a EvaluationFormVersionStatus enum value + EvaluationFormVersionStatusActive = "ACTIVE" +) + +// EvaluationFormVersionStatus_Values returns all elements of the EvaluationFormVersionStatus enum +func EvaluationFormVersionStatus_Values() []string { + return []string{ + EvaluationFormVersionStatusDraft, + EvaluationFormVersionStatusActive, + } +} + +const ( + // EvaluationStatusDraft is a EvaluationStatus enum value + EvaluationStatusDraft = "DRAFT" + + // EvaluationStatusSubmitted is a EvaluationStatus enum value + EvaluationStatusSubmitted = "SUBMITTED" +) + +// EvaluationStatus_Values returns all elements of the EvaluationStatus enum +func EvaluationStatus_Values() []string { + return []string{ + EvaluationStatusDraft, + EvaluationStatusSubmitted, + } +} + const ( // EventSourceNameOnPostCallAnalysisAvailable is a EventSourceName enum value EventSourceNameOnPostCallAnalysisAvailable = "OnPostCallAnalysisAvailable" @@ -52415,6 +57971,46 @@ func NotificationDeliveryType_Values() []string { } } +const ( + // NumericQuestionPropertyAutomationLabelOverallCustomerSentimentScore is a NumericQuestionPropertyAutomationLabel enum value + NumericQuestionPropertyAutomationLabelOverallCustomerSentimentScore = "OVERALL_CUSTOMER_SENTIMENT_SCORE" + + // NumericQuestionPropertyAutomationLabelOverallAgentSentimentScore is a NumericQuestionPropertyAutomationLabel enum value + NumericQuestionPropertyAutomationLabelOverallAgentSentimentScore = "OVERALL_AGENT_SENTIMENT_SCORE" + + // NumericQuestionPropertyAutomationLabelNonTalkTime is a NumericQuestionPropertyAutomationLabel enum value + NumericQuestionPropertyAutomationLabelNonTalkTime = "NON_TALK_TIME" + + // NumericQuestionPropertyAutomationLabelNonTalkTimePercentage is a NumericQuestionPropertyAutomationLabel enum value + NumericQuestionPropertyAutomationLabelNonTalkTimePercentage = "NON_TALK_TIME_PERCENTAGE" + + // NumericQuestionPropertyAutomationLabelNumberOfInterruptions is a NumericQuestionPropertyAutomationLabel enum value + NumericQuestionPropertyAutomationLabelNumberOfInterruptions = "NUMBER_OF_INTERRUPTIONS" + + // NumericQuestionPropertyAutomationLabelContactDuration is a NumericQuestionPropertyAutomationLabel enum value + NumericQuestionPropertyAutomationLabelContactDuration = "CONTACT_DURATION" + + // NumericQuestionPropertyAutomationLabelAgentInteractionDuration is a NumericQuestionPropertyAutomationLabel enum value + NumericQuestionPropertyAutomationLabelAgentInteractionDuration = "AGENT_INTERACTION_DURATION" + + // NumericQuestionPropertyAutomationLabelCustomerHoldTime is a NumericQuestionPropertyAutomationLabel enum value + NumericQuestionPropertyAutomationLabelCustomerHoldTime = "CUSTOMER_HOLD_TIME" +) + +// NumericQuestionPropertyAutomationLabel_Values returns all elements of the NumericQuestionPropertyAutomationLabel enum +func NumericQuestionPropertyAutomationLabel_Values() []string { + return []string{ + NumericQuestionPropertyAutomationLabelOverallCustomerSentimentScore, + NumericQuestionPropertyAutomationLabelOverallAgentSentimentScore, + NumericQuestionPropertyAutomationLabelNonTalkTime, + NumericQuestionPropertyAutomationLabelNonTalkTimePercentage, + NumericQuestionPropertyAutomationLabelNumberOfInterruptions, + NumericQuestionPropertyAutomationLabelContactDuration, + NumericQuestionPropertyAutomationLabelAgentInteractionDuration, + NumericQuestionPropertyAutomationLabelCustomerHoldTime, + } +} + const ( // ParticipantRoleAgent is a ParticipantRole enum value ParticipantRoleAgent = "AGENT" @@ -53687,6 +59283,22 @@ func SearchableQueueType_Values() []string { } } +const ( + // SingleSelectQuestionRuleCategoryAutomationConditionPresent is a SingleSelectQuestionRuleCategoryAutomationCondition enum value + SingleSelectQuestionRuleCategoryAutomationConditionPresent = "PRESENT" + + // SingleSelectQuestionRuleCategoryAutomationConditionNotPresent is a SingleSelectQuestionRuleCategoryAutomationCondition enum value + SingleSelectQuestionRuleCategoryAutomationConditionNotPresent = "NOT_PRESENT" +) + +// SingleSelectQuestionRuleCategoryAutomationCondition_Values returns all elements of the SingleSelectQuestionRuleCategoryAutomationCondition enum +func SingleSelectQuestionRuleCategoryAutomationCondition_Values() []string { + return []string{ + SingleSelectQuestionRuleCategoryAutomationConditionPresent, + SingleSelectQuestionRuleCategoryAutomationConditionNotPresent, + } +} + const ( // SortOrderAscending is a SortOrder enum value SortOrderAscending = "ASCENDING" diff --git a/service/connect/connectiface/interface.go b/service/connect/connectiface/interface.go index 25d3878c8e2..092f01811b9 100644 --- a/service/connect/connectiface/interface.go +++ b/service/connect/connectiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Amazon Connect Service. // func myFunc(svc connectiface.ConnectAPI) bool { -// // Make svc.AssociateApprovedOrigin request +// // Make svc.ActivateEvaluationForm request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockConnectClient struct { // connectiface.ConnectAPI // } -// func (m *mockConnectClient) AssociateApprovedOrigin(input *connect.AssociateApprovedOriginInput) (*connect.AssociateApprovedOriginOutput, error) { +// func (m *mockConnectClient) ActivateEvaluationForm(input *connect.ActivateEvaluationFormInput) (*connect.ActivateEvaluationFormOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type ConnectAPI interface { + ActivateEvaluationForm(*connect.ActivateEvaluationFormInput) (*connect.ActivateEvaluationFormOutput, error) + ActivateEvaluationFormWithContext(aws.Context, *connect.ActivateEvaluationFormInput, ...request.Option) (*connect.ActivateEvaluationFormOutput, error) + ActivateEvaluationFormRequest(*connect.ActivateEvaluationFormInput) (*request.Request, *connect.ActivateEvaluationFormOutput) + AssociateApprovedOrigin(*connect.AssociateApprovedOriginInput) (*connect.AssociateApprovedOriginOutput, error) AssociateApprovedOriginWithContext(aws.Context, *connect.AssociateApprovedOriginInput, ...request.Option) (*connect.AssociateApprovedOriginOutput, error) AssociateApprovedOriginRequest(*connect.AssociateApprovedOriginInput) (*request.Request, *connect.AssociateApprovedOriginOutput) @@ -116,6 +120,10 @@ type ConnectAPI interface { CreateContactFlowModuleWithContext(aws.Context, *connect.CreateContactFlowModuleInput, ...request.Option) (*connect.CreateContactFlowModuleOutput, error) CreateContactFlowModuleRequest(*connect.CreateContactFlowModuleInput) (*request.Request, *connect.CreateContactFlowModuleOutput) + CreateEvaluationForm(*connect.CreateEvaluationFormInput) (*connect.CreateEvaluationFormOutput, error) + CreateEvaluationFormWithContext(aws.Context, *connect.CreateEvaluationFormInput, ...request.Option) (*connect.CreateEvaluationFormOutput, error) + CreateEvaluationFormRequest(*connect.CreateEvaluationFormInput) (*request.Request, *connect.CreateEvaluationFormOutput) + CreateHoursOfOperation(*connect.CreateHoursOfOperationInput) (*connect.CreateHoursOfOperationOutput, error) CreateHoursOfOperationWithContext(aws.Context, *connect.CreateHoursOfOperationInput, ...request.Option) (*connect.CreateHoursOfOperationOutput, error) CreateHoursOfOperationRequest(*connect.CreateHoursOfOperationInput) (*request.Request, *connect.CreateHoursOfOperationOutput) @@ -176,6 +184,14 @@ type ConnectAPI interface { CreateVocabularyWithContext(aws.Context, *connect.CreateVocabularyInput, ...request.Option) (*connect.CreateVocabularyOutput, error) CreateVocabularyRequest(*connect.CreateVocabularyInput) (*request.Request, *connect.CreateVocabularyOutput) + DeactivateEvaluationForm(*connect.DeactivateEvaluationFormInput) (*connect.DeactivateEvaluationFormOutput, error) + DeactivateEvaluationFormWithContext(aws.Context, *connect.DeactivateEvaluationFormInput, ...request.Option) (*connect.DeactivateEvaluationFormOutput, error) + DeactivateEvaluationFormRequest(*connect.DeactivateEvaluationFormInput) (*request.Request, *connect.DeactivateEvaluationFormOutput) + + DeleteContactEvaluation(*connect.DeleteContactEvaluationInput) (*connect.DeleteContactEvaluationOutput, error) + DeleteContactEvaluationWithContext(aws.Context, *connect.DeleteContactEvaluationInput, ...request.Option) (*connect.DeleteContactEvaluationOutput, error) + DeleteContactEvaluationRequest(*connect.DeleteContactEvaluationInput) (*request.Request, *connect.DeleteContactEvaluationOutput) + DeleteContactFlow(*connect.DeleteContactFlowInput) (*connect.DeleteContactFlowOutput, error) DeleteContactFlowWithContext(aws.Context, *connect.DeleteContactFlowInput, ...request.Option) (*connect.DeleteContactFlowOutput, error) DeleteContactFlowRequest(*connect.DeleteContactFlowInput) (*request.Request, *connect.DeleteContactFlowOutput) @@ -184,6 +200,10 @@ type ConnectAPI interface { DeleteContactFlowModuleWithContext(aws.Context, *connect.DeleteContactFlowModuleInput, ...request.Option) (*connect.DeleteContactFlowModuleOutput, error) DeleteContactFlowModuleRequest(*connect.DeleteContactFlowModuleInput) (*request.Request, *connect.DeleteContactFlowModuleOutput) + DeleteEvaluationForm(*connect.DeleteEvaluationFormInput) (*connect.DeleteEvaluationFormOutput, error) + DeleteEvaluationFormWithContext(aws.Context, *connect.DeleteEvaluationFormInput, ...request.Option) (*connect.DeleteEvaluationFormOutput, error) + DeleteEvaluationFormRequest(*connect.DeleteEvaluationFormInput) (*request.Request, *connect.DeleteEvaluationFormOutput) + DeleteHoursOfOperation(*connect.DeleteHoursOfOperationInput) (*connect.DeleteHoursOfOperationOutput, error) DeleteHoursOfOperationWithContext(aws.Context, *connect.DeleteHoursOfOperationInput, ...request.Option) (*connect.DeleteHoursOfOperationOutput, error) DeleteHoursOfOperationRequest(*connect.DeleteHoursOfOperationInput) (*request.Request, *connect.DeleteHoursOfOperationOutput) @@ -240,6 +260,10 @@ type ConnectAPI interface { DescribeContactWithContext(aws.Context, *connect.DescribeContactInput, ...request.Option) (*connect.DescribeContactOutput, error) DescribeContactRequest(*connect.DescribeContactInput) (*request.Request, *connect.DescribeContactOutput) + DescribeContactEvaluation(*connect.DescribeContactEvaluationInput) (*connect.DescribeContactEvaluationOutput, error) + DescribeContactEvaluationWithContext(aws.Context, *connect.DescribeContactEvaluationInput, ...request.Option) (*connect.DescribeContactEvaluationOutput, error) + DescribeContactEvaluationRequest(*connect.DescribeContactEvaluationInput) (*request.Request, *connect.DescribeContactEvaluationOutput) + DescribeContactFlow(*connect.DescribeContactFlowInput) (*connect.DescribeContactFlowOutput, error) DescribeContactFlowWithContext(aws.Context, *connect.DescribeContactFlowInput, ...request.Option) (*connect.DescribeContactFlowOutput, error) DescribeContactFlowRequest(*connect.DescribeContactFlowInput) (*request.Request, *connect.DescribeContactFlowOutput) @@ -248,6 +272,10 @@ type ConnectAPI interface { DescribeContactFlowModuleWithContext(aws.Context, *connect.DescribeContactFlowModuleInput, ...request.Option) (*connect.DescribeContactFlowModuleOutput, error) DescribeContactFlowModuleRequest(*connect.DescribeContactFlowModuleInput) (*request.Request, *connect.DescribeContactFlowModuleOutput) + DescribeEvaluationForm(*connect.DescribeEvaluationFormInput) (*connect.DescribeEvaluationFormOutput, error) + DescribeEvaluationFormWithContext(aws.Context, *connect.DescribeEvaluationFormInput, ...request.Option) (*connect.DescribeEvaluationFormOutput, error) + DescribeEvaluationFormRequest(*connect.DescribeEvaluationFormInput) (*request.Request, *connect.DescribeEvaluationFormOutput) + DescribeHoursOfOperation(*connect.DescribeHoursOfOperationInput) (*connect.DescribeHoursOfOperationOutput, error) DescribeHoursOfOperationWithContext(aws.Context, *connect.DescribeHoursOfOperationInput, ...request.Option) (*connect.DescribeHoursOfOperationOutput, error) DescribeHoursOfOperationRequest(*connect.DescribeHoursOfOperationInput) (*request.Request, *connect.DescribeHoursOfOperationOutput) @@ -413,6 +441,13 @@ type ConnectAPI interface { ListBotsPages(*connect.ListBotsInput, func(*connect.ListBotsOutput, bool) bool) error ListBotsPagesWithContext(aws.Context, *connect.ListBotsInput, func(*connect.ListBotsOutput, bool) bool, ...request.Option) error + ListContactEvaluations(*connect.ListContactEvaluationsInput) (*connect.ListContactEvaluationsOutput, error) + ListContactEvaluationsWithContext(aws.Context, *connect.ListContactEvaluationsInput, ...request.Option) (*connect.ListContactEvaluationsOutput, error) + ListContactEvaluationsRequest(*connect.ListContactEvaluationsInput) (*request.Request, *connect.ListContactEvaluationsOutput) + + ListContactEvaluationsPages(*connect.ListContactEvaluationsInput, func(*connect.ListContactEvaluationsOutput, bool) bool) error + ListContactEvaluationsPagesWithContext(aws.Context, *connect.ListContactEvaluationsInput, func(*connect.ListContactEvaluationsOutput, bool) bool, ...request.Option) error + ListContactFlowModules(*connect.ListContactFlowModulesInput) (*connect.ListContactFlowModulesOutput, error) ListContactFlowModulesWithContext(aws.Context, *connect.ListContactFlowModulesInput, ...request.Option) (*connect.ListContactFlowModulesOutput, error) ListContactFlowModulesRequest(*connect.ListContactFlowModulesInput) (*request.Request, *connect.ListContactFlowModulesOutput) @@ -441,6 +476,20 @@ type ConnectAPI interface { ListDefaultVocabulariesPages(*connect.ListDefaultVocabulariesInput, func(*connect.ListDefaultVocabulariesOutput, bool) bool) error ListDefaultVocabulariesPagesWithContext(aws.Context, *connect.ListDefaultVocabulariesInput, func(*connect.ListDefaultVocabulariesOutput, bool) bool, ...request.Option) error + ListEvaluationFormVersions(*connect.ListEvaluationFormVersionsInput) (*connect.ListEvaluationFormVersionsOutput, error) + ListEvaluationFormVersionsWithContext(aws.Context, *connect.ListEvaluationFormVersionsInput, ...request.Option) (*connect.ListEvaluationFormVersionsOutput, error) + ListEvaluationFormVersionsRequest(*connect.ListEvaluationFormVersionsInput) (*request.Request, *connect.ListEvaluationFormVersionsOutput) + + ListEvaluationFormVersionsPages(*connect.ListEvaluationFormVersionsInput, func(*connect.ListEvaluationFormVersionsOutput, bool) bool) error + ListEvaluationFormVersionsPagesWithContext(aws.Context, *connect.ListEvaluationFormVersionsInput, func(*connect.ListEvaluationFormVersionsOutput, bool) bool, ...request.Option) error + + ListEvaluationForms(*connect.ListEvaluationFormsInput) (*connect.ListEvaluationFormsOutput, error) + ListEvaluationFormsWithContext(aws.Context, *connect.ListEvaluationFormsInput, ...request.Option) (*connect.ListEvaluationFormsOutput, error) + ListEvaluationFormsRequest(*connect.ListEvaluationFormsInput) (*request.Request, *connect.ListEvaluationFormsOutput) + + ListEvaluationFormsPages(*connect.ListEvaluationFormsInput, func(*connect.ListEvaluationFormsOutput, bool) bool) error + ListEvaluationFormsPagesWithContext(aws.Context, *connect.ListEvaluationFormsInput, func(*connect.ListEvaluationFormsOutput, bool) bool, ...request.Option) error + ListHoursOfOperations(*connect.ListHoursOfOperationsInput) (*connect.ListHoursOfOperationsOutput, error) ListHoursOfOperationsWithContext(aws.Context, *connect.ListHoursOfOperationsInput, ...request.Option) (*connect.ListHoursOfOperationsOutput, error) ListHoursOfOperationsRequest(*connect.ListHoursOfOperationsInput) (*request.Request, *connect.ListHoursOfOperationsOutput) @@ -679,6 +728,10 @@ type ConnectAPI interface { StartChatContactWithContext(aws.Context, *connect.StartChatContactInput, ...request.Option) (*connect.StartChatContactOutput, error) StartChatContactRequest(*connect.StartChatContactInput) (*request.Request, *connect.StartChatContactOutput) + StartContactEvaluation(*connect.StartContactEvaluationInput) (*connect.StartContactEvaluationOutput, error) + StartContactEvaluationWithContext(aws.Context, *connect.StartContactEvaluationInput, ...request.Option) (*connect.StartContactEvaluationOutput, error) + StartContactEvaluationRequest(*connect.StartContactEvaluationInput) (*request.Request, *connect.StartContactEvaluationOutput) + StartContactRecording(*connect.StartContactRecordingInput) (*connect.StartContactRecordingOutput, error) StartContactRecordingWithContext(aws.Context, *connect.StartContactRecordingInput, ...request.Option) (*connect.StartContactRecordingOutput, error) StartContactRecordingRequest(*connect.StartContactRecordingInput) (*request.Request, *connect.StartContactRecordingOutput) @@ -707,6 +760,10 @@ type ConnectAPI interface { StopContactStreamingWithContext(aws.Context, *connect.StopContactStreamingInput, ...request.Option) (*connect.StopContactStreamingOutput, error) StopContactStreamingRequest(*connect.StopContactStreamingInput) (*request.Request, *connect.StopContactStreamingOutput) + SubmitContactEvaluation(*connect.SubmitContactEvaluationInput) (*connect.SubmitContactEvaluationOutput, error) + SubmitContactEvaluationWithContext(aws.Context, *connect.SubmitContactEvaluationInput, ...request.Option) (*connect.SubmitContactEvaluationOutput, error) + SubmitContactEvaluationRequest(*connect.SubmitContactEvaluationInput) (*request.Request, *connect.SubmitContactEvaluationOutput) + SuspendContactRecording(*connect.SuspendContactRecordingInput) (*connect.SuspendContactRecordingOutput, error) SuspendContactRecordingWithContext(aws.Context, *connect.SuspendContactRecordingInput, ...request.Option) (*connect.SuspendContactRecordingOutput, error) SuspendContactRecordingRequest(*connect.SuspendContactRecordingInput) (*request.Request, *connect.SuspendContactRecordingOutput) @@ -735,6 +792,10 @@ type ConnectAPI interface { UpdateContactAttributesWithContext(aws.Context, *connect.UpdateContactAttributesInput, ...request.Option) (*connect.UpdateContactAttributesOutput, error) UpdateContactAttributesRequest(*connect.UpdateContactAttributesInput) (*request.Request, *connect.UpdateContactAttributesOutput) + UpdateContactEvaluation(*connect.UpdateContactEvaluationInput) (*connect.UpdateContactEvaluationOutput, error) + UpdateContactEvaluationWithContext(aws.Context, *connect.UpdateContactEvaluationInput, ...request.Option) (*connect.UpdateContactEvaluationOutput, error) + UpdateContactEvaluationRequest(*connect.UpdateContactEvaluationInput) (*request.Request, *connect.UpdateContactEvaluationOutput) + UpdateContactFlowContent(*connect.UpdateContactFlowContentInput) (*connect.UpdateContactFlowContentOutput, error) UpdateContactFlowContentWithContext(aws.Context, *connect.UpdateContactFlowContentInput, ...request.Option) (*connect.UpdateContactFlowContentOutput, error) UpdateContactFlowContentRequest(*connect.UpdateContactFlowContentInput) (*request.Request, *connect.UpdateContactFlowContentOutput) @@ -759,6 +820,10 @@ type ConnectAPI interface { UpdateContactScheduleWithContext(aws.Context, *connect.UpdateContactScheduleInput, ...request.Option) (*connect.UpdateContactScheduleOutput, error) UpdateContactScheduleRequest(*connect.UpdateContactScheduleInput) (*request.Request, *connect.UpdateContactScheduleOutput) + UpdateEvaluationForm(*connect.UpdateEvaluationFormInput) (*connect.UpdateEvaluationFormOutput, error) + UpdateEvaluationFormWithContext(aws.Context, *connect.UpdateEvaluationFormInput, ...request.Option) (*connect.UpdateEvaluationFormOutput, error) + UpdateEvaluationFormRequest(*connect.UpdateEvaluationFormInput) (*request.Request, *connect.UpdateEvaluationFormOutput) + UpdateHoursOfOperation(*connect.UpdateHoursOfOperationInput) (*connect.UpdateHoursOfOperationOutput, error) UpdateHoursOfOperationWithContext(aws.Context, *connect.UpdateHoursOfOperationInput, ...request.Option) (*connect.UpdateHoursOfOperationOutput, error) UpdateHoursOfOperationRequest(*connect.UpdateHoursOfOperationInput) (*request.Request, *connect.UpdateHoursOfOperationOutput) diff --git a/service/datasync/api.go b/service/datasync/api.go index ae4c249bdb8..8914f99b505 100644 --- a/service/datasync/api.go +++ b/service/datasync/api.go @@ -13,6 +13,91 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opAddStorageSystem = "AddStorageSystem" + +// AddStorageSystemRequest generates a "aws/request.Request" representing the +// client's request for the AddStorageSystem operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AddStorageSystem for more information on using the AddStorageSystem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the AddStorageSystemRequest method. +// req, resp := client.AddStorageSystemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/AddStorageSystem +func (c *DataSync) AddStorageSystemRequest(input *AddStorageSystemInput) (req *request.Request, output *AddStorageSystemOutput) { + op := &request.Operation{ + Name: opAddStorageSystem, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddStorageSystemInput{} + } + + output = &AddStorageSystemOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// AddStorageSystem API operation for AWS DataSync. +// +// Creates an Amazon Web Services resource for an on-premises storage system +// that you want DataSync Discovery to collect information about. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation AddStorageSystem for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/AddStorageSystem +func (c *DataSync) AddStorageSystem(input *AddStorageSystemInput) (*AddStorageSystemOutput, error) { + req, out := c.AddStorageSystemRequest(input) + return out, req.Send() +} + +// AddStorageSystemWithContext is the same as AddStorageSystem with the addition of +// the ability to pass a context and additional request options. +// +// See AddStorageSystem for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) AddStorageSystemWithContext(ctx aws.Context, input *AddStorageSystemInput, opts ...request.Option) (*AddStorageSystemOutput, error) { + req, out := c.AddStorageSystemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCancelTaskExecution = "CancelTaskExecution" // CancelTaskExecutionRequest generates a "aws/request.Request" representing the @@ -914,8 +999,16 @@ func (c *DataSync) CreateLocationS3Request(input *CreateLocationS3Input) (req *r // CreateLocationS3 API operation for AWS DataSync. // -// Creates an endpoint for an Amazon S3 bucket that DataSync can access for -// a transfer. For more information, see Create an Amazon S3 location (https://docs.aws.amazon.com/datasync/latest/userguide/create-locations-cli.html#create-location-s3-cli). +// A location is an endpoint for an Amazon S3 bucket. DataSync can use the location +// as a source or destination for copying data. +// +// Before you create your location, make sure that you read the following sections: +// +// - Storage class considerations with Amazon S3 locations (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes) +// +// - Evaluating S3 request costs when using DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#create-s3-location-s3-requests) +// +// For more information, see Creating an Amazon S3 location (https://docs.aws.amazon.com/datasync/latest/userguide/create-locations-cli.html#create-location-s3-cli). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1087,6 +1180,11 @@ func (c *DataSync) CreateTaskRequest(input *CreateTaskInput) (req *request.Reque // for how and when you want to transfer your data (such as bandwidth limits, // scheduling, among other options). // +// If you're planning to transfer data to or from an Amazon S3 location, review +// how DataSync can affect your S3 request charges (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#create-s3-location-s3-requests) +// and the DataSync pricing page (http://aws.amazon.com/datasync/pricing/) before +// you begin. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1459,6 +1557,90 @@ func (c *DataSync) DescribeAgentWithContext(ctx aws.Context, input *DescribeAgen return out, req.Send() } +const opDescribeDiscoveryJob = "DescribeDiscoveryJob" + +// DescribeDiscoveryJobRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDiscoveryJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeDiscoveryJob for more information on using the DescribeDiscoveryJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeDiscoveryJobRequest method. +// req, resp := client.DescribeDiscoveryJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeDiscoveryJob +func (c *DataSync) DescribeDiscoveryJobRequest(input *DescribeDiscoveryJobInput) (req *request.Request, output *DescribeDiscoveryJobOutput) { + op := &request.Operation{ + Name: opDescribeDiscoveryJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDiscoveryJobInput{} + } + + output = &DescribeDiscoveryJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DescribeDiscoveryJob API operation for AWS DataSync. +// +// Returns information about a DataSync discovery job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation DescribeDiscoveryJob for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeDiscoveryJob +func (c *DataSync) DescribeDiscoveryJob(input *DescribeDiscoveryJobInput) (*DescribeDiscoveryJobOutput, error) { + req, out := c.DescribeDiscoveryJobRequest(input) + return out, req.Send() +} + +// DescribeDiscoveryJobWithContext is the same as DescribeDiscoveryJob with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDiscoveryJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) DescribeDiscoveryJobWithContext(ctx aws.Context, input *DescribeDiscoveryJobInput, opts ...request.Option) (*DescribeDiscoveryJobOutput, error) { + req, out := c.DescribeDiscoveryJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeLocationEfs = "DescribeLocationEfs" // DescribeLocationEfsRequest generates a "aws/request.Request" representing the @@ -2290,57 +2472,60 @@ func (c *DataSync) DescribeLocationSmbWithContext(ctx aws.Context, input *Descri return out, req.Send() } -const opDescribeTask = "DescribeTask" +const opDescribeStorageSystem = "DescribeStorageSystem" -// DescribeTaskRequest generates a "aws/request.Request" representing the -// client's request for the DescribeTask operation. The "output" return +// DescribeStorageSystemRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStorageSystem operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeTask for more information on using the DescribeTask +// See DescribeStorageSystem for more information on using the DescribeStorageSystem // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribeTaskRequest method. -// req, resp := client.DescribeTaskRequest(params) +// // Example sending a request using the DescribeStorageSystemRequest method. +// req, resp := client.DescribeStorageSystemRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTask -func (c *DataSync) DescribeTaskRequest(input *DescribeTaskInput) (req *request.Request, output *DescribeTaskOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeStorageSystem +func (c *DataSync) DescribeStorageSystemRequest(input *DescribeStorageSystemInput) (req *request.Request, output *DescribeStorageSystemOutput) { op := &request.Operation{ - Name: opDescribeTask, + Name: opDescribeStorageSystem, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeTaskInput{} + input = &DescribeStorageSystemInput{} } - output = &DescribeTaskOutput{} + output = &DescribeStorageSystemOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// DescribeTask API operation for AWS DataSync. +// DescribeStorageSystem API operation for AWS DataSync. // -// Returns metadata about a task. +// Returns information about an on-premises storage system that you're using +// with DataSync Discovery. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation DescribeTask for usage and error information. +// API operation DescribeStorageSystem for usage and error information. // // Returned Error Types: // @@ -2350,79 +2535,89 @@ func (c *DataSync) DescribeTaskRequest(input *DescribeTaskInput) (req *request.R // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTask -func (c *DataSync) DescribeTask(input *DescribeTaskInput) (*DescribeTaskOutput, error) { - req, out := c.DescribeTaskRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeStorageSystem +func (c *DataSync) DescribeStorageSystem(input *DescribeStorageSystemInput) (*DescribeStorageSystemOutput, error) { + req, out := c.DescribeStorageSystemRequest(input) return out, req.Send() } -// DescribeTaskWithContext is the same as DescribeTask with the addition of +// DescribeStorageSystemWithContext is the same as DescribeStorageSystem with the addition of // the ability to pass a context and additional request options. // -// See DescribeTask for details on how to use this API operation. +// See DescribeStorageSystem for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) DescribeTaskWithContext(ctx aws.Context, input *DescribeTaskInput, opts ...request.Option) (*DescribeTaskOutput, error) { - req, out := c.DescribeTaskRequest(input) +func (c *DataSync) DescribeStorageSystemWithContext(ctx aws.Context, input *DescribeStorageSystemInput, opts ...request.Option) (*DescribeStorageSystemOutput, error) { + req, out := c.DescribeStorageSystemRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeTaskExecution = "DescribeTaskExecution" +const opDescribeStorageSystemResourceMetrics = "DescribeStorageSystemResourceMetrics" -// DescribeTaskExecutionRequest generates a "aws/request.Request" representing the -// client's request for the DescribeTaskExecution operation. The "output" return +// DescribeStorageSystemResourceMetricsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStorageSystemResourceMetrics operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeTaskExecution for more information on using the DescribeTaskExecution +// See DescribeStorageSystemResourceMetrics for more information on using the DescribeStorageSystemResourceMetrics // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribeTaskExecutionRequest method. -// req, resp := client.DescribeTaskExecutionRequest(params) +// // Example sending a request using the DescribeStorageSystemResourceMetricsRequest method. +// req, resp := client.DescribeStorageSystemResourceMetricsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution -func (c *DataSync) DescribeTaskExecutionRequest(input *DescribeTaskExecutionInput) (req *request.Request, output *DescribeTaskExecutionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeStorageSystemResourceMetrics +func (c *DataSync) DescribeStorageSystemResourceMetricsRequest(input *DescribeStorageSystemResourceMetricsInput) (req *request.Request, output *DescribeStorageSystemResourceMetricsOutput) { op := &request.Operation{ - Name: opDescribeTaskExecution, + Name: opDescribeStorageSystemResourceMetrics, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &DescribeTaskExecutionInput{} + input = &DescribeStorageSystemResourceMetricsInput{} } - output = &DescribeTaskExecutionOutput{} + output = &DescribeStorageSystemResourceMetricsOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// DescribeTaskExecution API operation for AWS DataSync. +// DescribeStorageSystemResourceMetrics API operation for AWS DataSync. // -// Returns detailed metadata about a task that is being executed. +// Returns information, including performance data and capacity usage, which +// DataSync Discovery collects about a specific resource in your-premises storage +// system. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation DescribeTaskExecution for usage and error information. +// API operation DescribeStorageSystemResourceMetrics for usage and error information. // // Returned Error Types: // @@ -2432,56 +2627,107 @@ func (c *DataSync) DescribeTaskExecutionRequest(input *DescribeTaskExecutionInpu // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution -func (c *DataSync) DescribeTaskExecution(input *DescribeTaskExecutionInput) (*DescribeTaskExecutionOutput, error) { - req, out := c.DescribeTaskExecutionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeStorageSystemResourceMetrics +func (c *DataSync) DescribeStorageSystemResourceMetrics(input *DescribeStorageSystemResourceMetricsInput) (*DescribeStorageSystemResourceMetricsOutput, error) { + req, out := c.DescribeStorageSystemResourceMetricsRequest(input) return out, req.Send() } -// DescribeTaskExecutionWithContext is the same as DescribeTaskExecution with the addition of +// DescribeStorageSystemResourceMetricsWithContext is the same as DescribeStorageSystemResourceMetrics with the addition of // the ability to pass a context and additional request options. // -// See DescribeTaskExecution for details on how to use this API operation. +// See DescribeStorageSystemResourceMetrics for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) DescribeTaskExecutionWithContext(ctx aws.Context, input *DescribeTaskExecutionInput, opts ...request.Option) (*DescribeTaskExecutionOutput, error) { - req, out := c.DescribeTaskExecutionRequest(input) +func (c *DataSync) DescribeStorageSystemResourceMetricsWithContext(ctx aws.Context, input *DescribeStorageSystemResourceMetricsInput, opts ...request.Option) (*DescribeStorageSystemResourceMetricsOutput, error) { + req, out := c.DescribeStorageSystemResourceMetricsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListAgents = "ListAgents" +// DescribeStorageSystemResourceMetricsPages iterates over the pages of a DescribeStorageSystemResourceMetrics operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeStorageSystemResourceMetrics method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeStorageSystemResourceMetrics operation. +// pageNum := 0 +// err := client.DescribeStorageSystemResourceMetricsPages(params, +// func(page *datasync.DescribeStorageSystemResourceMetricsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *DataSync) DescribeStorageSystemResourceMetricsPages(input *DescribeStorageSystemResourceMetricsInput, fn func(*DescribeStorageSystemResourceMetricsOutput, bool) bool) error { + return c.DescribeStorageSystemResourceMetricsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// ListAgentsRequest generates a "aws/request.Request" representing the -// client's request for the ListAgents operation. The "output" return +// DescribeStorageSystemResourceMetricsPagesWithContext same as DescribeStorageSystemResourceMetricsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) DescribeStorageSystemResourceMetricsPagesWithContext(ctx aws.Context, input *DescribeStorageSystemResourceMetricsInput, fn func(*DescribeStorageSystemResourceMetricsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeStorageSystemResourceMetricsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeStorageSystemResourceMetricsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeStorageSystemResourceMetricsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeStorageSystemResources = "DescribeStorageSystemResources" + +// DescribeStorageSystemResourcesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStorageSystemResources operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListAgents for more information on using the ListAgents +// See DescribeStorageSystemResources for more information on using the DescribeStorageSystemResources // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListAgentsRequest method. -// req, resp := client.ListAgentsRequest(params) +// // Example sending a request using the DescribeStorageSystemResourcesRequest method. +// req, resp := client.DescribeStorageSystemResourcesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgents -func (c *DataSync) ListAgentsRequest(input *ListAgentsInput) (req *request.Request, output *ListAgentsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeStorageSystemResources +func (c *DataSync) DescribeStorageSystemResourcesRequest(input *DescribeStorageSystemResourcesInput) (req *request.Request, output *DescribeStorageSystemResourcesOutput) { op := &request.Operation{ - Name: opListAgents, + Name: opDescribeStorageSystemResources, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2493,37 +2739,27 @@ func (c *DataSync) ListAgentsRequest(input *ListAgentsInput) (req *request.Reque } if input == nil { - input = &ListAgentsInput{} + input = &DescribeStorageSystemResourcesInput{} } - output = &ListAgentsOutput{} + output = &DescribeStorageSystemResourcesOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListAgents API operation for AWS DataSync. -// -// Returns a list of DataSync agents that belong to an Amazon Web Services account -// in the Amazon Web Services Region specified in the request. -// -// With pagination, you can reduce the number of agents returned in a response. -// If you get a truncated list of agents in a response, the response contains -// a marker that you can specify in your next request to fetch the next page -// of agents. +// DescribeStorageSystemResources API operation for AWS DataSync. // -// ListAgents is eventually consistent. This means the result of running the -// operation might not reflect that you just created or deleted an agent. For -// example, if you create an agent with CreateAgent (https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateAgent.html) -// and then immediately run ListAgents, that agent might not show up in the -// list right away. In situations like this, you can always confirm whether -// an agent has been created (or deleted) by using DescribeAgent (https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeAgent.html). +// Returns information that DataSync Discovery collects about resources in your +// on-premises storage system. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation ListAgents for usage and error information. +// API operation DescribeStorageSystemResources for usage and error information. // // Returned Error Types: // @@ -2533,64 +2769,64 @@ func (c *DataSync) ListAgentsRequest(input *ListAgentsInput) (req *request.Reque // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgents -func (c *DataSync) ListAgents(input *ListAgentsInput) (*ListAgentsOutput, error) { - req, out := c.ListAgentsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeStorageSystemResources +func (c *DataSync) DescribeStorageSystemResources(input *DescribeStorageSystemResourcesInput) (*DescribeStorageSystemResourcesOutput, error) { + req, out := c.DescribeStorageSystemResourcesRequest(input) return out, req.Send() } -// ListAgentsWithContext is the same as ListAgents with the addition of +// DescribeStorageSystemResourcesWithContext is the same as DescribeStorageSystemResources with the addition of // the ability to pass a context and additional request options. // -// See ListAgents for details on how to use this API operation. +// See DescribeStorageSystemResources for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) ListAgentsWithContext(ctx aws.Context, input *ListAgentsInput, opts ...request.Option) (*ListAgentsOutput, error) { - req, out := c.ListAgentsRequest(input) +func (c *DataSync) DescribeStorageSystemResourcesWithContext(ctx aws.Context, input *DescribeStorageSystemResourcesInput, opts ...request.Option) (*DescribeStorageSystemResourcesOutput, error) { + req, out := c.DescribeStorageSystemResourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListAgentsPages iterates over the pages of a ListAgents operation, +// DescribeStorageSystemResourcesPages iterates over the pages of a DescribeStorageSystemResources operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListAgents method for more information on how to use this operation. +// See DescribeStorageSystemResources method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListAgents operation. +// // Example iterating over at most 3 pages of a DescribeStorageSystemResources operation. // pageNum := 0 -// err := client.ListAgentsPages(params, -// func(page *datasync.ListAgentsOutput, lastPage bool) bool { +// err := client.DescribeStorageSystemResourcesPages(params, +// func(page *datasync.DescribeStorageSystemResourcesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *DataSync) ListAgentsPages(input *ListAgentsInput, fn func(*ListAgentsOutput, bool) bool) error { - return c.ListAgentsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *DataSync) DescribeStorageSystemResourcesPages(input *DescribeStorageSystemResourcesInput, fn func(*DescribeStorageSystemResourcesOutput, bool) bool) error { + return c.DescribeStorageSystemResourcesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListAgentsPagesWithContext same as ListAgentsPages except +// DescribeStorageSystemResourcesPagesWithContext same as DescribeStorageSystemResourcesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) ListAgentsPagesWithContext(ctx aws.Context, input *ListAgentsInput, fn func(*ListAgentsOutput, bool) bool, opts ...request.Option) error { +func (c *DataSync) DescribeStorageSystemResourcesPagesWithContext(ctx aws.Context, input *DescribeStorageSystemResourcesInput, fn func(*DescribeStorageSystemResourcesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListAgentsInput + var inCpy *DescribeStorageSystemResourcesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListAgentsRequest(inCpy) + req, _ := c.DescribeStorageSystemResourcesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2598,7 +2834,7 @@ func (c *DataSync) ListAgentsPagesWithContext(ctx aws.Context, input *ListAgents } for p.Next() { - if !fn(p.Page().(*ListAgentsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*DescribeStorageSystemResourcesOutput), !p.HasNextPage()) { break } } @@ -2606,68 +2842,57 @@ func (c *DataSync) ListAgentsPagesWithContext(ctx aws.Context, input *ListAgents return p.Err() } -const opListLocations = "ListLocations" +const opDescribeTask = "DescribeTask" -// ListLocationsRequest generates a "aws/request.Request" representing the -// client's request for the ListLocations operation. The "output" return +// DescribeTaskRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTask operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListLocations for more information on using the ListLocations +// See DescribeTask for more information on using the DescribeTask // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListLocationsRequest method. -// req, resp := client.ListLocationsRequest(params) +// // Example sending a request using the DescribeTaskRequest method. +// req, resp := client.DescribeTaskRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocations -func (c *DataSync) ListLocationsRequest(input *ListLocationsInput) (req *request.Request, output *ListLocationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTask +func (c *DataSync) DescribeTaskRequest(input *DescribeTaskInput) (req *request.Request, output *DescribeTaskOutput) { op := &request.Operation{ - Name: opListLocations, + Name: opDescribeTask, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListLocationsInput{} + input = &DescribeTaskInput{} } - output = &ListLocationsOutput{} + output = &DescribeTaskOutput{} req = c.newRequest(op, input, output) return } -// ListLocations API operation for AWS DataSync. -// -// Returns a list of source and destination locations. +// DescribeTask API operation for AWS DataSync. // -// If you have more locations than are returned in a response (that is, the -// response returns only a truncated list of your agents), the response contains -// a token that you can specify in your next request to fetch the next page -// of locations. +// Returns metadata about a task. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation ListLocations for usage and error information. +// API operation DescribeTask for usage and error information. // // Returned Error Types: // @@ -2677,136 +2902,79 @@ func (c *DataSync) ListLocationsRequest(input *ListLocationsInput) (req *request // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocations -func (c *DataSync) ListLocations(input *ListLocationsInput) (*ListLocationsOutput, error) { - req, out := c.ListLocationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTask +func (c *DataSync) DescribeTask(input *DescribeTaskInput) (*DescribeTaskOutput, error) { + req, out := c.DescribeTaskRequest(input) return out, req.Send() } -// ListLocationsWithContext is the same as ListLocations with the addition of +// DescribeTaskWithContext is the same as DescribeTask with the addition of // the ability to pass a context and additional request options. // -// See ListLocations for details on how to use this API operation. +// See DescribeTask for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) ListLocationsWithContext(ctx aws.Context, input *ListLocationsInput, opts ...request.Option) (*ListLocationsOutput, error) { - req, out := c.ListLocationsRequest(input) +func (c *DataSync) DescribeTaskWithContext(ctx aws.Context, input *DescribeTaskInput, opts ...request.Option) (*DescribeTaskOutput, error) { + req, out := c.DescribeTaskRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListLocationsPages iterates over the pages of a ListLocations operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListLocations method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListLocations operation. -// pageNum := 0 -// err := client.ListLocationsPages(params, -// func(page *datasync.ListLocationsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *DataSync) ListLocationsPages(input *ListLocationsInput, fn func(*ListLocationsOutput, bool) bool) error { - return c.ListLocationsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListLocationsPagesWithContext same as ListLocationsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *DataSync) ListLocationsPagesWithContext(ctx aws.Context, input *ListLocationsInput, fn func(*ListLocationsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListLocationsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListLocationsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListLocationsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListTagsForResource = "ListTagsForResource" +const opDescribeTaskExecution = "DescribeTaskExecution" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// DescribeTaskExecutionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTaskExecution operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See DescribeTaskExecution for more information on using the DescribeTaskExecution // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the DescribeTaskExecutionRequest method. +// req, resp := client.DescribeTaskExecutionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResource -func (c *DataSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution +func (c *DataSync) DescribeTaskExecutionRequest(input *DescribeTaskExecutionInput) (req *request.Request, output *DescribeTaskExecutionOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opDescribeTaskExecution, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &DescribeTaskExecutionInput{} } - output = &ListTagsForResourceOutput{} + output = &DescribeTaskExecutionOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS DataSync. +// DescribeTaskExecution API operation for AWS DataSync. // -// Returns all the tags associated with an Amazon Web Services resource. +// Returns detailed metadata about a task that is being executed. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation ListTagsForResource for usage and error information. +// API operation DescribeTaskExecution for usage and error information. // // Returned Error Types: // @@ -2816,136 +2984,93 @@ func (c *DataSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) ( // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResource -func (c *DataSync) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution +func (c *DataSync) DescribeTaskExecution(input *DescribeTaskExecutionInput) (*DescribeTaskExecutionOutput, error) { + req, out := c.DescribeTaskExecutionRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// DescribeTaskExecutionWithContext is the same as DescribeTaskExecution with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See DescribeTaskExecution for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *DataSync) DescribeTaskExecutionWithContext(ctx aws.Context, input *DescribeTaskExecutionInput, opts ...request.Option) (*DescribeTaskExecutionOutput, error) { + req, out := c.DescribeTaskExecutionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListTagsForResource method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListTagsForResource operation. -// pageNum := 0 -// err := client.ListTagsForResourcePages(params, -// func(page *datasync.ListTagsForResourceOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *DataSync) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { - return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *DataSync) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListTagsForResourceInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListTagsForResourceRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListTaskExecutions = "ListTaskExecutions" +const opGenerateRecommendations = "GenerateRecommendations" -// ListTaskExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the ListTaskExecutions operation. The "output" return +// GenerateRecommendationsRequest generates a "aws/request.Request" representing the +// client's request for the GenerateRecommendations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTaskExecutions for more information on using the ListTaskExecutions +// See GenerateRecommendations for more information on using the GenerateRecommendations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTaskExecutionsRequest method. -// req, resp := client.ListTaskExecutionsRequest(params) +// // Example sending a request using the GenerateRecommendationsRequest method. +// req, resp := client.GenerateRecommendationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutions -func (c *DataSync) ListTaskExecutionsRequest(input *ListTaskExecutionsInput) (req *request.Request, output *ListTaskExecutionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/GenerateRecommendations +func (c *DataSync) GenerateRecommendationsRequest(input *GenerateRecommendationsInput) (req *request.Request, output *GenerateRecommendationsOutput) { op := &request.Operation{ - Name: opListTaskExecutions, + Name: opGenerateRecommendations, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListTaskExecutionsInput{} + input = &GenerateRecommendationsInput{} } - output = &ListTaskExecutionsOutput{} + output = &GenerateRecommendationsOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// ListTaskExecutions API operation for AWS DataSync. +// GenerateRecommendations API operation for AWS DataSync. // -// Returns a list of executed tasks. +// Creates recommendations about where to migrate your data to in Amazon Web +// Services. Recommendations are generated based on information that DataSync +// Discovery collects about your on-premises storage system's resources. For +// more information, see Recommendations provided by DataSync Discovery (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-understand-recommendations.html). +// +// Once generated, you can view your recommendations by using the DescribeStorageSystemResources +// (https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeStorageSystemResources.html) +// operation. +// +// If your discovery job completes successfully (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-job-statuses.html#discovery-job-statuses-table), +// you don't need to use this operation. DataSync Discovery generates the recommendations +// for you automatically. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation ListTaskExecutions for usage and error information. +// API operation GenerateRecommendations for usage and error information. // // Returned Error Types: // @@ -2955,107 +3080,56 @@ func (c *DataSync) ListTaskExecutionsRequest(input *ListTaskExecutionsInput) (re // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutions -func (c *DataSync) ListTaskExecutions(input *ListTaskExecutionsInput) (*ListTaskExecutionsOutput, error) { - req, out := c.ListTaskExecutionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/GenerateRecommendations +func (c *DataSync) GenerateRecommendations(input *GenerateRecommendationsInput) (*GenerateRecommendationsOutput, error) { + req, out := c.GenerateRecommendationsRequest(input) return out, req.Send() } -// ListTaskExecutionsWithContext is the same as ListTaskExecutions with the addition of +// GenerateRecommendationsWithContext is the same as GenerateRecommendations with the addition of // the ability to pass a context and additional request options. // -// See ListTaskExecutions for details on how to use this API operation. +// See GenerateRecommendations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) ListTaskExecutionsWithContext(ctx aws.Context, input *ListTaskExecutionsInput, opts ...request.Option) (*ListTaskExecutionsOutput, error) { - req, out := c.ListTaskExecutionsRequest(input) +func (c *DataSync) GenerateRecommendationsWithContext(ctx aws.Context, input *GenerateRecommendationsInput, opts ...request.Option) (*GenerateRecommendationsOutput, error) { + req, out := c.GenerateRecommendationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTaskExecutionsPages iterates over the pages of a ListTaskExecutions operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opListAgents = "ListAgents" + +// ListAgentsRequest generates a "aws/request.Request" representing the +// client's request for the ListAgents operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListTaskExecutions method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListTaskExecutions operation. -// pageNum := 0 -// err := client.ListTaskExecutionsPages(params, -// func(page *datasync.ListTaskExecutionsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *DataSync) ListTaskExecutionsPages(input *ListTaskExecutionsInput, fn func(*ListTaskExecutionsOutput, bool) bool) error { - return c.ListTaskExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListTaskExecutionsPagesWithContext same as ListTaskExecutionsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *DataSync) ListTaskExecutionsPagesWithContext(ctx aws.Context, input *ListTaskExecutionsInput, fn func(*ListTaskExecutionsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListTaskExecutionsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListTaskExecutionsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListTaskExecutionsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListTasks = "ListTasks" - -// ListTasksRequest generates a "aws/request.Request" representing the -// client's request for the ListTasks operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListTasks for more information on using the ListTasks -// API call, and error handling. +// See ListAgents for more information on using the ListAgents +// API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTasksRequest method. -// req, resp := client.ListTasksRequest(params) +// // Example sending a request using the ListAgentsRequest method. +// req, resp := client.ListAgentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasks -func (c *DataSync) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgents +func (c *DataSync) ListAgentsRequest(input *ListAgentsInput) (req *request.Request, output *ListAgentsOutput) { op := &request.Operation{ - Name: opListTasks, + Name: opListAgents, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -3067,24 +3141,37 @@ func (c *DataSync) ListTasksRequest(input *ListTasksInput) (req *request.Request } if input == nil { - input = &ListTasksInput{} + input = &ListAgentsInput{} } - output = &ListTasksOutput{} + output = &ListAgentsOutput{} req = c.newRequest(op, input, output) return } -// ListTasks API operation for AWS DataSync. +// ListAgents API operation for AWS DataSync. // -// Returns a list of the DataSync tasks you created. +// Returns a list of DataSync agents that belong to an Amazon Web Services account +// in the Amazon Web Services Region specified in the request. +// +// With pagination, you can reduce the number of agents returned in a response. +// If you get a truncated list of agents in a response, the response contains +// a marker that you can specify in your next request to fetch the next page +// of agents. +// +// ListAgents is eventually consistent. This means the result of running the +// operation might not reflect that you just created or deleted an agent. For +// example, if you create an agent with CreateAgent (https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateAgent.html) +// and then immediately run ListAgents, that agent might not show up in the +// list right away. In situations like this, you can always confirm whether +// an agent has been created (or deleted) by using DescribeAgent (https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeAgent.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation ListTasks for usage and error information. +// API operation ListAgents for usage and error information. // // Returned Error Types: // @@ -3094,64 +3181,64 @@ func (c *DataSync) ListTasksRequest(input *ListTasksInput) (req *request.Request // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasks -func (c *DataSync) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { - req, out := c.ListTasksRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListAgents +func (c *DataSync) ListAgents(input *ListAgentsInput) (*ListAgentsOutput, error) { + req, out := c.ListAgentsRequest(input) return out, req.Send() } -// ListTasksWithContext is the same as ListTasks with the addition of +// ListAgentsWithContext is the same as ListAgents with the addition of // the ability to pass a context and additional request options. // -// See ListTasks for details on how to use this API operation. +// See ListAgents for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { - req, out := c.ListTasksRequest(input) +func (c *DataSync) ListAgentsWithContext(ctx aws.Context, input *ListAgentsInput, opts ...request.Option) (*ListAgentsOutput, error) { + req, out := c.ListAgentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTasksPages iterates over the pages of a ListTasks operation, +// ListAgentsPages iterates over the pages of a ListAgents operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListTasks method for more information on how to use this operation. +// See ListAgents method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListTasks operation. +// // Example iterating over at most 3 pages of a ListAgents operation. // pageNum := 0 -// err := client.ListTasksPages(params, -// func(page *datasync.ListTasksOutput, lastPage bool) bool { +// err := client.ListAgentsPages(params, +// func(page *datasync.ListAgentsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *DataSync) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { - return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *DataSync) ListAgentsPages(input *ListAgentsInput, fn func(*ListAgentsOutput, bool) bool) error { + return c.ListAgentsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListTasksPagesWithContext same as ListTasksPages except +// ListAgentsPagesWithContext same as ListAgentsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { +func (c *DataSync) ListAgentsPagesWithContext(ctx aws.Context, input *ListAgentsInput, fn func(*ListAgentsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListTasksInput + var inCpy *ListAgentsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListTasksRequest(inCpy) + req, _ := c.ListAgentsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3159,7 +3246,7 @@ func (c *DataSync) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksIn } for p.Next() { - if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListAgentsOutput), !p.HasNextPage()) { break } } @@ -3167,61 +3254,66 @@ func (c *DataSync) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksIn return p.Err() } -const opStartTaskExecution = "StartTaskExecution" +const opListDiscoveryJobs = "ListDiscoveryJobs" -// StartTaskExecutionRequest generates a "aws/request.Request" representing the -// client's request for the StartTaskExecution operation. The "output" return +// ListDiscoveryJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListDiscoveryJobs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StartTaskExecution for more information on using the StartTaskExecution +// See ListDiscoveryJobs for more information on using the ListDiscoveryJobs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the StartTaskExecutionRequest method. -// req, resp := client.StartTaskExecutionRequest(params) +// // Example sending a request using the ListDiscoveryJobsRequest method. +// req, resp := client.ListDiscoveryJobsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecution -func (c *DataSync) StartTaskExecutionRequest(input *StartTaskExecutionInput) (req *request.Request, output *StartTaskExecutionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListDiscoveryJobs +func (c *DataSync) ListDiscoveryJobsRequest(input *ListDiscoveryJobsInput) (req *request.Request, output *ListDiscoveryJobsOutput) { op := &request.Operation{ - Name: opStartTaskExecution, + Name: opListDiscoveryJobs, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &StartTaskExecutionInput{} + input = &ListDiscoveryJobsInput{} } - output = &StartTaskExecutionOutput{} + output = &ListDiscoveryJobsOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// StartTaskExecution API operation for AWS DataSync. -// -// Starts an DataSync task. For each task, you can only run one task execution -// at a time. +// ListDiscoveryJobs API operation for AWS DataSync. // -// There are several phases to a task execution. For more information, see Task -// execution statuses (https://docs.aws.amazon.com/datasync/latest/userguide/working-with-task-executions.html#understand-task-execution-statuses). +// Provides a list of the existing discovery jobs in the Amazon Web Services +// Region and Amazon Web Services account where you're using DataSync Discovery. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation StartTaskExecution for usage and error information. +// API operation ListDiscoveryJobs for usage and error information. // // Returned Error Types: // @@ -3231,83 +3323,141 @@ func (c *DataSync) StartTaskExecutionRequest(input *StartTaskExecutionInput) (re // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecution -func (c *DataSync) StartTaskExecution(input *StartTaskExecutionInput) (*StartTaskExecutionOutput, error) { - req, out := c.StartTaskExecutionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListDiscoveryJobs +func (c *DataSync) ListDiscoveryJobs(input *ListDiscoveryJobsInput) (*ListDiscoveryJobsOutput, error) { + req, out := c.ListDiscoveryJobsRequest(input) return out, req.Send() } -// StartTaskExecutionWithContext is the same as StartTaskExecution with the addition of +// ListDiscoveryJobsWithContext is the same as ListDiscoveryJobs with the addition of // the ability to pass a context and additional request options. // -// See StartTaskExecution for details on how to use this API operation. +// See ListDiscoveryJobs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) StartTaskExecutionWithContext(ctx aws.Context, input *StartTaskExecutionInput, opts ...request.Option) (*StartTaskExecutionOutput, error) { - req, out := c.StartTaskExecutionRequest(input) +func (c *DataSync) ListDiscoveryJobsWithContext(ctx aws.Context, input *ListDiscoveryJobsInput, opts ...request.Option) (*ListDiscoveryJobsOutput, error) { + req, out := c.ListDiscoveryJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +// ListDiscoveryJobsPages iterates over the pages of a ListDiscoveryJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDiscoveryJobs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListDiscoveryJobs operation. +// pageNum := 0 +// err := client.ListDiscoveryJobsPages(params, +// func(page *datasync.ListDiscoveryJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *DataSync) ListDiscoveryJobsPages(input *ListDiscoveryJobsInput, fn func(*ListDiscoveryJobsOutput, bool) bool) error { + return c.ListDiscoveryJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ListDiscoveryJobsPagesWithContext same as ListDiscoveryJobsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) ListDiscoveryJobsPagesWithContext(ctx aws.Context, input *ListDiscoveryJobsInput, fn func(*ListDiscoveryJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDiscoveryJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDiscoveryJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDiscoveryJobsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListLocations = "ListLocations" + +// ListLocationsRequest generates a "aws/request.Request" representing the +// client's request for the ListLocations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See ListLocations for more information on using the ListLocations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the ListLocationsRequest method. +// req, resp := client.ListLocationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResource -func (c *DataSync) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocations +func (c *DataSync) ListLocationsRequest(input *ListLocationsInput) (req *request.Request, output *ListLocationsOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opListLocations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &TagResourceInput{} + input = &ListLocationsInput{} } - output = &TagResourceOutput{} + output = &ListLocationsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS DataSync. +// ListLocations API operation for AWS DataSync. // -// Applies a tag to an Amazon Web Services resource. Tags are key-value pairs -// that can help you manage, filter, and search for your resources. +// Returns a list of source and destination locations. // -// These include DataSync resources, such as locations, tasks, and task executions. +// If you have more locations than are returned in a response (that is, the +// response returns only a truncated list of your agents), the response contains +// a token that you can specify in your next request to fetch the next page +// of locations. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation TagResource for usage and error information. +// API operation ListLocations for usage and error information. // // Returned Error Types: // @@ -3317,80 +3467,138 @@ func (c *DataSync) TagResourceRequest(input *TagResourceInput) (req *request.Req // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResource -func (c *DataSync) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListLocations +func (c *DataSync) ListLocations(input *ListLocationsInput) (*ListLocationsOutput, error) { + req, out := c.ListLocationsRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ListLocationsWithContext is the same as ListLocations with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See ListLocations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *DataSync) ListLocationsWithContext(ctx aws.Context, input *ListLocationsInput, opts ...request.Option) (*ListLocationsOutput, error) { + req, out := c.ListLocationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" - -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// +// ListLocationsPages iterates over the pages of a ListLocations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLocations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListLocations operation. +// pageNum := 0 +// err := client.ListLocationsPages(params, +// func(page *datasync.ListLocationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *DataSync) ListLocationsPages(input *ListLocationsInput, fn func(*ListLocationsOutput, bool) bool) error { + return c.ListLocationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLocationsPagesWithContext same as ListLocationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) ListLocationsPagesWithContext(ctx aws.Context, input *ListLocationsInput, fn func(*ListLocationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLocationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLocationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListLocationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListStorageSystems = "ListStorageSystems" + +// ListStorageSystemsRequest generates a "aws/request.Request" representing the +// client's request for the ListStorageSystems operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See ListStorageSystems for more information on using the ListStorageSystems // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the ListStorageSystemsRequest method. +// req, resp := client.ListStorageSystemsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResource -func (c *DataSync) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListStorageSystems +func (c *DataSync) ListStorageSystemsRequest(input *ListStorageSystemsInput) (req *request.Request, output *ListStorageSystemsOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opListStorageSystems, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UntagResourceInput{} + input = &ListStorageSystemsInput{} } - output = &UntagResourceOutput{} + output = &ListStorageSystemsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UntagResource API operation for AWS DataSync. +// ListStorageSystems API operation for AWS DataSync. // -// Removes tags from an Amazon Web Services resource. +// Lists the on-premises storage systems that you're using with DataSync Discovery. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation UntagResource for usage and error information. +// API operation ListStorageSystems for usage and error information. // // Returned Error Types: // @@ -3400,80 +3608,136 @@ func (c *DataSync) UntagResourceRequest(input *UntagResourceInput) (req *request // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResource -func (c *DataSync) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListStorageSystems +func (c *DataSync) ListStorageSystems(input *ListStorageSystemsInput) (*ListStorageSystemsOutput, error) { + req, out := c.ListStorageSystemsRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// ListStorageSystemsWithContext is the same as ListStorageSystems with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See ListStorageSystems for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *DataSync) ListStorageSystemsWithContext(ctx aws.Context, input *ListStorageSystemsInput, opts ...request.Option) (*ListStorageSystemsOutput, error) { + req, out := c.ListStorageSystemsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAgent = "UpdateAgent" +// ListStorageSystemsPages iterates over the pages of a ListStorageSystems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStorageSystems method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListStorageSystems operation. +// pageNum := 0 +// err := client.ListStorageSystemsPages(params, +// func(page *datasync.ListStorageSystemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *DataSync) ListStorageSystemsPages(input *ListStorageSystemsInput, fn func(*ListStorageSystemsOutput, bool) bool) error { + return c.ListStorageSystemsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateAgentRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAgent operation. The "output" return +// ListStorageSystemsPagesWithContext same as ListStorageSystemsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) ListStorageSystemsPagesWithContext(ctx aws.Context, input *ListStorageSystemsInput, fn func(*ListStorageSystemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStorageSystemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStorageSystemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStorageSystemsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateAgent for more information on using the UpdateAgent +// See ListTagsForResource for more information on using the ListTagsForResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateAgentRequest method. -// req, resp := client.UpdateAgentRequest(params) +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgent -func (c *DataSync) UpdateAgentRequest(input *UpdateAgentInput) (req *request.Request, output *UpdateAgentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResource +func (c *DataSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opUpdateAgent, + Name: opListTagsForResource, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateAgentInput{} + input = &ListTagsForResourceInput{} } - output = &UpdateAgentOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateAgent API operation for AWS DataSync. +// ListTagsForResource API operation for AWS DataSync. // -// Updates the name of an agent. +// Returns all the tags associated with an Amazon Web Services resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation UpdateAgent for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Types: // @@ -3483,81 +3747,136 @@ func (c *DataSync) UpdateAgentRequest(input *UpdateAgentInput) (req *request.Req // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgent -func (c *DataSync) UpdateAgent(input *UpdateAgentInput) (*UpdateAgentOutput, error) { - req, out := c.UpdateAgentRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTagsForResource +func (c *DataSync) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// UpdateAgentWithContext is the same as UpdateAgent with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateAgent for details on how to use this API operation. +// See ListTagsForResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) UpdateAgentWithContext(ctx aws.Context, input *UpdateAgentInput, opts ...request.Option) (*UpdateAgentOutput, error) { - req, out := c.UpdateAgentRequest(input) +func (c *DataSync) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateLocationHdfs = "UpdateLocationHdfs" +// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTagsForResource method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTagsForResource operation. +// pageNum := 0 +// err := client.ListTagsForResourcePages(params, +// func(page *datasync.ListTagsForResourceOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *DataSync) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { + return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateLocationHdfsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateLocationHdfs operation. The "output" return +// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsForResourceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsForResourceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTaskExecutions = "ListTaskExecutions" + +// ListTaskExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListTaskExecutions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateLocationHdfs for more information on using the UpdateLocationHdfs +// See ListTaskExecutions for more information on using the ListTaskExecutions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateLocationHdfsRequest method. -// req, resp := client.UpdateLocationHdfsRequest(params) +// // Example sending a request using the ListTaskExecutionsRequest method. +// req, resp := client.ListTaskExecutionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationHdfs -func (c *DataSync) UpdateLocationHdfsRequest(input *UpdateLocationHdfsInput) (req *request.Request, output *UpdateLocationHdfsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutions +func (c *DataSync) ListTaskExecutionsRequest(input *ListTaskExecutionsInput) (req *request.Request, output *ListTaskExecutionsOutput) { op := &request.Operation{ - Name: opUpdateLocationHdfs, + Name: opListTaskExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateLocationHdfsInput{} + input = &ListTaskExecutionsInput{} } - output = &UpdateLocationHdfsOutput{} + output = &ListTaskExecutionsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateLocationHdfs API operation for AWS DataSync. +// ListTaskExecutions API operation for AWS DataSync. // -// Updates some parameters of a previously created location for a Hadoop Distributed -// File System cluster. +// Returns a list of executed tasks. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation UpdateLocationHdfs for usage and error information. +// API operation ListTaskExecutions for usage and error information. // // Returned Error Types: // @@ -3567,82 +3886,136 @@ func (c *DataSync) UpdateLocationHdfsRequest(input *UpdateLocationHdfsInput) (re // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationHdfs -func (c *DataSync) UpdateLocationHdfs(input *UpdateLocationHdfsInput) (*UpdateLocationHdfsOutput, error) { - req, out := c.UpdateLocationHdfsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTaskExecutions +func (c *DataSync) ListTaskExecutions(input *ListTaskExecutionsInput) (*ListTaskExecutionsOutput, error) { + req, out := c.ListTaskExecutionsRequest(input) return out, req.Send() } -// UpdateLocationHdfsWithContext is the same as UpdateLocationHdfs with the addition of +// ListTaskExecutionsWithContext is the same as ListTaskExecutions with the addition of // the ability to pass a context and additional request options. // -// See UpdateLocationHdfs for details on how to use this API operation. +// See ListTaskExecutions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) UpdateLocationHdfsWithContext(ctx aws.Context, input *UpdateLocationHdfsInput, opts ...request.Option) (*UpdateLocationHdfsOutput, error) { - req, out := c.UpdateLocationHdfsRequest(input) +func (c *DataSync) ListTaskExecutionsWithContext(ctx aws.Context, input *ListTaskExecutionsInput, opts ...request.Option) (*ListTaskExecutionsOutput, error) { + req, out := c.ListTaskExecutionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateLocationNfs = "UpdateLocationNfs" +// ListTaskExecutionsPages iterates over the pages of a ListTaskExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTaskExecutions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTaskExecutions operation. +// pageNum := 0 +// err := client.ListTaskExecutionsPages(params, +// func(page *datasync.ListTaskExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *DataSync) ListTaskExecutionsPages(input *ListTaskExecutionsInput, fn func(*ListTaskExecutionsOutput, bool) bool) error { + return c.ListTaskExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateLocationNfsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateLocationNfs operation. The "output" return +// ListTaskExecutionsPagesWithContext same as ListTaskExecutionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) ListTaskExecutionsPagesWithContext(ctx aws.Context, input *ListTaskExecutionsInput, fn func(*ListTaskExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTaskExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTaskExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTaskExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTasks = "ListTasks" + +// ListTasksRequest generates a "aws/request.Request" representing the +// client's request for the ListTasks operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateLocationNfs for more information on using the UpdateLocationNfs +// See ListTasks for more information on using the ListTasks // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateLocationNfsRequest method. -// req, resp := client.UpdateLocationNfsRequest(params) +// // Example sending a request using the ListTasksRequest method. +// req, resp := client.ListTasksRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationNfs -func (c *DataSync) UpdateLocationNfsRequest(input *UpdateLocationNfsInput) (req *request.Request, output *UpdateLocationNfsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasks +func (c *DataSync) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { op := &request.Operation{ - Name: opUpdateLocationNfs, + Name: opListTasks, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateLocationNfsInput{} + input = &ListTasksInput{} } - output = &UpdateLocationNfsOutput{} + output = &ListTasksOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateLocationNfs API operation for AWS DataSync. +// ListTasks API operation for AWS DataSync. // -// Updates some of the parameters of a previously created location for Network -// File System (NFS) access. For information about creating an NFS location, -// see Creating a location for NFS (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html). +// Returns a list of the DataSync tasks you created. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation UpdateLocationNfs for usage and error information. +// API operation ListTasks for usage and error information. // // Returned Error Types: // @@ -3652,82 +4025,134 @@ func (c *DataSync) UpdateLocationNfsRequest(input *UpdateLocationNfsInput) (req // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationNfs -func (c *DataSync) UpdateLocationNfs(input *UpdateLocationNfsInput) (*UpdateLocationNfsOutput, error) { - req, out := c.UpdateLocationNfsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/ListTasks +func (c *DataSync) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { + req, out := c.ListTasksRequest(input) return out, req.Send() } -// UpdateLocationNfsWithContext is the same as UpdateLocationNfs with the addition of +// ListTasksWithContext is the same as ListTasks with the addition of // the ability to pass a context and additional request options. // -// See UpdateLocationNfs for details on how to use this API operation. +// See ListTasks for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) UpdateLocationNfsWithContext(ctx aws.Context, input *UpdateLocationNfsInput, opts ...request.Option) (*UpdateLocationNfsOutput, error) { - req, out := c.UpdateLocationNfsRequest(input) +func (c *DataSync) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { + req, out := c.ListTasksRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateLocationObjectStorage = "UpdateLocationObjectStorage" +// ListTasksPages iterates over the pages of a ListTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTasks method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTasks operation. +// pageNum := 0 +// err := client.ListTasksPages(params, +// func(page *datasync.ListTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *DataSync) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { + return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateLocationObjectStorageRequest generates a "aws/request.Request" representing the -// client's request for the UpdateLocationObjectStorage operation. The "output" return +// ListTasksPagesWithContext same as ListTasksPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opRemoveStorageSystem = "RemoveStorageSystem" + +// RemoveStorageSystemRequest generates a "aws/request.Request" representing the +// client's request for the RemoveStorageSystem operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateLocationObjectStorage for more information on using the UpdateLocationObjectStorage +// See RemoveStorageSystem for more information on using the RemoveStorageSystem // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateLocationObjectStorageRequest method. -// req, resp := client.UpdateLocationObjectStorageRequest(params) +// // Example sending a request using the RemoveStorageSystemRequest method. +// req, resp := client.RemoveStorageSystemRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorage -func (c *DataSync) UpdateLocationObjectStorageRequest(input *UpdateLocationObjectStorageInput) (req *request.Request, output *UpdateLocationObjectStorageOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/RemoveStorageSystem +func (c *DataSync) RemoveStorageSystemRequest(input *RemoveStorageSystemInput) (req *request.Request, output *RemoveStorageSystemOutput) { op := &request.Operation{ - Name: opUpdateLocationObjectStorage, + Name: opRemoveStorageSystem, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateLocationObjectStorageInput{} + input = &RemoveStorageSystemInput{} } - output = &UpdateLocationObjectStorageOutput{} + output = &RemoveStorageSystemOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateLocationObjectStorage API operation for AWS DataSync. +// RemoveStorageSystem API operation for AWS DataSync. // -// Updates some parameters of an existing object storage location that DataSync -// accesses for a transfer. For information about creating a self-managed object -// storage location, see Creating a location for object storage (https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html). +// Permanently removes a storage system resource from DataSync Discovery, including +// the associated discovery jobs, collected data, and recommendations. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation UpdateLocationObjectStorage for usage and error information. +// API operation RemoveStorageSystem for usage and error information. // // Returned Error Types: // @@ -3737,82 +4162,84 @@ func (c *DataSync) UpdateLocationObjectStorageRequest(input *UpdateLocationObjec // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorage -func (c *DataSync) UpdateLocationObjectStorage(input *UpdateLocationObjectStorageInput) (*UpdateLocationObjectStorageOutput, error) { - req, out := c.UpdateLocationObjectStorageRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/RemoveStorageSystem +func (c *DataSync) RemoveStorageSystem(input *RemoveStorageSystemInput) (*RemoveStorageSystemOutput, error) { + req, out := c.RemoveStorageSystemRequest(input) return out, req.Send() } -// UpdateLocationObjectStorageWithContext is the same as UpdateLocationObjectStorage with the addition of +// RemoveStorageSystemWithContext is the same as RemoveStorageSystem with the addition of // the ability to pass a context and additional request options. // -// See UpdateLocationObjectStorage for details on how to use this API operation. +// See RemoveStorageSystem for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) UpdateLocationObjectStorageWithContext(ctx aws.Context, input *UpdateLocationObjectStorageInput, opts ...request.Option) (*UpdateLocationObjectStorageOutput, error) { - req, out := c.UpdateLocationObjectStorageRequest(input) +func (c *DataSync) RemoveStorageSystemWithContext(ctx aws.Context, input *RemoveStorageSystemInput, opts ...request.Option) (*RemoveStorageSystemOutput, error) { + req, out := c.RemoveStorageSystemRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateLocationSmb = "UpdateLocationSmb" +const opStartDiscoveryJob = "StartDiscoveryJob" -// UpdateLocationSmbRequest generates a "aws/request.Request" representing the -// client's request for the UpdateLocationSmb operation. The "output" return +// StartDiscoveryJobRequest generates a "aws/request.Request" representing the +// client's request for the StartDiscoveryJob operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateLocationSmb for more information on using the UpdateLocationSmb +// See StartDiscoveryJob for more information on using the StartDiscoveryJob // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateLocationSmbRequest method. -// req, resp := client.UpdateLocationSmbRequest(params) +// // Example sending a request using the StartDiscoveryJobRequest method. +// req, resp := client.StartDiscoveryJobRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationSmb -func (c *DataSync) UpdateLocationSmbRequest(input *UpdateLocationSmbInput) (req *request.Request, output *UpdateLocationSmbOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartDiscoveryJob +func (c *DataSync) StartDiscoveryJobRequest(input *StartDiscoveryJobInput) (req *request.Request, output *StartDiscoveryJobOutput) { op := &request.Operation{ - Name: opUpdateLocationSmb, + Name: opStartDiscoveryJob, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateLocationSmbInput{} + input = &StartDiscoveryJobInput{} } - output = &UpdateLocationSmbOutput{} + output = &StartDiscoveryJobOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateLocationSmb API operation for AWS DataSync. +// StartDiscoveryJob API operation for AWS DataSync. // -// Updates some of the parameters of a previously created location for Server -// Message Block (SMB) file system access. For information about creating an -// SMB location, see Creating a location for SMB (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html). +// Runs a DataSync discovery job on your on-premises storage system. If you +// haven't added the storage system to DataSync Discovery yet, do this first +// by using the AddStorageSystem (https://docs.aws.amazon.com/datasync/latest/userguide/API_AddStorageSystem.html) +// operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation UpdateLocationSmb for usage and error information. +// API operation StartDiscoveryJob for usage and error information. // // Returned Error Types: // @@ -3822,80 +4249,88 @@ func (c *DataSync) UpdateLocationSmbRequest(input *UpdateLocationSmbInput) (req // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationSmb -func (c *DataSync) UpdateLocationSmb(input *UpdateLocationSmbInput) (*UpdateLocationSmbOutput, error) { - req, out := c.UpdateLocationSmbRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartDiscoveryJob +func (c *DataSync) StartDiscoveryJob(input *StartDiscoveryJobInput) (*StartDiscoveryJobOutput, error) { + req, out := c.StartDiscoveryJobRequest(input) return out, req.Send() } -// UpdateLocationSmbWithContext is the same as UpdateLocationSmb with the addition of +// StartDiscoveryJobWithContext is the same as StartDiscoveryJob with the addition of // the ability to pass a context and additional request options. // -// See UpdateLocationSmb for details on how to use this API operation. +// See StartDiscoveryJob for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) UpdateLocationSmbWithContext(ctx aws.Context, input *UpdateLocationSmbInput, opts ...request.Option) (*UpdateLocationSmbOutput, error) { - req, out := c.UpdateLocationSmbRequest(input) +func (c *DataSync) StartDiscoveryJobWithContext(ctx aws.Context, input *StartDiscoveryJobInput, opts ...request.Option) (*StartDiscoveryJobOutput, error) { + req, out := c.StartDiscoveryJobRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTask = "UpdateTask" +const opStartTaskExecution = "StartTaskExecution" -// UpdateTaskRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTask operation. The "output" return +// StartTaskExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StartTaskExecution operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateTask for more information on using the UpdateTask +// See StartTaskExecution for more information on using the StartTaskExecution // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateTaskRequest method. -// req, resp := client.UpdateTaskRequest(params) +// // Example sending a request using the StartTaskExecutionRequest method. +// req, resp := client.StartTaskExecutionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTask -func (c *DataSync) UpdateTaskRequest(input *UpdateTaskInput) (req *request.Request, output *UpdateTaskOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecution +func (c *DataSync) StartTaskExecutionRequest(input *StartTaskExecutionInput) (req *request.Request, output *StartTaskExecutionOutput) { op := &request.Operation{ - Name: opUpdateTask, + Name: opStartTaskExecution, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateTaskInput{} + input = &StartTaskExecutionInput{} } - output = &UpdateTaskOutput{} + output = &StartTaskExecutionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateTask API operation for AWS DataSync. +// StartTaskExecution API operation for AWS DataSync. // -// Updates the metadata associated with a task. +// Starts an DataSync task. For each task, you can only run one task execution +// at a time. +// +// There are several phases to a task execution. For more information, see Task +// execution statuses (https://docs.aws.amazon.com/datasync/latest/userguide/working-with-task-executions.html#understand-task-execution-statuses). +// +// If you're planning to transfer data to or from an Amazon S3 location, review +// how DataSync can affect your S3 request charges (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#create-s3-location-s3-requests) +// and the DataSync pricing page (http://aws.amazon.com/datasync/pricing/) before +// you begin. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation UpdateTask for usage and error information. +// API operation StartTaskExecution for usage and error information. // // Returned Error Types: // @@ -3905,87 +4340,88 @@ func (c *DataSync) UpdateTaskRequest(input *UpdateTaskInput) (req *request.Reque // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTask -func (c *DataSync) UpdateTask(input *UpdateTaskInput) (*UpdateTaskOutput, error) { - req, out := c.UpdateTaskRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StartTaskExecution +func (c *DataSync) StartTaskExecution(input *StartTaskExecutionInput) (*StartTaskExecutionOutput, error) { + req, out := c.StartTaskExecutionRequest(input) return out, req.Send() } -// UpdateTaskWithContext is the same as UpdateTask with the addition of +// StartTaskExecutionWithContext is the same as StartTaskExecution with the addition of // the ability to pass a context and additional request options. // -// See UpdateTask for details on how to use this API operation. +// See StartTaskExecution for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) UpdateTaskWithContext(ctx aws.Context, input *UpdateTaskInput, opts ...request.Option) (*UpdateTaskOutput, error) { - req, out := c.UpdateTaskRequest(input) +func (c *DataSync) StartTaskExecutionWithContext(ctx aws.Context, input *StartTaskExecutionInput, opts ...request.Option) (*StartTaskExecutionOutput, error) { + req, out := c.StartTaskExecutionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTaskExecution = "UpdateTaskExecution" +const opStopDiscoveryJob = "StopDiscoveryJob" -// UpdateTaskExecutionRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTaskExecution operation. The "output" return +// StopDiscoveryJobRequest generates a "aws/request.Request" representing the +// client's request for the StopDiscoveryJob operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateTaskExecution for more information on using the UpdateTaskExecution +// See StopDiscoveryJob for more information on using the StopDiscoveryJob // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateTaskExecutionRequest method. -// req, resp := client.UpdateTaskExecutionRequest(params) +// // Example sending a request using the StopDiscoveryJobRequest method. +// req, resp := client.StopDiscoveryJobRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskExecution -func (c *DataSync) UpdateTaskExecutionRequest(input *UpdateTaskExecutionInput) (req *request.Request, output *UpdateTaskExecutionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StopDiscoveryJob +func (c *DataSync) StopDiscoveryJobRequest(input *StopDiscoveryJobInput) (req *request.Request, output *StopDiscoveryJobOutput) { op := &request.Operation{ - Name: opUpdateTaskExecution, + Name: opStopDiscoveryJob, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateTaskExecutionInput{} + input = &StopDiscoveryJobInput{} } - output = &UpdateTaskExecutionOutput{} + output = &StopDiscoveryJobOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateTaskExecution API operation for AWS DataSync. +// StopDiscoveryJob API operation for AWS DataSync. // -// Updates execution of a task. +// Stops a running DataSync discovery job. // -// You can modify bandwidth throttling for a task execution that is running -// or queued. For more information, see Adjusting Bandwidth Throttling for a -// Task Execution (https://docs.aws.amazon.com/datasync/latest/userguide/working-with-task-executions.html#adjust-bandwidth-throttling). -// -// The only Option that can be modified by UpdateTaskExecution is BytesPerSecond -// (https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-BytesPerSecond) . +// You can stop a discovery job anytime. A job that's stopped before it's scheduled +// to end likely will provide you some information about your on-premises storage +// system resources. To get recommendations for a stopped job, you must use +// the GenerateRecommendations (https://docs.aws.amazon.com/datasync/latest/userguide/API_GenerateRecommendations.html) +// operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS DataSync's -// API operation UpdateTaskExecution for usage and error information. +// API operation StopDiscoveryJob for usage and error information. // // Returned Error Types: // @@ -3995,202 +4431,1846 @@ func (c *DataSync) UpdateTaskExecutionRequest(input *UpdateTaskExecutionInput) ( // - InternalException // This exception is thrown when an error occurs in the DataSync service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskExecution -func (c *DataSync) UpdateTaskExecution(input *UpdateTaskExecutionInput) (*UpdateTaskExecutionOutput, error) { - req, out := c.UpdateTaskExecutionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/StopDiscoveryJob +func (c *DataSync) StopDiscoveryJob(input *StopDiscoveryJobInput) (*StopDiscoveryJobOutput, error) { + req, out := c.StopDiscoveryJobRequest(input) return out, req.Send() } -// UpdateTaskExecutionWithContext is the same as UpdateTaskExecution with the addition of +// StopDiscoveryJobWithContext is the same as StopDiscoveryJob with the addition of // the ability to pass a context and additional request options. // -// See UpdateTaskExecution for details on how to use this API operation. +// See StopDiscoveryJob for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *DataSync) UpdateTaskExecutionWithContext(ctx aws.Context, input *UpdateTaskExecutionInput, opts ...request.Option) (*UpdateTaskExecutionOutput, error) { - req, out := c.UpdateTaskExecutionRequest(input) +func (c *DataSync) StopDiscoveryJobWithContext(ctx aws.Context, input *StopDiscoveryJobInput, opts ...request.Option) (*StopDiscoveryJobOutput, error) { + req, out := c.StopDiscoveryJobRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Represents a single entry in a list (or array) of DataSync agents when you -// call the ListAgents (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListAgents.html) -// operation. -type AgentListEntry struct { - _ struct{} `type:"structure"` +const opTagResource = "TagResource" - // The Amazon Resource Name (ARN) of a DataSync agent. - AgentArn *string `type:"string"` +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResource +func (c *DataSync) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } - // The name of an agent. - Name *string `min:"1" type:"string"` + if input == nil { + input = &TagResourceInput{} + } - // The status of an agent. For more information, see DataSync agent statuses - // (https://docs.aws.amazon.com/datasync/latest/userguide/understand-agent-statuses.html). - Status *string `type:"string" enum:"AgentStatus"` + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -// String returns the string representation. +// TagResource API operation for AWS DataSync. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AgentListEntry) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Applies a tag to an Amazon Web Services resource. Tags are key-value pairs +// that can help you manage, filter, and search for your resources. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AgentListEntry) GoString() string { - return s.String() -} - -// SetAgentArn sets the AgentArn field's value. -func (s *AgentListEntry) SetAgentArn(v string) *AgentListEntry { - s.AgentArn = &v - return s -} - -// SetName sets the Name field's value. -func (s *AgentListEntry) SetName(v string) *AgentListEntry { - s.Name = &v - return s +// These include DataSync resources, such as locations, tasks, and task executions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/TagResource +func (c *DataSync) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() } -// SetStatus sets the Status field's value. -func (s *AgentListEntry) SetStatus(v string) *AgentListEntry { - s.Status = &v - return s +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// CancelTaskExecutionRequest -type CancelTaskExecutionInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the task execution to stop. - // - // TaskExecutionArn is a required field - TaskExecutionArn *string `type:"string" required:"true"` -} +const opUntagResource = "UntagResource" -// String returns the string representation. +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CancelTaskExecutionInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CancelTaskExecutionInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CancelTaskExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelTaskExecutionInput"} - if s.TaskExecutionArn == nil { - invalidParams.Add(request.NewErrParamRequired("TaskExecutionArn")) +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResource +func (c *DataSync) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", } - if invalidParams.Len() > 0 { - return invalidParams + if input == nil { + input = &UntagResourceInput{} } - return nil -} -// SetTaskExecutionArn sets the TaskExecutionArn field's value. -func (s *CancelTaskExecutionInput) SetTaskExecutionArn(v string) *CancelTaskExecutionInput { - s.TaskExecutionArn = &v - return s -} - -type CancelTaskExecutionOutput struct { - _ struct{} `type:"structure"` + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -// String returns the string representation. +// UntagResource API operation for AWS DataSync. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CancelTaskExecutionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Removes tags from an Amazon Web Services resource. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CancelTaskExecutionOutput) GoString() string { - return s.String() +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UntagResource +func (c *DataSync) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() } -// CreateAgentRequest +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAgent = "UpdateAgent" + +// UpdateAgentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAgent operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateAgent for more information on using the UpdateAgent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateAgentRequest method. +// req, resp := client.UpdateAgentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgent +func (c *DataSync) UpdateAgentRequest(input *UpdateAgentInput) (req *request.Request, output *UpdateAgentOutput) { + op := &request.Operation{ + Name: opUpdateAgent, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAgentInput{} + } + + output = &UpdateAgentOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateAgent API operation for AWS DataSync. +// +// Updates the name of an agent. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation UpdateAgent for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateAgent +func (c *DataSync) UpdateAgent(input *UpdateAgentInput) (*UpdateAgentOutput, error) { + req, out := c.UpdateAgentRequest(input) + return out, req.Send() +} + +// UpdateAgentWithContext is the same as UpdateAgent with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAgent for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) UpdateAgentWithContext(ctx aws.Context, input *UpdateAgentInput, opts ...request.Option) (*UpdateAgentOutput, error) { + req, out := c.UpdateAgentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDiscoveryJob = "UpdateDiscoveryJob" + +// UpdateDiscoveryJobRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDiscoveryJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDiscoveryJob for more information on using the UpdateDiscoveryJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateDiscoveryJobRequest method. +// req, resp := client.UpdateDiscoveryJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateDiscoveryJob +func (c *DataSync) UpdateDiscoveryJobRequest(input *UpdateDiscoveryJobInput) (req *request.Request, output *UpdateDiscoveryJobOutput) { + op := &request.Operation{ + Name: opUpdateDiscoveryJob, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDiscoveryJobInput{} + } + + output = &UpdateDiscoveryJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdateDiscoveryJob API operation for AWS DataSync. +// +// Edits a DataSync discovery job configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation UpdateDiscoveryJob for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateDiscoveryJob +func (c *DataSync) UpdateDiscoveryJob(input *UpdateDiscoveryJobInput) (*UpdateDiscoveryJobOutput, error) { + req, out := c.UpdateDiscoveryJobRequest(input) + return out, req.Send() +} + +// UpdateDiscoveryJobWithContext is the same as UpdateDiscoveryJob with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDiscoveryJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) UpdateDiscoveryJobWithContext(ctx aws.Context, input *UpdateDiscoveryJobInput, opts ...request.Option) (*UpdateDiscoveryJobOutput, error) { + req, out := c.UpdateDiscoveryJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLocationHdfs = "UpdateLocationHdfs" + +// UpdateLocationHdfsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLocationHdfs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateLocationHdfs for more information on using the UpdateLocationHdfs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateLocationHdfsRequest method. +// req, resp := client.UpdateLocationHdfsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationHdfs +func (c *DataSync) UpdateLocationHdfsRequest(input *UpdateLocationHdfsInput) (req *request.Request, output *UpdateLocationHdfsOutput) { + op := &request.Operation{ + Name: opUpdateLocationHdfs, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateLocationHdfsInput{} + } + + output = &UpdateLocationHdfsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateLocationHdfs API operation for AWS DataSync. +// +// Updates some parameters of a previously created location for a Hadoop Distributed +// File System cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation UpdateLocationHdfs for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationHdfs +func (c *DataSync) UpdateLocationHdfs(input *UpdateLocationHdfsInput) (*UpdateLocationHdfsOutput, error) { + req, out := c.UpdateLocationHdfsRequest(input) + return out, req.Send() +} + +// UpdateLocationHdfsWithContext is the same as UpdateLocationHdfs with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLocationHdfs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) UpdateLocationHdfsWithContext(ctx aws.Context, input *UpdateLocationHdfsInput, opts ...request.Option) (*UpdateLocationHdfsOutput, error) { + req, out := c.UpdateLocationHdfsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLocationNfs = "UpdateLocationNfs" + +// UpdateLocationNfsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLocationNfs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateLocationNfs for more information on using the UpdateLocationNfs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateLocationNfsRequest method. +// req, resp := client.UpdateLocationNfsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationNfs +func (c *DataSync) UpdateLocationNfsRequest(input *UpdateLocationNfsInput) (req *request.Request, output *UpdateLocationNfsOutput) { + op := &request.Operation{ + Name: opUpdateLocationNfs, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateLocationNfsInput{} + } + + output = &UpdateLocationNfsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateLocationNfs API operation for AWS DataSync. +// +// Updates some of the parameters of a previously created location for Network +// File System (NFS) access. For information about creating an NFS location, +// see Creating a location for NFS (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation UpdateLocationNfs for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationNfs +func (c *DataSync) UpdateLocationNfs(input *UpdateLocationNfsInput) (*UpdateLocationNfsOutput, error) { + req, out := c.UpdateLocationNfsRequest(input) + return out, req.Send() +} + +// UpdateLocationNfsWithContext is the same as UpdateLocationNfs with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLocationNfs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) UpdateLocationNfsWithContext(ctx aws.Context, input *UpdateLocationNfsInput, opts ...request.Option) (*UpdateLocationNfsOutput, error) { + req, out := c.UpdateLocationNfsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLocationObjectStorage = "UpdateLocationObjectStorage" + +// UpdateLocationObjectStorageRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLocationObjectStorage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateLocationObjectStorage for more information on using the UpdateLocationObjectStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateLocationObjectStorageRequest method. +// req, resp := client.UpdateLocationObjectStorageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorage +func (c *DataSync) UpdateLocationObjectStorageRequest(input *UpdateLocationObjectStorageInput) (req *request.Request, output *UpdateLocationObjectStorageOutput) { + op := &request.Operation{ + Name: opUpdateLocationObjectStorage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateLocationObjectStorageInput{} + } + + output = &UpdateLocationObjectStorageOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateLocationObjectStorage API operation for AWS DataSync. +// +// Updates some parameters of an existing object storage location that DataSync +// accesses for a transfer. For information about creating a self-managed object +// storage location, see Creating a location for object storage (https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation UpdateLocationObjectStorage for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorage +func (c *DataSync) UpdateLocationObjectStorage(input *UpdateLocationObjectStorageInput) (*UpdateLocationObjectStorageOutput, error) { + req, out := c.UpdateLocationObjectStorageRequest(input) + return out, req.Send() +} + +// UpdateLocationObjectStorageWithContext is the same as UpdateLocationObjectStorage with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLocationObjectStorage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) UpdateLocationObjectStorageWithContext(ctx aws.Context, input *UpdateLocationObjectStorageInput, opts ...request.Option) (*UpdateLocationObjectStorageOutput, error) { + req, out := c.UpdateLocationObjectStorageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLocationSmb = "UpdateLocationSmb" + +// UpdateLocationSmbRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLocationSmb operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateLocationSmb for more information on using the UpdateLocationSmb +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateLocationSmbRequest method. +// req, resp := client.UpdateLocationSmbRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationSmb +func (c *DataSync) UpdateLocationSmbRequest(input *UpdateLocationSmbInput) (req *request.Request, output *UpdateLocationSmbOutput) { + op := &request.Operation{ + Name: opUpdateLocationSmb, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateLocationSmbInput{} + } + + output = &UpdateLocationSmbOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateLocationSmb API operation for AWS DataSync. +// +// Updates some of the parameters of a previously created location for Server +// Message Block (SMB) file system access. For information about creating an +// SMB location, see Creating a location for SMB (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation UpdateLocationSmb for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationSmb +func (c *DataSync) UpdateLocationSmb(input *UpdateLocationSmbInput) (*UpdateLocationSmbOutput, error) { + req, out := c.UpdateLocationSmbRequest(input) + return out, req.Send() +} + +// UpdateLocationSmbWithContext is the same as UpdateLocationSmb with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLocationSmb for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) UpdateLocationSmbWithContext(ctx aws.Context, input *UpdateLocationSmbInput, opts ...request.Option) (*UpdateLocationSmbOutput, error) { + req, out := c.UpdateLocationSmbRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateStorageSystem = "UpdateStorageSystem" + +// UpdateStorageSystemRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStorageSystem operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateStorageSystem for more information on using the UpdateStorageSystem +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateStorageSystemRequest method. +// req, resp := client.UpdateStorageSystemRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateStorageSystem +func (c *DataSync) UpdateStorageSystemRequest(input *UpdateStorageSystemInput) (req *request.Request, output *UpdateStorageSystemOutput) { + op := &request.Operation{ + Name: opUpdateStorageSystem, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateStorageSystemInput{} + } + + output = &UpdateStorageSystemOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("discovery-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdateStorageSystem API operation for AWS DataSync. +// +// Modifies some configurations of an on-premises storage system resource that +// you're using with DataSync Discovery. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation UpdateStorageSystem for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateStorageSystem +func (c *DataSync) UpdateStorageSystem(input *UpdateStorageSystemInput) (*UpdateStorageSystemOutput, error) { + req, out := c.UpdateStorageSystemRequest(input) + return out, req.Send() +} + +// UpdateStorageSystemWithContext is the same as UpdateStorageSystem with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStorageSystem for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) UpdateStorageSystemWithContext(ctx aws.Context, input *UpdateStorageSystemInput, opts ...request.Option) (*UpdateStorageSystemOutput, error) { + req, out := c.UpdateStorageSystemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTask = "UpdateTask" + +// UpdateTaskRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTask operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTask for more information on using the UpdateTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateTaskRequest method. +// req, resp := client.UpdateTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTask +func (c *DataSync) UpdateTaskRequest(input *UpdateTaskInput) (req *request.Request, output *UpdateTaskOutput) { + op := &request.Operation{ + Name: opUpdateTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTaskInput{} + } + + output = &UpdateTaskOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateTask API operation for AWS DataSync. +// +// Updates the metadata associated with a task. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation UpdateTask for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTask +func (c *DataSync) UpdateTask(input *UpdateTaskInput) (*UpdateTaskOutput, error) { + req, out := c.UpdateTaskRequest(input) + return out, req.Send() +} + +// UpdateTaskWithContext is the same as UpdateTask with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTask for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) UpdateTaskWithContext(ctx aws.Context, input *UpdateTaskInput, opts ...request.Option) (*UpdateTaskOutput, error) { + req, out := c.UpdateTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTaskExecution = "UpdateTaskExecution" + +// UpdateTaskExecutionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTaskExecution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTaskExecution for more information on using the UpdateTaskExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateTaskExecutionRequest method. +// req, resp := client.UpdateTaskExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskExecution +func (c *DataSync) UpdateTaskExecutionRequest(input *UpdateTaskExecutionInput) (req *request.Request, output *UpdateTaskExecutionOutput) { + op := &request.Operation{ + Name: opUpdateTaskExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTaskExecutionInput{} + } + + output = &UpdateTaskExecutionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateTaskExecution API operation for AWS DataSync. +// +// Modifies a running DataSync task. +// +// Currently, the only Option that you can modify with UpdateTaskExecution is +// BytesPerSecond (https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-BytesPerSecond) +// , which throttles bandwidth for a running or queued task. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation UpdateTaskExecution for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - InternalException +// This exception is thrown when an error occurs in the DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateTaskExecution +func (c *DataSync) UpdateTaskExecution(input *UpdateTaskExecutionInput) (*UpdateTaskExecutionOutput, error) { + req, out := c.UpdateTaskExecutionRequest(input) + return out, req.Send() +} + +// UpdateTaskExecutionWithContext is the same as UpdateTaskExecution with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTaskExecution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) UpdateTaskExecutionWithContext(ctx aws.Context, input *UpdateTaskExecutionInput, opts ...request.Option) (*UpdateTaskExecutionOutput, error) { + req, out := c.UpdateTaskExecutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AddStorageSystemInput struct { + _ struct{} `type:"structure"` + + // Specifies the Amazon Resource Name (ARN) of the DataSync agent that connects + // to and reads from your on-premises storage system's management interface. + // + // AgentArns is a required field + AgentArns []*string `min:"1" type:"list" required:"true"` + + // Specifies a client token to make sure requests with this API operation are + // idempotent. If you don't specify a client token, DataSync generates one for + // you automatically. + ClientToken *string `type:"string" idempotencyToken:"true"` + + // Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging + // discovery job events. + CloudWatchLogGroupArn *string `type:"string"` + + // Specifies the user name and password for accessing your on-premises storage + // system's management interface. + // + // Credentials is a required field + Credentials *Credentials `type:"structure" required:"true"` + + // Specifies a familiar name for your on-premises storage system. + Name *string `min:"1" type:"string"` + + // Specifies the server name and network port required to connect with the management + // interface of your on-premises storage system. + // + // ServerConfiguration is a required field + ServerConfiguration *DiscoveryServerConfiguration `type:"structure" required:"true"` + + // Specifies the type of on-premises storage system that you want DataSync Discovery + // to collect information about. + // + // DataSync Discovery currently supports NetApp Fabric-Attached Storage (FAS) + // and All Flash FAS (AFF) systems running ONTAP 9.7 or later. + // + // SystemType is a required field + SystemType *string `type:"string" required:"true" enum:"DiscoverySystemType"` + + // Specifies labels that help you categorize, filter, and search for your Amazon + // Web Services resources. We recommend creating at least a name tag for your + // on-premises storage system. + Tags []*TagListEntry `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddStorageSystemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddStorageSystemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddStorageSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddStorageSystemInput"} + if s.AgentArns == nil { + invalidParams.Add(request.NewErrParamRequired("AgentArns")) + } + if s.AgentArns != nil && len(s.AgentArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) + } + if s.Credentials == nil { + invalidParams.Add(request.NewErrParamRequired("Credentials")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ServerConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("ServerConfiguration")) + } + if s.SystemType == nil { + invalidParams.Add(request.NewErrParamRequired("SystemType")) + } + if s.Credentials != nil { + if err := s.Credentials.Validate(); err != nil { + invalidParams.AddNested("Credentials", err.(request.ErrInvalidParams)) + } + } + if s.ServerConfiguration != nil { + if err := s.ServerConfiguration.Validate(); err != nil { + invalidParams.AddNested("ServerConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAgentArns sets the AgentArns field's value. +func (s *AddStorageSystemInput) SetAgentArns(v []*string) *AddStorageSystemInput { + s.AgentArns = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *AddStorageSystemInput) SetClientToken(v string) *AddStorageSystemInput { + s.ClientToken = &v + return s +} + +// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value. +func (s *AddStorageSystemInput) SetCloudWatchLogGroupArn(v string) *AddStorageSystemInput { + s.CloudWatchLogGroupArn = &v + return s +} + +// SetCredentials sets the Credentials field's value. +func (s *AddStorageSystemInput) SetCredentials(v *Credentials) *AddStorageSystemInput { + s.Credentials = v + return s +} + +// SetName sets the Name field's value. +func (s *AddStorageSystemInput) SetName(v string) *AddStorageSystemInput { + s.Name = &v + return s +} + +// SetServerConfiguration sets the ServerConfiguration field's value. +func (s *AddStorageSystemInput) SetServerConfiguration(v *DiscoveryServerConfiguration) *AddStorageSystemInput { + s.ServerConfiguration = v + return s +} + +// SetSystemType sets the SystemType field's value. +func (s *AddStorageSystemInput) SetSystemType(v string) *AddStorageSystemInput { + s.SystemType = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *AddStorageSystemInput) SetTags(v []*TagListEntry) *AddStorageSystemInput { + s.Tags = v + return s +} + +type AddStorageSystemOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the on-premises storage system that you can use with DataSync + // Discovery. + // + // StorageSystemArn is a required field + StorageSystemArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddStorageSystemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddStorageSystemOutput) GoString() string { + return s.String() +} + +// SetStorageSystemArn sets the StorageSystemArn field's value. +func (s *AddStorageSystemOutput) SetStorageSystemArn(v string) *AddStorageSystemOutput { + s.StorageSystemArn = &v + return s +} + +// Represents a single entry in a list (or array) of DataSync agents when you +// call the ListAgents (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListAgents.html) +// operation. +type AgentListEntry struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of a DataSync agent. + AgentArn *string `type:"string"` + + // The name of an agent. + Name *string `min:"1" type:"string"` + + // The status of an agent. For more information, see DataSync agent statuses + // (https://docs.aws.amazon.com/datasync/latest/userguide/understand-agent-statuses.html). + Status *string `type:"string" enum:"AgentStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AgentListEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AgentListEntry) GoString() string { + return s.String() +} + +// SetAgentArn sets the AgentArn field's value. +func (s *AgentListEntry) SetAgentArn(v string) *AgentListEntry { + s.AgentArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *AgentListEntry) SetName(v string) *AgentListEntry { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AgentListEntry) SetStatus(v string) *AgentListEntry { + s.Status = &v + return s +} + +// CancelTaskExecutionRequest +type CancelTaskExecutionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the task execution to stop. + // + // TaskExecutionArn is a required field + TaskExecutionArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelTaskExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelTaskExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelTaskExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelTaskExecutionInput"} + if s.TaskExecutionArn == nil { + invalidParams.Add(request.NewErrParamRequired("TaskExecutionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTaskExecutionArn sets the TaskExecutionArn field's value. +func (s *CancelTaskExecutionInput) SetTaskExecutionArn(v string) *CancelTaskExecutionInput { + s.TaskExecutionArn = &v + return s +} + +type CancelTaskExecutionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelTaskExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelTaskExecutionOutput) GoString() string { + return s.String() +} + +// The storage capacity of an on-premises storage system resource (for example, +// a volume). +type Capacity struct { + _ struct{} `type:"structure"` + + // The amount of space that's being used in a storage system resource without + // accounting for compression or deduplication. + LogicalUsed *int64 `type:"long"` + + // The total amount of space available in a storage system resource. + Provisioned *int64 `type:"long"` + + // The amount of space that's being used in a storage system resource. + Used *int64 `type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Capacity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Capacity) GoString() string { + return s.String() +} + +// SetLogicalUsed sets the LogicalUsed field's value. +func (s *Capacity) SetLogicalUsed(v int64) *Capacity { + s.LogicalUsed = &v + return s +} + +// SetProvisioned sets the Provisioned field's value. +func (s *Capacity) SetProvisioned(v int64) *Capacity { + s.Provisioned = &v + return s +} + +// SetUsed sets the Used field's value. +func (s *Capacity) SetUsed(v int64) *Capacity { + s.Used = &v + return s +} + +// CreateAgentRequest type CreateAgentInput struct { _ struct{} `type:"structure"` - // Your agent activation key. You can get the activation key either by sending - // an HTTP GET request with redirects that enable you to get the agent IP address - // (port 80). Alternatively, you can get it from the DataSync console. - // - // The redirect URL returned in the response provides you the activation key - // for your agent in the query string parameter activationKey. It might also - // include other activation-related parameters; however, these are merely defaults. - // The arguments you pass to this API call determine the actual configuration - // of your agent. - // - // For more information, see Activating an Agent in the DataSync User Guide. - // - // ActivationKey is a required field - ActivationKey *string `type:"string" required:"true"` + // Your agent activation key. You can get the activation key either by sending + // an HTTP GET request with redirects that enable you to get the agent IP address + // (port 80). Alternatively, you can get it from the DataSync console. + // + // The redirect URL returned in the response provides you the activation key + // for your agent in the query string parameter activationKey. It might also + // include other activation-related parameters; however, these are merely defaults. + // The arguments you pass to this API call determine the actual configuration + // of your agent. + // + // For more information, see Activating an Agent in the DataSync User Guide. + // + // ActivationKey is a required field + ActivationKey *string `type:"string" required:"true"` + + // The name you configured for your agent. This value is a text reference that + // is used to identify the agent in the console. + AgentName *string `min:"1" type:"string"` + + // The ARNs of the security groups used to protect your data transfer task subnets. + // See SecurityGroupArns (https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns). + SecurityGroupArns []*string `min:"1" type:"list"` + + // The Amazon Resource Names (ARNs) of the subnets in which DataSync will create + // elastic network interfaces for each data transfer task. The agent that runs + // a task must be private. When you start a task that is associated with an + // agent created in a VPC, or one that has access to an IP address in a VPC, + // then the task is also private. In this case, DataSync creates four network + // interfaces for each task in your subnet. For a data transfer to work, the + // agent must be able to route to all these four network interfaces. + SubnetArns []*string `min:"1" type:"list"` + + // The key-value pair that represents the tag that you want to associate with + // the agent. The value can be an empty string. This value helps you manage, + // filter, and search for your agents. + // + // Valid characters for key and value are letters, spaces, and numbers representable + // in UTF-8 format, and the following special characters: + - = . _ : / @. + Tags []*TagListEntry `type:"list"` + + // The ID of the VPC (virtual private cloud) endpoint that the agent has access + // to. This is the client-side VPC endpoint, also called a PrivateLink. If you + // don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service + // Configuration (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service) + // in the Amazon VPC User Guide. + // + // VPC endpoint ID looks like this: vpce-01234d5aff67890e1. + VpcEndpointId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAgentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAgentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAgentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAgentInput"} + if s.ActivationKey == nil { + invalidParams.Add(request.NewErrParamRequired("ActivationKey")) + } + if s.AgentName != nil && len(*s.AgentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgentName", 1)) + } + if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1)) + } + if s.SubnetArns != nil && len(s.SubnetArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetArns", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActivationKey sets the ActivationKey field's value. +func (s *CreateAgentInput) SetActivationKey(v string) *CreateAgentInput { + s.ActivationKey = &v + return s +} + +// SetAgentName sets the AgentName field's value. +func (s *CreateAgentInput) SetAgentName(v string) *CreateAgentInput { + s.AgentName = &v + return s +} + +// SetSecurityGroupArns sets the SecurityGroupArns field's value. +func (s *CreateAgentInput) SetSecurityGroupArns(v []*string) *CreateAgentInput { + s.SecurityGroupArns = v + return s +} + +// SetSubnetArns sets the SubnetArns field's value. +func (s *CreateAgentInput) SetSubnetArns(v []*string) *CreateAgentInput { + s.SubnetArns = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateAgentInput) SetTags(v []*TagListEntry) *CreateAgentInput { + s.Tags = v + return s +} + +// SetVpcEndpointId sets the VpcEndpointId field's value. +func (s *CreateAgentInput) SetVpcEndpointId(v string) *CreateAgentInput { + s.VpcEndpointId = &v + return s +} + +// CreateAgentResponse +type CreateAgentOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the agent. Use the ListAgents operation + // to return a list of agents for your account and Amazon Web Services Region. + AgentArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAgentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAgentOutput) GoString() string { + return s.String() +} + +// SetAgentArn sets the AgentArn field's value. +func (s *CreateAgentOutput) SetAgentArn(v string) *CreateAgentOutput { + s.AgentArn = &v + return s +} + +// CreateLocationEfsRequest +type CreateLocationEfsInput struct { + _ struct{} `type:"structure"` + + // Specifies the Amazon Resource Name (ARN) of the access point that DataSync + // uses to access the Amazon EFS file system. + AccessPointArn *string `type:"string"` + + // Specifies the subnet and security groups DataSync uses to access your Amazon + // EFS file system. + // + // Ec2Config is a required field + Ec2Config *Ec2Config `type:"structure" required:"true"` + + // Specifies the ARN for the Amazon EFS file system. + // + // EfsFilesystemArn is a required field + EfsFilesystemArn *string `type:"string" required:"true"` + + // Specifies an Identity and Access Management (IAM) role that DataSync assumes + // when mounting the Amazon EFS file system. + FileSystemAccessRoleArn *string `type:"string"` + + // Specifies whether you want DataSync to use Transport Layer Security (TLS) + // 1.2 encryption when it copies data to or from the Amazon EFS file system. + // + // If you specify an access point using AccessPointArn or an IAM role using + // FileSystemAccessRoleArn, you must set this parameter to TLS1_2. + InTransitEncryption *string `type:"string" enum:"EfsInTransitEncryption"` + + // Specifies a mount path for your Amazon EFS file system. This is where DataSync + // reads or writes data (depending on if this is a source or destination location). + // By default, DataSync uses the root directory, but you can also include subdirectories. + // + // You must specify a value with forward slashes (for example, /path/to/folder). + Subdirectory *string `type:"string"` + + // Specifies the key-value pair that represents a tag that you want to add to + // the resource. The value can be an empty string. This value helps you manage, + // filter, and search for your resources. We recommend that you create a name + // tag for your location. + Tags []*TagListEntry `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLocationEfsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLocationEfsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLocationEfsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationEfsInput"} + if s.Ec2Config == nil { + invalidParams.Add(request.NewErrParamRequired("Ec2Config")) + } + if s.EfsFilesystemArn == nil { + invalidParams.Add(request.NewErrParamRequired("EfsFilesystemArn")) + } + if s.Ec2Config != nil { + if err := s.Ec2Config.Validate(); err != nil { + invalidParams.AddNested("Ec2Config", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessPointArn sets the AccessPointArn field's value. +func (s *CreateLocationEfsInput) SetAccessPointArn(v string) *CreateLocationEfsInput { + s.AccessPointArn = &v + return s +} + +// SetEc2Config sets the Ec2Config field's value. +func (s *CreateLocationEfsInput) SetEc2Config(v *Ec2Config) *CreateLocationEfsInput { + s.Ec2Config = v + return s +} + +// SetEfsFilesystemArn sets the EfsFilesystemArn field's value. +func (s *CreateLocationEfsInput) SetEfsFilesystemArn(v string) *CreateLocationEfsInput { + s.EfsFilesystemArn = &v + return s +} + +// SetFileSystemAccessRoleArn sets the FileSystemAccessRoleArn field's value. +func (s *CreateLocationEfsInput) SetFileSystemAccessRoleArn(v string) *CreateLocationEfsInput { + s.FileSystemAccessRoleArn = &v + return s +} + +// SetInTransitEncryption sets the InTransitEncryption field's value. +func (s *CreateLocationEfsInput) SetInTransitEncryption(v string) *CreateLocationEfsInput { + s.InTransitEncryption = &v + return s +} + +// SetSubdirectory sets the Subdirectory field's value. +func (s *CreateLocationEfsInput) SetSubdirectory(v string) *CreateLocationEfsInput { + s.Subdirectory = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateLocationEfsInput) SetTags(v []*TagListEntry) *CreateLocationEfsInput { + s.Tags = v + return s +} + +// CreateLocationEfs +type CreateLocationEfsOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Amazon EFS file system location that + // you create. + LocationArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLocationEfsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLocationEfsOutput) GoString() string { + return s.String() +} + +// SetLocationArn sets the LocationArn field's value. +func (s *CreateLocationEfsOutput) SetLocationArn(v string) *CreateLocationEfsOutput { + s.LocationArn = &v + return s +} + +type CreateLocationFsxLustreInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the FSx for Lustre file system. + // + // FsxFilesystemArn is a required field + FsxFilesystemArn *string `type:"string" required:"true"` + + // The Amazon Resource Names (ARNs) of the security groups that are used to + // configure the FSx for Lustre file system. + // + // SecurityGroupArns is a required field + SecurityGroupArns []*string `min:"1" type:"list" required:"true"` + + // A subdirectory in the location's path. This subdirectory in the FSx for Lustre + // file system is used to read data from the FSx for Lustre source location + // or write data to the FSx for Lustre destination. + Subdirectory *string `type:"string"` + + // The key-value pair that represents a tag that you want to add to the resource. + // The value can be an empty string. This value helps you manage, filter, and + // search for your resources. We recommend that you create a name tag for your + // location. + Tags []*TagListEntry `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLocationFsxLustreInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLocationFsxLustreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLocationFsxLustreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxLustreInput"} + if s.FsxFilesystemArn == nil { + invalidParams.Add(request.NewErrParamRequired("FsxFilesystemArn")) + } + if s.SecurityGroupArns == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns")) + } + if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFsxFilesystemArn sets the FsxFilesystemArn field's value. +func (s *CreateLocationFsxLustreInput) SetFsxFilesystemArn(v string) *CreateLocationFsxLustreInput { + s.FsxFilesystemArn = &v + return s +} + +// SetSecurityGroupArns sets the SecurityGroupArns field's value. +func (s *CreateLocationFsxLustreInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxLustreInput { + s.SecurityGroupArns = v + return s +} + +// SetSubdirectory sets the Subdirectory field's value. +func (s *CreateLocationFsxLustreInput) SetSubdirectory(v string) *CreateLocationFsxLustreInput { + s.Subdirectory = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateLocationFsxLustreInput) SetTags(v []*TagListEntry) *CreateLocationFsxLustreInput { + s.Tags = v + return s +} + +type CreateLocationFsxLustreOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the FSx for Lustre file system location + // that's created. + LocationArn *string `type:"string"` +} - // The name you configured for your agent. This value is a text reference that - // is used to identify the agent in the console. - AgentName *string `min:"1" type:"string"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLocationFsxLustreOutput) String() string { + return awsutil.Prettify(s) +} - // The ARNs of the security groups used to protect your data transfer task subnets. - // See SecurityGroupArns (https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns). - SecurityGroupArns []*string `min:"1" type:"list"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLocationFsxLustreOutput) GoString() string { + return s.String() +} - // The Amazon Resource Names (ARNs) of the subnets in which DataSync will create - // elastic network interfaces for each data transfer task. The agent that runs - // a task must be private. When you start a task that is associated with an - // agent created in a VPC, or one that has access to an IP address in a VPC, - // then the task is also private. In this case, DataSync creates four network - // interfaces for each task in your subnet. For a data transfer to work, the - // agent must be able to route to all these four network interfaces. - SubnetArns []*string `min:"1" type:"list"` +// SetLocationArn sets the LocationArn field's value. +func (s *CreateLocationFsxLustreOutput) SetLocationArn(v string) *CreateLocationFsxLustreOutput { + s.LocationArn = &v + return s +} - // The key-value pair that represents the tag that you want to associate with - // the agent. The value can be an empty string. This value helps you manage, - // filter, and search for your agents. +type CreateLocationFsxOntapInput struct { + _ struct{} `type:"structure"` + + // Specifies the data transfer protocol that DataSync uses to access your Amazon + // FSx file system. // - // Valid characters for key and value are letters, spaces, and numbers representable - // in UTF-8 format, and the following special characters: + - = . _ : / @. - Tags []*TagListEntry `type:"list"` + // Protocol is a required field + Protocol *FsxProtocol `type:"structure" required:"true"` - // The ID of the VPC (virtual private cloud) endpoint that the agent has access - // to. This is the client-side VPC endpoint, also called a PrivateLink. If you - // don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service - // Configuration (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service) - // in the Amazon VPC User Guide. + // Specifies the Amazon EC2 security groups that provide access to your file + // system's preferred subnet. // - // VPC endpoint ID looks like this: vpce-01234d5aff67890e1. - VpcEndpointId *string `type:"string"` + // The security groups must allow outbound traffic on the following ports (depending + // on the protocol you use): + // + // * Network File System (NFS): TCP ports 111, 635, and 2049 + // + // * Server Message Block (SMB): TCP port 445 + // + // Your file system's security groups must also allow inbound traffic on the + // same ports. + // + // SecurityGroupArns is a required field + SecurityGroupArns []*string `min:"1" type:"list" required:"true"` + + // Specifies the ARN of the storage virtual machine (SVM) in your file system + // where you want to copy data to or from. + // + // StorageVirtualMachineArn is a required field + StorageVirtualMachineArn *string `type:"string" required:"true"` + + // Specifies a path to the file share in the SVM where you'll copy your data. + // + // You can specify a junction path (also known as a mount point), qtree path + // (for NFS file shares), or share name (for SMB file shares). For example, + // your mount path might be /vol1, /vol1/tree1, or /share1. + // + // Don't specify a junction path in the SVM's root volume. For more information, + // see Managing FSx for ONTAP storage virtual machines (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html) + // in the Amazon FSx for NetApp ONTAP User Guide. + Subdirectory *string `type:"string"` + + // Specifies labels that help you categorize, filter, and search for your Amazon + // Web Services resources. We recommend creating at least a name tag for your + // location. + Tags []*TagListEntry `type:"list"` } // String returns the string representation. @@ -4198,7 +6278,7 @@ type CreateAgentInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAgentInput) String() string { +func (s CreateLocationFsxOntapInput) String() string { return awsutil.Prettify(s) } @@ -4207,24 +6287,29 @@ func (s CreateAgentInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAgentInput) GoString() string { +func (s CreateLocationFsxOntapInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAgentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAgentInput"} - if s.ActivationKey == nil { - invalidParams.Add(request.NewErrParamRequired("ActivationKey")) +func (s *CreateLocationFsxOntapInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxOntapInput"} + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) } - if s.AgentName != nil && len(*s.AgentName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AgentName", 1)) + if s.SecurityGroupArns == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns")) } if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 { invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1)) } - if s.SubnetArns != nil && len(s.SubnetArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SubnetArns", 1)) + if s.StorageVirtualMachineArn == nil { + invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineArn")) + } + if s.Protocol != nil { + if err := s.Protocol.Validate(); err != nil { + invalidParams.AddNested("Protocol", err.(request.ErrInvalidParams)) + } } if s.Tags != nil { for i, v := range s.Tags { @@ -4243,49 +6328,41 @@ func (s *CreateAgentInput) Validate() error { return nil } -// SetActivationKey sets the ActivationKey field's value. -func (s *CreateAgentInput) SetActivationKey(v string) *CreateAgentInput { - s.ActivationKey = &v - return s -} - -// SetAgentName sets the AgentName field's value. -func (s *CreateAgentInput) SetAgentName(v string) *CreateAgentInput { - s.AgentName = &v +// SetProtocol sets the Protocol field's value. +func (s *CreateLocationFsxOntapInput) SetProtocol(v *FsxProtocol) *CreateLocationFsxOntapInput { + s.Protocol = v return s } // SetSecurityGroupArns sets the SecurityGroupArns field's value. -func (s *CreateAgentInput) SetSecurityGroupArns(v []*string) *CreateAgentInput { +func (s *CreateLocationFsxOntapInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxOntapInput { s.SecurityGroupArns = v return s } -// SetSubnetArns sets the SubnetArns field's value. -func (s *CreateAgentInput) SetSubnetArns(v []*string) *CreateAgentInput { - s.SubnetArns = v +// SetStorageVirtualMachineArn sets the StorageVirtualMachineArn field's value. +func (s *CreateLocationFsxOntapInput) SetStorageVirtualMachineArn(v string) *CreateLocationFsxOntapInput { + s.StorageVirtualMachineArn = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateAgentInput) SetTags(v []*TagListEntry) *CreateAgentInput { - s.Tags = v +// SetSubdirectory sets the Subdirectory field's value. +func (s *CreateLocationFsxOntapInput) SetSubdirectory(v string) *CreateLocationFsxOntapInput { + s.Subdirectory = &v return s } -// SetVpcEndpointId sets the VpcEndpointId field's value. -func (s *CreateAgentInput) SetVpcEndpointId(v string) *CreateAgentInput { - s.VpcEndpointId = &v +// SetTags sets the Tags field's value. +func (s *CreateLocationFsxOntapInput) SetTags(v []*TagListEntry) *CreateLocationFsxOntapInput { + s.Tags = v return s } -// CreateAgentResponse -type CreateAgentOutput struct { +type CreateLocationFsxOntapOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the agent. Use the ListAgents operation - // to return a list of agents for your account and Amazon Web Services Region. - AgentArn *string `type:"string"` + // Specifies the ARN of the FSx for ONTAP file system location that you create. + LocationArn *string `type:"string"` } // String returns the string representation. @@ -4293,7 +6370,7 @@ type CreateAgentOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAgentOutput) String() string { +func (s CreateLocationFsxOntapOutput) String() string { return awsutil.Prettify(s) } @@ -4302,57 +6379,44 @@ func (s CreateAgentOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAgentOutput) GoString() string { +func (s CreateLocationFsxOntapOutput) GoString() string { return s.String() } -// SetAgentArn sets the AgentArn field's value. -func (s *CreateAgentOutput) SetAgentArn(v string) *CreateAgentOutput { - s.AgentArn = &v +// SetLocationArn sets the LocationArn field's value. +func (s *CreateLocationFsxOntapOutput) SetLocationArn(v string) *CreateLocationFsxOntapOutput { + s.LocationArn = &v return s } -// CreateLocationEfsRequest -type CreateLocationEfsInput struct { +type CreateLocationFsxOpenZfsInput struct { _ struct{} `type:"structure"` - // Specifies the Amazon Resource Name (ARN) of the access point that DataSync - // uses to access the Amazon EFS file system. - AccessPointArn *string `type:"string"` - - // Specifies the subnet and security groups DataSync uses to access your Amazon - // EFS file system. + // The Amazon Resource Name (ARN) of the FSx for OpenZFS file system. // - // Ec2Config is a required field - Ec2Config *Ec2Config `type:"structure" required:"true"` + // FsxFilesystemArn is a required field + FsxFilesystemArn *string `type:"string" required:"true"` - // Specifies the ARN for the Amazon EFS file system. + // The type of protocol that DataSync uses to access your file system. // - // EfsFilesystemArn is a required field - EfsFilesystemArn *string `type:"string" required:"true"` - - // Specifies an Identity and Access Management (IAM) role that DataSync assumes - // when mounting the Amazon EFS file system. - FileSystemAccessRoleArn *string `type:"string"` + // Protocol is a required field + Protocol *FsxProtocol `type:"structure" required:"true"` - // Specifies whether you want DataSync to use Transport Layer Security (TLS) - // 1.2 encryption when it copies data to or from the Amazon EFS file system. + // The ARNs of the security groups that are used to configure the FSx for OpenZFS + // file system. // - // If you specify an access point using AccessPointArn or an IAM role using - // FileSystemAccessRoleArn, you must set this parameter to TLS1_2. - InTransitEncryption *string `type:"string" enum:"EfsInTransitEncryption"` + // SecurityGroupArns is a required field + SecurityGroupArns []*string `min:"1" type:"list" required:"true"` - // Specifies a mount path for your Amazon EFS file system. This is where DataSync - // reads or writes data (depending on if this is a source or destination location). - // By default, DataSync uses the root directory, but you can also include subdirectories. - // - // You must specify a value with forward slashes (for example, /path/to/folder). + // A subdirectory in the location's path that must begin with /fsx. DataSync + // uses this subdirectory to read or write data (depending on whether the file + // system is a source or destination location). Subdirectory *string `type:"string"` - // Specifies the key-value pair that represents a tag that you want to add to - // the resource. The value can be an empty string. This value helps you manage, - // filter, and search for your resources. We recommend that you create a name - // tag for your location. + // The key-value pair that represents a tag that you want to add to the resource. + // The value can be an empty string. This value helps you manage, filter, and + // search for your resources. We recommend that you create a name tag for your + // location. Tags []*TagListEntry `type:"list"` } @@ -4361,7 +6425,7 @@ type CreateLocationEfsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationEfsInput) String() string { +func (s CreateLocationFsxOpenZfsInput) String() string { return awsutil.Prettify(s) } @@ -4370,22 +6434,28 @@ func (s CreateLocationEfsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationEfsInput) GoString() string { +func (s CreateLocationFsxOpenZfsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLocationEfsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLocationEfsInput"} - if s.Ec2Config == nil { - invalidParams.Add(request.NewErrParamRequired("Ec2Config")) +func (s *CreateLocationFsxOpenZfsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxOpenZfsInput"} + if s.FsxFilesystemArn == nil { + invalidParams.Add(request.NewErrParamRequired("FsxFilesystemArn")) } - if s.EfsFilesystemArn == nil { - invalidParams.Add(request.NewErrParamRequired("EfsFilesystemArn")) + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) } - if s.Ec2Config != nil { - if err := s.Ec2Config.Validate(); err != nil { - invalidParams.AddNested("Ec2Config", err.(request.ErrInvalidParams)) + if s.SecurityGroupArns == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns")) + } + if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1)) + } + if s.Protocol != nil { + if err := s.Protocol.Validate(); err != nil { + invalidParams.AddNested("Protocol", err.(request.ErrInvalidParams)) } } if s.Tags != nil { @@ -4405,54 +6475,40 @@ func (s *CreateLocationEfsInput) Validate() error { return nil } -// SetAccessPointArn sets the AccessPointArn field's value. -func (s *CreateLocationEfsInput) SetAccessPointArn(v string) *CreateLocationEfsInput { - s.AccessPointArn = &v - return s -} - -// SetEc2Config sets the Ec2Config field's value. -func (s *CreateLocationEfsInput) SetEc2Config(v *Ec2Config) *CreateLocationEfsInput { - s.Ec2Config = v - return s -} - -// SetEfsFilesystemArn sets the EfsFilesystemArn field's value. -func (s *CreateLocationEfsInput) SetEfsFilesystemArn(v string) *CreateLocationEfsInput { - s.EfsFilesystemArn = &v +// SetFsxFilesystemArn sets the FsxFilesystemArn field's value. +func (s *CreateLocationFsxOpenZfsInput) SetFsxFilesystemArn(v string) *CreateLocationFsxOpenZfsInput { + s.FsxFilesystemArn = &v return s } -// SetFileSystemAccessRoleArn sets the FileSystemAccessRoleArn field's value. -func (s *CreateLocationEfsInput) SetFileSystemAccessRoleArn(v string) *CreateLocationEfsInput { - s.FileSystemAccessRoleArn = &v +// SetProtocol sets the Protocol field's value. +func (s *CreateLocationFsxOpenZfsInput) SetProtocol(v *FsxProtocol) *CreateLocationFsxOpenZfsInput { + s.Protocol = v return s } -// SetInTransitEncryption sets the InTransitEncryption field's value. -func (s *CreateLocationEfsInput) SetInTransitEncryption(v string) *CreateLocationEfsInput { - s.InTransitEncryption = &v +// SetSecurityGroupArns sets the SecurityGroupArns field's value. +func (s *CreateLocationFsxOpenZfsInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxOpenZfsInput { + s.SecurityGroupArns = v return s } // SetSubdirectory sets the Subdirectory field's value. -func (s *CreateLocationEfsInput) SetSubdirectory(v string) *CreateLocationEfsInput { +func (s *CreateLocationFsxOpenZfsInput) SetSubdirectory(v string) *CreateLocationFsxOpenZfsInput { s.Subdirectory = &v return s } // SetTags sets the Tags field's value. -func (s *CreateLocationEfsInput) SetTags(v []*TagListEntry) *CreateLocationEfsInput { +func (s *CreateLocationFsxOpenZfsInput) SetTags(v []*TagListEntry) *CreateLocationFsxOpenZfsInput { s.Tags = v return s } -// CreateLocationEfs -type CreateLocationEfsOutput struct { +type CreateLocationFsxOpenZfsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Amazon EFS file system location that - // you create. + // The ARN of the FSx for OpenZFS file system location that you created. LocationArn *string `type:"string"` } @@ -4461,7 +6517,7 @@ type CreateLocationEfsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationEfsOutput) String() string { +func (s CreateLocationFsxOpenZfsOutput) String() string { return awsutil.Prettify(s) } @@ -4470,40 +6526,71 @@ func (s CreateLocationEfsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationEfsOutput) GoString() string { +func (s CreateLocationFsxOpenZfsOutput) GoString() string { return s.String() } // SetLocationArn sets the LocationArn field's value. -func (s *CreateLocationEfsOutput) SetLocationArn(v string) *CreateLocationEfsOutput { +func (s *CreateLocationFsxOpenZfsOutput) SetLocationArn(v string) *CreateLocationFsxOpenZfsOutput { s.LocationArn = &v return s } -type CreateLocationFsxLustreInput struct { +type CreateLocationFsxWindowsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the FSx for Lustre file system. + // Specifies the name of the Windows domain that the FSx for Windows File Server + // belongs to. + Domain *string `type:"string"` + + // Specifies the Amazon Resource Name (ARN) for the FSx for Windows File Server + // file system. // // FsxFilesystemArn is a required field FsxFilesystemArn *string `type:"string" required:"true"` - // The Amazon Resource Names (ARNs) of the security groups that are used to - // configure the FSx for Lustre file system. + // Specifies the password of the user who has the permissions to access files + // and folders in the file system. + // + // Password is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateLocationFsxWindowsInput's + // String and GoString methods. + // + // Password is a required field + Password *string `type:"string" required:"true" sensitive:"true"` + + // Specifies the ARNs of the security groups that provide access to your file + // system's preferred subnet. + // + // If you choose a security group that doesn't allow connections from within + // itself, do one of the following: + // + // * Configure the security group to allow it to communicate within itself. + // + // * Choose a different security group that can communicate with the mount + // target's security group. // // SecurityGroupArns is a required field SecurityGroupArns []*string `min:"1" type:"list" required:"true"` - // A subdirectory in the location's path. This subdirectory in the FSx for Lustre - // file system is used to read data from the FSx for Lustre source location - // or write data to the FSx for Lustre destination. + // Specifies a mount path for your file system using forward slashes. This is + // where DataSync reads or writes data (depending on if this is a source or + // destination location). Subdirectory *string `type:"string"` - // The key-value pair that represents a tag that you want to add to the resource. - // The value can be an empty string. This value helps you manage, filter, and - // search for your resources. We recommend that you create a name tag for your + // Specifies labels that help you categorize, filter, and search for your Amazon + // Web Services resources. We recommend creating at least a name tag for your // location. Tags []*TagListEntry `type:"list"` + + // Specifies the user who has the permissions to access files and folders in + // the file system. + // + // For information about choosing a user name that ensures sufficient permissions + // to files, folders, and metadata, see user (create-fsx-location.html#FSxWuser). + // + // User is a required field + User *string `type:"string" required:"true"` } // String returns the string representation. @@ -4511,7 +6598,7 @@ type CreateLocationFsxLustreInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxLustreInput) String() string { +func (s CreateLocationFsxWindowsInput) String() string { return awsutil.Prettify(s) } @@ -4520,22 +6607,28 @@ func (s CreateLocationFsxLustreInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxLustreInput) GoString() string { +func (s CreateLocationFsxWindowsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLocationFsxLustreInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxLustreInput"} +func (s *CreateLocationFsxWindowsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxWindowsInput"} if s.FsxFilesystemArn == nil { invalidParams.Add(request.NewErrParamRequired("FsxFilesystemArn")) } + if s.Password == nil { + invalidParams.Add(request.NewErrParamRequired("Password")) + } if s.SecurityGroupArns == nil { invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns")) } if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 { invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1)) } + if s.User == nil { + invalidParams.Add(request.NewErrParamRequired("User")) + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -4553,35 +6646,52 @@ func (s *CreateLocationFsxLustreInput) Validate() error { return nil } +// SetDomain sets the Domain field's value. +func (s *CreateLocationFsxWindowsInput) SetDomain(v string) *CreateLocationFsxWindowsInput { + s.Domain = &v + return s +} + // SetFsxFilesystemArn sets the FsxFilesystemArn field's value. -func (s *CreateLocationFsxLustreInput) SetFsxFilesystemArn(v string) *CreateLocationFsxLustreInput { +func (s *CreateLocationFsxWindowsInput) SetFsxFilesystemArn(v string) *CreateLocationFsxWindowsInput { s.FsxFilesystemArn = &v return s } +// SetPassword sets the Password field's value. +func (s *CreateLocationFsxWindowsInput) SetPassword(v string) *CreateLocationFsxWindowsInput { + s.Password = &v + return s +} + // SetSecurityGroupArns sets the SecurityGroupArns field's value. -func (s *CreateLocationFsxLustreInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxLustreInput { +func (s *CreateLocationFsxWindowsInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxWindowsInput { s.SecurityGroupArns = v return s } // SetSubdirectory sets the Subdirectory field's value. -func (s *CreateLocationFsxLustreInput) SetSubdirectory(v string) *CreateLocationFsxLustreInput { +func (s *CreateLocationFsxWindowsInput) SetSubdirectory(v string) *CreateLocationFsxWindowsInput { s.Subdirectory = &v return s } // SetTags sets the Tags field's value. -func (s *CreateLocationFsxLustreInput) SetTags(v []*TagListEntry) *CreateLocationFsxLustreInput { +func (s *CreateLocationFsxWindowsInput) SetTags(v []*TagListEntry) *CreateLocationFsxWindowsInput { s.Tags = v return s } -type CreateLocationFsxLustreOutput struct { +// SetUser sets the User field's value. +func (s *CreateLocationFsxWindowsInput) SetUser(v string) *CreateLocationFsxWindowsInput { + s.User = &v + return s +} + +type CreateLocationFsxWindowsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the FSx for Lustre file system location - // that's created. + // The ARN of the FSx for Windows File Server file system location you created. LocationArn *string `type:"string"` } @@ -4590,7 +6700,7 @@ type CreateLocationFsxLustreOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxLustreOutput) String() string { +func (s CreateLocationFsxWindowsOutput) String() string { return awsutil.Prettify(s) } @@ -4599,61 +6709,91 @@ func (s CreateLocationFsxLustreOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxLustreOutput) GoString() string { +func (s CreateLocationFsxWindowsOutput) GoString() string { return s.String() } // SetLocationArn sets the LocationArn field's value. -func (s *CreateLocationFsxLustreOutput) SetLocationArn(v string) *CreateLocationFsxLustreOutput { +func (s *CreateLocationFsxWindowsOutput) SetLocationArn(v string) *CreateLocationFsxWindowsOutput { s.LocationArn = &v return s } -type CreateLocationFsxOntapInput struct { +type CreateLocationHdfsInput struct { _ struct{} `type:"structure"` - // Specifies the data transfer protocol that DataSync uses to access your Amazon - // FSx file system. + // The Amazon Resource Names (ARNs) of the agents that are used to connect to + // the HDFS cluster. // - // Protocol is a required field - Protocol *FsxProtocol `type:"structure" required:"true"` + // AgentArns is a required field + AgentArns []*string `min:"1" type:"list" required:"true"` - // Specifies the Amazon EC2 security groups that provide access to your file - // system's preferred subnet. - // - // The security groups must allow outbound traffic on the following ports (depending - // on the protocol you use): - // - // * Network File System (NFS): TCP ports 111, 635, and 2049 - // - // * Server Message Block (SMB): TCP port 445 + // The type of authentication used to determine the identity of the user. // - // Your file system's security groups must also allow inbound traffic on the - // same ports. + // AuthenticationType is a required field + AuthenticationType *string `type:"string" required:"true" enum:"HdfsAuthenticationType"` + + // The size of data blocks to write into the HDFS cluster. The block size must + // be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB). + BlockSize *int64 `min:"1.048576e+06" type:"integer"` + + // The Kerberos key table (keytab) that contains mappings between the defined + // Kerberos principal and the encrypted keys. You can load the keytab from a + // file by providing the file's address. If you're using the CLI, it performs + // base64 encoding for you. Otherwise, provide the base64-encoded text. // - // SecurityGroupArns is a required field - SecurityGroupArns []*string `min:"1" type:"list" required:"true"` + // If KERBEROS is specified for AuthenticationType, this parameter is required. + // KerberosKeytab is automatically base64 encoded/decoded by the SDK. + KerberosKeytab []byte `type:"blob"` - // Specifies the ARN of the storage virtual machine (SVM) in your file system - // where you want to copy data to or from. + // The krb5.conf file that contains the Kerberos configuration information. + // You can load the krb5.conf file by providing the file's address. If you're + // using the CLI, it performs the base64 encoding for you. Otherwise, provide + // the base64-encoded text. // - // StorageVirtualMachineArn is a required field - StorageVirtualMachineArn *string `type:"string" required:"true"` + // If KERBEROS is specified for AuthenticationType, this parameter is required. + // KerberosKrb5Conf is automatically base64 encoded/decoded by the SDK. + KerberosKrb5Conf []byte `type:"blob"` - // Specifies a path to the file share in the SVM where you'll copy your data. + // The Kerberos principal with access to the files and folders on the HDFS cluster. // - // You can specify a junction path (also known as a mount point), qtree path - // (for NFS file shares), or share name (for SMB file shares). For example, - // your mount path might be /vol1, /vol1/tree1, or /share1. + // If KERBEROS is specified for AuthenticationType, this parameter is required. + KerberosPrincipal *string `min:"1" type:"string"` + + // The URI of the HDFS cluster's Key Management Server (KMS). + KmsKeyProviderUri *string `min:"1" type:"string"` + + // The NameNode that manages the HDFS namespace. The NameNode performs operations + // such as opening, closing, and renaming files and directories. The NameNode + // contains the information to map blocks of data to the DataNodes. You can + // use only one NameNode. // - // Don't specify a junction path in the SVM's root volume. For more information, - // see Managing FSx for ONTAP storage virtual machines (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html) - // in the Amazon FSx for NetApp ONTAP User Guide. + // NameNodes is a required field + NameNodes []*HdfsNameNode `min:"1" type:"list" required:"true"` + + // The Quality of Protection (QOP) configuration specifies the Remote Procedure + // Call (RPC) and data transfer protection settings configured on the Hadoop + // Distributed File System (HDFS) cluster. If QopConfiguration isn't specified, + // RpcProtection and DataTransferProtection default to PRIVACY. If you set RpcProtection + // or DataTransferProtection, the other parameter assumes the same value. + QopConfiguration *QopConfiguration `type:"structure"` + + // The number of DataNodes to replicate the data to when writing to the HDFS + // cluster. By default, data is replicated to three DataNodes. + ReplicationFactor *int64 `min:"1" type:"integer"` + + // The user name used to identify the client on the host operating system. + // + // If SIMPLE is specified for AuthenticationType, this parameter is required. + SimpleUser *string `min:"1" type:"string"` + + // A subdirectory in the HDFS cluster. This subdirectory is used to read data + // from or write data to the HDFS cluster. If the subdirectory isn't specified, + // it will default to /. Subdirectory *string `type:"string"` - // Specifies labels that help you categorize, filter, and search for your Amazon - // Web Services resources. We recommend creating at least a name tag for your - // location. + // The key-value pair that represents the tag that you want to add to the location. + // The value can be an empty string. We recommend using tags to name your resources. Tags []*TagListEntry `type:"list"` } @@ -4662,7 +6802,7 @@ type CreateLocationFsxOntapInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxOntapInput) String() string { +func (s CreateLocationHdfsInput) String() string { return awsutil.Prettify(s) } @@ -4671,28 +6811,51 @@ func (s CreateLocationFsxOntapInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxOntapInput) GoString() string { +func (s CreateLocationHdfsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLocationFsxOntapInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxOntapInput"} - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) +func (s *CreateLocationHdfsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationHdfsInput"} + if s.AgentArns == nil { + invalidParams.Add(request.NewErrParamRequired("AgentArns")) } - if s.SecurityGroupArns == nil { - invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns")) + if s.AgentArns != nil && len(s.AgentArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) } - if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1)) + if s.AuthenticationType == nil { + invalidParams.Add(request.NewErrParamRequired("AuthenticationType")) } - if s.StorageVirtualMachineArn == nil { - invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineArn")) + if s.BlockSize != nil && *s.BlockSize < 1.048576e+06 { + invalidParams.Add(request.NewErrParamMinValue("BlockSize", 1.048576e+06)) } - if s.Protocol != nil { - if err := s.Protocol.Validate(); err != nil { - invalidParams.AddNested("Protocol", err.(request.ErrInvalidParams)) + if s.KerberosPrincipal != nil && len(*s.KerberosPrincipal) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KerberosPrincipal", 1)) + } + if s.KmsKeyProviderUri != nil && len(*s.KmsKeyProviderUri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyProviderUri", 1)) + } + if s.NameNodes == nil { + invalidParams.Add(request.NewErrParamRequired("NameNodes")) + } + if s.NameNodes != nil && len(s.NameNodes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameNodes", 1)) + } + if s.ReplicationFactor != nil && *s.ReplicationFactor < 1 { + invalidParams.Add(request.NewErrParamMinValue("ReplicationFactor", 1)) + } + if s.SimpleUser != nil && len(*s.SimpleUser) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SimpleUser", 1)) + } + if s.NameNodes != nil { + for i, v := range s.NameNodes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NameNodes", i), err.(request.ErrInvalidParams)) + } } } if s.Tags != nil { @@ -4712,40 +6875,88 @@ func (s *CreateLocationFsxOntapInput) Validate() error { return nil } -// SetProtocol sets the Protocol field's value. -func (s *CreateLocationFsxOntapInput) SetProtocol(v *FsxProtocol) *CreateLocationFsxOntapInput { - s.Protocol = v +// SetAgentArns sets the AgentArns field's value. +func (s *CreateLocationHdfsInput) SetAgentArns(v []*string) *CreateLocationHdfsInput { + s.AgentArns = v return s } -// SetSecurityGroupArns sets the SecurityGroupArns field's value. -func (s *CreateLocationFsxOntapInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxOntapInput { - s.SecurityGroupArns = v +// SetAuthenticationType sets the AuthenticationType field's value. +func (s *CreateLocationHdfsInput) SetAuthenticationType(v string) *CreateLocationHdfsInput { + s.AuthenticationType = &v return s } -// SetStorageVirtualMachineArn sets the StorageVirtualMachineArn field's value. -func (s *CreateLocationFsxOntapInput) SetStorageVirtualMachineArn(v string) *CreateLocationFsxOntapInput { - s.StorageVirtualMachineArn = &v +// SetBlockSize sets the BlockSize field's value. +func (s *CreateLocationHdfsInput) SetBlockSize(v int64) *CreateLocationHdfsInput { + s.BlockSize = &v + return s +} + +// SetKerberosKeytab sets the KerberosKeytab field's value. +func (s *CreateLocationHdfsInput) SetKerberosKeytab(v []byte) *CreateLocationHdfsInput { + s.KerberosKeytab = v + return s +} + +// SetKerberosKrb5Conf sets the KerberosKrb5Conf field's value. +func (s *CreateLocationHdfsInput) SetKerberosKrb5Conf(v []byte) *CreateLocationHdfsInput { + s.KerberosKrb5Conf = v + return s +} + +// SetKerberosPrincipal sets the KerberosPrincipal field's value. +func (s *CreateLocationHdfsInput) SetKerberosPrincipal(v string) *CreateLocationHdfsInput { + s.KerberosPrincipal = &v + return s +} + +// SetKmsKeyProviderUri sets the KmsKeyProviderUri field's value. +func (s *CreateLocationHdfsInput) SetKmsKeyProviderUri(v string) *CreateLocationHdfsInput { + s.KmsKeyProviderUri = &v + return s +} + +// SetNameNodes sets the NameNodes field's value. +func (s *CreateLocationHdfsInput) SetNameNodes(v []*HdfsNameNode) *CreateLocationHdfsInput { + s.NameNodes = v + return s +} + +// SetQopConfiguration sets the QopConfiguration field's value. +func (s *CreateLocationHdfsInput) SetQopConfiguration(v *QopConfiguration) *CreateLocationHdfsInput { + s.QopConfiguration = v + return s +} + +// SetReplicationFactor sets the ReplicationFactor field's value. +func (s *CreateLocationHdfsInput) SetReplicationFactor(v int64) *CreateLocationHdfsInput { + s.ReplicationFactor = &v + return s +} + +// SetSimpleUser sets the SimpleUser field's value. +func (s *CreateLocationHdfsInput) SetSimpleUser(v string) *CreateLocationHdfsInput { + s.SimpleUser = &v return s } // SetSubdirectory sets the Subdirectory field's value. -func (s *CreateLocationFsxOntapInput) SetSubdirectory(v string) *CreateLocationFsxOntapInput { +func (s *CreateLocationHdfsInput) SetSubdirectory(v string) *CreateLocationHdfsInput { s.Subdirectory = &v return s } // SetTags sets the Tags field's value. -func (s *CreateLocationFsxOntapInput) SetTags(v []*TagListEntry) *CreateLocationFsxOntapInput { +func (s *CreateLocationHdfsInput) SetTags(v []*TagListEntry) *CreateLocationHdfsInput { s.Tags = v return s } -type CreateLocationFsxOntapOutput struct { +type CreateLocationHdfsOutput struct { _ struct{} `type:"structure"` - // Specifies the ARN of the FSx for ONTAP file system location that you create. + // The ARN of the source HDFS cluster location that's created. LocationArn *string `type:"string"` } @@ -4754,7 +6965,7 @@ type CreateLocationFsxOntapOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxOntapOutput) String() string { +func (s CreateLocationHdfsOutput) String() string { return awsutil.Prettify(s) } @@ -4763,44 +6974,77 @@ func (s CreateLocationFsxOntapOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxOntapOutput) GoString() string { +func (s CreateLocationHdfsOutput) GoString() string { return s.String() } // SetLocationArn sets the LocationArn field's value. -func (s *CreateLocationFsxOntapOutput) SetLocationArn(v string) *CreateLocationFsxOntapOutput { +func (s *CreateLocationHdfsOutput) SetLocationArn(v string) *CreateLocationHdfsOutput { s.LocationArn = &v return s } -type CreateLocationFsxOpenZfsInput struct { +// CreateLocationNfsRequest +type CreateLocationNfsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the FSx for OpenZFS file system. - // - // FsxFilesystemArn is a required field - FsxFilesystemArn *string `type:"string" required:"true"` + // The NFS mount options that DataSync can use to mount your NFS share. + MountOptions *NfsMountOptions `type:"structure"` - // The type of protocol that DataSync uses to access your file system. + // Contains a list of Amazon Resource Names (ARNs) of agents that are used to + // connect to an NFS server. // - // Protocol is a required field - Protocol *FsxProtocol `type:"structure" required:"true"` + // If you are copying data to or from your Snowcone device, see NFS Server on + // Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) + // for more information. + // + // OnPremConfig is a required field + OnPremConfig *OnPremConfig `type:"structure" required:"true"` - // The ARNs of the security groups that are used to configure the FSx for OpenZFS - // file system. + // The name of the NFS server. This value is the IP address or Domain Name Service + // (DNS) name of the NFS server. An agent that is installed on-premises uses + // this hostname to mount the NFS server in a network. // - // SecurityGroupArns is a required field - SecurityGroupArns []*string `min:"1" type:"list" required:"true"` + // If you are copying data to or from your Snowcone device, see NFS Server on + // Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) + // for more information. + // + // This name must either be DNS-compliant or must be an IP version 4 (IPv4) + // address. + // + // ServerHostname is a required field + ServerHostname *string `type:"string" required:"true"` - // A subdirectory in the location's path that must begin with /fsx. DataSync - // uses this subdirectory to read or write data (depending on whether the file - // system is a source or destination location). - Subdirectory *string `type:"string"` + // The subdirectory in the NFS file system that is used to read data from the + // NFS source location or write data to the NFS destination. The NFS path should + // be a path that's exported by the NFS server, or a subdirectory of that path. + // The path should be such that it can be mounted by other NFS clients in your + // network. + // + // To see all the paths exported by your NFS server, run "showmount -e nfs-server-name" + // from an NFS client that has access to your server. You can specify any directory + // that appears in the results, and any subdirectory of that directory. Ensure + // that the NFS export is accessible without Kerberos authentication. + // + // To transfer all the data in the folder you specified, DataSync needs to have + // permissions to read all the data. To ensure this, either configure the NFS + // export with no_root_squash, or ensure that the permissions for all of the + // files that you want DataSync allow read access for all users. Doing either + // enables the agent to read the files. For the agent to access directories, + // you must additionally enable all execute access. + // + // If you are copying data to or from your Snowcone device, see NFS Server on + // Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) + // for more information. + // + // For information about NFS export configuration, see 18.7. The /etc/exports + // Configuration File in the Red Hat Enterprise Linux documentation. + // + // Subdirectory is a required field + Subdirectory *string `type:"string" required:"true"` - // The key-value pair that represents a tag that you want to add to the resource. - // The value can be an empty string. This value helps you manage, filter, and - // search for your resources. We recommend that you create a name tag for your - // location. + // The key-value pair that represents the tag that you want to add to the location. + // The value can be an empty string. We recommend using tags to name your resources. Tags []*TagListEntry `type:"list"` } @@ -4809,7 +7053,7 @@ type CreateLocationFsxOpenZfsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxOpenZfsInput) String() string { +func (s CreateLocationNfsInput) String() string { return awsutil.Prettify(s) } @@ -4818,28 +7062,25 @@ func (s CreateLocationFsxOpenZfsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxOpenZfsInput) GoString() string { +func (s CreateLocationNfsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLocationFsxOpenZfsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxOpenZfsInput"} - if s.FsxFilesystemArn == nil { - invalidParams.Add(request.NewErrParamRequired("FsxFilesystemArn")) - } - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) +func (s *CreateLocationNfsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationNfsInput"} + if s.OnPremConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OnPremConfig")) } - if s.SecurityGroupArns == nil { - invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns")) + if s.ServerHostname == nil { + invalidParams.Add(request.NewErrParamRequired("ServerHostname")) } - if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1)) + if s.Subdirectory == nil { + invalidParams.Add(request.NewErrParamRequired("Subdirectory")) } - if s.Protocol != nil { - if err := s.Protocol.Validate(); err != nil { - invalidParams.AddNested("Protocol", err.(request.ErrInvalidParams)) + if s.OnPremConfig != nil { + if err := s.OnPremConfig.Validate(); err != nil { + invalidParams.AddNested("OnPremConfig", err.(request.ErrInvalidParams)) } } if s.Tags != nil { @@ -4859,40 +7100,42 @@ func (s *CreateLocationFsxOpenZfsInput) Validate() error { return nil } -// SetFsxFilesystemArn sets the FsxFilesystemArn field's value. -func (s *CreateLocationFsxOpenZfsInput) SetFsxFilesystemArn(v string) *CreateLocationFsxOpenZfsInput { - s.FsxFilesystemArn = &v +// SetMountOptions sets the MountOptions field's value. +func (s *CreateLocationNfsInput) SetMountOptions(v *NfsMountOptions) *CreateLocationNfsInput { + s.MountOptions = v return s } -// SetProtocol sets the Protocol field's value. -func (s *CreateLocationFsxOpenZfsInput) SetProtocol(v *FsxProtocol) *CreateLocationFsxOpenZfsInput { - s.Protocol = v +// SetOnPremConfig sets the OnPremConfig field's value. +func (s *CreateLocationNfsInput) SetOnPremConfig(v *OnPremConfig) *CreateLocationNfsInput { + s.OnPremConfig = v return s } -// SetSecurityGroupArns sets the SecurityGroupArns field's value. -func (s *CreateLocationFsxOpenZfsInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxOpenZfsInput { - s.SecurityGroupArns = v +// SetServerHostname sets the ServerHostname field's value. +func (s *CreateLocationNfsInput) SetServerHostname(v string) *CreateLocationNfsInput { + s.ServerHostname = &v return s } // SetSubdirectory sets the Subdirectory field's value. -func (s *CreateLocationFsxOpenZfsInput) SetSubdirectory(v string) *CreateLocationFsxOpenZfsInput { +func (s *CreateLocationNfsInput) SetSubdirectory(v string) *CreateLocationNfsInput { s.Subdirectory = &v return s } // SetTags sets the Tags field's value. -func (s *CreateLocationFsxOpenZfsInput) SetTags(v []*TagListEntry) *CreateLocationFsxOpenZfsInput { +func (s *CreateLocationNfsInput) SetTags(v []*TagListEntry) *CreateLocationNfsInput { s.Tags = v return s } -type CreateLocationFsxOpenZfsOutput struct { +// CreateLocationNfsResponse +type CreateLocationNfsOutput struct { _ struct{} `type:"structure"` - // The ARN of the FSx for OpenZFS file system location that you created. + // The Amazon Resource Name (ARN) of the source NFS file system location that + // is created. LocationArn *string `type:"string"` } @@ -4901,7 +7144,7 @@ type CreateLocationFsxOpenZfsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxOpenZfsOutput) String() string { +func (s CreateLocationNfsOutput) String() string { return awsutil.Prettify(s) } @@ -4910,71 +7153,74 @@ func (s CreateLocationFsxOpenZfsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxOpenZfsOutput) GoString() string { +func (s CreateLocationNfsOutput) GoString() string { return s.String() } // SetLocationArn sets the LocationArn field's value. -func (s *CreateLocationFsxOpenZfsOutput) SetLocationArn(v string) *CreateLocationFsxOpenZfsOutput { +func (s *CreateLocationNfsOutput) SetLocationArn(v string) *CreateLocationNfsOutput { s.LocationArn = &v return s } -type CreateLocationFsxWindowsInput struct { +// CreateLocationObjectStorageRequest +type CreateLocationObjectStorageInput struct { _ struct{} `type:"structure"` - // Specifies the name of the Windows domain that the FSx for Windows File Server - // belongs to. - Domain *string `type:"string"` + // Specifies the access key (for example, a user name) if credentials are required + // to authenticate with the object storage server. + AccessKey *string `min:"1" type:"string"` - // Specifies the Amazon Resource Name (ARN) for the FSx for Windows File Server - // file system. + // Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can + // securely connect with your location. // - // FsxFilesystemArn is a required field - FsxFilesystemArn *string `type:"string" required:"true"` + // AgentArns is a required field + AgentArns []*string `min:"1" type:"list" required:"true"` - // Specifies the password of the user who has the permissions to access files - // and folders in the file system. - // - // Password is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateLocationFsxWindowsInput's - // String and GoString methods. + // Specifies the name of the object storage bucket involved in the transfer. // - // Password is a required field - Password *string `type:"string" required:"true" sensitive:"true"` + // BucketName is a required field + BucketName *string `min:"3" type:"string" required:"true"` - // Specifies the ARNs of the security groups that provide access to your file - // system's preferred subnet. - // - // If you choose a security group that doesn't allow connections from within - // itself, do one of the following: + // Specifies the secret key (for example, a password) if credentials are required + // to authenticate with the object storage server. // - // * Configure the security group to allow it to communicate within itself. + // SecretKey is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateLocationObjectStorageInput's + // String and GoString methods. + SecretKey *string `min:"1" type:"string" sensitive:"true"` + + // Specifies a certificate to authenticate with an object storage system that + // uses a private or self-signed certificate authority (CA). You must specify + // a Base64-encoded .pem file (for example, file:///home/user/.ssh/storage_sys_certificate.pem). + // The certificate can be up to 32768 bytes (before Base64 encoding). // - // * Choose a different security group that can communicate with the mount - // target's security group. + // To use this parameter, configure ServerProtocol to HTTPS. + // ServerCertificate is automatically base64 encoded/decoded by the SDK. + ServerCertificate []byte `type:"blob"` + + // Specifies the domain name or IP address of the object storage server. A DataSync + // agent uses this hostname to mount the object storage server in a network. // - // SecurityGroupArns is a required field - SecurityGroupArns []*string `min:"1" type:"list" required:"true"` + // ServerHostname is a required field + ServerHostname *string `type:"string" required:"true"` - // Specifies a mount path for your file system using forward slashes. This is - // where DataSync reads or writes data (depending on if this is a source or - // destination location). + // Specifies the port that your object storage server accepts inbound network + // traffic on (for example, port 443). + ServerPort *int64 `min:"1" type:"integer"` + + // Specifies the protocol that your object storage server uses to communicate. + ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"` + + // Specifies the object prefix for your object storage server. If this is a + // source location, DataSync only copies objects with this prefix. If this is + // a destination location, DataSync writes all objects with this prefix. Subdirectory *string `type:"string"` - // Specifies labels that help you categorize, filter, and search for your Amazon - // Web Services resources. We recommend creating at least a name tag for your - // location. + // Specifies the key-value pair that represents a tag that you want to add to + // the resource. Tags can help you manage, filter, and search for your resources. + // We recommend creating a name tag for your location. Tags []*TagListEntry `type:"list"` - - // Specifies the user who has the permissions to access files and folders in - // the file system. - // - // For information about choosing a user name that ensures sufficient permissions - // to files, folders, and metadata, see user (create-fsx-location.html#FSxWuser). - // - // User is a required field - User *string `type:"string" required:"true"` } // String returns the string representation. @@ -4982,7 +7228,7 @@ type CreateLocationFsxWindowsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxWindowsInput) String() string { +func (s CreateLocationObjectStorageInput) String() string { return awsutil.Prettify(s) } @@ -4991,27 +7237,36 @@ func (s CreateLocationFsxWindowsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxWindowsInput) GoString() string { +func (s CreateLocationObjectStorageInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLocationFsxWindowsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLocationFsxWindowsInput"} - if s.FsxFilesystemArn == nil { - invalidParams.Add(request.NewErrParamRequired("FsxFilesystemArn")) +func (s *CreateLocationObjectStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationObjectStorageInput"} + if s.AccessKey != nil && len(*s.AccessKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccessKey", 1)) } - if s.Password == nil { - invalidParams.Add(request.NewErrParamRequired("Password")) + if s.AgentArns == nil { + invalidParams.Add(request.NewErrParamRequired("AgentArns")) } - if s.SecurityGroupArns == nil { - invalidParams.Add(request.NewErrParamRequired("SecurityGroupArns")) + if s.AgentArns != nil && len(s.AgentArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) } - if s.SecurityGroupArns != nil && len(s.SecurityGroupArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SecurityGroupArns", 1)) + if s.BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("BucketName")) } - if s.User == nil { - invalidParams.Add(request.NewErrParamRequired("User")) + if s.BucketName != nil && len(*s.BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) + } + if s.SecretKey != nil && len(*s.SecretKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecretKey", 1)) + } + if s.ServerHostname == nil { + invalidParams.Add(request.NewErrParamRequired("ServerHostname")) + } + if s.ServerPort != nil && *s.ServerPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ServerPort", 1)) } if s.Tags != nil { for i, v := range s.Tags { @@ -5030,52 +7285,71 @@ func (s *CreateLocationFsxWindowsInput) Validate() error { return nil } -// SetDomain sets the Domain field's value. -func (s *CreateLocationFsxWindowsInput) SetDomain(v string) *CreateLocationFsxWindowsInput { - s.Domain = &v +// SetAccessKey sets the AccessKey field's value. +func (s *CreateLocationObjectStorageInput) SetAccessKey(v string) *CreateLocationObjectStorageInput { + s.AccessKey = &v return s } -// SetFsxFilesystemArn sets the FsxFilesystemArn field's value. -func (s *CreateLocationFsxWindowsInput) SetFsxFilesystemArn(v string) *CreateLocationFsxWindowsInput { - s.FsxFilesystemArn = &v +// SetAgentArns sets the AgentArns field's value. +func (s *CreateLocationObjectStorageInput) SetAgentArns(v []*string) *CreateLocationObjectStorageInput { + s.AgentArns = v return s } -// SetPassword sets the Password field's value. -func (s *CreateLocationFsxWindowsInput) SetPassword(v string) *CreateLocationFsxWindowsInput { - s.Password = &v +// SetBucketName sets the BucketName field's value. +func (s *CreateLocationObjectStorageInput) SetBucketName(v string) *CreateLocationObjectStorageInput { + s.BucketName = &v return s } -// SetSecurityGroupArns sets the SecurityGroupArns field's value. -func (s *CreateLocationFsxWindowsInput) SetSecurityGroupArns(v []*string) *CreateLocationFsxWindowsInput { - s.SecurityGroupArns = v +// SetSecretKey sets the SecretKey field's value. +func (s *CreateLocationObjectStorageInput) SetSecretKey(v string) *CreateLocationObjectStorageInput { + s.SecretKey = &v + return s +} + +// SetServerCertificate sets the ServerCertificate field's value. +func (s *CreateLocationObjectStorageInput) SetServerCertificate(v []byte) *CreateLocationObjectStorageInput { + s.ServerCertificate = v + return s +} + +// SetServerHostname sets the ServerHostname field's value. +func (s *CreateLocationObjectStorageInput) SetServerHostname(v string) *CreateLocationObjectStorageInput { + s.ServerHostname = &v + return s +} + +// SetServerPort sets the ServerPort field's value. +func (s *CreateLocationObjectStorageInput) SetServerPort(v int64) *CreateLocationObjectStorageInput { + s.ServerPort = &v + return s +} + +// SetServerProtocol sets the ServerProtocol field's value. +func (s *CreateLocationObjectStorageInput) SetServerProtocol(v string) *CreateLocationObjectStorageInput { + s.ServerProtocol = &v return s } // SetSubdirectory sets the Subdirectory field's value. -func (s *CreateLocationFsxWindowsInput) SetSubdirectory(v string) *CreateLocationFsxWindowsInput { +func (s *CreateLocationObjectStorageInput) SetSubdirectory(v string) *CreateLocationObjectStorageInput { s.Subdirectory = &v return s } // SetTags sets the Tags field's value. -func (s *CreateLocationFsxWindowsInput) SetTags(v []*TagListEntry) *CreateLocationFsxWindowsInput { +func (s *CreateLocationObjectStorageInput) SetTags(v []*TagListEntry) *CreateLocationObjectStorageInput { s.Tags = v return s } -// SetUser sets the User field's value. -func (s *CreateLocationFsxWindowsInput) SetUser(v string) *CreateLocationFsxWindowsInput { - s.User = &v - return s -} - -type CreateLocationFsxWindowsOutput struct { +// CreateLocationObjectStorageResponse +type CreateLocationObjectStorageOutput struct { _ struct{} `type:"structure"` - // The ARN of the FSx for Windows File Server file system location you created. + // Specifies the ARN of the object storage system location that you create. LocationArn *string `type:"string"` } @@ -5084,7 +7358,7 @@ type CreateLocationFsxWindowsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxWindowsOutput) String() string { +func (s CreateLocationObjectStorageOutput) String() string { return awsutil.Prettify(s) } @@ -5093,87 +7367,54 @@ func (s CreateLocationFsxWindowsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationFsxWindowsOutput) GoString() string { +func (s CreateLocationObjectStorageOutput) GoString() string { return s.String() } -// SetLocationArn sets the LocationArn field's value. -func (s *CreateLocationFsxWindowsOutput) SetLocationArn(v string) *CreateLocationFsxWindowsOutput { - s.LocationArn = &v - return s -} - -type CreateLocationHdfsInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Names (ARNs) of the agents that are used to connect to - // the HDFS cluster. - // - // AgentArns is a required field - AgentArns []*string `min:"1" type:"list" required:"true"` - - // The type of authentication used to determine the identity of the user. - // - // AuthenticationType is a required field - AuthenticationType *string `type:"string" required:"true" enum:"HdfsAuthenticationType"` - - // The size of data blocks to write into the HDFS cluster. The block size must - // be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB). - BlockSize *int64 `min:"1.048576e+06" type:"integer"` - - // The Kerberos key table (keytab) that contains mappings between the defined - // Kerberos principal and the encrypted keys. You can load the keytab from a - // file by providing the file's address. If you're using the CLI, it performs - // base64 encoding for you. Otherwise, provide the base64-encoded text. - // - // If KERBEROS is specified for AuthenticationType, this parameter is required. - // KerberosKeytab is automatically base64 encoded/decoded by the SDK. - KerberosKeytab []byte `type:"blob"` - - // The krb5.conf file that contains the Kerberos configuration information. - // You can load the krb5.conf file by providing the file's address. If you're - // using the CLI, it performs the base64 encoding for you. Otherwise, provide - // the base64-encoded text. - // - // If KERBEROS is specified for AuthenticationType, this parameter is required. - // KerberosKrb5Conf is automatically base64 encoded/decoded by the SDK. - KerberosKrb5Conf []byte `type:"blob"` - - // The Kerberos principal with access to the files and folders on the HDFS cluster. - // - // If KERBEROS is specified for AuthenticationType, this parameter is required. - KerberosPrincipal *string `min:"1" type:"string"` +// SetLocationArn sets the LocationArn field's value. +func (s *CreateLocationObjectStorageOutput) SetLocationArn(v string) *CreateLocationObjectStorageOutput { + s.LocationArn = &v + return s +} - // The URI of the HDFS cluster's Key Management Server (KMS). - KmsKeyProviderUri *string `min:"1" type:"string"` +// CreateLocationS3Request +type CreateLocationS3Input struct { + _ struct{} `type:"structure"` - // The NameNode that manages the HDFS namespace. The NameNode performs operations - // such as opening, closing, and renaming files and directories. The NameNode - // contains the information to map blocks of data to the DataNodes. You can - // use only one NameNode. - // - // NameNodes is a required field - NameNodes []*HdfsNameNode `min:"1" type:"list" required:"true"` + // If you're using DataSync on an Amazon Web Services Outpost, specify the Amazon + // Resource Names (ARNs) of the DataSync agents deployed on your Outpost. For + // more information about launching a DataSync agent on an Amazon Web Services + // Outpost, see Deploy your DataSync agent on Outposts (https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent). + AgentArns []*string `min:"1" type:"list"` - // The Quality of Protection (QOP) configuration specifies the Remote Procedure - // Call (RPC) and data transfer protection settings configured on the Hadoop - // Distributed File System (HDFS) cluster. If QopConfiguration isn't specified, - // RpcProtection and DataTransferProtection default to PRIVACY. If you set RpcProtection - // or DataTransferProtection, the other parameter assumes the same value. - QopConfiguration *QopConfiguration `type:"structure"` + // The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services + // Outpost, this must be an access point ARN. + // + // S3BucketArn is a required field + S3BucketArn *string `type:"string" required:"true"` - // The number of DataNodes to replicate the data to when writing to the HDFS - // cluster. By default, data is replicated to three DataNodes. - ReplicationFactor *int64 `min:"1" type:"integer"` + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role used to access an Amazon S3 bucket. + // + // For detailed information about using such a role, see Creating a Location + // for Amazon S3 in the DataSync User Guide. + // + // S3Config is a required field + S3Config *S3Config `type:"structure" required:"true"` - // The user name used to identify the client on the host operating system. + // The Amazon S3 storage class that you want to store your files in when this + // location is used as a task destination. For buckets in Amazon Web Services + // Regions, the storage class defaults to Standard. For buckets on Outposts, + // the storage class defaults to Amazon Web Services S3 Outposts. // - // If SIMPLE is specified for AuthenticationType, this parameter is required. - SimpleUser *string `min:"1" type:"string"` + // For more information about S3 storage classes, see Amazon S3 Storage Classes + // (http://aws.amazon.com/s3/storage-classes/). Some storage classes have behaviors + // that can affect your S3 storage cost. For detailed information, see Considerations + // when working with S3 storage classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes). + S3StorageClass *string `type:"string" enum:"S3StorageClass"` - // A subdirectory in the HDFS cluster. This subdirectory is used to read data - // from or write data to the HDFS cluster. If the subdirectory isn't specified, - // it will default to /. + // A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is + // used to read data from the S3 source location or write data to the S3 destination. Subdirectory *string `type:"string"` // The key-value pair that represents the tag that you want to add to the location. @@ -5186,7 +7427,7 @@ type CreateLocationHdfsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationHdfsInput) String() string { +func (s CreateLocationS3Input) String() string { return awsutil.Prettify(s) } @@ -5195,51 +7436,25 @@ func (s CreateLocationHdfsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationHdfsInput) GoString() string { +func (s CreateLocationS3Input) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLocationHdfsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLocationHdfsInput"} - if s.AgentArns == nil { - invalidParams.Add(request.NewErrParamRequired("AgentArns")) - } +func (s *CreateLocationS3Input) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationS3Input"} if s.AgentArns != nil && len(s.AgentArns) < 1 { invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) } - if s.AuthenticationType == nil { - invalidParams.Add(request.NewErrParamRequired("AuthenticationType")) - } - if s.BlockSize != nil && *s.BlockSize < 1.048576e+06 { - invalidParams.Add(request.NewErrParamMinValue("BlockSize", 1.048576e+06)) - } - if s.KerberosPrincipal != nil && len(*s.KerberosPrincipal) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KerberosPrincipal", 1)) - } - if s.KmsKeyProviderUri != nil && len(*s.KmsKeyProviderUri) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyProviderUri", 1)) - } - if s.NameNodes == nil { - invalidParams.Add(request.NewErrParamRequired("NameNodes")) - } - if s.NameNodes != nil && len(s.NameNodes) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NameNodes", 1)) - } - if s.ReplicationFactor != nil && *s.ReplicationFactor < 1 { - invalidParams.Add(request.NewErrParamMinValue("ReplicationFactor", 1)) + if s.S3BucketArn == nil { + invalidParams.Add(request.NewErrParamRequired("S3BucketArn")) } - if s.SimpleUser != nil && len(*s.SimpleUser) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SimpleUser", 1)) + if s.S3Config == nil { + invalidParams.Add(request.NewErrParamRequired("S3Config")) } - if s.NameNodes != nil { - for i, v := range s.NameNodes { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NameNodes", i), err.(request.ErrInvalidParams)) - } + if s.S3Config != nil { + if err := s.S3Config.Validate(); err != nil { + invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams)) } } if s.Tags != nil { @@ -5260,87 +7475,47 @@ func (s *CreateLocationHdfsInput) Validate() error { } // SetAgentArns sets the AgentArns field's value. -func (s *CreateLocationHdfsInput) SetAgentArns(v []*string) *CreateLocationHdfsInput { +func (s *CreateLocationS3Input) SetAgentArns(v []*string) *CreateLocationS3Input { s.AgentArns = v return s } -// SetAuthenticationType sets the AuthenticationType field's value. -func (s *CreateLocationHdfsInput) SetAuthenticationType(v string) *CreateLocationHdfsInput { - s.AuthenticationType = &v - return s -} - -// SetBlockSize sets the BlockSize field's value. -func (s *CreateLocationHdfsInput) SetBlockSize(v int64) *CreateLocationHdfsInput { - s.BlockSize = &v - return s -} - -// SetKerberosKeytab sets the KerberosKeytab field's value. -func (s *CreateLocationHdfsInput) SetKerberosKeytab(v []byte) *CreateLocationHdfsInput { - s.KerberosKeytab = v - return s -} - -// SetKerberosKrb5Conf sets the KerberosKrb5Conf field's value. -func (s *CreateLocationHdfsInput) SetKerberosKrb5Conf(v []byte) *CreateLocationHdfsInput { - s.KerberosKrb5Conf = v - return s -} - -// SetKerberosPrincipal sets the KerberosPrincipal field's value. -func (s *CreateLocationHdfsInput) SetKerberosPrincipal(v string) *CreateLocationHdfsInput { - s.KerberosPrincipal = &v - return s -} - -// SetKmsKeyProviderUri sets the KmsKeyProviderUri field's value. -func (s *CreateLocationHdfsInput) SetKmsKeyProviderUri(v string) *CreateLocationHdfsInput { - s.KmsKeyProviderUri = &v - return s -} - -// SetNameNodes sets the NameNodes field's value. -func (s *CreateLocationHdfsInput) SetNameNodes(v []*HdfsNameNode) *CreateLocationHdfsInput { - s.NameNodes = v - return s -} - -// SetQopConfiguration sets the QopConfiguration field's value. -func (s *CreateLocationHdfsInput) SetQopConfiguration(v *QopConfiguration) *CreateLocationHdfsInput { - s.QopConfiguration = v +// SetS3BucketArn sets the S3BucketArn field's value. +func (s *CreateLocationS3Input) SetS3BucketArn(v string) *CreateLocationS3Input { + s.S3BucketArn = &v return s } -// SetReplicationFactor sets the ReplicationFactor field's value. -func (s *CreateLocationHdfsInput) SetReplicationFactor(v int64) *CreateLocationHdfsInput { - s.ReplicationFactor = &v +// SetS3Config sets the S3Config field's value. +func (s *CreateLocationS3Input) SetS3Config(v *S3Config) *CreateLocationS3Input { + s.S3Config = v return s } -// SetSimpleUser sets the SimpleUser field's value. -func (s *CreateLocationHdfsInput) SetSimpleUser(v string) *CreateLocationHdfsInput { - s.SimpleUser = &v +// SetS3StorageClass sets the S3StorageClass field's value. +func (s *CreateLocationS3Input) SetS3StorageClass(v string) *CreateLocationS3Input { + s.S3StorageClass = &v return s } // SetSubdirectory sets the Subdirectory field's value. -func (s *CreateLocationHdfsInput) SetSubdirectory(v string) *CreateLocationHdfsInput { +func (s *CreateLocationS3Input) SetSubdirectory(v string) *CreateLocationS3Input { s.Subdirectory = &v return s } // SetTags sets the Tags field's value. -func (s *CreateLocationHdfsInput) SetTags(v []*TagListEntry) *CreateLocationHdfsInput { +func (s *CreateLocationS3Input) SetTags(v []*TagListEntry) *CreateLocationS3Input { s.Tags = v return s } -type CreateLocationHdfsOutput struct { +// CreateLocationS3Response +type CreateLocationS3Output struct { _ struct{} `type:"structure"` - // The ARN of the source HDFS cluster location that's created. + // The Amazon Resource Name (ARN) of the source Amazon S3 bucket location that + // is created. LocationArn *string `type:"string"` } @@ -5349,7 +7524,7 @@ type CreateLocationHdfsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationHdfsOutput) String() string { +func (s CreateLocationS3Output) String() string { return awsutil.Prettify(s) } @@ -5358,78 +7533,84 @@ func (s CreateLocationHdfsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationHdfsOutput) GoString() string { +func (s CreateLocationS3Output) GoString() string { return s.String() } // SetLocationArn sets the LocationArn field's value. -func (s *CreateLocationHdfsOutput) SetLocationArn(v string) *CreateLocationHdfsOutput { +func (s *CreateLocationS3Output) SetLocationArn(v string) *CreateLocationS3Output { s.LocationArn = &v return s } -// CreateLocationNfsRequest -type CreateLocationNfsInput struct { +// CreateLocationSmbRequest +type CreateLocationSmbInput struct { _ struct{} `type:"structure"` - // The NFS mount options that DataSync can use to mount your NFS share. - MountOptions *NfsMountOptions `type:"structure"` - - // Contains a list of Amazon Resource Names (ARNs) of agents that are used to - // connect to an NFS server. + // Specifies the DataSync agent (or agents) which you want to connect to your + // SMB file server. You specify an agent by using its Amazon Resource Name (ARN). // - // If you are copying data to or from your Snowcone device, see NFS Server on - // Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) - // for more information. + // AgentArns is a required field + AgentArns []*string `min:"1" type:"list" required:"true"` + + // Specifies the Windows domain name that your SMB file server belongs to. // - // OnPremConfig is a required field - OnPremConfig *OnPremConfig `type:"structure" required:"true"` + // For more information, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) + // for SMB locations. + Domain *string `type:"string"` - // The name of the NFS server. This value is the IP address or Domain Name Service - // (DNS) name of the NFS server. An agent that is installed on-premises uses - // this hostname to mount the NFS server in a network. + // Specifies the version of the SMB protocol that DataSync uses to access your + // SMB file server. + MountOptions *SmbMountOptions `type:"structure"` + + // Specifies the password of the user who can mount your SMB file server and + // has permission to access the files and folders involved in your transfer. // - // If you are copying data to or from your Snowcone device, see NFS Server on - // Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) - // for more information. + // For more information, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) + // for SMB locations. // - // This name must either be DNS-compliant or must be an IP version 4 (IPv4) - // address. + // Password is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateLocationSmbInput's + // String and GoString methods. // - // ServerHostname is a required field - ServerHostname *string `type:"string" required:"true"` + // Password is a required field + Password *string `type:"string" required:"true" sensitive:"true"` - // The subdirectory in the NFS file system that is used to read data from the - // NFS source location or write data to the NFS destination. The NFS path should - // be a path that's exported by the NFS server, or a subdirectory of that path. - // The path should be such that it can be mounted by other NFS clients in your - // network. - // - // To see all the paths exported by your NFS server, run "showmount -e nfs-server-name" - // from an NFS client that has access to your server. You can specify any directory - // that appears in the results, and any subdirectory of that directory. Ensure - // that the NFS export is accessible without Kerberos authentication. - // - // To transfer all the data in the folder you specified, DataSync needs to have - // permissions to read all the data. To ensure this, either configure the NFS - // export with no_root_squash, or ensure that the permissions for all of the - // files that you want DataSync allow read access for all users. Doing either - // enables the agent to read the files. For the agent to access directories, - // you must additionally enable all execute access. + // Specifies the Domain Name Service (DNS) name or IP address of the SMB file + // server that your DataSync agent will mount. // - // If you are copying data to or from your Snowcone device, see NFS Server on - // Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) - // for more information. + // You can't specify an IP version 6 (IPv6) address. // - // For information about NFS export configuration, see 18.7. The /etc/exports - // Configuration File in the Red Hat Enterprise Linux documentation. + // ServerHostname is a required field + ServerHostname *string `type:"string" required:"true"` + + // Specifies the name of the share exported by your SMB file server where DataSync + // will read or write data. You can include a subdirectory in the share path + // (for example, /path/to/subdirectory). Make sure that other SMB clients in + // your network can also mount this path. + // + // To copy all data in the specified subdirectory, DataSync must be able to + // mount the SMB share and access all of its data. For more information, see + // required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) + // for SMB locations. // // Subdirectory is a required field Subdirectory *string `type:"string" required:"true"` - // The key-value pair that represents the tag that you want to add to the location. - // The value can be an empty string. We recommend using tags to name your resources. + // Specifies labels that help you categorize, filter, and search for your Amazon + // Web Services resources. We recommend creating at least a name tag for your + // location. Tags []*TagListEntry `type:"list"` + + // Specifies the user name that can mount your SMB file server and has permission + // to access the files and folders involved in your transfer. + // + // For information about choosing a user with the right level of access for + // your transfer, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) + // for SMB locations. + // + // User is a required field + User *string `type:"string" required:"true"` } // String returns the string representation. @@ -5437,7 +7618,7 @@ type CreateLocationNfsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationNfsInput) String() string { +func (s CreateLocationSmbInput) String() string { return awsutil.Prettify(s) } @@ -5446,15 +7627,21 @@ func (s CreateLocationNfsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationNfsInput) GoString() string { +func (s CreateLocationSmbInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLocationNfsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLocationNfsInput"} - if s.OnPremConfig == nil { - invalidParams.Add(request.NewErrParamRequired("OnPremConfig")) +func (s *CreateLocationSmbInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationSmbInput"} + if s.AgentArns == nil { + invalidParams.Add(request.NewErrParamRequired("AgentArns")) + } + if s.AgentArns != nil && len(s.AgentArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) + } + if s.Password == nil { + invalidParams.Add(request.NewErrParamRequired("Password")) } if s.ServerHostname == nil { invalidParams.Add(request.NewErrParamRequired("ServerHostname")) @@ -5462,10 +7649,8 @@ func (s *CreateLocationNfsInput) Validate() error { if s.Subdirectory == nil { invalidParams.Add(request.NewErrParamRequired("Subdirectory")) } - if s.OnPremConfig != nil { - if err := s.OnPremConfig.Validate(); err != nil { - invalidParams.AddNested("OnPremConfig", err.(request.ErrInvalidParams)) - } + if s.User == nil { + invalidParams.Add(request.NewErrParamRequired("User")) } if s.Tags != nil { for i, v := range s.Tags { @@ -5484,42 +7669,59 @@ func (s *CreateLocationNfsInput) Validate() error { return nil } +// SetAgentArns sets the AgentArns field's value. +func (s *CreateLocationSmbInput) SetAgentArns(v []*string) *CreateLocationSmbInput { + s.AgentArns = v + return s +} + +// SetDomain sets the Domain field's value. +func (s *CreateLocationSmbInput) SetDomain(v string) *CreateLocationSmbInput { + s.Domain = &v + return s +} + // SetMountOptions sets the MountOptions field's value. -func (s *CreateLocationNfsInput) SetMountOptions(v *NfsMountOptions) *CreateLocationNfsInput { +func (s *CreateLocationSmbInput) SetMountOptions(v *SmbMountOptions) *CreateLocationSmbInput { s.MountOptions = v return s } -// SetOnPremConfig sets the OnPremConfig field's value. -func (s *CreateLocationNfsInput) SetOnPremConfig(v *OnPremConfig) *CreateLocationNfsInput { - s.OnPremConfig = v +// SetPassword sets the Password field's value. +func (s *CreateLocationSmbInput) SetPassword(v string) *CreateLocationSmbInput { + s.Password = &v return s } // SetServerHostname sets the ServerHostname field's value. -func (s *CreateLocationNfsInput) SetServerHostname(v string) *CreateLocationNfsInput { +func (s *CreateLocationSmbInput) SetServerHostname(v string) *CreateLocationSmbInput { s.ServerHostname = &v return s } // SetSubdirectory sets the Subdirectory field's value. -func (s *CreateLocationNfsInput) SetSubdirectory(v string) *CreateLocationNfsInput { +func (s *CreateLocationSmbInput) SetSubdirectory(v string) *CreateLocationSmbInput { s.Subdirectory = &v return s } // SetTags sets the Tags field's value. -func (s *CreateLocationNfsInput) SetTags(v []*TagListEntry) *CreateLocationNfsInput { +func (s *CreateLocationSmbInput) SetTags(v []*TagListEntry) *CreateLocationSmbInput { s.Tags = v return s } -// CreateLocationNfsResponse -type CreateLocationNfsOutput struct { +// SetUser sets the User field's value. +func (s *CreateLocationSmbInput) SetUser(v string) *CreateLocationSmbInput { + s.User = &v + return s +} + +// CreateLocationSmbResponse +type CreateLocationSmbOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the source NFS file system location that - // is created. + // The ARN of the SMB location that you created. LocationArn *string `type:"string"` } @@ -5528,7 +7730,7 @@ type CreateLocationNfsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationNfsOutput) String() string { +func (s CreateLocationSmbOutput) String() string { return awsutil.Prettify(s) } @@ -5537,73 +7739,67 @@ func (s CreateLocationNfsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationNfsOutput) GoString() string { +func (s CreateLocationSmbOutput) GoString() string { return s.String() } // SetLocationArn sets the LocationArn field's value. -func (s *CreateLocationNfsOutput) SetLocationArn(v string) *CreateLocationNfsOutput { +func (s *CreateLocationSmbOutput) SetLocationArn(v string) *CreateLocationSmbOutput { s.LocationArn = &v return s } -// CreateLocationObjectStorageRequest -type CreateLocationObjectStorageInput struct { +// CreateTaskRequest +type CreateTaskInput struct { _ struct{} `type:"structure"` - // Specifies the access key (for example, a user name) if credentials are required - // to authenticate with the object storage server. - AccessKey *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is + // used to monitor and log events in the task. + CloudWatchLogGroupArn *string `type:"string"` - // Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can - // securely connect with your location. + // The Amazon Resource Name (ARN) of an Amazon Web Services storage resource's + // location. // - // AgentArns is a required field - AgentArns []*string `min:"1" type:"list" required:"true"` + // DestinationLocationArn is a required field + DestinationLocationArn *string `type:"string" required:"true"` - // Specifies the name of the object storage bucket involved in the transfer. - // - // BucketName is a required field - BucketName *string `min:"3" type:"string" required:"true"` + // Specifies a list of filter rules that exclude specific data during your transfer. + // For more information and examples, see Filtering data transferred by DataSync + // (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). + Excludes []*FilterRule `type:"list"` - // Specifies the secret key (for example, a password) if credentials are required - // to authenticate with the object storage server. - // - // SecretKey is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateLocationObjectStorageInput's - // String and GoString methods. - SecretKey *string `min:"1" type:"string" sensitive:"true"` + // Specifies a list of filter rules that include specific data during your transfer. + // For more information and examples, see Filtering data transferred by DataSync + // (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). + Includes []*FilterRule `type:"list"` - // Specifies a certificate to authenticate with an object storage system that - // uses a private or self-signed certificate authority (CA). You must specify - // a Base64-encoded .pem file (for example, file:///home/user/.ssh/storage_sys_certificate.pem). - // The certificate can be up to 32768 bytes (before Base64 encoding). - // - // To use this parameter, configure ServerProtocol to HTTPS. - // ServerCertificate is automatically base64 encoded/decoded by the SDK. - ServerCertificate []byte `type:"blob"` + // The name of a task. This value is a text reference that is used to identify + // the task in the console. + Name *string `min:"1" type:"string"` - // Specifies the domain name or IP address of the object storage server. A DataSync - // agent uses this hostname to mount the object storage server in a network. + // Specifies the configuration options for a task. Some options include preserving + // file or object metadata and verifying data integrity. // - // ServerHostname is a required field - ServerHostname *string `type:"string" required:"true"` - - // Specifies the port that your object storage server accepts inbound network - // traffic on (for example, port 443). - ServerPort *int64 `min:"1" type:"integer"` + // You can also override these options before starting an individual run of + // a task (also known as a task execution). For more information, see StartTaskExecution + // (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html). + Options *Options `type:"structure"` - // Specifies the protocol that your object storage server uses to communicate. - ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"` + // Specifies a schedule used to periodically transfer files from a source to + // a destination location. The schedule should be specified in UTC time. For + // more information, see Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html). + Schedule *TaskSchedule `type:"structure"` - // Specifies the object prefix for your object storage server. If this is a - // source location, DataSync only copies objects with this prefix. If this is - // a destination location, DataSync writes all objects with this prefix. - Subdirectory *string `type:"string"` + // The Amazon Resource Name (ARN) of the source location for the task. + // + // SourceLocationArn is a required field + SourceLocationArn *string `type:"string" required:"true"` - // Specifies the key-value pair that represents a tag that you want to add to - // the resource. Tags can help you manage, filter, and search for your resources. - // We recommend creating a name tag for your location. + // Specifies the tags that you want to apply to the Amazon Resource Name (ARN) + // representing the task. + // + // Tags are key-value pairs that help you manage, filter, and search for your + // DataSync resources. Tags []*TagListEntry `type:"list"` } @@ -5612,7 +7808,7 @@ type CreateLocationObjectStorageInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationObjectStorageInput) String() string { +func (s CreateTaskInput) String() string { return awsutil.Prettify(s) } @@ -5621,36 +7817,31 @@ func (s CreateLocationObjectStorageInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationObjectStorageInput) GoString() string { +func (s CreateTaskInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLocationObjectStorageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLocationObjectStorageInput"} - if s.AccessKey != nil && len(*s.AccessKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccessKey", 1)) - } - if s.AgentArns == nil { - invalidParams.Add(request.NewErrParamRequired("AgentArns")) - } - if s.AgentArns != nil && len(s.AgentArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) - } - if s.BucketName == nil { - invalidParams.Add(request.NewErrParamRequired("BucketName")) +func (s *CreateTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTaskInput"} + if s.DestinationLocationArn == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationLocationArn")) } - if s.BucketName != nil && len(*s.BucketName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.SecretKey != nil && len(*s.SecretKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SecretKey", 1)) + if s.SourceLocationArn == nil { + invalidParams.Add(request.NewErrParamRequired("SourceLocationArn")) } - if s.ServerHostname == nil { - invalidParams.Add(request.NewErrParamRequired("ServerHostname")) + if s.Options != nil { + if err := s.Options.Validate(); err != nil { + invalidParams.AddNested("Options", err.(request.ErrInvalidParams)) + } } - if s.ServerPort != nil && *s.ServerPort < 1 { - invalidParams.Add(request.NewErrParamMinValue("ServerPort", 1)) + if s.Schedule != nil { + if err := s.Schedule.Validate(); err != nil { + invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) + } } if s.Tags != nil { for i, v := range s.Tags { @@ -5669,72 +7860,66 @@ func (s *CreateLocationObjectStorageInput) Validate() error { return nil } -// SetAccessKey sets the AccessKey field's value. -func (s *CreateLocationObjectStorageInput) SetAccessKey(v string) *CreateLocationObjectStorageInput { - s.AccessKey = &v - return s -} - -// SetAgentArns sets the AgentArns field's value. -func (s *CreateLocationObjectStorageInput) SetAgentArns(v []*string) *CreateLocationObjectStorageInput { - s.AgentArns = v +// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value. +func (s *CreateTaskInput) SetCloudWatchLogGroupArn(v string) *CreateTaskInput { + s.CloudWatchLogGroupArn = &v return s } -// SetBucketName sets the BucketName field's value. -func (s *CreateLocationObjectStorageInput) SetBucketName(v string) *CreateLocationObjectStorageInput { - s.BucketName = &v +// SetDestinationLocationArn sets the DestinationLocationArn field's value. +func (s *CreateTaskInput) SetDestinationLocationArn(v string) *CreateTaskInput { + s.DestinationLocationArn = &v return s } -// SetSecretKey sets the SecretKey field's value. -func (s *CreateLocationObjectStorageInput) SetSecretKey(v string) *CreateLocationObjectStorageInput { - s.SecretKey = &v +// SetExcludes sets the Excludes field's value. +func (s *CreateTaskInput) SetExcludes(v []*FilterRule) *CreateTaskInput { + s.Excludes = v return s } -// SetServerCertificate sets the ServerCertificate field's value. -func (s *CreateLocationObjectStorageInput) SetServerCertificate(v []byte) *CreateLocationObjectStorageInput { - s.ServerCertificate = v +// SetIncludes sets the Includes field's value. +func (s *CreateTaskInput) SetIncludes(v []*FilterRule) *CreateTaskInput { + s.Includes = v return s } -// SetServerHostname sets the ServerHostname field's value. -func (s *CreateLocationObjectStorageInput) SetServerHostname(v string) *CreateLocationObjectStorageInput { - s.ServerHostname = &v +// SetName sets the Name field's value. +func (s *CreateTaskInput) SetName(v string) *CreateTaskInput { + s.Name = &v return s } -// SetServerPort sets the ServerPort field's value. -func (s *CreateLocationObjectStorageInput) SetServerPort(v int64) *CreateLocationObjectStorageInput { - s.ServerPort = &v +// SetOptions sets the Options field's value. +func (s *CreateTaskInput) SetOptions(v *Options) *CreateTaskInput { + s.Options = v return s } -// SetServerProtocol sets the ServerProtocol field's value. -func (s *CreateLocationObjectStorageInput) SetServerProtocol(v string) *CreateLocationObjectStorageInput { - s.ServerProtocol = &v +// SetSchedule sets the Schedule field's value. +func (s *CreateTaskInput) SetSchedule(v *TaskSchedule) *CreateTaskInput { + s.Schedule = v return s } -// SetSubdirectory sets the Subdirectory field's value. -func (s *CreateLocationObjectStorageInput) SetSubdirectory(v string) *CreateLocationObjectStorageInput { - s.Subdirectory = &v +// SetSourceLocationArn sets the SourceLocationArn field's value. +func (s *CreateTaskInput) SetSourceLocationArn(v string) *CreateTaskInput { + s.SourceLocationArn = &v return s } // SetTags sets the Tags field's value. -func (s *CreateLocationObjectStorageInput) SetTags(v []*TagListEntry) *CreateLocationObjectStorageInput { +func (s *CreateTaskInput) SetTags(v []*TagListEntry) *CreateTaskInput { s.Tags = v return s } -// CreateLocationObjectStorageResponse -type CreateLocationObjectStorageOutput struct { +// CreateTaskResponse +type CreateTaskOutput struct { _ struct{} `type:"structure"` - // Specifies the ARN of the object storage system location that you create. - LocationArn *string `type:"string"` + // The Amazon Resource Name (ARN) of the task. + TaskArn *string `type:"string"` } // String returns the string representation. @@ -5742,7 +7927,7 @@ type CreateLocationObjectStorageOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationObjectStorageOutput) String() string { +func (s CreateTaskOutput) String() string { return awsutil.Prettify(s) } @@ -5751,59 +7936,41 @@ func (s CreateLocationObjectStorageOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationObjectStorageOutput) GoString() string { +func (s CreateTaskOutput) GoString() string { return s.String() } -// SetLocationArn sets the LocationArn field's value. -func (s *CreateLocationObjectStorageOutput) SetLocationArn(v string) *CreateLocationObjectStorageOutput { - s.LocationArn = &v +// SetTaskArn sets the TaskArn field's value. +func (s *CreateTaskOutput) SetTaskArn(v string) *CreateTaskOutput { + s.TaskArn = &v return s } -// CreateLocationS3Request -type CreateLocationS3Input struct { +// The credentials that provide DataSync Discovery read access to your on-premises +// storage system's management interface. +// +// DataSync Discovery stores these credentials in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html). +// For more information, see Accessing your on-premises storage system (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-configure-storage.html). +type Credentials struct { _ struct{} `type:"structure"` - // If you're using DataSync on an Amazon Web Services Outpost, specify the Amazon - // Resource Names (ARNs) of the DataSync agents deployed on your Outpost. For - // more information about launching a DataSync agent on an Amazon Web Services - // Outpost, see Deploy your DataSync agent on Outposts (https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent). - AgentArns []*string `min:"1" type:"list"` - - // The ARN of the Amazon S3 bucket. If the bucket is on an Amazon Web Services - // Outpost, this must be an access point ARN. + // Specifies the password for your storage system's management interface. // - // S3BucketArn is a required field - S3BucketArn *string `type:"string" required:"true"` - - // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) - // role used to access an Amazon S3 bucket. - // - // For detailed information about using such a role, see Creating a Location - // for Amazon S3 in the DataSync User Guide. + // Password is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Credentials's + // String and GoString methods. // - // S3Config is a required field - S3Config *S3Config `type:"structure" required:"true"` + // Password is a required field + Password *string `type:"string" required:"true" sensitive:"true"` - // The Amazon S3 storage class that you want to store your files in when this - // location is used as a task destination. For buckets in Amazon Web Services - // Regions, the storage class defaults to Standard. For buckets on Outposts, - // the storage class defaults to Amazon Web Services S3 Outposts. + // Specifies the user name for your storage system's management interface. // - // For more information about S3 storage classes, see Amazon S3 Storage Classes - // (http://aws.amazon.com/s3/storage-classes/). Some storage classes have behaviors - // that can affect your S3 storage cost. For detailed information, see Considerations - // when working with S3 storage classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes). - S3StorageClass *string `type:"string" enum:"S3StorageClass"` - - // A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is - // used to read data from the S3 source location or write data to the S3 destination. - Subdirectory *string `type:"string"` - - // The key-value pair that represents the tag that you want to add to the location. - // The value can be an empty string. We recommend using tags to name your resources. - Tags []*TagListEntry `type:"list"` + // Username is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Credentials's + // String and GoString methods. + // + // Username is a required field + Username *string `type:"string" required:"true" sensitive:"true"` } // String returns the string representation. @@ -5811,7 +7978,7 @@ type CreateLocationS3Input struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationS3Input) String() string { +func (s Credentials) String() string { return awsutil.Prettify(s) } @@ -5820,36 +7987,18 @@ func (s CreateLocationS3Input) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationS3Input) GoString() string { +func (s Credentials) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLocationS3Input) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLocationS3Input"} - if s.AgentArns != nil && len(s.AgentArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) - } - if s.S3BucketArn == nil { - invalidParams.Add(request.NewErrParamRequired("S3BucketArn")) - } - if s.S3Config == nil { - invalidParams.Add(request.NewErrParamRequired("S3Config")) - } - if s.S3Config != nil { - if err := s.S3Config.Validate(); err != nil { - invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams)) - } +func (s *Credentials) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Credentials"} + if s.Password == nil { + invalidParams.Add(request.NewErrParamRequired("Password")) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.Username == nil { + invalidParams.Add(request.NewErrParamRequired("Username")) } if invalidParams.Len() > 0 { @@ -5858,49 +8007,69 @@ func (s *CreateLocationS3Input) Validate() error { return nil } -// SetAgentArns sets the AgentArns field's value. -func (s *CreateLocationS3Input) SetAgentArns(v []*string) *CreateLocationS3Input { - s.AgentArns = v +// SetPassword sets the Password field's value. +func (s *Credentials) SetPassword(v string) *Credentials { + s.Password = &v return s } -// SetS3BucketArn sets the S3BucketArn field's value. -func (s *CreateLocationS3Input) SetS3BucketArn(v string) *CreateLocationS3Input { - s.S3BucketArn = &v +// SetUsername sets the Username field's value. +func (s *Credentials) SetUsername(v string) *Credentials { + s.Username = &v return s } -// SetS3Config sets the S3Config field's value. -func (s *CreateLocationS3Input) SetS3Config(v *S3Config) *CreateLocationS3Input { - s.S3Config = v - return s +// DeleteAgentRequest +type DeleteAgentInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the agent to delete. Use the ListAgents + // operation to return a list of agents for your account and Amazon Web Services + // Region. + // + // AgentArn is a required field + AgentArn *string `type:"string" required:"true"` } -// SetS3StorageClass sets the S3StorageClass field's value. -func (s *CreateLocationS3Input) SetS3StorageClass(v string) *CreateLocationS3Input { - s.S3StorageClass = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAgentInput) String() string { + return awsutil.Prettify(s) } -// SetSubdirectory sets the Subdirectory field's value. -func (s *CreateLocationS3Input) SetSubdirectory(v string) *CreateLocationS3Input { - s.Subdirectory = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAgentInput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateLocationS3Input) SetTags(v []*TagListEntry) *CreateLocationS3Input { - s.Tags = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAgentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAgentInput"} + if s.AgentArn == nil { + invalidParams.Add(request.NewErrParamRequired("AgentArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAgentArn sets the AgentArn field's value. +func (s *DeleteAgentInput) SetAgentArn(v string) *DeleteAgentInput { + s.AgentArn = &v return s } -// CreateLocationS3Response -type CreateLocationS3Output struct { +type DeleteAgentOutput struct { _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the source Amazon S3 bucket location that - // is created. - LocationArn *string `type:"string"` } // String returns the string representation. @@ -5908,7 +8077,7 @@ type CreateLocationS3Output struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationS3Output) String() string { +func (s DeleteAgentOutput) String() string { return awsutil.Prettify(s) } @@ -5917,84 +8086,18 @@ func (s CreateLocationS3Output) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationS3Output) GoString() string { +func (s DeleteAgentOutput) GoString() string { return s.String() } -// SetLocationArn sets the LocationArn field's value. -func (s *CreateLocationS3Output) SetLocationArn(v string) *CreateLocationS3Output { - s.LocationArn = &v - return s -} - -// CreateLocationSmbRequest -type CreateLocationSmbInput struct { - _ struct{} `type:"structure"` - - // Specifies the DataSync agent (or agents) which you want to connect to your - // SMB file server. You specify an agent by using its Amazon Resource Name (ARN). - // - // AgentArns is a required field - AgentArns []*string `min:"1" type:"list" required:"true"` - - // Specifies the Windows domain name that your SMB file server belongs to. - // - // For more information, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) - // for SMB locations. - Domain *string `type:"string"` - - // Specifies the version of the SMB protocol that DataSync uses to access your - // SMB file server. - MountOptions *SmbMountOptions `type:"structure"` - - // Specifies the password of the user who can mount your SMB file server and - // has permission to access the files and folders involved in your transfer. - // - // For more information, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) - // for SMB locations. - // - // Password is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateLocationSmbInput's - // String and GoString methods. - // - // Password is a required field - Password *string `type:"string" required:"true" sensitive:"true"` - - // Specifies the Domain Name Service (DNS) name or IP address of the SMB file - // server that your DataSync agent will mount. - // - // You can't specify an IP version 6 (IPv6) address. - // - // ServerHostname is a required field - ServerHostname *string `type:"string" required:"true"` - - // Specifies the name of the share exported by your SMB file server where DataSync - // will read or write data. You can include a subdirectory in the share path - // (for example, /path/to/subdirectory). Make sure that other SMB clients in - // your network can also mount this path. - // - // To copy all data in the specified subdirectory, DataSync must be able to - // mount the SMB share and access all of its data. For more information, see - // required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) - // for SMB locations. - // - // Subdirectory is a required field - Subdirectory *string `type:"string" required:"true"` - - // Specifies labels that help you categorize, filter, and search for your Amazon - // Web Services resources. We recommend creating at least a name tag for your - // location. - Tags []*TagListEntry `type:"list"` - - // Specifies the user name that can mount your SMB file server and has permission - // to access the files and folders involved in your transfer. - // - // For information about choosing a user with the right level of access for - // your transfer, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) - // for SMB locations. +// DeleteLocation +type DeleteLocationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the location to delete. // - // User is a required field - User *string `type:"string" required:"true"` + // LocationArn is a required field + LocationArn *string `type:"string" required:"true"` } // String returns the string representation. @@ -6002,7 +8105,7 @@ type CreateLocationSmbInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationSmbInput) String() string { +func (s DeleteLocationInput) String() string { return awsutil.Prettify(s) } @@ -6011,40 +8114,15 @@ func (s CreateLocationSmbInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationSmbInput) GoString() string { +func (s DeleteLocationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLocationSmbInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLocationSmbInput"} - if s.AgentArns == nil { - invalidParams.Add(request.NewErrParamRequired("AgentArns")) - } - if s.AgentArns != nil && len(s.AgentArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) - } - if s.Password == nil { - invalidParams.Add(request.NewErrParamRequired("Password")) - } - if s.ServerHostname == nil { - invalidParams.Add(request.NewErrParamRequired("ServerHostname")) - } - if s.Subdirectory == nil { - invalidParams.Add(request.NewErrParamRequired("Subdirectory")) - } - if s.User == nil { - invalidParams.Add(request.NewErrParamRequired("User")) - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } +func (s *DeleteLocationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLocationInput"} + if s.LocationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LocationArn")) } if invalidParams.Len() > 0 { @@ -6053,60 +8131,111 @@ func (s *CreateLocationSmbInput) Validate() error { return nil } -// SetAgentArns sets the AgentArns field's value. -func (s *CreateLocationSmbInput) SetAgentArns(v []*string) *CreateLocationSmbInput { - s.AgentArns = v +// SetLocationArn sets the LocationArn field's value. +func (s *DeleteLocationInput) SetLocationArn(v string) *DeleteLocationInput { + s.LocationArn = &v return s } -// SetDomain sets the Domain field's value. -func (s *CreateLocationSmbInput) SetDomain(v string) *CreateLocationSmbInput { - s.Domain = &v - return s +type DeleteLocationOutput struct { + _ struct{} `type:"structure"` } -// SetMountOptions sets the MountOptions field's value. -func (s *CreateLocationSmbInput) SetMountOptions(v *SmbMountOptions) *CreateLocationSmbInput { - s.MountOptions = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteLocationOutput) String() string { + return awsutil.Prettify(s) } -// SetPassword sets the Password field's value. -func (s *CreateLocationSmbInput) SetPassword(v string) *CreateLocationSmbInput { - s.Password = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteLocationOutput) GoString() string { + return s.String() } -// SetServerHostname sets the ServerHostname field's value. -func (s *CreateLocationSmbInput) SetServerHostname(v string) *CreateLocationSmbInput { - s.ServerHostname = &v - return s +// DeleteTask +type DeleteTaskInput struct { + _ struct{} `type:"structure"` + + // Specifies the Amazon Resource Name (ARN) of the task that you want to delete. + // + // TaskArn is a required field + TaskArn *string `type:"string" required:"true"` } -// SetSubdirectory sets the Subdirectory field's value. -func (s *CreateLocationSmbInput) SetSubdirectory(v string) *CreateLocationSmbInput { - s.Subdirectory = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTaskInput) String() string { + return awsutil.Prettify(s) } -// SetTags sets the Tags field's value. -func (s *CreateLocationSmbInput) SetTags(v []*TagListEntry) *CreateLocationSmbInput { - s.Tags = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTaskInput) GoString() string { + return s.String() } -// SetUser sets the User field's value. -func (s *CreateLocationSmbInput) SetUser(v string) *CreateLocationSmbInput { - s.User = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTaskInput"} + if s.TaskArn == nil { + invalidParams.Add(request.NewErrParamRequired("TaskArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTaskArn sets the TaskArn field's value. +func (s *DeleteTaskInput) SetTaskArn(v string) *DeleteTaskInput { + s.TaskArn = &v return s } -// CreateLocationSmbResponse -type CreateLocationSmbOutput struct { +type DeleteTaskOutput struct { _ struct{} `type:"structure"` +} - // The ARN of the SMB location that you created. - LocationArn *string `type:"string"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTaskOutput) GoString() string { + return s.String() +} + +// DescribeAgent +type DescribeAgentInput struct { + _ struct{} `type:"structure"` + + // Specifies the Amazon Resource Name (ARN) of the DataSync agent to describe. + // + // AgentArn is a required field + AgentArn *string `type:"string" required:"true"` } // String returns the string representation. @@ -6114,7 +8243,7 @@ type CreateLocationSmbOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationSmbOutput) String() string { +func (s DescribeAgentInput) String() string { return awsutil.Prettify(s) } @@ -6123,68 +8252,58 @@ func (s CreateLocationSmbOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateLocationSmbOutput) GoString() string { +func (s DescribeAgentInput) GoString() string { return s.String() } -// SetLocationArn sets the LocationArn field's value. -func (s *CreateLocationSmbOutput) SetLocationArn(v string) *CreateLocationSmbOutput { - s.LocationArn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAgentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAgentInput"} + if s.AgentArn == nil { + invalidParams.Add(request.NewErrParamRequired("AgentArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAgentArn sets the AgentArn field's value. +func (s *DescribeAgentInput) SetAgentArn(v string) *DescribeAgentInput { + s.AgentArn = &v return s } -// CreateTaskRequest -type CreateTaskInput struct { +// DescribeAgentResponse +type DescribeAgentOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is - // used to monitor and log events in the task. - CloudWatchLogGroupArn *string `type:"string"` + // The ARN of the agent. + AgentArn *string `type:"string"` - // The Amazon Resource Name (ARN) of an Amazon Web Services storage resource's - // location. - // - // DestinationLocationArn is a required field - DestinationLocationArn *string `type:"string" required:"true"` + // The time that the agent was activated (that is, created in your account). + CreationTime *time.Time `type:"timestamp"` - // Specifies a list of filter rules that exclude specific data during your transfer. - // For more information and examples, see Filtering data transferred by DataSync - // (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). - Excludes []*FilterRule `type:"list"` + // The type of endpoint that your agent is connected to. If the endpoint is + // a VPC endpoint, the agent is not accessible over the public internet. + EndpointType *string `type:"string" enum:"EndpointType"` - // Specifies a list of filter rules that include specific data during your transfer. - // For more information and examples, see Filtering data transferred by DataSync - // (https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html). - Includes []*FilterRule `type:"list"` + // The time that the agent last connected to DataSync. + LastConnectionTime *time.Time `type:"timestamp"` - // The name of a task. This value is a text reference that is used to identify - // the task in the console. + // The name of the agent. Name *string `min:"1" type:"string"` - // Specifies the configuration options for a task. Some options include preserving - // file or object metadata and verifying data integrity. - // - // You can also override these options before starting an individual run of - // a task (also known as a task execution). For more information, see StartTaskExecution - // (https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html). - Options *Options `type:"structure"` - - // Specifies a schedule used to periodically transfer files from a source to - // a destination location. The schedule should be specified in UTC time. For - // more information, see Scheduling your task (https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html). - Schedule *TaskSchedule `type:"structure"` - - // The Amazon Resource Name (ARN) of the source location for the task. - // - // SourceLocationArn is a required field - SourceLocationArn *string `type:"string" required:"true"` + // The subnet and the security group that DataSync used to access a VPC endpoint. + PrivateLinkConfig *PrivateLinkConfig `type:"structure"` - // Specifies the tags that you want to apply to the Amazon Resource Name (ARN) - // representing the task. - // - // Tags are key-value pairs that help you manage, filter, and search for your - // DataSync resources. - Tags []*TagListEntry `type:"list"` + // The status of the agent. If the status is ONLINE, then the agent is configured + // properly and is available to use. The Running status is the normal running + // status for an agent. If the status is OFFLINE, the agent's VM is turned off + // or the agent is in an unhealthy state. When the issue that caused the unhealthy + // state is resolved, the agent returns to ONLINE status. + Status *string `type:"string" enum:"AgentStatus"` } // String returns the string representation. @@ -6192,7 +8311,7 @@ type CreateTaskInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateTaskInput) String() string { +func (s DescribeAgentOutput) String() string { return awsutil.Prettify(s) } @@ -6201,109 +8320,60 @@ func (s CreateTaskInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateTaskInput) GoString() string { +func (s DescribeAgentOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateTaskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateTaskInput"} - if s.DestinationLocationArn == nil { - invalidParams.Add(request.NewErrParamRequired("DestinationLocationArn")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.SourceLocationArn == nil { - invalidParams.Add(request.NewErrParamRequired("SourceLocationArn")) - } - if s.Options != nil { - if err := s.Options.Validate(); err != nil { - invalidParams.AddNested("Options", err.(request.ErrInvalidParams)) - } - } - if s.Schedule != nil { - if err := s.Schedule.Validate(); err != nil { - invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value. -func (s *CreateTaskInput) SetCloudWatchLogGroupArn(v string) *CreateTaskInput { - s.CloudWatchLogGroupArn = &v +// SetAgentArn sets the AgentArn field's value. +func (s *DescribeAgentOutput) SetAgentArn(v string) *DescribeAgentOutput { + s.AgentArn = &v return s } -// SetDestinationLocationArn sets the DestinationLocationArn field's value. -func (s *CreateTaskInput) SetDestinationLocationArn(v string) *CreateTaskInput { - s.DestinationLocationArn = &v +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeAgentOutput) SetCreationTime(v time.Time) *DescribeAgentOutput { + s.CreationTime = &v return s } -// SetExcludes sets the Excludes field's value. -func (s *CreateTaskInput) SetExcludes(v []*FilterRule) *CreateTaskInput { - s.Excludes = v +// SetEndpointType sets the EndpointType field's value. +func (s *DescribeAgentOutput) SetEndpointType(v string) *DescribeAgentOutput { + s.EndpointType = &v return s } -// SetIncludes sets the Includes field's value. -func (s *CreateTaskInput) SetIncludes(v []*FilterRule) *CreateTaskInput { - s.Includes = v +// SetLastConnectionTime sets the LastConnectionTime field's value. +func (s *DescribeAgentOutput) SetLastConnectionTime(v time.Time) *DescribeAgentOutput { + s.LastConnectionTime = &v return s } // SetName sets the Name field's value. -func (s *CreateTaskInput) SetName(v string) *CreateTaskInput { +func (s *DescribeAgentOutput) SetName(v string) *DescribeAgentOutput { s.Name = &v return s } -// SetOptions sets the Options field's value. -func (s *CreateTaskInput) SetOptions(v *Options) *CreateTaskInput { - s.Options = v - return s -} - -// SetSchedule sets the Schedule field's value. -func (s *CreateTaskInput) SetSchedule(v *TaskSchedule) *CreateTaskInput { - s.Schedule = v - return s -} - -// SetSourceLocationArn sets the SourceLocationArn field's value. -func (s *CreateTaskInput) SetSourceLocationArn(v string) *CreateTaskInput { - s.SourceLocationArn = &v +// SetPrivateLinkConfig sets the PrivateLinkConfig field's value. +func (s *DescribeAgentOutput) SetPrivateLinkConfig(v *PrivateLinkConfig) *DescribeAgentOutput { + s.PrivateLinkConfig = v return s } -// SetTags sets the Tags field's value. -func (s *CreateTaskInput) SetTags(v []*TagListEntry) *CreateTaskInput { - s.Tags = v +// SetStatus sets the Status field's value. +func (s *DescribeAgentOutput) SetStatus(v string) *DescribeAgentOutput { + s.Status = &v return s } -// CreateTaskResponse -type CreateTaskOutput struct { +type DescribeDiscoveryJobInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the task. - TaskArn *string `type:"string"` + // Specifies the Amazon Resource Name (ARN) of the discovery job that you want + // information about. + // + // DiscoveryJobArn is a required field + DiscoveryJobArn *string `type:"string" required:"true"` } // String returns the string representation. @@ -6311,7 +8381,7 @@ type CreateTaskOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateTaskOutput) String() string { +func (s DescribeDiscoveryJobInput) String() string { return awsutil.Prettify(s) } @@ -6320,26 +8390,51 @@ func (s CreateTaskOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateTaskOutput) GoString() string { +func (s DescribeDiscoveryJobInput) GoString() string { return s.String() } -// SetTaskArn sets the TaskArn field's value. -func (s *CreateTaskOutput) SetTaskArn(v string) *CreateTaskOutput { - s.TaskArn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDiscoveryJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDiscoveryJobInput"} + if s.DiscoveryJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("DiscoveryJobArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiscoveryJobArn sets the DiscoveryJobArn field's value. +func (s *DescribeDiscoveryJobInput) SetDiscoveryJobArn(v string) *DescribeDiscoveryJobInput { + s.DiscoveryJobArn = &v return s } -// DeleteAgentRequest -type DeleteAgentInput struct { +type DescribeDiscoveryJobOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the agent to delete. Use the ListAgents - // operation to return a list of agents for your account and Amazon Web Services - // Region. - // - // AgentArn is a required field - AgentArn *string `type:"string" required:"true"` + // The number of minutes that the discovery job runs. + CollectionDurationMinutes *int64 `min:"60" type:"integer"` + + // The ARN of the discovery job. + DiscoveryJobArn *string `type:"string"` + + // The time when the discovery job ended. + JobEndTime *time.Time `type:"timestamp"` + + // The time when the discovery job started. + JobStartTime *time.Time `type:"timestamp"` + + // Indicates the status of a discovery job. For more information, see Discovery + // job statuses (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-job-statuses.html#discovery-job-statuses-table). + Status *string `type:"string" enum:"DiscoveryJobStatus"` + + // The ARN of the on-premises storage system you're running the discovery job + // on. + StorageSystemArn *string `type:"string"` } // String returns the string representation. @@ -6347,7 +8442,7 @@ type DeleteAgentInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAgentInput) String() string { +func (s DescribeDiscoveryJobOutput) String() string { return awsutil.Prettify(s) } @@ -6356,56 +8451,52 @@ func (s DeleteAgentInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAgentInput) GoString() string { +func (s DescribeDiscoveryJobOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAgentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAgentInput"} - if s.AgentArn == nil { - invalidParams.Add(request.NewErrParamRequired("AgentArn")) - } +// SetCollectionDurationMinutes sets the CollectionDurationMinutes field's value. +func (s *DescribeDiscoveryJobOutput) SetCollectionDurationMinutes(v int64) *DescribeDiscoveryJobOutput { + s.CollectionDurationMinutes = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDiscoveryJobArn sets the DiscoveryJobArn field's value. +func (s *DescribeDiscoveryJobOutput) SetDiscoveryJobArn(v string) *DescribeDiscoveryJobOutput { + s.DiscoveryJobArn = &v + return s } -// SetAgentArn sets the AgentArn field's value. -func (s *DeleteAgentInput) SetAgentArn(v string) *DeleteAgentInput { - s.AgentArn = &v +// SetJobEndTime sets the JobEndTime field's value. +func (s *DescribeDiscoveryJobOutput) SetJobEndTime(v time.Time) *DescribeDiscoveryJobOutput { + s.JobEndTime = &v return s } -type DeleteAgentOutput struct { - _ struct{} `type:"structure"` +// SetJobStartTime sets the JobStartTime field's value. +func (s *DescribeDiscoveryJobOutput) SetJobStartTime(v time.Time) *DescribeDiscoveryJobOutput { + s.JobStartTime = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteAgentOutput) String() string { - return awsutil.Prettify(s) +// SetStatus sets the Status field's value. +func (s *DescribeDiscoveryJobOutput) SetStatus(v string) *DescribeDiscoveryJobOutput { + s.Status = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteAgentOutput) GoString() string { - return s.String() +// SetStorageSystemArn sets the StorageSystemArn field's value. +func (s *DescribeDiscoveryJobOutput) SetStorageSystemArn(v string) *DescribeDiscoveryJobOutput { + s.StorageSystemArn = &v + return s } -// DeleteLocation -type DeleteLocationInput struct { +// DescribeLocationEfsRequest +type DescribeLocationEfsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the location to delete. + // The Amazon Resource Name (ARN) of the Amazon EFS file system location that + // you want information about. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -6416,7 +8507,7 @@ type DeleteLocationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteLocationInput) String() string { +func (s DescribeLocationEfsInput) String() string { return awsutil.Prettify(s) } @@ -6425,13 +8516,13 @@ func (s DeleteLocationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteLocationInput) GoString() string { +func (s DescribeLocationEfsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteLocationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteLocationInput"} +func (s *DescribeLocationEfsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationEfsInput"} if s.LocationArn == nil { invalidParams.Add(request.NewErrParamRequired("LocationArn")) } @@ -6443,13 +8534,39 @@ func (s *DeleteLocationInput) Validate() error { } // SetLocationArn sets the LocationArn field's value. -func (s *DeleteLocationInput) SetLocationArn(v string) *DeleteLocationInput { +func (s *DescribeLocationEfsInput) SetLocationArn(v string) *DescribeLocationEfsInput { s.LocationArn = &v return s } -type DeleteLocationOutput struct { +// DescribeLocationEfsResponse +type DescribeLocationEfsOutput struct { _ struct{} `type:"structure"` + + // The ARN of the access point that DataSync uses to access the Amazon EFS file + // system. + AccessPointArn *string `type:"string"` + + // The time that the location was created. + CreationTime *time.Time `type:"timestamp"` + + // The subnet and security groups that DataSync uses to access your Amazon EFS + // file system. + Ec2Config *Ec2Config `type:"structure"` + + // The Identity and Access Management (IAM) role that DataSync assumes when + // mounting the Amazon EFS file system. + FileSystemAccessRoleArn *string `type:"string"` + + // Describes whether DataSync uses Transport Layer Security (TLS) encryption + // when copying data to or from the Amazon EFS file system. + InTransitEncryption *string `type:"string" enum:"EfsInTransitEncryption"` + + // The ARN of the Amazon EFS file system location. + LocationArn *string `type:"string"` + + // The URL of the Amazon EFS file system location. + LocationUri *string `type:"string"` } // String returns the string representation. @@ -6457,27 +8574,68 @@ type DeleteLocationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteLocationOutput) String() string { +func (s DescribeLocationEfsOutput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteLocationOutput) GoString() string { - return s.String() +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeLocationEfsOutput) GoString() string { + return s.String() +} + +// SetAccessPointArn sets the AccessPointArn field's value. +func (s *DescribeLocationEfsOutput) SetAccessPointArn(v string) *DescribeLocationEfsOutput { + s.AccessPointArn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeLocationEfsOutput) SetCreationTime(v time.Time) *DescribeLocationEfsOutput { + s.CreationTime = &v + return s +} + +// SetEc2Config sets the Ec2Config field's value. +func (s *DescribeLocationEfsOutput) SetEc2Config(v *Ec2Config) *DescribeLocationEfsOutput { + s.Ec2Config = v + return s +} + +// SetFileSystemAccessRoleArn sets the FileSystemAccessRoleArn field's value. +func (s *DescribeLocationEfsOutput) SetFileSystemAccessRoleArn(v string) *DescribeLocationEfsOutput { + s.FileSystemAccessRoleArn = &v + return s +} + +// SetInTransitEncryption sets the InTransitEncryption field's value. +func (s *DescribeLocationEfsOutput) SetInTransitEncryption(v string) *DescribeLocationEfsOutput { + s.InTransitEncryption = &v + return s +} + +// SetLocationArn sets the LocationArn field's value. +func (s *DescribeLocationEfsOutput) SetLocationArn(v string) *DescribeLocationEfsOutput { + s.LocationArn = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *DescribeLocationEfsOutput) SetLocationUri(v string) *DescribeLocationEfsOutput { + s.LocationUri = &v + return s } -// DeleteTask -type DeleteTaskInput struct { +type DescribeLocationFsxLustreInput struct { _ struct{} `type:"structure"` - // Specifies the Amazon Resource Name (ARN) of the task that you want to delete. + // The Amazon Resource Name (ARN) of the FSx for Lustre location to describe. // - // TaskArn is a required field - TaskArn *string `type:"string" required:"true"` + // LocationArn is a required field + LocationArn *string `type:"string" required:"true"` } // String returns the string representation. @@ -6485,7 +8643,7 @@ type DeleteTaskInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTaskInput) String() string { +func (s DescribeLocationFsxLustreInput) String() string { return awsutil.Prettify(s) } @@ -6494,15 +8652,15 @@ func (s DeleteTaskInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTaskInput) GoString() string { +func (s DescribeLocationFsxLustreInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTaskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTaskInput"} - if s.TaskArn == nil { - invalidParams.Add(request.NewErrParamRequired("TaskArn")) +func (s *DescribeLocationFsxLustreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxLustreInput"} + if s.LocationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LocationArn")) } if invalidParams.Len() > 0 { @@ -6511,14 +8669,27 @@ func (s *DeleteTaskInput) Validate() error { return nil } -// SetTaskArn sets the TaskArn field's value. -func (s *DeleteTaskInput) SetTaskArn(v string) *DeleteTaskInput { - s.TaskArn = &v +// SetLocationArn sets the LocationArn field's value. +func (s *DescribeLocationFsxLustreInput) SetLocationArn(v string) *DescribeLocationFsxLustreInput { + s.LocationArn = &v return s } -type DeleteTaskOutput struct { +type DescribeLocationFsxLustreOutput struct { _ struct{} `type:"structure"` + + // The time that the FSx for Lustre location was created. + CreationTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the FSx for Lustre location that was described. + LocationArn *string `type:"string"` + + // The URI of the FSx for Lustre location that was described. + LocationUri *string `type:"string"` + + // The Amazon Resource Names (ARNs) of the security groups that are configured + // for the FSx for Lustre file system. + SecurityGroupArns []*string `min:"1" type:"list"` } // String returns the string representation. @@ -6526,7 +8697,7 @@ type DeleteTaskOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTaskOutput) String() string { +func (s DescribeLocationFsxLustreOutput) String() string { return awsutil.Prettify(s) } @@ -6535,18 +8706,42 @@ func (s DeleteTaskOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteTaskOutput) GoString() string { +func (s DescribeLocationFsxLustreOutput) GoString() string { return s.String() } -// DescribeAgent -type DescribeAgentInput struct { +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeLocationFsxLustreOutput) SetCreationTime(v time.Time) *DescribeLocationFsxLustreOutput { + s.CreationTime = &v + return s +} + +// SetLocationArn sets the LocationArn field's value. +func (s *DescribeLocationFsxLustreOutput) SetLocationArn(v string) *DescribeLocationFsxLustreOutput { + s.LocationArn = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *DescribeLocationFsxLustreOutput) SetLocationUri(v string) *DescribeLocationFsxLustreOutput { + s.LocationUri = &v + return s +} + +// SetSecurityGroupArns sets the SecurityGroupArns field's value. +func (s *DescribeLocationFsxLustreOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxLustreOutput { + s.SecurityGroupArns = v + return s +} + +type DescribeLocationFsxOntapInput struct { _ struct{} `type:"structure"` - // Specifies the Amazon Resource Name (ARN) of the DataSync agent to describe. + // Specifies the Amazon Resource Name (ARN) of the FSx for ONTAP file system + // location that you want information about. // - // AgentArn is a required field - AgentArn *string `type:"string" required:"true"` + // LocationArn is a required field + LocationArn *string `type:"string" required:"true"` } // String returns the string representation. @@ -6554,7 +8749,7 @@ type DescribeAgentInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAgentInput) String() string { +func (s DescribeLocationFsxOntapInput) String() string { return awsutil.Prettify(s) } @@ -6563,15 +8758,15 @@ func (s DescribeAgentInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAgentInput) GoString() string { +func (s DescribeLocationFsxOntapInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAgentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAgentInput"} - if s.AgentArn == nil { - invalidParams.Add(request.NewErrParamRequired("AgentArn")) +func (s *DescribeLocationFsxOntapInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxOntapInput"} + if s.LocationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LocationArn")) } if invalidParams.Len() > 0 { @@ -6580,41 +8775,38 @@ func (s *DescribeAgentInput) Validate() error { return nil } -// SetAgentArn sets the AgentArn field's value. -func (s *DescribeAgentInput) SetAgentArn(v string) *DescribeAgentInput { - s.AgentArn = &v +// SetLocationArn sets the LocationArn field's value. +func (s *DescribeLocationFsxOntapInput) SetLocationArn(v string) *DescribeLocationFsxOntapInput { + s.LocationArn = &v return s } -// DescribeAgentResponse -type DescribeAgentOutput struct { +type DescribeLocationFsxOntapOutput struct { _ struct{} `type:"structure"` - // The ARN of the agent. - AgentArn *string `type:"string"` - - // The time that the agent was activated (that is, created in your account). + // The time that the location was created. CreationTime *time.Time `type:"timestamp"` - // The type of endpoint that your agent is connected to. If the endpoint is - // a VPC endpoint, the agent is not accessible over the public internet. - EndpointType *string `type:"string" enum:"EndpointType"` + // The ARN of the FSx for ONTAP file system. + FsxFilesystemArn *string `type:"string"` - // The time that the agent last connected to DataSync. - LastConnectionTime *time.Time `type:"timestamp"` + // The ARN of the FSx for ONTAP file system location. + LocationArn *string `type:"string"` - // The name of the agent. - Name *string `min:"1" type:"string"` + // The uniform resource identifier (URI) of the FSx for ONTAP file system location. + LocationUri *string `type:"string"` - // The subnet and the security group that DataSync used to access a VPC endpoint. - PrivateLinkConfig *PrivateLinkConfig `type:"structure"` + // Specifies the data transfer protocol that DataSync uses to access your Amazon + // FSx file system. + Protocol *FsxProtocol `type:"structure"` - // The status of the agent. If the status is ONLINE, then the agent is configured - // properly and is available to use. The Running status is the normal running - // status for an agent. If the status is OFFLINE, the agent's VM is turned off - // or the agent is in an unhealthy state. When the issue that caused the unhealthy - // state is resolved, the agent returns to ONLINE status. - Status *string `type:"string" enum:"AgentStatus"` + // The security groups that DataSync uses to access your FSx for ONTAP file + // system. + SecurityGroupArns []*string `min:"1" type:"list"` + + // The ARN of the storage virtual machine (SVM) on your FSx for ONTAP file system + // where you're copying data to or from. + StorageVirtualMachineArn *string `type:"string"` } // String returns the string representation. @@ -6622,7 +8814,7 @@ type DescribeAgentOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAgentOutput) String() string { +func (s DescribeLocationFsxOntapOutput) String() string { return awsutil.Prettify(s) } @@ -6631,58 +8823,56 @@ func (s DescribeAgentOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAgentOutput) GoString() string { +func (s DescribeLocationFsxOntapOutput) GoString() string { return s.String() } -// SetAgentArn sets the AgentArn field's value. -func (s *DescribeAgentOutput) SetAgentArn(v string) *DescribeAgentOutput { - s.AgentArn = &v +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeLocationFsxOntapOutput) SetCreationTime(v time.Time) *DescribeLocationFsxOntapOutput { + s.CreationTime = &v return s } -// SetCreationTime sets the CreationTime field's value. -func (s *DescribeAgentOutput) SetCreationTime(v time.Time) *DescribeAgentOutput { - s.CreationTime = &v +// SetFsxFilesystemArn sets the FsxFilesystemArn field's value. +func (s *DescribeLocationFsxOntapOutput) SetFsxFilesystemArn(v string) *DescribeLocationFsxOntapOutput { + s.FsxFilesystemArn = &v return s } -// SetEndpointType sets the EndpointType field's value. -func (s *DescribeAgentOutput) SetEndpointType(v string) *DescribeAgentOutput { - s.EndpointType = &v +// SetLocationArn sets the LocationArn field's value. +func (s *DescribeLocationFsxOntapOutput) SetLocationArn(v string) *DescribeLocationFsxOntapOutput { + s.LocationArn = &v return s } -// SetLastConnectionTime sets the LastConnectionTime field's value. -func (s *DescribeAgentOutput) SetLastConnectionTime(v time.Time) *DescribeAgentOutput { - s.LastConnectionTime = &v +// SetLocationUri sets the LocationUri field's value. +func (s *DescribeLocationFsxOntapOutput) SetLocationUri(v string) *DescribeLocationFsxOntapOutput { + s.LocationUri = &v return s } -// SetName sets the Name field's value. -func (s *DescribeAgentOutput) SetName(v string) *DescribeAgentOutput { - s.Name = &v +// SetProtocol sets the Protocol field's value. +func (s *DescribeLocationFsxOntapOutput) SetProtocol(v *FsxProtocol) *DescribeLocationFsxOntapOutput { + s.Protocol = v return s } -// SetPrivateLinkConfig sets the PrivateLinkConfig field's value. -func (s *DescribeAgentOutput) SetPrivateLinkConfig(v *PrivateLinkConfig) *DescribeAgentOutput { - s.PrivateLinkConfig = v +// SetSecurityGroupArns sets the SecurityGroupArns field's value. +func (s *DescribeLocationFsxOntapOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxOntapOutput { + s.SecurityGroupArns = v return s } -// SetStatus sets the Status field's value. -func (s *DescribeAgentOutput) SetStatus(v string) *DescribeAgentOutput { - s.Status = &v +// SetStorageVirtualMachineArn sets the StorageVirtualMachineArn field's value. +func (s *DescribeLocationFsxOntapOutput) SetStorageVirtualMachineArn(v string) *DescribeLocationFsxOntapOutput { + s.StorageVirtualMachineArn = &v return s } -// DescribeLocationEfsRequest -type DescribeLocationEfsInput struct { +type DescribeLocationFsxOpenZfsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Amazon EFS file system location that - // you want information about. + // The Amazon Resource Name (ARN) of the FSx for OpenZFS location to describe. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -6693,7 +8883,7 @@ type DescribeLocationEfsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationEfsInput) String() string { +func (s DescribeLocationFsxOpenZfsInput) String() string { return awsutil.Prettify(s) } @@ -6702,13 +8892,13 @@ func (s DescribeLocationEfsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationEfsInput) GoString() string { +func (s DescribeLocationFsxOpenZfsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeLocationEfsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeLocationEfsInput"} +func (s *DescribeLocationFsxOpenZfsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxOpenZfsInput"} if s.LocationArn == nil { invalidParams.Add(request.NewErrParamRequired("LocationArn")) } @@ -6720,39 +8910,32 @@ func (s *DescribeLocationEfsInput) Validate() error { } // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationEfsInput) SetLocationArn(v string) *DescribeLocationEfsInput { +func (s *DescribeLocationFsxOpenZfsInput) SetLocationArn(v string) *DescribeLocationFsxOpenZfsInput { s.LocationArn = &v return s } -// DescribeLocationEfsResponse -type DescribeLocationEfsOutput struct { +type DescribeLocationFsxOpenZfsOutput struct { _ struct{} `type:"structure"` - // The ARN of the access point that DataSync uses to access the Amazon EFS file - // system. - AccessPointArn *string `type:"string"` - - // The time that the location was created. + // The time that the FSx for OpenZFS location was created. CreationTime *time.Time `type:"timestamp"` - // The subnet and security groups that DataSync uses to access your Amazon EFS - // file system. - Ec2Config *Ec2Config `type:"structure"` - - // The Identity and Access Management (IAM) role that DataSync assumes when - // mounting the Amazon EFS file system. - FileSystemAccessRoleArn *string `type:"string"` - - // Describes whether DataSync uses Transport Layer Security (TLS) encryption - // when copying data to or from the Amazon EFS file system. - InTransitEncryption *string `type:"string" enum:"EfsInTransitEncryption"` - - // The ARN of the Amazon EFS file system location. + // The ARN of the FSx for OpenZFS location that was described. LocationArn *string `type:"string"` - // The URL of the Amazon EFS file system location. + // The uniform resource identifier (URI) of the FSx for OpenZFS location that + // was described. + // + // Example: fsxz://us-west-2.fs-1234567890abcdef02/fsx/folderA/folder LocationUri *string `type:"string"` + + // The type of protocol that DataSync uses to access your file system. + Protocol *FsxProtocol `type:"structure"` + + // The ARNs of the security groups that are configured for the FSx for OpenZFS + // file system. + SecurityGroupArns []*string `min:"1" type:"list"` } // String returns the string representation. @@ -6760,7 +8943,7 @@ type DescribeLocationEfsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationEfsOutput) String() string { +func (s DescribeLocationFsxOpenZfsOutput) String() string { return awsutil.Prettify(s) } @@ -6769,56 +8952,45 @@ func (s DescribeLocationEfsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationEfsOutput) GoString() string { - return s.String() -} - -// SetAccessPointArn sets the AccessPointArn field's value. -func (s *DescribeLocationEfsOutput) SetAccessPointArn(v string) *DescribeLocationEfsOutput { - s.AccessPointArn = &v - return s +func (s DescribeLocationFsxOpenZfsOutput) GoString() string { + return s.String() } // SetCreationTime sets the CreationTime field's value. -func (s *DescribeLocationEfsOutput) SetCreationTime(v time.Time) *DescribeLocationEfsOutput { +func (s *DescribeLocationFsxOpenZfsOutput) SetCreationTime(v time.Time) *DescribeLocationFsxOpenZfsOutput { s.CreationTime = &v return s } -// SetEc2Config sets the Ec2Config field's value. -func (s *DescribeLocationEfsOutput) SetEc2Config(v *Ec2Config) *DescribeLocationEfsOutput { - s.Ec2Config = v - return s -} - -// SetFileSystemAccessRoleArn sets the FileSystemAccessRoleArn field's value. -func (s *DescribeLocationEfsOutput) SetFileSystemAccessRoleArn(v string) *DescribeLocationEfsOutput { - s.FileSystemAccessRoleArn = &v +// SetLocationArn sets the LocationArn field's value. +func (s *DescribeLocationFsxOpenZfsOutput) SetLocationArn(v string) *DescribeLocationFsxOpenZfsOutput { + s.LocationArn = &v return s } -// SetInTransitEncryption sets the InTransitEncryption field's value. -func (s *DescribeLocationEfsOutput) SetInTransitEncryption(v string) *DescribeLocationEfsOutput { - s.InTransitEncryption = &v +// SetLocationUri sets the LocationUri field's value. +func (s *DescribeLocationFsxOpenZfsOutput) SetLocationUri(v string) *DescribeLocationFsxOpenZfsOutput { + s.LocationUri = &v return s } -// SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationEfsOutput) SetLocationArn(v string) *DescribeLocationEfsOutput { - s.LocationArn = &v +// SetProtocol sets the Protocol field's value. +func (s *DescribeLocationFsxOpenZfsOutput) SetProtocol(v *FsxProtocol) *DescribeLocationFsxOpenZfsOutput { + s.Protocol = v return s } -// SetLocationUri sets the LocationUri field's value. -func (s *DescribeLocationEfsOutput) SetLocationUri(v string) *DescribeLocationEfsOutput { - s.LocationUri = &v +// SetSecurityGroupArns sets the SecurityGroupArns field's value. +func (s *DescribeLocationFsxOpenZfsOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxOpenZfsOutput { + s.SecurityGroupArns = v return s } -type DescribeLocationFsxLustreInput struct { +type DescribeLocationFsxWindowsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the FSx for Lustre location to describe. + // The Amazon Resource Name (ARN) of the FSx for Windows File Server location + // to describe. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -6829,7 +9001,7 @@ type DescribeLocationFsxLustreInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxLustreInput) String() string { +func (s DescribeLocationFsxWindowsInput) String() string { return awsutil.Prettify(s) } @@ -6838,13 +9010,13 @@ func (s DescribeLocationFsxLustreInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxLustreInput) GoString() string { +func (s DescribeLocationFsxWindowsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeLocationFsxLustreInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxLustreInput"} +func (s *DescribeLocationFsxWindowsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxWindowsInput"} if s.LocationArn == nil { invalidParams.Add(request.NewErrParamRequired("LocationArn")) } @@ -6856,26 +9028,35 @@ func (s *DescribeLocationFsxLustreInput) Validate() error { } // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationFsxLustreInput) SetLocationArn(v string) *DescribeLocationFsxLustreInput { +func (s *DescribeLocationFsxWindowsInput) SetLocationArn(v string) *DescribeLocationFsxWindowsInput { s.LocationArn = &v return s } -type DescribeLocationFsxLustreOutput struct { +type DescribeLocationFsxWindowsOutput struct { _ struct{} `type:"structure"` - // The time that the FSx for Lustre location was created. + // The time that the FSx for Windows File Server location was created. CreationTime *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the FSx for Lustre location that was described. + // The name of the Windows domain that the FSx for Windows File Server belongs + // to. + Domain *string `type:"string"` + + // The Amazon Resource Name (ARN) of the FSx for Windows File Server location + // that was described. LocationArn *string `type:"string"` - // The URI of the FSx for Lustre location that was described. + // The URL of the FSx for Windows File Server location that was described. LocationUri *string `type:"string"` // The Amazon Resource Names (ARNs) of the security groups that are configured - // for the FSx for Lustre file system. + // for the FSx for Windows File Server file system. SecurityGroupArns []*string `min:"1" type:"list"` + + // The user who has the permissions to access files and folders in the FSx for + // Windows File Server file system. + User *string `type:"string"` } // String returns the string representation. @@ -6883,7 +9064,7 @@ type DescribeLocationFsxLustreOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxLustreOutput) String() string { +func (s DescribeLocationFsxWindowsOutput) String() string { return awsutil.Prettify(s) } @@ -6892,39 +9073,50 @@ func (s DescribeLocationFsxLustreOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxLustreOutput) GoString() string { +func (s DescribeLocationFsxWindowsOutput) GoString() string { return s.String() } // SetCreationTime sets the CreationTime field's value. -func (s *DescribeLocationFsxLustreOutput) SetCreationTime(v time.Time) *DescribeLocationFsxLustreOutput { +func (s *DescribeLocationFsxWindowsOutput) SetCreationTime(v time.Time) *DescribeLocationFsxWindowsOutput { s.CreationTime = &v return s } +// SetDomain sets the Domain field's value. +func (s *DescribeLocationFsxWindowsOutput) SetDomain(v string) *DescribeLocationFsxWindowsOutput { + s.Domain = &v + return s +} + // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationFsxLustreOutput) SetLocationArn(v string) *DescribeLocationFsxLustreOutput { +func (s *DescribeLocationFsxWindowsOutput) SetLocationArn(v string) *DescribeLocationFsxWindowsOutput { s.LocationArn = &v return s } // SetLocationUri sets the LocationUri field's value. -func (s *DescribeLocationFsxLustreOutput) SetLocationUri(v string) *DescribeLocationFsxLustreOutput { +func (s *DescribeLocationFsxWindowsOutput) SetLocationUri(v string) *DescribeLocationFsxWindowsOutput { s.LocationUri = &v return s } // SetSecurityGroupArns sets the SecurityGroupArns field's value. -func (s *DescribeLocationFsxLustreOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxLustreOutput { +func (s *DescribeLocationFsxWindowsOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxWindowsOutput { s.SecurityGroupArns = v return s } -type DescribeLocationFsxOntapInput struct { +// SetUser sets the User field's value. +func (s *DescribeLocationFsxWindowsOutput) SetUser(v string) *DescribeLocationFsxWindowsOutput { + s.User = &v + return s +} + +type DescribeLocationHdfsInput struct { _ struct{} `type:"structure"` - // Specifies the Amazon Resource Name (ARN) of the FSx for ONTAP file system - // location that you want information about. + // The Amazon Resource Name (ARN) of the HDFS cluster location to describe. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -6935,7 +9127,7 @@ type DescribeLocationFsxOntapInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxOntapInput) String() string { +func (s DescribeLocationHdfsInput) String() string { return awsutil.Prettify(s) } @@ -6944,13 +9136,13 @@ func (s DescribeLocationFsxOntapInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxOntapInput) GoString() string { +func (s DescribeLocationHdfsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeLocationFsxOntapInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxOntapInput"} +func (s *DescribeLocationHdfsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationHdfsInput"} if s.LocationArn == nil { invalidParams.Add(request.NewErrParamRequired("LocationArn")) } @@ -6962,37 +9154,54 @@ func (s *DescribeLocationFsxOntapInput) Validate() error { } // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationFsxOntapInput) SetLocationArn(v string) *DescribeLocationFsxOntapInput { +func (s *DescribeLocationHdfsInput) SetLocationArn(v string) *DescribeLocationHdfsInput { s.LocationArn = &v return s } -type DescribeLocationFsxOntapOutput struct { +type DescribeLocationHdfsOutput struct { _ struct{} `type:"structure"` - // The time that the location was created. + // The ARNs of the agents that are used to connect to the HDFS cluster. + AgentArns []*string `min:"1" type:"list"` + + // The type of authentication used to determine the identity of the user. + AuthenticationType *string `type:"string" enum:"HdfsAuthenticationType"` + + // The size of the data blocks to write into the HDFS cluster. + BlockSize *int64 `min:"1.048576e+06" type:"integer"` + + // The time that the HDFS location was created. CreationTime *time.Time `type:"timestamp"` - // The ARN of the FSx for ONTAP file system. - FsxFilesystemArn *string `type:"string"` + // The Kerberos principal with access to the files and folders on the HDFS cluster. + // This parameter is used if the AuthenticationType is defined as KERBEROS. + KerberosPrincipal *string `min:"1" type:"string"` - // The ARN of the FSx for ONTAP file system location. + // The URI of the HDFS cluster's Key Management Server (KMS). + KmsKeyProviderUri *string `min:"1" type:"string"` + + // The ARN of the HDFS cluster location. LocationArn *string `type:"string"` - // The uniform resource identifier (URI) of the FSx for ONTAP file system location. + // The URI of the HDFS cluster location. LocationUri *string `type:"string"` - // Specifies the data transfer protocol that DataSync uses to access your Amazon - // FSx file system. - Protocol *FsxProtocol `type:"structure"` + // The NameNode that manage the HDFS namespace. + NameNodes []*HdfsNameNode `min:"1" type:"list"` - // The security groups that DataSync uses to access your FSx for ONTAP file - // system. - SecurityGroupArns []*string `min:"1" type:"list"` + // The Quality of Protection (QOP) configuration specifies the Remote Procedure + // Call (RPC) and data transfer protection settings configured on the Hadoop + // Distributed File System (HDFS) cluster. + QopConfiguration *QopConfiguration `type:"structure"` - // The ARN of the storage virtual machine (SVM) on your FSx for ONTAP file system - // where you're copying data to or from. - StorageVirtualMachineArn *string `type:"string"` + // The number of DataNodes to replicate the data to when writing to the HDFS + // cluster. + ReplicationFactor *int64 `min:"1" type:"integer"` + + // The user name used to identify the client on the host operating system. This + // parameter is used if the AuthenticationType is defined as SIMPLE. + SimpleUser *string `min:"1" type:"string"` } // String returns the string representation. @@ -7000,7 +9209,7 @@ type DescribeLocationFsxOntapOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxOntapOutput) String() string { +func (s DescribeLocationHdfsOutput) String() string { return awsutil.Prettify(s) } @@ -7009,56 +9218,87 @@ func (s DescribeLocationFsxOntapOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxOntapOutput) GoString() string { +func (s DescribeLocationHdfsOutput) GoString() string { return s.String() } +// SetAgentArns sets the AgentArns field's value. +func (s *DescribeLocationHdfsOutput) SetAgentArns(v []*string) *DescribeLocationHdfsOutput { + s.AgentArns = v + return s +} + +// SetAuthenticationType sets the AuthenticationType field's value. +func (s *DescribeLocationHdfsOutput) SetAuthenticationType(v string) *DescribeLocationHdfsOutput { + s.AuthenticationType = &v + return s +} + +// SetBlockSize sets the BlockSize field's value. +func (s *DescribeLocationHdfsOutput) SetBlockSize(v int64) *DescribeLocationHdfsOutput { + s.BlockSize = &v + return s +} + // SetCreationTime sets the CreationTime field's value. -func (s *DescribeLocationFsxOntapOutput) SetCreationTime(v time.Time) *DescribeLocationFsxOntapOutput { +func (s *DescribeLocationHdfsOutput) SetCreationTime(v time.Time) *DescribeLocationHdfsOutput { s.CreationTime = &v return s } -// SetFsxFilesystemArn sets the FsxFilesystemArn field's value. -func (s *DescribeLocationFsxOntapOutput) SetFsxFilesystemArn(v string) *DescribeLocationFsxOntapOutput { - s.FsxFilesystemArn = &v +// SetKerberosPrincipal sets the KerberosPrincipal field's value. +func (s *DescribeLocationHdfsOutput) SetKerberosPrincipal(v string) *DescribeLocationHdfsOutput { + s.KerberosPrincipal = &v + return s +} + +// SetKmsKeyProviderUri sets the KmsKeyProviderUri field's value. +func (s *DescribeLocationHdfsOutput) SetKmsKeyProviderUri(v string) *DescribeLocationHdfsOutput { + s.KmsKeyProviderUri = &v return s } // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationFsxOntapOutput) SetLocationArn(v string) *DescribeLocationFsxOntapOutput { +func (s *DescribeLocationHdfsOutput) SetLocationArn(v string) *DescribeLocationHdfsOutput { s.LocationArn = &v return s } // SetLocationUri sets the LocationUri field's value. -func (s *DescribeLocationFsxOntapOutput) SetLocationUri(v string) *DescribeLocationFsxOntapOutput { +func (s *DescribeLocationHdfsOutput) SetLocationUri(v string) *DescribeLocationHdfsOutput { s.LocationUri = &v return s } -// SetProtocol sets the Protocol field's value. -func (s *DescribeLocationFsxOntapOutput) SetProtocol(v *FsxProtocol) *DescribeLocationFsxOntapOutput { - s.Protocol = v +// SetNameNodes sets the NameNodes field's value. +func (s *DescribeLocationHdfsOutput) SetNameNodes(v []*HdfsNameNode) *DescribeLocationHdfsOutput { + s.NameNodes = v return s } -// SetSecurityGroupArns sets the SecurityGroupArns field's value. -func (s *DescribeLocationFsxOntapOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxOntapOutput { - s.SecurityGroupArns = v +// SetQopConfiguration sets the QopConfiguration field's value. +func (s *DescribeLocationHdfsOutput) SetQopConfiguration(v *QopConfiguration) *DescribeLocationHdfsOutput { + s.QopConfiguration = v return s } -// SetStorageVirtualMachineArn sets the StorageVirtualMachineArn field's value. -func (s *DescribeLocationFsxOntapOutput) SetStorageVirtualMachineArn(v string) *DescribeLocationFsxOntapOutput { - s.StorageVirtualMachineArn = &v +// SetReplicationFactor sets the ReplicationFactor field's value. +func (s *DescribeLocationHdfsOutput) SetReplicationFactor(v int64) *DescribeLocationHdfsOutput { + s.ReplicationFactor = &v return s } -type DescribeLocationFsxOpenZfsInput struct { +// SetSimpleUser sets the SimpleUser field's value. +func (s *DescribeLocationHdfsOutput) SetSimpleUser(v string) *DescribeLocationHdfsOutput { + s.SimpleUser = &v + return s +} + +// DescribeLocationNfsRequest +type DescribeLocationNfsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the FSx for OpenZFS location to describe. + // The Amazon Resource Name (ARN) of the NFS location to describe. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -7069,7 +9309,7 @@ type DescribeLocationFsxOpenZfsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxOpenZfsInput) String() string { +func (s DescribeLocationNfsInput) String() string { return awsutil.Prettify(s) } @@ -7078,13 +9318,13 @@ func (s DescribeLocationFsxOpenZfsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxOpenZfsInput) GoString() string { +func (s DescribeLocationNfsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeLocationFsxOpenZfsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxOpenZfsInput"} +func (s *DescribeLocationNfsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationNfsInput"} if s.LocationArn == nil { invalidParams.Add(request.NewErrParamRequired("LocationArn")) } @@ -7096,32 +9336,30 @@ func (s *DescribeLocationFsxOpenZfsInput) Validate() error { } // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationFsxOpenZfsInput) SetLocationArn(v string) *DescribeLocationFsxOpenZfsInput { +func (s *DescribeLocationNfsInput) SetLocationArn(v string) *DescribeLocationNfsInput { s.LocationArn = &v return s } -type DescribeLocationFsxOpenZfsOutput struct { +// DescribeLocationNfsResponse +type DescribeLocationNfsOutput struct { _ struct{} `type:"structure"` - // The time that the FSx for OpenZFS location was created. + // The time that the NFS location was created. CreationTime *time.Time `type:"timestamp"` - // The ARN of the FSx for OpenZFS location that was described. + // The Amazon Resource Name (ARN) of the NFS location that was described. LocationArn *string `type:"string"` - // The uniform resource identifier (URI) of the FSx for OpenZFS location that - // was described. - // - // Example: fsxz://us-west-2.fs-1234567890abcdef02/fsx/folderA/folder + // The URL of the source NFS location that was described. LocationUri *string `type:"string"` - // The type of protocol that DataSync uses to access your file system. - Protocol *FsxProtocol `type:"structure"` + // The NFS mount options that DataSync used to mount your NFS share. + MountOptions *NfsMountOptions `type:"structure"` - // The ARNs of the security groups that are configured for the FSx for OpenZFS - // file system. - SecurityGroupArns []*string `min:"1" type:"list"` + // A list of Amazon Resource Names (ARNs) of agents to use for a Network File + // System (NFS) location. + OnPremConfig *OnPremConfig `type:"structure"` } // String returns the string representation. @@ -7129,7 +9367,7 @@ type DescribeLocationFsxOpenZfsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxOpenZfsOutput) String() string { +func (s DescribeLocationNfsOutput) String() string { return awsutil.Prettify(s) } @@ -7138,45 +9376,46 @@ func (s DescribeLocationFsxOpenZfsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxOpenZfsOutput) GoString() string { +func (s DescribeLocationNfsOutput) GoString() string { return s.String() } // SetCreationTime sets the CreationTime field's value. -func (s *DescribeLocationFsxOpenZfsOutput) SetCreationTime(v time.Time) *DescribeLocationFsxOpenZfsOutput { +func (s *DescribeLocationNfsOutput) SetCreationTime(v time.Time) *DescribeLocationNfsOutput { s.CreationTime = &v return s } // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationFsxOpenZfsOutput) SetLocationArn(v string) *DescribeLocationFsxOpenZfsOutput { +func (s *DescribeLocationNfsOutput) SetLocationArn(v string) *DescribeLocationNfsOutput { s.LocationArn = &v return s } // SetLocationUri sets the LocationUri field's value. -func (s *DescribeLocationFsxOpenZfsOutput) SetLocationUri(v string) *DescribeLocationFsxOpenZfsOutput { +func (s *DescribeLocationNfsOutput) SetLocationUri(v string) *DescribeLocationNfsOutput { s.LocationUri = &v return s } -// SetProtocol sets the Protocol field's value. -func (s *DescribeLocationFsxOpenZfsOutput) SetProtocol(v *FsxProtocol) *DescribeLocationFsxOpenZfsOutput { - s.Protocol = v +// SetMountOptions sets the MountOptions field's value. +func (s *DescribeLocationNfsOutput) SetMountOptions(v *NfsMountOptions) *DescribeLocationNfsOutput { + s.MountOptions = v return s } -// SetSecurityGroupArns sets the SecurityGroupArns field's value. -func (s *DescribeLocationFsxOpenZfsOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxOpenZfsOutput { - s.SecurityGroupArns = v +// SetOnPremConfig sets the OnPremConfig field's value. +func (s *DescribeLocationNfsOutput) SetOnPremConfig(v *OnPremConfig) *DescribeLocationNfsOutput { + s.OnPremConfig = v return s } -type DescribeLocationFsxWindowsInput struct { +// DescribeLocationObjectStorageRequest +type DescribeLocationObjectStorageInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the FSx for Windows File Server location - // to describe. + // The Amazon Resource Name (ARN) of the object storage system location that + // you want information about. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -7187,7 +9426,7 @@ type DescribeLocationFsxWindowsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxWindowsInput) String() string { +func (s DescribeLocationObjectStorageInput) String() string { return awsutil.Prettify(s) } @@ -7196,13 +9435,13 @@ func (s DescribeLocationFsxWindowsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxWindowsInput) GoString() string { +func (s DescribeLocationObjectStorageInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeLocationFsxWindowsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeLocationFsxWindowsInput"} +func (s *DescribeLocationObjectStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationObjectStorageInput"} if s.LocationArn == nil { invalidParams.Add(request.NewErrParamRequired("LocationArn")) } @@ -7214,35 +9453,42 @@ func (s *DescribeLocationFsxWindowsInput) Validate() error { } // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationFsxWindowsInput) SetLocationArn(v string) *DescribeLocationFsxWindowsInput { +func (s *DescribeLocationObjectStorageInput) SetLocationArn(v string) *DescribeLocationObjectStorageInput { s.LocationArn = &v return s } -type DescribeLocationFsxWindowsOutput struct { +// DescribeLocationObjectStorageResponse +type DescribeLocationObjectStorageOutput struct { _ struct{} `type:"structure"` - // The time that the FSx for Windows File Server location was created. - CreationTime *time.Time `type:"timestamp"` + // The access key (for example, a user name) required to authenticate with the + // object storage system. + AccessKey *string `min:"1" type:"string"` - // The name of the Windows domain that the FSx for Windows File Server belongs - // to. - Domain *string `type:"string"` + // The ARNs of the DataSync agents that can securely connect with your location. + AgentArns []*string `min:"1" type:"list"` - // The Amazon Resource Name (ARN) of the FSx for Windows File Server location - // that was described. + // The time that the location was created. + CreationTime *time.Time `type:"timestamp"` + + // The ARN of the object storage system location. LocationArn *string `type:"string"` - // The URL of the FSx for Windows File Server location that was described. + // The URL of the object storage system location. LocationUri *string `type:"string"` - // The Amazon Resource Names (ARNs) of the security groups that are configured - // for the FSx for Windows File Server file system. - SecurityGroupArns []*string `min:"1" type:"list"` + // The self-signed certificate that DataSync uses to securely authenticate with + // your object storage system. + // ServerCertificate is automatically base64 encoded/decoded by the SDK. + ServerCertificate []byte `type:"blob"` - // The user who has the permissions to access files and folders in the FSx for - // Windows File Server file system. - User *string `type:"string"` + // The port that your object storage server accepts inbound network traffic + // on (for example, port 443). + ServerPort *int64 `min:"1" type:"integer"` + + // The protocol that your object storage system uses to communicate. + ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"` } // String returns the string representation. @@ -7250,7 +9496,7 @@ type DescribeLocationFsxWindowsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxWindowsOutput) String() string { +func (s DescribeLocationObjectStorageOutput) String() string { return awsutil.Prettify(s) } @@ -7259,50 +9505,63 @@ func (s DescribeLocationFsxWindowsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationFsxWindowsOutput) GoString() string { +func (s DescribeLocationObjectStorageOutput) GoString() string { return s.String() } -// SetCreationTime sets the CreationTime field's value. -func (s *DescribeLocationFsxWindowsOutput) SetCreationTime(v time.Time) *DescribeLocationFsxWindowsOutput { - s.CreationTime = &v +// SetAccessKey sets the AccessKey field's value. +func (s *DescribeLocationObjectStorageOutput) SetAccessKey(v string) *DescribeLocationObjectStorageOutput { + s.AccessKey = &v return s } -// SetDomain sets the Domain field's value. -func (s *DescribeLocationFsxWindowsOutput) SetDomain(v string) *DescribeLocationFsxWindowsOutput { - s.Domain = &v +// SetAgentArns sets the AgentArns field's value. +func (s *DescribeLocationObjectStorageOutput) SetAgentArns(v []*string) *DescribeLocationObjectStorageOutput { + s.AgentArns = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeLocationObjectStorageOutput) SetCreationTime(v time.Time) *DescribeLocationObjectStorageOutput { + s.CreationTime = &v return s } // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationFsxWindowsOutput) SetLocationArn(v string) *DescribeLocationFsxWindowsOutput { +func (s *DescribeLocationObjectStorageOutput) SetLocationArn(v string) *DescribeLocationObjectStorageOutput { s.LocationArn = &v return s } // SetLocationUri sets the LocationUri field's value. -func (s *DescribeLocationFsxWindowsOutput) SetLocationUri(v string) *DescribeLocationFsxWindowsOutput { +func (s *DescribeLocationObjectStorageOutput) SetLocationUri(v string) *DescribeLocationObjectStorageOutput { s.LocationUri = &v return s } -// SetSecurityGroupArns sets the SecurityGroupArns field's value. -func (s *DescribeLocationFsxWindowsOutput) SetSecurityGroupArns(v []*string) *DescribeLocationFsxWindowsOutput { - s.SecurityGroupArns = v +// SetServerCertificate sets the ServerCertificate field's value. +func (s *DescribeLocationObjectStorageOutput) SetServerCertificate(v []byte) *DescribeLocationObjectStorageOutput { + s.ServerCertificate = v return s } -// SetUser sets the User field's value. -func (s *DescribeLocationFsxWindowsOutput) SetUser(v string) *DescribeLocationFsxWindowsOutput { - s.User = &v +// SetServerPort sets the ServerPort field's value. +func (s *DescribeLocationObjectStorageOutput) SetServerPort(v int64) *DescribeLocationObjectStorageOutput { + s.ServerPort = &v return s } -type DescribeLocationHdfsInput struct { +// SetServerProtocol sets the ServerProtocol field's value. +func (s *DescribeLocationObjectStorageOutput) SetServerProtocol(v string) *DescribeLocationObjectStorageOutput { + s.ServerProtocol = &v + return s +} + +// DescribeLocationS3Request +type DescribeLocationS3Input struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the HDFS cluster location to describe. + // The Amazon Resource Name (ARN) of the Amazon S3 bucket location to describe. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -7313,7 +9572,7 @@ type DescribeLocationHdfsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationHdfsInput) String() string { +func (s DescribeLocationS3Input) String() string { return awsutil.Prettify(s) } @@ -7322,13 +9581,13 @@ func (s DescribeLocationHdfsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationHdfsInput) GoString() string { +func (s DescribeLocationS3Input) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeLocationHdfsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeLocationHdfsInput"} +func (s *DescribeLocationS3Input) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationS3Input"} if s.LocationArn == nil { invalidParams.Add(request.NewErrParamRequired("LocationArn")) } @@ -7340,54 +9599,44 @@ func (s *DescribeLocationHdfsInput) Validate() error { } // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationHdfsInput) SetLocationArn(v string) *DescribeLocationHdfsInput { +func (s *DescribeLocationS3Input) SetLocationArn(v string) *DescribeLocationS3Input { s.LocationArn = &v return s } -type DescribeLocationHdfsOutput struct { +// DescribeLocationS3Response +type DescribeLocationS3Output struct { _ struct{} `type:"structure"` - // The ARNs of the agents that are used to connect to the HDFS cluster. + // If you are using DataSync on an Amazon Web Services Outpost, the Amazon Resource + // Name (ARNs) of the EC2 agents deployed on your Outpost. For more information + // about launching a DataSync agent on an Amazon Web Services Outpost, see Deploy + // your DataSync agent on Outposts (https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent). AgentArns []*string `min:"1" type:"list"` - // The type of authentication used to determine the identity of the user. - AuthenticationType *string `type:"string" enum:"HdfsAuthenticationType"` - - // The size of the data blocks to write into the HDFS cluster. - BlockSize *int64 `min:"1.048576e+06" type:"integer"` - - // The time that the HDFS location was created. + // The time that the Amazon S3 bucket location was created. CreationTime *time.Time `type:"timestamp"` - // The Kerberos principal with access to the files and folders on the HDFS cluster. - // This parameter is used if the AuthenticationType is defined as KERBEROS. - KerberosPrincipal *string `min:"1" type:"string"` - - // The URI of the HDFS cluster's Key Management Server (KMS). - KmsKeyProviderUri *string `min:"1" type:"string"` - - // The ARN of the HDFS cluster location. + // The Amazon Resource Name (ARN) of the Amazon S3 bucket or access point. LocationArn *string `type:"string"` - // The URI of the HDFS cluster location. + // The URL of the Amazon S3 location that was described. LocationUri *string `type:"string"` - // The NameNode that manage the HDFS namespace. - NameNodes []*HdfsNameNode `min:"1" type:"list"` - - // The Quality of Protection (QOP) configuration specifies the Remote Procedure - // Call (RPC) and data transfer protection settings configured on the Hadoop - // Distributed File System (HDFS) cluster. - QopConfiguration *QopConfiguration `type:"structure"` - - // The number of DataNodes to replicate the data to when writing to the HDFS - // cluster. - ReplicationFactor *int64 `min:"1" type:"integer"` + // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) + // role used to access an Amazon S3 bucket. + // + // For detailed information about using such a role, see Creating a Location + // for Amazon S3 in the DataSync User Guide. + S3Config *S3Config `type:"structure"` - // The user name used to identify the client on the host operating system. This - // parameter is used if the AuthenticationType is defined as SIMPLE. - SimpleUser *string `min:"1" type:"string"` + // The Amazon S3 storage class that you chose to store your files in when this + // location is used as a task destination. For more information about S3 storage + // classes, see Amazon S3 Storage Classes (http://aws.amazon.com/s3/storage-classes/). + // Some storage classes have behaviors that can affect your S3 storage cost. + // For detailed information, see Considerations when working with S3 storage + // classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes). + S3StorageClass *string `type:"string" enum:"S3StorageClass"` } // String returns the string representation. @@ -7395,7 +9644,7 @@ type DescribeLocationHdfsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationHdfsOutput) String() string { +func (s DescribeLocationS3Output) String() string { return awsutil.Prettify(s) } @@ -7404,87 +9653,51 @@ func (s DescribeLocationHdfsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationHdfsOutput) GoString() string { +func (s DescribeLocationS3Output) GoString() string { return s.String() } // SetAgentArns sets the AgentArns field's value. -func (s *DescribeLocationHdfsOutput) SetAgentArns(v []*string) *DescribeLocationHdfsOutput { +func (s *DescribeLocationS3Output) SetAgentArns(v []*string) *DescribeLocationS3Output { s.AgentArns = v return s } -// SetAuthenticationType sets the AuthenticationType field's value. -func (s *DescribeLocationHdfsOutput) SetAuthenticationType(v string) *DescribeLocationHdfsOutput { - s.AuthenticationType = &v - return s -} - -// SetBlockSize sets the BlockSize field's value. -func (s *DescribeLocationHdfsOutput) SetBlockSize(v int64) *DescribeLocationHdfsOutput { - s.BlockSize = &v - return s -} - // SetCreationTime sets the CreationTime field's value. -func (s *DescribeLocationHdfsOutput) SetCreationTime(v time.Time) *DescribeLocationHdfsOutput { +func (s *DescribeLocationS3Output) SetCreationTime(v time.Time) *DescribeLocationS3Output { s.CreationTime = &v return s } -// SetKerberosPrincipal sets the KerberosPrincipal field's value. -func (s *DescribeLocationHdfsOutput) SetKerberosPrincipal(v string) *DescribeLocationHdfsOutput { - s.KerberosPrincipal = &v - return s -} - -// SetKmsKeyProviderUri sets the KmsKeyProviderUri field's value. -func (s *DescribeLocationHdfsOutput) SetKmsKeyProviderUri(v string) *DescribeLocationHdfsOutput { - s.KmsKeyProviderUri = &v - return s -} - // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationHdfsOutput) SetLocationArn(v string) *DescribeLocationHdfsOutput { +func (s *DescribeLocationS3Output) SetLocationArn(v string) *DescribeLocationS3Output { s.LocationArn = &v return s } // SetLocationUri sets the LocationUri field's value. -func (s *DescribeLocationHdfsOutput) SetLocationUri(v string) *DescribeLocationHdfsOutput { +func (s *DescribeLocationS3Output) SetLocationUri(v string) *DescribeLocationS3Output { s.LocationUri = &v return s } -// SetNameNodes sets the NameNodes field's value. -func (s *DescribeLocationHdfsOutput) SetNameNodes(v []*HdfsNameNode) *DescribeLocationHdfsOutput { - s.NameNodes = v - return s -} - -// SetQopConfiguration sets the QopConfiguration field's value. -func (s *DescribeLocationHdfsOutput) SetQopConfiguration(v *QopConfiguration) *DescribeLocationHdfsOutput { - s.QopConfiguration = v - return s -} - -// SetReplicationFactor sets the ReplicationFactor field's value. -func (s *DescribeLocationHdfsOutput) SetReplicationFactor(v int64) *DescribeLocationHdfsOutput { - s.ReplicationFactor = &v +// SetS3Config sets the S3Config field's value. +func (s *DescribeLocationS3Output) SetS3Config(v *S3Config) *DescribeLocationS3Output { + s.S3Config = v return s } -// SetSimpleUser sets the SimpleUser field's value. -func (s *DescribeLocationHdfsOutput) SetSimpleUser(v string) *DescribeLocationHdfsOutput { - s.SimpleUser = &v +// SetS3StorageClass sets the S3StorageClass field's value. +func (s *DescribeLocationS3Output) SetS3StorageClass(v string) *DescribeLocationS3Output { + s.S3StorageClass = &v return s } -// DescribeLocationNfsRequest -type DescribeLocationNfsInput struct { +// DescribeLocationSmbRequest +type DescribeLocationSmbInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the NFS location to describe. + // The Amazon Resource Name (ARN) of the SMB location to describe. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -7495,7 +9708,7 @@ type DescribeLocationNfsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationNfsInput) String() string { +func (s DescribeLocationSmbInput) String() string { return awsutil.Prettify(s) } @@ -7504,13 +9717,13 @@ func (s DescribeLocationNfsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationNfsInput) GoString() string { +func (s DescribeLocationSmbInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeLocationNfsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeLocationNfsInput"} +func (s *DescribeLocationSmbInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationSmbInput"} if s.LocationArn == nil { invalidParams.Add(request.NewErrParamRequired("LocationArn")) } @@ -7522,30 +9735,38 @@ func (s *DescribeLocationNfsInput) Validate() error { } // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationNfsInput) SetLocationArn(v string) *DescribeLocationNfsInput { +func (s *DescribeLocationSmbInput) SetLocationArn(v string) *DescribeLocationSmbInput { s.LocationArn = &v return s } -// DescribeLocationNfsResponse -type DescribeLocationNfsOutput struct { +// DescribeLocationSmbResponse +type DescribeLocationSmbOutput struct { _ struct{} `type:"structure"` - // The time that the NFS location was created. + // The Amazon Resource Name (ARN) of the source SMB file system location that + // is created. + AgentArns []*string `min:"1" type:"list"` + + // The time that the SMB location was created. CreationTime *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the NFS location that was described. + // The name of the Windows domain that the SMB server belongs to. + Domain *string `type:"string"` + + // The Amazon Resource Name (ARN) of the SMB location that was described. LocationArn *string `type:"string"` - // The URL of the source NFS location that was described. + // The URL of the source SMB location that was described. LocationUri *string `type:"string"` - // The NFS mount options that DataSync used to mount your NFS share. - MountOptions *NfsMountOptions `type:"structure"` + // The mount options that are available for DataSync to use to access an SMB + // location. + MountOptions *SmbMountOptions `type:"structure"` - // A list of Amazon Resource Names (ARNs) of agents to use for a Network File - // System (NFS) location. - OnPremConfig *OnPremConfig `type:"structure"` + // The user who can mount the share, has the permissions to access files and + // folders in the SMB share. + User *string `type:"string"` } // String returns the string representation. @@ -7553,7 +9774,7 @@ type DescribeLocationNfsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationNfsOutput) String() string { +func (s DescribeLocationSmbOutput) String() string { return awsutil.Prettify(s) } @@ -7562,49 +9783,60 @@ func (s DescribeLocationNfsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationNfsOutput) GoString() string { +func (s DescribeLocationSmbOutput) GoString() string { return s.String() } +// SetAgentArns sets the AgentArns field's value. +func (s *DescribeLocationSmbOutput) SetAgentArns(v []*string) *DescribeLocationSmbOutput { + s.AgentArns = v + return s +} + // SetCreationTime sets the CreationTime field's value. -func (s *DescribeLocationNfsOutput) SetCreationTime(v time.Time) *DescribeLocationNfsOutput { +func (s *DescribeLocationSmbOutput) SetCreationTime(v time.Time) *DescribeLocationSmbOutput { s.CreationTime = &v return s } +// SetDomain sets the Domain field's value. +func (s *DescribeLocationSmbOutput) SetDomain(v string) *DescribeLocationSmbOutput { + s.Domain = &v + return s +} + // SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationNfsOutput) SetLocationArn(v string) *DescribeLocationNfsOutput { +func (s *DescribeLocationSmbOutput) SetLocationArn(v string) *DescribeLocationSmbOutput { s.LocationArn = &v return s } // SetLocationUri sets the LocationUri field's value. -func (s *DescribeLocationNfsOutput) SetLocationUri(v string) *DescribeLocationNfsOutput { +func (s *DescribeLocationSmbOutput) SetLocationUri(v string) *DescribeLocationSmbOutput { s.LocationUri = &v return s } // SetMountOptions sets the MountOptions field's value. -func (s *DescribeLocationNfsOutput) SetMountOptions(v *NfsMountOptions) *DescribeLocationNfsOutput { +func (s *DescribeLocationSmbOutput) SetMountOptions(v *SmbMountOptions) *DescribeLocationSmbOutput { s.MountOptions = v return s } -// SetOnPremConfig sets the OnPremConfig field's value. -func (s *DescribeLocationNfsOutput) SetOnPremConfig(v *OnPremConfig) *DescribeLocationNfsOutput { - s.OnPremConfig = v +// SetUser sets the User field's value. +func (s *DescribeLocationSmbOutput) SetUser(v string) *DescribeLocationSmbOutput { + s.User = &v return s } -// DescribeLocationObjectStorageRequest -type DescribeLocationObjectStorageInput struct { +type DescribeStorageSystemInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the object storage system location that - // you want information about. + // Specifies the Amazon Resource Name (ARN) of an on-premises storage system + // that you're using with DataSync Discovery. // - // LocationArn is a required field - LocationArn *string `type:"string" required:"true"` + // StorageSystemArn is a required field + StorageSystemArn *string `type:"string" required:"true"` } // String returns the string representation. @@ -7612,7 +9844,7 @@ type DescribeLocationObjectStorageInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationObjectStorageInput) String() string { +func (s DescribeStorageSystemInput) String() string { return awsutil.Prettify(s) } @@ -7621,15 +9853,15 @@ func (s DescribeLocationObjectStorageInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationObjectStorageInput) GoString() string { +func (s DescribeStorageSystemInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeLocationObjectStorageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeLocationObjectStorageInput"} - if s.LocationArn == nil { - invalidParams.Add(request.NewErrParamRequired("LocationArn")) +func (s *DescribeStorageSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStorageSystemInput"} + if s.StorageSystemArn == nil { + invalidParams.Add(request.NewErrParamRequired("StorageSystemArn")) } if invalidParams.Len() > 0 { @@ -7638,43 +9870,54 @@ func (s *DescribeLocationObjectStorageInput) Validate() error { return nil } -// SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationObjectStorageInput) SetLocationArn(v string) *DescribeLocationObjectStorageInput { - s.LocationArn = &v +// SetStorageSystemArn sets the StorageSystemArn field's value. +func (s *DescribeStorageSystemInput) SetStorageSystemArn(v string) *DescribeStorageSystemInput { + s.StorageSystemArn = &v return s } -// DescribeLocationObjectStorageResponse -type DescribeLocationObjectStorageOutput struct { +type DescribeStorageSystemOutput struct { _ struct{} `type:"structure"` - // The access key (for example, a user name) required to authenticate with the - // object storage system. - AccessKey *string `min:"1" type:"string"` - - // The ARNs of the DataSync agents that can securely connect with your location. + // The ARN of the DataSync agent that connects to and reads from your on-premises + // storage system. AgentArns []*string `min:"1" type:"list"` - // The time that the location was created. + // The ARN of the Amazon CloudWatch log group that's used to monitor and log + // discovery job events. + CloudWatchLogGroupArn *string `type:"string"` + + // Indicates whether your DataSync agent can connect to your on-premises storage + // system. + ConnectivityStatus *string `type:"string" enum:"StorageSystemConnectivityStatus"` + + // The time when you added the on-premises storage system to DataSync Discovery. CreationTime *time.Time `type:"timestamp"` - // The ARN of the object storage system location. - LocationArn *string `type:"string"` + // Describes the connectivity error that the DataSync agent is encountering + // with your on-premises storage system. + ErrorMessage *string `type:"string"` - // The URL of the object storage system location. - LocationUri *string `type:"string"` + // The name that you gave your on-premises storage system when adding it to + // DataSync Discovery. + Name *string `min:"1" type:"string"` - // The self-signed certificate that DataSync uses to securely authenticate with - // your object storage system. - // ServerCertificate is automatically base64 encoded/decoded by the SDK. - ServerCertificate []byte `type:"blob"` + // The ARN of the secret that stores your on-premises storage system's credentials. + // DataSync Discovery stores these credentials in Secrets Manager (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-configure-storage.html#discovery-add-storage). + SecretsManagerArn *string `type:"string"` - // The port that your object storage server accepts inbound network traffic - // on (for example, port 443). - ServerPort *int64 `min:"1" type:"integer"` + // The server name and network port required to connect with your on-premises + // storage system's management interface. + ServerConfiguration *DiscoveryServerConfiguration `type:"structure"` - // The protocol that your object storage system uses to communicate. - ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"` + // The ARN of the on-premises storage system that the discovery job looked at. + StorageSystemArn *string `type:"string"` + + // The type of on-premises storage system. + // + // DataSync Discovery currently only supports NetApp Fabric-Attached Storage + // (FAS) and All Flash FAS (AFF) systems running ONTAP 9.7 or later. + SystemType *string `type:"string" enum:"DiscoverySystemType"` } // String returns the string representation. @@ -7682,7 +9925,7 @@ type DescribeLocationObjectStorageOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationObjectStorageOutput) String() string { +func (s DescribeStorageSystemOutput) String() string { return awsutil.Prettify(s) } @@ -7691,66 +9934,106 @@ func (s DescribeLocationObjectStorageOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationObjectStorageOutput) GoString() string { +func (s DescribeStorageSystemOutput) GoString() string { return s.String() } -// SetAccessKey sets the AccessKey field's value. -func (s *DescribeLocationObjectStorageOutput) SetAccessKey(v string) *DescribeLocationObjectStorageOutput { - s.AccessKey = &v +// SetAgentArns sets the AgentArns field's value. +func (s *DescribeStorageSystemOutput) SetAgentArns(v []*string) *DescribeStorageSystemOutput { + s.AgentArns = v return s } -// SetAgentArns sets the AgentArns field's value. -func (s *DescribeLocationObjectStorageOutput) SetAgentArns(v []*string) *DescribeLocationObjectStorageOutput { - s.AgentArns = v +// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value. +func (s *DescribeStorageSystemOutput) SetCloudWatchLogGroupArn(v string) *DescribeStorageSystemOutput { + s.CloudWatchLogGroupArn = &v + return s +} + +// SetConnectivityStatus sets the ConnectivityStatus field's value. +func (s *DescribeStorageSystemOutput) SetConnectivityStatus(v string) *DescribeStorageSystemOutput { + s.ConnectivityStatus = &v return s } // SetCreationTime sets the CreationTime field's value. -func (s *DescribeLocationObjectStorageOutput) SetCreationTime(v time.Time) *DescribeLocationObjectStorageOutput { +func (s *DescribeStorageSystemOutput) SetCreationTime(v time.Time) *DescribeStorageSystemOutput { s.CreationTime = &v return s } -// SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationObjectStorageOutput) SetLocationArn(v string) *DescribeLocationObjectStorageOutput { - s.LocationArn = &v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *DescribeStorageSystemOutput) SetErrorMessage(v string) *DescribeStorageSystemOutput { + s.ErrorMessage = &v return s } -// SetLocationUri sets the LocationUri field's value. -func (s *DescribeLocationObjectStorageOutput) SetLocationUri(v string) *DescribeLocationObjectStorageOutput { - s.LocationUri = &v +// SetName sets the Name field's value. +func (s *DescribeStorageSystemOutput) SetName(v string) *DescribeStorageSystemOutput { + s.Name = &v return s } -// SetServerCertificate sets the ServerCertificate field's value. -func (s *DescribeLocationObjectStorageOutput) SetServerCertificate(v []byte) *DescribeLocationObjectStorageOutput { - s.ServerCertificate = v +// SetSecretsManagerArn sets the SecretsManagerArn field's value. +func (s *DescribeStorageSystemOutput) SetSecretsManagerArn(v string) *DescribeStorageSystemOutput { + s.SecretsManagerArn = &v return s } -// SetServerPort sets the ServerPort field's value. -func (s *DescribeLocationObjectStorageOutput) SetServerPort(v int64) *DescribeLocationObjectStorageOutput { - s.ServerPort = &v +// SetServerConfiguration sets the ServerConfiguration field's value. +func (s *DescribeStorageSystemOutput) SetServerConfiguration(v *DiscoveryServerConfiguration) *DescribeStorageSystemOutput { + s.ServerConfiguration = v return s } -// SetServerProtocol sets the ServerProtocol field's value. -func (s *DescribeLocationObjectStorageOutput) SetServerProtocol(v string) *DescribeLocationObjectStorageOutput { - s.ServerProtocol = &v +// SetStorageSystemArn sets the StorageSystemArn field's value. +func (s *DescribeStorageSystemOutput) SetStorageSystemArn(v string) *DescribeStorageSystemOutput { + s.StorageSystemArn = &v return s } -// DescribeLocationS3Request -type DescribeLocationS3Input struct { +// SetSystemType sets the SystemType field's value. +func (s *DescribeStorageSystemOutput) SetSystemType(v string) *DescribeStorageSystemOutput { + s.SystemType = &v + return s +} + +type DescribeStorageSystemResourceMetricsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Amazon S3 bucket location to describe. + // Specifies the Amazon Resource Name (ARN) of the discovery job that collects + // information about your on-premises storage system. // - // LocationArn is a required field - LocationArn *string `type:"string" required:"true"` + // DiscoveryJobArn is a required field + DiscoveryJobArn *string `type:"string" required:"true"` + + // Specifies a time within the total duration that the discovery job ran. To + // see information gathered during a certain time frame, use this parameter + // with StartTime. + EndTime *time.Time `type:"timestamp"` + + // Specifies how many results that you want in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // Specifies an opaque string that indicates the position to begin the next + // list of results in the response. + NextToken *string `type:"string"` + + // Specifies the universally unique identifier (UUID) of the storage system + // resource that you want information about. + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // Specifies the kind of storage system resource that you want information about. + // + // ResourceType is a required field + ResourceType *string `type:"string" required:"true" enum:"DiscoveryResourceType"` + + // Specifies a time within the total duration that the discovery job ran. To + // see information gathered during a certain time frame, use this parameter + // with EndTime. + StartTime *time.Time `type:"timestamp"` } // String returns the string representation. @@ -7758,7 +10041,7 @@ type DescribeLocationS3Input struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationS3Input) String() string { +func (s DescribeStorageSystemResourceMetricsInput) String() string { return awsutil.Prettify(s) } @@ -7767,15 +10050,24 @@ func (s DescribeLocationS3Input) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationS3Input) GoString() string { +func (s DescribeStorageSystemResourceMetricsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeLocationS3Input) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeLocationS3Input"} - if s.LocationArn == nil { - invalidParams.Add(request.NewErrParamRequired("LocationArn")) +func (s *DescribeStorageSystemResourceMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStorageSystemResourceMetricsInput"} + if s.DiscoveryJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("DiscoveryJobArn")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) } if invalidParams.Len() > 0 { @@ -7784,45 +10076,57 @@ func (s *DescribeLocationS3Input) Validate() error { return nil } -// SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationS3Input) SetLocationArn(v string) *DescribeLocationS3Input { - s.LocationArn = &v +// SetDiscoveryJobArn sets the DiscoveryJobArn field's value. +func (s *DescribeStorageSystemResourceMetricsInput) SetDiscoveryJobArn(v string) *DescribeStorageSystemResourceMetricsInput { + s.DiscoveryJobArn = &v return s } -// DescribeLocationS3Response -type DescribeLocationS3Output struct { - _ struct{} `type:"structure"` +// SetEndTime sets the EndTime field's value. +func (s *DescribeStorageSystemResourceMetricsInput) SetEndTime(v time.Time) *DescribeStorageSystemResourceMetricsInput { + s.EndTime = &v + return s +} - // If you are using DataSync on an Amazon Web Services Outpost, the Amazon Resource - // Name (ARNs) of the EC2 agents deployed on your Outpost. For more information - // about launching a DataSync agent on an Amazon Web Services Outpost, see Deploy - // your DataSync agent on Outposts (https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#outposts-agent). - AgentArns []*string `min:"1" type:"list"` +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeStorageSystemResourceMetricsInput) SetMaxResults(v int64) *DescribeStorageSystemResourceMetricsInput { + s.MaxResults = &v + return s +} - // The time that the Amazon S3 bucket location was created. - CreationTime *time.Time `type:"timestamp"` +// SetNextToken sets the NextToken field's value. +func (s *DescribeStorageSystemResourceMetricsInput) SetNextToken(v string) *DescribeStorageSystemResourceMetricsInput { + s.NextToken = &v + return s +} - // The Amazon Resource Name (ARN) of the Amazon S3 bucket or access point. - LocationArn *string `type:"string"` +// SetResourceId sets the ResourceId field's value. +func (s *DescribeStorageSystemResourceMetricsInput) SetResourceId(v string) *DescribeStorageSystemResourceMetricsInput { + s.ResourceId = &v + return s +} - // The URL of the Amazon S3 location that was described. - LocationUri *string `type:"string"` +// SetResourceType sets the ResourceType field's value. +func (s *DescribeStorageSystemResourceMetricsInput) SetResourceType(v string) *DescribeStorageSystemResourceMetricsInput { + s.ResourceType = &v + return s +} - // The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) - // role used to access an Amazon S3 bucket. - // - // For detailed information about using such a role, see Creating a Location - // for Amazon S3 in the DataSync User Guide. - S3Config *S3Config `type:"structure"` +// SetStartTime sets the StartTime field's value. +func (s *DescribeStorageSystemResourceMetricsInput) SetStartTime(v time.Time) *DescribeStorageSystemResourceMetricsInput { + s.StartTime = &v + return s +} - // The Amazon S3 storage class that you chose to store your files in when this - // location is used as a task destination. For more information about S3 storage - // classes, see Amazon S3 Storage Classes (http://aws.amazon.com/s3/storage-classes/). - // Some storage classes have behaviors that can affect your S3 storage cost. - // For detailed information, see Considerations when working with S3 storage - // classes in DataSync (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#using-storage-classes). - S3StorageClass *string `type:"string" enum:"S3StorageClass"` +type DescribeStorageSystemResourceMetricsOutput struct { + _ struct{} `type:"structure"` + + // The details that your discovery job collected about your storage system resource. + Metrics []*ResourceMetrics `type:"list"` + + // The opaque string that indicates the position to begin the next list of results + // in the response. + NextToken *string `type:"string"` } // String returns the string representation. @@ -7830,63 +10134,63 @@ type DescribeLocationS3Output struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationS3Output) String() string { +func (s DescribeStorageSystemResourceMetricsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeLocationS3Output) GoString() string { - return s.String() -} - -// SetAgentArns sets the AgentArns field's value. -func (s *DescribeLocationS3Output) SetAgentArns(v []*string) *DescribeLocationS3Output { - s.AgentArns = v - return s -} - -// SetCreationTime sets the CreationTime field's value. -func (s *DescribeLocationS3Output) SetCreationTime(v time.Time) *DescribeLocationS3Output { - s.CreationTime = &v - return s -} - -// SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationS3Output) SetLocationArn(v string) *DescribeLocationS3Output { - s.LocationArn = &v - return s -} - -// SetLocationUri sets the LocationUri field's value. -func (s *DescribeLocationS3Output) SetLocationUri(v string) *DescribeLocationS3Output { - s.LocationUri = &v - return s +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStorageSystemResourceMetricsOutput) GoString() string { + return s.String() } -// SetS3Config sets the S3Config field's value. -func (s *DescribeLocationS3Output) SetS3Config(v *S3Config) *DescribeLocationS3Output { - s.S3Config = v +// SetMetrics sets the Metrics field's value. +func (s *DescribeStorageSystemResourceMetricsOutput) SetMetrics(v []*ResourceMetrics) *DescribeStorageSystemResourceMetricsOutput { + s.Metrics = v return s } -// SetS3StorageClass sets the S3StorageClass field's value. -func (s *DescribeLocationS3Output) SetS3StorageClass(v string) *DescribeLocationS3Output { - s.S3StorageClass = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeStorageSystemResourceMetricsOutput) SetNextToken(v string) *DescribeStorageSystemResourceMetricsOutput { + s.NextToken = &v return s } -// DescribeLocationSmbRequest -type DescribeLocationSmbInput struct { +type DescribeStorageSystemResourcesInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the SMB location to describe. + // Specifies the Amazon Resource Name (ARN) of the discovery job that's collecting + // data from your on-premises storage system. // - // LocationArn is a required field - LocationArn *string `type:"string" required:"true"` + // DiscoveryJobArn is a required field + DiscoveryJobArn *string `type:"string" required:"true"` + + // Filters the storage system resources that you want returned. For example, + // this might be volumes associated with a specific storage virtual machine + // (SVM). + Filter map[string][]*string `type:"map"` + + // Specifies the maximum number of storage system resources that you want to + // list in a response. + MaxResults *int64 `min:"1" type:"integer"` + + // Specifies an opaque string that indicates the position to begin the next + // list of results in the response. + NextToken *string `type:"string"` + + // Specifies the universally unique identifiers (UUIDs) of the storage system + // resources that you want information about. You can't use this parameter in + // combination with the Filter parameter. + ResourceIds []*string `min:"1" type:"list"` + + // Specifies what kind of storage system resources that you want information + // about. + // + // ResourceType is a required field + ResourceType *string `type:"string" required:"true" enum:"DiscoveryResourceType"` } // String returns the string representation. @@ -7894,7 +10198,7 @@ type DescribeLocationSmbInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationSmbInput) String() string { +func (s DescribeStorageSystemResourcesInput) String() string { return awsutil.Prettify(s) } @@ -7903,15 +10207,24 @@ func (s DescribeLocationSmbInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationSmbInput) GoString() string { +func (s DescribeStorageSystemResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeLocationSmbInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeLocationSmbInput"} - if s.LocationArn == nil { - invalidParams.Add(request.NewErrParamRequired("LocationArn")) +func (s *DescribeStorageSystemResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStorageSystemResourcesInput"} + if s.DiscoveryJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("DiscoveryJobArn")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceIds != nil && len(s.ResourceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) } if invalidParams.Len() > 0 { @@ -7920,39 +10233,56 @@ func (s *DescribeLocationSmbInput) Validate() error { return nil } -// SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationSmbInput) SetLocationArn(v string) *DescribeLocationSmbInput { - s.LocationArn = &v +// SetDiscoveryJobArn sets the DiscoveryJobArn field's value. +func (s *DescribeStorageSystemResourcesInput) SetDiscoveryJobArn(v string) *DescribeStorageSystemResourcesInput { + s.DiscoveryJobArn = &v return s } -// DescribeLocationSmbResponse -type DescribeLocationSmbOutput struct { - _ struct{} `type:"structure"` +// SetFilter sets the Filter field's value. +func (s *DescribeStorageSystemResourcesInput) SetFilter(v map[string][]*string) *DescribeStorageSystemResourcesInput { + s.Filter = v + return s +} - // The Amazon Resource Name (ARN) of the source SMB file system location that - // is created. - AgentArns []*string `min:"1" type:"list"` +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeStorageSystemResourcesInput) SetMaxResults(v int64) *DescribeStorageSystemResourcesInput { + s.MaxResults = &v + return s +} - // The time that the SMB location was created. - CreationTime *time.Time `type:"timestamp"` +// SetNextToken sets the NextToken field's value. +func (s *DescribeStorageSystemResourcesInput) SetNextToken(v string) *DescribeStorageSystemResourcesInput { + s.NextToken = &v + return s +} - // The name of the Windows domain that the SMB server belongs to. - Domain *string `type:"string"` +// SetResourceIds sets the ResourceIds field's value. +func (s *DescribeStorageSystemResourcesInput) SetResourceIds(v []*string) *DescribeStorageSystemResourcesInput { + s.ResourceIds = v + return s +} - // The Amazon Resource Name (ARN) of the SMB location that was described. - LocationArn *string `type:"string"` +// SetResourceType sets the ResourceType field's value. +func (s *DescribeStorageSystemResourcesInput) SetResourceType(v string) *DescribeStorageSystemResourcesInput { + s.ResourceType = &v + return s +} - // The URL of the source SMB location that was described. - LocationUri *string `type:"string"` +type DescribeStorageSystemResourcesOutput struct { + _ struct{} `type:"structure"` - // The mount options that are available for DataSync to use to access an SMB - // location. - MountOptions *SmbMountOptions `type:"structure"` + // The opaque string that indicates the position to begin the next list of results + // in the response. + NextToken *string `type:"string"` - // The user who can mount the share, has the permissions to access files and - // folders in the SMB share. - User *string `type:"string"` + // The information collected about your storage system's resources. A response + // can also include Amazon Web Services storage service recommendations. + // + // For more information, see storage resource information (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-understand-findings.html) + // collected by and recommendations (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-understand-recommendations.html) + // provided by DataSync Discovery. + ResourceDetails *ResourceDetails `type:"structure"` } // String returns the string representation. @@ -7960,7 +10290,7 @@ type DescribeLocationSmbOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationSmbOutput) String() string { +func (s DescribeStorageSystemResourcesOutput) String() string { return awsutil.Prettify(s) } @@ -7969,49 +10299,19 @@ func (s DescribeLocationSmbOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeLocationSmbOutput) GoString() string { +func (s DescribeStorageSystemResourcesOutput) GoString() string { return s.String() } -// SetAgentArns sets the AgentArns field's value. -func (s *DescribeLocationSmbOutput) SetAgentArns(v []*string) *DescribeLocationSmbOutput { - s.AgentArns = v - return s -} - -// SetCreationTime sets the CreationTime field's value. -func (s *DescribeLocationSmbOutput) SetCreationTime(v time.Time) *DescribeLocationSmbOutput { - s.CreationTime = &v - return s -} - -// SetDomain sets the Domain field's value. -func (s *DescribeLocationSmbOutput) SetDomain(v string) *DescribeLocationSmbOutput { - s.Domain = &v - return s -} - -// SetLocationArn sets the LocationArn field's value. -func (s *DescribeLocationSmbOutput) SetLocationArn(v string) *DescribeLocationSmbOutput { - s.LocationArn = &v - return s -} - -// SetLocationUri sets the LocationUri field's value. -func (s *DescribeLocationSmbOutput) SetLocationUri(v string) *DescribeLocationSmbOutput { - s.LocationUri = &v - return s -} - -// SetMountOptions sets the MountOptions field's value. -func (s *DescribeLocationSmbOutput) SetMountOptions(v *SmbMountOptions) *DescribeLocationSmbOutput { - s.MountOptions = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeStorageSystemResourcesOutput) SetNextToken(v string) *DescribeStorageSystemResourcesOutput { + s.NextToken = &v return s } -// SetUser sets the User field's value. -func (s *DescribeLocationSmbOutput) SetUser(v string) *DescribeLocationSmbOutput { - s.User = &v +// SetResourceDetails sets the ResourceDetails field's value. +func (s *DescribeStorageSystemResourcesOutput) SetResourceDetails(v *ResourceDetails) *DescribeStorageSystemResourcesOutput { + s.ResourceDetails = v return s } @@ -8477,6 +10777,108 @@ func (s *DescribeTaskOutput) SetTaskArn(v string) *DescribeTaskOutput { return s } +// The details about a specific DataSync discovery job. +type DiscoveryJobListEntry struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of a discovery job. + DiscoveryJobArn *string `type:"string"` + + // The status of a discovery job. For more information, see Discovery job statuses + // (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-job-statuses.html#discovery-job-statuses-table). + Status *string `type:"string" enum:"DiscoveryJobStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DiscoveryJobListEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DiscoveryJobListEntry) GoString() string { + return s.String() +} + +// SetDiscoveryJobArn sets the DiscoveryJobArn field's value. +func (s *DiscoveryJobListEntry) SetDiscoveryJobArn(v string) *DiscoveryJobListEntry { + s.DiscoveryJobArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DiscoveryJobListEntry) SetStatus(v string) *DiscoveryJobListEntry { + s.Status = &v + return s +} + +// The network settings that DataSync Discovery uses to connect with your on-premises +// storage system's management interface. +type DiscoveryServerConfiguration struct { + _ struct{} `type:"structure"` + + // The domain name or IP address of your storage system's management interface. + // + // ServerHostname is a required field + ServerHostname *string `type:"string" required:"true"` + + // The network port for accessing the storage system's management interface. + ServerPort *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DiscoveryServerConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DiscoveryServerConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DiscoveryServerConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DiscoveryServerConfiguration"} + if s.ServerHostname == nil { + invalidParams.Add(request.NewErrParamRequired("ServerHostname")) + } + if s.ServerPort != nil && *s.ServerPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ServerPort", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServerHostname sets the ServerHostname field's value. +func (s *DiscoveryServerConfiguration) SetServerHostname(v string) *DiscoveryServerConfiguration { + s.ServerHostname = &v + return s +} + +// SetServerPort sets the ServerPort field's value. +func (s *DiscoveryServerConfiguration) SetServerPort(v int64) *DiscoveryServerConfiguration { + s.ServerPort = &v + return s +} + // The subnet and security groups that DataSync uses to access your Amazon EFS // file system. type Ec2Config struct { @@ -8769,8 +11171,94 @@ func (s *FsxProtocolSmb) Validate() error { if s.Password == nil { invalidParams.Add(request.NewErrParamRequired("Password")) } - if s.User == nil { - invalidParams.Add(request.NewErrParamRequired("User")) + if s.User == nil { + invalidParams.Add(request.NewErrParamRequired("User")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomain sets the Domain field's value. +func (s *FsxProtocolSmb) SetDomain(v string) *FsxProtocolSmb { + s.Domain = &v + return s +} + +// SetMountOptions sets the MountOptions field's value. +func (s *FsxProtocolSmb) SetMountOptions(v *SmbMountOptions) *FsxProtocolSmb { + s.MountOptions = v + return s +} + +// SetPassword sets the Password field's value. +func (s *FsxProtocolSmb) SetPassword(v string) *FsxProtocolSmb { + s.Password = &v + return s +} + +// SetUser sets the User field's value. +func (s *FsxProtocolSmb) SetUser(v string) *FsxProtocolSmb { + s.User = &v + return s +} + +type GenerateRecommendationsInput struct { + _ struct{} `type:"structure"` + + // Specifies the Amazon Resource Name (ARN) of the discovery job that collects + // information about your on-premises storage system. + // + // DiscoveryJobArn is a required field + DiscoveryJobArn *string `type:"string" required:"true"` + + // Specifies the universally unique identifiers (UUIDs) of the resources in + // your storage system that you want recommendations on. + // + // ResourceIds is a required field + ResourceIds []*string `min:"1" type:"list" required:"true"` + + // Specifies the type of resource in your storage system that you want recommendations + // on. + // + // ResourceType is a required field + ResourceType *string `type:"string" required:"true" enum:"DiscoveryResourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GenerateRecommendationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GenerateRecommendationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GenerateRecommendationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GenerateRecommendationsInput"} + if s.DiscoveryJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("DiscoveryJobArn")) + } + if s.ResourceIds == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIds")) + } + if s.ResourceIds != nil && len(s.ResourceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) } if invalidParams.Len() > 0 { @@ -8779,28 +11267,44 @@ func (s *FsxProtocolSmb) Validate() error { return nil } -// SetDomain sets the Domain field's value. -func (s *FsxProtocolSmb) SetDomain(v string) *FsxProtocolSmb { - s.Domain = &v +// SetDiscoveryJobArn sets the DiscoveryJobArn field's value. +func (s *GenerateRecommendationsInput) SetDiscoveryJobArn(v string) *GenerateRecommendationsInput { + s.DiscoveryJobArn = &v return s } -// SetMountOptions sets the MountOptions field's value. -func (s *FsxProtocolSmb) SetMountOptions(v *SmbMountOptions) *FsxProtocolSmb { - s.MountOptions = v +// SetResourceIds sets the ResourceIds field's value. +func (s *GenerateRecommendationsInput) SetResourceIds(v []*string) *GenerateRecommendationsInput { + s.ResourceIds = v return s } -// SetPassword sets the Password field's value. -func (s *FsxProtocolSmb) SetPassword(v string) *FsxProtocolSmb { - s.Password = &v +// SetResourceType sets the ResourceType field's value. +func (s *GenerateRecommendationsInput) SetResourceType(v string) *GenerateRecommendationsInput { + s.ResourceType = &v return s } -// SetUser sets the User field's value. -func (s *FsxProtocolSmb) SetUser(v string) *FsxProtocolSmb { - s.User = &v - return s +type GenerateRecommendationsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GenerateRecommendationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GenerateRecommendationsOutput) GoString() string { + return s.String() } // The NameNode of the Hadoop Distributed File System (HDFS). The NameNode manages @@ -8875,6 +11379,66 @@ func (s *HdfsNameNode) SetPort(v int64) *HdfsNameNode { return s } +// The IOPS peaks for an on-premises storage system resource. Each data point +// represents the 95th percentile peak value during a 1-hour interval. +type IOPS struct { + _ struct{} `type:"structure"` + + // Peak IOPS unrelated to read and write operations. + Other *float64 `type:"double"` + + // Peak IOPS related to read operations. + Read *float64 `type:"double"` + + // Peak total IOPS on your on-premises storage system resource. + Total *float64 `type:"double"` + + // Peak IOPS related to write operations. + Write *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IOPS) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IOPS) GoString() string { + return s.String() +} + +// SetOther sets the Other field's value. +func (s *IOPS) SetOther(v float64) *IOPS { + s.Other = &v + return s +} + +// SetRead sets the Read field's value. +func (s *IOPS) SetRead(v float64) *IOPS { + s.Read = &v + return s +} + +// SetTotal sets the Total field's value. +func (s *IOPS) SetTotal(v float64) *IOPS { + s.Total = &v + return s +} + +// SetWrite sets the Write field's value. +func (s *IOPS) SetWrite(v float64) *IOPS { + s.Write = &v + return s +} + // This exception is thrown when an error occurs in the DataSync service. type InternalException struct { _ struct{} `type:"structure"` @@ -9009,6 +11573,57 @@ func (s *InvalidRequestException) RequestID() string { return s.RespMetadata.RequestID } +// The latency peaks for an on-premises storage system resource. Each data point +// represents the 95th percentile peak value during a 1-hour interval. +type Latency struct { + _ struct{} `type:"structure"` + + // Peak latency for operations unrelated to read and write operations. + Other *float64 `type:"double"` + + // Peak latency for read operations. + Read *float64 `type:"double"` + + // Peak latency for write operations. + Write *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Latency) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Latency) GoString() string { + return s.String() +} + +// SetOther sets the Other field's value. +func (s *Latency) SetOther(v float64) *Latency { + s.Other = &v + return s +} + +// SetRead sets the Read field's value. +func (s *Latency) SetRead(v float64) *Latency { + s.Read = &v + return s +} + +// SetWrite sets the Write field's value. +func (s *Latency) SetWrite(v float64) *Latency { + s.Write = &v + return s +} + // ListAgentsRequest type ListAgentsInput struct { _ struct{} `type:"structure"` @@ -9096,6 +11711,112 @@ func (s *ListAgentsOutput) SetNextToken(v string) *ListAgentsOutput { return s } +type ListDiscoveryJobsInput struct { + _ struct{} `type:"structure"` + + // Specifies how many results you want in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // Specifies an opaque string that indicates the position to begin the next + // list of results in the response. + NextToken *string `type:"string"` + + // Specifies the Amazon Resource Name (ARN) of an on-premises storage system. + // Use this parameter if you only want to list the discovery jobs that are associated + // with a specific storage system. + StorageSystemArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDiscoveryJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDiscoveryJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDiscoveryJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDiscoveryJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDiscoveryJobsInput) SetMaxResults(v int64) *ListDiscoveryJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDiscoveryJobsInput) SetNextToken(v string) *ListDiscoveryJobsInput { + s.NextToken = &v + return s +} + +// SetStorageSystemArn sets the StorageSystemArn field's value. +func (s *ListDiscoveryJobsInput) SetStorageSystemArn(v string) *ListDiscoveryJobsInput { + s.StorageSystemArn = &v + return s +} + +type ListDiscoveryJobsOutput struct { + _ struct{} `type:"structure"` + + // The discovery jobs that you've run. + DiscoveryJobs []*DiscoveryJobListEntry `type:"list"` + + // The opaque string that indicates the position to begin the next list of results + // in the response. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDiscoveryJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDiscoveryJobsOutput) GoString() string { + return s.String() +} + +// SetDiscoveryJobs sets the DiscoveryJobs field's value. +func (s *ListDiscoveryJobsOutput) SetDiscoveryJobs(v []*DiscoveryJobListEntry) *ListDiscoveryJobsOutput { + s.DiscoveryJobs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDiscoveryJobsOutput) SetNextToken(v string) *ListDiscoveryJobsOutput { + s.NextToken = &v + return s +} + // ListLocationsRequest type ListLocationsInput struct { _ struct{} `type:"structure"` @@ -9186,7 +11907,103 @@ type ListLocationsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLocationsOutput) String() string { +func (s ListLocationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListLocationsOutput) GoString() string { + return s.String() +} + +// SetLocations sets the Locations field's value. +func (s *ListLocationsOutput) SetLocations(v []*LocationListEntry) *ListLocationsOutput { + s.Locations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLocationsOutput) SetNextToken(v string) *ListLocationsOutput { + s.NextToken = &v + return s +} + +type ListStorageSystemsInput struct { + _ struct{} `type:"structure"` + + // Specifies how many results you want in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // Specifies an opaque string that indicates the position to begin the next + // list of results in the response. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListStorageSystemsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListStorageSystemsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListStorageSystemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStorageSystemsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListStorageSystemsInput) SetMaxResults(v int64) *ListStorageSystemsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStorageSystemsInput) SetNextToken(v string) *ListStorageSystemsInput { + s.NextToken = &v + return s +} + +type ListStorageSystemsOutput struct { + _ struct{} `type:"structure"` + + // The opaque string that indicates the position to begin the next list of results + // in the response. + NextToken *string `type:"string"` + + // The Amazon Resource Names ARNs) of the on-premises storage systems that you're + // using with DataSync Discovery. + StorageSystems []*StorageSystemListEntry `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListStorageSystemsOutput) String() string { return awsutil.Prettify(s) } @@ -9195,19 +12012,19 @@ func (s ListLocationsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListLocationsOutput) GoString() string { +func (s ListStorageSystemsOutput) GoString() string { return s.String() } -// SetLocations sets the Locations field's value. -func (s *ListLocationsOutput) SetLocations(v []*LocationListEntry) *ListLocationsOutput { - s.Locations = v +// SetNextToken sets the NextToken field's value. +func (s *ListStorageSystemsOutput) SetNextToken(v string) *ListStorageSystemsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListLocationsOutput) SetNextToken(v string) *ListLocationsOutput { - s.NextToken = &v +// SetStorageSystems sets the StorageSystems field's value. +func (s *ListStorageSystemsOutput) SetStorageSystems(v []*StorageSystemListEntry) *ListStorageSystemsOutput { + s.StorageSystems = v return s } @@ -9647,7 +12464,482 @@ type LocationListEntry struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LocationListEntry) String() string { +func (s LocationListEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LocationListEntry) GoString() string { + return s.String() +} + +// SetLocationArn sets the LocationArn field's value. +func (s *LocationListEntry) SetLocationArn(v string) *LocationListEntry { + s.LocationArn = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *LocationListEntry) SetLocationUri(v string) *LocationListEntry { + s.LocationUri = &v + return s +} + +// The performance data that DataSync Discovery collects about an on-premises +// storage system resource. +type MaxP95Performance struct { + _ struct{} `type:"structure"` + + // Peak IOPS unrelated to read and write operations. + IopsOther *float64 `type:"double"` + + // Peak IOPS related to read operations. + IopsRead *float64 `type:"double"` + + // Peak total IOPS on your on-premises storage system resource. + IopsTotal *float64 `type:"double"` + + // Peak IOPS related to write operations. + IopsWrite *float64 `type:"double"` + + // Peak latency for operations unrelated to read and write operations. + LatencyOther *float64 `type:"double"` + + // Peak latency for read operations. + LatencyRead *float64 `type:"double"` + + // Peak latency for write operations. + LatencyWrite *float64 `type:"double"` + + // Peak throughput unrelated to read and write operations. + ThroughputOther *float64 `type:"double"` + + // Peak throughput related to read operations. + ThroughputRead *float64 `type:"double"` + + // Peak total throughput on your on-premises storage system resource. + ThroughputTotal *float64 `type:"double"` + + // Peak throughput related to write operations. + ThroughputWrite *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MaxP95Performance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MaxP95Performance) GoString() string { + return s.String() +} + +// SetIopsOther sets the IopsOther field's value. +func (s *MaxP95Performance) SetIopsOther(v float64) *MaxP95Performance { + s.IopsOther = &v + return s +} + +// SetIopsRead sets the IopsRead field's value. +func (s *MaxP95Performance) SetIopsRead(v float64) *MaxP95Performance { + s.IopsRead = &v + return s +} + +// SetIopsTotal sets the IopsTotal field's value. +func (s *MaxP95Performance) SetIopsTotal(v float64) *MaxP95Performance { + s.IopsTotal = &v + return s +} + +// SetIopsWrite sets the IopsWrite field's value. +func (s *MaxP95Performance) SetIopsWrite(v float64) *MaxP95Performance { + s.IopsWrite = &v + return s +} + +// SetLatencyOther sets the LatencyOther field's value. +func (s *MaxP95Performance) SetLatencyOther(v float64) *MaxP95Performance { + s.LatencyOther = &v + return s +} + +// SetLatencyRead sets the LatencyRead field's value. +func (s *MaxP95Performance) SetLatencyRead(v float64) *MaxP95Performance { + s.LatencyRead = &v + return s +} + +// SetLatencyWrite sets the LatencyWrite field's value. +func (s *MaxP95Performance) SetLatencyWrite(v float64) *MaxP95Performance { + s.LatencyWrite = &v + return s +} + +// SetThroughputOther sets the ThroughputOther field's value. +func (s *MaxP95Performance) SetThroughputOther(v float64) *MaxP95Performance { + s.ThroughputOther = &v + return s +} + +// SetThroughputRead sets the ThroughputRead field's value. +func (s *MaxP95Performance) SetThroughputRead(v float64) *MaxP95Performance { + s.ThroughputRead = &v + return s +} + +// SetThroughputTotal sets the ThroughputTotal field's value. +func (s *MaxP95Performance) SetThroughputTotal(v float64) *MaxP95Performance { + s.ThroughputTotal = &v + return s +} + +// SetThroughputWrite sets the ThroughputWrite field's value. +func (s *MaxP95Performance) SetThroughputWrite(v float64) *MaxP95Performance { + s.ThroughputWrite = &v + return s +} + +// The information that DataSync Discovery collects about an on-premises storage +// system cluster. +type NetAppONTAPCluster struct { + _ struct{} `type:"structure"` + + // The number of CIFS shares in the cluster. + CifsShareCount *int64 `type:"long"` + + // The storage space that's being used in the cluster without accounting for + // compression or deduplication. + ClusterBlockStorageLogicalUsed *int64 `type:"long"` + + // The total storage space that's available in the cluster. + ClusterBlockStorageSize *int64 `type:"long"` + + // The storage space that's being used in a cluster. + ClusterBlockStorageUsed *int64 `type:"long"` + + // The name of the cluster. + ClusterName *string `type:"string"` + + // The performance data that DataSync Discovery collects about the cluster. + MaxP95Performance *MaxP95Performance `type:"structure"` + + // The number of NFS volumes in the cluster. + NfsExportedVolumes *int64 `type:"long"` + + // Indicates whether DataSync Discovery recommendations for the cluster are + // ready to view, incomplete, or can't be determined. + // + // For more information, see Recommendation statuses (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-job-statuses.html#recommendation-statuses-table). + RecommendationStatus *string `type:"string" enum:"RecommendationStatus"` + + // The Amazon Web Services storage services that DataSync Discovery recommends + // for the cluster. For more information, see Recommendations provided by DataSync + // Discovery (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-understand-recommendations.html). + Recommendations []*Recommendation `type:"list"` + + // The universally unique identifier (UUID) of the cluster. + ResourceId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetAppONTAPCluster) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetAppONTAPCluster) GoString() string { + return s.String() +} + +// SetCifsShareCount sets the CifsShareCount field's value. +func (s *NetAppONTAPCluster) SetCifsShareCount(v int64) *NetAppONTAPCluster { + s.CifsShareCount = &v + return s +} + +// SetClusterBlockStorageLogicalUsed sets the ClusterBlockStorageLogicalUsed field's value. +func (s *NetAppONTAPCluster) SetClusterBlockStorageLogicalUsed(v int64) *NetAppONTAPCluster { + s.ClusterBlockStorageLogicalUsed = &v + return s +} + +// SetClusterBlockStorageSize sets the ClusterBlockStorageSize field's value. +func (s *NetAppONTAPCluster) SetClusterBlockStorageSize(v int64) *NetAppONTAPCluster { + s.ClusterBlockStorageSize = &v + return s +} + +// SetClusterBlockStorageUsed sets the ClusterBlockStorageUsed field's value. +func (s *NetAppONTAPCluster) SetClusterBlockStorageUsed(v int64) *NetAppONTAPCluster { + s.ClusterBlockStorageUsed = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *NetAppONTAPCluster) SetClusterName(v string) *NetAppONTAPCluster { + s.ClusterName = &v + return s +} + +// SetMaxP95Performance sets the MaxP95Performance field's value. +func (s *NetAppONTAPCluster) SetMaxP95Performance(v *MaxP95Performance) *NetAppONTAPCluster { + s.MaxP95Performance = v + return s +} + +// SetNfsExportedVolumes sets the NfsExportedVolumes field's value. +func (s *NetAppONTAPCluster) SetNfsExportedVolumes(v int64) *NetAppONTAPCluster { + s.NfsExportedVolumes = &v + return s +} + +// SetRecommendationStatus sets the RecommendationStatus field's value. +func (s *NetAppONTAPCluster) SetRecommendationStatus(v string) *NetAppONTAPCluster { + s.RecommendationStatus = &v + return s +} + +// SetRecommendations sets the Recommendations field's value. +func (s *NetAppONTAPCluster) SetRecommendations(v []*Recommendation) *NetAppONTAPCluster { + s.Recommendations = v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *NetAppONTAPCluster) SetResourceId(v string) *NetAppONTAPCluster { + s.ResourceId = &v + return s +} + +// The information that DataSync Discovery collects about a storage virtual +// machine (SVM) in your on-premises storage system. +type NetAppONTAPSVM struct { + _ struct{} `type:"structure"` + + // The number of CIFS shares in the SVM. + CifsShareCount *int64 `type:"long"` + + // The universally unique identifier (UUID) of the cluster associated with the + // SVM. + ClusterUuid *string `type:"string"` + + // The data transfer protocols (such as NFS) configured for the SVM. + EnabledProtocols []*string `type:"list"` + + // The performance data that DataSync Discovery collects about the SVM. + MaxP95Performance *MaxP95Performance `type:"structure"` + + // The number of NFS volumes in the SVM. + NfsExportedVolumes *int64 `type:"long"` + + // Indicates whether DataSync Discovery recommendations for the SVM are ready + // to view, incomplete, or can't be determined. + // + // For more information, see Recommendation statuses (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-job-statuses.html#recommendation-statuses-table). + RecommendationStatus *string `type:"string" enum:"RecommendationStatus"` + + // The Amazon Web Services storage services that DataSync Discovery recommends + // for the SVM. For more information, see Recommendations provided by DataSync + // Discovery (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-understand-recommendations.html). + Recommendations []*Recommendation `type:"list"` + + // The UUID of the SVM. + ResourceId *string `type:"string"` + + // The name of the SVM + SvmName *string `type:"string"` + + // The total storage space that's available in the SVM. + TotalCapacityProvisioned *int64 `type:"long"` + + // The storage space that's being used in the SVM. + TotalCapacityUsed *int64 `type:"long"` + + // The storage space that's being used in the SVM without accounting for compression + // or deduplication. + TotalLogicalCapacityUsed *int64 `type:"long"` + + // The amount of storage in the SVM that's being used for snapshots. + TotalSnapshotCapacityUsed *int64 `type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetAppONTAPSVM) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetAppONTAPSVM) GoString() string { + return s.String() +} + +// SetCifsShareCount sets the CifsShareCount field's value. +func (s *NetAppONTAPSVM) SetCifsShareCount(v int64) *NetAppONTAPSVM { + s.CifsShareCount = &v + return s +} + +// SetClusterUuid sets the ClusterUuid field's value. +func (s *NetAppONTAPSVM) SetClusterUuid(v string) *NetAppONTAPSVM { + s.ClusterUuid = &v + return s +} + +// SetEnabledProtocols sets the EnabledProtocols field's value. +func (s *NetAppONTAPSVM) SetEnabledProtocols(v []*string) *NetAppONTAPSVM { + s.EnabledProtocols = v + return s +} + +// SetMaxP95Performance sets the MaxP95Performance field's value. +func (s *NetAppONTAPSVM) SetMaxP95Performance(v *MaxP95Performance) *NetAppONTAPSVM { + s.MaxP95Performance = v + return s +} + +// SetNfsExportedVolumes sets the NfsExportedVolumes field's value. +func (s *NetAppONTAPSVM) SetNfsExportedVolumes(v int64) *NetAppONTAPSVM { + s.NfsExportedVolumes = &v + return s +} + +// SetRecommendationStatus sets the RecommendationStatus field's value. +func (s *NetAppONTAPSVM) SetRecommendationStatus(v string) *NetAppONTAPSVM { + s.RecommendationStatus = &v + return s +} + +// SetRecommendations sets the Recommendations field's value. +func (s *NetAppONTAPSVM) SetRecommendations(v []*Recommendation) *NetAppONTAPSVM { + s.Recommendations = v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *NetAppONTAPSVM) SetResourceId(v string) *NetAppONTAPSVM { + s.ResourceId = &v + return s +} + +// SetSvmName sets the SvmName field's value. +func (s *NetAppONTAPSVM) SetSvmName(v string) *NetAppONTAPSVM { + s.SvmName = &v + return s +} + +// SetTotalCapacityProvisioned sets the TotalCapacityProvisioned field's value. +func (s *NetAppONTAPSVM) SetTotalCapacityProvisioned(v int64) *NetAppONTAPSVM { + s.TotalCapacityProvisioned = &v + return s +} + +// SetTotalCapacityUsed sets the TotalCapacityUsed field's value. +func (s *NetAppONTAPSVM) SetTotalCapacityUsed(v int64) *NetAppONTAPSVM { + s.TotalCapacityUsed = &v + return s +} + +// SetTotalLogicalCapacityUsed sets the TotalLogicalCapacityUsed field's value. +func (s *NetAppONTAPSVM) SetTotalLogicalCapacityUsed(v int64) *NetAppONTAPSVM { + s.TotalLogicalCapacityUsed = &v + return s +} + +// SetTotalSnapshotCapacityUsed sets the TotalSnapshotCapacityUsed field's value. +func (s *NetAppONTAPSVM) SetTotalSnapshotCapacityUsed(v int64) *NetAppONTAPSVM { + s.TotalSnapshotCapacityUsed = &v + return s +} + +// The information that DataSync Discovery collects about a volume in your on-premises +// storage system. +type NetAppONTAPVolume struct { + _ struct{} `type:"structure"` + + // The total storage space that's available in the volume. + CapacityProvisioned *int64 `type:"long"` + + // The storage space that's being used in the volume. + CapacityUsed *int64 `type:"long"` + + // The number of CIFS shares in the volume. + CifsShareCount *int64 `type:"long"` + + // The storage space that's being used in the volume without accounting for + // compression or deduplication. + LogicalCapacityUsed *int64 `type:"long"` + + // The performance data that DataSync Discovery collects about the volume. + MaxP95Performance *MaxP95Performance `type:"structure"` + + // The number of NFS volumes in the volume. + NfsExported *bool `type:"boolean"` + + // Indicates whether DataSync Discovery recommendations for the volume are ready + // to view, incomplete, or can't be determined. + // + // For more information, see Recommendation statuses (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-job-statuses.html#recommendation-statuses-table). + RecommendationStatus *string `type:"string" enum:"RecommendationStatus"` + + // The Amazon Web Services storage services that DataSync Discovery recommends + // for the volume. For more information, see Recommendations provided by DataSync + // Discovery (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-understand-recommendations.html). + Recommendations []*Recommendation `type:"list"` + + // The universally unique identifier (UUID) of the volume. + ResourceId *string `type:"string"` + + // The volume's security style (such as Unix or NTFS). + SecurityStyle *string `type:"string"` + + // The amount of storage in the volume that's being used for snapshots. + SnapshotCapacityUsed *int64 `type:"long"` + + // The name of the SVM associated with the volume. + SvmName *string `type:"string"` + + // The UUID of the storage virtual machine (SVM) associated with the volume. + SvmUuid *string `type:"string"` + + // The name of the volume. + VolumeName *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetAppONTAPVolume) String() string { return awsutil.Prettify(s) } @@ -9656,19 +12948,91 @@ func (s LocationListEntry) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LocationListEntry) GoString() string { +func (s NetAppONTAPVolume) GoString() string { return s.String() } -// SetLocationArn sets the LocationArn field's value. -func (s *LocationListEntry) SetLocationArn(v string) *LocationListEntry { - s.LocationArn = &v +// SetCapacityProvisioned sets the CapacityProvisioned field's value. +func (s *NetAppONTAPVolume) SetCapacityProvisioned(v int64) *NetAppONTAPVolume { + s.CapacityProvisioned = &v return s } -// SetLocationUri sets the LocationUri field's value. -func (s *LocationListEntry) SetLocationUri(v string) *LocationListEntry { - s.LocationUri = &v +// SetCapacityUsed sets the CapacityUsed field's value. +func (s *NetAppONTAPVolume) SetCapacityUsed(v int64) *NetAppONTAPVolume { + s.CapacityUsed = &v + return s +} + +// SetCifsShareCount sets the CifsShareCount field's value. +func (s *NetAppONTAPVolume) SetCifsShareCount(v int64) *NetAppONTAPVolume { + s.CifsShareCount = &v + return s +} + +// SetLogicalCapacityUsed sets the LogicalCapacityUsed field's value. +func (s *NetAppONTAPVolume) SetLogicalCapacityUsed(v int64) *NetAppONTAPVolume { + s.LogicalCapacityUsed = &v + return s +} + +// SetMaxP95Performance sets the MaxP95Performance field's value. +func (s *NetAppONTAPVolume) SetMaxP95Performance(v *MaxP95Performance) *NetAppONTAPVolume { + s.MaxP95Performance = v + return s +} + +// SetNfsExported sets the NfsExported field's value. +func (s *NetAppONTAPVolume) SetNfsExported(v bool) *NetAppONTAPVolume { + s.NfsExported = &v + return s +} + +// SetRecommendationStatus sets the RecommendationStatus field's value. +func (s *NetAppONTAPVolume) SetRecommendationStatus(v string) *NetAppONTAPVolume { + s.RecommendationStatus = &v + return s +} + +// SetRecommendations sets the Recommendations field's value. +func (s *NetAppONTAPVolume) SetRecommendations(v []*Recommendation) *NetAppONTAPVolume { + s.Recommendations = v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *NetAppONTAPVolume) SetResourceId(v string) *NetAppONTAPVolume { + s.ResourceId = &v + return s +} + +// SetSecurityStyle sets the SecurityStyle field's value. +func (s *NetAppONTAPVolume) SetSecurityStyle(v string) *NetAppONTAPVolume { + s.SecurityStyle = &v + return s +} + +// SetSnapshotCapacityUsed sets the SnapshotCapacityUsed field's value. +func (s *NetAppONTAPVolume) SetSnapshotCapacityUsed(v int64) *NetAppONTAPVolume { + s.SnapshotCapacityUsed = &v + return s +} + +// SetSvmName sets the SvmName field's value. +func (s *NetAppONTAPVolume) SetSvmName(v string) *NetAppONTAPVolume { + s.SvmName = &v + return s +} + +// SetSvmUuid sets the SvmUuid field's value. +func (s *NetAppONTAPVolume) SetSvmUuid(v string) *NetAppONTAPVolume { + s.SvmUuid = &v + return s +} + +// SetVolumeName sets the VolumeName field's value. +func (s *NetAppONTAPVolume) SetVolumeName(v string) *NetAppONTAPVolume { + s.VolumeName = &v return s } @@ -10117,30 +13481,318 @@ func (s *Options) SetVerifyMode(v string) *Options { return s } -// The VPC endpoint, subnet, and security group that an agent uses to access -// IP addresses in a VPC (Virtual Private Cloud). -type PrivateLinkConfig struct { +// The types of performance data that DataSync Discovery collects about an on-premises +// storage system resource. +type P95Metrics struct { + _ struct{} `type:"structure"` + + // The IOPS peaks for an on-premises storage system resource. Each data point + // represents the 95th percentile peak value during a 1-hour interval. + IOPS *IOPS `type:"structure"` + + // The latency peaks for an on-premises storage system resource. Each data point + // represents the 95th percentile peak value during a 1-hour interval. + Latency *Latency `type:"structure"` + + // The throughput peaks for an on-premises storage system resource. Each data + // point represents the 95th percentile peak value during a 1-hour interval. + Throughput *Throughput `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s P95Metrics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s P95Metrics) GoString() string { + return s.String() +} + +// SetIOPS sets the IOPS field's value. +func (s *P95Metrics) SetIOPS(v *IOPS) *P95Metrics { + s.IOPS = v + return s +} + +// SetLatency sets the Latency field's value. +func (s *P95Metrics) SetLatency(v *Latency) *P95Metrics { + s.Latency = v + return s +} + +// SetThroughput sets the Throughput field's value. +func (s *P95Metrics) SetThroughput(v *Throughput) *P95Metrics { + s.Throughput = v + return s +} + +// The VPC endpoint, subnet, and security group that an agent uses to access +// IP addresses in a VPC (Virtual Private Cloud). +type PrivateLinkConfig struct { + _ struct{} `type:"structure"` + + // The private endpoint that is configured for an agent that has access to IP + // addresses in a PrivateLink (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html). + // An agent that is configured with this endpoint will not be accessible over + // the public internet. + PrivateLinkEndpoint *string `min:"7" type:"string"` + + // The Amazon Resource Names (ARNs) of the security groups that are configured + // for the EC2 resource that hosts an agent activated in a VPC or an agent that + // has access to a VPC endpoint. + SecurityGroupArns []*string `min:"1" type:"list"` + + // The Amazon Resource Names (ARNs) of the subnets that are configured for an + // agent activated in a VPC or an agent that has access to a VPC endpoint. + SubnetArns []*string `min:"1" type:"list"` + + // The ID of the VPC endpoint that is configured for an agent. An agent that + // is configured with a VPC endpoint will not be accessible over the public + // internet. + VpcEndpointId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrivateLinkConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrivateLinkConfig) GoString() string { + return s.String() +} + +// SetPrivateLinkEndpoint sets the PrivateLinkEndpoint field's value. +func (s *PrivateLinkConfig) SetPrivateLinkEndpoint(v string) *PrivateLinkConfig { + s.PrivateLinkEndpoint = &v + return s +} + +// SetSecurityGroupArns sets the SecurityGroupArns field's value. +func (s *PrivateLinkConfig) SetSecurityGroupArns(v []*string) *PrivateLinkConfig { + s.SecurityGroupArns = v + return s +} + +// SetSubnetArns sets the SubnetArns field's value. +func (s *PrivateLinkConfig) SetSubnetArns(v []*string) *PrivateLinkConfig { + s.SubnetArns = v + return s +} + +// SetVpcEndpointId sets the VpcEndpointId field's value. +func (s *PrivateLinkConfig) SetVpcEndpointId(v string) *PrivateLinkConfig { + s.VpcEndpointId = &v + return s +} + +// The Quality of Protection (QOP) configuration specifies the Remote Procedure +// Call (RPC) and data transfer privacy settings configured on the Hadoop Distributed +// File System (HDFS) cluster. +type QopConfiguration struct { + _ struct{} `type:"structure"` + + // The data transfer protection setting configured on the HDFS cluster. This + // setting corresponds to your dfs.data.transfer.protection setting in the hdfs-site.xml + // file on your Hadoop cluster. + DataTransferProtection *string `type:"string" enum:"HdfsDataTransferProtection"` + + // The RPC protection setting configured on the HDFS cluster. This setting corresponds + // to your hadoop.rpc.protection setting in your core-site.xml file on your + // Hadoop cluster. + RpcProtection *string `type:"string" enum:"HdfsRpcProtection"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QopConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s QopConfiguration) GoString() string { + return s.String() +} + +// SetDataTransferProtection sets the DataTransferProtection field's value. +func (s *QopConfiguration) SetDataTransferProtection(v string) *QopConfiguration { + s.DataTransferProtection = &v + return s +} + +// SetRpcProtection sets the RpcProtection field's value. +func (s *QopConfiguration) SetRpcProtection(v string) *QopConfiguration { + s.RpcProtection = &v + return s +} + +// The details about an Amazon Web Services storage service that DataSync Discovery +// recommends for a resource in your on-premises storage system. +// +// For more information, see Recommendations provided by DataSync Discovery +// (https://docs.aws.amazon.com/datasync/latest/userguide/discovery-understand-recommendations.html). +type Recommendation struct { + _ struct{} `type:"structure"` + + // The estimated monthly cost of the recommended Amazon Web Services storage + // service. + EstimatedMonthlyStorageCost *string `type:"string"` + + // Information about how you can set up a recommended Amazon Web Services storage + // service. + StorageConfiguration map[string]*string `type:"map"` + + // A recommended Amazon Web Services storage service that you can migrate data + // to based on information that DataSync Discovery collects about your on-premises + // storage system. + StorageType *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Recommendation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Recommendation) GoString() string { + return s.String() +} + +// SetEstimatedMonthlyStorageCost sets the EstimatedMonthlyStorageCost field's value. +func (s *Recommendation) SetEstimatedMonthlyStorageCost(v string) *Recommendation { + s.EstimatedMonthlyStorageCost = &v + return s +} + +// SetStorageConfiguration sets the StorageConfiguration field's value. +func (s *Recommendation) SetStorageConfiguration(v map[string]*string) *Recommendation { + s.StorageConfiguration = v + return s +} + +// SetStorageType sets the StorageType field's value. +func (s *Recommendation) SetStorageType(v string) *Recommendation { + s.StorageType = &v + return s +} + +type RemoveStorageSystemInput struct { + _ struct{} `type:"structure"` + + // Specifies the Amazon Resource Name (ARN) of the storage system that you want + // to permanently remove from DataSync Discovery. + // + // StorageSystemArn is a required field + StorageSystemArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RemoveStorageSystemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RemoveStorageSystemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveStorageSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveStorageSystemInput"} + if s.StorageSystemArn == nil { + invalidParams.Add(request.NewErrParamRequired("StorageSystemArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStorageSystemArn sets the StorageSystemArn field's value. +func (s *RemoveStorageSystemInput) SetStorageSystemArn(v string) *RemoveStorageSystemInput { + s.StorageSystemArn = &v + return s +} + +type RemoveStorageSystemOutput struct { _ struct{} `type:"structure"` +} - // The private endpoint that is configured for an agent that has access to IP - // addresses in a PrivateLink (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html). - // An agent that is configured with this endpoint will not be accessible over - // the public internet. - PrivateLinkEndpoint *string `min:"7" type:"string"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RemoveStorageSystemOutput) String() string { + return awsutil.Prettify(s) +} - // The Amazon Resource Names (ARNs) of the security groups that are configured - // for the EC2 resource that hosts an agent activated in a VPC or an agent that - // has access to a VPC endpoint. - SecurityGroupArns []*string `min:"1" type:"list"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RemoveStorageSystemOutput) GoString() string { + return s.String() +} - // The Amazon Resource Names (ARNs) of the subnets that are configured for an - // agent activated in a VPC or an agent that has access to a VPC endpoint. - SubnetArns []*string `min:"1" type:"list"` +// Information provided by DataSync Discovery about the resources in your on-premises +// storage system. +type ResourceDetails struct { + _ struct{} `type:"structure"` - // The ID of the VPC endpoint that is configured for an agent. An agent that - // is configured with a VPC endpoint will not be accessible over the public - // internet. - VpcEndpointId *string `type:"string"` + // The information that DataSync Discovery collects about the cluster in your + // on-premises storage system. + NetAppONTAPClusters []*NetAppONTAPCluster `type:"list"` + + // The information that DataSync Discovery collects about storage virtual machines + // (SVMs) in your on-premises storage system. + NetAppONTAPSVMs []*NetAppONTAPSVM `type:"list"` + + // The information that DataSync Discovery collects about volumes in your on-premises + // storage system. + NetAppONTAPVolumes []*NetAppONTAPVolume `type:"list"` } // String returns the string representation. @@ -10148,7 +13800,7 @@ type PrivateLinkConfig struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PrivateLinkConfig) String() string { +func (s ResourceDetails) String() string { return awsutil.Prettify(s) } @@ -10157,49 +13809,49 @@ func (s PrivateLinkConfig) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PrivateLinkConfig) GoString() string { +func (s ResourceDetails) GoString() string { return s.String() } -// SetPrivateLinkEndpoint sets the PrivateLinkEndpoint field's value. -func (s *PrivateLinkConfig) SetPrivateLinkEndpoint(v string) *PrivateLinkConfig { - s.PrivateLinkEndpoint = &v - return s -} - -// SetSecurityGroupArns sets the SecurityGroupArns field's value. -func (s *PrivateLinkConfig) SetSecurityGroupArns(v []*string) *PrivateLinkConfig { - s.SecurityGroupArns = v +// SetNetAppONTAPClusters sets the NetAppONTAPClusters field's value. +func (s *ResourceDetails) SetNetAppONTAPClusters(v []*NetAppONTAPCluster) *ResourceDetails { + s.NetAppONTAPClusters = v return s } -// SetSubnetArns sets the SubnetArns field's value. -func (s *PrivateLinkConfig) SetSubnetArns(v []*string) *PrivateLinkConfig { - s.SubnetArns = v +// SetNetAppONTAPSVMs sets the NetAppONTAPSVMs field's value. +func (s *ResourceDetails) SetNetAppONTAPSVMs(v []*NetAppONTAPSVM) *ResourceDetails { + s.NetAppONTAPSVMs = v return s } -// SetVpcEndpointId sets the VpcEndpointId field's value. -func (s *PrivateLinkConfig) SetVpcEndpointId(v string) *PrivateLinkConfig { - s.VpcEndpointId = &v +// SetNetAppONTAPVolumes sets the NetAppONTAPVolumes field's value. +func (s *ResourceDetails) SetNetAppONTAPVolumes(v []*NetAppONTAPVolume) *ResourceDetails { + s.NetAppONTAPVolumes = v return s } -// The Quality of Protection (QOP) configuration specifies the Remote Procedure -// Call (RPC) and data transfer privacy settings configured on the Hadoop Distributed -// File System (HDFS) cluster. -type QopConfiguration struct { +// Information, including performance data and capacity usage, provided by DataSync +// Discovery about a resource in your on-premises storage system. +type ResourceMetrics struct { _ struct{} `type:"structure"` - // The data transfer protection setting configured on the HDFS cluster. This - // setting corresponds to your dfs.data.transfer.protection setting in the hdfs-site.xml - // file on your Hadoop cluster. - DataTransferProtection *string `type:"string" enum:"HdfsDataTransferProtection"` + // The storage capacity of the on-premises storage system resource. + Capacity *Capacity `type:"structure"` - // The RPC protection setting configured on the HDFS cluster. This setting corresponds - // to your hadoop.rpc.protection setting in your core-site.xml file on your - // Hadoop cluster. - RpcProtection *string `type:"string" enum:"HdfsRpcProtection"` + // The types of performance data that DataSync Discovery collects about the + // on-premises storage system resource. + P95Metrics *P95Metrics `type:"structure"` + + // The universally unique identifier (UUID) of the on-premises storage system + // resource. + ResourceId *string `type:"string"` + + // The type of on-premises storage system resource. + ResourceType *string `type:"string" enum:"DiscoveryResourceType"` + + // The time when DataSync Discovery collected this information from the resource. + Timestamp *time.Time `type:"timestamp"` } // String returns the string representation. @@ -10207,7 +13859,7 @@ type QopConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s QopConfiguration) String() string { +func (s ResourceMetrics) String() string { return awsutil.Prettify(s) } @@ -10216,19 +13868,37 @@ func (s QopConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s QopConfiguration) GoString() string { +func (s ResourceMetrics) GoString() string { return s.String() } -// SetDataTransferProtection sets the DataTransferProtection field's value. -func (s *QopConfiguration) SetDataTransferProtection(v string) *QopConfiguration { - s.DataTransferProtection = &v +// SetCapacity sets the Capacity field's value. +func (s *ResourceMetrics) SetCapacity(v *Capacity) *ResourceMetrics { + s.Capacity = v return s } -// SetRpcProtection sets the RpcProtection field's value. -func (s *QopConfiguration) SetRpcProtection(v string) *QopConfiguration { - s.RpcProtection = &v +// SetP95Metrics sets the P95Metrics field's value. +func (s *ResourceMetrics) SetP95Metrics(v *P95Metrics) *ResourceMetrics { + s.P95Metrics = v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ResourceMetrics) SetResourceId(v string) *ResourceMetrics { + s.ResourceId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceMetrics) SetResourceType(v string) *ResourceMetrics { + s.ResourceType = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *ResourceMetrics) SetTimestamp(v time.Time) *ResourceMetrics { + s.Timestamp = &v return s } @@ -10295,11 +13965,11 @@ type SmbMountOptions struct { // // These are the following options for configuring the SMB version: // - // * AUTOMATIC (default): DataSync and the SMB file server negotiate a protocol - // version that they mutually support. (DataSync supports SMB versions 1.0 - // and later.) This is the recommended option. If you instead choose a specific - // version that your file server doesn't support, you may get an Operation - // Not Supported error. + // * AUTOMATIC (default): DataSync and the SMB file server negotiate the + // highest version of SMB that they mutually support between 2.1 and 3.1.1. + // This is the recommended option. If you instead choose a specific version + // that your file server doesn't support, you may get an Operation Not Supported + // error. // // * SMB3: Restricts the protocol negotiation to only SMB version 3.0.2. // @@ -10337,6 +14007,137 @@ func (s *SmbMountOptions) SetVersion(v string) *SmbMountOptions { return s } +type StartDiscoveryJobInput struct { + _ struct{} `type:"structure"` + + // Specifies a client token to make sure requests with this API operation are + // idempotent. If you don't specify a client token, DataSync generates one for + // you automatically. + ClientToken *string `type:"string" idempotencyToken:"true"` + + // Specifies in minutes how long you want the discovery job to run. + // + // For more accurate recommendations, we recommend a duration of at least 14 + // days. Longer durations allow time to collect a sufficient number of data + // points and provide a realistic representation of storage performance and + // utilization. + // + // CollectionDurationMinutes is a required field + CollectionDurationMinutes *int64 `min:"60" type:"integer" required:"true"` + + // Specifies the Amazon Resource Name (ARN) of the on-premises storage system + // that you want to run the discovery job on. + // + // StorageSystemArn is a required field + StorageSystemArn *string `type:"string" required:"true"` + + // Specifies labels that help you categorize, filter, and search for your Amazon + // Web Services resources. + Tags []*TagListEntry `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartDiscoveryJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartDiscoveryJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartDiscoveryJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartDiscoveryJobInput"} + if s.CollectionDurationMinutes == nil { + invalidParams.Add(request.NewErrParamRequired("CollectionDurationMinutes")) + } + if s.CollectionDurationMinutes != nil && *s.CollectionDurationMinutes < 60 { + invalidParams.Add(request.NewErrParamMinValue("CollectionDurationMinutes", 60)) + } + if s.StorageSystemArn == nil { + invalidParams.Add(request.NewErrParamRequired("StorageSystemArn")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *StartDiscoveryJobInput) SetClientToken(v string) *StartDiscoveryJobInput { + s.ClientToken = &v + return s +} + +// SetCollectionDurationMinutes sets the CollectionDurationMinutes field's value. +func (s *StartDiscoveryJobInput) SetCollectionDurationMinutes(v int64) *StartDiscoveryJobInput { + s.CollectionDurationMinutes = &v + return s +} + +// SetStorageSystemArn sets the StorageSystemArn field's value. +func (s *StartDiscoveryJobInput) SetStorageSystemArn(v string) *StartDiscoveryJobInput { + s.StorageSystemArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartDiscoveryJobInput) SetTags(v []*TagListEntry) *StartDiscoveryJobInput { + s.Tags = v + return s +} + +type StartDiscoveryJobOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the discovery job that you started. + DiscoveryJobArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartDiscoveryJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartDiscoveryJobOutput) GoString() string { + return s.String() +} + +// SetDiscoveryJobArn sets the DiscoveryJobArn field's value. +func (s *StartDiscoveryJobOutput) SetDiscoveryJobArn(v string) *StartDiscoveryJobOutput { + s.DiscoveryJobArn = &v + return s +} + // StartTaskExecutionRequest type StartTaskExecutionInput struct { _ struct{} `type:"structure"` @@ -10451,12 +14252,118 @@ func (s *StartTaskExecutionInput) SetTaskArn(v string) *StartTaskExecutionInput return s } -// StartTaskExecutionResponse -type StartTaskExecutionOutput struct { +// StartTaskExecutionResponse +type StartTaskExecutionOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the running task execution. + TaskExecutionArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartTaskExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartTaskExecutionOutput) GoString() string { + return s.String() +} + +// SetTaskExecutionArn sets the TaskExecutionArn field's value. +func (s *StartTaskExecutionOutput) SetTaskExecutionArn(v string) *StartTaskExecutionOutput { + s.TaskExecutionArn = &v + return s +} + +type StopDiscoveryJobInput struct { + _ struct{} `type:"structure"` + + // Specifies the Amazon Resource Name (ARN) of the discovery job that you want + // to stop. + // + // DiscoveryJobArn is a required field + DiscoveryJobArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopDiscoveryJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopDiscoveryJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopDiscoveryJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopDiscoveryJobInput"} + if s.DiscoveryJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("DiscoveryJobArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiscoveryJobArn sets the DiscoveryJobArn field's value. +func (s *StopDiscoveryJobInput) SetDiscoveryJobArn(v string) *StopDiscoveryJobInput { + s.DiscoveryJobArn = &v + return s +} + +type StopDiscoveryJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopDiscoveryJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopDiscoveryJobOutput) GoString() string { + return s.String() +} + +// Information that identifies an on-premises storage system that you're using +// with DataSync Discovery. +type StorageSystemListEntry struct { _ struct{} `type:"structure"` - // The ARN of the running task execution. - TaskExecutionArn *string `type:"string"` + // The name of an on-premises storage system that you added to DataSync Discovery. + Name *string `min:"1" type:"string"` + + // The Amazon Resource Names (ARN) of an on-premises storage system that you + // added to DataSync Discovery. + StorageSystemArn *string `type:"string"` } // String returns the string representation. @@ -10464,7 +14371,7 @@ type StartTaskExecutionOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StartTaskExecutionOutput) String() string { +func (s StorageSystemListEntry) String() string { return awsutil.Prettify(s) } @@ -10473,13 +14380,19 @@ func (s StartTaskExecutionOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StartTaskExecutionOutput) GoString() string { +func (s StorageSystemListEntry) GoString() string { return s.String() } -// SetTaskExecutionArn sets the TaskExecutionArn field's value. -func (s *StartTaskExecutionOutput) SetTaskExecutionArn(v string) *StartTaskExecutionOutput { - s.TaskExecutionArn = &v +// SetName sets the Name field's value. +func (s *StorageSystemListEntry) SetName(v string) *StorageSystemListEntry { + s.Name = &v + return s +} + +// SetStorageSystemArn sets the StorageSystemArn field's value. +func (s *StorageSystemListEntry) SetStorageSystemArn(v string) *StorageSystemListEntry { + s.StorageSystemArn = &v return s } @@ -10978,6 +14891,66 @@ func (s *TaskSchedule) SetScheduleExpression(v string) *TaskSchedule { return s } +// The throughput peaks for an on-premises storage system volume. Each data +// point represents the 95th percentile peak value during a 1-hour interval. +type Throughput struct { + _ struct{} `type:"structure"` + + // Peak throughput unrelated to read and write operations. + Other *float64 `type:"double"` + + // Peak throughput related to read operations. + Read *float64 `type:"double"` + + // Peak total throughput on your on-premises storage system resource. + Total *float64 `type:"double"` + + // Peak throughput related to write operations. + Write *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Throughput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Throughput) GoString() string { + return s.String() +} + +// SetOther sets the Other field's value. +func (s *Throughput) SetOther(v float64) *Throughput { + s.Other = &v + return s +} + +// SetRead sets the Read field's value. +func (s *Throughput) SetRead(v float64) *Throughput { + s.Read = &v + return s +} + +// SetTotal sets the Total field's value. +func (s *Throughput) SetTotal(v float64) *Throughput { + s.Total = &v + return s +} + +// SetWrite sets the Write field's value. +func (s *Throughput) SetWrite(v float64) *Throughput { + s.Write = &v + return s +} + // UntagResourceRequest type UntagResourceInput struct { _ struct{} `type:"structure"` @@ -11146,6 +15119,94 @@ func (s UpdateAgentOutput) GoString() string { return s.String() } +type UpdateDiscoveryJobInput struct { + _ struct{} `type:"structure"` + + // Specifies in minutes how long that you want the discovery job to run. (You + // can't set this parameter to less than the number of minutes that the job + // has already run for.) + // + // CollectionDurationMinutes is a required field + CollectionDurationMinutes *int64 `min:"60" type:"integer" required:"true"` + + // Specifies the Amazon Resource Name (ARN) of the discovery job that you want + // to update. + // + // DiscoveryJobArn is a required field + DiscoveryJobArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDiscoveryJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDiscoveryJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDiscoveryJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDiscoveryJobInput"} + if s.CollectionDurationMinutes == nil { + invalidParams.Add(request.NewErrParamRequired("CollectionDurationMinutes")) + } + if s.CollectionDurationMinutes != nil && *s.CollectionDurationMinutes < 60 { + invalidParams.Add(request.NewErrParamMinValue("CollectionDurationMinutes", 60)) + } + if s.DiscoveryJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("DiscoveryJobArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCollectionDurationMinutes sets the CollectionDurationMinutes field's value. +func (s *UpdateDiscoveryJobInput) SetCollectionDurationMinutes(v int64) *UpdateDiscoveryJobInput { + s.CollectionDurationMinutes = &v + return s +} + +// SetDiscoveryJobArn sets the DiscoveryJobArn field's value. +func (s *UpdateDiscoveryJobInput) SetDiscoveryJobArn(v string) *UpdateDiscoveryJobInput { + s.DiscoveryJobArn = &v + return s +} + +type UpdateDiscoveryJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDiscoveryJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDiscoveryJobOutput) GoString() string { + return s.String() +} + type UpdateLocationHdfsInput struct { _ struct{} `type:"structure"` @@ -11806,6 +15867,139 @@ func (s UpdateLocationSmbOutput) GoString() string { return s.String() } +type UpdateStorageSystemInput struct { + _ struct{} `type:"structure"` + + // Specifies the Amazon Resource Name (ARN) of the DataSync agent that connects + // to and reads your on-premises storage system. + AgentArns []*string `min:"1" type:"list"` + + // Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging + // discovery job events. + CloudWatchLogGroupArn *string `type:"string"` + + // Specifies the user name and password for accessing your on-premises storage + // system's management interface. + Credentials *Credentials `type:"structure"` + + // Specifies a familiar name for your on-premises storage system. + Name *string `min:"1" type:"string"` + + // Specifies the server name and network port required to connect with your + // on-premises storage system's management interface. + ServerConfiguration *DiscoveryServerConfiguration `type:"structure"` + + // Specifies the ARN of the on-premises storage system that you want reconfigure. + // + // StorageSystemArn is a required field + StorageSystemArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateStorageSystemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateStorageSystemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateStorageSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateStorageSystemInput"} + if s.AgentArns != nil && len(s.AgentArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.StorageSystemArn == nil { + invalidParams.Add(request.NewErrParamRequired("StorageSystemArn")) + } + if s.Credentials != nil { + if err := s.Credentials.Validate(); err != nil { + invalidParams.AddNested("Credentials", err.(request.ErrInvalidParams)) + } + } + if s.ServerConfiguration != nil { + if err := s.ServerConfiguration.Validate(); err != nil { + invalidParams.AddNested("ServerConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAgentArns sets the AgentArns field's value. +func (s *UpdateStorageSystemInput) SetAgentArns(v []*string) *UpdateStorageSystemInput { + s.AgentArns = v + return s +} + +// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value. +func (s *UpdateStorageSystemInput) SetCloudWatchLogGroupArn(v string) *UpdateStorageSystemInput { + s.CloudWatchLogGroupArn = &v + return s +} + +// SetCredentials sets the Credentials field's value. +func (s *UpdateStorageSystemInput) SetCredentials(v *Credentials) *UpdateStorageSystemInput { + s.Credentials = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateStorageSystemInput) SetName(v string) *UpdateStorageSystemInput { + s.Name = &v + return s +} + +// SetServerConfiguration sets the ServerConfiguration field's value. +func (s *UpdateStorageSystemInput) SetServerConfiguration(v *DiscoveryServerConfiguration) *UpdateStorageSystemInput { + s.ServerConfiguration = v + return s +} + +// SetStorageSystemArn sets the StorageSystemArn field's value. +func (s *UpdateStorageSystemInput) SetStorageSystemArn(v string) *UpdateStorageSystemInput { + s.StorageSystemArn = &v + return s +} + +type UpdateStorageSystemOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateStorageSystemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateStorageSystemOutput) GoString() string { + return s.String() +} + type UpdateTaskExecutionInput struct { _ struct{} `type:"structure"` @@ -11820,8 +16014,8 @@ type UpdateTaskExecutionInput struct { // Options is a required field Options *Options `type:"structure" required:"true"` - // The Amazon Resource Name (ARN) of the specific task execution that is being - // updated. + // Specifies the Amazon Resource Name (ARN) of the task execution that you're + // updating. // // TaskExecutionArn is a required field TaskExecutionArn *string `type:"string" required:"true"` @@ -12083,6 +16277,86 @@ func Atime_Values() []string { } } +const ( + // DiscoveryJobStatusRunning is a DiscoveryJobStatus enum value + DiscoveryJobStatusRunning = "RUNNING" + + // DiscoveryJobStatusWarning is a DiscoveryJobStatus enum value + DiscoveryJobStatusWarning = "WARNING" + + // DiscoveryJobStatusTerminated is a DiscoveryJobStatus enum value + DiscoveryJobStatusTerminated = "TERMINATED" + + // DiscoveryJobStatusFailed is a DiscoveryJobStatus enum value + DiscoveryJobStatusFailed = "FAILED" + + // DiscoveryJobStatusStopped is a DiscoveryJobStatus enum value + DiscoveryJobStatusStopped = "STOPPED" + + // DiscoveryJobStatusCompleted is a DiscoveryJobStatus enum value + DiscoveryJobStatusCompleted = "COMPLETED" + + // DiscoveryJobStatusCompletedWithIssues is a DiscoveryJobStatus enum value + DiscoveryJobStatusCompletedWithIssues = "COMPLETED_WITH_ISSUES" +) + +// DiscoveryJobStatus_Values returns all elements of the DiscoveryJobStatus enum +func DiscoveryJobStatus_Values() []string { + return []string{ + DiscoveryJobStatusRunning, + DiscoveryJobStatusWarning, + DiscoveryJobStatusTerminated, + DiscoveryJobStatusFailed, + DiscoveryJobStatusStopped, + DiscoveryJobStatusCompleted, + DiscoveryJobStatusCompletedWithIssues, + } +} + +const ( + // DiscoveryResourceFilterSvm is a DiscoveryResourceFilter enum value + DiscoveryResourceFilterSvm = "SVM" +) + +// DiscoveryResourceFilter_Values returns all elements of the DiscoveryResourceFilter enum +func DiscoveryResourceFilter_Values() []string { + return []string{ + DiscoveryResourceFilterSvm, + } +} + +const ( + // DiscoveryResourceTypeSvm is a DiscoveryResourceType enum value + DiscoveryResourceTypeSvm = "SVM" + + // DiscoveryResourceTypeVolume is a DiscoveryResourceType enum value + DiscoveryResourceTypeVolume = "VOLUME" + + // DiscoveryResourceTypeCluster is a DiscoveryResourceType enum value + DiscoveryResourceTypeCluster = "CLUSTER" +) + +// DiscoveryResourceType_Values returns all elements of the DiscoveryResourceType enum +func DiscoveryResourceType_Values() []string { + return []string{ + DiscoveryResourceTypeSvm, + DiscoveryResourceTypeVolume, + DiscoveryResourceTypeCluster, + } +} + +const ( + // DiscoverySystemTypeNetAppOntap is a DiscoverySystemType enum value + DiscoverySystemTypeNetAppOntap = "NetAppONTAP" +) + +// DiscoverySystemType_Values returns all elements of the DiscoverySystemType enum +func DiscoverySystemType_Values() []string { + return []string{ + DiscoverySystemTypeNetAppOntap, + } +} + const ( // EfsInTransitEncryptionNone is a EfsInTransitEncryption enum value EfsInTransitEncryptionNone = "NONE" @@ -12463,6 +16737,30 @@ func PreserveDevices_Values() []string { } } +const ( + // RecommendationStatusNone is a RecommendationStatus enum value + RecommendationStatusNone = "NONE" + + // RecommendationStatusInProgress is a RecommendationStatus enum value + RecommendationStatusInProgress = "IN_PROGRESS" + + // RecommendationStatusCompleted is a RecommendationStatus enum value + RecommendationStatusCompleted = "COMPLETED" + + // RecommendationStatusFailed is a RecommendationStatus enum value + RecommendationStatusFailed = "FAILED" +) + +// RecommendationStatus_Values returns all elements of the RecommendationStatus enum +func RecommendationStatus_Values() []string { + return []string{ + RecommendationStatusNone, + RecommendationStatusInProgress, + RecommendationStatusCompleted, + RecommendationStatusFailed, + } +} + const ( // S3StorageClassStandard is a S3StorageClass enum value S3StorageClassStandard = "STANDARD" @@ -12551,6 +16849,26 @@ func SmbVersion_Values() []string { } } +const ( + // StorageSystemConnectivityStatusPass is a StorageSystemConnectivityStatus enum value + StorageSystemConnectivityStatusPass = "PASS" + + // StorageSystemConnectivityStatusFail is a StorageSystemConnectivityStatus enum value + StorageSystemConnectivityStatusFail = "FAIL" + + // StorageSystemConnectivityStatusUnknown is a StorageSystemConnectivityStatus enum value + StorageSystemConnectivityStatusUnknown = "UNKNOWN" +) + +// StorageSystemConnectivityStatus_Values returns all elements of the StorageSystemConnectivityStatus enum +func StorageSystemConnectivityStatus_Values() []string { + return []string{ + StorageSystemConnectivityStatusPass, + StorageSystemConnectivityStatusFail, + StorageSystemConnectivityStatusUnknown, + } +} + const ( // TaskExecutionStatusQueued is a TaskExecutionStatus enum value TaskExecutionStatusQueued = "QUEUED" diff --git a/service/datasync/datasynciface/interface.go b/service/datasync/datasynciface/interface.go index e1e9802e2e6..3c49d1679bb 100644 --- a/service/datasync/datasynciface/interface.go +++ b/service/datasync/datasynciface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // AWS DataSync. // func myFunc(svc datasynciface.DataSyncAPI) bool { -// // Make svc.CancelTaskExecution request +// // Make svc.AddStorageSystem request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockDataSyncClient struct { // datasynciface.DataSyncAPI // } -// func (m *mockDataSyncClient) CancelTaskExecution(input *datasync.CancelTaskExecutionInput) (*datasync.CancelTaskExecutionOutput, error) { +// func (m *mockDataSyncClient) AddStorageSystem(input *datasync.AddStorageSystemInput) (*datasync.AddStorageSystemOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type DataSyncAPI interface { + AddStorageSystem(*datasync.AddStorageSystemInput) (*datasync.AddStorageSystemOutput, error) + AddStorageSystemWithContext(aws.Context, *datasync.AddStorageSystemInput, ...request.Option) (*datasync.AddStorageSystemOutput, error) + AddStorageSystemRequest(*datasync.AddStorageSystemInput) (*request.Request, *datasync.AddStorageSystemOutput) + CancelTaskExecution(*datasync.CancelTaskExecutionInput) (*datasync.CancelTaskExecutionOutput, error) CancelTaskExecutionWithContext(aws.Context, *datasync.CancelTaskExecutionInput, ...request.Option) (*datasync.CancelTaskExecutionOutput, error) CancelTaskExecutionRequest(*datasync.CancelTaskExecutionInput) (*request.Request, *datasync.CancelTaskExecutionOutput) @@ -128,6 +132,10 @@ type DataSyncAPI interface { DescribeAgentWithContext(aws.Context, *datasync.DescribeAgentInput, ...request.Option) (*datasync.DescribeAgentOutput, error) DescribeAgentRequest(*datasync.DescribeAgentInput) (*request.Request, *datasync.DescribeAgentOutput) + DescribeDiscoveryJob(*datasync.DescribeDiscoveryJobInput) (*datasync.DescribeDiscoveryJobOutput, error) + DescribeDiscoveryJobWithContext(aws.Context, *datasync.DescribeDiscoveryJobInput, ...request.Option) (*datasync.DescribeDiscoveryJobOutput, error) + DescribeDiscoveryJobRequest(*datasync.DescribeDiscoveryJobInput) (*request.Request, *datasync.DescribeDiscoveryJobOutput) + DescribeLocationEfs(*datasync.DescribeLocationEfsInput) (*datasync.DescribeLocationEfsOutput, error) DescribeLocationEfsWithContext(aws.Context, *datasync.DescribeLocationEfsInput, ...request.Option) (*datasync.DescribeLocationEfsOutput, error) DescribeLocationEfsRequest(*datasync.DescribeLocationEfsInput) (*request.Request, *datasync.DescribeLocationEfsOutput) @@ -168,6 +176,24 @@ type DataSyncAPI interface { DescribeLocationSmbWithContext(aws.Context, *datasync.DescribeLocationSmbInput, ...request.Option) (*datasync.DescribeLocationSmbOutput, error) DescribeLocationSmbRequest(*datasync.DescribeLocationSmbInput) (*request.Request, *datasync.DescribeLocationSmbOutput) + DescribeStorageSystem(*datasync.DescribeStorageSystemInput) (*datasync.DescribeStorageSystemOutput, error) + DescribeStorageSystemWithContext(aws.Context, *datasync.DescribeStorageSystemInput, ...request.Option) (*datasync.DescribeStorageSystemOutput, error) + DescribeStorageSystemRequest(*datasync.DescribeStorageSystemInput) (*request.Request, *datasync.DescribeStorageSystemOutput) + + DescribeStorageSystemResourceMetrics(*datasync.DescribeStorageSystemResourceMetricsInput) (*datasync.DescribeStorageSystemResourceMetricsOutput, error) + DescribeStorageSystemResourceMetricsWithContext(aws.Context, *datasync.DescribeStorageSystemResourceMetricsInput, ...request.Option) (*datasync.DescribeStorageSystemResourceMetricsOutput, error) + DescribeStorageSystemResourceMetricsRequest(*datasync.DescribeStorageSystemResourceMetricsInput) (*request.Request, *datasync.DescribeStorageSystemResourceMetricsOutput) + + DescribeStorageSystemResourceMetricsPages(*datasync.DescribeStorageSystemResourceMetricsInput, func(*datasync.DescribeStorageSystemResourceMetricsOutput, bool) bool) error + DescribeStorageSystemResourceMetricsPagesWithContext(aws.Context, *datasync.DescribeStorageSystemResourceMetricsInput, func(*datasync.DescribeStorageSystemResourceMetricsOutput, bool) bool, ...request.Option) error + + DescribeStorageSystemResources(*datasync.DescribeStorageSystemResourcesInput) (*datasync.DescribeStorageSystemResourcesOutput, error) + DescribeStorageSystemResourcesWithContext(aws.Context, *datasync.DescribeStorageSystemResourcesInput, ...request.Option) (*datasync.DescribeStorageSystemResourcesOutput, error) + DescribeStorageSystemResourcesRequest(*datasync.DescribeStorageSystemResourcesInput) (*request.Request, *datasync.DescribeStorageSystemResourcesOutput) + + DescribeStorageSystemResourcesPages(*datasync.DescribeStorageSystemResourcesInput, func(*datasync.DescribeStorageSystemResourcesOutput, bool) bool) error + DescribeStorageSystemResourcesPagesWithContext(aws.Context, *datasync.DescribeStorageSystemResourcesInput, func(*datasync.DescribeStorageSystemResourcesOutput, bool) bool, ...request.Option) error + DescribeTask(*datasync.DescribeTaskInput) (*datasync.DescribeTaskOutput, error) DescribeTaskWithContext(aws.Context, *datasync.DescribeTaskInput, ...request.Option) (*datasync.DescribeTaskOutput, error) DescribeTaskRequest(*datasync.DescribeTaskInput) (*request.Request, *datasync.DescribeTaskOutput) @@ -176,6 +202,10 @@ type DataSyncAPI interface { DescribeTaskExecutionWithContext(aws.Context, *datasync.DescribeTaskExecutionInput, ...request.Option) (*datasync.DescribeTaskExecutionOutput, error) DescribeTaskExecutionRequest(*datasync.DescribeTaskExecutionInput) (*request.Request, *datasync.DescribeTaskExecutionOutput) + GenerateRecommendations(*datasync.GenerateRecommendationsInput) (*datasync.GenerateRecommendationsOutput, error) + GenerateRecommendationsWithContext(aws.Context, *datasync.GenerateRecommendationsInput, ...request.Option) (*datasync.GenerateRecommendationsOutput, error) + GenerateRecommendationsRequest(*datasync.GenerateRecommendationsInput) (*request.Request, *datasync.GenerateRecommendationsOutput) + ListAgents(*datasync.ListAgentsInput) (*datasync.ListAgentsOutput, error) ListAgentsWithContext(aws.Context, *datasync.ListAgentsInput, ...request.Option) (*datasync.ListAgentsOutput, error) ListAgentsRequest(*datasync.ListAgentsInput) (*request.Request, *datasync.ListAgentsOutput) @@ -183,6 +213,13 @@ type DataSyncAPI interface { ListAgentsPages(*datasync.ListAgentsInput, func(*datasync.ListAgentsOutput, bool) bool) error ListAgentsPagesWithContext(aws.Context, *datasync.ListAgentsInput, func(*datasync.ListAgentsOutput, bool) bool, ...request.Option) error + ListDiscoveryJobs(*datasync.ListDiscoveryJobsInput) (*datasync.ListDiscoveryJobsOutput, error) + ListDiscoveryJobsWithContext(aws.Context, *datasync.ListDiscoveryJobsInput, ...request.Option) (*datasync.ListDiscoveryJobsOutput, error) + ListDiscoveryJobsRequest(*datasync.ListDiscoveryJobsInput) (*request.Request, *datasync.ListDiscoveryJobsOutput) + + ListDiscoveryJobsPages(*datasync.ListDiscoveryJobsInput, func(*datasync.ListDiscoveryJobsOutput, bool) bool) error + ListDiscoveryJobsPagesWithContext(aws.Context, *datasync.ListDiscoveryJobsInput, func(*datasync.ListDiscoveryJobsOutput, bool) bool, ...request.Option) error + ListLocations(*datasync.ListLocationsInput) (*datasync.ListLocationsOutput, error) ListLocationsWithContext(aws.Context, *datasync.ListLocationsInput, ...request.Option) (*datasync.ListLocationsOutput, error) ListLocationsRequest(*datasync.ListLocationsInput) (*request.Request, *datasync.ListLocationsOutput) @@ -190,6 +227,13 @@ type DataSyncAPI interface { ListLocationsPages(*datasync.ListLocationsInput, func(*datasync.ListLocationsOutput, bool) bool) error ListLocationsPagesWithContext(aws.Context, *datasync.ListLocationsInput, func(*datasync.ListLocationsOutput, bool) bool, ...request.Option) error + ListStorageSystems(*datasync.ListStorageSystemsInput) (*datasync.ListStorageSystemsOutput, error) + ListStorageSystemsWithContext(aws.Context, *datasync.ListStorageSystemsInput, ...request.Option) (*datasync.ListStorageSystemsOutput, error) + ListStorageSystemsRequest(*datasync.ListStorageSystemsInput) (*request.Request, *datasync.ListStorageSystemsOutput) + + ListStorageSystemsPages(*datasync.ListStorageSystemsInput, func(*datasync.ListStorageSystemsOutput, bool) bool) error + ListStorageSystemsPagesWithContext(aws.Context, *datasync.ListStorageSystemsInput, func(*datasync.ListStorageSystemsOutput, bool) bool, ...request.Option) error + ListTagsForResource(*datasync.ListTagsForResourceInput) (*datasync.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *datasync.ListTagsForResourceInput, ...request.Option) (*datasync.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*datasync.ListTagsForResourceInput) (*request.Request, *datasync.ListTagsForResourceOutput) @@ -211,10 +255,22 @@ type DataSyncAPI interface { ListTasksPages(*datasync.ListTasksInput, func(*datasync.ListTasksOutput, bool) bool) error ListTasksPagesWithContext(aws.Context, *datasync.ListTasksInput, func(*datasync.ListTasksOutput, bool) bool, ...request.Option) error + RemoveStorageSystem(*datasync.RemoveStorageSystemInput) (*datasync.RemoveStorageSystemOutput, error) + RemoveStorageSystemWithContext(aws.Context, *datasync.RemoveStorageSystemInput, ...request.Option) (*datasync.RemoveStorageSystemOutput, error) + RemoveStorageSystemRequest(*datasync.RemoveStorageSystemInput) (*request.Request, *datasync.RemoveStorageSystemOutput) + + StartDiscoveryJob(*datasync.StartDiscoveryJobInput) (*datasync.StartDiscoveryJobOutput, error) + StartDiscoveryJobWithContext(aws.Context, *datasync.StartDiscoveryJobInput, ...request.Option) (*datasync.StartDiscoveryJobOutput, error) + StartDiscoveryJobRequest(*datasync.StartDiscoveryJobInput) (*request.Request, *datasync.StartDiscoveryJobOutput) + StartTaskExecution(*datasync.StartTaskExecutionInput) (*datasync.StartTaskExecutionOutput, error) StartTaskExecutionWithContext(aws.Context, *datasync.StartTaskExecutionInput, ...request.Option) (*datasync.StartTaskExecutionOutput, error) StartTaskExecutionRequest(*datasync.StartTaskExecutionInput) (*request.Request, *datasync.StartTaskExecutionOutput) + StopDiscoveryJob(*datasync.StopDiscoveryJobInput) (*datasync.StopDiscoveryJobOutput, error) + StopDiscoveryJobWithContext(aws.Context, *datasync.StopDiscoveryJobInput, ...request.Option) (*datasync.StopDiscoveryJobOutput, error) + StopDiscoveryJobRequest(*datasync.StopDiscoveryJobInput) (*request.Request, *datasync.StopDiscoveryJobOutput) + TagResource(*datasync.TagResourceInput) (*datasync.TagResourceOutput, error) TagResourceWithContext(aws.Context, *datasync.TagResourceInput, ...request.Option) (*datasync.TagResourceOutput, error) TagResourceRequest(*datasync.TagResourceInput) (*request.Request, *datasync.TagResourceOutput) @@ -227,6 +283,10 @@ type DataSyncAPI interface { UpdateAgentWithContext(aws.Context, *datasync.UpdateAgentInput, ...request.Option) (*datasync.UpdateAgentOutput, error) UpdateAgentRequest(*datasync.UpdateAgentInput) (*request.Request, *datasync.UpdateAgentOutput) + UpdateDiscoveryJob(*datasync.UpdateDiscoveryJobInput) (*datasync.UpdateDiscoveryJobOutput, error) + UpdateDiscoveryJobWithContext(aws.Context, *datasync.UpdateDiscoveryJobInput, ...request.Option) (*datasync.UpdateDiscoveryJobOutput, error) + UpdateDiscoveryJobRequest(*datasync.UpdateDiscoveryJobInput) (*request.Request, *datasync.UpdateDiscoveryJobOutput) + UpdateLocationHdfs(*datasync.UpdateLocationHdfsInput) (*datasync.UpdateLocationHdfsOutput, error) UpdateLocationHdfsWithContext(aws.Context, *datasync.UpdateLocationHdfsInput, ...request.Option) (*datasync.UpdateLocationHdfsOutput, error) UpdateLocationHdfsRequest(*datasync.UpdateLocationHdfsInput) (*request.Request, *datasync.UpdateLocationHdfsOutput) @@ -243,6 +303,10 @@ type DataSyncAPI interface { UpdateLocationSmbWithContext(aws.Context, *datasync.UpdateLocationSmbInput, ...request.Option) (*datasync.UpdateLocationSmbOutput, error) UpdateLocationSmbRequest(*datasync.UpdateLocationSmbInput) (*request.Request, *datasync.UpdateLocationSmbOutput) + UpdateStorageSystem(*datasync.UpdateStorageSystemInput) (*datasync.UpdateStorageSystemOutput, error) + UpdateStorageSystemWithContext(aws.Context, *datasync.UpdateStorageSystemInput, ...request.Option) (*datasync.UpdateStorageSystemOutput, error) + UpdateStorageSystemRequest(*datasync.UpdateStorageSystemInput) (*request.Request, *datasync.UpdateStorageSystemOutput) + UpdateTask(*datasync.UpdateTaskInput) (*datasync.UpdateTaskOutput, error) UpdateTaskWithContext(aws.Context, *datasync.UpdateTaskInput, ...request.Option) (*datasync.UpdateTaskOutput, error) UpdateTaskRequest(*datasync.UpdateTaskInput) (*request.Request, *datasync.UpdateTaskOutput) diff --git a/service/directoryservice/api.go b/service/directoryservice/api.go index b71cfd4437b..bd6a9911758 100644 --- a/service/directoryservice/api.go +++ b/service/directoryservice/api.go @@ -17213,12 +17213,18 @@ func (s *Setting) SetValue(v string) *Setting { type SettingEntry struct { _ struct{} `type:"structure"` - // The valid range of values for the directory setting. + // The valid range of values for the directory setting. These values depend + // on the DataType of your directory. AllowedValues *string `type:"string"` // The value of the directory setting that is applied to the directory. AppliedValue *string `min:"1" type:"string"` + // The data type of a directory setting. This is used to define the AllowedValues + // of a setting. For example a data type can be Boolean, DurationInSeconds, + // or Enum. + DataType *string `type:"string"` + // The date and time when the request to update a directory setting was last // submitted. LastRequestedDateTime *time.Time `type:"timestamp"` @@ -17247,7 +17253,8 @@ type SettingEntry struct { // The value that was last requested for the directory setting. RequestedValue *string `min:"1" type:"string"` - // The type of directory setting. For example, Protocol or Cipher. + // The type, or category, of a directory setting. Similar settings have the + // same type. For example, Protocol, Cipher, or Certificate-Based Authentication. Type *string `type:"string"` } @@ -17281,6 +17288,12 @@ func (s *SettingEntry) SetAppliedValue(v string) *SettingEntry { return s } +// SetDataType sets the DataType field's value. +func (s *SettingEntry) SetDataType(v string) *SettingEntry { + s.DataType = &v + return s +} + // SetLastRequestedDateTime sets the LastRequestedDateTime field's value. func (s *SettingEntry) SetLastRequestedDateTime(v time.Time) *SettingEntry { s.LastRequestedDateTime = &v diff --git a/service/pinpoint/api.go b/service/pinpoint/api.go index 5137dd50498..687b7149783 100644 --- a/service/pinpoint/api.go +++ b/service/pinpoint/api.go @@ -6525,58 +6525,58 @@ func (c *Pinpoint) GetJourneyExecutionMetricsWithContext(ctx aws.Context, input return out, req.Send() } -const opGetPushTemplate = "GetPushTemplate" +const opGetJourneyRunExecutionActivityMetrics = "GetJourneyRunExecutionActivityMetrics" -// GetPushTemplateRequest generates a "aws/request.Request" representing the -// client's request for the GetPushTemplate operation. The "output" return +// GetJourneyRunExecutionActivityMetricsRequest generates a "aws/request.Request" representing the +// client's request for the GetJourneyRunExecutionActivityMetrics operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetPushTemplate for more information on using the GetPushTemplate +// See GetJourneyRunExecutionActivityMetrics for more information on using the GetJourneyRunExecutionActivityMetrics // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetPushTemplateRequest method. -// req, resp := client.GetPushTemplateRequest(params) +// // Example sending a request using the GetJourneyRunExecutionActivityMetricsRequest method. +// req, resp := client.GetJourneyRunExecutionActivityMetricsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate -func (c *Pinpoint) GetPushTemplateRequest(input *GetPushTemplateInput) (req *request.Request, output *GetPushTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyRunExecutionActivityMetrics +func (c *Pinpoint) GetJourneyRunExecutionActivityMetricsRequest(input *GetJourneyRunExecutionActivityMetricsInput) (req *request.Request, output *GetJourneyRunExecutionActivityMetricsOutput) { op := &request.Operation{ - Name: opGetPushTemplate, + Name: opGetJourneyRunExecutionActivityMetrics, HTTPMethod: "GET", - HTTPPath: "/v1/templates/{template-name}/push", + HTTPPath: "/v1/apps/{application-id}/journeys/{journey-id}/runs/{run-id}/activities/{journey-activity-id}/execution-metrics", } if input == nil { - input = &GetPushTemplateInput{} + input = &GetJourneyRunExecutionActivityMetricsInput{} } - output = &GetPushTemplateOutput{} + output = &GetJourneyRunExecutionActivityMetricsOutput{} req = c.newRequest(op, input, output) return } -// GetPushTemplate API operation for Amazon Pinpoint. +// GetJourneyRunExecutionActivityMetrics API operation for Amazon Pinpoint. // -// Retrieves the content and settings of a message template for messages that -// are sent through a push notification channel. +// Retrieves (queries) pre-aggregated data for a standard run execution metric +// that applies to a journey activity. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetPushTemplate for usage and error information. +// API operation GetJourneyRunExecutionActivityMetrics for usage and error information. // // Returned Error Types: // @@ -6601,80 +6601,80 @@ func (c *Pinpoint) GetPushTemplateRequest(input *GetPushTemplateInput) (req *req // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate -func (c *Pinpoint) GetPushTemplate(input *GetPushTemplateInput) (*GetPushTemplateOutput, error) { - req, out := c.GetPushTemplateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyRunExecutionActivityMetrics +func (c *Pinpoint) GetJourneyRunExecutionActivityMetrics(input *GetJourneyRunExecutionActivityMetricsInput) (*GetJourneyRunExecutionActivityMetricsOutput, error) { + req, out := c.GetJourneyRunExecutionActivityMetricsRequest(input) return out, req.Send() } -// GetPushTemplateWithContext is the same as GetPushTemplate with the addition of +// GetJourneyRunExecutionActivityMetricsWithContext is the same as GetJourneyRunExecutionActivityMetrics with the addition of // the ability to pass a context and additional request options. // -// See GetPushTemplate for details on how to use this API operation. +// See GetJourneyRunExecutionActivityMetrics for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetPushTemplateWithContext(ctx aws.Context, input *GetPushTemplateInput, opts ...request.Option) (*GetPushTemplateOutput, error) { - req, out := c.GetPushTemplateRequest(input) +func (c *Pinpoint) GetJourneyRunExecutionActivityMetricsWithContext(ctx aws.Context, input *GetJourneyRunExecutionActivityMetricsInput, opts ...request.Option) (*GetJourneyRunExecutionActivityMetricsOutput, error) { + req, out := c.GetJourneyRunExecutionActivityMetricsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRecommenderConfiguration = "GetRecommenderConfiguration" +const opGetJourneyRunExecutionMetrics = "GetJourneyRunExecutionMetrics" -// GetRecommenderConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the GetRecommenderConfiguration operation. The "output" return +// GetJourneyRunExecutionMetricsRequest generates a "aws/request.Request" representing the +// client's request for the GetJourneyRunExecutionMetrics operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRecommenderConfiguration for more information on using the GetRecommenderConfiguration +// See GetJourneyRunExecutionMetrics for more information on using the GetJourneyRunExecutionMetrics // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetRecommenderConfigurationRequest method. -// req, resp := client.GetRecommenderConfigurationRequest(params) +// // Example sending a request using the GetJourneyRunExecutionMetricsRequest method. +// req, resp := client.GetJourneyRunExecutionMetricsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfiguration -func (c *Pinpoint) GetRecommenderConfigurationRequest(input *GetRecommenderConfigurationInput) (req *request.Request, output *GetRecommenderConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyRunExecutionMetrics +func (c *Pinpoint) GetJourneyRunExecutionMetricsRequest(input *GetJourneyRunExecutionMetricsInput) (req *request.Request, output *GetJourneyRunExecutionMetricsOutput) { op := &request.Operation{ - Name: opGetRecommenderConfiguration, + Name: opGetJourneyRunExecutionMetrics, HTTPMethod: "GET", - HTTPPath: "/v1/recommenders/{recommender-id}", + HTTPPath: "/v1/apps/{application-id}/journeys/{journey-id}/runs/{run-id}/execution-metrics", } if input == nil { - input = &GetRecommenderConfigurationInput{} + input = &GetJourneyRunExecutionMetricsInput{} } - output = &GetRecommenderConfigurationOutput{} + output = &GetJourneyRunExecutionMetricsOutput{} req = c.newRequest(op, input, output) return } -// GetRecommenderConfiguration API operation for Amazon Pinpoint. +// GetJourneyRunExecutionMetrics API operation for Amazon Pinpoint. // -// Retrieves information about an Amazon Pinpoint configuration for a recommender -// model. +// Retrieves (queries) pre-aggregated data for a standard run execution metric +// that applies to a journey. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetRecommenderConfiguration for usage and error information. +// API operation GetJourneyRunExecutionMetrics for usage and error information. // // Returned Error Types: // @@ -6699,80 +6699,79 @@ func (c *Pinpoint) GetRecommenderConfigurationRequest(input *GetRecommenderConfi // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfiguration -func (c *Pinpoint) GetRecommenderConfiguration(input *GetRecommenderConfigurationInput) (*GetRecommenderConfigurationOutput, error) { - req, out := c.GetRecommenderConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyRunExecutionMetrics +func (c *Pinpoint) GetJourneyRunExecutionMetrics(input *GetJourneyRunExecutionMetricsInput) (*GetJourneyRunExecutionMetricsOutput, error) { + req, out := c.GetJourneyRunExecutionMetricsRequest(input) return out, req.Send() } -// GetRecommenderConfigurationWithContext is the same as GetRecommenderConfiguration with the addition of +// GetJourneyRunExecutionMetricsWithContext is the same as GetJourneyRunExecutionMetrics with the addition of // the ability to pass a context and additional request options. // -// See GetRecommenderConfiguration for details on how to use this API operation. +// See GetJourneyRunExecutionMetrics for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetRecommenderConfigurationWithContext(ctx aws.Context, input *GetRecommenderConfigurationInput, opts ...request.Option) (*GetRecommenderConfigurationOutput, error) { - req, out := c.GetRecommenderConfigurationRequest(input) +func (c *Pinpoint) GetJourneyRunExecutionMetricsWithContext(ctx aws.Context, input *GetJourneyRunExecutionMetricsInput, opts ...request.Option) (*GetJourneyRunExecutionMetricsOutput, error) { + req, out := c.GetJourneyRunExecutionMetricsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRecommenderConfigurations = "GetRecommenderConfigurations" +const opGetJourneyRuns = "GetJourneyRuns" -// GetRecommenderConfigurationsRequest generates a "aws/request.Request" representing the -// client's request for the GetRecommenderConfigurations operation. The "output" return +// GetJourneyRunsRequest generates a "aws/request.Request" representing the +// client's request for the GetJourneyRuns operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRecommenderConfigurations for more information on using the GetRecommenderConfigurations +// See GetJourneyRuns for more information on using the GetJourneyRuns // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetRecommenderConfigurationsRequest method. -// req, resp := client.GetRecommenderConfigurationsRequest(params) +// // Example sending a request using the GetJourneyRunsRequest method. +// req, resp := client.GetJourneyRunsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfigurations -func (c *Pinpoint) GetRecommenderConfigurationsRequest(input *GetRecommenderConfigurationsInput) (req *request.Request, output *GetRecommenderConfigurationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyRuns +func (c *Pinpoint) GetJourneyRunsRequest(input *GetJourneyRunsInput) (req *request.Request, output *GetJourneyRunsOutput) { op := &request.Operation{ - Name: opGetRecommenderConfigurations, + Name: opGetJourneyRuns, HTTPMethod: "GET", - HTTPPath: "/v1/recommenders", + HTTPPath: "/v1/apps/{application-id}/journeys/{journey-id}/runs", } if input == nil { - input = &GetRecommenderConfigurationsInput{} + input = &GetJourneyRunsInput{} } - output = &GetRecommenderConfigurationsOutput{} + output = &GetJourneyRunsOutput{} req = c.newRequest(op, input, output) return } -// GetRecommenderConfigurations API operation for Amazon Pinpoint. +// GetJourneyRuns API operation for Amazon Pinpoint. // -// Retrieves information about all the recommender model configurations that -// are associated with your Amazon Pinpoint account. +// Provides information about the runs of a journey. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetRecommenderConfigurations for usage and error information. +// API operation GetJourneyRuns for usage and error information. // // Returned Error Types: // @@ -6797,80 +6796,80 @@ func (c *Pinpoint) GetRecommenderConfigurationsRequest(input *GetRecommenderConf // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfigurations -func (c *Pinpoint) GetRecommenderConfigurations(input *GetRecommenderConfigurationsInput) (*GetRecommenderConfigurationsOutput, error) { - req, out := c.GetRecommenderConfigurationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetJourneyRuns +func (c *Pinpoint) GetJourneyRuns(input *GetJourneyRunsInput) (*GetJourneyRunsOutput, error) { + req, out := c.GetJourneyRunsRequest(input) return out, req.Send() } -// GetRecommenderConfigurationsWithContext is the same as GetRecommenderConfigurations with the addition of +// GetJourneyRunsWithContext is the same as GetJourneyRuns with the addition of // the ability to pass a context and additional request options. // -// See GetRecommenderConfigurations for details on how to use this API operation. +// See GetJourneyRuns for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetRecommenderConfigurationsWithContext(ctx aws.Context, input *GetRecommenderConfigurationsInput, opts ...request.Option) (*GetRecommenderConfigurationsOutput, error) { - req, out := c.GetRecommenderConfigurationsRequest(input) +func (c *Pinpoint) GetJourneyRunsWithContext(ctx aws.Context, input *GetJourneyRunsInput, opts ...request.Option) (*GetJourneyRunsOutput, error) { + req, out := c.GetJourneyRunsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegment = "GetSegment" +const opGetPushTemplate = "GetPushTemplate" -// GetSegmentRequest generates a "aws/request.Request" representing the -// client's request for the GetSegment operation. The "output" return +// GetPushTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetPushTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetSegment for more information on using the GetSegment +// See GetPushTemplate for more information on using the GetPushTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetSegmentRequest method. -// req, resp := client.GetSegmentRequest(params) +// // Example sending a request using the GetPushTemplateRequest method. +// req, resp := client.GetPushTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment -func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate +func (c *Pinpoint) GetPushTemplateRequest(input *GetPushTemplateInput) (req *request.Request, output *GetPushTemplateOutput) { op := &request.Operation{ - Name: opGetSegment, + Name: opGetPushTemplate, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}", + HTTPPath: "/v1/templates/{template-name}/push", } if input == nil { - input = &GetSegmentInput{} + input = &GetPushTemplateInput{} } - output = &GetSegmentOutput{} + output = &GetPushTemplateOutput{} req = c.newRequest(op, input, output) return } -// GetSegment API operation for Amazon Pinpoint. +// GetPushTemplate API operation for Amazon Pinpoint. // -// Retrieves information about the configuration, dimension, and other settings -// for a specific segment that's associated with an application. +// Retrieves the content and settings of a message template for messages that +// are sent through a push notification channel. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetSegment for usage and error information. +// API operation GetPushTemplate for usage and error information. // // Returned Error Types: // @@ -6895,80 +6894,80 @@ func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Reque // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment -func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) { - req, out := c.GetSegmentRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetPushTemplate +func (c *Pinpoint) GetPushTemplate(input *GetPushTemplateInput) (*GetPushTemplateOutput, error) { + req, out := c.GetPushTemplateRequest(input) return out, req.Send() } -// GetSegmentWithContext is the same as GetSegment with the addition of +// GetPushTemplateWithContext is the same as GetPushTemplate with the addition of // the ability to pass a context and additional request options. // -// See GetSegment for details on how to use this API operation. +// See GetPushTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetSegmentWithContext(ctx aws.Context, input *GetSegmentInput, opts ...request.Option) (*GetSegmentOutput, error) { - req, out := c.GetSegmentRequest(input) +func (c *Pinpoint) GetPushTemplateWithContext(ctx aws.Context, input *GetPushTemplateInput, opts ...request.Option) (*GetPushTemplateOutput, error) { + req, out := c.GetPushTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegmentExportJobs = "GetSegmentExportJobs" +const opGetRecommenderConfiguration = "GetRecommenderConfiguration" -// GetSegmentExportJobsRequest generates a "aws/request.Request" representing the -// client's request for the GetSegmentExportJobs operation. The "output" return +// GetRecommenderConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetRecommenderConfiguration operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetSegmentExportJobs for more information on using the GetSegmentExportJobs +// See GetRecommenderConfiguration for more information on using the GetRecommenderConfiguration // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetSegmentExportJobsRequest method. -// req, resp := client.GetSegmentExportJobsRequest(params) +// // Example sending a request using the GetRecommenderConfigurationRequest method. +// req, resp := client.GetRecommenderConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs -func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) (req *request.Request, output *GetSegmentExportJobsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfiguration +func (c *Pinpoint) GetRecommenderConfigurationRequest(input *GetRecommenderConfigurationInput) (req *request.Request, output *GetRecommenderConfigurationOutput) { op := &request.Operation{ - Name: opGetSegmentExportJobs, + Name: opGetRecommenderConfiguration, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/jobs/export", + HTTPPath: "/v1/recommenders/{recommender-id}", } if input == nil { - input = &GetSegmentExportJobsInput{} + input = &GetRecommenderConfigurationInput{} } - output = &GetSegmentExportJobsOutput{} + output = &GetRecommenderConfigurationOutput{} req = c.newRequest(op, input, output) return } -// GetSegmentExportJobs API operation for Amazon Pinpoint. +// GetRecommenderConfiguration API operation for Amazon Pinpoint. // -// Retrieves information about the status and settings of the export jobs for -// a segment. +// Retrieves information about an Amazon Pinpoint configuration for a recommender +// model. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetSegmentExportJobs for usage and error information. +// API operation GetRecommenderConfiguration for usage and error information. // // Returned Error Types: // @@ -6993,80 +6992,80 @@ func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs -func (c *Pinpoint) GetSegmentExportJobs(input *GetSegmentExportJobsInput) (*GetSegmentExportJobsOutput, error) { - req, out := c.GetSegmentExportJobsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfiguration +func (c *Pinpoint) GetRecommenderConfiguration(input *GetRecommenderConfigurationInput) (*GetRecommenderConfigurationOutput, error) { + req, out := c.GetRecommenderConfigurationRequest(input) return out, req.Send() } -// GetSegmentExportJobsWithContext is the same as GetSegmentExportJobs with the addition of +// GetRecommenderConfigurationWithContext is the same as GetRecommenderConfiguration with the addition of // the ability to pass a context and additional request options. // -// See GetSegmentExportJobs for details on how to use this API operation. +// See GetRecommenderConfiguration for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetSegmentExportJobsWithContext(ctx aws.Context, input *GetSegmentExportJobsInput, opts ...request.Option) (*GetSegmentExportJobsOutput, error) { - req, out := c.GetSegmentExportJobsRequest(input) +func (c *Pinpoint) GetRecommenderConfigurationWithContext(ctx aws.Context, input *GetRecommenderConfigurationInput, opts ...request.Option) (*GetRecommenderConfigurationOutput, error) { + req, out := c.GetRecommenderConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegmentImportJobs = "GetSegmentImportJobs" +const opGetRecommenderConfigurations = "GetRecommenderConfigurations" -// GetSegmentImportJobsRequest generates a "aws/request.Request" representing the -// client's request for the GetSegmentImportJobs operation. The "output" return +// GetRecommenderConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the GetRecommenderConfigurations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetSegmentImportJobs for more information on using the GetSegmentImportJobs +// See GetRecommenderConfigurations for more information on using the GetRecommenderConfigurations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetSegmentImportJobsRequest method. -// req, resp := client.GetSegmentImportJobsRequest(params) +// // Example sending a request using the GetRecommenderConfigurationsRequest method. +// req, resp := client.GetRecommenderConfigurationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs -func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfigurations +func (c *Pinpoint) GetRecommenderConfigurationsRequest(input *GetRecommenderConfigurationsInput) (req *request.Request, output *GetRecommenderConfigurationsOutput) { op := &request.Operation{ - Name: opGetSegmentImportJobs, + Name: opGetRecommenderConfigurations, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/jobs/import", + HTTPPath: "/v1/recommenders", } if input == nil { - input = &GetSegmentImportJobsInput{} + input = &GetRecommenderConfigurationsInput{} } - output = &GetSegmentImportJobsOutput{} + output = &GetRecommenderConfigurationsOutput{} req = c.newRequest(op, input, output) return } -// GetSegmentImportJobs API operation for Amazon Pinpoint. +// GetRecommenderConfigurations API operation for Amazon Pinpoint. // -// Retrieves information about the status and settings of the import jobs for -// a segment. +// Retrieves information about all the recommender model configurations that +// are associated with your Amazon Pinpoint account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetSegmentImportJobs for usage and error information. +// API operation GetRecommenderConfigurations for usage and error information. // // Returned Error Types: // @@ -7091,80 +7090,80 @@ func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs -func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) { - req, out := c.GetSegmentImportJobsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetRecommenderConfigurations +func (c *Pinpoint) GetRecommenderConfigurations(input *GetRecommenderConfigurationsInput) (*GetRecommenderConfigurationsOutput, error) { + req, out := c.GetRecommenderConfigurationsRequest(input) return out, req.Send() } -// GetSegmentImportJobsWithContext is the same as GetSegmentImportJobs with the addition of +// GetRecommenderConfigurationsWithContext is the same as GetRecommenderConfigurations with the addition of // the ability to pass a context and additional request options. // -// See GetSegmentImportJobs for details on how to use this API operation. +// See GetRecommenderConfigurations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetSegmentImportJobsWithContext(ctx aws.Context, input *GetSegmentImportJobsInput, opts ...request.Option) (*GetSegmentImportJobsOutput, error) { - req, out := c.GetSegmentImportJobsRequest(input) +func (c *Pinpoint) GetRecommenderConfigurationsWithContext(ctx aws.Context, input *GetRecommenderConfigurationsInput, opts ...request.Option) (*GetRecommenderConfigurationsOutput, error) { + req, out := c.GetRecommenderConfigurationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegmentVersion = "GetSegmentVersion" +const opGetSegment = "GetSegment" -// GetSegmentVersionRequest generates a "aws/request.Request" representing the -// client's request for the GetSegmentVersion operation. The "output" return +// GetSegmentRequest generates a "aws/request.Request" representing the +// client's request for the GetSegment operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetSegmentVersion for more information on using the GetSegmentVersion +// See GetSegment for more information on using the GetSegment // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetSegmentVersionRequest method. -// req, resp := client.GetSegmentVersionRequest(params) +// // Example sending a request using the GetSegmentRequest method. +// req, resp := client.GetSegmentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion -func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment +func (c *Pinpoint) GetSegmentRequest(input *GetSegmentInput) (req *request.Request, output *GetSegmentOutput) { op := &request.Operation{ - Name: opGetSegmentVersion, + Name: opGetSegment, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}", } if input == nil { - input = &GetSegmentVersionInput{} + input = &GetSegmentInput{} } - output = &GetSegmentVersionOutput{} + output = &GetSegmentOutput{} req = c.newRequest(op, input, output) return } -// GetSegmentVersion API operation for Amazon Pinpoint. +// GetSegment API operation for Amazon Pinpoint. // // Retrieves information about the configuration, dimension, and other settings -// for a specific version of a segment that's associated with an application. +// for a specific segment that's associated with an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetSegmentVersion for usage and error information. +// API operation GetSegment for usage and error information. // // Returned Error Types: // @@ -7189,80 +7188,80 @@ func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion -func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) { - req, out := c.GetSegmentVersionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegment +func (c *Pinpoint) GetSegment(input *GetSegmentInput) (*GetSegmentOutput, error) { + req, out := c.GetSegmentRequest(input) return out, req.Send() } -// GetSegmentVersionWithContext is the same as GetSegmentVersion with the addition of +// GetSegmentWithContext is the same as GetSegment with the addition of // the ability to pass a context and additional request options. // -// See GetSegmentVersion for details on how to use this API operation. +// See GetSegment for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetSegmentVersionWithContext(ctx aws.Context, input *GetSegmentVersionInput, opts ...request.Option) (*GetSegmentVersionOutput, error) { - req, out := c.GetSegmentVersionRequest(input) +func (c *Pinpoint) GetSegmentWithContext(ctx aws.Context, input *GetSegmentInput, opts ...request.Option) (*GetSegmentOutput, error) { + req, out := c.GetSegmentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegmentVersions = "GetSegmentVersions" +const opGetSegmentExportJobs = "GetSegmentExportJobs" -// GetSegmentVersionsRequest generates a "aws/request.Request" representing the -// client's request for the GetSegmentVersions operation. The "output" return +// GetSegmentExportJobsRequest generates a "aws/request.Request" representing the +// client's request for the GetSegmentExportJobs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetSegmentVersions for more information on using the GetSegmentVersions +// See GetSegmentExportJobs for more information on using the GetSegmentExportJobs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetSegmentVersionsRequest method. -// req, resp := client.GetSegmentVersionsRequest(params) +// // Example sending a request using the GetSegmentExportJobsRequest method. +// req, resp := client.GetSegmentExportJobsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions -func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs +func (c *Pinpoint) GetSegmentExportJobsRequest(input *GetSegmentExportJobsInput) (req *request.Request, output *GetSegmentExportJobsOutput) { op := &request.Operation{ - Name: opGetSegmentVersions, + Name: opGetSegmentExportJobs, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/versions", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/jobs/export", } if input == nil { - input = &GetSegmentVersionsInput{} + input = &GetSegmentExportJobsInput{} } - output = &GetSegmentVersionsOutput{} + output = &GetSegmentExportJobsOutput{} req = c.newRequest(op, input, output) return } -// GetSegmentVersions API operation for Amazon Pinpoint. +// GetSegmentExportJobs API operation for Amazon Pinpoint. // -// Retrieves information about the configuration, dimension, and other settings -// for all the versions of a specific segment that's associated with an application. +// Retrieves information about the status and settings of the export jobs for +// a segment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetSegmentVersions for usage and error information. +// API operation GetSegmentExportJobs for usage and error information. // // Returned Error Types: // @@ -7287,80 +7286,80 @@ func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (re // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions -func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) { - req, out := c.GetSegmentVersionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobs +func (c *Pinpoint) GetSegmentExportJobs(input *GetSegmentExportJobsInput) (*GetSegmentExportJobsOutput, error) { + req, out := c.GetSegmentExportJobsRequest(input) return out, req.Send() } -// GetSegmentVersionsWithContext is the same as GetSegmentVersions with the addition of +// GetSegmentExportJobsWithContext is the same as GetSegmentExportJobs with the addition of // the ability to pass a context and additional request options. // -// See GetSegmentVersions for details on how to use this API operation. +// See GetSegmentExportJobs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetSegmentVersionsWithContext(ctx aws.Context, input *GetSegmentVersionsInput, opts ...request.Option) (*GetSegmentVersionsOutput, error) { - req, out := c.GetSegmentVersionsRequest(input) +func (c *Pinpoint) GetSegmentExportJobsWithContext(ctx aws.Context, input *GetSegmentExportJobsInput, opts ...request.Option) (*GetSegmentExportJobsOutput, error) { + req, out := c.GetSegmentExportJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSegments = "GetSegments" +const opGetSegmentImportJobs = "GetSegmentImportJobs" -// GetSegmentsRequest generates a "aws/request.Request" representing the -// client's request for the GetSegments operation. The "output" return +// GetSegmentImportJobsRequest generates a "aws/request.Request" representing the +// client's request for the GetSegmentImportJobs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetSegments for more information on using the GetSegments +// See GetSegmentImportJobs for more information on using the GetSegmentImportJobs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetSegmentsRequest method. -// req, resp := client.GetSegmentsRequest(params) +// // Example sending a request using the GetSegmentImportJobsRequest method. +// req, resp := client.GetSegmentImportJobsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments -func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs +func (c *Pinpoint) GetSegmentImportJobsRequest(input *GetSegmentImportJobsInput) (req *request.Request, output *GetSegmentImportJobsOutput) { op := &request.Operation{ - Name: opGetSegments, + Name: opGetSegmentImportJobs, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/segments", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/jobs/import", } if input == nil { - input = &GetSegmentsInput{} + input = &GetSegmentImportJobsInput{} } - output = &GetSegmentsOutput{} + output = &GetSegmentImportJobsOutput{} req = c.newRequest(op, input, output) return } -// GetSegments API operation for Amazon Pinpoint. +// GetSegmentImportJobs API operation for Amazon Pinpoint. // -// Retrieves information about the configuration, dimension, and other settings -// for all the segments that are associated with an application. +// Retrieves information about the status and settings of the import jobs for +// a segment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetSegments for usage and error information. +// API operation GetSegmentImportJobs for usage and error information. // // Returned Error Types: // @@ -7385,80 +7384,80 @@ func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Req // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments -func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) { - req, out := c.GetSegmentsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentImportJobs +func (c *Pinpoint) GetSegmentImportJobs(input *GetSegmentImportJobsInput) (*GetSegmentImportJobsOutput, error) { + req, out := c.GetSegmentImportJobsRequest(input) return out, req.Send() } -// GetSegmentsWithContext is the same as GetSegments with the addition of +// GetSegmentImportJobsWithContext is the same as GetSegmentImportJobs with the addition of // the ability to pass a context and additional request options. // -// See GetSegments for details on how to use this API operation. +// See GetSegmentImportJobs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetSegmentsWithContext(ctx aws.Context, input *GetSegmentsInput, opts ...request.Option) (*GetSegmentsOutput, error) { - req, out := c.GetSegmentsRequest(input) +func (c *Pinpoint) GetSegmentImportJobsWithContext(ctx aws.Context, input *GetSegmentImportJobsInput, opts ...request.Option) (*GetSegmentImportJobsOutput, error) { + req, out := c.GetSegmentImportJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSmsChannel = "GetSmsChannel" +const opGetSegmentVersion = "GetSegmentVersion" -// GetSmsChannelRequest generates a "aws/request.Request" representing the -// client's request for the GetSmsChannel operation. The "output" return +// GetSegmentVersionRequest generates a "aws/request.Request" representing the +// client's request for the GetSegmentVersion operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetSmsChannel for more information on using the GetSmsChannel +// See GetSegmentVersion for more information on using the GetSegmentVersion // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetSmsChannelRequest method. -// req, resp := client.GetSmsChannelRequest(params) +// // Example sending a request using the GetSegmentVersionRequest method. +// req, resp := client.GetSegmentVersionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel -func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion +func (c *Pinpoint) GetSegmentVersionRequest(input *GetSegmentVersionInput) (req *request.Request, output *GetSegmentVersionOutput) { op := &request.Operation{ - Name: opGetSmsChannel, + Name: opGetSegmentVersion, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/channels/sms", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}", } if input == nil { - input = &GetSmsChannelInput{} + input = &GetSegmentVersionInput{} } - output = &GetSmsChannelOutput{} + output = &GetSegmentVersionOutput{} req = c.newRequest(op, input, output) return } -// GetSmsChannel API operation for Amazon Pinpoint. +// GetSegmentVersion API operation for Amazon Pinpoint. // -// Retrieves information about the status and settings of the SMS channel for -// an application. +// Retrieves information about the configuration, dimension, and other settings +// for a specific version of a segment that's associated with an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetSmsChannel for usage and error information. +// API operation GetSegmentVersion for usage and error information. // // Returned Error Types: // @@ -7483,80 +7482,80 @@ func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel -func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) { - req, out := c.GetSmsChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersion +func (c *Pinpoint) GetSegmentVersion(input *GetSegmentVersionInput) (*GetSegmentVersionOutput, error) { + req, out := c.GetSegmentVersionRequest(input) return out, req.Send() } -// GetSmsChannelWithContext is the same as GetSmsChannel with the addition of +// GetSegmentVersionWithContext is the same as GetSegmentVersion with the addition of // the ability to pass a context and additional request options. // -// See GetSmsChannel for details on how to use this API operation. +// See GetSegmentVersion for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChannelInput, opts ...request.Option) (*GetSmsChannelOutput, error) { - req, out := c.GetSmsChannelRequest(input) +func (c *Pinpoint) GetSegmentVersionWithContext(ctx aws.Context, input *GetSegmentVersionInput, opts ...request.Option) (*GetSegmentVersionOutput, error) { + req, out := c.GetSegmentVersionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSmsTemplate = "GetSmsTemplate" +const opGetSegmentVersions = "GetSegmentVersions" -// GetSmsTemplateRequest generates a "aws/request.Request" representing the -// client's request for the GetSmsTemplate operation. The "output" return +// GetSegmentVersionsRequest generates a "aws/request.Request" representing the +// client's request for the GetSegmentVersions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetSmsTemplate for more information on using the GetSmsTemplate +// See GetSegmentVersions for more information on using the GetSegmentVersions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetSmsTemplateRequest method. -// req, resp := client.GetSmsTemplateRequest(params) +// // Example sending a request using the GetSegmentVersionsRequest method. +// req, resp := client.GetSegmentVersionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate -func (c *Pinpoint) GetSmsTemplateRequest(input *GetSmsTemplateInput) (req *request.Request, output *GetSmsTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions +func (c *Pinpoint) GetSegmentVersionsRequest(input *GetSegmentVersionsInput) (req *request.Request, output *GetSegmentVersionsOutput) { op := &request.Operation{ - Name: opGetSmsTemplate, + Name: opGetSegmentVersions, HTTPMethod: "GET", - HTTPPath: "/v1/templates/{template-name}/sms", + HTTPPath: "/v1/apps/{application-id}/segments/{segment-id}/versions", } if input == nil { - input = &GetSmsTemplateInput{} + input = &GetSegmentVersionsInput{} } - output = &GetSmsTemplateOutput{} + output = &GetSegmentVersionsOutput{} req = c.newRequest(op, input, output) return } -// GetSmsTemplate API operation for Amazon Pinpoint. +// GetSegmentVersions API operation for Amazon Pinpoint. // -// Retrieves the content and settings of a message template for messages that -// are sent through the SMS channel. +// Retrieves information about the configuration, dimension, and other settings +// for all the versions of a specific segment that's associated with an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetSmsTemplate for usage and error information. +// API operation GetSegmentVersions for usage and error information. // // Returned Error Types: // @@ -7581,80 +7580,80 @@ func (c *Pinpoint) GetSmsTemplateRequest(input *GetSmsTemplateInput) (req *reque // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate -func (c *Pinpoint) GetSmsTemplate(input *GetSmsTemplateInput) (*GetSmsTemplateOutput, error) { - req, out := c.GetSmsTemplateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentVersions +func (c *Pinpoint) GetSegmentVersions(input *GetSegmentVersionsInput) (*GetSegmentVersionsOutput, error) { + req, out := c.GetSegmentVersionsRequest(input) return out, req.Send() } -// GetSmsTemplateWithContext is the same as GetSmsTemplate with the addition of +// GetSegmentVersionsWithContext is the same as GetSegmentVersions with the addition of // the ability to pass a context and additional request options. // -// See GetSmsTemplate for details on how to use this API operation. +// See GetSegmentVersions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetSmsTemplateWithContext(ctx aws.Context, input *GetSmsTemplateInput, opts ...request.Option) (*GetSmsTemplateOutput, error) { - req, out := c.GetSmsTemplateRequest(input) +func (c *Pinpoint) GetSegmentVersionsWithContext(ctx aws.Context, input *GetSegmentVersionsInput, opts ...request.Option) (*GetSegmentVersionsOutput, error) { + req, out := c.GetSegmentVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetUserEndpoints = "GetUserEndpoints" +const opGetSegments = "GetSegments" -// GetUserEndpointsRequest generates a "aws/request.Request" representing the -// client's request for the GetUserEndpoints operation. The "output" return +// GetSegmentsRequest generates a "aws/request.Request" representing the +// client's request for the GetSegments operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetUserEndpoints for more information on using the GetUserEndpoints +// See GetSegments for more information on using the GetSegments // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetUserEndpointsRequest method. -// req, resp := client.GetUserEndpointsRequest(params) +// // Example sending a request using the GetSegmentsRequest method. +// req, resp := client.GetSegmentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints -func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *request.Request, output *GetUserEndpointsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments +func (c *Pinpoint) GetSegmentsRequest(input *GetSegmentsInput) (req *request.Request, output *GetSegmentsOutput) { op := &request.Operation{ - Name: opGetUserEndpoints, + Name: opGetSegments, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/users/{user-id}", + HTTPPath: "/v1/apps/{application-id}/segments", } if input == nil { - input = &GetUserEndpointsInput{} + input = &GetSegmentsInput{} } - output = &GetUserEndpointsOutput{} + output = &GetSegmentsOutput{} req = c.newRequest(op, input, output) return } -// GetUserEndpoints API operation for Amazon Pinpoint. +// GetSegments API operation for Amazon Pinpoint. // -// Retrieves information about all the endpoints that are associated with a -// specific user ID. +// Retrieves information about the configuration, dimension, and other settings +// for all the segments that are associated with an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetUserEndpoints for usage and error information. +// API operation GetSegments for usage and error information. // // Returned Error Types: // @@ -7679,80 +7678,80 @@ func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *r // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints -func (c *Pinpoint) GetUserEndpoints(input *GetUserEndpointsInput) (*GetUserEndpointsOutput, error) { - req, out := c.GetUserEndpointsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegments +func (c *Pinpoint) GetSegments(input *GetSegmentsInput) (*GetSegmentsOutput, error) { + req, out := c.GetSegmentsRequest(input) return out, req.Send() } -// GetUserEndpointsWithContext is the same as GetUserEndpoints with the addition of +// GetSegmentsWithContext is the same as GetSegments with the addition of // the ability to pass a context and additional request options. // -// See GetUserEndpoints for details on how to use this API operation. +// See GetSegments for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetUserEndpointsWithContext(ctx aws.Context, input *GetUserEndpointsInput, opts ...request.Option) (*GetUserEndpointsOutput, error) { - req, out := c.GetUserEndpointsRequest(input) +func (c *Pinpoint) GetSegmentsWithContext(ctx aws.Context, input *GetSegmentsInput, opts ...request.Option) (*GetSegmentsOutput, error) { + req, out := c.GetSegmentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetVoiceChannel = "GetVoiceChannel" +const opGetSmsChannel = "GetSmsChannel" -// GetVoiceChannelRequest generates a "aws/request.Request" representing the -// client's request for the GetVoiceChannel operation. The "output" return +// GetSmsChannelRequest generates a "aws/request.Request" representing the +// client's request for the GetSmsChannel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetVoiceChannel for more information on using the GetVoiceChannel +// See GetSmsChannel for more information on using the GetSmsChannel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetVoiceChannelRequest method. -// req, resp := client.GetVoiceChannelRequest(params) +// // Example sending a request using the GetSmsChannelRequest method. +// req, resp := client.GetSmsChannelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel -func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *request.Request, output *GetVoiceChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel +func (c *Pinpoint) GetSmsChannelRequest(input *GetSmsChannelInput) (req *request.Request, output *GetSmsChannelOutput) { op := &request.Operation{ - Name: opGetVoiceChannel, + Name: opGetSmsChannel, HTTPMethod: "GET", - HTTPPath: "/v1/apps/{application-id}/channels/voice", + HTTPPath: "/v1/apps/{application-id}/channels/sms", } if input == nil { - input = &GetVoiceChannelInput{} + input = &GetSmsChannelInput{} } - output = &GetVoiceChannelOutput{} + output = &GetSmsChannelOutput{} req = c.newRequest(op, input, output) return } -// GetVoiceChannel API operation for Amazon Pinpoint. +// GetSmsChannel API operation for Amazon Pinpoint. // -// Retrieves information about the status and settings of the voice channel -// for an application. +// Retrieves information about the status and settings of the SMS channel for +// an application. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetVoiceChannel for usage and error information. +// API operation GetSmsChannel for usage and error information. // // Returned Error Types: // @@ -7777,80 +7776,374 @@ func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *req // - TooManyRequestsException // Provides information about an API request or response. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel -func (c *Pinpoint) GetVoiceChannel(input *GetVoiceChannelInput) (*GetVoiceChannelOutput, error) { - req, out := c.GetVoiceChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsChannel +func (c *Pinpoint) GetSmsChannel(input *GetSmsChannelInput) (*GetSmsChannelOutput, error) { + req, out := c.GetSmsChannelRequest(input) return out, req.Send() } -// GetVoiceChannelWithContext is the same as GetVoiceChannel with the addition of +// GetSmsChannelWithContext is the same as GetSmsChannel with the addition of // the ability to pass a context and additional request options. // -// See GetVoiceChannel for details on how to use this API operation. +// See GetSmsChannel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Pinpoint) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceChannelInput, opts ...request.Option) (*GetVoiceChannelOutput, error) { - req, out := c.GetVoiceChannelRequest(input) +func (c *Pinpoint) GetSmsChannelWithContext(ctx aws.Context, input *GetSmsChannelInput, opts ...request.Option) (*GetSmsChannelOutput, error) { + req, out := c.GetSmsChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetVoiceTemplate = "GetVoiceTemplate" +const opGetSmsTemplate = "GetSmsTemplate" -// GetVoiceTemplateRequest generates a "aws/request.Request" representing the -// client's request for the GetVoiceTemplate operation. The "output" return +// GetSmsTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetSmsTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetVoiceTemplate for more information on using the GetVoiceTemplate +// See GetSmsTemplate for more information on using the GetSmsTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetVoiceTemplateRequest method. -// req, resp := client.GetVoiceTemplateRequest(params) +// // Example sending a request using the GetSmsTemplateRequest method. +// req, resp := client.GetSmsTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceTemplate -func (c *Pinpoint) GetVoiceTemplateRequest(input *GetVoiceTemplateInput) (req *request.Request, output *GetVoiceTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate +func (c *Pinpoint) GetSmsTemplateRequest(input *GetSmsTemplateInput) (req *request.Request, output *GetSmsTemplateOutput) { op := &request.Operation{ - Name: opGetVoiceTemplate, + Name: opGetSmsTemplate, HTTPMethod: "GET", - HTTPPath: "/v1/templates/{template-name}/voice", + HTTPPath: "/v1/templates/{template-name}/sms", } if input == nil { - input = &GetVoiceTemplateInput{} + input = &GetSmsTemplateInput{} } - output = &GetVoiceTemplateOutput{} + output = &GetSmsTemplateOutput{} req = c.newRequest(op, input, output) return } -// GetVoiceTemplate API operation for Amazon Pinpoint. +// GetSmsTemplate API operation for Amazon Pinpoint. // // Retrieves the content and settings of a message template for messages that -// are sent through the voice channel. +// are sent through the SMS channel. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Pinpoint's -// API operation GetVoiceTemplate for usage and error information. +// API operation GetSmsTemplate for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// Provides information about an API request or response. +// +// - InternalServerErrorException +// Provides information about an API request or response. +// +// - PayloadTooLargeException +// Provides information about an API request or response. +// +// - ForbiddenException +// Provides information about an API request or response. +// +// - NotFoundException +// Provides information about an API request or response. +// +// - MethodNotAllowedException +// Provides information about an API request or response. +// +// - TooManyRequestsException +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSmsTemplate +func (c *Pinpoint) GetSmsTemplate(input *GetSmsTemplateInput) (*GetSmsTemplateOutput, error) { + req, out := c.GetSmsTemplateRequest(input) + return out, req.Send() +} + +// GetSmsTemplateWithContext is the same as GetSmsTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetSmsTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) GetSmsTemplateWithContext(ctx aws.Context, input *GetSmsTemplateInput, opts ...request.Option) (*GetSmsTemplateOutput, error) { + req, out := c.GetSmsTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetUserEndpoints = "GetUserEndpoints" + +// GetUserEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the GetUserEndpoints operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetUserEndpoints for more information on using the GetUserEndpoints +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetUserEndpointsRequest method. +// req, resp := client.GetUserEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints +func (c *Pinpoint) GetUserEndpointsRequest(input *GetUserEndpointsInput) (req *request.Request, output *GetUserEndpointsOutput) { + op := &request.Operation{ + Name: opGetUserEndpoints, + HTTPMethod: "GET", + HTTPPath: "/v1/apps/{application-id}/users/{user-id}", + } + + if input == nil { + input = &GetUserEndpointsInput{} + } + + output = &GetUserEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetUserEndpoints API operation for Amazon Pinpoint. +// +// Retrieves information about all the endpoints that are associated with a +// specific user ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation GetUserEndpoints for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// Provides information about an API request or response. +// +// - InternalServerErrorException +// Provides information about an API request or response. +// +// - PayloadTooLargeException +// Provides information about an API request or response. +// +// - ForbiddenException +// Provides information about an API request or response. +// +// - NotFoundException +// Provides information about an API request or response. +// +// - MethodNotAllowedException +// Provides information about an API request or response. +// +// - TooManyRequestsException +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetUserEndpoints +func (c *Pinpoint) GetUserEndpoints(input *GetUserEndpointsInput) (*GetUserEndpointsOutput, error) { + req, out := c.GetUserEndpointsRequest(input) + return out, req.Send() +} + +// GetUserEndpointsWithContext is the same as GetUserEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See GetUserEndpoints for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) GetUserEndpointsWithContext(ctx aws.Context, input *GetUserEndpointsInput, opts ...request.Option) (*GetUserEndpointsOutput, error) { + req, out := c.GetUserEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetVoiceChannel = "GetVoiceChannel" + +// GetVoiceChannelRequest generates a "aws/request.Request" representing the +// client's request for the GetVoiceChannel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetVoiceChannel for more information on using the GetVoiceChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetVoiceChannelRequest method. +// req, resp := client.GetVoiceChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel +func (c *Pinpoint) GetVoiceChannelRequest(input *GetVoiceChannelInput) (req *request.Request, output *GetVoiceChannelOutput) { + op := &request.Operation{ + Name: opGetVoiceChannel, + HTTPMethod: "GET", + HTTPPath: "/v1/apps/{application-id}/channels/voice", + } + + if input == nil { + input = &GetVoiceChannelInput{} + } + + output = &GetVoiceChannelOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetVoiceChannel API operation for Amazon Pinpoint. +// +// Retrieves information about the status and settings of the voice channel +// for an application. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation GetVoiceChannel for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// Provides information about an API request or response. +// +// - InternalServerErrorException +// Provides information about an API request or response. +// +// - PayloadTooLargeException +// Provides information about an API request or response. +// +// - ForbiddenException +// Provides information about an API request or response. +// +// - NotFoundException +// Provides information about an API request or response. +// +// - MethodNotAllowedException +// Provides information about an API request or response. +// +// - TooManyRequestsException +// Provides information about an API request or response. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceChannel +func (c *Pinpoint) GetVoiceChannel(input *GetVoiceChannelInput) (*GetVoiceChannelOutput, error) { + req, out := c.GetVoiceChannelRequest(input) + return out, req.Send() +} + +// GetVoiceChannelWithContext is the same as GetVoiceChannel with the addition of +// the ability to pass a context and additional request options. +// +// See GetVoiceChannel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Pinpoint) GetVoiceChannelWithContext(ctx aws.Context, input *GetVoiceChannelInput, opts ...request.Option) (*GetVoiceChannelOutput, error) { + req, out := c.GetVoiceChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetVoiceTemplate = "GetVoiceTemplate" + +// GetVoiceTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetVoiceTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetVoiceTemplate for more information on using the GetVoiceTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetVoiceTemplateRequest method. +// req, resp := client.GetVoiceTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetVoiceTemplate +func (c *Pinpoint) GetVoiceTemplateRequest(input *GetVoiceTemplateInput) (req *request.Request, output *GetVoiceTemplateOutput) { + op := &request.Operation{ + Name: opGetVoiceTemplate, + HTTPMethod: "GET", + HTTPPath: "/v1/templates/{template-name}/voice", + } + + if input == nil { + input = &GetVoiceTemplateInput{} + } + + output = &GetVoiceTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetVoiceTemplate API operation for Amazon Pinpoint. +// +// Retrieves the content and settings of a message template for messages that +// are sent through the voice channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Pinpoint's +// API operation GetVoiceTemplate for usage and error information. // // Returned Error Types: // @@ -13530,6 +13823,12 @@ type ActivityResponse struct { // or COMPLETED. End *string `type:"string"` + // A JSON object that contains metrics relating to the campaign execution for + // this campaign activity. For information about the structure and contents + // of the results, see Standard Amazon Pinpoint analytics metrics (https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html) + // in the Amazon Pinpoint Developer Guide. + ExecutionMetrics map[string]*string `type:"map"` + // The unique identifier for the activity. // // Id is a required field @@ -13605,6 +13904,12 @@ func (s *ActivityResponse) SetEnd(v string) *ActivityResponse { return s } +// SetExecutionMetrics sets the ExecutionMetrics field's value. +func (s *ActivityResponse) SetExecutionMetrics(v map[string]*string) *ActivityResponse { + s.ExecutionMetrics = v + return s +} + // SetId sets the Id field's value. func (s *ActivityResponse) SetId(v string) *ActivityResponse { s.Id = &v @@ -15865,7 +16170,8 @@ func (s *ChannelsResponse) SetChannels(v map[string]*ChannelResponse) *ChannelsR return s } -// The time when journey will stop sending messages. +// The time when a journey will not send messages. QuietTime should be configured +// first and SendingSchedule should be set to true. type ClosedDays struct { _ struct{} `type:"structure"` @@ -15933,17 +16239,17 @@ func (s *ClosedDays) SetVOICE(v []*ClosedDaysRule) *ClosedDays { return s } -// Closed Days Rule. Part of Journey sending schedule. +// Specifies the rule settings for when messages can't be sent. type ClosedDaysRule struct { _ struct{} `type:"structure"` - // End Datetime in ISO 8601 format. + // End DateTime ISO 8601 format EndDateTime *string `type:"string"` - // Name of the rule. + // The name of the closed day rule. Name *string `type:"string"` - // Start Datetime in ISO 8601 format. + // Start DateTime ISO 8601 format StartDateTime *string `type:"string"` } @@ -26793,6 +27099,388 @@ func (s *GetJourneyOutput) SetJourneyResponse(v *JourneyResponse) *GetJourneyOut return s } +type GetJourneyRunExecutionActivityMetricsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // JourneyActivityId is a required field + JourneyActivityId *string `location:"uri" locationName:"journey-activity-id" type:"string" required:"true"` + + // JourneyId is a required field + JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"` + + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + // RunId is a required field + RunId *string `location:"uri" locationName:"run-id" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunExecutionActivityMetricsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunExecutionActivityMetricsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJourneyRunExecutionActivityMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJourneyRunExecutionActivityMetricsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.JourneyActivityId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyActivityId")) + } + if s.JourneyActivityId != nil && len(*s.JourneyActivityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyActivityId", 1)) + } + if s.JourneyId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyId")) + } + if s.JourneyId != nil && len(*s.JourneyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1)) + } + if s.RunId == nil { + invalidParams.Add(request.NewErrParamRequired("RunId")) + } + if s.RunId != nil && len(*s.RunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RunId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetJourneyRunExecutionActivityMetricsInput) SetApplicationId(v string) *GetJourneyRunExecutionActivityMetricsInput { + s.ApplicationId = &v + return s +} + +// SetJourneyActivityId sets the JourneyActivityId field's value. +func (s *GetJourneyRunExecutionActivityMetricsInput) SetJourneyActivityId(v string) *GetJourneyRunExecutionActivityMetricsInput { + s.JourneyActivityId = &v + return s +} + +// SetJourneyId sets the JourneyId field's value. +func (s *GetJourneyRunExecutionActivityMetricsInput) SetJourneyId(v string) *GetJourneyRunExecutionActivityMetricsInput { + s.JourneyId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetJourneyRunExecutionActivityMetricsInput) SetNextToken(v string) *GetJourneyRunExecutionActivityMetricsInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *GetJourneyRunExecutionActivityMetricsInput) SetPageSize(v string) *GetJourneyRunExecutionActivityMetricsInput { + s.PageSize = &v + return s +} + +// SetRunId sets the RunId field's value. +func (s *GetJourneyRunExecutionActivityMetricsInput) SetRunId(v string) *GetJourneyRunExecutionActivityMetricsInput { + s.RunId = &v + return s +} + +type GetJourneyRunExecutionActivityMetricsOutput struct { + _ struct{} `type:"structure" payload:"JourneyRunExecutionActivityMetricsResponse"` + + // Provides the results of a query that retrieved the data for a standard execution + // metric that applies to a journey activity for a particular journey run, and + // provides information about that query. + // + // JourneyRunExecutionActivityMetricsResponse is a required field + JourneyRunExecutionActivityMetricsResponse *JourneyRunExecutionActivityMetricsResponse `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunExecutionActivityMetricsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunExecutionActivityMetricsOutput) GoString() string { + return s.String() +} + +// SetJourneyRunExecutionActivityMetricsResponse sets the JourneyRunExecutionActivityMetricsResponse field's value. +func (s *GetJourneyRunExecutionActivityMetricsOutput) SetJourneyRunExecutionActivityMetricsResponse(v *JourneyRunExecutionActivityMetricsResponse) *GetJourneyRunExecutionActivityMetricsOutput { + s.JourneyRunExecutionActivityMetricsResponse = v + return s +} + +type GetJourneyRunExecutionMetricsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // JourneyId is a required field + JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"` + + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + // RunId is a required field + RunId *string `location:"uri" locationName:"run-id" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunExecutionMetricsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunExecutionMetricsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJourneyRunExecutionMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJourneyRunExecutionMetricsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.JourneyId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyId")) + } + if s.JourneyId != nil && len(*s.JourneyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1)) + } + if s.RunId == nil { + invalidParams.Add(request.NewErrParamRequired("RunId")) + } + if s.RunId != nil && len(*s.RunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RunId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetJourneyRunExecutionMetricsInput) SetApplicationId(v string) *GetJourneyRunExecutionMetricsInput { + s.ApplicationId = &v + return s +} + +// SetJourneyId sets the JourneyId field's value. +func (s *GetJourneyRunExecutionMetricsInput) SetJourneyId(v string) *GetJourneyRunExecutionMetricsInput { + s.JourneyId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetJourneyRunExecutionMetricsInput) SetNextToken(v string) *GetJourneyRunExecutionMetricsInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *GetJourneyRunExecutionMetricsInput) SetPageSize(v string) *GetJourneyRunExecutionMetricsInput { + s.PageSize = &v + return s +} + +// SetRunId sets the RunId field's value. +func (s *GetJourneyRunExecutionMetricsInput) SetRunId(v string) *GetJourneyRunExecutionMetricsInput { + s.RunId = &v + return s +} + +type GetJourneyRunExecutionMetricsOutput struct { + _ struct{} `type:"structure" payload:"JourneyRunExecutionMetricsResponse"` + + // Provides the results of a query that retrieved the data for a standard execution + // metric that applies to a journey run, and provides information about that + // query. + // + // JourneyRunExecutionMetricsResponse is a required field + JourneyRunExecutionMetricsResponse *JourneyRunExecutionMetricsResponse `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunExecutionMetricsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunExecutionMetricsOutput) GoString() string { + return s.String() +} + +// SetJourneyRunExecutionMetricsResponse sets the JourneyRunExecutionMetricsResponse field's value. +func (s *GetJourneyRunExecutionMetricsOutput) SetJourneyRunExecutionMetricsResponse(v *JourneyRunExecutionMetricsResponse) *GetJourneyRunExecutionMetricsOutput { + s.JourneyRunExecutionMetricsResponse = v + return s +} + +type GetJourneyRunsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"application-id" type:"string" required:"true"` + + // JourneyId is a required field + JourneyId *string `location:"uri" locationName:"journey-id" type:"string" required:"true"` + + PageSize *string `location:"querystring" locationName:"page-size" type:"string"` + + Token *string `location:"querystring" locationName:"token" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetJourneyRunsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetJourneyRunsInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.JourneyId == nil { + invalidParams.Add(request.NewErrParamRequired("JourneyId")) + } + if s.JourneyId != nil && len(*s.JourneyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JourneyId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetJourneyRunsInput) SetApplicationId(v string) *GetJourneyRunsInput { + s.ApplicationId = &v + return s +} + +// SetJourneyId sets the JourneyId field's value. +func (s *GetJourneyRunsInput) SetJourneyId(v string) *GetJourneyRunsInput { + s.JourneyId = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *GetJourneyRunsInput) SetPageSize(v string) *GetJourneyRunsInput { + s.PageSize = &v + return s +} + +// SetToken sets the Token field's value. +func (s *GetJourneyRunsInput) SetToken(v string) *GetJourneyRunsInput { + s.Token = &v + return s +} + +type GetJourneyRunsOutput struct { + _ struct{} `type:"structure" payload:"JourneyRunsResponse"` + + // Provides information from all runs of a journey. + // + // JourneyRunsResponse is a required field + JourneyRunsResponse *JourneyRunsResponse `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetJourneyRunsOutput) GoString() string { + return s.String() +} + +// SetJourneyRunsResponse sets the JourneyRunsResponse field's value. +func (s *GetJourneyRunsOutput) SetJourneyRunsResponse(v *JourneyRunsResponse) *GetJourneyRunsOutput { + s.JourneyRunsResponse = v + return s +} + type GetPushTemplateInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -29783,26 +30471,26 @@ type JourneyExecutionActivityMetricsResponse struct { // The type of activity that the metric applies to. Possible values are: // - // * CONDITIONAL_SPLIT - For a yes/no split activity, which is an activity + // * CONDITIONAL_SPLIT – For a yes/no split activity, which is an activity // that sends participants down one of two paths in a journey. // - // * HOLDOUT - For a holdout activity, which is an activity that stops a - // journey for a specified percentage of participants. + // * HOLDOUT – For a holdout activity, which is an activity that stops + // a journey for a specified percentage of participants. // - // * MESSAGE - For an email activity, which is an activity that sends an + // * MESSAGE – For an email activity, which is an activity that sends an // email message to participants. // - // * MULTI_CONDITIONAL_SPLIT - For a multivariate split activity, which is - // an activity that sends participants down one of as many as five paths + // * MULTI_CONDITIONAL_SPLIT – For a multivariate split activity, which + // is an activity that sends participants down one of as many as five paths // in a journey. // - // * RANDOM_SPLIT - For a random split activity, which is an activity that + // * RANDOM_SPLIT – For a random split activity, which is an activity that // sends specified percentages of participants down one of as many as five // paths in a journey. // - // * WAIT - For a wait activity, which is an activity that waits for a certain - // amount of time or until a specific date and time before moving participants - // to the next activity in a journey. + // * WAIT – For a wait activity, which is an activity that waits for a + // certain amount of time or until a specific date and time before moving + // participants to the next activity in a journey. // // ActivityType is a required field ActivityType *string `type:"string" required:"true"` @@ -29975,6 +30663,7 @@ type JourneyLimits struct { // number of times, set this value to 0. EndpointReentryCap *int64 `type:"integer"` + // Minimum time that must pass before an endpoint can re-enter a given journey. EndpointReentryInterval *string `type:"string"` // The maximum number of messages that the journey can send each second. @@ -30030,7 +30719,7 @@ type JourneyPushMessage struct { // The number of seconds that the push notification service should keep the // message, if the service is unable to deliver the notification the first time. - // This value is converted to an expiration value when it's sent to a push-notification + // This value is converted to an expiration value when it's sent to a push notification // service. If this value is 0, the service treats the notification as if it // expires immediately and the service doesn't store or try to deliver the notification // again. @@ -30079,7 +30768,7 @@ type JourneyResponse struct { // ApplicationId is a required field ApplicationId *string `type:"string" required:"true"` - // The time when journey will stop sending messages. QuietTime should be configured + // The time when a journey will not send messages. QuietTime should be configured // first and SendingSchedule should be set to true. ClosedDays *ClosedDays `type:"structure"` @@ -30110,7 +30799,7 @@ type JourneyResponse struct { // Name is a required field Name *string `type:"string" required:"true"` - // The time when journey allow to send messages. QuietTime should be configured + // The time when a journey can send messages. QuietTime should be configured // first and SendingSchedule should be set to true. OpenHours *OpenHours `type:"structure"` @@ -30135,13 +30824,15 @@ type JourneyResponse struct { // for the journey, as a duration in ISO 8601 format. RefreshFrequency *string `type:"string"` + // Indicates whether the journey participants should be refreshed when a segment + // is updated. RefreshOnSegmentUpdate *bool `type:"boolean"` // The schedule settings for the journey. Schedule *JourneySchedule `type:"structure"` - // Indicates if journey have Advance Quiet Time (OpenHours and ClosedDays). - // This flag should be set to true in order to allow (OpenHours and ClosedDays) + // Indicates if journey has Advance Quiet Time enabled. This flag should be + // set to true in order to allow using OpenHours and ClosedDays. SendingSchedule *bool `type:"boolean"` // The unique identifier for the first activity in the journey. @@ -30182,6 +30873,8 @@ type JourneyResponse struct { // This object is not used or supported. Tags map[string]*string `locationName:"tags" type:"map"` + // Indicates whether endpoints in quiet hours should enter a wait activity until + // quiet hours have elapsed. WaitForQuietTime *bool `type:"boolean"` } @@ -30329,6 +31022,329 @@ func (s *JourneyResponse) SetWaitForQuietTime(v bool) *JourneyResponse { return s } +// Provides the results of a query that retrieved the data for a standard execution +// metric that applies to a journey activity for a particular journey run, and +// provides information about that query. +type JourneyRunExecutionActivityMetricsResponse struct { + _ struct{} `type:"structure"` + + // The type of activity that the metric applies to. Possible values are: + // + // * CONDITIONAL_SPLIT – For a yes/no split activity, which is an activity + // that sends participants down one of two paths in a journey. + // + // * HOLDOUT – For a holdout activity, which is an activity that stops + // a journey for a specified percentage of participants. + // + // * MESSAGE – For an email activity, which is an activity that sends an + // email message to participants. + // + // * MULTI_CONDITIONAL_SPLIT – For a multivariate split activity, which + // is an activity that sends participants down one of as many as five paths + // in a journey. + // + // * RANDOM_SPLIT – For a random split activity, which is an activity that + // sends specified percentages of participants down one of as many as five + // paths in a journey. + // + // * WAIT – For a wait activity, which is an activity that waits for a + // certain amount of time or until a specific date and time before moving + // participants to the next activity in a journey. + // + // ActivityType is a required field + ActivityType *string `type:"string" required:"true"` + + // The unique identifier for the application that the metric applies to. + // + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` + + // The unique identifier for the activity that the metric applies to. + // + // JourneyActivityId is a required field + JourneyActivityId *string `type:"string" required:"true"` + + // The unique identifier for the journey that the metric applies to. + // + // JourneyId is a required field + JourneyId *string `type:"string" required:"true"` + + // The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated + // the execution status of the activity for this journey run and updated the + // data for the metric. + // + // LastEvaluatedTime is a required field + LastEvaluatedTime *string `type:"string" required:"true"` + + // A JSON object that contains the results of the query. For information about + // the structure and contents of the results, see see Standard Amazon Pinpoint + // analytics metrics (https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html) + // in the Amazon Pinpoint Developer Guide. + // + // Metrics is a required field + Metrics map[string]*string `type:"map" required:"true"` + + // The unique identifier for the journey run that the metric applies to. + // + // RunId is a required field + RunId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JourneyRunExecutionActivityMetricsResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JourneyRunExecutionActivityMetricsResponse) GoString() string { + return s.String() +} + +// SetActivityType sets the ActivityType field's value. +func (s *JourneyRunExecutionActivityMetricsResponse) SetActivityType(v string) *JourneyRunExecutionActivityMetricsResponse { + s.ActivityType = &v + return s +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *JourneyRunExecutionActivityMetricsResponse) SetApplicationId(v string) *JourneyRunExecutionActivityMetricsResponse { + s.ApplicationId = &v + return s +} + +// SetJourneyActivityId sets the JourneyActivityId field's value. +func (s *JourneyRunExecutionActivityMetricsResponse) SetJourneyActivityId(v string) *JourneyRunExecutionActivityMetricsResponse { + s.JourneyActivityId = &v + return s +} + +// SetJourneyId sets the JourneyId field's value. +func (s *JourneyRunExecutionActivityMetricsResponse) SetJourneyId(v string) *JourneyRunExecutionActivityMetricsResponse { + s.JourneyId = &v + return s +} + +// SetLastEvaluatedTime sets the LastEvaluatedTime field's value. +func (s *JourneyRunExecutionActivityMetricsResponse) SetLastEvaluatedTime(v string) *JourneyRunExecutionActivityMetricsResponse { + s.LastEvaluatedTime = &v + return s +} + +// SetMetrics sets the Metrics field's value. +func (s *JourneyRunExecutionActivityMetricsResponse) SetMetrics(v map[string]*string) *JourneyRunExecutionActivityMetricsResponse { + s.Metrics = v + return s +} + +// SetRunId sets the RunId field's value. +func (s *JourneyRunExecutionActivityMetricsResponse) SetRunId(v string) *JourneyRunExecutionActivityMetricsResponse { + s.RunId = &v + return s +} + +// Provides the results of a query that retrieved the data for a standard execution +// metric that applies to a journey run, and provides information about that +// query. +type JourneyRunExecutionMetricsResponse struct { + _ struct{} `type:"structure"` + + // The unique identifier for the application that the metric applies to. + // + // ApplicationId is a required field + ApplicationId *string `type:"string" required:"true"` + + // The unique identifier for the journey that the metric applies to. + // + // JourneyId is a required field + JourneyId *string `type:"string" required:"true"` + + // The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated + // the journey run and updated the data for the metric. + // + // LastEvaluatedTime is a required field + LastEvaluatedTime *string `type:"string" required:"true"` + + // A JSON object that contains the results of the query. For information about + // the structure and contents of the results, see the Standard Amazon Pinpoint + // analytics metrics (https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html) + // in the Amazon Pinpoint Developer Guide. + // + // Metrics is a required field + Metrics map[string]*string `type:"map" required:"true"` + + // The unique identifier for the journey run that the metric applies to. + // + // RunId is a required field + RunId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JourneyRunExecutionMetricsResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JourneyRunExecutionMetricsResponse) GoString() string { + return s.String() +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *JourneyRunExecutionMetricsResponse) SetApplicationId(v string) *JourneyRunExecutionMetricsResponse { + s.ApplicationId = &v + return s +} + +// SetJourneyId sets the JourneyId field's value. +func (s *JourneyRunExecutionMetricsResponse) SetJourneyId(v string) *JourneyRunExecutionMetricsResponse { + s.JourneyId = &v + return s +} + +// SetLastEvaluatedTime sets the LastEvaluatedTime field's value. +func (s *JourneyRunExecutionMetricsResponse) SetLastEvaluatedTime(v string) *JourneyRunExecutionMetricsResponse { + s.LastEvaluatedTime = &v + return s +} + +// SetMetrics sets the Metrics field's value. +func (s *JourneyRunExecutionMetricsResponse) SetMetrics(v map[string]*string) *JourneyRunExecutionMetricsResponse { + s.Metrics = v + return s +} + +// SetRunId sets the RunId field's value. +func (s *JourneyRunExecutionMetricsResponse) SetRunId(v string) *JourneyRunExecutionMetricsResponse { + s.RunId = &v + return s +} + +// Provides information from a specified run of a journey. +type JourneyRunResponse struct { + _ struct{} `type:"structure"` + + // The time when the journey run was created or scheduled, in ISO 8601 format. + // + // CreationTime is a required field + CreationTime *string `type:"string" required:"true"` + + // The last time the journey run was updated, in ISO 8601 format.. + // + // LastUpdateTime is a required field + LastUpdateTime *string `type:"string" required:"true"` + + // The unique identifier for the run. + // + // RunId is a required field + RunId *string `type:"string" required:"true"` + + // The current status of the journey run. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"JourneyRunStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JourneyRunResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JourneyRunResponse) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *JourneyRunResponse) SetCreationTime(v string) *JourneyRunResponse { + s.CreationTime = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *JourneyRunResponse) SetLastUpdateTime(v string) *JourneyRunResponse { + s.LastUpdateTime = &v + return s +} + +// SetRunId sets the RunId field's value. +func (s *JourneyRunResponse) SetRunId(v string) *JourneyRunResponse { + s.RunId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *JourneyRunResponse) SetStatus(v string) *JourneyRunResponse { + s.Status = &v + return s +} + +// Provides information from all runs of a journey. +type JourneyRunsResponse struct { + _ struct{} `type:"structure"` + + // An array of responses, one for each run of the journey + // + // Item is a required field + Item []*JourneyRunResponse `type:"list" required:"true"` + + // The string to use in a subsequent request to get the next page of results + // in a paginated response. This value is null if there are no additional pages. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JourneyRunsResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JourneyRunsResponse) GoString() string { + return s.String() +} + +// SetItem sets the Item field's value. +func (s *JourneyRunsResponse) SetItem(v []*JourneyRunResponse) *JourneyRunsResponse { + s.Item = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *JourneyRunsResponse) SetNextToken(v string) *JourneyRunsResponse { + s.NextToken = &v + return s +} + // Specifies the sender ID and message type for an SMS message that's sent to // participants in a journey. type JourneySMSMessage struct { @@ -32117,24 +33133,23 @@ func (s *NumberValidateResponse) SetZipCode(v string) *NumberValidateResponse { return s } -// The time when journey allow to send messages. QuietTime should be configured -// first and SendingSchedule should be set to true. +// Specifies the times when message are allowed to be sent to endpoints. type OpenHours struct { _ struct{} `type:"structure"` - // Rules for Custom Channel. + // Specifies the schedule settings for the custom channel. CUSTOM map[string][]*OpenHoursRule `type:"map"` - // Rules for Email Channel. + // Specifies the schedule settings for the email channel. EMAIL map[string][]*OpenHoursRule `type:"map"` - // Rules for Push Channel. + // Specifies the schedule settings for the push channel. PUSH map[string][]*OpenHoursRule `type:"map"` - // Rules for SMS Channel. + // Specifies the schedule settings for the SMS channel. SMS map[string][]*OpenHoursRule `type:"map"` - // Rules for Email Channel. + // Specifies the schedule settings for the voice channel. VOICE map[string][]*OpenHoursRule `type:"map"` } @@ -32186,14 +33201,16 @@ func (s *OpenHours) SetVOICE(v map[string][]*OpenHoursRule) *OpenHours { return s } -// Open Hour Rules. +// Specifies the start and end time for OpenHours. type OpenHoursRule struct { _ struct{} `type:"structure"` - // Local start time in ISO 8601 format. + // The end of the scheduled time, in ISO 8601 format, when the channel can't + // send messages. EndTime *string `type:"string"` - // Local start time in ISO 8601 format. + // The start of the scheduled time, in ISO 8601 format, when the channel can + // send messages. StartTime *string `type:"string"` } @@ -41341,13 +42358,15 @@ type WriteJourneyRequest struct { // for the journey, as a duration in ISO 8601 format. RefreshFrequency *string `type:"string"` + // Indicates whether the journey participants should be refreshed when a segment + // is updated. RefreshOnSegmentUpdate *bool `type:"boolean"` // The schedule settings for the journey. Schedule *JourneySchedule `type:"structure"` - // Indicates if journey have Advance Quiet Time (OpenHours and ClosedDays). - // This flag should be set to true in order to allow (OpenHours and ClosedDays) + // Indicates if journey has Advance Quiet Time enabled. This flag should be + // set to true in order to allow using OpenHours and ClosedDays. SendingSchedule *bool `type:"boolean"` // The unique identifier for the first activity in the journey. The identifier @@ -41372,6 +42391,8 @@ type WriteJourneyRequest struct { // the Journey State resource. State *string `type:"string" enum:"State"` + // Indicates whether endpoints in quiet hours should enter a wait activity until + // quiet hours have elapsed. WaitForQuietTime *bool `type:"boolean"` } @@ -42231,6 +43252,30 @@ func JobStatus_Values() []string { } } +const ( + // JourneyRunStatusScheduled is a JourneyRunStatus enum value + JourneyRunStatusScheduled = "SCHEDULED" + + // JourneyRunStatusRunning is a JourneyRunStatus enum value + JourneyRunStatusRunning = "RUNNING" + + // JourneyRunStatusCompleted is a JourneyRunStatus enum value + JourneyRunStatusCompleted = "COMPLETED" + + // JourneyRunStatusCancelled is a JourneyRunStatus enum value + JourneyRunStatusCancelled = "CANCELLED" +) + +// JourneyRunStatus_Values returns all elements of the JourneyRunStatus enum +func JourneyRunStatus_Values() []string { + return []string{ + JourneyRunStatusScheduled, + JourneyRunStatusRunning, + JourneyRunStatusCompleted, + JourneyRunStatusCancelled, + } +} + const ( // LayoutBottomBanner is a Layout enum value LayoutBottomBanner = "BOTTOM_BANNER" diff --git a/service/pinpoint/examples_test.go b/service/pinpoint/examples_test.go new file mode 100644 index 00000000000..ea4f9f47baa --- /dev/null +++ b/service/pinpoint/examples_test.go @@ -0,0 +1,152 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package pinpoint_test + +import ( + "fmt" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/pinpoint" +) + +var _ time.Duration +var _ strings.Reader +var _ aws.Config + +func parseTime(layout, value string) *time.Time { + t, err := time.Parse(layout, value) + if err != nil { + panic(err) + } + return &t +} + +// To get the activity execution metrics for a journey run +// The following example gets activity execution metrics for a single run of a journey. +func ExamplePinpoint_GetJourneyRunExecutionActivityMetrics_shared00() { + svc := pinpoint.New(session.New()) + input := &pinpoint.GetJourneyRunExecutionActivityMetricsInput{ + ApplicationId: aws.String("11111111112222222222333333333344"), + JourneyActivityId: aws.String("AAAAAAAAAA"), + JourneyId: aws.String("aaaaaaaaaabbbbbbbbbbccccccccccdd"), + RunId: aws.String("99999999998888888888777777777766"), + } + + result, err := svc.GetJourneyRunExecutionActivityMetrics(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case pinpoint.ErrCodeBadRequestException: + fmt.Println(pinpoint.ErrCodeBadRequestException, aerr.Error()) + case pinpoint.ErrCodeInternalServerErrorException: + fmt.Println(pinpoint.ErrCodeInternalServerErrorException, aerr.Error()) + case pinpoint.ErrCodePayloadTooLargeException: + fmt.Println(pinpoint.ErrCodePayloadTooLargeException, aerr.Error()) + case pinpoint.ErrCodeForbiddenException: + fmt.Println(pinpoint.ErrCodeForbiddenException, aerr.Error()) + case pinpoint.ErrCodeNotFoundException: + fmt.Println(pinpoint.ErrCodeNotFoundException, aerr.Error()) + case pinpoint.ErrCodeMethodNotAllowedException: + fmt.Println(pinpoint.ErrCodeMethodNotAllowedException, aerr.Error()) + case pinpoint.ErrCodeTooManyRequestsException: + fmt.Println(pinpoint.ErrCodeTooManyRequestsException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To get the execution metrics for a journey run +// The following example gets execution metrics for a single run of a journey. +func ExamplePinpoint_GetJourneyRunExecutionMetrics_shared00() { + svc := pinpoint.New(session.New()) + input := &pinpoint.GetJourneyRunExecutionMetricsInput{ + ApplicationId: aws.String("11111111112222222222333333333344"), + JourneyId: aws.String("aaaaaaaaaabbbbbbbbbbccccccccccdd"), + RunId: aws.String("99999999998888888888777777777766"), + } + + result, err := svc.GetJourneyRunExecutionMetrics(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case pinpoint.ErrCodeBadRequestException: + fmt.Println(pinpoint.ErrCodeBadRequestException, aerr.Error()) + case pinpoint.ErrCodeInternalServerErrorException: + fmt.Println(pinpoint.ErrCodeInternalServerErrorException, aerr.Error()) + case pinpoint.ErrCodePayloadTooLargeException: + fmt.Println(pinpoint.ErrCodePayloadTooLargeException, aerr.Error()) + case pinpoint.ErrCodeForbiddenException: + fmt.Println(pinpoint.ErrCodeForbiddenException, aerr.Error()) + case pinpoint.ErrCodeNotFoundException: + fmt.Println(pinpoint.ErrCodeNotFoundException, aerr.Error()) + case pinpoint.ErrCodeMethodNotAllowedException: + fmt.Println(pinpoint.ErrCodeMethodNotAllowedException, aerr.Error()) + case pinpoint.ErrCodeTooManyRequestsException: + fmt.Println(pinpoint.ErrCodeTooManyRequestsException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To get the runs of a journey +// The following example gets the runs of a journey. +func ExamplePinpoint_GetJourneyRuns_shared00() { + svc := pinpoint.New(session.New()) + input := &pinpoint.GetJourneyRunsInput{ + ApplicationId: aws.String("11111111112222222222333333333344"), + JourneyId: aws.String("aaaaaaaaaabbbbbbbbbbccccccccccdd"), + } + + result, err := svc.GetJourneyRuns(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case pinpoint.ErrCodeBadRequestException: + fmt.Println(pinpoint.ErrCodeBadRequestException, aerr.Error()) + case pinpoint.ErrCodeInternalServerErrorException: + fmt.Println(pinpoint.ErrCodeInternalServerErrorException, aerr.Error()) + case pinpoint.ErrCodePayloadTooLargeException: + fmt.Println(pinpoint.ErrCodePayloadTooLargeException, aerr.Error()) + case pinpoint.ErrCodeForbiddenException: + fmt.Println(pinpoint.ErrCodeForbiddenException, aerr.Error()) + case pinpoint.ErrCodeNotFoundException: + fmt.Println(pinpoint.ErrCodeNotFoundException, aerr.Error()) + case pinpoint.ErrCodeMethodNotAllowedException: + fmt.Println(pinpoint.ErrCodeMethodNotAllowedException, aerr.Error()) + case pinpoint.ErrCodeTooManyRequestsException: + fmt.Println(pinpoint.ErrCodeTooManyRequestsException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} diff --git a/service/pinpoint/pinpointiface/interface.go b/service/pinpoint/pinpointiface/interface.go index 57f26b002ac..fe834bb981f 100644 --- a/service/pinpoint/pinpointiface/interface.go +++ b/service/pinpoint/pinpointiface/interface.go @@ -328,6 +328,18 @@ type PinpointAPI interface { GetJourneyExecutionMetricsWithContext(aws.Context, *pinpoint.GetJourneyExecutionMetricsInput, ...request.Option) (*pinpoint.GetJourneyExecutionMetricsOutput, error) GetJourneyExecutionMetricsRequest(*pinpoint.GetJourneyExecutionMetricsInput) (*request.Request, *pinpoint.GetJourneyExecutionMetricsOutput) + GetJourneyRunExecutionActivityMetrics(*pinpoint.GetJourneyRunExecutionActivityMetricsInput) (*pinpoint.GetJourneyRunExecutionActivityMetricsOutput, error) + GetJourneyRunExecutionActivityMetricsWithContext(aws.Context, *pinpoint.GetJourneyRunExecutionActivityMetricsInput, ...request.Option) (*pinpoint.GetJourneyRunExecutionActivityMetricsOutput, error) + GetJourneyRunExecutionActivityMetricsRequest(*pinpoint.GetJourneyRunExecutionActivityMetricsInput) (*request.Request, *pinpoint.GetJourneyRunExecutionActivityMetricsOutput) + + GetJourneyRunExecutionMetrics(*pinpoint.GetJourneyRunExecutionMetricsInput) (*pinpoint.GetJourneyRunExecutionMetricsOutput, error) + GetJourneyRunExecutionMetricsWithContext(aws.Context, *pinpoint.GetJourneyRunExecutionMetricsInput, ...request.Option) (*pinpoint.GetJourneyRunExecutionMetricsOutput, error) + GetJourneyRunExecutionMetricsRequest(*pinpoint.GetJourneyRunExecutionMetricsInput) (*request.Request, *pinpoint.GetJourneyRunExecutionMetricsOutput) + + GetJourneyRuns(*pinpoint.GetJourneyRunsInput) (*pinpoint.GetJourneyRunsOutput, error) + GetJourneyRunsWithContext(aws.Context, *pinpoint.GetJourneyRunsInput, ...request.Option) (*pinpoint.GetJourneyRunsOutput, error) + GetJourneyRunsRequest(*pinpoint.GetJourneyRunsInput) (*request.Request, *pinpoint.GetJourneyRunsOutput) + GetPushTemplate(*pinpoint.GetPushTemplateInput) (*pinpoint.GetPushTemplateOutput, error) GetPushTemplateWithContext(aws.Context, *pinpoint.GetPushTemplateInput, ...request.Option) (*pinpoint.GetPushTemplateOutput, error) GetPushTemplateRequest(*pinpoint.GetPushTemplateInput) (*request.Request, *pinpoint.GetPushTemplateOutput)