aws-sdk-costexplorer 1.81.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
@@ -935,6 +966,9 @@ module Aws::CostExplorer
935
966
  # resp.anomalies[0].anomaly_score.current_score #=> Float
936
967
  # resp.anomalies[0].impact.max_impact #=> Float
937
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
938
972
  # resp.anomalies[0].monitor_arn #=> String
939
973
  # resp.anomalies[0].feedback #=> String, one of "YES", "NO", "PLANNED_ACTIVITY"
940
974
  # resp.next_page_token #=> String
@@ -991,21 +1025,21 @@ module Aws::CostExplorer
991
1025
  # resp.anomaly_monitors[0].monitor_specification.and #=> Array
992
1026
  # resp.anomaly_monitors[0].monitor_specification.and[0] #=> Types::Expression
993
1027
  # resp.anomaly_monitors[0].monitor_specification.not #=> Types::Expression
994
- # 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"
995
1029
  # resp.anomaly_monitors[0].monitor_specification.dimensions.values #=> Array
996
1030
  # resp.anomaly_monitors[0].monitor_specification.dimensions.values[0] #=> String
997
1031
  # resp.anomaly_monitors[0].monitor_specification.dimensions.match_options #=> Array
998
- # 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"
999
1033
  # resp.anomaly_monitors[0].monitor_specification.tags.key #=> String
1000
1034
  # resp.anomaly_monitors[0].monitor_specification.tags.values #=> Array
1001
1035
  # resp.anomaly_monitors[0].monitor_specification.tags.values[0] #=> String
1002
1036
  # resp.anomaly_monitors[0].monitor_specification.tags.match_options #=> Array
1003
- # 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"
1004
1038
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.key #=> String
1005
1039
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.values #=> Array
1006
1040
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.values[0] #=> String
1007
1041
  # resp.anomaly_monitors[0].monitor_specification.cost_categories.match_options #=> Array
1008
- # 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"
1009
1043
  # resp.anomaly_monitors[0].dimensional_value_count #=> Integer
1010
1044
  # resp.next_page_token #=> String
1011
1045
  #
@@ -1064,6 +1098,26 @@ module Aws::CostExplorer
1064
1098
  # resp.anomaly_subscriptions[0].threshold #=> Float
1065
1099
  # resp.anomaly_subscriptions[0].frequency #=> String, one of "DAILY", "IMMEDIATE", "WEEKLY"
1066
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"
1067
1121
  # resp.next_page_token #=> String
1068
1122
  #
1069
1123
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptions AWS API Documentation
@@ -1195,19 +1249,19 @@ module Aws::CostExplorer
1195
1249
  # # recursive Expression
1196
1250
  # },
1197
1251
  # dimensions: {
1198
- # 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
1199
1253
  # values: ["Value"],
1200
- # 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
1201
1255
  # },
1202
1256
  # tags: {
1203
1257
  # key: "TagKey",
1204
1258
  # values: ["Value"],
1205
- # 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
1206
1260
  # },
1207
1261
  # cost_categories: {
1208
1262
  # key: "CostCategoryName",
1209
1263
  # values: ["Value"],
1210
- # 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
1211
1265
  # },
1212
1266
  # },
1213
1267
  # metrics: ["MetricName"], # required
@@ -1375,19 +1429,19 @@ module Aws::CostExplorer
1375
1429
  # # recursive Expression
1376
1430
  # },
1377
1431
  # dimensions: {
1378
- # 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
1379
1433
  # values: ["Value"],
1380
- # 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
1381
1435
  # },
1382
1436
  # tags: {
1383
1437
  # key: "TagKey",
1384
1438
  # values: ["Value"],
1385
- # 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
1386
1440
  # },
1387
1441
  # cost_categories: {
1388
1442
  # key: "CostCategoryName",
1389
1443
  # values: ["Value"],
1390
- # 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
1391
1445
  # },
1392
1446
  # },
1393
1447
  # metrics: ["MetricName"],
