aws-sdk-budgets 1.81.0 → 1.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 810c77a7ac484d37e3fd07eb2fa131186ec76e81d6f11e58ed628b6f159dadae
4
- data.tar.gz: 0c920a8acb1d10de37a740a6d9720c6de6e5dc3af6ae377fafbb5bd456b16a5f
3
+ metadata.gz: 7a0cdb5b5e541acd59c085582bc3694757c5c7b03d02f2768a496b1a968c81e0
4
+ data.tar.gz: 5026b1b8afda82d19af49ff704d7cc76c8f26eb91a1f9cb216005d0a1c201d7b
5
5
  SHA512:
6
- metadata.gz: 79641d73e1579775b4bc21026aff0ff1125849b0adcf551a38067d52082c9acbd25077afc3834ec4d8c38bd71cbfe7ac34482b359ce5f432f8b61236178fbc8f
7
- data.tar.gz: 83a6a0086e65ede7e21a5a746fb7602db198842414a182ced914808ed89e044b44c32774444bc4829e55856ec29174b3090ae057959838a7d6b68bf74a366b56
6
+ metadata.gz: 654964a82608e18028404892837d96cace884648a03a5c7756426108e0a72d46edb7be36167a56b0fbcbc35956c9eec9519dc5264e12fdfe8b09d3d8b3bf1b69
7
+ data.tar.gz: 12234f88f3ae53993aef8e7fef83974325224d5d2f93c39329f17e6925292f38a59a5af758a2e9952996e8942b763ef624f5661ccad306d9abf1b887a0602ee7
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.83.0 (2025-04-21)
5
+ ------------------
6
+
7
+ * Feature - Releasing the new Budget FilterExpression and Metrics fields to support more granular filtering options. These new fields are intended to replace CostFilters and CostTypes, which are deprecated as of 2025/18/04.
8
+
9
+ 1.82.0 (2025-02-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.81.0 (2025-02-06)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.81.0
1
+ 1.83.0
@@ -7,34 +7,34 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
- require 'seahorse/client/plugins/content_length.rb'
11
- require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
- require 'aws-sdk-core/plugins/logging.rb'
13
- require 'aws-sdk-core/plugins/param_converter.rb'
14
- require 'aws-sdk-core/plugins/param_validator.rb'
15
- require 'aws-sdk-core/plugins/user_agent.rb'
16
- require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
- require 'aws-sdk-core/plugins/retry_errors.rb'
18
- require 'aws-sdk-core/plugins/global_configuration.rb'
19
- require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
- require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
- require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
- require 'aws-sdk-core/plugins/response_paging.rb'
23
- require 'aws-sdk-core/plugins/stub_responses.rb'
24
- require 'aws-sdk-core/plugins/idempotency_token.rb'
25
- require 'aws-sdk-core/plugins/invocation_id.rb'
26
- require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
27
- require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
28
- require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
29
- require 'aws-sdk-core/plugins/transfer_encoding.rb'
30
- require 'aws-sdk-core/plugins/http_checksum.rb'
31
- require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
- require 'aws-sdk-core/plugins/request_compression.rb'
33
- require 'aws-sdk-core/plugins/defaults_mode.rb'
34
- require 'aws-sdk-core/plugins/recursion_detection.rb'
35
- require 'aws-sdk-core/plugins/telemetry.rb'
36
- require 'aws-sdk-core/plugins/sign.rb'
37
- require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
10
+ require 'seahorse/client/plugins/content_length'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/json_rpc'
38
38
 
39
39
  module Aws::Budgets
40
40
  # An API client for Budgets. To construct a client, you need to configure a `:region` and `:credentials`.
@@ -480,10 +480,18 @@ module Aws::Budgets
480
480
  # Creates a budget and, if included, notifications and subscribers.
481
481
  #
482
482
  # Only one of `BudgetLimit` or `PlannedBudgetLimits` can be present in
483
- # the syntax at one time. Use the syntax that matches your case. The
483
+ # the syntax at one time. Use the syntax that matches your use case. The
484
484
  # Request Syntax section shows the `BudgetLimit` syntax. For
485
485
  # `PlannedBudgetLimits`, see the [Examples][1] section.
486
486
  #
487
+ # Similarly, only one set of filter and metric selections can be
488
+ # present
489
+ # in the syntax at one time. Either `FilterExpression` and `Metrics` or
490
+ # `CostFilters` and `CostTypes`, not both or a different combination. We
491
+ # recommend using `FilterExpression` and `Metrics` as they provide more
492
+ # flexible and powerful filtering capabilities. The Request Syntax
493
+ # section shows the `FilterExpression`/`Metrics` syntax.
494
+ #
487
495
  #
488
496
  #
489
497
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_CreateBudget.html#API_CreateBudget_Examples
@@ -565,6 +573,37 @@ module Aws::Budgets
565
573
  # },
566
574
  # last_auto_adjust_time: Time.now,
567
575
  # },
576
+ # filter_expression: {
577
+ # or: [
578
+ # {
579
+ # # recursive Expression
580
+ # },
581
+ # ],
582
+ # and: [
583
+ # {
584
+ # # recursive Expression
585
+ # },
586
+ # ],
587
+ # not: {
588
+ # # recursive Expression
589
+ # },
590
+ # dimensions: {
591
+ # key: "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, INVOICING_ENTITY, 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, RESERVATION_MODIFIED, TAG_KEY, COST_CATEGORY_NAME
592
+ # values: ["Value"], # required
593
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL, CASE_SENSITIVE, CASE_INSENSITIVE
594
+ # },
595
+ # tags: {
596
+ # key: "TagKey",
597
+ # values: ["Value"],
598
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL, CASE_SENSITIVE, CASE_INSENSITIVE
599
+ # },
600
+ # cost_categories: {
601
+ # key: "CostCategoryName",
602
+ # values: ["Value"],
603
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL, CASE_SENSITIVE, CASE_INSENSITIVE
604
+ # },
605
+ # },
606
+ # metrics: ["BlendedCost"], # accepts BlendedCost, UnblendedCost, AmortizedCost, NetUnblendedCost, NetAmortizedCost, UsageQuantity, NormalizedUsageAmount, Hours
568
607
  # },
569
608
  # notifications_with_subscribers: [
570
609
  # {
@@ -983,6 +1022,12 @@ module Aws::Budgets
983
1022
  # @option params [required, String] :budget_name
984
1023
  # The name of the budget that you want a description of.
985
1024
  #
1025
+ # @option params [Boolean] :show_filter_expression
1026
+ # Specifies whether the response includes the filter expression
1027
+ # associated with the budget. By showing the filter expression, you can
1028
+ # see detailed filtering logic applied to the budget, such as Amazon Web
1029
+ # Services services or tags that are being tracked.
1030
+ #
986
1031
  # @return [Types::DescribeBudgetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
987
1032
  #
988
1033
  # * {Types::DescribeBudgetResponse#budget #budget} => Types::Budget
@@ -992,6 +1037,7 @@ module Aws::Budgets
992
1037
  # resp = client.describe_budget({
993
1038
  # account_id: "AccountId", # required
994
1039
  # budget_name: "BudgetName", # required
1040
+ # show_filter_expression: false,
995
1041
  # })
996
1042
  #
997
1043
  # @example Response structure
@@ -1029,6 +1075,28 @@ module Aws::Budgets
1029
1075
  # resp.budget.auto_adjust_data.historical_options.budget_adjustment_period #=> Integer
1030
1076
  # resp.budget.auto_adjust_data.historical_options.look_back_available_periods #=> Integer
1031
1077
  # resp.budget.auto_adjust_data.last_auto_adjust_time #=> Time
1078
+ # resp.budget.filter_expression.or #=> Array
1079
+ # resp.budget.filter_expression.or[0] #=> Types::Expression
1080
+ # resp.budget.filter_expression.and #=> Array
1081
+ # resp.budget.filter_expression.and[0] #=> Types::Expression
1082
+ # resp.budget.filter_expression.not #=> Types::Expression
1083
+ # resp.budget.filter_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", "INVOICING_ENTITY", "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", "RESERVATION_MODIFIED", "TAG_KEY", "COST_CATEGORY_NAME"
1084
+ # resp.budget.filter_expression.dimensions.values #=> Array
1085
+ # resp.budget.filter_expression.dimensions.values[0] #=> String
1086
+ # resp.budget.filter_expression.dimensions.match_options #=> Array
1087
+ # resp.budget.filter_expression.dimensions.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1088
+ # resp.budget.filter_expression.tags.key #=> String
1089
+ # resp.budget.filter_expression.tags.values #=> Array
1090
+ # resp.budget.filter_expression.tags.values[0] #=> String
1091
+ # resp.budget.filter_expression.tags.match_options #=> Array
1092
+ # resp.budget.filter_expression.tags.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1093
+ # resp.budget.filter_expression.cost_categories.key #=> String
1094
+ # resp.budget.filter_expression.cost_categories.values #=> Array
1095
+ # resp.budget.filter_expression.cost_categories.values[0] #=> String
1096
+ # resp.budget.filter_expression.cost_categories.match_options #=> Array
1097
+ # resp.budget.filter_expression.cost_categories.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1098
+ # resp.budget.metrics #=> Array
1099
+ # resp.budget.metrics[0] #=> String, one of "BlendedCost", "UnblendedCost", "AmortizedCost", "NetUnblendedCost", "NetAmortizedCost", "UsageQuantity", "NormalizedUsageAmount", "Hours"
1032
1100
  #
1033
1101
  # @overload describe_budget(params = {})
1034
1102
  # @param [Hash] params ({})
@@ -1469,6 +1537,12 @@ module Aws::Budgets
1469
1537
  # The pagination token that you include in your request to indicate the
1470
1538
  # next set of results that you want to retrieve.
1471
1539
  #
1540
+ # @option params [Boolean] :show_filter_expression
1541
+ # Specifies whether the response includes the filter expression
1542
+ # associated with the budgets. By showing the filter expression, you can
1543
+ # see detailed filtering logic applied to the budgets, such as Amazon
1544
+ # Web Services services or tags that are being tracked.
1545
+ #
1472
1546
  # @return [Types::DescribeBudgetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1473
1547
  #
1474
1548
  # * {Types::DescribeBudgetsResponse#budgets #budgets} => Array<Types::Budget>
@@ -1482,6 +1556,7 @@ module Aws::Budgets
1482
1556
  # account_id: "AccountId", # required
1483
1557
  # max_results: 1,
1484
1558
  # next_token: "GenericString",
1559
+ # show_filter_expression: false,
1485
1560
  # })
1486
1561
  #
1487
1562
  # @example Response structure
@@ -1520,6 +1595,28 @@ module Aws::Budgets
1520
1595
  # resp.budgets[0].auto_adjust_data.historical_options.budget_adjustment_period #=> Integer
1521
1596
  # resp.budgets[0].auto_adjust_data.historical_options.look_back_available_periods #=> Integer
1522
1597
  # resp.budgets[0].auto_adjust_data.last_auto_adjust_time #=> Time
1598
+ # resp.budgets[0].filter_expression.or #=> Array
1599
+ # resp.budgets[0].filter_expression.or[0] #=> Types::Expression
1600
+ # resp.budgets[0].filter_expression.and #=> Array
1601
+ # resp.budgets[0].filter_expression.and[0] #=> Types::Expression
1602
+ # resp.budgets[0].filter_expression.not #=> Types::Expression
1603
+ # resp.budgets[0].filter_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", "INVOICING_ENTITY", "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", "RESERVATION_MODIFIED", "TAG_KEY", "COST_CATEGORY_NAME"
1604
+ # resp.budgets[0].filter_expression.dimensions.values #=> Array
1605
+ # resp.budgets[0].filter_expression.dimensions.values[0] #=> String
1606
+ # resp.budgets[0].filter_expression.dimensions.match_options #=> Array
1607
+ # resp.budgets[0].filter_expression.dimensions.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1608
+ # resp.budgets[0].filter_expression.tags.key #=> String
1609
+ # resp.budgets[0].filter_expression.tags.values #=> Array
1610
+ # resp.budgets[0].filter_expression.tags.values[0] #=> String
1611
+ # resp.budgets[0].filter_expression.tags.match_options #=> Array
1612
+ # resp.budgets[0].filter_expression.tags.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1613
+ # resp.budgets[0].filter_expression.cost_categories.key #=> String
1614
+ # resp.budgets[0].filter_expression.cost_categories.values #=> Array
1615
+ # resp.budgets[0].filter_expression.cost_categories.values[0] #=> String
1616
+ # resp.budgets[0].filter_expression.cost_categories.match_options #=> Array
1617
+ # resp.budgets[0].filter_expression.cost_categories.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1618
+ # resp.budgets[0].metrics #=> Array
1619
+ # resp.budgets[0].metrics[0] #=> String, one of "BlendedCost", "UnblendedCost", "AmortizedCost", "NetUnblendedCost", "NetAmortizedCost", "UsageQuantity", "NormalizedUsageAmount", "Hours"
1523
1620
  # resp.next_token #=> String
1524
1621
  #
1525
1622
  # @overload describe_budgets(params = {})
@@ -1773,6 +1870,14 @@ module Aws::Budgets
1773
1870
  # Request Syntax section shows the `BudgetLimit` syntax. For
1774
1871
  # `PlannedBudgetLimits`, see the [Examples][1] section.
1775
1872
  #
1873
+ # Similarly, only one set of filter and metric selections can be
1874
+ # present
1875
+ # in the syntax at one time. Either `FilterExpression` and `Metrics` or
1876
+ # `CostFilters` and `CostTypes`, not both or a different combination. We
1877
+ # recommend using `FilterExpression` and `Metrics` as they provide more
1878
+ # flexible and powerful filtering capabilities. The Request Syntax
1879
+ # section shows the `FilterExpression`/`Metrics` syntax.
1880
+ #
1776
1881
  #
1777
1882
  #
1778
1883
  # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples
@@ -1843,6 +1948,37 @@ module Aws::Budgets
1843
1948
  # },
1844
1949
  # last_auto_adjust_time: Time.now,
1845
1950
  # },
1951
+ # filter_expression: {
1952
+ # or: [
1953
+ # {
1954
+ # # recursive Expression
1955
+ # },
1956
+ # ],
1957
+ # and: [
1958
+ # {
1959
+ # # recursive Expression
1960
+ # },
1961
+ # ],
1962
+ # not: {
1963
+ # # recursive Expression
1964
+ # },
1965
+ # dimensions: {
1966
+ # key: "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, INVOICING_ENTITY, 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, RESERVATION_MODIFIED, TAG_KEY, COST_CATEGORY_NAME
1967
+ # values: ["Value"], # required
1968
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL, CASE_SENSITIVE, CASE_INSENSITIVE
1969
+ # },
1970
+ # tags: {
1971
+ # key: "TagKey",
1972
+ # values: ["Value"],
1973
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL, CASE_SENSITIVE, CASE_INSENSITIVE
1974
+ # },
1975
+ # cost_categories: {
1976
+ # key: "CostCategoryName",
1977
+ # values: ["Value"],
1978
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL, CASE_SENSITIVE, CASE_INSENSITIVE
1979
+ # },
1980
+ # },
1981
+ # metrics: ["BlendedCost"], # accepts BlendedCost, UnblendedCost, AmortizedCost, NetUnblendedCost, NetAmortizedCost, UsageQuantity, NormalizedUsageAmount, Hours
1846
1982
  # },
1847
1983
  # })
1848
1984
  #
@@ -2106,7 +2242,7 @@ module Aws::Budgets
2106
2242
  tracer: tracer
2107
2243
  )
