aws-sdk-costexplorer 1.54.0 → 1.59.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.59.0
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-costexplorer/customizations'
48
48
  # @!group service
49
49
  module Aws::CostExplorer
50
50
 
51
- GEM_VERSION = '1.54.0'
51
+ GEM_VERSION = '1.59.0'
52
52
 
53
53
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -373,19 +373,19 @@ module Aws::CostExplorer
373
373
  # # recursive Expression
374
374
  # },
375
375
  # dimensions: {
376
- # 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
376
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
377
377
  # values: ["Value"],
378
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
378
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
379
379
  # },
380
380
  # tags: {
381
381
  # key: "TagKey",
382
382
  # values: ["Value"],
383
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
383
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
384
384
  # },
385
385
  # cost_categories: {
386
386
  # key: "CostCategoryName",
387
387
  # values: ["Value"],
388
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
388
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
389
389
  # },
390
390
  # },
391
391
  # dimensional_value_count: 1,
@@ -494,19 +494,19 @@ module Aws::CostExplorer
494
494
  # # recursive Expression
495
495
  # },
496
496
  # dimensions: {
497
- # 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
497
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
498
498
  # values: ["Value"],
499
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
499
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
500
500
  # },
501
501
  # tags: {
502
502
  # key: "TagKey",
503
503
  # values: ["Value"],
504
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
504
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
505
505
  # },
506
506
  # cost_categories: {
507
507
  # key: "CostCategoryName",
508
508
  # values: ["Value"],
509
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
509
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
510
510
  # },
511
511
  # },
512
512
  # },
@@ -644,21 +644,21 @@ module Aws::CostExplorer
644
644
  # resp.cost_category.rules[0].rule.and #=> Array
645
645
  # resp.cost_category.rules[0].rule.and[0] #=> Types::Expression
646
646
  # resp.cost_category.rules[0].rule.not #=> Types::Expression
647
- # resp.cost_category.rules[0].rule.dimensions.key #=> String, one of "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"
647
+ # resp.cost_category.rules[0].rule.dimensions.key #=> String, one of "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", "AGREEMENT_END_DATE_TIME_AFTER", "AGREEMENT_END_DATE_TIME_BEFORE"
648
648
  # resp.cost_category.rules[0].rule.dimensions.values #=> Array
649
649
  # resp.cost_category.rules[0].rule.dimensions.values[0] #=> String
650
650
  # resp.cost_category.rules[0].rule.dimensions.match_options #=> Array
651
- # resp.cost_category.rules[0].rule.dimensions.match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
651
+ # resp.cost_category.rules[0].rule.dimensions.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
652
652
  # resp.cost_category.rules[0].rule.tags.key #=> String
653
653
  # resp.cost_category.rules[0].rule.tags.values #=> Array
654
654
  # resp.cost_category.rules[0].rule.tags.values[0] #=> String
655
655
  # resp.cost_category.rules[0].rule.tags.match_options #=> Array
656
- # resp.cost_category.rules[0].rule.tags.match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
656
+ # resp.cost_category.rules[0].rule.tags.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
657
657
  # resp.cost_category.rules[0].rule.cost_categories.key #=> String
658
658
  # resp.cost_category.rules[0].rule.cost_categories.values #=> Array
659
659
  # resp.cost_category.rules[0].rule.cost_categories.values[0] #=> String
660
660
  # resp.cost_category.rules[0].rule.cost_categories.match_options #=> Array
661
- # resp.cost_category.rules[0].rule.cost_categories.match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
661
+ # resp.cost_category.rules[0].rule.cost_categories.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
662
662
  # resp.cost_category.processing_status #=> Array
663
663
  # resp.cost_category.processing_status[0].component #=> String, one of "COST_EXPLORER"
664
664
  # resp.cost_category.processing_status[0].status #=> String, one of "PROCESSING", "APPLIED"
@@ -795,21 +795,21 @@ module Aws::CostExplorer
795
795
  # resp.anomaly_monitors[0].monitor_specification.and #=> Array
796
796
  # resp.anomaly_monitors[0].monitor_specification.and[0] #=> Types::Expression
797
797
  # resp.anomaly_monitors[0].monitor_specification.not #=> Types::Expression
798
- # resp.anomaly_monitors[0].monitor_specification.dimensions.key #=> String, one of "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"
798
+ # resp.anomaly_monitors[0].monitor_specification.dimensions.key #=> String, one of "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", "AGREEMENT_END_DATE_TIME_AFTER", "AGREEMENT_END_DATE_TIME_BEFORE"
799
799
  # resp.anomaly_monitors[0].monitor_specification.dimensions.values #=> Array
800
800
  # resp.anomaly_monitors[0].monitor_specification.dimensions.values[0] #=> String
801
801
  # resp.anomaly_monitors[0].monitor_specification.dimensions.match_options #=> Array
802
- # resp.anomaly_monitors[0].monitor_specification.dimensions.match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
802
+ # resp.anomaly_monitors[0].monitor_specification.dimensions.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
803
803
  # resp.anomaly_monitors[0].monitor_specification.tags.key #=> String
804
804
  # resp.anomaly_monitors[0].monitor_specification.tags.values #=> Array
805
805
  # resp.anomaly_monitors[0].monitor_specification.tags.values[0] #=> String
806
806
  # resp.anomaly_monitors[0].monitor_specification.tags.match_options #=> Array
807
- # resp.anomaly_monitors[0].monitor_specification.tags.match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
807
+ # resp.anomaly_monitors[0].monitor_specification.tags.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
808
808
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.key #=> String
809
809
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.values #=> Array
810
810
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.values[0] #=> String
811
811
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.match_options #=> Array
812
- # resp.anomaly_monitors[0].monitor_specification.cost_categories.match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
812
+ # resp.anomaly_monitors[0].monitor_specification.cost_categories.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
813
813
  # resp.anomaly_monitors[0].dimensional_value_count #=> Integer
814
814
  # resp.next_page_token #=> String
815
815
  #
@@ -965,6 +965,7 @@ module Aws::CostExplorer
965
965
  # * {Types::GetCostAndUsageResponse#next_page_token #next_page_token} => String
966
966
  # * {Types::GetCostAndUsageResponse#group_definitions #group_definitions} => Array<Types::GroupDefinition>
967
967
  # * {Types::GetCostAndUsageResponse#results_by_time #results_by_time} => Array<Types::ResultByTime>
968
+ # * {Types::GetCostAndUsageResponse#dimension_value_attributes #dimension_value_attributes} => Array<Types::DimensionValuesWithAttributes>
968
969
  #
969
970
  # @example Request syntax with placeholder values
970
971
  #
@@ -989,19 +990,19 @@ module Aws::CostExplorer
989
990
  # # recursive Expression
990
991
  # },
991
992
  # dimensions: {
992
- # 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
993
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
993
994
  # values: ["Value"],
994
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
995
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
995
996
  # },
996
997
  # tags: {
997
998
  # key: "TagKey",
998
999
  # values: ["Value"],
999
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1000
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1000
1001
  # },
