aws-sdk-costexplorer 1.52.0 → 1.57.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: '04803150baa34e220ad9f1d8aba16ec9e785ce813789155ccebe8e339dafe006'
4
- data.tar.gz: a33f0130626afe470c9fe78b4f20c4a82b9bddadfd622d6ca51ab0b98fb7d102
3
+ metadata.gz: d85cf5f3240cf155d437293d6c7df1b3d8563ffca0600bbf9b949635393d8d29
4
+ data.tar.gz: 0fb516d77176c9e09aeca13312f06064ffd39ea8ce17bb8b8df4bf8999e5ee92
5
5
  SHA512:
6
- metadata.gz: 0b04966b37fc6cfd8cf503ecce1d9dcc87343c5b5cfd9114fc21c704c8737960cd81f2e1d58787426b14d73cb2e762e473a79e074c437be889ebf1ce5e367521
7
- data.tar.gz: 426c346572001de07b9f97ec7518c0bdd5439da4c70a0cd791d800abae2dd6f1603ec23d82642585d68a3326ad97536b665286de9bc225d654e971b896697f50
6
+ metadata.gz: 19ebb2ee1c9ae12308c5a0bd7d2b767dc2ac2c738220013858749a9c7fcb03a2c0ff25577fe029bd2d8bd1ae131476e7f4b0cc4964f71fb38076e514160f50e9
7
+ data.tar.gz: ace84c9b4bdb084a79fb1432214727883397535583691e0ded5599ced7f854867c770103187f10d82adf2a1c4d7721c5e202c94b1d90479ef4cc854d9a445459
@@ -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.52.0'
51
+ GEM_VERSION = '1.57.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
  #
@@ -884,13 +884,17 @@ module Aws::CostExplorer
884
884
  # `UsageQuantity`, that you want the request to return. You can also
885
885
  # filter and group your data by various dimensions, such as `SERVICE` or
886
886
  # `AZ`, in a specific time range. For a complete list of valid
887
- # dimensions, see the [GetDimensionValues][1] operation. Master account
888
- # in an organization in AWS Organizations have access to all member
889
- # accounts.
887
+ # dimensions, see the [GetDimensionValues][1] operation. Management
888
+ # account in an organization in AWS Organizations have access to all
889
+ # member accounts.
890
+ #
891
+ # For information about filter limitations, see [Quotas and
892
+ # restrictions][2] in the *Billing and Cost Management User Guide*.
890
893
  #
891
894
  #
892
895
  #
893
896
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html
897
+ # [2]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-limits.html
894
898
  #
895
899
  # @option params [required, Types::DateInterval] :time_period
896
900
  # Sets the start and end dates for retrieving AWS costs. The start date
@@ -961,6 +965,7 @@ module Aws::CostExplorer
961
965
  # * {Types::GetCostAndUsageResponse#next_page_token #next_page_token} => String
962
966
  # * {Types::GetCostAndUsageResponse#group_definitions #group_definitions} => Array<Types::GroupDefinition>
963
967
  # * {Types::GetCostAndUsageResponse#results_by_time #results_by_time} => Array<Types::ResultByTime>
968
+ # * {Types::GetCostAndUsageResponse#dimension_value_attributes #dimension_value_attributes} => Array<Types::DimensionValuesWithAttributes>
964
969
  #
965
970
  # @example Request syntax with placeholder values
966
971
  #
@@ -985,19 +990,19 @@ module Aws::CostExplorer
985
990
  # # recursive Expression
986
991
  # },
987
992
  # dimensions: {
988
- # 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
989
994
  # values: ["Value"],
990
- # 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
991
996
  # },
992
997
  # tags: {
993
998
  # key: "TagKey",
994
999
  # values: ["Value"],
995
- # 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
996
1001
  # },
997
1002
  # cost_categories: {
998
1003
  # key: "CostCategoryName",
999
1004
  # values: ["Value"],
1000
- # 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
1001
1006
  # },
1002
1007
  # },
1003
1008
  # metrics: ["MetricName"], # required
@@ -1029,6 +1034,10 @@ module Aws::CostExplorer
1029
1034
  # resp.results_by_time[0].groups[0].metrics["MetricName"].amount #=> String
1030
1035
  # resp.results_by_time[0].groups[0].metrics["MetricName"].unit #=> String
1031
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>
1032
1041
  #
1033
1042
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage AWS API Documentation
1034
1043
  #
@@ -1045,8 +1054,8 @@ module Aws::CostExplorer
1045
1054
  # return. You can also filter and group your data by various dimensions,
1046
1055
  # such as `SERVICE` or `AZ`, in a specific time range. For a complete
1047
1056
  # list of valid dimensions, see the [GetDimensionValues][1] operation.
1048
- # Master account in an organization in AWS Organizations have access to
1049
- # all member accounts. This API is currently available for the Amazon
1057
+ # Management account in an organization in AWS Organizations have access
1058
+ # to all member accounts. This API is currently available for the Amazon
1050
1059
  # Elastic Compute Cloud – Compute service only.
1051
1060
  #
1052
1061
  # <note markdown="1"> This is an opt-in only feature. You can enable this feature from the
@@ -1129,6 +1138,7 @@ module Aws::CostExplorer
1129
1138
  # * {Types::GetCostAndUsageWithResourcesResponse#next_page_token #next_page_token} => String
1130
1139
  # * {Types::GetCostAndUsageWithResourcesResponse#group_definitions #group_definitions} => Array&lt;Types::GroupDefinition&gt;
1131
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;
1132
1142
  #
1133
1143
  # @example Request syntax with placeholder values
1134
1144
  #
@@ -1153,19 +1163,19 @@ module Aws::CostExplorer
1153
1163
  # # recursive Expression
1154
1164
  # },
1155
1165
  # dimensions: {
1156
- # 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
1157
1167
  # values: ["Value"],
1158
- # 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
1159
1169
  # },
1160
1170
  # tags: {
1161
1171
  # key: "TagKey",
1162
1172
  # values: ["Value"],
1163
- # 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
1164
1174
  # },
1165
1175
  # cost_categories: {
1166
1176
  # key: "CostCategoryName",
1167
1177
  # values: ["Value"],
1168
- # 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
1169
1179
  # },
1170
1180
  # },
1171
1181
  # metrics: ["MetricName"],
@@ -1197,6 +1207,10 @@ module Aws::CostExplorer
1197
1207
  # resp.results_by_time[0].groups[0].metrics["MetricName"].amount #=> String
1198
1208
  # resp.results_by_time[0].groups[0].metrics["MetricName"].unit #=> String
1199
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>
1200
1214
  #
1201
1215
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsageWithResources AWS API Documentation
1202
1216
  #
