aws-sdk-costexplorer 1.37.0 → 1.42.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,6 +21,7 @@ module Aws::CostExplorer
21
21
  BillExpirationException = Shapes::StructureShape.new(name: 'BillExpirationException')
22
22
  Context = Shapes::StringShape.new(name: 'Context')
23
23
  CostCategory = Shapes::StructureShape.new(name: 'CostCategory')
24
+ CostCategoryMaxResults = Shapes::IntegerShape.new(name: 'CostCategoryMaxResults')
24
25
  CostCategoryName = Shapes::StringShape.new(name: 'CostCategoryName')
25
26
  CostCategoryReference = Shapes::StructureShape.new(name: 'CostCategoryReference')
26
27
  CostCategoryReferencesList = Shapes::ListShape.new(name: 'CostCategoryReferencesList')
@@ -108,6 +109,8 @@ module Aws::CostExplorer
108
109
  ListCostCategoryDefinitionsRequest = Shapes::StructureShape.new(name: 'ListCostCategoryDefinitionsRequest')
109
110
  ListCostCategoryDefinitionsResponse = Shapes::StructureShape.new(name: 'ListCostCategoryDefinitionsResponse')
110
111
  LookbackPeriodInDays = Shapes::StringShape.new(name: 'LookbackPeriodInDays')
112
+ MatchOption = Shapes::StringShape.new(name: 'MatchOption')
113
+ MatchOptions = Shapes::ListShape.new(name: 'MatchOptions')
111
114
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
112
115
  Metric = Shapes::StringShape.new(name: 'Metric')
113
116
  MetricAmount = Shapes::StringShape.new(name: 'MetricAmount')
@@ -131,6 +134,7 @@ module Aws::CostExplorer
131
134
  PurchasedHours = Shapes::StringShape.new(name: 'PurchasedHours')
132
135
  PurchasedUnits = Shapes::StringShape.new(name: 'PurchasedUnits')
133
136
  RDSInstanceDetails = Shapes::StructureShape.new(name: 'RDSInstanceDetails')
137
+ RecommendationTarget = Shapes::StringShape.new(name: 'RecommendationTarget')
134
138
  RedshiftInstanceDetails = Shapes::StructureShape.new(name: 'RedshiftInstanceDetails')
135
139
  RequestChangedException = Shapes::StructureShape.new(name: 'RequestChangedException')
136
140
  ReservationAggregates = Shapes::StructureShape.new(name: 'ReservationAggregates')
@@ -154,6 +158,7 @@ module Aws::CostExplorer
154
158
  ResultByTime = Shapes::StructureShape.new(name: 'ResultByTime')
155
159
  ResultsByTime = Shapes::ListShape.new(name: 'ResultsByTime')
156
160
  RightsizingRecommendation = Shapes::StructureShape.new(name: 'RightsizingRecommendation')
161
+ RightsizingRecommendationConfiguration = Shapes::StructureShape.new(name: 'RightsizingRecommendationConfiguration')
157
162
  RightsizingRecommendationList = Shapes::ListShape.new(name: 'RightsizingRecommendationList')
158
163
  RightsizingRecommendationMetadata = Shapes::StructureShape.new(name: 'RightsizingRecommendationMetadata')
159
164
  RightsizingRecommendationSummary = Shapes::StructureShape.new(name: 'RightsizingRecommendationSummary')
@@ -226,6 +231,7 @@ module Aws::CostExplorer
226
231
  CostCategoryReference.add_member(:name, Shapes::ShapeRef.new(shape: CostCategoryName, location_name: "Name"))
227
232
  CostCategoryReference.add_member(:effective_start, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "EffectiveStart"))
228
233
  CostCategoryReference.add_member(:effective_end, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "EffectiveEnd"))
234
+ CostCategoryReference.add_member(:number_of_rules, Shapes::ShapeRef.new(shape: NonNegativeInteger, location_name: "NumberOfRules"))
229
235
  CostCategoryReference.struct_class = Types::CostCategoryReference
230
236
 
231
237
  CostCategoryReferencesList.member = Shapes::ShapeRef.new(shape: CostCategoryReference)
@@ -311,6 +317,7 @@ module Aws::CostExplorer
311
317
 
312
318
  DimensionValues.add_member(:key, Shapes::ShapeRef.new(shape: Dimension, location_name: "Key"))
313
319
  DimensionValues.add_member(:values, Shapes::ShapeRef.new(shape: Values, location_name: "Values"))
320
+ DimensionValues.add_member(:match_options, Shapes::ShapeRef.new(shape: MatchOptions, location_name: "MatchOptions"))
314
321
  DimensionValues.struct_class = Types::DimensionValues
315
322
 
316
323
  DimensionValuesWithAttributes.add_member(:value, Shapes::ShapeRef.new(shape: Value, location_name: "Value"))
@@ -473,6 +480,7 @@ module Aws::CostExplorer
473
480
  GetReservationUtilizationResponse.struct_class = Types::GetReservationUtilizationResponse
474
481
 
475
482
  GetRightsizingRecommendationRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, location_name: "Filter"))
483
+ GetRightsizingRecommendationRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: RightsizingRecommendationConfiguration, location_name: "Configuration"))
476
484
  GetRightsizingRecommendationRequest.add_member(:service, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "Service"))
477
485
  GetRightsizingRecommendationRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: NonNegativeInteger, location_name: "PageSize"))
478
486
  GetRightsizingRecommendationRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
@@ -482,6 +490,7 @@ module Aws::CostExplorer
482
490
  GetRightsizingRecommendationResponse.add_member(:summary, Shapes::ShapeRef.new(shape: RightsizingRecommendationSummary, location_name: "Summary"))
483
491
  GetRightsizingRecommendationResponse.add_member(:rightsizing_recommendations, Shapes::ShapeRef.new(shape: RightsizingRecommendationList, location_name: "RightsizingRecommendations"))
484
492
  GetRightsizingRecommendationResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
493
+ GetRightsizingRecommendationResponse.add_member(:configuration, Shapes::ShapeRef.new(shape: RightsizingRecommendationConfiguration, location_name: "Configuration"))
485
494
  GetRightsizingRecommendationResponse.struct_class = Types::GetRightsizingRecommendationResponse
486
495
 
487
496
  GetSavingsPlansCoverageRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
@@ -500,9 +509,11 @@ module Aws::CostExplorer
500
509
  GetSavingsPlansPurchaseRecommendationRequest.add_member(:savings_plans_type, Shapes::ShapeRef.new(shape: SupportedSavingsPlansType, required: true, location_name: "SavingsPlansType"))