1001
1002
  # cost_categories: {
1002
1003
  # key: "CostCategoryName",
1003
1004
  # values: ["Value"],
1004
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1005
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1005
1006
  # },
1006
1007
  # },
1007
1008
  # metrics: ["MetricName"], # required
@@ -1033,6 +1034,10 @@ module Aws::CostExplorer
1033
1034
  # resp.results_by_time[0].groups[0].metrics["MetricName"].amount #=> String
1034
1035
  # resp.results_by_time[0].groups[0].metrics["MetricName"].unit #=> String
1035
1036
  # resp.results_by_time[0].estimated #=> Boolean
1037
+ # resp.dimension_value_attributes #=> Array
1038
+ # resp.dimension_value_attributes[0].value #=> String
1039
+ # resp.dimension_value_attributes[0].attributes #=> Hash
1040
+ # resp.dimension_value_attributes[0].attributes["AttributeType"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1036
1041
  #
1037
1042
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage AWS API Documentation
1038
1043
  #
@@ -1133,6 +1138,7 @@ module Aws::CostExplorer
1133
1138
  # * {Types::GetCostAndUsageWithResourcesResponse#next_page_token #next_page_token} => String
1134
1139
  # * {Types::GetCostAndUsageWithResourcesResponse#group_definitions #group_definitions} => Array&lt;Types::GroupDefinition&gt;
1135
1140
  # * {Types::GetCostAndUsageWithResourcesResponse#results_by_time #results_by_time} => Array&lt;Types::ResultByTime&gt;
1141
+ # * {Types::GetCostAndUsageWithResourcesResponse#dimension_value_attributes #dimension_value_attributes} => Array&lt;Types::DimensionValuesWithAttributes&gt;
1136
1142
  #
1137
1143
  # @example Request syntax with placeholder values
1138
1144
  #
@@ -1157,19 +1163,19 @@ module Aws::CostExplorer
1157
1163
  # # recursive Expression
1158
1164
  # },
1159
1165
  # dimensions: {
1160
- # 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
1166
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1161
1167
  # values: ["Value"],
1162
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1168
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1163
1169
  # },
1164
1170
  # tags: {
1165
1171
  # key: "TagKey",
1166
1172
  # values: ["Value"],
1167
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1173
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1168
1174
  # },
1169
1175
  # cost_categories: {
1170
1176
  # key: "CostCategoryName",
1171
1177
  # values: ["Value"],
1172
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1178
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1173
1179
  # },
1174
1180
  # },
1175
1181
  # metrics: ["MetricName"],
@@ -1201,6 +1207,10 @@ module Aws::CostExplorer
1201
1207
  # resp.results_by_time[0].groups[0].metrics["MetricName"].amount #=> String
1202
1208
  # resp.results_by_time[0].groups[0].metrics["MetricName"].unit #=> String
1203
1209
  # resp.results_by_time[0].estimated #=> Boolean
1210
+ # resp.dimension_value_attributes #=> Array
1211
+ # resp.dimension_value_attributes[0].value #=> String
1212
+ # resp.dimension_value_attributes[0].attributes #=> Hash
1213
+ # resp.dimension_value_attributes[0].attributes["AttributeType"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1204
1214
  #
1205
1215
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsageWithResources AWS API Documentation
1206
1216
  #
@@ -1211,6 +1221,197 @@ module Aws::CostExplorer
1211
1221
  req.send_request(options)
1212
1222
  end
1213
1223
 
1224
+ # Retrieves an array of Cost Category names and values incurred cost.
1225
+ #
1226
+ # <note markdown="1"> If some Cost Category names and values are not associated with any
1227
+ # cost, they will not be returned by this API.
1228
+ #
1229
+ # </note>
1230
+ #
1231
+ # @option params [String] :search_string
1232
+ # The value that you want to search the filter values for.
1233
+ #
1234
+ # If you do not specify a `CostCategoryName`, `SearchString` will be
1235
+ # used to filter Cost Category names that match the `SearchString`
1236
+ # pattern. If you do specifiy a `CostCategoryName`, `SearchString` will
1237
+ # be used to filter Cost Category values that match the `SearchString`
1238
+ # pattern.
1239
+ #
1240
+ # @option params [required, Types::DateInterval] :time_period
1241
+ # The time period of the request.
1242
+ #
1243
+ # @option params [String] :cost_category_name
1244
+ # The unique name of the Cost Category.
1245
+ #
1246
+ # @option params [Types::Expression] :filter
1247
+ # Use `Expression` to filter by cost or by usage. There are two
1248
+ # patterns:
1249
+ #
1250
+ # * Simple dimension values - You can set the dimension name and values
1251
+ # for the filters that you plan to use. For example, you can filter
1252
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
1253
+ # `GetRightsizingRecommendation`, the Region is a full name (for
1254
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
1255
+ # looks like:
1256
+ #
1257
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1258
+ # “us-west-1” ] \} \}`
1259
+ #
1260
+ # The list of dimension values are OR'd together to retrieve cost or
1261
+ # usage data. You can create `Expression` and `DimensionValues`
1262
+ # objects using either `with*` methods or `set*` methods in multiple
1263
+ # lines.
1264
+ #
1265
+ # * Compound dimension values with logical operations - You can use
1266
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
1267
+ # to create a list of one or more `Expression` objects. This allows
1268
+ # you to filter on more advanced options. For example, you can filter
1269
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1270
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1271
+ # looks like this:
1272
+ #
1273
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1274
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1275
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1276
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
1277
+ #
1278
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
1279
+ # returns an error if more than one is specified. The following
1280
+ # example shows an `Expression` object that creates an error.
1281
+ #
1282
+ # </note>
1283
+ #
1284
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
1285
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
1286
+ #
1287
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
1288
+ # NOT is not supported. OR is not supported between different
1289
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
1290
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
1291
+ # `RIGHTSIZING_TYPE`.
1292
+ #
1293
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
1294
+ # supported. AND and OR are not supported. Dimensions are limited to
1295
+ # `LINKED_ACCOUNT`.
1296
+ #
1297
+ # </note>
1298
+ #
1299
+ # @option params [Array<Types::SortDefinition>] :sort_by
1300
+ # The value by which you want to sort the data.
1301
+ #
1302
+ # The key represents cost and usage metrics. The following values are
1303
+ # supported:
1304
+ #
1305
+ # * `BlendedCost`
1306
+ #
1307
+ # * `UnblendedCost`
1308
+ #
1309
+ # * `AmortizedCost`
1310
+ #
1311
+ # * `NetAmortizedCost`
1312
+ #
1313
+ # * `NetUnblendedCost`
1314
+ #
1315
+ # * `UsageQuantity`
1316
+ #
1317
+ # * `NormalizedUsageAmount`
1318
+ #
1319
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
1320
+ #
1321
+ # When using `SortBy`, `NextPageToken` and `SearchString` are not
1322
+ # supported.
1323
+ #
1324
+ # @option params [Integer] :max_results
1325
+ # This field is only used when `SortBy` is provided in the request.
1326
+ #
1327
+ # The maximum number of objects that to be returned for this request. If
1328
+ # `MaxResults` is not specified with `SortBy`, the request will return
1329
+ # 1000 results as the default value for this parameter.
1330
+ #
1331
+ # For `GetCostCategories`, MaxResults has an upper limit of 1000.
1332
+ #
1333
+ # @option params [String] :next_page_token
1334
+ # If the number of objects that are still available for retrieval
1335
+ # exceeds the limit, AWS returns a NextPageToken value in the response.
1336
+ # To retrieve the next batch of objects, provide the NextPageToken from
1337
+ # the prior call in your next request.
1338
+ #
1339
+ # @return [Types::GetCostCategoriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1340
+ #
1341
+ # * {Types::GetCostCategoriesResponse#next_page_token #next_page_token} => String
1342
+ # * {Types::GetCostCategoriesResponse#cost_category_names #cost_category_names} => Array&lt;String&gt;
1343
+ # * {Types::GetCostCategoriesResponse#cost_category_values #cost_category_values} => Array&lt;String&gt;
1344
+ # * {Types::GetCostCategoriesResponse#return_size #return_size} => Integer
1345
+ # * {Types::GetCostCategoriesResponse#total_size #total_size} => Integer
1346
+ #
1347
+ # @example Request syntax with placeholder values
1348
+ #
1349
+ # resp = client.get_cost_categories({
1350
+ # search_string: "SearchString",
1351
+ # time_period: { # required
1352
+ # start: "YearMonthDay", # required
1353
+ # end: "YearMonthDay", # required
1354
+ # },
1355
+ # cost_category_name: "CostCategoryName",
1356
+ # filter: {
1357
+ # or: [
1358
+ # {
1359
+ # # recursive Expression
1360
+ # },
1361
+ # ],
1362
+ # and: [
1363
+ # {
1364
+ # # recursive Expression
1365
+ # },
1366
+ # ],
1367
+ # not: {
1368
+ # # recursive Expression
1369
+ # },
1370
+ # dimensions: {
1371
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1372
+ # values: ["Value"],
1373
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1374
+ # },
1375
+ # tags: {
1376
+ # key: "TagKey",
1377
+ # values: ["Value"],
1378
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1379
+ # },
1380
+ # cost_categories: {
1381
+ # key: "CostCategoryName",
1382
+ # values: ["Value"],
1383
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1384
+ # },
1385
+ # },
1386
+ # sort_by: [
1387
+ # {
1388
+ # key: "SortDefinitionKey", # required
1389
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1390
+ # },
1391
+ # ],
1392
+ # max_results: 1,
1393
+ # next_page_token: "NextPageToken",
1394
+ # })
1395
+ #
1396
+ # @example Response structure
1397
+ #
1398
+ # resp.next_page_token #=> String
1399
+ # resp.cost_category_names #=> Array
1400
+ # resp.cost_category_names[0] #=> String
1401
+ # resp.cost_category_values #=> Array
1402
+ # resp.cost_category_values[0] #=> String
1403
+ # resp.return_size #=> Integer
1404
+ # resp.total_size #=> Integer
1405
+ #
1406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostCategories AWS API Documentation
1407
+ #
1408
+ # @overload get_cost_categories(params = {})
1409
+ # @param [Hash] params ({})
1410
+ def get_cost_categories(params = {}, options = {})
1411
+ req = build_request(:get_cost_categories, params)
1412
+ req.send_request(options)
1413
+ end
1414
+
1214
1415
  # Retrieves a forecast for how much Amazon Web Services predicts that
