aws-sdk-costexplorer 1.55.0 → 1.60.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.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.60.0
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-costexplorer/customizations'
48
48
  # @!group service
49
49
  module Aws::CostExplorer
50
50
 
51
- GEM_VERSION = '1.55.0'
51
+ GEM_VERSION = '1.60.0'
52
52
 
53
53
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -373,19 +373,19 @@ module Aws::CostExplorer
373
373
  # # recursive Expression
374
374
  # },
375
375
  # dimensions: {
376
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
376
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
377
377
  # values: ["Value"],
378
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
378
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
379
379
  # },
380
380
  # tags: {
381
381
  # key: "TagKey",
382
382
  # values: ["Value"],
383
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
383
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
384
384
  # },
385
385
  # cost_categories: {
386
386
  # key: "CostCategoryName",
387
387
  # values: ["Value"],
388
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
388
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
389
389
  # },
390
390
  # },
391
391
  # dimensional_value_count: 1,
@@ -466,6 +466,9 @@ module Aws::CostExplorer
466
466
  #
467
467
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategoryRule.html
468
468
  #
469
+ # @option params [String] :default_value
470
+ # The default value for the cost category.
471
+ #
469
472
  # @return [Types::CreateCostCategoryDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
470
473
  #
471
474
  # * {Types::CreateCostCategoryDefinitionResponse#cost_category_arn #cost_category_arn} => String
@@ -478,8 +481,8 @@ module Aws::CostExplorer
478
481
  # rule_version: "CostCategoryExpression.v1", # required, accepts CostCategoryExpression.v1
479
482
  # rules: [ # required
480
483
  # {
481
- # value: "CostCategoryValue", # required
482
- # rule: { # required
484
+ # value: "CostCategoryValue",
485
+ # rule: {
483
486
  # or: [
484
487
  # {
485
488
  # # recursive Expression
@@ -494,23 +497,29 @@ module Aws::CostExplorer
494
497
  # # recursive Expression
495
498
  # },
496
499
  # 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
500
+ # 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
501
  # values: ["Value"],
499
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
502
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
500
503
  # },
501
504
  # tags: {
502
505
  # key: "TagKey",
503
506
  # values: ["Value"],
504
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
507
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
505
508
  # },
506
509
  # cost_categories: {
507
510
  # key: "CostCategoryName",
508
511
  # values: ["Value"],
509
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
512
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
510
513
  # },
511
514
  # },
515
+ # inherited_value: {
516
+ # dimension_name: "LINKED_ACCOUNT_NAME", # accepts LINKED_ACCOUNT_NAME, TAG
517
+ # dimension_key: "GenericString",
518
+ # },
519
+ # type: "REGULAR", # accepts REGULAR, INHERITED_VALUE
512
520
  # },
513
521
  # ],
522
+ # default_value: "CostCategoryValue",
514
523
  # })
515
524
  #
516
525
  # @example Response structure
@@ -644,24 +653,28 @@ module Aws::CostExplorer
644
653
  # resp.cost_category.rules[0].rule.and #=> Array
645
654
  # resp.cost_category.rules[0].rule.and[0] #=> Types::Expression
646
655
  # 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"
656
+ # 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
657
  # resp.cost_category.rules[0].rule.dimensions.values #=> Array
649
658
  # resp.cost_category.rules[0].rule.dimensions.values[0] #=> String
650
659
  # 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"
660
+ # 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
661
  # resp.cost_category.rules[0].rule.tags.key #=> String
653
662
  # resp.cost_category.rules[0].rule.tags.values #=> Array
654
663
  # resp.cost_category.rules[0].rule.tags.values[0] #=> String
655
664
  # 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"
665
+ # 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
666
  # resp.cost_category.rules[0].rule.cost_categories.key #=> String
658
667
  # resp.cost_category.rules[0].rule.cost_categories.values #=> Array
659
668
  # resp.cost_category.rules[0].rule.cost_categories.values[0] #=> String
660
669
  # 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"
670
+ # 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"
671
+ # resp.cost_category.rules[0].inherited_value.dimension_name #=> String, one of "LINKED_ACCOUNT_NAME", "TAG"
672
+ # resp.cost_category.rules[0].inherited_value.dimension_key #=> String
673
+ # resp.cost_category.rules[0].type #=> String, one of "REGULAR", "INHERITED_VALUE"
662
674
  # resp.cost_category.processing_status #=> Array
663
675
  # resp.cost_category.processing_status[0].component #=> String, one of "COST_EXPLORER"
664
676
  # resp.cost_category.processing_status[0].status #=> String, one of "PROCESSING", "APPLIED"
677
+ # resp.cost_category.default_value #=> String
665
678
  #
666
679
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DescribeCostCategoryDefinition AWS API Documentation
667
680
  #
@@ -795,21 +808,21 @@ module Aws::CostExplorer
795
808
  # resp.anomaly_monitors[0].monitor_specification.and #=> Array
796
809
  # resp.anomaly_monitors[0].monitor_specification.and[0] #=> Types::Expression
797
810
  # 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"
811
+ # 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
812
  # resp.anomaly_monitors[0].monitor_specification.dimensions.values #=> Array
800
813
  # resp.anomaly_monitors[0].monitor_specification.dimensions.values[0] #=> String
801
814
  # 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"
815
+ # 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
816
  # resp.anomaly_monitors[0].monitor_specification.tags.key #=> String
804
817
  # resp.anomaly_monitors[0].monitor_specification.tags.values #=> Array
805
818
  # resp.anomaly_monitors[0].monitor_specification.tags.values[0] #=> String
806
819
  # 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"
820
+ # 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
821
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.key #=> String
809
822
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.values #=> Array
810
823
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.values[0] #=> String
811
824
  # 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"
825
+ # 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
826
  # resp.anomaly_monitors[0].dimensional_value_count #=> Integer
814
827
  # resp.next_page_token #=> String
815
828
  #
@@ -965,6 +978,7 @@ module Aws::CostExplorer
965
978
  # * {Types::GetCostAndUsageResponse#next_page_token #next_page_token} => String
966
979
  # * {Types::GetCostAndUsageResponse#group_definitions #group_definitions} => Array<Types::GroupDefinition>
967
980
  # * {Types::GetCostAndUsageResponse#results_by_time #results_by_time} => Array<Types::ResultByTime>
981
+ # * {Types::GetCostAndUsageResponse#dimension_value_attributes #dimension_value_attributes} => Array<Types::DimensionValuesWithAttributes>
968
982
  #
969
983
  # @example Request syntax with placeholder values
970
984
  #
@@ -989,19 +1003,19 @@ module Aws::CostExplorer
989
1003
  # # recursive Expression
990
1004
  # },
991
1005
  # 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
1006
+ # 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
1007
  # values: ["Value"],
994
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1008
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
995
1009
  # },
996
1010
  # tags: {
997
1011
  # key: "TagKey",
998
1012
  # values: ["Value"],
999
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1013
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1000
1014
  # },
1001
1015
  # cost_categories: {
1002
1016
  # key: "CostCategoryName",