501
510
  GetSavingsPlansPurchaseRecommendationRequest.add_member(:term_in_years, Shapes::ShapeRef.new(shape: TermInYears, required: true, location_name: "TermInYears"))
502
511
  GetSavingsPlansPurchaseRecommendationRequest.add_member(:payment_option, Shapes::ShapeRef.new(shape: PaymentOption, required: true, location_name: "PaymentOption"))
512
+ GetSavingsPlansPurchaseRecommendationRequest.add_member(:account_scope, Shapes::ShapeRef.new(shape: AccountScope, location_name: "AccountScope"))
503
513
  GetSavingsPlansPurchaseRecommendationRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
504
514
  GetSavingsPlansPurchaseRecommendationRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: NonNegativeInteger, location_name: "PageSize"))
505
515
  GetSavingsPlansPurchaseRecommendationRequest.add_member(:lookback_period_in_days, Shapes::ShapeRef.new(shape: LookbackPeriodInDays, required: true, location_name: "LookbackPeriodInDays"))
516
+ GetSavingsPlansPurchaseRecommendationRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, location_name: "Filter"))
506
517
  GetSavingsPlansPurchaseRecommendationRequest.struct_class = Types::GetSavingsPlansPurchaseRecommendationRequest
507
518
 
508
519
  GetSavingsPlansPurchaseRecommendationResponse.add_member(:metadata, Shapes::ShapeRef.new(shape: SavingsPlansPurchaseRecommendationMetadata, location_name: "Metadata"))
@@ -583,12 +594,15 @@ module Aws::CostExplorer
583
594
 
584
595
  ListCostCategoryDefinitionsRequest.add_member(:effective_on, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "EffectiveOn"))
585
596
  ListCostCategoryDefinitionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextToken"))
597
+ ListCostCategoryDefinitionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: CostCategoryMaxResults, location_name: "MaxResults", metadata: {"box"=>true}))
586
598
  ListCostCategoryDefinitionsRequest.struct_class = Types::ListCostCategoryDefinitionsRequest
587
599
 
588
600
  ListCostCategoryDefinitionsResponse.add_member(:cost_category_references, Shapes::ShapeRef.new(shape: CostCategoryReferencesList, location_name: "CostCategoryReferences"))
589
601
  ListCostCategoryDefinitionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextToken"))
590
602
  ListCostCategoryDefinitionsResponse.struct_class = Types::ListCostCategoryDefinitionsResponse
591
603
 
604
+ MatchOptions.member = Shapes::ShapeRef.new(shape: MatchOption)
605
+
592
606
  MetricNames.member = Shapes::ShapeRef.new(shape: MetricName)
593
607
 
594
608
  MetricValue.add_member(:amount, Shapes::ShapeRef.new(shape: MetricAmount, location_name: "Amount"))
@@ -719,6 +733,10 @@ module Aws::CostExplorer
719
733
  RightsizingRecommendation.add_member(:terminate_recommendation_detail, Shapes::ShapeRef.new(shape: TerminateRecommendationDetail, location_name: "TerminateRecommendationDetail"))
720
734
  RightsizingRecommendation.struct_class = Types::RightsizingRecommendation
721
735
 
736
+ RightsizingRecommendationConfiguration.add_member(:recommendation_target, Shapes::ShapeRef.new(shape: RecommendationTarget, required: true, location_name: "RecommendationTarget"))
737
+ RightsizingRecommendationConfiguration.add_member(:benefits_considered, Shapes::ShapeRef.new(shape: GenericBoolean, required: true, location_name: "BenefitsConsidered"))
738
+ RightsizingRecommendationConfiguration.struct_class = Types::RightsizingRecommendationConfiguration
739
+
722
740
  RightsizingRecommendationList.member = Shapes::ShapeRef.new(shape: RightsizingRecommendation)
723
741
 
724
742
  RightsizingRecommendationMetadata.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "RecommendationId"))
@@ -755,6 +773,7 @@ module Aws::CostExplorer
755
773
  SavingsPlansDetails.add_member(:offering_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "OfferingId"))
756
774
  SavingsPlansDetails.struct_class = Types::SavingsPlansDetails
757
775
 
776
+ SavingsPlansPurchaseRecommendation.add_member(:account_scope, Shapes::ShapeRef.new(shape: AccountScope, location_name: "AccountScope"))
758
777
  SavingsPlansPurchaseRecommendation.add_member(:savings_plans_type, Shapes::ShapeRef.new(shape: SupportedSavingsPlansType, location_name: "SavingsPlansType"))
759
778
  SavingsPlansPurchaseRecommendation.add_member(:term_in_years, Shapes::ShapeRef.new(shape: TermInYears, location_name: "TermInYears"))
760
779
  SavingsPlansPurchaseRecommendation.add_member(:payment_option, Shapes::ShapeRef.new(shape: PaymentOption, location_name: "PaymentOption"))
@@ -842,6 +861,7 @@ module Aws::CostExplorer
842
861
 
843
862
  TagValues.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
844
863
  TagValues.add_member(:values, Shapes::ShapeRef.new(shape: Values, location_name: "Values"))
864
+ TagValues.add_member(:match_options, Shapes::ShapeRef.new(shape: MatchOptions, location_name: "MatchOptions"))
845
865
  TagValues.struct_class = Types::TagValues
846
866
 
847
867
  TagValuesList.member = Shapes::ShapeRef.new(shape: TagValues)
@@ -1108,6 +1128,12 @@ module Aws::CostExplorer
1108
1128
  o.input = Shapes::ShapeRef.new(shape: ListCostCategoryDefinitionsRequest)
1109
1129
  o.output = Shapes::ShapeRef.new(shape: ListCostCategoryDefinitionsResponse)
1110
1130
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1131
+ o[:pager] = Aws::Pager.new(
1132
+ limit_key: "max_results",
1133
+ tokens: {
1134
+ "next_token" => "next_token"
1135
+ }
1136
+ )
1111
1137
  end)
1112
1138
 