@@ -1207,6 +1221,195 @@ module Aws::CostExplorer
1207
1221
  req.send_request(options)
1208
1222
  end
1209
1223
 
1224
+ # Retrieves an array of Cost Category names and values incurred cost.
1225
+ #
1226
+ # <note markdown="1"> If some Cost Category names and values are not associated with any
1227
+ # cost, they will not be returned by this API.
1228
+ #
1229
+ # </note>
1230
+ #
1231
+ # @option params [String] :search_string
1232
+ # The value that you want to search the filter values for.
1233
+ #
1234
+ # If you do not specify a `CostCategoryName`, `SearchString` will be
1235
+ # used to filter Cost Category names that match the `SearchString`
1236
+ # pattern. If you do specifiy a `CostCategoryName`, `SearchString` will
1237
+ # be used to filter Cost Category values that match the `SearchString`
1238
+ # pattern.
1239
+ #
1240
+ # @option params [required, Types::DateInterval] :time_period
1241
+ # The time period of the request.
1242
+ #
1243
+ # @option params [String] :cost_category_name
1244
+ # The unique name of the Cost Category.
1245
+ #
1246
+ # @option params [Types::Expression] :filter
1247
+ # Use `Expression` to filter by cost or by usage. There are two
1248
+ # patterns:
1249
+ #
1250
+ # * Simple dimension values - You can set the dimension name and values
1251
+ # for the filters that you plan to use. For example, you can filter
1252
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
1253
+ # `GetRightsizingRecommendation`, the Region is a full name (for
1254
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
1255
+ # looks like:
1256
+ #
1257
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1258
+ # “us-west-1” ] \} \}`
1259
+ #
1260
+ # The list of dimension values are OR'd together to retrieve cost or
1261
+ # usage data. You can create `Expression` and `DimensionValues`
1262
+ # objects using either `with*` methods or `set*` methods in multiple
1263
+ # lines.
1264
+ #
1265
+ # * Compound dimension values with logical operations - You can use
1266
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
1267
+ # to create a list of one or more `Expression` objects. This allows
1268
+ # you to filter on more advanced options. For example, you can filter
1269
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1270
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1271
+ # looks like this:
1272
+ #
1273
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1274
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1275
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1276
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
1277
+ #
1278
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
1279
+ # returns an error if more than one is specified. The following
1280
+ # example shows an `Expression` object that creates an error.
1281
+ #
1282
+ # </note>
1283
+ #
1284
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
1285
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
1286
+ #
1287
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
1288
+ # NOT is not supported. OR is not supported between different
1289
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
1290
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
1291
+ # `RIGHTSIZING_TYPE`.
1292
+ #
1293
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
1294
+ # supported. AND and OR are not supported. Dimensions are limited to
1295
+ # `LINKED_ACCOUNT`.
1296
+ #
1297
+ # </note>
1298
+ #
1299
+ # @option params [Array<Types::SortDefinition>] :sort_by
1300
+ # The value by which you want to sort the data.
1301
+ #
1302
+ # The key represents cost and usage metrics. The following values are
1303
+ # supported:
1304
+ #
1305
+ # * `BlendedCost`
1306
+ #
1307
+ # * `UnblendedCost`
1308
+ #
1309
+ # * `AmortizedCost`
1310
+ #
1311
+ # * `NetAmortizedCost`
1312
+ #
1313
+ # * `NetUnblendedCost`
1314
+ #
1315
+ # * `UsageQuantity`
1316
+ #
1317
+ # * `NormalizedUsageAmount`
1318
+ #
1319
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
1320
+ #
1321
+ # When using `SortBy`, `NextPageToken` and `SearchString` are not
1322
+ # supported.
1323
+ #
1324
+ # @option params [Integer] :max_results
1325
+ # This field is only used when `SortBy` is provided in the request.
1326
+ #
1327
+ # The maximum number of objects that to be returned for this request. If
1328
+ # `MaxResults` is not specified with `SortBy`, the request will return
1329
+ # 1000 results as the default value for this parameter.
1330
+ #
1331
+ # @option params [String] :next_page_token
1332
+ # If the number of objects that are still available for retrieval
1333
+ # exceeds the limit, AWS returns a NextPageToken value in the response.
1334
+ # To retrieve the next batch of objects, provide the NextPageToken from
1335
+ # the prior call in your next request.
1336
+ #
1337
+ # @return [Types::GetCostCategoriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1338
+ #
1339
+ # * {Types::GetCostCategoriesResponse#next_page_token #next_page_token} => String
1340
+ # * {Types::GetCostCategoriesResponse#cost_category_names #cost_category_names} => Array&lt;String&gt;
1341
+ # * {Types::GetCostCategoriesResponse#cost_category_values #cost_category_values} => Array&lt;String&gt;
1342
+ # * {Types::GetCostCategoriesResponse#return_size #return_size} => Integer
1343
+ # * {Types::GetCostCategoriesResponse#total_size #total_size} => Integer
1344
+ #
1345
+ # @example Request syntax with placeholder values
1346
+ #
1347
+ # resp = client.get_cost_categories({
1348
+ # search_string: "SearchString",
1349
+ # time_period: { # required
1350
+ # start: "YearMonthDay", # required
1351
+ # end: "YearMonthDay", # required
1352
+ # },
1353
+ # cost_category_name: "CostCategoryName",
1354
+ # filter: {
1355
+ # or: [
1356
+ # {
1357
+ # # recursive Expression
1358
+ # },
1359
+ # ],
1360
+ # and: [
1361
+ # {
1362
+ # # recursive Expression
1363
+ # },
1364
+ # ],
1365
+ # not: {
1366
+ # # recursive Expression
1367
+ # },
1368
+ # dimensions: {
1369
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1370
+ # values: ["Value"],
1371
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1372
+ # },
1373
+ # tags: {
1374
+ # key: "TagKey",
1375
+ # values: ["Value"],
1376
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1377
+ # },
1378
+ # cost_categories: {
1379
+ # key: "CostCategoryName",
1380
+ # values: ["Value"],
1381
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1382
+ # },
1383
+ # },
1384
+ # sort_by: [
1385
+ # {
1386
+ # key: "SortDefinitionKey", # required
1387
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1388
+ # },
1389
+ # ],
1390
+ # max_results: 1,
1391
+ # next_page_token: "NextPageToken",
1392
+ # })
1393
+ #
1394
+ # @example Response structure
1395
+ #
1396
+ # resp.next_page_token #=> String
1397
+ # resp.cost_category_names #=> Array
1398
+ # resp.cost_category_names[0] #=> String
1399
+ # resp.cost_category_values #=> Array
1400
+ # resp.cost_category_values[0] #=> String
1401
+ # resp.return_size #=> Integer
1402
+ # resp.total_size #=> Integer
1403
+ #
1404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostCategories AWS API Documentation
1405
+ #
1406
+ # @overload get_cost_categories(params = {})
1407
+ # @param [Hash] params ({})
1408
+ def get_cost_categories(params = {}, options = {})
1409
+ req = build_request(:get_cost_categories, params)
1410
+ req.send_request(options)
1411
+ end
1412
+
1210
1413
  # Retrieves a forecast for how much Amazon Web Services predicts that
