aws-sdk-costexplorer 1.55.0 → 1.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8ddcbfcf351adf9c4c5b13e0b62e3fff3b71543a1a97774f8f8199954319646c
4
- data.tar.gz: 248b0bf1505f8715185c88ae65cc13453dc4c757bdafee566eeca329ed7438ce
3
+ metadata.gz: a9ec1577af523ee847ffeb7b718636c0cb2b8977a4bcc13f60ee60fd4b32ddae
4
+ data.tar.gz: b0b4af03e6d30209dbfd0d914932f4b13b5155ffdc996468dbab9057b2007b1d
5
5
  SHA512:
6
- metadata.gz: fa2fc50f1aea036e02324f1eb5bc6915fe646ce39a0a71212781797987c06df9b8f60fa3448c3a9e32f6a194a8aa3efcdfe29c398a44096560b430566b35fa8a
7
- data.tar.gz: 8e18b95afce70c86a416d086053eada9187f1c206f8769a3db903f465d43892796eb7fe15ac8e56a75af4fa1bb7eecf5dc476011ff2cd585611b701af139183f
6
+ metadata.gz: 0ae7babeab7c633991bc504377ac6eeedea381111151fd5dc7041529e48c7b0b39dac5fdf0d3d83b4cc7493e9db01613870de9e9e131dc24bb0327c23b6594bf
7
+ data.tar.gz: 25538d8345f3aeb016282dbb6ae5b47ee4452b5eb3877631b7c67ca2e81f72e7ccde3a94f89f09ec3457641ca20b2b365b3619644ab7adb047bb38fee71f7213
@@ -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.55.0'
51
+ GEM_VERSION = '1.56.0'
52
52
 
53
53
  end
@@ -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,195 @@ 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
+ # @option params [String] :next_page_token
1332
+ # If the number of objects that are still available for retrieval
1333
+ # exceeds the limit, AWS returns a NextPageToken value in the response.
1334
+ # To retrieve the next batch of objects, provide the NextPageToken from
1335
+ # the prior call in your next request.
1336
+ #
1337
+ # @return [Types::GetCostCategoriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1338
+ #
1339
+ # * {Types::GetCostCategoriesResponse#next_page_token #next_page_token} => String
1340
+ # * {Types::GetCostCategoriesResponse#cost_category_names #cost_category_names} => Array&lt;String&gt;
1341
+ # * {Types::GetCostCategoriesResponse#cost_category_values #cost_category_values} => Array&lt;String&gt;
1342
+ # * {Types::GetCostCategoriesResponse#return_size #return_size} => Integer
1343
+ # * {Types::GetCostCategoriesResponse#total_size #total_size} => Integer
1344
+ #
1345
+ # @example Request syntax with placeholder values
1346
+ #
1347
+ # resp = client.get_cost_categories({
1348
+ # search_string: "SearchString",
1349
+ # time_period: { # required
1350
+ # start: "YearMonthDay", # required
1351
+ # end: "YearMonthDay", # required
1352
+ # },
1353
+ # cost_category_name: "CostCategoryName",
1354
+ # filter: {
1355
+ # or: [
1356
+ # {
1357
+ # # recursive Expression
1358
+ # },
1359
+ # ],
1360
+ # and: [
1361
+ # {
1362
+ # # recursive Expression
1363
+ # },
1364
+ # ],
1365
+ # not: {
1366
+ # # recursive Expression
1367
+ # },
1368
+ # dimensions: {
1369
+ # 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
1370
+ # values: ["Value"],
1371
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1372
+ # },
1373
+ # tags: {
1374
+ # key: "TagKey",
1375
+ # values: ["Value"],
1376
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1377
+ # },
1378
+ # cost_categories: {
1379
+ # key: "CostCategoryName",
1380
+ # values: ["Value"],
1381
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1382
+ # },
1383
+ # },
1384
+ # sort_by: [
1385
+ # {
1386
+ # key: "SortDefinitionKey", # required
1387
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1388
+ # },
1389
+ # ],
1390
+ # max_results: 1,
1391
+ # next_page_token: "NextPageToken",
1392
+ # })
1393
+ #
1394
+ # @example Response structure
1395
+ #
1396
+ # resp.next_page_token #=> String
1397
+ # resp.cost_category_names #=> Array
1398
+ # resp.cost_category_names[0] #=> String
1399
+ # resp.cost_category_values #=> Array
1400
+ # resp.cost_category_values[0] #=> String
1401
+ # resp.return_size #=> Integer
1402
+ # resp.total_size #=> Integer
1403
+ #
1404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostCategories AWS API Documentation
1405
+ #
1406
+ # @overload get_cost_categories(params = {})
1407
+ # @param [Hash] params ({})
1408
+ def get_cost_categories(params = {}, options = {})
1409
+ req = build_request(:get_cost_categories, params)
1410
+ req.send_request(options)
1411
+ end
1412
+
1214
1413
  # Retrieves a forecast for how much Amazon Web Services predicts that
