aws-sdk-savingsplans 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,78 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::SavingsPlans
9
+ module Errors
10
+
11
+ extend Aws::Errors::DynamicErrors
12
+
13
+ class InternalServerException < ServiceError
14
+
15
+ # @param [Seahorse::Client::RequestContext] context
16
+ # @param [String] message
17
+ # @param [Aws::SavingsPlans::Types::InternalServerException] data
18
+ def initialize(context, message, data = Aws::EmptyStructure.new)
19
+ super(context, message, data)
20
+ end
21
+
22
+ # @return [String]
23
+ def message
24
+ @message || @data[:message]
25
+ end
26
+
27
+ end
28
+
29
+ class ResourceNotFoundException < ServiceError
30
+
31
+ # @param [Seahorse::Client::RequestContext] context
32
+ # @param [String] message
33
+ # @param [Aws::SavingsPlans::Types::ResourceNotFoundException] data
34
+ def initialize(context, message, data = Aws::EmptyStructure.new)
35
+ super(context, message, data)
36
+ end
37
+
38
+ # @return [String]
39
+ def message
40
+ @message || @data[:message]
41
+ end
42
+
43
+ end
44
+
45
+ class ServiceQuotaExceededException < ServiceError
46
+
47
+ # @param [Seahorse::Client::RequestContext] context
48
+ # @param [String] message
49
+ # @param [Aws::SavingsPlans::Types::ServiceQuotaExceededException] data
50
+ def initialize(context, message, data = Aws::EmptyStructure.new)
51
+ super(context, message, data)
52
+ end
53
+
54
+ # @return [String]
55
+ def message
56
+ @message || @data[:message]
57
+ end
58
+
59
+ end
60
+
61
+ class ValidationException < ServiceError
62
+
63
+ # @param [Seahorse::Client::RequestContext] context
64
+ # @param [String] message
65
+ # @param [Aws::SavingsPlans::Types::ValidationException] data
66
+ def initialize(context, message, data = Aws::EmptyStructure.new)
67
+ super(context, message, data)
68
+ end
69
+
70
+ # @return [String]
71
+ def message
72
+ @message || @data[:message]
73
+ end
74
+
75
+ end
76
+
77
+ end
78
+ end
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::SavingsPlans
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,1011 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::SavingsPlans
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass CreateSavingsPlanRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # savings_plan_offering_id: "SavingsPlanOfferingId", # required
16
+ # commitment: "Amount", # required
17
+ # upfront_payment_amount: "Amount",
18
+ # client_token: "ClientToken",
19
+ # tags: {
20
+ # "TagKey" => "TagValue",
21
+ # },
22
+ # }
23
+ #
24
+ # @!attribute [rw] savings_plan_offering_id
25
+ # The ID of the offering.
26
+ # @return [String]
27
+ #
28
+ # @!attribute [rw] commitment
29
+ # The hourly commitment, in USD. This is a value between 0.001 and 1
30
+ # million. You cannot specify more than three digits after the decimal
31
+ # point.
32
+ # @return [String]
33
+ #
34
+ # @!attribute [rw] upfront_payment_amount
35
+ # The up-front payment amount. This is a whole number between 50 and
36
+ # 99 percent of the total value of the Savings Plan. This parameter is
37
+ # supported only if the payment option is `Partial Upfront`.
38
+ # @return [String]
39
+ #
40
+ # @!attribute [rw] client_token
41
+ # Unique, case-sensitive identifier that you provide to ensure the
42
+ # idempotency of the request.
43
+ #
44
+ # **A suitable default value is auto-generated.** You should normally
45
+ # not need to pass this option.
46
+ # @return [String]
47
+ #
48
+ # @!attribute [rw] tags
49
+ # One or more tags.
50
+ # @return [Hash<String,String>]
51
+ #
52
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/CreateSavingsPlanRequest AWS API Documentation
53
+ #
54
+ class CreateSavingsPlanRequest < Struct.new(
55
+ :savings_plan_offering_id,
56
+ :commitment,
57
+ :upfront_payment_amount,
58
+ :client_token,
59
+ :tags)
60
+ include Aws::Structure
61
+ end
62
+
63
+ # @!attribute [rw] savings_plan_id
64
+ # The ID of the Savings Plan.
65
+ # @return [String]
66
+ #
67
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/CreateSavingsPlanResponse AWS API Documentation
68
+ #
69
+ class CreateSavingsPlanResponse < Struct.new(
70
+ :savings_plan_id)
71
+ include Aws::Structure
72
+ end
73
+
74
+ # @note When making an API call, you may pass DescribeSavingsPlanRatesRequest
75
+ # data as a hash:
76
+ #
77
+ # {
78
+ # savings_plan_id: "SavingsPlanId", # required
79
+ # filters: [
80
+ # {
81
+ # name: "region", # accepts region, instanceType, productDescription, tenancy, productType, serviceCode, usageType, operation
82
+ # values: ["String"],
83
+ # },
84
+ # ],
85
+ # next_token: "PaginationToken",
86
+ # max_results: 1,
87
+ # }
88
+ #
89
+ # @!attribute [rw] savings_plan_id
90
+ # The ID of the Savings Plan.
91
+ # @return [String]
92
+ #
93
+ # @!attribute [rw] filters
94
+ # The filters.
95
+ # @return [Array<Types::SavingsPlanRateFilter>]
96
+ #
97
+ # @!attribute [rw] next_token
98
+ # The token for the next page of results.
99
+ # @return [String]
100
+ #
101
+ # @!attribute [rw] max_results
102
+ # The maximum number of results to return with a single call. To
103
+ # retrieve additional results, make another call with the returned
104
+ # token value.
105
+ # @return [Integer]
106
+ #
107
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlanRatesRequest AWS API Documentation
108
+ #
109
+ class DescribeSavingsPlanRatesRequest < Struct.new(
110
+ :savings_plan_id,
111
+ :filters,
112
+ :next_token,
113
+ :max_results)
114
+ include Aws::Structure
115
+ end
116
+
117
+ # @!attribute [rw] savings_plan_id
118
+ # The ID of the Savings Plan.
119
+ # @return [String]
120
+ #
121
+ # @!attribute [rw] search_results
122
+ # Information about the Savings Plans rates.
123
+ # @return [Array<Types::SavingsPlanRate>]
124
+ #
125
+ # @!attribute [rw] next_token
126
+ # The token to use to retrieve the next page of results. This value is
127
+ # null when there are no more results to return.
128
+ # @return [String]
129
+ #
130
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlanRatesResponse AWS API Documentation
131
+ #
132
+ class DescribeSavingsPlanRatesResponse < Struct.new(
133
+ :savings_plan_id,
134
+ :search_results,
135
+ :next_token)
136
+ include Aws::Structure
137
+ end
138
+
139
+ # @note When making an API call, you may pass DescribeSavingsPlansOfferingRatesRequest
140
+ # data as a hash:
141
+ #
142
+ # {
143
+ # savings_plan_offering_ids: ["UUID"],
144
+ # savings_plan_payment_options: ["All Upfront"], # accepts All Upfront, Partial Upfront, No Upfront
145
+ # savings_plan_types: ["Compute"], # accepts Compute, EC2Instance
146
+ # products: ["EC2"], # accepts EC2, Fargate, Lambda
147
+ # service_codes: ["AmazonEC2"], # accepts AmazonEC2, AmazonECS, AWSLambda
148
+ # usage_types: ["SavingsPlanRateUsageType"],
149
+ # operations: ["SavingsPlanRateOperation"],
150
+ # filters: [
151
+ # {
152
+ # name: "region", # accepts region, instanceFamily, instanceType, productDescription, tenancy, productId
153
+ # values: ["JsonSafeFilterValueString"],
154
+ # },
155
+ # ],
156
+ # next_token: "PaginationToken",
157
+ # max_results: 1,
158
+ # }
159
+ #
160
+ # @!attribute [rw] savings_plan_offering_ids
161
+ # The IDs of the offerings.
162
+ # @return [Array<String>]
163
+ #
164
+ # @!attribute [rw] savings_plan_payment_options
165
+ # The payment options.
166
+ # @return [Array<String>]
167
+ #
168
+ # @!attribute [rw] savings_plan_types
169
+ # The plan types.
170
+ # @return [Array<String>]
171
+ #
172
+ # @!attribute [rw] products
173
+ # The AWS products.
174
+ # @return [Array<String>]
175
+ #
176
+ # @!attribute [rw] service_codes
177
+ # The services.
178
+ # @return [Array<String>]
179
+ #
180
+ # @!attribute [rw] usage_types
181
+ # The usage details of the line item in the billing report.
182
+ # @return [Array<String>]
183
+ #
184
+ # @!attribute [rw] operations
185
+ # The specific AWS operation for the line item in the billing report.
186
+ # @return [Array<String>]
187
+ #
188
+ # @!attribute [rw] filters
189
+ # The filters.
190
+ # @return [Array<Types::SavingsPlanOfferingRateFilterElement>]
191
+ #
192
+ # @!attribute [rw] next_token
193
+ # The token for the next page of results.
194
+ # @return [String]
195
+ #
196
+ # @!attribute [rw] max_results
197
+ # The maximum number of results to return with a single call. To
198
+ # retrieve additional results, make another call with the returned
199
+ # token value.
200
+ # @return [Integer]
201
+ #
202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferingRatesRequest AWS API Documentation
203
+ #
204
+ class DescribeSavingsPlansOfferingRatesRequest < Struct.new(
205
+ :savings_plan_offering_ids,
206
+ :savings_plan_payment_options,
207
+ :savings_plan_types,
208
+ :products,
209
+ :service_codes,
210
+ :usage_types,
211
+ :operations,
212
+ :filters,
213
+ :next_token,
214
+ :max_results)
215
+ include Aws::Structure
216
+ end
217
+
218
+ # @!attribute [rw] search_results
219
+ # Information about the Savings Plans offering rates.
220
+ # @return [Array<Types::SavingsPlanOfferingRate>]
221
+ #
222
+ # @!attribute [rw] next_token
223
+ # The token to use to retrieve the next page of results. This value is
224
+ # null when there are no more results to return.
225
+ # @return [String]
226
+ #
227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferingRatesResponse AWS API Documentation
228
+ #
229
+ class DescribeSavingsPlansOfferingRatesResponse < Struct.new(
230
+ :search_results,
231
+ :next_token)
232
+ include Aws::Structure
233
+ end
234
+
235
+ # @note When making an API call, you may pass DescribeSavingsPlansOfferingsRequest
236
+ # data as a hash:
237
+ #
238
+ # {
239
+ # offering_ids: ["UUID"],
240
+ # payment_options: ["All Upfront"], # accepts All Upfront, Partial Upfront, No Upfront
241
+ # product_type: "EC2", # accepts EC2, Fargate, Lambda
242
+ # plan_types: ["Compute"], # accepts Compute, EC2Instance
243
+ # durations: [1],
244
+ # currencies: ["CNY"], # accepts CNY, USD
245
+ # descriptions: ["SavingsPlanDescription"],
246
+ # service_codes: ["SavingsPlanServiceCode"],
247
+ # usage_types: ["SavingsPlanUsageType"],
248
+ # operations: ["SavingsPlanOperation"],
249
+ # filters: [
250
+ # {
251
+ # name: "region", # accepts region, instanceFamily
252
+ # values: ["JsonSafeFilterValueString"],
253
+ # },
254
+ # ],
255
+ # next_token: "PaginationToken",
256
+ # max_results: 1,
257
+ # }
258
+ #
259
+ # @!attribute [rw] offering_ids
260
+ # The IDs of the offerings.
261
+ # @return [Array<String>]
262
+ #
263
+ # @!attribute [rw] payment_options
264
+ # The payment options.
265
+ # @return [Array<String>]
266
+ #
267
+ # @!attribute [rw] product_type
268
+ # The product type.
269
+ # @return [String]
270
+ #
271
+ # @!attribute [rw] plan_types
272
+ # The plan type.
273
+ # @return [Array<String>]
274
+ #
275
+ # @!attribute [rw] durations
276
+ # The durations, in seconds.
277
+ # @return [Array<Integer>]
278
+ #
279
+ # @!attribute [rw] currencies
280
+ # The currencies.
281
+ # @return [Array<String>]
282
+ #
283
+ # @!attribute [rw] descriptions
284
+ # The descriptions.
285
+ # @return [Array<String>]
286
+ #
287
+ # @!attribute [rw] service_codes
288
+ # The services.
289
+ # @return [Array<String>]
290
+ #
291
+ # @!attribute [rw] usage_types
292
+ # The usage details of the line item in the billing report.
293
+ # @return [Array<String>]
294
+ #
295
+ # @!attribute [rw] operations
296
+ # The specific AWS operation for the line item in the billing report.
297
+ # @return [Array<String>]
298
+ #
299
+ # @!attribute [rw] filters
300
+ # The filters.
301
+ # @return [Array<Types::SavingsPlanOfferingFilterElement>]
302
+ #
303
+ # @!attribute [rw] next_token
304
+ # The token for the next page of results.
305
+ # @return [String]
306
+ #
307
+ # @!attribute [rw] max_results
308
+ # The maximum number of results to return with a single call. To
309
+ # retrieve additional results, make another call with the returned
310
+ # token value.
311
+ # @return [Integer]
312
+ #
313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferingsRequest AWS API Documentation
314
+ #
315
+ class DescribeSavingsPlansOfferingsRequest < Struct.new(
316
+ :offering_ids,
317
+ :payment_options,
318
+ :product_type,
319
+ :plan_types,
320
+ :durations,
321
+ :currencies,
322
+ :descriptions,
323
+ :service_codes,
324
+ :usage_types,
325
+ :operations,
326
+ :filters,
327
+ :next_token,
328
+ :max_results)
329
+ include Aws::Structure
330
+ end
331
+
332
+ # @!attribute [rw] search_results
333
+ # Information about the Savings Plans offerings.
334
+ # @return [Array<Types::SavingsPlanOffering>]
335
+ #
336
+ # @!attribute [rw] next_token
337
+ # The token to use to retrieve the next page of results. This value is
338
+ # null when there are no more results to return.
339
+ # @return [String]
340
+ #
341
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferingsResponse AWS API Documentation
342
+ #
343
+ class DescribeSavingsPlansOfferingsResponse < Struct.new(
344
+ :search_results,
345
+ :next_token)
346
+ include Aws::Structure
347
+ end
348
+
349
+ # @note When making an API call, you may pass DescribeSavingsPlansRequest
350
+ # data as a hash:
351
+ #
352
+ # {
353
+ # savings_plan_arns: ["SavingsPlanArn"],
354
+ # savings_plan_ids: ["SavingsPlanId"],
355
+ # next_token: "PaginationToken",
356
+ # max_results: 1,
357
+ # states: ["payment-pending"], # accepts payment-pending, payment-failed, active, retired
358
+ # filters: [
359
+ # {
360
+ # name: "region", # accepts region, ec2-instance-family, commitment, upfront, term, savings-plan-type, payment-option, start, end
361
+ # values: ["String"],
362
+ # },
363
+ # ],
364
+ # }
365
+ #
366
+ # @!attribute [rw] savings_plan_arns
367
+ # The Amazon Resource Names (ARN) of the Savings Plans.
368
+ # @return [Array<String>]
369
+ #
370
+ # @!attribute [rw] savings_plan_ids
371
+ # The IDs of the Savings Plans.
372
+ # @return [Array<String>]
373
+ #
374
+ # @!attribute [rw] next_token
375
+ # The token for the next page of results.
376
+ # @return [String]
377
+ #
378
+ # @!attribute [rw] max_results
379
+ # The maximum number of results to return with a single call. To
380
+ # retrieve additional results, make another call with the returned
381
+ # token value.
382
+ # @return [Integer]
383
+ #
384
+ # @!attribute [rw] states
385
+ # The states.
386
+ # @return [Array<String>]
387
+ #
388
+ # @!attribute [rw] filters
389
+ # The filters.
390
+ # @return [Array<Types::SavingsPlanFilter>]
391
+ #
392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansRequest AWS API Documentation
393
+ #
394
+ class DescribeSavingsPlansRequest < Struct.new(
395
+ :savings_plan_arns,
396
+ :savings_plan_ids,
397
+ :next_token,
398
+ :max_results,
399
+ :states,
400
+ :filters)
401
+ include Aws::Structure
402
+ end
403
+
404
+ # @!attribute [rw] savings_plans
405
+ # Information about the Savings Plans.
406
+ # @return [Array<Types::SavingsPlan>]
407
+ #
408
+ # @!attribute [rw] next_token
409
+ # The token to use to retrieve the next page of results. This value is
410
+ # null when there are no more results to return.
411
+ # @return [String]
412
+ #
413
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansResponse AWS API Documentation
414
+ #
415
+ class DescribeSavingsPlansResponse < Struct.new(
416
+ :savings_plans,
417
+ :next_token)
418
+ include Aws::Structure
419
+ end
420
+
421
+ # An unexpected error occurred.
422
+ #
423
+ # @!attribute [rw] message
424
+ # @return [String]
425
+ #
426
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/InternalServerException AWS API Documentation
427
+ #
428
+ class InternalServerException < Struct.new(
429
+ :message)
430
+ include Aws::Structure
431
+ end
432
+
433
+ # @note When making an API call, you may pass ListTagsForResourceRequest
434
+ # data as a hash:
435
+ #
436
+ # {
437
+ # resource_arn: "SavingsPlanArn", # required
438
+ # }
439
+ #
440
+ # @!attribute [rw] resource_arn
441
+ # The Amazon Resource Name (ARN) of the resource.
442
+ # @return [String]
443
+ #
444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ListTagsForResourceRequest AWS API Documentation
445
+ #
446
+ class ListTagsForResourceRequest < Struct.new(
447
+ :resource_arn)
448
+ include Aws::Structure
449
+ end
450
+
451
+ # @!attribute [rw] tags
452
+ # Information about the tags.
453
+ # @return [Hash<String,String>]
454
+ #
455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ListTagsForResourceResponse AWS API Documentation
456
+ #
457
+ class ListTagsForResourceResponse < Struct.new(
458
+ :tags)
459
+ include Aws::Structure
460
+ end
461
+
462
+ # Information about a Savings Plan offering.
463
+ #
464
+ # @!attribute [rw] offering_id
465
+ # The ID of the offering.
466
+ # @return [String]
467
+ #
468
+ # @!attribute [rw] payment_option
469
+ # The payment option.
470
+ # @return [String]
471
+ #
472
+ # @!attribute [rw] plan_type
473
+ # The plan type.
474
+ # @return [String]
475
+ #
476
+ # @!attribute [rw] duration_seconds
477
+ # The duration, in seconds.
478
+ # @return [Integer]
479
+ #
480
+ # @!attribute [rw] currency
481
+ # The currency.
482
+ # @return [String]
483
+ #
484
+ # @!attribute [rw] plan_description
485
+ # The description.
486
+ # @return [String]
487
+ #
488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ParentSavingsPlanOffering AWS API Documentation
489
+ #
490
+ class ParentSavingsPlanOffering < Struct.new(
491
+ :offering_id,
492
+ :payment_option,
493
+ :plan_type,
494
+ :duration_seconds,
495
+ :currency,
496
+ :plan_description)
497
+ include Aws::Structure
498
+ end
499
+
500
+ # The specified resource was not found.
501
+ #
502
+ # @!attribute [rw] message
503
+ # @return [String]
504
+ #
505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ResourceNotFoundException AWS API Documentation
506
+ #
507
+ class ResourceNotFoundException < Struct.new(
508
+ :message)
509
+ include Aws::Structure
510
+ end
511
+
512
+ # Information about a Savings Plan.
513
+ #
514
+ # @!attribute [rw] offering_id
515
+ # The ID of the offering.
516
+ # @return [String]
517
+ #
518
+ # @!attribute [rw] savings_plan_id
519
+ # The ID of the Savings Plan.
520
+ # @return [String]
521
+ #
522
+ # @!attribute [rw] savings_plan_arn
523
+ # The Amazon Resource Name (ARN) of the Savings Plan.
524
+ # @return [String]
525
+ #
526
+ # @!attribute [rw] description
527
+ # The description.
528
+ # @return [String]
529
+ #
530
+ # @!attribute [rw] start
531
+ # The start time.
532
+ # @return [String]
533
+ #
534
+ # @!attribute [rw] end
535
+ # The end time.
536
+ # @return [String]
537
+ #
538
+ # @!attribute [rw] state
539
+ # The state.
540
+ # @return [String]
541
+ #
542
+ # @!attribute [rw] region
543
+ # The AWS Region.
544
+ # @return [String]
545
+ #
546
+ # @!attribute [rw] ec2_instance_family
547
+ # The EC2 instance family.
548
+ # @return [String]
549
+ #
550
+ # @!attribute [rw] savings_plan_type
551
+ # The plan type.
552
+ # @return [String]
553
+ #
554
+ # @!attribute [rw] payment_option
555
+ # The payment option.
556
+ # @return [String]
557
+ #
558
+ # @!attribute [rw] product_types
559
+ # The product types.
560
+ # @return [Array<String>]
561
+ #
562
+ # @!attribute [rw] currency
563
+ # The currency.
564
+ # @return [String]
565
+ #
566
+ # @!attribute [rw] commitment
567
+ # The hourly commitment, in USD.
568
+ # @return [String]
569
+ #
570
+ # @!attribute [rw] upfront_payment_amount
571
+ # The up-front payment amount.
572
+ # @return [String]
573
+ #
574
+ # @!attribute [rw] recurring_payment_amount
575
+ # The recurring payment amount.
576
+ # @return [String]
577
+ #
578
+ # @!attribute [rw] term_duration_in_seconds
579
+ # The duration of the term, in seconds.
580
+ # @return [Integer]
581
+ #
582
+ # @!attribute [rw] tags
583
+ # One or more tags.
584
+ # @return [Hash<String,String>]
585
+ #
586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlan AWS API Documentation
587
+ #
588
+ class SavingsPlan < Struct.new(
589
+ :offering_id,
590
+ :savings_plan_id,
591
+ :savings_plan_arn,
592
+ :description,
593
+ :start,
594
+ :end,
595
+ :state,
596
+ :region,
597
+ :ec2_instance_family,
598
+ :savings_plan_type,
599
+ :payment_option,
600
+ :product_types,
601
+ :currency,
602
+ :commitment,
603
+ :upfront_payment_amount,
604
+ :recurring_payment_amount,
605
+ :term_duration_in_seconds,
606
+ :tags)
607
+ include Aws::Structure
608
+ end
609
+
610
+ # Information about a filter.
611
+ #
612
+ # @note When making an API call, you may pass SavingsPlanFilter
613
+ # data as a hash:
614
+ #
615
+ # {
616
+ # name: "region", # accepts region, ec2-instance-family, commitment, upfront, term, savings-plan-type, payment-option, start, end
617
+ # values: ["String"],
618
+ # }
619
+ #
620
+ # @!attribute [rw] name
621
+ # The filter name.
622
+ # @return [String]
623
+ #
624
+ # @!attribute [rw] values
625
+ # The filter value.
626
+ # @return [Array<String>]
627
+ #
628
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlanFilter AWS API Documentation
629
+ #
630
+ class SavingsPlanFilter < Struct.new(
631
+ :name,
632
+ :values)
633
+ include Aws::Structure
634
+ end
635
+
636
+ # Information about a Savings Plan offering.
637
+ #
638
+ # @!attribute [rw] offering_id
639
+ # The ID of the offering.
640
+ # @return [String]
641
+ #
642
+ # @!attribute [rw] product_types
643
+ # The product type.
644
+ # @return [Array<String>]
645
+ #
646
+ # @!attribute [rw] plan_type
647
+ # The plan type.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] description
651
+ # The description.
652
+ # @return [String]
653
+ #
654
+ # @!attribute [rw] payment_option
655
+ # The payment option.
656
+ # @return [String]
657
+ #
658
+ # @!attribute [rw] duration_seconds
659
+ # The duration, in seconds.
660
+ # @return [Integer]
661
+ #
662
+ # @!attribute [rw] currency
663
+ # The currency.
664
+ # @return [String]
665
+ #
666
+ # @!attribute [rw] service_code
667
+ # The service.
668
+ # @return [String]
669
+ #
670
+ # @!attribute [rw] usage_type
671
+ # The usage details of the line item in the billing report.
672
+ # @return [String]
673
+ #
674
+ # @!attribute [rw] operation
675
+ # The specific AWS operation for the line item in the billing report.
676
+ # @return [String]
677
+ #
678
+ # @!attribute [rw] properties
679
+ # The properties.
680
+ # @return [Array<Types::SavingsPlanOfferingProperty>]
681
+ #
682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlanOffering AWS API Documentation
683
+ #
684
+ class SavingsPlanOffering < Struct.new(
685
+ :offering_id,
686
+ :product_types,
687
+ :plan_type,
688
+ :description,
689
+ :payment_option,
690
+ :duration_seconds,
691
+ :currency,
692
+ :service_code,
693
+ :usage_type,
694
+ :operation,
695
+ :properties)
696
+ include Aws::Structure
697
+ end
698
+
699
+ # Information about a filter.
700
+ #
701
+ # @note When making an API call, you may pass SavingsPlanOfferingFilterElement
702
+ # data as a hash:
703
+ #
704
+ # {
705
+ # name: "region", # accepts region, instanceFamily
706
+ # values: ["JsonSafeFilterValueString"],
707
+ # }
708
+ #
709
+ # @!attribute [rw] name
710
+ # The filter name.
711
+ # @return [String]
712
+ #
713
+ # @!attribute [rw] values
714
+ # The filter values.
715
+ # @return [Array<String>]
716
+ #
717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlanOfferingFilterElement AWS API Documentation
718
+ #
719
+ class SavingsPlanOfferingFilterElement < Struct.new(
720
+ :name,
721
+ :values)
722
+ include Aws::Structure
723
+ end
724
+
725
+ # Information about a property.
726
+ #
727
+ # @!attribute [rw] name
728
+ # The property name.
729
+ # @return [String]
730
+ #
731
+ # @!attribute [rw] value
732
+ # The property value.
733
+ # @return [String]
734
+ #
735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlanOfferingProperty AWS API Documentation
736
+ #
737
+ class SavingsPlanOfferingProperty < Struct.new(
738
+ :name,
739
+ :value)
740
+ include Aws::Structure
741
+ end
742
+
743
+ # Information about a Savings Plan offering rate.
744
+ #
745
+ # @!attribute [rw] savings_plan_offering
746
+ # The Savings Plan offering.
747
+ # @return [Types::ParentSavingsPlanOffering]
748
+ #
749
+ # @!attribute [rw] rate
750
+ # The Savings Plan rate.
751
+ # @return [String]
752
+ #
753
+ # @!attribute [rw] unit
754
+ # The unit.
755
+ # @return [String]
756
+ #
757
+ # @!attribute [rw] product_type
758
+ # The product type.
759
+ # @return [String]
760
+ #
761
+ # @!attribute [rw] service_code
762
+ # The service.
763
+ # @return [String]
764
+ #
765
+ # @!attribute [rw] usage_type
766
+ # The usage details of the line item in the billing report.
767
+ # @return [String]
768
+ #
769
+ # @!attribute [rw] operation
770
+ # The specific AWS operation for the line item in the billing report.
771
+ # @return [String]
772
+ #
773
+ # @!attribute [rw] properties
774
+ # The properties.
775
+ # @return [Array<Types::SavingsPlanOfferingRateProperty>]
776
+ #
777
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlanOfferingRate AWS API Documentation
778
+ #
779
+ class SavingsPlanOfferingRate < Struct.new(
780
+ :savings_plan_offering,
781
+ :rate,
782
+ :unit,
783
+ :product_type,
784
+ :service_code,
785
+ :usage_type,
786
+ :operation,
787
+ :properties)
788
+ include Aws::Structure
789
+ end
790
+
791
+ # Information about a filter.
792
+ #
793
+ # @note When making an API call, you may pass SavingsPlanOfferingRateFilterElement
794
+ # data as a hash:
795
+ #
796
+ # {
797
+ # name: "region", # accepts region, instanceFamily, instanceType, productDescription, tenancy, productId
798
+ # values: ["JsonSafeFilterValueString"],
799
+ # }
800
+ #
801
+ # @!attribute [rw] name
802
+ # The filter name.
803
+ # @return [String]
804
+ #
805
+ # @!attribute [rw] values
806
+ # The filter values.
807
+ # @return [Array<String>]
808
+ #
809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlanOfferingRateFilterElement AWS API Documentation
810
+ #
811
+ class SavingsPlanOfferingRateFilterElement < Struct.new(
812
+ :name,
813
+ :values)
814
+ include Aws::Structure
815
+ end
816
+
817
+ # Information about a property.
818
+ #
819
+ # @!attribute [rw] name
820
+ # The property name.
821
+ # @return [String]
822
+ #
823
+ # @!attribute [rw] value
824
+ # The property value.
825
+ # @return [String]
826
+ #
827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlanOfferingRateProperty AWS API Documentation
828
+ #
829
+ class SavingsPlanOfferingRateProperty < Struct.new(
830
+ :name,
831
+ :value)
832
+ include Aws::Structure
833
+ end
834
+
835
+ # Information about a Savings Plan rate.
836
+ #
837
+ # @!attribute [rw] rate
838
+ # The rate.
839
+ # @return [String]
840
+ #
841
+ # @!attribute [rw] currency
842
+ # The currency.
843
+ # @return [String]
844
+ #
845
+ # @!attribute [rw] unit
846
+ # The unit.
847
+ # @return [String]
848
+ #
849
+ # @!attribute [rw] product_type
850
+ # The product type.
851
+ # @return [String]
852
+ #
853
+ # @!attribute [rw] service_code
854
+ # The service.
855
+ # @return [String]
856
+ #
857
+ # @!attribute [rw] usage_type
858
+ # The usage details of the line item in the billing report.
859
+ # @return [String]
860
+ #
861
+ # @!attribute [rw] operation
862
+ # The specific AWS operation for the line item in the billing report.
863
+ # @return [String]
864
+ #
865
+ # @!attribute [rw] properties
866
+ # The properties.
867
+ # @return [Array<Types::SavingsPlanRateProperty>]
868
+ #
869
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlanRate AWS API Documentation
870
+ #
871
+ class SavingsPlanRate < Struct.new(
872
+ :rate,
873
+ :currency,
874
+ :unit,
875
+ :product_type,
876
+ :service_code,
877
+ :usage_type,
878
+ :operation,
879
+ :properties)
880
+ include Aws::Structure
881
+ end
882
+
883
+ # Information about a filter.
884
+ #
885
+ # @note When making an API call, you may pass SavingsPlanRateFilter
886
+ # data as a hash:
887
+ #
888
+ # {
889
+ # name: "region", # accepts region, instanceType, productDescription, tenancy, productType, serviceCode, usageType, operation
890
+ # values: ["String"],
891
+ # }
892
+ #
893
+ # @!attribute [rw] name
894
+ # The filter name.
895
+ # @return [String]
896
+ #
897
+ # @!attribute [rw] values
898
+ # The filter values.
899
+ # @return [Array<String>]
900
+ #
901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlanRateFilter AWS API Documentation
902
+ #
903
+ class SavingsPlanRateFilter < Struct.new(
904
+ :name,
905
+ :values)
906
+ include Aws::Structure
907
+ end
908
+
909
+ # Information about a property.
910
+ #
911
+ # @!attribute [rw] name
912
+ # The property name.
913
+ # @return [String]
914
+ #
915
+ # @!attribute [rw] value
916
+ # The property value.
917
+ # @return [String]
918
+ #
919
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/SavingsPlanRateProperty AWS API Documentation
920
+ #
921
+ class SavingsPlanRateProperty < Struct.new(
922
+ :name,
923
+ :value)
924
+ include Aws::Structure
925
+ end
926
+
927
+ # A service quota has been exceeded.
928
+ #
929
+ # @!attribute [rw] message
930
+ # @return [String]
931
+ #
932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ServiceQuotaExceededException AWS API Documentation
933
+ #
934
+ class ServiceQuotaExceededException < Struct.new(
935
+ :message)
936
+ include Aws::Structure
937
+ end
938
+
939
+ # @note When making an API call, you may pass TagResourceRequest
940
+ # data as a hash:
941
+ #
942
+ # {
943
+ # resource_arn: "SavingsPlanArn", # required
944
+ # tags: { # required
945
+ # "TagKey" => "TagValue",
946
+ # },
947
+ # }
948
+ #
949
+ # @!attribute [rw] resource_arn
950
+ # The Amazon Resource Name (ARN) of the resource.
951
+ # @return [String]
952
+ #
953
+ # @!attribute [rw] tags
954
+ # One or more tags. For example, \\\{ "tags":
955
+ # \\\{"key1":"value1", "key2":"value2"\\} \\}.
956
+ # @return [Hash<String,String>]
957
+ #
958
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/TagResourceRequest AWS API Documentation
959
+ #
960
+ class TagResourceRequest < Struct.new(
961
+ :resource_arn,
962
+ :tags)
963
+ include Aws::Structure
964
+ end
965
+
966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/TagResourceResponse AWS API Documentation
967
+ #
968
+ class TagResourceResponse < Aws::EmptyStructure; end
969
+
970
+ # @note When making an API call, you may pass UntagResourceRequest
971
+ # data as a hash:
972
+ #
973
+ # {
974
+ # resource_arn: "SavingsPlanArn", # required
975
+ # tag_keys: ["TagKey"], # required
976
+ # }
977
+ #
978
+ # @!attribute [rw] resource_arn
979
+ # The Amazon Resource Name (ARN) of the resource.
980
+ # @return [String]
981
+ #
982
+ # @!attribute [rw] tag_keys
983
+ # The tag keys.
984
+ # @return [Array<String>]
985
+ #
986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/UntagResourceRequest AWS API Documentation
987
+ #
988
+ class UntagResourceRequest < Struct.new(
989
+ :resource_arn,
990
+ :tag_keys)
991
+ include Aws::Structure
992
+ end
993
+
994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/UntagResourceResponse AWS API Documentation
995
+ #
996
+ class UntagResourceResponse < Aws::EmptyStructure; end
997
+
998
+ # One of the input parameters is not valid.
999
+ #
1000
+ # @!attribute [rw] message
1001
+ # @return [String]
1002
+ #
1003
+ # @see http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ValidationException AWS API Documentation
1004
+ #
1005
+ class ValidationException < Struct.new(
1006
+ :message)
1007
+ include Aws::Structure
1008
+ end
1009
+
1010
+ end
1011
+ end