diff --git a/README.md b/README.md
index 72cb09aed99..64fbcc8f166 100644
--- a/README.md
+++ b/README.md
@@ -603,6 +603,7 @@ RubyGems.org page under "LINKS" section.
| Amazon WorkSpaces Web | Aws::WorkSpacesWeb | aws-sdk-workspacesweb | 2020-07-08 |
| AmazonApiGatewayManagementApi | Aws::ApiGatewayManagementApi | aws-sdk-apigatewaymanagementapi | 2018-11-29 |
| AmazonApiGatewayV2 | Aws::ApiGatewayV2 | aws-sdk-apigatewayv2 | 2018-11-29 |
+| AmazonConnectCampaignService | Aws::ConnectCampaignService | aws-sdk-connectcampaignservice | 2021-01-30 |
| AmazonMQ | Aws::MQ | aws-sdk-mq | 2017-11-27 |
| AmazonMWAA | Aws::MWAA | aws-sdk-mwaa | 2020-07-01 |
| AmazonNimbleStudio | Aws::NimbleStudio | aws-sdk-nimblestudio | 2020-08-01 |
diff --git a/apis/connect/2017-08-08/api-2.json b/apis/connect/2017-08-08/api-2.json
index 341dcc835f4..28a0ebe3149 100644
--- a/apis/connect/2017-08-08/api-2.json
+++ b/apis/connect/2017-08-08/api-2.json
@@ -5098,7 +5098,8 @@
"AUTO_RESOLVE_BEST_VOICES",
"USE_CUSTOM_TTS_VOICES",
"EARLY_MEDIA",
- "MULTI_PARTY_CONFERENCE"
+ "MULTI_PARTY_CONFERENCE",
+ "HIGH_VOLUME_OUTBOUND"
]
},
"InstanceAttributeValue":{
diff --git a/apis/connectcampaigns/2021-01-30/api-2.json b/apis/connectcampaigns/2021-01-30/api-2.json
new file mode 100644
index 00000000000..e454f385393
--- /dev/null
+++ b/apis/connectcampaigns/2021-01-30/api-2.json
@@ -0,0 +1,1282 @@
+{
+ "version":"2.0",
+ "metadata":{
+ "apiVersion":"2021-01-30",
+ "endpointPrefix":"connect-campaigns",
+ "jsonVersion":"1.1",
+ "protocol":"rest-json",
+ "serviceFullName":"AmazonConnectCampaignService",
+ "serviceId":"ConnectCampaigns",
+ "signatureVersion":"v4",
+ "signingName":"connect-campaigns",
+ "uid":"connectcampaigns-2021-01-30"
+ },
+ "operations":{
+ "CreateCampaign":{
+ "name":"CreateCampaign",
+ "http":{
+ "method":"PUT",
+ "requestUri":"/campaigns",
+ "responseCode":200
+ },
+ "input":{"shape":"CreateCampaignRequest"},
+ "output":{"shape":"CreateCampaignResponse"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"ConflictException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ServiceQuotaExceededException"},
+ {"shape":"ThrottlingException"}
+ ],
+ "idempotent":true
+ },
+ "DeleteCampaign":{
+ "name":"DeleteCampaign",
+ "http":{
+ "method":"DELETE",
+ "requestUri":"/campaigns/{id}",
+ "responseCode":200
+ },
+ "input":{"shape":"DeleteCampaignRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"}
+ ],
+ "idempotent":true
+ },
+ "DeleteConnectInstanceConfig":{
+ "name":"DeleteConnectInstanceConfig",
+ "http":{
+ "method":"DELETE",
+ "requestUri":"/connect-instance/{connectInstanceId}/config",
+ "responseCode":200
+ },
+ "input":{"shape":"DeleteConnectInstanceConfigRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"InvalidStateException"},
+ {"shape":"ThrottlingException"}
+ ],
+ "idempotent":true
+ },
+ "DeleteInstanceOnboardingJob":{
+ "name":"DeleteInstanceOnboardingJob",
+ "http":{
+ "method":"DELETE",
+ "requestUri":"/connect-instance/{connectInstanceId}/onboarding",
+ "responseCode":200
+ },
+ "input":{"shape":"DeleteInstanceOnboardingJobRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"InvalidStateException"}
+ ],
+ "idempotent":true
+ },
+ "DescribeCampaign":{
+ "name":"DescribeCampaign",
+ "http":{
+ "method":"GET",
+ "requestUri":"/campaigns/{id}",
+ "responseCode":200
+ },
+ "input":{"shape":"DescribeCampaignRequest"},
+ "output":{"shape":"DescribeCampaignResponse"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"}
+ ]
+ },
+ "GetCampaignState":{
+ "name":"GetCampaignState",
+ "http":{
+ "method":"GET",
+ "requestUri":"/campaigns/{id}/state",
+ "responseCode":200
+ },
+ "input":{"shape":"GetCampaignStateRequest"},
+ "output":{"shape":"GetCampaignStateResponse"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ]
+ },
+ "GetCampaignStateBatch":{
+ "name":"GetCampaignStateBatch",
+ "http":{
+ "method":"POST",
+ "requestUri":"/campaigns-state",
+ "responseCode":200
+ },
+ "input":{"shape":"GetCampaignStateBatchRequest"},
+ "output":{"shape":"GetCampaignStateBatchResponse"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ]
+ },
+ "GetConnectInstanceConfig":{
+ "name":"GetConnectInstanceConfig",
+ "http":{
+ "method":"GET",
+ "requestUri":"/connect-instance/{connectInstanceId}/config",
+ "responseCode":200
+ },
+ "input":{"shape":"GetConnectInstanceConfigRequest"},
+ "output":{"shape":"GetConnectInstanceConfigResponse"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"}
+ ]
+ },
+ "GetInstanceOnboardingJobStatus":{
+ "name":"GetInstanceOnboardingJobStatus",
+ "http":{
+ "method":"GET",
+ "requestUri":"/connect-instance/{connectInstanceId}/onboarding",
+ "responseCode":200
+ },
+ "input":{"shape":"GetInstanceOnboardingJobStatusRequest"},
+ "output":{"shape":"GetInstanceOnboardingJobStatusResponse"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"}
+ ]
+ },
+ "ListCampaigns":{
+ "name":"ListCampaigns",
+ "http":{
+ "method":"POST",
+ "requestUri":"/campaigns-summary",
+ "responseCode":200
+ },
+ "input":{"shape":"ListCampaignsRequest"},
+ "output":{"shape":"ListCampaignsResponse"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"}
+ ]
+ },
+ "ListTagsForResource":{
+ "name":"ListTagsForResource",
+ "http":{
+ "method":"GET",
+ "requestUri":"/tags/{arn}",
+ "responseCode":200
+ },
+ "input":{"shape":"ListTagsForResourceRequest"},
+ "output":{"shape":"ListTagsForResourceResponse"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ],
+ "idempotent":true
+ },
+ "PauseCampaign":{
+ "name":"PauseCampaign",
+ "http":{
+ "method":"POST",
+ "requestUri":"/campaigns/{id}/pause",
+ "responseCode":200
+ },
+ "input":{"shape":"PauseCampaignRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ConflictException"},
+ {"shape":"InvalidCampaignStateException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ]
+ },
+ "PutDialRequestBatch":{
+ "name":"PutDialRequestBatch",
+ "http":{
+ "method":"PUT",
+ "requestUri":"/campaigns/{id}/dial-requests",
+ "responseCode":200
+ },
+ "input":{"shape":"PutDialRequestBatchRequest"},
+ "output":{"shape":"PutDialRequestBatchResponse"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"ConflictException"},
+ {"shape":"InvalidCampaignStateException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ],
+ "idempotent":true
+ },
+ "ResumeCampaign":{
+ "name":"ResumeCampaign",
+ "http":{
+ "method":"POST",
+ "requestUri":"/campaigns/{id}/resume",
+ "responseCode":200
+ },
+ "input":{"shape":"ResumeCampaignRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ConflictException"},
+ {"shape":"InvalidCampaignStateException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ]
+ },
+ "StartCampaign":{
+ "name":"StartCampaign",
+ "http":{
+ "method":"POST",
+ "requestUri":"/campaigns/{id}/start",
+ "responseCode":200
+ },
+ "input":{"shape":"StartCampaignRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ConflictException"},
+ {"shape":"InvalidCampaignStateException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ]
+ },
+ "StartInstanceOnboardingJob":{
+ "name":"StartInstanceOnboardingJob",
+ "http":{
+ "method":"PUT",
+ "requestUri":"/connect-instance/{connectInstanceId}/onboarding",
+ "responseCode":200
+ },
+ "input":{"shape":"StartInstanceOnboardingJobRequest"},
+ "output":{"shape":"StartInstanceOnboardingJobResponse"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"ConflictException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ],
+ "idempotent":true
+ },
+ "StopCampaign":{
+ "name":"StopCampaign",
+ "http":{
+ "method":"POST",
+ "requestUri":"/campaigns/{id}/stop",
+ "responseCode":200
+ },
+ "input":{"shape":"StopCampaignRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ConflictException"},
+ {"shape":"InvalidCampaignStateException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ]
+ },
+ "TagResource":{
+ "name":"TagResource",
+ "http":{
+ "method":"POST",
+ "requestUri":"/tags/{arn}",
+ "responseCode":200
+ },
+ "input":{"shape":"TagResourceRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ],
+ "idempotent":true
+ },
+ "UntagResource":{
+ "name":"UntagResource",
+ "http":{
+ "method":"DELETE",
+ "requestUri":"/tags/{arn}",
+ "responseCode":200
+ },
+ "input":{"shape":"UntagResourceRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ],
+ "idempotent":true
+ },
+ "UpdateCampaignDialerConfig":{
+ "name":"UpdateCampaignDialerConfig",
+ "http":{
+ "method":"POST",
+ "requestUri":"/campaigns/{id}/dialer-config",
+ "responseCode":200
+ },
+ "input":{"shape":"UpdateCampaignDialerConfigRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"ConflictException"},
+ {"shape":"AccessDeniedException"}
+ ],
+ "idempotent":true
+ },
+ "UpdateCampaignName":{
+ "name":"UpdateCampaignName",
+ "http":{
+ "method":"POST",
+ "requestUri":"/campaigns/{id}/name",
+ "responseCode":200
+ },
+ "input":{"shape":"UpdateCampaignNameRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"ConflictException"},
+ {"shape":"AccessDeniedException"}
+ ],
+ "idempotent":true
+ },
+ "UpdateCampaignOutboundCallConfig":{
+ "name":"UpdateCampaignOutboundCallConfig",
+ "http":{
+ "method":"POST",
+ "requestUri":"/campaigns/{id}/outbound-call-config",
+ "responseCode":200
+ },
+ "input":{"shape":"UpdateCampaignOutboundCallConfigRequest"},
+ "errors":[
+ {"shape":"InternalServerException"},
+ {"shape":"ResourceNotFoundException"},
+ {"shape":"ValidationException"},
+ {"shape":"ConflictException"},
+ {"shape":"AccessDeniedException"},
+ {"shape":"ThrottlingException"}
+ ],
+ "idempotent":true
+ }
+ },
+ "shapes":{
+ "AccessDeniedException":{
+ "type":"structure",
+ "required":["message"],
+ "members":{
+ "message":{"shape":"String"},
+ "xAmzErrorType":{
+ "shape":"XAmazonErrorType",
+ "location":"header",
+ "locationName":"x-amzn-ErrorType"
+ }
+ },
+ "error":{
+ "httpStatusCode":403,
+ "senderFault":true
+ },
+ "exception":true
+ },
+ "AnswerMachineDetectionConfig":{
+ "type":"structure",
+ "required":["enableAnswerMachineDetection"],
+ "members":{
+ "enableAnswerMachineDetection":{"shape":"Boolean"}
+ }
+ },
+ "Arn":{
+ "type":"string",
+ "max":500,
+ "min":20,
+ "pattern":"^arn:.*"
+ },
+ "AttributeName":{
+ "type":"string",
+ "max":32767,
+ "min":0,
+ "pattern":"^[a-zA-Z0-9\\-_]+$"
+ },
+ "AttributeValue":{
+ "type":"string",
+ "max":32767,
+ "min":0
+ },
+ "Attributes":{
+ "type":"map",
+ "key":{"shape":"AttributeName"},
+ "value":{"shape":"AttributeValue"},
+ "sensitive":true
+ },
+ "BandwidthAllocation":{
+ "type":"double",
+ "box":true,
+ "max":1,
+ "min":0
+ },
+ "Boolean":{
+ "type":"boolean",
+ "box":true
+ },
+ "Campaign":{
+ "type":"structure",
+ "required":[
+ "arn",
+ "connectInstanceId",
+ "dialerConfig",
+ "id",
+ "name",
+ "outboundCallConfig"
+ ],
+ "members":{
+ "arn":{"shape":"CampaignArn"},
+ "connectInstanceId":{"shape":"InstanceId"},
+ "dialerConfig":{"shape":"DialerConfig"},
+ "id":{"shape":"CampaignId"},
+ "name":{"shape":"CampaignName"},
+ "outboundCallConfig":{"shape":"OutboundCallConfig"},
+ "tags":{"shape":"TagMap"}
+ }
+ },
+ "CampaignArn":{
+ "type":"string",
+ "max":500,
+ "min":20
+ },
+ "CampaignFilters":{
+ "type":"structure",
+ "members":{
+ "instanceIdFilter":{"shape":"InstanceIdFilter"}
+ }
+ },
+ "CampaignId":{
+ "type":"string",
+ "max":256,
+ "min":0
+ },
+ "CampaignName":{
+ "type":"string",
+ "max":127,
+ "min":1
+ },
+ "CampaignState":{
+ "type":"string",
+ "enum":[
+ "Initialized",
+ "Running",
+ "Paused",
+ "Stopped",
+ "Failed"
+ ]
+ },
+ "CampaignSummary":{
+ "type":"structure",
+ "required":[
+ "arn",
+ "connectInstanceId",
+ "id",
+ "name"
+ ],
+ "members":{
+ "arn":{"shape":"CampaignArn"},
+ "connectInstanceId":{"shape":"InstanceId"},
+ "id":{"shape":"CampaignId"},
+ "name":{"shape":"CampaignName"}
+ }
+ },
+ "CampaignSummaryList":{
+ "type":"list",
+ "member":{"shape":"CampaignSummary"}
+ },
+ "ClientToken":{
+ "type":"string",
+ "max":64,
+ "min":0
+ },
+ "ConflictException":{
+ "type":"structure",
+ "required":["message"],
+ "members":{
+ "message":{"shape":"String"},
+ "xAmzErrorType":{
+ "shape":"XAmazonErrorType",
+ "location":"header",
+ "locationName":"x-amzn-ErrorType"
+ }
+ },
+ "error":{
+ "httpStatusCode":409,
+ "senderFault":true
+ },
+ "exception":true
+ },
+ "ContactFlowId":{
+ "type":"string",
+ "max":500,
+ "min":0
+ },
+ "CreateCampaignRequest":{
+ "type":"structure",
+ "required":[
+ "connectInstanceId",
+ "dialerConfig",
+ "name",
+ "outboundCallConfig"
+ ],
+ "members":{
+ "connectInstanceId":{"shape":"InstanceId"},
+ "dialerConfig":{"shape":"DialerConfig"},
+ "name":{"shape":"CampaignName"},
+ "outboundCallConfig":{"shape":"OutboundCallConfig"},
+ "tags":{"shape":"TagMap"}
+ }
+ },
+ "CreateCampaignResponse":{
+ "type":"structure",
+ "members":{
+ "arn":{"shape":"CampaignArn"},
+ "id":{"shape":"CampaignId"},
+ "tags":{"shape":"TagMap"}
+ }
+ },
+ "DeleteCampaignRequest":{
+ "type":"structure",
+ "required":["id"],
+ "members":{
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ }
+ }
+ },
+ "DeleteConnectInstanceConfigRequest":{
+ "type":"structure",
+ "required":["connectInstanceId"],
+ "members":{
+ "connectInstanceId":{
+ "shape":"InstanceId",
+ "location":"uri",
+ "locationName":"connectInstanceId"
+ }
+ }
+ },
+ "DeleteInstanceOnboardingJobRequest":{
+ "type":"structure",
+ "required":["connectInstanceId"],
+ "members":{
+ "connectInstanceId":{
+ "shape":"InstanceId",
+ "location":"uri",
+ "locationName":"connectInstanceId"
+ }
+ }
+ },
+ "DescribeCampaignRequest":{
+ "type":"structure",
+ "required":["id"],
+ "members":{
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ }
+ }
+ },
+ "DescribeCampaignResponse":{
+ "type":"structure",
+ "members":{
+ "campaign":{"shape":"Campaign"}
+ }
+ },
+ "DestinationPhoneNumber":{
+ "type":"string",
+ "max":20,
+ "min":0,
+ "sensitive":true
+ },
+ "DialRequest":{
+ "type":"structure",
+ "required":[
+ "attributes",
+ "clientToken",
+ "expirationTime",
+ "phoneNumber"
+ ],
+ "members":{
+ "attributes":{"shape":"Attributes"},
+ "clientToken":{"shape":"ClientToken"},
+ "expirationTime":{"shape":"TimeStamp"},
+ "phoneNumber":{"shape":"DestinationPhoneNumber"}
+ }
+ },
+ "DialRequestId":{"type":"string"},
+ "DialRequestList":{
+ "type":"list",
+ "member":{"shape":"DialRequest"},
+ "max":25,
+ "min":1
+ },
+ "DialerConfig":{
+ "type":"structure",
+ "members":{
+ "predictiveDialerConfig":{"shape":"PredictiveDialerConfig"},
+ "progressiveDialerConfig":{"shape":"ProgressiveDialerConfig"}
+ },
+ "union":true
+ },
+ "Enabled":{"type":"boolean"},
+ "EncryptionConfig":{
+ "type":"structure",
+ "required":["enabled"],
+ "members":{
+ "enabled":{"shape":"Enabled"},
+ "encryptionType":{"shape":"EncryptionType"},
+ "keyArn":{"shape":"EncryptionKey"}
+ }
+ },
+ "EncryptionKey":{
+ "type":"string",
+ "max":500,
+ "min":0
+ },
+ "EncryptionType":{
+ "type":"string",
+ "enum":["KMS"]
+ },
+ "FailedCampaignStateResponse":{
+ "type":"structure",
+ "members":{
+ "campaignId":{"shape":"CampaignId"},
+ "failureCode":{"shape":"GetCampaignStateBatchFailureCode"}
+ }
+ },
+ "FailedCampaignStateResponseList":{
+ "type":"list",
+ "member":{"shape":"FailedCampaignStateResponse"},
+ "max":25,
+ "min":0
+ },
+ "FailedRequest":{
+ "type":"structure",
+ "members":{
+ "clientToken":{"shape":"ClientToken"},
+ "failureCode":{"shape":"FailureCode"},
+ "id":{"shape":"DialRequestId"}
+ }
+ },
+ "FailedRequestList":{
+ "type":"list",
+ "member":{"shape":"FailedRequest"},
+ "max":25,
+ "min":0
+ },
+ "FailureCode":{
+ "type":"string",
+ "enum":[
+ "InvalidInput",
+ "RequestThrottled",
+ "UnknownError"
+ ]
+ },
+ "GetCampaignStateBatchFailureCode":{
+ "type":"string",
+ "enum":[
+ "ResourceNotFound",
+ "UnknownError"
+ ]
+ },
+ "GetCampaignStateBatchRequest":{
+ "type":"structure",
+ "required":["campaignIds"],
+ "members":{
+ "campaignIds":{"shape":"GetCampaignStateBatchRequestCampaignIdsList"}
+ }
+ },
+ "GetCampaignStateBatchRequestCampaignIdsList":{
+ "type":"list",
+ "member":{"shape":"CampaignId"},
+ "max":25,
+ "min":1
+ },
+ "GetCampaignStateBatchResponse":{
+ "type":"structure",
+ "members":{
+ "failedRequests":{"shape":"FailedCampaignStateResponseList"},
+ "successfulRequests":{"shape":"SuccessfulCampaignStateResponseList"}
+ }
+ },
+ "GetCampaignStateRequest":{
+ "type":"structure",
+ "required":["id"],
+ "members":{
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ }
+ }
+ },
+ "GetCampaignStateResponse":{
+ "type":"structure",
+ "members":{
+ "state":{"shape":"CampaignState"}
+ }
+ },
+ "GetConnectInstanceConfigRequest":{
+ "type":"structure",
+ "required":["connectInstanceId"],
+ "members":{
+ "connectInstanceId":{
+ "shape":"InstanceId",
+ "location":"uri",
+ "locationName":"connectInstanceId"
+ }
+ }
+ },
+ "GetConnectInstanceConfigResponse":{
+ "type":"structure",
+ "members":{
+ "connectInstanceConfig":{"shape":"InstanceConfig"}
+ }
+ },
+ "GetInstanceOnboardingJobStatusRequest":{
+ "type":"structure",
+ "required":["connectInstanceId"],
+ "members":{
+ "connectInstanceId":{
+ "shape":"InstanceId",
+ "location":"uri",
+ "locationName":"connectInstanceId"
+ }
+ }
+ },
+ "GetInstanceOnboardingJobStatusResponse":{
+ "type":"structure",
+ "members":{
+ "connectInstanceOnboardingJobStatus":{"shape":"InstanceOnboardingJobStatus"}
+ }
+ },
+ "InstanceConfig":{
+ "type":"structure",
+ "required":[
+ "connectInstanceId",
+ "encryptionConfig",
+ "serviceLinkedRoleArn"
+ ],
+ "members":{
+ "connectInstanceId":{"shape":"InstanceId"},
+ "encryptionConfig":{"shape":"EncryptionConfig"},
+ "serviceLinkedRoleArn":{"shape":"ServiceLinkedRoleArn"}
+ }
+ },
+ "InstanceId":{
+ "type":"string",
+ "max":256,
+ "min":0
+ },
+ "InstanceIdFilter":{
+ "type":"structure",
+ "required":[
+ "operator",
+ "value"
+ ],
+ "members":{
+ "operator":{"shape":"InstanceIdFilterOperator"},
+ "value":{"shape":"InstanceId"}
+ }
+ },
+ "InstanceIdFilterOperator":{
+ "type":"string",
+ "enum":["Eq"]
+ },
+ "InstanceOnboardingJobFailureCode":{
+ "type":"string",
+ "enum":[
+ "EVENT_BRIDGE_ACCESS_DENIED",
+ "EVENT_BRIDGE_MANAGED_RULE_LIMIT_EXCEEDED",
+ "IAM_ACCESS_DENIED",
+ "KMS_ACCESS_DENIED",
+ "KMS_KEY_NOT_FOUND",
+ "INTERNAL_FAILURE"
+ ]
+ },
+ "InstanceOnboardingJobStatus":{
+ "type":"structure",
+ "required":[
+ "connectInstanceId",
+ "status"
+ ],
+ "members":{
+ "connectInstanceId":{"shape":"InstanceId"},
+ "failureCode":{"shape":"InstanceOnboardingJobFailureCode"},
+ "status":{"shape":"InstanceOnboardingJobStatusCode"}
+ }
+ },
+ "InstanceOnboardingJobStatusCode":{
+ "type":"string",
+ "enum":[
+ "IN_PROGRESS",
+ "SUCCEEDED",
+ "FAILED"
+ ]
+ },
+ "InternalServerException":{
+ "type":"structure",
+ "required":["message"],
+ "members":{
+ "message":{"shape":"String"},
+ "xAmzErrorType":{
+ "shape":"XAmazonErrorType",
+ "location":"header",
+ "locationName":"x-amzn-ErrorType"
+ }
+ },
+ "error":{"httpStatusCode":500},
+ "exception":true,
+ "fault":true,
+ "retryable":{"throttling":false}
+ },
+ "InvalidCampaignStateException":{
+ "type":"structure",
+ "required":[
+ "message",
+ "state"
+ ],
+ "members":{
+ "message":{"shape":"String"},
+ "state":{"shape":"CampaignState"},
+ "xAmzErrorType":{
+ "shape":"XAmazonErrorType",
+ "location":"header",
+ "locationName":"x-amzn-ErrorType"
+ }
+ },
+ "error":{
+ "httpStatusCode":409,
+ "senderFault":true
+ },
+ "exception":true
+ },
+ "InvalidStateException":{
+ "type":"structure",
+ "required":["message"],
+ "members":{
+ "message":{"shape":"String"},
+ "xAmzErrorType":{
+ "shape":"XAmazonErrorType",
+ "location":"header",
+ "locationName":"x-amzn-ErrorType"
+ }
+ },
+ "error":{
+ "httpStatusCode":409,
+ "senderFault":true
+ },
+ "exception":true
+ },
+ "ListCampaignsRequest":{
+ "type":"structure",
+ "members":{
+ "filters":{"shape":"CampaignFilters"},
+ "maxResults":{"shape":"MaxResults"},
+ "nextToken":{"shape":"NextToken"}
+ }
+ },
+ "ListCampaignsResponse":{
+ "type":"structure",
+ "members":{
+ "campaignSummaryList":{"shape":"CampaignSummaryList"},
+ "nextToken":{"shape":"NextToken"}
+ }
+ },
+ "ListTagsForResourceRequest":{
+ "type":"structure",
+ "required":["arn"],
+ "members":{
+ "arn":{
+ "shape":"Arn",
+ "location":"uri",
+ "locationName":"arn"
+ }
+ }
+ },
+ "ListTagsForResourceResponse":{
+ "type":"structure",
+ "members":{
+ "tags":{"shape":"TagMap"}
+ }
+ },
+ "MaxResults":{
+ "type":"integer",
+ "box":true,
+ "max":50,
+ "min":1
+ },
+ "NextToken":{
+ "type":"string",
+ "max":1000,
+ "min":0
+ },
+ "OutboundCallConfig":{
+ "type":"structure",
+ "required":[
+ "connectContactFlowId",
+ "connectQueueId"
+ ],
+ "members":{
+ "answerMachineDetectionConfig":{"shape":"AnswerMachineDetectionConfig"},
+ "connectContactFlowId":{"shape":"ContactFlowId"},
+ "connectQueueId":{"shape":"QueueId"},
+ "connectSourcePhoneNumber":{"shape":"SourcePhoneNumber"}
+ }
+ },
+ "PauseCampaignRequest":{
+ "type":"structure",
+ "required":["id"],
+ "members":{
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ }
+ }
+ },
+ "PredictiveDialerConfig":{
+ "type":"structure",
+ "required":["bandwidthAllocation"],
+ "members":{
+ "bandwidthAllocation":{"shape":"BandwidthAllocation"}
+ }
+ },
+ "ProgressiveDialerConfig":{
+ "type":"structure",
+ "required":["bandwidthAllocation"],
+ "members":{
+ "bandwidthAllocation":{"shape":"BandwidthAllocation"}
+ }
+ },
+ "PutDialRequestBatchRequest":{
+ "type":"structure",
+ "required":[
+ "dialRequests",
+ "id"
+ ],
+ "members":{
+ "dialRequests":{"shape":"DialRequestList"},
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ }
+ }
+ },
+ "PutDialRequestBatchResponse":{
+ "type":"structure",
+ "members":{
+ "failedRequests":{"shape":"FailedRequestList"},
+ "successfulRequests":{"shape":"SuccessfulRequestList"}
+ }
+ },
+ "QueueId":{
+ "type":"string",
+ "max":500,
+ "min":0
+ },
+ "ResourceNotFoundException":{
+ "type":"structure",
+ "required":["message"],
+ "members":{
+ "message":{"shape":"String"},
+ "xAmzErrorType":{
+ "shape":"XAmazonErrorType",
+ "location":"header",
+ "locationName":"x-amzn-ErrorType"
+ }
+ },
+ "error":{
+ "httpStatusCode":404,
+ "senderFault":true
+ },
+ "exception":true
+ },
+ "ResumeCampaignRequest":{
+ "type":"structure",
+ "required":["id"],
+ "members":{
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ }
+ }
+ },
+ "ServiceLinkedRoleArn":{
+ "type":"string",
+ "max":256,
+ "min":0
+ },
+ "ServiceQuotaExceededException":{
+ "type":"structure",
+ "required":["message"],
+ "members":{
+ "message":{"shape":"String"},
+ "xAmzErrorType":{
+ "shape":"XAmazonErrorType",
+ "location":"header",
+ "locationName":"x-amzn-ErrorType"
+ }
+ },
+ "error":{
+ "httpStatusCode":402,
+ "senderFault":true
+ },
+ "exception":true
+ },
+ "SourcePhoneNumber":{
+ "type":"string",
+ "max":100,
+ "min":0
+ },
+ "StartCampaignRequest":{
+ "type":"structure",
+ "required":["id"],
+ "members":{
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ }
+ }
+ },
+ "StartInstanceOnboardingJobRequest":{
+ "type":"structure",
+ "required":[
+ "connectInstanceId",
+ "encryptionConfig"
+ ],
+ "members":{
+ "connectInstanceId":{
+ "shape":"InstanceId",
+ "location":"uri",
+ "locationName":"connectInstanceId"
+ },
+ "encryptionConfig":{"shape":"EncryptionConfig"}
+ }
+ },
+ "StartInstanceOnboardingJobResponse":{
+ "type":"structure",
+ "members":{
+ "connectInstanceOnboardingJobStatus":{"shape":"InstanceOnboardingJobStatus"}
+ }
+ },
+ "StopCampaignRequest":{
+ "type":"structure",
+ "required":["id"],
+ "members":{
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ }
+ }
+ },
+ "String":{"type":"string"},
+ "SuccessfulCampaignStateResponse":{
+ "type":"structure",
+ "members":{
+ "campaignId":{"shape":"CampaignId"},
+ "state":{"shape":"CampaignState"}
+ }
+ },
+ "SuccessfulCampaignStateResponseList":{
+ "type":"list",
+ "member":{"shape":"SuccessfulCampaignStateResponse"},
+ "max":25,
+ "min":0
+ },
+ "SuccessfulRequest":{
+ "type":"structure",
+ "members":{
+ "clientToken":{"shape":"ClientToken"},
+ "id":{"shape":"DialRequestId"}
+ }
+ },
+ "SuccessfulRequestList":{
+ "type":"list",
+ "member":{"shape":"SuccessfulRequest"},
+ "max":25,
+ "min":0
+ },
+ "TagKey":{
+ "type":"string",
+ "max":128,
+ "min":1,
+ "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$"
+ },
+ "TagKeyList":{
+ "type":"list",
+ "member":{"shape":"TagKey"},
+ "max":50,
+ "min":0
+ },
+ "TagMap":{
+ "type":"map",
+ "key":{"shape":"TagKey"},
+ "value":{"shape":"TagValue"}
+ },
+ "TagResourceRequest":{
+ "type":"structure",
+ "required":[
+ "arn",
+ "tags"
+ ],
+ "members":{
+ "arn":{
+ "shape":"Arn",
+ "location":"uri",
+ "locationName":"arn"
+ },
+ "tags":{"shape":"TagMap"}
+ }
+ },
+ "TagValue":{
+ "type":"string",
+ "max":256,
+ "min":0
+ },
+ "ThrottlingException":{
+ "type":"structure",
+ "required":["message"],
+ "members":{
+ "message":{"shape":"String"},
+ "xAmzErrorType":{
+ "shape":"XAmazonErrorType",
+ "location":"header",
+ "locationName":"x-amzn-ErrorType"
+ }
+ },
+ "error":{
+ "httpStatusCode":429,
+ "senderFault":true
+ },
+ "exception":true,
+ "retryable":{"throttling":false}
+ },
+ "TimeStamp":{
+ "type":"timestamp",
+ "timestampFormat":"iso8601"
+ },
+ "UntagResourceRequest":{
+ "type":"structure",
+ "required":[
+ "arn",
+ "tagKeys"
+ ],
+ "members":{
+ "arn":{
+ "shape":"Arn",
+ "location":"uri",
+ "locationName":"arn"
+ },
+ "tagKeys":{
+ "shape":"TagKeyList",
+ "location":"querystring",
+ "locationName":"tagKeys"
+ }
+ }
+ },
+ "UpdateCampaignDialerConfigRequest":{
+ "type":"structure",
+ "required":[
+ "dialerConfig",
+ "id"
+ ],
+ "members":{
+ "dialerConfig":{"shape":"DialerConfig"},
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ }
+ }
+ },
+ "UpdateCampaignNameRequest":{
+ "type":"structure",
+ "required":[
+ "id",
+ "name"
+ ],
+ "members":{
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ },
+ "name":{"shape":"CampaignName"}
+ }
+ },
+ "UpdateCampaignOutboundCallConfigRequest":{
+ "type":"structure",
+ "required":["id"],
+ "members":{
+ "answerMachineDetectionConfig":{"shape":"AnswerMachineDetectionConfig"},
+ "connectContactFlowId":{"shape":"ContactFlowId"},
+ "connectSourcePhoneNumber":{"shape":"SourcePhoneNumber"},
+ "id":{
+ "shape":"CampaignId",
+ "location":"uri",
+ "locationName":"id"
+ }
+ }
+ },
+ "ValidationException":{
+ "type":"structure",
+ "required":["message"],
+ "members":{
+ "message":{"shape":"String"},
+ "xAmzErrorType":{
+ "shape":"XAmazonErrorType",
+ "location":"header",
+ "locationName":"x-amzn-ErrorType"
+ }
+ },
+ "error":{
+ "httpStatusCode":400,
+ "senderFault":true
+ },
+ "exception":true
+ },
+ "XAmazonErrorType":{"type":"string"}
+ }
+}
diff --git a/apis/connectcampaigns/2021-01-30/docs-2.json b/apis/connectcampaigns/2021-01-30/docs-2.json
new file mode 100644
index 00000000000..0a631c46ca8
--- /dev/null
+++ b/apis/connectcampaigns/2021-01-30/docs-2.json
@@ -0,0 +1,658 @@
+{
+ "version": "2.0",
+ "service": "
Provide APIs to create and manage Amazon Connect Campaigns.
",
+ "operations": {
+ "CreateCampaign": "Creates a campaign for the specified Amazon Connect account. This API is idempotent.
",
+ "DeleteCampaign": "Deletes a campaign from the specified Amazon Connect account.
",
+ "DeleteConnectInstanceConfig": "Deletes a connect instance config from the specified AWS account.
",
+ "DeleteInstanceOnboardingJob": "Delete the Connect Campaigns onboarding job for the specified Amazon Connect instance.
",
+ "DescribeCampaign": "Describes the specific campaign.
",
+ "GetCampaignState": "Get state of a campaign for the specified Amazon Connect account.
",
+ "GetCampaignStateBatch": "Get state of campaigns for the specified Amazon Connect account.
",
+ "GetConnectInstanceConfig": "Get the specific Connect instance config.
",
+ "GetInstanceOnboardingJobStatus": "Get the specific instance onboarding job status.
",
+ "ListCampaigns": "Provides summary information about the campaigns under the specified Amazon Connect account.
",
+ "ListTagsForResource": "List tags for a resource.
",
+ "PauseCampaign": "Pauses a campaign for the specified Amazon Connect account.
",
+ "PutDialRequestBatch": "Creates dials requests for the specified campaign Amazon Connect account. This API is idempotent.
",
+ "ResumeCampaign": "Stops a campaign for the specified Amazon Connect account.
",
+ "StartCampaign": "Starts a campaign for the specified Amazon Connect account.
",
+ "StartInstanceOnboardingJob": "Onboard the specific Amazon Connect instance to Connect Campaigns.
",
+ "StopCampaign": "Stops a campaign for the specified Amazon Connect account.
",
+ "TagResource": "Tag a resource.
",
+ "UntagResource": "Untag a resource.
",
+ "UpdateCampaignDialerConfig": "Updates the dialer config of a campaign. This API is idempotent.
",
+ "UpdateCampaignName": "Updates the name of a campaign. This API is idempotent.
",
+ "UpdateCampaignOutboundCallConfig": "Updates the outbound call config of a campaign. This API is idempotent.
"
+ },
+ "shapes": {
+ "AccessDeniedException": {
+ "base": "You do not have sufficient access to perform this action.
",
+ "refs": {
+ }
+ },
+ "AnswerMachineDetectionConfig": {
+ "base": "Answering Machine Detection config
",
+ "refs": {
+ "OutboundCallConfig$answerMachineDetectionConfig": null,
+ "UpdateCampaignOutboundCallConfigRequest$answerMachineDetectionConfig": null
+ }
+ },
+ "Arn": {
+ "base": "Arn
",
+ "refs": {
+ "ListTagsForResourceRequest$arn": null,
+ "TagResourceRequest$arn": null,
+ "UntagResourceRequest$arn": null
+ }
+ },
+ "AttributeName": {
+ "base": "The key of the attribute. Attribute keys can include only alphanumeric, dash, and underscore characters.
",
+ "refs": {
+ "Attributes$key": null
+ }
+ },
+ "AttributeValue": {
+ "base": "The value of the attribute.
",
+ "refs": {
+ "Attributes$value": null
+ }
+ },
+ "Attributes": {
+ "base": "A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes.
",
+ "refs": {
+ "DialRequest$attributes": null
+ }
+ },
+ "BandwidthAllocation": {
+ "base": "The bandwidth allocation of a queue resource.
",
+ "refs": {
+ "PredictiveDialerConfig$bandwidthAllocation": null,
+ "ProgressiveDialerConfig$bandwidthAllocation": null
+ }
+ },
+ "Boolean": {
+ "base": null,
+ "refs": {
+ "AnswerMachineDetectionConfig$enableAnswerMachineDetection": "Enable or disable answering machine detection
"
+ }
+ },
+ "Campaign": {
+ "base": "An Amazon Connect campaign.
",
+ "refs": {
+ "DescribeCampaignResponse$campaign": null
+ }
+ },
+ "CampaignArn": {
+ "base": "The resource name of an Amazon Connect campaign.
",
+ "refs": {
+ "Campaign$arn": null,
+ "CampaignSummary$arn": null,
+ "CreateCampaignResponse$arn": null
+ }
+ },
+ "CampaignFilters": {
+ "base": "Filter model by type
",
+ "refs": {
+ "ListCampaignsRequest$filters": null
+ }
+ },
+ "CampaignId": {
+ "base": "Identifier representing a Campaign
",
+ "refs": {
+ "Campaign$id": null,
+ "CampaignSummary$id": null,
+ "CreateCampaignResponse$id": null,
+ "DeleteCampaignRequest$id": null,
+ "DescribeCampaignRequest$id": null,
+ "FailedCampaignStateResponse$campaignId": null,
+ "GetCampaignStateBatchRequestCampaignIdsList$member": null,
+ "GetCampaignStateRequest$id": null,
+ "PauseCampaignRequest$id": null,
+ "PutDialRequestBatchRequest$id": null,
+ "ResumeCampaignRequest$id": null,
+ "StartCampaignRequest$id": null,
+ "StopCampaignRequest$id": null,
+ "SuccessfulCampaignStateResponse$campaignId": null,
+ "UpdateCampaignDialerConfigRequest$id": null,
+ "UpdateCampaignNameRequest$id": null,
+ "UpdateCampaignOutboundCallConfigRequest$id": null
+ }
+ },
+ "CampaignName": {
+ "base": "The name of an Amazon Connect Campaign name.
",
+ "refs": {
+ "Campaign$name": null,
+ "CampaignSummary$name": null,
+ "CreateCampaignRequest$name": null,
+ "UpdateCampaignNameRequest$name": null
+ }
+ },
+ "CampaignState": {
+ "base": "State of a campaign
",
+ "refs": {
+ "GetCampaignStateResponse$state": null,
+ "InvalidCampaignStateException$state": null,
+ "SuccessfulCampaignStateResponse$state": null
+ }
+ },
+ "CampaignSummary": {
+ "base": "An Amazon Connect campaign summary.
",
+ "refs": {
+ "CampaignSummaryList$member": null
+ }
+ },
+ "CampaignSummaryList": {
+ "base": "A list of Amazon Connect campaigns.
",
+ "refs": {
+ "ListCampaignsResponse$campaignSummaryList": null
+ }
+ },
+ "ClientToken": {
+ "base": "Client provided parameter used for idempotency. Its value must be unique for each request.
",
+ "refs": {
+ "DialRequest$clientToken": null,
+ "FailedRequest$clientToken": null,
+ "SuccessfulRequest$clientToken": null
+ }
+ },
+ "ConflictException": {
+ "base": "The request could not be processed because of conflict in the current state of the resource.
",
+ "refs": {
+ }
+ },
+ "ContactFlowId": {
+ "base": "The identifier of the contact flow for the outbound call.
",
+ "refs": {
+ "OutboundCallConfig$connectContactFlowId": null,
+ "UpdateCampaignOutboundCallConfigRequest$connectContactFlowId": null
+ }
+ },
+ "CreateCampaignRequest": {
+ "base": "The request for Create Campaign API.
",
+ "refs": {
+ }
+ },
+ "CreateCampaignResponse": {
+ "base": "The response for Create Campaign API
",
+ "refs": {
+ }
+ },
+ "DeleteCampaignRequest": {
+ "base": "DeleteCampaignRequest
",
+ "refs": {
+ }
+ },
+ "DeleteConnectInstanceConfigRequest": {
+ "base": "DeleteCampaignRequest
",
+ "refs": {
+ }
+ },
+ "DeleteInstanceOnboardingJobRequest": {
+ "base": "The request for DeleteInstanceOnboardingJob API.
",
+ "refs": {
+ }
+ },
+ "DescribeCampaignRequest": {
+ "base": "DescribeCampaignRequests
",
+ "refs": {
+ }
+ },
+ "DescribeCampaignResponse": {
+ "base": "DescribeCampaignResponse
",
+ "refs": {
+ }
+ },
+ "DestinationPhoneNumber": {
+ "base": "The phone number of the customer, in E.164 format.
",
+ "refs": {
+ "DialRequest$phoneNumber": null
+ }
+ },
+ "DialRequest": {
+ "base": "A dial request for a campaign.
",
+ "refs": {
+ "DialRequestList$member": null
+ }
+ },
+ "DialRequestId": {
+ "base": "Identifier representing a Dial request
",
+ "refs": {
+ "FailedRequest$id": null,
+ "SuccessfulRequest$id": null
+ }
+ },
+ "DialRequestList": {
+ "base": "A list of dial requests.
",
+ "refs": {
+ "PutDialRequestBatchRequest$dialRequests": null
+ }
+ },
+ "DialerConfig": {
+ "base": "The possible types of dialer config parameters
",
+ "refs": {
+ "Campaign$dialerConfig": null,
+ "CreateCampaignRequest$dialerConfig": null,
+ "UpdateCampaignDialerConfigRequest$dialerConfig": null
+ }
+ },
+ "Enabled": {
+ "base": "Boolean to indicate if custom encryption has been enabled.
",
+ "refs": {
+ "EncryptionConfig$enabled": null
+ }
+ },
+ "EncryptionConfig": {
+ "base": "Encryption config for Connect Instance. Note that sensitive data will always be encrypted. If disabled, service will perform encryption with its own key. If enabled, a KMS key id needs to be provided and KMS charges will apply. KMS is only type supported
",
+ "refs": {
+ "InstanceConfig$encryptionConfig": null,
+ "StartInstanceOnboardingJobRequest$encryptionConfig": null
+ }
+ },
+ "EncryptionKey": {
+ "base": "KMS key id/arn for encryption config.
",
+ "refs": {
+ "EncryptionConfig$keyArn": null
+ }
+ },
+ "EncryptionType": {
+ "base": "Server-side encryption type.
",
+ "refs": {
+ "EncryptionConfig$encryptionType": null
+ }
+ },
+ "FailedCampaignStateResponse": {
+ "base": "Failed response of campaign state
",
+ "refs": {
+ "FailedCampaignStateResponseList$member": null
+ }
+ },
+ "FailedCampaignStateResponseList": {
+ "base": "List of failed requests of campaign state
",
+ "refs": {
+ "GetCampaignStateBatchResponse$failedRequests": null
+ }
+ },
+ "FailedRequest": {
+ "base": "A failed request identified by the unique client token.
",
+ "refs": {
+ "FailedRequestList$member": null
+ }
+ },
+ "FailedRequestList": {
+ "base": "A list of failed requests.
",
+ "refs": {
+ "PutDialRequestBatchResponse$failedRequests": null
+ }
+ },
+ "FailureCode": {
+ "base": "A predefined code indicating the error that caused the failure.
",
+ "refs": {
+ "FailedRequest$failureCode": null
+ }
+ },
+ "GetCampaignStateBatchFailureCode": {
+ "base": "A predefined code indicating the error that caused the failure in getting state of campaigns
",
+ "refs": {
+ "FailedCampaignStateResponse$failureCode": null
+ }
+ },
+ "GetCampaignStateBatchRequest": {
+ "base": "GetCampaignStateBatchRequest
",
+ "refs": {
+ }
+ },
+ "GetCampaignStateBatchRequestCampaignIdsList": {
+ "base": "List of CampaignId
",
+ "refs": {
+ "GetCampaignStateBatchRequest$campaignIds": null
+ }
+ },
+ "GetCampaignStateBatchResponse": {
+ "base": "GetCampaignStateBatchResponse
",
+ "refs": {
+ }
+ },
+ "GetCampaignStateRequest": {
+ "base": "GetCampaignStateRequest
",
+ "refs": {
+ }
+ },
+ "GetCampaignStateResponse": {
+ "base": "GetCampaignStateResponse
",
+ "refs": {
+ }
+ },
+ "GetConnectInstanceConfigRequest": {
+ "base": "GetConnectInstanceConfigRequest
",
+ "refs": {
+ }
+ },
+ "GetConnectInstanceConfigResponse": {
+ "base": "GetConnectInstanceConfigResponse
",
+ "refs": {
+ }
+ },
+ "GetInstanceOnboardingJobStatusRequest": {
+ "base": "GetInstanceOnboardingJobStatusRequest
",
+ "refs": {
+ }
+ },
+ "GetInstanceOnboardingJobStatusResponse": {
+ "base": "GetInstanceOnboardingJobStatusResponse
",
+ "refs": {
+ }
+ },
+ "InstanceConfig": {
+ "base": "Instance config object
",
+ "refs": {
+ "GetConnectInstanceConfigResponse$connectInstanceConfig": null
+ }
+ },
+ "InstanceId": {
+ "base": "Amazon Connect Instance Id
",
+ "refs": {
+ "Campaign$connectInstanceId": null,
+ "CampaignSummary$connectInstanceId": null,
+ "CreateCampaignRequest$connectInstanceId": null,
+ "DeleteConnectInstanceConfigRequest$connectInstanceId": null,
+ "DeleteInstanceOnboardingJobRequest$connectInstanceId": null,
+ "GetConnectInstanceConfigRequest$connectInstanceId": null,
+ "GetInstanceOnboardingJobStatusRequest$connectInstanceId": null,
+ "InstanceConfig$connectInstanceId": null,
+ "InstanceIdFilter$value": null,
+ "InstanceOnboardingJobStatus$connectInstanceId": null,
+ "StartInstanceOnboardingJobRequest$connectInstanceId": null
+ }
+ },
+ "InstanceIdFilter": {
+ "base": "Connect instance identifier filter
",
+ "refs": {
+ "CampaignFilters$instanceIdFilter": null
+ }
+ },
+ "InstanceIdFilterOperator": {
+ "base": "Operators for Connect instance identifier filter
",
+ "refs": {
+ "InstanceIdFilter$operator": null
+ }
+ },
+ "InstanceOnboardingJobFailureCode": {
+ "base": "Enumeration of the possible failure codes for instance onboarding job
",
+ "refs": {
+ "InstanceOnboardingJobStatus$failureCode": null
+ }
+ },
+ "InstanceOnboardingJobStatus": {
+ "base": "Instance onboarding job status object
",
+ "refs": {
+ "GetInstanceOnboardingJobStatusResponse$connectInstanceOnboardingJobStatus": null,
+ "StartInstanceOnboardingJobResponse$connectInstanceOnboardingJobStatus": null
+ }
+ },
+ "InstanceOnboardingJobStatusCode": {
+ "base": "Enumeration of the possible states for instance onboarding job
",
+ "refs": {
+ "InstanceOnboardingJobStatus$status": null
+ }
+ },
+ "InternalServerException": {
+ "base": "Request processing failed because of an error or failure with the service.
",
+ "refs": {
+ }
+ },
+ "InvalidCampaignStateException": {
+ "base": "The request could not be processed because of conflict in the current state of the campaign.
",
+ "refs": {
+ }
+ },
+ "InvalidStateException": {
+ "base": "The request could not be processed because of conflict in the current state.
",
+ "refs": {
+ }
+ },
+ "ListCampaignsRequest": {
+ "base": "ListCampaignsRequest
",
+ "refs": {
+ }
+ },
+ "ListCampaignsResponse": {
+ "base": "ListCampaignsResponse
",
+ "refs": {
+ }
+ },
+ "ListTagsForResourceRequest": {
+ "base": "ListTagsForResource
",
+ "refs": {
+ }
+ },
+ "ListTagsForResourceResponse": {
+ "base": "ListTagsForResponse
",
+ "refs": {
+ }
+ },
+ "MaxResults": {
+ "base": "The maximum number of results to return per page.
",
+ "refs": {
+ "ListCampaignsRequest$maxResults": null
+ }
+ },
+ "NextToken": {
+ "base": "The token for the next set of results.
",
+ "refs": {
+ "ListCampaignsRequest$nextToken": null,
+ "ListCampaignsResponse$nextToken": null
+ }
+ },
+ "OutboundCallConfig": {
+ "base": "The configuration used for outbound calls.
",
+ "refs": {
+ "Campaign$outboundCallConfig": null,
+ "CreateCampaignRequest$outboundCallConfig": null
+ }
+ },
+ "PauseCampaignRequest": {
+ "base": "PauseCampaignRequest
",
+ "refs": {
+ }
+ },
+ "PredictiveDialerConfig": {
+ "base": "Predictive Dialer config
",
+ "refs": {
+ "DialerConfig$predictiveDialerConfig": null
+ }
+ },
+ "ProgressiveDialerConfig": {
+ "base": "Progressive Dialer config
",
+ "refs": {
+ "DialerConfig$progressiveDialerConfig": null
+ }
+ },
+ "PutDialRequestBatchRequest": {
+ "base": "PutDialRequestBatchRequest
",
+ "refs": {
+ }
+ },
+ "PutDialRequestBatchResponse": {
+ "base": "PutDialRequestBatchResponse
",
+ "refs": {
+ }
+ },
+ "QueueId": {
+ "base": "The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.
",
+ "refs": {
+ "OutboundCallConfig$connectQueueId": null
+ }
+ },
+ "ResourceNotFoundException": {
+ "base": "The specified resource was not found.
",
+ "refs": {
+ }
+ },
+ "ResumeCampaignRequest": {
+ "base": "ResumeCampaignRequest
",
+ "refs": {
+ }
+ },
+ "ServiceLinkedRoleArn": {
+ "base": "Service linked role arn
",
+ "refs": {
+ "InstanceConfig$serviceLinkedRoleArn": null
+ }
+ },
+ "ServiceQuotaExceededException": {
+ "base": "Request would cause a service quota to be exceeded.
",
+ "refs": {
+ }
+ },
+ "SourcePhoneNumber": {
+ "base": "The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.
",
+ "refs": {
+ "OutboundCallConfig$connectSourcePhoneNumber": null,
+ "UpdateCampaignOutboundCallConfigRequest$connectSourcePhoneNumber": null
+ }
+ },
+ "StartCampaignRequest": {
+ "base": "StartCampaignRequest
",
+ "refs": {
+ }
+ },
+ "StartInstanceOnboardingJobRequest": {
+ "base": "The request for StartInstanceOnboardingJob API.
",
+ "refs": {
+ }
+ },
+ "StartInstanceOnboardingJobResponse": {
+ "base": "The response for StartInstanceOnboardingJob API.
",
+ "refs": {
+ }
+ },
+ "StopCampaignRequest": {
+ "base": "StopCampaignRequest
",
+ "refs": {
+ }
+ },
+ "String": {
+ "base": null,
+ "refs": {
+ "AccessDeniedException$message": null,
+ "ConflictException$message": null,
+ "InternalServerException$message": null,
+ "InvalidCampaignStateException$message": null,
+ "InvalidStateException$message": null,
+ "ResourceNotFoundException$message": null,
+ "ServiceQuotaExceededException$message": null,
+ "ThrottlingException$message": null,
+ "ValidationException$message": null
+ }
+ },
+ "SuccessfulCampaignStateResponse": {
+ "base": "Successful response of campaign state
",
+ "refs": {
+ "SuccessfulCampaignStateResponseList$member": null
+ }
+ },
+ "SuccessfulCampaignStateResponseList": {
+ "base": "List of successful response of campaign state
",
+ "refs": {
+ "GetCampaignStateBatchResponse$successfulRequests": null
+ }
+ },
+ "SuccessfulRequest": {
+ "base": "A successful request identified by the unique client token.
",
+ "refs": {
+ "SuccessfulRequestList$member": null
+ }
+ },
+ "SuccessfulRequestList": {
+ "base": "A list of successful requests identified by the unique client token.
",
+ "refs": {
+ "PutDialRequestBatchResponse$successfulRequests": null
+ }
+ },
+ "TagKey": {
+ "base": "Tag key.
",
+ "refs": {
+ "TagKeyList$member": null,
+ "TagMap$key": null
+ }
+ },
+ "TagKeyList": {
+ "base": "List of tag keys.
",
+ "refs": {
+ "UntagResourceRequest$tagKeys": null
+ }
+ },
+ "TagMap": {
+ "base": "Tag map with key and value.
",
+ "refs": {
+ "Campaign$tags": null,
+ "CreateCampaignRequest$tags": null,
+ "CreateCampaignResponse$tags": null,
+ "ListTagsForResourceResponse$tags": null,
+ "TagResourceRequest$tags": null
+ }
+ },
+ "TagResourceRequest": {
+ "base": "TagResourceRequest
",
+ "refs": {
+ }
+ },
+ "TagValue": {
+ "base": "Tag value.
",
+ "refs": {
+ "TagMap$value": null
+ }
+ },
+ "ThrottlingException": {
+ "base": "The request was denied due to request throttling.
",
+ "refs": {
+ }
+ },
+ "TimeStamp": {
+ "base": "Timestamp with no UTC offset or timezone
",
+ "refs": {
+ "DialRequest$expirationTime": null
+ }
+ },
+ "UntagResourceRequest": {
+ "base": "UntagResourceRequest
",
+ "refs": {
+ }
+ },
+ "UpdateCampaignDialerConfigRequest": {
+ "base": "UpdateCampaignDialerConfigRequest
",
+ "refs": {
+ }
+ },
+ "UpdateCampaignNameRequest": {
+ "base": "UpdateCampaignNameRequest
",
+ "refs": {
+ }
+ },
+ "UpdateCampaignOutboundCallConfigRequest": {
+ "base": "UpdateCampaignOutboundCallConfigRequest
",
+ "refs": {
+ }
+ },
+ "ValidationException": {
+ "base": "The input fails to satisfy the constraints specified by an AWS service.
",
+ "refs": {
+ }
+ },
+ "XAmazonErrorType": {
+ "base": "A header that defines the error encountered while processing the request.
",
+ "refs": {
+ "AccessDeniedException$xAmzErrorType": null,
+ "ConflictException$xAmzErrorType": null,
+ "InternalServerException$xAmzErrorType": null,
+ "InvalidCampaignStateException$xAmzErrorType": null,
+ "InvalidStateException$xAmzErrorType": null,
+ "ResourceNotFoundException$xAmzErrorType": null,
+ "ServiceQuotaExceededException$xAmzErrorType": null,
+ "ThrottlingException$xAmzErrorType": null,
+ "ValidationException$xAmzErrorType": null
+ }
+ }
+ }
+}
diff --git a/apis/connectcampaigns/2021-01-30/examples-1.json b/apis/connectcampaigns/2021-01-30/examples-1.json
new file mode 100644
index 00000000000..0ea7e3b0bbe
--- /dev/null
+++ b/apis/connectcampaigns/2021-01-30/examples-1.json
@@ -0,0 +1,5 @@
+{
+ "version": "1.0",
+ "examples": {
+ }
+}
diff --git a/apis/connectcampaigns/2021-01-30/paginators-1.json b/apis/connectcampaigns/2021-01-30/paginators-1.json
new file mode 100644
index 00000000000..6ab04512590
--- /dev/null
+++ b/apis/connectcampaigns/2021-01-30/paginators-1.json
@@ -0,0 +1,10 @@
+{
+ "pagination": {
+ "ListCampaigns": {
+ "input_token": "nextToken",
+ "output_token": "nextToken",
+ "limit_key": "maxResults",
+ "result_key": "campaignSummaryList"
+ }
+ }
+}
diff --git a/apis/dynamodb/2012-08-10/docs-2.json b/apis/dynamodb/2012-08-10/docs-2.json
index 32ec7ccf455..32c1c899098 100644
--- a/apis/dynamodb/2012-08-10/docs-2.json
+++ b/apis/dynamodb/2012-08-10/docs-2.json
@@ -2,7 +2,7 @@
"version": "2.0",
"service": "Amazon DynamoDB Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. DynamoDB lets you offload the administrative burdens of operating and scaling a distributed database, so that you don't have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling.
With DynamoDB, you can create database tables that can store and retrieve any amount of data, and serve any level of request traffic. You can scale up or scale down your tables' throughput capacity without downtime or performance degradation, and use the Amazon Web Services Management Console to monitor resource utilization and performance metrics.
DynamoDB automatically spreads the data and traffic for your tables over a sufficient number of servers to handle your throughput and storage requirements, while maintaining consistent and fast performance. All of your data is stored on solid state disks (SSDs) and automatically replicated across multiple Availability Zones in an Amazon Web Services Region, providing built-in high availability and data durability.
",
"operations": {
- "BatchExecuteStatement": "This operation allows you to perform batch reads or writes on data stored in DynamoDB, using PartiQL.
The entire batch must consist of either read statements or write statements, you cannot mix both in one batch.
",
+ "BatchExecuteStatement": "This operation allows you to perform batch reads or writes on data stored in DynamoDB, using PartiQL. Each read statement in a BatchExecuteStatement
must specify an equality condition on all key attributes. This enforces that each SELECT
statement in a batch returns at most a single item.
The entire batch must consist of either read statements or write statements, you cannot mix both in one batch.
A HTTP 200 response does not mean that all statements in the BatchExecuteStatement succeeded. Error details for individual statements can be found under the Error field of the BatchStatementResponse
for each statement.
",
"BatchGetItem": "The BatchGetItem
operation returns the attributes of one or more items from one or more tables. You identify requested items by primary key.
A single operation can retrieve up to 16 MB of data, which can contain as many as 100 items. BatchGetItem
returns a partial result if the response size limit is exceeded, the table's provisioned throughput is exceeded, or an internal processing failure occurs. If a partial result is returned, the operation returns a value for UnprocessedKeys
. You can use this value to retry the operation starting with the next item to get.
If you request more than 100 items, BatchGetItem
returns a ValidationException
with the message \"Too many items requested for the BatchGetItem call.\"
For example, if you ask to retrieve 100 items, but each individual item is 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB limit). It also returns an appropriate UnprocessedKeys
value so you can get the next page of results. If desired, your application can include its own logic to assemble the pages of results into one dataset.
If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchGetItem
returns a ProvisionedThroughputExceededException
. If at least one of the items is successfully processed, then BatchGetItem
completes successfully, while returning the keys of the unread items in UnprocessedKeys
.
If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.
For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.
By default, BatchGetItem
performs eventually consistent reads on every table in the request. If you want strongly consistent reads instead, you can set ConsistentRead
to true
for any or all tables.
In order to minimize response latency, BatchGetItem
retrieves items in parallel.
When designing your application, keep in mind that DynamoDB does not return items in any particular order. To help parse the response by item, include the primary key values for the items in your request in the ProjectionExpression
parameter.
If a requested item does not exist, it is not returned in the result. Requests for nonexistent items consume the minimum read capacity units according to the type of read. For more information, see Working with Tables in the Amazon DynamoDB Developer Guide.
",
"BatchWriteItem": "The BatchWriteItem
operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem
can transmit up to 16MB of data over the network, consisting of up to 25 item put or delete operations. While individual items can be up to 400 KB once stored, it's important to note that an item's representation might be greater than 400KB while being sent in DynamoDB's JSON format for the API call. For more details on this distinction, see Naming Rules and Data Types.
BatchWriteItem
cannot update items. To update items, use the UpdateItem
action.
The individual PutItem
and DeleteItem
operations specified in BatchWriteItem
are atomic; however BatchWriteItem
as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems
response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem
in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem
request with those unprocessed items until all items have been processed.
If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem
returns a ProvisionedThroughputExceededException
.
If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.
For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.
With BatchWriteItem
, you can efficiently write or delete large amounts of data, such as from Amazon EMR, or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem
does not behave in the same way as individual PutItem
and DeleteItem
calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem
does not return deleted items in the response.
If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem
performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.
Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.
If one or more of the following is true, DynamoDB rejects the entire batch write operation:
-
One or more tables specified in the BatchWriteItem
request does not exist.
-
Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema.
-
You try to perform multiple operations on the same item in the same BatchWriteItem
request. For example, you cannot put and delete the same item in the same BatchWriteItem
request.
-
Your request contains at least two items with identical hash and range keys (which essentially is two put operations).
-
There are more than 25 requests in the batch.
-
Any individual item in a batch exceeds 400 KB.
-
The total request size exceeds 16 MB.
",
"CreateBackup": "Creates a backup for an existing table.
Each time you create an on-demand backup, the entire table data is backed up. There is no limit to the number of on-demand backups that can be taken.
When you create an on-demand backup, a time marker of the request is cataloged, and the backup is created asynchronously, by applying all changes until the time of the request to the last full table snapshot. Backup requests are processed instantaneously and become available for restore within minutes.
You can call CreateBackup
at a maximum rate of 50 times per second.
All backups in DynamoDB work without consuming any provisioned throughput on the table.
If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed to contain all data committed to the table up to 14:24:00, and data committed after 14:26:00 will not be. The backup might contain data modifications made between 14:24:00 and 14:26:00. On-demand backup does not support causal consistency.
Along with data, the following are also included on the backups:
-
Global secondary indexes (GSIs)
-
Local secondary indexes (LSIs)
-
Streams
-
Provisioned read and write capacity
",
@@ -35,7 +35,7 @@
"ListGlobalTables": "Lists all global tables that have a replica in the specified Region.
This operation only applies to Version 2017.11.29 of global tables.
",
"ListTables": "Returns an array of table names associated with the current account and endpoint. The output from ListTables
is paginated, with each page returning a maximum of 100 table names.
",
"ListTagsOfResource": "List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource up to 10 times per second, per account.
For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.
",
- "PutItem": "Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values. You can return the item's attribute values in the same operation, using the ReturnValues
parameter.
This topic provides general information about the PutItem
API.
For information on how to call the PutItem
API using the Amazon Web Services SDK in specific languages, see the following:
When you add an item, the primary key attributes are the only required attributes. Attribute values cannot be null.
Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index. Set type attributes cannot be empty.
Invalid Requests with empty values will be rejected with a ValidationException
exception.
To prevent a new item from replacing an existing item, use a conditional expression that contains the attribute_not_exists
function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the attribute_not_exists
function will only succeed if no matching item exists.
For more information about PutItem
, see Working with Items in the Amazon DynamoDB Developer Guide.
",
+ "PutItem": "Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values. You can return the item's attribute values in the same operation, using the ReturnValues
parameter.
When you add an item, the primary key attributes are the only required attributes. Attribute values cannot be null.
Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index. Set type attributes cannot be empty.
Invalid Requests with empty values will be rejected with a ValidationException
exception.
To prevent a new item from replacing an existing item, use a conditional expression that contains the attribute_not_exists
function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the attribute_not_exists
function will only succeed if no matching item exists.
For more information about PutItem
, see Working with Items in the Amazon DynamoDB Developer Guide.
",
"Query": "You must provide the name of the partition key attribute and a single value for that attribute. Query
returns all items with that partition key value. Optionally, you can provide a sort key attribute and use a comparison operator to refine the search results.
Use the KeyConditionExpression
parameter to provide a specific value for the partition key. The Query
operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query
operation by specifying a sort key value and a comparison operator in KeyConditionExpression
. To further refine the Query
results, you can optionally provide a FilterExpression
. A FilterExpression
determines which items within the results should be returned to you. All of the other results are discarded.
A Query
operation always returns a result set. If no matching items are found, the result set will be empty. Queries that do not return results consume the minimum number of read capacity units for that type of read operation.
DynamoDB calculates the number of read capacity units consumed based on item size, not on the amount of data that is returned to an application. The number of capacity units consumed will be the same whether you request all of the attributes (the default behavior) or just some of them (using a projection expression). The number will also be the same whether or not you use a FilterExpression
.
Query
results are always sorted by the sort key value. If the data type of the sort key is Number, the results are returned in numeric order; otherwise, the results are returned in order of UTF-8 bytes. By default, the sort order is ascending. To reverse the order, set the ScanIndexForward
parameter to false.
A single Query
operation will read up to the maximum number of items set (if using the Limit
parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression
. If LastEvaluatedKey
is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.
FilterExpression
is applied after a Query
finishes, but before the results are returned. A FilterExpression
cannot contain partition key or sort key attributes. You need to specify those attributes in the KeyConditionExpression
.
A Query
operation can return an empty result set and a LastEvaluatedKey
if all the items read for the page of results are filtered out.
You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead
parameter to true
and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead
when querying a global secondary index.
",
"RestoreTableFromBackup": "Creates a new table from an existing backup. Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.
You can call RestoreTableFromBackup
at a maximum rate of 10 times per second.
You must manually set up the following on the restored table:
",
"RestoreTableToPointInTime": "Restores the specified table to the specified point in time within EarliestRestorableDateTime
and LatestRestorableDateTime
. You can restore your table to any point in time during the last 35 days. Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.
When you restore using point in time recovery, DynamoDB restores your table data to the state based on the selected date and time (day:hour:minute:second) to a new table.
Along with data, the following are also included on the new restored table using point in time recovery:
-
Global secondary indexes (GSIs)
-
Local secondary indexes (LSIs)
-
Provisioned read and write capacity
-
Encryption settings
All these settings come from the current settings of the source table at the time of restore.
You must manually set up the following on the restored table:
-
Auto scaling policies
-
IAM policies
-
Amazon CloudWatch metrics and alarms
-
Tags
-
Stream settings
-
Time to Live (TTL) settings
-
Point in time recovery settings
",
@@ -49,7 +49,7 @@
"UpdateGlobalTable": "Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.
Although you can use UpdateGlobalTable
to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.
If global secondary indexes are specified, then the following conditions must also be met:
-
The global secondary indexes must have the same name.
-
The global secondary indexes must have the same hash key and sort key (if present).
-
The global secondary indexes must have the same provisioned and maximum write capacity units.
",
"UpdateGlobalTableSettings": "Updates settings for a global table.
",
"UpdateItem": "Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).
You can also return the item's attribute values in the same UpdateItem
operation using the ReturnValues
parameter.
",
- "UpdateTable": "Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.
You can only perform one of the following operations at once:
-
Modify the provisioned throughput settings of the table.
-
Enable or disable DynamoDB Streams on the table.
-
Remove a global secondary index from the table.
-
Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable
to perform other operations.
UpdateTable
is an asynchronous operation; while it is executing, the table status changes from ACTIVE
to UPDATING
. While it is UPDATING
, you cannot issue another UpdateTable
request. When the table returns to the ACTIVE
state, the UpdateTable
operation is complete.
",
+ "UpdateTable": "Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.
You can only perform one of the following operations at once:
-
Modify the provisioned throughput settings of the table.
-
Remove a global secondary index from the table.
-
Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable
to perform other operations.
UpdateTable
is an asynchronous operation; while it is executing, the table status changes from ACTIVE
to UPDATING
. While it is UPDATING
, you cannot issue another UpdateTable
request. When the table returns to the ACTIVE
state, the UpdateTable
operation is complete.
",
"UpdateTableReplicaAutoScaling": "Updates auto scaling settings on your global tables at once.
This operation only applies to Version 2019.11.21 of global tables.
",
"UpdateTimeToLive": "The UpdateTimeToLive
method enables or disables Time to Live (TTL) for the specified table. A successful UpdateTimeToLive
call returns the current TimeToLiveSpecification
. It can take up to one hour for the change to fully process. Any additional UpdateTimeToLive
calls for the same table during this one hour duration result in a ValidationException
.
TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the epoch time value stored in the attribute is less than the current time, the item is marked as expired and subsequently deleted.
The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.
DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations.
DynamoDB typically deletes expired items within two days of expiration. The exact duration within which an item gets deleted after expiration is specific to the nature of the workload. Items that have expired and not been deleted will still show up in reads, queries, and scans.
As items are deleted, they are removed from any local secondary index and global secondary index immediately in the same eventually consistent way as a standard delete operation.
For more information, see Time To Live in the Amazon DynamoDB Developer Guide.
"
},
@@ -69,7 +69,7 @@
"AttributeAction": {
"base": null,
"refs": {
- "AttributeValueUpdate$Action": "Specifies how to perform the update. Valid values are PUT
(default), DELETE
, and ADD
. The behavior depends on whether the specified primary key already exists in the table.
If an item with the specified Key is found in the table:
-
PUT
- Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.
-
DELETE
- If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type.
If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set [a,b,c]
and the DELETE
action specified [a,c]
, then the final attribute value would be [b]
. Specifying an empty set is an error.
-
ADD
- If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior of ADD
depends on the data type of the attribute:
-
If the existing attribute is a number, and if Value
is also a number, then the Value
is mathematically added to the existing attribute. If Value
is a negative number, then it is subtracted from the existing attribute.
If you use ADD
to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.
In addition, if you use ADD
to update an existing item, and intend to increment or decrement an attribute value which does not yet exist, DynamoDB uses 0
as the initial value. For example, suppose that the item you want to update does not yet have an attribute named itemcount, but you decide to ADD
the number 3
to this attribute anyway, even though it currently does not exist. DynamoDB will create the itemcount attribute, set its initial value to 0
, and finally add 3
to it. The result will be a new itemcount attribute in the item, with a value of 3
.
-
If the existing data type is a set, and if the Value
is also a set, then the Value
is added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set [1,2]
, and the ADD
action specified [3]
, then the final attribute value would be [1,2,3]
. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.
Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value
must also be a set of strings. The same holds true for number sets and binary sets.
This action is only valid for an existing attribute whose data type is number or is a set. Do not use ADD
for any other data types.
If no item with the specified Key is found:
-
PUT
- DynamoDB creates a new item with the specified primary key, and then adds the attribute.
-
DELETE
- Nothing happens; there is no attribute to delete.
-
ADD
- DynamoDB creates an item with the supplied primary key and number (or set of numbers) for the attribute value. The only data types allowed are number and number set; no other data types can be specified.
"
+ "AttributeValueUpdate$Action": "Specifies how to perform the update. Valid values are PUT
(default), DELETE
, and ADD
. The behavior depends on whether the specified primary key already exists in the table.
If an item with the specified Key is found in the table:
-
PUT
- Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.
-
DELETE
- If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type.
If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set [a,b,c]
and the DELETE
action specified [a,c]
, then the final attribute value would be [b]
. Specifying an empty set is an error.
-
ADD
- If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior of ADD
depends on the data type of the attribute:
-
If the existing attribute is a number, and if Value
is also a number, then the Value
is mathematically added to the existing attribute. If Value
is a negative number, then it is subtracted from the existing attribute.
If you use ADD
to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.
In addition, if you use ADD
to update an existing item, and intend to increment or decrement an attribute value which does not yet exist, DynamoDB uses 0
as the initial value. For example, suppose that the item you want to update does not yet have an attribute named itemcount, but you decide to ADD
the number 3
to this attribute anyway, even though it currently does not exist. DynamoDB will create the itemcount attribute, set its initial value to 0
, and finally add 3
to it. The result will be a new itemcount attribute in the item, with a value of 3
.
-
If the existing data type is a set, and if the Value
is also a set, then the Value
is added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set [1,2]
, and the ADD
action specified [3]
, then the final attribute value would be [1,2,3]
. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.
Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value
must also be a set of strings. The same holds true for number sets and binary sets.
This action is only valid for an existing attribute whose data type is number or is a set. Do not use ADD
for any other data types.
If no item with the specified Key is found:
-
PUT
- DynamoDB creates a new item with the specified primary key, and then adds the attribute.
-
DELETE
- Nothing happens; there is no attribute to delete.
-
ADD
- DynamoDB creates a new item with the supplied primary key and number (or set) for the attribute value. The only data types allowed are number, number set, string set or binary set.
"
}
},
"AttributeDefinition": {
@@ -290,7 +290,7 @@
"BackupSizeBytes": {
"base": null,
"refs": {
- "BackupDetails$BackupSizeBytes": "Size of the backup in bytes.
",
+ "BackupDetails$BackupSizeBytes": "Size of the backup in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.
",
"BackupSummary$BackupSizeBytes": "Size of the backup in bytes.
"
}
},
@@ -323,7 +323,7 @@
"BackupTypeFilter": {
"base": null,
"refs": {
- "ListBackupsInput$BackupType": "The backups from the table specified by BackupType
are listed.
Where BackupType
can be:
-
USER
- On-demand backup created by you.
-
SYSTEM
- On-demand backup automatically created by DynamoDB.
-
ALL
- All types of on-demand backups (USER and SYSTEM).
"
+ "ListBackupsInput$BackupType": "The backups from the table specified by BackupType
are listed.
Where BackupType
can be:
-
USER
- On-demand backup created by you. (The default setting if no other backup types are specified.)
-
SYSTEM
- On-demand backup automatically created by DynamoDB.
-
ALL
- All types of on-demand backups (USER and SYSTEM).
"
}
},
"BackupsInputLimit": {
@@ -530,8 +530,8 @@
"DeleteItemInput$ConditionExpression": "A condition that must be satisfied in order for a conditional DeleteItem
to succeed.
An expression can contain any of the following:
-
Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size
These function names are case-sensitive.
-
Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN
-
Logical operators: AND | OR | NOT
For more information about condition expressions, see Condition Expressions in the Amazon DynamoDB Developer Guide.
",
"Put$ConditionExpression": "A condition that must be satisfied in order for a conditional update to succeed.
",
"PutItemInput$ConditionExpression": "A condition that must be satisfied in order for a conditional PutItem
operation to succeed.
An expression can contain any of the following:
-
Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size
These function names are case-sensitive.
-
Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN
-
Logical operators: AND | OR | NOT
For more information on condition expressions, see Condition Expressions in the Amazon DynamoDB Developer Guide.
",
- "QueryInput$FilterExpression": "A string that contains conditions that DynamoDB applies after the Query
operation, but before the data is returned to you. Items that do not satisfy the FilterExpression
criteria are not returned.
A FilterExpression
does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.
A FilterExpression
is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.
For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.
",
- "ScanInput$FilterExpression": "A string that contains conditions that DynamoDB applies after the Scan
operation, but before the data is returned to you. Items that do not satisfy the FilterExpression
criteria are not returned.
A FilterExpression
is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.
For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.
",
+ "QueryInput$FilterExpression": "A string that contains conditions that DynamoDB applies after the Query
operation, but before the data is returned to you. Items that do not satisfy the FilterExpression
criteria are not returned.
A FilterExpression
does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.
A FilterExpression
is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.
For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.
",
+ "ScanInput$FilterExpression": "A string that contains conditions that DynamoDB applies after the Scan
operation, but before the data is returned to you. Items that do not satisfy the FilterExpression
criteria are not returned.
A FilterExpression
is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.
For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.
",
"Update$ConditionExpression": "A condition that must be satisfied in order for a conditional update to succeed.
",
"UpdateItemInput$ConditionExpression": "A condition that must be satisfied in order for a conditional update to succeed.
An expression can contain any of the following:
-
Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size
These function names are case-sensitive.
-
Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN
-
Logical operators: AND | OR | NOT
For more information about condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.
"
}
@@ -1103,7 +1103,7 @@
"base": null,
"refs": {
"ExportDescription$ExportTime": "Point in time from which table data was exported.
",
- "ExportTableToPointInTimeInput$ExportTime": "Time in the past from which to export table data. The table export will be a snapshot of the table's state at this point in time.
"
+ "ExportTableToPointInTimeInput$ExportTime": "Time in the past from which to export table data, counted in seconds from the start of the Unix epoch. The table export will be a snapshot of the table's state at this point in time.
"
}
},
"ExpressionAttributeNameMap": {
@@ -1217,7 +1217,7 @@
"GlobalSecondaryIndexDescriptionList": {
"base": null,
"refs": {
- "TableDescription$GlobalSecondaryIndexes": "The global secondary indexes, if any, on the table. Each index is scoped to a given partition key value. Each element is composed of:
-
Backfilling
- If true, then the index is currently in the backfilling phase. Backfilling occurs only when a new global secondary index is added to the table. It is the process by which DynamoDB populates the new index with data from the table. (This attribute does not appear for indexes that were created during a CreateTable
operation.)
You can delete an index that is being created during the Backfilling
phase when IndexStatus
is set to CREATING and Backfilling
is true. You can't delete the index that is being created when IndexStatus
is set to CREATING and Backfilling
is false. (This attribute does not appear for indexes that were created during a CreateTable
operation.)
-
IndexName
- The name of the global secondary index.
-
IndexSizeBytes
- The total size of the global secondary index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.
-
IndexStatus
- The current status of the global secondary index:
-
CREATING
- The index is being created.
-
UPDATING
- The index is being updated.
-
DELETING
- The index is being deleted.
-
ACTIVE
- The index is ready for use.
-
ItemCount
- The number of items in the global secondary index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.
-
KeySchema
- Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.
-
Projection
- Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:
-
ProjectionType
- One of the following:
-
KEYS_ONLY
- Only the index and primary keys are projected into the index.
-
INCLUDE
- In addition to the attributes described in KEYS_ONLY
, the secondary index will include other non-key attributes that you specify.
-
ALL
- All of the table attributes are projected into the index.
-
NonKeyAttributes
- A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes
, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
-
ProvisionedThroughput
- The provisioned throughput settings for the global secondary index, consisting of read and write capacity units, along with data about increases and decreases.
If the table is in the DELETING
state, no information about indexes will be returned.
"
+ "TableDescription$GlobalSecondaryIndexes": "The global secondary indexes, if any, on the table. Each index is scoped to a given partition key value. Each element is composed of:
-
Backfilling
- If true, then the index is currently in the backfilling phase. Backfilling occurs only when a new global secondary index is added to the table. It is the process by which DynamoDB populates the new index with data from the table. (This attribute does not appear for indexes that were created during a CreateTable
operation.)
You can delete an index that is being created during the Backfilling
phase when IndexStatus
is set to CREATING and Backfilling
is true. You can't delete the index that is being created when IndexStatus
is set to CREATING and Backfilling
is false. (This attribute does not appear for indexes that were created during a CreateTable
operation.)
-
IndexName
- The name of the global secondary index.
-
IndexSizeBytes
- The total size of the global secondary index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.
-
IndexStatus
- The current status of the global secondary index:
-
CREATING
- The index is being created.
-
UPDATING
- The index is being updated.
-
DELETING
- The index is being deleted.
-
ACTIVE
- The index is ready for use.
-
ItemCount
- The number of items in the global secondary index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.
-
KeySchema
- Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.
-
Projection
- Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:
-
ProjectionType
- One of the following:
-
KEYS_ONLY
- Only the index and primary keys are projected into the index.
-
INCLUDE
- In addition to the attributes described in KEYS_ONLY
, the secondary index will include other non-key attributes that you specify.
-
ALL
- All of the table attributes are projected into the index.
-
NonKeyAttributes
- A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes
, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
-
ProvisionedThroughput
- The provisioned throughput settings for the global secondary index, consisting of read and write capacity units, along with data about increases and decreases.
If the table is in the DELETING
state, no information about indexes will be returned.
"
}
},
"GlobalSecondaryIndexInfo": {
@@ -1582,14 +1582,14 @@
}
},
"LimitExceededException": {
- "base": "There is no limit to the number of daily on-demand backups that can be taken.
Up to 50 simultaneous table operations are allowed per account. These operations include CreateTable
, UpdateTable
, DeleteTable
,UpdateTimeToLive
, RestoreTableFromBackup
, and RestoreTableToPointInTime
.
The only exception is when you are creating a table with one or more secondary indexes. You can have up to 25 such requests running at a time; however, if the table or index specifications are complex, DynamoDB might temporarily reduce the number of concurrent operations.
There is a soft account quota of 256 tables.
",
+ "base": "There is no limit to the number of daily on-demand backups that can be taken.
Up to 500 simultaneous table operations are allowed per account. These operations include CreateTable
, UpdateTable
, DeleteTable
,UpdateTimeToLive
, RestoreTableFromBackup
, and RestoreTableToPointInTime
.
The only exception is when you are creating a table with one or more secondary indexes. You can have up to 250 such requests running at a time; however, if the table or index specifications are complex, DynamoDB might temporarily reduce the number of concurrent operations.
There is a soft account quota of 2,500 tables.
",
"refs": {
}
},
"ListAttributeValue": {
"base": null,
"refs": {
- "AttributeValue$L": "An attribute of type List. For example:
\"L\": [ {\"S\": \"Cookies\"} , {\"S\": \"Coffee\"}, {\"N\", \"3.14159\"}]
"
+ "AttributeValue$L": "An attribute of type List. For example:
\"L\": [ {\"S\": \"Cookies\"} , {\"S\": \"Coffee\"}, {\"N\": \"3.14159\"}]
"
}
},
"ListBackupsInput": {
@@ -1685,7 +1685,7 @@
"LocalSecondaryIndexDescriptionList": {
"base": null,
"refs": {
- "TableDescription$LocalSecondaryIndexes": "Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:
-
IndexName
- The name of the local secondary index.
-
KeySchema
- Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.
-
Projection
- Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:
-
ProjectionType
- One of the following:
-
KEYS_ONLY
- Only the index and primary keys are projected into the index.
-
INCLUDE
- Only the specified table attributes are projected into the index. The list of projected attributes is in NonKeyAttributes
.
-
ALL
- All of the table attributes are projected into the index.
-
NonKeyAttributes
- A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes
, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
-
IndexSizeBytes
- Represents the total size of the index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.
-
ItemCount
- Represents the number of items in the index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.
If the table is in the DELETING
state, no information about indexes will be returned.
"
+ "TableDescription$LocalSecondaryIndexes": "Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:
-
IndexName
- The name of the local secondary index.
-
KeySchema
- Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.
-
Projection
- Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:
-
ProjectionType
- One of the following:
-
KEYS_ONLY
- Only the index and primary keys are projected into the index.
-
INCLUDE
- Only the specified table attributes are projected into the index. The list of projected attributes is in NonKeyAttributes
.
-
ALL
- All of the table attributes are projected into the index.
-
NonKeyAttributes
- A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes
, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
-
IndexSizeBytes
- Represents the total size of the index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.
-
ItemCount
- Represents the number of items in the index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.
If the table is in the DELETING
state, no information about indexes will be returned.
"
}
},
"LocalSecondaryIndexInfo": {
@@ -1745,7 +1745,7 @@
"NonKeyAttributeNameList": {
"base": null,
"refs": {
- "Projection$NonKeyAttributes": "Represents the non-key attribute names which will be projected into the index.
For local secondary indexes, the total count of NonKeyAttributes
summed across all of the local secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
"
+ "Projection$NonKeyAttributes": "Represents the non-key attribute names which will be projected into the index.
For local secondary indexes, the total count of NonKeyAttributes
summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
"
}
},
"NonNegativeLongObject": {
@@ -2190,7 +2190,7 @@
}
},
"ReplicationGroupUpdate": {
- "base": "Represents one of the following:
-
A new replica to be added to an existing regional table or global table. This request invokes the CreateTableReplica
action in the destination Region.
-
New parameters for an existing replica. This request invokes the UpdateTable
action in the destination Region.
-
An existing replica to be deleted. The request invokes the DeleteTableReplica
action in the destination Region, deleting the replica and all if its items in the destination Region.
",
+ "base": "Represents one of the following:
-
A new replica to be added to an existing regional table or global table. This request invokes the CreateTableReplica
action in the destination Region.
-
New parameters for an existing replica. This request invokes the UpdateTable
action in the destination Region.
-
An existing replica to be deleted. The request invokes the DeleteTableReplica
action in the destination Region, deleting the replica and all if its items in the destination Region.
When you manually remove a table or global table replica, you do not automatically remove any associated scalable targets, scaling policies, or CloudWatch alarms.
",
"refs": {
"ReplicationGroupUpdateList$member": null
}
@@ -2287,8 +2287,8 @@
"ReturnValue": {
"base": null,
"refs": {
- "DeleteItemInput$ReturnValues": "Use ReturnValues
if you want to get the item attributes as they appeared before they were deleted. For DeleteItem
, the valid values are:
-
NONE
- If ReturnValues
is not specified, or if its value is NONE
, then nothing is returned. (This setting is the default for ReturnValues
.)
-
ALL_OLD
- The content of the old item is returned.
The ReturnValues
parameter is used by several DynamoDB operations; however, DeleteItem
does not recognize any values other than NONE
or ALL_OLD
.
",
- "PutItemInput$ReturnValues": "Use ReturnValues
if you want to get the item attributes as they appeared before they were updated with the PutItem
request. For PutItem
, the valid values are:
-
NONE
- If ReturnValues
is not specified, or if its value is NONE
, then nothing is returned. (This setting is the default for ReturnValues
.)
-
ALL_OLD
- If PutItem
overwrote an attribute name-value pair, then the content of the old item is returned.
The values returned are strongly consistent.
The ReturnValues
parameter is used by several DynamoDB operations; however, PutItem
does not recognize any values other than NONE
or ALL_OLD
.
",
+ "DeleteItemInput$ReturnValues": "Use ReturnValues
if you want to get the item attributes as they appeared before they were deleted. For DeleteItem
, the valid values are:
-
NONE
- If ReturnValues
is not specified, or if its value is NONE
, then nothing is returned. (This setting is the default for ReturnValues
.)
-
ALL_OLD
- The content of the old item is returned.
There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.
The ReturnValues
parameter is used by several DynamoDB operations; however, DeleteItem
does not recognize any values other than NONE
or ALL_OLD
.
",
+ "PutItemInput$ReturnValues": "Use ReturnValues
if you want to get the item attributes as they appeared before they were updated with the PutItem
request. For PutItem
, the valid values are:
-
NONE
- If ReturnValues
is not specified, or if its value is NONE
, then nothing is returned. (This setting is the default for ReturnValues
.)
-
ALL_OLD
- If PutItem
overwrote an attribute name-value pair, then the content of the old item is returned.
The values returned are strongly consistent.
There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.
The ReturnValues
parameter is used by several DynamoDB operations; however, PutItem
does not recognize any values other than NONE
or ALL_OLD
.
",
"UpdateItemInput$ReturnValues": "Use ReturnValues
if you want to get the item attributes as they appear before or after they are updated. For UpdateItem
, the valid values are:
-
NONE
- If ReturnValues
is not specified, or if its value is NONE
, then nothing is returned. (This setting is the default for ReturnValues
.)
-
ALL_OLD
- Returns all of the attributes of the item, as they appeared before the UpdateItem operation.
-
UPDATED_OLD
- Returns only the updated attributes, as they appeared before the UpdateItem operation.
-
ALL_NEW
- Returns all of the attributes of the item, as they appear after the UpdateItem operation.
-
UPDATED_NEW
- Returns only the updated attributes, as they appear after the UpdateItem operation.
There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.
The values returned are strongly consistent.
"
}
},
@@ -2409,8 +2409,8 @@
"Select": {
"base": null,
"refs": {
- "QueryInput$Select": "The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.
-
ALL_ATTRIBUTES
- Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.
-
ALL_PROJECTED_ATTRIBUTES
- Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES
.
-
COUNT
- Returns the number of matching items, rather than the matching items themselves.
-
SPECIFIC_ATTRIBUTES
- Returns only the attributes listed in AttributesToGet
. This return value is equivalent to specifying AttributesToGet
without specifying any value for Select
.
If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.
If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.
If neither Select
nor AttributesToGet
are specified, DynamoDB defaults to ALL_ATTRIBUTES
when accessing a table, and ALL_PROJECTED_ATTRIBUTES
when accessing an index. You cannot use both Select
and AttributesToGet
together in a single request, unless the value for Select
is SPECIFIC_ATTRIBUTES
. (This usage is equivalent to specifying AttributesToGet
without any value for Select
.)
If you use the ProjectionExpression
parameter, then the value for Select
can only be SPECIFIC_ATTRIBUTES
. Any other value for Select
will return an error.
",
- "ScanInput$Select": "The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.
-
ALL_ATTRIBUTES
- Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.
-
ALL_PROJECTED_ATTRIBUTES
- Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES
.
-
COUNT
- Returns the number of matching items, rather than the matching items themselves.
-
SPECIFIC_ATTRIBUTES
- Returns only the attributes listed in AttributesToGet
. This return value is equivalent to specifying AttributesToGet
without specifying any value for Select
.
If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.
If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.
If neither Select
nor AttributesToGet
are specified, DynamoDB defaults to ALL_ATTRIBUTES
when accessing a table, and ALL_PROJECTED_ATTRIBUTES
when accessing an index. You cannot use both Select
and AttributesToGet
together in a single request, unless the value for Select
is SPECIFIC_ATTRIBUTES
. (This usage is equivalent to specifying AttributesToGet
without any value for Select
.)
If you use the ProjectionExpression
parameter, then the value for Select
can only be SPECIFIC_ATTRIBUTES
. Any other value for Select
will return an error.
"
+ "QueryInput$Select": "The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.
-
ALL_ATTRIBUTES
- Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.
-
ALL_PROJECTED_ATTRIBUTES
- Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES
.
-
COUNT
- Returns the number of matching items, rather than the matching items themselves.
-
SPECIFIC_ATTRIBUTES
- Returns only the attributes listed in ProjectionExpression
. This return value is equivalent to specifying ProjectionExpression
without specifying any value for Select
.
If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.
If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.
If neither Select
nor ProjectionExpression
are specified, DynamoDB defaults to ALL_ATTRIBUTES
when accessing a table, and ALL_PROJECTED_ATTRIBUTES
when accessing an index. You cannot use both Select
and ProjectionExpression
together in a single request, unless the value for Select
is SPECIFIC_ATTRIBUTES
. (This usage is equivalent to specifying ProjectionExpression
without any value for Select
.)
If you use the ProjectionExpression
parameter, then the value for Select
can only be SPECIFIC_ATTRIBUTES
. Any other value for Select
will return an error.
",
+ "ScanInput$Select": "The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.
-
ALL_ATTRIBUTES
- Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.
-
ALL_PROJECTED_ATTRIBUTES
- Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES
.
-
COUNT
- Returns the number of matching items, rather than the matching items themselves.
-
SPECIFIC_ATTRIBUTES
- Returns only the attributes listed in ProjectionExpression
. This return value is equivalent to specifying ProjectionExpression
without specifying any value for Select
.
If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.
If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.
If neither Select
nor ProjectionExpression
are specified, DynamoDB defaults to ALL_ATTRIBUTES
when accessing a table, and ALL_PROJECTED_ATTRIBUTES
when accessing an index. You cannot use both Select
and ProjectionExpression
together in a single request, unless the value for Select
is SPECIFIC_ATTRIBUTES
. (This usage is equivalent to specifying ProjectionExpression
without any value for Select
.)
If you use the ProjectionExpression
parameter, then the value for Select
can only be SPECIFIC_ATTRIBUTES
. Any other value for Select
will return an error.
"
}
},
"SourceTableDetails": {
@@ -2628,7 +2628,7 @@
}
},
"TableNotFoundException": {
- "base": "A source table with the name TableName
does not currently exist within the subscriber's account.
",
+ "base": "A source table with the name TableName
does not currently exist within the subscriber's account or the subscriber is operating in the wrong Amazon Web Services Region.
",
"refs": {
}
},
@@ -2767,7 +2767,7 @@
}
},
"TransactionCanceledException": {
- "base": "The entire transaction request was canceled.
DynamoDB cancels a TransactWriteItems
request under the following circumstances:
-
A condition in one of the condition expressions is not met.
-
A table in the TransactWriteItems
request is in a different account or region.
-
More than one action in the TransactWriteItems
operation targets the same item.
-
There is insufficient provisioned capacity for the transaction to be completed.
-
An item size becomes too large (larger than 400 KB), or a local secondary index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction.
-
There is a user error, such as an invalid data format.
DynamoDB cancels a TransactGetItems
request under the following circumstances:
-
There is an ongoing TransactGetItems
operation that conflicts with a concurrent PutItem
, UpdateItem
, DeleteItem
or TransactWriteItems
request. In this case the TransactGetItems
operation fails with a TransactionCanceledException
.
-
A table in the TransactGetItems
request is in a different account or region.
-
There is insufficient provisioned capacity for the transaction to be completed.
-
There is a user error, such as an invalid data format.
If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons
property. This property is not set for other languages. Transaction cancellation reasons are ordered in the order of requested items, if an item has no error it will have NONE
code and Null
message.
Cancellation reason codes and possible error messages:
-
No Errors:
-
Conditional Check Failed:
-
Item Collection Size Limit Exceeded:
-
Transaction Conflict:
-
Provisioned Throughput Exceeded:
-
Throttling Error:
-
Code: ThrottlingError
-
Messages:
-
Throughput exceeds the current capacity of your table or index. DynamoDB is automatically scaling your table or index so please try again shortly. If exceptions persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html.
This message is returned when writes get throttled on an On-Demand table as DynamoDB is automatically scaling the table.
-
Throughput exceeds the current capacity for one or more global secondary indexes. DynamoDB is automatically scaling your index so please try again shortly.
This message is returned when when writes get throttled on an On-Demand GSI as DynamoDB is automatically scaling the GSI.
-
Validation Error:
-
Code: ValidationError
-
Messages:
-
One or more parameter values were invalid.
-
The update expression attempted to update the secondary index key beyond allowed size limits.
-
The update expression attempted to update the secondary index key to unsupported type.
-
An operand in the update expression has an incorrect data type.
-
Item size to update has exceeded the maximum allowed size.
-
Number overflow. Attempting to store a number with magnitude larger than supported range.
-
Type mismatch for attribute to update.
-
Nesting Levels have exceeded supported limits.
-
The document path provided in the update expression is invalid for update.
-
The provided expression refers to an attribute that does not exist in the item.
",
+ "base": "The entire transaction request was canceled.
DynamoDB cancels a TransactWriteItems
request under the following circumstances:
-
A condition in one of the condition expressions is not met.
-
A table in the TransactWriteItems
request is in a different account or region.
-
More than one action in the TransactWriteItems
operation targets the same item.
-
There is insufficient provisioned capacity for the transaction to be completed.
-
An item size becomes too large (larger than 400 KB), or a local secondary index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction.
-
There is a user error, such as an invalid data format.
DynamoDB cancels a TransactGetItems
request under the following circumstances:
-
There is an ongoing TransactGetItems
operation that conflicts with a concurrent PutItem
, UpdateItem
, DeleteItem
or TransactWriteItems
request. In this case the TransactGetItems
operation fails with a TransactionCanceledException
.
-
A table in the TransactGetItems
request is in a different account or region.
-
There is insufficient provisioned capacity for the transaction to be completed.
-
There is a user error, such as an invalid data format.
If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons
property. This property is not set for other languages. Transaction cancellation reasons are ordered in the order of requested items, if an item has no error it will have None
code and Null
message.
Cancellation reason codes and possible error messages:
-
No Errors:
-
Conditional Check Failed:
-
Item Collection Size Limit Exceeded:
-
Transaction Conflict:
-
Provisioned Throughput Exceeded:
-
Throttling Error:
-
Code: ThrottlingError
-
Messages:
-
Throughput exceeds the current capacity of your table or index. DynamoDB is automatically scaling your table or index so please try again shortly. If exceptions persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html.
This message is returned when writes get throttled on an On-Demand table as DynamoDB is automatically scaling the table.
-
Throughput exceeds the current capacity for one or more global secondary indexes. DynamoDB is automatically scaling your index so please try again shortly.
This message is returned when when writes get throttled on an On-Demand GSI as DynamoDB is automatically scaling the GSI.
-
Validation Error:
-
Code: ValidationError
-
Messages:
-
One or more parameter values were invalid.
-
The update expression attempted to update the secondary index key beyond allowed size limits.
-
The update expression attempted to update the secondary index key to unsupported type.
-
An operand in the update expression has an incorrect data type.
-
Item size to update has exceeded the maximum allowed size.
-
Number overflow. Attempting to store a number with magnitude larger than supported range.
-
Type mismatch for attribute to update.
-
Nesting Levels have exceeded supported limits.
-
The document path provided in the update expression is invalid for update.
-
The provided expression refers to an attribute that does not exist in the item.
",
"refs": {
}
},
diff --git a/apis/streams.dynamodb/2012-08-10/docs-2.json b/apis/streams.dynamodb/2012-08-10/docs-2.json
index 283ecdd99c9..1d7ba8077ae 100644
--- a/apis/streams.dynamodb/2012-08-10/docs-2.json
+++ b/apis/streams.dynamodb/2012-08-10/docs-2.json
@@ -138,14 +138,14 @@
}
},
"LimitExceededException": {
- "base": "There is no limit to the number of daily on-demand backups that can be taken.
Up to 50 simultaneous table operations are allowed per account. These operations include CreateTable
, UpdateTable
, DeleteTable
,UpdateTimeToLive
, RestoreTableFromBackup
, and RestoreTableToPointInTime
.
The only exception is when you are creating a table with one or more secondary indexes. You can have up to 25 such requests running at a time; however, if the table or index specifications are complex, DynamoDB might temporarily reduce the number of concurrent operations.
There is a soft account quota of 256 tables.
",
+ "base": "There is no limit to the number of daily on-demand backups that can be taken.
Up to 500 simultaneous table operations are allowed per account. These operations include CreateTable
, UpdateTable
, DeleteTable
,UpdateTimeToLive
, RestoreTableFromBackup
, and RestoreTableToPointInTime
.
The only exception is when you are creating a table with one or more secondary indexes. You can have up to 250 such requests running at a time; however, if the table or index specifications are complex, DynamoDB might temporarily reduce the number of concurrent operations.
There is a soft account quota of 2,500 tables.
",
"refs": {
}
},
"ListAttributeValue": {
"base": null,
"refs": {
- "AttributeValue$L": "An attribute of type List. For example:
\"L\": [ {\"S\": \"Cookies\"} , {\"S\": \"Coffee\"}, {\"N\", \"3.14159\"}]
"
+ "AttributeValue$L": "An attribute of type List. For example:
\"L\": [ {\"S\": \"Cookies\"} , {\"S\": \"Coffee\"}, {\"N\": \"3.14159\"}]
"
}
},
"ListStreamsInput": {
diff --git a/gems/aws-partitions/CHANGELOG.md b/gems/aws-partitions/CHANGELOG.md
index 03ad3b7725b..7effca138ae 100644
--- a/gems/aws-partitions/CHANGELOG.md
+++ b/gems/aws-partitions/CHANGELOG.md
@@ -1,6 +1,11 @@
Unreleased Changes
------------------
+1.600.0 (2022-06-17)
+------------------
+
+* Feature - Added support for enumerating regions for `Aws::ConnectCampaignService`.
+
1.599.0 (2022-06-16)
------------------
diff --git a/gems/aws-partitions/VERSION b/gems/aws-partitions/VERSION
index d3013b779d0..dd2500bdf3e 100644
--- a/gems/aws-partitions/VERSION
+++ b/gems/aws-partitions/VERSION
@@ -1 +1 @@
-1.599.0
+1.600.0
diff --git a/gems/aws-partitions/lib/aws-partitions.rb b/gems/aws-partitions/lib/aws-partitions.rb
index 2e42f6845a7..02e12b33184 100644
--- a/gems/aws-partitions/lib/aws-partitions.rb
+++ b/gems/aws-partitions/lib/aws-partitions.rb
@@ -296,6 +296,7 @@ def service_ids
'ComputeOptimizer' => 'compute-optimizer',
'ConfigService' => 'config',
'Connect' => 'connect',
+ 'ConnectCampaignService' => 'connect-campaigns',
'ConnectContactLens' => 'contact-lens',
'ConnectParticipant' => 'participant.connect',
'ConnectWisdomService' => 'wisdom',
diff --git a/gems/aws-partitions/partitions.json b/gems/aws-partitions/partitions.json
index 27c23e5b615..5c173af813f 100644
--- a/gems/aws-partitions/partitions.json
+++ b/gems/aws-partitions/partitions.json
@@ -2984,6 +2984,14 @@
"us-west-2" : { }
}
},
+ "connect-campaigns" : {
+ "endpoints" : {
+ "ap-southeast-2" : { },
+ "eu-west-2" : { },
+ "us-east-1" : { },
+ "us-west-2" : { }
+ }
+ },
"contact-lens" : {
"endpoints" : {
"ap-northeast-1" : { },
diff --git a/gems/aws-sdk-connect/CHANGELOG.md b/gems/aws-sdk-connect/CHANGELOG.md
index cccb4dfc49c..75b75b0ec27 100644
--- a/gems/aws-sdk-connect/CHANGELOG.md
+++ b/gems/aws-sdk-connect/CHANGELOG.md
@@ -1,6 +1,11 @@
Unreleased Changes
------------------
+1.74.0 (2022-06-17)
+------------------
+
+* Feature - This release updates these APIs: UpdateInstanceAttribute, DescribeInstanceAttribute and ListInstanceAttributes. You can use it to programmatically enable/disable High volume outbound communications using attribute type HIGH_VOLUME_OUTBOUND on the specified Amazon Connect instance.
+
1.73.0 (2022-06-06)
------------------
diff --git a/gems/aws-sdk-connect/VERSION b/gems/aws-sdk-connect/VERSION
index 5e3a4256626..dc87e8af82f 100644
--- a/gems/aws-sdk-connect/VERSION
+++ b/gems/aws-sdk-connect/VERSION
@@ -1 +1 @@
-1.73.0
+1.74.0
diff --git a/gems/aws-sdk-connect/lib/aws-sdk-connect.rb b/gems/aws-sdk-connect/lib/aws-sdk-connect.rb
index ce4869d58a3..03da3f7756b 100644
--- a/gems/aws-sdk-connect/lib/aws-sdk-connect.rb
+++ b/gems/aws-sdk-connect/lib/aws-sdk-connect.rb
@@ -48,6 +48,6 @@
# @!group service
module Aws::Connect
- GEM_VERSION = '1.73.0'
+ GEM_VERSION = '1.74.0'
end
diff --git a/gems/aws-sdk-connect/lib/aws-sdk-connect/client.rb b/gems/aws-sdk-connect/lib/aws-sdk-connect/client.rb
index 3dca2b64f2f..8c8cca98884 100644
--- a/gems/aws-sdk-connect/lib/aws-sdk-connect/client.rb
+++ b/gems/aws-sdk-connect/lib/aws-sdk-connect/client.rb
@@ -2473,12 +2473,12 @@ def describe_instance(params = {}, options = {})
#
# resp = client.describe_instance_attribute({
# instance_id: "InstanceId", # required
- # attribute_type: "INBOUND_CALLS", # required, accepts INBOUND_CALLS, OUTBOUND_CALLS, CONTACTFLOW_LOGS, CONTACT_LENS, AUTO_RESOLVE_BEST_VOICES, USE_CUSTOM_TTS_VOICES, EARLY_MEDIA, MULTI_PARTY_CONFERENCE
+ # attribute_type: "INBOUND_CALLS", # required, accepts INBOUND_CALLS, OUTBOUND_CALLS, CONTACTFLOW_LOGS, CONTACT_LENS, AUTO_RESOLVE_BEST_VOICES, USE_CUSTOM_TTS_VOICES, EARLY_MEDIA, MULTI_PARTY_CONFERENCE, HIGH_VOLUME_OUTBOUND
# })
#
# @example Response structure
#
- # resp.attribute.attribute_type #=> String, one of "INBOUND_CALLS", "OUTBOUND_CALLS", "CONTACTFLOW_LOGS", "CONTACT_LENS", "AUTO_RESOLVE_BEST_VOICES", "USE_CUSTOM_TTS_VOICES", "EARLY_MEDIA", "MULTI_PARTY_CONFERENCE"
+ # resp.attribute.attribute_type #=> String, one of "INBOUND_CALLS", "OUTBOUND_CALLS", "CONTACTFLOW_LOGS", "CONTACT_LENS", "AUTO_RESOLVE_BEST_VOICES", "USE_CUSTOM_TTS_VOICES", "EARLY_MEDIA", "MULTI_PARTY_CONFERENCE", "HIGH_VOLUME_OUTBOUND"
# resp.attribute.value #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceAttribute AWS API Documentation
@@ -4467,7 +4467,7 @@ def list_hours_of_operations(params = {}, options = {})
# @example Response structure
#
# resp.attributes #=> Array
- # resp.attributes[0].attribute_type #=> String, one of "INBOUND_CALLS", "OUTBOUND_CALLS", "CONTACTFLOW_LOGS", "CONTACT_LENS", "AUTO_RESOLVE_BEST_VOICES", "USE_CUSTOM_TTS_VOICES", "EARLY_MEDIA", "MULTI_PARTY_CONFERENCE"
+ # resp.attributes[0].attribute_type #=> String, one of "INBOUND_CALLS", "OUTBOUND_CALLS", "CONTACTFLOW_LOGS", "CONTACT_LENS", "AUTO_RESOLVE_BEST_VOICES", "USE_CUSTOM_TTS_VOICES", "EARLY_MEDIA", "MULTI_PARTY_CONFERENCE", "HIGH_VOLUME_OUTBOUND"
# resp.attributes[0].value #=> String
# resp.next_token #=> String
#
@@ -7204,7 +7204,7 @@ def update_hours_of_operation(params = {}, options = {})
#
# resp = client.update_instance_attribute({
# instance_id: "InstanceId", # required
- # attribute_type: "INBOUND_CALLS", # required, accepts INBOUND_CALLS, OUTBOUND_CALLS, CONTACTFLOW_LOGS, CONTACT_LENS, AUTO_RESOLVE_BEST_VOICES, USE_CUSTOM_TTS_VOICES, EARLY_MEDIA, MULTI_PARTY_CONFERENCE
+ # attribute_type: "INBOUND_CALLS", # required, accepts INBOUND_CALLS, OUTBOUND_CALLS, CONTACTFLOW_LOGS, CONTACT_LENS, AUTO_RESOLVE_BEST_VOICES, USE_CUSTOM_TTS_VOICES, EARLY_MEDIA, MULTI_PARTY_CONFERENCE, HIGH_VOLUME_OUTBOUND
# value: "InstanceAttributeValue", # required
# })
#
@@ -8183,7 +8183,7 @@ def build_request(operation_name, params = {})
params: params,
config: config)
context[:gem_name] = 'aws-sdk-connect'
- context[:gem_version] = '1.73.0'
+ context[:gem_version] = '1.74.0'
Seahorse::Client::Request.new(handlers, context)
end
diff --git a/gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb b/gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb
index 30a332c5e97..e535c6babea 100644
--- a/gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb
+++ b/gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb
@@ -3154,7 +3154,7 @@ class DescribeHoursOfOperationResponse < Struct.new(
#
# {
# instance_id: "InstanceId", # required
- # attribute_type: "INBOUND_CALLS", # required, accepts INBOUND_CALLS, OUTBOUND_CALLS, CONTACTFLOW_LOGS, CONTACT_LENS, AUTO_RESOLVE_BEST_VOICES, USE_CUSTOM_TTS_VOICES, EARLY_MEDIA, MULTI_PARTY_CONFERENCE
+ # attribute_type: "INBOUND_CALLS", # required, accepts INBOUND_CALLS, OUTBOUND_CALLS, CONTACTFLOW_LOGS, CONTACT_LENS, AUTO_RESOLVE_BEST_VOICES, USE_CUSTOM_TTS_VOICES, EARLY_MEDIA, MULTI_PARTY_CONFERENCE, HIGH_VOLUME_OUTBOUND
# }
#
# @!attribute [rw] instance_id
@@ -10537,7 +10537,7 @@ class UpdateHoursOfOperationRequest < Struct.new(
#
# {
# instance_id: "InstanceId", # required
- # attribute_type: "INBOUND_CALLS", # required, accepts INBOUND_CALLS, OUTBOUND_CALLS, CONTACTFLOW_LOGS, CONTACT_LENS, AUTO_RESOLVE_BEST_VOICES, USE_CUSTOM_TTS_VOICES, EARLY_MEDIA, MULTI_PARTY_CONFERENCE
+ # attribute_type: "INBOUND_CALLS", # required, accepts INBOUND_CALLS, OUTBOUND_CALLS, CONTACTFLOW_LOGS, CONTACT_LENS, AUTO_RESOLVE_BEST_VOICES, USE_CUSTOM_TTS_VOICES, EARLY_MEDIA, MULTI_PARTY_CONFERENCE, HIGH_VOLUME_OUTBOUND
# value: "InstanceAttributeValue", # required
# }
#
diff --git a/gems/aws-sdk-connectcampaignservice/CHANGELOG.md b/gems/aws-sdk-connectcampaignservice/CHANGELOG.md
new file mode 100644
index 00000000000..e3f2ce3093b
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/CHANGELOG.md
@@ -0,0 +1,8 @@
+Unreleased Changes
+------------------
+
+1.0.0 (2022-06-17)
+------------------
+
+* Feature - Initial release of `aws-sdk-connectcampaignservice`.
+
diff --git a/gems/aws-sdk-connectcampaignservice/LICENSE.txt b/gems/aws-sdk-connectcampaignservice/LICENSE.txt
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/LICENSE.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/gems/aws-sdk-connectcampaignservice/VERSION b/gems/aws-sdk-connectcampaignservice/VERSION
new file mode 100644
index 00000000000..3eefcb9dd5b
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/VERSION
@@ -0,0 +1 @@
+1.0.0
diff --git a/gems/aws-sdk-connectcampaignservice/aws-sdk-connectcampaignservice.gemspec b/gems/aws-sdk-connectcampaignservice/aws-sdk-connectcampaignservice.gemspec
new file mode 100644
index 00000000000..cfc4c4e6f5c
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/aws-sdk-connectcampaignservice.gemspec
@@ -0,0 +1,32 @@
+# frozen_string_literal: true
+
+# WARNING ABOUT GENERATED CODE
+#
+# This file is generated. See the contributing guide for more information:
+# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
+#
+# WARNING ABOUT GENERATED CODE
+
+Gem::Specification.new do |spec|
+
+ spec.name = 'aws-sdk-connectcampaignservice'
+ spec.version = File.read(File.expand_path('../VERSION', __FILE__)).strip
+ spec.summary = 'AWS SDK for Ruby - AmazonConnectCampaignService'
+ spec.description = 'Official AWS Ruby gem for AmazonConnectCampaignService. This gem is part of the AWS SDK for Ruby.'
+ spec.author = 'Amazon Web Services'
+ spec.homepage = 'https://github.com/aws/aws-sdk-ruby'
+ spec.license = 'Apache-2.0'
+ spec.email = ['aws-dr-rubygems@amazon.com']
+ spec.require_paths = ['lib']
+ spec.files = Dir['LICENSE.txt', 'CHANGELOG.md', 'VERSION', 'lib/**/*.rb']
+
+ spec.metadata = {
+ 'source_code_uri' => 'https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-connectcampaignservice',
+ 'changelog_uri' => 'https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sdk-connectcampaignservice/CHANGELOG.md'
+ }
+
+ spec.add_dependency('aws-sdk-core', '~> 3', '>= 3.127.0')
+ spec.add_dependency('aws-sigv4', '~> 1.1')
+
+ spec.required_ruby_version = '>= 2.3'
+end
diff --git a/gems/aws-sdk-connectcampaignservice/features/env.rb b/gems/aws-sdk-connectcampaignservice/features/env.rb
new file mode 100644
index 00000000000..e8fe779d907
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/features/env.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+# WARNING ABOUT GENERATED CODE
+#
+# This file is generated. See the contributing guide for more information:
+# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
+#
+# WARNING ABOUT GENERATED CODE
+
+$:.unshift(File.expand_path('../../lib', __FILE__))
+$:.unshift(File.expand_path('../../../aws-sdk-core/features', __FILE__))
+$:.unshift(File.expand_path('../../../aws-sdk-core/lib', __FILE__))
+$:.unshift(File.expand_path('../../../aws-sigv4/lib', __FILE__))
+
+require 'features_helper'
+require 'aws-sdk-connectcampaignservice'
+
+Aws::ConnectCampaignService::Client.add_plugin(ApiCallTracker)
diff --git a/gems/aws-sdk-connectcampaignservice/features/step_definitions.rb b/gems/aws-sdk-connectcampaignservice/features/step_definitions.rb
new file mode 100644
index 00000000000..0c690eccc20
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/features/step_definitions.rb
@@ -0,0 +1,8 @@
+Before("@connectcampaignservice") do
+ @service = Aws::ConnectCampaignService::Resource.new
+ @client = @service.client
+end
+
+After("@connectcampaignservice") do
+ # shared cleanup logic
+end
diff --git a/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice.rb b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice.rb
new file mode 100644
index 00000000000..078e3d46ac2
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice.rb
@@ -0,0 +1,53 @@
+# frozen_string_literal: true
+
+# WARNING ABOUT GENERATED CODE
+#
+# This file is generated. See the contributing guide for more information:
+# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
+#
+# WARNING ABOUT GENERATED CODE
+
+
+require 'aws-sdk-core'
+require 'aws-sigv4'
+
+require_relative 'aws-sdk-connectcampaignservice/types'
+require_relative 'aws-sdk-connectcampaignservice/client_api'
+require_relative 'aws-sdk-connectcampaignservice/client'
+require_relative 'aws-sdk-connectcampaignservice/errors'
+require_relative 'aws-sdk-connectcampaignservice/resource'
+require_relative 'aws-sdk-connectcampaignservice/customizations'
+
+# This module provides support for AmazonConnectCampaignService. This module is available in the
+# `aws-sdk-connectcampaignservice` gem.
+#
+# # Client
+#
+# The {Client} class provides one method for each API operation. Operation
+# methods each accept a hash of request parameters and return a response
+# structure.
+#
+# connect_campaign_service = Aws::ConnectCampaignService::Client.new
+# resp = connect_campaign_service.create_campaign(params)
+#
+# See {Client} for more information.
+#
+# # Errors
+#
+# Errors returned from AmazonConnectCampaignService are defined in the
+# {Errors} module and all extend {Errors::ServiceError}.
+#
+# begin
+# # do stuff
+# rescue Aws::ConnectCampaignService::Errors::ServiceError
+# # rescues all AmazonConnectCampaignService API errors
+# end
+#
+# See {Errors} for more information.
+#
+# @!group service
+module Aws::ConnectCampaignService
+
+ GEM_VERSION = '1.0.0'
+
+end
diff --git a/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/client.rb b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/client.rb
new file mode 100644
index 00000000000..67d2d39435d
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/client.rb
@@ -0,0 +1,1094 @@
+# frozen_string_literal: true
+
+# WARNING ABOUT GENERATED CODE
+#
+# This file is generated. See the contributing guide for more information:
+# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
+#
+# WARNING ABOUT GENERATED CODE
+
+require 'seahorse/client/plugins/content_length.rb'
+require 'aws-sdk-core/plugins/credentials_configuration.rb'
+require 'aws-sdk-core/plugins/logging.rb'
+require 'aws-sdk-core/plugins/param_converter.rb'
+require 'aws-sdk-core/plugins/param_validator.rb'
+require 'aws-sdk-core/plugins/user_agent.rb'
+require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
+require 'aws-sdk-core/plugins/retry_errors.rb'
+require 'aws-sdk-core/plugins/global_configuration.rb'
+require 'aws-sdk-core/plugins/regional_endpoint.rb'
+require 'aws-sdk-core/plugins/endpoint_discovery.rb'
+require 'aws-sdk-core/plugins/endpoint_pattern.rb'
+require 'aws-sdk-core/plugins/response_paging.rb'
+require 'aws-sdk-core/plugins/stub_responses.rb'
+require 'aws-sdk-core/plugins/idempotency_token.rb'
+require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
+require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
+require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
+require 'aws-sdk-core/plugins/transfer_encoding.rb'
+require 'aws-sdk-core/plugins/http_checksum.rb'
+require 'aws-sdk-core/plugins/checksum_algorithm.rb'
+require 'aws-sdk-core/plugins/defaults_mode.rb'
+require 'aws-sdk-core/plugins/recursion_detection.rb'
+require 'aws-sdk-core/plugins/signature_v4.rb'
+require 'aws-sdk-core/plugins/protocols/rest_json.rb'
+
+Aws::Plugins::GlobalConfiguration.add_identifier(:connectcampaignservice)
+
+module Aws::ConnectCampaignService
+ # An API client for ConnectCampaignService. To construct a client, you need to configure a `:region` and `:credentials`.
+ #
+ # client = Aws::ConnectCampaignService::Client.new(
+ # region: region_name,
+ # credentials: credentials,
+ # # ...
+ # )
+ #
+ # For details on configuring region and credentials see
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
+ #
+ # See {#initialize} for a full list of supported configuration options.
+ class Client < Seahorse::Client::Base
+
+ include Aws::ClientStubs
+
+ @identifier = :connectcampaignservice
+
+ set_api(ClientApi::API)
+
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
+ add_plugin(Aws::Plugins::Logging)
+ add_plugin(Aws::Plugins::ParamConverter)
+ add_plugin(Aws::Plugins::ParamValidator)
+ add_plugin(Aws::Plugins::UserAgent)
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
+ add_plugin(Aws::Plugins::RetryErrors)
+ add_plugin(Aws::Plugins::GlobalConfiguration)
+ add_plugin(Aws::Plugins::RegionalEndpoint)
+ add_plugin(Aws::Plugins::EndpointDiscovery)
+ add_plugin(Aws::Plugins::EndpointPattern)
+ add_plugin(Aws::Plugins::ResponsePaging)
+ add_plugin(Aws::Plugins::StubResponses)
+ add_plugin(Aws::Plugins::IdempotencyToken)
+ add_plugin(Aws::Plugins::JsonvalueConverter)
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
+ add_plugin(Aws::Plugins::TransferEncoding)
+ add_plugin(Aws::Plugins::HttpChecksum)
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
+ add_plugin(Aws::Plugins::DefaultsMode)
+ add_plugin(Aws::Plugins::RecursionDetection)
+ add_plugin(Aws::Plugins::SignatureV4)
+ add_plugin(Aws::Plugins::Protocols::RestJson)
+
+ # @overload initialize(options)
+ # @param [Hash] options
+ # @option options [required, Aws::CredentialProvider] :credentials
+ # Your AWS credentials. This can be an instance of any one of the
+ # following classes:
+ #
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
+ # credentials.
+ #
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
+ # shared file, such as `~/.aws/config`.
+ #
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
+ #
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
+ # assume a role after providing credentials via the web.
+ #
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
+ # access token generated from `aws login`.
+ #
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
+ # process that outputs to stdout.
+ #
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
+ # from an EC2 IMDS on an EC2 instance.
+ #
+ # * `Aws::ECSCredentials` - Used for loading credentials from
+ # instances running in ECS.
+ #
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
+ # from the Cognito Identity service.
+ #
+ # When `:credentials` are not configured directly, the following
+ # locations will be searched for credentials:
+ #
+ # * `Aws.config[:credentials]`
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
+ # * `~/.aws/credentials`
+ # * `~/.aws/config`
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
+ # are very aggressive. Construct and pass an instance of
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
+ # enable retries and extended timeouts. Instance profile credential
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
+ # to true.
+ #
+ # @option options [required, String] :region
+ # The AWS region to connect to. The configured `:region` is
+ # used to determine the service `:endpoint`. When not passed,
+ # a default `:region` is searched for in the following locations:
+ #
+ # * `Aws.config[:region]`
+ # * `ENV['AWS_REGION']`
+ # * `ENV['AMAZON_REGION']`
+ # * `ENV['AWS_DEFAULT_REGION']`
+ # * `~/.aws/credentials`
+ # * `~/.aws/config`
+ #
+ # @option options [String] :access_key_id
+ #
+ # @option options [Boolean] :active_endpoint_cache (false)
+ # When set to `true`, a thread polling for endpoints will be running in
+ # the background every 60 secs (default). Defaults to `false`.
+ #
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
+ # Used only in `adaptive` retry mode. When true, the request will sleep
+ # until there is sufficent client side capacity to retry the request.
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
+ # not retry instead of sleeping.
+ #
+ # @option options [Boolean] :client_side_monitoring (false)
+ # When `true`, client-side metrics will be collected for all API requests from
+ # this client.
+ #
+ # @option options [String] :client_side_monitoring_client_id ("")
+ # Allows you to provide an identifier for this client which will be attached to
+ # all generated client side metrics. Defaults to an empty string.
+ #
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
+ # side monitoring agent is running on, where client metrics will be published via UDP.
+ #
+ # @option options [Integer] :client_side_monitoring_port (31000)
+ # Required for publishing client metrics. The port that the client side monitoring
+ # agent is running on, where client metrics will be published via UDP.
+ #
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
+ # will use the Client Side Monitoring Agent Publisher.
+ #
+ # @option options [Boolean] :convert_params (true)
+ # When `true`, an attempt is made to coerce request parameters into
+ # the required types.
+ #
+ # @option options [Boolean] :correct_clock_skew (true)
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
+ # a clock skew correction and retry requests with skewed client clocks.
+ #
+ # @option options [String] :defaults_mode ("legacy")
+ # See {Aws::DefaultsModeConfiguration} for a list of the
+ # accepted modes and the configuration defaults that are included.
+ #
+ # @option options [Boolean] :disable_host_prefix_injection (false)
+ # Set to true to disable SDK automatically adding host prefix
+ # to default service endpoint when available.
+ #
+ # @option options [String] :endpoint
+ # The client endpoint is normally constructed from the `:region`
+ # option. You should only configure an `:endpoint` when connecting
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
+ #
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
+ # Used for the maximum size limit of the LRU cache storing endpoints data
+ # for endpoint discovery enabled operations. Defaults to 1000.
+ #
+ # @option options [Integer] :endpoint_cache_max_threads (10)
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
+ #
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
+ # Use this option to config the time interval in seconds for making
+ # requests fetching endpoints information. Defaults to 60 sec.
+ #
+ # @option options [Boolean] :endpoint_discovery (false)
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
+ #
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
+ # The log formatter.
+ #
+ # @option options [Symbol] :log_level (:info)
+ # The log level to send messages to the `:logger` at.
+ #
+ # @option options [Logger] :logger
+ # The Logger instance to send log messages to. If this option
+ # is not set, logging will be disabled.
+ #
+ # @option options [Integer] :max_attempts (3)
+ # An integer representing the maximum number attempts that will be made for
+ # a single request, including the initial attempt. For example,
+ # setting this value to 5 will result in a request being retried up to
+ # 4 times. Used in `standard` and `adaptive` retry modes.
+ #
+ # @option options [String] :profile ("default")
+ # Used when loading credentials from the shared credentials file
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
+ #
+ # @option options [Proc] :retry_backoff
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
+ # This option is only used in the `legacy` retry mode.
+ #
+ # @option options [Float] :retry_base_delay (0.3)
+ # The base delay in seconds used by the default backoff function. This option
+ # is only used in the `legacy` retry mode.
+ #
+ # @option options [Symbol] :retry_jitter (:none)
+ # A delay randomiser function used by the default backoff function.
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
+ # otherwise a Proc that takes and returns a number. This option is only used
+ # in the `legacy` retry mode.
+ #
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
+ #
+ # @option options [Integer] :retry_limit (3)
+ # The maximum number of times to retry failed requests. Only
+ # ~ 500 level server errors and certain ~ 400 level client errors
+ # are retried. Generally, these are throttling errors, data
+ # checksum errors, networking errors, timeout errors, auth errors,
+ # endpoint discovery, and errors from expired credentials.
+ # This option is only used in the `legacy` retry mode.
+ #
+ # @option options [Integer] :retry_max_delay (0)
+ # The maximum number of seconds to delay between retries (0 for no limit)
+ # used by the default backoff function. This option is only used in the
+ # `legacy` retry mode.
+ #
+ # @option options [String] :retry_mode ("legacy")
+ # Specifies which retry algorithm to use. Values are:
+ #
+ # * `legacy` - The pre-existing retry behavior. This is default value if
+ # no retry mode is provided.
+ #
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
+ # This includes support for retry quotas, which limit the number of
+ # unsuccessful retries a client can make.
+ #
+ # * `adaptive` - An experimental retry mode that includes all the
+ # functionality of `standard` mode along with automatic client side
+ # throttling. This is a provisional mode that may change behavior
+ # in the future.
+ #
+ #
+ # @option options [String] :secret_access_key
+ #
+ # @option options [String] :session_token
+ #
+ # @option options [Boolean] :stub_responses (false)
+ # Causes the client to return stubbed responses. By default
+ # fake responses are generated and returned. You can specify
+ # the response data to return or errors to raise by calling
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
+ #
+ # ** Please note ** When response stubbing is enabled, no HTTP
+ # requests are made, and retries are disabled.
+ #
+ # @option options [Boolean] :use_dualstack_endpoint
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
+ # will be used if available.
+ #
+ # @option options [Boolean] :use_fips_endpoint
+ # When set to `true`, fips compatible endpoints will be used if available.
+ # When a `fips` region is used, the region is normalized and this config
+ # is set to `true`.
+ #
+ # @option options [Boolean] :validate_params (true)
+ # When `true`, request parameters are validated before
+ # sending the request.
+ #
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
+ # requests through. Formatted like 'http://proxy.com:123'.
+ #
+ # @option options [Float] :http_open_timeout (15) The number of
+ # seconds to wait when opening a HTTP session before raising a
+ # `Timeout::Error`.
+ #
+ # @option options [Float] :http_read_timeout (60) The default
+ # number of seconds to wait for response data. This value can
+ # safely be set per-request on the session.
+ #
+ # @option options [Float] :http_idle_timeout (5) The number of
+ # seconds a connection is allowed to sit idle before it is
+ # considered stale. Stale connections are closed and removed
+ # from the pool before making a request.
+ #
+ # @option options [Float] :http_continue_timeout (1) The number of
+ # seconds to wait for a 100-continue response before sending the
+ # request body. This option has no effect unless the request has
+ # "Expect" header set to "100-continue". Defaults to `nil` which
+ # disables this behaviour. This value can safely be set per
+ # request on the session.
+ #
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
+ # in seconds.
+ #
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
+ # HTTP debug output will be sent to the `:logger`.
+ #
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
+ # SSL peer certificates are verified when establishing a
+ # connection.
+ #
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
+ # certificate authority bundle file that should be used when
+ # verifying peer certificates. If you do not pass
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
+ # will be used if available.
+ #
+ # @option options [String] :ssl_ca_directory Full path of the
+ # directory that contains the unbundled SSL certificate
+ # authority files for verifying peer certificates. If you do
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
+ # system default will be used if available.
+ #
+ def initialize(*args)
+ super
+ end
+
+ # @!group API Operations
+
+ # Creates a campaign for the specified Amazon Connect account. This API
+ # is idempotent.
+ #
+ # @option params [required, String] :connect_instance_id
+ # Amazon Connect Instance Id
+ #
+ # @option params [required, Types::DialerConfig] :dialer_config
+ # The possible types of dialer config parameters
+ #
+ # @option params [required, String] :name
+ # The name of an Amazon Connect Campaign name.
+ #
+ # @option params [required, Types::OutboundCallConfig] :outbound_call_config
+ # The configuration used for outbound calls.
+ #
+ # @option params [Hash] :tags
+ # Tag map with key and value.
+ #
+ # @return [Types::CreateCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::CreateCampaignResponse#arn #arn} => String
+ # * {Types::CreateCampaignResponse#id #id} => String
+ # * {Types::CreateCampaignResponse#tags #tags} => Hash<String,String>
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.create_campaign({
+ # connect_instance_id: "InstanceId", # required
+ # dialer_config: { # required
+ # predictive_dialer_config: {
+ # bandwidth_allocation: 1.0, # required
+ # },
+ # progressive_dialer_config: {
+ # bandwidth_allocation: 1.0, # required
+ # },
+ # },
+ # name: "CampaignName", # required
+ # outbound_call_config: { # required
+ # answer_machine_detection_config: {
+ # enable_answer_machine_detection: false, # required
+ # },
+ # connect_contact_flow_id: "ContactFlowId", # required
+ # connect_queue_id: "QueueId", # required
+ # connect_source_phone_number: "SourcePhoneNumber",
+ # },
+ # tags: {
+ # "TagKey" => "TagValue",
+ # },
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.arn #=> String
+ # resp.id #=> String
+ # resp.tags #=> Hash
+ # resp.tags["TagKey"] #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/CreateCampaign AWS API Documentation
+ #
+ # @overload create_campaign(params = {})
+ # @param [Hash] params ({})
+ def create_campaign(params = {}, options = {})
+ req = build_request(:create_campaign, params)
+ req.send_request(options)
+ end
+
+ # Deletes a campaign from the specified Amazon Connect account.
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.delete_campaign({
+ # id: "CampaignId", # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DeleteCampaign AWS API Documentation
+ #
+ # @overload delete_campaign(params = {})
+ # @param [Hash] params ({})
+ def delete_campaign(params = {}, options = {})
+ req = build_request(:delete_campaign, params)
+ req.send_request(options)
+ end
+
+ # Deletes a connect instance config from the specified AWS account.
+ #
+ # @option params [required, String] :connect_instance_id
+ # Amazon Connect Instance Id
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.delete_connect_instance_config({
+ # connect_instance_id: "InstanceId", # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DeleteConnectInstanceConfig AWS API Documentation
+ #
+ # @overload delete_connect_instance_config(params = {})
+ # @param [Hash] params ({})
+ def delete_connect_instance_config(params = {}, options = {})
+ req = build_request(:delete_connect_instance_config, params)
+ req.send_request(options)
+ end
+
+ # Delete the Connect Campaigns onboarding job for the specified Amazon
+ # Connect instance.
+ #
+ # @option params [required, String] :connect_instance_id
+ # Amazon Connect Instance Id
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.delete_instance_onboarding_job({
+ # connect_instance_id: "InstanceId", # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DeleteInstanceOnboardingJob AWS API Documentation
+ #
+ # @overload delete_instance_onboarding_job(params = {})
+ # @param [Hash] params ({})
+ def delete_instance_onboarding_job(params = {}, options = {})
+ req = build_request(:delete_instance_onboarding_job, params)
+ req.send_request(options)
+ end
+
+ # Describes the specific campaign.
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @return [Types::DescribeCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::DescribeCampaignResponse#campaign #campaign} => Types::Campaign
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.describe_campaign({
+ # id: "CampaignId", # required
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.campaign.arn #=> String
+ # resp.campaign.connect_instance_id #=> String
+ # resp.campaign.dialer_config.predictive_dialer_config.bandwidth_allocation #=> Float
+ # resp.campaign.dialer_config.progressive_dialer_config.bandwidth_allocation #=> Float
+ # resp.campaign.id #=> String
+ # resp.campaign.name #=> String
+ # resp.campaign.outbound_call_config.answer_machine_detection_config.enable_answer_machine_detection #=> Boolean
+ # resp.campaign.outbound_call_config.connect_contact_flow_id #=> String
+ # resp.campaign.outbound_call_config.connect_queue_id #=> String
+ # resp.campaign.outbound_call_config.connect_source_phone_number #=> String
+ # resp.campaign.tags #=> Hash
+ # resp.campaign.tags["TagKey"] #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DescribeCampaign AWS API Documentation
+ #
+ # @overload describe_campaign(params = {})
+ # @param [Hash] params ({})
+ def describe_campaign(params = {}, options = {})
+ req = build_request(:describe_campaign, params)
+ req.send_request(options)
+ end
+
+ # Get state of a campaign for the specified Amazon Connect account.
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @return [Types::GetCampaignStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::GetCampaignStateResponse#state #state} => String
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.get_campaign_state({
+ # id: "CampaignId", # required
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.state #=> String, one of "Initialized", "Running", "Paused", "Stopped", "Failed"
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetCampaignState AWS API Documentation
+ #
+ # @overload get_campaign_state(params = {})
+ # @param [Hash] params ({})
+ def get_campaign_state(params = {}, options = {})
+ req = build_request(:get_campaign_state, params)
+ req.send_request(options)
+ end
+
+ # Get state of campaigns for the specified Amazon Connect account.
+ #
+ # @option params [required, Array] :campaign_ids
+ # List of CampaignId
+ #
+ # @return [Types::GetCampaignStateBatchResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::GetCampaignStateBatchResponse#failed_requests #failed_requests} => Array<Types::FailedCampaignStateResponse>
+ # * {Types::GetCampaignStateBatchResponse#successful_requests #successful_requests} => Array<Types::SuccessfulCampaignStateResponse>
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.get_campaign_state_batch({
+ # campaign_ids: ["CampaignId"], # required
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.failed_requests #=> Array
+ # resp.failed_requests[0].campaign_id #=> String
+ # resp.failed_requests[0].failure_code #=> String, one of "ResourceNotFound", "UnknownError"
+ # resp.successful_requests #=> Array
+ # resp.successful_requests[0].campaign_id #=> String
+ # resp.successful_requests[0].state #=> String, one of "Initialized", "Running", "Paused", "Stopped", "Failed"
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetCampaignStateBatch AWS API Documentation
+ #
+ # @overload get_campaign_state_batch(params = {})
+ # @param [Hash] params ({})
+ def get_campaign_state_batch(params = {}, options = {})
+ req = build_request(:get_campaign_state_batch, params)
+ req.send_request(options)
+ end
+
+ # Get the specific Connect instance config.
+ #
+ # @option params [required, String] :connect_instance_id
+ # Amazon Connect Instance Id
+ #
+ # @return [Types::GetConnectInstanceConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::GetConnectInstanceConfigResponse#connect_instance_config #connect_instance_config} => Types::InstanceConfig
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.get_connect_instance_config({
+ # connect_instance_id: "InstanceId", # required
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.connect_instance_config.connect_instance_id #=> String
+ # resp.connect_instance_config.encryption_config.enabled #=> Boolean
+ # resp.connect_instance_config.encryption_config.encryption_type #=> String, one of "KMS"
+ # resp.connect_instance_config.encryption_config.key_arn #=> String
+ # resp.connect_instance_config.service_linked_role_arn #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetConnectInstanceConfig AWS API Documentation
+ #
+ # @overload get_connect_instance_config(params = {})
+ # @param [Hash] params ({})
+ def get_connect_instance_config(params = {}, options = {})
+ req = build_request(:get_connect_instance_config, params)
+ req.send_request(options)
+ end
+
+ # Get the specific instance onboarding job status.
+ #
+ # @option params [required, String] :connect_instance_id
+ # Amazon Connect Instance Id
+ #
+ # @return [Types::GetInstanceOnboardingJobStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::GetInstanceOnboardingJobStatusResponse#connect_instance_onboarding_job_status #connect_instance_onboarding_job_status} => Types::InstanceOnboardingJobStatus
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.get_instance_onboarding_job_status({
+ # connect_instance_id: "InstanceId", # required
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.connect_instance_onboarding_job_status.connect_instance_id #=> String
+ # resp.connect_instance_onboarding_job_status.failure_code #=> String, one of "EVENT_BRIDGE_ACCESS_DENIED", "EVENT_BRIDGE_MANAGED_RULE_LIMIT_EXCEEDED", "IAM_ACCESS_DENIED", "KMS_ACCESS_DENIED", "KMS_KEY_NOT_FOUND", "INTERNAL_FAILURE"
+ # resp.connect_instance_onboarding_job_status.status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "FAILED"
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetInstanceOnboardingJobStatus AWS API Documentation
+ #
+ # @overload get_instance_onboarding_job_status(params = {})
+ # @param [Hash] params ({})
+ def get_instance_onboarding_job_status(params = {}, options = {})
+ req = build_request(:get_instance_onboarding_job_status, params)
+ req.send_request(options)
+ end
+
+ # Provides summary information about the campaigns under the specified
+ # Amazon Connect account.
+ #
+ # @option params [Types::CampaignFilters] :filters
+ # Filter model by type
+ #
+ # @option params [Integer] :max_results
+ # The maximum number of results to return per page.
+ #
+ # @option params [String] :next_token
+ # The token for the next set of results.
+ #
+ # @return [Types::ListCampaignsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::ListCampaignsResponse#campaign_summary_list #campaign_summary_list} => Array<Types::CampaignSummary>
+ # * {Types::ListCampaignsResponse#next_token #next_token} => String
+ #
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.list_campaigns({
+ # filters: {
+ # instance_id_filter: {
+ # operator: "Eq", # required, accepts Eq
+ # value: "InstanceId", # required
+ # },
+ # },
+ # max_results: 1,
+ # next_token: "NextToken",
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.campaign_summary_list #=> Array
+ # resp.campaign_summary_list[0].arn #=> String
+ # resp.campaign_summary_list[0].connect_instance_id #=> String
+ # resp.campaign_summary_list[0].id #=> String
+ # resp.campaign_summary_list[0].name #=> String
+ # resp.next_token #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ListCampaigns AWS API Documentation
+ #
+ # @overload list_campaigns(params = {})
+ # @param [Hash] params ({})
+ def list_campaigns(params = {}, options = {})
+ req = build_request(:list_campaigns, params)
+ req.send_request(options)
+ end
+
+ # List tags for a resource.
+ #
+ # @option params [required, String] :arn
+ # Arn
+ #
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash<String,String>
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.list_tags_for_resource({
+ # arn: "Arn", # required
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.tags #=> Hash
+ # resp.tags["TagKey"] #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ListTagsForResource AWS API Documentation
+ #
+ # @overload list_tags_for_resource(params = {})
+ # @param [Hash] params ({})
+ def list_tags_for_resource(params = {}, options = {})
+ req = build_request(:list_tags_for_resource, params)
+ req.send_request(options)
+ end
+
+ # Pauses a campaign for the specified Amazon Connect account.
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.pause_campaign({
+ # id: "CampaignId", # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/PauseCampaign AWS API Documentation
+ #
+ # @overload pause_campaign(params = {})
+ # @param [Hash] params ({})
+ def pause_campaign(params = {}, options = {})
+ req = build_request(:pause_campaign, params)
+ req.send_request(options)
+ end
+
+ # Creates dials requests for the specified campaign Amazon Connect
+ # account. This API is idempotent.
+ #
+ # @option params [required, Array] :dial_requests
+ # A list of dial requests.
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @return [Types::PutDialRequestBatchResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::PutDialRequestBatchResponse#failed_requests #failed_requests} => Array<Types::FailedRequest>
+ # * {Types::PutDialRequestBatchResponse#successful_requests #successful_requests} => Array<Types::SuccessfulRequest>
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.put_dial_request_batch({
+ # dial_requests: [ # required
+ # {
+ # attributes: { # required
+ # "AttributeName" => "AttributeValue",
+ # },
+ # client_token: "ClientToken", # required
+ # expiration_time: Time.now, # required
+ # phone_number: "DestinationPhoneNumber", # required
+ # },
+ # ],
+ # id: "CampaignId", # required
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.failed_requests #=> Array
+ # resp.failed_requests[0].client_token #=> String
+ # resp.failed_requests[0].failure_code #=> String, one of "InvalidInput", "RequestThrottled", "UnknownError"
+ # resp.failed_requests[0].id #=> String
+ # resp.successful_requests #=> Array
+ # resp.successful_requests[0].client_token #=> String
+ # resp.successful_requests[0].id #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/PutDialRequestBatch AWS API Documentation
+ #
+ # @overload put_dial_request_batch(params = {})
+ # @param [Hash] params ({})
+ def put_dial_request_batch(params = {}, options = {})
+ req = build_request(:put_dial_request_batch, params)
+ req.send_request(options)
+ end
+
+ # Stops a campaign for the specified Amazon Connect account.
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.resume_campaign({
+ # id: "CampaignId", # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ResumeCampaign AWS API Documentation
+ #
+ # @overload resume_campaign(params = {})
+ # @param [Hash] params ({})
+ def resume_campaign(params = {}, options = {})
+ req = build_request(:resume_campaign, params)
+ req.send_request(options)
+ end
+
+ # Starts a campaign for the specified Amazon Connect account.
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.start_campaign({
+ # id: "CampaignId", # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/StartCampaign AWS API Documentation
+ #
+ # @overload start_campaign(params = {})
+ # @param [Hash] params ({})
+ def start_campaign(params = {}, options = {})
+ req = build_request(:start_campaign, params)
+ req.send_request(options)
+ end
+
+ # Onboard the specific Amazon Connect instance to Connect Campaigns.
+ #
+ # @option params [required, String] :connect_instance_id
+ # Amazon Connect Instance Id
+ #
+ # @option params [required, Types::EncryptionConfig] :encryption_config
+ # Encryption config for Connect Instance. Note that sensitive data will
+ # always be encrypted. If disabled, service will perform encryption with
+ # its own key. If enabled, a KMS key id needs to be provided and KMS
+ # charges will apply. KMS is only type supported
+ #
+ # @return [Types::StartInstanceOnboardingJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::StartInstanceOnboardingJobResponse#connect_instance_onboarding_job_status #connect_instance_onboarding_job_status} => Types::InstanceOnboardingJobStatus
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.start_instance_onboarding_job({
+ # connect_instance_id: "InstanceId", # required
+ # encryption_config: { # required
+ # enabled: false, # required
+ # encryption_type: "KMS", # accepts KMS
+ # key_arn: "EncryptionKey",
+ # },
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.connect_instance_onboarding_job_status.connect_instance_id #=> String
+ # resp.connect_instance_onboarding_job_status.failure_code #=> String, one of "EVENT_BRIDGE_ACCESS_DENIED", "EVENT_BRIDGE_MANAGED_RULE_LIMIT_EXCEEDED", "IAM_ACCESS_DENIED", "KMS_ACCESS_DENIED", "KMS_KEY_NOT_FOUND", "INTERNAL_FAILURE"
+ # resp.connect_instance_onboarding_job_status.status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "FAILED"
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/StartInstanceOnboardingJob AWS API Documentation
+ #
+ # @overload start_instance_onboarding_job(params = {})
+ # @param [Hash] params ({})
+ def start_instance_onboarding_job(params = {}, options = {})
+ req = build_request(:start_instance_onboarding_job, params)
+ req.send_request(options)
+ end
+
+ # Stops a campaign for the specified Amazon Connect account.
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.stop_campaign({
+ # id: "CampaignId", # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/StopCampaign AWS API Documentation
+ #
+ # @overload stop_campaign(params = {})
+ # @param [Hash] params ({})
+ def stop_campaign(params = {}, options = {})
+ req = build_request(:stop_campaign, params)
+ req.send_request(options)
+ end
+
+ # Tag a resource.
+ #
+ # @option params [required, String] :arn
+ # Arn
+ #
+ # @option params [required, Hash] :tags
+ # Tag map with key and value.
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.tag_resource({
+ # arn: "Arn", # required
+ # tags: { # required
+ # "TagKey" => "TagValue",
+ # },
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/TagResource AWS API Documentation
+ #
+ # @overload tag_resource(params = {})
+ # @param [Hash] params ({})
+ def tag_resource(params = {}, options = {})
+ req = build_request(:tag_resource, params)
+ req.send_request(options)
+ end
+
+ # Untag a resource.
+ #
+ # @option params [required, String] :arn
+ # Arn
+ #
+ # @option params [required, Array] :tag_keys
+ # List of tag keys.
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.untag_resource({
+ # arn: "Arn", # required
+ # tag_keys: ["TagKey"], # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/UntagResource AWS API Documentation
+ #
+ # @overload untag_resource(params = {})
+ # @param [Hash] params ({})
+ def untag_resource(params = {}, options = {})
+ req = build_request(:untag_resource, params)
+ req.send_request(options)
+ end
+
+ # Updates the dialer config of a campaign. This API is idempotent.
+ #
+ # @option params [required, Types::DialerConfig] :dialer_config
+ # The possible types of dialer config parameters
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.update_campaign_dialer_config({
+ # dialer_config: { # required
+ # predictive_dialer_config: {
+ # bandwidth_allocation: 1.0, # required
+ # },
+ # progressive_dialer_config: {
+ # bandwidth_allocation: 1.0, # required
+ # },
+ # },
+ # id: "CampaignId", # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/UpdateCampaignDialerConfig AWS API Documentation
+ #
+ # @overload update_campaign_dialer_config(params = {})
+ # @param [Hash] params ({})
+ def update_campaign_dialer_config(params = {}, options = {})
+ req = build_request(:update_campaign_dialer_config, params)
+ req.send_request(options)
+ end
+
+ # Updates the name of a campaign. This API is idempotent.
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @option params [required, String] :name
+ # The name of an Amazon Connect Campaign name.
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.update_campaign_name({
+ # id: "CampaignId", # required
+ # name: "CampaignName", # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/UpdateCampaignName AWS API Documentation
+ #
+ # @overload update_campaign_name(params = {})
+ # @param [Hash] params ({})
+ def update_campaign_name(params = {}, options = {})
+ req = build_request(:update_campaign_name, params)
+ req.send_request(options)
+ end
+
+ # Updates the outbound call config of a campaign. This API is
+ # idempotent.
+ #
+ # @option params [Types::AnswerMachineDetectionConfig] :answer_machine_detection_config
+ # Answering Machine Detection config
+ #
+ # @option params [String] :connect_contact_flow_id
+ # The identifier of the contact flow for the outbound call.
+ #
+ # @option params [String] :connect_source_phone_number
+ # The phone number associated with the Amazon Connect instance, in E.164
+ # format. If you do not specify a source phone number, you must specify
+ # a queue.
+ #
+ # @option params [required, String] :id
+ # Identifier representing a Campaign
+ #
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.update_campaign_outbound_call_config({
+ # answer_machine_detection_config: {
+ # enable_answer_machine_detection: false, # required
+ # },
+ # connect_contact_flow_id: "ContactFlowId",
+ # connect_source_phone_number: "SourcePhoneNumber",
+ # id: "CampaignId", # required
+ # })
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/UpdateCampaignOutboundCallConfig AWS API Documentation
+ #
+ # @overload update_campaign_outbound_call_config(params = {})
+ # @param [Hash] params ({})
+ def update_campaign_outbound_call_config(params = {}, options = {})
+ req = build_request(:update_campaign_outbound_call_config, params)
+ req.send_request(options)
+ end
+
+ # @!endgroup
+
+ # @param params ({})
+ # @api private
+ def build_request(operation_name, params = {})
+ handlers = @handlers.for(operation_name)
+ context = Seahorse::Client::RequestContext.new(
+ operation_name: operation_name,
+ operation: config.api.operation(operation_name),
+ client: self,
+ params: params,
+ config: config)
+ context[:gem_name] = 'aws-sdk-connectcampaignservice'
+ context[:gem_version] = '1.0.0'
+ Seahorse::Client::Request.new(handlers, context)
+ end
+
+ # @api private
+ # @deprecated
+ def waiter_names
+ []
+ end
+
+ class << self
+
+ # @api private
+ attr_reader :identifier
+
+ # @api private
+ def errors_module
+ Errors
+ end
+
+ end
+ end
+end
diff --git a/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/client_api.rb b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/client_api.rb
new file mode 100644
index 00000000000..9a565143030
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/client_api.rb
@@ -0,0 +1,690 @@
+# frozen_string_literal: true
+
+# WARNING ABOUT GENERATED CODE
+#
+# This file is generated. See the contributing guide for more information:
+# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
+#
+# WARNING ABOUT GENERATED CODE
+
+module Aws::ConnectCampaignService
+ # @api private
+ module ClientApi
+
+ include Seahorse::Model
+
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
+ AnswerMachineDetectionConfig = Shapes::StructureShape.new(name: 'AnswerMachineDetectionConfig')
+ Arn = Shapes::StringShape.new(name: 'Arn')
+ AttributeName = Shapes::StringShape.new(name: 'AttributeName')
+ AttributeValue = Shapes::StringShape.new(name: 'AttributeValue')
+ Attributes = Shapes::MapShape.new(name: 'Attributes')
+ BandwidthAllocation = Shapes::FloatShape.new(name: 'BandwidthAllocation')
+ Boolean = Shapes::BooleanShape.new(name: 'Boolean')
+ Campaign = Shapes::StructureShape.new(name: 'Campaign')
+ CampaignArn = Shapes::StringShape.new(name: 'CampaignArn')
+ CampaignFilters = Shapes::StructureShape.new(name: 'CampaignFilters')
+ CampaignId = Shapes::StringShape.new(name: 'CampaignId')
+ CampaignName = Shapes::StringShape.new(name: 'CampaignName')
+ CampaignState = Shapes::StringShape.new(name: 'CampaignState')
+ CampaignSummary = Shapes::StructureShape.new(name: 'CampaignSummary')
+ CampaignSummaryList = Shapes::ListShape.new(name: 'CampaignSummaryList')
+ ClientToken = Shapes::StringShape.new(name: 'ClientToken')
+ ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
+ ContactFlowId = Shapes::StringShape.new(name: 'ContactFlowId')
+ CreateCampaignRequest = Shapes::StructureShape.new(name: 'CreateCampaignRequest')
+ CreateCampaignResponse = Shapes::StructureShape.new(name: 'CreateCampaignResponse')
+ DeleteCampaignRequest = Shapes::StructureShape.new(name: 'DeleteCampaignRequest')
+ DeleteConnectInstanceConfigRequest = Shapes::StructureShape.new(name: 'DeleteConnectInstanceConfigRequest')
+ DeleteInstanceOnboardingJobRequest = Shapes::StructureShape.new(name: 'DeleteInstanceOnboardingJobRequest')
+ DescribeCampaignRequest = Shapes::StructureShape.new(name: 'DescribeCampaignRequest')
+ DescribeCampaignResponse = Shapes::StructureShape.new(name: 'DescribeCampaignResponse')
+ DestinationPhoneNumber = Shapes::StringShape.new(name: 'DestinationPhoneNumber')
+ DialRequest = Shapes::StructureShape.new(name: 'DialRequest')
+ DialRequestId = Shapes::StringShape.new(name: 'DialRequestId')
+ DialRequestList = Shapes::ListShape.new(name: 'DialRequestList')
+ DialerConfig = Shapes::UnionShape.new(name: 'DialerConfig')
+ Enabled = Shapes::BooleanShape.new(name: 'Enabled')
+ EncryptionConfig = Shapes::StructureShape.new(name: 'EncryptionConfig')
+ EncryptionKey = Shapes::StringShape.new(name: 'EncryptionKey')
+ EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
+ FailedCampaignStateResponse = Shapes::StructureShape.new(name: 'FailedCampaignStateResponse')
+ FailedCampaignStateResponseList = Shapes::ListShape.new(name: 'FailedCampaignStateResponseList')
+ FailedRequest = Shapes::StructureShape.new(name: 'FailedRequest')
+ FailedRequestList = Shapes::ListShape.new(name: 'FailedRequestList')
+ FailureCode = Shapes::StringShape.new(name: 'FailureCode')
+ GetCampaignStateBatchFailureCode = Shapes::StringShape.new(name: 'GetCampaignStateBatchFailureCode')
+ GetCampaignStateBatchRequest = Shapes::StructureShape.new(name: 'GetCampaignStateBatchRequest')
+ GetCampaignStateBatchRequestCampaignIdsList = Shapes::ListShape.new(name: 'GetCampaignStateBatchRequestCampaignIdsList')
+ GetCampaignStateBatchResponse = Shapes::StructureShape.new(name: 'GetCampaignStateBatchResponse')
+ GetCampaignStateRequest = Shapes::StructureShape.new(name: 'GetCampaignStateRequest')
+ GetCampaignStateResponse = Shapes::StructureShape.new(name: 'GetCampaignStateResponse')
+ GetConnectInstanceConfigRequest = Shapes::StructureShape.new(name: 'GetConnectInstanceConfigRequest')
+ GetConnectInstanceConfigResponse = Shapes::StructureShape.new(name: 'GetConnectInstanceConfigResponse')
+ GetInstanceOnboardingJobStatusRequest = Shapes::StructureShape.new(name: 'GetInstanceOnboardingJobStatusRequest')
+ GetInstanceOnboardingJobStatusResponse = Shapes::StructureShape.new(name: 'GetInstanceOnboardingJobStatusResponse')
+ InstanceConfig = Shapes::StructureShape.new(name: 'InstanceConfig')
+ InstanceId = Shapes::StringShape.new(name: 'InstanceId')
+ InstanceIdFilter = Shapes::StructureShape.new(name: 'InstanceIdFilter')
+ InstanceIdFilterOperator = Shapes::StringShape.new(name: 'InstanceIdFilterOperator')
+ InstanceOnboardingJobFailureCode = Shapes::StringShape.new(name: 'InstanceOnboardingJobFailureCode')
+ InstanceOnboardingJobStatus = Shapes::StructureShape.new(name: 'InstanceOnboardingJobStatus')
+ InstanceOnboardingJobStatusCode = Shapes::StringShape.new(name: 'InstanceOnboardingJobStatusCode')
+ InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
+ InvalidCampaignStateException = Shapes::StructureShape.new(name: 'InvalidCampaignStateException')
+ InvalidStateException = Shapes::StructureShape.new(name: 'InvalidStateException')
+ ListCampaignsRequest = Shapes::StructureShape.new(name: 'ListCampaignsRequest')
+ ListCampaignsResponse = Shapes::StructureShape.new(name: 'ListCampaignsResponse')
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
+ MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
+ NextToken = Shapes::StringShape.new(name: 'NextToken')
+ OutboundCallConfig = Shapes::StructureShape.new(name: 'OutboundCallConfig')
+ PauseCampaignRequest = Shapes::StructureShape.new(name: 'PauseCampaignRequest')
+ PredictiveDialerConfig = Shapes::StructureShape.new(name: 'PredictiveDialerConfig')
+ ProgressiveDialerConfig = Shapes::StructureShape.new(name: 'ProgressiveDialerConfig')
+ PutDialRequestBatchRequest = Shapes::StructureShape.new(name: 'PutDialRequestBatchRequest')
+ PutDialRequestBatchResponse = Shapes::StructureShape.new(name: 'PutDialRequestBatchResponse')
+ QueueId = Shapes::StringShape.new(name: 'QueueId')
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
+ ResumeCampaignRequest = Shapes::StructureShape.new(name: 'ResumeCampaignRequest')
+ ServiceLinkedRoleArn = Shapes::StringShape.new(name: 'ServiceLinkedRoleArn')
+ ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
+ SourcePhoneNumber = Shapes::StringShape.new(name: 'SourcePhoneNumber')
+ StartCampaignRequest = Shapes::StructureShape.new(name: 'StartCampaignRequest')
+ StartInstanceOnboardingJobRequest = Shapes::StructureShape.new(name: 'StartInstanceOnboardingJobRequest')
+ StartInstanceOnboardingJobResponse = Shapes::StructureShape.new(name: 'StartInstanceOnboardingJobResponse')
+ StopCampaignRequest = Shapes::StructureShape.new(name: 'StopCampaignRequest')
+ String = Shapes::StringShape.new(name: 'String')
+ SuccessfulCampaignStateResponse = Shapes::StructureShape.new(name: 'SuccessfulCampaignStateResponse')
+ SuccessfulCampaignStateResponseList = Shapes::ListShape.new(name: 'SuccessfulCampaignStateResponseList')
+ SuccessfulRequest = Shapes::StructureShape.new(name: 'SuccessfulRequest')
+ SuccessfulRequestList = Shapes::ListShape.new(name: 'SuccessfulRequestList')
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
+ TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
+ TagMap = Shapes::MapShape.new(name: 'TagMap')
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
+ ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
+ TimeStamp = Shapes::TimestampShape.new(name: 'TimeStamp', timestampFormat: "iso8601")
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
+ UpdateCampaignDialerConfigRequest = Shapes::StructureShape.new(name: 'UpdateCampaignDialerConfigRequest')
+ UpdateCampaignNameRequest = Shapes::StructureShape.new(name: 'UpdateCampaignNameRequest')
+ UpdateCampaignOutboundCallConfigRequest = Shapes::StructureShape.new(name: 'UpdateCampaignOutboundCallConfigRequest')
+ ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
+ XAmazonErrorType = Shapes::StringShape.new(name: 'XAmazonErrorType')
+
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
+ AccessDeniedException.add_member(:x_amz_error_type, Shapes::ShapeRef.new(shape: XAmazonErrorType, location: "header", location_name: "x-amzn-ErrorType"))
+ AccessDeniedException.struct_class = Types::AccessDeniedException
+
+ AnswerMachineDetectionConfig.add_member(:enable_answer_machine_detection, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enableAnswerMachineDetection"))
+ AnswerMachineDetectionConfig.struct_class = Types::AnswerMachineDetectionConfig
+
+ Attributes.key = Shapes::ShapeRef.new(shape: AttributeName)
+ Attributes.value = Shapes::ShapeRef.new(shape: AttributeValue)
+
+ Campaign.add_member(:arn, Shapes::ShapeRef.new(shape: CampaignArn, required: true, location_name: "arn"))
+ Campaign.add_member(:connect_instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "connectInstanceId"))
+ Campaign.add_member(:dialer_config, Shapes::ShapeRef.new(shape: DialerConfig, required: true, location_name: "dialerConfig"))
+ Campaign.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location_name: "id"))
+ Campaign.add_member(:name, Shapes::ShapeRef.new(shape: CampaignName, required: true, location_name: "name"))
+ Campaign.add_member(:outbound_call_config, Shapes::ShapeRef.new(shape: OutboundCallConfig, required: true, location_name: "outboundCallConfig"))
+ Campaign.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
+ Campaign.struct_class = Types::Campaign
+
+ CampaignFilters.add_member(:instance_id_filter, Shapes::ShapeRef.new(shape: InstanceIdFilter, location_name: "instanceIdFilter"))
+ CampaignFilters.struct_class = Types::CampaignFilters
+
+ CampaignSummary.add_member(:arn, Shapes::ShapeRef.new(shape: CampaignArn, required: true, location_name: "arn"))
+ CampaignSummary.add_member(:connect_instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "connectInstanceId"))
+ CampaignSummary.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location_name: "id"))
+ CampaignSummary.add_member(:name, Shapes::ShapeRef.new(shape: CampaignName, required: true, location_name: "name"))
+ CampaignSummary.struct_class = Types::CampaignSummary
+
+ CampaignSummaryList.member = Shapes::ShapeRef.new(shape: CampaignSummary)
+
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
+ ConflictException.add_member(:x_amz_error_type, Shapes::ShapeRef.new(shape: XAmazonErrorType, location: "header", location_name: "x-amzn-ErrorType"))
+ ConflictException.struct_class = Types::ConflictException
+
+ CreateCampaignRequest.add_member(:connect_instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "connectInstanceId"))
+ CreateCampaignRequest.add_member(:dialer_config, Shapes::ShapeRef.new(shape: DialerConfig, required: true, location_name: "dialerConfig"))
+ CreateCampaignRequest.add_member(:name, Shapes::ShapeRef.new(shape: CampaignName, required: true, location_name: "name"))
+ CreateCampaignRequest.add_member(:outbound_call_config, Shapes::ShapeRef.new(shape: OutboundCallConfig, required: true, location_name: "outboundCallConfig"))
+ CreateCampaignRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
+ CreateCampaignRequest.struct_class = Types::CreateCampaignRequest
+
+ CreateCampaignResponse.add_member(:arn, Shapes::ShapeRef.new(shape: CampaignArn, location_name: "arn"))
+ CreateCampaignResponse.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, location_name: "id"))
+ CreateCampaignResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
+ CreateCampaignResponse.struct_class = Types::CreateCampaignResponse
+
+ DeleteCampaignRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ DeleteCampaignRequest.struct_class = Types::DeleteCampaignRequest
+
+ DeleteConnectInstanceConfigRequest.add_member(:connect_instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "connectInstanceId"))
+ DeleteConnectInstanceConfigRequest.struct_class = Types::DeleteConnectInstanceConfigRequest
+
+ DeleteInstanceOnboardingJobRequest.add_member(:connect_instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "connectInstanceId"))
+ DeleteInstanceOnboardingJobRequest.struct_class = Types::DeleteInstanceOnboardingJobRequest
+
+ DescribeCampaignRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ DescribeCampaignRequest.struct_class = Types::DescribeCampaignRequest
+
+ DescribeCampaignResponse.add_member(:campaign, Shapes::ShapeRef.new(shape: Campaign, location_name: "campaign"))
+ DescribeCampaignResponse.struct_class = Types::DescribeCampaignResponse
+
+ DialRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, required: true, location_name: "attributes"))
+ DialRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, required: true, location_name: "clientToken"))
+ DialRequest.add_member(:expiration_time, Shapes::ShapeRef.new(shape: TimeStamp, required: true, location_name: "expirationTime"))
+ DialRequest.add_member(:phone_number, Shapes::ShapeRef.new(shape: DestinationPhoneNumber, required: true, location_name: "phoneNumber"))
+ DialRequest.struct_class = Types::DialRequest
+
+ DialRequestList.member = Shapes::ShapeRef.new(shape: DialRequest)
+
+ DialerConfig.add_member(:predictive_dialer_config, Shapes::ShapeRef.new(shape: PredictiveDialerConfig, location_name: "predictiveDialerConfig"))
+ DialerConfig.add_member(:progressive_dialer_config, Shapes::ShapeRef.new(shape: ProgressiveDialerConfig, location_name: "progressiveDialerConfig"))
+ DialerConfig.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
+ DialerConfig.add_member_subclass(:predictive_dialer_config, Types::DialerConfig::PredictiveDialerConfig)
+ DialerConfig.add_member_subclass(:progressive_dialer_config, Types::DialerConfig::ProgressiveDialerConfig)
+ DialerConfig.add_member_subclass(:unknown, Types::DialerConfig::Unknown)
+ DialerConfig.struct_class = Types::DialerConfig
+
+ EncryptionConfig.add_member(:enabled, Shapes::ShapeRef.new(shape: Enabled, required: true, location_name: "enabled"))
+ EncryptionConfig.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, location_name: "encryptionType"))
+ EncryptionConfig.add_member(:key_arn, Shapes::ShapeRef.new(shape: EncryptionKey, location_name: "keyArn"))
+ EncryptionConfig.struct_class = Types::EncryptionConfig
+
+ FailedCampaignStateResponse.add_member(:campaign_id, Shapes::ShapeRef.new(shape: CampaignId, location_name: "campaignId"))
+ FailedCampaignStateResponse.add_member(:failure_code, Shapes::ShapeRef.new(shape: GetCampaignStateBatchFailureCode, location_name: "failureCode"))
+ FailedCampaignStateResponse.struct_class = Types::FailedCampaignStateResponse
+
+ FailedCampaignStateResponseList.member = Shapes::ShapeRef.new(shape: FailedCampaignStateResponse)
+
+ FailedRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken"))
+ FailedRequest.add_member(:failure_code, Shapes::ShapeRef.new(shape: FailureCode, location_name: "failureCode"))
+ FailedRequest.add_member(:id, Shapes::ShapeRef.new(shape: DialRequestId, location_name: "id"))
+ FailedRequest.struct_class = Types::FailedRequest
+
+ FailedRequestList.member = Shapes::ShapeRef.new(shape: FailedRequest)
+
+ GetCampaignStateBatchRequest.add_member(:campaign_ids, Shapes::ShapeRef.new(shape: GetCampaignStateBatchRequestCampaignIdsList, required: true, location_name: "campaignIds"))
+ GetCampaignStateBatchRequest.struct_class = Types::GetCampaignStateBatchRequest
+
+ GetCampaignStateBatchRequestCampaignIdsList.member = Shapes::ShapeRef.new(shape: CampaignId)
+
+ GetCampaignStateBatchResponse.add_member(:failed_requests, Shapes::ShapeRef.new(shape: FailedCampaignStateResponseList, location_name: "failedRequests"))
+ GetCampaignStateBatchResponse.add_member(:successful_requests, Shapes::ShapeRef.new(shape: SuccessfulCampaignStateResponseList, location_name: "successfulRequests"))
+ GetCampaignStateBatchResponse.struct_class = Types::GetCampaignStateBatchResponse
+
+ GetCampaignStateRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ GetCampaignStateRequest.struct_class = Types::GetCampaignStateRequest
+
+ GetCampaignStateResponse.add_member(:state, Shapes::ShapeRef.new(shape: CampaignState, location_name: "state"))
+ GetCampaignStateResponse.struct_class = Types::GetCampaignStateResponse
+
+ GetConnectInstanceConfigRequest.add_member(:connect_instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "connectInstanceId"))
+ GetConnectInstanceConfigRequest.struct_class = Types::GetConnectInstanceConfigRequest
+
+ GetConnectInstanceConfigResponse.add_member(:connect_instance_config, Shapes::ShapeRef.new(shape: InstanceConfig, location_name: "connectInstanceConfig"))
+ GetConnectInstanceConfigResponse.struct_class = Types::GetConnectInstanceConfigResponse
+
+ GetInstanceOnboardingJobStatusRequest.add_member(:connect_instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "connectInstanceId"))
+ GetInstanceOnboardingJobStatusRequest.struct_class = Types::GetInstanceOnboardingJobStatusRequest
+
+ GetInstanceOnboardingJobStatusResponse.add_member(:connect_instance_onboarding_job_status, Shapes::ShapeRef.new(shape: InstanceOnboardingJobStatus, location_name: "connectInstanceOnboardingJobStatus"))
+ GetInstanceOnboardingJobStatusResponse.struct_class = Types::GetInstanceOnboardingJobStatusResponse
+
+ InstanceConfig.add_member(:connect_instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "connectInstanceId"))
+ InstanceConfig.add_member(:encryption_config, Shapes::ShapeRef.new(shape: EncryptionConfig, required: true, location_name: "encryptionConfig"))
+ InstanceConfig.add_member(:service_linked_role_arn, Shapes::ShapeRef.new(shape: ServiceLinkedRoleArn, required: true, location_name: "serviceLinkedRoleArn"))
+ InstanceConfig.struct_class = Types::InstanceConfig
+
+ InstanceIdFilter.add_member(:operator, Shapes::ShapeRef.new(shape: InstanceIdFilterOperator, required: true, location_name: "operator"))
+ InstanceIdFilter.add_member(:value, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "value"))
+ InstanceIdFilter.struct_class = Types::InstanceIdFilter
+
+ InstanceOnboardingJobStatus.add_member(:connect_instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "connectInstanceId"))
+ InstanceOnboardingJobStatus.add_member(:failure_code, Shapes::ShapeRef.new(shape: InstanceOnboardingJobFailureCode, location_name: "failureCode"))
+ InstanceOnboardingJobStatus.add_member(:status, Shapes::ShapeRef.new(shape: InstanceOnboardingJobStatusCode, required: true, location_name: "status"))
+ InstanceOnboardingJobStatus.struct_class = Types::InstanceOnboardingJobStatus
+
+ InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
+ InternalServerException.add_member(:x_amz_error_type, Shapes::ShapeRef.new(shape: XAmazonErrorType, location: "header", location_name: "x-amzn-ErrorType"))
+ InternalServerException.struct_class = Types::InternalServerException
+
+ InvalidCampaignStateException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
+ InvalidCampaignStateException.add_member(:state, Shapes::ShapeRef.new(shape: CampaignState, required: true, location_name: "state"))
+ InvalidCampaignStateException.add_member(:x_amz_error_type, Shapes::ShapeRef.new(shape: XAmazonErrorType, location: "header", location_name: "x-amzn-ErrorType"))
+ InvalidCampaignStateException.struct_class = Types::InvalidCampaignStateException
+
+ InvalidStateException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
+ InvalidStateException.add_member(:x_amz_error_type, Shapes::ShapeRef.new(shape: XAmazonErrorType, location: "header", location_name: "x-amzn-ErrorType"))
+ InvalidStateException.struct_class = Types::InvalidStateException
+
+ ListCampaignsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: CampaignFilters, location_name: "filters"))
+ ListCampaignsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
+ ListCampaignsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
+ ListCampaignsRequest.struct_class = Types::ListCampaignsRequest
+
+ ListCampaignsResponse.add_member(:campaign_summary_list, Shapes::ShapeRef.new(shape: CampaignSummaryList, location_name: "campaignSummaryList"))
+ ListCampaignsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
+ ListCampaignsResponse.struct_class = Types::ListCampaignsResponse
+
+ ListTagsForResourceRequest.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location: "uri", location_name: "arn"))
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
+
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
+
+ OutboundCallConfig.add_member(:answer_machine_detection_config, Shapes::ShapeRef.new(shape: AnswerMachineDetectionConfig, location_name: "answerMachineDetectionConfig"))
+ OutboundCallConfig.add_member(:connect_contact_flow_id, Shapes::ShapeRef.new(shape: ContactFlowId, required: true, location_name: "connectContactFlowId"))
+ OutboundCallConfig.add_member(:connect_queue_id, Shapes::ShapeRef.new(shape: QueueId, required: true, location_name: "connectQueueId"))
+ OutboundCallConfig.add_member(:connect_source_phone_number, Shapes::ShapeRef.new(shape: SourcePhoneNumber, location_name: "connectSourcePhoneNumber"))
+ OutboundCallConfig.struct_class = Types::OutboundCallConfig
+
+ PauseCampaignRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ PauseCampaignRequest.struct_class = Types::PauseCampaignRequest
+
+ PredictiveDialerConfig.add_member(:bandwidth_allocation, Shapes::ShapeRef.new(shape: BandwidthAllocation, required: true, location_name: "bandwidthAllocation"))
+ PredictiveDialerConfig.struct_class = Types::PredictiveDialerConfig
+
+ ProgressiveDialerConfig.add_member(:bandwidth_allocation, Shapes::ShapeRef.new(shape: BandwidthAllocation, required: true, location_name: "bandwidthAllocation"))
+ ProgressiveDialerConfig.struct_class = Types::ProgressiveDialerConfig
+
+ PutDialRequestBatchRequest.add_member(:dial_requests, Shapes::ShapeRef.new(shape: DialRequestList, required: true, location_name: "dialRequests"))
+ PutDialRequestBatchRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ PutDialRequestBatchRequest.struct_class = Types::PutDialRequestBatchRequest
+
+ PutDialRequestBatchResponse.add_member(:failed_requests, Shapes::ShapeRef.new(shape: FailedRequestList, location_name: "failedRequests"))
+ PutDialRequestBatchResponse.add_member(:successful_requests, Shapes::ShapeRef.new(shape: SuccessfulRequestList, location_name: "successfulRequests"))
+ PutDialRequestBatchResponse.struct_class = Types::PutDialRequestBatchResponse
+
+ ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
+ ResourceNotFoundException.add_member(:x_amz_error_type, Shapes::ShapeRef.new(shape: XAmazonErrorType, location: "header", location_name: "x-amzn-ErrorType"))
+ ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
+
+ ResumeCampaignRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ ResumeCampaignRequest.struct_class = Types::ResumeCampaignRequest
+
+ ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
+ ServiceQuotaExceededException.add_member(:x_amz_error_type, Shapes::ShapeRef.new(shape: XAmazonErrorType, location: "header", location_name: "x-amzn-ErrorType"))
+ ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
+
+ StartCampaignRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ StartCampaignRequest.struct_class = Types::StartCampaignRequest
+
+ StartInstanceOnboardingJobRequest.add_member(:connect_instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "connectInstanceId"))
+ StartInstanceOnboardingJobRequest.add_member(:encryption_config, Shapes::ShapeRef.new(shape: EncryptionConfig, required: true, location_name: "encryptionConfig"))
+ StartInstanceOnboardingJobRequest.struct_class = Types::StartInstanceOnboardingJobRequest
+
+ StartInstanceOnboardingJobResponse.add_member(:connect_instance_onboarding_job_status, Shapes::ShapeRef.new(shape: InstanceOnboardingJobStatus, location_name: "connectInstanceOnboardingJobStatus"))
+ StartInstanceOnboardingJobResponse.struct_class = Types::StartInstanceOnboardingJobResponse
+
+ StopCampaignRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ StopCampaignRequest.struct_class = Types::StopCampaignRequest
+
+ SuccessfulCampaignStateResponse.add_member(:campaign_id, Shapes::ShapeRef.new(shape: CampaignId, location_name: "campaignId"))
+ SuccessfulCampaignStateResponse.add_member(:state, Shapes::ShapeRef.new(shape: CampaignState, location_name: "state"))
+ SuccessfulCampaignStateResponse.struct_class = Types::SuccessfulCampaignStateResponse
+
+ SuccessfulCampaignStateResponseList.member = Shapes::ShapeRef.new(shape: SuccessfulCampaignStateResponse)
+
+ SuccessfulRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken"))
+ SuccessfulRequest.add_member(:id, Shapes::ShapeRef.new(shape: DialRequestId, location_name: "id"))
+ SuccessfulRequest.struct_class = Types::SuccessfulRequest
+
+ SuccessfulRequestList.member = Shapes::ShapeRef.new(shape: SuccessfulRequest)
+
+ TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
+
+ TagMap.key = Shapes::ShapeRef.new(shape: TagKey)
+ TagMap.value = Shapes::ShapeRef.new(shape: TagValue)
+
+ TagResourceRequest.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location: "uri", location_name: "arn"))
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, required: true, location_name: "tags"))
+ TagResourceRequest.struct_class = Types::TagResourceRequest
+
+ ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
+ ThrottlingException.add_member(:x_amz_error_type, Shapes::ShapeRef.new(shape: XAmazonErrorType, location: "header", location_name: "x-amzn-ErrorType"))
+ ThrottlingException.struct_class = Types::ThrottlingException
+
+ UntagResourceRequest.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location: "uri", location_name: "arn"))
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
+
+ UpdateCampaignDialerConfigRequest.add_member(:dialer_config, Shapes::ShapeRef.new(shape: DialerConfig, required: true, location_name: "dialerConfig"))
+ UpdateCampaignDialerConfigRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ UpdateCampaignDialerConfigRequest.struct_class = Types::UpdateCampaignDialerConfigRequest
+
+ UpdateCampaignNameRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ UpdateCampaignNameRequest.add_member(:name, Shapes::ShapeRef.new(shape: CampaignName, required: true, location_name: "name"))
+ UpdateCampaignNameRequest.struct_class = Types::UpdateCampaignNameRequest
+
+ UpdateCampaignOutboundCallConfigRequest.add_member(:answer_machine_detection_config, Shapes::ShapeRef.new(shape: AnswerMachineDetectionConfig, location_name: "answerMachineDetectionConfig"))
+ UpdateCampaignOutboundCallConfigRequest.add_member(:connect_contact_flow_id, Shapes::ShapeRef.new(shape: ContactFlowId, location_name: "connectContactFlowId"))
+ UpdateCampaignOutboundCallConfigRequest.add_member(:connect_source_phone_number, Shapes::ShapeRef.new(shape: SourcePhoneNumber, location_name: "connectSourcePhoneNumber"))
+ UpdateCampaignOutboundCallConfigRequest.add_member(:id, Shapes::ShapeRef.new(shape: CampaignId, required: true, location: "uri", location_name: "id"))
+ UpdateCampaignOutboundCallConfigRequest.struct_class = Types::UpdateCampaignOutboundCallConfigRequest
+
+ ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
+ ValidationException.add_member(:x_amz_error_type, Shapes::ShapeRef.new(shape: XAmazonErrorType, location: "header", location_name: "x-amzn-ErrorType"))
+ ValidationException.struct_class = Types::ValidationException
+
+
+ # @api private
+ API = Seahorse::Model::Api.new.tap do |api|
+
+ api.version = "2021-01-30"
+
+ api.metadata = {
+ "apiVersion" => "2021-01-30",
+ "endpointPrefix" => "connect-campaigns",
+ "jsonVersion" => "1.1",
+ "protocol" => "rest-json",
+ "serviceFullName" => "AmazonConnectCampaignService",
+ "serviceId" => "ConnectCampaigns",
+ "signatureVersion" => "v4",
+ "signingName" => "connect-campaigns",
+ "uid" => "connectcampaigns-2021-01-30",
+ }
+
+ api.add_operation(:create_campaign, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "CreateCampaign"
+ o.http_method = "PUT"
+ o.http_request_uri = "/campaigns"
+ o.input = Shapes::ShapeRef.new(shape: CreateCampaignRequest)
+ o.output = Shapes::ShapeRef.new(shape: CreateCampaignResponse)
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:delete_campaign, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "DeleteCampaign"
+ o.http_method = "DELETE"
+ o.http_request_uri = "/campaigns/{id}"
+ o.input = Shapes::ShapeRef.new(shape: DeleteCampaignRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ end)
+
+ api.add_operation(:delete_connect_instance_config, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "DeleteConnectInstanceConfig"
+ o.http_method = "DELETE"
+ o.http_request_uri = "/connect-instance/{connectInstanceId}/config"
+ o.input = Shapes::ShapeRef.new(shape: DeleteConnectInstanceConfigRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: InvalidStateException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:delete_instance_onboarding_job, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "DeleteInstanceOnboardingJob"
+ o.http_method = "DELETE"
+ o.http_request_uri = "/connect-instance/{connectInstanceId}/onboarding"
+ o.input = Shapes::ShapeRef.new(shape: DeleteInstanceOnboardingJobRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: InvalidStateException)
+ end)
+
+ api.add_operation(:describe_campaign, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "DescribeCampaign"
+ o.http_method = "GET"
+ o.http_request_uri = "/campaigns/{id}"
+ o.input = Shapes::ShapeRef.new(shape: DescribeCampaignRequest)
+ o.output = Shapes::ShapeRef.new(shape: DescribeCampaignResponse)
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ end)
+
+ api.add_operation(:get_campaign_state, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "GetCampaignState"
+ o.http_method = "GET"
+ o.http_request_uri = "/campaigns/{id}/state"
+ o.input = Shapes::ShapeRef.new(shape: GetCampaignStateRequest)
+ o.output = Shapes::ShapeRef.new(shape: GetCampaignStateResponse)
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:get_campaign_state_batch, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "GetCampaignStateBatch"
+ o.http_method = "POST"
+ o.http_request_uri = "/campaigns-state"
+ o.input = Shapes::ShapeRef.new(shape: GetCampaignStateBatchRequest)
+ o.output = Shapes::ShapeRef.new(shape: GetCampaignStateBatchResponse)
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:get_connect_instance_config, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "GetConnectInstanceConfig"
+ o.http_method = "GET"
+ o.http_request_uri = "/connect-instance/{connectInstanceId}/config"
+ o.input = Shapes::ShapeRef.new(shape: GetConnectInstanceConfigRequest)
+ o.output = Shapes::ShapeRef.new(shape: GetConnectInstanceConfigResponse)
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ end)
+
+ api.add_operation(:get_instance_onboarding_job_status, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "GetInstanceOnboardingJobStatus"
+ o.http_method = "GET"
+ o.http_request_uri = "/connect-instance/{connectInstanceId}/onboarding"
+ o.input = Shapes::ShapeRef.new(shape: GetInstanceOnboardingJobStatusRequest)
+ o.output = Shapes::ShapeRef.new(shape: GetInstanceOnboardingJobStatusResponse)
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ end)
+
+ api.add_operation(:list_campaigns, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "ListCampaigns"
+ o.http_method = "POST"
+ o.http_request_uri = "/campaigns-summary"
+ o.input = Shapes::ShapeRef.new(shape: ListCampaignsRequest)
+ o.output = Shapes::ShapeRef.new(shape: ListCampaignsResponse)
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o[:pager] = Aws::Pager.new(
+ limit_key: "max_results",
+ tokens: {
+ "next_token" => "next_token"
+ }
+ )
+ end)
+
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "ListTagsForResource"
+ o.http_method = "GET"
+ o.http_request_uri = "/tags/{arn}"
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:pause_campaign, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "PauseCampaign"
+ o.http_method = "POST"
+ o.http_request_uri = "/campaigns/{id}/pause"
+ o.input = Shapes::ShapeRef.new(shape: PauseCampaignRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
+ o.errors << Shapes::ShapeRef.new(shape: InvalidCampaignStateException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:put_dial_request_batch, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "PutDialRequestBatch"
+ o.http_method = "PUT"
+ o.http_request_uri = "/campaigns/{id}/dial-requests"
+ o.input = Shapes::ShapeRef.new(shape: PutDialRequestBatchRequest)
+ o.output = Shapes::ShapeRef.new(shape: PutDialRequestBatchResponse)
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
+ o.errors << Shapes::ShapeRef.new(shape: InvalidCampaignStateException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:resume_campaign, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "ResumeCampaign"
+ o.http_method = "POST"
+ o.http_request_uri = "/campaigns/{id}/resume"
+ o.input = Shapes::ShapeRef.new(shape: ResumeCampaignRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
+ o.errors << Shapes::ShapeRef.new(shape: InvalidCampaignStateException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:start_campaign, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "StartCampaign"
+ o.http_method = "POST"
+ o.http_request_uri = "/campaigns/{id}/start"
+ o.input = Shapes::ShapeRef.new(shape: StartCampaignRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
+ o.errors << Shapes::ShapeRef.new(shape: InvalidCampaignStateException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:start_instance_onboarding_job, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "StartInstanceOnboardingJob"
+ o.http_method = "PUT"
+ o.http_request_uri = "/connect-instance/{connectInstanceId}/onboarding"
+ o.input = Shapes::ShapeRef.new(shape: StartInstanceOnboardingJobRequest)
+ o.output = Shapes::ShapeRef.new(shape: StartInstanceOnboardingJobResponse)
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:stop_campaign, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "StopCampaign"
+ o.http_method = "POST"
+ o.http_request_uri = "/campaigns/{id}/stop"
+ o.input = Shapes::ShapeRef.new(shape: StopCampaignRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
+ o.errors << Shapes::ShapeRef.new(shape: InvalidCampaignStateException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "TagResource"
+ o.http_method = "POST"
+ o.http_request_uri = "/tags/{arn}"
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "UntagResource"
+ o.http_method = "DELETE"
+ o.http_request_uri = "/tags/{arn}"
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+
+ api.add_operation(:update_campaign_dialer_config, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "UpdateCampaignDialerConfig"
+ o.http_method = "POST"
+ o.http_request_uri = "/campaigns/{id}/dialer-config"
+ o.input = Shapes::ShapeRef.new(shape: UpdateCampaignDialerConfigRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ end)
+
+ api.add_operation(:update_campaign_name, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "UpdateCampaignName"
+ o.http_method = "POST"
+ o.http_request_uri = "/campaigns/{id}/name"
+ o.input = Shapes::ShapeRef.new(shape: UpdateCampaignNameRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ end)
+
+ api.add_operation(:update_campaign_outbound_call_config, Seahorse::Model::Operation.new.tap do |o|
+ o.name = "UpdateCampaignOutboundCallConfig"
+ o.http_method = "POST"
+ o.http_request_uri = "/campaigns/{id}/outbound-call-config"
+ o.input = Shapes::ShapeRef.new(shape: UpdateCampaignOutboundCallConfigRequest)
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
+ end)
+ end
+
+ end
+end
diff --git a/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/customizations.rb b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/customizations.rb
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/errors.rb b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/errors.rb
new file mode 100644
index 00000000000..24ec01a8e4c
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/errors.rb
@@ -0,0 +1,240 @@
+# frozen_string_literal: true
+
+# WARNING ABOUT GENERATED CODE
+#
+# This file is generated. See the contributing guide for more information:
+# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
+#
+# WARNING ABOUT GENERATED CODE
+
+module Aws::ConnectCampaignService
+
+ # When ConnectCampaignService returns an error response, the Ruby SDK constructs and raises an error.
+ # These errors all extend Aws::ConnectCampaignService::Errors::ServiceError < {Aws::Errors::ServiceError}
+ #
+ # You can rescue all ConnectCampaignService errors using ServiceError:
+ #
+ # begin
+ # # do stuff
+ # rescue Aws::ConnectCampaignService::Errors::ServiceError
+ # # rescues all ConnectCampaignService API errors
+ # end
+ #
+ #
+ # ## Request Context
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
+ # information about the request that generated the error.
+ # See {Seahorse::Client::RequestContext} for more information.
+ #
+ # ## Error Classes
+ # * {AccessDeniedException}
+ # * {ConflictException}
+ # * {InternalServerException}
+ # * {InvalidCampaignStateException}
+ # * {InvalidStateException}
+ # * {ResourceNotFoundException}
+ # * {ServiceQuotaExceededException}
+ # * {ThrottlingException}
+ # * {ValidationException}
+ #
+ # Additionally, error classes are dynamically generated for service errors based on the error code
+ # if they are not defined above.
+ module Errors
+
+ extend Aws::Errors::DynamicErrors
+
+ class AccessDeniedException < ServiceError
+
+ # @param [Seahorse::Client::RequestContext] context
+ # @param [String] message
+ # @param [Aws::ConnectCampaignService::Types::AccessDeniedException] data
+ def initialize(context, message, data = Aws::EmptyStructure.new)
+ super(context, message, data)
+ end
+
+ # @return [String]
+ def message
+ @message || @data[:message]
+ end
+
+ # @return [String]
+ def x_amz_error_type
+ @data[:x_amz_error_type]
+ end
+ end
+
+ class ConflictException < ServiceError
+
+ # @param [Seahorse::Client::RequestContext] context
+ # @param [String] message
+ # @param [Aws::ConnectCampaignService::Types::ConflictException] data
+ def initialize(context, message, data = Aws::EmptyStructure.new)
+ super(context, message, data)
+ end
+
+ # @return [String]
+ def message
+ @message || @data[:message]
+ end
+
+ # @return [String]
+ def x_amz_error_type
+ @data[:x_amz_error_type]
+ end
+ end
+
+ class InternalServerException < ServiceError
+
+ # @param [Seahorse::Client::RequestContext] context
+ # @param [String] message
+ # @param [Aws::ConnectCampaignService::Types::InternalServerException] data
+ def initialize(context, message, data = Aws::EmptyStructure.new)
+ super(context, message, data)
+ end
+
+ # @return [String]
+ def message
+ @message || @data[:message]
+ end
+
+ # @return [String]
+ def x_amz_error_type
+ @data[:x_amz_error_type]
+ end
+
+ def retryable?
+ true
+ end
+ end
+
+ class InvalidCampaignStateException < ServiceError
+
+ # @param [Seahorse::Client::RequestContext] context
+ # @param [String] message
+ # @param [Aws::ConnectCampaignService::Types::InvalidCampaignStateException] data
+ def initialize(context, message, data = Aws::EmptyStructure.new)
+ super(context, message, data)
+ end
+
+ # @return [String]
+ def message
+ @message || @data[:message]
+ end
+
+ # @return [String]
+ def state
+ @data[:state]
+ end
+
+ # @return [String]
+ def x_amz_error_type
+ @data[:x_amz_error_type]
+ end
+ end
+
+ class InvalidStateException < ServiceError
+
+ # @param [Seahorse::Client::RequestContext] context
+ # @param [String] message
+ # @param [Aws::ConnectCampaignService::Types::InvalidStateException] data
+ def initialize(context, message, data = Aws::EmptyStructure.new)
+ super(context, message, data)
+ end
+
+ # @return [String]
+ def message
+ @message || @data[:message]
+ end
+
+ # @return [String]
+ def x_amz_error_type
+ @data[:x_amz_error_type]
+ end
+ end
+
+ class ResourceNotFoundException < ServiceError
+
+ # @param [Seahorse::Client::RequestContext] context
+ # @param [String] message
+ # @param [Aws::ConnectCampaignService::Types::ResourceNotFoundException] data
+ def initialize(context, message, data = Aws::EmptyStructure.new)
+ super(context, message, data)
+ end
+
+ # @return [String]
+ def message
+ @message || @data[:message]
+ end
+
+ # @return [String]
+ def x_amz_error_type
+ @data[:x_amz_error_type]
+ end
+ end
+
+ class ServiceQuotaExceededException < ServiceError
+
+ # @param [Seahorse::Client::RequestContext] context
+ # @param [String] message
+ # @param [Aws::ConnectCampaignService::Types::ServiceQuotaExceededException] data
+ def initialize(context, message, data = Aws::EmptyStructure.new)
+ super(context, message, data)
+ end
+
+ # @return [String]
+ def message
+ @message || @data[:message]
+ end
+
+ # @return [String]
+ def x_amz_error_type
+ @data[:x_amz_error_type]
+ end
+ end
+
+ class ThrottlingException < ServiceError
+
+ # @param [Seahorse::Client::RequestContext] context
+ # @param [String] message
+ # @param [Aws::ConnectCampaignService::Types::ThrottlingException] data
+ def initialize(context, message, data = Aws::EmptyStructure.new)
+ super(context, message, data)
+ end
+
+ # @return [String]
+ def message
+ @message || @data[:message]
+ end
+
+ # @return [String]
+ def x_amz_error_type
+ @data[:x_amz_error_type]
+ end
+
+ def retryable?
+ true
+ end
+ end
+
+ class ValidationException < ServiceError
+
+ # @param [Seahorse::Client::RequestContext] context
+ # @param [String] message
+ # @param [Aws::ConnectCampaignService::Types::ValidationException] data
+ def initialize(context, message, data = Aws::EmptyStructure.new)
+ super(context, message, data)
+ end
+
+ # @return [String]
+ def message
+ @message || @data[:message]
+ end
+
+ # @return [String]
+ def x_amz_error_type
+ @data[:x_amz_error_type]
+ end
+ end
+
+ end
+end
diff --git a/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/resource.rb b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/resource.rb
new file mode 100644
index 00000000000..4d1edd35a2c
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/resource.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+# WARNING ABOUT GENERATED CODE
+#
+# This file is generated. See the contributing guide for more information:
+# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
+#
+# WARNING ABOUT GENERATED CODE
+
+module Aws::ConnectCampaignService
+
+ class Resource
+
+ # @param options ({})
+ # @option options [Client] :client
+ def initialize(options = {})
+ @client = options[:client] || Client.new(options)
+ end
+
+ # @return [Client]
+ def client
+ @client
+ end
+
+ end
+end
diff --git a/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/types.rb b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/types.rb
new file mode 100644
index 00000000000..1025feb21d6
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/lib/aws-sdk-connectcampaignservice/types.rb
@@ -0,0 +1,1441 @@
+# frozen_string_literal: true
+
+# WARNING ABOUT GENERATED CODE
+#
+# This file is generated. See the contributing guide for more information:
+# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
+#
+# WARNING ABOUT GENERATED CODE
+
+module Aws::ConnectCampaignService
+ module Types
+
+ # You do not have sufficient access to perform this action.
+ #
+ # @!attribute [rw] message
+ # @return [String]
+ #
+ # @!attribute [rw] x_amz_error_type
+ # A header that defines the error encountered while processing the
+ # request.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/AccessDeniedException AWS API Documentation
+ #
+ class AccessDeniedException < Struct.new(
+ :message,
+ :x_amz_error_type)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Answering Machine Detection config
+ #
+ # @note When making an API call, you may pass AnswerMachineDetectionConfig
+ # data as a hash:
+ #
+ # {
+ # enable_answer_machine_detection: false, # required
+ # }
+ #
+ # @!attribute [rw] enable_answer_machine_detection
+ # Enable or disable answering machine detection
+ # @return [Boolean]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/AnswerMachineDetectionConfig AWS API Documentation
+ #
+ class AnswerMachineDetectionConfig < Struct.new(
+ :enable_answer_machine_detection)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # An Amazon Connect campaign.
+ #
+ # @!attribute [rw] arn
+ # The resource name of an Amazon Connect campaign.
+ # @return [String]
+ #
+ # @!attribute [rw] connect_instance_id
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @!attribute [rw] dialer_config
+ # The possible types of dialer config parameters
+ # @return [Types::DialerConfig]
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @!attribute [rw] name
+ # The name of an Amazon Connect Campaign name.
+ # @return [String]
+ #
+ # @!attribute [rw] outbound_call_config
+ # The configuration used for outbound calls.
+ # @return [Types::OutboundCallConfig]
+ #
+ # @!attribute [rw] tags
+ # Tag map with key and value.
+ # @return [Hash]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/Campaign AWS API Documentation
+ #
+ class Campaign < Struct.new(
+ :arn,
+ :connect_instance_id,
+ :dialer_config,
+ :id,
+ :name,
+ :outbound_call_config,
+ :tags)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Filter model by type
+ #
+ # @note When making an API call, you may pass CampaignFilters
+ # data as a hash:
+ #
+ # {
+ # instance_id_filter: {
+ # operator: "Eq", # required, accepts Eq
+ # value: "InstanceId", # required
+ # },
+ # }
+ #
+ # @!attribute [rw] instance_id_filter
+ # Connect instance identifier filter
+ # @return [Types::InstanceIdFilter]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/CampaignFilters AWS API Documentation
+ #
+ class CampaignFilters < Struct.new(
+ :instance_id_filter)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # An Amazon Connect campaign summary.
+ #
+ # @!attribute [rw] arn
+ # The resource name of an Amazon Connect campaign.
+ # @return [String]
+ #
+ # @!attribute [rw] connect_instance_id
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @!attribute [rw] name
+ # The name of an Amazon Connect Campaign name.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/CampaignSummary AWS API Documentation
+ #
+ class CampaignSummary < Struct.new(
+ :arn,
+ :connect_instance_id,
+ :id,
+ :name)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The request could not be processed because of conflict in the current
+ # state of the resource.
+ #
+ # @!attribute [rw] message
+ # @return [String]
+ #
+ # @!attribute [rw] x_amz_error_type
+ # A header that defines the error encountered while processing the
+ # request.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ConflictException AWS API Documentation
+ #
+ class ConflictException < Struct.new(
+ :message,
+ :x_amz_error_type)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The request for Create Campaign API.
+ #
+ # @note When making an API call, you may pass CreateCampaignRequest
+ # data as a hash:
+ #
+ # {
+ # connect_instance_id: "InstanceId", # required
+ # dialer_config: { # required
+ # predictive_dialer_config: {
+ # bandwidth_allocation: 1.0, # required
+ # },
+ # progressive_dialer_config: {
+ # bandwidth_allocation: 1.0, # required
+ # },
+ # },
+ # name: "CampaignName", # required
+ # outbound_call_config: { # required
+ # answer_machine_detection_config: {
+ # enable_answer_machine_detection: false, # required
+ # },
+ # connect_contact_flow_id: "ContactFlowId", # required
+ # connect_queue_id: "QueueId", # required
+ # connect_source_phone_number: "SourcePhoneNumber",
+ # },
+ # tags: {
+ # "TagKey" => "TagValue",
+ # },
+ # }
+ #
+ # @!attribute [rw] connect_instance_id
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @!attribute [rw] dialer_config
+ # The possible types of dialer config parameters
+ # @return [Types::DialerConfig]
+ #
+ # @!attribute [rw] name
+ # The name of an Amazon Connect Campaign name.
+ # @return [String]
+ #
+ # @!attribute [rw] outbound_call_config
+ # The configuration used for outbound calls.
+ # @return [Types::OutboundCallConfig]
+ #
+ # @!attribute [rw] tags
+ # Tag map with key and value.
+ # @return [Hash]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/CreateCampaignRequest AWS API Documentation
+ #
+ class CreateCampaignRequest < Struct.new(
+ :connect_instance_id,
+ :dialer_config,
+ :name,
+ :outbound_call_config,
+ :tags)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The response for Create Campaign API
+ #
+ # @!attribute [rw] arn
+ # The resource name of an Amazon Connect campaign.
+ # @return [String]
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @!attribute [rw] tags
+ # Tag map with key and value.
+ # @return [Hash]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/CreateCampaignResponse AWS API Documentation
+ #
+ class CreateCampaignResponse < Struct.new(
+ :arn,
+ :id,
+ :tags)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # DeleteCampaignRequest
+ #
+ # @note When making an API call, you may pass DeleteCampaignRequest
+ # data as a hash:
+ #
+ # {
+ # id: "CampaignId", # required
+ # }
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DeleteCampaignRequest AWS API Documentation
+ #
+ class DeleteCampaignRequest < Struct.new(
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # DeleteCampaignRequest
+ #
+ # @note When making an API call, you may pass DeleteConnectInstanceConfigRequest
+ # data as a hash:
+ #
+ # {
+ # connect_instance_id: "InstanceId", # required
+ # }
+ #
+ # @!attribute [rw] connect_instance_id
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DeleteConnectInstanceConfigRequest AWS API Documentation
+ #
+ class DeleteConnectInstanceConfigRequest < Struct.new(
+ :connect_instance_id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The request for DeleteInstanceOnboardingJob API.
+ #
+ # @note When making an API call, you may pass DeleteInstanceOnboardingJobRequest
+ # data as a hash:
+ #
+ # {
+ # connect_instance_id: "InstanceId", # required
+ # }
+ #
+ # @!attribute [rw] connect_instance_id
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DeleteInstanceOnboardingJobRequest AWS API Documentation
+ #
+ class DeleteInstanceOnboardingJobRequest < Struct.new(
+ :connect_instance_id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # DescribeCampaignRequests
+ #
+ # @note When making an API call, you may pass DescribeCampaignRequest
+ # data as a hash:
+ #
+ # {
+ # id: "CampaignId", # required
+ # }
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DescribeCampaignRequest AWS API Documentation
+ #
+ class DescribeCampaignRequest < Struct.new(
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # DescribeCampaignResponse
+ #
+ # @!attribute [rw] campaign
+ # An Amazon Connect campaign.
+ # @return [Types::Campaign]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DescribeCampaignResponse AWS API Documentation
+ #
+ class DescribeCampaignResponse < Struct.new(
+ :campaign)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # A dial request for a campaign.
+ #
+ # @note When making an API call, you may pass DialRequest
+ # data as a hash:
+ #
+ # {
+ # attributes: { # required
+ # "AttributeName" => "AttributeValue",
+ # },
+ # client_token: "ClientToken", # required
+ # expiration_time: Time.now, # required
+ # phone_number: "DestinationPhoneNumber", # required
+ # }
+ #
+ # @!attribute [rw] attributes
+ # A custom key-value pair using an attribute map. The attributes are
+ # standard Amazon Connect attributes, and can be accessed in contact
+ # flows just like any other contact attributes.
+ # @return [Hash]
+ #
+ # @!attribute [rw] client_token
+ # Client provided parameter used for idempotency. Its value must be
+ # unique for each request.
+ # @return [String]
+ #
+ # @!attribute [rw] expiration_time
+ # Timestamp with no UTC offset or timezone
+ # @return [Time]
+ #
+ # @!attribute [rw] phone_number
+ # The phone number of the customer, in E.164 format.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DialRequest AWS API Documentation
+ #
+ class DialRequest < Struct.new(
+ :attributes,
+ :client_token,
+ :expiration_time,
+ :phone_number)
+ SENSITIVE = [:attributes, :phone_number]
+ include Aws::Structure
+ end
+
+ # The possible types of dialer config parameters
+ #
+ # @note DialerConfig is a union - when making an API calls you must set exactly one of the members.
+ #
+ # @note DialerConfig is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of DialerConfig corresponding to the set member.
+ #
+ # @!attribute [rw] predictive_dialer_config
+ # Predictive Dialer config
+ # @return [Types::PredictiveDialerConfig]
+ #
+ # @!attribute [rw] progressive_dialer_config
+ # Progressive Dialer config
+ # @return [Types::ProgressiveDialerConfig]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/DialerConfig AWS API Documentation
+ #
+ class DialerConfig < Struct.new(
+ :predictive_dialer_config,
+ :progressive_dialer_config,
+ :unknown)
+ SENSITIVE = []
+ include Aws::Structure
+ include Aws::Structure::Union
+
+ class PredictiveDialerConfig < DialerConfig; end
+ class ProgressiveDialerConfig < DialerConfig; end
+ class Unknown < DialerConfig; end
+ end
+
+ # Encryption config for Connect Instance. Note that sensitive data will
+ # always be encrypted. If disabled, service will perform encryption with
+ # its own key. If enabled, a KMS key id needs to be provided and KMS
+ # charges will apply. KMS is only type supported
+ #
+ # @note When making an API call, you may pass EncryptionConfig
+ # data as a hash:
+ #
+ # {
+ # enabled: false, # required
+ # encryption_type: "KMS", # accepts KMS
+ # key_arn: "EncryptionKey",
+ # }
+ #
+ # @!attribute [rw] enabled
+ # Boolean to indicate if custom encryption has been enabled.
+ # @return [Boolean]
+ #
+ # @!attribute [rw] encryption_type
+ # Server-side encryption type.
+ # @return [String]
+ #
+ # @!attribute [rw] key_arn
+ # KMS key id/arn for encryption config.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/EncryptionConfig AWS API Documentation
+ #
+ class EncryptionConfig < Struct.new(
+ :enabled,
+ :encryption_type,
+ :key_arn)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Failed response of campaign state
+ #
+ # @!attribute [rw] campaign_id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @!attribute [rw] failure_code
+ # A predefined code indicating the error that caused the failure in
+ # getting state of campaigns
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/FailedCampaignStateResponse AWS API Documentation
+ #
+ class FailedCampaignStateResponse < Struct.new(
+ :campaign_id,
+ :failure_code)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # A failed request identified by the unique client token.
+ #
+ # @!attribute [rw] client_token
+ # Client provided parameter used for idempotency. Its value must be
+ # unique for each request.
+ # @return [String]
+ #
+ # @!attribute [rw] failure_code
+ # A predefined code indicating the error that caused the failure.
+ # @return [String]
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Dial request
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/FailedRequest AWS API Documentation
+ #
+ class FailedRequest < Struct.new(
+ :client_token,
+ :failure_code,
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # GetCampaignStateBatchRequest
+ #
+ # @note When making an API call, you may pass GetCampaignStateBatchRequest
+ # data as a hash:
+ #
+ # {
+ # campaign_ids: ["CampaignId"], # required
+ # }
+ #
+ # @!attribute [rw] campaign_ids
+ # List of CampaignId
+ # @return [Array]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetCampaignStateBatchRequest AWS API Documentation
+ #
+ class GetCampaignStateBatchRequest < Struct.new(
+ :campaign_ids)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # GetCampaignStateBatchResponse
+ #
+ # @!attribute [rw] failed_requests
+ # List of failed requests of campaign state
+ # @return [Array]
+ #
+ # @!attribute [rw] successful_requests
+ # List of successful response of campaign state
+ # @return [Array]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetCampaignStateBatchResponse AWS API Documentation
+ #
+ class GetCampaignStateBatchResponse < Struct.new(
+ :failed_requests,
+ :successful_requests)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # GetCampaignStateRequest
+ #
+ # @note When making an API call, you may pass GetCampaignStateRequest
+ # data as a hash:
+ #
+ # {
+ # id: "CampaignId", # required
+ # }
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetCampaignStateRequest AWS API Documentation
+ #
+ class GetCampaignStateRequest < Struct.new(
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # GetCampaignStateResponse
+ #
+ # @!attribute [rw] state
+ # State of a campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetCampaignStateResponse AWS API Documentation
+ #
+ class GetCampaignStateResponse < Struct.new(
+ :state)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # GetConnectInstanceConfigRequest
+ #
+ # @note When making an API call, you may pass GetConnectInstanceConfigRequest
+ # data as a hash:
+ #
+ # {
+ # connect_instance_id: "InstanceId", # required
+ # }
+ #
+ # @!attribute [rw] connect_instance_id
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetConnectInstanceConfigRequest AWS API Documentation
+ #
+ class GetConnectInstanceConfigRequest < Struct.new(
+ :connect_instance_id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # GetConnectInstanceConfigResponse
+ #
+ # @!attribute [rw] connect_instance_config
+ # Instance config object
+ # @return [Types::InstanceConfig]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetConnectInstanceConfigResponse AWS API Documentation
+ #
+ class GetConnectInstanceConfigResponse < Struct.new(
+ :connect_instance_config)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # GetInstanceOnboardingJobStatusRequest
+ #
+ # @note When making an API call, you may pass GetInstanceOnboardingJobStatusRequest
+ # data as a hash:
+ #
+ # {
+ # connect_instance_id: "InstanceId", # required
+ # }
+ #
+ # @!attribute [rw] connect_instance_id
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetInstanceOnboardingJobStatusRequest AWS API Documentation
+ #
+ class GetInstanceOnboardingJobStatusRequest < Struct.new(
+ :connect_instance_id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # GetInstanceOnboardingJobStatusResponse
+ #
+ # @!attribute [rw] connect_instance_onboarding_job_status
+ # Instance onboarding job status object
+ # @return [Types::InstanceOnboardingJobStatus]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/GetInstanceOnboardingJobStatusResponse AWS API Documentation
+ #
+ class GetInstanceOnboardingJobStatusResponse < Struct.new(
+ :connect_instance_onboarding_job_status)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Instance config object
+ #
+ # @!attribute [rw] connect_instance_id
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @!attribute [rw] encryption_config
+ # Encryption config for Connect Instance. Note that sensitive data
+ # will always be encrypted. If disabled, service will perform
+ # encryption with its own key. If enabled, a KMS key id needs to be
+ # provided and KMS charges will apply. KMS is only type supported
+ # @return [Types::EncryptionConfig]
+ #
+ # @!attribute [rw] service_linked_role_arn
+ # Service linked role arn
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/InstanceConfig AWS API Documentation
+ #
+ class InstanceConfig < Struct.new(
+ :connect_instance_id,
+ :encryption_config,
+ :service_linked_role_arn)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Connect instance identifier filter
+ #
+ # @note When making an API call, you may pass InstanceIdFilter
+ # data as a hash:
+ #
+ # {
+ # operator: "Eq", # required, accepts Eq
+ # value: "InstanceId", # required
+ # }
+ #
+ # @!attribute [rw] operator
+ # Operators for Connect instance identifier filter
+ # @return [String]
+ #
+ # @!attribute [rw] value
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/InstanceIdFilter AWS API Documentation
+ #
+ class InstanceIdFilter < Struct.new(
+ :operator,
+ :value)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Instance onboarding job status object
+ #
+ # @!attribute [rw] connect_instance_id
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @!attribute [rw] failure_code
+ # Enumeration of the possible failure codes for instance onboarding
+ # job
+ # @return [String]
+ #
+ # @!attribute [rw] status
+ # Enumeration of the possible states for instance onboarding job
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/InstanceOnboardingJobStatus AWS API Documentation
+ #
+ class InstanceOnboardingJobStatus < Struct.new(
+ :connect_instance_id,
+ :failure_code,
+ :status)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Request processing failed because of an error or failure with the
+ # service.
+ #
+ # @!attribute [rw] message
+ # @return [String]
+ #
+ # @!attribute [rw] x_amz_error_type
+ # A header that defines the error encountered while processing the
+ # request.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/InternalServerException AWS API Documentation
+ #
+ class InternalServerException < Struct.new(
+ :message,
+ :x_amz_error_type)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The request could not be processed because of conflict in the current
+ # state of the campaign.
+ #
+ # @!attribute [rw] message
+ # @return [String]
+ #
+ # @!attribute [rw] state
+ # State of a campaign
+ # @return [String]
+ #
+ # @!attribute [rw] x_amz_error_type
+ # A header that defines the error encountered while processing the
+ # request.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/InvalidCampaignStateException AWS API Documentation
+ #
+ class InvalidCampaignStateException < Struct.new(
+ :message,
+ :state,
+ :x_amz_error_type)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The request could not be processed because of conflict in the current
+ # state.
+ #
+ # @!attribute [rw] message
+ # @return [String]
+ #
+ # @!attribute [rw] x_amz_error_type
+ # A header that defines the error encountered while processing the
+ # request.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/InvalidStateException AWS API Documentation
+ #
+ class InvalidStateException < Struct.new(
+ :message,
+ :x_amz_error_type)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # ListCampaignsRequest
+ #
+ # @note When making an API call, you may pass ListCampaignsRequest
+ # data as a hash:
+ #
+ # {
+ # filters: {
+ # instance_id_filter: {
+ # operator: "Eq", # required, accepts Eq
+ # value: "InstanceId", # required
+ # },
+ # },
+ # max_results: 1,
+ # next_token: "NextToken",
+ # }
+ #
+ # @!attribute [rw] filters
+ # Filter model by type
+ # @return [Types::CampaignFilters]
+ #
+ # @!attribute [rw] max_results
+ # The maximum number of results to return per page.
+ # @return [Integer]
+ #
+ # @!attribute [rw] next_token
+ # The token for the next set of results.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ListCampaignsRequest AWS API Documentation
+ #
+ class ListCampaignsRequest < Struct.new(
+ :filters,
+ :max_results,
+ :next_token)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # ListCampaignsResponse
+ #
+ # @!attribute [rw] campaign_summary_list
+ # A list of Amazon Connect campaigns.
+ # @return [Array]
+ #
+ # @!attribute [rw] next_token
+ # The token for the next set of results.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ListCampaignsResponse AWS API Documentation
+ #
+ class ListCampaignsResponse < Struct.new(
+ :campaign_summary_list,
+ :next_token)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # ListTagsForResource
+ #
+ # @note When making an API call, you may pass ListTagsForResourceRequest
+ # data as a hash:
+ #
+ # {
+ # arn: "Arn", # required
+ # }
+ #
+ # @!attribute [rw] arn
+ # Arn
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ListTagsForResourceRequest AWS API Documentation
+ #
+ class ListTagsForResourceRequest < Struct.new(
+ :arn)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # ListTagsForResponse
+ #
+ # @!attribute [rw] tags
+ # Tag map with key and value.
+ # @return [Hash]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ListTagsForResourceResponse AWS API Documentation
+ #
+ class ListTagsForResourceResponse < Struct.new(
+ :tags)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The configuration used for outbound calls.
+ #
+ # @note When making an API call, you may pass OutboundCallConfig
+ # data as a hash:
+ #
+ # {
+ # answer_machine_detection_config: {
+ # enable_answer_machine_detection: false, # required
+ # },
+ # connect_contact_flow_id: "ContactFlowId", # required
+ # connect_queue_id: "QueueId", # required
+ # connect_source_phone_number: "SourcePhoneNumber",
+ # }
+ #
+ # @!attribute [rw] answer_machine_detection_config
+ # Answering Machine Detection config
+ # @return [Types::AnswerMachineDetectionConfig]
+ #
+ # @!attribute [rw] connect_contact_flow_id
+ # The identifier of the contact flow for the outbound call.
+ # @return [String]
+ #
+ # @!attribute [rw] connect_queue_id
+ # The queue for the call. If you specify a queue, the phone displayed
+ # for caller ID is the phone number specified in the queue. If you do
+ # not specify a queue, the queue defined in the contact flow is used.
+ # If you do not specify a queue, you must specify a source phone
+ # number.
+ # @return [String]
+ #
+ # @!attribute [rw] connect_source_phone_number
+ # The phone number associated with the Amazon Connect instance, in
+ # E.164 format. If you do not specify a source phone number, you must
+ # specify a queue.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/OutboundCallConfig AWS API Documentation
+ #
+ class OutboundCallConfig < Struct.new(
+ :answer_machine_detection_config,
+ :connect_contact_flow_id,
+ :connect_queue_id,
+ :connect_source_phone_number)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # PauseCampaignRequest
+ #
+ # @note When making an API call, you may pass PauseCampaignRequest
+ # data as a hash:
+ #
+ # {
+ # id: "CampaignId", # required
+ # }
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/PauseCampaignRequest AWS API Documentation
+ #
+ class PauseCampaignRequest < Struct.new(
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Predictive Dialer config
+ #
+ # @note When making an API call, you may pass PredictiveDialerConfig
+ # data as a hash:
+ #
+ # {
+ # bandwidth_allocation: 1.0, # required
+ # }
+ #
+ # @!attribute [rw] bandwidth_allocation
+ # The bandwidth allocation of a queue resource.
+ # @return [Float]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/PredictiveDialerConfig AWS API Documentation
+ #
+ class PredictiveDialerConfig < Struct.new(
+ :bandwidth_allocation)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Progressive Dialer config
+ #
+ # @note When making an API call, you may pass ProgressiveDialerConfig
+ # data as a hash:
+ #
+ # {
+ # bandwidth_allocation: 1.0, # required
+ # }
+ #
+ # @!attribute [rw] bandwidth_allocation
+ # The bandwidth allocation of a queue resource.
+ # @return [Float]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ProgressiveDialerConfig AWS API Documentation
+ #
+ class ProgressiveDialerConfig < Struct.new(
+ :bandwidth_allocation)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # PutDialRequestBatchRequest
+ #
+ # @note When making an API call, you may pass PutDialRequestBatchRequest
+ # data as a hash:
+ #
+ # {
+ # dial_requests: [ # required
+ # {
+ # attributes: { # required
+ # "AttributeName" => "AttributeValue",
+ # },
+ # client_token: "ClientToken", # required
+ # expiration_time: Time.now, # required
+ # phone_number: "DestinationPhoneNumber", # required
+ # },
+ # ],
+ # id: "CampaignId", # required
+ # }
+ #
+ # @!attribute [rw] dial_requests
+ # A list of dial requests.
+ # @return [Array]
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/PutDialRequestBatchRequest AWS API Documentation
+ #
+ class PutDialRequestBatchRequest < Struct.new(
+ :dial_requests,
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # PutDialRequestBatchResponse
+ #
+ # @!attribute [rw] failed_requests
+ # A list of failed requests.
+ # @return [Array]
+ #
+ # @!attribute [rw] successful_requests
+ # A list of successful requests identified by the unique client token.
+ # @return [Array]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/PutDialRequestBatchResponse AWS API Documentation
+ #
+ class PutDialRequestBatchResponse < Struct.new(
+ :failed_requests,
+ :successful_requests)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The specified resource was not found.
+ #
+ # @!attribute [rw] message
+ # @return [String]
+ #
+ # @!attribute [rw] x_amz_error_type
+ # A header that defines the error encountered while processing the
+ # request.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ResourceNotFoundException AWS API Documentation
+ #
+ class ResourceNotFoundException < Struct.new(
+ :message,
+ :x_amz_error_type)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # ResumeCampaignRequest
+ #
+ # @note When making an API call, you may pass ResumeCampaignRequest
+ # data as a hash:
+ #
+ # {
+ # id: "CampaignId", # required
+ # }
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ResumeCampaignRequest AWS API Documentation
+ #
+ class ResumeCampaignRequest < Struct.new(
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Request would cause a service quota to be exceeded.
+ #
+ # @!attribute [rw] message
+ # @return [String]
+ #
+ # @!attribute [rw] x_amz_error_type
+ # A header that defines the error encountered while processing the
+ # request.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ServiceQuotaExceededException AWS API Documentation
+ #
+ class ServiceQuotaExceededException < Struct.new(
+ :message,
+ :x_amz_error_type)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # StartCampaignRequest
+ #
+ # @note When making an API call, you may pass StartCampaignRequest
+ # data as a hash:
+ #
+ # {
+ # id: "CampaignId", # required
+ # }
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/StartCampaignRequest AWS API Documentation
+ #
+ class StartCampaignRequest < Struct.new(
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The request for StartInstanceOnboardingJob API.
+ #
+ # @note When making an API call, you may pass StartInstanceOnboardingJobRequest
+ # data as a hash:
+ #
+ # {
+ # connect_instance_id: "InstanceId", # required
+ # encryption_config: { # required
+ # enabled: false, # required
+ # encryption_type: "KMS", # accepts KMS
+ # key_arn: "EncryptionKey",
+ # },
+ # }
+ #
+ # @!attribute [rw] connect_instance_id
+ # Amazon Connect Instance Id
+ # @return [String]
+ #
+ # @!attribute [rw] encryption_config
+ # Encryption config for Connect Instance. Note that sensitive data
+ # will always be encrypted. If disabled, service will perform
+ # encryption with its own key. If enabled, a KMS key id needs to be
+ # provided and KMS charges will apply. KMS is only type supported
+ # @return [Types::EncryptionConfig]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/StartInstanceOnboardingJobRequest AWS API Documentation
+ #
+ class StartInstanceOnboardingJobRequest < Struct.new(
+ :connect_instance_id,
+ :encryption_config)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The response for StartInstanceOnboardingJob API.
+ #
+ # @!attribute [rw] connect_instance_onboarding_job_status
+ # Instance onboarding job status object
+ # @return [Types::InstanceOnboardingJobStatus]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/StartInstanceOnboardingJobResponse AWS API Documentation
+ #
+ class StartInstanceOnboardingJobResponse < Struct.new(
+ :connect_instance_onboarding_job_status)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # StopCampaignRequest
+ #
+ # @note When making an API call, you may pass StopCampaignRequest
+ # data as a hash:
+ #
+ # {
+ # id: "CampaignId", # required
+ # }
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/StopCampaignRequest AWS API Documentation
+ #
+ class StopCampaignRequest < Struct.new(
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # Successful response of campaign state
+ #
+ # @!attribute [rw] campaign_id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @!attribute [rw] state
+ # State of a campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/SuccessfulCampaignStateResponse AWS API Documentation
+ #
+ class SuccessfulCampaignStateResponse < Struct.new(
+ :campaign_id,
+ :state)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # A successful request identified by the unique client token.
+ #
+ # @!attribute [rw] client_token
+ # Client provided parameter used for idempotency. Its value must be
+ # unique for each request.
+ # @return [String]
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Dial request
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/SuccessfulRequest AWS API Documentation
+ #
+ class SuccessfulRequest < Struct.new(
+ :client_token,
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # TagResourceRequest
+ #
+ # @note When making an API call, you may pass TagResourceRequest
+ # data as a hash:
+ #
+ # {
+ # arn: "Arn", # required
+ # tags: { # required
+ # "TagKey" => "TagValue",
+ # },
+ # }
+ #
+ # @!attribute [rw] arn
+ # Arn
+ # @return [String]
+ #
+ # @!attribute [rw] tags
+ # Tag map with key and value.
+ # @return [Hash]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/TagResourceRequest AWS API Documentation
+ #
+ class TagResourceRequest < Struct.new(
+ :arn,
+ :tags)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The request was denied due to request throttling.
+ #
+ # @!attribute [rw] message
+ # @return [String]
+ #
+ # @!attribute [rw] x_amz_error_type
+ # A header that defines the error encountered while processing the
+ # request.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ThrottlingException AWS API Documentation
+ #
+ class ThrottlingException < Struct.new(
+ :message,
+ :x_amz_error_type)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # UntagResourceRequest
+ #
+ # @note When making an API call, you may pass UntagResourceRequest
+ # data as a hash:
+ #
+ # {
+ # arn: "Arn", # required
+ # tag_keys: ["TagKey"], # required
+ # }
+ #
+ # @!attribute [rw] arn
+ # Arn
+ # @return [String]
+ #
+ # @!attribute [rw] tag_keys
+ # List of tag keys.
+ # @return [Array]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/UntagResourceRequest AWS API Documentation
+ #
+ class UntagResourceRequest < Struct.new(
+ :arn,
+ :tag_keys)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # UpdateCampaignDialerConfigRequest
+ #
+ # @note When making an API call, you may pass UpdateCampaignDialerConfigRequest
+ # data as a hash:
+ #
+ # {
+ # dialer_config: { # required
+ # predictive_dialer_config: {
+ # bandwidth_allocation: 1.0, # required
+ # },
+ # progressive_dialer_config: {
+ # bandwidth_allocation: 1.0, # required
+ # },
+ # },
+ # id: "CampaignId", # required
+ # }
+ #
+ # @!attribute [rw] dialer_config
+ # The possible types of dialer config parameters
+ # @return [Types::DialerConfig]
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/UpdateCampaignDialerConfigRequest AWS API Documentation
+ #
+ class UpdateCampaignDialerConfigRequest < Struct.new(
+ :dialer_config,
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # UpdateCampaignNameRequest
+ #
+ # @note When making an API call, you may pass UpdateCampaignNameRequest
+ # data as a hash:
+ #
+ # {
+ # id: "CampaignId", # required
+ # name: "CampaignName", # required
+ # }
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @!attribute [rw] name
+ # The name of an Amazon Connect Campaign name.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/UpdateCampaignNameRequest AWS API Documentation
+ #
+ class UpdateCampaignNameRequest < Struct.new(
+ :id,
+ :name)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # UpdateCampaignOutboundCallConfigRequest
+ #
+ # @note When making an API call, you may pass UpdateCampaignOutboundCallConfigRequest
+ # data as a hash:
+ #
+ # {
+ # answer_machine_detection_config: {
+ # enable_answer_machine_detection: false, # required
+ # },
+ # connect_contact_flow_id: "ContactFlowId",
+ # connect_source_phone_number: "SourcePhoneNumber",
+ # id: "CampaignId", # required
+ # }
+ #
+ # @!attribute [rw] answer_machine_detection_config
+ # Answering Machine Detection config
+ # @return [Types::AnswerMachineDetectionConfig]
+ #
+ # @!attribute [rw] connect_contact_flow_id
+ # The identifier of the contact flow for the outbound call.
+ # @return [String]
+ #
+ # @!attribute [rw] connect_source_phone_number
+ # The phone number associated with the Amazon Connect instance, in
+ # E.164 format. If you do not specify a source phone number, you must
+ # specify a queue.
+ # @return [String]
+ #
+ # @!attribute [rw] id
+ # Identifier representing a Campaign
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/UpdateCampaignOutboundCallConfigRequest AWS API Documentation
+ #
+ class UpdateCampaignOutboundCallConfigRequest < Struct.new(
+ :answer_machine_detection_config,
+ :connect_contact_flow_id,
+ :connect_source_phone_number,
+ :id)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ # The input fails to satisfy the constraints specified by an AWS
+ # service.
+ #
+ # @!attribute [rw] message
+ # @return [String]
+ #
+ # @!attribute [rw] x_amz_error_type
+ # A header that defines the error encountered while processing the
+ # request.
+ # @return [String]
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connectcampaigns-2021-01-30/ValidationException AWS API Documentation
+ #
+ class ValidationException < Struct.new(
+ :message,
+ :x_amz_error_type)
+ SENSITIVE = []
+ include Aws::Structure
+ end
+
+ end
+end
diff --git a/gems/aws-sdk-connectcampaignservice/spec/spec_helper.rb b/gems/aws-sdk-connectcampaignservice/spec/spec_helper.rb
new file mode 100644
index 00000000000..0d2d1556174
--- /dev/null
+++ b/gems/aws-sdk-connectcampaignservice/spec/spec_helper.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+# WARNING ABOUT GENERATED CODE
+#
+# This file is generated. See the contributing guide for more information:
+# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
+#
+# WARNING ABOUT GENERATED CODE
+
+require_relative '../../aws-sdk-core/spec/shared_spec_helper'
+
+$:.unshift(File.expand_path('../../lib', __FILE__))
+$:.unshift(File.expand_path('../../../aws-sdk-core/lib', __FILE__))
+$:.unshift(File.expand_path('../../../aws-sigv4/lib', __FILE__))
+
+require 'rspec'
+require 'webmock/rspec'
+require 'aws-sdk-connectcampaignservice'
diff --git a/gems/aws-sdk-dynamodb/CHANGELOG.md b/gems/aws-sdk-dynamodb/CHANGELOG.md
index ad702ab7a06..dee9476439c 100644
--- a/gems/aws-sdk-dynamodb/CHANGELOG.md
+++ b/gems/aws-sdk-dynamodb/CHANGELOG.md
@@ -1,6 +1,11 @@
Unreleased Changes
------------------
+1.75.0 (2022-06-17)
+------------------
+
+* Feature - Doc only update for DynamoDB service
+
1.74.0 (2022-02-24)
------------------
diff --git a/gems/aws-sdk-dynamodb/VERSION b/gems/aws-sdk-dynamodb/VERSION
index dc87e8af82f..7c7053aa238 100644
--- a/gems/aws-sdk-dynamodb/VERSION
+++ b/gems/aws-sdk-dynamodb/VERSION
@@ -1 +1 @@
-1.74.0
+1.75.0
diff --git a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb.rb b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb.rb
index 51d31716cf6..8be8cb6cefd 100644
--- a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb.rb
+++ b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb.rb
@@ -50,6 +50,6 @@
# @!group service
module Aws::DynamoDB
- GEM_VERSION = '1.74.0'
+ GEM_VERSION = '1.75.0'
end
diff --git a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/client.rb b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/client.rb
index cc98ea22870..b283c1adf73 100644
--- a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/client.rb
+++ b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/client.rb
@@ -381,13 +381,25 @@ def initialize(*args)
# @!group API Operations
# This operation allows you to perform batch reads or writes on data
- # stored in DynamoDB, using PartiQL.
+ # stored in DynamoDB, using PartiQL. Each read statement in a
+ # `BatchExecuteStatement` must specify an equality condition on all key
+ # attributes. This enforces that each `SELECT` statement in a batch
+ # returns at most a single item.
#
# The entire batch must consist of either read statements or write
# statements, you cannot mix both in one batch.
#
#
#
+ # A HTTP 200 response does not mean that all statements in the
+ # BatchExecuteStatement succeeded. Error details for individual
+ # statements can be found under the [Error][1] field of the
+ # `BatchStatementResponse` for each statement.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchStatementResponse.html#DDB-Type-BatchStatementResponse-Error
+ #
# @option params [required, Array] :statements
# The list of PartiQL statements representing the batch to run.
#
@@ -1762,6 +1774,10 @@ def delete_backup(params = {}, options = {})
#
# * `ALL_OLD` - The content of the old item is returned.
#
+ # There is no additional cost associated with requesting a return value
+ # aside from the small network and processing overhead of receiving a
+ # larger response. No read capacity units are consumed.
+ #
# The `ReturnValues` parameter is used by several DynamoDB operations;
# however, `DeleteItem` does not recognize any values other than `NONE`
# or `ALL_OLD`.
@@ -3218,8 +3234,9 @@ def execute_transaction(params = {}, options = {})
# The Amazon Resource Name (ARN) associated with the table to export.
#
# @option params [Time,DateTime,Date,Integer,String] :export_time
- # Time in the past from which to export table data. The table export
- # will be a snapshot of the table's state at this point in time.
+ # Time in the past from which to export table data, counted in seconds
+ # from the start of the Unix epoch. The table export will be a snapshot
+ # of the table's state at this point in time.
#
# @option params [String] :client_token
# Providing a `ClientToken` makes the call to
@@ -3548,7 +3565,8 @@ def get_item(params = {}, options = {})
#
# Where `BackupType` can be:
#
- # * `USER` - On-demand backup created by you.
+ # * `USER` - On-demand backup created by you. (The default setting if no
+ # other backup types are specified.)
#
# * `SYSTEM` - On-demand backup automatically created by DynamoDB.
#
@@ -3855,29 +3873,6 @@ def list_tags_of_resource(params = {}, options = {})
# item's attribute values in the same operation, using the
# `ReturnValues` parameter.
#
- # This topic provides general information about the `PutItem` API.
- #
- # For information on how to call the `PutItem` API using the Amazon Web
- # Services SDK in specific languages, see the following:
- #
- # * [ PutItem in the Command Line Interface][1]
- #
- # * [ PutItem in the SDK for .NET][2]
- #
- # * [ PutItem in the SDK for C++][3]
- #
- # * [ PutItem in the SDK for Go][4]
- #
- # * [ PutItem in the SDK for Java][5]
- #
- # * [ PutItem in the SDK for JavaScript][6]
- #
- # * [ PutItem in the SDK for PHP V3][7]
- #
- # * [ PutItem in the SDK for Python (Boto)][8]
- #
- # * [ PutItem in the SDK for Ruby V2][9]
- #
# When you add an item, the primary key attributes are the only required
# attributes. Attribute values cannot be null.
#
@@ -3898,21 +3893,12 @@ def list_tags_of_resource(params = {}, options = {})
#
#
#
- # For more information about `PutItem`, see [Working with Items][10] in
+ # For more information about `PutItem`, see [Working with Items][1] in
# the *Amazon DynamoDB Developer Guide*.
#
#
#
- # [1]: http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem
- # [2]: http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem
- # [3]: http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem
- # [4]: http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem
- # [5]: http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem
- # [6]: http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem
- # [7]: http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem
- # [8]: http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem
- # [9]: http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem
- # [10]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html
#
# @option params [required, String] :table_name
# The name of the table to contain the item.
@@ -3967,6 +3953,10 @@ def list_tags_of_resource(params = {}, options = {})
#
# The values returned are strongly consistent.
#
+ # There is no additional cost associated with requesting a return value
+ # aside from the small network and processing overhead of receiving a
+ # larger response. No read capacity units are consumed.
+ #
# The `ReturnValues` parameter is used by several DynamoDB operations;
# however, `PutItem` does not recognize any values other than `NONE` or
# `ALL_OLD`.
@@ -4288,8 +4278,9 @@ def put_item(params = {}, options = {})
# matching items themselves.
#
# * `SPECIFIC_ATTRIBUTES` - Returns only the attributes listed in
- # `AttributesToGet`. This return value is equivalent to specifying
- # `AttributesToGet` without specifying any value for `Select`.
+ # `ProjectionExpression`. This return value is equivalent to
+ # specifying `ProjectionExpression` without specifying any value for
+ # `Select`.
#
# If you query or scan a local secondary index and request only
# attributes that are projected into that index, the operation will
@@ -4302,12 +4293,12 @@ def put_item(params = {}, options = {})
# attributes that are projected into the index. Global secondary index
# queries cannot fetch attributes from the parent table.
#
- # If neither `Select` nor `AttributesToGet` are specified, DynamoDB
+ # If neither `Select` nor `ProjectionExpression` are specified, DynamoDB
# defaults to `ALL_ATTRIBUTES` when accessing a table, and
# `ALL_PROJECTED_ATTRIBUTES` when accessing an index. You cannot use
- # both `Select` and `AttributesToGet` together in a single request,
+ # both `Select` and `ProjectionExpression` together in a single request,
# unless the value for `Select` is `SPECIFIC_ATTRIBUTES`. (This usage is
- # equivalent to specifying `AttributesToGet` without any value for
+ # equivalent to specifying `ProjectionExpression` without any value for
# `Select`.)
#
# If you use the `ProjectionExpression` parameter, then the value for
@@ -4456,7 +4447,7 @@ def put_item(params = {}, options = {})
#
#
#
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
#
# @option params [String] :key_condition_expression
# The condition that specifies the key values for items to be retrieved
@@ -5241,8 +5232,9 @@ def restore_table_to_point_in_time(params = {}, options = {})
# matching items themselves.
#
# * `SPECIFIC_ATTRIBUTES` - Returns only the attributes listed in
- # `AttributesToGet`. This return value is equivalent to specifying
- # `AttributesToGet` without specifying any value for `Select`.
+ # `ProjectionExpression`. This return value is equivalent to
+ # specifying `ProjectionExpression` without specifying any value for
+ # `Select`.
#
# If you query or scan a local secondary index and request only
# attributes that are projected into that index, the operation reads
@@ -5255,12 +5247,12 @@ def restore_table_to_point_in_time(params = {}, options = {})
# attributes that are projected into the index. Global secondary index
# queries cannot fetch attributes from the parent table.
#
- # If neither `Select` nor `AttributesToGet` are specified, DynamoDB
+ # If neither `Select` nor `ProjectionExpression` are specified, DynamoDB
# defaults to `ALL_ATTRIBUTES` when accessing a table, and
# `ALL_PROJECTED_ATTRIBUTES` when accessing an index. You cannot use
- # both `Select` and `AttributesToGet` together in a single request,
+ # both `Select` and `ProjectionExpression` together in a single request,
# unless the value for `Select` is `SPECIFIC_ATTRIBUTES`. (This usage is
- # equivalent to specifying `AttributesToGet` without any value for
+ # equivalent to specifying `ProjectionExpression` without any value for
# `Select`.)
#
# If you use the `ProjectionExpression` parameter, then the value for
@@ -5381,7 +5373,7 @@ def restore_table_to_point_in_time(params = {}, options = {})
#
#
#
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
#
# @option params [Hash] :expression_attribute_names
# One or more substitution tokens for attribute names in an expression.
@@ -6754,8 +6746,6 @@ def update_item(params = {}, options = {})
#
# * Modify the provisioned throughput settings of the table.
#
- # * Enable or disable DynamoDB Streams on the table.
- #
# * Remove a global secondary index from the table.
#
# * Create a new global secondary index on the table. After the index
@@ -7351,7 +7341,7 @@ def build_request(operation_name, params = {})
params: params,
config: config)
context[:gem_name] = 'aws-sdk-dynamodb'
- context[:gem_version] = '1.74.0'
+ context[:gem_version] = '1.75.0'
Seahorse::Client::Request.new(handlers, context)
end
diff --git a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/table.rb b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/table.rb
index a23e78e2040..b31aee88b93 100644
--- a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/table.rb
+++ b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/table.rb
@@ -194,9 +194,9 @@ def billing_mode_summary
# * `NonKeyAttributes` - A list of one or more non-key attribute names
# that are projected into the secondary index. The total count of
# attributes provided in `NonKeyAttributes`, summed across all of
- # the secondary indexes, must not exceed 20. If you project the same
- # attribute into two different indexes, this counts as two distinct
- # attributes when determining the total.
+ # the secondary indexes, must not exceed 100. If you project the
+ # same attribute into two different indexes, this counts as two
+ # distinct attributes when determining the total.
#
# * `IndexSizeBytes` - Represents the total size of the index, in bytes.
# DynamoDB updates this value approximately every six hours. Recent
@@ -275,9 +275,9 @@ def local_secondary_indexes
# * `NonKeyAttributes` - A list of one or more non-key attribute names
# that are projected into the secondary index. The total count of
# attributes provided in `NonKeyAttributes`, summed across all of
- # the secondary indexes, must not exceed 20. If you project the same
- # attribute into two different indexes, this counts as two distinct
- # attributes when determining the total.
+ # the secondary indexes, must not exceed 100. If you project the
+ # same attribute into two different indexes, this counts as two
+ # distinct attributes when determining the total.
#
# * `ProvisionedThroughput` - The provisioned throughput settings for
# the global secondary index, consisting of read and write capacity
@@ -569,6 +569,10 @@ def delete(options = {})
#
# * `ALL_OLD` - The content of the old item is returned.
#
+ # There is no additional cost associated with requesting a return value
+ # aside from the small network and processing overhead of receiving a
+ # larger response. No read capacity units are consumed.
+ #
# The `ReturnValues` parameter is used by several DynamoDB operations;
# however, `DeleteItem` does not recognize any values other than `NONE`
# or `ALL_OLD`.
@@ -897,6 +901,10 @@ def get_item(options = {})
#
# The values returned are strongly consistent.
#
+ # There is no additional cost associated with requesting a return value
+ # aside from the small network and processing overhead of receiving a
+ # larger response. No read capacity units are consumed.
+ #
# The `ReturnValues` parameter is used by several DynamoDB operations;
# however, `PutItem` does not recognize any values other than `NONE` or
# `ALL_OLD`.
@@ -1097,8 +1105,9 @@ def put_item(options = {})
# matching items themselves.
#
# * `SPECIFIC_ATTRIBUTES` - Returns only the attributes listed in
- # `AttributesToGet`. This return value is equivalent to specifying
- # `AttributesToGet` without specifying any value for `Select`.
+ # `ProjectionExpression`. This return value is equivalent to
+ # specifying `ProjectionExpression` without specifying any value for
+ # `Select`.
#
# If you query or scan a local secondary index and request only
# attributes that are projected into that index, the operation will
@@ -1111,12 +1120,12 @@ def put_item(options = {})
# attributes that are projected into the index. Global secondary index
# queries cannot fetch attributes from the parent table.
#
- # If neither `Select` nor `AttributesToGet` are specified, DynamoDB
+ # If neither `Select` nor `ProjectionExpression` are specified, DynamoDB
# defaults to `ALL_ATTRIBUTES` when accessing a table, and
# `ALL_PROJECTED_ATTRIBUTES` when accessing an index. You cannot use
- # both `Select` and `AttributesToGet` together in a single request,
+ # both `Select` and `ProjectionExpression` together in a single request,
# unless the value for `Select` is `SPECIFIC_ATTRIBUTES`. (This usage is
- # equivalent to specifying `AttributesToGet` without any value for
+ # equivalent to specifying `ProjectionExpression` without any value for
# `Select`.)
#
# If you use the `ProjectionExpression` parameter, then the value for
@@ -1254,7 +1263,7 @@ def put_item(options = {})
#
#
#
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
# @option options [String] :key_condition_expression
# The condition that specifies the key values for items to be retrieved
# by the `Query` action.
@@ -1501,8 +1510,9 @@ def query(options = {})
# matching items themselves.
#
# * `SPECIFIC_ATTRIBUTES` - Returns only the attributes listed in
- # `AttributesToGet`. This return value is equivalent to specifying
- # `AttributesToGet` without specifying any value for `Select`.
+ # `ProjectionExpression`. This return value is equivalent to
+ # specifying `ProjectionExpression` without specifying any value for
+ # `Select`.
#
# If you query or scan a local secondary index and request only
# attributes that are projected into that index, the operation reads
@@ -1515,12 +1525,12 @@ def query(options = {})
# attributes that are projected into the index. Global secondary index
# queries cannot fetch attributes from the parent table.
#
- # If neither `Select` nor `AttributesToGet` are specified, DynamoDB
+ # If neither `Select` nor `ProjectionExpression` are specified, DynamoDB
# defaults to `ALL_ATTRIBUTES` when accessing a table, and
# `ALL_PROJECTED_ATTRIBUTES` when accessing an index. You cannot use
- # both `Select` and `AttributesToGet` together in a single request,
+ # both `Select` and `ProjectionExpression` together in a single request,
# unless the value for `Select` is `SPECIFIC_ATTRIBUTES`. (This usage is
- # equivalent to specifying `AttributesToGet` without any value for
+ # equivalent to specifying `ProjectionExpression` without any value for
# `Select`.)
#
# If you use the `ProjectionExpression` parameter, then the value for
@@ -1633,7 +1643,7 @@ def query(options = {})
#
#
#
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
# @option options [Hash] :expression_attribute_names
# One or more substitution tokens for attribute names in an expression.
# The following are some use cases for using
diff --git a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/types.rb b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/types.rb
index 35ba3e73845..6e325e7661b 100644
--- a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/types.rb
+++ b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/types.rb
@@ -164,7 +164,7 @@ class AttributeDefinition < Struct.new(
# @!attribute [rw] l
# An attribute of type List. For example:
#
- # `"L": [ \{"S": "Cookies"\} , \{"S": "Coffee"\}, \{"N", "3.14159"\}]`
+ # `"L": [ \{"S": "Cookies"\} , \{"S": "Coffee"\}, \{"N": "3.14159"\}]`
# @return [Array]
#
# @!attribute [rw] null
@@ -304,10 +304,9 @@ class AttributeValue < Struct.new(
#
# * `DELETE` - Nothing happens; there is no attribute to delete.
#
- # * `ADD` - DynamoDB creates an item with the supplied primary key and
- # number (or set of numbers) for the attribute value. The only data
- # types allowed are number and number set; no other data types can
- # be specified.
+ # * `ADD` - DynamoDB creates a new item with the supplied primary key
+ # and number (or set) for the attribute value. The only data types
+ # allowed are number, number set, string set or binary set.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/AttributeValueUpdate AWS API Documentation
@@ -605,7 +604,9 @@ class BackupDescription < Struct.new(
# @return [String]
#
# @!attribute [rw] backup_size_bytes
- # Size of the backup in bytes.
+ # Size of the backup in bytes. DynamoDB updates this value
+ # approximately every six hours. Recent changes might not be reflected
+ # in this value.
# @return [Integer]
#
# @!attribute [rw] backup_status
@@ -2522,6 +2523,10 @@ class DeleteGlobalSecondaryIndexAction < Struct.new(
#
# * `ALL_OLD` - The content of the old item is returned.
#
+ # There is no additional cost associated with requesting a return
+ # value aside from the small network and processing overhead of
+ # receiving a larger response. No read capacity units are consumed.
+ #
# The `ReturnValues` parameter is used by several DynamoDB operations;
# however, `DeleteItem` does not recognize any values other than
# `NONE` or `ALL_OLD`.
@@ -3958,8 +3963,9 @@ class ExportSummary < Struct.new(
# @return [String]
#
# @!attribute [rw] export_time
- # Time in the past from which to export table data. The table export
- # will be a snapshot of the table's state at this point in time.
+ # Time in the past from which to export table data, counted in seconds
+ # from the start of the Unix epoch. The table export will be a
+ # snapshot of the table's state at this point in time.
# @return [Time]
#
# @!attribute [rw] client_token
@@ -5188,17 +5194,17 @@ class KinesisStreamingDestinationOutput < Struct.new(
# There is no limit to the number of daily on-demand backups that can be
# taken.
#
- # Up to 50 simultaneous table operations are allowed per account. These
+ # Up to 500 simultaneous table operations are allowed per account. These
# operations include `CreateTable`, `UpdateTable`,
# `DeleteTable`,`UpdateTimeToLive`, `RestoreTableFromBackup`, and
# `RestoreTableToPointInTime`.
#
# The only exception is when you are creating a table with one or more
- # secondary indexes. You can have up to 25 such requests running at a
+ # secondary indexes. You can have up to 250 such requests running at a
# time; however, if the table or index specifications are complex,
# DynamoDB might temporarily reduce the number of concurrent operations.
#
- # There is a soft account quota of 256 tables.
+ # There is a soft account quota of 2,500 tables.
#
# @!attribute [rw] message
# Too many operations for a given subscriber.
@@ -5255,7 +5261,8 @@ class LimitExceededException < Struct.new(
#
# Where `BackupType` can be:
#
- # * `USER` - On-demand backup created by you.
+ # * `USER` - On-demand backup created by you. (The default setting if
+ # no other backup types are specified.)
#
# * `SYSTEM` - On-demand backup automatically created by DynamoDB.
#
@@ -5859,7 +5866,7 @@ class PointInTimeRecoveryUnavailableException < Struct.new(
#
# For local secondary indexes, the total count of `NonKeyAttributes`
# summed across all of the local secondary indexes, must not exceed
- # 20. If you project the same attribute into two different indexes,
+ # 100. If you project the same attribute into two different indexes,
# this counts as two distinct attributes when determining the total.
# @return [Array]
#
@@ -6180,6 +6187,10 @@ class Put < Struct.new(
#
# The values returned are strongly consistent.
#
+ # There is no additional cost associated with requesting a return
+ # value aside from the small network and processing overhead of
+ # receiving a larger response. No read capacity units are consumed.
+ #
# The `ReturnValues` parameter is used by several DynamoDB operations;
# however, `PutItem` does not recognize any values other than `NONE`
# or `ALL_OLD`.
@@ -6505,8 +6516,9 @@ class PutRequest < Struct.new(
# matching items themselves.
#
# * `SPECIFIC_ATTRIBUTES` - Returns only the attributes listed in
- # `AttributesToGet`. This return value is equivalent to specifying
- # `AttributesToGet` without specifying any value for `Select`.
+ # `ProjectionExpression`. This return value is equivalent to
+ # specifying `ProjectionExpression` without specifying any value for
+ # `Select`.
#
# If you query or scan a local secondary index and request only
# attributes that are projected into that index, the operation will
@@ -6520,13 +6532,13 @@ class PutRequest < Struct.new(
# secondary index queries cannot fetch attributes from the parent
# table.
#
- # If neither `Select` nor `AttributesToGet` are specified, DynamoDB
- # defaults to `ALL_ATTRIBUTES` when accessing a table, and
+ # If neither `Select` nor `ProjectionExpression` are specified,
+ # DynamoDB defaults to `ALL_ATTRIBUTES` when accessing a table, and
# `ALL_PROJECTED_ATTRIBUTES` when accessing an index. You cannot use
- # both `Select` and `AttributesToGet` together in a single request,
- # unless the value for `Select` is `SPECIFIC_ATTRIBUTES`. (This usage
- # is equivalent to specifying `AttributesToGet` without any value for
- # `Select`.)
+ # both `Select` and `ProjectionExpression` together in a single
+ # request, unless the value for `Select` is `SPECIFIC_ATTRIBUTES`.
+ # (This usage is equivalent to specifying `ProjectionExpression`
+ # without any value for `Select`.)
#
# If you use the `ProjectionExpression` parameter, then the value for
# `Select` can only be `SPECIFIC_ATTRIBUTES`. Any other value for
@@ -6688,7 +6700,7 @@ class PutRequest < Struct.new(
#
#
#
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
# @return [String]
#
# @!attribute [rw] key_condition_expression
@@ -7658,6 +7670,12 @@ class ReplicaUpdate < Struct.new(
# `DeleteTableReplica` action in the destination Region, deleting the
# replica and all if its items in the destination Region.
#
+ # When you manually remove a table or global table replica, you do not
+ # automatically remove any associated scalable targets, scaling
+ # policies, or CloudWatch alarms.
+ #
+ #
+ #
# @note When making an API call, you may pass ReplicationGroupUpdate
# data as a hash:
#
@@ -8233,8 +8251,9 @@ class SSESpecification < Struct.new(
# matching items themselves.
#
# * `SPECIFIC_ATTRIBUTES` - Returns only the attributes listed in
- # `AttributesToGet`. This return value is equivalent to specifying
- # `AttributesToGet` without specifying any value for `Select`.
+ # `ProjectionExpression`. This return value is equivalent to
+ # specifying `ProjectionExpression` without specifying any value for
+ # `Select`.
#
# If you query or scan a local secondary index and request only
# attributes that are projected into that index, the operation reads
@@ -8248,13 +8267,13 @@ class SSESpecification < Struct.new(
# secondary index queries cannot fetch attributes from the parent
# table.
#
- # If neither `Select` nor `AttributesToGet` are specified, DynamoDB
- # defaults to `ALL_ATTRIBUTES` when accessing a table, and
+ # If neither `Select` nor `ProjectionExpression` are specified,
+ # DynamoDB defaults to `ALL_ATTRIBUTES` when accessing a table, and
# `ALL_PROJECTED_ATTRIBUTES` when accessing an index. You cannot use
- # both `Select` and `AttributesToGet` together in a single request,
- # unless the value for `Select` is `SPECIFIC_ATTRIBUTES`. (This usage
- # is equivalent to specifying `AttributesToGet` without any value for
- # `Select`.)
+ # both `Select` and `ProjectionExpression` together in a single
+ # request, unless the value for `Select` is `SPECIFIC_ATTRIBUTES`.
+ # (This usage is equivalent to specifying `ProjectionExpression`
+ # without any value for `Select`.)
#
# If you use the `ProjectionExpression` parameter, then the value for
# `Select` can only be `SPECIFIC_ATTRIBUTES`. Any other value for
@@ -8385,7 +8404,7 @@ class SSESpecification < Struct.new(
#
#
#
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Query.FilterExpression
# @return [String]
#
# @!attribute [rw] expression_attribute_names
@@ -8943,7 +8962,7 @@ class TableClassSummary < Struct.new(
# * `NonKeyAttributes` - A list of one or more non-key attribute
# names that are projected into the secondary index. The total
# count of attributes provided in `NonKeyAttributes`, summed
- # across all of the secondary indexes, must not exceed 20. If you
+ # across all of the secondary indexes, must not exceed 100. If you
# project the same attribute into two different indexes, this
# counts as two distinct attributes when determining the total.
#
@@ -9023,7 +9042,7 @@ class TableClassSummary < Struct.new(
# * `NonKeyAttributes` - A list of one or more non-key attribute
# names that are projected into the secondary index. The total
# count of attributes provided in `NonKeyAttributes`, summed
- # across all of the secondary indexes, must not exceed 20. If you
+ # across all of the secondary indexes, must not exceed 100. If you
# project the same attribute into two different indexes, this
# counts as two distinct attributes when determining the total.
#
@@ -9133,7 +9152,8 @@ class TableInUseException < Struct.new(
end
# A source table with the name `TableName` does not currently exist
- # within the subscriber's account.
+ # within the subscriber's account or the subscriber is operating in the
+ # wrong Amazon Web Services Region.
#
# @!attribute [rw] message
# @return [String]
@@ -9675,7 +9695,7 @@ class TransactWriteItemsOutput < Struct.new(
# If using Java, DynamoDB lists the cancellation reasons on the
# `CancellationReasons` property. This property is not set for other
# languages. Transaction cancellation reasons are ordered in the order
- # of requested items, if an item has no error it will have `NONE` code
+ # of requested items, if an item has no error it will have `None` code
# and `Null` message.
#
#
@@ -9684,7 +9704,7 @@ class TransactWriteItemsOutput < Struct.new(
#
# * No Errors:
#
- # * Code: `NONE`
+ # * Code: `None`
#
# * Message: `null`
#
diff --git a/gems/aws-sdk-dynamodbstreams/CHANGELOG.md b/gems/aws-sdk-dynamodbstreams/CHANGELOG.md
index d4c3d14c833..839b005a010 100644
--- a/gems/aws-sdk-dynamodbstreams/CHANGELOG.md
+++ b/gems/aws-sdk-dynamodbstreams/CHANGELOG.md
@@ -1,6 +1,11 @@
Unreleased Changes
------------------
+1.39.0 (2022-06-17)
+------------------
+
+* Feature - Doc only update for DynamoDB service
+
1.38.0 (2022-02-24)
------------------
diff --git a/gems/aws-sdk-dynamodbstreams/VERSION b/gems/aws-sdk-dynamodbstreams/VERSION
index ebeef2f2d61..5edffce6d57 100644
--- a/gems/aws-sdk-dynamodbstreams/VERSION
+++ b/gems/aws-sdk-dynamodbstreams/VERSION
@@ -1 +1 @@
-1.38.0
+1.39.0
diff --git a/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams.rb b/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams.rb
index 3568051c362..e03836a526a 100644
--- a/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams.rb
+++ b/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams.rb
@@ -48,6 +48,6 @@
# @!group service
module Aws::DynamoDBStreams
- GEM_VERSION = '1.38.0'
+ GEM_VERSION = '1.39.0'
end
diff --git a/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams/client.rb b/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams/client.rb
index 0e84fe459cd..34e896d16b7 100644
--- a/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams/client.rb
+++ b/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams/client.rb
@@ -817,7 +817,7 @@ def build_request(operation_name, params = {})
params: params,
config: config)
context[:gem_name] = 'aws-sdk-dynamodbstreams'
- context[:gem_version] = '1.38.0'
+ context[:gem_version] = '1.39.0'
Seahorse::Client::Request.new(handlers, context)
end
diff --git a/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams/types.rb b/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams/types.rb
index e799765cef0..ea972a33da3 100644
--- a/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams/types.rb
+++ b/gems/aws-sdk-dynamodbstreams/lib/aws-sdk-dynamodbstreams/types.rb
@@ -77,7 +77,7 @@ module Types
# @!attribute [rw] l
# An attribute of type List. For example:
#
- # `"L": [ \{"S": "Cookies"\} , \{"S": "Coffee"\}, \{"N", "3.14159"\}]`
+ # `"L": [ \{"S": "Cookies"\} , \{"S": "Coffee"\}, \{"N": "3.14159"\}]`
# @return [Array]
#
# @!attribute [rw] null
@@ -389,17 +389,17 @@ class KeySchemaElement < Struct.new(
# There is no limit to the number of daily on-demand backups that can be
# taken.
#
- # Up to 50 simultaneous table operations are allowed per account. These
+ # Up to 500 simultaneous table operations are allowed per account. These
# operations include `CreateTable`, `UpdateTable`,
# `DeleteTable`,`UpdateTimeToLive`, `RestoreTableFromBackup`, and
# `RestoreTableToPointInTime`.
#
# The only exception is when you are creating a table with one or more
- # secondary indexes. You can have up to 25 such requests running at a
+ # secondary indexes. You can have up to 250 such requests running at a
# time; however, if the table or index specifications are complex,
# DynamoDB might temporarily reduce the number of concurrent operations.
#
- # There is a soft account quota of 256 tables.
+ # There is a soft account quota of 2,500 tables.
#
# @!attribute [rw] message
# Too many operations for a given subscriber.
diff --git a/gems/aws-sdk-resources/CHANGELOG.md b/gems/aws-sdk-resources/CHANGELOG.md
index 599b5d260cc..b0fc8bf57b0 100644
--- a/gems/aws-sdk-resources/CHANGELOG.md
+++ b/gems/aws-sdk-resources/CHANGELOG.md
@@ -1,6 +1,11 @@
Unreleased Changes
------------------
+3.135.0 (2022-06-17)
+------------------
+
+* Feature - Added a dependency on the new `aws-sdk-connectcampaignservice` gem.
+
3.134.0 (2022-06-16)
------------------
diff --git a/gems/aws-sdk-resources/VERSION b/gems/aws-sdk-resources/VERSION
index dcfccdd4e62..2ab0dc8a78d 100644
--- a/gems/aws-sdk-resources/VERSION
+++ b/gems/aws-sdk-resources/VERSION
@@ -1 +1 @@
-3.134.0
+3.135.0
diff --git a/gems/aws-sdk-resources/aws-sdk-resources.gemspec b/gems/aws-sdk-resources/aws-sdk-resources.gemspec
index 5e214fb0780..d052a4bc196 100644
--- a/gems/aws-sdk-resources/aws-sdk-resources.gemspec
+++ b/gems/aws-sdk-resources/aws-sdk-resources.gemspec
@@ -88,6 +88,7 @@ Gem::Specification.new do |spec|
spec.add_dependency('aws-sdk-computeoptimizer', '~> 1')
spec.add_dependency('aws-sdk-configservice', '~> 1')
spec.add_dependency('aws-sdk-connect', '~> 1')
+ spec.add_dependency('aws-sdk-connectcampaignservice', '~> 1')
spec.add_dependency('aws-sdk-connectcontactlens', '~> 1')
spec.add_dependency('aws-sdk-connectparticipant', '~> 1')
spec.add_dependency('aws-sdk-connectwisdomservice', '~> 1')
diff --git a/gems/aws-sdk-resources/lib/aws-sdk-resources.rb b/gems/aws-sdk-resources/lib/aws-sdk-resources.rb
index 8ff2e9d0ee8..f8c6c34c98b 100644
--- a/gems/aws-sdk-resources/lib/aws-sdk-resources.rb
+++ b/gems/aws-sdk-resources/lib/aws-sdk-resources.rb
@@ -78,6 +78,7 @@ module Aws
autoload :ComputeOptimizer, 'aws-sdk-computeoptimizer'
autoload :ConfigService, 'aws-sdk-configservice'
autoload :Connect, 'aws-sdk-connect'
+ autoload :ConnectCampaignService, 'aws-sdk-connectcampaignservice'
autoload :ConnectContactLens, 'aws-sdk-connectcontactlens'
autoload :ConnectParticipant, 'aws-sdk-connectparticipant'
autoload :ConnectWisdomService, 'aws-sdk-connectwisdomservice'
diff --git a/services.json b/services.json
index 1874ac3ad4c..91b10959ebe 100644
--- a/services.json
+++ b/services.json
@@ -232,6 +232,9 @@
"Connect": {
"models": "connect/2017-08-08"
},
+ "ConnectCampaignService": {
+ "models": "connectcampaigns/2021-01-30"
+ },
"ConnectContactLens": {
"models": "connect-contact-lens/2020-08-21"
},