aws-sdk-sns 1.55.0 → 1.57.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 +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-sns/client.rb +84 -4
- data/lib/aws-sdk-sns/endpoint_parameters.rb +66 -0
- data/lib/aws-sdk-sns/endpoint_provider.rb +119 -0
- data/lib/aws-sdk-sns/endpoints.rb +603 -0
- data/lib/aws-sdk-sns/plugins/endpoints.rb +152 -0
- data/lib/aws-sdk-sns/resource.rb +13 -0
- data/lib/aws-sdk-sns/subscription.rb +16 -0
- data/lib/aws-sdk-sns/topic.rb +43 -3
- data/lib/aws-sdk-sns/types.rb +75 -414
- data/lib/aws-sdk-sns.rb +5 -1
- metadata +8 -4
@@ -0,0 +1,152 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# WARNING ABOUT GENERATED CODE
|
4
|
+
#
|
5
|
+
# This file is generated. See the contributing guide for more information:
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
|
+
#
|
8
|
+
# WARNING ABOUT GENERATED CODE
|
9
|
+
|
10
|
+
|
11
|
+
module Aws::SNS
|
12
|
+
module Plugins
|
13
|
+
class Endpoints < Seahorse::Client::Plugin
|
14
|
+
option(
|
15
|
+
:endpoint_provider,
|
16
|
+
doc_type: 'Aws::SNS::EndpointProvider',
|
17
|
+
docstring: 'The endpoint provider used to resolve endpoints. Any '\
|
18
|
+
'object that responds to `#resolve_endpoint(parameters)` '\
|
19
|
+
'where `parameters` is a Struct similar to '\
|
20
|
+
'`Aws::SNS::EndpointParameters`'
|
21
|
+
) do |cfg|
|
22
|
+
Aws::SNS::EndpointProvider.new
|
23
|
+
end
|
24
|
+
|
25
|
+
# @api private
|
26
|
+
class Handler < Seahorse::Client::Handler
|
27
|
+
def call(context)
|
28
|
+
# If endpoint was discovered, do not resolve or apply the endpoint.
|
29
|
+
unless context[:discovered_endpoint]
|
30
|
+
params = parameters_for_operation(context)
|
31
|
+
endpoint = context.config.endpoint_provider.resolve_endpoint(params)
|
32
|
+
|
33
|
+
context.http_request.endpoint = endpoint.url
|
34
|
+
apply_endpoint_headers(context, endpoint.headers)
|
35
|
+
end
|
36
|
+
|
37
|
+
context[:endpoint_params] = params
|
38
|
+
context[:auth_scheme] =
|
39
|
+
Aws::Endpoints.resolve_auth_scheme(context, endpoint)
|
40
|
+
|
41
|
+
@handler.call(context)
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def apply_endpoint_headers(context, headers)
|
47
|
+
headers.each do |key, values|
|
48
|
+
value = values
|
49
|
+
.compact
|
50
|
+
.map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
|
51
|
+
.join(',')
|
52
|
+
|
53
|
+
context.http_request.headers[key] = value
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def parameters_for_operation(context)
|
58
|
+
case context.operation_name
|
59
|
+
when :add_permission
|
60
|
+
Aws::SNS::Endpoints::AddPermission.build(context)
|
61
|
+
when :check_if_phone_number_is_opted_out
|
62
|
+
Aws::SNS::Endpoints::CheckIfPhoneNumberIsOptedOut.build(context)
|
63
|
+
when :confirm_subscription
|
64
|
+
Aws::SNS::Endpoints::ConfirmSubscription.build(context)
|
65
|
+
when :create_platform_application
|
66
|
+
Aws::SNS::Endpoints::CreatePlatformApplication.build(context)
|
67
|
+
when :create_platform_endpoint
|
68
|
+
Aws::SNS::Endpoints::CreatePlatformEndpoint.build(context)
|
69
|
+
when :create_sms_sandbox_phone_number
|
70
|
+
Aws::SNS::Endpoints::CreateSMSSandboxPhoneNumber.build(context)
|
71
|
+
when :create_topic
|
72
|
+
Aws::SNS::Endpoints::CreateTopic.build(context)
|
73
|
+
when :delete_endpoint
|
74
|
+
Aws::SNS::Endpoints::DeleteEndpoint.build(context)
|
75
|
+
when :delete_platform_application
|
76
|
+
Aws::SNS::Endpoints::DeletePlatformApplication.build(context)
|
77
|
+
when :delete_sms_sandbox_phone_number
|
78
|
+
Aws::SNS::Endpoints::DeleteSMSSandboxPhoneNumber.build(context)
|
79
|
+
when :delete_topic
|
80
|
+
Aws::SNS::Endpoints::DeleteTopic.build(context)
|
81
|
+
when :get_data_protection_policy
|
82
|
+
Aws::SNS::Endpoints::GetDataProtectionPolicy.build(context)
|
83
|
+
when :get_endpoint_attributes
|
84
|
+
Aws::SNS::Endpoints::GetEndpointAttributes.build(context)
|
85
|
+
when :get_platform_application_attributes
|
86
|
+
Aws::SNS::Endpoints::GetPlatformApplicationAttributes.build(context)
|
87
|
+
when :get_sms_attributes
|
88
|
+
Aws::SNS::Endpoints::GetSMSAttributes.build(context)
|
89
|
+
when :get_sms_sandbox_account_status
|
90
|
+
Aws::SNS::Endpoints::GetSMSSandboxAccountStatus.build(context)
|
91
|
+
when :get_subscription_attributes
|
92
|
+
Aws::SNS::Endpoints::GetSubscriptionAttributes.build(context)
|
93
|
+
when :get_topic_attributes
|
94
|
+
Aws::SNS::Endpoints::GetTopicAttributes.build(context)
|
95
|
+
when :list_endpoints_by_platform_application
|
96
|
+
Aws::SNS::Endpoints::ListEndpointsByPlatformApplication.build(context)
|
97
|
+
when :list_origination_numbers
|
98
|
+
Aws::SNS::Endpoints::ListOriginationNumbers.build(context)
|
99
|
+
when :list_phone_numbers_opted_out
|
100
|
+
Aws::SNS::Endpoints::ListPhoneNumbersOptedOut.build(context)
|
101
|
+
when :list_platform_applications
|
102
|
+
Aws::SNS::Endpoints::ListPlatformApplications.build(context)
|
103
|
+
when :list_sms_sandbox_phone_numbers
|
104
|
+
Aws::SNS::Endpoints::ListSMSSandboxPhoneNumbers.build(context)
|
105
|
+
when :list_subscriptions
|
106
|
+
Aws::SNS::Endpoints::ListSubscriptions.build(context)
|
107
|
+
when :list_subscriptions_by_topic
|
108
|
+
Aws::SNS::Endpoints::ListSubscriptionsByTopic.build(context)
|
109
|
+
when :list_tags_for_resource
|
110
|
+
Aws::SNS::Endpoints::ListTagsForResource.build(context)
|
111
|
+
when :list_topics
|
112
|
+
Aws::SNS::Endpoints::ListTopics.build(context)
|
113
|
+
when :opt_in_phone_number
|
114
|
+
Aws::SNS::Endpoints::OptInPhoneNumber.build(context)
|
115
|
+
when :publish
|
116
|
+
Aws::SNS::Endpoints::Publish.build(context)
|
117
|
+
when :publish_batch
|
118
|
+
Aws::SNS::Endpoints::PublishBatch.build(context)
|
119
|
+
when :put_data_protection_policy
|
120
|
+
Aws::SNS::Endpoints::PutDataProtectionPolicy.build(context)
|
121
|
+
when :remove_permission
|
122
|
+
Aws::SNS::Endpoints::RemovePermission.build(context)
|
123
|
+
when :set_endpoint_attributes
|
124
|
+
Aws::SNS::Endpoints::SetEndpointAttributes.build(context)
|
125
|
+
when :set_platform_application_attributes
|
126
|
+
Aws::SNS::Endpoints::SetPlatformApplicationAttributes.build(context)
|
127
|
+
when :set_sms_attributes
|
128
|
+
Aws::SNS::Endpoints::SetSMSAttributes.build(context)
|
129
|
+
when :set_subscription_attributes
|
130
|
+
Aws::SNS::Endpoints::SetSubscriptionAttributes.build(context)
|
131
|
+
when :set_topic_attributes
|
132
|
+
Aws::SNS::Endpoints::SetTopicAttributes.build(context)
|
133
|
+
when :subscribe
|
134
|
+
Aws::SNS::Endpoints::Subscribe.build(context)
|
135
|
+
when :tag_resource
|
136
|
+
Aws::SNS::Endpoints::TagResource.build(context)
|
137
|
+
when :unsubscribe
|
138
|
+
Aws::SNS::Endpoints::Unsubscribe.build(context)
|
139
|
+
when :untag_resource
|
140
|
+
Aws::SNS::Endpoints::UntagResource.build(context)
|
141
|
+
when :verify_sms_sandbox_phone_number
|
142
|
+
Aws::SNS::Endpoints::VerifySMSSandboxPhoneNumber.build(context)
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
def add_handlers(handlers, _config)
|
148
|
+
handlers.add(Handler, step: :build, priority: 75)
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
data/lib/aws-sdk-sns/resource.rb
CHANGED
@@ -110,6 +110,19 @@ module Aws::SNS
|
|
110
110
|
# * `Policy` – The policy that defines who can access your topic. By
|
111
111
|
# default, only the topic owner can publish or subscribe to the topic.
|
112
112
|
#
|
113
|
+
# * `SignatureVersion` – The signature version corresponds to the
|
114
|
+
# hashing algorithm used while creating the signature of the
|
115
|
+
# notifications, subscription confirmations, or unsubscribe
|
116
|
+
# confirmation messages sent by Amazon SNS. By default,
|
117
|
+
# `SignatureVersion` is set to 1.
|
118
|
+
#
|
119
|
+
# * `TracingConfig` – Tracing mode of an Amazon SNS topic. By default
|
120
|
+
# `TracingConfig` is set to `PassThrough`, and the topic passes
|
121
|
+
# through the tracing header it receives from an Amazon SNS publisher
|
122
|
+
# to its subscriptions. If set to Active, Amazon SNS will vend X-Ray
|
123
|
+
# segment data to topic owner account if the sampled flag in the
|
124
|
+
# tracing header is true. This is only supported on standard topics.
|
125
|
+
#
|
113
126
|
# The following attribute applies only to [server-side encryption][1]\:
|
114
127
|
#
|
115
128
|
# * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
|
@@ -51,6 +51,14 @@ module Aws::SNS
|
|
51
51
|
# subscription. For more information, see [Amazon SNS Message
|
52
52
|
# Filtering][1] in the *Amazon SNS Developer Guide*.
|
53
53
|
#
|
54
|
+
# * `FilterPolicyScope` – This attribute lets you choose the filtering
|
55
|
+
# scope by using one of the following string value types:
|
56
|
+
#
|
57
|
+
# * `MessageAttributes` (default) – The filter is applied on the
|
58
|
+
# message attributes.
|
59
|
+
#
|
60
|
+
# * `MessageBody` – The filter is applied on the message body.
|
61
|
+
#
|
54
62
|
# * `Owner` – The Amazon Web Services account ID of the subscription's
|
55
63
|
# owner.
|
56
64
|
#
|
@@ -165,6 +173,14 @@ module Aws::SNS
|
|
165
173
|
# receive only a subset of messages, rather than receiving every
|
166
174
|
# message published to the topic.
|
167
175
|
#
|
176
|
+
# * `FilterPolicyScope` – This attribute lets you choose the filtering
|
177
|
+
# scope by using one of the following string value types:
|
178
|
+
#
|
179
|
+
# * `MessageAttributes` (default) – The filter is applied on the
|
180
|
+
# message attributes.
|
181
|
+
#
|
182
|
+
# * `MessageBody` – The filter is applied on the message body.
|
183
|
+
#
|
168
184
|
# * `RawMessageDelivery` – When set to `true`, enables raw message
|
169
185
|
# delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
|
170
186
|
# for the endpoints to process JSON formatting, which is otherwise
|
data/lib/aws-sdk-sns/topic.rb
CHANGED
@@ -43,11 +43,29 @@ module Aws::SNS
|
|
43
43
|
# * `DisplayName` – The human-readable name used in the `From` field for
|
44
44
|
# notifications to `email` and `email-json` endpoints.
|
45
45
|
#
|
46
|
+
# * `EffectiveDeliveryPolicy` – The JSON serialization of the effective
|
47
|
+
# delivery policy, taking system defaults into account.
|
48
|
+
#
|
46
49
|
# * `Owner` – The Amazon Web Services account ID of the topic's owner.
|
47
50
|
#
|
48
51
|
# * `Policy` – The JSON serialization of the topic's access control
|
49
52
|
# policy.
|
50
53
|
#
|
54
|
+
# * `SignatureVersion` – The version of the Amazon SNS signature used
|
55
|
+
# for the topic.
|
56
|
+
#
|
57
|
+
# * By default, `SignatureVersion` is set to **1**. The signature is a
|
58
|
+
# Base64-encoded **SHA1withRSA** signature.
|
59
|
+
#
|
60
|
+
# * When you set `SignatureVersion` to **2**. Amazon SNS uses a
|
61
|
+
# Base64-encoded **SHA256withRSA** signature.
|
62
|
+
#
|
63
|
+
# <note markdown="1"> If the API response does not include the `SignatureVersion`
|
64
|
+
# attribute, it means that the `SignatureVersion` for the topic has
|
65
|
+
# value **1**.
|
66
|
+
#
|
67
|
+
# </note>
|
68
|
+
#
|
51
69
|
# * `SubscriptionsConfirmed` – The number of confirmed subscriptions for
|
52
70
|
# the topic.
|
53
71
|
#
|
@@ -59,8 +77,12 @@ module Aws::SNS
|
|
59
77
|
#
|
60
78
|
# * `TopicArn` – The topic's ARN.
|
61
79
|
#
|
62
|
-
# * `
|
63
|
-
#
|
80
|
+
# * `TracingConfig` – Tracing mode of an Amazon SNS topic. By default
|
81
|
+
# `TracingConfig` is set to `PassThrough`, and the topic passes
|
82
|
+
# through the tracing header it receives from an Amazon SNS publisher
|
83
|
+
# to its subscriptions. If set to Active, Amazon SNS will vend X-Ray
|
84
|
+
# segment data to topic owner account if the sampled flag in the
|
85
|
+
# tracing header is true. This is only supported on standard topics.
|
64
86
|
#
|
65
87
|
# The following attribute applies only to [server-side-encryption][1]\:
|
66
88
|
#
|
@@ -380,6 +402,13 @@ module Aws::SNS
|
|
380
402
|
# * `Policy` – The policy that defines who can access your topic. By
|
381
403
|
# default, only the topic owner can publish or subscribe to the topic.
|
382
404
|
#
|
405
|
+
# * `TracingConfig` – Tracing mode of an Amazon SNS topic. By default
|
406
|
+
# `TracingConfig` is set to `PassThrough`, and the topic passes
|
407
|
+
# through the tracing header it receives from an Amazon SNS publisher
|
408
|
+
# to its subscriptions. If set to Active, Amazon SNS will vend X-Ray
|
409
|
+
# segment data to topic owner account if the sampled flag in the
|
410
|
+
# tracing header is true. This is only supported on standard topics.
|
411
|
+
#
|
383
412
|
# The following attribute applies only to [server-side-encryption][1]\:
|
384
413
|
#
|
385
414
|
# * `KmsMasterKeyId` – The ID of an Amazon Web Services managed customer
|
@@ -387,7 +416,10 @@ module Aws::SNS
|
|
387
416
|
# information, see [Key Terms][2]. For more examples, see [KeyId][3]
|
388
417
|
# in the *Key Management Service API Reference*.
|
389
418
|
#
|
390
|
-
#
|
419
|
+
# * `SignatureVersion` – The signature version corresponds to the
|
420
|
+
# hashing algorithm used while creating the signature of the
|
421
|
+
# notifications, subscription confirmations, or unsubscribe
|
422
|
+
# confirmation messages sent by Amazon SNS.
|
391
423
|
#
|
392
424
|
# The following attribute applies only to [FIFO topics][4]\:
|
393
425
|
#
|
@@ -497,6 +529,14 @@ module Aws::SNS
|
|
497
529
|
# receive only a subset of messages, rather than receiving every
|
498
530
|
# message published to the topic.
|
499
531
|
#
|
532
|
+
# * `FilterPolicyScope` – This attribute lets you choose the filtering
|
533
|
+
# scope by using one of the following string value types:
|
534
|
+
#
|
535
|
+
# * `MessageAttributes` (default) – The filter is applied on the
|
536
|
+
# message attributes.
|
537
|
+
#
|
538
|
+
# * `MessageBody` – The filter is applied on the message body.
|
539
|
+
#
|
500
540
|
# * `RawMessageDelivery` – When set to `true`, enables raw message
|
501
541
|
# delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
|
502
542
|
# for the endpoints to process JSON formatting, which is otherwise
|