@@ -1455,45 +1509,81 @@ module Aws::CostExplorer
1455
1509
  # The unique name of the Cost Category.
1456
1510
  #
1457
1511
  # @option params [Types::Expression] :filter
1458
- # Use `Expression` to filter by cost or by usage. There are two
1459
- # patterns:
1460
- #
1461
- # * Simple dimension values - You can set the dimension name and values
1462
- # for the filters that you plan to use. For example, you can filter
1463
- # for `REGION==us-east-1 OR REGION==us-west-1`. For
1464
- # `GetRightsizingRecommendation`, the Region is a full name (for
1465
- # example, `REGION==US East (N. Virginia)`. The `Expression` example
1466
- # is as follows:
1467
- #
1468
- # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1469
- # “us-west-1” ] \} \}`
1470
- #
1471
- # The list of dimension values are OR'd together to retrieve cost or
1472
- # usage data. You can create `Expression` and `DimensionValues`
1473
- # objects using either `with*` methods or `set*` methods in multiple
1474
- # lines.
1475
- #
1476
- # * Compound dimension values with logical operations - You can use
1477
- # multiple `Expression` types and the logical operators `AND/OR/NOT`
1478
- # to create a list of one or more `Expression` objects. By doing this,
1479
- # you can filter on more advanced options. For example, you can filter
1480
- # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1481
- # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1482
- # is as follows:
1483
- #
1484
- # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1485
- # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1486
- # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1487
- # "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"] \}\}\} ] \} `
1488
1574
  #
1489
1575
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
1490
1576
  # returns an error if more than one is specified. The following
1491
- # 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" ] \} \} `
1492
1580
  #
1493
- # </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"`
1494
1585
  #
1495
- # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
1496
- # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
1586
+ # </note>
1497
1587
  #
1498
1588
  # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
1499
1589
  # NOT isn't supported. OR isn't supported between different
@@ -1507,6 +1597,10 @@ module Aws::CostExplorer
1507
1597
  #
1508
1598
  # </note>
1509
1599
  #
1600
+ #
1601
+ #
1602
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html
1603
+ #
1510
1604
  # @option params [Array<Types::SortDefinition>] :sort_by
1511
1605
  # The value that you sort the data by.
1512
1606
  #
@@ -1581,19 +1675,19 @@ module Aws::CostExplorer
1581
1675
  # # recursive Expression
1582
1676
  # },
1583
1677
  # dimensions: {
1584
- # 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
1585
1679
  # values: ["Value"],
1586
- # 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
1587
1681
  # },
1588
1682
  # tags: {
1589
1683
  # key: "TagKey",
1590
1684
  # values: ["Value"],
1591
- # 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
1592
1686
  # },
1593
1687
  # cost_categories: {
1594
1688
  # key: "CostCategoryName",
1595
1689
  # values: ["Value"],
1596
- # 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
1597
1691
  # },
1598
1692
  # },
1599
1693
  # sort_by: [
@@ -1749,19 +1843,19 @@ module Aws::CostExplorer
1749
1843
  # # recursive Expression
1750
1844
  # },
1751
1845
  # dimensions: {
1752
- # 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
1753
1847
  # values: ["Value"],
1754
- # 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
1755
1849
  # },
1756
1850
  # tags: {
1757
1851
  # key: "TagKey",
1758
1852
  # values: ["Value"],
1759
- # 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
1760
1854
  # },
1761
1855
  # cost_categories: {
1762
1856
  # key: "CostCategoryName",
1763
1857
  # values: ["Value"],
1764
- # 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
1765
1859
  # },
1766
1860
  # },
1767
1861
  # prediction_interval_level: 1,
@@ -1960,45 +2054,81 @@ module Aws::CostExplorer
1960
2054
  # * SAVINGS\_PLAN\_ARN - The unique identifier for your Savings Plans.
1961
2055
  #
1962
2056
  # @option params [Types::Expression] :filter
