aws-sdk-costexplorer 1.80.0 → 1.82.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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