2108
2244
  context[:gem_name] = 'aws-sdk-budgets'
2109
- context[:gem_version] = '1.81.0'
2245
+ context[:gem_version] = '1.83.0'
2110
2246
  Seahorse::Client::Request.new(handlers, context)
2111
2247
  end
2112
2248
 
@@ -42,6 +42,8 @@ module Aws::Budgets
42
42
  Budgets = Shapes::ListShape.new(name: 'Budgets')
43
43
  CalculatedSpend = Shapes::StructureShape.new(name: 'CalculatedSpend')
44
44
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
45
+ CostCategoryName = Shapes::StringShape.new(name: 'CostCategoryName')
46
+ CostCategoryValues = Shapes::StructureShape.new(name: 'CostCategoryValues')
45
47
  CostFilters = Shapes::MapShape.new(name: 'CostFilters')
46
48
  CostTypes = Shapes::StructureShape.new(name: 'CostTypes')
47
49
  CreateBudgetActionRequest = Shapes::StructureShape.new(name: 'CreateBudgetActionRequest')
@@ -82,6 +84,7 @@ module Aws::Budgets
82
84
  DescribeNotificationsForBudgetResponse = Shapes::StructureShape.new(name: 'DescribeNotificationsForBudgetResponse')
83
85
  DescribeSubscribersForNotificationRequest = Shapes::StructureShape.new(name: 'DescribeSubscribersForNotificationRequest')