1003
1017
  # values: ["Value"],
1004
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1018
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1005
1019
  # },
1006
1020
  # },
1007
1021
  # metrics: ["MetricName"], # required
@@ -1033,6 +1047,10 @@ module Aws::CostExplorer
1033
1047
  # resp.results_by_time[0].groups[0].metrics["MetricName"].amount #=> String
1034
1048
  # resp.results_by_time[0].groups[0].metrics["MetricName"].unit #=> String
1035
1049
  # resp.results_by_time[0].estimated #=> Boolean
1050
+ # resp.dimension_value_attributes #=> Array
1051
+ # resp.dimension_value_attributes[0].value #=> String
1052
+ # resp.dimension_value_attributes[0].attributes #=> Hash
1053
+ # resp.dimension_value_attributes[0].attributes["AttributeType"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1036
1054
  #
1037
1055
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage AWS API Documentation
1038
1056
  #
@@ -1133,6 +1151,7 @@ module Aws::CostExplorer
1133
1151
  # * {Types::GetCostAndUsageWithResourcesResponse#next_page_token #next_page_token} => String
1134
1152
  # * {Types::GetCostAndUsageWithResourcesResponse#group_definitions #group_definitions} => Array&lt;Types::GroupDefinition&gt;
1135
1153
  # * {Types::GetCostAndUsageWithResourcesResponse#results_by_time #results_by_time} => Array&lt;Types::ResultByTime&gt;
1154
+ # * {Types::GetCostAndUsageWithResourcesResponse#dimension_value_attributes #dimension_value_attributes} => Array&lt;Types::DimensionValuesWithAttributes&gt;
1136
1155
  #
1137
1156
  # @example Request syntax with placeholder values
1138
1157
  #
@@ -1157,19 +1176,19 @@ module Aws::CostExplorer
1157
1176
  # # recursive Expression
1158
1177
  # },
1159
1178
  # 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
1179
+ # 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
1180
  # values: ["Value"],
1162
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1181
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1163
1182
  # },
1164
1183
  # tags: {
1165
1184
  # key: "TagKey",
1166
1185
  # values: ["Value"],
1167
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1186
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1168
1187
  # },
1169
1188
  # cost_categories: {
1170
1189
  # key: "CostCategoryName",
1171
1190
  # values: ["Value"],
1172
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1191
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1173
1192
  # },
1174
1193
  # },
1175
1194
  # metrics: ["MetricName"],
@@ -1201,6 +1220,10 @@ module Aws::CostExplorer
1201
1220
  # resp.results_by_time[0].groups[0].metrics["MetricName"].amount #=> String
1202
1221
  # resp.results_by_time[0].groups[0].metrics["MetricName"].unit #=> String
1203
1222
  # resp.results_by_time[0].estimated #=> Boolean
1223
+ # resp.dimension_value_attributes #=> Array
1224
+ # resp.dimension_value_attributes[0].value #=> String
1225
+ # resp.dimension_value_attributes[0].attributes #=> Hash
1226
+ # resp.dimension_value_attributes[0].attributes["AttributeType"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1204
1227
  #
1205
1228
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsageWithResources AWS API Documentation
1206
1229
  #
@@ -1211,6 +1234,197 @@ module Aws::CostExplorer
1211
1234
  req.send_request(options)
1212
1235
  end
1213
1236
 
1237
+ # Retrieves an array of Cost Category names and values incurred cost.
1238
+ #
1239
+ # <note markdown="1"> If some Cost Category names and values are not associated with any
1240
+ # cost, they will not be returned by this API.
1241
+ #
1242
+ # </note>
1243
+ #
1244
+ # @option params [String] :search_string
1245
+ # The value that you want to search the filter values for.
1246
+ #
1247
+ # If you do not specify a `CostCategoryName`, `SearchString` will be
1248
+ # used to filter Cost Category names that match the `SearchString`
1249
+ # pattern. If you do specifiy a `CostCategoryName`, `SearchString` will
1250
+ # be used to filter Cost Category values that match the `SearchString`
1251
+ # pattern.
1252
+ #
1253
+ # @option params [required, Types::DateInterval] :time_period
1254
+ # The time period of the request.
1255
+ #
1256
+ # @option params [String] :cost_category_name
1257
+ # The unique name of the Cost Category.
1258
+ #
1259
+ # @option params [Types::Expression] :filter
1260
+ # Use `Expression` to filter by cost or by usage. There are two
1261
+ # patterns:
1262
+ #
1263
+ # * Simple dimension values - You can set the dimension name and values
1264
+ # for the filters that you plan to use. For example, you can filter
1265
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
1266
+ # `GetRightsizingRecommendation`, the Region is a full name (for
1267
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
1268
+ # looks like:
1269
+ #
1270
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1271
+ # “us-west-1” ] \} \}`
1272
+ #
1273
+ # The list of dimension values are OR'd together to retrieve cost or
1274
+ # usage data. You can create `Expression` and `DimensionValues`
1275
+ # objects using either `with*` methods or `set*` methods in multiple
1276
+ # lines.
1277
+ #
1278
+ # * Compound dimension values with logical operations - You can use
1279
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
1280
+ # to create a list of one or more `Expression` objects. This allows
1281
+ # you to filter on more advanced options. For example, you can filter
1282
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1283
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1284
+ # looks like this:
1285
+ #
1286
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1287
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1288
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1289
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
1290
+ #
1291
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
1292
+ # returns an error if more than one is specified. The following
1293
+ # example shows an `Expression` object that creates an error.
1294
+ #
1295
+ # </note>
1296
+ #
1297
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
1298
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
1299
+ #
1300
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
1301
+ # NOT is not supported. OR is not supported between different
1302
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
1303
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
1304
+ # `RIGHTSIZING_TYPE`.
1305
+ #
1306
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
1307
+ # supported. AND and OR are not supported. Dimensions are limited to
1308
+ # `LINKED_ACCOUNT`.
1309
+ #
1310
+ # </note>
1311
+ #
1312
+ # @option params [Array<Types::SortDefinition>] :sort_by
1313
+ # The value by which you want to sort the data.
1314
+ #
1315
+ # The key represents cost and usage metrics. The following values are
1316
+ # supported:
1317
+ #
1318
+ # * `BlendedCost`
1319
+ #
1320
+ # * `UnblendedCost`
1321
+ #
1322
+ # * `AmortizedCost`
1323
+ #
1324
+ # * `NetAmortizedCost`
1325
+ #
1326
+ # * `NetUnblendedCost`
1327
+ #
1328
+ # * `UsageQuantity`
1329
+ #
1330
+ # * `NormalizedUsageAmount`
1331
+ #
1332
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
1333
+ #
1334
+ # When using `SortBy`, `NextPageToken` and `SearchString` are not
1335
+ # supported.
1336
+ #
1337
+ # @option params [Integer] :max_results
1338
+ # This field is only used when `SortBy` is provided in the request.
1339
+ #
1340
+ # The maximum number of objects that to be returned for this request. If
1341
+ # `MaxResults` is not specified with `SortBy`, the request will return
1342
+ # 1000 results as the default value for this parameter.
1343
+ #
1344
+ # For `GetCostCategories`, MaxResults has an upper limit of 1000.
1345
+ #
1346
+ # @option params [String] :next_page_token
1347
+ # If the number of objects that are still available for retrieval
1348
+ # exceeds the limit, AWS returns a NextPageToken value in the response.
1349
+ # To retrieve the next batch of objects, provide the NextPageToken from
1350
+ # the prior call in your next request.
1351
+ #
1352
+ # @return [Types::GetCostCategoriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1353
+ #
1354
+ # * {Types::GetCostCategoriesResponse#next_page_token #next_page_token} => String
1355
+ # * {Types::GetCostCategoriesResponse#cost_category_names #cost_category_names} => Array&lt;String&gt;
1356
+ # * {Types::GetCostCategoriesResponse#cost_category_values #cost_category_values} => Array&lt;String&gt;
1357
+ # * {Types::GetCostCategoriesResponse#return_size #return_size} => Integer
1358
+ # * {Types::GetCostCategoriesResponse#total_size #total_size} => Integer
1359
+ #
1360
+ # @example Request syntax with placeholder values
1361
+ #
1362
+ # resp = client.get_cost_categories({
1363
+ # search_string: "SearchString",
1364
+ # time_period: { # required
1365
+ # start: "YearMonthDay", # required
1366
+ # end: "YearMonthDay", # required
1367
+ # },
1368
+ # cost_category_name: "CostCategoryName",
1369
+ # filter: {
1370
+ # or: [
1371
+ # {
1372
+ # # recursive Expression
1373
+ # },
1374
+ # ],
1375
+ # and: [
1376
+ # {
1377
+ # # recursive Expression
1378
+ # },
1379
+ # ],
1380
+ # not: {
1381
+ # # recursive Expression
1382
+ # },
1383
+ # dimensions: {
1384
+ # 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
1385
+ # values: ["Value"],
1386
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1387
+ # },
1388
+ # tags: {
1389
+ # key: "TagKey",
1390
+ # values: ["Value"],
1391
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1392
+ # },
1393
+ # cost_categories: {
1394
+ # key: "CostCategoryName",
1395
+ # values: ["Value"],
1396
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1397
+ # },
1398
+ # },
1399
+ # sort_by: [
1400
+ # {
1401
+ # key: "SortDefinitionKey", # required
1402
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1403
+ # },
1404
+ # ],
1405
+ # max_results: 1,
1406
+ # next_page_token: "NextPageToken",
1407
+ # })
1408
+ #
1409
+ # @example Response structure
1410
+ #
1411
+ # resp.next_page_token #=> String
1412
+ # resp.cost_category_names #=> Array
1413
+ # resp.cost_category_names[0] #=> String
1414
+ # resp.cost_category_values #=> Array
1415
+ # resp.cost_category_values[0] #=> String
1416
+ # resp.return_size #=> Integer
1417
+ # resp.total_size #=> Integer
1418
+ #
1419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostCategories AWS API Documentation
1420
+ #
1421
+ # @overload get_cost_categories(params = {})
1422
+ # @param [Hash] params ({})
1423
+ def get_cost_categories(params = {}, options = {})
1424
+ req = build_request(:get_cost_categories, params)
1425
+ req.send_request(options)
1426
+ end
1427
+
1214
1428
  # Retrieves a forecast for how much Amazon Web Services predicts that
