aws-sdk-savingsplans 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,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
147
+ # service_codes: ["AmazonEC2"], # accepts AmazonEC2, AmazonECS
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
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