aws-sdk-costexplorer 1.80.0 → 1.82.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.
@@ -444,19 +444,19 @@ module Aws::CostExplorer
444
444
  # # recursive Expression
445
445
  # },
446
446
  # dimensions: {
447
- # 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, INVOICING_ENTITY
447
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
448
448
  # values: ["Value"],
449
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
449
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
450
450
  # },
451
451
  # tags: {
452
452
  # key: "TagKey",
453
453
  # values: ["Value"],
454
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
454
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
455
455
  # },
456
456
  # cost_categories: {
457
457
  # key: "CostCategoryName",
458
458
  # values: ["Value"],
459
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
459
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
460
460
  # },
461
461
  # },
462
462
  # dimensional_value_count: 1,
@@ -482,10 +482,10 @@ module Aws::CostExplorer
482
482
  req.send_request(options)
483
483
  end
484
484
 
485
- # Adds a subscription to a cost anomaly detection monitor. You can use
486
- # each subscription to define subscribers with email or SNS
487
- # notifications. Email subscribers can set a dollar threshold and a time
488
- # frequency for receiving notifications.
485
+ # Adds an alert subscription to a cost anomaly detection monitor. You
486
+ # can use each subscription to define subscribers with email or SNS
487
+ # notifications. Email subscribers can set an absolute or percentage
488
+ # threshold and a time frequency for receiving notifications.
489
489
  #
490
490
  # @option params [required, Types::AnomalySubscription] :anomaly_subscription
491
491
  # The cost anomaly subscription object that you want to create.
@@ -538,9 +538,39 @@ module Aws::CostExplorer
538
538
  # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
539
539
  # },
540
540
  # ],
541
- # threshold: 1.0, # required
541
+ # threshold: 1.0,
542
542
  # frequency: "DAILY", # required, accepts DAILY, IMMEDIATE, WEEKLY
543
543
  # subscription_name: "GenericString", # required
544
+ # threshold_expression: {
545
+ # or: [
546
+ # {
547
+ # # recursive Expression
548
+ # },
549
+ # ],
550
+ # and: [
551
+ # {
552
+ # # recursive Expression
553
+ # },
554
+ # ],
555
+ # not: {
556
+ # # recursive Expression
557
+ # },
558
+ # dimensions: {
559
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
560
+ # values: ["Value"],
561
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
562
+ # },
563
+ # tags: {
564
+ # key: "TagKey",
565
+ # values: ["Value"],
566
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
567
+ # },
568
+ # cost_categories: {
569
+ # key: "CostCategoryName",
570
+ # values: ["Value"],
571
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
572
+ # },
573
+ # },
544
574
  # },
545
575
  # resource_tags: [
546
576
  # {
@@ -651,19 +681,19 @@ module Aws::CostExplorer
651
681
  # # recursive Expression
652
682
  # },
653
683
  # dimensions: {
654
- # 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, INVOICING_ENTITY
684
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
655
685
  # values: ["Value"],
656
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
686
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
657
687
  # },
658
688
  # tags: {
659
689
  # key: "TagKey",
660
690
  # values: ["Value"],
661
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
691
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
662
692
  # },
663
693
  # cost_categories: {
664
694
  # key: "CostCategoryName",
665
695
  # values: ["Value"],
666
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
696
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
667
697
  # },
668
698
  # },
669
699
  # inherited_value: {
@@ -826,21 +856,21 @@ module Aws::CostExplorer
826
856
  # resp.cost_category.rules[0].rule.and #=> Array
827
857
  # resp.cost_category.rules[0].rule.and[0] #=> Types::Expression
828
858
  # resp.cost_category.rules[0].rule.not #=> Types::Expression
829
- # 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", "INVOICING_ENTITY"
859
+ # 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", "INVOICING_ENTITY", "ANOMALY_TOTAL_IMPACT_ABSOLUTE", "ANOMALY_TOTAL_IMPACT_PERCENTAGE"
830
860
  # resp.cost_category.rules[0].rule.dimensions.values #=> Array
831
861
  # resp.cost_category.rules[0].rule.dimensions.values[0] #=> String
832
862
  # resp.cost_category.rules[0].rule.dimensions.match_options #=> Array
833
- # resp.cost_category.rules[0].rule.dimensions.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
863
+ # resp.cost_category.rules[0].rule.dimensions.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE", "GREATER_THAN_OR_EQUAL"
834
864
  # resp.cost_category.rules[0].rule.tags.key #=> String
835
865
  # resp.cost_category.rules[0].rule.tags.values #=> Array
836
866
  # resp.cost_category.rules[0].rule.tags.values[0] #=> String
837
867
  # resp.cost_category.rules[0].rule.tags.match_options #=> Array
838
- # resp.cost_category.rules[0].rule.tags.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
868
+ # resp.cost_category.rules[0].rule.tags.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE", "GREATER_THAN_OR_EQUAL"
839
869
  # resp.cost_category.rules[0].rule.cost_categories.key #=> String
840
870
  # resp.cost_category.rules[0].rule.cost_categories.values #=> Array
841
871
  # resp.cost_category.rules[0].rule.cost_categories.values[0] #=> String
842
872
  # resp.cost_category.rules[0].rule.cost_categories.match_options #=> Array
843
- # 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"
873
+ # 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", "GREATER_THAN_OR_EQUAL"
844
874
  # resp.cost_category.rules[0].inherited_value.dimension_name #=> String, one of "LINKED_ACCOUNT_NAME", "TAG"
845
875
  # resp.cost_category.rules[0].inherited_value.dimension_key #=> String
846
876
  # resp.cost_category.rules[0].type #=> String, one of "REGULAR", "INHERITED_VALUE"
@@ -869,6 +899,7 @@ module Aws::CostExplorer
869
899
 
870
900
  # Retrieves all of the cost anomalies detected on your account during
871
901
  # the time period that's specified by the `DateInterval` object.
902
+ # Anomalies are available for up to 90 days.
872
903
  #
873
904
  # @option params [String] :monitor_arn
874
905
  # Retrieves all of the cost anomalies detected for a specific cost
@@ -930,10 +961,14 @@ module Aws::CostExplorer
930
961
  # resp.anomalies[0].root_causes[0].region #=> String
931
962
  # resp.anomalies[0].root_causes[0].linked_account #=> String
932
963
  # resp.anomalies[0].root_causes[0].usage_type #=> String
964
+ # resp.anomalies[0].root_causes[0].linked_account_name #=> String
933
965
  # resp.anomalies[0].anomaly_score.max_score #=> Float
934
966
  # resp.anomalies[0].anomaly_score.current_score #=> Float
935
967
  # resp.anomalies[0].impact.max_impact #=> Float
936
968
  # resp.anomalies[0].impact.total_impact #=> Float
969
+ # resp.anomalies[0].impact.total_actual_spend #=> Float
970
+ # resp.anomalies[0].impact.total_expected_spend #=> Float
971
+ # resp.anomalies[0].impact.total_impact_percentage #=> Float
937
972
  # resp.anomalies[0].monitor_arn #=> String
