aws-sdk-sns 1.60.0 → 1.96.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +180 -0
 - data/VERSION +1 -1
 - data/lib/aws-sdk-sns/client.rb +356 -153
 - data/lib/aws-sdk-sns/client_api.rb +48 -33
 - data/lib/aws-sdk-sns/customizations.rb +5 -1
 - data/lib/aws-sdk-sns/endpoint_parameters.rb +9 -6
 - data/lib/aws-sdk-sns/endpoint_provider.rb +16 -20
 - data/lib/aws-sdk-sns/endpoints.rb +3 -586
 - data/lib/aws-sdk-sns/errors.rb +32 -0
 - data/lib/aws-sdk-sns/platform_application.rb +33 -8
 - data/lib/aws-sdk-sns/platform_endpoint.rb +60 -23
 - data/lib/aws-sdk-sns/plugins/endpoints.rb +23 -98
 - data/lib/aws-sdk-sns/resource.rb +39 -10
 - data/lib/aws-sdk-sns/subscription.rb +21 -21
 - data/lib/aws-sdk-sns/topic.rb +134 -46
 - data/lib/aws-sdk-sns/types.rb +266 -125
 - data/lib/aws-sdk-sns.rb +19 -15
 - data/sig/client.rbs +530 -0
 - data/sig/errors.rbs +119 -0
 - data/sig/platform_application.rbs +64 -0
 - data/sig/platform_endpoint.rbs +68 -0
 - data/sig/resource.rbs +133 -0
 - data/sig/subscription.rbs +52 -0
 - data/sig/topic.rbs +104 -0
 - data/sig/types.rbs +664 -0
 - data/sig/waiters.rbs +13 -0
 - metadata +20 -11
 
| 
         @@ -7,6 +7,7 @@ 
     | 
|
| 
       7 
7 
     | 
    
         
             
            #
         
     | 
| 
       8 
8 
     | 
    
         
             
            # WARNING ABOUT GENERATED CODE
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
       10 
11 
     | 
    
         
             
            module Aws::SNS
         
     | 
| 
       11 
12 
     | 
    
         
             
              # @api private
         
     | 
| 
       12 
13 
     | 
    
         
             
              module ClientApi
         
     | 
| 
         @@ -16,15 +17,15 @@ module Aws::SNS 
     | 
|
| 
       16 
17 
     | 
    
         
             
                ActionsList = Shapes::ListShape.new(name: 'ActionsList')
         
     | 
| 
       17 
18 
     | 
    
         
             
                AddPermissionInput = Shapes::StructureShape.new(name: 'AddPermissionInput')
         
     | 
| 
       18 
19 
     | 
    
         
             
                AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
         
     | 
| 
       19 
     | 
    
         
            -
                AuthorizationErrorException = Shapes::StructureShape.new(name: 'AuthorizationErrorException')
         
     | 
| 
       20 
     | 
    
         
            -
                BatchEntryIdsNotDistinctException = Shapes::StructureShape.new(name: 'BatchEntryIdsNotDistinctException')
         
     | 
| 
       21 
     | 
    
         
            -
                BatchRequestTooLongException = Shapes::StructureShape.new(name: 'BatchRequestTooLongException')
         
     | 
| 
      
 20 
     | 
    
         
            +
                AuthorizationErrorException = Shapes::StructureShape.new(name: 'AuthorizationErrorException', error: {"code"=>"AuthorizationError", "httpStatusCode"=>403, "senderFault"=>true})
         
     | 