1215
1414
  # you will spend over the forecast time period that you select, based on
1216
1415
  # your past costs.
@@ -1289,19 +1488,19 @@ module Aws::CostExplorer
1289
1488
  # # recursive Expression
1290
1489
  # },
1291
1490
  # 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
1491
+ # 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
1492
  # values: ["Value"],
1294
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1493
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1295
1494
  # },
1296
1495
  # tags: {
1297
1496
  # key: "TagKey",
1298
1497
  # values: ["Value"],
1299
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1498
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1300
1499
  # },
1301
1500
  # cost_categories: {
1302
1501
  # key: "CostCategoryName",
1303
1502
  # values: ["Value"],
1304
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1503
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1305
1504
  # },
1306
1505
  # },
1307
1506
  # prediction_interval_level: 1,
@@ -1455,6 +1654,91 @@ module Aws::CostExplorer
1455
1654
  #
1456
1655
  # * SAVINGS\_PLAN\_ARN - The unique identifier for your Savings Plan
1457
1656
  #
1657
+ # @option params [Types::Expression] :filter
1658
+ # Use `Expression` to filter by cost or by usage. There are two
1659
+ # patterns:
1660
+ #
1661
+ # * Simple dimension values - You can set the dimension name and values
1662
+ # for the filters that you plan to use. For example, you can filter
1663
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
1664
+ # `GetRightsizingRecommendation`, the Region is a full name (for
1665
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
1666
+ # looks like:
1667
+ #
1668
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1669
+ # “us-west-1” ] \} \}`
1670
+ #
1671
+ # The list of dimension values are OR'd together to retrieve cost or
1672
+ # usage data. You can create `Expression` and `DimensionValues`
1673
+ # objects using either `with*` methods or `set*` methods in multiple
1674
+ # lines.
1675
+ #
1676
+ # * Compound dimension values with logical operations - You can use
1677
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
1678
+ # to create a list of one or more `Expression` objects. This allows
1679
+ # you to filter on more advanced options. For example, you can filter
1680
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1681
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1682
+ # looks like this:
1683
+ #
1684
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1685
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1686
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1687
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
1688
+ #
1689
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
1690
+ # returns an error if more than one is specified. The following
1691
+ # example shows an `Expression` object that creates an error.
1692
+ #
1693
+ # </note>
1694
+ #
1695
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
1696
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
1697
+ #
1698
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
1699
+ # NOT is not supported. OR is not supported between different
1700
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
1701
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
1702
+ # `RIGHTSIZING_TYPE`.
1703
+ #
1704
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
1705
+ # supported. AND and OR are not supported. Dimensions are limited to
1706
+ # `LINKED_ACCOUNT`.
1707
+ #
1708
+ # </note>
1709
+ #
1710
+ # @option params [Array<Types::SortDefinition>] :sort_by
1711
+ # The value by which you want to sort the data.
1712
+ #
1713
+ # The key represents cost and usage metrics. The following values are
1714
+ # supported:
1715
+ #
1716
+ # * `BlendedCost`
1717
+ #
1718
+ # * `UnblendedCost`
1719
+ #
1720
+ # * `AmortizedCost`
1721
+ #
1722
+ # * `NetAmortizedCost`
1723
+ #
1724
+ # * `NetUnblendedCost`
1725
+ #
1726
+ # * `UsageQuantity`
1727
+ #
1728
+ # * `NormalizedUsageAmount`
1729
+ #
1730
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
1731
+ #
1732
+ # When you specify a `SortBy` paramater, the context must be
1733
+ # `COST_AND_USAGE`. Further, when using `SortBy`, `NextPageToken` and
1734
+ # `SearchString` are not supported.
1735
+ #
1736
+ # @option params [Integer] :max_results
1737
+ # This field is only used when SortBy is provided in the request. The
1738
+ # maximum number of objects that to be returned for this request. If
1739
+ # MaxResults is not specified with SortBy, the request will return 1000
1740
+ # results as the default value for this parameter.
1741
+ #
1458
1742
  # @option params [String] :next_page_token
1459
1743
  # The token to retrieve the next set of results. AWS provides the token
1460
1744
  # when the response from a previous call has more results than the
@@ -1475,8 +1759,45 @@ module Aws::CostExplorer
1475
1759
  # start: "YearMonthDay", # required
1476
1760
  # end: "YearMonthDay", # required
1477
1761
  # },
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
1762
+ # 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
1763
  # context: "COST_AND_USAGE", # accepts COST_AND_USAGE, RESERVATIONS, SAVINGS_PLANS