1211
1414
  # you will spend over the forecast time period that you select, based on
1212
1415
  # your past costs.
@@ -1285,19 +1488,19 @@ module Aws::CostExplorer
1285
1488
  # # recursive Expression
1286
1489
  # },
1287
1490
  # dimensions: {
1288
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1491
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1289
1492
  # values: ["Value"],
1290
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1493
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1291
1494
  # },
1292
1495
  # tags: {
1293
1496
  # key: "TagKey",
1294
1497
  # values: ["Value"],
1295
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1498
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1296
1499
  # },
1297
1500
  # cost_categories: {
1298
1501
  # key: "CostCategoryName",
1299
1502
  # values: ["Value"],
1300
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1503
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1301
1504
  # },
1302
1505
  # },
1303
1506
  # prediction_interval_level: 1,
@@ -1451,6 +1654,91 @@ module Aws::CostExplorer
1451
1654
  #
1452
1655
  # * SAVINGS\_PLAN\_ARN - The unique identifier for your Savings Plan
1453
1656
  #
1657
+ # @option params [Types::Expression] :filter
1658
+ # Use `Expression` to filter by cost or by usage. There are two
1659
+ # patterns:
1660
+ #
1661
+ # * Simple dimension values - You can set the dimension name and values
1662
+ # for the filters that you plan to use. For example, you can filter
1663
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
1664
+ # `GetRightsizingRecommendation`, the Region is a full name (for
1665
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
1666
+ # looks like:
1667
+ #
1668
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1669
+ # “us-west-1” ] \} \}`
1670
+ #
1671
+ # The list of dimension values are OR'd together to retrieve cost or
1672
+ # usage data. You can create `Expression` and `DimensionValues`
1673
+ # objects using either `with*` methods or `set*` methods in multiple
1674
+ # lines.
1675
+ #
1676
+ # * Compound dimension values with logical operations - You can use
1677
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
1678
+ # to create a list of one or more `Expression` objects. This allows
1679
+ # you to filter on more advanced options. For example, you can filter
1680
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1681
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1682
+ # looks like this:
1683
+ #
1684
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1685
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1686
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1687
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
1688
+ #
1689
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
1690
+ # returns an error if more than one is specified. The following
1691
+ # example shows an `Expression` object that creates an error.
1692
+ #
1693
+ # </note>
1694
+ #
1695
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
1696
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
1697
+ #
1698
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
1699
+ # NOT is not supported. OR is not supported between different
1700
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
1701
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
1702
+ # `RIGHTSIZING_TYPE`.
1703
+ #
1704
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
1705
+ # supported. AND and OR are not supported. Dimensions are limited to
1706
+ # `LINKED_ACCOUNT`.
1707
+ #
1708
+ # </note>
1709
+ #
1710
+ # @option params [Array<Types::SortDefinition>] :sort_by
1711
+ # The value by which you want to sort the data.
1712
+ #
1713
+ # The key represents cost and usage metrics. The following values are
1714
+ # supported:
1715
+ #
1716
+ # * `BlendedCost`
1717
+ #
1718
+ # * `UnblendedCost`
1719
+ #
1720
+ # * `AmortizedCost`
1721
+ #
1722
+ # * `NetAmortizedCost`
1723
+ #
1724
+ # * `NetUnblendedCost`
1725
+ #
1726
+ # * `UsageQuantity`
1727
+ #
1728
+ # * `NormalizedUsageAmount`
1729
+ #
1730
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
1731
+ #
1732
+ # When you specify a `SortBy` paramater, the context must be
1733
+ # `COST_AND_USAGE`. Further, when using `SortBy`, `NextPageToken` and
1734
+ # `SearchString` are not supported.
1735
+ #
1736
+ # @option params [Integer] :max_results
1737
+ # This field is only used when SortBy is provided in the request. The
1738
+ # maximum number of objects that to be returned for this request. If
1739
+ # MaxResults is not specified with SortBy, the request will return 1000
1740
+ # results as the default value for this parameter.
1741
+ #
1454
1742
  # @option params [String] :next_page_token
1455
1743
  # The token to retrieve the next set of results. AWS provides the token
1456
1744
  # when the response from a previous call has more results than the
@@ -1471,8 +1759,45 @@ module Aws::CostExplorer
1471
1759
  # start: "YearMonthDay", # required
1472
1760
  # end: "YearMonthDay", # required
1473
1761
  # },
1474
- # dimension: "AZ", # required, accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
1762
+ # dimension: "AZ", # required, accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1475
1763
  # context: "COST_AND_USAGE", # accepts COST_AND_USAGE, RESERVATIONS, SAVINGS_PLANS
1764
+ # filter: {
1765
+ # or: [
1766
+ # {
1767
+ # # recursive Expression
1768
+ # },
1769
+ # ],
1770
+ # and: [
1771
+ # {
1772
+ # # recursive Expression
1773
+ # },
1774
+ # ],
1775
+ # not: {
1776
+ # # recursive Expression
1777
+ # },
1778
+ # dimensions: {
1779
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1780
+ # values: ["Value"],
1781
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1782
+ # },
1783
+ # tags: {
1784
+ # key: "TagKey",
1785
+ # values: ["Value"],
1786
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1787
+ # },
1788
+ # cost_categories: {
1789
+ # key: "CostCategoryName",
1790
+ # values: ["Value"],
1791
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1792
+ # },
1793
+ # },
1794
+ # sort_by: [
1795
+ # {
1796
+ # key: "SortDefinitionKey", # required
1797
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
1798
+ # },
1799
+ # ],
1800
+ # max_results: 1,
1476
1801
  # next_page_token: "NextPageToken",
1477
1802
  # })
1478
1803
  #
@@ -1498,11 +1823,11 @@ module Aws::CostExplorer
1498
1823
  # Retrieves the reservation coverage for your account. This enables you
1499
1824
  # to see how much of your Amazon Elastic Compute Cloud, Amazon
1500
1825
  # ElastiCache, Amazon Relational Database Service, or Amazon Redshift