1215
1429
  # you will spend over the forecast time period that you select, based on
1216
1430
  # your past costs.
@@ -1249,8 +1463,54 @@ module Aws::CostExplorer
1249
1463
  # granularities.
1250
1464
  #
1251
1465
  # @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.
1466
+ # The filters that you want to use to filter your forecast. The
1467
+ # `GetCostForecast` API supports filtering by the following dimensions:
1468
+ #
1469
+ # * `AZ`
1470
+ #
1471
+ # * `INSTANCE_TYPE`
1472
+ #
1473
+ # * `LINKED_ACCOUNT`
1474
+ #
1475
+ # * `LINKED_ACCOUNT_NAME`
1476
+ #
1477
+ # * `OPERATION`
1478
+ #
1479
+ # * `PURCHASE_TYPE`
1480
+ #
1481
+ # * `REGION`
1482
+ #
1483
+ # * `SERVICE`
1484
+ #
1485
+ # * `USAGE_TYPE`
1486
+ #
1487
+ # * `USAGE_TYPE_GROUP`
1488
+ #
1489
+ # * `RECORD_TYPE`
1490
+ #
1491
+ # * `OPERATING_SYSTEM`
1492
+ #
1493
+ # * `TENANCY`
1494
+ #
1495
+ # * `SCOPE`
1496
+ #
1497
+ # * `PLATFORM`
1498
+ #
1499
+ # * `SUBSCRIPTION_ID`
1500
+ #
1501
+ # * `LEGAL_ENTITY_NAME`
1502
+ #
1503
+ # * `DEPLOYMENT_OPTION`
1504
+ #
1505
+ # * `DATABASE_ENGINE`
1506
+ #
1507
+ # * `INSTANCE_TYPE_FAMILY`
1508
+ #
1509
+ # * `BILLING_ENTITY`
1510
+ #
1511
+ # * `RESERVATION_ID`
1512
+ #
1513
+ # * `SAVINGS_PLAN_ARN`
1254
1514
  #
1255
1515
  # @option params [Integer] :prediction_interval_level
1256
1516
  # Cost Explorer always returns the mean forecast as a single point. You
@@ -1289,19 +1549,19 @@ module Aws::CostExplorer
1289
1549
  # # recursive Expression
1290
1550
  # },
1291
1551
  # 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
1552
+ # 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
1553
  # values: ["Value"],
1294
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1554
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1295
1555
  # },
1296
1556
  # tags: {
1297
1557
  # key: "TagKey",
1298
1558
  # values: ["Value"],
1299
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1559
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1300
1560
  # },
1301
1561
  # cost_categories: {
1302
1562
  # key: "CostCategoryName",
1303
1563
  # values: ["Value"],
1304
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1564
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1305
1565
  # },
1306
1566
  # },
1307
1567
  # prediction_interval_level: 1,
@@ -1455,6 +1715,93 @@ module Aws::CostExplorer
1455
1715
  #
1456
1716
  # * SAVINGS\_PLAN\_ARN - The unique identifier for your Savings Plan
1457
1717
  #