1764
+ # filter: {
1765
+ # or: [
1766
+ # {
1767
+ # # recursive Expression
1768
+ # },
1769
+ # ],
1770
+ # and: [
1771
+ # {
1772
+ # # recursive Expression
1773
+ # },
1774
+ # ],
1775
+ # not: {
1776
+ # # recursive Expression
1777
+ # },
1778
+ # dimensions: {
1779
+ # 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
1780
+ # values: ["Value"],
1781
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1782
+ # },
1783
+ # tags: {
1784
+ # key: "TagKey",
1785
+ # values: ["Value"],
1786
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1787
+ # },
1788
+ # cost_categories: {
1789
+ # key: "CostCategoryName",
1790
+ # values: ["Value"],
1791
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1792
+ # },
1793
+ # },
1794
+ # sort_by: [
1795
+ # {
1796
+ # key: "SortDefinitionKey", # required
1797
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1798
+ # },
1799
+ # ],
1800
+ # max_results: 1,
1480
1801
  # next_page_token: "NextPageToken",
1481
1802
  # })
1482
1803
  #
@@ -1631,6 +1952,39 @@ module Aws::CostExplorer
1631
1952
  # when the response from a previous call has more results than the
1632
1953
  # maximum page size.
1633
1954
  #
1955
+ # @option params [Types::SortDefinition] :sort_by
1956
+ # The value by which you want to sort the data.
1957
+ #
1958
+ # The following values are supported for `Key`\:
1959
+ #
1960
+ # * `OnDemandCost`
1961
+ #
1962
+ # * `CoverageHoursPercentage`
1963
+ #
1964
+ # * `OnDemandHours`
1965
+ #
1966
+ # * `ReservedHours`
1967
+ #
1968
+ # * `TotalRunningHours`
1969
+ #
1970
+ # * `CoverageNormalizedUnitsPercentage`
1971
+ #
1972
+ # * `OnDemandNormalizedUnits`
1973
+ #
1974
+ # * `ReservedNormalizedUnits`
1975
+ #
1976
+ # * `TotalRunningNormalizedUnits`
1977
+ #
1978
+ # * `Time`
1979
+ #
1980
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
1981
+ #
1982
+ # @option params [Integer] :max_results
1983
+ # The maximum number of objects that you returned for this request. If
1984
+ # more objects are available, in the response, AWS provides a
1985
+ # NextPageToken value that you can use in a subsequent call to get the
1986
+ # next batch of objects.
1987
+ #
1634
1988
  # @return [Types::GetReservationCoverageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1635
1989
  #
1636
1990
  # * {Types::GetReservationCoverageResponse#coverages_by_time #coverages_by_time} => Array&lt;Types::CoverageByTime&gt;
@@ -1666,23 +2020,28 @@ module Aws::CostExplorer
1666
2020
  # # recursive Expression
1667
2021
  # },
1668
2022
  # 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
2023
+ # 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
2024
  # values: ["Value"],
1671
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2025
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1672
2026
  # },
1673
2027
  # tags: {
1674
2028
  # key: "TagKey",
1675
2029
  # values: ["Value"],
1676
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2030
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1677
2031
  # },
1678
2032
  # cost_categories: {
1679
2033
  # key: "CostCategoryName",
1680
2034
  # values: ["Value"],
1681
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2035
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1682
2036
  # },
1683
2037
  # },
1684
2038
  # metrics: ["MetricName"],
1685
2039
  # next_page_token: "NextPageToken",
2040
+ # sort_by: {
2041
+ # key: "SortDefinitionKey", # required
2042
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2043
+ # },
2044
+ # max_results: 1,
1686
2045
  # })
1687
2046
  #
1688
2047
  # @example Response structure
@@ -1758,6 +2117,59 @@ module Aws::CostExplorer
1758
2117
  # @option params [required, String] :service
1759
2118
  # The specific service that you want recommendations for.
1760
2119
  #