1501
- # usage is covered by a reservation. An organization's master account
1502
- # can see the coverage of the associated member accounts. This supports
1503
- # dimensions, Cost Categories, and nested expressions. For any time
1504
- # period, you can filter data about reservation usage by the following
1505
- # dimensions:
1826
+ # usage is covered by a reservation. An organization's management
1827
+ # account can see the coverage of the associated member accounts. This
1828
+ # supports dimensions, Cost Categories, and nested expressions. For any
1829
+ # time period, you can filter data about reservation usage by the
1830
+ # following dimensions:
1506
1831
  #
1507
1832
  # * AZ
1508
1833
  #
@@ -1627,6 +1952,39 @@ module Aws::CostExplorer
1627
1952
  # when the response from a previous call has more results than the
1628
1953
  # maximum page size.
1629
1954
  #
1955
+ # @option params [Types::SortDefinition] :sort_by
1956
+ # The value by which you want to sort the data.
1957
+ #
1958
+ # The following values are supported for `Key`\:
1959
+ #
1960
+ # * `OnDemandCost`
1961
+ #
1962
+ # * `CoverageHoursPercentage`
1963
+ #
1964
+ # * `OnDemandHours`
1965
+ #
1966
+ # * `ReservedHours`
1967
+ #
1968
+ # * `TotalRunningHours`
1969
+ #
1970
+ # * `CoverageNormalizedUnitsPercentage`
1971
+ #
1972
+ # * `OnDemandNormalizedUnits`
1973
+ #
1974
+ # * `ReservedNormalizedUnits`
1975
+ #
1976
+ # * `TotalRunningNormalizedUnits`
1977
+ #
1978
+ # * `Time`
1979
+ #
1980
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
1981
+ #
1982
+ # @option params [Integer] :max_results
1983
+ # The maximum number of objects that you returned for this request. If
1984
+ # more objects are available, in the response, AWS provides a
1985
+ # NextPageToken value that you can use in a subsequent call to get the
1986
+ # next batch of objects.
1987
+ #
1630
1988
  # @return [Types::GetReservationCoverageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1631
1989
  #
1632
1990
  # * {Types::GetReservationCoverageResponse#coverages_by_time #coverages_by_time} => Array&lt;Types::CoverageByTime&gt;
@@ -1662,23 +2020,28 @@ module Aws::CostExplorer
1662
2020
  # # recursive Expression
1663
2021
  # },
1664
2022
  # dimensions: {
1665
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2023
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1666
2024
  # values: ["Value"],
1667
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2025
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1668
2026
  # },
1669
2027
  # tags: {
1670
2028
  # key: "TagKey",
1671
2029
  # values: ["Value"],
1672
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2030
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1673
2031
  # },
1674
2032
  # cost_categories: {
1675
2033
  # key: "CostCategoryName",
1676
2034
  # values: ["Value"],
1677
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2035
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1678
2036
  # },
1679
2037
  # },
1680
2038
  # metrics: ["MetricName"],
1681
2039
  # next_page_token: "NextPageToken",
2040
+ # sort_by: {
2041
+ # key: "SortDefinitionKey", # required
2042
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2043
+ # },
2044
+ # max_results: 1,
1682
2045
  # })
1683
2046
  #
1684
2047
  # @example Response structure
@@ -1754,10 +2117,63 @@ module Aws::CostExplorer
1754
2117
  # @option params [required, String] :service
1755
2118
  # The specific service that you want recommendations for.
1756
2119
  #
2120
+ # @option params [Types::Expression] :filter
2121
+ # Use `Expression` to filter by cost or by usage. There are two
2122
+ # patterns:
2123
+ #
2124
+ # * Simple dimension values - You can set the dimension name and values
2125
+ # for the filters that you plan to use. For example, you can filter
2126
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
2127
+ # `GetRightsizingRecommendation`, the Region is a full name (for
2128
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
2129
+ # looks like:
2130
+ #
2131
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2132
+ # “us-west-1” ] \} \}`
2133
+ #
2134
+ # The list of dimension values are OR'd together to retrieve cost or
2135
+ # usage data. You can create `Expression` and `DimensionValues`
2136
+ # objects using either `with*` methods or `set*` methods in multiple
2137
+ # lines.
2138
+ #
2139
+ # * Compound dimension values with logical operations - You can use
2140
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
2141
+ # to create a list of one or more `Expression` objects. This allows
2142
+ # you to filter on more advanced options. For example, you can filter
2143
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
2144
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
2145
+ # looks like this:
2146
+ #
2147
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
2148
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
2149
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
2150
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
2151
+ #
2152
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
2153
+ # returns an error if more than one is specified. The following
2154
+ # example shows an `Expression` object that creates an error.
2155
+ #
2156
+ # </note>
2157
+ #
2158
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2159
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2160
+ #
2161
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2162
+ # NOT is not supported. OR is not supported between different
2163
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
2164
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
2165
+ # `RIGHTSIZING_TYPE`.
2166
+ #
2167
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
2168
+ # supported. AND and OR are not supported. Dimensions are limited to
2169
+ # `LINKED_ACCOUNT`.
2170
+ #
2171
+ # </note>
2172
+ #
1757
2173
  # @option params [String] :account_scope
1758
2174
  # The account scope that you want your recommendations for. Amazon Web
1759
- # Services calculates recommendations including the master account and
1760
- # member accounts if the value is set to `PAYER`. If the value is
2175
+ # Services calculates recommendations including the management account
2176
+ # and member accounts if the value is set to `PAYER`. If the value is
1761
2177
  # `LINKED`, recommendations are calculated for individual member
1762
2178
  # accounts only.
1763
2179
  #
@@ -1795,6 +2211,36 @@ module Aws::CostExplorer
1795
2211
  # resp = client.get_reservation_purchase_recommendation({
1796
2212
  # account_id: "GenericString",
1797
2213
  # service: "GenericString", # required
2214
+ # filter: {
2215
+ # or: [
2216
+ # {
2217
+ # # recursive Expression
2218
+ # },
2219
+ # ],
2220
+ # and: [
2221
+ # {
2222
+ # # recursive Expression
2223
+ # },
2224
+ # ],
2225
+ # not: {
2226
+ # # recursive Expression
2227
+ # },
2228
+ # dimensions: {
2229
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2230
+ # values: ["Value"],
2231
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2232
+ # },
2233
+ # tags: {
2234
+ # key: "TagKey",
2235
+ # values: ["Value"],
2236
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2237
+ # },
2238
+ # cost_categories: {
2239
+ # key: "CostCategoryName",
2240
+ # values: ["Value"],
2241
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2242
+ # },
2243
+ # },
1798
2244
  # account_scope: "PAYER", # accepts PAYER, LINKED
1799
2245
  # lookback_period_in_days: "SEVEN_DAYS", # accepts SEVEN_DAYS, THIRTY_DAYS, SIXTY_DAYS
1800
2246
  # term_in_years: "ONE_YEAR", # accepts ONE_YEAR, THREE_YEARS