1113
1139
  api.add_operation(:update_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
@@ -6,13 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::CostExplorer
9
- # This class provides a resource oriented interface for CostExplorer.
10
- # To create a resource object:
11
- # resource = Aws::CostExplorer::Resource.new(region: 'us-west-2')
12
- # You can supply a client object with custom configuration that will be used for all resource operations.
13
- # If you do not pass +:client+, a default client will be constructed.
14
- # client = Aws::CostExplorer::Client.new(region: 'us-west-2')
15
- # resource = Aws::CostExplorer::Resource.new(client: client)
9
+
16
10
  class Resource
17
11
 
18
12
  # @param options ({})
@@ -20,12 +20,6 @@ module Aws::CostExplorer
20
20
  include Aws::Structure
21
21
  end
22
22
 
23
- # <i> <b>Cost Category is in public beta for AWS Billing and Cost
24
- # Management and is subject to change. Your use of Cost Categories is
25
- # subject to the Beta Service Participation terms of the <a
26
- # href="https://aws.amazon.com/service-terms/">AWS Service Terms</a>
27
- # (Section 1.10).</b> </i>
28
- #
29
23
  # The structure of Cost Categories. This includes detailed metadata and
30
24
  # the set of rules for the `CostCategory` object.
31
25
  #
@@ -67,12 +61,6 @@ module Aws::CostExplorer
67
61
  include Aws::Structure
68
62
  end
69
63
 
70
- # <i> <b>Cost Category is in public beta for AWS Billing and Cost
71
- # Management and is subject to change. Your use of Cost Categories is
72
- # subject to the Beta Service Participation terms of the <a
73
- # href="https://aws.amazon.com/service-terms/">AWS Service Terms</a>
74
- # (Section 1.10).</b> </i>
75
- #
76
64
  # A reference to a Cost Category containing only enough information to
77
65
  # identify the Cost Category.
78
66
  #
@@ -80,7 +68,7 @@ module Aws::CostExplorer
80
68
  # information using `DescribeCostCategory`.
81
69
  #
82
70
  # @!attribute [rw] cost_category_arn
83
- # The unique identifier for your Cost Category Reference.
71
+ # The unique identifier for your Cost Category.
84
72
  # @return [String]
85
73
  #
86
74
  # @!attribute [rw] name
@@ -95,22 +83,21 @@ module Aws::CostExplorer
95
83
  # The Cost Category's effective end date.
96
84
  # @return [String]
97
85
  #
86
+ # @!attribute [rw] number_of_rules
87
+ # The number of rules associated with a specific Cost Category.
88
+ # @return [Integer]
89
+ #
98
90
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CostCategoryReference AWS API Documentation
99
91
  #
100
92
  class CostCategoryReference < Struct.new(
101
93
  :cost_category_arn,
102
94
  :name,
103
95
  :effective_start,
104
- :effective_end)
96
+ :effective_end,
97
+ :number_of_rules)
105
98
  include Aws::Structure
106
99
  end
107
100
 
108
- # <i> <b>Cost Category is in public beta for AWS Billing and Cost
109
- # Management and is subject to change. Your use of Cost Categories is
110
- # subject to the Beta Service Participation terms of the <a
111
- # href="https://aws.amazon.com/service-terms/">AWS Service Terms</a>
112
- # (Section 1.10).</b> </i>
113
- #
114
101
  # Rules are processed in order. If there are multiple rules that match
115
102
  # the line item, then the first rule to match is used to determine that
116
103
  # Cost Category value.
@@ -135,12 +122,14 @@ module Aws::CostExplorer
135
122
  # # recursive Expression
136
123
  # },
137
124
  # dimensions: {
138
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
125
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
139
126
  # values: ["Value"],
127
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
140
128
  # },
141
129
  # tags: {
142
130
  # key: "TagKey",
143
131
  # values: ["Value"],
132
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
144
133
  # },
145
134
  # cost_categories: {
146
135
  # key: "CostCategoryName",
@@ -157,14 +146,22 @@ module Aws::CostExplorer
157
146
  # @!attribute [rw] rule
158
147
  # An [Expression][1] object used to categorize costs. This supports
159
148
  # dimensions, Tags, and nested expressions. Currently the only
160
- # dimensions supported is `LINKED_ACCOUNT`.
149
+ # dimensions supported are `LINKED_ACCOUNT`, `SERVICE_CODE`,
150
+ # `RECORD_TYPE`, and `LINKED_ACCOUNT_NAME`.
151
+ #
152
+ # Root level `OR` is not supported. We recommend that you create a
153
+ # separate rule instead.
161
154
  #
162
- # Root level `OR` is not supported. We recommend you create a separate
163
- # rule instead.
155
+ # `RECORD_TYPE` is a dimension used for Cost Explorer APIs, and is
156
+ # also supported for Cost Category expressions. This dimension uses
157
+ # different terms, depending on whether you're using the console or
158
+ # API/JSON editor. For a detailed comparison, see [Term
159
+ # Comparisons][2] in the *AWS Billing and Cost Management User Guide*.
164
160
  #
165
161
  #
166
162
  #
167
- # [1]: http://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
163
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
164
+ # [2]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-cost-categories.html#cost-categories-terms
168
165
  # @return [Types::Expression]
169
166
  #
170
167
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CostCategoryRule AWS API Documentation
@@ -175,13 +172,7 @@ module Aws::CostExplorer
175
172
  include Aws::Structure
176
173
  end
177
174
 
178
- # <i> <b>Cost Category is in public beta for AWS Billing and Cost
179
- # Management and is subject to change. Your use of Cost Categories is
180
- # subject to the Beta Service Participation terms of the <a
181
- # href="https://aws.amazon.com/service-terms/">AWS Service Terms</a>
182
- # (Section 1.10).</b> </i>
183
- #
184
- # The values that are available for Cost Categories.
175
+ # The Cost Categories values used for filtering the costs.
185
176
  #
186
177
  # @note When making an API call, you may pass CostCategoryValues
187
178
  # data as a hash:
@@ -254,10 +245,10 @@ module Aws::CostExplorer
254
245
  include Aws::Structure
255
246
  end
256
247
 
257
- # How much it cost to run an instance.
248
+ # How much it costs to run an instance.
258
249
  #
259
250
  # @!attribute [rw] on_demand_cost
260
- # How much an On-Demand instance cost.
251
+ # How much an On-Demand Instance costs.
261
252
  # @return [String]
262
253
  #
263
254
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CoverageCost AWS API Documentation
@@ -366,12 +357,14 @@ module Aws::CostExplorer
366
357
  # # recursive Expression
367
358
  # },
368
359
  # dimensions: {
369
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
360
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
370
361
  # values: ["Value"],
362
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
371
363
  # },
372
364
  # tags: {
373
365
  # key: "TagKey",
374
366
  # values: ["Value"],