1963
- # Use `Expression` to filter by cost or by usage. There are two
1964
- # patterns:
1965
- #
1966
- # * Simple dimension values - You can set the dimension name and values
1967
- # for the filters that you plan to use. For example, you can filter
1968
- # for `REGION==us-east-1 OR REGION==us-west-1`. For
1969
- # `GetRightsizingRecommendation`, the Region is a full name (for
1970
- # example, `REGION==US East (N. Virginia)`. The `Expression` example
1971
- # is as follows:
1972
- #
1973
- # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
1974
- # “us-west-1” ] \} \}`
1975
- #
1976
- # The list of dimension values are OR'd together to retrieve cost or
1977
- # usage data. You can create `Expression` and `DimensionValues`
1978
- # objects using either `with*` methods or `set*` methods in multiple
1979
- # lines.
1980
- #
1981
- # * Compound dimension values with logical operations - You can use
1982
- # multiple `Expression` types and the logical operators `AND/OR/NOT`
1983
- # to create a list of one or more `Expression` objects. By doing this,
1984
- # you can filter on more advanced options. For example, you can filter
1985
- # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
1986
- # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
1987
- # is as follows:
1988
- #
1989
- # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
1990
- # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
1991
- # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
1992
- # "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"] \}\}\} ] \} `
1993
2119
  #
1994
2120
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
1995
2121
  # returns an error if more than one is specified. The following
1996
- # 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" ] \} \} `
1997
2125
  #
1998
- # </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"`
1999
2130
  #
2000
- # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2001
- # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2131
+ # </note>
2002
2132
  #
2003
2133
  # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2004
2134
  # NOT isn't supported. OR isn't supported between different
@@ -2012,6 +2142,10 @@ module Aws::CostExplorer
2012
2142
  #
2013
2143
  # </note>
2014
2144
  #
2145
+ #
2146
+ #
2147
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html
2148
+ #
2015
2149
  # @option params [Array<Types::SortDefinition>] :sort_by
2016
2150
  # The value that you want to sort the data by.
2017
2151
  #
@@ -2067,7 +2201,7 @@ module Aws::CostExplorer
2067
2201
  # start: "YearMonthDay", # required
2068
2202
  # end: "YearMonthDay", # required
2069
2203
  # },
2070
- # 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
2071
2205
  # context: "COST_AND_USAGE", # accepts COST_AND_USAGE, RESERVATIONS, SAVINGS_PLANS
2072
2206
  # filter: {
2073
2207
  # or: [
@@ -2084,19 +2218,19 @@ module Aws::CostExplorer
2084
2218
  # # recursive Expression
2085
2219
  # },
2086
2220
  # dimensions: {
2087
- # 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
2088
2222
  # values: ["Value"],
2089
- # 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
2090
2224
  # },
2091
2225
  # tags: {
2092
2226
  # key: "TagKey",
2093
2227
  # values: ["Value"],
2094
- # 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
2095
2229
  # },
2096
2230
  # cost_categories: {
2097
2231
  # key: "CostCategoryName",
2098
2232
  # values: ["Value"],
2099
- # 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
2100
2234
  # },
2101
2235
  # },
2102
2236
  # sort_by: [
@@ -2330,19 +2464,19 @@ module Aws::CostExplorer
2330
2464
  # # recursive Expression
2331
2465
  # },
2332
2466
  # dimensions: {
2333
- # 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
2334
2468
  # values: ["Value"],
2335
- # 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
2336
2470
  # },
2337
2471
  # tags: {
2338
2472
  # key: "TagKey",
2339
2473
  # values: ["Value"],
2340
- # 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
2341
2475
  # },
2342
2476
  # cost_categories: {
2343
2477
  # key: "CostCategoryName",
2344
2478
  # values: ["Value"],
2345
- # 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
2346
2480
  # },
2347
2481
  # },
2348
2482
  # metrics: ["MetricName"],
@@ -2430,45 +2564,81 @@ module Aws::CostExplorer
2430
2564
  # The specific service that you want recommendations for.
2431
2565
  #
2432
2566
  # @option params [Types::Expression] :filter