@@ -1884,11 +2330,11 @@ module Aws::CostExplorer
1884
2330
  req.send_request(options)
1885
2331
  end
1886
2332
 
1887
- # Retrieves the reservation utilization for your account. Master account
1888
- # in an organization have access to member accounts. You can filter data
1889
- # by dimensions in a time period. You can use `GetDimensionValues` to
1890
- # determine the possible dimension values. Currently, you can group only
1891
- # by `SUBSCRIPTION_ID`.
2333
+ # Retrieves the reservation utilization for your account. Management
2334
+ # account in an organization have access to member accounts. You can
2335
+ # filter data by dimensions in a time period. You can use
2336
+ # `GetDimensionValues` to determine the possible dimension values.
2337
+ # Currently, you can group only by `SUBSCRIPTION_ID`.
1892
2338
  #
1893
2339
  # @option params [required, Types::DateInterval] :time_period
1894
2340
  # Sets the start and end dates for retrieving RI utilization. The start
@@ -1944,11 +2390,58 @@ module Aws::CostExplorer
1944
2390
  #
1945
2391
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
1946
2392
  #
2393
+ # @option params [Types::SortDefinition] :sort_by
2394
+ # The value by which you want to sort the data.
2395
+ #
2396
+ # The following values are supported for `Key`\:
2397
+ #
2398
+ # * `UtilizationPercentage`
2399
+ #
2400
+ # * `UtilizationPercentageInUnits`
2401
+ #
2402
+ # * `PurchasedHours`
2403
+ #
2404
+ # * `PurchasedUnits`
2405
+ #
2406
+ # * `TotalActualHours`
2407
+ #
2408
+ # * `TotalActualUnits`
2409
+ #
2410
+ # * `UnusedHours`
2411
+ #
2412
+ # * `UnusedUnits`
2413
+ #
2414
+ # * `OnDemandCostOfRIHoursUsed`
2415
+ #
2416
+ # * `NetRISavings`
2417
+ #
2418
+ # * `TotalPotentialRISavings`
2419
+ #
2420
+ # * `AmortizedUpfrontFee`
2421
+ #
2422
+ # * `AmortizedRecurringFee`
2423
+ #
2424
+ # * `TotalAmortizedFee`
2425
+ #
2426
+ # * `RICostForUnusedHours`
2427
+ #
2428
+ # * `RealizedSavings`
2429
+ #
2430
+ # * `UnrealizedSavings`
2431
+ #
2432
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
2433
+ #
1947
2434
  # @option params [String] :next_page_token
1948
2435
  # The token to retrieve the next set of results. AWS provides the token
1949
2436
  # when the response from a previous call has more results than the
1950
2437
  # maximum page size.
1951
2438
  #
2439
+ # @option params [Integer] :max_results
2440
+ # The maximum number of objects that you returned for this request. If
2441
+ # more objects are available, in the response, AWS provides a
2442
+ # NextPageToken value that you can use in a subsequent call to get the
2443
+ # next batch of objects.
2444
+ #
1952
2445
  # @return [Types::GetReservationUtilizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1953
2446
  #
1954
2447
  # * {Types::GetReservationUtilizationResponse#utilizations_by_time #utilizations_by_time} => Array&lt;Types::UtilizationByTime&gt;
@@ -1984,22 +2477,27 @@ module Aws::CostExplorer
1984
2477
  # # recursive Expression
1985
2478
  # },
1986
2479
  # dimensions: {
1987
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2480
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
1988
2481
  # values: ["Value"],
1989
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2482
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1990
2483
  # },
1991
2484
  # tags: {
1992
2485
  # key: "TagKey",
1993
2486
  # values: ["Value"],
1994
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2487
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1995
2488
  # },
1996
2489
  # cost_categories: {
1997
2490
  # key: "CostCategoryName",
1998
2491
  # values: ["Value"],
1999
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2492
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2000
2493
  # },
2001
2494
  # },
2495
+ # sort_by: {
2496
+ # key: "SortDefinitionKey", # required
2497
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2498
+ # },
2002
2499
  # next_page_token: "NextPageToken",
2500
+ # max_results: 1,
2003
2501
  # })
2004
2502
  #
2005
2503
  # @example Response structure
@@ -2026,6 +2524,9 @@ module Aws::CostExplorer
2026
2524
  # resp.utilizations_by_time[0].groups[0].utilization.amortized_upfront_fee #=> String
2027
2525
  # resp.utilizations_by_time[0].groups[0].utilization.amortized_recurring_fee #=> String
2028
2526
  # resp.utilizations_by_time[0].groups[0].utilization.total_amortized_fee #=> String
2527
+ # resp.utilizations_by_time[0].groups[0].utilization.ri_cost_for_unused_hours #=> String
2528
+ # resp.utilizations_by_time[0].groups[0].utilization.realized_savings #=> String
2529
+ # resp.utilizations_by_time[0].groups[0].utilization.unrealized_savings #=> String
2029
2530
  # resp.utilizations_by_time[0].total.utilization_percentage #=> String
2030
2531
  # resp.utilizations_by_time[0].total.utilization_percentage_in_units #=> String
2031
2532
  # resp.utilizations_by_time[0].total.purchased_hours #=> String
@@ -2040,6 +2541,9 @@ module Aws::CostExplorer
2040
2541
  # resp.utilizations_by_time[0].total.amortized_upfront_fee #=> String
2041
2542
  # resp.utilizations_by_time[0].total.amortized_recurring_fee #=> String
2042
2543
  # resp.utilizations_by_time[0].total.total_amortized_fee #=> String
2544
+ # resp.utilizations_by_time[0].total.ri_cost_for_unused_hours #=> String
2545
+ # resp.utilizations_by_time[0].total.realized_savings #=> String
2546
+ # resp.utilizations_by_time[0].total.unrealized_savings #=> String
2043
2547
  # resp.total.utilization_percentage #=> String
2044
2548
  # resp.total.utilization_percentage_in_units #=> String
2045
2549
  # resp.total.purchased_hours #=> String
@@ -2054,6 +2558,9 @@ module Aws::CostExplorer
2054
2558
  # resp.total.amortized_upfront_fee #=> String
2055
2559
  # resp.total.amortized_recurring_fee #=> String
2056
2560
  # resp.total.total_amortized_fee #=> String
2561
+ # resp.total.ri_cost_for_unused_hours #=> String
2562
+ # resp.total.realized_savings #=> String
2563
+ # resp.total.unrealized_savings #=> String
2057
2564
  # resp.next_page_token #=> String
2058
2565
  #
2059
2566
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization AWS API Documentation
@@ -2119,10 +2626,15 @@ module Aws::CostExplorer
2119
2626
  # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2120