367
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
375
368
  # },
376
369
  # cost_categories: {
377
370
  # key: "CostCategoryName",
@@ -391,16 +384,12 @@ module Aws::CostExplorer
391
384
  # @return [String]
392
385
  #
393
386
  # @!attribute [rw] rules
394
- # `CreateCostCategoryDefinition` supports dimensions, Tags, and nested
395
- # expressions. Currently the only dimensions supported is
396
- # `LINKED_ACCOUNT`.
387
+ # The Cost Category rules used to categorize costs. For more
388
+ # information, see [CostCategoryRule][1].
397
389
  #
398
- # Root level `OR` is not supported. We recommend you create a separate
399
- # rule instead.
400
390
  #
401
- # Rules are processed in order. If there are multiple rules that match
402
- # the line item, then the first rule to match is used to determine
403
- # that Cost Category value.
391
+ #
392
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategoryRule.html
404
393
  # @return [Array<Types::CostCategoryRule>]
405
394
  #
406
395
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateCostCategoryDefinitionRequest AWS API Documentation
@@ -596,12 +585,6 @@ module Aws::CostExplorer
596
585
  end
597
586
 
598
587
  # @!attribute [rw] cost_category
599
- # <i> <b>Cost Category is in public beta for AWS Billing and Cost
600
- # Management and is subject to change. Your use of Cost Categories is
601
- # subject to the Beta Service Participation terms of the <a
602
- # href="https://aws.amazon.com/service-terms/">AWS Service Terms</a>
603
- # (Section 1.10).</b> </i>
604
- #
605
588
  # The structure of Cost Categories. This includes detailed metadata
606
589
  # and the set of rules for the `CostCategory` object.
607
590
  # @return [Types::CostCategory]
@@ -620,8 +603,9 @@ module Aws::CostExplorer
620
603
  # data as a hash:
621
604
  #
622
605
  # {
623
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
606
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
624
607
  # values: ["Value"],
608
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
625
609
  # }
626
610
  #
627
611
  # @!attribute [rw] key
@@ -633,18 +617,21 @@ module Aws::CostExplorer
633
617
  # @!attribute [rw] values
634
618
  # The metadata values that you can use to filter and group your
635
619
  # results. You can use `GetDimensionValues` to find specific values.
620
+ # @return [Array<String>]
636
621
  #
637
- # Valid values for the `SERVICE` dimension are `Amazon Elastic Compute
638
- # Cloud - Compute`, `Amazon Elasticsearch Service`, `Amazon
639
- # ElastiCache`, `Amazon Redshift`, and `Amazon Relational Database
640
- # Service`.
622
+ # @!attribute [rw] match_options
623
+ # The match options that you can use to filter your results.
624
+ # `MatchOptions` is only applicable for actions related to Cost
625
+ # Category. The default values for `MatchOptions` is `EQUALS` and
626
+ # `CASE_SENSITIVE`.
641
627
  # @return [Array<String>]
642
628
  #
643
629
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DimensionValues AWS API Documentation
644
630
  #
645
631
  class DimensionValues < Struct.new(
646
632
  :key,
647
- :values)
633
+ :values,
634
+ :match_options)
648
635
  include Aws::Structure
649
636
  end
650
637
 
@@ -955,12 +942,14 @@ module Aws::CostExplorer
955
942
  # # recursive Expression
956
943
  # },
957
944
  # dimensions: {
958
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
945
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
959
946
  # values: ["Value"],
947
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
960
948
  # },
961
949
  # tags: {
962
950
  # key: "TagKey",
963
951
  # values: ["Value"],
952
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
964
953
  # },
965
954
  # cost_categories: {
966
955
  # key: "CostCategoryName",
@@ -980,12 +969,14 @@ module Aws::CostExplorer
980
969
  # # recursive Expression
981
970
  # },
982
971
  # dimensions: {
983
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
972
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
984
973
  # values: ["Value"],
974
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
985
975
  # },
986
976
  # tags: {
987
977
  # key: "TagKey",
988
978
  # values: ["Value"],
979
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
989
980
  # },
990
981
  # cost_categories: {
991
982
  # key: "CostCategoryName",
@@ -1008,12 +999,14 @@ module Aws::CostExplorer
1008
999
  # # recursive Expression
1009
1000
  # },
1010
1001
  # dimensions: {
1011
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1002
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1012
1003
  # values: ["Value"],
1004
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1013
1005
  # },
1014
1006
  # tags: {
1015
1007
  # key: "TagKey",
1016
1008
  # values: ["Value"],
1009
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1017
1010
  # },
1018
1011
  # cost_categories: {
1019
1012
  # key: "CostCategoryName",
@@ -1021,12 +1014,14 @@ module Aws::CostExplorer
1021
1014
  # },
1022
1015
  # },
1023
1016
  # dimensions: {
1024
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1017
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1025
1018
  # values: ["Value"],
1019
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1026
1020
  # },
1027
1021
  # tags: {
1028
1022
  # key: "TagKey",
1029
1023
  # values: ["Value"],
1024
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1030
1025
  # },
1031
1026
  # cost_categories: {
1032
1027
  # key: "CostCategoryName",
@@ -1055,13 +1050,7 @@ module Aws::CostExplorer
1055
1050
  # @return [Types::TagValues]
1056
1051
  #
1057
1052
  # @!attribute [rw] cost_categories
1058
- # <i> <b>Cost Category is in public beta for AWS Billing and Cost
1059
- # Management and is subject to change. Your use of Cost Categories is
1060
- # subject to the Beta Service Participation terms of the <a
1061
- # href="https://aws.amazon.com/service-terms/">AWS Service Terms</a>
1062
- # (Section 1.10).</b> </i>
1063
- #
1064
- # The specific `CostCategory` used for `Expression`.
1053
+ # The filter based on `CostCategory` values.
1065
1054
  # @return [Types::CostCategoryValues]
1066
1055
  #
1067
1056
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Expression AWS API Documentation
@@ -1128,12 +1117,14 @@ module Aws::CostExplorer
1128
1117
  # # recursive Expression
1129
1118
  # },
1130
1119
  # dimensions: {
1131
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1120
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1132
1121
  # values: ["Value"],
1122
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1133
1123
  # },
1134
1124
  # tags: {
1135
1125
  # key: "TagKey",
1136
1126
  # values: ["Value"],
1127
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1137
1128
  # },
1138
1129
  # cost_categories: {
1139
1130
  # key: "CostCategoryName",