2433
- # Use `Expression` to filter by cost or by usage. There are two
2434
- # patterns:
2435
- #
2436
- # * Simple dimension values - You can set the dimension name and values
2437
- # for the filters that you plan to use. For example, you can filter
2438
- # for `REGION==us-east-1 OR REGION==us-west-1`. For
2439
- # `GetRightsizingRecommendation`, the Region is a full name (for
2440
- # example, `REGION==US East (N. Virginia)`. The `Expression` example
2441
- # is as follows:
2442
- #
2443
- # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2444
- # “us-west-1” ] \} \}`
2445
- #
2446
- # The list of dimension values are OR'd together to retrieve cost or
2447
- # usage data. You can create `Expression` and `DimensionValues`
2448
- # objects using either `with*` methods or `set*` methods in multiple
2449
- # lines.
2450
- #
2451
- # * Compound dimension values with logical operations - You can use
2452
- # multiple `Expression` types and the logical operators `AND/OR/NOT`
2453
- # to create a list of one or more `Expression` objects. By doing this,
2454
- # you can filter on more advanced options. For example, you can filter
2455
- # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
2456
- # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
2457
- # is as follows:
2458
- #
2459
- # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
2460
- # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
2461
- # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
2462
- # "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"] \}\}\} ] \} `
2463
2629
  #
2464
2630
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
2465
2631
  # returns an error if more than one is specified. The following
2466
- # 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" ] \} \} `
2467
2635
  #
2468
- # </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"`
2469
2640
  #
2470
- # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2471
- # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
2641
+ # </note>
2472
2642
  #
2473
2643
  # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2474
2644
  # NOT isn't supported. OR isn't supported between different
@@ -2482,6 +2652,10 @@ module Aws::CostExplorer
2482
2652
  #
2483
2653
  # </note>
2484
2654
  #
2655
+ #
2656
+ #
2657
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html
2658
+ #
2485
2659
  # @option params [String] :account_scope
2486
2660
  # The account scope that you want your recommendations for. Amazon Web
2487
2661
  # Services calculates recommendations including the management account
@@ -2538,19 +2712,19 @@ module Aws::CostExplorer
2538
2712
  # # recursive Expression
2539
2713
  # },
2540
2714
  # dimensions: {
2541
- # 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
2542
2716
  # values: ["Value"],
2543
- # 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
2544
2718
  # },
2545
2719
  # tags: {
2546
2720
  # key: "TagKey",
2547
2721
  # values: ["Value"],
2548
- # 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
2549
2723
  # },
2550
2724
  # cost_categories: {
2551
2725
  # key: "CostCategoryName",
2552
2726
  # values: ["Value"],
2553
- # 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
2554
2728
  # },
2555
2729
  # },
2556
2730
  # account_scope: "PAYER", # accepts PAYER, LINKED
@@ -2790,19 +2964,19 @@ module Aws::CostExplorer
2790
2964
  # # recursive Expression
2791
2965
  # },
2792
2966
  # dimensions: {
2793
- # 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
2794
2968
  # values: ["Value"],
2795
- # 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
2796
2970
  # },
2797
2971
  # tags: {
2798
2972
  # key: "TagKey",
2799
2973
  # values: ["Value"],
2800
- # 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
2801
2975
  # },
2802
2976
  # cost_categories: {
2803
2977
  # key: "CostCategoryName",
2804
2978
  # values: ["Value"],
2805
- # 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
2806
2980
  # },
2807
2981
  # },
2808
2982
  # sort_by: {
@@ -2899,45 +3073,81 @@ module Aws::CostExplorer
2899
3073
  # [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html
2900
3074
  #
2901
3075
  # @option params [Types::Expression] :filter
