aws-sdk-costexplorer 1.53.0 → 1.58.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: 1ec99f216bc9f5af64464ab84da2d1ca262c868c4a8ee69b58df0dfe6df5e659
4
- data.tar.gz: 939be045df3f746fa3a8dd422900d0b9ade8f5563d681d10d9287776711462c5
3
+ metadata.gz: a7ca77f39a92d16d38efa75ab6de4d269474b50378d102a599937950b8cc8a20
4
+ data.tar.gz: 80b993915644ae9e27d9dc13e7f2b4d820dd1622eee1633959f584b06960ef79
5
5
  SHA512:
6
- metadata.gz: 22a17a9e97740db696ca45bbfb9fe0e2b96340f9eab771179e94d025da005ed58f48690a1d4be31b8ee03c616717f8fb0501ec230f54e2a8f04922f278842986
7
- data.tar.gz: d51109d6cdaacbdc4affa6b7c53392ba17d0be17e4c3c701ac3ec7207ce312c1b40c3ca41c3c110c995e8f9164cebba394c23d0d0229e93b3eea51e405a90803
6
+ metadata.gz: 66f563afc25d9b15dcbf2972aa954154c6bc6fb4747b40abd6d11ff3a2a9639b6cd6082502e7ca7c0d4d2e73f34048731c10c9790c3ab2a4fa6808c053cc72b9
7
+ data.tar.gz: 6f6fa454fdd9c3741fbadae37f50831a7531763e2025fd119299935251bcdc15eca12c7997ca86f2c43d451276ff61726733153fa9deff93c3883e3d87e61be9
@@ -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.53.0'
51
+ GEM_VERSION = '1.58.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,
@@ -423,7 +423,7 @@ module Aws::CostExplorer
423
423
  # anomaly_subscription: { # required
424
424
  # subscription_arn: "GenericString",
425
425
  # account_id: "GenericString",
426
- # monitor_arn_list: ["Value"], # required
426
+ # monitor_arn_list: ["Arn"], # required
427
427
  # subscribers: [ # required
428
428
  # {
429
429
  # address: "SubscriberAddress",
@@ -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.
@@ -3156,7 +3959,7 @@ module Aws::CostExplorer
3156
3959
  # subscription_arn: "GenericString", # required
3157
3960
  # threshold: 1.0,
3158
3961
  # frequency: "DAILY", # accepts DAILY, IMMEDIATE, WEEKLY
3159
- # monitor_arn_list: ["Value"],
3962
+ # monitor_arn_list: ["Arn"],
3160
3963
  # subscribers: [
3161
3964
  # {
3162
3965
  # address: "SubscriberAddress",
@@ -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.53.0'
4079
+ context[:gem_version] = '1.58.0'
3277
4080
  Seahorse::Client::Request.new(handlers, context)
3278
4081
  end
3279
4082