@@ -1173,7 +1164,7 @@ module Aws::CostExplorer
1173
1164
  #
1174
1165
  #
1175
1166
  #
1176
- # [1]: http://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
1167
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
1177
1168
  # @return [Types::Expression]
1178
1169
  #
1179
1170
  # @!attribute [rw] metrics
@@ -1199,7 +1190,7 @@ module Aws::CostExplorer
1199
1190
  #
1200
1191
  #
1201
1192
  #
1202
- # [1]: https://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/
1193
+ # [1]: http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/
1203
1194
  # @return [Array<String>]
1204
1195
  #
1205
1196
  # @!attribute [rw] group_by
@@ -1280,12 +1271,14 @@ module Aws::CostExplorer
1280
1271
  # # recursive Expression
1281
1272
  # },
1282
1273
  # dimensions: {
1283
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1274
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1284
1275
  # values: ["Value"],
1276
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1285
1277
  # },
1286
1278
  # tags: {
1287
1279
  # key: "TagKey",
1288
1280
  # values: ["Value"],
1281
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1289
1282
  # },
1290
1283
  # cost_categories: {
1291
1284
  # key: "CostCategoryName",
@@ -1330,7 +1323,7 @@ module Aws::CostExplorer
1330
1323
  #
1331
1324
  #
1332
1325
  #
1333
- # [1]: http://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
1326
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
1334
1327
  # @return [Types::Expression]
1335
1328
  #
1336
1329
  # @!attribute [rw] metrics
@@ -1356,7 +1349,7 @@ module Aws::CostExplorer
1356
1349
  #
1357
1350
  #
1358
1351
  #
1359
- # [1]: https://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/
1352
+ # [1]: http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/
1360
1353
  # @return [Array<String>]
1361
1354
  #
1362
1355
  # @!attribute [rw] group_by
@@ -1431,12 +1424,14 @@ module Aws::CostExplorer
1431
1424
  # # recursive Expression
1432
1425
  # },
1433
1426
  # dimensions: {
1434
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1427
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1435
1428
  # values: ["Value"],
1429
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1436
1430
  # },
1437
1431
  # tags: {
1438
1432
  # key: "TagKey",
1439
1433
  # values: ["Value"],
1434
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1440
1435
  # },
1441
1436
  # cost_categories: {
1442
1437
  # key: "CostCategoryName",
@@ -1469,7 +1464,7 @@ module Aws::CostExplorer
1469
1464
  #
1470
1465
  #
1471
1466
  #
1472
- # [1]: https://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/
1467
+ # [1]: http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/
1473
1468
  # @return [String]
1474
1469
  #
1475
1470
  # @!attribute [rw] granularity
@@ -1533,7 +1528,7 @@ module Aws::CostExplorer
1533
1528
  # start: "YearMonthDay", # required
1534
1529
  # end: "YearMonthDay", # required
1535
1530
  # },
1536
- # dimension: "AZ", # required, accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1531
+ # dimension: "AZ", # required, accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1537
1532
  # context: "COST_AND_USAGE", # accepts COST_AND_USAGE, RESERVATIONS, SAVINGS_PLANS
1538
1533
  # next_page_token: "NextPageToken",
1539
1534
  # }
@@ -1844,12 +1839,14 @@ module Aws::CostExplorer
1844
1839
  # # recursive Expression
1845
1840
  # },
1846
1841
  # dimensions: {
1847
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1842
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1848
1843
  # values: ["Value"],
1844
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1849
1845
  # },
1850
1846
  # tags: {
1851
1847
  # key: "TagKey",
1852
1848
  # values: ["Value"],
1849
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1853
1850
  # },
1854
1851
  # cost_categories: {
1855
1852
  # key: "CostCategoryName",
@@ -1942,9 +1939,11 @@ module Aws::CostExplorer
1942
1939
  # If you don't provide a `SERVICE` filter, Cost Explorer defaults to
1943
1940
  # EC2.
1944
1941
  #
1942
+ # Cost category is also supported.
1945
1943
  #
1946
1944
  #
1947
- # [1]: http://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
1945
+ #
1946
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
1948
1947
  # @return [Types::Expression]
1949
1948
  #
1950
1949
  # @!attribute [rw] metrics
@@ -2023,12 +2022,11 @@ module Aws::CostExplorer
2023
2022
  # @return [String]
2024
2023
  #
2025
2024
  # @!attribute [rw] account_scope
2026
- # The account scope that you want recommendations for. `PAYER` means
2027
- # that AWS includes the master account and any member accounts when it
2028
- # calculates its recommendations. `LINKED` means that AWS includes
2029
- # only member accounts when it calculates its recommendations.
2030
- #
2031
- # Valid values are `PAYER` and `LINKED`.
2025
+ # The account scope that you want your recommendations for. Amazon Web
2026
+ # Services calculates recommendations including the payer account and
2027
+ # linked accounts if the value is set to `PAYER`. If the value is
2028
+ # `LINKED`, recommendations are calculated for individual linked
2029
+ # accounts only.
2032
2030
  # @return [String]
2033
2031
  #
2034
2032
  # @!attribute [rw] lookback_period_in_days
@@ -2127,12 +2125,14 @@ module Aws::CostExplorer
2127
2125
  # # recursive Expression
2128
2126
  # },
2129
2127
  # dimensions: {
2130
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2128
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2131
2129
  # values: ["Value"],
2130
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2132
2131
  # },
2133
2132
  # tags: {
2134
2133
  # key: "TagKey",
2135
2134
  # values: ["Value"],
2135
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2136
2136
  # },
2137
2137
  # cost_categories: {
2138
2138
  # key: "CostCategoryName",
@@ -2197,7 +2197,7 @@ module Aws::CostExplorer
2197
2197
  #
2198
2198
  #
2199
2199
  #
2200
- # [1]: http://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2200
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2201
2201
  # @return [Types::Expression]
2202
2202
  #
2203
2203
  # @!attribute [rw] next_page_token
@@ -2259,18 +2259,24 @@ module Aws::CostExplorer
2259
2259
  # # recursive Expression
2260
2260
  # },
2261
2261
  # dimensions: {
2262
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2262
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2263
2263
  # values: ["Value"],
2264
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2264
2265
  # },
2265
2266
  # tags: {
2266
2267
  # key: "TagKey",
2267
2268
  # values: ["Value"],
2269
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2268
2270
  # },
2269
2271
  # cost_categories: {
