aws-sdk-costexplorer 1.1.0 → 1.2.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.
@@ -21,14 +21,14 @@ module Aws::CostExplorer
21
21
  include Aws::Structure
22
22
  end
23
23
 
24
- # Reservation coverage, in hours.
24
+ # Reservation coverage for a specified period, in hours.
25
25
  #
26
26
  # @!attribute [rw] time_period
27
27
  # The period over which this coverage was used.
28
28
  # @return [Types::DateInterval]
29
29
  #
30
30
  # @!attribute [rw] groups
31
- # The group of instances that a reservation covered.
31
+ # The groups of instances that are covered by a reservation.
32
32
  # @return [Array<Types::ReservationCoverageGroup>]
33
33
  #
34
34
  # @!attribute [rw] total
@@ -48,11 +48,13 @@ module Aws::CostExplorer
48
48
  # On-Demand.
49
49
  #
50
50
  # @!attribute [rw] on_demand_hours
51
- # The number of instance running hours covered by On-Demand Instances.
51
+ # The number of instance running hours that are covered by On-Demand
52
+ # Instances.
52
53
  # @return [String]
53
54
  #
54
55
  # @!attribute [rw] reserved_hours
55
- # The number of instance running hours covered by reservations.
56
+ # The number of instance running hours that are covered by
57
+ # reservations.
56
58
  # @return [String]
57
59
  #
58
60
  # @!attribute [rw] total_running_hours
@@ -60,7 +62,7 @@ module Aws::CostExplorer
60
62
  # @return [String]
61
63
  #
62
64
  # @!attribute [rw] coverage_hours_percentage
63
- # The percentage of instance hours covered by a reservation.
65
+ # The percentage of instance hours that are covered by a reservation.
64
66
  # @return [String]
65
67
  #
66
68
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CoverageHours AWS API Documentation
@@ -86,15 +88,15 @@ module Aws::CostExplorer
86
88
  # @!attribute [rw] start
87
89
  # The beginning of the time period that you want the usage and costs
88
90
  # for. The start date is inclusive. For example, if `start` is
89
- # `2017-01-01`, then the cost and usage data is retrieved starting at
91
+ # `2017-01-01`, AWS retrieves cost and usage data starting at
90
92
  # `2017-01-01` up to the end date.
91
93
  # @return [String]
92
94
  #
93
95
  # @!attribute [rw] end
94
96
  # The end of the time period that you want the usage and costs for.
95
- # The end date is exclusive. For example, if the `end` is
96
- # `2017-05-01`, then the cost and usage data is retrieved from the
97
- # start date but not including `2017-05-01`.
97
+ # The end date is exclusive. For example, if `end` is `2017-05-01`,
98
+ # AWS retrieves cost and usage data from the start date up to, but not
99
+ # including, `2017-05-01`.
98
100
  # @return [String]
99
101
  #
100
102
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DateInterval AWS API Documentation
@@ -155,13 +157,85 @@ module Aws::CostExplorer
155
157
  include Aws::Structure
156
158
  end
157
159
 
160
+ # Details about the EC2 instances that AWS recommends that you purchase.
161
+ #
162
+ # @!attribute [rw] family
163
+ # The instance family of the recommended reservation.
164
+ # @return [String]
165
+ #
166
+ # @!attribute [rw] instance_type
167
+ # The type of instance that AWS recommends.
168
+ # @return [String]
169
+ #
170
+ # @!attribute [rw] region
171
+ # The AWS Region of the recommended reservation.
172
+ # @return [String]
173
+ #
174
+ # @!attribute [rw] availability_zone
175
+ # The Availability Zone of the recommended reservation.
176
+ # @return [String]
177
+ #
178
+ # @!attribute [rw] platform
179
+ # The platform of the recommended reservation. The platform is the
180
+ # specific combination of operating system, license model, and
181
+ # software on an instance.
182
+ # @return [String]
183
+ #
184
+ # @!attribute [rw] tenancy
185
+ # Whether the recommended reservation is dedicated or shared.
186
+ # @return [String]
187
+ #
188
+ # @!attribute [rw] current_generation
189
+ # Whether the recommendation is for a current generation instance.
190
+ # @return [Boolean]
191
+ #
192
+ # @!attribute [rw] size_flex_eligible
193
+ # Whether the recommended reservation is size flexible.
194
+ # @return [Boolean]
195
+ #
196
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/EC2InstanceDetails AWS API Documentation
197
+ #
198
+ class EC2InstanceDetails < Struct.new(
199
+ :family,
200
+ :instance_type,
201
+ :region,
202
+ :availability_zone,
203
+ :platform,
204
+ :tenancy,
205
+ :current_generation,
206
+ :size_flex_eligible)
207
+ include Aws::Structure
208
+ end
209
+
210
+ # The EC2 hardware specifications that you want AWS to provide
211
+ # recommendations for.
212
+ #
213
+ # @note When making an API call, you may pass EC2Specification
214
+ # data as a hash:
215
+ #
216
+ # {
217
+ # offering_class: "STANDARD", # accepts STANDARD, CONVERTIBLE
218
+ # }
219
+ #
220
+ # @!attribute [rw] offering_class
221
+ # Whether you want a recommendation for standard or convertible
222
+ # reservations.
223
+ # @return [String]
224
+ #
225
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/EC2Specification AWS API Documentation
226
+ #
227
+ class EC2Specification < Struct.new(
228
+ :offering_class)
229
+ include Aws::Structure
230
+ end
231
+
158
232
  # Use `Expression` to filter by cost or by usage. There are two