84
86
  DescribeSubscribersForNotificationResponse = Shapes::StructureShape.new(name: 'DescribeSubscribersForNotificationResponse')
87
+ Dimension = Shapes::StringShape.new(name: 'Dimension')
85
88
  DimensionValue = Shapes::StringShape.new(name: 'DimensionValue')
86
89
  DimensionValues = Shapes::ListShape.new(name: 'DimensionValues')
87
90
  DuplicateRecordException = Shapes::StructureShape.new(name: 'DuplicateRecordException')
@@ -90,6 +93,9 @@ module Aws::Budgets
90
93
  ExecuteBudgetActionResponse = Shapes::StructureShape.new(name: 'ExecuteBudgetActionResponse')
91
94
  ExecutionType = Shapes::StringShape.new(name: 'ExecutionType')
92
95
  ExpiredNextTokenException = Shapes::StructureShape.new(name: 'ExpiredNextTokenException')
96
+ Expression = Shapes::StructureShape.new(name: 'Expression')
97
+ ExpressionDimensionValues = Shapes::StructureShape.new(name: 'ExpressionDimensionValues')
98
+ Expressions = Shapes::ListShape.new(name: 'Expressions')
93
99
  GenericString = Shapes::StringShape.new(name: 'GenericString')
94
100
  GenericTimestamp = Shapes::TimestampShape.new(name: 'GenericTimestamp')
