aws-sdk-costexplorer 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/aws-sdk-costexplorer.rb +1 -1
- data/lib/aws-sdk-costexplorer/client.rb +192 -53
- data/lib/aws-sdk-costexplorer/client_api.rb +108 -0
- data/lib/aws-sdk-costexplorer/types.rb +512 -82
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 87fd4ca3923fa05af050f055cd46350ecaee4e56
|
4
|
+
data.tar.gz: 922c2e493f0550c59285e6f6a19317bcc1d36942
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9488f467344b8eb01fb3ce1bae4b8324ee6725313b0e7a14dfdad98e6a7df633908b131a95f4f31d0491b0b7a311a1b74144ed304ef3d9794bac5d8851412255
|
7
|
+
data.tar.gz: 2d9b78663c7e2b68eea6c2ce794662ce3bc51b5438f35c9fc4c85d61f92072192a421ae05d51a6848ae51d2c1fa9c69e9c1016a7251588404113b57986c6d3c3
|
data/lib/aws-sdk-costexplorer.rb
CHANGED
@@ -155,13 +155,14 @@ module Aws::CostExplorer
|
|
155
155
|
|
156
156
|
# @!group API Operations
|
157
157
|
|
158
|
-
#
|
158
|
+
# Retrieves cost and usage metrics for your account. You can specify
|
159
159
|
# which cost and usage-related metric, such as `BlendedCosts` or
|
160
160
|
# `UsageQuantity`, that you want the request to return. You can also
|
161
161
|
# filter and group your data by various dimensions, such as `SERVICE` or
|
162
|
-
# `AZ`, in a specific time range.
|
163
|
-
#
|
164
|
-
# organization have access to all member
|
162
|
+
# `AZ`, in a specific time range. For a complete list of valid
|
163
|
+
# dimensions, see the ` GetDimensionValues ` operation. Master accounts
|
164
|
+
# in an organization in AWS Organizations have access to all member
|
165
|
+
# accounts.
|
165
166
|
#
|
166
167
|
# @option params [Types::DateInterval] :time_period
|
167
168
|
# Sets the start and end dates for retrieving AWS costs. The start date
|
@@ -177,10 +178,10 @@ module Aws::CostExplorer
|
|
177
178
|
#
|
178
179
|
# @option params [Types::Expression] :filter
|
179
180
|
# Filters AWS costs by different dimensions. For example, you can
|
180
|
-
# specify `SERVICE` and `LINKED_ACCOUNT` and get the costs
|
181
|
-
# with that account's usage of that service. You can nest
|
182
|
-
# objects to define any combination of dimension filters.
|
183
|
-
# information, see [Expression][1].
|
181
|
+
# specify `SERVICE` and `LINKED_ACCOUNT` and get the costs that are
|
182
|
+
# associated with that account's usage of that service. You can nest
|
183
|
+
# `Expression` objects to define any combination of dimension filters.
|
184
|
+
# For more information, see [Expression][1].
|
184
185
|
#
|
185
186
|
#
|
186
187
|
#
|
@@ -202,6 +203,8 @@ module Aws::CostExplorer
|
|
202
203
|
#
|
203
204
|
# </note>
|
204
205
|
#
|
206
|
+
# `Metrics` is required for `GetCostAndUsage` requests.
|
207
|
+
#
|
205
208
|
#
|
206
209
|
#
|
207
210
|
# [1]: https://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/
|
@@ -213,9 +216,9 @@ module Aws::CostExplorer
|
|
213
216
|
# When you group by tag key, you get all tag values, including empty
|
214
217
|
# strings.
|
215
218
|
#
|
216
|
-
# Valid values are `AZ`, `INSTANCE_TYPE`, `
|
217
|
-
# `
|
218
|
-
# `USAGE_TYPE`.
|
219
|
+
# Valid values are `AZ`, `INSTANCE_TYPE`, `LEGAL_ENTITY_NAME`,
|
220
|
+
# `LINKED_ACCOUNT`, `OPERATION`, `PLATFORM`, `PURCHASE_TYPE`, `SERVICE`,
|
221
|
+
# `TAGS`, `TENANCY`, and `USAGE_TYPE`.
|
219
222
|
#
|
220
223
|
# @option params [String] :next_page_token
|
221
224
|
# The token to retrieve the next set of results. AWS provides the token
|
@@ -298,9 +301,9 @@ module Aws::CostExplorer
|
|
298
301
|
req.send_request(options)
|
299
302
|
end
|
300
303
|
|
301
|
-
#
|
302
|
-
#
|
303
|
-
#
|
304
|
+
# Retrieves all available filter values for a specific filter over a
|
305
|
+
# period of time. You can search the dimension values for an arbitrary
|
306
|
+
# string.
|
304
307
|
#
|
305
308
|
# @option params [String] :search_string
|
306
309
|
# The value that you want to search the filter values for.
|
@@ -313,7 +316,7 @@ module Aws::CostExplorer
|
|
313
316
|
# `2017-04-30` but not including `2017-05-01`.
|
314
317
|
#
|
315
318
|
# @option params [required, String] :dimension
|
316
|
-
# The name of the dimension. Each `
|
319
|
+
# The name of the dimension. Each `Dimension` is available for different
|
317
320
|
# a `Context`. For more information, see `Context`.
|
318
321
|
#
|
319
322
|
# @option params [String] :context
|
@@ -321,38 +324,39 @@ module Aws::CostExplorer
|
|
321
324
|
# `RESERVATIONS` or `COST_AND_USAGE`. The default value is
|
322
325
|
# `COST_AND_USAGE`. If the context is set to `RESERVATIONS`, the
|
323
326
|
# resulting dimension values can be used in the
|
324
|
-
# `GetReservationUtilization`
|
325
|
-
# `COST_AND_USAGE
|
327
|
+
# `GetReservationUtilization` operation. If the context is set to
|
328
|
+
# `COST_AND_USAGE` the resulting dimension values can be used in the
|
326
329
|
# `GetCostAndUsage` operation.
|
327
330
|
#
|
328
331
|
# If you set the context to `CostAndUsage`, you can use the following
|
329
332
|
# dimensions for searching:
|
330
333
|
#
|
331
|
-
# * AZ - The Availability Zone. An example is us-east-1a
|
334
|
+
# * AZ - The Availability Zone. An example is `us-east-1a`.
|
332
335
|
#
|
333
|
-
# * INSTANCE\_TYPE - The type of
|
336
|
+
# * INSTANCE\_TYPE - The type of instance. An example is an EC2
|
337
|
+
# `m4.xlarge`.
|
334
338
|
#
|
335
339
|
# * LINKED\_ACCOUNT - The description in the attribute map that includes
|
336
340
|
# the full name of the member account. The value field contains the
|
337
|
-
# AWS ID of the member account
|
341
|
+
# AWS ID of the member account.
|
338
342
|
#
|
339
|
-
# * OPERATION - The action performed. Examples include RunInstance and
|
340
|
-
# CreateBucket
|
343
|
+
# * OPERATION - The action performed. Examples include `RunInstance` and
|
344
|
+
# `CreateBucket`.
|
341
345
|
#
|
342
346
|
# * PURCHASE\_TYPE - The reservation type of the purchase to which this
|
343
|
-
# usage is related. Examples include
|
344
|
-
# Reserved Instances
|
347
|
+
# usage is related. Examples include On-Demand Instances and Standard
|
348
|
+
# Reserved Instances.
|
345
349
|
#
|
346
350
|
# * SERVICE - The AWS service such as DynamoDB.
|
347
351
|
#
|
348
352
|
# * USAGE\_TYPE - The type of usage. An example is
|
349
|
-
# DataTransfer-In-Bytes
|
350
|
-
#
|
351
|
-
# Hrs.
|
353
|
+
# `DataTransfer-In-Bytes`. The response for the `GetDimensionValues`
|
354
|
+
# operation includes a unit attribute, examples of which include GB
|
355
|
+
# and Hrs.
|
352
356
|
#
|
353
357
|
# * USAGE\_TYPE\_GROUP - The grouping of common usage types. An example
|
354
|
-
# is EC2: CloudWatch – Alarms. The response for this
|
355
|
-
# unit attribute.
|
358
|
+
# is EC2: CloudWatch – Alarms. The response for this operation
|
359
|
+
# includes a unit attribute.
|
356
360
|
#
|
357
361
|
# * RECORD\_TYPE - The different types of charges such as RI fees, usage
|
358
362
|
# costs, tax refunds, and credits.
|
@@ -360,20 +364,24 @@ module Aws::CostExplorer
|
|
360
364
|
# If you set the context to `RESERVATIONS`, you can use the following
|
361
365
|
# dimensions for searching:
|
362
366
|
#
|
363
|
-
# * AZ - The Availability Zone. An example is us-east-1a
|
367
|
+
# * AZ - The Availability Zone. An example is `us-east-1a`.
|
364
368
|
#
|
365
|
-
# * INSTANCE\_TYPE - The type of
|
369
|
+
# * INSTANCE\_TYPE - The type of instance. An example is an EC2
|
370
|
+
# `m4.xlarge`.
|
366
371
|
#
|
367
372
|
# * LINKED\_ACCOUNT - The description in the attribute map that includes
|
368
373
|
# the full name of the member account. The value field contains the
|
369
|
-
# AWS ID of the member account
|
374
|
+
# AWS ID of the member account.
|
370
375
|
#
|
371
|
-
# * PLATFORM - The
|
376
|
+
# * PLATFORM - The specific combination of operating system, license
|
377
|
+
# model, and software on an instance. For example, a Windows instance
|
378
|
+
# with SQL Server Web and no license, or a Red Hat Enterprise Linux
|
379
|
+
# instance.
|
372
380
|
#
|
373
|
-
# * REGION - The AWS
|
381
|
+
# * REGION - The AWS Region.
|
374
382
|
#
|
375
|
-
# * SCOPE - The scope of a
|
376
|
-
# or a single
|
383
|
+
# * SCOPE - The scope of a Reserved Instance (RI). Values are regional
|
384
|
+
# or a single Availability Zone.
|
377
385
|
#
|
378
386
|
# * TENANCY - The tenancy of a resource. Examples are shared or
|
379
387
|
# dedicated.
|
@@ -422,10 +430,13 @@ module Aws::CostExplorer
|
|
422
430
|
req.send_request(options)
|
423
431
|
end
|
424
432
|
|
425
|
-
#
|
426
|
-
#
|
427
|
-
#
|
428
|
-
#
|
433
|
+
# Retrieves the reservation coverage for your account. This allows you
|
434
|
+
# to see how much of your Amazon Elastic Compute Cloud, Amazon
|
435
|
+
# ElastiCache, Amazon Relational Database Service, or Amazon Redshift
|
436
|
+
# usage is covered by a reservation. An organization's master account
|
437
|
+
# can see the coverage of the associated member accounts. For any time
|
438
|
+
# period, you can filter data about reservation usage by the following
|
439
|
+
# dimensions:
|
429
440
|
#
|
430
441
|
# * AZ
|
431
442
|
#
|
@@ -445,14 +456,14 @@ module Aws::CostExplorer
|
|
445
456
|
# @option params [required, Types::DateInterval] :time_period
|
446
457
|
# The start and end dates of the period for which you want to retrieve
|
447
458
|
# data about reservation coverage. You can retrieve data for a maximum
|
448
|
-
# of 13 months
|
459
|
+
# of 13 months: the last 12 months and the current month. The start date
|
449
460
|
# is inclusive, but the end date is exclusive. For example, if `start`
|
450
461
|
# is `2017-01-01` and `end` is `2017-05-01`, then the cost and usage
|
451
462
|
# data is retrieved from `2017-01-01` up to and including `2017-04-30`
|
452
463
|
# but not including `2017-05-01`.
|
453
464
|
#
|
454
465
|
# @option params [Array<Types::GroupDefinition>] :group_by
|
455
|
-
# You can group the data by the following attributes
|
466
|
+
# You can group the data by the following attributes:
|
456
467
|
#
|
457
468
|
# * AZ
|
458
469
|
#
|
@@ -476,7 +487,7 @@ module Aws::CostExplorer
|
|
476
487
|
#
|
477
488
|
# @option params [Types::Expression] :filter
|
478
489
|
# Filters utilization data by dimensions. You can filter by the
|
479
|
-
# following dimensions
|
490
|
+
# following dimensions:
|
480
491
|
#
|
481
492
|
# * AZ
|
482
493
|
#
|
@@ -490,7 +501,7 @@ module Aws::CostExplorer
|
|
490
501
|
#
|
491
502
|
# * TENANCY
|
492
503
|
#
|
493
|
-
# `GetReservationCoverage` uses the same `Expression` object as the
|
504
|
+
# `GetReservationCoverage` uses the same ` Expression ` object as the
|
494
505
|
# other operations, but only `AND` is supported among each dimension.
|
495
506
|
# You can nest only one level deep. If there are multiple values for a
|
496
507
|
# dimension, they are OR'd together.
|
@@ -577,11 +588,139 @@ module Aws::CostExplorer
|
|
577
588
|
req.send_request(options)
|
578
589
|
end
|
579
590
|
|
580
|
-
#
|
581
|
-
#
|
582
|
-
#
|
583
|
-
#
|
584
|
-
#
|
591
|
+
# Gets recommendations for which reservations to purchase. These
|
592
|
+
# recommendations could help you reduce your costs. Reservations provide
|
593
|
+
# a discounted hourly rate (up to 75%) compared to On-Demand pricing.
|
594
|
+
#
|
595
|
+
# AWS generates your recommendations by identifying your On-Demand usage
|
596
|
+
# during a specific time period and collecting your usage into
|
597
|
+
# categories that are eligible for a reservation. After AWS has these
|
598
|
+
# categories, it simulates every combination of reservations in each
|
599
|
+
# category of usage to identify the best number of each type of RI to
|
600
|
+
# purchase to maximize your estimated savings.
|
601
|
+
#
|
602
|
+
# For example, AWS automatically aggregates your EC2 Linux, shared
|
603
|
+
# tenancy, and c4 family usage in the US West (Oregon) Region and
|
604
|
+
# recommends that you buy size-flexible regional reservations to apply
|
605
|
+
# to the c4 family usage. AWS recommends the smallest size instance in
|
606
|
+
# an instance family. This makes it easier to purchase a size-flexible
|
607
|
+
# RI. AWS also shows the equal number of normalized units so that you
|
608
|
+
# can purchase any instance size that you want. For this example, your
|
609
|
+
# RI recommendation would be for `c4.large`, because that is the
|
610
|
+
# smallest size instance in the c4 instance family.
|
611
|
+
#
|
612
|
+
# @option params [String] :account_id
|
613
|
+
# The account ID that is associated with the recommendation.
|
614
|
+
#
|
615
|
+
# @option params [required, String] :service
|
616
|
+
# The specific service that you want recommendations for.
|
617
|
+
#
|
618
|
+
# @option params [String] :account_scope
|
619
|
+
# The account scope that you want recommendations for. The only valid
|
620
|
+
# value is `Payer`. This means that AWS includes the master account and
|
621
|
+
# any member accounts when it calculates its recommendations.
|
622
|
+
#
|
623
|
+
# @option params [String] :lookback_period_in_days
|
624
|
+
# The number of previous days that you want AWS to consider when it
|
625
|
+
# calculates your recommendations.
|
626
|
+
#
|
627
|
+
# @option params [String] :term_in_years
|
628
|
+
# The reservation term that you want recommendations for.
|
629
|
+
#
|
630
|
+
# @option params [String] :payment_option
|
631
|
+
# The reservation purchase option that you want recommendations for.
|
632
|
+
#
|
633
|
+
# @option params [Types::ServiceSpecification] :service_specification
|
634
|
+
# The specific service, such as EC2, that you want recommendations for.
|
635
|
+
#
|
636
|
+
# @option params [Integer] :page_size
|
637
|
+
# The number of recommendations that you want returned in a single
|
638
|
+
# response object.
|
639
|
+
#
|
640
|
+
# @option params [String] :next_page_token
|
641
|
+
# The pagination token that indicates the next set of results that you
|
642
|
+
# want to retrieve.
|
643
|
+
#
|
644
|
+
# @return [Types::GetReservationPurchaseRecommendationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
645
|
+
#
|
646
|
+
# * {Types::GetReservationPurchaseRecommendationResponse#metadata #metadata} => Types::ReservationPurchaseRecommendationMetadata
|
647
|
+
# * {Types::GetReservationPurchaseRecommendationResponse#recommendations #recommendations} => Array<Types::ReservationPurchaseRecommendation>
|
648
|
+
# * {Types::GetReservationPurchaseRecommendationResponse#next_page_token #next_page_token} => String
|
649
|
+
#
|
650
|
+
# @example Request syntax with placeholder values
|
651
|
+
#
|
652
|
+
# resp = client.get_reservation_purchase_recommendation({
|
653
|
+
# account_id: "GenericString",
|
654
|
+
# service: "GenericString", # required
|
655
|
+
# account_scope: "PAYER", # accepts PAYER
|
656
|
+
# lookback_period_in_days: "SEVEN_DAYS", # accepts SEVEN_DAYS, THIRTY_DAYS, SIXTY_DAYS
|
657
|
+
# term_in_years: "ONE_YEAR", # accepts ONE_YEAR, THREE_YEARS
|
658
|
+
# payment_option: "NO_UPFRONT", # accepts NO_UPFRONT, PARTIAL_UPFRONT, ALL_UPFRONT
|
659
|
+
# service_specification: {
|
660
|
+
# ec2_specification: {
|
661
|
+
# offering_class: "STANDARD", # accepts STANDARD, CONVERTIBLE
|
662
|
+
# },
|
663
|
+
# },
|
664
|
+
# page_size: 1,
|
665
|
+
# next_page_token: "NextPageToken",
|
666
|
+
# })
|
667
|
+
#
|
668
|
+
# @example Response structure
|
669
|
+
#
|
670
|
+
# resp.metadata.recommendation_id #=> String
|
671
|
+
# resp.metadata.generation_timestamp #=> String
|
672
|
+
# resp.recommendations #=> Array
|
673
|
+
# resp.recommendations[0].account_scope #=> String, one of "PAYER"
|
674
|
+
# resp.recommendations[0].lookback_period_in_days #=> String, one of "SEVEN_DAYS", "THIRTY_DAYS", "SIXTY_DAYS"
|
675
|
+
# resp.recommendations[0].term_in_years #=> String, one of "ONE_YEAR", "THREE_YEARS"
|
676
|
+
# resp.recommendations[0].payment_option #=> String, one of "NO_UPFRONT", "PARTIAL_UPFRONT", "ALL_UPFRONT"
|
677
|
+
# resp.recommendations[0].service_specification.ec2_specification.offering_class #=> String, one of "STANDARD", "CONVERTIBLE"
|
678
|
+
# resp.recommendations[0].recommendation_details #=> Array
|
679
|
+
# resp.recommendations[0].recommendation_details[0].instance_details.ec2_instance_details.family #=> String
|
680
|
+
# resp.recommendations[0].recommendation_details[0].instance_details.ec2_instance_details.instance_type #=> String
|
681
|
+
# resp.recommendations[0].recommendation_details[0].instance_details.ec2_instance_details.region #=> String
|
682
|
+
# resp.recommendations[0].recommendation_details[0].instance_details.ec2_instance_details.availability_zone #=> String
|
683
|
+
# resp.recommendations[0].recommendation_details[0].instance_details.ec2_instance_details.platform #=> String
|
684
|
+
# resp.recommendations[0].recommendation_details[0].instance_details.ec2_instance_details.tenancy #=> String
|
685
|
+
# resp.recommendations[0].recommendation_details[0].instance_details.ec2_instance_details.current_generation #=> Boolean
|
686
|
+
# resp.recommendations[0].recommendation_details[0].instance_details.ec2_instance_details.size_flex_eligible #=> Boolean
|
687
|
+
# resp.recommendations[0].recommendation_details[0].recommended_number_of_instances_to_purchase #=> String
|
688
|
+
# resp.recommendations[0].recommendation_details[0].recommended_normalized_units_to_purchase #=> String
|
689
|
+
# resp.recommendations[0].recommendation_details[0].minimum_number_of_instances_used_per_hour #=> String
|
690
|
+
# resp.recommendations[0].recommendation_details[0].minimum_normalized_units_used_per_hour #=> String
|
691
|
+
# resp.recommendations[0].recommendation_details[0].maximum_number_of_instances_used_per_hour #=> String
|
692
|
+
# resp.recommendations[0].recommendation_details[0].maximum_normalized_units_used_per_hour #=> String
|
693
|
+
# resp.recommendations[0].recommendation_details[0].average_number_of_instances_used_per_hour #=> String
|
694
|
+
# resp.recommendations[0].recommendation_details[0].average_normalized_units_used_per_hour #=> String
|
695
|
+
# resp.recommendations[0].recommendation_details[0].average_utilization #=> String
|
696
|
+
# resp.recommendations[0].recommendation_details[0].estimated_break_even_in_months #=> String
|
697
|
+
# resp.recommendations[0].recommendation_details[0].currency_code #=> String
|
698
|
+
# resp.recommendations[0].recommendation_details[0].estimated_monthly_savings_amount #=> String
|
699
|
+
# resp.recommendations[0].recommendation_details[0].estimated_monthly_savings_percentage #=> String
|
700
|
+
# resp.recommendations[0].recommendation_details[0].estimated_monthly_on_demand_cost #=> String
|
701
|
+
# resp.recommendations[0].recommendation_details[0].estimated_reservation_cost_for_lookback_period #=> String
|
702
|
+
# resp.recommendations[0].recommendation_details[0].upfront_cost #=> String
|
703
|
+
# resp.recommendations[0].recommendation_details[0].recurring_standard_monthly_cost #=> String
|
704
|
+
# resp.recommendations[0].recommendation_summary.total_estimated_monthly_savings_amount #=> String
|
705
|
+
# resp.recommendations[0].recommendation_summary.total_estimated_monthly_savings_percentage #=> String
|
706
|
+
# resp.recommendations[0].recommendation_summary.currency_code #=> String
|
707
|
+
# resp.next_page_token #=> String
|
708
|
+
#
|
709
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendation AWS API Documentation
|
710
|
+
#
|
711
|
+
# @overload get_reservation_purchase_recommendation(params = {})
|
712
|
+
# @param [Hash] params ({})
|
713
|
+
def get_reservation_purchase_recommendation(params = {}, options = {})
|
714
|
+
req = build_request(:get_reservation_purchase_recommendation, params)
|
715
|
+
req.send_request(options)
|
716
|
+
end
|
717
|
+
|
718
|
+
# You can retrieve the reservation utilization for your account. Master
|
719
|
+
# accounts in an organization in AWS Organizations have access to their
|
720
|
+
# associated member accounts. You can filter data by dimensions in a
|
721
|
+
# time period. You can use `GetDimensionValues` to determine the
|
722
|
+
# possible dimension values. Currently, you can group only by
|
723
|
+
# `SUBSCRIPTION_ID`.
|
585
724
|
#
|
586
725
|
# @option params [required, Types::DateInterval] :time_period
|
587
726
|
# Sets the start and end dates for retrieving reserve instance (RI)
|
@@ -602,10 +741,10 @@ module Aws::CostExplorer
|
|
602
741
|
#
|
603
742
|
# @option params [Types::Expression] :filter
|
604
743
|
# Filters utilization data by using different dimensions.
|
605
|
-
# `GetReservationUtilization` uses the same `Expression` object as the
|
744
|
+
# `GetReservationUtilization` uses the same ` Expression ` object as the
|
606
745
|
# other operations, but only `AND` is supported among each dimension,
|
607
|
-
# and nesting is supported
|
608
|
-
#
|
746
|
+
# and nesting is supported to only one level deep. If there are multiple
|
747
|
+
# values for a dimension, they are OR'd together.
|
609
748
|
#
|
610
749
|
# @option params [String] :next_page_token
|
611
750
|
# The token to retrieve the next set of results. AWS provides the token
|
@@ -761,7 +900,7 @@ module Aws::CostExplorer
|
|
761
900
|
params: params,
|
762
901
|
config: config)
|
763
902
|
context[:gem_name] = 'aws-sdk-costexplorer'
|
764
|
-
context[:gem_version] = '1.
|
903
|
+
context[:gem_version] = '1.2.0'
|
765
904
|
Seahorse::Client::Request.new(handlers, context)
|
766
905
|
end
|
767
906
|
|
@@ -11,6 +11,7 @@ module Aws::CostExplorer
|
|
11
11
|
|
12
12
|
include Seahorse::Model
|
13
13
|
|
14
|
+
AccountScope = Shapes::StringShape.new(name: 'AccountScope')
|
14
15
|
AttributeType = Shapes::StringShape.new(name: 'AttributeType')
|
15
16
|
AttributeValue = Shapes::StringShape.new(name: 'AttributeValue')
|
16
17
|
Attributes = Shapes::MapShape.new(name: 'Attributes')
|
@@ -27,17 +28,23 @@ module Aws::CostExplorer
|
|
27
28
|
DimensionValues = Shapes::StructureShape.new(name: 'DimensionValues')
|
28
29
|
DimensionValuesWithAttributes = Shapes::StructureShape.new(name: 'DimensionValuesWithAttributes')
|
29
30
|
DimensionValuesWithAttributesList = Shapes::ListShape.new(name: 'DimensionValuesWithAttributesList')
|
31
|
+
EC2InstanceDetails = Shapes::StructureShape.new(name: 'EC2InstanceDetails')
|
32
|
+
EC2Specification = Shapes::StructureShape.new(name: 'EC2Specification')
|
30
33
|
Entity = Shapes::StringShape.new(name: 'Entity')
|
31
34
|
ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
|
32
35
|
Estimated = Shapes::BooleanShape.new(name: 'Estimated')
|
33
36
|
Expression = Shapes::StructureShape.new(name: 'Expression')
|
34
37
|
Expressions = Shapes::ListShape.new(name: 'Expressions')
|
38
|
+
GenericBoolean = Shapes::BooleanShape.new(name: 'GenericBoolean')
|
39
|
+
GenericString = Shapes::StringShape.new(name: 'GenericString')
|
35
40
|
GetCostAndUsageRequest = Shapes::StructureShape.new(name: 'GetCostAndUsageRequest')
|
36
41
|
GetCostAndUsageResponse = Shapes::StructureShape.new(name: 'GetCostAndUsageResponse')
|
37
42
|
GetDimensionValuesRequest = Shapes::StructureShape.new(name: 'GetDimensionValuesRequest')
|
38
43
|
GetDimensionValuesResponse = Shapes::StructureShape.new(name: 'GetDimensionValuesResponse')
|
39
44
|
GetReservationCoverageRequest = Shapes::StructureShape.new(name: 'GetReservationCoverageRequest')
|
40
45
|
GetReservationCoverageResponse = Shapes::StructureShape.new(name: 'GetReservationCoverageResponse')
|
46
|
+
GetReservationPurchaseRecommendationRequest = Shapes::StructureShape.new(name: 'GetReservationPurchaseRecommendationRequest')
|
47
|
+
GetReservationPurchaseRecommendationResponse = Shapes::StructureShape.new(name: 'GetReservationPurchaseRecommendationResponse')
|
41
48
|
GetReservationUtilizationRequest = Shapes::StructureShape.new(name: 'GetReservationUtilizationRequest')
|
42
49
|
GetReservationUtilizationResponse = Shapes::StructureShape.new(name: 'GetReservationUtilizationResponse')
|
43
50
|
GetTagsRequest = Shapes::StructureShape.new(name: 'GetTagsRequest')
|
@@ -49,10 +56,12 @@ module Aws::CostExplorer
|
|
49
56
|
GroupDefinitionType = Shapes::StringShape.new(name: 'GroupDefinitionType')
|
50
57
|
GroupDefinitions = Shapes::ListShape.new(name: 'GroupDefinitions')
|
51
58
|
Groups = Shapes::ListShape.new(name: 'Groups')
|
59
|
+
InstanceDetails = Shapes::StructureShape.new(name: 'InstanceDetails')
|
52
60
|
InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
|
53
61
|
Key = Shapes::StringShape.new(name: 'Key')
|
54
62
|
Keys = Shapes::ListShape.new(name: 'Keys')
|
55
63
|
LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
|
64
|
+
LookbackPeriodInDays = Shapes::StringShape.new(name: 'LookbackPeriodInDays')
|
56
65
|
MetricAmount = Shapes::StringShape.new(name: 'MetricAmount')
|
57
66
|
MetricName = Shapes::StringShape.new(name: 'MetricName')
|
58
67
|
MetricNames = Shapes::ListShape.new(name: 'MetricNames')
|
@@ -60,23 +69,34 @@ module Aws::CostExplorer
|
|
60
69
|
MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
|
61
70
|
Metrics = Shapes::MapShape.new(name: 'Metrics')
|
62
71
|
NextPageToken = Shapes::StringShape.new(name: 'NextPageToken')
|
72
|
+
NonNegativeInteger = Shapes::IntegerShape.new(name: 'NonNegativeInteger')
|
73
|
+
OfferingClass = Shapes::StringShape.new(name: 'OfferingClass')
|
63
74
|
OnDemandHours = Shapes::StringShape.new(name: 'OnDemandHours')
|
64
75
|
PageSize = Shapes::IntegerShape.new(name: 'PageSize')
|
76
|
+
PaymentOption = Shapes::StringShape.new(name: 'PaymentOption')
|
65
77
|
PurchasedHours = Shapes::StringShape.new(name: 'PurchasedHours')
|
66
78
|
ReservationAggregates = Shapes::StructureShape.new(name: 'ReservationAggregates')
|
67
79
|
ReservationCoverageGroup = Shapes::StructureShape.new(name: 'ReservationCoverageGroup')
|
68
80
|
ReservationCoverageGroups = Shapes::ListShape.new(name: 'ReservationCoverageGroups')
|
69
81
|
ReservationGroupKey = Shapes::StringShape.new(name: 'ReservationGroupKey')
|
70
82
|
ReservationGroupValue = Shapes::StringShape.new(name: 'ReservationGroupValue')
|
83
|
+
ReservationPurchaseRecommendation = Shapes::StructureShape.new(name: 'ReservationPurchaseRecommendation')
|
84
|
+
ReservationPurchaseRecommendationDetail = Shapes::StructureShape.new(name: 'ReservationPurchaseRecommendationDetail')
|
85
|
+
ReservationPurchaseRecommendationDetails = Shapes::ListShape.new(name: 'ReservationPurchaseRecommendationDetails')
|
86
|
+
ReservationPurchaseRecommendationMetadata = Shapes::StructureShape.new(name: 'ReservationPurchaseRecommendationMetadata')
|
87
|
+
ReservationPurchaseRecommendationSummary = Shapes::StructureShape.new(name: 'ReservationPurchaseRecommendationSummary')
|
88
|
+
ReservationPurchaseRecommendations = Shapes::ListShape.new(name: 'ReservationPurchaseRecommendations')
|
71
89
|
ReservationUtilizationGroup = Shapes::StructureShape.new(name: 'ReservationUtilizationGroup')
|
72
90
|
ReservationUtilizationGroups = Shapes::ListShape.new(name: 'ReservationUtilizationGroups')
|
73
91
|
ReservedHours = Shapes::StringShape.new(name: 'ReservedHours')
|
74
92
|
ResultByTime = Shapes::StructureShape.new(name: 'ResultByTime')
|
75
93
|
ResultsByTime = Shapes::ListShape.new(name: 'ResultsByTime')
|
76
94
|
SearchString = Shapes::StringShape.new(name: 'SearchString')
|
95
|
+
ServiceSpecification = Shapes::StructureShape.new(name: 'ServiceSpecification')
|
77
96
|
TagKey = Shapes::StringShape.new(name: 'TagKey')
|
78
97
|
TagList = Shapes::ListShape.new(name: 'TagList')
|
79
98
|
TagValues = Shapes::StructureShape.new(name: 'TagValues')
|
99
|
+
TermInYears = Shapes::StringShape.new(name: 'TermInYears')
|
80
100
|
TotalActualHours = Shapes::StringShape.new(name: 'TotalActualHours')
|
81
101
|
TotalRunningHours = Shapes::StringShape.new(name: 'TotalRunningHours')
|
82
102
|
UnusedHours = Shapes::StringShape.new(name: 'UnusedHours')
|
@@ -120,6 +140,19 @@ module Aws::CostExplorer
|
|
120
140
|
|
121
141
|
DimensionValuesWithAttributesList.member = Shapes::ShapeRef.new(shape: DimensionValuesWithAttributes)
|
122
142
|
|
143
|
+
EC2InstanceDetails.add_member(:family, Shapes::ShapeRef.new(shape: GenericString, location_name: "Family"))
|
144
|
+
EC2InstanceDetails.add_member(:instance_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "InstanceType"))
|
145
|
+
EC2InstanceDetails.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
|
146
|
+
EC2InstanceDetails.add_member(:availability_zone, Shapes::ShapeRef.new(shape: GenericString, location_name: "AvailabilityZone"))
|
147
|
+
EC2InstanceDetails.add_member(:platform, Shapes::ShapeRef.new(shape: GenericString, location_name: "Platform"))
|
148
|
+
EC2InstanceDetails.add_member(:tenancy, Shapes::ShapeRef.new(shape: GenericString, location_name: "Tenancy"))
|
149
|
+
EC2InstanceDetails.add_member(:current_generation, Shapes::ShapeRef.new(shape: GenericBoolean, location_name: "CurrentGeneration"))
|
150
|
+
EC2InstanceDetails.add_member(:size_flex_eligible, Shapes::ShapeRef.new(shape: GenericBoolean, location_name: "SizeFlexEligible"))
|
151
|
+
EC2InstanceDetails.struct_class = Types::EC2InstanceDetails
|
152
|
+
|
153
|
+
EC2Specification.add_member(:offering_class, Shapes::ShapeRef.new(shape: OfferingClass, location_name: "OfferingClass"))
|
154
|
+
EC2Specification.struct_class = Types::EC2Specification
|
155
|
+
|
123
156
|
Expression.add_member(:or, Shapes::ShapeRef.new(shape: Expressions, location_name: "Or"))
|
124
157
|
Expression.add_member(:and, Shapes::ShapeRef.new(shape: Expressions, location_name: "And"))
|
125
158
|
Expression.add_member(:not, Shapes::ShapeRef.new(shape: Expression, location_name: "Not"))
|
@@ -167,6 +200,22 @@ module Aws::CostExplorer
|
|
167
200
|
GetReservationCoverageResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
|
168
201
|
GetReservationCoverageResponse.struct_class = Types::GetReservationCoverageResponse
|
169
202
|
|
203
|
+
GetReservationPurchaseRecommendationRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "AccountId"))
|
204
|
+
GetReservationPurchaseRecommendationRequest.add_member(:service, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "Service"))
|
205
|
+
GetReservationPurchaseRecommendationRequest.add_member(:account_scope, Shapes::ShapeRef.new(shape: AccountScope, location_name: "AccountScope"))
|
206
|
+
GetReservationPurchaseRecommendationRequest.add_member(:lookback_period_in_days, Shapes::ShapeRef.new(shape: LookbackPeriodInDays, location_name: "LookbackPeriodInDays"))
|
207
|
+
GetReservationPurchaseRecommendationRequest.add_member(:term_in_years, Shapes::ShapeRef.new(shape: TermInYears, location_name: "TermInYears"))
|
208
|
+
GetReservationPurchaseRecommendationRequest.add_member(:payment_option, Shapes::ShapeRef.new(shape: PaymentOption, location_name: "PaymentOption"))
|
209
|
+
GetReservationPurchaseRecommendationRequest.add_member(:service_specification, Shapes::ShapeRef.new(shape: ServiceSpecification, location_name: "ServiceSpecification"))
|
210
|
+
GetReservationPurchaseRecommendationRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: NonNegativeInteger, location_name: "PageSize"))
|
211
|
+
GetReservationPurchaseRecommendationRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
|
212
|
+
GetReservationPurchaseRecommendationRequest.struct_class = Types::GetReservationPurchaseRecommendationRequest
|
213
|
+
|
214
|
+
GetReservationPurchaseRecommendationResponse.add_member(:metadata, Shapes::ShapeRef.new(shape: ReservationPurchaseRecommendationMetadata, location_name: "Metadata"))
|
215
|
+
GetReservationPurchaseRecommendationResponse.add_member(:recommendations, Shapes::ShapeRef.new(shape: ReservationPurchaseRecommendations, location_name: "Recommendations"))
|
216
|
+
GetReservationPurchaseRecommendationResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
|
217
|
+
GetReservationPurchaseRecommendationResponse.struct_class = Types::GetReservationPurchaseRecommendationResponse
|
218
|
+
|
170
219
|
GetReservationUtilizationRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
|
171
220
|
GetReservationUtilizationRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupDefinitions, location_name: "GroupBy"))
|
172
221
|
GetReservationUtilizationRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, location_name: "Granularity"))
|
@@ -203,6 +252,9 @@ module Aws::CostExplorer
|
|
203
252
|
|
204
253
|
Groups.member = Shapes::ShapeRef.new(shape: Group)
|
205
254
|
|
255
|
+
InstanceDetails.add_member(:ec2_instance_details, Shapes::ShapeRef.new(shape: EC2InstanceDetails, location_name: "EC2InstanceDetails"))
|
256
|
+
InstanceDetails.struct_class = Types::InstanceDetails
|
257
|
+
|
206
258
|
Keys.member = Shapes::ShapeRef.new(shape: Key)
|
207
259
|
|
208
260
|
MetricNames.member = Shapes::ShapeRef.new(shape: MetricName)
|
@@ -226,6 +278,48 @@ module Aws::CostExplorer
|
|
226
278
|
|
227
279
|
ReservationCoverageGroups.member = Shapes::ShapeRef.new(shape: ReservationCoverageGroup)
|
228
280
|
|
281
|
+
ReservationPurchaseRecommendation.add_member(:account_scope, Shapes::ShapeRef.new(shape: AccountScope, location_name: "AccountScope"))
|
282
|
+
ReservationPurchaseRecommendation.add_member(:lookback_period_in_days, Shapes::ShapeRef.new(shape: LookbackPeriodInDays, location_name: "LookbackPeriodInDays"))
|
283
|
+
ReservationPurchaseRecommendation.add_member(:term_in_years, Shapes::ShapeRef.new(shape: TermInYears, location_name: "TermInYears"))
|
284
|
+
ReservationPurchaseRecommendation.add_member(:payment_option, Shapes::ShapeRef.new(shape: PaymentOption, location_name: "PaymentOption"))
|
285
|
+
ReservationPurchaseRecommendation.add_member(:service_specification, Shapes::ShapeRef.new(shape: ServiceSpecification, location_name: "ServiceSpecification"))
|
286
|
+
ReservationPurchaseRecommendation.add_member(:recommendation_details, Shapes::ShapeRef.new(shape: ReservationPurchaseRecommendationDetails, location_name: "RecommendationDetails"))
|
287
|
+
ReservationPurchaseRecommendation.add_member(:recommendation_summary, Shapes::ShapeRef.new(shape: ReservationPurchaseRecommendationSummary, location_name: "RecommendationSummary"))
|
288
|
+
ReservationPurchaseRecommendation.struct_class = Types::ReservationPurchaseRecommendation
|
289
|
+
|
290
|
+
ReservationPurchaseRecommendationDetail.add_member(:instance_details, Shapes::ShapeRef.new(shape: InstanceDetails, location_name: "InstanceDetails"))
|
291
|
+
ReservationPurchaseRecommendationDetail.add_member(:recommended_number_of_instances_to_purchase, Shapes::ShapeRef.new(shape: GenericString, location_name: "RecommendedNumberOfInstancesToPurchase"))
|
292
|
+
ReservationPurchaseRecommendationDetail.add_member(:recommended_normalized_units_to_purchase, Shapes::ShapeRef.new(shape: GenericString, location_name: "RecommendedNormalizedUnitsToPurchase"))
|
293
|
+
ReservationPurchaseRecommendationDetail.add_member(:minimum_number_of_instances_used_per_hour, Shapes::ShapeRef.new(shape: GenericString, location_name: "MinimumNumberOfInstancesUsedPerHour"))
|
294
|
+
ReservationPurchaseRecommendationDetail.add_member(:minimum_normalized_units_used_per_hour, Shapes::ShapeRef.new(shape: GenericString, location_name: "MinimumNormalizedUnitsUsedPerHour"))
|
295
|
+
ReservationPurchaseRecommendationDetail.add_member(:maximum_number_of_instances_used_per_hour, Shapes::ShapeRef.new(shape: GenericString, location_name: "MaximumNumberOfInstancesUsedPerHour"))
|
296
|
+
ReservationPurchaseRecommendationDetail.add_member(:maximum_normalized_units_used_per_hour, Shapes::ShapeRef.new(shape: GenericString, location_name: "MaximumNormalizedUnitsUsedPerHour"))
|
297
|
+
ReservationPurchaseRecommendationDetail.add_member(:average_number_of_instances_used_per_hour, Shapes::ShapeRef.new(shape: GenericString, location_name: "AverageNumberOfInstancesUsedPerHour"))
|
298
|
+
ReservationPurchaseRecommendationDetail.add_member(:average_normalized_units_used_per_hour, Shapes::ShapeRef.new(shape: GenericString, location_name: "AverageNormalizedUnitsUsedPerHour"))
|
299
|
+
ReservationPurchaseRecommendationDetail.add_member(:average_utilization, Shapes::ShapeRef.new(shape: GenericString, location_name: "AverageUtilization"))
|
300
|
+
ReservationPurchaseRecommendationDetail.add_member(:estimated_break_even_in_months, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedBreakEvenInMonths"))
|
301
|
+
ReservationPurchaseRecommendationDetail.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
|
302
|
+
ReservationPurchaseRecommendationDetail.add_member(:estimated_monthly_savings_amount, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedMonthlySavingsAmount"))
|
303
|
+
ReservationPurchaseRecommendationDetail.add_member(:estimated_monthly_savings_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedMonthlySavingsPercentage"))
|
304
|
+
ReservationPurchaseRecommendationDetail.add_member(:estimated_monthly_on_demand_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedMonthlyOnDemandCost"))
|
305
|
+
ReservationPurchaseRecommendationDetail.add_member(:estimated_reservation_cost_for_lookback_period, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedReservationCostForLookbackPeriod"))
|
306
|
+
ReservationPurchaseRecommendationDetail.add_member(:upfront_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "UpfrontCost"))
|
307
|
+
ReservationPurchaseRecommendationDetail.add_member(:recurring_standard_monthly_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "RecurringStandardMonthlyCost"))
|
308
|
+
ReservationPurchaseRecommendationDetail.struct_class = Types::ReservationPurchaseRecommendationDetail
|
309
|
+
|
310
|
+
ReservationPurchaseRecommendationDetails.member = Shapes::ShapeRef.new(shape: ReservationPurchaseRecommendationDetail)
|
311
|
+
|
312
|
+
ReservationPurchaseRecommendationMetadata.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "RecommendationId"))
|
313
|
+
ReservationPurchaseRecommendationMetadata.add_member(:generation_timestamp, Shapes::ShapeRef.new(shape: GenericString, location_name: "GenerationTimestamp"))
|
314
|
+
ReservationPurchaseRecommendationMetadata.struct_class = Types::ReservationPurchaseRecommendationMetadata
|
315
|
+
|
316
|
+
ReservationPurchaseRecommendationSummary.add_member(:total_estimated_monthly_savings_amount, Shapes::ShapeRef.new(shape: GenericString, location_name: "TotalEstimatedMonthlySavingsAmount"))
|
317
|
+
ReservationPurchaseRecommendationSummary.add_member(:total_estimated_monthly_savings_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "TotalEstimatedMonthlySavingsPercentage"))
|
318
|
+
ReservationPurchaseRecommendationSummary.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
|
319
|
+
ReservationPurchaseRecommendationSummary.struct_class = Types::ReservationPurchaseRecommendationSummary
|
320
|
+
|
321
|
+
ReservationPurchaseRecommendations.member = Shapes::ShapeRef.new(shape: ReservationPurchaseRecommendation)
|
322
|
+
|
229
323
|
ReservationUtilizationGroup.add_member(:key, Shapes::ShapeRef.new(shape: ReservationGroupKey, location_name: "Key"))
|
230
324
|
ReservationUtilizationGroup.add_member(:value, Shapes::ShapeRef.new(shape: ReservationGroupValue, location_name: "Value"))
|
231
325
|
ReservationUtilizationGroup.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "Attributes"))
|
@@ -242,6 +336,9 @@ module Aws::CostExplorer
|
|
242
336
|
|
243
337
|
ResultsByTime.member = Shapes::ShapeRef.new(shape: ResultByTime)
|
244
338
|
|
339
|
+
ServiceSpecification.add_member(:ec2_specification, Shapes::ShapeRef.new(shape: EC2Specification, location_name: "EC2Specification"))
|
340
|
+
ServiceSpecification.struct_class = Types::ServiceSpecification
|
341
|
+
|
245
342
|
TagList.member = Shapes::ShapeRef.new(shape: Entity)
|
246
343
|
|
247
344
|
TagValues.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
|
@@ -307,6 +404,17 @@ module Aws::CostExplorer
|
|
307
404
|
o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
|
308
405
|
end)
|
309
406
|
|
407
|
+
api.add_operation(:get_reservation_purchase_recommendation, Seahorse::Model::Operation.new.tap do |o|
|
408
|
+
o.name = "GetReservationPurchaseRecommendation"
|
409
|
+
o.http_method = "POST"
|
410
|
+
o.http_request_uri = "/"
|
411
|
+
o.input = Shapes::ShapeRef.new(shape: GetReservationPurchaseRecommendationRequest)
|
412
|
+
o.output = Shapes::ShapeRef.new(shape: GetReservationPurchaseRecommendationResponse)
|
413
|
+
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
414
|
+
o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
|
415
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
|
416
|
+
end)
|
417
|
+
|
310
418
|
api.add_operation(:get_reservation_utilization, Seahorse::Model::Operation.new.tap do |o|
|
311
419
|
o.name = "GetReservationUtilization"
|
312
420
|
o.http_method = "POST"
|