159
233
  # patterns:
160
234
  #
161
235
  # * Simple dimension values - You can set the dimension name and values
162
236
  # for the filters that you plan to use. For example, you can filter
163
237
  # for `INSTANCE_TYPE==m4.xlarge OR INSTANCE_TYPE==c4.large`. The
164
- # `Expression` for that looks like this.
238
+ # `Expression` for that looks like this:
165
239
  #
166
240
  # `\{ "Dimensions": \{ "Key": "INSTANCE_TYPE", "Values": [
167
241
  # "m4.xlarge", “c4.large” ] \} \}`
@@ -177,7 +251,7 @@ module Aws::CostExplorer
177
251
  # you to filter on more advanced options. For example, you can filter
178
252
  # on `((INSTANCE_TYPE == m4.large OR INSTANCE_TYPE == m3.large) OR
179
253
  # (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`. The
180
- # `Expression` for that looks like this.
254
+ # `Expression` for that looks like this:
181
255
  #
182
256
  # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "INSTANCE_TYPE",
183
257
  # "Values": [ "m4.x.large", "c4.large" ] \}\}, \{"Tag": \{ "Key":
@@ -186,7 +260,7 @@ module Aws::CostExplorer
186
260
  #
187
261
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
188
262
  # returns an error if more than one is specified. The following
189
- # example shows an Expression object that will create an error.
263
+ # example shows an `Expression` object that creates an error.
190
264
  #
191
265
  # </note>
192
266
  #
@@ -273,7 +347,7 @@ module Aws::CostExplorer
273
347
  # }
274
348
  #
275
349
  # @!attribute [rw] or
276
- # Return results that match either `Dimension`.
350
+ # Return results that match either `Dimension` object.
277
351
  # @return [Array<Types::Expression>]
278
352
  #
279
353
  # @!attribute [rw] and
@@ -281,7 +355,7 @@ module Aws::CostExplorer
281
355
  # @return [Array<Types::Expression>]
282
356
  #
283
357
  # @!attribute [rw] not
284
- # Return results that don't match `Dimension`.
358
+ # Return results that don't match a `Dimension` object.
285
359
  # @return [Types::Expression]
286
360
  #
287
361
  # @!attribute [rw] dimensions
@@ -361,8 +435,8 @@ module Aws::CostExplorer
361
435
  #
362
436
  # @!attribute [rw] filter
363
437
  # Filters AWS costs by different dimensions. For example, you can
364
- # specify `SERVICE` and `LINKED_ACCOUNT` and get the costs associated
365
- # with that account's usage of that service. You can nest
438
+ # specify `SERVICE` and `LINKED_ACCOUNT` and get the costs that are
439
+ # associated with that account's usage of that service. You can nest
366
440
  # `Expression` objects to define any combination of dimension filters.
367
441
  # For more information, see [Expression][1].
368
442
  #
@@ -389,6 +463,8 @@ module Aws::CostExplorer
389
463
  #
390
464
  # </note>
391
465
  #
466
+ # `Metrics` is required for `GetCostAndUsage` requests.
467
+ #
392
468
  #
393
469
  #
394
470
  # [1]: https://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/
@@ -401,9 +477,9 @@ module Aws::CostExplorer
401
477
  # When you group by tag key, you get all tag values, including empty
402
478
  # strings.
403
479
  #
404
- # Valid values are `AZ`, `INSTANCE_TYPE`, `LINKED_ACCOUNT`,
405
- # `OPERATION`, `PLATFORM`, `PURCHASE_TYPE`, `SERVICE`, `TAGS`,
406
- # `TENANCY`, and `USAGE_TYPE`.
480
+ # Valid values are `AZ`, `INSTANCE_TYPE`, `LEGAL_ENTITY_NAME`,
481
+ # `LINKED_ACCOUNT`, `OPERATION`, `PLATFORM`, `PURCHASE_TYPE`,
482
+ # `SERVICE`, `TAGS`, `TENANCY`, and `USAGE_TYPE`.
407
483
  # @return [Array<Types::GroupDefinition>]
408
484
  #
409
485
  # @!attribute [rw] next_page_token
@@ -431,12 +507,12 @@ module Aws::CostExplorer
431
507
  # @return [String]
432
508
  #
433
509
  # @!attribute [rw] group_definitions
434
- # The groups specified by the the `Filter` or `GroupBy` parameters in
435
- # the request.
510
+ # The groups that are specified by the `Filter` or `GroupBy`
511
+ # parameters in the request.
436
512
  # @return [Array<Types::GroupDefinition>]