95
101
  Group = Shapes::StringShape.new(name: 'Group')
@@ -103,9 +109,13 @@ module Aws::Budgets
103
109
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
104
110
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
105
111
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
112
+ MatchOption = Shapes::StringShape.new(name: 'MatchOption')
113
+ MatchOptions = Shapes::ListShape.new(name: 'MatchOptions')
106
114
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
107
115
  MaxResultsBudgetNotifications = Shapes::IntegerShape.new(name: 'MaxResultsBudgetNotifications')
108
116
  MaxResultsDescribeBudgets = Shapes::IntegerShape.new(name: 'MaxResultsDescribeBudgets')
117
+ Metric = Shapes::StringShape.new(name: 'Metric')
118
+ Metrics = Shapes::ListShape.new(name: 'Metrics')
109
119
  NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
110
120
  Notification = Shapes::StructureShape.new(name: 'Notification')
111
121
  NotificationState = Shapes::StringShape.new(name: 'NotificationState')
@@ -137,8 +147,10 @@ module Aws::Budgets
137
147
  SubscriberAddress = Shapes::StringShape.new(name: 'SubscriberAddress')
138
148
  Subscribers = Shapes::ListShape.new(name: 'Subscribers')
139
149
  SubscriptionType = Shapes::StringShape.new(name: 'SubscriptionType')
150
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
140
151
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
141
152
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
153
+ TagValues = Shapes::StructureShape.new(name: 'TagValues')
142
154
  TargetId = Shapes::StringShape.new(name: 'TargetId')
143
155
  TargetIds = Shapes::ListShape.new(name: 'TargetIds')
144
156
  ThresholdType = Shapes::StringShape.new(name: 'ThresholdType')
@@ -158,6 +170,8 @@ module Aws::Budgets
158
170
  UpdateSubscriberResponse = Shapes::StructureShape.new(name: 'UpdateSubscriberResponse')
159
171
  User = Shapes::StringShape.new(name: 'User')
160
172
  Users = Shapes::ListShape.new(name: 'Users')
173
+ Value = Shapes::StringShape.new(name: 'Value')
174
+ Values = Shapes::ListShape.new(name: 'Values')
161
175
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
162
176
 
163
177
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
@@ -201,14 +215,16 @@ module Aws::Budgets
201
215
  Budget.add_member(:budget_name, Shapes::ShapeRef.new(shape: BudgetName, required: true, location_name: "BudgetName"))
202
216
  Budget.add_member(:budget_limit, Shapes::ShapeRef.new(shape: Spend, location_name: "BudgetLimit"))
203
217
  Budget.add_member(:planned_budget_limits, Shapes::ShapeRef.new(shape: PlannedBudgetLimits, location_name: "PlannedBudgetLimits"))
204
- Budget.add_member(:cost_filters, Shapes::ShapeRef.new(shape: CostFilters, location_name: "CostFilters"))
205
- Budget.add_member(:cost_types, Shapes::ShapeRef.new(shape: CostTypes, location_name: "CostTypes"))
218
+ Budget.add_member(:cost_filters, Shapes::ShapeRef.new(shape: CostFilters, deprecated: true, location_name: "CostFilters", metadata: {"deprecatedMessage"=>"CostFilters lack support for newer dimensions and filtering options. Please consider using the new 'FilterExpression' field.", "deprecatedSince"=>"2025-04-18"}))
219
+ Budget.add_member(:cost_types, Shapes::ShapeRef.new(shape: CostTypes, deprecated: true, location_name: "CostTypes", metadata: {"deprecatedMessage"=>"CostTypes lack support for newer record type dimensions and filtering options. Please consider using the new 'Metrics' field.", "deprecatedSince"=>"2025-04-18"}))
206
220
  Budget.add_member(:time_unit, Shapes::ShapeRef.new(shape: TimeUnit, required: true, location_name: "TimeUnit"))