1718
+ # @option params [Types::Expression] :filter
1719
+ # Use `Expression` to filter by cost or by usage. There are two
1720
+ # patterns:
1721
+ #
1722
+ # * Simple dimension values - You can set the dimension name and values
1723
+ # for the filters that you plan to use. For example, you can filter
1724
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
1725
+ # `GetRightsizingRecommendation`, the Region is a full name (for
1726
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
1727
+ # looks like:
1728
+ #
1729
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1730
+ # “us-west-1” ] \} \}`
1731
+ #
1732
+ # The list of dimension values are OR'd together to retrieve cost or
1733
+ # usage data. You can create `Expression` and `DimensionValues`
1734
+ # objects using either `with*` methods or `set*` methods in multiple
1735
+ # lines.
1736
+ #
1737
+ # * Compound dimension values with logical operations - You can use
1738
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
1739
+ # to create a list of one or more `Expression` objects. This allows
1740
+ # you to filter on more advanced options. For example, you can filter
1741
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1742
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1743
+ # looks like this:
1744
+ #
1745
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1746
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1747
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1748
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
1749
+ #
1750
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
1751
+ # returns an error if more than one is specified. The following
1752
+ # example shows an `Expression` object that creates an error.
1753
+ #
1754
+ # </note>
1755
+ #
1756
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
1757
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
1758
+ #
1759
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
1760
+ # NOT is not supported. OR is not supported between different
1761
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
1762
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
1763
+ # `RIGHTSIZING_TYPE`.
1764
+ #
1765
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
1766
+ # supported. AND and OR are not supported. Dimensions are limited to
1767
+ # `LINKED_ACCOUNT`.
1768
+ #
1769
+ # </note>
1770
+ #
1771
+ # @option params [Array<Types::SortDefinition>] :sort_by
1772
+ # The value by which you want to sort the data.
1773
+ #
1774
+ # The key represents cost and usage metrics. The following values are
1775
+ # supported:
1776
+ #
1777
+ # * `BlendedCost`
1778
+ #
1779
+ # * `UnblendedCost`
1780
+ #
1781
+ # * `AmortizedCost`
1782
+ #
1783
+ # * `NetAmortizedCost`
1784
+ #
1785
+ # * `NetUnblendedCost`
1786
+ #
1787
+ # * `UsageQuantity`
1788
+ #
1789
+ # * `NormalizedUsageAmount`
1790
+ #
1791
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
1792
+ #
1793
+ # When you specify a `SortBy` paramater, the context must be
1794
+ # `COST_AND_USAGE`. Further, when using `SortBy`, `NextPageToken` and
1795
+ # `SearchString` are not supported.
1796
+ #
1797
+ # @option params [Integer] :max_results
1798
+ # This field is only used when SortBy is provided in the request. The
1799
+ # maximum number of objects that to be returned for this request. If
1800
+ # MaxResults is not specified with SortBy, the request will return 1000
1801
+ # results as the default value for this parameter.
1802
+ #
1803
+ # For `GetDimensionValues`, MaxResults has an upper limit of 1000.
1804
+ #
1458
1805
  # @option params [String] :next_page_token
1459
1806
  # The token to retrieve the next set of results. AWS provides the token
1460
1807
  # when the response from a previous call has more results than the
@@ -1475,8 +1822,45 @@ module Aws::CostExplorer
1475
1822
  # start: "YearMonthDay", # required
1476
1823
  # end: "YearMonthDay", # required
1477
1824
  # },
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
1825
+ # 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
1826
  # context: "COST_AND_USAGE", # accepts COST_AND_USAGE, RESERVATIONS, SAVINGS_PLANS
1827
+ # filter: {
1828
+ # or: [
1829
+ # {
1830
+ # # recursive Expression
1831
+ # },
1832
+ # ],
1833
+ # and: [
1834
+ # {
1835
+ # # recursive Expression
1836
+ # },
1837
+ # ],
1838
+ # not: {
1839
+ # # recursive Expression
1840
+ # },
1841
+ # dimensions: {
1842
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1843
+ # values: ["Value"],
1844
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1845
+ # },
1846
+ # tags: {
1847
+ # key: "TagKey",
1848
+ # values: ["Value"],
1849
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1850
+ # },
1851
+ # cost_categories: {
1852
+ # key: "CostCategoryName",
1853
+ # values: ["Value"],
1854
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1855
+ # },
1856
+ # },
1857
+ # sort_by: [
1858
+ # {
1859
+ # key: "SortDefinitionKey", # required
1860
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1861
+ # },
1862
+ # ],
1863
+ # max_results: 1,
1480
1864
  # next_page_token: "NextPageToken",
1481
1865
  # })
1482
1866
  #
@@ -1631,6 +2015,39 @@ module Aws::CostExplorer
1631
2015
  # when the response from a previous call has more results than the
1632
2016
  # maximum page size.
1633
2017
  #
2018
+ # @option params [Types::SortDefinition] :sort_by
2019
+ # The value by which you want to sort the data.
2020
+ #
2021
+ # The following values are supported for `Key`\:
2022
+ #
2023
+ # * `OnDemandCost`
2024
+ #
2025
+ # * `CoverageHoursPercentage`
2026
+ #
2027
+ # * `OnDemandHours`
2028
+ #
2029
+ # * `ReservedHours`
2030
+ #
2031
+ # * `TotalRunningHours`
2032
+ #
2033
+ # * `CoverageNormalizedUnitsPercentage`
2034
+ #
2035
+ # * `OnDemandNormalizedUnits`
2036
+ #
2037
+ # * `ReservedNormalizedUnits`
2038
+ #
2039
+ # * `TotalRunningNormalizedUnits`
2040
+ #
2041
+ # * `Time`
2042
+ #
2043
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
2044
+ #
2045
+ # @option params [Integer] :max_results
2046
+ # The maximum number of objects that you returned for this request. If
2047
+ # more objects are available, in the response, AWS provides a
2048
+ # NextPageToken value that you can use in a subsequent call to get the
2049
+ # next batch of objects.
2050
+ #
1634
2051
  # @return [Types::GetReservationCoverageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1635
2052
  #
1636
2053
  # * {Types::GetReservationCoverageResponse#coverages_by_time #coverages_by_time} => Array&lt;Types::CoverageByTime&gt;
@@ -1666,23 +2083,28 @@ module Aws::CostExplorer
1666
2083
  # # recursive Expression
1667
2084
  # },
1668
2085
  # 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
2086
+ # 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
2087
  # values: ["Value"],
1671
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2088
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1672
2089
  # },
1673
2090
  # tags: {
1674
2091
  # key: "TagKey",
1675
2092
  # values: ["Value"],
1676
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2093
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1677
2094
  # },
1678
2095
  # cost_categories: {
1679
2096
  # key: "CostCategoryName",
1680
2097
  # values: ["Value"],
1681
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2098
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1682
2099
  # },
1683
2100
  # },
1684
2101
  # metrics: ["MetricName"],
1685
2102
  # next_page_token: "NextPageToken",
2103
+ # sort_by: {
2104
+ # key: "SortDefinitionKey", # required
2105
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2106
+ # },
2107
+ # max_results: 1,
1686
2108
  # })
1687
2109
  #
1688
2110
  # @example Response structure
@@ -1758,6 +2180,59 @@ module Aws::CostExplorer
1758
2180
  # @option params [required, String] :service
1759
2181
  # The specific service that you want recommendations for.
1760
2182
  #