437
513
  #
438
514
  # @!attribute [rw] results_by_time
439
- # The time period covered by the results in the response.
515
+ # The time period that is covered by the results in the response.
440
516
  # @return [Array<Types::ResultByTime>]
441
517
  #
442
518
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsageResponse AWS API Documentation
@@ -475,7 +551,7 @@ module Aws::CostExplorer
475
551
  # @return [Types::DateInterval]
476
552
  #
477
553
  # @!attribute [rw] dimension
478
- # The name of the dimension. Each `Dimensions`is available for
554
+ # The name of the dimension. Each `Dimension` is available for
479
555
  # different a `Context`. For more information, see `Context`.
480
556
  # @return [String]
481
557
  #
@@ -484,39 +560,39 @@ module Aws::CostExplorer
484
560
  # `RESERVATIONS` or `COST_AND_USAGE`. The default value is
485
561
  # `COST_AND_USAGE`. If the context is set to `RESERVATIONS`, the
486
562
  # resulting dimension values can be used in the
487
- # `GetReservationUtilization` action. If the context is set to
488
- # `COST_AND_USAGE`, the resulting dimension values can be used in the
563
+ # `GetReservationUtilization` operation. If the context is set to
564
+ # `COST_AND_USAGE` the resulting dimension values can be used in the
489
565
  # `GetCostAndUsage` operation.
490
566
  #
491
567
  # If you set the context to `CostAndUsage`, you can use the following
492
568
  # dimensions for searching:
493
569
  #
494
- # * AZ - The Availability Zone. An example is us-east-1a.
570
+ # * AZ - The Availability Zone. An example is `us-east-1a`.
495
571
  #
496
- # * INSTANCE\_TYPE - The type of EC2 instance. An example is
497
- # m4.xlarge.
572
+ # * INSTANCE\_TYPE - The type of instance. An example is an EC2
573
+ # `m4.xlarge`.
498
574
  #
499
575
  # * LINKED\_ACCOUNT - The description in the attribute map that
500
576
  # includes the full name of the member account. The value field
501
- # contains the AWS ID of the member account
577
+ # contains the AWS ID of the member account.
502
578
  #
503
- # * OPERATION - The action performed. Examples include RunInstance and
504
- # CreateBucket.
579
+ # * OPERATION - The action performed. Examples include `RunInstance`
580
+ # and `CreateBucket`.
505
581
  #
506
582
  # * PURCHASE\_TYPE - The reservation type of the purchase to which
507
- # this usage is related. Examples include: On Demand Instances and
508
- # Standard Reserved Instances
583
+ # this usage is related. Examples include On-Demand Instances and
584
+ # Standard Reserved Instances.
509
585
  #
510
586
  # * SERVICE - The AWS service such as DynamoDB.
511
587
  #
512
588
  # * USAGE\_TYPE - The type of usage. An example is
513
- # DataTransfer-In-Bytes. The response for the GetDimensionValues
514
- # action includes a unit attribute, examples of which include GB and
515
- # Hrs.
589
+ # `DataTransfer-In-Bytes`. The response for the `GetDimensionValues`
590
+ # operation includes a unit attribute, examples of which include GB
591
+ # and Hrs.
516
592
  #
517
593
  # * USAGE\_TYPE\_GROUP - The grouping of common usage types. An
518
- # example is EC2: CloudWatch – Alarms. The response for this action
519
- # includes a unit attribute.
594
+ # example is EC2: CloudWatch – Alarms. The response for this
595
+ # operation includes a unit attribute.
520
596
  #
521
597
  # * RECORD\_TYPE - The different types of charges such as RI fees,
522
598
  # usage costs, tax refunds, and credits.
@@ -524,21 +600,24 @@ module Aws::CostExplorer
524
600
  # If you set the context to `RESERVATIONS`, you can use the following
525
601
  # dimensions for searching:
526
602
  #
527
- # * AZ - The Availability Zone. An example is us-east-1a.
603
+ # * AZ - The Availability Zone. An example is `us-east-1a`.
528
604
  #
529
- # * INSTANCE\_TYPE - The type of EC2 instance. An example is
530
- # m4.xlarge.
605
+ # * INSTANCE\_TYPE - The type of instance. An example is an EC2
606
+ # `m4.xlarge`.
531
607
  #
532
608
  # * LINKED\_ACCOUNT - The description in the attribute map that
533
609
  # includes the full name of the member account. The value field
534
- # contains the AWS ID of the member account
610
+ # contains the AWS ID of the member account.
535
611
  #
536
- # * PLATFORM - The operating system. Examples are Windows or Linux.
612
+ # * PLATFORM - The specific combination of operating system, license
613
+ # model, and software on an instance. For example, a Windows
614
+ # instance with SQL Server Web and no license, or a Red Hat
615
+ # Enterprise Linux instance.
537
616
  #
538
- # * REGION - The AWS region.
617
+ # * REGION - The AWS Region.
539
618
  #