207
221
  Budget.add_member(:time_period, Shapes::ShapeRef.new(shape: TimePeriod, location_name: "TimePeriod"))
208
222
  Budget.add_member(:calculated_spend, Shapes::ShapeRef.new(shape: CalculatedSpend, location_name: "CalculatedSpend"))
209
223
  Budget.add_member(:budget_type, Shapes::ShapeRef.new(shape: BudgetType, required: true, location_name: "BudgetType"))
210
224
  Budget.add_member(:last_updated_time, Shapes::ShapeRef.new(shape: GenericTimestamp, location_name: "LastUpdatedTime"))
211
225
  Budget.add_member(:auto_adjust_data, Shapes::ShapeRef.new(shape: AutoAdjustData, location_name: "AutoAdjustData"))
226
+ Budget.add_member(:filter_expression, Shapes::ShapeRef.new(shape: Expression, location_name: "FilterExpression"))
227
+ Budget.add_member(:metrics, Shapes::ShapeRef.new(shape: Metrics, location_name: "Metrics"))
212
228
  Budget.struct_class = Types::Budget
213
229
 
214
230
  BudgetNotificationsForAccount.add_member(:notifications, Shapes::ShapeRef.new(shape: Notifications, location_name: "Notifications"))
@@ -238,6 +254,11 @@ module Aws::Budgets
238
254
  CalculatedSpend.add_member(:forecasted_spend, Shapes::ShapeRef.new(shape: Spend, location_name: "ForecastedSpend"))
239
255
  CalculatedSpend.struct_class = Types::CalculatedSpend
240
256
 
257
+ CostCategoryValues.add_member(:key, Shapes::ShapeRef.new(shape: CostCategoryName, location_name: "Key"))
258
+ CostCategoryValues.add_member(:values, Shapes::ShapeRef.new(shape: Values, location_name: "Values"))
259
+ CostCategoryValues.add_member(:match_options, Shapes::ShapeRef.new(shape: MatchOptions, location_name: "MatchOptions"))
260
+ CostCategoryValues.struct_class = Types::CostCategoryValues
261
+
241
262
  CostFilters.key = Shapes::ShapeRef.new(shape: GenericString)
242
263
  CostFilters.value = Shapes::ShapeRef.new(shape: DimensionValues)
243
264
 
@@ -397,6 +418,7 @@ module Aws::Budgets
397
418
 
398
419
  DescribeBudgetRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "AccountId"))
399
420
  DescribeBudgetRequest.add_member(:budget_name, Shapes::ShapeRef.new(shape: BudgetName, required: true, location_name: "BudgetName"))
421
+ DescribeBudgetRequest.add_member(:show_filter_expression, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "ShowFilterExpression"))
400
422
  DescribeBudgetRequest.struct_class = Types::DescribeBudgetRequest
401
423
 
402
424
  DescribeBudgetResponse.add_member(:budget, Shapes::ShapeRef.new(shape: Budget, location_name: "Budget"))
@@ -405,6 +427,7 @@ module Aws::Budgets
405
427
  DescribeBudgetsRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "AccountId"))
406
428
  DescribeBudgetsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsDescribeBudgets, location_name: "MaxResults"))
407
429
  DescribeBudgetsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: GenericString, location_name: "NextToken"))
430
+ DescribeBudgetsRequest.add_member(:show_filter_expression, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "ShowFilterExpression"))
408
431
  DescribeBudgetsRequest.struct_class = Types::DescribeBudgetsRequest
409
432
 
410
433
  DescribeBudgetsResponse.add_member(:budgets, Shapes::ShapeRef.new(shape: Budgets, location_name: "Budgets"))
@@ -452,6 +475,21 @@ module Aws::Budgets
452
475
  ExpiredNextTokenException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
453
476
  ExpiredNextTokenException.struct_class = Types::ExpiredNextTokenException
454
477
 
478
+ Expression.add_member(:or, Shapes::ShapeRef.new(shape: Expressions, location_name: "Or"))
479
+ Expression.add_member(:and, Shapes::ShapeRef.new(shape: Expressions, location_name: "And"))
480
+ Expression.add_member(:not, Shapes::ShapeRef.new(shape: Expression, location_name: "Not"))
481
+ Expression.add_member(:dimensions, Shapes::ShapeRef.new(shape: ExpressionDimensionValues, location_name: "Dimensions"))
482
+ Expression.add_member(:tags, Shapes::ShapeRef.new(shape: TagValues, location_name: "Tags"))
483
+ Expression.add_member(:cost_categories, Shapes::ShapeRef.new(shape: CostCategoryValues, location_name: "CostCategories"))
484
+ Expression.struct_class = Types::Expression
485
+
486
+ ExpressionDimensionValues.add_member(:key, Shapes::ShapeRef.new(shape: Dimension, required: true, location_name: "Key"))
487
+ ExpressionDimensionValues.add_member(:values, Shapes::ShapeRef.new(shape: Values, required: true, location_name: "Values"))
488
+ ExpressionDimensionValues.add_member(:match_options, Shapes::ShapeRef.new(shape: MatchOptions, location_name: "MatchOptions"))
489
+ ExpressionDimensionValues.struct_class = Types::ExpressionDimensionValues
490
+
491
+ Expressions.member = Shapes::ShapeRef.new(shape: Expression)
492
+
455
493
  Groups.member = Shapes::ShapeRef.new(shape: Group)
456
494
 
457
495
  HistoricalOptions.add_member(:budget_adjustment_period, Shapes::ShapeRef.new(shape: AdjustmentPeriod, required: true, location_name: "BudgetAdjustmentPeriod"))