938
973
  # resp.anomalies[0].feedback #=> String, one of "YES", "NO", "PLANNED_ACTIVITY"
939
974
  # resp.next_page_token #=> String
@@ -990,21 +1025,21 @@ module Aws::CostExplorer
990
1025
  # resp.anomaly_monitors[0].monitor_specification.and #=> Array
991
1026
  # resp.anomaly_monitors[0].monitor_specification.and[0] #=> Types::Expression
992
1027
  # resp.anomaly_monitors[0].monitor_specification.not #=> Types::Expression
993
- # 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", "INVOICING_ENTITY"
1028
+ # 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", "INVOICING_ENTITY", "ANOMALY_TOTAL_IMPACT_ABSOLUTE", "ANOMALY_TOTAL_IMPACT_PERCENTAGE"
994
1029
  # resp.anomaly_monitors[0].monitor_specification.dimensions.values #=> Array
995
1030
  # resp.anomaly_monitors[0].monitor_specification.dimensions.values[0] #=> String
996
1031
  # resp.anomaly_monitors[0].monitor_specification.dimensions.match_options #=> Array
997
- # resp.anomaly_monitors[0].monitor_specification.dimensions.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1032
+ # resp.anomaly_monitors[0].monitor_specification.dimensions.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE", "GREATER_THAN_OR_EQUAL"
998
1033
  # resp.anomaly_monitors[0].monitor_specification.tags.key #=> String
999
1034
  # resp.anomaly_monitors[0].monitor_specification.tags.values #=> Array
1000
1035
  # resp.anomaly_monitors[0].monitor_specification.tags.values[0] #=> String
1001
1036
  # resp.anomaly_monitors[0].monitor_specification.tags.match_options #=> Array
1002
- # resp.anomaly_monitors[0].monitor_specification.tags.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1037
+ # resp.anomaly_monitors[0].monitor_specification.tags.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE", "GREATER_THAN_OR_EQUAL"
1003
1038
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.key #=> String
1004
1039
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.values #=> Array
1005
1040
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.values[0] #=> String
1006
1041
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.match_options #=> Array
1007
- # 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"
1042
+ # 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", "GREATER_THAN_OR_EQUAL"
1008
1043
  # resp.anomaly_monitors[0].dimensional_value_count #=> Integer
1009
1044
  # resp.next_page_token #=> String
1010
1045
  #
@@ -1063,6 +1098,26 @@ module Aws::CostExplorer
1063
1098
  # resp.anomaly_subscriptions[0].threshold #=> Float
1064
1099
  # resp.anomaly_subscriptions[0].frequency #=> String, one of "DAILY", "IMMEDIATE", "WEEKLY"
1065
1100
  # resp.anomaly_subscriptions[0].subscription_name #=> String
1101
+ # resp.anomaly_subscriptions[0].threshold_expression.or #=> Array
1102
+ # resp.anomaly_subscriptions[0].threshold_expression.or[0] #=> Types::Expression
1103
+ # resp.anomaly_subscriptions[0].threshold_expression.and #=> Array
1104
+ # resp.anomaly_subscriptions[0].threshold_expression.and[0] #=> Types::Expression
1105
+ # resp.anomaly_subscriptions[0].threshold_expression.not #=> Types::Expression
1106
+ # resp.anomaly_subscriptions[0].threshold_expression.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", "INVOICING_ENTITY", "ANOMALY_TOTAL_IMPACT_ABSOLUTE", "ANOMALY_TOTAL_IMPACT_PERCENTAGE"
1107
+ # resp.anomaly_subscriptions[0].threshold_expression.dimensions.values #=> Array
1108
+ # resp.anomaly_subscriptions[0].threshold_expression.dimensions.values[0] #=> String
1109
+ # resp.anomaly_subscriptions[0].threshold_expression.dimensions.match_options #=> Array
1110
+ # resp.anomaly_subscriptions[0].threshold_expression.dimensions.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE", "GREATER_THAN_OR_EQUAL"
1111
+ # resp.anomaly_subscriptions[0].threshold_expression.tags.key #=> String
1112
+ # resp.anomaly_subscriptions[0].threshold_expression.tags.values #=> Array
1113
+ # resp.anomaly_subscriptions[0].threshold_expression.tags.values[0] #=> String
1114
+ # resp.anomaly_subscriptions[0].threshold_expression.tags.match_options #=> Array
1115
+ # resp.anomaly_subscriptions[0].threshold_expression.tags.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE", "GREATER_THAN_OR_EQUAL"
1116
+ # resp.anomaly_subscriptions[0].threshold_expression.cost_categories.key #=> String
1117
+ # resp.anomaly_subscriptions[0].threshold_expression.cost_categories.values #=> Array
1118
+ # resp.anomaly_subscriptions[0].threshold_expression.cost_categories.values[0] #=> String
1119
+ # resp.anomaly_subscriptions[0].threshold_expression.cost_categories.match_options #=> Array
1120
+ # resp.anomaly_subscriptions[0].threshold_expression.cost_categories.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CASE_SENSITIVE", "CASE_INSENSITIVE", "GREATER_THAN_OR_EQUAL"
1066
1121
  # resp.next_page_token #=> String
1067
1122
  #
1068
1123
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptions AWS API Documentation
@@ -1194,19 +1249,19 @@ module Aws::CostExplorer
1194
1249
  # # recursive Expression
1195
1250
  # },
1196
1251
  # dimensions: {
1197
- # 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, INVOICING_ENTITY
1252
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
1198
1253
  # values: ["Value"],
1199
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1254
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1200
1255
  # },
1201
1256
  # tags: {
1202
1257
  # key: "TagKey",
1203
1258
  # values: ["Value"],
1204
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1259
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1205
1260
  # },
1206
1261
  # cost_categories: {
1207
1262
  # key: "CostCategoryName",
1208
1263
  # values: ["Value"],
1209
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1264
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1210
1265
  # },
1211
1266
  # },
1212
1267
  # metrics: ["MetricName"], # required
@@ -1374,19 +1429,19 @@ module Aws::CostExplorer
1374
1429
  # # recursive Expression
1375
1430
  # },
1376
1431
  # dimensions: {
1377
- # 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, INVOICING_ENTITY
1432
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
1378
1433
  # values: ["Value"],
1379
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1434
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1380
1435
  # },
1381
1436
  # tags: {
1382
1437
  # key: "TagKey",
1383
1438
  # values: ["Value"],
1384
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1439
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1385
1440
  # },
1386
1441
  # cost_categories: {
1387
1442
  # key: "CostCategoryName",
1388
1443
  # values: ["Value"],
1389
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1444
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1390
1445
  # },
1391
1446
  # },
1392
1447
  # metrics: ["MetricName"],
@@ -1454,45 +1509,81 @@ module Aws::CostExplorer
1454
1509
  # The unique name of the Cost Category.
1455
1510
  #
1456
1511
  # @option params [Types::Expression] :filter