540
- # * SCOPE - The scope of a reserved instance (RI). Values are regional
541
- # or a single availability zone.
619
+ # * SCOPE - The scope of a Reserved Instance (RI). Values are regional
620
+ # or a single Availability Zone.
542
621
  #
543
622
  # * TENANCY - The tenancy of a resource. Examples are shared or
544
623
  # dedicated.
@@ -568,32 +647,32 @@ module Aws::CostExplorer
568
647
  # If you set the context to `CostAndUsage`, you can use the following
569
648
  # dimensions for searching:
570
649
  #
571
- # * AZ - The Availability Zone. An example is us-east-1a.
650
+ # * AZ - The Availability Zone. An example is `us-east-1a`.
572
651
  #
573
- # * INSTANCE\_TYPE - The type of EC2 instance. An example is
574
- # m4.xlarge.
652
+ # * INSTANCE\_TYPE - The type of instance. An example is an EC2
653
+ # `m4.xlarge`.
575
654
  #
576
655
  # * LINKED\_ACCOUNT - The description in the attribute map that
577
656
  # includes the full name of the member account. The value field
578
- # contains the AWS ID of the member account
657
+ # contains the AWS ID of the member account.
579
658
  #
580
- # * OPERATION - The action performed. Examples include RunInstance and
581
- # CreateBucket.
659
+ # * OPERATION - The action performed. Examples include `RunInstance`
660
+ # and `CreateBucket`.
582
661
  #
583
662
  # * PURCHASE\_TYPE - The reservation type of the purchase to which
584
- # this usage is related. Examples include: On Demand Instances and
585
- # Standard Reserved Instances
663
+ # this usage is related. Examples include On-Demand Instances and
664
+ # Standard Reserved Instances.
586
665
  #
587
666
  # * SERVICE - The AWS service such as DynamoDB.
588
667
  #
589
668
  # * USAGE\_TYPE - The type of usage. An example is
590
- # DataTransfer-In-Bytes. The response for the GetDimensionValues
591
- # action includes a unit attribute, examples of which include GB and
592
- # Hrs.
669
+ # `DataTransfer-In-Bytes`. The response for the `GetDimensionValues`
670
+ # operation includes a unit attribute, examples of which include GB
671
+ # and Hrs.
593
672
  #
594
673
  # * USAGE\_TYPE\_GROUP - The grouping of common usage types. An
595
- # example is EC2: CloudWatch – Alarms. The response for this action
596
- # includes a unit attribute.
674
+ # example is EC2: CloudWatch – Alarms. The response for this
675
+ # operation includes a unit attribute.
597
676
  #
598
677
  # * RECORD\_TYPE - The different types of charges such as RI fees,
599
678
  # usage costs, tax refunds, and credits.
@@ -601,21 +680,24 @@ module Aws::CostExplorer
601
680
  # If you set the context to `RESERVATIONS`, you can use the following
602
681
  # dimensions for searching:
603
682
  #
604
- # * AZ - The Availability Zone. An example is us-east-1a.
683
+ # * AZ - The Availability Zone. An example is `us-east-1a`.
605
684
  #
606
- # * INSTANCE\_TYPE - The type of EC2 instance. An example is
607
- # m4.xlarge.
685
+ # * INSTANCE\_TYPE - The type of instance. An example is an EC2
686
+ # `m4.xlarge`.
608
687
  #
609
688
  # * LINKED\_ACCOUNT - The description in the attribute map that
610
689
  # includes the full name of the member account. The value field
611
- # contains the AWS ID of the member account
690
+ # contains the AWS ID of the member account.
612
691
  #
613
- # * PLATFORM - The operating system. Examples are Windows or Linux.
692
+ # * PLATFORM - The specific combination of operating system, license
693
+ # model, and software on an instance. For example, a Windows
694
+ # instance with SQL Server Web and no license, or a Red Hat
695
+ # Enterprise Linux instance.
614
696
  #
615
- # * REGION - The AWS region.
697
+ # * REGION - The AWS Region.
616
698
  #
617
- # * SCOPE - The scope of a reserved instance (RI). Values are regional
618
- # or a single availability zone.
699
+ # * SCOPE - The scope of a Reserved Instance (RI). Values are regional
700
+ # or a single Availability Zone.
619
701
  #
620
702
  # * TENANCY - The tenancy of a resource. Examples are shared or
621
703
  # dedicated.
@@ -645,8 +727,8 @@ module Aws::CostExplorer
645
727
  include Aws::Structure
646
728
  end
647
729
 
648
- # You can query for how much of your instance usage was covered by a
649
- # reservation.
730
+ # You can use the following request parameters to query for how much of
731
+ # your instance usage is covered by a reservation.
650
732
  #
651
733
  # @note When making an API call, you may pass GetReservationCoverageRequest
652
734
  # data as a hash:
@@ -692,7 +774,7 @@ module Aws::CostExplorer
692
774
  # @!attribute [rw] time_period
693
775
  # The start and end dates of the period for which you want to retrieve