2627
  # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2121
2628
  #
2122
- # <note markdown="1"> For `GetRightsizingRecommendation` action, a combination of OR and NOT
2123
- # is not supported. OR is not supported between different dimensions, or
2124
- # dimensions and tags. NOT operators aren't supported. Dimensions are
2125
- # also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.
2629
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2630
+ # NOT is not supported. OR is not supported between different
2631
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
2632
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
2633
+ # `RIGHTSIZING_TYPE`.
2634
+ #
2635
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
2636
+ # supported. AND and OR are not supported. Dimensions are limited to
2637
+ # `LINKED_ACCOUNT`.
2126
2638
  #
2127
2639
  # </note>
2128
2640
  #
@@ -2172,19 +2684,19 @@ module Aws::CostExplorer
2172
2684
  # # recursive Expression
2173
2685
  # },
2174
2686
  # dimensions: {
2175
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2687
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2176
2688
  # values: ["Value"],
2177
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2689
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2178
2690
  # },
2179
2691
  # tags: {
2180
2692
  # key: "TagKey",
2181
2693
  # values: ["Value"],
2182
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2694
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2183
2695
  # },
2184
2696
  # cost_categories: {
2185
2697
  # key: "CostCategoryName",
2186
2698
  # values: ["Value"],
2187
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2699
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2188
2700
  # },
2189
2701
  # },
2190
2702
  # configuration: {
@@ -2201,6 +2713,7 @@ module Aws::CostExplorer
2201
2713
  # resp.metadata.recommendation_id #=> String
2202
2714
  # resp.metadata.generation_timestamp #=> String
2203
2715
  # resp.metadata.lookback_period_in_days #=> String, one of "SEVEN_DAYS", "THIRTY_DAYS", "SIXTY_DAYS"
2716
+ # resp.metadata.additional_metadata #=> String
2204
2717
  # resp.summary.total_recommendation_count #=> String
2205
2718
  # resp.summary.estimated_total_monthly_savings_amount #=> String
2206
2719
  # resp.summary.savings_currency_code #=> String
@@ -2214,7 +2727,7 @@ module Aws::CostExplorer
2214
2727
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values #=> Array
2215
2728
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values[0] #=> String
2216
2729
  # resp.rightsizing_recommendations[0].current_instance.tags[0].match_options #=> Array
2217
- # resp.rightsizing_recommendations[0].current_instance.tags[0].match_options[0] #=> String, one of "EQUALS", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
2730
+ # resp.rightsizing_recommendations[0].current_instance.tags[0].match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
2218
2731
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.hourly_on_demand_rate #=> String
2219
2732
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.instance_type #=> String
2220
2733
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.platform #=> String
@@ -2276,10 +2789,10 @@ module Aws::CostExplorer
2276
2789
 
2277
2790
  # Retrieves the Savings Plans covered for your account. This enables you
2278
2791
  # to see how much of your cost is covered by a Savings Plan. An
2279
- # organization’s master account can see the coverage of the associated
2280
- # member accounts. This supports dimensions, Cost Categories, and nested
2281
- # expressions. For any time period, you can filter data for Savings
2282
- # Plans usage with the following dimensions:
2792
+ # organization’s management account can see the coverage of the
2793
+ # associated member accounts. This supports dimensions, Cost Categories,
2794
+ # and nested expressions. For any time period, you can filter data for
2795
+ # Savings Plans usage with the following dimensions:
2283
2796
  #
2284
2797
  # * `LINKED_ACCOUNT`
2285
2798
  #
@@ -2344,6 +2857,27 @@ module Aws::CostExplorer
2344
2857
  # The number of items to be returned in a response. The default is `20`,
2345
2858
  # with a minimum value of `1`.
2346
2859
  #
2860
+ # @option params [Types::SortDefinition] :sort_by
2861
+ # The value by which you want to sort the data.
2862
+ #
2863
+ # The following values are supported for `Key`\:
2864
+ #
2865
+ # * `SpendCoveredBySavingsPlan`
2866
+ #
2867
+ # * `OnDemandCost`
2868
+ #
2869
+ # * `CoveragePercentage`
2870
+ #
2871
+ # * `TotalCost`
2872
+ #
2873
+ # * `InstanceFamily`
2874
+ #
2875
+ # * `Region`
2876
+ #
2877
+ # * `Service`
2878
+ #
2879
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
2880
+ #
2347
2881
  # @return [Types::GetSavingsPlansCoverageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2348
2882
  #
2349
2883
  # * {Types::GetSavingsPlansCoverageResponse#savings_plans_coverages #savings_plans_coverages} => Array&lt;Types::SavingsPlansCoverage&gt;
@@ -2380,24 +2914,28 @@ module Aws::CostExplorer
2380
2914
  # # recursive Expression
2381
2915
  # },
2382
2916
  # dimensions: {
2383
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
2917
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2384
2918
  # values: ["Value"],
2385
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2919
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2386
2920
  # },
2387
2921
  # tags: {
2388
2922
  # key: "TagKey",
2389
2923
  # values: ["Value"],
2390
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2924
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2391
2925
  # },
2392
2926
  # cost_categories: {
2393
2927
  # key: "CostCategoryName",
2394
2928
  # values: ["Value"],
2395
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2929
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2396
2930
  # },
2397
2931
  # },
2398
2932
  # metrics: ["MetricName"],
2399
2933
  # next_token: "NextPageToken",
2400
2934
  # max_results: 1,
2935
+ # sort_by: {
2936
+ # key: "SortDefinitionKey", # required
2937
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
2938
+ # },
2401
2939
  # })
2402
2940
  #
2403
2941
  # @example Response structure
@@ -2437,8 +2975,8 @@ module Aws::CostExplorer
2437
2975
  #
2438
2976
  # @option params [String] :account_scope
2439
2977
  # The account scope that you want your recommendations for. Amazon Web
2440
- # Services calculates recommendations including the master account and
2441
- # member accounts if the value is set to `PAYER`. If the value is
2978
+ # Services calculates recommendations including the management account
2979
+ # and member accounts if the value is set to `PAYER`. If the value is
2442
2980
  # `LINKED`, recommendations are calculated for individual member
2443
2981
  # accounts only.
2444
2982
  #
@@ -2499,19 +3037,19 @@ module Aws::CostExplorer
2499
3037
  # # recursive Expression
2500
3038
  # },
2501
3039
  # dimensions: {
2502
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
3040
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2503
3041
  # values: ["Value"],
2504
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3042
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2505
3043
  # },
2506
3044
  # tags: {
2507
3045
  # key: "TagKey",
2508
3046
  # values: ["Value"],
2509
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3047
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2510
3048
  # },
2511
3049
  # cost_categories: {