2183
+ # @option params [Types::Expression] :filter
2184
+ # Use `Expression` to filter by cost or by usage. There are two
2185
+ # patterns:
2186
+ #
2187
+ # * Simple dimension values - You can set the dimension name and values
2188
+ # for the filters that you plan to use. For example, you can filter
2189
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
2190
+ # `GetRightsizingRecommendation`, the Region is a full name (for
2191
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
2192
+ # looks like:
2193
+ #
2194
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2195
+ # “us-west-1” ] \} \}`
2196
+ #
2197
+ # The list of dimension values are OR'd together to retrieve cost or
2198
+ # usage data. You can create `Expression` and `DimensionValues`
2199
+ # objects using either `with*` methods or `set*` methods in multiple
2200
+ # lines.
2201
+ #
2202
+ # * Compound dimension values with logical operations - You can use
2203
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
2204
+ # to create a list of one or more `Expression` objects. This allows
2205
+ # you to filter on more advanced options. For example, you can filter
2206
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
2207
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
2208
+ # looks like this:
2209
+ #
2210
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
2211
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
2212
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
2213
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
2214
+ #
2215
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
2216
+ # returns an error if more than one is specified. The following
2217
+ # example shows an `Expression` object that creates an error.
2218
+ #
2219
+ # </note>
2220
+ #
2221
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2222
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2223
+ #
2224
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2225
+ # NOT is not supported. OR is not supported between different
2226
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
2227
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
2228
+ # `RIGHTSIZING_TYPE`.
2229
+ #
2230
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
2231
+ # supported. AND and OR are not supported. Dimensions are limited to
2232
+ # `LINKED_ACCOUNT`.
2233
+ #
2234
+ # </note>
2235
+ #
1761
2236
  # @option params [String] :account_scope
1762
2237
  # The account scope that you want your recommendations for. Amazon Web
1763
2238
  # Services calculates recommendations including the management account
@@ -1799,6 +2274,36 @@ module Aws::CostExplorer
1799
2274
  # resp = client.get_reservation_purchase_recommendation({
1800
2275
  # account_id: "GenericString",
1801
2276
  # service: "GenericString", # required
2277
+ # filter: {
2278
+ # or: [
2279
+ # {
2280
+ # # recursive Expression
2281
+ # },
2282
+ # ],
2283
+ # and: [
2284
+ # {
2285
+ # # recursive Expression
2286
+ # },
2287
+ # ],
2288
+ # not: {
2289
+ # # recursive Expression
2290
+ # },
2291
+ # dimensions: {
2292
+ # 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
2293
+ # values: ["Value"],
2294
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2295
+ # },
2296
+ # tags: {
2297
+ # key: "TagKey",
2298
+ # values: ["Value"],
2299
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2300
+ # },
2301
+ # cost_categories: {
2302
+ # key: "CostCategoryName",
2303
+ # values: ["Value"],
2304
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2305
+ # },
2306
+ # },
1802
2307
  # account_scope: "PAYER", # accepts PAYER, LINKED
1803
2308
  # lookback_period_in_days: "SEVEN_DAYS", # accepts SEVEN_DAYS, THIRTY_DAYS, SIXTY_DAYS
1804
2309
  # term_in_years: "ONE_YEAR", # accepts ONE_YEAR, THREE_YEARS
@@ -1948,11 +2453,58 @@ module Aws::CostExplorer
1948
2453
  #
1949
2454
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
1950
2455
  #
2456
+ # @option params [Types::SortDefinition] :sort_by
2457
+ # The value by which you want to sort the data.
2458
+ #
2459
+ # The following values are supported for `Key`\:
2460
+ #
2461
+ # * `UtilizationPercentage`
2462
+ #
2463
+ # * `UtilizationPercentageInUnits`
2464
+ #
2465
+ # * `PurchasedHours`
2466
+ #
2467
+ # * `PurchasedUnits`
2468
+ #
2469
+ # * `TotalActualHours`
2470
+ #
2471
+ # * `TotalActualUnits`
2472
+ #
2473
+ # * `UnusedHours`
2474
+ #
2475
+ # * `UnusedUnits`
2476
+ #
2477
+ # * `OnDemandCostOfRIHoursUsed`
2478
+ #
2479
+ # * `NetRISavings`
2480
+ #
2481
+ # * `TotalPotentialRISavings`
2482
+ #
2483
+ # * `AmortizedUpfrontFee`
2484
+ #
2485
+ # * `AmortizedRecurringFee`
2486
+ #
2487
+ # * `TotalAmortizedFee`
2488
+ #
2489
+ # * `RICostForUnusedHours`
2490
+ #
2491
+ # * `RealizedSavings`
2492
+ #
2493
+ # * `UnrealizedSavings`
2494
+ #
2495
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
2496
+ #
1951
2497
  # @option params [String] :next_page_token
1952
2498
  # The token to retrieve the next set of results. AWS provides the token
1953
2499
  # when the response from a previous call has more results than the
1954
2500
  # maximum page size.
1955
2501
  #
2502
+ # @option params [Integer] :max_results
2503
+ # The maximum number of objects that you returned for this request. If
2504
+ # more objects are available, in the response, AWS provides a
2505
+ # NextPageToken value that you can use in a subsequent call to get the
2506
+ # next batch of objects.
2507
+ #
1956
2508
  # @return [Types::GetReservationUtilizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1957
2509
  #
1958
2510
  # * {Types::GetReservationUtilizationResponse#utilizations_by_time #utilizations_by_time} => Array&lt;Types::UtilizationByTime&gt;
@@ -1988,22 +2540,27 @@ module Aws::CostExplorer
1988
2540
  # # recursive Expression
1989
2541
  # },
1990
2542
  # 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
2543
+ # 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
2544
  # values: ["Value"],
1993
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2545
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1994
2546
  # },
1995
2547
  # tags: {
1996
2548
  # key: "TagKey",
1997
2549
  # values: ["Value"],
1998
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2550
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1999
2551
  # },
2000
2552
  # cost_categories: {
2001
2553
  # key: "CostCategoryName",
2002
2554
  # values: ["Value"],
2003
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2555
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2004
2556
  # },
2005
2557
  # },
2558
+ # sort_by: {
2559
+ # key: "SortDefinitionKey", # required
2560
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2561
+ # },
2006
2562
  # next_page_token: "NextPageToken",
2563
+ # max_results: 1,
2007
2564
  # })
2008
2565
  #
2009
2566
  # @example Response structure
@@ -2030,6 +2587,9 @@ module Aws::CostExplorer
2030
2587
  # resp.utilizations_by_time[0].groups[0].utilization.amortized_upfront_fee #=> String
2031
2588
  # resp.utilizations_by_time[0].groups[0].utilization.amortized_recurring_fee #=> String
2032
2589
  # resp.utilizations_by_time[0].groups[0].utilization.total_amortized_fee #=> String
2590
+ # resp.utilizations_by_time[0].groups[0].utilization.ri_cost_for_unused_hours #=> String
2591
+ # resp.utilizations_by_time[0].groups[0].utilization.realized_savings #=> String
2592
+ # resp.utilizations_by_time[0].groups[0].utilization.unrealized_savings #=> String
2033
2593
  # resp.utilizations_by_time[0].total.utilization_percentage #=> String