2270
2272
  # key: "CostCategoryName",
2271
2273
  # values: ["Value"],
2272
2274
  # },
2273
2275
  # },
2276
+ # configuration: {
2277
+ # recommendation_target: "SAME_INSTANCE_FAMILY", # required, accepts SAME_INSTANCE_FAMILY, CROSS_INSTANCE_FAMILY
2278
+ # benefits_considered: false, # required
2279
+ # },
2274
2280
  # service: "GenericString", # required
2275
2281
  # page_size: 1,
2276
2282
  # next_page_token: "NextPageToken",
@@ -2325,6 +2331,15 @@ module Aws::CostExplorer
2325
2331
  # </note>
2326
2332
  # @return [Types::Expression]
2327
2333
  #
2334
+ # @!attribute [rw] configuration
2335
+ # Enables you to customize recommendations across two attributes. You
2336
+ # can choose to view recommendations for instances within the same
2337
+ # instance families or across different instance families. You can
2338
+ # also choose to view your estimated savings associated with
2339
+ # recommendations with consideration of existing Savings Plans or RI
2340
+ # benefits, or niether.
2341
+ # @return [Types::RightsizingRecommendationConfiguration]
2342
+ #
2328
2343
  # @!attribute [rw] service
2329
2344
  # The specific service that you want recommendations for. The only
2330
2345
  # valid value for `GetRightsizingRecommendation` is "`AmazonEC2`".
@@ -2344,6 +2359,7 @@ module Aws::CostExplorer
2344
2359
  #
2345
2360
  class GetRightsizingRecommendationRequest < Struct.new(
2346
2361
  :filter,
2362
+ :configuration,
2347
2363
  :service,
2348
2364
  :page_size,
2349
2365
  :next_page_token)
@@ -2366,13 +2382,23 @@ module Aws::CostExplorer
2366
2382
  # The token to retrieve the next set of results.
2367
2383
  # @return [String]
2368
2384
  #
2385
+ # @!attribute [rw] configuration
2386
+ # Enables you to customize recommendations across two attributes. You
2387
+ # can choose to view recommendations for instances within the same
2388
+ # instance families or across different instance families. You can
2389
+ # also choose to view your estimated savings associated with
2390
+ # recommendations with consideration of existing Savings Plans or RI
2391
+ # benefits, or niether.
2392
+ # @return [Types::RightsizingRecommendationConfiguration]
2393
+ #
2369
2394
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendationResponse AWS API Documentation
2370
2395
  #
2371
2396
  class GetRightsizingRecommendationResponse < Struct.new(
2372
2397
  :metadata,
2373
2398
  :summary,
2374
2399
  :rightsizing_recommendations,
2375
- :next_page_token)
2400
+ :next_page_token,
2401
+ :configuration)
2376
2402
  include Aws::Structure
2377
2403
  end
2378
2404
 
@@ -2406,12 +2432,14 @@ module Aws::CostExplorer
2406
2432
  # # recursive Expression
2407
2433
  # },
2408
2434
  # dimensions: {
2409
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2435
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2410
2436
  # values: ["Value"],
2437
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2411
2438
  # },
2412
2439
  # tags: {
2413
2440
  # key: "TagKey",
2414
2441
  # values: ["Value"],
2442
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2415
2443
  # },
2416
2444
  # cost_categories: {
2417
2445
  # key: "CostCategoryName",
@@ -2460,9 +2488,11 @@ module Aws::CostExplorer
2460
2488
  # dimension. If there are multiple values for a dimension, they are
2461
2489
  # OR'd together.
2462
2490
  #
2491
+ # Cost category is also supported.
2492
+ #
2463
2493
  #
2464
2494
  #
2465
- # [1]: http://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2495
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2466
2496
  # @return [Types::Expression]
2467
2497
  #
2468
2498
  # @!attribute [rw] metrics
@@ -2519,9 +2549,39 @@ module Aws::CostExplorer
2519
2549
  # savings_plans_type: "COMPUTE_SP", # required, accepts COMPUTE_SP, EC2_INSTANCE_SP
2520
2550
  # term_in_years: "ONE_YEAR", # required, accepts ONE_YEAR, THREE_YEARS
2521
2551
  # payment_option: "NO_UPFRONT", # required, accepts NO_UPFRONT, PARTIAL_UPFRONT, ALL_UPFRONT, LIGHT_UTILIZATION, MEDIUM_UTILIZATION, HEAVY_UTILIZATION
2552
+ # account_scope: "PAYER", # accepts PAYER, LINKED
2522
2553
  # next_page_token: "NextPageToken",
2523
2554
  # page_size: 1,
2524
2555
  # lookback_period_in_days: "SEVEN_DAYS", # required, accepts SEVEN_DAYS, THIRTY_DAYS, SIXTY_DAYS
2556
+ # filter: {
2557
+ # or: [
2558
+ # {
2559
+ # # recursive Expression
2560
+ # },
2561
+ # ],
2562
+ # and: [
2563
+ # {
2564
+ # # recursive Expression
2565
+ # },
2566
+ # ],
2567
+ # not: {
2568
+ # # recursive Expression
2569
+ # },
2570
+ # dimensions: {
2571
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2572
+ # values: ["Value"],
2573
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2574
+ # },
2575
+ # tags: {
2576
+ # key: "TagKey",
2577
+ # values: ["Value"],
2578
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2579
+ # },
2580
+ # cost_categories: {
2581
+ # key: "CostCategoryName",
2582
+ # values: ["Value"],
2583
+ # },
2584
+ # },
2525
2585
  # }
2526
2586
  #
2527
2587
  # @!attribute [rw] savings_plans_type
@@ -2537,6 +2597,14 @@ module Aws::CostExplorer
2537
2597
  # The payment option used to generate these recommendations.
2538
2598
  # @return [String]
2539
2599
  #
2600
+ # @!attribute [rw] account_scope
2601
+ # The account scope that you want your recommendations for. Amazon Web
2602
+ # Services calculates recommendations including the payer account and
2603
+ # linked accounts if the value is set to `PAYER`. If the value is
2604
+ # `LINKED`, recommendations are calculated for individual linked
2605
+ # accounts only.
2606
+ # @return [String]
2607
+ #
2540
2608
  # @!attribute [rw] next_page_token
2541
2609
  # The token to retrieve the next set of results. Amazon Web Services
2542
2610
  # provides the token when the response from a previous call has more
@@ -2552,15 +2620,32 @@ module Aws::CostExplorer
2552
2620
  # The lookback period used to generate the recommendation.