1215
1416
  # you will spend over the forecast time period that you select, based on
1216
1417
  # your past costs.
@@ -1249,8 +1450,54 @@ module Aws::CostExplorer
1249
1450
  # granularities.
1250
1451
  #
1251
1452
  # @option params [Types::Expression] :filter
1252
- # The filters that you want to use to filter your forecast. Cost
1253
- # Explorer API supports all of the Cost Explorer filters.
1453
+ # The filters that you want to use to filter your forecast. The
1454
+ # `GetCostForecast` API supports filtering by the following dimensions:
1455
+ #
1456
+ # * `AZ`
1457
+ #
1458
+ # * `INSTANCE_TYPE`
1459
+ #
1460
+ # * `LINKED_ACCOUNT`
1461
+ #
1462
+ # * `LINKED_ACCOUNT_NAME`
1463
+ #
1464
+ # * `OPERATION`
1465
+ #
1466
+ # * `PURCHASE_TYPE`
1467
+ #
1468
+ # * `REGION`
1469
+ #
1470
+ # * `SERVICE`
1471
+ #
1472
+ # * `USAGE_TYPE`
1473
+ #
1474
+ # * `USAGE_TYPE_GROUP`
1475
+ #
1476
+ # * `RECORD_TYPE`
1477
+ #
1478
+ # * `OPERATING_SYSTEM`
1479
+ #
1480
+ # * `TENANCY`
1481
+ #
1482
+ # * `SCOPE`
1483
+ #
1484
+ # * `PLATFORM`
1485
+ #
1486
+ # * `SUBSCRIPTION_ID`
1487
+ #
1488
+ # * `LEGAL_ENTITY_NAME`
1489
+ #
1490
+ # * `DEPLOYMENT_OPTION`
1491
+ #
1492
+ # * `DATABASE_ENGINE`
1493
+ #
1494
+ # * `INSTANCE_TYPE_FAMILY`
1495
+ #
1496
+ # * `BILLING_ENTITY`
1497
+ #
1498
+ # * `RESERVATION_ID`
1499
+ #
1500
+ # * `SAVINGS_PLAN_ARN`
1254
1501
  #
1255
1502
  # @option params [Integer] :prediction_interval_level
1256
1503
  # Cost Explorer always returns the mean forecast as a single point. You
@@ -1289,19 +1536,19 @@ module Aws::CostExplorer
1289
1536
  # # recursive Expression
1290
1537
  # },
1291
1538
  # dimensions: {
1292
- # 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
1539
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1293
1540
  # values: ["Value"],
1294
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1541
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1295
1542
  # },
1296
1543
  # tags: {
1297
1544
  # key: "TagKey",
1298
1545
  # values: ["Value"],
1299
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1546
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1300
1547
  # },
1301
1548
  # cost_categories: {
1302
1549
  # key: "CostCategoryName",
1303
1550
  # values: ["Value"],
1304
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1551
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1305
1552
  # },
1306
1553
  # },
1307
1554
  # prediction_interval_level: 1,
@@ -1455,6 +1702,93 @@ module Aws::CostExplorer
1455
1702
  #
1456
1703
  # * SAVINGS\_PLAN\_ARN - The unique identifier for your Savings Plan
1457
1704
  #