@@ -481,6 +519,10 @@ module Aws::Budgets
481
519
  ListTagsForResourceResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, location_name: "ResourceTags"))
482
520
  ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
483
521
 
522
+ MatchOptions.member = Shapes::ShapeRef.new(shape: MatchOption)
523
+
524
+ Metrics.member = Shapes::ShapeRef.new(shape: Metric)
525
+
484
526
  NotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
485
527
  NotFoundException.struct_class = Types::NotFoundException
486
528
 
@@ -543,6 +585,11 @@ module Aws::Budgets
543
585
 
544
586
  TagResourceResponse.struct_class = Types::TagResourceResponse
545
587
 
588
+ TagValues.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
589
+ TagValues.add_member(:values, Shapes::ShapeRef.new(shape: Values, location_name: "Values"))
590
+ TagValues.add_member(:match_options, Shapes::ShapeRef.new(shape: MatchOptions, location_name: "MatchOptions"))
591
+ TagValues.struct_class = Types::TagValues
592
+
546
593
  TargetIds.member = Shapes::ShapeRef.new(shape: TargetId)
547
594
 
548
595
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
@@ -600,6 +647,8 @@ module Aws::Budgets
600
647
 
601
648
  Users.member = Shapes::ShapeRef.new(shape: User)
602
649
 
650
+ Values.member = Shapes::ShapeRef.new(shape: Value)
651
+
603
652
 
604
653
  # @api private
605
654
  API = Seahorse::Model::Api.new.tap do |api|
@@ -270,7 +270,7 @@ module Aws::Budgets
270
270
  # @return [String]
271
271
  #
272
272
  # @!attribute [rw] time_period
273
- # The period of time that's covered by a budget. You setthe start
273
+ # The period of time that's covered by a budget. You set the start
274
274
  # date and end date. The start date must come before the end date. The
275
275
  # end date must come before `06/15/87 00:00 UTC`.
276
276
  #
@@ -309,6 +309,15 @@ module Aws::Budgets
309
309
  # auto-adjusting budget.
310
310
  # @return [Types::AutoAdjustData]
311
311
  #
312
+ # @!attribute [rw] filter_expression
313
+ # The filtering dimensions for the budget and their corresponding
314
+ # values.
315
+ # @return [Types::Expression]
316
+ #
317
+ # @!attribute [rw] metrics
318
+ # The definition for how the budget data is aggregated.
319
+ # @return [Array<String>]
320
+ #
312
321
  class Budget < Struct.new(
313
322
  :budget_name,
314
323
  :budget_limit,
@@ -320,7 +329,9 @@ module Aws::Budgets
320
329
  :calculated_spend,
321
330
  :budget_type,
322
331
  :last_updated_time,
323
- :auto_adjust_data)
332
+ :auto_adjust_data,
333
+ :filter_expression,
334
+ :metrics)
324
335
  SENSITIVE = []
325
336
  include Aws::Structure
326
337
  end
@@ -437,6 +448,28 @@ module Aws::Budgets
437
448
  include Aws::Structure
438
449
  end
439
450
 
451
+ # The cost category values used for filtering the costs.
452
+ #
453
+ # @!attribute [rw] key
454
+ # The unique name of the cost category.
455
+ # @return [String]
456
+ #
457
+ # @!attribute [rw] values
458
+ # The specific value of the cost category.
459
+ # @return [Array<String>]
460
+ #
461
+ # @!attribute [rw] match_options
462
+ # The match options that you can use to filter your results.
463
+ # @return [Array<String>]
464
+ #
465
+ class CostCategoryValues < Struct.new(
466
+ :key,
467
+ :values,
468
+ :match_options)
469
+ SENSITIVE = []
470
+ include Aws::Structure
471
+ end
472
+
440
473
  # The types of cost that are included in a `COST` budget, such as tax
441
474
  # and subscriptions.
442
475
  #
@@ -1151,9 +1184,17 @@ module Aws::Budgets
1151
1184
  # The name of the budget that you want a description of.
1152
1185
  # @return [String]
1153
1186
  #
1187
+ # @!attribute [rw] show_filter_expression
1188
+ # Specifies whether the response includes the filter expression
1189
+ # associated with the budget. By showing the filter expression, you
1190
+ # can see detailed filtering logic applied to the budget, such as
1191
+ # Amazon Web Services services or tags that are being tracked.
1192
+ # @return [Boolean]
1193
+ #
1154
1194
  class DescribeBudgetRequest < Struct.new(
1155
1195
  :account_id,
1156
- :budget_name)
1196
+ :budget_name,
1197
+ :show_filter_expression)
1157
1198
  SENSITIVE = []
1158
1199
  include Aws::Structure
1159
1200
  end
@@ -1187,10 +1228,18 @@ module Aws::Budgets
1187
1228
  # the next set of results that you want to retrieve.
1188
1229
  # @return [String]
1189
1230
  #
1231
+ # @!attribute [rw] show_filter_expression
1232
+ # Specifies whether the response includes the filter expression
1233
+ # associated with the budgets. By showing the filter expression, you
1234
+ # can see detailed filtering logic applied to the budgets, such as
1235
+ # Amazon Web Services services or tags that are being tracked.
1236
+ # @return [Boolean]
1237
+ #
1190
1238
  class DescribeBudgetsRequest < Struct.new(
1191
1239
  :account_id,
1192
1240
  :max_results,
1193
- :next_token)
1241
+ :next_token,
1242
+ :show_filter_expression)
1194
1243
  SENSITIVE = []
1195
1244
  include Aws::Structure