1457
- # Use `Expression` to filter by cost or by usage. There are two
1458
- # patterns:
1459
- #
1460
- # * Simple dimension values - You can set the dimension name and values
1461
- # for the filters that you plan to use. For example, you can filter
1462
- # for `REGION==us-east-1 OR REGION==us-west-1`. For
1463
- # `GetRightsizingRecommendation`, the Region is a full name (for
1464
- # example, `REGION==US East (N. Virginia)`. The `Expression` example
1465
- # is as follows:
1466
- #
1467
- # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1468
- # “us-west-1” ] \} \}`
1469
- #
1470
- # The list of dimension values are OR'd together to retrieve cost or
1471
- # usage data. You can create `Expression` and `DimensionValues`
1472
- # objects using either `with*` methods or `set*` methods in multiple
1473
- # lines.
1474
- #
1475
- # * Compound dimension values with logical operations - You can use
1476
- # multiple `Expression` types and the logical operators `AND/OR/NOT`
1477
- # to create a list of one or more `Expression` objects. By doing this,
1478
- # you can filter on more advanced options. For example, you can filter
1479
- # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1480
- # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1481
- # is as follows:
1482
- #
1483
- # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1484
- # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1485
- # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1486
- # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
1512
+ # Use `Expression` to filter in various Cost Explorer APIs.
1513
+ #
1514
+ # Not all `Expression` types are supported in each API. Refer to the
1515
+ # documentation for each specific API to see what is supported.
1516
+ #
1517
+ # There are two patterns:
1518
+ #
1519
+ # * Simple dimension values.
1520
+ #
1521
+ # * There are three types of simple dimension values:
1522
+ # `CostCategories`, `Tags`, and `Dimensions`.
1523
+ #
1524
+ # * Specify the `CostCategories` field to define a filter that acts
1525
+ # on Cost Categories.
1526
+ #
1527
+ # * Specify the `Tags` field to define a filter that acts on Cost
1528
+ # Allocation Tags.
1529
+ #
1530
+ # * Specify the `Dimensions` field to define a filter that acts on
1531
+ # the [ `DimensionValues` ][1].
1532
+ #
1533
+ # * For each filter type, you can set the dimension name and values
1534
+ # for the filters that you plan to use.
1535
+ #
1536
+ # * For example, you can filter for `REGION==us-east-1 OR
1537
+ # REGION==us-west-1`. For `GetRightsizingRecommendation`, the
1538
+ # Region is a full name (for example, `REGION==US East (N.
1539
+ # Virginia)`.
1540
+ #
1541
+ # * The corresponding `Expression` for this example is as follows:
1542
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1543
+ # “us-west-1” ] \} \}`
1544
+ #
1545
+ # * As shown in the previous example, lists of dimension values are
1546
+ # combined with `OR` when applying the filter.
1547
+ #
1548
+ # * You can also set different match options to further control how
1549
+ # the filter behaves. Not all APIs support match options. Refer to
1550
+ # the documentation for each specific API to see what is supported.
1551
+ #
1552
+ # * For example, you can filter for linked account names that start
1553
+ # with “a”.
1554
+ #
1555
+ # * The corresponding `Expression` for this example is as follows:
1556
+ # `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
1557
+ # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] \} \}`
1558
+ #
1559
+ # * Compound `Expression` types with logical operations.
1560
+ #
1561
+ # * You can use multiple `Expression` types and the logical operators
1562
+ # `AND/OR/NOT` to create a list of one or more `Expression` objects.
1563
+ # By doing this, you can filter by more advanced options.
1564
+ #
1565
+ # * For example, you can filter by `((REGION == us-east-1 OR REGION ==
1566
+ # us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
1567
+ # DataTransfer)`.
1568
+ #
1569
+ # * The corresponding `Expression` for this example is as follows: `\{
1570
+ # "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values": [
1571
+ # "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1572
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1573
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
1487
1574
  #
1488
1575
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
1489
1576
  # returns an error if more than one is specified. The following
1490
- # example shows an `Expression` object that creates an error.
1577
+ # example shows an `Expression` object that creates an error: ` \{
1578
+ # "And": [ ... ], "Dimensions": \{ "Key": "USAGE_TYPE", "Values": [
1579
+ # "DataTransfer" ] \} \} `
1491
1580
  #
1492
- # </note>
1581
+ # The following is an example of the corresponding error message:
1582
+ # `"Expression has more than one roots. Only one root operator is
1583
+ # allowed for each expression: And, Or, Not, Dimensions, Tags,
1584
+ # CostCategories"`
1493
1585
  #
1494
- # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
1495
- # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
1586
+ # </note>
1496
1587
  #
1497
1588
  # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
1498
1589
  # NOT isn't supported. OR isn't supported between different
@@ -1506,6 +1597,10 @@ module Aws::CostExplorer
1506
1597
  #
1507
1598
  # </note>
1508
1599
  #
1600
+ #
1601
+ #
1602
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html
1603
+ #
1509
1604
  # @option params [Array<Types::SortDefinition>] :sort_by
1510
1605
  # The value that you sort the data by.
1511
1606
  #
@@ -1580,19 +1675,19 @@ module Aws::CostExplorer
1580
1675
  # # recursive Expression
1581
1676
  # },
1582
1677
  # dimensions: {
1583
- # 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, INVOICING_ENTITY
1678
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
1584
1679
  # values: ["Value"],
1585
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1680
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1586
1681
  # },
1587
1682
  # tags: {
1588
1683
  # key: "TagKey",
1589
1684
  # values: ["Value"],
1590
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1685
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1591
1686
  # },
1592
1687
  # cost_categories: {
1593
1688
  # key: "CostCategoryName",
1594
1689
  # values: ["Value"],
1595
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1690
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1596
1691
  # },
1597
1692
  # },
1598
1693
  # sort_by: [
@@ -1748,19 +1843,19 @@ module Aws::CostExplorer
1748
1843
  # # recursive Expression
1749
1844
  # },
1750
1845
  # dimensions: {
1751
- # 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, INVOICING_ENTITY
1846
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
1752
1847
  # values: ["Value"],
1753
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1848
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1754
1849
  # },
1755
1850
  # tags: {
1756
1851
  # key: "TagKey",
1757
1852
  # values: ["Value"],
1758
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1853
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1759
1854
  # },
1760
1855
  # cost_categories: {
1761
1856
  # key: "CostCategoryName",
1762
1857
  # values: ["Value"],
1763
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1858
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
1764
1859
  # },
1765
1860
  # },
1766
1861
  # prediction_interval_level: 1,
@@ -1959,45 +2054,81 @@ module Aws::CostExplorer
1959
2054
  # * SAVINGS\_PLAN\_ARN - The unique identifier for your Savings Plans.
1960
2055
  #
1961
2056
  # @option params [Types::Expression] :filter