1705
+ # @option params [Types::Expression] :filter
1706
+ # Use `Expression` to filter by cost or by usage. There are two
1707
+ # patterns:
1708
+ #
1709
+ # * Simple dimension values - You can set the dimension name and values
1710
+ # for the filters that you plan to use. For example, you can filter
1711
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
1712
+ # `GetRightsizingRecommendation`, the Region is a full name (for
1713
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
1714
+ # looks like:
1715
+ #
1716
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1717
+ # “us-west-1” ] \} \}`
1718
+ #
1719
+ # The list of dimension values are OR'd together to retrieve cost or
1720
+ # usage data. You can create `Expression` and `DimensionValues`
1721
+ # objects using either `with*` methods or `set*` methods in multiple
1722
+ # lines.
1723
+ #
1724
+ # * Compound dimension values with logical operations - You can use
1725
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
1726
+ # to create a list of one or more `Expression` objects. This allows
1727
+ # you to filter on more advanced options. For example, you can filter
1728
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1729
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1730
+ # looks like this:
1731
+ #
1732
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1733
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1734
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1735
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
1736
+ #
1737
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
1738
+ # returns an error if more than one is specified. The following
1739
+ # example shows an `Expression` object that creates an error.
1740
+ #
1741
+ # </note>
1742
+ #
1743
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
1744
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
1745
+ #
1746
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
1747
+ # NOT is not supported. OR is not supported between different
1748
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
1749
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
1750
+ # `RIGHTSIZING_TYPE`.
1751
+ #
1752
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
1753
+ # supported. AND and OR are not supported. Dimensions are limited to
1754
+ # `LINKED_ACCOUNT`.
1755
+ #
1756
+ # </note>
1757
+ #
1758
+ # @option params [Array<Types::SortDefinition>] :sort_by
1759
+ # The value by which you want to sort the data.
1760
+ #
1761
+ # The key represents cost and usage metrics. The following values are
1762
+ # supported:
1763
+ #
1764
+ # * `BlendedCost`
1765
+ #
1766
+ # * `UnblendedCost`
1767
+ #
1768
+ # * `AmortizedCost`
1769
+ #
1770
+ # * `NetAmortizedCost`
1771
+ #
1772
+ # * `NetUnblendedCost`
1773
+ #
1774
+ # * `UsageQuantity`
1775
+ #
1776
+ # * `NormalizedUsageAmount`
1777
+ #
1778
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
1779
+ #
1780
+ # When you specify a `SortBy` paramater, the context must be
1781
+ # `COST_AND_USAGE`. Further, when using `SortBy`, `NextPageToken` and
1782
+ # `SearchString` are not supported.
1783
+ #
1784
+ # @option params [Integer] :max_results
1785
+ # This field is only used when SortBy is provided in the request. The
1786
+ # maximum number of objects that to be returned for this request. If
1787
+ # MaxResults is not specified with SortBy, the request will return 1000
1788
+ # results as the default value for this parameter.
1789
+ #
1790
+ # For `GetDimensionValues`, MaxResults has an upper limit of 1000.
1791
+ #
1458
1792
  # @option params [String] :next_page_token
1459
1793
  # The token to retrieve the next set of results. AWS provides the token
1460
1794
  # when the response from a previous call has more results than the
@@ -1475,8 +1809,45 @@ module Aws::CostExplorer
1475
1809
  # start: "YearMonthDay", # required
1476
1810
  # end: "YearMonthDay", # required
1477
1811
  # },
1478
- # 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
1812
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1479
1813
  # context: "COST_AND_USAGE", # accepts COST_AND_USAGE, RESERVATIONS, SAVINGS_PLANS
1814
+ # filter: {
1815
+ # or: [
1816
+ # {
1817
+ # # recursive Expression
1818
+ # },
1819
+ # ],
1820
+ # and: [
1821
+ # {
1822
+ # # recursive Expression
1823
+ # },
1824
+ # ],
1825
+ # not: {
1826
+ # # recursive Expression
1827
+ # },
1828
+ # dimensions: {
1829
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1830
+ # values: ["Value"],
1831
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1832
+ # },
1833
+ # tags: {
1834
+ # key: "TagKey",
1835
+ # values: ["Value"],
1836
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1837
+ # },
1838
+ # cost_categories: {
1839
+ # key: "CostCategoryName",
1840
+ # values: ["Value"],
1841
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1842
+ # },
1843
+ # },
1844
+ # sort_by: [
1845
+ # {
1846
+ # key: "SortDefinitionKey", # required
1847
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1848
+ # },
1849
+ # ],
1850
+ # max_results: 1,
1480
1851
  # next_page_token: "NextPageToken",
1481
1852
  # })
1482
1853
  #
@@ -1631,6 +2002,39 @@ module Aws::CostExplorer
1631
2002
  # when the response from a previous call has more results than the
1632
2003
  # maximum page size.
1633
2004
  #
2005
+ # @option params [Types::SortDefinition] :sort_by
2006
+ # The value by which you want to sort the data.
2007
+ #
2008
+ # The following values are supported for `Key`\:
2009
+ #
2010
+ # * `OnDemandCost`
2011
+ #
2012
+ # * `CoverageHoursPercentage`
2013
+ #
2014
+ # * `OnDemandHours`
2015
+ #
2016
+ # * `ReservedHours`
2017
+ #
2018
+ # * `TotalRunningHours`
2019
+ #
2020
+ # * `CoverageNormalizedUnitsPercentage`
2021
+ #
2022
+ # * `OnDemandNormalizedUnits`
2023
+ #
2024
+ # * `ReservedNormalizedUnits`
2025
+ #
2026
+ # * `TotalRunningNormalizedUnits`
2027
+ #
2028
+ # * `Time`
2029
+ #
2030
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
2031
+ #
2032
+ # @option params [Integer] :max_results
2033
+ # The maximum number of objects that you returned for this request. If
2034
+ # more objects are available, in the response, AWS provides a
2035
+ # NextPageToken value that you can use in a subsequent call to get the
2036
+ # next batch of objects.
2037
+ #
1634
2038
  # @return [Types::GetReservationCoverageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1635
2039
  #
1636
2040
  # * {Types::GetReservationCoverageResponse#coverages_by_time #coverages_by_time} => Array&lt;Types::CoverageByTime&gt;
@@ -1666,23 +2070,28 @@ module Aws::CostExplorer
1666
2070
  # # recursive Expression
1667
2071
  # },
1668
2072
  # dimensions: {
1669
- # 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
2073
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1670
2074
  # values: ["Value"],
1671
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2075
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1672
2076
  # },
1673
2077
  # tags: {
1674
2078
  # key: "TagKey",
1675
2079
  # values: ["Value"],
1676
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2080
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1677
2081
  # },
1678
2082
  # cost_categories: {
1679
2083
  # key: "CostCategoryName",
1680
2084
  # values: ["Value"],
1681
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2085
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1682
2086
  # },
1683
2087
  # },
1684
2088
  # metrics: ["MetricName"],
1685
2089
  # next_page_token: "NextPageToken",
2090
+ # sort_by: {
2091
+ # key: "SortDefinitionKey", # required
2092
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2093
+ # },
2094
+ # max_results: 1,
1686
2095
  # })
1687
2096
  #
1688
2097
  # @example Response structure
@@ -1758,6 +2167,59 @@ module Aws::CostExplorer
1758
2167
  # @option params [required, String] :service