694
776
  # data about reservation coverage. You can retrieve data for a maximum
695
- # of 13 months-the last 12 months and the current month. The start
777
+ # of 13 months: the last 12 months and the current month. The start
696
778
  # date is inclusive, but the end date is exclusive. For example, if
697
779
  # `start` is `2017-01-01` and `end` is `2017-05-01`, then the cost and
698
780
  # usage data is retrieved from `2017-01-01` up to and including
@@ -700,7 +782,7 @@ module Aws::CostExplorer
700
782
  # @return [Types::DateInterval]
701
783
  #
702
784
  # @!attribute [rw] group_by
703
- # You can group the data by the following attributes.
785
+ # You can group the data by the following attributes:
704
786
  #
705
787
  # * AZ
706
788
  #
@@ -726,7 +808,7 @@ module Aws::CostExplorer
726
808
  #
727
809
  # @!attribute [rw] filter
728
810
  # Filters utilization data by dimensions. You can filter by the
729
- # following dimensions.
811
+ # following dimensions:
730
812
  #
731
813
  # * AZ
732
814
  #
@@ -740,7 +822,7 @@ module Aws::CostExplorer
740
822
  #
741
823
  # * TENANCY
742
824
  #
743
- # `GetReservationCoverage` uses the same `Expression` object as the
825
+ # `GetReservationCoverage` uses the same ` Expression ` object as the
744
826
  # other operations, but only `AND` is supported among each dimension.
745
827
  # You can nest only one level deep. If there are multiple values for a
746
828
  # dimension, they are OR'd together.
@@ -768,7 +850,7 @@ module Aws::CostExplorer
768
850
  # @return [Array<Types::CoverageByTime>]
769
851
  #
770
852
  # @!attribute [rw] total
771
- # The total amount of instance usage covered by a reservation.
853
+ # The total amount of instance usage that is covered by a reservation.
772
854
  # @return [Types::Coverage]
773
855
  #
774
856
  # @!attribute [rw] next_page_token
@@ -786,6 +868,104 @@ module Aws::CostExplorer
786
868
  include Aws::Structure
787
869
  end
788
870
 
871
+ # @note When making an API call, you may pass GetReservationPurchaseRecommendationRequest
872
+ # data as a hash:
873
+ #
874
+ # {
875
+ # account_id: "GenericString",
876
+ # service: "GenericString", # required
877
+ # account_scope: "PAYER", # accepts PAYER
878
+ # lookback_period_in_days: "SEVEN_DAYS", # accepts SEVEN_DAYS, THIRTY_DAYS, SIXTY_DAYS
879
+ # term_in_years: "ONE_YEAR", # accepts ONE_YEAR, THREE_YEARS
880
+ # payment_option: "NO_UPFRONT", # accepts NO_UPFRONT, PARTIAL_UPFRONT, ALL_UPFRONT
881
+ # service_specification: {
882
+ # ec2_specification: {
883
+ # offering_class: "STANDARD", # accepts STANDARD, CONVERTIBLE
884
+ # },
885
+ # },
886
+ # page_size: 1,
887
+ # next_page_token: "NextPageToken",
888
+ # }
889
+ #
890
+ # @!attribute [rw] account_id
891
+ # The account ID that is associated with the recommendation.
892
+ # @return [String]
893
+ #
894
+ # @!attribute [rw] service
895
+ # The specific service that you want recommendations for.
896
+ # @return [String]
897
+ #
898
+ # @!attribute [rw] account_scope
899
+ # The account scope that you want recommendations for. The only valid
900
+ # value is `Payer`. This means that AWS includes the master account
901
+ # and any member accounts when it calculates its recommendations.
902
+ # @return [String]
903
+ #
904
+ # @!attribute [rw] lookback_period_in_days
905
+ # The number of previous days that you want AWS to consider when it
906
+ # calculates your recommendations.
907
+ # @return [String]
908
+ #
909
+ # @!attribute [rw] term_in_years
910
+ # The reservation term that you want recommendations for.
911
+ # @return [String]
912
+ #
913
+ # @!attribute [rw] payment_option
914
+ # The reservation purchase option that you want recommendations for.
915
+ # @return [String]
916
+ #
917
+ # @!attribute [rw] service_specification
918
+ # The specific service, such as EC2, that you want recommendations
919
+ # for.
920
+ # @return [Types::ServiceSpecification]
921
+ #
922
+ # @!attribute [rw] page_size
923
+ # The number of recommendations that you want returned in a single
924
+ # response object.
925
+ # @return [Integer]
926
+ #
927
+ # @!attribute [rw] next_page_token
928
+ # The pagination token that indicates the next set of results that you
929
+ # want to retrieve.
930
+ # @return [String]
931
+ #
932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendationRequest AWS API Documentation
933
+ #
934
+ class GetReservationPurchaseRecommendationRequest < Struct.new(
935
+ :account_id,
936
+ :service,
937
+ :account_scope,
938
+ :lookback_period_in_days,
939
+ :term_in_years,
940
+ :payment_option,
941
+ :service_specification,
942
+ :page_size,
943
+ :next_page_token)
944
+ include Aws::Structure
945
+ end
946
+
947
+ # @!attribute [rw] metadata
948
+ # Information about this specific recommendation call, such as the
949
+ # time stamp for when Cost Explorer generated this recommendation.
950
+ # @return [Types::ReservationPurchaseRecommendationMetadata]
951
+ #
952
+ # @!attribute [rw] recommendations
953
+ # Recommendations for reservations to purchase.
954
+ # @return [Array<Types::ReservationPurchaseRecommendation>]
955
+ #
956
+ # @!attribute [rw] next_page_token
957
+ # The pagination token for the next set of retrievable results.
958
+ # @return [String]
959
+ #
960
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendationResponse AWS API Documentation
961
+ #
962
+ class GetReservationPurchaseRecommendationResponse < Struct.new(
963
+ :metadata,
964
+ :recommendations,
965
+ :next_page_token)
966
+ include Aws::Structure
967
+ end
968
+
789
969
  # @note When making an API call, you may pass GetReservationUtilizationRequest