2902
- # Use `Expression` to filter by cost or by usage. There are two
2903
- # patterns:
2904
- #
2905
- # * Simple dimension values - You can set the dimension name and values
2906
- # for the filters that you plan to use. For example, you can filter
2907
- # for `REGION==us-east-1 OR REGION==us-west-1`. For
2908
- # `GetRightsizingRecommendation`, the Region is a full name (for
2909
- # example, `REGION==US East (N. Virginia)`. The `Expression` example
2910
- # is as follows:
2911
- #
2912
- # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2913
- # “us-west-1” ] \} \}`
2914
- #
2915
- # The list of dimension values are OR'd together to retrieve cost or
2916
- # usage data. You can create `Expression` and `DimensionValues`
2917
- # objects using either `with*` methods or `set*` methods in multiple
2918
- # lines.
2919
- #
2920
- # * Compound dimension values with logical operations - You can use
2921
- # multiple `Expression` types and the logical operators `AND/OR/NOT`
2922
- # to create a list of one or more `Expression` objects. By doing this,
2923
- # you can filter on more advanced options. For example, you can filter
2924
- # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
2925
- # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
2926
- # is as follows:
2927
- #
2928
- # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
2929
- # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
2930
- # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
2931
- # "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"] \}\}\} ] \} `
2932
3138
  #
2933
3139
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
2934
3140
  # returns an error if more than one is specified. The following
2935
- # 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" ] \} \} `
2936
3144
  #
2937
- # </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"`
2938
3149
  #
2939
- # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
2940
- # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
3150
+ # </note>
2941
3151
  #
2942
3152
  # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
2943
3153
  # NOT isn't supported. OR isn't supported between different
@@ -2951,6 +3161,10 @@ module Aws::CostExplorer
2951
3161
  #
2952
3162
  # </note>
2953
3163
  #
3164
+ #
3165
+ #
3166
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html
3167
+ #
2954
3168
  # @option params [Types::RightsizingRecommendationConfiguration] :configuration
2955
3169
  # You can use Configuration to customize recommendations across two
2956
3170
  # attributes. You can choose to view recommendations for instances
@@ -2997,19 +3211,19 @@ module Aws::CostExplorer
2997
3211
  # # recursive Expression
2998
3212
  # },
2999
3213
  # dimensions: {
3000
- # 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
3001
3215
  # values: ["Value"],
3002
- # 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
3003
3217
  # },
3004
3218
  # tags: {
3005
3219
  # key: "TagKey",
3006
3220
  # values: ["Value"],
3007
- # 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
3008
3222
  # },
3009
3223
  # cost_categories: {
3010
3224
  # key: "CostCategoryName",
3011
3225
  # values: ["Value"],
3012
- # 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
3013
3227
  # },
3014
3228
  # },
3015
3229
  # configuration: {
@@ -3040,7 +3254,7 @@ module Aws::CostExplorer
3040
3254
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values #=> Array
3041
3255
  # resp.rightsizing_recommendations[0].current_instance.tags[0].values[0] #=> String
3042
3256
  # resp.rightsizing_recommendations[0].current_instance.tags[0].match_options #=> Array
3043
- # 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"
3044
3258
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.hourly_on_demand_rate #=> String
3045
3259
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.instance_type #=> String
3046
3260
  # resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.platform #=> String
@@ -3247,19 +3461,19 @@ module Aws::CostExplorer
3247
3461
  # # recursive Expression
3248
3462
  # },
3249
3463
  # dimensions: {
3250
- # 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
3251
3465
  # values: ["Value"],
3252
- # 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
3253
3467
  # },
3254
3468
  # tags: {
3255
3469
  # key: "TagKey",
3256
3470
  # values: ["Value"],
3257
- # 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
3258
3472
  # },
3259
3473
  # cost_categories: {
3260
3474
  # key: "CostCategoryName",
3261
3475
  # values: ["Value"],
3262
- # 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
3263
3477
  # },
3264
3478
  # },
3265
3479
  # metrics: ["MetricName"],
@@ -3372,19 +3586,19 @@ module Aws::CostExplorer
3372
3586
  # # recursive Expression
3373
3587
  # },
3374
3588
  # dimensions: {
3375
- # 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
3376
3590
  # values: ["Value"],
3377
- # 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
3378
3592
  # },