2120
+ # @option params [Types::Expression] :filter
2121
+ # Use `Expression` to filter by cost or by usage. There are two
2122
+ # patterns:
2123
+ #
2124
+ # * Simple dimension values - You can set the dimension name and values
2125
+ # for the filters that you plan to use. For example, you can filter
2126
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
2127
+ # `GetRightsizingRecommendation`, the Region is a full name (for
2128
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
2129
+ # looks like:
2130
+ #
2131
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2132
+ # “us-west-1” ] \} \}`
2133
+ #
2134
+ # The list of dimension values are OR'd together to retrieve cost or
2135
+ # usage data. You can create `Expression` and `DimensionValues`
2136
+ # objects using either `with*` methods or `set*` methods in multiple
2137
+ # lines.
2138
+ #
2139
+ # * Compound dimension values with logical operations - You can use
2140
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
2141
+ # to create a list of one or more `Expression` objects. This allows
2142
+ # you to filter on more advanced options. For example, you can filter
2143
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
2144
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
2145
+ # looks like this:
2146
+ #
2147
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
2148
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
2149
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
2150
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
2151
+ #
2152
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
2153
+ # returns an error if more than one is specified. The following
2154
+ # example shows an `Expression` object that creates an error.
2155
+ #
2156
+ # </note>
2157
+ #
2158
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2159
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2160
+ #
2161
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2162
+ # NOT is not supported. OR is not supported between different
2163
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
2164
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
2165
+ # `RIGHTSIZING_TYPE`.
2166
+ #
2167
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
2168
+ # supported. AND and OR are not supported. Dimensions are limited to
2169
+ # `LINKED_ACCOUNT`.
2170
+ #
2171
+ # </note>
2172
+ #
1761
2173
  # @option params [String] :account_scope
1762
2174
  # The account scope that you want your recommendations for. Amazon Web
1763
2175
  # Services calculates recommendations including the management account
@@ -1799,6 +2211,36 @@ module Aws::CostExplorer
1799
2211
  # resp = client.get_reservation_purchase_recommendation({
1800
2212
  # account_id: "GenericString",
1801
2213
  # service: "GenericString", # required
2214
+ # filter: {
2215
+ # or: [
2216
+ # {
2217
+ # # recursive Expression
2218
+ # },
2219
+ # ],
2220
+ # and: [
2221
+ # {
2222
+ # # recursive Expression
2223
+ # },
2224
+ # ],
2225
+ # not: {
2226
+ # # recursive Expression
2227
+ # },
2228
+ # dimensions: {
2229
+ # 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
2230
+ # values: ["Value"],
2231
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2232
+ # },
2233
+ # tags: {
2234
+ # key: "TagKey",
2235
+ # values: ["Value"],
2236
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2237
+ # },
2238
+ # cost_categories: {
2239
+ # key: "CostCategoryName",
2240
+ # values: ["Value"],
2241
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2242
+ # },
2243
+ # },
1802
2244
  # account_scope: "PAYER", # accepts PAYER, LINKED
1803
2245
  # lookback_period_in_days: "SEVEN_DAYS", # accepts SEVEN_DAYS, THIRTY_DAYS, SIXTY_DAYS
1804
2246
  # term_in_years: "ONE_YEAR", # accepts ONE_YEAR, THREE_YEARS
@@ -1948,11 +2390,58 @@ module Aws::CostExplorer
1948
2390
  #
1949
2391
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
1950
2392
  #
2393
+ # @option params [Types::SortDefinition] :sort_by
2394
+ # The value by which you want to sort the data.
2395
+ #
2396
+ # The following values are supported for `Key`\:
2397
+ #
2398
+ # * `UtilizationPercentage`
2399
+ #
2400
+ # * `UtilizationPercentageInUnits`
2401
+ #
2402
+ # * `PurchasedHours`
2403
+ #
2404
+ # * `PurchasedUnits`
2405
+ #
2406
+ # * `TotalActualHours`
2407
+ #
2408
+ # * `TotalActualUnits`
2409
+ #
2410
+ # * `UnusedHours`
2411
+ #
2412
+ # * `UnusedUnits`
2413
+ #
2414
+ # * `OnDemandCostOfRIHoursUsed`
2415
+ #
2416
+ # * `NetRISavings`
2417
+ #
2418
+ # * `TotalPotentialRISavings`
2419
+ #
2420
+ # * `AmortizedUpfrontFee`
2421
+ #
2422
+ # * `AmortizedRecurringFee`
2423
+ #
2424
+ # * `TotalAmortizedFee`
2425
+ #
2426
+ # * `RICostForUnusedHours`
2427
+ #
2428
+ # * `RealizedSavings`
2429
+ #
2430
+ # * `UnrealizedSavings`
2431
+ #
2432
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
2433
+ #
1951
2434
  # @option params [String] :next_page_token
1952
2435
  # The token to retrieve the next set of results. AWS provides the token
1953
2436
  # when the response from a previous call has more results than the
1954
2437
  # maximum page size.
1955
2438
  #
2439
+ # @option params [Integer] :max_results
2440
+ # The maximum number of objects that you returned for this request. If
2441
+ # more objects are available, in the response, AWS provides a
2442
+ # NextPageToken value that you can use in a subsequent call to get the
2443
+ # next batch of objects.
2444
+ #
1956
2445
  # @return [Types::GetReservationUtilizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1957
2446
  #
1958
2447
  # * {Types::GetReservationUtilizationResponse#utilizations_by_time #utilizations_by_time} => Array&lt;Types::UtilizationByTime&gt;