1196
1245
  end
@@ -1393,6 +1442,67 @@ module Aws::Budgets
1393
1442
  include Aws::Structure
1394
1443
  end
1395
1444
 
1445
+ # Use Expression to filter in various Budgets APIs.
1446
+ #
1447
+ # @!attribute [rw] or
1448
+ # Return results that match either Dimension object.
1449
+ # @return [Array<Types::Expression>]
1450
+ #
1451
+ # @!attribute [rw] and
1452
+ # Return results that match both Dimension objects.
1453
+ # @return [Array<Types::Expression>]
1454
+ #
1455
+ # @!attribute [rw] not
1456
+ # Return results that don't match a Dimension object.
1457
+ # @return [Types::Expression]
1458
+ #
1459
+ # @!attribute [rw] dimensions
1460
+ # The specific Dimension to use for Expression.
1461
+ # @return [Types::ExpressionDimensionValues]
1462
+ #
1463
+ # @!attribute [rw] tags
1464
+ # The specific Tag to use for Expression.
1465
+ # @return [Types::TagValues]
1466
+ #
1467
+ # @!attribute [rw] cost_categories
1468
+ # The filter that's based on CostCategoryValues.
1469
+ # @return [Types::CostCategoryValues]
1470
+ #
1471
+ class Expression < Struct.new(
1472
+ :or,
1473
+ :and,
1474
+ :not,
1475
+ :dimensions,
1476
+ :tags,
1477
+ :cost_categories)
1478
+ SENSITIVE = []
1479
+ include Aws::Structure
1480
+ end
1481
+
1482
+ # Contains the specifications for the filters to use for your request.
1483
+ #
1484
+ # @!attribute [rw] key
1485
+ # The name of the dimension that you want to filter on.
1486
+ # @return [String]
1487
+ #
1488
+ # @!attribute [rw] values
1489
+ # The metadata values you can specify to filter upon, so that the
1490
+ # results all match at least one of the specified values.
1491
+ # @return [Array<String>]
1492
+ #
1493
+ # @!attribute [rw] match_options
1494
+ # The match options that you can use to filter your results. You can
1495
+ # specify only one of these values in the array.
1496
+ # @return [Array<String>]
1497
+ #
1498
+ class ExpressionDimensionValues < Struct.new(
1499
+ :key,
1500
+ :values,
1501
+ :match_options)
1502
+ SENSITIVE = []
1503
+ include Aws::Structure
1504
+ end
1505
+
1396
1506
  # The parameters that define or describe the historical data that your
1397
1507
  # auto-adjusting budget is based on.
1398
1508
  #
@@ -1775,6 +1885,28 @@ module Aws::Budgets
1775
1885
 
1776
1886
  class TagResourceResponse < Aws::EmptyStructure; end
1777
1887
 
1888
+ # The values that are available for a tag.
1889
+ #
1890
+ # @!attribute [rw] key
1891
+ # The key for the tag.
1892
+ # @return [String]
1893
+ #
1894
+ # @!attribute [rw] values
1895
+ # The specific value of the tag.
1896
+ # @return [Array<String>]
1897
+ #
1898
+ # @!attribute [rw] match_options
1899
+ # The match options that you can use to filter your results.
1900
+ # @return [Array<String>]
1901
+ #
1902
+ class TagValues < Struct.new(
1903
+ :key,
1904
+ :values,
1905
+ :match_options)
1906
+ SENSITIVE = []
1907
+ include Aws::Structure
1908
+ end
1909
+
1778
1910
  # The number of API requests has exceeded the maximum allowed API
1779
1911
  # request throttling limit for the account.
1780
1912
  #
@@ -54,7 +54,7 @@ module Aws::Budgets
54
54
  autoload :EndpointProvider, 'aws-sdk-budgets/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-budgets/endpoints'
56
56
 
57
- GEM_VERSION = '1.81.0'
57
+ GEM_VERSION = '1.83.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -132,7 +132,32 @@ module Aws
132
132
  look_back_available_periods: ::Integer?
133
133
  }?,
134
134
  last_auto_adjust_time: ::Time?
135
- }?
135
+ }?,
136
+ filter_expression: {
137
+ or: Array[
138
+ untyped,
139
+ ]?,
140
+ and: Array[
141
+ untyped,
142
+ ]?,
143
+ not: untyped?,
144
+ dimensions: {
145
+ key: ("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" | "INVOICING_ENTITY" | "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" | "RESERVATION_MODIFIED" | "TAG_KEY" | "COST_CATEGORY_NAME"),
146
+ values: Array[::String],
147
+ match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
148
+ }?,
149
+ tags: {
150
+ key: ::String?,
151
+ values: Array[::String]?,
152
+ match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
153
+ }?,
154
+ cost_categories: {
155
+ key: ::String?,
156
+ values: Array[::String]?,
157
+ match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
158
+ }?
159
+ }?,
160
+ metrics: Array[("BlendedCost" | "UnblendedCost" | "AmortizedCost" | "NetUnblendedCost" | "NetAmortizedCost" | "UsageQuantity" | "NormalizedUsageAmount" | "Hours")]?
136
161
  },