2553
2621
  # @return [String]
2554
2622
  #
2623
+ # @!attribute [rw] filter
2624
+ # You can filter your recommendations by Account ID with the
2625
+ # `LINKED_ACCOUNT` dimension. To filter your recommendations by
2626
+ # Account ID, specify `Key` as `LINKED_ACCOUNT` and `Value` as the
2627
+ # comma-separated Acount ID(s) for which you want to see Savings Plans
2628
+ # purchase recommendations.
2629
+ #
2630
+ # For GetSavingsPlansPurchaseRecommendation, the `Filter` does not
2631
+ # include `CostCategories` or `Tags`. It only includes `Dimensions`.
2632
+ # With `Dimensions`, `Key` must be `LINKED_ACCOUNT` and `Value` can be
2633
+ # a single Account ID or multiple comma-separated Account IDs for
2634
+ # which you want to see Savings Plans Purchase Recommendations. `AND`
2635
+ # and `OR` operators are not supported.
2636
+ # @return [Types::Expression]
2637
+ #
2555
2638
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansPurchaseRecommendationRequest AWS API Documentation
2556
2639
  #
2557
2640
  class GetSavingsPlansPurchaseRecommendationRequest < Struct.new(
2558
2641
  :savings_plans_type,
2559
2642
  :term_in_years,
2560
2643
  :payment_option,
2644
+ :account_scope,
2561
2645
  :next_page_token,
2562
2646
  :page_size,
2563
- :lookback_period_in_days)
2647
+ :lookback_period_in_days,
2648
+ :filter)
2564
2649
  include Aws::Structure
2565
2650
  end
2566
2651
 
@@ -2611,12 +2696,14 @@ module Aws::CostExplorer
2611
2696
  # # recursive Expression
2612
2697
  # },
2613
2698
  # dimensions: {
2614
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2699
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2615
2700
  # values: ["Value"],
2701
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2616
2702
  # },
2617
2703
  # tags: {
2618
2704
  # key: "TagKey",
2619
2705
  # values: ["Value"],
2706
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2620
2707
  # },
2621
2708
  # cost_categories: {
2622
2709
  # key: "CostCategoryName",
@@ -2654,7 +2741,7 @@ module Aws::CostExplorer
2654
2741
  #
2655
2742
  #
2656
2743
  #
2657
- # [1]: http://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2744
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2658
2745
  # @return [Types::Expression]
2659
2746
  #
2660
2747
  # @!attribute [rw] next_token
@@ -2731,12 +2818,14 @@ module Aws::CostExplorer
2731
2818
  # # recursive Expression
2732
2819
  # },
2733
2820
  # dimensions: {
2734
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2821
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2735
2822
  # values: ["Value"],
2823
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2736
2824
  # },
2737
2825
  # tags: {
2738
2826
  # key: "TagKey",
2739
2827
  # values: ["Value"],
2828
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2740
2829
  # },
2741
2830
  # cost_categories: {
2742
2831
  # key: "CostCategoryName",
@@ -2782,7 +2871,7 @@ module Aws::CostExplorer
2782
2871
  #
2783
2872
  #
2784
2873
  #
2785
- # [1]: http://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2874
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2786
2875
  # @return [Types::Expression]
2787
2876
  #
2788
2877
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilizationRequest AWS API Documentation
@@ -2910,12 +2999,14 @@ module Aws::CostExplorer
2910
2999
  # # recursive Expression
2911
3000
  # },
2912
3001
  # dimensions: {
2913
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
3002
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2914
3003
  # values: ["Value"],
3004
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2915
3005
  # },
2916
3006
  # tags: {
2917
3007
  # key: "TagKey",
2918
3008
  # values: ["Value"],
3009
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2919
3010
  # },
2920
3011
  # cost_categories: {
2921
3012
  # key: "CostCategoryName",
@@ -3103,6 +3194,7 @@ module Aws::CostExplorer
3103
3194
  # {
3104
3195
  # effective_on: "ZonedDateTime",
3105
3196
  # next_token: "NextPageToken",
3197
+ # max_results: 1,
3106
3198
  # }
3107
3199
  #
3108
3200
  # @!attribute [rw] effective_on
@@ -3113,16 +3205,18 @@ module Aws::CostExplorer
3113
3205
  # The token to retrieve the next set of results. Amazon Web Services
3114
3206
  # provides the token when the response from a previous call has more
3115
3207
  # results than the maximum page size.
3116
- #
3117
- # You can use this information to retrieve the full Cost Category
3118
- # information using `DescribeCostCategory`.
3119
3208
  # @return [String]
3120
3209
  #
3210
+ # @!attribute [rw] max_results
3211
+ # The number of entries a paginated response contains.
3212
+ # @return [Integer]
3213
+ #
3121
3214
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostCategoryDefinitionsRequest AWS API Documentation
3122
3215
  #
3123
3216
  class ListCostCategoryDefinitionsRequest < Struct.new(
3124
3217
  :effective_on,
3125
- :next_token)
3218
+ :next_token,
3219
+ :max_results)
3126
3220
  include Aws::Structure
3127
3221
  end
3128
3222
 
@@ -3561,7 +3655,7 @@ module Aws::CostExplorer
3561
3655
  include Aws::Structure
3562
3656
  end
3563
3657
 
3564
- # Information about this specific recommendation, such as the time stamp
3658
+ # Information about this specific recommendation, such as the timestamp
3565
3659
  # for when AWS made a specific recommendation.
3566
3660
  #
3567
3661
  # @!attribute [rw] recommendation_id
@@ -3569,7 +3663,7 @@ module Aws::CostExplorer
3569
3663
  # @return [String]
3570
3664
  #
3571
3665
  # @!attribute [rw] generation_timestamp
3572
- # The time stamp for when AWS made this recommendation.
3666
+ # The timestamp for when AWS made this recommendation.
3573
3667
  # @return [String]
3574
3668
  #
3575
3669
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ReservationPurchaseRecommendationMetadata AWS API Documentation
@@ -3734,6 +3828,40 @@ module Aws::CostExplorer
3734
3828
  include Aws::Structure
3735
3829
  end
3736
3830
 
