aws-sdk-sns 1.67.0 → 1.92.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -45,6 +45,13 @@ module Aws::SNS
45
45
  # * `ApplePlatformBundleID` – The app identifier used to configure
46
46
  # token-based authentication.
47
47
  #
48
+ # * `AuthenticationMethod` – Returns the credential type used when
49
+ # sending push notifications from application to APNS/APNS\_Sandbox,
50
+ # or application to GCM.
51
+ #
52
+ # * APNS – Returns the token or certificate.
53
+ #
54
+ # * GCM – Returns the token or key.
48
55
  # * `EventEndpointCreated` – Topic ARN to which EndpointCreated event
49
56
  # notifications should be sent.
50
57
  #
@@ -76,7 +83,7 @@ module Aws::SNS
76
83
  #
77
84
  # @return [self]
78
85
  def load
79
- resp = Aws::Plugins::UserAgent.feature('resource') do
86
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
80
87
  @client.get_platform_application_attributes(platform_application_arn: @arn)
81
88
  end
82
89
  @data = resp.data
@@ -122,7 +129,7 @@ module Aws::SNS
122
129
  # Arbitrary user data to associate with the endpoint. Amazon SNS does
123
130
  # not use this data. The data must be in UTF-8 format and less than 2KB.
124
131
  # @option options [Hash<String,String>] :attributes
125
- # For a list of attributes, see [SetEndpointAttributes][1].
132
+ # For a list of attributes, see [ `SetEndpointAttributes` ][1].
126
133
  #
127
134
  #
128
135
  #
@@ -130,7 +137,7 @@ module Aws::SNS
130
137
  # @return [PlatformEndpoint]
131
138
  def create_platform_endpoint(options = {})
132
139
  options = options.merge(platform_application_arn: @arn)
133
- resp = Aws::Plugins::UserAgent.feature('resource') do
140
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
134
141
  @client.create_platform_endpoint(options)
135
142
  end