1962
- # Use `Expression` to filter by cost or by usage. There are two
1963
- # patterns:
1964
- #
1965
- # * Simple dimension values - You can set the dimension name and values
1966
- # for the filters that you plan to use. For example, you can filter
1967
- # for `REGION==us-east-1 OR REGION==us-west-1`. For
1968
- # `GetRightsizingRecommendation`, the Region is a full name (for
1969
- # example, `REGION==US East (N. Virginia)`. The `Expression` example
1970
- # is as follows:
1971
- #
1972
- # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1973
- # “us-west-1” ] \} \}`
1974
- #
1975
- # The list of dimension values are OR'd together to retrieve cost or
1976
- # usage data. You can create `Expression` and `DimensionValues`
1977
- # objects using either `with*` methods or `set*` methods in multiple
1978
- # lines.
1979
- #
1980
- # * Compound dimension values with logical operations - You can use
1981
- # multiple `Expression` types and the logical operators `AND/OR/NOT`
1982
- # to create a list of one or more `Expression` objects. By doing this,
1983
- # you can filter on more advanced options. For example, you can filter
1984
- # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1985
- # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1986
- # is as follows:
1987
- #
1988
- # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1989
- # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1990
- # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1991
- # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
2057
+ # Use `Expression` to filter in various Cost Explorer APIs.
2058
+ #
2059
+ # Not all `Expression` types are supported in each API. Refer to the
2060
+ # documentation for each specific API to see what is supported.
2061
+ #
2062
+ # There are two patterns:
2063
+ #
2064
+ # * Simple dimension values.
2065
+ #
2066
+ # * There are three types of simple dimension values:
2067
+ # `CostCategories`, `Tags`, and `Dimensions`.
2068
+ #
2069
+ # * Specify the `CostCategories` field to define a filter that acts
2070
+ # on Cost Categories.
2071
+ #
2072
+ # * Specify the `Tags` field to define a filter that acts on Cost
2073
+ # Allocation Tags.
2074
+ #
2075
+ # * Specify the `Dimensions` field to define a filter that acts on
2076
+ # the [ `DimensionValues` ][1].
2077
+ #
2078
+ # * For each filter type, you can set the dimension name and values
2079
+ # for the filters that you plan to use.
2080
+ #
2081
+ # * For example, you can filter for `REGION==us-east-1 OR
2082
+ # REGION==us-west-1`. For `GetRightsizingRecommendation`, the
2083
+ # Region is a full name (for example, `REGION==US East (N.
2084
+ # Virginia)`.
2085
+ #
2086
+ # * The corresponding `Expression` for this example is as follows:
2087
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2088
+ # “us-west-1” ] \} \}`
2089
+ #
2090
+ # * As shown in the previous example, lists of dimension values are
2091
+ # combined with `OR` when applying the filter.
2092
+ #
2093
+ # * You can also set different match options to further control how
2094
+ # the filter behaves. Not all APIs support match options. Refer to
2095
+ # the documentation for each specific API to see what is supported.
2096
+ #
2097
+ # * For example, you can filter for linked account names that start
2098
+ # with “a”.
2099
+ #
2100
+ # * The corresponding `Expression` for this example is as follows:
2101
+ # `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
2102
+ # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] \} \}`
2103
+ #
2104
+ # * Compound `Expression` types with logical operations.
2105
+ #
2106
+ # * You can use multiple `Expression` types and the logical operators
2107
+ # `AND/OR/NOT` to create a list of one or more `Expression` objects.
2108
+ # By doing this, you can filter by more advanced options.
2109
+ #
2110
+ # * For example, you can filter by `((REGION == us-east-1 OR REGION ==
2111
+ # us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
2112
+ # DataTransfer)`.
2113
+ #
2114
+ # * The corresponding `Expression` for this example is as follows: `\{
2115
+ # "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values": [
2116
+ # "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
2117
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
2118
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
1992
2119
  #
1993
2120
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
1994
2121
  # returns an error if more than one is specified. The following
1995
- # example shows an `Expression` object that creates an error.
2122
+ # example shows an `Expression` object that creates an error: ` \{
2123
+ # "And": [ ... ], "Dimensions": \{ "Key": "USAGE_TYPE", "Values": [
2124
+ # "DataTransfer" ] \} \} `
1996
2125
  #
1997
- # </note>
2126
+ # The following is an example of the corresponding error message:
2127
+ # `"Expression has more than one roots. Only one root operator is
2128
+ # allowed for each expression: And, Or, Not, Dimensions, Tags,
2129
+ # CostCategories"`
1998
2130
  #
1999
- # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2000
- # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2131
+ # </note>
2001
2132
  #
2002
2133
  # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2003
2134
  # NOT isn't supported. OR isn't supported between different
@@ -2011,6 +2142,10 @@ module Aws::CostExplorer
2011
2142
  #
2012
2143
  # </note>
2013
2144
  #
2145
+ #
2146
+ #
2147
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html
2148
+ #
2014
2149
  # @option params [Array<Types::SortDefinition>] :sort_by
2015
2150
  # The value that you want to sort the data by.
2016
2151
  #
@@ -2066,7 +2201,7 @@ module Aws::CostExplorer
2066
2201
  # start: "YearMonthDay", # required
2067
2202
  # end: "YearMonthDay", # required
2068
2203
  # },
2069
- # 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, INVOICING_ENTITY
2204
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
2070
2205
  # context: "COST_AND_USAGE", # accepts COST_AND_USAGE, RESERVATIONS, SAVINGS_PLANS
2071
2206
  # filter: {
2072
2207
  # or: [
@@ -2083,19 +2218,19 @@ module Aws::CostExplorer
2083
2218
  # # recursive Expression
2084
2219
  # },
2085
2220
  # dimensions: {
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, INVOICING_ENTITY
2221
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
2087
2222
  # values: ["Value"],
2088
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2223
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2089
2224
  # },
2090
2225
  # tags: {
2091
2226
  # key: "TagKey",
2092
2227
  # values: ["Value"],
2093
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2228
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2094
2229
  # },
2095
2230
  # cost_categories: {
2096
2231
  # key: "CostCategoryName",
2097
2232
  # values: ["Value"],
2098
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2233
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2099
2234
  # },
2100
2235
  # },
2101
2236
  # sort_by: [
@@ -2329,19 +2464,19 @@ module Aws::CostExplorer
2329
2464
  # # recursive Expression
2330
2465
  # },
2331
2466
  # dimensions: {
2332
- # 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, INVOICING_ENTITY
2467
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
2333
2468
  # values: ["Value"],
2334
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2469
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2335
2470
  # },
2336
2471
  # tags: {
2337
2472
  # key: "TagKey",
2338
2473
  # values: ["Value"],
2339
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2474
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2340
2475
  # },
2341
2476
  # cost_categories: {
2342
2477
  # key: "CostCategoryName",
2343
2478
  # values: ["Value"],
2344
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2479
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2345
2480
  # },
2346
2481
  # },
2347
2482
  # metrics: ["MetricName"],
@@ -2429,45 +2564,81 @@ module Aws::CostExplorer
2429
2564
  # The specific service that you want recommendations for.
2430
2565
  #
2431
2566
  # @option params [Types::Expression] :filter