2034
2594
  # resp.utilizations_by_time[0].total.utilization_percentage_in_units #=> String
2035
2595
  # resp.utilizations_by_time[0].total.purchased_hours #=> String
@@ -2044,6 +2604,9 @@ module Aws::CostExplorer
2044
2604
  # resp.utilizations_by_time[0].total.amortized_upfront_fee #=> String
2045
2605
  # resp.utilizations_by_time[0].total.amortized_recurring_fee #=> String
2046
2606
  # resp.utilizations_by_time[0].total.total_amortized_fee #=> String
2607
+ # resp.utilizations_by_time[0].total.ri_cost_for_unused_hours #=> String
2608
+ # resp.utilizations_by_time[0].total.realized_savings #=> String
2609
+ # resp.utilizations_by_time[0].total.unrealized_savings #=> String
2047
2610
  # resp.total.utilization_percentage #=> String
2048
2611
  # resp.total.utilization_percentage_in_units #=> String
2049
2612
  # resp.total.purchased_hours #=> String
@@ -2058,6 +2621,9 @@ module Aws::CostExplorer
2058
2621
  # resp.total.amortized_upfront_fee #=> String
2059
2622
  # resp.total.amortized_recurring_fee #=> String
2060
2623
  # resp.total.total_amortized_fee #=> String
2624
+ # resp.total.ri_cost_for_unused_hours #=> String
2625
+ # resp.total.realized_savings #=> String
2626
+ # resp.total.unrealized_savings #=> String
2061
2627
  # resp.next_page_token #=> String
2062
2628
  #
2063
2629
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization AWS API Documentation
@@ -2123,10 +2689,15 @@ module Aws::CostExplorer
2123
2689
  # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2124
2690
  # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2125
