Module: Aws::SNS::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-sns/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

ActionsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ActionsList')
AddPermissionInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AddPermissionInput')
AmazonResourceName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AmazonResourceName')
AuthorizationErrorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AuthorizationErrorException', error: {"code"=>"AuthorizationError", "httpStatusCode"=>403, "senderFault"=>true})
BatchEntryIdsNotDistinctException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchEntryIdsNotDistinctException', error: {"code"=>"BatchEntryIdsNotDistinct", "httpStatusCode"=>400, "senderFault"=>true})
BatchRequestTooLongException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchRequestTooLongException', error: {"code"=>"BatchRequestTooLong", "httpStatusCode"=>400, "senderFault"=>true})
BatchResultErrorEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchResultErrorEntry')
BatchResultErrorEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchResultErrorEntryList')
Binary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'Binary')
CheckIfPhoneNumberIsOptedOutInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CheckIfPhoneNumberIsOptedOutInput')
CheckIfPhoneNumberIsOptedOutResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CheckIfPhoneNumberIsOptedOutResponse')
ConcurrentAccessException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConcurrentAccessException', error: {"code"=>"ConcurrentAccess", "httpStatusCode"=>400, "senderFault"=>true})
ConfirmSubscriptionInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConfirmSubscriptionInput')
ConfirmSubscriptionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConfirmSubscriptionResponse')
CreateEndpointResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateEndpointResponse')
CreatePlatformApplicationInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreatePlatformApplicationInput')
CreatePlatformApplicationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreatePlatformApplicationResponse')
CreatePlatformEndpointInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreatePlatformEndpointInput')
CreateSMSSandboxPhoneNumberInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSMSSandboxPhoneNumberInput')
CreateSMSSandboxPhoneNumberResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSMSSandboxPhoneNumberResult')
CreateTopicInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateTopicInput')
CreateTopicResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateTopicResponse')
DelegatesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DelegatesList')
DeleteEndpointInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteEndpointInput')
DeletePlatformApplicationInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeletePlatformApplicationInput')
DeleteSMSSandboxPhoneNumberInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSMSSandboxPhoneNumberInput')
DeleteSMSSandboxPhoneNumberResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSMSSandboxPhoneNumberResult')
DeleteTopicInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteTopicInput')
EmptyBatchRequestException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EmptyBatchRequestException', error: {"code"=>"EmptyBatchRequest", "httpStatusCode"=>400, "senderFault"=>true})
Endpoint =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Endpoint')
EndpointDisabledException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EndpointDisabledException', error: {"code"=>"EndpointDisabled", "httpStatusCode"=>400, "senderFault"=>true})
FilterPolicyLimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FilterPolicyLimitExceededException', error: {"code"=>"FilterPolicyLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
GetDataProtectionPolicyInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDataProtectionPolicyInput')
GetDataProtectionPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDataProtectionPolicyResponse')
GetEndpointAttributesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetEndpointAttributesInput')
GetEndpointAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetEndpointAttributesResponse')
GetPlatformApplicationAttributesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPlatformApplicationAttributesInput')
GetPlatformApplicationAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPlatformApplicationAttributesResponse')
GetSMSAttributesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSMSAttributesInput')
GetSMSAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSMSAttributesResponse')
GetSMSSandboxAccountStatusInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSMSSandboxAccountStatusInput')
GetSMSSandboxAccountStatusResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSMSSandboxAccountStatusResult')
GetSubscriptionAttributesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSubscriptionAttributesInput')
GetSubscriptionAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSubscriptionAttributesResponse')
GetTopicAttributesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetTopicAttributesInput')
GetTopicAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetTopicAttributesResponse')
InternalErrorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InternalErrorException', error: {"code"=>"InternalError", "httpStatusCode"=>500})
InvalidBatchEntryIdException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidBatchEntryIdException', error: {"code"=>"InvalidBatchEntryId", "httpStatusCode"=>400, "senderFault"=>true})
InvalidParameterException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidParameterException', error: {"code"=>"InvalidParameter", "httpStatusCode"=>400, "senderFault"=>true})
InvalidParameterValueException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidParameterValueException', error: {"code"=>"ParameterValueInvalid", "httpStatusCode"=>400, "senderFault"=>true})
InvalidSecurityException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidSecurityException', error: {"code"=>"InvalidSecurity", "httpStatusCode"=>403, "senderFault"=>true})
InvalidStateException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidStateException', error: {"code"=>"InvalidState", "httpStatusCode"=>400, "senderFault"=>true})
Iso2CountryCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Iso2CountryCode')
KMSAccessDeniedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KMSAccessDeniedException', error: {"code"=>"KMSAccessDenied", "httpStatusCode"=>400, "senderFault"=>true})
KMSDisabledException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KMSDisabledException', error: {"code"=>"KMSDisabled", "httpStatusCode"=>400, "senderFault"=>true})
KMSInvalidStateException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KMSInvalidStateException', error: {"code"=>"KMSInvalidState", "httpStatusCode"=>400, "senderFault"=>true})
KMSNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KMSNotFoundException', error: {"code"=>"KMSNotFound", "httpStatusCode"=>400, "senderFault"=>true})
KMSOptInRequired =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KMSOptInRequired', error: {"code"=>"KMSOptInRequired", "httpStatusCode"=>403, "senderFault"=>true})
KMSThrottlingException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KMSThrottlingException', error: {"code"=>"KMSThrottling", "httpStatusCode"=>400, "senderFault"=>true})
LanguageCodeString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LanguageCodeString')
ListEndpointsByPlatformApplicationInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListEndpointsByPlatformApplicationInput')
ListEndpointsByPlatformApplicationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListEndpointsByPlatformApplicationResponse')
ListOfEndpoints =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListOfEndpoints')
ListOfPlatformApplications =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListOfPlatformApplications')
ListOriginationNumbersRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListOriginationNumbersRequest')
ListOriginationNumbersResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListOriginationNumbersResult')
ListPhoneNumbersOptedOutInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPhoneNumbersOptedOutInput')
ListPhoneNumbersOptedOutResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPhoneNumbersOptedOutResponse')
ListPlatformApplicationsInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPlatformApplicationsInput')
ListPlatformApplicationsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListPlatformApplicationsResponse')
ListSMSSandboxPhoneNumbersInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSMSSandboxPhoneNumbersInput')
ListSMSSandboxPhoneNumbersResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSMSSandboxPhoneNumbersResult')
ListString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListString')
ListSubscriptionsByTopicInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscriptionsByTopicInput')
ListSubscriptionsByTopicResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscriptionsByTopicResponse')
ListSubscriptionsInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscriptionsInput')
ListSubscriptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscriptionsResponse')
ListTagsForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
ListTagsForResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
ListTopicsInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTopicsInput')
ListTopicsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTopicsResponse')
MapStringToString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'MapStringToString')
MaxItems =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxItems')
MaxItemsListOriginationNumbers =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxItemsListOriginationNumbers')
MessageAttributeMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'MessageAttributeMap')
MessageAttributeValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MessageAttributeValue')
NotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NotFoundException', error: {"code"=>"NotFound", "httpStatusCode"=>404, "senderFault"=>true})
NumberCapability =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'NumberCapability')
NumberCapabilityList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'NumberCapabilityList')
OTPCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OTPCode')
OptInPhoneNumberInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OptInPhoneNumberInput')
OptInPhoneNumberResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OptInPhoneNumberResponse')
OptedOutException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OptedOutException', error: {"code"=>"OptedOut", "httpStatusCode"=>400, "senderFault"=>true})
PhoneNumber =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PhoneNumber')
PhoneNumberInformation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PhoneNumberInformation')
PhoneNumberInformationList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PhoneNumberInformationList')
PhoneNumberList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PhoneNumberList')
PhoneNumberString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PhoneNumberString')
PlatformApplication =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PlatformApplication')
PlatformApplicationDisabledException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PlatformApplicationDisabledException', error: {"code"=>"PlatformApplicationDisabled", "httpStatusCode"=>400, "senderFault"=>true})
PublishBatchInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishBatchInput')
PublishBatchRequestEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishBatchRequestEntry')
PublishBatchRequestEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PublishBatchRequestEntryList')
PublishBatchResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishBatchResponse')
PublishBatchResultEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishBatchResultEntry')
PublishBatchResultEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PublishBatchResultEntryList')
PublishInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishInput')
PublishResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishResponse')
PutDataProtectionPolicyInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDataProtectionPolicyInput')
RemovePermissionInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RemovePermissionInput')
ReplayLimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReplayLimitExceededException', error: {"code"=>"ReplayLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
ResourceNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceNotFoundException', error: {"code"=>"ResourceNotFound", "httpStatusCode"=>404, "senderFault"=>true})
RouteType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RouteType')
SMSSandboxPhoneNumber =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SMSSandboxPhoneNumber')
SMSSandboxPhoneNumberList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SMSSandboxPhoneNumberList')
SMSSandboxPhoneNumberVerificationStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SMSSandboxPhoneNumberVerificationStatus')
SetEndpointAttributesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SetEndpointAttributesInput')
SetPlatformApplicationAttributesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SetPlatformApplicationAttributesInput')
SetSMSAttributesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SetSMSAttributesInput')
SetSMSAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SetSMSAttributesResponse')
SetSubscriptionAttributesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SetSubscriptionAttributesInput')
SetTopicAttributesInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SetTopicAttributesInput')
StaleTagException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StaleTagException', error: {"code"=>"StaleTag", "httpStatusCode"=>400, "senderFault"=>true})
String =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'String')
SubscribeInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SubscribeInput')
SubscribeResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SubscribeResponse')
Subscription =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Subscription')
SubscriptionAttributesMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'SubscriptionAttributesMap')
SubscriptionLimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SubscriptionLimitExceededException', error: {"code"=>"SubscriptionLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
SubscriptionsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SubscriptionsList')
Tag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Tag')
TagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKey')
TagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagKeyList')
TagLimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagLimitExceededException', error: {"code"=>"TagLimitExceeded", "httpStatusCode"=>400, "senderFault"=>true})
TagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagList')
TagPolicyException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagPolicyException', error: {"code"=>"TagPolicy", "httpStatusCode"=>400, "senderFault"=>true})
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
TagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceResponse')
TagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagValue')
ThrottledException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ThrottledException', error: {"code"=>"Throttled", "httpStatusCode"=>429, "senderFault"=>true})
Timestamp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'Timestamp')
TooManyEntriesInBatchRequestException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyEntriesInBatchRequestException', error: {"code"=>"TooManyEntriesInBatchRequest", "httpStatusCode"=>400, "senderFault"=>true})
Topic =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Topic')
TopicAttributesMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'TopicAttributesMap')
TopicLimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TopicLimitExceededException', error: {"code"=>"TopicLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
TopicsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TopicsList')
UnsubscribeInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UnsubscribeInput')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UntagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceResponse')
UserErrorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UserErrorException', error: {"code"=>"UserError", "httpStatusCode"=>400, "senderFault"=>true})
ValidationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ValidationException', error: {"code"=>"ValidationException", "httpStatusCode"=>400, "senderFault"=>true})
VerificationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VerificationException')
VerifySMSSandboxPhoneNumberInput =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VerifySMSSandboxPhoneNumberInput')
VerifySMSSandboxPhoneNumberResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VerifySMSSandboxPhoneNumberResult')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2010-03-31"

  api. = {
    "apiVersion" => "2010-03-31",
    "endpointPrefix" => "sns",
    "protocol" => "query",
    "serviceAbbreviation" => "Amazon SNS",
    "serviceFullName" => "Amazon Simple Notification Service",
    "serviceId" => "SNS",
    "signatureVersion" => "v4",
    "uid" => "sns-2010-03-31",
    "xmlNamespace" => "http://sns.amazonaws.com/doc/2010-03-31/",
  }

  api.add_operation(:add_permission, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AddPermission"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: AddPermissionInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:check_if_phone_number_is_opted_out, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CheckIfPhoneNumberIsOptedOut"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CheckIfPhoneNumberIsOptedOutInput)
    o.output = Shapes::ShapeRef.new(shape: CheckIfPhoneNumberIsOptedOutResponse)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
  end)

  api.add_operation(:confirm_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ConfirmSubscription"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ConfirmSubscriptionInput)
    o.output = Shapes::ShapeRef.new(shape: ConfirmSubscriptionResponse)
    o.errors << Shapes::ShapeRef.new(shape: SubscriptionLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: FilterPolicyLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ReplayLimitExceededException)
  end)

  api.add_operation(:create_platform_application, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreatePlatformApplication"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreatePlatformApplicationInput)
    o.output = Shapes::ShapeRef.new(shape: CreatePlatformApplicationResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
  end)

  api.add_operation(:create_platform_endpoint, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreatePlatformEndpoint"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreatePlatformEndpointInput)
    o.output = Shapes::ShapeRef.new(shape: CreateEndpointResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:create_sms_sandbox_phone_number, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateSMSSandboxPhoneNumber"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateSMSSandboxPhoneNumberInput)
    o.output = Shapes::ShapeRef.new(shape: CreateSMSSandboxPhoneNumberResult)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: OptedOutException)
    o.errors << Shapes::ShapeRef.new(shape: UserErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
  end)

  api.add_operation(:create_topic, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateTopic"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateTopicInput)
    o.output = Shapes::ShapeRef.new(shape: CreateTopicResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: TopicLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
    o.errors << Shapes::ShapeRef.new(shape: TagLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: StaleTagException)
    o.errors << Shapes::ShapeRef.new(shape: TagPolicyException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentAccessException)
  end)

  api.add_operation(:delete_endpoint, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteEndpoint"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteEndpointInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
  end)

  api.add_operation(:delete_platform_application, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeletePlatformApplication"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeletePlatformApplicationInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
  end)

  api.add_operation(:delete_sms_sandbox_phone_number, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteSMSSandboxPhoneNumber"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteSMSSandboxPhoneNumberInput)
    o.output = Shapes::ShapeRef.new(shape: DeleteSMSSandboxPhoneNumberResult)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: UserErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
  end)

  api.add_operation(:delete_topic, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteTopic"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteTopicInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: StaleTagException)
    o.errors << Shapes::ShapeRef.new(shape: TagPolicyException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentAccessException)
  end)

  api.add_operation(:get_data_protection_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDataProtectionPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetDataProtectionPolicyInput)
    o.output = Shapes::ShapeRef.new(shape: GetDataProtectionPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
  end)

  api.add_operation(:get_endpoint_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetEndpointAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetEndpointAttributesInput)
    o.output = Shapes::ShapeRef.new(shape: GetEndpointAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:get_platform_application_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetPlatformApplicationAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetPlatformApplicationAttributesInput)
    o.output = Shapes::ShapeRef.new(shape: GetPlatformApplicationAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:get_sms_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSMSAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSMSAttributesInput)
    o.output = Shapes::ShapeRef.new(shape: GetSMSAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
  end)

  api.add_operation(:get_sms_sandbox_account_status, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSMSSandboxAccountStatus"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSMSSandboxAccountStatusInput)
    o.output = Shapes::ShapeRef.new(shape: GetSMSSandboxAccountStatusResult)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
  end)

  api.add_operation(:get_subscription_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSubscriptionAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSubscriptionAttributesInput)
    o.output = Shapes::ShapeRef.new(shape: GetSubscriptionAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
  end)

  api.add_operation(:get_topic_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetTopicAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetTopicAttributesInput)
    o.output = Shapes::ShapeRef.new(shape: GetTopicAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
  end)

  api.add_operation(:list_endpoints_by_platform_application, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListEndpointsByPlatformApplication"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListEndpointsByPlatformApplicationInput)
    o.output = Shapes::ShapeRef.new(shape: ListEndpointsByPlatformApplicationResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o[:pager] = Aws::Pager.new(
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_origination_numbers, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListOriginationNumbers"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListOriginationNumbersRequest)
    o.output = Shapes::ShapeRef.new(shape: ListOriginationNumbersResult)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_phone_numbers_opted_out, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListPhoneNumbersOptedOut"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListPhoneNumbersOptedOutInput)
    o.output = Shapes::ShapeRef.new(shape: ListPhoneNumbersOptedOutResponse)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o[:pager] = Aws::Pager.new(
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_platform_applications, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListPlatformApplications"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListPlatformApplicationsInput)
    o.output = Shapes::ShapeRef.new(shape: ListPlatformApplicationsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o[:pager] = Aws::Pager.new(
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_sms_sandbox_phone_numbers, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSMSSandboxPhoneNumbers"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListSMSSandboxPhoneNumbersInput)
    o.output = Shapes::ShapeRef.new(shape: ListSMSSandboxPhoneNumbersResult)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_subscriptions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSubscriptions"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListSubscriptionsInput)
    o.output = Shapes::ShapeRef.new(shape: ListSubscriptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o[:pager] = Aws::Pager.new(
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_subscriptions_by_topic, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSubscriptionsByTopic"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListSubscriptionsByTopicInput)
    o.output = Shapes::ShapeRef.new(shape: ListSubscriptionsByTopicResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o[:pager] = Aws::Pager.new(
      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 = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TagPolicyException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentAccessException)
  end)

  api.add_operation(:list_topics, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTopics"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListTopicsInput)
    o.output = Shapes::ShapeRef.new(shape: ListTopicsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o[:pager] = Aws::Pager.new(
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:opt_in_phone_number, Seahorse::Model::Operation.new.tap do |o|
    o.name = "OptInPhoneNumber"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: OptInPhoneNumberInput)
    o.output = Shapes::ShapeRef.new(shape: OptInPhoneNumberResponse)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
  end)

  api.add_operation(:publish, Seahorse::Model::Operation.new.tap do |o|
    o.name = "Publish"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: PublishInput)
    o.output = Shapes::ShapeRef.new(shape: PublishResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: EndpointDisabledException)
    o.errors << Shapes::ShapeRef.new(shape: PlatformApplicationDisabledException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: KMSDisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: KMSNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSOptInRequired)
    o.errors << Shapes::ShapeRef.new(shape: KMSThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: KMSAccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
  end)

  api.add_operation(:publish_batch, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PublishBatch"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: PublishBatchInput)
    o.output = Shapes::ShapeRef.new(shape: PublishBatchResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: EndpointDisabledException)
    o.errors << Shapes::ShapeRef.new(shape: PlatformApplicationDisabledException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: BatchEntryIdsNotDistinctException)
    o.errors << Shapes::ShapeRef.new(shape: BatchRequestTooLongException)
    o.errors << Shapes::ShapeRef.new(shape: EmptyBatchRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidBatchEntryIdException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyEntriesInBatchRequestException)
    o.errors << Shapes::ShapeRef.new(shape: KMSDisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: KMSNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSOptInRequired)
    o.errors << Shapes::ShapeRef.new(shape: KMSThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: KMSAccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
  end)

  api.add_operation(:put_data_protection_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutDataProtectionPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: PutDataProtectionPolicyInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
  end)

  api.add_operation(:remove_permission, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RemovePermission"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: RemovePermissionInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:set_endpoint_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SetEndpointAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SetEndpointAttributesInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:set_platform_application_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SetPlatformApplicationAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SetPlatformApplicationAttributesInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:set_sms_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SetSMSAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SetSMSAttributesInput)
    o.output = Shapes::ShapeRef.new(shape: SetSMSAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
  end)

  api.add_operation(:set_subscription_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SetSubscriptionAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SetSubscriptionAttributesInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: FilterPolicyLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ReplayLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
  end)

  api.add_operation(:set_topic_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SetTopicAttributes"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SetTopicAttributesInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
  end)

  api.add_operation(:subscribe, Seahorse::Model::Operation.new.tap do |o|
    o.name = "Subscribe"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SubscribeInput)
    o.output = Shapes::ShapeRef.new(shape: SubscribeResponse)
    o.errors << Shapes::ShapeRef.new(shape: SubscriptionLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: FilterPolicyLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ReplayLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TagLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: StaleTagException)
    o.errors << Shapes::ShapeRef.new(shape: TagPolicyException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentAccessException)
  end)

  api.add_operation(:unsubscribe, Seahorse::Model::Operation.new.tap do |o|
    o.name = "Unsubscribe"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UnsubscribeInput)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TagLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: StaleTagException)
    o.errors << Shapes::ShapeRef.new(shape: TagPolicyException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentAccessException)
  end)

  api.add_operation(:verify_sms_sandbox_phone_number, Seahorse::Model::Operation.new.tap do |o|
    o.name = "VerifySMSSandboxPhoneNumber"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: VerifySMSSandboxPhoneNumberInput)
    o.output = Shapes::ShapeRef.new(shape: VerifySMSSandboxPhoneNumberResult)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: VerificationException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
  end)
end