3831
+ # Enables you to customize recommendations across two attributes. You
3832
+ # can choose to view recommendations for instances within the same
3833
+ # instance families or across different instance families. You can also
3834
+ # choose to view your estimated savings associated with recommendations
3835
+ # with consideration of existing Savings Plans or RI benefits, or
3836
+ # niether.
3837
+ #
3838
+ # @note When making an API call, you may pass RightsizingRecommendationConfiguration
3839
+ # data as a hash:
3840
+ #
3841
+ # {
3842
+ # recommendation_target: "SAME_INSTANCE_FAMILY", # required, accepts SAME_INSTANCE_FAMILY, CROSS_INSTANCE_FAMILY
3843
+ # benefits_considered: false, # required
3844
+ # }
3845
+ #
3846
+ # @!attribute [rw] recommendation_target
3847
+ # The option to see recommendations within the same instance family,
3848
+ # or recommendations for instances across other families. The default
3849
+ # value is `SAME_INSTANCE_FAMILY`.
3850
+ # @return [String]
3851
+ #
3852
+ # @!attribute [rw] benefits_considered
3853
+ # The option to consider RI or Savings Plans discount benefits in your
3854
+ # savings calculation. The default value is `TRUE`.
3855
+ # @return [Boolean]
3856
+ #
3857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RightsizingRecommendationConfiguration AWS API Documentation
3858
+ #
3859
+ class RightsizingRecommendationConfiguration < Struct.new(
3860
+ :recommendation_target,
3861
+ :benefits_considered)
3862
+ include Aws::Structure
3863
+ end
3864
+
3737
3865
  # Metadata for this recommendation set.
3738
3866
  #
3739
3867
  # @!attribute [rw] recommendation_id
@@ -3862,7 +3990,7 @@ module Aws::CostExplorer
3862
3990
  # @return [String]
3863
3991
  #
3864
3992
  # @!attribute [rw] coverage_percentage
3865
- # The percentage of your existing Savings Planscovered usage, divided
3993
+ # The percentage of your existing Savings Plans covered usage, divided
3866
3994
  # by all of your eligible Savings Plans usage in an account(or set of
3867
3995
  # accounts).
3868
3996
  # @return [String]
@@ -3904,6 +4032,14 @@ module Aws::CostExplorer
3904
4032
  # Contains your request parameters, Savings Plan Recommendations
3905
4033
  # Summary, and Details.
3906
4034
  #
4035
+ # @!attribute [rw] account_scope
4036
+ # The account scope that you want your recommendations for. Amazon Web
4037
+ # Services calculates recommendations including the payer account and
4038
+ # linked accounts if the value is set to `PAYER`. If the value is
4039
+ # `LINKED`, recommendations are calculated for individual linked
4040
+ # accounts only.
4041
+ # @return [String]
4042
+ #
3907
4043
  # @!attribute [rw] savings_plans_type
3908
4044
  # The requested Savings Plans recommendation type.
3909
4045
  # @return [String]
@@ -3922,8 +4058,8 @@ module Aws::CostExplorer
3922
4058
  # @return [String]
3923
4059
  #
3924
4060
  # @!attribute [rw] savings_plans_purchase_recommendation_details
3925
- # Details for the Savings Plans we recommend you to purchase to cover
3926
- # existing, Savings Plans eligible workloads.
4061
+ # Details for the Savings Plans we recommend that you purchase to
4062
+ # cover existing Savings Plans eligible workloads.
3927
4063
  # @return [Array<Types::SavingsPlansPurchaseRecommendationDetail>]
3928
4064
  #
3929
4065
  # @!attribute [rw] savings_plans_purchase_recommendation_summary
@@ -3933,6 +4069,7 @@ module Aws::CostExplorer
3933
4069
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/SavingsPlansPurchaseRecommendation AWS API Documentation
3934
4070
  #
3935
4071
  class SavingsPlansPurchaseRecommendation < Struct.new(
4072
+ :account_scope,
3936
4073
  :savings_plans_type,
3937
4074
  :term_in_years,
3938
4075
  :payment_option,
@@ -4340,6 +4477,7 @@ module Aws::CostExplorer
4340
4477
  # {
4341
4478
  # key: "TagKey",
4342
4479
  # values: ["Value"],
4480
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4343
4481
  # }
4344
4482
  #
4345
4483
  # @!attribute [rw] key
@@ -4350,11 +4488,19 @@ module Aws::CostExplorer
4350
4488
  # The specific value of the tag.
4351
4489
  # @return [Array<String>]
4352
4490
  #
4491
+ # @!attribute [rw] match_options
4492
+ # The match options that you can use to filter your results.
4493
+ # `MatchOptions` is only applicable for only applicable for actions
4494
+ # related to Cost Category. The default values for `MatchOptions` is
4495
+ # `EQUALS` and `CASE_SENSITIVE`.
4496
+ # @return [Array<String>]
4497
+ #
4353
4498
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TagValues AWS API Documentation
4354
4499
  #
4355
4500
  class TagValues < Struct.new(
4356
4501
  :key,
4357
- :values)
4502
+ :values,
4503
+ :match_options)
4358
4504
  include Aws::Structure
4359
4505
  end
4360
4506
 
@@ -4455,12 +4601,14 @@ module Aws::CostExplorer
4455
4601
  # # recursive Expression
4456
4602
  # },
4457
4603
  # dimensions: {
4458
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
4604
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
4459
4605
  # values: ["Value"],
4606
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4460
4607
  # },
4461
4608
  # tags: {
4462
4609
  # key: "TagKey",
4463
4610
  # values: ["Value"],
4611
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4464
4612
  # },
4465
4613
  # cost_categories: {
4466
4614
  # key: "CostCategoryName",
@@ -4480,16 +4628,12 @@ module Aws::CostExplorer
4480
4628
  # @return [String]
4481
4629
  #
4482
4630
  # @!attribute [rw] rules
4483
- # `UpdateCostCategoryDefinition` supports dimensions, Tags, and nested
4484
- # expressions. Currently the only dimensions supported is
4485
- # `LINKED_ACCOUNT`.
4631
+ # The `Expression` object used to categorize costs. For more
4632
+ # information, see [CostCategoryRule ][1].
4486
4633
  #
4487
- # Root level `OR` is not supported. We recommend you create a separate
4488
- # rule instead.
4489
4634
  #
4490
- # Rules are processed in order. If there are multiple rules that match
4491
- # the line item, then the first rule to match is used to determine
4492
- # that Cost Category value.
4635
+ #
4636
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategoryRule.html
4493
4637
  # @return [Array<Types::CostCategoryRule>]
4494
4638
  #
4495
4639
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateCostCategoryDefinitionRequest AWS API Documentation