aws-sdk-budgets 1.113.0 → 1.114.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: d76dc3e5dc9739718a4738f2160513eebe1a87de98de53882f215ecc2af61650
4
- data.tar.gz: d3ce083eb3301a800edf09b7373e4eba53e6261f4416c6a65988d8d9368d2466
3
+ metadata.gz: 17ecf69ccdb88557521015c74fbf24cd7d1bcbf641a9b5de1bcbbf0feac33dd9
4
+ data.tar.gz: 4e805c79920facd9c7ae6006fbdfd486b06e82ec2d7d8f8c5f1dae0c6fc51cc2
5
5
  SHA512:
6
- metadata.gz: ee491d634017df9f832c1abb1564e329f18fdef9cf98eab936e58b56fb2cd1fb867e71b0894691f5bbef8099b901e292858ad10d06f210b5f8cc9fd8f528e55c
7
- data.tar.gz: c67d34d05ac7a5fb5c21611e42e30eed95d340e1ee3a55450baf52277233e15b6abd807d891672f53c05a657d5ffe6e9a00d637466531de0d89ec6dddab9d12c
6
+ metadata.gz: e23d461f56f41588a3dd28dea831034c4003e5dee7f592e68a943bbf764fb6a26d97cb74e2513f1d6ea65eac9231a7787ebfb835f15abfbc7b0bd7918642e043
7
+ data.tar.gz: 3a82aefbf63ec0d02d693bb836c7b4225cbd7e1a39e424870b8ff564f5d44f39d33e28df2987b86f018a8b4e527db45067345a44ce2968b779edc9fecb8ea44c
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.114.0 (2026-10-08)
5
+ ------------------
6
+
7
+ * Feature - Adds a product attribute dimension to CreateBudget and UpdateBudget, letting customers filter AWS Budgets costs by structured attributes such as Amazon Bedrock model, provider, inference type, and feature.
8
+
4
9
  1.113.0 (2026-09-11)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.113.0
1
+ 1.114.0
@@ -606,6 +606,11 @@ module Aws::Budgets
606
606
  # values: ["Value"],
607
607
  # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL, CASE_SENSITIVE, CASE_INSENSITIVE
608
608
  # },
609
+ # product_attributes: {
610
+ # key: "ProductAttributeName", # required
611
+ # values: ["Value"],
612
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL, CASE_SENSITIVE, CASE_INSENSITIVE
613
+ # },
609
614
  # },
610
615
  # metrics: ["BlendedCost"], # accepts BlendedCost, UnblendedCost, AmortizedCost, NetUnblendedCost, NetAmortizedCost, UsageQuantity, NormalizedUsageAmount, Hours
611
616
  # billing_view_arn: "BillingViewArn",
@@ -1113,6 +1118,11 @@ module Aws::Budgets
1113
1118
  # resp.budget.filter_expression.cost_categories.values[0] #=> String
1114
1119
  # resp.budget.filter_expression.cost_categories.match_options #=> Array
1115
1120
  # 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"
1121
+ # resp.budget.filter_expression.product_attributes.key #=> String
1122
+ # resp.budget.filter_expression.product_attributes.values #=> Array
1123
+ # resp.budget.filter_expression.product_attributes.values[0] #=> String
1124
+ # resp.budget.filter_expression.product_attributes.match_options #=> Array
1125
+ # resp.budget.filter_expression.product_attributes.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1116
1126
  # resp.budget.metrics #=> Array
1117
1127
  # resp.budget.metrics[0] #=> String, one of "BlendedCost", "UnblendedCost", "AmortizedCost", "NetUnblendedCost", "NetAmortizedCost", "UsageQuantity", "NormalizedUsageAmount", "Hours"
1118
1128
  # resp.budget.billing_view_arn #=> String
@@ -1566,6 +1576,11 @@ module Aws::Budgets
1566
1576
  # resp.budget_performance_history.filter_expression.cost_categories.values[0] #=> String
1567
1577
  # resp.budget_performance_history.filter_expression.cost_categories.match_options #=> Array
1568
1578
  # resp.budget_performance_history.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"