2432
- # Use `Expression` to filter by cost or by usage. There are two
2433
- # patterns:
2434
- #
2435
- # * Simple dimension values - You can set the dimension name and values
2436
- # for the filters that you plan to use. For example, you can filter
2437
- # for `REGION==us-east-1 OR REGION==us-west-1`. For
2438
- # `GetRightsizingRecommendation`, the Region is a full name (for
2439
- # example, `REGION==US East (N. Virginia)`. The `Expression` example
2440
- # is as follows:
2441
- #
2442
- # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2443
- # “us-west-1” ] \} \}`
2444
- #
2445
- # The list of dimension values are OR'd together to retrieve cost or
2446
- # usage data. You can create `Expression` and `DimensionValues`
2447
- # objects using either `with*` methods or `set*` methods in multiple
2448
- # lines.
2449
- #
2450
- # * Compound dimension values with logical operations - You can use
2451
- # multiple `Expression` types and the logical operators `AND/OR/NOT`
2452
- # to create a list of one or more `Expression` objects. By doing this,
2453
- # you can filter on more advanced options. For example, you can filter
2454
- # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
2455
- # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
2456
- # is as follows:
2457
- #
2458
- # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
2459
- # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
2460
- # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
2461
- # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
2567
+ # Use `Expression` to filter in various Cost Explorer APIs.
2568
+ #
2569
+ # Not all `Expression` types are supported in each API. Refer to the
2570
+ # documentation for each specific API to see what is supported.
2571
+ #
2572
+ # There are two patterns:
2573
+ #
2574
+ # * Simple dimension values.
2575
+ #
2576
+ # * There are three types of simple dimension values:
2577
+ # `CostCategories`, `Tags`, and `Dimensions`.
2578
+ #
2579
+ # * Specify the `CostCategories` field to define a filter that acts
2580
+ # on Cost Categories.
2581
+ #
2582
+ # * Specify the `Tags` field to define a filter that acts on Cost
2583
+ # Allocation Tags.
2584
+ #
2585
+ # * Specify the `Dimensions` field to define a filter that acts on
2586
+ # the [ `DimensionValues` ][1].
2587
+ #
2588
+ # * For each filter type, you can set the dimension name and values
2589
+ # for the filters that you plan to use.
2590
+ #
2591
+ # * For example, you can filter for `REGION==us-east-1 OR
2592
+ # REGION==us-west-1`. For `GetRightsizingRecommendation`, the
2593
+ # Region is a full name (for example, `REGION==US East (N.
2594
+ # Virginia)`.
2595
+ #
2596
+ # * The corresponding `Expression` for this example is as follows:
2597
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2598
+ # “us-west-1” ] \} \}`
2599
+ #
2600
+ # * As shown in the previous example, lists of dimension values are
2601
+ # combined with `OR` when applying the filter.
2602
+ #
2603
+ # * You can also set different match options to further control how
2604
+ # the filter behaves. Not all APIs support match options. Refer to
2605
+ # the documentation for each specific API to see what is supported.
2606
+ #
2607
+ # * For example, you can filter for linked account names that start
2608
+ # with “a”.
2609
+ #
2610
+ # * The corresponding `Expression` for this example is as follows:
2611
+ # `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
2612
+ # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] \} \}`
2613
+ #
2614
+ # * Compound `Expression` types with logical operations.
2615
+ #
2616
+ # * You can use multiple `Expression` types and the logical operators
2617
+ # `AND/OR/NOT` to create a list of one or more `Expression` objects.
2618
+ # By doing this, you can filter by more advanced options.
2619
+ #
2620
+ # * For example, you can filter by `((REGION == us-east-1 OR REGION ==
2621
+ # us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
2622
+ # DataTransfer)`.
2623
+ #
2624
+ # * The corresponding `Expression` for this example is as follows: `\{
2625
+ # "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values": [
2626
+ # "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
2627
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
2628
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
2462
2629
  #
2463
2630
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
2464
2631
  # returns an error if more than one is specified. The following
2465
- # example shows an `Expression` object that creates an error.
2632
+ # example shows an `Expression` object that creates an error: ` \{
2633
+ # "And": [ ... ], "Dimensions": \{ "Key": "USAGE_TYPE", "Values": [
2634
+ # "DataTransfer" ] \} \} `
2466
2635
  #
2467
- # </note>
2636
+ # The following is an example of the corresponding error message:
2637
+ # `"Expression has more than one roots. Only one root operator is
2638
+ # allowed for each expression: And, Or, Not, Dimensions, Tags,
2639
+ # CostCategories"`
2468
2640
  #
2469
- # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2470
- # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2641
+ # </note>
2471
2642
  #
2472
2643
  # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2473
2644
  # NOT isn't supported. OR isn't supported between different
@@ -2481,6 +2652,10 @@ module Aws::CostExplorer
2481
2652
  #
2482
2653
  # </note>
2483
2654
  #
2655
+ #
2656
+ #
2657
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html
2658
+ #
2484
2659
  # @option params [String] :account_scope
2485
2660
  # The account scope that you want your recommendations for. Amazon Web
2486
2661
  # Services calculates recommendations including the management account
@@ -2537,19 +2712,19 @@ module Aws::CostExplorer
2537
2712
  # # recursive Expression
2538
2713
  # },
2539
2714
  # dimensions: {
2540
- # 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, INVOICING_ENTITY
2715
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
2541
2716
  # values: ["Value"],
2542
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2717
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2543
2718
  # },
2544
2719
  # tags: {
2545
2720
  # key: "TagKey",
2546
2721
  # values: ["Value"],
2547
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2722
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2548
2723
  # },
2549
2724
  # cost_categories: {
2550
2725
  # key: "CostCategoryName",
2551
2726
  # values: ["Value"],
2552
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2727
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2553
2728
  # },
2554
2729
  # },
2555
2730
  # account_scope: "PAYER", # accepts PAYER, LINKED
@@ -2789,19 +2964,19 @@ module Aws::CostExplorer
2789
2964
  # # recursive Expression
2790
2965
  # },
2791
2966
  # dimensions: {
2792
- # 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, INVOICING_ENTITY
2967
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
2793
2968
  # values: ["Value"],
2794
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2969
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2795
2970
  # },
2796
2971
  # tags: {
2797
2972
  # key: "TagKey",
2798
2973
  # values: ["Value"],
2799
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2974
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2800
2975
  # },
2801
2976
  # cost_categories: {
2802
2977
  # key: "CostCategoryName",
2803
2978
  # values: ["Value"],
2804
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2979
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
2805
2980
  # },
2806
2981
  # },
2807
2982
  # sort_by: {
@@ -2898,45 +3073,81 @@ module Aws::CostExplorer
2898
3073
  # [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html
2899
3074
  #
2900
3075
  # @option params [Types::Expression] :filter