2691
  #
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`.
2692
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2693
+ # NOT is not supported. OR is not supported between different
2694
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
2695
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
2696
+ # `RIGHTSIZING_TYPE`.
2697
+ #
2698
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
2699
+ # supported. AND and OR are not supported. Dimensions are limited to
2700
+ # `LINKED_ACCOUNT`.
2130
2701
  #
2131
2702
  # </note>
2132
2703
  #
@@ -2176,19 +2747,19 @@ module Aws::CostExplorer
2176
2747
  # # recursive Expression
2177
2748
  # },
2178
2749
  # 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
2750
+ # 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
2751
  # values: ["Value"],
2181
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2752
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2182
2753
  # },
2183
2754
  # tags: {
2184
2755
  # key: "TagKey",
2185
2756
  # values: ["Value"],
2186
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2757
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2187
2758
  # },
2188
2759
  # cost_categories: {
2189
2760
  # key: "CostCategoryName",
2190
2761
  # values: ["Value"],
2191
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2762
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2192
2763
  # },
2193
2764
  # },
2194
2765
  # configuration: {
@@ -2219,7 +2790,7 @@ module Aws::CostExplorer
2219
2790
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values #=> Array
2220
2791
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values[0] #=> String
2221
2792
  # 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"
2793
+ # 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
2794
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.hourly_on_demand_rate #=> String
2224
2795
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.instance_type #=> String
2225
2796
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.platform #=> String
@@ -2349,6 +2920,27 @@ module Aws::CostExplorer
2349
2920
  # The number of items to be returned in a response. The default is `20`,
2350
2921
  # with a minimum value of `1`.
2351
2922
  #
2923
+ # @option params [Types::SortDefinition] :sort_by
2924
+ # The value by which you want to sort the data.
2925
+ #
2926
+ # The following values are supported for `Key`\:
2927
+ #
2928
+ # * `SpendCoveredBySavingsPlan`
2929
+ #
2930
+ # * `OnDemandCost`
2931
+ #
2932
+ # * `CoveragePercentage`
2933
+ #
2934
+ # * `TotalCost`
2935
+ #
2936
+ # * `InstanceFamily`
2937
+ #
2938
+ # * `Region`
2939
+ #
2940
+ # * `Service`
2941
+ #
2942
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
2943
+ #
2352
2944
  # @return [Types::GetSavingsPlansCoverageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2353
2945
  #
2354
2946
  # * {Types::GetSavingsPlansCoverageResponse#savings_plans_coverages #savings_plans_coverages} => Array&lt;Types::SavingsPlansCoverage&gt;
@@ -2385,24 +2977,28 @@ module Aws::CostExplorer
2385
2977
  # # recursive Expression
2386
2978
  # },
2387
2979
  # 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
2980
+ # 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
2981
  # values: ["Value"],
2390
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2982
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2391
2983
  # },
2392
2984
  # tags: {
2393
2985
  # key: "TagKey",
2394
2986
  # values: ["Value"],
2395
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2987
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2396
2988
  # },
2397
2989
  # cost_categories: {
2398
2990
  # key: "CostCategoryName",
2399
2991
  # values: ["Value"],
2400
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2992
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2401
2993
  # },
2402
2994
  # },
2403
2995
  # metrics: ["MetricName"],
2404
2996
  # next_token: "NextPageToken",
2405
2997
  # max_results: 1,
2998
+ # sort_by: {
2999
+ # key: "SortDefinitionKey", # required
3000
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3001
+ # },
2406
3002
  # })
2407
3003
  #
2408
3004
  # @example Response structure
@@ -2504,19 +3100,19 @@ module Aws::CostExplorer
2504
3100
  # # recursive Expression
2505
3101
  # },
2506
3102
  # 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
3103
+ # 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
3104
  # values: ["Value"],
2509
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3105
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2510
3106
  # },
2511
3107
  # tags: {
2512
3108
  # key: "TagKey",
2513
3109
  # values: ["Value"],
2514
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3110
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2515
3111
  # },
2516
3112
  # cost_categories: {
2517
3113
  # key: "CostCategoryName",
2518
3114
  # values: ["Value"],
2519
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3115
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2520
3116
  # },
2521
3117
  # },
2522
3118
  # })
@@ -2620,6 +3216,23 @@ module Aws::CostExplorer
2620
3216
  #
2621
3217
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2622
3218
  #
3219
+ # @option params [Types::SortDefinition] :sort_by
3220
+ # The value by which you want to sort the data.
3221
+ #
3222
+ # The following values are supported for `Key`\:
3223
+ #
3224
+ # * `UtilizationPercentage`
3225
+ #
3226
+ # * `TotalCommitment`
3227
+ #
3228
+ # * `UsedCommitment`
3229
+ #
3230
+ # * `UnusedCommitment`
3231
+ #
3232
+ # * `NetSavings`
3233
+ #
3234
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3235
+ #
2623
3236
  # @return [Types::GetSavingsPlansUtilizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2624
3237
  #
2625
3238
  # * {Types::GetSavingsPlansUtilizationResponse#savings_plans_utilizations_by_time #savings_plans_utilizations_by_time} => Array&lt;Types::SavingsPlansUtilizationByTime&gt;
@@ -2648,21 +3261,25 @@ module Aws::CostExplorer
2648
3261
  # # recursive Expression
2649
3262
  # },
2650
3263
  # 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
3264
+ # 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
3265
  # values: ["Value"],
2653
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3266
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2654
3267
  # },
2655
3268
  # tags: {
2656
3269
  # key: "TagKey",
2657
3270
  # values: ["Value"],
2658
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3271
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2659
3272
  # },
2660
3273
  # cost_categories: {
2661
3274
  # key: "CostCategoryName",
2662
3275
  # values: ["Value"],
2663
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3276
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2664
3277
  # },
2665
3278
  # },
3279
+ # sort_by: {
3280
+ # key: "SortDefinitionKey", # required
3281
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3282
+ # },
2666
3283
  # })
2667
3284
  #
2668
3285
  # @example Response structure
@@ -2740,6 +3357,9 @@ module Aws::CostExplorer
2740
3357
  #
2741
3358
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2742
3359
  #
3360
+ # @option params [Array<String>] :data_type
3361
+ # The data type.
3362
+ #
2743
3363
  # @option params [String] :next_token
2744
3364
  # The token to retrieve the next set of results. Amazon Web Services
2745
3365
  # provides the token when the response from a previous call has more
@@ -2749,6 +3369,27 @@ module Aws::CostExplorer
2749
3369
  # The number of items to be returned in a response. The default is `20`,
2750
3370
  # with a minimum value of `1`.
2751
3371
  #
3372
+ # @option params [Types::SortDefinition] :sort_by
3373
+ # The value by which you want to sort the data.
3374
+ #
3375
+ # The following values are supported for `Key`\:
3376
+ #
3377
+ # * `UtilizationPercentage`
3378
+ #
3379
+ # * `TotalCommitment`
3380
+ #
3381
+ # * `UsedCommitment`
3382
+ #
3383
+ # * `UnusedCommitment`
3384
+ #
3385
+ # * `NetSavings`
3386
+ #
3387
+ # * `AmortizedRecurringCommitment`
3388
+ #
3389
+ # * `AmortizedUpfrontCommitment`
3390
+ #
3391
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3392
+ #
2752
3393
  # @return [Types::GetSavingsPlansUtilizationDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2753
3394
  #
2754
3395
  # * {Types::GetSavingsPlansUtilizationDetailsResponse#savings_plans_utilization_details #savings_plans_utilization_details} => Array&lt;Types::SavingsPlansUtilizationDetail&gt;
@@ -2780,23 +3421,28 @@ module Aws::CostExplorer
2780
3421
  # # recursive Expression
2781
3422
  # },
2782
3423
  # 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
3424
+ # 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
3425
  # values: ["Value"],
2785
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3426
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2786
3427
  # },
2787
3428
  # tags: {
2788
3429
  # key: "TagKey",
2789
3430
  # values: ["Value"],
2790
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3431
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2791
3432
  # },
2792
3433
  # cost_categories: {
2793
3434
  # key: "CostCategoryName",
2794
3435
  # values: ["Value"],
2795
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3436
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2796
3437
  # },
2797
3438
  # },
3439
+ # data_type: ["ATTRIBUTES"], # accepts ATTRIBUTES, UTILIZATION, AMORTIZED_COMMITMENT, SAVINGS
2798
3440
  # next_token: "NextPageToken",
2799
3441
  # max_results: 1,
3442
+ # sort_by: {
3443
+ # key: "SortDefinitionKey", # required
3444
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3445
+ # },
2800
3446
  # })
2801
3447
  #
2802
3448
  # @example Response structure
@@ -2852,6 +3498,92 @@ module Aws::CostExplorer
2852
3498
  # @option params [String] :tag_key
2853
3499
  # The key of the tag that you want to return values for.
2854
3500
  #
3501
+ # @option params [Types::Expression] :filter
3502
+ # Use `Expression` to filter by cost or by usage. There are two
3503
+ # patterns:
3504
+ #
3505
+ # * Simple dimension values - You can set the dimension name and values
3506
+ # for the filters that you plan to use. For example, you can filter
3507
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
3508
+ # `GetRightsizingRecommendation`, the Region is a full name (for
3509
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
3510
+ # looks like:
3511
+ #
3512
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
3513
+ # “us-west-1” ] \} \}`
3514
+ #
3515
+ # The list of dimension values are OR'd together to retrieve cost or
3516
+ # usage data. You can create `Expression` and `DimensionValues`
3517
+ # objects using either `with*` methods or `set*` methods in multiple
3518
+ # lines.
3519
+ #
3520
+ # * Compound dimension values with logical operations - You can use
3521
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
3522
+ # to create a list of one or more `Expression` objects. This allows
3523
+ # you to filter on more advanced options. For example, you can filter
3524
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
3525
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
3526
+ # looks like this:
3527
+ #
3528
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
3529
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
3530
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
3531
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
3532
+ #
3533
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
3534
+ # returns an error if more than one is specified. The following
3535
+ # example shows an `Expression` object that creates an error.
3536
+ #
3537
+ # </note>
3538
+ #
3539
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
3540
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
3541
+ #
3542
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
3543
+ # NOT is not supported. OR is not supported between different
3544
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
3545
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
3546
+ # `RIGHTSIZING_TYPE`.
3547
+ #
3548
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
3549
+ # supported. AND and OR are not supported. Dimensions are limited to
3550
+ # `LINKED_ACCOUNT`.
3551
+ #
3552
+ # </note>
3553
+ #
3554
+ # @option params [Array<Types::SortDefinition>] :sort_by
3555
+ # The value by which you want to sort the data.
3556
+ #
3557
+ # The key represents cost and usage metrics. The following values are
3558
+ # supported:
3559
+ #
3560
+ # * `BlendedCost`
3561
+ #
3562
+ # * `UnblendedCost`
3563
+ #
3564
+ # * `AmortizedCost`
3565
+ #
3566
+ # * `NetAmortizedCost`
3567
+ #
3568
+ # * `NetUnblendedCost`
3569
+ #
3570
+ # * `UsageQuantity`
3571
+ #
3572
+ # * `NormalizedUsageAmount`
3573
+ #
3574
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3575
+ #
3576
+ # When using `SortBy`, `NextPageToken` and `SearchString` are not
3577
+ # supported.
3578
+ #
3579
+ # @option params [Integer] :max_results
3580
+ # This field is only used when SortBy is provided in the request. The
3581
+ # maximum number of objects that to be returned for this request. If
3582
+ # MaxResults is not specified with SortBy, the request will return 1000
3583
+ # results as the default value for this parameter.
3584
+ #
3585
+ # For `GetTags`, MaxResults has an upper limit of 1000.
3586
+ #
2855
3587
  # @option params [String] :next_page_token
2856
3588
  # The token to retrieve the next set of results. AWS provides the token
2857
3589
  # when the response from a previous call has more results than the
@@ -2873,6 +3605,43 @@ module Aws::CostExplorer
2873
3605
  # end: "YearMonthDay", # required
2874
3606
  # },
2875
3607
  # tag_key: "TagKey",