1759
2168
  # The specific service that you want recommendations for.
1760
2169
  #
2170
+ # @option params [Types::Expression] :filter
2171
+ # Use `Expression` to filter by cost or by usage. There are two
2172
+ # patterns:
2173
+ #
2174
+ # * Simple dimension values - You can set the dimension name and values
2175
+ # for the filters that you plan to use. For example, you can filter
2176
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
2177
+ # `GetRightsizingRecommendation`, the Region is a full name (for
2178
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
2179
+ # looks like:
2180
+ #
2181
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2182
+ # “us-west-1” ] \} \}`
2183
+ #
2184
+ # The list of dimension values are OR'd together to retrieve cost or
2185
+ # usage data. You can create `Expression` and `DimensionValues`
2186
+ # objects using either `with*` methods or `set*` methods in multiple
2187
+ # lines.
2188
+ #
2189
+ # * Compound dimension values with logical operations - You can use
2190
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
2191
+ # to create a list of one or more `Expression` objects. This allows
2192
+ # you to filter on more advanced options. For example, you can filter
2193
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
2194
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
2195
+ # looks like this:
2196
+ #
2197
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
2198
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
2199
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
2200
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
2201
+ #
2202
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
2203
+ # returns an error if more than one is specified. The following
2204
+ # example shows an `Expression` object that creates an error.
2205
+ #
2206
+ # </note>
2207
+ #
2208
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2209
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2210
+ #
2211
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2212
+ # NOT is not supported. OR is not supported between different
2213
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
2214
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
2215
+ # `RIGHTSIZING_TYPE`.
2216
+ #
2217
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
2218
+ # supported. AND and OR are not supported. Dimensions are limited to
2219
+ # `LINKED_ACCOUNT`.
2220
+ #
2221
+ # </note>
2222
+ #
1761
2223
  # @option params [String] :account_scope
1762
2224
  # The account scope that you want your recommendations for. Amazon Web
1763
2225
  # Services calculates recommendations including the management account
@@ -1799,6 +2261,36 @@ module Aws::CostExplorer
1799
2261
  # resp = client.get_reservation_purchase_recommendation({
1800
2262
  # account_id: "GenericString",
1801
2263
  # service: "GenericString", # required
2264
+ # filter: {
2265
+ # or: [
2266
+ # {
2267
+ # # recursive Expression
2268
+ # },
2269
+ # ],
2270
+ # and: [
2271
+ # {
2272
+ # # recursive Expression
2273
+ # },
2274
+ # ],
2275
+ # not: {
2276
+ # # recursive Expression
2277
+ # },
2278
+ # dimensions: {
2279
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2280
+ # values: ["Value"],
2281
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2282
+ # },
2283
+ # tags: {
2284
+ # key: "TagKey",
2285
+ # values: ["Value"],
2286
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2287
+ # },
2288
+ # cost_categories: {
2289
+ # key: "CostCategoryName",
2290
+ # values: ["Value"],
2291
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2292
+ # },
2293
+ # },
1802
2294
  # account_scope: "PAYER", # accepts PAYER, LINKED
1803
2295
  # lookback_period_in_days: "SEVEN_DAYS", # accepts SEVEN_DAYS, THIRTY_DAYS, SIXTY_DAYS
1804
2296
  # term_in_years: "ONE_YEAR", # accepts ONE_YEAR, THREE_YEARS
@@ -1948,11 +2440,58 @@ module Aws::CostExplorer
1948
2440
  #
1949
2441
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
1950
2442
  #
2443
+ # @option params [Types::SortDefinition] :sort_by
2444
+ # The value by which you want to sort the data.
2445
+ #
2446
+ # The following values are supported for `Key`\:
2447
+ #
2448
+ # * `UtilizationPercentage`
2449
+ #
2450
+ # * `UtilizationPercentageInUnits`
2451
+ #
2452
+ # * `PurchasedHours`
2453
+ #
2454
+ # * `PurchasedUnits`
2455
+ #
2456
+ # * `TotalActualHours`
2457
+ #
2458
+ # * `TotalActualUnits`
2459
+ #
2460
+ # * `UnusedHours`
2461
+ #
2462
+ # * `UnusedUnits`
2463
+ #
2464
+ # * `OnDemandCostOfRIHoursUsed`
2465
+ #
2466
+ # * `NetRISavings`
2467
+ #
2468
+ # * `TotalPotentialRISavings`
2469
+ #
2470
+ # * `AmortizedUpfrontFee`
2471
+ #
2472
+ # * `AmortizedRecurringFee`
2473
+ #
2474
+ # * `TotalAmortizedFee`
2475
+ #
2476
+ # * `RICostForUnusedHours`
2477
+ #
2478
+ # * `RealizedSavings`
2479
+ #
2480
+ # * `UnrealizedSavings`
2481
+ #
2482
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
2483
+ #
1951
2484
  # @option params [String] :next_page_token
1952
2485
  # The token to retrieve the next set of results. AWS provides the token
1953
2486
  # when the response from a previous call has more results than the
1954
2487
  # maximum page size.
1955
2488
  #
2489
+ # @option params [Integer] :max_results
2490
+ # The maximum number of objects that you returned for this request. If
2491
+ # more objects are available, in the response, AWS provides a
2492
+ # NextPageToken value that you can use in a subsequent call to get the
2493
+ # next batch of objects.
2494
+ #
1956
2495
  # @return [Types::GetReservationUtilizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1957
2496
  #
1958
2497
  # * {Types::GetReservationUtilizationResponse#utilizations_by_time #utilizations_by_time} => Array&lt;Types::UtilizationByTime&gt;
@@ -1988,22 +2527,27 @@ module Aws::CostExplorer
1988
2527
  # # recursive Expression
1989
2528
  # },
1990
2529
  # dimensions: {
1991
- # 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
2530
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1992
2531
  # values: ["Value"],
1993
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2532
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1994
2533
  # },
1995
2534
  # tags: {
1996
2535
  # key: "TagKey",
1997
2536
  # values: ["Value"],
1998
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2537
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1999
2538
  # },
2000
2539
  # cost_categories: {
2001
2540
  # key: "CostCategoryName",
2002
2541
  # values: ["Value"],
2003
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2542
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2004
2543
  # },
2005
2544
  # },
2545
+ # sort_by: {
2546
+ # key: "SortDefinitionKey", # required
2547
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2548
+ # },
2006
2549
  # next_page_token: "NextPageToken",
2550
+ # max_results: 1,
2007
2551
  # })
2008
2552
  #
2009
2553
  # @example Response structure
@@ -2030,6 +2574,9 @@ module Aws::CostExplorer
2030
2574
  # resp.utilizations_by_time[0].groups[0].utilization.amortized_upfront_fee #=> String
2031
2575
  # resp.utilizations_by_time[0].groups[0].utilization.amortized_recurring_fee #=> String
2032
2576
  # resp.utilizations_by_time[0].groups[0].utilization.total_amortized_fee #=> String