2901
- # Use `Expression` to filter by cost or by usage. There are two
2902
- # patterns:
2903
- #
2904
- # * Simple dimension values - You can set the dimension name and values
2905
- # for the filters that you plan to use. For example, you can filter
2906
- # for `REGION==us-east-1 OR REGION==us-west-1`. For
2907
- # `GetRightsizingRecommendation`, the Region is a full name (for
2908
- # example, `REGION==US East (N. Virginia)`. The `Expression` example
2909
- # is as follows:
2910
- #
2911
- # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2912
- # “us-west-1” ] \} \}`
2913
- #
2914
- # The list of dimension values are OR'd together to retrieve cost or
2915
- # usage data. You can create `Expression` and `DimensionValues`
2916
- # objects using either `with*` methods or `set*` methods in multiple
2917
- # lines.
2918
- #
2919
- # * Compound dimension values with logical operations - You can use
2920
- # multiple `Expression` types and the logical operators `AND/OR/NOT`
2921
- # to create a list of one or more `Expression` objects. By doing this,
2922
- # you can filter on more advanced options. For example, you can filter
2923
- # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
2924
- # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
2925
- # is as follows:
2926
- #
2927
- # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
2928
- # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
2929
- # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
2930
- # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
3076
+ # Use `Expression` to filter in various Cost Explorer APIs.
3077
+ #
3078
+ # Not all `Expression` types are supported in each API. Refer to the
3079
+ # documentation for each specific API to see what is supported.
3080
+ #
3081
+ # There are two patterns:
3082
+ #
3083
+ # * Simple dimension values.
3084
+ #
3085
+ # * There are three types of simple dimension values:
3086
+ # `CostCategories`, `Tags`, and `Dimensions`.
3087
+ #
3088
+ # * Specify the `CostCategories` field to define a filter that acts
3089
+ # on Cost Categories.
3090
+ #
3091
+ # * Specify the `Tags` field to define a filter that acts on Cost
3092
+ # Allocation Tags.
3093
+ #
3094
+ # * Specify the `Dimensions` field to define a filter that acts on
3095
+ # the [ `DimensionValues` ][1].
3096
+ #
3097
+ # * For each filter type, you can set the dimension name and values
3098
+ # for the filters that you plan to use.
3099
+ #
3100
+ # * For example, you can filter for `REGION==us-east-1 OR
3101
+ # REGION==us-west-1`. For `GetRightsizingRecommendation`, the
3102
+ # Region is a full name (for example, `REGION==US East (N.
3103
+ # Virginia)`.
3104
+ #
3105
+ # * The corresponding `Expression` for this example is as follows:
3106
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
3107
+ # “us-west-1” ] \} \}`
3108
+ #
3109
+ # * As shown in the previous example, lists of dimension values are
3110
+ # combined with `OR` when applying the filter.
3111
+ #
3112
+ # * You can also set different match options to further control how
3113
+ # the filter behaves. Not all APIs support match options. Refer to
3114
+ # the documentation for each specific API to see what is supported.
3115
+ #
3116
+ # * For example, you can filter for linked account names that start
3117
+ # with “a”.
3118
+ #
3119
+ # * The corresponding `Expression` for this example is as follows:
3120
+ # `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
3121
+ # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] \} \}`
3122
+ #
3123
+ # * Compound `Expression` types with logical operations.
3124
+ #
3125
+ # * You can use multiple `Expression` types and the logical operators
3126
+ # `AND/OR/NOT` to create a list of one or more `Expression` objects.
3127
+ # By doing this, you can filter by more advanced options.
3128
+ #
3129
+ # * For example, you can filter by `((REGION == us-east-1 OR REGION ==
3130
+ # us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
3131
+ # DataTransfer)`.
3132
+ #
3133
+ # * The corresponding `Expression` for this example is as follows: `\{
3134
+ # "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values": [
3135
+ # "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
3136
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
3137
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
2931
3138
  #
2932
3139
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
2933
3140
  # returns an error if more than one is specified. The following
2934
- # example shows an `Expression` object that creates an error.
3141
+ # example shows an `Expression` object that creates an error: ` \{
3142
+ # "And": [ ... ], "Dimensions": \{ "Key": "USAGE_TYPE", "Values": [
3143
+ # "DataTransfer" ] \} \} `
2935
3144
  #
2936
- # </note>
3145
+ # The following is an example of the corresponding error message:
3146
+ # `"Expression has more than one roots. Only one root operator is
3147
+ # allowed for each expression: And, Or, Not, Dimensions, Tags,
3148
+ # CostCategories"`
2937
3149
  #
2938
- # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2939
- # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
3150
+ # </note>
2940
3151
  #
2941
3152
  # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2942
3153
  # NOT isn't supported. OR isn't supported between different
@@ -2950,6 +3161,10 @@ module Aws::CostExplorer
2950
3161
  #
2951
3162
  # </note>
2952
3163
  #
3164
+ #
3165
+ #
3166
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html
3167
+ #
2953
3168
  # @option params [Types::RightsizingRecommendationConfiguration] :configuration
2954
3169
  # You can use Configuration to customize recommendations across two
2955
3170
  # attributes. You can choose to view recommendations for instances
@@ -2996,19 +3211,19 @@ module Aws::CostExplorer
2996
3211
  # # recursive Expression
2997
3212
  # },
2998
3213
  # dimensions: {
2999
- # 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, INVOICING_ENTITY
3214
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
3000
3215
  # values: ["Value"],
3001
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3216
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3002
3217
  # },
3003
3218
  # tags: {
3004
3219
  # key: "TagKey",
3005
3220
  # values: ["Value"],
3006
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3221
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3007
3222
  # },
3008
3223
  # cost_categories: {
3009
3224
  # key: "CostCategoryName",
3010
3225
  # values: ["Value"],
3011
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3226
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3012
3227
  # },
3013
3228
  # },
3014
3229
  # configuration: {
@@ -3039,7 +3254,7 @@ module Aws::CostExplorer
3039
3254
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values #=> Array
3040
3255
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values[0] #=> String
3041
3256
  # resp.rightsizing_recommendations[0].current_instance.tags[0].match_options #=> Array
3042
- # 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"
3257
+ # 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", "GREATER_THAN_OR_EQUAL"
3043
3258
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.hourly_on_demand_rate #=> String
3044
3259
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.instance_type #=> String
3045
3260
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.platform #=> String
@@ -3246,19 +3461,19 @@ module Aws::CostExplorer
3246
3461
  # # recursive Expression
3247
3462
  # },
3248
3463
  # dimensions: {
3249
- # 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, INVOICING_ENTITY
3464
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
3250
3465
  # values: ["Value"],
3251
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3466
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3252
3467
  # },
3253
3468
  # tags: {
3254
3469
  # key: "TagKey",
3255
3470
  # values: ["Value"],
3256
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3471
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3257
3472
  # },
3258
3473
  # cost_categories: {
3259
3474
  # key: "CostCategoryName",
3260
3475
  # values: ["Value"],
3261
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3476
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3262
3477
  # },
3263
3478
  # },
3264
3479
  # metrics: ["MetricName"],
@@ -3371,19 +3586,19 @@ module Aws::CostExplorer
3371
3586
  # # recursive Expression
3372
3587
  # },
3373
3588
  # dimensions: {
3374
- # 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, INVOICING_ENTITY
3589
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
3375
3590
  # values: ["Value"],
3376
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3591
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3377
3592
  # },
3378
3593
  # tags: {
3379
3594
  # key: "TagKey",
3380
3595
  # values: ["Value"],
3381
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3596
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3382
3597
  # },
3383
3598
  # cost_categories: {
3384
3599
  # key: "CostCategoryName",
3385
3600
  # values: ["Value"],
3386
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3601
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3387
3602
  # },
3388
3603
  # },
3389
3604
  # })