@@ -1988,22 +2477,27 @@ module Aws::CostExplorer
1988
2477
  # # recursive Expression
1989
2478
  # },
1990
2479
  # 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
2480
+ # 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
2481
  # values: ["Value"],
1993
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2482
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1994
2483
  # },
1995
2484
  # tags: {
1996
2485
  # key: "TagKey",
1997
2486
  # values: ["Value"],
1998
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2487
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1999
2488
  # },
2000
2489
  # cost_categories: {
2001
2490
  # key: "CostCategoryName",
2002
2491
  # values: ["Value"],
2003
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2492
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2004
2493
  # },
2005
2494
  # },
2495
+ # sort_by: {
2496
+ # key: "SortDefinitionKey", # required
2497
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2498
+ # },
2006
2499
  # next_page_token: "NextPageToken",
2500
+ # max_results: 1,
2007
2501
  # })
2008
2502
  #
2009
2503
  # @example Response structure
@@ -2030,6 +2524,9 @@ module Aws::CostExplorer
2030
2524
  # resp.utilizations_by_time[0].groups[0].utilization.amortized_upfront_fee #=> String
2031
2525
  # resp.utilizations_by_time[0].groups[0].utilization.amortized_recurring_fee #=> String
2032
2526
  # resp.utilizations_by_time[0].groups[0].utilization.total_amortized_fee #=> String
2527
+ # resp.utilizations_by_time[0].groups[0].utilization.ri_cost_for_unused_hours #=> String
2528
+ # resp.utilizations_by_time[0].groups[0].utilization.realized_savings #=> String
2529
+ # resp.utilizations_by_time[0].groups[0].utilization.unrealized_savings #=> String
2033
2530
  # resp.utilizations_by_time[0].total.utilization_percentage #=> String
2034
2531
  # resp.utilizations_by_time[0].total.utilization_percentage_in_units #=> String
2035
2532
  # resp.utilizations_by_time[0].total.purchased_hours #=> String
@@ -2044,6 +2541,9 @@ module Aws::CostExplorer
2044
2541
  # resp.utilizations_by_time[0].total.amortized_upfront_fee #=> String
2045
2542
  # resp.utilizations_by_time[0].total.amortized_recurring_fee #=> String
2046
2543
  # resp.utilizations_by_time[0].total.total_amortized_fee #=> String
2544
+ # resp.utilizations_by_time[0].total.ri_cost_for_unused_hours #=> String
2545
+ # resp.utilizations_by_time[0].total.realized_savings #=> String
2546
+ # resp.utilizations_by_time[0].total.unrealized_savings #=> String
2047
2547
  # resp.total.utilization_percentage #=> String
2048
2548
  # resp.total.utilization_percentage_in_units #=> String
2049
2549
  # resp.total.purchased_hours #=> String
@@ -2058,6 +2558,9 @@ module Aws::CostExplorer
2058
2558
  # resp.total.amortized_upfront_fee #=> String
2059
2559
  # resp.total.amortized_recurring_fee #=> String
2060
2560
  # resp.total.total_amortized_fee #=> String
2561
+ # resp.total.ri_cost_for_unused_hours #=> String
2562
+ # resp.total.realized_savings #=> String
2563
+ # resp.total.unrealized_savings #=> String
2061
2564
  # resp.next_page_token #=> String
2062
2565
  #
2063
2566
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization AWS API Documentation
@@ -2123,10 +2626,15 @@ module Aws::CostExplorer
2123
2626
  # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2124
2627
  # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2125
