aws-sdk-pricingplanmanager 1.0.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.
@@ -0,0 +1,738 @@
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
+ module Aws::PricingPlanManager
11
+ module Types
12
+
13
+ # You do not have the required permissions to perform this operation.
14
+ # Verify that your IAM policy grants access to this action.
15
+ #
16
+ # @!attribute [rw] message
17
+ # @return [String]
18
+ #
19
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/AccessDeniedException AWS API Documentation
20
+ #
21
+ class AccessDeniedException < Struct.new(
22
+ :message)
23
+ SENSITIVE = []
24
+ include Aws::Structure
25
+ end
26
+
27
+ # @!attribute [rw] arn
28
+ # The ARN of the subscription to approve.
29
+ # @return [String]
30
+ #
31
+ # @!attribute [rw] if_match
32
+ # The `ETag` value from a previous `GetSubscription` or
33
+ # `ListSubscriptions` response. This ensures you are approving the
34
+ # expected version of the subscription.
35
+ # @return [String]
36
+ #
37
+ # @!attribute [rw] client_token
38
+ # A unique, case-sensitive identifier that you provide to ensure the
39
+ # request is handled only once.
40
+ #
41
+ # **A suitable default value is auto-generated.** You should normally
42
+ # not need to pass this option.
43
+ # @return [String]
44
+ #
45
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/ApprovePaidSubscriptionInput AWS API Documentation
46
+ #
47
+ class ApprovePaidSubscriptionInput < Struct.new(
48
+ :arn,
49
+ :if_match,
50
+ :client_token)
51
+ SENSITIVE = []
52
+ include Aws::Structure
53
+ end
54
+
55
+ # @!attribute [rw] subscription
56
+ # The details of the approved subscription.
57
+ # @return [Types::Subscription]
58
+ #
59
+ # @!attribute [rw] e_tag
60
+ # The updated entity tag for concurrency control.
61
+ # @return [String]
62
+ #
63
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/ApprovePaidSubscriptionOutput AWS API Documentation
64
+ #
65
+ class ApprovePaidSubscriptionOutput < Struct.new(
66
+ :subscription,
67
+ :e_tag)
68
+ SENSITIVE = []
69
+ include Aws::Structure
70
+ end
71
+
72
+ # @!attribute [rw] arn
73
+ # The ARN of the subscription to add resources to.
74
+ # @return [String]
75
+ #
76
+ # @!attribute [rw] resource_arns
77
+ # The ARNs of the resources to add to the subscription.
78
+ # @return [Array<String>]
79
+ #
80
+ # @!attribute [rw] if_match
81
+ # The `ETag` value from a previous `GetSubscription` or
82
+ # `ListSubscriptions` response.
83
+ # @return [String]
84
+ #
85
+ # @!attribute [rw] client_token
86
+ # A unique, case-sensitive identifier that you provide to ensure the
87
+ # request is handled only once.
88
+ #
89
+ # **A suitable default value is auto-generated.** You should normally
90
+ # not need to pass this option.
91
+ # @return [String]
92
+ #
93
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/AssociateResourcesToSubscriptionInput AWS API Documentation
94
+ #
95
+ class AssociateResourcesToSubscriptionInput < Struct.new(
96
+ :arn,
97
+ :resource_arns,
98
+ :if_match,
99
+ :client_token)
100
+ SENSITIVE = []
101
+ include Aws::Structure
102
+ end
103
+
104
+ # @!attribute [rw] subscription
105
+ # The details of the subscription with the newly added resources.
106
+ # @return [Types::Subscription]
107
+ #
108
+ # @!attribute [rw] e_tag
109
+ # The updated entity tag for concurrency control.
110
+ # @return [String]
111
+ #
112
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/AssociateResourcesToSubscriptionOutput AWS API Documentation
113
+ #
114
+ class AssociateResourcesToSubscriptionOutput < Struct.new(
115
+ :subscription,
116
+ :e_tag)
117
+ SENSITIVE = []
118
+ include Aws::Structure
119
+ end
120
+
121
+ # @!attribute [rw] arn
122
+ # The ARN of the subscription whose pending change you want to cancel.
123
+ # @return [String]
124
+ #
125
+ # @!attribute [rw] if_match
126
+ # The `ETag` value from a previous `GetSubscription` or
127
+ # `ListSubscriptions` response.
128
+ # @return [String]
129
+ #
130
+ # @!attribute [rw] client_token
131
+ # A unique, case-sensitive identifier that you provide to ensure the
132
+ # request is handled only once.
133
+ #
134
+ # **A suitable default value is auto-generated.** You should normally
135
+ # not need to pass this option.
136
+ # @return [String]
137
+ #
138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/CancelSubscriptionChangeInput AWS API Documentation
139
+ #
140
+ class CancelSubscriptionChangeInput < Struct.new(
141
+ :arn,
142
+ :if_match,
143
+ :client_token)
144
+ SENSITIVE = []
145
+ include Aws::Structure
146
+ end
147
+
148
+ # @!attribute [rw] subscription
149
+ # The details of the subscription with the pending change removed.
150
+ # @return [Types::Subscription]
151
+ #
152
+ # @!attribute [rw] e_tag
153
+ # The updated entity tag for concurrency control.
154
+ # @return [String]
155
+ #
156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/CancelSubscriptionChangeOutput AWS API Documentation
157
+ #
158
+ class CancelSubscriptionChangeOutput < Struct.new(
159
+ :subscription,
160
+ :e_tag)
161
+ SENSITIVE = []
162
+ include Aws::Structure
163
+ end
164
+
165
+ # @!attribute [rw] arn
166
+ # The ARN of the subscription to cancel.
167
+ # @return [String]
168
+ #
169
+ # @!attribute [rw] if_match
170
+ # The `ETag` value from a previous `GetSubscription` or
171
+ # `ListSubscriptions` response.
172
+ # @return [String]
173
+ #
174
+ # @!attribute [rw] client_token
175
+ # A unique, case-sensitive identifier that you provide to ensure the
176
+ # request is handled only once.
177
+ #
178
+ # **A suitable default value is auto-generated.** You should normally
179
+ # not need to pass this option.
180
+ # @return [String]
181
+ #
182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/CancelSubscriptionInput AWS API Documentation
183
+ #
184
+ class CancelSubscriptionInput < Struct.new(
185
+ :arn,
186
+ :if_match,
187
+ :client_token)
188
+ SENSITIVE = []
189
+ include Aws::Structure
190
+ end
191
+
192
+ # @!attribute [rw] subscription
193
+ # The details of the subscription with the pending cancellation. For
194
+ # active subscriptions, a `scheduledChange` of type `CANCELLATION` is
195
+ # included.
196
+ # @return [Types::Subscription]
197
+ #
198
+ # @!attribute [rw] e_tag
199
+ # The updated entity tag for concurrency control.
200
+ # @return [String]
201
+ #
202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/CancelSubscriptionOutput AWS API Documentation
203
+ #
204
+ class CancelSubscriptionOutput < Struct.new(
205
+ :subscription,
206
+ :e_tag)
207
+ SENSITIVE = []
208
+ include Aws::Structure
209
+ end
210
+
211
+ # The request conflicts with the current state of the resource. This
212
+ # typically occurs when the `ETag` value in the `If-Match` header does
213
+ # not match the current version of the subscription. Retrieve the latest
214
+ # version and retry.
215
+ #
216
+ # @!attribute [rw] message
217
+ # @return [String]
218
+ #
219
+ # @!attribute [rw] resource_id
220
+ # The identifier of the resource that has a conflicting state.
221
+ # @return [String]
222
+ #
223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/ConflictException AWS API Documentation
224
+ #
225
+ class ConflictException < Struct.new(
226
+ :message,
227
+ :resource_id)
228
+ SENSITIVE = []
229
+ include Aws::Structure
230
+ end
231
+
232
+ # @!attribute [rw] plan_family
233
+ # The pricing plan family to subscribe to, such as `CloudFront`.
234
+ # @return [String]
235
+ #
236
+ # @!attribute [rw] plan_tier
237
+ # The tier level for the subscription, such as `FREE`, `PRO`,
238
+ # `BUSINESS`, or `PREMIUM`.
239
+ # @return [String]
240
+ #
241
+ # @!attribute [rw] usage_level
242
+ # The usage level within the plan tier. Specify `DEFAULT` for the base
243
+ # configuration, or a higher level if your plan tier supports it.
244
+ # @return [String]
245
+ #
246
+ # @!attribute [rw] resource_arns
247
+ # The ARNs of the AWS resources to include in the subscription.
248
+ # Specify one or more supported resources.
249
+ #
250
+ # <note markdown="1"> For subscriptions in the CloudFront plan family, the resources must
251
+ # include exactly one Amazon CloudFront distribution and exactly one
252
+ # AWS WAF web ACL. You can also include other supported resources,
253
+ # such as Amazon Route 53 hosted zones and CloudFront KeyValueStores.
254
+ #
255
+ # </note>
256
+ # @return [Array<String>]
257
+ #
258
+ # @!attribute [rw] approval_mode
259
+ # Determines whether the subscription requires explicit approval
260
+ # before billing starts. Set to `MANUAL` to require a separate
261
+ # `ApprovePaidSubscription` call, or `IMMEDIATE` to activate the
262
+ # subscription right away. Defaults to `IMMEDIATE` if not specified.
263
+ # @return [String]
264
+ #
265
+ # @!attribute [rw] client_token
266
+ # A unique, case-sensitive identifier that you provide to ensure that
267
+ # the request is handled only once. If you send the same request with
268
+ # the same client token, the API returns the original response without
269
+ # creating a duplicate subscription.
270
+ #
271
+ # **A suitable default value is auto-generated.** You should normally
272
+ # not need to pass this option.
273
+ # @return [String]
274
+ #
275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/CreateSubscriptionInput AWS API Documentation
276
+ #
277
+ class CreateSubscriptionInput < Struct.new(
278
+ :plan_family,
279
+ :plan_tier,
280
+ :usage_level,
281
+ :resource_arns,
282
+ :approval_mode,
283
+ :client_token)
284
+ SENSITIVE = []
285
+ include Aws::Structure
286
+ end
287
+
288
+ # @!attribute [rw] subscription
289
+ # The details of the newly created subscription.
290
+ # @return [Types::Subscription]
291
+ #
292
+ # @!attribute [rw] e_tag
293
+ # The entity tag for concurrency control. Use this value in the
294
+ # `If-Match` header for subsequent operations on this subscription.
295
+ # @return [String]
296
+ #
297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/CreateSubscriptionOutput AWS API Documentation
298
+ #
299
+ class CreateSubscriptionOutput < Struct.new(
300
+ :subscription,
301
+ :e_tag)
302
+ SENSITIVE = []
303
+ include Aws::Structure
304
+ end
305
+
306
+ # @!attribute [rw] arn
307
+ # The ARN of the subscription to remove resources from.
308
+ # @return [String]
309
+ #
310
+ # @!attribute [rw] resource_arns
311
+ # The ARNs of the resources to remove from the subscription. For
312
+ # subscriptions in the CloudFront plan family, you cannot remove the
313
+ # required CloudFront distribution or WAF web ACL.
314
+ # @return [Array<String>]
315
+ #
316
+ # @!attribute [rw] if_match
317
+ # The `ETag` value from a previous `GetSubscription` or
318
+ # `ListSubscriptions` response.
319
+ # @return [String]
320
+ #
321
+ # @!attribute [rw] client_token
322
+ # A unique, case-sensitive identifier that you provide to ensure the
323
+ # request is handled only once.
324
+ #
325
+ # **A suitable default value is auto-generated.** You should normally
326
+ # not need to pass this option.
327
+ # @return [String]
328
+ #
329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/DisassociateResourcesFromSubscriptionInput AWS API Documentation
330
+ #
331
+ class DisassociateResourcesFromSubscriptionInput < Struct.new(
332
+ :arn,
333
+ :resource_arns,
334
+ :if_match,
335
+ :client_token)
336
+ SENSITIVE = []
337
+ include Aws::Structure
338
+ end
339
+
340
+ # @!attribute [rw] subscription
341
+ # The details of the subscription with the specified resources
342
+ # removed.
343
+ # @return [Types::Subscription]
344
+ #
345
+ # @!attribute [rw] e_tag
346
+ # The updated entity tag for concurrency control.
347
+ # @return [String]
348
+ #
349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/DisassociateResourcesFromSubscriptionOutput AWS API Documentation
350
+ #
351
+ class DisassociateResourcesFromSubscriptionOutput < Struct.new(
352
+ :subscription,
353
+ :e_tag)
354
+ SENSITIVE = []
355
+ include Aws::Structure
356
+ end
357
+
358
+ # @!attribute [rw] arn
359
+ # The ARN of the subscription to retrieve.
360
+ # @return [String]
361
+ #
362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/GetSubscriptionInput AWS API Documentation
363
+ #
364
+ class GetSubscriptionInput < Struct.new(
365
+ :arn)
366
+ SENSITIVE = []
367
+ include Aws::Structure
368
+ end
369
+
370
+ # @!attribute [rw] subscription
371
+ # The details of the requested subscription.
372
+ # @return [Types::Subscription]
373
+ #
374
+ # @!attribute [rw] e_tag
375
+ # The entity tag for concurrency control. Use this value in the
376
+ # `If-Match` header for subsequent operations on this subscription.
377
+ # @return [String]
378
+ #
379
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/GetSubscriptionOutput AWS API Documentation
380
+ #
381
+ class GetSubscriptionOutput < Struct.new(
382
+ :subscription,
383
+ :e_tag)
384
+ SENSITIVE = []
385
+ include Aws::Structure
386
+ end
387
+
388
+ # An unexpected error occurred on the server. Retry the request.
389
+ #
390
+ # @!attribute [rw] message
391
+ # @return [String]
392
+ #
393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/InternalServerException AWS API Documentation
394
+ #
395
+ class InternalServerException < Struct.new(
396
+ :message)
397
+ SENSITIVE = []
398
+ include Aws::Structure
399
+ end
400
+
401
+ # @!attribute [rw] next_token
402
+ # A token from a previous `ListSubscriptions` response. If the
403
+ # response included a `nextToken`, there are more results available.
404
+ # Pass this value to retrieve the next page of results.
405
+ # @return [String]
406
+ #
407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/ListSubscriptionsInput AWS API Documentation
408
+ #
409
+ class ListSubscriptionsInput < Struct.new(
410
+ :next_token)
411
+ SENSITIVE = []
412
+ include Aws::Structure
413
+ end
414
+
415
+ # @!attribute [rw] subscription_summaries
416
+ # The list of subscription summaries for the calling account.
417
+ # @return [Array<Types::SubscriptionSummary>]
418
+ #
419
+ # @!attribute [rw] next_token
420
+ # A token that indicates there are more results available. Pass this
421
+ # value in a subsequent `ListSubscriptions` request to retrieve the
422
+ # next page of results.
423
+ # @return [String]
424
+ #
425
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/ListSubscriptionsOutput AWS API Documentation
426
+ #
427
+ class ListSubscriptionsOutput < Struct.new(
428
+ :subscription_summaries,
429
+ :next_token)
430
+ SENSITIVE = []
431
+ include Aws::Structure
432
+ end
433
+
434
+ # The specified subscription was not found. Verify that the ARN is
435
+ # correct and that the subscription belongs to your account.
436
+ #
437
+ # @!attribute [rw] message
438
+ # @return [String]
439
+ #
440
+ # @!attribute [rw] resource_id
441
+ # The identifier of the resource that was not found.
442
+ # @return [String]
443
+ #
444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/ResourceNotFoundException AWS API Documentation
445
+ #
446
+ class ResourceNotFoundException < Struct.new(
447
+ :message,
448
+ :resource_id)
449
+ SENSITIVE = []
450
+ include Aws::Structure
451
+ end
452
+
453
+ # A pending change on a subscription that takes effect at the end of the
454
+ # current billing period, such as a tier downgrade or cancellation.
455
+ #
456
+ # @!attribute [rw] change_type
457
+ # The type of pending change. Possible values are `DOWNGRADE` (a tier
458
+ # change to a lower level) and `CANCELLATION` (subscription
459
+ # termination).
460
+ # @return [String]
461
+ #
462
+ # @!attribute [rw] effective_date
463
+ # The date and time when the change takes effect, in ISO 8601 format.
464
+ # This value is populated after the change is confirmed by the billing
465
+ # system.
466
+ # @return [Time]
467
+ #
468
+ # @!attribute [rw] plan_tier
469
+ # For downgrades, the tier level that the subscription will change to.
470
+ # Not present for cancellations.
471
+ # @return [String]
472
+ #
473
+ # @!attribute [rw] usage_level
474
+ # For downgrades, the target usage level after the change takes
475
+ # effect.
476
+ # @return [String]
477
+ #
478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/ScheduledChange AWS API Documentation
479
+ #
480
+ class ScheduledChange < Struct.new(
481
+ :change_type,
482
+ :effective_date,
483
+ :plan_tier,
484
+ :usage_level)
485
+ SENSITIVE = []
486
+ include Aws::Structure
487
+ end
488
+
489
+ # The request would exceed a service limit. You have reached the maximum
490
+ # number of subscriptions allowed for your account.
491
+ #
492
+ # @!attribute [rw] message
493
+ # @return [String]
494
+ #
495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/ServiceQuotaExceededException AWS API Documentation
496
+ #
497
+ class ServiceQuotaExceededException < Struct.new(
498
+ :message)
499
+ SENSITIVE = []
500
+ include Aws::Structure
501
+ end
502
+
503
+ # The full details of a flat-rate pricing subscription, including its
504
+ # current configuration, status, and associated resources.
505
+ #
506
+ # @!attribute [rw] arn
507
+ # The Amazon Resource Name (ARN) that uniquely identifies this
508
+ # subscription.
509
+ # @return [String]
510
+ #
511
+ # @!attribute [rw] plan_family
512
+ # The pricing plan family for the subscription, such as `CloudFront`.
513
+ # @return [String]
514
+ #
515
+ # @!attribute [rw] plan_tier
516
+ # The current tier level of the pricing plan, such as `FREE`, `PRO`,
517
+ # `BUSINESS`, or `PREMIUM`.
518
+ # @return [String]
519
+ #
520
+ # @!attribute [rw] usage_level
521
+ # The usage level within the plan tier. When present, indicates a
522
+ # specific capacity configuration beyond the base tier.
523
+ # @return [String]
524
+ #
525
+ # @!attribute [rw] scheduled_change
526
+ # A pending change that will take effect at the end of the current
527
+ # billing period. This field is present only when a downgrade or
528
+ # cancellation is scheduled.
529
+ # @return [Types::ScheduledChange]
530
+ #
531
+ # @!attribute [rw] status
532
+ # The current status of the subscription. For the list of possible
533
+ # values, see the `Status` type.
534
+ # @return [String]
535
+ #
536
+ # @!attribute [rw] status_reason
537
+ # A human-readable explanation of the current status, present when
538
+ # additional context is available.
539
+ # @return [String]
540
+ #
541
+ # @!attribute [rw] resource_arns
542
+ # The ARNs of the AWS resources covered by this subscription.
543
+ # @return [Array<String>]
544
+ #
545
+ # @!attribute [rw] created_at
546
+ # The date and time when the subscription was created, in ISO 8601
547
+ # format.
548
+ # @return [Time]
549
+ #
550
+ # @!attribute [rw] updated_at
551
+ # The date and time when the subscription was last modified, in ISO
552
+ # 8601 format.
553
+ # @return [Time]
554
+ #
555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/Subscription AWS API Documentation
556
+ #
557
+ class Subscription < Struct.new(
558
+ :arn,
559
+ :plan_family,
560
+ :plan_tier,
561
+ :usage_level,
562
+ :scheduled_change,
563
+ :status,
564
+ :status_reason,
565
+ :resource_arns,
566
+ :created_at,
567
+ :updated_at)
568
+ SENSITIVE = []
569
+ include Aws::Structure
570
+ end
571
+
572
+ # Summary information for a flat-rate pricing subscription, as returned
573
+ # by list operations.
574
+ #
575
+ # @!attribute [rw] arn
576
+ # The Amazon Resource Name (ARN) that uniquely identifies this
577
+ # subscription.
578
+ # @return [String]
579
+ #
580
+ # @!attribute [rw] plan_family
581
+ # The pricing plan family for the subscription, such as `CloudFront`.
582
+ # @return [String]
583
+ #
584
+ # @!attribute [rw] plan_tier
585
+ # The current tier level of the pricing plan.
586
+ # @return [String]
587
+ #
588
+ # @!attribute [rw] usage_level
589
+ # The usage level within the plan tier.
590
+ # @return [String]
591
+ #
592
+ # @!attribute [rw] scheduled_change
593
+ # A pending change that will take effect at the end of the current
594
+ # billing period, if any.
595
+ # @return [Types::ScheduledChange]
596
+ #
597
+ # @!attribute [rw] status
598
+ # The current status of the subscription.
599
+ # @return [String]
600
+ #
601
+ # @!attribute [rw] status_reason
602
+ # A human-readable explanation of the current status, present when
603
+ # additional context is available.
604
+ # @return [String]
605
+ #
606
+ # @!attribute [rw] resource_arns
607
+ # The ARNs of the AWS resources covered by this subscription.
608
+ # @return [Array<String>]
609
+ #
610
+ # @!attribute [rw] created_at
611
+ # The date and time when the subscription was created, in ISO 8601
612
+ # format.
613
+ # @return [Time]
614
+ #
615
+ # @!attribute [rw] updated_at
616
+ # The date and time when the subscription was last modified, in ISO
617
+ # 8601 format.
618
+ # @return [Time]
619
+ #
620
+ # @!attribute [rw] e_tag
621
+ # The entity tag for concurrency control. Pass this value in the
622
+ # `If-Match` header when making changes to this subscription.
623
+ # @return [String]
624
+ #
625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/SubscriptionSummary AWS API Documentation
626
+ #
627
+ class SubscriptionSummary < Struct.new(
628
+ :arn,
629
+ :plan_family,
630
+ :plan_tier,
631
+ :usage_level,
632
+ :scheduled_change,
633
+ :status,
634
+ :status_reason,
635
+ :resource_arns,
636
+ :created_at,
637
+ :updated_at,
638
+ :e_tag)
639
+ SENSITIVE = []
640
+ include Aws::Structure
641
+ end
642
+
643
+ # The request rate exceeds the allowed limit. Wait briefly and retry the
644
+ # request.
645
+ #
646
+ # @!attribute [rw] message
647
+ # @return [String]
648
+ #
649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/ThrottlingException AWS API Documentation
650
+ #
651
+ class ThrottlingException < Struct.new(
652
+ :message)
653
+ SENSITIVE = []
654
+ include Aws::Structure
655
+ end
656
+
657
+ # @!attribute [rw] arn
658
+ # The ARN of the subscription to update.
659
+ # @return [String]
660
+ #
661
+ # @!attribute [rw] plan_tier
662
+ # The new tier level for the subscription.
663
+ # @return [String]
664
+ #
665
+ # @!attribute [rw] usage_level
666
+ # The usage level within the plan tier. Specify `DEFAULT` for the base
667
+ # configuration. If omitted, the usage level is reset to the default.
668
+ # @return [String]
669
+ #
670
+ # @!attribute [rw] if_match
671
+ # The `ETag` value from a previous `GetSubscription` or
672
+ # `ListSubscriptions` response. This ensures you are updating the
673
+ # expected version of the subscription.
674
+ # @return [String]
675
+ #
676
+ # @!attribute [rw] client_token
677
+ # A unique, case-sensitive identifier that you provide to ensure the
678
+ # request is handled only once.
679
+ #
680
+ # **A suitable default value is auto-generated.** You should normally
681
+ # not need to pass this option.
682
+ # @return [String]
683
+ #
684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/UpdateSubscriptionInput AWS API Documentation
685
+ #
686
+ class UpdateSubscriptionInput < Struct.new(
687
+ :arn,
688
+ :plan_tier,
689
+ :usage_level,
690
+ :if_match,
691
+ :client_token)
692
+ SENSITIVE = []
693
+ include Aws::Structure
694
+ end
695
+
696
+ # @!attribute [rw] subscription
697
+ # The details of the updated subscription. For downgrades, the current
698
+ # tier remains unchanged and a `scheduledChange` indicates the pending
699
+ # change.
700
+ # @return [Types::Subscription]
701
+ #
702
+ # @!attribute [rw] e_tag
703
+ # The updated entity tag for concurrency control.
704
+ # @return [String]
705
+ #
706
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/UpdateSubscriptionOutput AWS API Documentation
707
+ #
708
+ class UpdateSubscriptionOutput < Struct.new(
709
+ :subscription,
710
+ :e_tag)
711
+ SENSITIVE = []
712
+ include Aws::Structure
713
+ end
714
+
715
+ # The request failed a business rule validation. For example, the
716
+ # specified resource might already be associated with another
717
+ # subscription, or the subscription might not be in the required state
718
+ # for this operation.
719
+ #
720
+ # @!attribute [rw] message
721
+ # @return [String]
722
+ #
723
+ # @!attribute [rw] resource_id
724
+ # The identifier of the resource that failed validation.
725
+ # @return [String]
726
+ #
727
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-plan-manager-2025-08-05/ValidationException AWS API Documentation
728
+ #
729
+ class ValidationException < Struct.new(
730
+ :message,
731
+ :resource_id)
732
+ SENSITIVE = []
733
+ include Aws::Structure
734
+ end
735
+
736
+ end
737
+ end
738
+