790
970
  # data as a hash:
791
971
  #
@@ -849,10 +1029,10 @@ module Aws::CostExplorer
849
1029
  #
850
1030
  # @!attribute [rw] filter
851
1031
  # Filters utilization data by using different dimensions.
852
- # `GetReservationUtilization` uses the same `Expression` object as the
853
- # other operations, but only `AND` is supported among each dimension,
854
- # and nesting is supported up to only one level deep. If there are
855
- # multiple values for a dimension, they are OR'd together.
1032
+ # `GetReservationUtilization` uses the same ` Expression ` object as
1033
+ # the other operations, but only `AND` is supported among each
1034
+ # dimension, and nesting is supported to only one level deep. If there
1035
+ # are multiple values for a dimension, they are OR'd together.
856
1036
  # @return [Types::Expression]
857
1037
  #
858
1038
  # @!attribute [rw] next_page_token
@@ -971,11 +1151,11 @@ module Aws::CostExplorer
971
1151
  # One level of grouped data within the results.
972
1152
  #
973
1153
  # @!attribute [rw] keys
974
- # The keys included in this group.
1154
+ # The keys that are included in this group.
975
1155
  # @return [Array<String>]
976
1156
  #
977
1157
  # @!attribute [rw] metrics
978
- # The metrics included in this group.
1158
+ # The metrics that are included in this group.
979
1159
  # @return [Hash<String,Types::MetricValue>]
980
1160
  #
981
1161
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Group AWS API Documentation
@@ -1013,6 +1193,19 @@ module Aws::CostExplorer
1013
1193
  include Aws::Structure
1014
1194
  end
1015
1195
 
1196
+ # Details about the instances that AWS recommends that you purchase.
1197
+ #
1198
+ # @!attribute [rw] ec2_instance_details
1199
+ # The EC2 instances that AWS recommends that you purchase.
1200
+ # @return [Types::EC2InstanceDetails]
1201
+ #
1202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/InstanceDetails AWS API Documentation
1203
+ #
1204
+ class InstanceDetails < Struct.new(
1205
+ :ec2_instance_details)
1206
+ include Aws::Structure
1207
+ end
1208
+
1016
1209
  # The aggregated value for a metric.
1017
1210
  #
1018
1211
  # @!attribute [rw] amount
@@ -1038,7 +1231,7 @@ module Aws::CostExplorer
1038
1231
  # @return [String]
1039
1232
  #
1040
1233
  # @!attribute [rw] purchased_hours
1041
- # How many RI hours you purchased.
1234
+ # How many RI hours that you purchased.
1042
1235
  # @return [String]
1043
1236
  #
1044
1237
  # @!attribute [rw] total_actual_hours
@@ -1077,6 +1270,219 @@ module Aws::CostExplorer
1077
1270
  include Aws::Structure
1078
1271
  end
1079
1272
 