2512
3050
  # key: "CostCategoryName",
2513
3051
  # values: ["Value"],
2514
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3052
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2515
3053
  # },
2516
3054
  # },
2517
3055
  # })
@@ -2520,6 +3058,7 @@ module Aws::CostExplorer
2520
3058
  #
2521
3059
  # resp.metadata.recommendation_id #=> String
2522
3060
  # resp.metadata.generation_timestamp #=> String
3061
+ # resp.metadata.additional_metadata #=> String
2523
3062
  # resp.savings_plans_purchase_recommendation.account_scope #=> String, one of "PAYER", "LINKED"
2524
3063
  # resp.savings_plans_purchase_recommendation.savings_plans_type #=> String, one of "COMPUTE_SP", "EC2_INSTANCE_SP"
2525
3064
  # resp.savings_plans_purchase_recommendation.term_in_years #=> String, one of "ONE_YEAR", "THREE_YEARS"
@@ -2567,7 +3106,7 @@ module Aws::CostExplorer
2567
3106
  end
2568
3107
 
2569
3108
  # Retrieves the Savings Plans utilization for your account across date
2570
- # ranges with daily or monthly granularity. Master account in an
3109
+ # ranges with daily or monthly granularity. Management account in an
2571
3110
  # organization have access to member accounts. You can use
2572
3111
  # `GetDimensionValues` in `SAVINGS_PLANS` to determine the possible
2573
3112
  # dimension values.
@@ -2614,6 +3153,23 @@ module Aws::CostExplorer
2614
3153
  #
2615
3154
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2616
3155
  #
3156
+ # @option params [Types::SortDefinition] :sort_by
3157
+ # The value by which you want to sort the data.
3158
+ #
3159
+ # The following values are supported for `Key`\:
3160
+ #
3161
+ # * `UtilizationPercentage`
3162
+ #
3163
+ # * `TotalCommitment`
3164
+ #
3165
+ # * `UsedCommitment`
3166
+ #
3167
+ # * `UnusedCommitment`
3168
+ #
3169
+ # * `NetSavings`
3170
+ #
3171
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3172
+ #
2617
3173
  # @return [Types::GetSavingsPlansUtilizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2618
3174
  #
2619
3175
  # * {Types::GetSavingsPlansUtilizationResponse#savings_plans_utilizations_by_time #savings_plans_utilizations_by_time} => Array&lt;Types::SavingsPlansUtilizationByTime&gt;
@@ -2642,21 +3198,25 @@ module Aws::CostExplorer
2642
3198
  # # recursive Expression
2643
3199
  # },
2644
3200
  # dimensions: {
2645
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
3201
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2646
3202
  # values: ["Value"],
2647
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3203
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2648
3204
  # },
2649
3205
  # tags: {
2650
3206
  # key: "TagKey",
2651
3207
  # values: ["Value"],
2652
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3208
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2653
3209
  # },
2654
3210
  # cost_categories: {
2655
3211
  # key: "CostCategoryName",
2656
3212
  # values: ["Value"],
2657
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3213
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2658
3214
  # },
2659
3215
  # },
3216
+ # sort_by: {
3217
+ # key: "SortDefinitionKey", # required
3218
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3219
+ # },
2660
3220
  # })
2661
3221
  #
2662
3222
  # @example Response structure
@@ -2734,6 +3294,9 @@ module Aws::CostExplorer
2734
3294
  #
2735
3295
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
2736
3296
  #
3297
+ # @option params [Array<String>] :data_type
3298
+ # The data type.
3299
+ #
2737
3300
  # @option params [String] :next_token
2738
3301
  # The token to retrieve the next set of results. Amazon Web Services
2739
3302
  # provides the token when the response from a previous call has more
@@ -2743,6 +3306,27 @@ module Aws::CostExplorer
2743
3306
  # The number of items to be returned in a response. The default is `20`,
2744
3307
  # with a minimum value of `1`.
2745
3308
  #
3309
+ # @option params [Types::SortDefinition] :sort_by
3310
+ # The value by which you want to sort the data.
3311
+ #
3312
+ # The following values are supported for `Key`\:
3313
+ #
3314
+ # * `UtilizationPercentage`
3315
+ #
3316
+ # * `TotalCommitment`
3317
+ #
3318
+ # * `UsedCommitment`
3319
+ #
3320
+ # * `UnusedCommitment`
3321
+ #
3322
+ # * `NetSavings`
3323
+ #
3324
+ # * `AmortizedRecurringCommitment`
3325
+ #
3326
+ # * `AmortizedUpfrontCommitment`
3327
+ #
3328
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3329
+ #
2746
3330
  # @return [Types::GetSavingsPlansUtilizationDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2747
3331
  #
2748
3332
  # * {Types::GetSavingsPlansUtilizationDetailsResponse#savings_plans_utilization_details #savings_plans_utilization_details} => Array&lt;Types::SavingsPlansUtilizationDetail&gt;
@@ -2774,23 +3358,28 @@ module Aws::CostExplorer
2774
3358
  # # recursive Expression
2775
3359
  # },
2776
3360
  # dimensions: {
2777
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
3361
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2778
3362
  # values: ["Value"],
2779
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3363
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2780
3364
  # },
2781
3365
  # tags: {
2782
3366
  # key: "TagKey",
2783
3367
  # values: ["Value"],
2784
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3368
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2785
3369
  # },
2786
3370
  # cost_categories: {
2787
3371
  # key: "CostCategoryName",
2788
3372
  # values: ["Value"],
2789
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3373
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2790
3374
  # },
2791
3375
  # },
3376
+ # data_type: ["ATTRIBUTES"], # accepts ATTRIBUTES, UTILIZATION, AMORTIZED_COMMITMENT, SAVINGS
2792
3377
  # next_token: "NextPageToken",
2793
3378
  # max_results: 1,
3379
+ # sort_by: {
3380
+ # key: "SortDefinitionKey", # required
3381
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3382
+ # },
2794
3383
  # })
2795
3384
  #
2796
3385
  # @example Response structure
@@ -2846,6 +3435,90 @@ module Aws::CostExplorer
2846
3435
  # @option params [String] :tag_key
2847
3436
  # The key of the tag that you want to return values for.
2848
3437
  #