2628
  #
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`.
2629
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2630
+ # NOT is not supported. OR is not supported between different
2631
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
2632
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
2633
+ # `RIGHTSIZING_TYPE`.
2634
+ #
2635
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
2636
+ # supported. AND and OR are not supported. Dimensions are limited to
2637
+ # `LINKED_ACCOUNT`.
2130
2638
  #
2131
2639
  # </note>
2132
2640
  #
@@ -2176,19 +2684,19 @@ module Aws::CostExplorer
2176
2684
  # # recursive Expression
2177
2685
  # },
2178
2686
  # 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
2687
+ # 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
2688
  # values: ["Value"],
2181
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2689
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2182
2690
  # },
2183
2691
  # tags: {
2184
2692
  # key: "TagKey",
2185
2693
  # values: ["Value"],
2186
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2694
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2187
2695
  # },
2188
2696
  # cost_categories: {
2189
2697
  # key: "CostCategoryName",
2190
2698
  # values: ["Value"],
2191
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2699
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2192
2700
  # },
2193
2701
  # },
2194
2702
  # configuration: {
@@ -2219,7 +2727,7 @@ module Aws::CostExplorer
2219
2727
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values #=> Array
2220
2728
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values[0] #=> String
2221
2729
  # resp.rightsizing_recommendations[0].current_instance.tags[0].match_options #=> Array
2222
- # resp.rightsizing_recommendations[0].current_instance.tags[0].match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
2730
+ # 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"
2223
2731
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.hourly_on_demand_rate #=> String
2224
2732
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.instance_type #=> String
2225
2733
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.platform #=> String
@@ -2349,6 +2857,27 @@ module Aws::CostExplorer
2349
2857
  # The number of items to be returned in a response. The default is `20`,
2350
2858
  # with a minimum value of `1`.
2351
2859
  #
2860
+ # @option params [Types::SortDefinition] :sort_by
2861
+ # The value by which you want to sort the data.
2862
+ #
2863
+ # The following values are supported for `Key`\:
2864
+ #
2865
+ # * `SpendCoveredBySavingsPlan`
2866
+ #
2867
+ # * `OnDemandCost`
2868
+ #
2869
+ # * `CoveragePercentage`
2870
+ #
2871
+ # * `TotalCost`
2872
+ #
2873
+ # * `InstanceFamily`
2874
+ #
2875
+ # * `Region`
2876
+ #
2877
+ # * `Service`
2878
+ #
2879
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
2880
+ #
2352
2881
  # @return [Types::GetSavingsPlansCoverageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2353
2882
  #
2354
2883
  # * {Types::GetSavingsPlansCoverageResponse#savings_plans_coverages #savings_plans_coverages} => Array&lt;Types::SavingsPlansCoverage&gt;
@@ -2385,24 +2914,28 @@ module Aws::CostExplorer
2385
2914
  # # recursive Expression
2386
2915
  # },
2387
2916
  # dimensions: {
2388
- # 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
2917
+ # 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
2389
2918
  # values: ["Value"],
2390
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2919
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2391
2920
  # },
2392
2921
  # tags: {
2393
2922
  # key: "TagKey",
2394
2923
  # values: ["Value"],
2395
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2924
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2396
2925
  # },
2397
2926
  # cost_categories: {
2398
2927
  # key: "CostCategoryName",
2399
2928
  # values: ["Value"],
2400
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2929
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2401
2930
  # },
2402
2931
  # },
2403
2932
  # metrics: ["MetricName"],
2404
2933
  # next_token: "NextPageToken",
2405
2934
  # max_results: 1,
2935
+ # sort_by: {
2936
+ # key: "SortDefinitionKey", # required
2937
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2938
+ # },
2406
2939
  # })
2407
2940
  #
2408
2941
  # @example Response structure
@@ -2504,19 +3037,19 @@ module Aws::CostExplorer
2504
3037
  # # recursive Expression
2505
3038
  # },
2506
3039
  # dimensions: {
2507
- # 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
3040
+ # 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
2508
3041
  # values: ["Value"],
2509
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3042
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2510
3043
  # },
2511
3044
  # tags: {
2512
3045
  # key: "TagKey",
2513
3046
  # values: ["Value"],
2514
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3047
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2515
3048
  # },
2516
3049
  # cost_categories: {
2517
3050
  # key: "CostCategoryName",
2518
3051
  # values: ["Value"],
2519
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3052
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2520
3053
  # },
2521
3054
  # },
2522
3055
  # })
@@ -2620,6 +3153,23 @@ module Aws::CostExplorer
2620
3153
  #
2621
3154
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2622
3155
  #
3156
+ # @option params [Types::SortDefinition] :sort_by
3157
+ # The value by which you want to sort the data.
3158
+ #
3159
+ # The following values are supported for `Key`\:
3160
+ #
3161
+ # * `UtilizationPercentage`
3162
+ #
3163
+ # * `TotalCommitment`
3164
+ #
3165
+ # * `UsedCommitment`
3166
+ #
3167
+ # * `UnusedCommitment`
3168
+ #
3169
+ # * `NetSavings`
3170
+ #
3171
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3172
+ #
2623
3173
  # @return [Types::GetSavingsPlansUtilizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2624
3174
  #
2625
3175
  # * {Types::GetSavingsPlansUtilizationResponse#savings_plans_utilizations_by_time #savings_plans_utilizations_by_time} => Array&lt;Types::SavingsPlansUtilizationByTime&gt;
@@ -2648,21 +3198,25 @@ module Aws::CostExplorer
2648
3198
  # # recursive Expression
2649
3199
  # },
2650
3200
  # dimensions: {
2651
- # 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
3201
+ # 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
2652
3202
  # values: ["Value"],
2653
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3203
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2654
3204
  # },
2655
3205
  # tags: {
2656
3206
  # key: "TagKey",
2657
3207
  # values: ["Value"],
2658
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3208
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2659
3209
  # },
2660
3210
  # cost_categories: {
2661
3211
  # key: "CostCategoryName",
2662
3212
  # values: ["Value"],
2663
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3213
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2664
3214
  # },
2665
3215
  # },
3216
+ # sort_by: {
3217
+ # key: "SortDefinitionKey", # required
3218
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3219
+ # },
2666
3220
  # })
2667
3221
  #
2668
3222
  # @example Response structure
@@ -2740,6 +3294,9 @@ module Aws::CostExplorer
2740
3294
  #
2741
3295
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2742
3296
  #
3297
+ # @option params [Array<String>] :data_type
3298
+ # The data type.
3299
+ #
2743
3300
  # @option params [String] :next_token
2744
3301
  # The token to retrieve the next set of results. Amazon Web Services
2745
3302
  # provides the token when the response from a previous call has more
@@ -2749,6 +3306,27 @@ module Aws::CostExplorer
2749
3306
  # The number of items to be returned in a response. The default is `20`,
2750
3307
  # with a minimum value of `1`.
2751
3308
  #
3309
+ # @option params [Types::SortDefinition] :sort_by
3310
+ # The value by which you want to sort the data.
3311
+ #
3312
+ # The following values are supported for `Key`\:
3313
+ #
3314
+ # * `UtilizationPercentage`
3315
+ #
3316
+ # * `TotalCommitment`
3317
+ #
3318
+ # * `UsedCommitment`
3319
+ #
3320
+ # * `UnusedCommitment`
3321
+ #
3322
+ # * `NetSavings`
3323
+ #
3324
+ # * `AmortizedRecurringCommitment`
3325
+ #
3326
+ # * `AmortizedUpfrontCommitment`
3327
+ #
3328
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3329
+ #
2752
3330
  # @return [Types::GetSavingsPlansUtilizationDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2753
3331
  #
2754
3332
  # * {Types::GetSavingsPlansUtilizationDetailsResponse#savings_plans_utilization_details #savings_plans_utilization_details} => Array&lt;Types::SavingsPlansUtilizationDetail&gt;
@@ -2780,23 +3358,28 @@ module Aws::CostExplorer
2780
3358
  # # recursive Expression
2781
3359
  # },
2782
3360
  # dimensions: {
2783
- # 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
3361
+ # 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
2784
3362
  # values: ["Value"],
2785
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3363
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2786
3364
  # },
2787
3365
  # tags: {
2788
3366
  # key: "TagKey",
2789
3367
  # values: ["Value"],
2790
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3368
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2791
3369
  # },
2792
3370
  # cost_categories: {
2793
3371
  # key: "CostCategoryName",
2794
3372
  # values: ["Value"],
2795
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3373
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2796
3374
  # },
2797
3375
  # },
3376
+ # data_type: ["ATTRIBUTES"], # accepts ATTRIBUTES, UTILIZATION, AMORTIZED_COMMITMENT, SAVINGS
2798
3377
  # next_token: "NextPageToken",
2799
3378
  # max_results: 1,
3379
+ # sort_by: {
3380
+ # key: "SortDefinitionKey", # required
3381
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3382
+ # },
2800
3383
  # })
2801
3384
  #
2802
3385
  # @example Response structure
@@ -2852,6 +3435,90 @@ module Aws::CostExplorer
2852
3435
  # @option params [String] :tag_key
2853
3436
  # The key of the tag that you want to return values for.
2854
3437
  #
3438
+ # @option params [Types::Expression] :filter
3439
+ # Use `Expression` to filter by cost or by usage. There are two
3440
+ # patterns:
3441
+ #
3442
+ # * Simple dimension values - You can set the dimension name and values
3443
+ # for the filters that you plan to use. For example, you can filter
3444
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
3445
+ # `GetRightsizingRecommendation`, the Region is a full name (for
3446
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
3447
+ # looks like:
3448
+ #
3449
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
3450
+ # “us-west-1” ] \} \}`
3451
+ #
3452
+ # The list of dimension values are OR'd together to retrieve cost or
3453
+ # usage data. You can create `Expression` and `DimensionValues`
3454
+ # objects using either `with*` methods or `set*` methods in multiple
3455
+ # lines.
3456
+ #
3457
+ # * Compound dimension values with logical operations - You can use
3458
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
3459
+ # to create a list of one or more `Expression` objects. This allows
3460
+ # you to filter on more advanced options. For example, you can filter
3461
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
3462
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
3463
+ # looks like this:
3464
+ #
3465
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
3466
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
3467
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
3468
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
3469
+ #
3470
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
3471
+ # returns an error if more than one is specified. The following
3472
+ # example shows an `Expression` object that creates an error.
3473
+ #
3474
+ # </note>
3475
+ #
3476
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
3477
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
3478
+ #
3479
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
3480
+ # NOT is not supported. OR is not supported between different
3481
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
3482
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
3483
+ # `RIGHTSIZING_TYPE`.
3484
+ #
3485
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
3486
+ # supported. AND and OR are not supported. Dimensions are limited to
3487
+ # `LINKED_ACCOUNT`.
3488
+ #
3489
+ # </note>
3490
+ #
3491
+ # @option params [Array<Types::SortDefinition>] :sort_by
3492
+ # The value by which you want to sort the data.
3493
+ #
3494
+ # The key represents cost and usage metrics. The following values are
3495
+ # supported:
3496
+ #
3497
+ # * `BlendedCost`
3498
+ #
3499
+ # * `UnblendedCost`
3500
+ #
3501
+ # * `AmortizedCost`
3502
+ #
3503
+ # * `NetAmortizedCost`
3504
+ #
3505
+ # * `NetUnblendedCost`
3506
+ #
3507
+ # * `UsageQuantity`
3508
+ #
3509
+ # * `NormalizedUsageAmount`
3510
+ #
3511
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3512
+ #
3513
+ # When using `SortBy`, `NextPageToken` and `SearchString` are not
3514
+ # supported.
3515
+ #
3516
+ # @option params [Integer] :max_results
3517
+ # This field is only used when SortBy is provided in the request. The
3518
+ # maximum number of objects that to be returned for this request. If
3519
+ # MaxResults is not specified with SortBy, the request will return 1000
3520
+ # results as the default value for this parameter.
3521
+ #
2855
3522
  # @option params [String] :next_page_token