1273
+ # A specific reservation that AWS recommends for purchase.
1274
+ #
1275
+ # @!attribute [rw] account_scope
1276
+ # The account scope that AWS recommends that you purchase this
1277
+ # instance for. For example, you can purchase this reservation for an
1278
+ # entire organization in AWS Organizations.
1279
+ # @return [String]
1280
+ #
1281
+ # @!attribute [rw] lookback_period_in_days
1282
+ # How many days of previous usage that AWS takes into consideration
1283
+ # when making this recommendation.
1284
+ # @return [String]
1285
+ #
1286
+ # @!attribute [rw] term_in_years
1287
+ # The term of the reservation that you want recommendations for, in
1288
+ # years.
1289
+ # @return [String]
1290
+ #
1291
+ # @!attribute [rw] payment_option
1292
+ # The payment option for the reservation. For example, `AllUpfront` or
1293
+ # `NoUpfront`.
1294
+ # @return [String]
1295
+ #
1296
+ # @!attribute [rw] service_specification
1297
+ # Hardware specifications for the service that you want
1298
+ # recommendations for.
1299
+ # @return [Types::ServiceSpecification]
1300
+ #
1301
+ # @!attribute [rw] recommendation_details
1302
+ # Details about the recommended purchases.
1303
+ # @return [Array<Types::ReservationPurchaseRecommendationDetail>]
1304
+ #
1305
+ # @!attribute [rw] recommendation_summary
1306
+ # A summary about the recommended purchase.
1307
+ # @return [Types::ReservationPurchaseRecommendationSummary]
1308
+ #
1309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ReservationPurchaseRecommendation AWS API Documentation
1310
+ #
1311
+ class ReservationPurchaseRecommendation < Struct.new(
1312
+ :account_scope,
1313
+ :lookback_period_in_days,
1314
+ :term_in_years,
1315
+ :payment_option,
1316
+ :service_specification,
1317
+ :recommendation_details,
1318
+ :recommendation_summary)
1319
+ include Aws::Structure
1320
+ end
1321
+
1322
+ # Details about your recommended reservation purchase.
1323
+ #
1324
+ # @!attribute [rw] instance_details
1325
+ # Details about the instances that AWS recommends that you purchase.
1326
+ # @return [Types::InstanceDetails]
1327
+ #
1328
+ # @!attribute [rw] recommended_number_of_instances_to_purchase
1329
+ # The number of instances that AWS recommends that you purchase.
1330
+ # @return [String]
1331
+ #
1332
+ # @!attribute [rw] recommended_normalized_units_to_purchase
1333
+ # The number of normalized units that AWS recommends that you
1334
+ # purchase.
1335
+ # @return [String]
1336
+ #
1337
+ # @!attribute [rw] minimum_number_of_instances_used_per_hour
1338
+ # The minimum number of instances that you used in an hour during the
1339
+ # historical period. AWS uses this to calculate your recommended
1340
+ # reservation purchases.
1341
+ # @return [String]
1342
+ #
1343
+ # @!attribute [rw] minimum_normalized_units_used_per_hour
1344
+ # The minimum number of hours that you used in an hour during the
1345
+ # historical period. AWS uses this to calculate your recommended
1346
+ # reservation purchases.
1347
+ # @return [String]
1348
+ #
1349
+ # @!attribute [rw] maximum_number_of_instances_used_per_hour
1350
+ # The maximum number of instances that you used in an hour during the
1351
+ # historical period. AWS uses this to calculate your recommended
1352
+ # reservation purchases.
1353
+ # @return [String]
1354
+ #
1355
+ # @!attribute [rw] maximum_normalized_units_used_per_hour
1356
+ # The maximum number of normalized units that you used in an hour
1357
+ # during the historical period. AWS uses this to calculate your
1358
+ # recommended reservation purchases.
1359
+ # @return [String]
1360
+ #
1361
+ # @!attribute [rw] average_number_of_instances_used_per_hour
1362
+ # The average number of instances that you used in an hour during the
1363
+ # historical period. AWS uses this to calculate your recommended
1364
+ # reservation purchases.
1365
+ # @return [String]
1366
+ #
1367
+ # @!attribute [rw] average_normalized_units_used_per_hour
1368
+ # The average number of normalized units that you used in an hour
1369
+ # during the historical period. AWS uses this to calculate your
1370
+ # recommended reservation purchases.
1371
+ # @return [String]
1372
+ #
1373
+ # @!attribute [rw] average_utilization
1374
+ # The average utilization of your instances. AWS uses this to
1375
+ # calculate your recommended reservation purchases.
1376
+ # @return [String]
1377
+ #
1378
+ # @!attribute [rw] estimated_break_even_in_months
1379
+ # How long AWS estimates that it takes for this instance to start
1380
+ # saving you money, in months.
1381
+ # @return [String]
1382
+ #
1383
+ # @!attribute [rw] currency_code
1384
+ # The currency code that AWS used to calculate the costs for this
1385
+ # instance.
1386
+ # @return [String]
1387
+ #
1388
+ # @!attribute [rw] estimated_monthly_savings_amount
1389
+ # How much AWS estimates that this specific recommendation could save
1390
+ # you in a month.
1391
+ # @return [String]
1392
+ #
1393
+ # @!attribute [rw] estimated_monthly_savings_percentage
1394
+ # How much AWS estimates that this specific recommendation could save
1395
+ # you in a month, as a percentage of your overall costs.
1396
+ # @return [String]
1397
+ #
1398
+ # @!attribute [rw] estimated_monthly_on_demand_cost
1399
+ # How much AWS estimates that you spend on On-Demand Instances in a
1400
+ # month.
1401
+ # @return [String]
1402
+ #
1403
+ # @!attribute [rw] estimated_reservation_cost_for_lookback_period
1404
+ # How much AWS estimates that you spent on Reserved Instances during
1405
+ # the specified historical period.
1406
+ # @return [String]
1407
+ #
1408
+ # @!attribute [rw] upfront_cost
1409
+ # How much purchasing this instance costs you upfront.
1410
+ # @return [String]
1411
+ #
1412
+ # @!attribute [rw] recurring_standard_monthly_cost
1413
+ # How much purchasing this instance costs you on a monthly basis.
1414
+ # @return [String]
1415
+ #
1416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ReservationPurchaseRecommendationDetail AWS API Documentation
1417
+ #
1418
+ class ReservationPurchaseRecommendationDetail < Struct.new(
1419
+ :instance_details,
1420
+ :recommended_number_of_instances_to_purchase,
1421
+ :recommended_normalized_units_to_purchase,
1422
+ :minimum_number_of_instances_used_per_hour,
1423
+ :minimum_normalized_units_used_per_hour,
1424
+ :maximum_number_of_instances_used_per_hour,
1425
+ :maximum_normalized_units_used_per_hour,
1426
+ :average_number_of_instances_used_per_hour,
1427
+ :average_normalized_units_used_per_hour,
1428
+ :average_utilization,
1429
+ :estimated_break_even_in_months,
1430
+ :currency_code,
1431
+ :estimated_monthly_savings_amount,
1432
+ :estimated_monthly_savings_percentage,
1433
+ :estimated_monthly_on_demand_cost,
1434
+ :estimated_reservation_cost_for_lookback_period,
1435
+ :upfront_cost,
1436
+ :recurring_standard_monthly_cost)
1437
+ include Aws::Structure
1438
+ end
1439
+
1440
+ # Information about this specific recommendation, such as the time stamp
1441
+ # for when AWS made a specific recommendation.
1442
+ #
1443
+ # @!attribute [rw] recommendation_id
1444
+ # The ID for this specific recommendation.
1445
+ # @return [String]
1446
+ #
1447
+ # @!attribute [rw] generation_timestamp
1448
+ # The time stamp for when AWS made this recommendation.
1449
+ # @return [String]
1450
+ #
1451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ReservationPurchaseRecommendationMetadata AWS API Documentation
1452
+ #
1453
+ class ReservationPurchaseRecommendationMetadata < Struct.new(
1454
+ :recommendation_id,
1455
+ :generation_timestamp)
1456
+ include Aws::Structure
1457
+ end
1458
+
1459
+ # A summary about this recommendation, such as the currency code, the
1460
+ # amount that AWS estimates you could save, and the total amount of
1461
+ # reservation to purchase.
1462
+ #
1463
+ # @!attribute [rw] total_estimated_monthly_savings_amount
1464
+ # The total amount that AWS estimates that this recommendation could
1465
+ # save you in a month.
1466
+ # @return [String]
1467
+ #
1468
+ # @!attribute [rw] total_estimated_monthly_savings_percentage
1469
+ # The total amount that AWS estimates that this recommendation could
1470
+ # save you in a month, as a percentage of your costs.
1471
+ # @return [String]
1472
+ #
1473
+ # @!attribute [rw] currency_code
1474
+ # The currency code used for this recommendation.
1475
+ # @return [String]
1476
+ #
1477
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ReservationPurchaseRecommendationSummary AWS API Documentation
1478
+ #
1479
+ class ReservationPurchaseRecommendationSummary < Struct.new(
1480
+ :total_estimated_monthly_savings_amount,
1481
+ :total_estimated_monthly_savings_percentage,
1482
+ :currency_code)
1483
+ include Aws::Structure
1484
+ end
1485
+
1080
1486
  # A group of RIs that share a set of attributes.