3608
+ # filter: {
3609
+ # or: [
3610
+ # {
3611
+ # # recursive Expression
3612
+ # },
3613
+ # ],
3614
+ # and: [
3615
+ # {
3616
+ # # recursive Expression
3617
+ # },
3618
+ # ],
3619
+ # not: {
3620
+ # # recursive Expression
3621
+ # },
3622
+ # dimensions: {
3623
+ # 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
3624
+ # values: ["Value"],
3625
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3626
+ # },
3627
+ # tags: {
3628
+ # key: "TagKey",
3629
+ # values: ["Value"],
3630
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3631
+ # },
3632
+ # cost_categories: {
3633
+ # key: "CostCategoryName",
3634
+ # values: ["Value"],
3635
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3636
+ # },
3637
+ # },
3638
+ # sort_by: [
3639
+ # {
3640
+ # key: "SortDefinitionKey", # required
3641
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3642
+ # },
3643
+ # ],
3644
+ # max_results: 1,
2876
3645
  # next_page_token: "NextPageToken",
2877
3646
  # })
2878
3647
  #
@@ -2923,8 +3692,54 @@ module Aws::CostExplorer
2923
3692
  # granularities.
2924
3693
  #
2925
3694
  # @option params [Types::Expression] :filter
2926
- # The filters that you want to use to filter your forecast. Cost
2927
- # Explorer API supports all of the Cost Explorer filters.
3695
+ # The filters that you want to use to filter your forecast. The
3696
+ # `GetUsageForecast` API supports filtering by the following dimensions:
3697
+ #
3698
+ # * `AZ`
3699
+ #
3700
+ # * `INSTANCE_TYPE`
3701
+ #
3702
+ # * `LINKED_ACCOUNT`
3703
+ #
3704
+ # * `LINKED_ACCOUNT_NAME`
3705
+ #
3706
+ # * `OPERATION`
3707
+ #
3708
+ # * `PURCHASE_TYPE`
3709
+ #
3710
+ # * `REGION`
3711
+ #
3712
+ # * `SERVICE`
3713
+ #
3714
+ # * `USAGE_TYPE`
3715
+ #
3716
+ # * `USAGE_TYPE_GROUP`
3717
+ #
3718
+ # * `RECORD_TYPE`
3719
+ #
3720
+ # * `OPERATING_SYSTEM`
3721
+ #
3722
+ # * `TENANCY`
3723
+ #
3724
+ # * `SCOPE`
3725
+ #
3726
+ # * `PLATFORM`
3727
+ #
3728
+ # * `SUBSCRIPTION_ID`
3729
+ #
3730
+ # * `LEGAL_ENTITY_NAME`
3731
+ #
3732
+ # * `DEPLOYMENT_OPTION`
3733
+ #
3734
+ # * `DATABASE_ENGINE`
3735
+ #
3736
+ # * `INSTANCE_TYPE_FAMILY`
3737
+ #
3738
+ # * `BILLING_ENTITY`
3739
+ #
3740
+ # * `RESERVATION_ID`
3741
+ #
3742
+ # * `SAVINGS_PLAN_ARN`
2928
3743
  #
2929
3744
  # @option params [Integer] :prediction_interval_level
2930
3745
  # Cost Explorer always returns the mean forecast as a single point. You
@@ -2963,19 +3778,19 @@ module Aws::CostExplorer
2963
3778
  # # recursive Expression
2964
3779
  # },
2965
3780
  # 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
3781
+ # 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
3782
  # values: ["Value"],
2968
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3783
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2969
3784
  # },
2970
3785
  # tags: {
2971
3786
  # key: "TagKey",
2972
3787
  # values: ["Value"],
2973
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3788
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2974
3789
  # },
2975
3790
  # cost_categories: {
2976
3791
  # key: "CostCategoryName",
2977
3792
  # values: ["Value"],
2978
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3793
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2979
3794
  # },
2980
3795
  # },
2981
3796
  # prediction_interval_level: 1,
@@ -3049,6 +3864,7 @@ module Aws::CostExplorer
3049
3864
  # resp.cost_category_references[0].processing_status[0].status #=> String, one of "PROCESSING", "APPLIED"
3050
3865
  # resp.cost_category_references[0].values #=> Array
3051
3866
  # resp.cost_category_references[0].values[0] #=> String
3867
+ # resp.cost_category_references[0].default_value #=> String
3052
3868
  # resp.next_token #=> String
3053
3869
  #
3054
3870
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostCategoryDefinitions AWS API Documentation
@@ -3200,6 +4016,9 @@ module Aws::CostExplorer
3200
4016
  #
3201
4017
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_CostCategoryRule.html
3202
4018
  #
4019
+ # @option params [String] :default_value
4020
+ # The default value for the cost category.
4021
+ #
3203
4022
  # @return [Types::UpdateCostCategoryDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3204
4023
  #
3205
4024
  # * {Types::UpdateCostCategoryDefinitionResponse#cost_category_arn #cost_category_arn} => String
@@ -3212,8 +4031,8 @@ module Aws::CostExplorer
3212
4031
  # rule_version: "CostCategoryExpression.v1", # required, accepts CostCategoryExpression.v1
3213
4032
  # rules: [ # required
3214
4033
  # {
3215
- # value: "CostCategoryValue", # required
3216
- # rule: { # required
4034
+ # value: "CostCategoryValue",
4035
+ # rule: {
3217
4036
  # or: [
3218
4037
  # {
3219
4038
  # # recursive Expression
@@ -3228,23 +4047,29 @@ module Aws::CostExplorer
3228
4047
  # # recursive Expression
3229
4048
  # },
3230
4049
  # 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
4050
+ # 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
4051
  # values: ["Value"],
3233
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4052
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3234
4053
  # },
3235
4054
  # tags: {
3236
4055
  # key: "TagKey",
3237
4056
  # values: ["Value"],
3238
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4057
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3239
4058
  # },
3240
4059
  # cost_categories: {
3241
4060
  # key: "CostCategoryName",
3242
4061
  # values: ["Value"],
3243
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4062
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3244
4063
  # },
3245
4064
  # },
4065
+ # inherited_value: {
4066
+ # dimension_name: "LINKED_ACCOUNT_NAME", # accepts LINKED_ACCOUNT_NAME, TAG
4067
+ # dimension_key: "GenericString",
4068
+ # },
4069
+ # type: "REGULAR", # accepts REGULAR, INHERITED_VALUE
3246
4070
  # },
3247
4071
  # ],
4072
+ # default_value: "CostCategoryValue",
3248
4073
  # })
3249
4074
  #
3250
4075
  # @example Response structure
@@ -3274,7 +4099,7 @@ module Aws::CostExplorer
3274
4099
  params: params,
3275
4100
  config: config)
3276
4101
  context[:gem_name] = 'aws-sdk-costexplorer'
3277
- context[:gem_version] = '1.55.0'
4102
+ context[:gem_version] = '1.60.0'
3278
4103
  Seahorse::Client::Request.new(handlers, context)
3279
4104
  end
3280
4105