@@ -3532,19 +3747,19 @@ module Aws::CostExplorer
3532
3747
  # # recursive Expression
3533
3748
  # },
3534
3749
  # dimensions: {
3535
- # 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, INVOICING_ENTITY
3750
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
3536
3751
  # values: ["Value"],
3537
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3752
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3538
3753
  # },
3539
3754
  # tags: {
3540
3755
  # key: "TagKey",
3541
3756
  # values: ["Value"],
3542
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3757
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3543
3758
  # },
3544
3759
  # cost_categories: {
3545
3760
  # key: "CostCategoryName",
3546
3761
  # values: ["Value"],
3547
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3762
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3548
3763
  # },
3549
3764
  # },
3550
3765
  # sort_by: {
@@ -3692,19 +3907,19 @@ module Aws::CostExplorer
3692
3907
  # # recursive Expression
3693
3908
  # },
3694
3909
  # dimensions: {
3695
- # 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, INVOICING_ENTITY
3910
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
3696
3911
  # values: ["Value"],
3697
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3912
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3698
3913
  # },
3699
3914
  # tags: {
3700
3915
  # key: "TagKey",
3701
3916
  # values: ["Value"],
3702
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3917
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3703
3918
  # },
3704
3919
  # cost_categories: {
3705
3920
  # key: "CostCategoryName",
3706
3921
  # values: ["Value"],
3707
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3922
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3708
3923
  # },
3709
3924
  # },
3710
3925
  # data_type: ["ATTRIBUTES"], # accepts ATTRIBUTES, UTILIZATION, AMORTIZED_COMMITMENT, SAVINGS
@@ -3770,45 +3985,81 @@ module Aws::CostExplorer
3770
3985
  # The key of the tag that you want to return values for.
3771
3986
  #
3772
3987
  # @option params [Types::Expression] :filter
3773
- # Use `Expression` to filter by cost or by usage. There are two
3774
- # patterns:
3775
- #
3776
- # * Simple dimension values - You can set the dimension name and values
3777
- # for the filters that you plan to use. For example, you can filter
3778
- # for `REGION==us-east-1 OR REGION==us-west-1`. For
3779
- # `GetRightsizingRecommendation`, the Region is a full name (for
3780
- # example, `REGION==US East (N. Virginia)`. The `Expression` example
3781
- # is as follows:
3782
- #
3783
- # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
3784
- # “us-west-1” ] \} \}`
3785
- #
3786
- # The list of dimension values are OR'd together to retrieve cost or
3787
- # usage data. You can create `Expression` and `DimensionValues`
3788
- # objects using either `with*` methods or `set*` methods in multiple
3789
- # lines.
3790
- #
3791
- # * Compound dimension values with logical operations - You can use
3792
- # multiple `Expression` types and the logical operators `AND/OR/NOT`
3793
- # to create a list of one or more `Expression` objects. By doing this,
3794
- # you can filter on more advanced options. For example, you can filter
3795
- # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
3796
- # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
3797
- # is as follows:
3798
- #
3799
- # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
3800
- # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
3801
- # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
3802
- # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
3988
+ # Use `Expression` to filter in various Cost Explorer APIs.
3989
+ #
3990
+ # Not all `Expression` types are supported in each API. Refer to the
3991
+ # documentation for each specific API to see what is supported.
3992
+ #
3993
+ # There are two patterns:
3994
+ #
3995
+ # * Simple dimension values.
3996
+ #
3997
+ # * There are three types of simple dimension values:
3998
+ # `CostCategories`, `Tags`, and `Dimensions`.
3999
+ #
4000
+ # * Specify the `CostCategories` field to define a filter that acts
4001
+ # on Cost Categories.
4002
+ #
4003
+ # * Specify the `Tags` field to define a filter that acts on Cost
4004
+ # Allocation Tags.
4005
+ #
4006
+ # * Specify the `Dimensions` field to define a filter that acts on
4007
+ # the [ `DimensionValues` ][1].
4008
+ #
4009
+ # * For each filter type, you can set the dimension name and values
4010
+ # for the filters that you plan to use.
4011
+ #
4012
+ # * For example, you can filter for `REGION==us-east-1 OR
4013
+ # REGION==us-west-1`. For `GetRightsizingRecommendation`, the
4014
+ # Region is a full name (for example, `REGION==US East (N.
4015
+ # Virginia)`.
4016
+ #
4017
+ # * The corresponding `Expression` for this example is as follows:
4018
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
4019
+ # “us-west-1” ] \} \}`
4020
+ #
4021
+ # * As shown in the previous example, lists of dimension values are
4022
+ # combined with `OR` when applying the filter.
4023
+ #
4024
+ # * You can also set different match options to further control how
4025
+ # the filter behaves. Not all APIs support match options. Refer to
4026
+ # the documentation for each specific API to see what is supported.
4027
+ #
4028
+ # * For example, you can filter for linked account names that start
4029
+ # with “a”.
4030
+ #
4031
+ # * The corresponding `Expression` for this example is as follows:
4032
+ # `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
4033
+ # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] \} \}`
4034
+ #
4035
+ # * Compound `Expression` types with logical operations.
4036
+ #
4037
+ # * You can use multiple `Expression` types and the logical operators
4038
+ # `AND/OR/NOT` to create a list of one or more `Expression` objects.
4039
+ # By doing this, you can filter by more advanced options.
4040
+ #
4041
+ # * For example, you can filter by `((REGION == us-east-1 OR REGION ==
4042
+ # us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
4043
+ # DataTransfer)`.
4044
+ #
4045
+ # * The corresponding `Expression` for this example is as follows: `\{
4046
+ # "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values": [
4047
+ # "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
4048
+ # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
4049
+ # "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
3803
4050
  #
3804
4051
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
3805
4052
  # returns an error if more than one is specified. The following
3806
- # example shows an `Expression` object that creates an error.
4053
+ # example shows an `Expression` object that creates an error: ` \{
4054
+ # "And": [ ... ], "Dimensions": \{ "Key": "USAGE_TYPE", "Values": [
4055
+ # "DataTransfer" ] \} \} `
3807
4056
  #
3808
- # </note>
4057
+ # The following is an example of the corresponding error message:
4058
+ # `"Expression has more than one roots. Only one root operator is
4059
+ # allowed for each expression: And, Or, Not, Dimensions, Tags,
4060
+ # CostCategories"`
3809
4061
  #
3810
- # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
3811
- # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
4062
+ # </note>
3812
4063
  #
3813
4064
  # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
3814
4065
  # NOT isn't supported. OR isn't supported between different
@@ -3822,6 +4073,10 @@ module Aws::CostExplorer
3822
4073
  #
3823
4074
  # </note>
3824
4075
  #
4076
+ #
4077
+ #
4078
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html
4079
+ #
3825
4080
  # @option params [Array<Types::SortDefinition>] :sort_by
3826
4081
  # The value that you want to sort the data by.
3827
4082
  #
@@ -3891,19 +4146,19 @@ module Aws::CostExplorer
3891
4146
  # # recursive Expression
3892
4147
  # },
3893
4148
  # dimensions: {