2577
+ # resp.utilizations_by_time[0].groups[0].utilization.ri_cost_for_unused_hours #=> String
2578
+ # resp.utilizations_by_time[0].groups[0].utilization.realized_savings #=> String
2579
+ # resp.utilizations_by_time[0].groups[0].utilization.unrealized_savings #=> String
2033
2580
  # resp.utilizations_by_time[0].total.utilization_percentage #=> String
2034
2581
  # resp.utilizations_by_time[0].total.utilization_percentage_in_units #=> String
2035
2582
  # resp.utilizations_by_time[0].total.purchased_hours #=> String
@@ -2044,6 +2591,9 @@ module Aws::CostExplorer
2044
2591
  # resp.utilizations_by_time[0].total.amortized_upfront_fee #=> String
2045
2592
  # resp.utilizations_by_time[0].total.amortized_recurring_fee #=> String
2046
2593
  # resp.utilizations_by_time[0].total.total_amortized_fee #=> String
2594
+ # resp.utilizations_by_time[0].total.ri_cost_for_unused_hours #=> String
2595
+ # resp.utilizations_by_time[0].total.realized_savings #=> String
2596
+ # resp.utilizations_by_time[0].total.unrealized_savings #=> String
2047
2597
  # resp.total.utilization_percentage #=> String
2048
2598
  # resp.total.utilization_percentage_in_units #=> String
2049
2599
  # resp.total.purchased_hours #=> String
@@ -2058,6 +2608,9 @@ module Aws::CostExplorer
2058
2608
  # resp.total.amortized_upfront_fee #=> String
2059
2609
  # resp.total.amortized_recurring_fee #=> String
2060
2610
  # resp.total.total_amortized_fee #=> String
2611
+ # resp.total.ri_cost_for_unused_hours #=> String
2612
+ # resp.total.realized_savings #=> String
2613
+ # resp.total.unrealized_savings #=> String
2061
2614
  # resp.next_page_token #=> String
2062
2615
  #
2063
2616
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization AWS API Documentation
@@ -2123,10 +2676,15 @@ module Aws::CostExplorer
2123
2676
  # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2124
2677
  # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2125
2678
  #
2126
- # <note markdown="1"> For `GetRightsizingRecommendation` action, a combination of OR and NOT
2127
- # is not supported. OR is not supported between different dimensions, or
2128
- # dimensions and tags. NOT operators aren't supported. Dimensions are
2129
- # also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.
2679
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2680
+ # NOT is not supported. OR is not supported between different
2681
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
2682
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
2683
+ # `RIGHTSIZING_TYPE`.
2684
+ #
2685
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
2686
+ # supported. AND and OR are not supported. Dimensions are limited to
2687
+ # `LINKED_ACCOUNT`.
2130
2688
  #
2131
2689
  # </note>
2132
2690
  #
@@ -2176,19 +2734,19 @@ module Aws::CostExplorer
2176
2734
  # # recursive Expression
2177
2735
  # },
2178
2736
  # dimensions: {
2179
- # 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
2737
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2180
2738
  # values: ["Value"],
2181
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2739
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2182
2740
  # },
2183
2741
  # tags: {
2184
2742
  # key: "TagKey",
2185
2743
  # values: ["Value"],
2186
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2744
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2187
2745
  # },
2188
2746
  # cost_categories: {
2189
2747
  # key: "CostCategoryName",
2190
2748
  # values: ["Value"],
2191
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2749
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2192
2750
  # },
2193
2751
  # },
2194
2752
  # configuration: {
@@ -2205,6 +2763,7 @@ module Aws::CostExplorer
2205
2763
  # resp.metadata.recommendation_id #=> String
2206
2764
  # resp.metadata.generation_timestamp #=> String
2207
2765
  # resp.metadata.lookback_period_in_days #=> String, one of "SEVEN_DAYS", "THIRTY_DAYS", "SIXTY_DAYS"
2766
+ # resp.metadata.additional_metadata #=> String
2208
2767
  # resp.summary.total_recommendation_count #=> String
2209
2768
  # resp.summary.estimated_total_monthly_savings_amount #=> String
2210
2769
  # resp.summary.savings_currency_code #=> String
@@ -2218,7 +2777,7 @@ module Aws::CostExplorer
2218
2777
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values #=> Array
2219
2778
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values[0] #=> String
2220
2779
  # resp.rightsizing_recommendations[0].current_instance.tags[0].match_options #=> Array
2221
- # resp.rightsizing_recommendations[0].current_instance.tags[0].match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
2780
+ # resp.rightsizing_recommendations[0].current_instance.tags[0].match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
2222
2781
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.hourly_on_demand_rate #=> String
2223
2782
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.instance_type #=> String
2224
2783
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.platform #=> String
@@ -2348,6 +2907,27 @@ module Aws::CostExplorer
2348
2907
  # The number of items to be returned in a response. The default is `20`,
2349
2908
  # with a minimum value of `1`.
2350
2909
  #
2910
+ # @option params [Types::SortDefinition] :sort_by
2911
+ # The value by which you want to sort the data.
2912
+ #
2913
+ # The following values are supported for `Key`\:
2914
+ #
2915
+ # * `SpendCoveredBySavingsPlan`
2916
+ #
2917
+ # * `OnDemandCost`
2918
+ #
2919
+ # * `CoveragePercentage`
2920
+ #
2921
+ # * `TotalCost`
2922
+ #
2923
+ # * `InstanceFamily`
2924
+ #
2925
+ # * `Region`
2926
+ #
2927
+ # * `Service`
2928
+ #
2929
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
2930
+ #
2351
2931
  # @return [Types::GetSavingsPlansCoverageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2352
2932
  #
2353
2933
  # * {Types::GetSavingsPlansCoverageResponse#savings_plans_coverages #savings_plans_coverages} => Array&lt;Types::SavingsPlansCoverage&gt;
@@ -2384,24 +2964,28 @@ module Aws::CostExplorer
2384
2964
  # # recursive Expression
2385
2965
  # },
2386
2966
  # dimensions: {
2387
- # 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
2967
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2388
2968
  # values: ["Value"],
2389
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2969
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2390
2970
  # },
2391
2971
  # tags: {
2392
2972
  # key: "TagKey",
2393
2973
  # values: ["Value"],
2394
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2974
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2395
2975
  # },
2396
2976
  # cost_categories: {
2397
2977
  # key: "CostCategoryName",
2398
2978
  # values: ["Value"],
2399
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2979
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2400
2980
  # },
2401
2981
  # },
2402
2982
  # metrics: ["MetricName"],
2403
2983
  # next_token: "NextPageToken",
2404
2984
  # max_results: 1,
2985
+ # sort_by: {
2986
+ # key: "SortDefinitionKey", # required
2987
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2988
+ # },
2405
2989
  # })
2406
2990
  #
2407
2991
  # @example Response structure
@@ -2503,19 +3087,19 @@ module Aws::CostExplorer
2503
3087
  # # recursive Expression
2504
3088
  # },
2505
3089
  # dimensions: {
2506
- # 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
3090
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2507
3091
  # values: ["Value"],