3379
3593
  # tags: {
3380
3594
  # key: "TagKey",
3381
3595
  # values: ["Value"],
3382
- # 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
3383
3597
  # },
3384
3598
  # cost_categories: {
3385
3599
  # key: "CostCategoryName",
3386
3600
  # values: ["Value"],
3387
- # 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
3388
3602
  # },
3389
3603
  # },
3390
3604
  # })
@@ -3533,19 +3747,19 @@ module Aws::CostExplorer
3533
3747
  # # recursive Expression
3534
3748
  # },
3535
3749
  # dimensions: {
3536
- # 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
3537
3751
  # values: ["Value"],
3538
- # 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
3539
3753
  # },
3540
3754
  # tags: {
3541
3755
  # key: "TagKey",
3542
3756
  # values: ["Value"],
3543
- # 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
3544
3758
  # },
3545
3759
  # cost_categories: {
3546
3760
  # key: "CostCategoryName",
3547
3761
  # values: ["Value"],
3548
- # 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
3549
3763
  # },
3550
3764
  # },
3551
3765
  # sort_by: {
@@ -3693,19 +3907,19 @@ module Aws::CostExplorer
3693
3907
  # # recursive Expression
3694
3908
  # },
3695
3909
  # dimensions: {
3696
- # 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
3697
3911
  # values: ["Value"],
3698
- # 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
3699
3913
  # },
3700
3914
  # tags: {
3701
3915
  # key: "TagKey",
3702
3916
  # values: ["Value"],
3703
- # 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
3704
3918
  # },
3705
3919
  # cost_categories: {
3706
3920
  # key: "CostCategoryName",
3707
3921
  # values: ["Value"],
3708
- # 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
3709
3923
  # },
3710
3924
  # },
3711
3925
  # data_type: ["ATTRIBUTES"], # accepts ATTRIBUTES, UTILIZATION, AMORTIZED_COMMITMENT, SAVINGS
@@ -3771,45 +3985,81 @@ module Aws::CostExplorer
3771
3985
  # The key of the tag that you want to return values for.
3772
3986
  #
3773
3987
  # @option params [Types::Expression] :filter
3774
- # Use `Expression` to filter by cost or by usage. There are two
3775
- # patterns:
3776
- #
3777
- # * Simple dimension values - You can set the dimension name and values
3778
- # for the filters that you plan to use. For example, you can filter
3779
- # for `REGION==us-east-1 OR REGION==us-west-1`. For
3780
- # `GetRightsizingRecommendation`, the Region is a full name (for
3781
- # example, `REGION==US East (N. Virginia)`. The `Expression` example
3782
- # is as follows:
3783
- #
3784
- # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
3785
- # “us-west-1” ] \} \}`
3786
- #
3787
- # The list of dimension values are OR'd together to retrieve cost or
3788
- # usage data. You can create `Expression` and `DimensionValues`
3789
- # objects using either `with*` methods or `set*` methods in multiple
3790
- # lines.
3791
- #
3792
- # * Compound dimension values with logical operations - You can use
3793
- # multiple `Expression` types and the logical operators `AND/OR/NOT`
3794
- # to create a list of one or more `Expression` objects. By doing this,
3795
- # you can filter on more advanced options. For example, you can filter
3796
- # on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
3797
- # Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
3798
- # is as follows:
3799
- #
3800
- # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
3801
- # [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
3802
- # "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
3803
- # "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"] \}\}\} ] \} `
3804
4050
  #
3805
4051
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
3806
4052
  # returns an error if more than one is specified. The following
3807
- # 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" ] \} \} `
3808
4056
  #
3809
- # </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"`
3810
4061
  #
3811
- # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
3812
- # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
4062
+ # </note>
3813
4063
  #
3814
4064
  # <note markdown="1"> For the `GetRightsizingRecommendation` action, a combination of OR and
3815
4065
  # NOT isn't supported. OR isn't supported between different
@@ -3823,6 +4073,10 @@ module Aws::CostExplorer
3823
4073
  #