3894
- # 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, INVOICING_ENTITY
4149
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
3895
4150
  # values: ["Value"],
3896
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4151
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3897
4152
  # },
3898
4153
  # tags: {
3899
4154
  # key: "TagKey",
3900
4155
  # values: ["Value"],
3901
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4156
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3902
4157
  # },
3903
4158
  # cost_categories: {
3904
4159
  # key: "CostCategoryName",
3905
4160
  # values: ["Value"],
3906
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4161
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
3907
4162
  # },
3908
4163
  # },
3909
4164
  # sort_by: [
@@ -4049,19 +4304,19 @@ module Aws::CostExplorer
4049
4304
  # # recursive Expression
4050
4305
  # },
4051
4306
  # dimensions: {
4052
- # 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, INVOICING_ENTITY
4307
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
4053
4308
  # values: ["Value"],
4054
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4309
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
4055
4310
  # },
4056
4311
  # tags: {
4057
4312
  # key: "TagKey",
4058
4313
  # values: ["Value"],
4059
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4314
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
4060
4315
  # },
4061
4316
  # cost_categories: {
4062
4317
  # key: "CostCategoryName",
4063
4318
  # values: ["Value"],
4064
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4319
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
4065
4320
  # },
4066
4321
  # },
4067
4322
  # prediction_interval_level: 1,
@@ -4502,8 +4757,14 @@ module Aws::CostExplorer
4502
4757
  # A cost anomaly subscription Amazon Resource Name (ARN).
4503
4758
  #
4504
4759
  # @option params [Float] :threshold
4760
+ # (deprecated)
4761
+ #
4505
4762
  # The update to the threshold value for receiving notifications.
4506
4763
  #
4764
+ # This field has been deprecated. To update a threshold, use
4765
+ # ThresholdExpression. Continued use of Threshold will be treated as
4766
+ # shorthand syntax for a ThresholdExpression.
4767
+ #
4507
4768
  # @option params [String] :frequency
4508
4769
  # The update to the frequency value that subscribers receive
4509
4770
  # notifications.
@@ -4517,6 +4778,43 @@ module Aws::CostExplorer
4517
4778
  # @option params [String] :subscription_name
4518
4779
  # The new name of the subscription.
4519
4780
  #
4781
+ # @option params [Types::Expression] :threshold_expression
4782
+ # The update to the [Expression][1] object used to specify the anomalies
4783
+ # that you want to generate alerts for. This supports dimensions and
4784
+ # nested expressions. The supported dimensions are
4785
+ # `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and `ANOMALY_TOTAL_IMPACT_PERCENTAGE`.
4786
+ # The supported nested expression types are `AND` and `OR`. The match
4787
+ # option `GREATER_THAN_OR_EQUAL` is required. Values must be numbers
4788
+ # between 0 and 10,000,000,000.
4789
+ #
4790
+ # The following are examples of valid ThresholdExpressions:
4791
+ #
4792
+ # * Absolute threshold: `\{ "Dimensions": \{ "Key":
4793
+ # "ANOMALY_TOTAL_IMPACT_ABSOLUTE", "MatchOptions": [
4794
+ # "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] \} \}`
4795
+ #
4796
+ # * Percentage threshold: `\{ "Dimensions": \{ "Key":
4797
+ # "ANOMALY_TOTAL_IMPACT_PERCENTAGE", "MatchOptions": [
4798
+ # "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] \} \}`
4799
+ #
4800
+ # * `AND` two thresholds together: `\{ "And": [ \{ "Dimensions": \{
4801
+ # "Key": "ANOMALY_TOTAL_IMPACT_ABSOLUTE", "MatchOptions": [
4802
+ # "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] \} \}, \{
4803
+ # "Dimensions": \{ "Key": "ANOMALY_TOTAL_IMPACT_PERCENTAGE",
4804
+ # "MatchOptions": [ "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] \}
4805
+ # \} ] \}`
4806
+ #
4807
+ # * `OR` two thresholds together: `\{ "Or": [ \{ "Dimensions": \{ "Key":
4808
+ # "ANOMALY_TOTAL_IMPACT_ABSOLUTE", "MatchOptions": [
4809
+ # "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] \} \}, \{
4810
+ # "Dimensions": \{ "Key": "ANOMALY_TOTAL_IMPACT_PERCENTAGE",
4811
+ # "MatchOptions": [ "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] \}
4812
+ # \} ] \}`
4813
+ #
4814
+ #
4815
+ #
4816
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
4817
+ #
4520
4818
  # @return [Types::UpdateAnomalySubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4521
4819
  #
4522
4820
  # * {Types::UpdateAnomalySubscriptionResponse#subscription_arn #subscription_arn} => String
@@ -4536,6 +4834,36 @@ module Aws::CostExplorer
4536
4834
  # },
4537
4835
  # ],
4538
4836
  # subscription_name: "GenericString",
4837
+ # threshold_expression: {
4838
+ # or: [
4839
+ # {
4840
+ # # recursive Expression
4841
+ # },
4842
+ # ],
4843
+ # and: [
4844
+ # {
4845
+ # # recursive Expression
4846
+ # },
4847
+ # ],
4848
+ # not: {
4849
+ # # recursive Expression
4850
+ # },
4851
+ # dimensions: {
4852
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
4853
+ # values: ["Value"],
4854
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
4855
+ # },
4856
+ # tags: {
4857
+ # key: "TagKey",
4858
+ # values: ["Value"],
4859
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
4860
+ # },
4861
+ # cost_categories: {
4862
+ # key: "CostCategoryName",
4863
+ # values: ["Value"],
4864
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
4865
+ # },
4866
+ # },
4539
4867
  # })
4540
4868
  #
4541
4869
  # @example Response structure
@@ -4653,19 +4981,19 @@ module Aws::CostExplorer
4653
4981
  # # recursive Expression
4654
4982
  # },
4655
4983
  # dimensions: {
4656
- # 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, INVOICING_ENTITY
4984
+ # 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, INVOICING_ENTITY, ANOMALY_TOTAL_IMPACT_ABSOLUTE, ANOMALY_TOTAL_IMPACT_PERCENTAGE
4657
4985
  # values: ["Value"],
4658
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4986
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
4659
4987
  # },
4660
4988
  # tags: {
4661
4989
  # key: "TagKey",
4662
4990
  # values: ["Value"],
4663
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4991
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
4664
4992
  # },
4665
4993
  # cost_categories: {
4666
4994
  # key: "CostCategoryName",
4667
4995
  # values: ["Value"],
4668
- # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4996
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE, GREATER_THAN_OR_EQUAL
4669
4997
  # },
4670
4998
  # },
4671
4999
  # inherited_value: {
@@ -4718,7 +5046,7 @@ module Aws::CostExplorer
4718
5046
  params: params,
4719
5047
  config: config)
4720
5048
  context[:gem_name] = 'aws-sdk-costexplorer'
4721
- context[:gem_version] = '1.80.0'
5049
+ context[:gem_version] = '1.82.0'
4722
5050
  Seahorse::Client::Request.new(handlers, context)
4723
5051
  end
4724
5052