2508
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3092
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2509
3093
  # },
2510
3094
  # tags: {
2511
3095
  # key: "TagKey",
2512
3096
  # values: ["Value"],
2513
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3097
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2514
3098
  # },
2515
3099
  # cost_categories: {
2516
3100
  # key: "CostCategoryName",
2517
3101
  # values: ["Value"],
2518
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3102
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2519
3103
  # },
2520
3104
  # },
2521
3105
  # })
@@ -2619,6 +3203,23 @@ module Aws::CostExplorer
2619
3203
  #
2620
3204
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2621
3205
  #
3206
+ # @option params [Types::SortDefinition] :sort_by
3207
+ # The value by which you want to sort the data.
3208
+ #
3209
+ # The following values are supported for `Key`\:
3210
+ #
3211
+ # * `UtilizationPercentage`
3212
+ #
3213
+ # * `TotalCommitment`
3214
+ #
3215
+ # * `UsedCommitment`
3216
+ #
3217
+ # * `UnusedCommitment`
3218
+ #
3219
+ # * `NetSavings`
3220
+ #
3221
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3222
+ #
2622
3223
  # @return [Types::GetSavingsPlansUtilizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2623
3224
  #
2624
3225
  # * {Types::GetSavingsPlansUtilizationResponse#savings_plans_utilizations_by_time #savings_plans_utilizations_by_time} => Array&lt;Types::SavingsPlansUtilizationByTime&gt;
@@ -2647,21 +3248,25 @@ module Aws::CostExplorer
2647
3248
  # # recursive Expression
2648
3249
  # },
2649
3250
  # dimensions: {
2650
- # 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
3251
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2651
3252
  # values: ["Value"],
2652
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3253
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2653
3254
  # },
2654
3255
  # tags: {
2655
3256
  # key: "TagKey",
2656
3257
  # values: ["Value"],
2657
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3258
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2658
3259
  # },
2659
3260
  # cost_categories: {
2660
3261
  # key: "CostCategoryName",
2661
3262
  # values: ["Value"],
2662
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3263
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2663
3264
  # },
2664
3265
  # },
3266
+ # sort_by: {
3267
+ # key: "SortDefinitionKey", # required
3268
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3269
+ # },
2665
3270
  # })
2666
3271
  #
2667
3272
  # @example Response structure
@@ -2739,6 +3344,9 @@ module Aws::CostExplorer
2739
3344
  #
2740
3345
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2741
3346
  #
3347
+ # @option params [Array<String>] :data_type
3348
+ # The data type.
3349
+ #
2742
3350
  # @option params [String] :next_token
2743
3351
  # The token to retrieve the next set of results. Amazon Web Services
2744
3352
  # provides the token when the response from a previous call has more
@@ -2748,6 +3356,27 @@ module Aws::CostExplorer
2748
3356
  # The number of items to be returned in a response. The default is `20`,
2749
3357
  # with a minimum value of `1`.
2750
3358
  #
3359
+ # @option params [Types::SortDefinition] :sort_by
3360
+ # The value by which you want to sort the data.
3361
+ #
3362
+ # The following values are supported for `Key`\:
3363
+ #
3364
+ # * `UtilizationPercentage`
3365
+ #
3366
+ # * `TotalCommitment`
3367
+ #
3368
+ # * `UsedCommitment`
3369
+ #
3370
+ # * `UnusedCommitment`
3371
+ #
3372
+ # * `NetSavings`
3373
+ #
3374
+ # * `AmortizedRecurringCommitment`
3375
+ #
3376
+ # * `AmortizedUpfrontCommitment`
3377
+ #
3378
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3379
+ #
2751
3380
  # @return [Types::GetSavingsPlansUtilizationDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2752
3381
  #
2753
3382
  # * {Types::GetSavingsPlansUtilizationDetailsResponse#savings_plans_utilization_details #savings_plans_utilization_details} => Array&lt;Types::SavingsPlansUtilizationDetail&gt;
@@ -2779,23 +3408,28 @@ module Aws::CostExplorer
2779
3408
  # # recursive Expression
2780
3409
  # },
2781
3410
  # dimensions: {
2782
- # 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
3411
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2783
3412
  # values: ["Value"],
2784
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3413
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2785
3414
  # },
2786
3415
  # tags: {
2787
3416
  # key: "TagKey",
2788
3417
  # values: ["Value"],
2789
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3418
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2790
3419
  # },
2791
3420
  # cost_categories: {
2792
3421
  # key: "CostCategoryName",
2793
3422
  # values: ["Value"],
2794
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3423
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2795
3424
  # },
2796
3425
  # },
3426
+ # data_type: ["ATTRIBUTES"], # accepts ATTRIBUTES, UTILIZATION, AMORTIZED_COMMITMENT, SAVINGS
2797
3427
  # next_token: "NextPageToken",
2798
3428
  # max_results: 1,
3429
+ # sort_by: {
3430
+ # key: "SortDefinitionKey", # required
3431
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3432
+ # },
2799
3433
  # })
2800
3434
  #
2801
3435
  # @example Response structure
@@ -2851,6 +3485,92 @@ module Aws::CostExplorer
2851
3485
  # @option params [String] :tag_key
2852
3486
  # The key of the tag that you want to return values for.
2853
3487
  #
3488
+ # @option params [Types::Expression] :filter
3489
+ # Use `Expression` to filter by cost or by usage. There are two
3490
+ # patterns:
3491
+ #
3492
+ # * Simple dimension values - You can set the dimension name and values
3493
+ # for the filters that you plan to use. For example, you can filter
3494
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
3495
+ # `GetRightsizingRecommendation`, the Region is a full name (for
3496
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
3497
+ # looks like:
3498
+ #
3499
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
3500
+ # “us-west-1” ] \} \}`
3501
+ #
3502
+ # The list of dimension values are OR'd together to retrieve cost or
3503
+ # usage data. You can create `Expression` and `DimensionValues`
3504
+ # objects using either `with*` methods or `set*` methods in multiple
3505
+ # lines.
3506
+ #
3507
+ # * Compound dimension values with logical operations - You can use
3508
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
3509
+ # to create a list of one or more `Expression` objects. This allows
3510
+ # you to filter on more advanced options. For example, you can filter
3511
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
3512
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
3513
+ # looks like this:
3514
+ #
3515
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
3516
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
3517
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
3518
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
3519
+ #
3520
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
3521
+ # returns an error if more than one is specified. The following
3522
+ # example shows an `Expression` object that creates an error.
3523
+ #
3524
+ # </note>
3525
+ #
3526
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
3527
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
3528
+ #
3529
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
3530
+ # NOT is not supported. OR is not supported between different
3531
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
3532
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
3533
+ # `RIGHTSIZING_TYPE`.
3534
+ #
3535
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
3536
+ # supported. AND and OR are not supported. Dimensions are limited to
3537
+ # `LINKED_ACCOUNT`.
3538
+ #
3539
+ # </note>
3540
+ #
3541
+ # @option params [Array<Types::SortDefinition>] :sort_by
3542
+ # The value by which you want to sort the data.
3543
+ #
3544
+ # The key represents cost and usage metrics. The following values are
3545
+ # supported:
3546
+ #
3547
+ # * `BlendedCost`
3548
+ #
3549
+ # * `UnblendedCost`
3550
+ #
3551
+ # * `AmortizedCost`
3552
+ #
3553
+ # * `NetAmortizedCost`
3554
+ #
3555
+ # * `NetUnblendedCost`
3556
+ #
3557
+ # * `UsageQuantity`
3558
+ #
3559
+ # * `NormalizedUsageAmount`
3560
+ #
3561
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3562
+ #
3563
+ # When using `SortBy`, `NextPageToken` and `SearchString` are not
3564
+ # supported.
3565
+ #
3566
+ # @option params [Integer] :max_results
3567
+ # This field is only used when SortBy is provided in the request. The
3568
+ # maximum number of objects that to be returned for this request. If
3569
+ # MaxResults is not specified with SortBy, the request will return 1000
3570
+ # results as the default value for this parameter.
3571
+ #
3572
+ # For `GetTags`, MaxResults has an upper limit of 1000.
3573
+ #
2854
3574
  # @option params [String] :next_page_token