3824
4074
  # </note>
3825
4075
  #
4076
+ #
4077
+ #
4078
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html
4079
+ #
3826
4080
  # @option params [Array<Types::SortDefinition>] :sort_by
3827
4081
  # The value that you want to sort the data by.
3828
4082
  #
@@ -3892,19 +4146,19 @@ module Aws::CostExplorer
3892
4146
  # # recursive Expression
3893
4147
  # },
3894
4148
  # dimensions: {
3895
- # 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
3896
4150
  # values: ["Value"],
3897
- # 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
3898
4152
  # },
3899
4153
  # tags: {
3900
4154
  # key: "TagKey",
3901
4155
  # values: ["Value"],
3902
- # 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
3903
4157
  # },
3904
4158
  # cost_categories: {
3905
4159
  # key: "CostCategoryName",
3906
4160
  # values: ["Value"],
3907
- # 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
3908
4162
  # },
3909
4163
  # },
3910
4164
  # sort_by: [
@@ -4050,19 +4304,19 @@ module Aws::CostExplorer
4050
4304
  # # recursive Expression
4051
4305
  # },
4052
4306
  # dimensions: {
4053
- # 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
4054
4308
  # values: ["Value"],
4055
- # 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
4056
4310
  # },
4057
4311
  # tags: {
4058
4312
  # key: "TagKey",
4059
4313
  # values: ["Value"],
4060
- # 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
4061
4315
  # },
4062
4316
  # cost_categories: {
4063
4317
  # key: "CostCategoryName",
4064
4318
  # values: ["Value"],
4065
- # 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
4066
4320
  # },
4067
4321
  # },
4068
4322
  # prediction_interval_level: 1,
@@ -4503,8 +4757,14 @@ module Aws::CostExplorer
4503
4757
  # A cost anomaly subscription Amazon Resource Name (ARN).
4504
4758
  #
4505
4759
  # @option params [Float] :threshold
4760
+ # (deprecated)
4761
+ #
4506
4762
  # The update to the threshold value for receiving notifications.
4507
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
+ #
4508
4768
  # @option params [String] :frequency
4509
4769
  # The update to the frequency value that subscribers receive
4510
4770
  # notifications.
@@ -4518,6 +4778,43 @@ module Aws::CostExplorer
4518
4778
  # @option params [String] :subscription_name
4519
4779
  # The new name of the subscription.
4520
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
+ #
4521
4818
  # @return [Types::UpdateAnomalySubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4522
4819
  #
4523
4820
  # * {Types::UpdateAnomalySubscriptionResponse#subscription_arn #subscription_arn} => String
@@ -4537,6 +4834,36 @@ module Aws::CostExplorer
4537
4834
  # },
4538
4835
  # ],
4539
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
+ # },
4540
4867
  # })
4541
4868
  #
4542
4869
  # @example Response structure
@@ -4654,19 +4981,19 @@ module Aws::CostExplorer
4654
4981
  # # recursive Expression
4655
4982
  # },
4656
4983
  # dimensions: {
4657
- # 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
4658
4985
  # values: ["Value"],
4659
- # 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
4660
4987
  # },
4661
4988
  # tags: {
4662
4989
  # key: "TagKey",
4663
4990
  # values: ["Value"],
4664
- # 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
4665
4992
  # },
4666
4993
  # cost_categories: {
4667
4994
  # key: "CostCategoryName",
4668
4995
  # values: ["Value"],
4669
- # 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
4670
4997
  # },
4671
4998
  # },
4672
4999
  # inherited_value: {
@@ -4719,7 +5046,7 @@ module Aws::CostExplorer
4719
5046
  params: params,
4720
5047
  config: config)
4721
5048
  context[:gem_name] = 'aws-sdk-costexplorer'
4722
- context[:gem_version] = '1.81.0'
5049
+ context[:gem_version] = '1.82.0'
4723
5050
  Seahorse::Client::Request.new(handlers, context)
4724
5051
  end
4725
5052