2856
3523
  # The token to retrieve the next set of results. AWS provides the token
2857
3524
  # when the response from a previous call has more results than the
@@ -2873,6 +3540,43 @@ module Aws::CostExplorer
2873
3540
  # end: "YearMonthDay", # required
2874
3541
  # },
2875
3542
  # tag_key: "TagKey",
3543
+ # filter: {
3544
+ # or: [
3545
+ # {
3546
+ # # recursive Expression
3547
+ # },
3548
+ # ],
3549
+ # and: [
3550
+ # {
3551
+ # # recursive Expression
3552
+ # },
3553
+ # ],
3554
+ # not: {
3555
+ # # recursive Expression
3556
+ # },
3557
+ # dimensions: {
3558
+ # 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
3559
+ # values: ["Value"],
3560
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3561
+ # },
3562
+ # tags: {
3563
+ # key: "TagKey",
3564
+ # values: ["Value"],
3565
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3566
+ # },
3567
+ # cost_categories: {
3568
+ # key: "CostCategoryName",
3569
+ # values: ["Value"],
3570
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3571
+ # },
3572
+ # },
3573
+ # sort_by: [
3574
+ # {
3575
+ # key: "SortDefinitionKey", # required
3576
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3577
+ # },
3578
+ # ],
3579
+ # max_results: 1,
2876
3580
  # next_page_token: "NextPageToken",