1081
1487
  #
1082
1488
  # @!attribute [rw] key
@@ -1120,7 +1526,7 @@ module Aws::CostExplorer
1120
1526
  # @return [Array<Types::Group>]
1121
1527
  #
1122
1528
  # @!attribute [rw] estimated
1123
- # Whether or not this result is estimated.
1529
+ # Whether this result is estimated.
1124
1530
  # @return [Boolean]
1125
1531
  #
1126
1532
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ResultByTime AWS API Documentation
@@ -1133,6 +1539,30 @@ module Aws::CostExplorer
1133
1539
  include Aws::Structure
1134
1540
  end
1135
1541
 
1542
+ # Hardware specifications for the service that you want recommendations
1543
+ # for.
1544
+ #
1545
+ # @note When making an API call, you may pass ServiceSpecification
1546
+ # data as a hash:
1547
+ #
1548
+ # {
1549
+ # ec2_specification: {
1550
+ # offering_class: "STANDARD", # accepts STANDARD, CONVERTIBLE
1551
+ # },
1552
+ # }
1553
+ #
1554
+ # @!attribute [rw] ec2_specification
1555
+ # The EC2 hardware specifications that you want AWS to provide
1556
+ # recommendations for.
1557
+ # @return [Types::EC2Specification]
1558
+ #
1559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ServiceSpecification AWS API Documentation
1560
+ #
1561
+ class ServiceSpecification < Struct.new(
1562
+ :ec2_specification)
1563
+ include Aws::Structure
1564
+ end
1565
+
1136
1566
  # The values that are available for a tag.
1137
1567
  #
1138
1568
  # @note When making an API call, you may pass TagValues