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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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')
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)
  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_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)
  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_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: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  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_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_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)
  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_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_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)
  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: 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: 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(: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)
end