2877
3581
  # })
2878
3582
  #
@@ -2963,19 +3667,19 @@ module Aws::CostExplorer
2963
3667
  # # recursive Expression
2964
3668
  # },
2965
3669
  # dimensions: {
2966
- # 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
3670
+ # 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
2967
3671
  # values: ["Value"],
2968
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3672
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2969
3673
  # },
2970
3674
  # tags: {
2971
3675
  # key: "TagKey",
2972
3676
  # values: ["Value"],
2973
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3677
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2974
3678
  # },
2975
3679
  # cost_categories: {
2976
3680
  # key: "CostCategoryName",
2977
3681
  # values: ["Value"],
2978
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3682
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2979
3683
  # },
2980
3684
  # },
2981
3685
  # prediction_interval_level: 1,
@@ -3228,19 +3932,19 @@ module Aws::CostExplorer
3228
3932
  # # recursive Expression
3229
3933
  # },
3230
3934
  # dimensions: {
3231
- # 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
3935
+ # 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
3232
3936
  # values: ["Value"],
3233
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3937
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3234
3938
  # },
3235
3939
  # tags: {
3236
3940
  # key: "TagKey",
3237
3941
  # values: ["Value"],
3238
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3942
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3239
3943
  # },
3240
3944
  # cost_categories: {
3241
3945
  # key: "CostCategoryName",
3242
3946
  # values: ["Value"],
3243
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3947
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3244
3948
  # },
3245
3949
  # },
3246
3950
  # },
@@ -3274,7 +3978,7 @@ module Aws::CostExplorer
3274
3978
  params: params,
3275
3979
  config: config)
3276
3980
  context[:gem_name] = 'aws-sdk-costexplorer'
3277
- context[:gem_version] = '1.55.0'
3981
+ context[:gem_version] = '1.56.0'
3278
3982
  Seahorse::Client::Request.new(handlers, context)
3279
3983
  end
3280
3984