137
162
  ?notifications_with_subscribers: Array[
138
163
  {
@@ -323,7 +348,8 @@ module Aws
323
348
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Budgets/Client.html#describe_budget-instance_method
324
349
  def describe_budget: (
325
350
  account_id: ::String,
326
- budget_name: ::String
351
+ budget_name: ::String,
352
+ ?show_filter_expression: bool
327
353
  ) -> _DescribeBudgetResponseSuccess
328
354
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeBudgetResponseSuccess
329
355
 
@@ -427,7 +453,8 @@ module Aws
427
453
  def describe_budgets: (
428
454
  account_id: ::String,
429
455
  ?max_results: ::Integer,
430
- ?next_token: ::String
456
+ ?next_token: ::String,
457
+ ?show_filter_expression: bool
431
458
  ) -> _DescribeBudgetsResponseSuccess
432
459
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeBudgetsResponseSuccess
433
460
 
@@ -571,7 +598,32 @@ module Aws
571
598
  look_back_available_periods: ::Integer?
572
599
  }?,
573
600
  last_auto_adjust_time: ::Time?
574
- }?
601
+ }?,
602
+ filter_expression: {
603
+ or: Array[
604
+ untyped,
605
+ ]?,
606
+ and: Array[
607
+ untyped,
608
+ ]?,
609
+ not: untyped?,
610
+ dimensions: {
611
+ key: ("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" | "INVOICING_ENTITY" | "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" | "RESERVATION_MODIFIED" | "TAG_KEY" | "COST_CATEGORY_NAME"),
612
+ values: Array[::String],
613
+ match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
614
+ }?,
615
+ tags: {
616
+ key: ::String?,
617
+ values: Array[::String]?,
618
+ match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
619
+ }?,
620
+ cost_categories: {
621
+ key: ::String?,
622
+ values: Array[::String]?,
623
+ match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
624
+ }?
625
+ }?,
626
+ metrics: Array[("BlendedCost" | "UnblendedCost" | "AmortizedCost" | "NetUnblendedCost" | "NetAmortizedCost" | "UsageQuantity" | "NormalizedUsageAmount" | "Hours")]?
575
627
  }
576
628
  ) -> _UpdateBudgetResponseSuccess
577
629
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateBudgetResponseSuccess
data/sig/types.rbs CHANGED
@@ -66,6 +66,8 @@ module Aws::Budgets
66
66
  attr_accessor budget_type: ("USAGE" | "COST" | "RI_UTILIZATION" | "RI_COVERAGE" | "SAVINGS_PLANS_UTILIZATION" | "SAVINGS_PLANS_COVERAGE")
67
67
  attr_accessor last_updated_time: ::Time
68
68
  attr_accessor auto_adjust_data: Types::AutoAdjustData
69
+ attr_accessor filter_expression: Types::Expression
70
+ attr_accessor metrics: ::Array[("BlendedCost" | "UnblendedCost" | "AmortizedCost" | "NetUnblendedCost" | "NetAmortizedCost" | "UsageQuantity" | "NormalizedUsageAmount" | "Hours")]
69
71
  SENSITIVE: []
70
72
  end
71
73
 
@@ -98,6 +100,13 @@ module Aws::Budgets
98
100
  SENSITIVE: []
99
101
  end
100
102
 
103
+ class CostCategoryValues
104
+ attr_accessor key: ::String
105
+ attr_accessor values: ::Array[::String]
106
+ attr_accessor match_options: ::Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]
107
+ SENSITIVE: []
108
+ end
109
+
101
110
  class CostTypes
102
111
  attr_accessor include_tax: bool
103
112
  attr_accessor include_subscription: bool
@@ -311,6 +320,7 @@ module Aws::Budgets
311
320
  class DescribeBudgetRequest
312
321
  attr_accessor account_id: ::String
313
322
  attr_accessor budget_name: ::String
323
+ attr_accessor show_filter_expression: bool
314
324
  SENSITIVE: []
315
325
  end
316
326
 
@@ -323,6 +333,7 @@ module Aws::Budgets
323
333
  attr_accessor account_id: ::String
324
334
  attr_accessor max_results: ::Integer
325
335
  attr_accessor next_token: ::String
336
+ attr_accessor show_filter_expression: bool
326
337
  SENSITIVE: []
327
338
  end
328
339
 
@@ -387,6 +398,23 @@ module Aws::Budgets
387
398
  SENSITIVE: []
388
399
  end
389
400
 
401
+ class Expression
402
+ attr_accessor or: ::Array[Types::Expression]
403
+ attr_accessor and: ::Array[Types::Expression]
404
+ attr_accessor not: Types::Expression
405
+ attr_accessor dimensions: Types::ExpressionDimensionValues
406
+ attr_accessor tags: Types::TagValues
407
+ attr_accessor cost_categories: Types::CostCategoryValues
408
+ SENSITIVE: []
409
+ end
410
+
411
+ class ExpressionDimensionValues
412
+ attr_accessor key: ("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" | "INVOICING_ENTITY" | "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" | "RESERVATION_MODIFIED" | "TAG_KEY" | "COST_CATEGORY_NAME")
413
+ attr_accessor values: ::Array[::String]
414
+ attr_accessor match_options: ::Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]
415
+ SENSITIVE: []
416
+ end
417
+
390
418
  class HistoricalOptions
391
419
  attr_accessor budget_adjustment_period: ::Integer
392
420
  attr_accessor look_back_available_periods: ::Integer
@@ -496,6 +524,13 @@ module Aws::Budgets
496
524
  class TagResourceResponse < Aws::EmptyStructure
497
525
  end
498
526
 
527
+ class TagValues
528
+ attr_accessor key: ::String
529
+ attr_accessor values: ::Array[::String]
530
+ attr_accessor match_options: ::Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]
531
+ SENSITIVE: []
532
+ end
533
+
499
534
  class ThrottlingException
500
535
  attr_accessor message: ::String
501
536
  SENSITIVE: []
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-budgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.81.0
4
+ version: 1.83.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-06 00:00:00.000000000 Z
11
+ date: 2025-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core