2855
3575
  # The token to retrieve the next set of results. AWS provides the token
2856
3576
  # when the response from a previous call has more results than the
@@ -2872,6 +3592,43 @@ module Aws::CostExplorer
2872
3592
  # end: "YearMonthDay", # required
2873
3593
  # },
2874
3594
  # tag_key: "TagKey",
3595
+ # filter: {
3596
+ # or: [
3597
+ # {
3598
+ # # recursive Expression
3599
+ # },
3600
+ # ],
3601
+ # and: [
3602
+ # {
3603
+ # # recursive Expression
3604
+ # },
3605
+ # ],
3606
+ # not: {
3607
+ # # recursive Expression
3608
+ # },
3609
+ # dimensions: {
3610
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
3611
+ # values: ["Value"],
3612
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3613
+ # },
3614
+ # tags: {
3615
+ # key: "TagKey",
3616
+ # values: ["Value"],
3617
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3618
+ # },
3619
+ # cost_categories: {
3620
+ # key: "CostCategoryName",
3621
+ # values: ["Value"],
3622
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3623
+ # },
3624
+ # },
3625
+ # sort_by: [
3626
+ # {
3627
+ # key: "SortDefinitionKey", # required
3628
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3629
+ # },
3630
+ # ],
3631
+ # max_results: 1,
2875
3632
  # next_page_token: "NextPageToken",
2876
3633
  # })
2877
3634
  #
@@ -2922,8 +3679,54 @@ module Aws::CostExplorer
2922
3679
  # granularities.
2923
3680
  #
2924
3681
  # @option params [Types::Expression] :filter
2925
- # The filters that you want to use to filter your forecast. Cost
2926
- # Explorer API supports all of the Cost Explorer filters.
3682
+ # The filters that you want to use to filter your forecast. The
3683
+ # `GetUsageForecast` API supports filtering by the following dimensions:
3684
+ #
3685
+ # * `AZ`
3686
+ #
3687
+ # * `INSTANCE_TYPE`
3688
+ #
3689
+ # * `LINKED_ACCOUNT`
3690
+ #
3691
+ # * `LINKED_ACCOUNT_NAME`
3692
+ #
3693
+ # * `OPERATION`
3694
+ #
3695
+ # * `PURCHASE_TYPE`
3696
+ #
3697
+ # * `REGION`
3698
+ #
3699
+ # * `SERVICE`
3700
+ #
3701
+ # * `USAGE_TYPE`
3702
+ #
3703
+ # * `USAGE_TYPE_GROUP`
3704
+ #
3705
+ # * `RECORD_TYPE`
3706
+ #
3707
+ # * `OPERATING_SYSTEM`
3708
+ #
3709
+ # * `TENANCY`
3710
+ #
3711
+ # * `SCOPE`
3712
+ #
3713
+ # * `PLATFORM`
3714
+ #
3715
+ # * `SUBSCRIPTION_ID`
3716
+ #
3717
+ # * `LEGAL_ENTITY_NAME`
3718
+ #
3719
+ # * `DEPLOYMENT_OPTION`
3720
+ #
3721
+ # * `DATABASE_ENGINE`
3722
+ #
3723
+ # * `INSTANCE_TYPE_FAMILY`
3724
+ #
3725
+ # * `BILLING_ENTITY`
3726
+ #
3727
+ # * `RESERVATION_ID`
3728
+ #
3729
+ # * `SAVINGS_PLAN_ARN`
2927
3730
  #
2928
3731
  # @option params [Integer] :prediction_interval_level
2929
3732
  # Cost Explorer always returns the mean forecast as a single point. You
@@ -2962,19 +3765,19 @@ module Aws::CostExplorer
2962
3765
  # # recursive Expression
2963
3766
  # },
2964
3767
  # dimensions: {
2965
- # 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
3768
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2966
3769
  # values: ["Value"],
2967
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3770
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2968
3771
  # },
2969
3772
  # tags: {
2970
3773
  # key: "TagKey",
2971
3774
  # values: ["Value"],
2972
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3775
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2973
3776
  # },
2974
3777
  # cost_categories: {
2975
3778
  # key: "CostCategoryName",
2976
3779
  # values: ["Value"],
2977
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3780
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2978
3781
  # },
2979
3782
  # },
2980
3783
  # prediction_interval_level: 1,
@@ -3138,7 +3941,7 @@ module Aws::CostExplorer
3138
3941
  # notifications.
3139
3942
  #
3140
3943
  # @option params [Array<String>] :monitor_arn_list
3141
- # A list of cost anomaly subscription ARNs.
3944
+ # A list of cost anomaly monitor ARNs.
3142
3945
  #
3143
3946
  # @option params [Array<Types::Subscriber>] :subscribers
3144
3947
  # The update to the subscriber list.
@@ -3227,19 +4030,19 @@ module Aws::CostExplorer
3227
4030
  # # recursive Expression
3228
4031
  # },
3229
4032
  # dimensions: {
3230
- # 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
4033
+ # 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, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
3231
4034
  # values: ["Value"],
3232
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4035
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3233
4036
  # },
3234
4037
  # tags: {
3235
4038
  # key: "TagKey",
3236
4039
  # values: ["Value"],
3237
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4040
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3238
4041
  # },
3239
4042
  # cost_categories: {
3240
4043
  # key: "CostCategoryName",
3241
4044
  # values: ["Value"],
3242
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4045
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3243
4046
  # },
3244
4047
  # },
3245
4048
  # },
@@ -3273,7 +4076,7 @@ module Aws::CostExplorer
3273
4076
  params: params,
3274
4077
  config: config)
3275
4078
  context[:gem_name] = 'aws-sdk-costexplorer'
3276
- context[:gem_version] = '1.54.0'
4079
+ context[:gem_version] = '1.59.0'
3277
4080
  Seahorse::Client::Request.new(handlers, context)
3278
4081
  end
3279
4082