3438
+ # @option params [Types::Expression] :filter
3439
+ # Use `Expression` to filter by cost or by usage. There are two
3440
+ # patterns:
3441
+ #
3442
+ # * Simple dimension values - You can set the dimension name and values
3443
+ # for the filters that you plan to use. For example, you can filter
3444
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
3445
+ # `GetRightsizingRecommendation`, the Region is a full name (for
3446
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
3447
+ # looks like:
3448
+ #
3449
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
3450
+ # “us-west-1” ] \} \}`
3451
+ #
3452
+ # The list of dimension values are OR'd together to retrieve cost or
3453
+ # usage data. You can create `Expression` and `DimensionValues`
3454
+ # objects using either `with*` methods or `set*` methods in multiple
3455
+ # lines.
3456
+ #
3457
+ # * Compound dimension values with logical operations - You can use
3458
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
3459
+ # to create a list of one or more `Expression` objects. This allows
3460
+ # you to filter on more advanced options. For example, you can filter
3461
+ # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
3462
+ # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
3463
+ # looks like this:
3464
+ #
3465
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
3466
+ # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
3467
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
3468
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
3469
+ #
3470
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
3471
+ # returns an error if more than one is specified. The following
3472
+ # example shows an `Expression` object that creates an error.
3473
+ #
3474
+ # </note>
3475
+ #
3476
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
3477
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
3478
+ #
3479
+ # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
3480
+ # NOT is not supported. OR is not supported between different
3481
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
3482
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
3483
+ # `RIGHTSIZING_TYPE`.
3484
+ #
3485
+ # For the `GetReservationPurchaseRecommendation` action, only NOT is
3486
+ # supported. AND and OR are not supported. Dimensions are limited to
3487
+ # `LINKED_ACCOUNT`.
3488
+ #
3489
+ # </note>
3490
+ #
3491
+ # @option params [Array<Types::SortDefinition>] :sort_by
3492
+ # The value by which you want to sort the data.
3493
+ #
3494
+ # The key represents cost and usage metrics. The following values are
3495
+ # supported:
3496
+ #
3497
+ # * `BlendedCost`
3498
+ #
3499
+ # * `UnblendedCost`
3500
+ #
3501
+ # * `AmortizedCost`
3502
+ #
3503
+ # * `NetAmortizedCost`
3504
+ #
3505
+ # * `NetUnblendedCost`
3506
+ #
3507
+ # * `UsageQuantity`
3508
+ #
3509
+ # * `NormalizedUsageAmount`
3510
+ #
3511
+ # Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
3512
+ #
3513
+ # When using `SortBy`, `NextPageToken` and `SearchString` are not
3514
+ # supported.
3515
+ #
3516
+ # @option params [Integer] :max_results
3517
+ # This field is only used when SortBy is provided in the request. The
3518
+ # maximum number of objects that to be returned for this request. If
3519
+ # MaxResults is not specified with SortBy, the request will return 1000
3520
+ # results as the default value for this parameter.
3521
+ #
2849
3522
  # @option params [String] :next_page_token
2850
3523
  # The token to retrieve the next set of results. AWS provides the token
2851
3524
  # when the response from a previous call has more results than the
@@ -2867,6 +3540,43 @@ module Aws::CostExplorer
2867
3540
  # end: "YearMonthDay", # required
2868
3541
  # },
2869
3542
  # tag_key: "TagKey",
3543
+ # filter: {
3544
+ # or: [
3545
+ # {
3546
+ # # recursive Expression
3547
+ # },
3548
+ # ],
3549
+ # and: [
3550
+ # {
3551
+ # # recursive Expression
3552
+ # },
3553
+ # ],
3554
+ # not: {
3555
+ # # recursive Expression
3556
+ # },
3557
+ # dimensions: {
3558
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
3559
+ # values: ["Value"],
3560
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3561
+ # },
3562
+ # tags: {
3563
+ # key: "TagKey",
3564
+ # values: ["Value"],
3565
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3566
+ # },
3567
+ # cost_categories: {
3568
+ # key: "CostCategoryName",
3569
+ # values: ["Value"],
3570
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3571
+ # },
3572
+ # },
3573
+ # sort_by: [
3574
+ # {
3575
+ # key: "SortDefinitionKey", # required
3576
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
3577
+ # },
3578
+ # ],
3579
+ # max_results: 1,
2870
3580
  # next_page_token: "NextPageToken",
2871
3581
  # })
2872
3582
  #
@@ -2957,19 +3667,19 @@ module Aws::CostExplorer
2957
3667
  # # recursive Expression
2958
3668
  # },
2959
3669
  # dimensions: {
2960
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
3670
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
2961
3671
  # values: ["Value"],
2962
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3672
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2963
3673
  # },
2964
3674
  # tags: {
2965
3675
  # key: "TagKey",
2966
3676
  # values: ["Value"],
2967
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3677
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2968
3678
  # },
2969
3679
  # cost_categories: {
2970
3680
  # key: "CostCategoryName",
2971
3681
  # values: ["Value"],
2972
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3682
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2973
3683
  # },
2974
3684
  # },
2975
3685
  # prediction_interval_level: 1,
@@ -3133,7 +3843,7 @@ module Aws::CostExplorer
3133
3843
  # notifications.
3134
3844
  #
3135
3845
  # @option params [Array<String>] :monitor_arn_list
3136
- # A list of cost anomaly subscription ARNs.
3846
+ # A list of cost anomaly monitor ARNs.
3137
3847
  #
3138
3848
  # @option params [Array<Types::Subscriber>] :subscribers
3139
3849
  # The update to the subscriber list.
@@ -3151,7 +3861,7 @@ module Aws::CostExplorer
3151
3861
  # subscription_arn: "GenericString", # required
3152
3862
  # threshold: 1.0,
3153
3863
  # frequency: "DAILY", # accepts DAILY, IMMEDIATE, WEEKLY
3154
- # monitor_arn_list: ["Value"],
3864
+ # monitor_arn_list: ["Arn"],
3155
3865
  # subscribers: [
3156
3866
  # {
3157
3867
  # address: "SubscriberAddress",
@@ -3222,19 +3932,19 @@ module Aws::CostExplorer
3222
3932
  # # recursive Expression
3223
3933
  # },
3224
3934
  # dimensions: {
3225
- # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
3935
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
3226
3936
  # values: ["Value"],
3227
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3937
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3228
3938
  # },
3229
3939
  # tags: {
3230
3940
  # key: "TagKey",
3231
3941
  # values: ["Value"],
3232
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3942
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3233
3943
  # },
3234
3944
  # cost_categories: {
3235
3945
  # key: "CostCategoryName",
3236
3946
  # values: ["Value"],
3237
- # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3947
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3238
3948
  # },
3239
3949
  # },
3240
3950
  # },
@@ -3268,7 +3978,7 @@ module Aws::CostExplorer
3268
3978
  params: params,
3269
3979
  config: config)
3270
3980
  context[:gem_name] = 'aws-sdk-costexplorer'
3271
- context[:gem_version] = '1.52.0'
3981
+ context[:gem_version] = '1.57.0'
3272
3982
  Seahorse::Client::Request.new(handlers, context)
3273
3983
  end
3274
3984