| 
      
 21 
     | 
    
         
            +
                BatchEntryIdsNotDistinctException = Shapes::StructureShape.new(name: 'BatchEntryIdsNotDistinctException', error: {"code"=>"BatchEntryIdsNotDistinct", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
      
 22 
     | 
    
         
            +
                BatchRequestTooLongException = Shapes::StructureShape.new(name: 'BatchRequestTooLongException', error: {"code"=>"BatchRequestTooLong", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       22 
23 
     | 
    
         
             
                BatchResultErrorEntry = Shapes::StructureShape.new(name: 'BatchResultErrorEntry')
         
     | 
| 
       23 
24 
     | 
    
         
             
                BatchResultErrorEntryList = Shapes::ListShape.new(name: 'BatchResultErrorEntryList')
         
     | 
| 
       24 
25 
     | 
    
         
             
                Binary = Shapes::BlobShape.new(name: 'Binary')
         
     | 
| 
       25 
26 
     | 
    
         
             
                CheckIfPhoneNumberIsOptedOutInput = Shapes::StructureShape.new(name: 'CheckIfPhoneNumberIsOptedOutInput')
         
     | 
| 
       26 
27 
     | 
    
         
             
                CheckIfPhoneNumberIsOptedOutResponse = Shapes::StructureShape.new(name: 'CheckIfPhoneNumberIsOptedOutResponse')
         
     | 
| 
       27 
     | 
    
         
            -
                ConcurrentAccessException = Shapes::StructureShape.new(name: 'ConcurrentAccessException')
         
     | 
| 
      
 28 
     | 
    
         
            +
                ConcurrentAccessException = Shapes::StructureShape.new(name: 'ConcurrentAccessException', error: {"code"=>"ConcurrentAccess", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       28 
29 
     | 
    
         
             
                ConfirmSubscriptionInput = Shapes::StructureShape.new(name: 'ConfirmSubscriptionInput')
         
     | 
| 
       29 
30 
     | 
    
         
             
                ConfirmSubscriptionResponse = Shapes::StructureShape.new(name: 'ConfirmSubscriptionResponse')
         
     | 
| 
       30 
31 
     | 
    
         
             
                CreateEndpointResponse = Shapes::StructureShape.new(name: 'CreateEndpointResponse')
         
     | 
| 
         @@ -41,10 +42,10 @@ module Aws::SNS 
     | 
|
| 
       41 
42 
     | 
    
         
             
                DeleteSMSSandboxPhoneNumberInput = Shapes::StructureShape.new(name: 'DeleteSMSSandboxPhoneNumberInput')
         
     | 
| 
       42 
43 
     | 
    
         
             
                DeleteSMSSandboxPhoneNumberResult = Shapes::StructureShape.new(name: 'DeleteSMSSandboxPhoneNumberResult')
         
     | 
| 
       43 
44 
     | 
    
         
             
                DeleteTopicInput = Shapes::StructureShape.new(name: 'DeleteTopicInput')
         
     | 
| 
       44 
     | 
    
         
            -
                EmptyBatchRequestException = Shapes::StructureShape.new(name: 'EmptyBatchRequestException')
         
     | 
| 
      
 45 
     | 
    
         
            +
                EmptyBatchRequestException = Shapes::StructureShape.new(name: 'EmptyBatchRequestException', error: {"code"=>"EmptyBatchRequest", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       45 
46 
     | 
    
         
             
                Endpoint = Shapes::StructureShape.new(name: 'Endpoint')
         
     | 
| 
       46 
     | 
    
         
            -
                EndpointDisabledException = Shapes::StructureShape.new(name: 'EndpointDisabledException')
         
     | 
| 
       47 
     | 
    
         
            -
                FilterPolicyLimitExceededException = Shapes::StructureShape.new(name: 'FilterPolicyLimitExceededException')
         
     | 
| 
      
 47 
     | 
    
         
            +
                EndpointDisabledException = Shapes::StructureShape.new(name: 'EndpointDisabledException', error: {"code"=>"EndpointDisabled", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
      
 48 
     | 
    
         
            +
                FilterPolicyLimitExceededException = Shapes::StructureShape.new(name: 'FilterPolicyLimitExceededException', error: {"code"=>"FilterPolicyLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
         
     | 
| 
       48 
49 
     | 
    
         
             
                GetDataProtectionPolicyInput = Shapes::StructureShape.new(name: 'GetDataProtectionPolicyInput')
         
     | 
| 
       49 
50 
     | 
    
         
             
                GetDataProtectionPolicyResponse = Shapes::StructureShape.new(name: 'GetDataProtectionPolicyResponse')
         
     | 
| 
       50 
51 
     | 
    
         
             
                GetEndpointAttributesInput = Shapes::StructureShape.new(name: 'GetEndpointAttributesInput')
         
     | 
| 
         @@ -59,18 +60,19 @@ module Aws::SNS 
     | 
|
| 
       59 
60 
     | 
    
         
             
                GetSubscriptionAttributesResponse = Shapes::StructureShape.new(name: 'GetSubscriptionAttributesResponse')
         
     | 
| 
       60 
61 
     | 
    
         
             
                GetTopicAttributesInput = Shapes::StructureShape.new(name: 'GetTopicAttributesInput')
         
     | 
| 
       61 
62 
     | 
    
         
             
                GetTopicAttributesResponse = Shapes::StructureShape.new(name: 'GetTopicAttributesResponse')
         
     | 
| 
       62 
     | 
    
         
            -
                InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
         
     | 
| 
       63 
     | 
    
         
            -
                InvalidBatchEntryIdException = Shapes::StructureShape.new(name: 'InvalidBatchEntryIdException')
         
     | 
| 
       64 
     | 
    
         
            -
                InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
         
     | 
| 
       65 
     | 
    
         
            -
                InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException')
         
     | 
| 
       66 
     | 
    
         
            -
                InvalidSecurityException = Shapes::StructureShape.new(name: 'InvalidSecurityException')
         
     | 
| 
      
 63 
     | 
    
         
            +
                InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException', error: {"code"=>"InternalError", "httpStatusCode"=>500})
         
     | 
| 
      
 64 
     | 
    
         
            +
                InvalidBatchEntryIdException = Shapes::StructureShape.new(name: 'InvalidBatchEntryIdException', error: {"code"=>"InvalidBatchEntryId", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
      
 65 
     | 
    
         
            +
                InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException', error: {"code"=>"InvalidParameter", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
      
 66 
     | 
    
         
            +
                InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException', error: {"code"=>"ParameterValueInvalid", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
      
 67 
     | 
    
         
            +
                InvalidSecurityException = Shapes::StructureShape.new(name: 'InvalidSecurityException', error: {"code"=>"InvalidSecurity", "httpStatusCode"=>403, "senderFault"=>true})
         
     | 
| 
      
 68 
     | 
    
         
            +
                InvalidStateException = Shapes::StructureShape.new(name: 'InvalidStateException', error: {"code"=>"InvalidState", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       67 
69 
     | 
    
         
             
                Iso2CountryCode = Shapes::StringShape.new(name: 'Iso2CountryCode')
         
     | 
| 
       68 
     | 
    
         
            -
                KMSAccessDeniedException = Shapes::StructureShape.new(name: 'KMSAccessDeniedException')
         
     | 
| 
       69 
     | 
    
         
            -
                KMSDisabledException = Shapes::StructureShape.new(name: 'KMSDisabledException')
         
     | 
| 
       70 
     | 
    
         
            -
                KMSInvalidStateException = Shapes::StructureShape.new(name: 'KMSInvalidStateException')
         
     | 
| 
       71 
     | 
    
         
            -
                KMSNotFoundException = Shapes::StructureShape.new(name: 'KMSNotFoundException')
         
     | 
| 
       72 
     | 
    
         
            -
                KMSOptInRequired = Shapes::StructureShape.new(name: 'KMSOptInRequired')
         
     | 
| 
       73 
     | 
    
         
            -
                KMSThrottlingException = Shapes::StructureShape.new(name: 'KMSThrottlingException')
         
     | 
| 
      
 70 
     | 
    
         
            +
                KMSAccessDeniedException = Shapes::StructureShape.new(name: 'KMSAccessDeniedException', error: {"code"=>"KMSAccessDenied", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
      
 71 
     | 
    
         
            +
                KMSDisabledException = Shapes::StructureShape.new(name: 'KMSDisabledException', error: {"code"=>"KMSDisabled", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
      
 72 
     | 
    
         
            +
                KMSInvalidStateException = Shapes::StructureShape.new(name: 'KMSInvalidStateException', error: {"code"=>"KMSInvalidState", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
      
 73 
     | 
    
         
            +
                KMSNotFoundException = Shapes::StructureShape.new(name: 'KMSNotFoundException', error: {"code"=>"KMSNotFound", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
      
 74 
     | 
    
         
            +
                KMSOptInRequired = Shapes::StructureShape.new(name: 'KMSOptInRequired', error: {"code"=>"KMSOptInRequired", "httpStatusCode"=>403, "senderFault"=>true})
         
     | 
| 
      
 75 
     | 
    
         
            +
                KMSThrottlingException = Shapes::StructureShape.new(name: 'KMSThrottlingException', error: {"code"=>"KMSThrottling", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       74 
76 
     | 
    
         
             
                LanguageCodeString = Shapes::StringShape.new(name: 'LanguageCodeString')
         
     | 
| 
       75 
77 
     | 
    
         
             
                ListEndpointsByPlatformApplicationInput = Shapes::StructureShape.new(name: 'ListEndpointsByPlatformApplicationInput')
         
     | 
| 
       76 
78 
     | 
    
         
             
                ListEndpointsByPlatformApplicationResponse = Shapes::StructureShape.new(name: 'ListEndpointsByPlatformApplicationResponse')
         
     | 
| 
         @@ -98,20 +100,20 @@ module Aws::SNS 
     | 
|
| 
       98 
100 
     | 
    
         
             
                MaxItemsListOriginationNumbers = Shapes::IntegerShape.new(name: 'MaxItemsListOriginationNumbers')
         
     | 
| 
       99 
101 
     | 
    
         
             
                MessageAttributeMap = Shapes::MapShape.new(name: 'MessageAttributeMap')
         
     | 
| 
       100 
102 
     | 
    
         
             
                MessageAttributeValue = Shapes::StructureShape.new(name: 'MessageAttributeValue')
         
     | 
| 
       101 
     | 
    
         
            -
                NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
         
     | 
| 
      
 103 
     | 
    
         
            +
                NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException', error: {"code"=>"NotFound", "httpStatusCode"=>404, "senderFault"=>true})
         
     | 
| 
       102 
104 
     | 
    
         
             
                NumberCapability = Shapes::StringShape.new(name: 'NumberCapability')
         
     | 
| 
       103 
105 
     | 
    
         
             
                NumberCapabilityList = Shapes::ListShape.new(name: 'NumberCapabilityList')
         
     | 
| 
       104 
106 
     | 
    
         
             
                OTPCode = Shapes::StringShape.new(name: 'OTPCode')
         
     | 
| 
       105 
107 
     | 
    
         
             
                OptInPhoneNumberInput = Shapes::StructureShape.new(name: 'OptInPhoneNumberInput')
         
     | 
| 
       106 
108 
     | 
    
         
             
                OptInPhoneNumberResponse = Shapes::StructureShape.new(name: 'OptInPhoneNumberResponse')
         
     | 
| 
       107 
     | 
    
         
            -
                OptedOutException = Shapes::StructureShape.new(name: 'OptedOutException')
         
     | 
| 
      
 109 
     | 
    
         
            +
                OptedOutException = Shapes::StructureShape.new(name: 'OptedOutException', error: {"code"=>"OptedOut", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       108 
110 
     | 
    
         
             
                PhoneNumber = Shapes::StringShape.new(name: 'PhoneNumber')
         
     | 
| 
       109 
111 
     | 
    
         
             
                PhoneNumberInformation = Shapes::StructureShape.new(name: 'PhoneNumberInformation')
         
     | 
| 
       110 
112 
     | 
    
         
             
                PhoneNumberInformationList = Shapes::ListShape.new(name: 'PhoneNumberInformationList')
         
     | 
| 
       111 
113 
     | 
    
         
             
                PhoneNumberList = Shapes::ListShape.new(name: 'PhoneNumberList')
         
     | 
| 
       112 
114 
     | 
    
         
             
                PhoneNumberString = Shapes::StringShape.new(name: 'PhoneNumberString')
         
     | 
| 
       113 
115 
     | 
    
         
             
                PlatformApplication = Shapes::StructureShape.new(name: 'PlatformApplication')
         
     | 
| 
       114 
     | 
    
         
            -
                PlatformApplicationDisabledException = Shapes::StructureShape.new(name: 'PlatformApplicationDisabledException')
         
     | 
| 
      
 116 
     | 
    
         
            +
                PlatformApplicationDisabledException = Shapes::StructureShape.new(name: 'PlatformApplicationDisabledException', error: {"code"=>"PlatformApplicationDisabled", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       115 
117 
     | 
    
         
             
                PublishBatchInput = Shapes::StructureShape.new(name: 'PublishBatchInput')
         
     | 
| 
       116 
118 
     | 
    
         
             
                PublishBatchRequestEntry = Shapes::StructureShape.new(name: 'PublishBatchRequestEntry')
         
     | 
| 
       117 
119 
     | 
    
         
             
                PublishBatchRequestEntryList = Shapes::ListShape.new(name: 'PublishBatchRequestEntryList')
         
     | 
| 
         @@ -122,7 +124,8 @@ module Aws::SNS 
     | 
|
| 
       122 
124 
     | 
    
         
             
                PublishResponse = Shapes::StructureShape.new(name: 'PublishResponse')
         
     | 
| 
       123 
125 
     | 
    
         
             
                PutDataProtectionPolicyInput = Shapes::StructureShape.new(name: 'PutDataProtectionPolicyInput')
         
     | 
| 
       124 
126 
     | 
    
         
             
                RemovePermissionInput = Shapes::StructureShape.new(name: 'RemovePermissionInput')
         
     | 
| 
       125 
     | 
    
         
            -
                 
     | 
| 
      
 127 
     | 
    
         
            +
                ReplayLimitExceededException = Shapes::StructureShape.new(name: 'ReplayLimitExceededException', error: {"code"=>"ReplayLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
         
     | 
| 
      
 128 
     | 
    
         
            +
                ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException', error: {"code"=>"ResourceNotFound", "httpStatusCode"=>404, "senderFault"=>true})
         
     | 
| 
       126 
129 
     | 
    
         
             
                RouteType = Shapes::StringShape.new(name: 'RouteType')
         
     | 
| 
       127 
130 
     | 
    
         
             
                SMSSandboxPhoneNumber = Shapes::StructureShape.new(name: 'SMSSandboxPhoneNumber')
         
     | 
| 
       128 
131 
     | 
    
         
             
                SMSSandboxPhoneNumberList = Shapes::ListShape.new(name: 'SMSSandboxPhoneNumberList')
         
     | 
| 
         @@ -133,35 +136,35 @@ module Aws::SNS 
     | 
|
| 
       133 
136 
     | 
    
         
             
                SetSMSAttributesResponse = Shapes::StructureShape.new(name: 'SetSMSAttributesResponse')
         
     | 
| 
       134 
137 
     | 
    
         
             
                SetSubscriptionAttributesInput = Shapes::StructureShape.new(name: 'SetSubscriptionAttributesInput')
         
     | 
| 
       135 
138 
     | 
    
         
             
                SetTopicAttributesInput = Shapes::StructureShape.new(name: 'SetTopicAttributesInput')
         
     | 
| 
       136 
     | 
    
         
            -
                StaleTagException = Shapes::StructureShape.new(name: 'StaleTagException')
         
     | 
| 
      
 139 
     | 
    
         
            +
                StaleTagException = Shapes::StructureShape.new(name: 'StaleTagException', error: {"code"=>"StaleTag", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       137 
140 
     | 
    
         
             
                String = Shapes::StringShape.new(name: 'String')
         
     | 
| 
       138 
141 
     | 
    
         
             
                SubscribeInput = Shapes::StructureShape.new(name: 'SubscribeInput')
         
     | 
| 
       139 
142 
     | 
    
         
             
                SubscribeResponse = Shapes::StructureShape.new(name: 'SubscribeResponse')
         
     | 
| 
       140 
143 
     | 
    
         
             
                Subscription = Shapes::StructureShape.new(name: 'Subscription')
         
     | 
| 
       141 
144 
     | 
    
         
             
                SubscriptionAttributesMap = Shapes::MapShape.new(name: 'SubscriptionAttributesMap')
         
     | 
| 
       142 
     | 
    
         
            -
                SubscriptionLimitExceededException = Shapes::StructureShape.new(name: 'SubscriptionLimitExceededException')
         
     | 
| 
      
 145 
     | 
    
         
            +
                SubscriptionLimitExceededException = Shapes::StructureShape.new(name: 'SubscriptionLimitExceededException', error: {"code"=>"SubscriptionLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
         
     | 
| 
       143 
146 
     | 
    
         
             
                SubscriptionsList = Shapes::ListShape.new(name: 'SubscriptionsList')
         
     | 
| 
       144 
147 
     | 
    
         
             
                Tag = Shapes::StructureShape.new(name: 'Tag')
         
     | 
| 
       145 
148 
     | 
    
         
             
                TagKey = Shapes::StringShape.new(name: 'TagKey')
         
     | 
| 
       146 
149 
     | 
    
         
             
                TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
         
     | 
| 
       147 
     | 
    
         
            -
                TagLimitExceededException = Shapes::StructureShape.new(name: 'TagLimitExceededException')
         
     | 
| 
      
 150 
     | 
    
         
            +
                TagLimitExceededException = Shapes::StructureShape.new(name: 'TagLimitExceededException', error: {"code"=>"TagLimitExceeded", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       148 
151 
     | 
    
         
             
                TagList = Shapes::ListShape.new(name: 'TagList')
         
     | 
| 
       149 
     | 
    
         
            -
                TagPolicyException = Shapes::StructureShape.new(name: 'TagPolicyException')
         
     | 
| 
      
 152 
     | 
    
         
            +
                TagPolicyException = Shapes::StructureShape.new(name: 'TagPolicyException', error: {"code"=>"TagPolicy", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       150 
153 
     | 
    
         
             
                TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
         
     | 
| 
       151 
154 
     | 
    
         
             
                TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
         
     | 
| 
       152 
155 
     | 
    
         
             
                TagValue = Shapes::StringShape.new(name: 'TagValue')
         
     | 
| 
       153 
     | 
    
         
            -
                ThrottledException = Shapes::StructureShape.new(name: 'ThrottledException')
         
     | 
| 
      
 156 
     | 
    
         
            +
                ThrottledException = Shapes::StructureShape.new(name: 'ThrottledException', error: {"code"=>"Throttled", "httpStatusCode"=>429, "senderFault"=>true})
         
     | 
| 
       154 
157 
     | 
    
         
             
                Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
         
     | 
| 
       155 
     | 
    
         
            -
                TooManyEntriesInBatchRequestException = Shapes::StructureShape.new(name: 'TooManyEntriesInBatchRequestException')
         
     | 
| 
      
 158 
     | 
    
         
            +
                TooManyEntriesInBatchRequestException = Shapes::StructureShape.new(name: 'TooManyEntriesInBatchRequestException', error: {"code"=>"TooManyEntriesInBatchRequest", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       156 
159 
     | 
    
         
             
                Topic = Shapes::StructureShape.new(name: 'Topic')
         
     | 
| 
       157 
160 
     | 
    
         
             
                TopicAttributesMap = Shapes::MapShape.new(name: 'TopicAttributesMap')
         
     | 
| 
       158 
     | 
    
         
            -
                TopicLimitExceededException = Shapes::StructureShape.new(name: 'TopicLimitExceededException')
         
     | 
| 
      
 161 
     | 
    
         
            +
                TopicLimitExceededException = Shapes::StructureShape.new(name: 'TopicLimitExceededException', error: {"code"=>"TopicLimitExceeded", "httpStatusCode"=>403, "senderFault"=>true})
         
     | 
| 
       159 
162 
     | 
    
         
             
                TopicsList = Shapes::ListShape.new(name: 'TopicsList')
         
     | 
| 
       160 
163 
     | 
    
         
             
                UnsubscribeInput = Shapes::StructureShape.new(name: 'UnsubscribeInput')
         
     | 
| 
       161 
164 
     | 
    
         
             
                UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
         
     | 
| 
       162 
165 
     | 
    
         
             
                UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
         
     | 
| 
       163 
     | 
    
         
            -
                UserErrorException = Shapes::StructureShape.new(name: 'UserErrorException')
         
     | 
| 
       164 
     | 
    
         
            -
                ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
         
     | 
| 
      
 166 
     | 
    
         
            +
                UserErrorException = Shapes::StructureShape.new(name: 'UserErrorException', error: {"code"=>"UserError", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
      
 167 
     | 
    
         
            +
                ValidationException = Shapes::StructureShape.new(name: 'ValidationException', error: {"code"=>"ValidationException", "httpStatusCode"=>400, "senderFault"=>true})
         
     | 
| 
       165 
168 
     | 
    
         
             
                VerificationException = Shapes::StructureShape.new(name: 'VerificationException')
         
     | 
| 
       166 
169 
     | 
    
         
             
                VerifySMSSandboxPhoneNumberInput = Shapes::StructureShape.new(name: 'VerifySMSSandboxPhoneNumberInput')
         
     | 
| 
       167 
170 
     | 
    
         
             
                VerifySMSSandboxPhoneNumberResult = Shapes::StructureShape.new(name: 'VerifySMSSandboxPhoneNumberResult')
         
     | 
| 
         @@ -345,6 +348,9 @@ module Aws::SNS 
     | 
|
| 
       345 
348 
     | 
    
         
             
                InvalidSecurityException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
         
     | 
| 
       346 
349 
     | 
    
         
             
                InvalidSecurityException.struct_class = Types::InvalidSecurityException
         
     | 
| 
       347 
350 
     | 
    
         | 
| 
      
 351 
     | 
    
         
            +
                InvalidStateException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
         
     | 
| 
      
 352 
     | 
    
         
            +
                InvalidStateException.struct_class = Types::InvalidStateException
         
     | 
| 
      
 353 
     | 
    
         
            +
             
     | 
| 
       348 
354 
     | 
    
         
             
                KMSAccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
         
     | 
| 
       349 
355 
     | 
    
         
             
                KMSAccessDeniedException.struct_class = Types::KMSAccessDeniedException
         
     | 
| 
       350 
356 
     | 
    
         | 
| 
         @@ -460,7 +466,7 @@ module Aws::SNS 
     | 
|
| 
       460 
466 
     | 
    
         
             
                OptedOutException.struct_class = Types::OptedOutException
         
     | 
| 
       461 
467 
     | 
    
         | 
| 
       462 
468 
     | 
    
         
             
                PhoneNumberInformation.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedAt"))
         
     | 
| 
       463 
     | 
    
         
            -
                PhoneNumberInformation.add_member(:phone_number, Shapes::ShapeRef.new(shape:  
     | 
| 
      
 469 
     | 
    
         
            +
                PhoneNumberInformation.add_member(:phone_number, Shapes::ShapeRef.new(shape: PhoneNumber, location_name: "PhoneNumber"))
         
     | 
| 
       464 
470 
     | 
    
         
             
                PhoneNumberInformation.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "Status"))
         
     | 
| 
       465 
471 
     | 
    
         
             
                PhoneNumberInformation.add_member(:iso_2_country_code, Shapes::ShapeRef.new(shape: Iso2CountryCode, location_name: "Iso2CountryCode"))
         
     | 
| 
       466 
472 
     | 
    
         
             
                PhoneNumberInformation.add_member(:route_type, Shapes::ShapeRef.new(shape: RouteType, location_name: "RouteType"))
         
     | 
| 
         @@ -506,7 +512,7 @@ module Aws::SNS 
     | 
|
| 
       506 
512 
     | 
    
         | 
| 
       507 
513 
     | 
    
         
             
                PublishInput.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, location_name: "TopicArn"))
         
     | 
| 
       508 
514 
     | 
    
         
             
                PublishInput.add_member(:target_arn, Shapes::ShapeRef.new(shape: String, location_name: "TargetArn"))
         
     | 
| 
       509 
     | 
    
         
            -
                PublishInput.add_member(:phone_number, Shapes::ShapeRef.new(shape:  
     | 
| 
      
 515 
     | 
    
         
            +
                PublishInput.add_member(:phone_number, Shapes::ShapeRef.new(shape: PhoneNumber, location_name: "PhoneNumber"))
         
     | 
| 
       510 
516 
     | 
    
         
             
                PublishInput.add_member(:message, Shapes::ShapeRef.new(shape: message, required: true, location_name: "Message"))
         
     | 
| 
       511 
517 
     | 
    
         
             
                PublishInput.add_member(:subject, Shapes::ShapeRef.new(shape: subject, location_name: "Subject"))
         
     | 
| 
       512 
518 
     | 
    
         
             
                PublishInput.add_member(:message_structure, Shapes::ShapeRef.new(shape: messageStructure, location_name: "MessageStructure"))
         
     | 
| 
         @@ -527,6 +533,9 @@ module Aws::SNS 
     | 
|
| 
       527 
533 
     | 
    
         
             
                RemovePermissionInput.add_member(:label, Shapes::ShapeRef.new(shape: label, required: true, location_name: "Label"))
         
     | 
| 
       528 
534 
     | 
    
         
             
                RemovePermissionInput.struct_class = Types::RemovePermissionInput
         
     | 
| 
       529 
535 
     | 
    
         | 
| 
      
 536 
     | 
    
         
            +
                ReplayLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
         
     | 
| 
      
 537 
     | 
    
         
            +
                ReplayLimitExceededException.struct_class = Types::ReplayLimitExceededException
         
     | 
| 
      
 538 
     | 
    
         
            +
             
     | 
| 
       530 
539 
     | 
    
         
             
                ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
         
     | 
| 
       531 
540 
     | 
    
         
             
                ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
         
     | 
| 
       532 
541 
     | 
    
         | 
| 
         @@ -657,8 +666,10 @@ module Aws::SNS 
     | 
|
| 
       657 
666 
     | 
    
         | 
| 
       658 
667 
     | 
    
         
             
                  api.metadata = {
         
     | 
| 
       659 
668 
     | 
    
         
             
                    "apiVersion" => "2010-03-31",
         
     | 
| 
      
 669 
     | 
    
         
            +
                    "auth" => ["aws.auth#sigv4"],
         
     | 
| 
       660 
670 
     | 
    
         
             
                    "endpointPrefix" => "sns",
         
     | 
| 
       661 
671 
     | 
    
         
             
                    "protocol" => "query",
         
     | 
| 
      
 672 
     | 
    
         
            +
                    "protocols" => ["query"],
         
     | 
| 
       662 
673 
     | 
    
         
             
                    "serviceAbbreviation" => "Amazon SNS",
         
     | 
| 
       663 
674 
     | 
    
         
             
                    "serviceFullName" => "Amazon Simple Notification Service",
         
     | 
| 
       664 
675 
     | 
    
         
             
                    "serviceId" => "SNS",
         
     | 
| 
         @@ -703,6 +714,7 @@ module Aws::SNS 
     | 
|
| 
       703 
714 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
         
     | 
| 
       704 
715 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
         
     | 
| 
       705 
716 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: FilterPolicyLimitExceededException)
         
     | 
| 
      
 717 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ReplayLimitExceededException)
         
     | 
| 
       706 
718 
     | 
    
         
             
                  end)
         
     | 
| 
       707 
719 
     | 
    
         | 
| 
       708 
720 
     | 
    
         
             
                  api.add_operation(:create_platform_application, Seahorse::Model::Operation.new.tap do |o|
         
     | 
| 
         @@ -802,6 +814,7 @@ module Aws::SNS 
     | 
|
| 
       802 
814 
     | 
    
         
             
                    o.input = Shapes::ShapeRef.new(shape: DeleteTopicInput)
         
     | 
| 
       803 
815 
     | 
    
         
             
                    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
         
     | 
| 
       804 
816 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
         
     | 
| 
      
 817 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: InvalidStateException)
         
     | 
| 
       805 
818 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
         
     | 
| 
       806 
819 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
         
     | 
| 
       807 
820 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
         
     | 
| 
         @@ -1177,6 +1190,7 @@ module Aws::SNS 
     | 
|
| 
       1177 
1190 
     | 
    
         
             
                    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
         
     | 
| 
       1178 
1191 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
         
     | 
| 
       1179 
1192 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: FilterPolicyLimitExceededException)
         
     | 
| 
      
 1193 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ReplayLimitExceededException)
         
     | 
| 
       1180 
1194 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
         
     | 
| 
       1181 
1195 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
         
     | 
| 
       1182 
1196 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
         
     | 
| 
         @@ -1203,6 +1217,7 @@ module Aws::SNS 
     | 
|
| 
       1203 
1217 
     | 
    
         
             
                    o.output = Shapes::ShapeRef.new(shape: SubscribeResponse)
         
     | 
| 
       1204 
1218 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: SubscriptionLimitExceededException)
         
     | 
| 
       1205 
1219 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: FilterPolicyLimitExceededException)
         
     | 
| 
      
 1220 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ReplayLimitExceededException)
         
     | 
| 
       1206 
1221 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
         
     | 
| 
       1207 
1222 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
         
     | 
| 
       1208 
1223 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
         
     | 
| 
         @@ -52,15 +52,18 @@ module Aws::SNS 
     | 
|
| 
       52 
52 
     | 
    
         
             
                  self[:region] = options[:region]
         
     | 
| 
       53 
53 
     | 
    
         
             
                  self[:use_dual_stack] = options[:use_dual_stack]
         
     | 
| 
       54 
54 
     | 
    
         
             
                  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
         
     | 
| 
       55 
     | 
    
         
            -
                  if self[:use_dual_stack].nil?
         
     | 
| 
       56 
     | 
    
         
            -
                    raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
         
     | 
| 
       57 
     | 
    
         
            -
                  end
         
     | 
| 
       58 
55 
     | 
    
         
             
                  self[:use_fips] = options[:use_fips]
         
     | 
| 
       59 
56 
     | 
    
         
             
                  self[:use_fips] = false if self[:use_fips].nil?
         
     | 
| 
       60 
     | 
    
         
            -
                  if self[:use_fips].nil?
         
     | 
| 
       61 
     | 
    
         
            -
                    raise ArgumentError, "Missing required EndpointParameter: :use_fips"
         
     | 
| 
       62 
     | 
    
         
            -
                  end
         
     | 
| 
       63 
57 
     | 
    
         
             
                  self[:endpoint] = options[:endpoint]
         
     | 
| 
       64 
58 
     | 
    
         
             
                end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                def self.create(config, options={})
         
     | 
| 
      
 61 
     | 
    
         
            +
                  new({
         
     | 
| 
      
 62 
     | 
    
         
            +
                    region: config.region,
         
     | 
| 
      
 63 
     | 
    
         
            +
                    use_dual_stack: config.use_dualstack_endpoint,
         
     | 
| 
      
 64 
     | 
    
         
            +
                    use_fips: config.use_fips_endpoint,
         
     | 
| 
      
 65 
     | 
    
         
            +
                    endpoint: (config.endpoint.to_s unless config.regional_endpoint),
         
     | 
| 
      
 66 
     | 
    
         
            +
                  }.merge(options))
         
     | 
| 
      
 67 
     | 
    
         
            +
                end
         
     | 
| 
       65 
68 
     | 
    
         
             
              end
         
     | 
| 
       66 
69 
     | 
    
         
             
            end
         
     | 
| 
         @@ -10,46 +10,42 @@ 
     | 
|
| 
       10 
10 
     | 
    
         
             
            module Aws::SNS
         
     | 
| 
       11 
11 
     | 
    
         
             
              class EndpointProvider
         
     | 
| 
       12 
12 
     | 
    
         
             
                def resolve_endpoint(parameters)
         
     | 
| 
       13 
     | 
    
         
            -
                   
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                  use_fips = parameters.use_fips
         
     | 
| 
       16 
     | 
    
         
            -
                  endpoint = parameters.endpoint
         
     | 
| 
       17 
     | 
    
         
            -
                  if Aws::Endpoints::Matchers.set?(endpoint)
         
     | 
| 
       18 
     | 
    
         
            -
                    if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
         
     | 
| 
      
 13 
     | 
    
         
            +
                  if Aws::Endpoints::Matchers.set?(parameters.endpoint)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
         
     | 
| 
       19 
15 
     | 
    
         
             
                      raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
         
     | 
| 
       20 
16 
     | 
    
         
             
                    end
         
     | 
| 
       21 
     | 
    
         
            -
                    if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
         
     | 
| 
      
 17 
     | 
    
         
            +
                    if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
         
     | 
| 
       22 
18 
     | 
    
         
             
                      raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
         
     | 
| 
       23 
19 
     | 
    
         
             
                    end
         
     | 
| 
       24 
     | 
    
         
            -
                    return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
         
     | 
| 
      
 20 
     | 
    
         
            +
                    return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
         
     | 
| 
       25 
21 
     | 
    
         
             
                  end
         
     | 
| 
       26 
     | 
    
         
            -
                  if Aws::Endpoints::Matchers.set?(region)
         
     | 
| 
       27 
     | 
    
         
            -
                    if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
         
     | 
| 
       28 
     | 
    
         
            -
                      if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
         
     | 
| 
      
 22 
     | 
    
         
            +
                  if Aws::Endpoints::Matchers.set?(parameters.region)
         
     | 
| 
      
 23 
     | 
    
         
            +
                    if (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region))
         
     | 
| 
      
 24 
     | 
    
         
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
         
     | 
| 
       29 
25 
     | 
    
         
             
                        if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
         
     | 
| 
       30 
     | 
    
         
            -
                          return Aws::Endpoints::Endpoint.new(url: "https://sns-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
         
     | 
| 
      
 26 
     | 
    
         
            +
                          return Aws::Endpoints::Endpoint.new(url: "https://sns-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
         
     | 
| 
       31 
27 
     | 
    
         
             
                        end
         
     | 
| 
       32 
28 
     | 
    
         
             
                        raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
         
     | 
| 
       33 
29 
     | 
    
         
             
                      end
         
     | 
| 
       34 
     | 
    
         
            -
                      if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
         
     | 
| 
       35 
     | 
    
         
            -
                        if Aws::Endpoints::Matchers.boolean_equals?( 
     | 
| 
       36 
     | 
    
         
            -
                          if Aws::Endpoints::Matchers.string_equals?(region, "us-gov-east-1")
         
     | 
| 
      
 30 
     | 
    
         
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
         
     | 
| 
      
 31 
     | 
    
         
            +
                        if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
         
     | 
| 
      
 32 
     | 
    
         
            +
                          if Aws::Endpoints::Matchers.string_equals?(parameters.region, "us-gov-east-1")
         
     | 
| 
       37 
33 
     | 
    
         
             
                            return Aws::Endpoints::Endpoint.new(url: "https://sns.us-gov-east-1.amazonaws.com", headers: {}, properties: {})
         
     | 
| 
       38 
34 
     | 
    
         
             
                          end
         
     | 
| 
       39 
     | 
    
         
            -
                          if Aws::Endpoints::Matchers.string_equals?(region, "us-gov-west-1")
         
     | 
| 
      
 35 
     | 
    
         
            +
                          if Aws::Endpoints::Matchers.string_equals?(parameters.region, "us-gov-west-1")
         
     | 
| 
       40 
36 
     | 
    
         
             
                            return Aws::Endpoints::Endpoint.new(url: "https://sns.us-gov-west-1.amazonaws.com", headers: {}, properties: {})
         
     | 
| 
       41 
37 
     | 
    
         
             
                          end
         
     | 
| 
       42 
     | 
    
         
            -
                          return Aws::Endpoints::Endpoint.new(url: "https://sns-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
         
     | 
| 
      
 38 
     | 
    
         
            +
                          return Aws::Endpoints::Endpoint.new(url: "https://sns-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
         
     | 
| 
       43 
39 
     | 
    
         
             
                        end
         
     | 
| 
       44 
40 
     | 
    
         
             
                        raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
         
     | 
| 
       45 
41 
     | 
    
         
             
                      end
         
     | 
| 
       46 
     | 
    
         
            -
                      if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
         
     | 
| 
      
 42 
     | 
    
         
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
         
     | 
| 
       47 
43 
     | 
    
         
             
                        if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
         
     | 
| 
       48 
     | 
    
         
            -
                          return Aws::Endpoints::Endpoint.new(url: "https://sns.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
         
     | 
| 
      
 44 
     | 
    
         
            +
                          return Aws::Endpoints::Endpoint.new(url: "https://sns.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
         
     | 
| 
       49 
45 
     | 
    
         
             
                        end
         
     | 
| 
       50 
46 
     | 
    
         
             
                        raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
         
     | 
| 
       51 
47 
     | 
    
         
             
                      end
         
     | 
| 
       52 
     | 
    
         
            -
                      return Aws::Endpoints::Endpoint.new(url: "https://sns.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
         
     | 
| 
      
 48 
     | 
    
         
            +
                      return Aws::Endpoints::Endpoint.new(url: "https://sns.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
         
     | 
| 
       53 
49 
     | 
    
         
             
                    end
         
     | 
| 
       54 
50 
     | 
    
         
             
                  end
         
     | 
| 
       55 
51 
     | 
    
         
             
                  raise ArgumentError, "Invalid Configuration: Missing Region"
         
     |