1579
+ # resp.budget_performance_history.filter_expression.product_attributes.key #=> String
1580
+ # resp.budget_performance_history.filter_expression.product_attributes.values #=> Array
1581
+ # resp.budget_performance_history.filter_expression.product_attributes.values[0] #=> String
1582
+ # resp.budget_performance_history.filter_expression.product_attributes.match_options #=> Array
1583
+ # resp.budget_performance_history.filter_expression.product_attributes.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1569
1584
  # resp.budget_performance_history.metrics #=> Array
1570
1585
  # resp.budget_performance_history.metrics[0] #=> String, one of "BlendedCost", "UnblendedCost", "AmortizedCost", "NetUnblendedCost", "NetAmortizedCost", "UsageQuantity", "NormalizedUsageAmount", "Hours"
1571
1586
  # resp.next_token #=> String
@@ -1676,6 +1691,11 @@ module Aws::Budgets
1676
1691
  # resp.budgets[0].filter_expression.cost_categories.values[0] #=> String
1677
1692
  # resp.budgets[0].filter_expression.cost_categories.match_options #=> Array
1678
1693
  # 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"
1694
+ # resp.budgets[0].filter_expression.product_attributes.key #=> String
1695
+ # resp.budgets[0].filter_expression.product_attributes.values #=> Array
1696
+ # resp.budgets[0].filter_expression.product_attributes.values[0] #=> String
1697
+ # resp.budgets[0].filter_expression.product_attributes.match_options #=> Array
1698
+ # resp.budgets[0].filter_expression.product_attributes.match_options[0] #=> String, one of "EQUALS", "ABSENT", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "GREATER_THAN_OR_EQUAL", "CASE_SENSITIVE", "CASE_INSENSITIVE"
1679
1699
  # resp.budgets[0].metrics #=> Array
1680
1700
  # resp.budgets[0].metrics[0] #=> String, one of "BlendedCost", "UnblendedCost", "AmortizedCost", "NetUnblendedCost", "NetAmortizedCost", "UsageQuantity", "NormalizedUsageAmount", "Hours"
1681
1701
  # resp.budgets[0].billing_view_arn #=> String
@@ -2046,6 +2066,11 @@ module Aws::Budgets
2046
2066
  # values: ["Value"],
2047
2067
  # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL, CASE_SENSITIVE, CASE_INSENSITIVE
2048
2068
  # },
2069
+ # product_attributes: {
2070
+ # key: "ProductAttributeName", # required
2071
+ # values: ["Value"],
2072
+ # match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, GREATER_THAN_OR_EQUAL, CASE_SENSITIVE, CASE_INSENSITIVE
2073
+ # },
2049
2074
  # },
2050
2075
  # metrics: ["BlendedCost"], # accepts BlendedCost, UnblendedCost, AmortizedCost, NetUnblendedCost, NetAmortizedCost, UsageQuantity, NormalizedUsageAmount, Hours
2051
2076
  # billing_view_arn: "BillingViewArn",
@@ -2321,7 +2346,7 @@ module Aws::Budgets
2321
2346
  tracer: tracer
2322
2347
  )
2323
2348
  context[:gem_name] = 'aws-sdk-budgets'
2324
- context[:gem_version] = '1.113.0'
2349
+ context[:gem_version] = '1.114.0'
2325
2350
  Seahorse::Client::Request.new(handlers, context)
2326
2351
  end
2327
2352
 
@@ -134,6 +134,8 @@ module Aws::Budgets
134
134
  PlannedBudgetLimits = Shapes::MapShape.new(name: 'PlannedBudgetLimits')
135
135
  PolicyArn = Shapes::StringShape.new(name: 'PolicyArn')
136
136
  PolicyId = Shapes::StringShape.new(name: 'PolicyId')
137
+ ProductAttributeName = Shapes::StringShape.new(name: 'ProductAttributeName')
138
+ ProductAttributeValues = Shapes::StructureShape.new(name: 'ProductAttributeValues')
137
139
  Region = Shapes::StringShape.new(name: 'Region')