136
143
  PlatformEndpoint.new(
@@ -146,7 +153,7 @@ module Aws::SNS
146
153
  # @return [EmptyStructure]
147
154
  def delete(options = {})
148
155
  options = options.merge(platform_application_arn: @arn)
149
- resp = Aws::Plugins::UserAgent.feature('resource') do
156
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
150
157
  @client.delete_platform_application(options)
151
158
  end
152
159
  resp.data
@@ -175,8 +182,16 @@ module Aws::SNS
175
182
  # * For Apple Services using token credentials, `PlatformCredential`
176
183
  # is signing key.
177
184
  #
178
- # * For GCM (Firebase Cloud Messaging), `PlatformCredential` is API
179
- # key.
185
+ # * For GCM (Firebase Cloud Messaging) using key credentials, there is
186
+ # no `PlatformPrincipal`. The `PlatformCredential` is `API key`.
187
+ #
188
+ # * For GCM (Firebase Cloud Messaging) using token credentials, there
189
+ # is no `PlatformPrincipal`. The `PlatformCredential` is a JSON
190
+ # formatted private key file. When using the Amazon Web Services
191
+ # CLI, the file must be in string format and special characters must
192
+ # be ignored. To format the file correctly, Amazon SNS recommends
193
+ # using the following command: `` SERVICE_JSON=`jq @json <<< cat
194
+ # service.json` ``.
180
195
  # ^
181
196
  #
182
197
  # * `PlatformPrincipal` – The principal received from the notification
@@ -227,7 +242,7 @@ module Aws::SNS
227
242
  # @return [EmptyStructure]
228
243
  def set_attributes(options = {})
229
244
  options = options.merge(platform_application_arn: @arn)
230
- resp = Aws::Plugins::UserAgent.feature('resource') do
245
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
231
246
  @client.set_platform_application_attributes(options)
232
247
  end
233
248
  resp.data
@@ -243,7 +258,7 @@ module Aws::SNS
243
258
  def endpoints(options = {})
244
259
  batches = Enumerator.new do |y|
245
260
  options = options.merge(platform_application_arn: @arn)
246
- resp = Aws::Plugins::UserAgent.feature('resource') do
261
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
247
262
  @client.list_endpoints_by_platform_application(options)
248
263
  end
249
264
  resp.each_page do |page|
@@ -72,7 +72,7 @@ module Aws::SNS
72
72
  #
73
73
  # @return [self]
74
74
  def load
75
- resp = Aws::Plugins::UserAgent.feature('resource') do
75
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
76
76
  @client.get_endpoint_attributes(endpoint_arn: @arn)
77
77
  end
78
78
  @data = resp.data
@@ -104,7 +104,7 @@ module Aws::SNS
104
104
  # @return [EmptyStructure]
105
105
  def delete(options = {})
106
106
  options = options.merge(endpoint_arn: @arn)
107
- resp = Aws::Plugins::UserAgent.feature('resource') do
107
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
108
108
  @client.delete_endpoint(options)
109
109
  end
110
110
  resp.data
@@ -114,7 +114,7 @@ module Aws::SNS
114
114
  #
115
115
  # platform_endpoint.publish({
116
116
  # topic_arn: "topicARN",
117
- # phone_number: "String",
117
+ # phone_number: "PhoneNumber",
118
118
  # message: "message", # required
119
119
  # subject: "subject",
120
120
  # message_structure: "messageStructure",
@@ -200,9 +200,8 @@ module Aws::SNS
200
200
  # is delivered to email endpoints. This field will also be included, if
201
201
  # present, in the standard JSON messages delivered to other endpoints.
202
202
  #
203
- # Constraints: Subjects must be ASCII text that begins with a letter,
204
- # number, or punctuation mark; must not include line breaks or control
205
- # characters; and must be less than 100 characters long.
203
+ # Constraints: Subjects must be UTF-8 text with no line breaks or
204
+ # control characters, and less than 100 characters long.
206
205
  # @option options [String] :message_structure
207
206
  # Set `MessageStructure` to `json` if you want to send a different
208
207
  # message for each protocol. For example, using one publish action, you
@@ -225,7 +224,7 @@ module Aws::SNS
225
224
  # This parameter applies only to FIFO (first-in-first-out) topics. The
226
225
  # `MessageDeduplicationId` can contain up to 128 alphanumeric characters
227
226
  # `(a-z, A-Z, 0-9)` and punctuation ``
228
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
227
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
229
228
  #
230
229
  # Every message must have a unique `MessageDeduplicationId`, which is a
231
230
  # token used for deduplication of sent messages. If a message with a
@@ -239,7 +238,7 @@ module Aws::SNS
239
238
  # @option options [String] :message_group_id
240
239
  # This parameter applies only to FIFO (first-in-first-out) topics. The
241
240
  # `MessageGroupId` can contain up to 128 alphanumeric characters `(a-z,
242
- # A-Z, 0-9)` and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
241
+ # A-Z, 0-9)` and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
243
242
  #
244
243
  # The `MessageGroupId` is a tag that specifies that a message belongs to
245
244
  # a specific message group. Messages that belong to the same message
@@ -249,7 +248,7 @@ module Aws::SNS
249
248
  # @return [Types::PublishResponse]
250
249
  def publish(options = {})
251
250
  options = options.merge(target_arn: @arn)
252
- resp = Aws::Plugins::UserAgent.feature('resource') do
251
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
253
252
  @client.publish(options)
254
253
  end
255
254
  resp.data
@@ -283,7 +282,7 @@ module Aws::SNS
283
282
  # @return [EmptyStructure]
284
283
  def set_attributes(options = {})
285
284
  options = options.merge(endpoint_arn: @arn)
286
- resp = Aws::Plugins::UserAgent.feature('resource') do
285
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
287
286
  @client.set_endpoint_attributes(options)
288
287
  end
289
288
  resp.data
@@ -14,35 +14,49 @@ module Aws::SNS
14
14
  option(
15
15
  :endpoint_provider,
16
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|
17
+ rbs_type: 'untyped',
18
+ docstring: <<~DOCS) do |_cfg|
19
+ The endpoint provider used to resolve endpoints. Any object that responds to
20
+ `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
21
+ `Aws::SNS::EndpointParameters`.
22
+ DOCS
22
23
  Aws::SNS::EndpointProvider.new
23
24
  end
24
25
 
25
26
  # @api private
26
27
  class Handler < Seahorse::Client::Handler
27
28
  def call(context)
28
- # If endpoint was discovered, do not resolve or apply the endpoint.
29
29
  unless context[:discovered_endpoint]
30
- params = parameters_for_operation(context)
30
+ params = Aws::SNS::Endpoints.parameters_for_operation(context)
31
31
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
32
 
33
33
  context.http_request.endpoint = endpoint.url
34
34
  apply_endpoint_headers(context, endpoint.headers)
35
+
36
+ context[:endpoint_params] = params
37
+ context[:endpoint_properties] = endpoint.properties
35
38
  end
36
39
 
37
- context[:endpoint_params] = params
38
40
  context[:auth_scheme] =
39
41
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
42
 
41
- @handler.call(context)
43
+ with_metrics(context) { @handler.call(context) }
42
44
  end
43
45
 
44
46
  private
45
47
 
48
+ def with_metrics(context, &block)
49
+ metrics = []
50
+ metrics << 'ENDPOINT_OVERRIDE' unless context.config.regional_endpoint
51
+ if context[:auth_scheme] && context[:auth_scheme]['name'] == 'sigv4a'
52
+ metrics << 'SIGV4A_SIGNING'
53
+ end
54
+ if context.config.credentials&.credentials&.account_id
55
+ metrics << 'RESOLVED_ACCOUNT_ID'
56
+ end
57
+ Aws::Plugins::UserAgent.metric(*metrics, &block)
58
+ end
59
+
46
60
  def apply_endpoint_headers(context, headers)
47
61
  headers.each do |key, values|
48
62
  value = values
@@ -53,95 +67,6 @@ module Aws::SNS
53
67
  context.http_request.headers[key] = value
54
68
  end
55
69
  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
70
  end
146
71
 
147
72
  def add_handlers(handlers, _config)
@@ -54,14 +54,15 @@ module Aws::SNS
54
54
  # APNS (Apple Push Notification Service), APNS\_SANDBOX, and GCM
55
55
  # (Firebase Cloud Messaging).
56
56
  # @option options [required, Hash<String,String>] :attributes
57
- # For a list of attributes, see [SetPlatformApplicationAttributes][1].
57
+ # For a list of attributes, see [ `SetPlatformApplicationAttributes`
58
+ # ][1].
58
59
  #
59
60
  #
60
61
  #
61
62
  # [1]: https://docs.aws.amazon.com/sns/latest/api/API_SetPlatformApplicationAttributes.html
62
63
  # @return [PlatformApplication]
63
64
  def create_platform_application(options = {})
64
- resp = Aws::Plugins::UserAgent.feature('resource') do
65
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
65
66
  @client.create_platform_application(options)
66
67
  end
67
68
  PlatformApplication.new(
@@ -98,7 +99,7 @@ module Aws::SNS
98
99
  # @option options [Hash<String,String>] :attributes
99
100
  # A map of attributes with their corresponding values.
100
101
  #
101
- # The following lists the names, descriptions, and values of the special
102
+ # The following lists names, descriptions, and values of the special
102
103
  # request parameters that the `CreateTopic` action uses:
103
104
  #
104
105
  # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
@@ -136,7 +137,8 @@ module Aws::SNS
136
137
  #
137
138
  # The following attributes apply only to [FIFO topics][4]:
138
139
  #
139
- # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
140
+ # * `ArchivePolicy` – The policy that sets the retention period for
141
+ # messages stored in the message archive of an Amazon SNS FIFO topic.
140
142
  #
141
143
  # * `ContentBasedDeduplication` – Enables content-based deduplication
142
144
  # for FIFO topics.
@@ -178,7 +180,7 @@ module Aws::SNS
178
180
  # Length Constraints: Maximum length of 30,720.
179
181
  # @return [Topic]
180
182
  def create_topic(options = {})
181
- resp = Aws::Plugins::UserAgent.feature('resource') do
183
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
182
184
  @client.create_topic(options)
183
185
  end
184
186
  Topic.new(
@@ -205,7 +207,7 @@ module Aws::SNS
205
207
  # @return [PlatformApplication::Collection]
206
208
  def platform_applications(options = {})
207
209
  batches = Enumerator.new do |y|
208
- resp = Aws::Plugins::UserAgent.feature('resource') do
210
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
209
211
  @client.list_platform_applications(options)
210
212
  end
211
213
  resp.each_page do |page|
@@ -247,7 +249,7 @@ module Aws::SNS
247
249
  # @return [Subscription::Collection]
248
250
  def subscriptions(options = {})
249
251
  batches = Enumerator.new do |y|
250
- resp = Aws::Plugins::UserAgent.feature('resource') do
252
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
251
253
  @client.list_subscriptions(options)
252
254
  end
253
255
  resp.each_page do |page|
@@ -280,7 +282,7 @@ module Aws::SNS
280
282
  # @return [Topic::Collection]
281
283
  def topics(options = {})
282
284
  batches = Enumerator.new do |y|
283
- resp = Aws::Plugins::UserAgent.feature('resource') do
285
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
284
286
  @client.list_topics(options)
285
287
  end
286
288
  resp.each_page do |page|
@@ -58,7 +58,6 @@ module Aws::SNS
58
58
  # message attributes.
59
59
  #
60
60
  # * `MessageBody` – The filter is applied on the message body.
61
- #
62
61
  # * `Owner` – The Amazon Web Services account ID of the subscription's
63
62
  # owner.
64
63
  #
@@ -81,20 +80,18 @@ module Aws::SNS
81
80
  #
82
81
  # * `TopicArn` – The topic ARN that the subscription is associated with.
83
82
  #
84
- # The following attribute applies only to Amazon Kinesis Data Firehose
85
- # delivery stream subscriptions:
83
+ # The following attribute applies only to Amazon Data Firehose delivery
84
+ # stream subscriptions:
86
85
  #
87
86
  # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
88
87
  # following:
89
88
  #
90
- # * Permission to write to the Kinesis Data Firehose delivery stream
89
+ # * Permission to write to the Firehose delivery stream
91
90
  #
92
91
  # * Amazon SNS listed as a trusted entity
93
- #
94
- # Specifying a valid ARN for this attribute is required for Kinesis
95
- # Data Firehose delivery stream subscriptions. For more information,
96
- # see [Fanout to Kinesis Data Firehose delivery streams][2] in the
97
- # *Amazon SNS Developer Guide*.
92
+ # Specifying a valid ARN for this attribute is required for Firehose
93
+ # delivery stream subscriptions. For more information, see [Fanout to
94
+ # Firehose delivery streams][2] in the *Amazon SNS Developer Guide*.
98
95
  #
99
96
  #
100
97
  #
@@ -119,7 +116,7 @@ module Aws::SNS
119
116
  #
120
117
  # @return [self]
121
118
  def load
122
- resp = Aws::Plugins::UserAgent.feature('resource') do
119
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
123
120
  @client.get_subscription_attributes(subscription_arn: @arn)
124
121
  end
125
122
  @data = resp.data
@@ -151,7 +148,7 @@ module Aws::SNS
151
148
  # @return [EmptyStructure]
152
149
  def delete(options = {})
153
150
  options = options.merge(subscription_arn: @arn)
154
- resp = Aws::Plugins::UserAgent.feature('resource') do
151
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
155
152
  @client.unsubscribe(options)
156
153
  end
157
154
  resp.data
@@ -184,7 +181,6 @@ module Aws::SNS
184
181
  # message attributes.
185
182
  #
186
183
  # * `MessageBody` – The filter is applied on the message body.
187
- #
188
184
  # * `RawMessageDelivery` – When set to `true`, enables raw message
189
185
  # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
190
186
  # for the endpoints to process JSON formatting, which is otherwise
@@ -197,20 +193,18 @@ module Aws::SNS
197
193
  # service that powers the subscribed endpoint becomes unavailable) are
198
194
  # held in the dead-letter queue for further analysis or reprocessing.
199
195
  #
200
- # The following attribute applies only to Amazon Kinesis Data Firehose
201
- # delivery stream subscriptions:
196
+ # The following attribute applies only to Amazon Data Firehose delivery
197
+ # stream subscriptions:
202
198
  #
203
199
  # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
204
200
  # following:
205
201
  #
206
- # * Permission to write to the Kinesis Data Firehose delivery stream
202
+ # * Permission to write to the Firehose delivery stream
207
203
  #
208
204
  # * Amazon SNS listed as a trusted entity
209
- #
210
- # Specifying a valid ARN for this attribute is required for Kinesis
211
- # Data Firehose delivery stream subscriptions. For more information,
212
- # see [Fanout to Kinesis Data Firehose delivery streams][1] in the
213
- # *Amazon SNS Developer Guide*.
205
+ # Specifying a valid ARN for this attribute is required for Firehose
206
+ # delivery stream subscriptions. For more information, see [Fanout to
207
+ # Firehose delivery streams][1] in the *Amazon SNS Developer Guide*.
214
208
  #
215
209
  #
216
210
  #
@@ -220,7 +214,7 @@ module Aws::SNS
220
214
  # @return [EmptyStructure]
221
215
  def set_attributes(options = {})
222
216
  options = options.merge(subscription_arn: @arn)
223
- resp = Aws::Plugins::UserAgent.feature('resource') do
217
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
224
218
  @client.set_subscription_attributes(options)
225
219
  end
226
220
  resp.data