138
140
  ResourceLockedException = Shapes::StructureShape.new(name: 'ResourceLockedException')
139
141
  ResourceTag = Shapes::StructureShape.new(name: 'ResourceTag')
@@ -494,6 +496,7 @@ module Aws::Budgets
494
496
  Expression.add_member(:dimensions, Shapes::ShapeRef.new(shape: ExpressionDimensionValues, location_name: "Dimensions"))
495
497
  Expression.add_member(:tags, Shapes::ShapeRef.new(shape: TagValues, location_name: "Tags"))
496
498
  Expression.add_member(:cost_categories, Shapes::ShapeRef.new(shape: CostCategoryValues, location_name: "CostCategories"))
499
+ Expression.add_member(:product_attributes, Shapes::ShapeRef.new(shape: ProductAttributeValues, location_name: "ProductAttributes"))
497
500
  Expression.struct_class = Types::Expression
498
501
 
499
502
  ExpressionDimensionValues.add_member(:key, Shapes::ShapeRef.new(shape: Dimension, required: true, location_name: "Key"))
@@ -562,6 +565,11 @@ module Aws::Budgets
562
565
  PlannedBudgetLimits.key = Shapes::ShapeRef.new(shape: GenericString)
563
566
  PlannedBudgetLimits.value = Shapes::ShapeRef.new(shape: Spend)
564
567
 
568
+ ProductAttributeValues.add_member(:key, Shapes::ShapeRef.new(shape: ProductAttributeName, required: true, location_name: "Key"))
569
+ ProductAttributeValues.add_member(:values, Shapes::ShapeRef.new(shape: Values, location_name: "Values"))
570
+ ProductAttributeValues.add_member(:match_options, Shapes::ShapeRef.new(shape: MatchOptions, location_name: "MatchOptions"))
571
+ ProductAttributeValues.struct_class = Types::ProductAttributeValues
572
+
565
573
  ResourceLockedException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
566
574
  ResourceLockedException.struct_class = Types::ResourceLockedException
567
575
 
@@ -1577,13 +1577,19 @@ module Aws::Budgets
1577
1577
  # The filter that's based on CostCategoryValues.
1578
1578
  # @return [Types::CostCategoryValues]
1579
1579
  #
1580
+ # @!attribute [rw] product_attributes
1581
+ # The filter that limits results based on the values of specific
1582
+ # product attributes.
1583
+ # @return [Types::ProductAttributeValues]
1584
+ #
1580
1585
  class Expression < Struct.new(
1581
1586
  :or,
1582
1587
  :and,
1583
1588
  :not,
1584
1589
  :dimensions,
1585
1590
  :tags,
1586
- :cost_categories)
1591
+ :cost_categories,
1592
+ :product_attributes)
1587
1593
  SENSITIVE = []
1588
1594
  include Aws::Structure
1589
1595
  end
@@ -1869,6 +1875,59 @@ module Aws::Budgets
1869
1875
  include Aws::Structure
1870
1876
  end
1871
1877
 
1878
+ # The product attribute values used for filtering the costs by key and
1879
+ # value pairs. Product attributes are supported for Amazon Bedrock only.
1880
+ #
1881
+ # @!attribute [rw] key
1882
+ # The name of the product attribute to filter on. Valid values are the
1883
+ # following:
1884
+ #
1885
+ # * `feature` – The feature that was used, such as `On-demand
1886
+ # Inference`.
1887
+ #
1888
+ # * `inferenceType` – The type of inference usage, such as `Input
1889
+ # tokens` or `Output tokens`.
1890
+ #
1891
+ # * `model` – The model, such as `Claude Sonnet 5` or `Claude Haiku
1892
+ # 4.5`.
1893
+ #
1894
+ # * `provider` – The model provider, such as `Anthropic`, `Cohere`, or
1895
+ # `Amazon`.
1896
+ #
1897
+ # Keys are case-sensitive.
1898
+ # @return [String]
1899
+ #
1900
+ # @!attribute [rw] values
1901
+ # The specific values of the product attribute, such as `Claude Sonnet
1902
+ # 5` for the `model` key. Values are matched exactly.
1903
+ #
1904
+ # `Values` is required unless `MatchOptions` is `ABSENT`. To match
1905
+ # costs that have no value for the key, set `MatchOptions` to `ABSENT`
1906
+ # and omit `Values`.
1907
+ # @return [Array<String>]
1908
+ #
1909
+ # @!attribute [rw] match_options
1910
+ # The match options for the `ProductAttributes` filter. Valid values:
1911
+ #
1912
+ # * `ABSENT` – Matches costs that have no value for the attribute.
1913
+ #
1914
+ # * `CASE_SENSITIVE` – Requires an exact case match.
1915
+ #
1916
+ # * `EQUALS` – Matches costs where the attribute equals the specified
1917
+ # value.
1918
+ #
1919
+ # Specify either `EQUALS` or `ABSENT`. You can add `CASE_SENSITIVE` to
1920
+ # `EQUALS`, but you can't use it by itself or with `ABSENT`.
1921
+ # @return [Array<String>]
1922
+ #
1923
+ class ProductAttributeValues < Struct.new(
1924
+ :key,
1925
+ :values,
1926
+ :match_options)
1927
+ SENSITIVE = []
1928
+ include Aws::Structure
1929
+ end
1930
+
1872
1931
  # The request was received and recognized by the server, but the server
1873
1932
  # rejected that particular method for the requested resource.
1874
1933
  #
@@ -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.113.0'
57
+ GEM_VERSION = '1.114.0'
58
58
 
59
59
  end
60
60
 
data/sig/params.rbs CHANGED
@@ -62,6 +62,11 @@ module Aws
62
62
  key: ::String?,
63
63
  values: Array[::String]?,
64
64
  match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
65
+ }?,
66
+ product_attributes: {
67
+ key: ::String,
68
+ values: Array[::String]?,
69
+ match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
65
70
  }?
66
71
  }
67
72
  ]?,
@@ -84,6 +89,11 @@ module Aws
84
89
  key: ::String?,
85
90
  values: Array[::String]?,
86
91
  match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
92
+ }?,
93
+ product_attributes: {
94
+ key: ::String,
95
+ values: Array[::String]?,
96
+ match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
87
97
  }?
88
98
  }
89
99
  ]?,
@@ -109,6 +119,11 @@ module Aws
109
119
  key: ::String?,
110
120
  values: Array[::String]?,
111
121
  match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
122
+ }?,
123
+ product_attributes: {
124
+ key: ::String,
125
+ values: Array[::String]?,
126
+ match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
112
127
  }?
113
128
  }?,
114
129
  dimensions: {
@@ -125,6 +140,11 @@ module Aws
125
140
  key: ::String?,
126
141
  values: Array[::String]?,
127
142
  match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
143
+ }?,
144
+ product_attributes: {
145
+ key: ::String,
146
+ values: Array[::String]?,
147
+ match_options: Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]?
128
148
  }?
129
149
  }
130
150
 
data/sig/types.rbs CHANGED
@@ -415,6 +415,7 @@ module Aws::Budgets
415
415
  attr_accessor dimensions: Types::ExpressionDimensionValues
416
416
  attr_accessor tags: Types::TagValues
417
417
  attr_accessor cost_categories: Types::CostCategoryValues
418
+ attr_accessor product_attributes: Types::ProductAttributeValues
418
419
  SENSITIVE: []
419
420
  end
420
421
 
@@ -491,6 +492,13 @@ module Aws::Budgets
491
492
  SENSITIVE: []
492
493
  end
493
494
 
495
+ class ProductAttributeValues
496
+ attr_accessor key: ::String
497
+ attr_accessor values: ::Array[::String]
498
+ attr_accessor match_options: ::Array[("EQUALS" | "ABSENT" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "GREATER_THAN_OR_EQUAL" | "CASE_SENSITIVE" | "CASE_INSENSITIVE")]
499
+ SENSITIVE: []
500
+ end
501
+
494
502
  class ResourceLockedException
495
503
  attr_accessor message: ::String
496
504
  SENSITIVE: []
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-budgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.113.0
4
+ version: 1.114.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services