aws-sdk-budgets 1.63.0 → 1.65.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af12df463f3e02aa847f555ede561ec186825c576f22385a5e5370041dd2ed5f
4
- data.tar.gz: 1bded290ef007f1698cb0a010c65b7de709d64e916918de3b710d5776663b2db
3
+ metadata.gz: 3d6441966e44e47b4b662a3d6c3b9050db9829449d4f997e0d301b453444c7f9
4
+ data.tar.gz: c232e70d553e109e006358ab61096958f01ce6bd4d4c3194ceca16abd24cd4f2
5
5
  SHA512:
6
- metadata.gz: 642af61924800d9a637e4ccd16b4c679ecd638fa682454ef6147cec62ed283dd41c2031aa1816bdb70c364e589ec93688315a6f5b64eaf189be2e1a9f5ee7041
7
- data.tar.gz: 6d24bcca8ec5392c969ce6ced02841f73dbad3d861940ed8dbcd4520a7e1e3713742a7dd0b84b8de4c49cae257c9fbd0ed387fc93db79cd7aa77969f3af516c7
6
+ metadata.gz: 6288931f5168945539137709e93bb04d9566cf095b8e3f2aa615956843c11b206a3b993067b01017b2f6d7a16c2a0d5a224056b5c6ac8b703bba8c6ef7b115e2
7
+ data.tar.gz: e33c090298e44edf217d0cd7b6c79bc35a00792aeeef7c40dd6f8f31d4b7f0e853f00d18dbf4282df05421f93bd63e62a101e2296a4e7967d974ac6d0dd31f7b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.65.0 (2024-05-07)
5
+ ------------------
6
+
7
+ * Feature - This release adds tag support for budgets and budget actions.
8
+
9
+ 1.64.0 (2024-04-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.63.0 (2024-01-26)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.63.0
1
+ 1.65.0
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -72,6 +73,7 @@ module Aws::Budgets
72
73
  add_plugin(Aws::Plugins::ResponsePaging)
73
74
  add_plugin(Aws::Plugins::StubResponses)
74
75
  add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
75
77
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
78
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
79
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -196,10 +198,17 @@ module Aws::Budgets
196
198
  # When set to 'true' the request body will not be compressed
197
199
  # for supported operations.
198
200
  #
199
- # @option options [String] :endpoint
200
- # The client endpoint is normally constructed from the `:region`
201
- # option. You should only configure an `:endpoint` when connecting
202
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
203
212
  #
204
213
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
214
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -347,50 +356,65 @@ module Aws::Budgets
347
356
  # @option options [Aws::Budgets::EndpointProvider] :endpoint_provider
348
357
  # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Budgets::EndpointParameters`
349
358
  #
350
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
351
- # requests through. Formatted like 'http://proxy.com:123'.
352
- #
353
- # @option options [Float] :http_open_timeout (15) The number of
354
- # seconds to wait when opening a HTTP session before raising a
355
- # `Timeout::Error`.
356
- #
357
- # @option options [Float] :http_read_timeout (60) The default
358
- # number of seconds to wait for response data. This value can
359
- # safely be set per-request on the session.
360
- #
361
- # @option options [Float] :http_idle_timeout (5) The number of
362
- # seconds a connection is allowed to sit idle before it is
363
- # considered stale. Stale connections are closed and removed
364
- # from the pool before making a request.
365
- #
366
- # @option options [Float] :http_continue_timeout (1) The number of
367
- # seconds to wait for a 100-continue response before sending the
368
- # request body. This option has no effect unless the request has
369
- # "Expect" header set to "100-continue". Defaults to `nil` which
370
- # disables this behaviour. This value can safely be set per
371
- # request on the session.
372
- #
373
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
374
- # in seconds.
375
- #
376
- # @option options [Boolean] :http_wire_trace (false) When `true`,
377
- # HTTP debug output will be sent to the `:logger`.
359
+ # @option options [Float] :http_continue_timeout (1)
360
+ # The number of seconds to wait for a 100-continue response before sending the
361
+ # request body. This option has no effect unless the request has "Expect"
362
+ # header set to "100-continue". Defaults to `nil` which disables this
363
+ # behaviour. This value can safely be set per request on the session.
364
+ #
365
+ # @option options [Float] :http_idle_timeout (5)
366
+ # The number of seconds a connection is allowed to sit idle before it
367
+ # is considered stale. Stale connections are closed and removed from the
368
+ # pool before making a request.
369
+ #
370
+ # @option options [Float] :http_open_timeout (15)
371
+ # The default number of seconds to wait for response data.
372
+ # This value can safely be set per-request on the session.
373
+ #
374
+ # @option options [URI::HTTP,String] :http_proxy
375
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
376
+ #
377
+ # @option options [Float] :http_read_timeout (60)
378
+ # The default number of seconds to wait for response data.
379
+ # This value can safely be set per-request on the session.
380
+ #
381
+ # @option options [Boolean] :http_wire_trace (false)
382
+ # When `true`, HTTP debug output will be sent to the `:logger`.
383
+ #
384
+ # @option options [Proc] :on_chunk_received
385
+ # When a Proc object is provided, it will be used as callback when each chunk
386
+ # of the response body is received. It provides three arguments: the chunk,
387
+ # the number of bytes received, and the total number of
388
+ # bytes in the response (or nil if the server did not send a `content-length`).
389
+ #
390
+ # @option options [Proc] :on_chunk_sent
391
+ # When a Proc object is provided, it will be used as callback when each chunk
392
+ # of the request body is sent. It provides three arguments: the chunk,
393
+ # the number of bytes read from the body, and the total number of
394
+ # bytes in the body.
395
+ #
396
+ # @option options [Boolean] :raise_response_errors (true)
397
+ # When `true`, response errors are raised.
398
+ #
399
+ # @option options [String] :ssl_ca_bundle
400
+ # Full path to the SSL certificate authority bundle file that should be used when
401
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
402
+ # `:ssl_ca_directory` the the system default will be used if available.
403
+ #
404
+ # @option options [String] :ssl_ca_directory
405
+ # Full path of the directory that contains the unbundled SSL certificate
406
+ # authority files for verifying peer certificates. If you do
407
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
408
+ # default will be used if available.
378
409
  #
379
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
380
- # SSL peer certificates are verified when establishing a
381
- # connection.
410
+ # @option options [String] :ssl_ca_store
411
+ # Sets the X509::Store to verify peer certificate.
382
412
  #
383
- # @option options [String] :ssl_ca_bundle Full path to the SSL
384
- # certificate authority bundle file that should be used when
385
- # verifying peer certificates. If you do not pass
386
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
387
- # will be used if available.
413
+ # @option options [Float] :ssl_timeout
414
+ # Sets the SSL timeout in seconds
388
415
  #
389
- # @option options [String] :ssl_ca_directory Full path of the
390
- # directory that contains the unbundled SSL certificate
391
- # authority files for verifying peer certificates. If you do
392
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
393
- # system default will be used if available.
416
+ # @option options [Boolean] :ssl_verify_peer (true)
417
+ # When `true`, SSL peer certificates are verified when establishing a connection.
394
418
  #
395
419
  def initialize(*args)
396
420
  super
@@ -422,6 +446,11 @@ module Aws::Budgets
422
446
  # notifications and subscribers in your `CreateBudget` call, Amazon Web
423
447
  # Services creates the notifications and subscribers for you.
424
448
  #
449
+ # @option params [Array<Types::ResourceTag>] :resource_tags
450
+ # An optional list of tags to associate with the specified budget. Each
451
+ # tag consists of a key and a value, and each key must be unique for the
452
+ # resource.
453
+ #
425
454
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
426
455
  #
427
456
  # @example Request syntax with placeholder values
@@ -499,6 +528,12 @@ module Aws::Budgets
499
528
  # ],
500
529
  # },
501
530
  # ],
531
+ # resource_tags: [
532
+ # {
533
+ # key: "ResourceTagKey", # required
534
+ # value: "ResourceTagValue", # required
535
+ # },
536
+ # ],
502
537
  # })
503
538
  #
504
539
  # @overload create_budget(params = {})
@@ -541,6 +576,11 @@ module Aws::Budgets
541
576
  # @option params [required, Array<Types::Subscriber>] :subscribers
542
577
  # A list of subscribers.
543
578
  #
579
+ # @option params [Array<Types::ResourceTag>] :resource_tags
580
+ # An optional list of tags to associate with the specified budget
581
+ # action. Each tag consists of a key and a value, and each key must be
582
+ # unique for the resource.
583
+ #
544
584
  # @return [Types::CreateBudgetActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
545
585
  #
546
586
  # * {Types::CreateBudgetActionResponse#account_id #account_id} => String
@@ -583,6 +623,12 @@ module Aws::Budgets
583
623
  # address: "SubscriberAddress", # required
584
624
  # },
585
625
  # ],
626
+ # resource_tags: [
627
+ # {
628
+ # key: "ResourceTagKey", # required
629
+ # value: "ResourceTagValue", # required
630
+ # },
631
+ # ],
586
632
  # })
587
633
  #
588
634
  # @example Response structure
@@ -1581,6 +1627,87 @@ module Aws::Budgets
1581
1627
  req.send_request(options)
1582
1628
  end
1583
1629
 
1630
+ # Lists tags associated with a budget or budget action resource.
1631
+ #
1632
+ # @option params [required, String] :resource_arn
1633
+ # The unique identifier for the resource.
1634
+ #
1635
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1636
+ #
1637
+ # * {Types::ListTagsForResourceResponse#resource_tags #resource_tags} => Array&lt;Types::ResourceTag&gt;
1638
+ #
1639
+ # @example Request syntax with placeholder values
1640
+ #
1641
+ # resp = client.list_tags_for_resource({
1642
+ # resource_arn: "AmazonResourceName", # required
1643
+ # })
1644
+ #
1645
+ # @example Response structure
1646
+ #
1647
+ # resp.resource_tags #=> Array
1648
+ # resp.resource_tags[0].key #=> String
1649
+ # resp.resource_tags[0].value #=> String
1650
+ #
1651
+ # @overload list_tags_for_resource(params = {})
1652
+ # @param [Hash] params ({})
1653
+ def list_tags_for_resource(params = {}, options = {})
1654
+ req = build_request(:list_tags_for_resource, params)
1655
+ req.send_request(options)
1656
+ end
1657
+
1658
+ # Creates tags for a budget or budget action resource.
1659
+ #
1660
+ # @option params [required, String] :resource_arn
1661
+ # The unique identifier for the resource.
1662
+ #
1663
+ # @option params [required, Array<Types::ResourceTag>] :resource_tags
1664
+ # The tags associated with the resource.
1665
+ #
1666
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1667
+ #
1668
+ # @example Request syntax with placeholder values
1669
+ #
1670
+ # resp = client.tag_resource({
1671
+ # resource_arn: "AmazonResourceName", # required
1672
+ # resource_tags: [ # required
1673
+ # {
1674
+ # key: "ResourceTagKey", # required
1675
+ # value: "ResourceTagValue", # required
1676
+ # },
1677
+ # ],
1678
+ # })
1679
+ #
1680
+ # @overload tag_resource(params = {})
1681
+ # @param [Hash] params ({})
1682
+ def tag_resource(params = {}, options = {})
1683
+ req = build_request(:tag_resource, params)
1684
+ req.send_request(options)
1685
+ end
1686
+
1687
+ # Deletes tags associated with a budget or budget action resource.
1688
+ #
1689
+ # @option params [required, String] :resource_arn
1690
+ # The unique identifier for the resource.
1691
+ #
1692
+ # @option params [required, Array<String>] :resource_tag_keys
1693
+ # The key that's associated with the tag.
1694
+ #
1695
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1696
+ #
1697
+ # @example Request syntax with placeholder values
1698
+ #
1699
+ # resp = client.untag_resource({
1700
+ # resource_arn: "AmazonResourceName", # required
1701
+ # resource_tag_keys: ["ResourceTagKey"], # required
1702
+ # })
1703
+ #
1704
+ # @overload untag_resource(params = {})
1705
+ # @param [Hash] params ({})
1706
+ def untag_resource(params = {}, options = {})
1707
+ req = build_request(:untag_resource, params)
1708
+ req.send_request(options)
1709
+ end
1710
+
1584
1711
  # Updates a budget. You can change every part of a budget except for the
1585
1712
  # `budgetName` and the `calculatedSpend`. When you modify a budget, the
1586
1713
  # `calculatedSpend` drops to zero until Amazon Web Services has new
@@ -1919,7 +2046,7 @@ module Aws::Budgets
1919
2046
  params: params,
1920
2047
  config: config)
1921
2048
  context[:gem_name] = 'aws-sdk-budgets'
1922
- context[:gem_version] = '1.63.0'
2049
+ context[:gem_version] = '1.65.0'
1923
2050
  Seahorse::Client::Request.new(handlers, context)
1924
2051
  end
1925
2052
 
@@ -26,6 +26,7 @@ module Aws::Budgets
26
26
  ActionType = Shapes::StringShape.new(name: 'ActionType')
27
27
  Actions = Shapes::ListShape.new(name: 'Actions')
28
28
  AdjustmentPeriod = Shapes::IntegerShape.new(name: 'AdjustmentPeriod')
29
+ AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
29
30
  ApprovalModel = Shapes::StringShape.new(name: 'ApprovalModel')
30
31
  AutoAdjustData = Shapes::StructureShape.new(name: 'AutoAdjustData')
31
32
  AutoAdjustType = Shapes::StringShape.new(name: 'AutoAdjustType')
@@ -99,6 +100,8 @@ module Aws::Budgets
99
100
  InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
100
101
  InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
101
102
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
103
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
104
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
102
105
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
103
106
  MaxResultsBudgetNotifications = Shapes::IntegerShape.new(name: 'MaxResultsBudgetNotifications')
104
107
  MaxResultsDescribeBudgets = Shapes::IntegerShape.new(name: 'MaxResultsDescribeBudgets')
@@ -117,16 +120,24 @@ module Aws::Budgets
117
120
  PolicyId = Shapes::StringShape.new(name: 'PolicyId')
118
121
  Region = Shapes::StringShape.new(name: 'Region')
119
122
  ResourceLockedException = Shapes::StructureShape.new(name: 'ResourceLockedException')
123
+ ResourceTag = Shapes::StructureShape.new(name: 'ResourceTag')
124
+ ResourceTagKey = Shapes::StringShape.new(name: 'ResourceTagKey')
125
+ ResourceTagKeyList = Shapes::ListShape.new(name: 'ResourceTagKeyList')
126
+ ResourceTagList = Shapes::ListShape.new(name: 'ResourceTagList')
127
+ ResourceTagValue = Shapes::StringShape.new(name: 'ResourceTagValue')
120
128
  Role = Shapes::StringShape.new(name: 'Role')
121
129
  RoleArn = Shapes::StringShape.new(name: 'RoleArn')
122
130
  Roles = Shapes::ListShape.new(name: 'Roles')
123
131
  ScpActionDefinition = Shapes::StructureShape.new(name: 'ScpActionDefinition')
132
+ ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
124
133
  Spend = Shapes::StructureShape.new(name: 'Spend')
125
134
  SsmActionDefinition = Shapes::StructureShape.new(name: 'SsmActionDefinition')
126
135
  Subscriber = Shapes::StructureShape.new(name: 'Subscriber')
127
136
  SubscriberAddress = Shapes::StringShape.new(name: 'SubscriberAddress')
128
137
  Subscribers = Shapes::ListShape.new(name: 'Subscribers')
129
138
  SubscriptionType = Shapes::StringShape.new(name: 'SubscriptionType')
139
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
140
+ TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
130
141
  TargetId = Shapes::StringShape.new(name: 'TargetId')
131
142
  TargetIds = Shapes::ListShape.new(name: 'TargetIds')
132
143
  ThresholdType = Shapes::StringShape.new(name: 'ThresholdType')
@@ -134,6 +145,8 @@ module Aws::Budgets
134
145
  TimePeriod = Shapes::StructureShape.new(name: 'TimePeriod')
135
146
  TimeUnit = Shapes::StringShape.new(name: 'TimeUnit')
136
147
  UnitValue = Shapes::StringShape.new(name: 'UnitValue')
148
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
149
+ UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
137
150
  UpdateBudgetActionRequest = Shapes::StructureShape.new(name: 'UpdateBudgetActionRequest')
138
151
  UpdateBudgetActionResponse = Shapes::StructureShape.new(name: 'UpdateBudgetActionResponse')
139
152
  UpdateBudgetRequest = Shapes::StructureShape.new(name: 'UpdateBudgetRequest')
@@ -249,6 +262,7 @@ module Aws::Budgets
249
262
  CreateBudgetActionRequest.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "ExecutionRoleArn"))
250
263
  CreateBudgetActionRequest.add_member(:approval_model, Shapes::ShapeRef.new(shape: ApprovalModel, required: true, location_name: "ApprovalModel"))
251
264
  CreateBudgetActionRequest.add_member(:subscribers, Shapes::ShapeRef.new(shape: Subscribers, required: true, location_name: "Subscribers"))
265
+ CreateBudgetActionRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, location_name: "ResourceTags"))
252
266
  CreateBudgetActionRequest.struct_class = Types::CreateBudgetActionRequest
253
267
 
254
268
  CreateBudgetActionResponse.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "AccountId"))
@@ -259,6 +273,7 @@ module Aws::Budgets
259
273
  CreateBudgetRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "AccountId"))
260
274
  CreateBudgetRequest.add_member(:budget, Shapes::ShapeRef.new(shape: Budget, required: true, location_name: "Budget"))
261
275
  CreateBudgetRequest.add_member(:notifications_with_subscribers, Shapes::ShapeRef.new(shape: NotificationWithSubscribersList, location_name: "NotificationsWithSubscribers"))
276
+ CreateBudgetRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, location_name: "ResourceTags"))
262
277
  CreateBudgetRequest.struct_class = Types::CreateBudgetRequest
263
278
 
264
279
  CreateBudgetResponse.struct_class = Types::CreateBudgetResponse
@@ -459,6 +474,12 @@ module Aws::Budgets
459
474
  InvalidParameterException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
460
475
  InvalidParameterException.struct_class = Types::InvalidParameterException
461
476
 
477
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "ResourceARN"))
478
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
479
+
480
+ ListTagsForResourceResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, location_name: "ResourceTags"))
481
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
482
+
462
483
  NotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
463
484
  NotFoundException.struct_class = Types::NotFoundException
464
485
 
@@ -483,12 +504,23 @@ module Aws::Budgets
483
504
  ResourceLockedException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
484
505
  ResourceLockedException.struct_class = Types::ResourceLockedException
485
506
 
507
+ ResourceTag.add_member(:key, Shapes::ShapeRef.new(shape: ResourceTagKey, required: true, location_name: "Key"))
508
+ ResourceTag.add_member(:value, Shapes::ShapeRef.new(shape: ResourceTagValue, required: true, location_name: "Value"))
509
+ ResourceTag.struct_class = Types::ResourceTag
510
+
511
+ ResourceTagKeyList.member = Shapes::ShapeRef.new(shape: ResourceTagKey)
512
+
513
+ ResourceTagList.member = Shapes::ShapeRef.new(shape: ResourceTag)
514
+
486
515
  Roles.member = Shapes::ShapeRef.new(shape: Role)
487
516
 
488
517
  ScpActionDefinition.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, required: true, location_name: "PolicyId"))
489
518
  ScpActionDefinition.add_member(:target_ids, Shapes::ShapeRef.new(shape: TargetIds, required: true, location_name: "TargetIds"))
490
519
  ScpActionDefinition.struct_class = Types::ScpActionDefinition
491
520
 
521
+ ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
522
+ ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
523
+
492
524
  Spend.add_member(:amount, Shapes::ShapeRef.new(shape: NumericValue, required: true, location_name: "Amount"))
493
525
  Spend.add_member(:unit, Shapes::ShapeRef.new(shape: UnitValue, required: true, location_name: "Unit"))
494
526
  Spend.struct_class = Types::Spend
@@ -504,6 +536,12 @@ module Aws::Budgets
504
536
 
505
537
  Subscribers.member = Shapes::ShapeRef.new(shape: Subscriber)
506
538
 
539
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "ResourceARN"))
540
+ TagResourceRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTagList, required: true, location_name: "ResourceTags"))
541
+ TagResourceRequest.struct_class = Types::TagResourceRequest
542
+
543
+ TagResourceResponse.struct_class = Types::TagResourceResponse
544
+
507
545
  TargetIds.member = Shapes::ShapeRef.new(shape: TargetId)
508
546
 
509
547
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
@@ -513,6 +551,12 @@ module Aws::Budgets
513
551
  TimePeriod.add_member(:end, Shapes::ShapeRef.new(shape: GenericTimestamp, location_name: "End"))
514
552
  TimePeriod.struct_class = Types::TimePeriod
515
553
 
554
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "ResourceARN"))
555
+ UntagResourceRequest.add_member(:resource_tag_keys, Shapes::ShapeRef.new(shape: ResourceTagKeyList, required: true, location_name: "ResourceTagKeys"))
556
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
557
+
558
+ UntagResourceResponse.struct_class = Types::UntagResourceResponse
559
+
516
560
  UpdateBudgetActionRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "AccountId"))
517
561
  UpdateBudgetActionRequest.add_member(:budget_name, Shapes::ShapeRef.new(shape: BudgetName, required: true, location_name: "BudgetName"))
518
562
  UpdateBudgetActionRequest.add_member(:action_id, Shapes::ShapeRef.new(shape: ActionId, required: true, location_name: "ActionId"))
@@ -566,6 +610,7 @@ module Aws::Budgets
566
610
  "endpointPrefix" => "budgets",
567
611
  "jsonVersion" => "1.1",
568
612
  "protocol" => "json",
613
+ "protocols" => ["json"],
569
614
  "serviceAbbreviation" => "AWSBudgets",
570
615
  "serviceFullName" => "AWS Budgets",
571
616
  "serviceId" => "Budgets",
@@ -586,6 +631,7 @@ module Aws::Budgets
586
631
  o.errors << Shapes::ShapeRef.new(shape: DuplicateRecordException)
587
632
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
588
633
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
634
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
589
635
  end)
590
636
 
591
637
  api.add_operation(:create_budget_action, Seahorse::Model::Operation.new.tap do |o|
@@ -601,6 +647,7 @@ module Aws::Budgets
601
647
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
602
648
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
603
649
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
650
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
604
651
  end)
605
652
 
606
653
  api.add_operation(:create_notification, Seahorse::Model::Operation.new.tap do |o|
@@ -890,6 +937,46 @@ module Aws::Budgets
890
937
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
891
938
  end)
892
939
 
940
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
941
+ o.name = "ListTagsForResource"
942
+ o.http_method = "POST"
943
+ o.http_request_uri = "/"
944
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
945
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
946
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
947
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
948
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
949
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
950
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
951
+ end)
952
+
953
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
954
+ o.name = "TagResource"
955
+ o.http_method = "POST"
956
+ o.http_request_uri = "/"
957
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
958
+ o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
959
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
960
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
961
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
962
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
963
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
964
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
965
+ end)
966
+
967
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
968
+ o.name = "UntagResource"
969
+ o.http_method = "POST"
970
+ o.http_request_uri = "/"
971
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
972
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
973
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
974
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
975
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
976
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
977
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
978
+ end)
979
+
893
980
  api.add_operation(:update_budget, Seahorse::Model::Operation.new.tap do |o|
894
981
  o.name = "UpdateBudget"
895
982
  o.http_method = "POST"
@@ -38,7 +38,7 @@ module Aws::Budgets
38
38
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
39
39
  end
40
40
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
41
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
41
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
42
42
  return Aws::Endpoints::Endpoint.new(url: "https://budgets-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
43
43
  end
44
44
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
@@ -278,6 +278,48 @@ module Aws::Budgets
278
278
  end
279
279
  end
280
280
 
281
+ class ListTagsForResource
282
+ def self.build(context)
283
+ unless context.config.regional_endpoint
284
+ endpoint = context.config.endpoint.to_s
285
+ end
286
+ Aws::Budgets::EndpointParameters.new(
287
+ region: context.config.region,
288
+ use_dual_stack: context.config.use_dualstack_endpoint,
289
+ use_fips: context.config.use_fips_endpoint,
290
+ endpoint: endpoint,
291
+ )
292
+ end
293
+ end
294
+
295
+ class TagResource
296
+ def self.build(context)
297
+ unless context.config.regional_endpoint
298
+ endpoint = context.config.endpoint.to_s
299
+ end
300
+ Aws::Budgets::EndpointParameters.new(
301
+ region: context.config.region,
302
+ use_dual_stack: context.config.use_dualstack_endpoint,
303
+ use_fips: context.config.use_fips_endpoint,
304
+ endpoint: endpoint,
305
+ )
306
+ end
307
+ end
308
+
309
+ class UntagResource
310
+ def self.build(context)
311
+ unless context.config.regional_endpoint
312
+ endpoint = context.config.endpoint.to_s
313
+ end
314
+ Aws::Budgets::EndpointParameters.new(
315
+ region: context.config.region,
316
+ use_dual_stack: context.config.use_dualstack_endpoint,
317
+ use_fips: context.config.use_fips_endpoint,
318
+ endpoint: endpoint,
319
+ )
320
+ end
321
+ end
322
+
281
323
  class UpdateBudget
282
324
  def self.build(context)
283
325
  unless context.config.regional_endpoint
@@ -36,6 +36,7 @@ module Aws::Budgets
36
36
  # * {InvalidParameterException}
37
37
  # * {NotFoundException}
38
38
  # * {ResourceLockedException}
39
+ # * {ServiceQuotaExceededException}
39
40
  # * {ThrottlingException}
40
41
  #
41
42
  # Additionally, error classes are dynamically generated for service errors based on the error code
@@ -179,6 +180,21 @@ module Aws::Budgets
179
180
  end
180
181
  end
181
182
 
183
+ class ServiceQuotaExceededException < ServiceError
184
+
185
+ # @param [Seahorse::Client::RequestContext] context
186
+ # @param [String] message
187
+ # @param [Aws::Budgets::Types::ServiceQuotaExceededException] data
188
+ def initialize(context, message, data = Aws::EmptyStructure.new)
189
+ super(context, message, data)
190
+ end
191
+
192
+ # @return [String]
193
+ def message
194
+ @message || @data[:message]
195
+ end
196
+ end
197
+
182
198
  class ThrottlingException < ServiceError
183
199
 
184
200
  # @param [Seahorse::Client::RequestContext] context
@@ -96,6 +96,12 @@ module Aws::Budgets
96
96
  Aws::Budgets::Endpoints::DescribeSubscribersForNotification.build(context)
97
97
  when :execute_budget_action
98
98
  Aws::Budgets::Endpoints::ExecuteBudgetAction.build(context)
99
+ when :list_tags_for_resource
100
+ Aws::Budgets::Endpoints::ListTagsForResource.build(context)
101
+ when :tag_resource
102
+ Aws::Budgets::Endpoints::TagResource.build(context)
103
+ when :untag_resource
104
+ Aws::Budgets::Endpoints::UntagResource.build(context)
99
105
  when :update_budget
100
106
  Aws::Budgets::Endpoints::UpdateBudget.build(context)
101
107
  when :update_budget_action
@@ -239,8 +239,8 @@ module Aws::Budgets
239
239
  # @return [Hash<String,Types::Spend>]
240
240
  #
241
241
  # @!attribute [rw] cost_filters
242
- # The cost filters, such as `Region`, `Service`, `member account`,
243
- # `Tag`, or `Cost Category`, that are applied to a budget.
242
+ # The cost filters, such as `Region`, `Service`, `LinkedAccount`,
243
+ # `Tag`, or `CostCategory`, that are applied to a budget.
244
244
  #
245
245
  # Amazon Web Services Budgets supports the following services as a
246
246
  # `Service` filter for RI budgets:
@@ -566,6 +566,12 @@ module Aws::Budgets
566
566
  # A list of subscribers.
567
567
  # @return [Array<Types::Subscriber>]
568
568
  #
569
+ # @!attribute [rw] resource_tags
570
+ # An optional list of tags to associate with the specified budget
571
+ # action. Each tag consists of a key and a value, and each key must be
572
+ # unique for the resource.
573
+ # @return [Array<Types::ResourceTag>]
574
+ #
569
575
  class CreateBudgetActionRequest < Struct.new(
570
576
  :account_id,
571
577
  :budget_name,
@@ -575,7 +581,8 @@ module Aws::Budgets
575
581
  :definition,
576
582
  :execution_role_arn,
577
583
  :approval_model,
578
- :subscribers)
584
+ :subscribers,
585
+ :resource_tags)
579
586
  SENSITIVE = []
580
587
  include Aws::Structure
581
588
  end
@@ -620,10 +627,17 @@ module Aws::Budgets
620
627
  # Web Services creates the notifications and subscribers for you.
621
628
  # @return [Array<Types::NotificationWithSubscribers>]
622
629
  #
630
+ # @!attribute [rw] resource_tags
631
+ # An optional list of tags to associate with the specified budget.
632
+ # Each tag consists of a key and a value, and each key must be unique
633
+ # for the resource.
634
+ # @return [Array<Types::ResourceTag>]
635
+ #
623
636
  class CreateBudgetRequest < Struct.new(
624
637
  :account_id,
625
638
  :budget,
626
- :notifications_with_subscribers)
639
+ :notifications_with_subscribers,
640
+ :resource_tags)
627
641
  SENSITIVE = []
628
642
  include Aws::Structure
629
643
  end
@@ -1485,6 +1499,26 @@ module Aws::Budgets
1485
1499
  include Aws::Structure
1486
1500
  end
1487
1501
 
1502
+ # @!attribute [rw] resource_arn
1503
+ # The unique identifier for the resource.
1504
+ # @return [String]
1505
+ #
1506
+ class ListTagsForResourceRequest < Struct.new(
1507
+ :resource_arn)
1508
+ SENSITIVE = []
1509
+ include Aws::Structure
1510
+ end
1511
+
1512
+ # @!attribute [rw] resource_tags
1513
+ # The tags associated with the resource.
1514
+ # @return [Array<Types::ResourceTag>]
1515
+ #
1516
+ class ListTagsForResourceResponse < Struct.new(
1517
+ :resource_tags)
1518
+ SENSITIVE = []
1519
+ include Aws::Structure
1520
+ end
1521
+
1488
1522
  # We can’t locate the resource that you specified.
1489
1523
  #
1490
1524
  # @!attribute [rw] message
@@ -1592,6 +1626,23 @@ module Aws::Budgets
1592
1626
  include Aws::Structure
1593
1627
  end
1594
1628
 
1629
+ # The tag structure that contains a tag key and value.
1630
+ #
1631
+ # @!attribute [rw] key
1632
+ # The key that's associated with the tag.
1633
+ # @return [String]
1634
+ #
1635
+ # @!attribute [rw] value
1636
+ # The value that's associated with the tag.
1637
+ # @return [String]
1638
+ #
1639
+ class ResourceTag < Struct.new(
1640
+ :key,
1641
+ :value)
1642
+ SENSITIVE = []
1643
+ include Aws::Structure
1644
+ end
1645
+
1595
1646
  # The service control policies (SCP) action definition details.
1596
1647
  #
1597
1648
  # @!attribute [rw] policy_id
@@ -1609,6 +1660,19 @@ module Aws::Budgets
1609
1660
  include Aws::Structure
1610
1661
  end
1611
1662
 
1663
+ # You've reached the limit on the number of tags you can associate with
1664
+ # a resource.
1665
+ #
1666
+ # @!attribute [rw] message
1667
+ # The error message the exception carries.
1668
+ # @return [String]
1669
+ #
1670
+ class ServiceQuotaExceededException < Struct.new(
1671
+ :message)
1672
+ SENSITIVE = []
1673
+ include Aws::Structure
1674
+ end
1675
+
1612
1676
  # The amount of cost or usage that's measured for a budget.
1613
1677
  #
1614
1678
  # *Cost example:* A `Spend` for `3 USD` of costs has the following
@@ -1694,6 +1758,23 @@ module Aws::Budgets
1694
1758
  include Aws::Structure
1695
1759
  end
1696
1760
 
1761
+ # @!attribute [rw] resource_arn
1762
+ # The unique identifier for the resource.
1763
+ # @return [String]
1764
+ #
1765
+ # @!attribute [rw] resource_tags
1766
+ # The tags associated with the resource.
1767
+ # @return [Array<Types::ResourceTag>]
1768
+ #
1769
+ class TagResourceRequest < Struct.new(
1770
+ :resource_arn,
1771
+ :resource_tags)
1772
+ SENSITIVE = []
1773
+ include Aws::Structure
1774
+ end
1775
+
1776
+ class TagResourceResponse < Aws::EmptyStructure; end
1777
+
1697
1778
  # The number of API requests has exceeded the maximum allowed API
1698
1779
  # request throttling limit for the account.
1699
1780
  #
@@ -1743,6 +1824,23 @@ module Aws::Budgets
1743
1824
  include Aws::Structure
1744
1825
  end
1745
1826
 
1827
+ # @!attribute [rw] resource_arn
1828
+ # The unique identifier for the resource.
1829
+ # @return [String]
1830
+ #
1831
+ # @!attribute [rw] resource_tag_keys
1832
+ # The key that's associated with the tag.
1833
+ # @return [Array<String>]
1834
+ #
1835
+ class UntagResourceRequest < Struct.new(
1836
+ :resource_arn,
1837
+ :resource_tag_keys)
1838
+ SENSITIVE = []
1839
+ include Aws::Structure
1840
+ end
1841
+
1842
+ class UntagResourceResponse < Aws::EmptyStructure; end
1843
+
1746
1844
  # @!attribute [rw] account_id
1747
1845
  # The account ID of the user. It's a 12-digit number.
1748
1846
  # @return [String]
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-budgets/customizations'
52
52
  # @!group service
53
53
  module Aws::Budgets
54
54
 
55
- GEM_VERSION = '1.63.0'
55
+ GEM_VERSION = '1.65.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -145,6 +145,12 @@ module Aws
145
145
  },
146
146
  ]
147
147
  },
148
+ ],
149
+ ?resource_tags: Array[
150
+ {
151
+ key: ::String,
152
+ value: ::String
153
+ },
148
154
  ]
149
155
  ) -> _CreateBudgetResponseSuccess
150
156
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateBudgetResponseSuccess
@@ -189,6 +195,12 @@ module Aws
189
195
  subscription_type: ("SNS" | "EMAIL"),
190
196
  address: ::String
191
197
  },
198
+ ],
199
+ ?resource_tags: Array[
200
+ {
201
+ key: ::String,
202
+ value: ::String
203
+ },
192
204
  ]
193
205
  ) -> _CreateBudgetActionResponseSuccess
194
206
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateBudgetActionResponseSuccess
@@ -465,6 +477,41 @@ module Aws
465
477
  ) -> _ExecuteBudgetActionResponseSuccess
466
478
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ExecuteBudgetActionResponseSuccess
467
479
 
480
+ interface _ListTagsForResourceResponseSuccess
481
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListTagsForResourceResponse]
482
+ def resource_tags: () -> ::Array[Types::ResourceTag]
483
+ end
484
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Budgets/Client.html#list_tags_for_resource-instance_method
485
+ def list_tags_for_resource: (
486
+ resource_arn: ::String
487
+ ) -> _ListTagsForResourceResponseSuccess
488
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListTagsForResourceResponseSuccess
489
+
490
+ interface _TagResourceResponseSuccess
491
+ include ::Seahorse::Client::_ResponseSuccess[Types::TagResourceResponse]
492
+ end
493
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Budgets/Client.html#tag_resource-instance_method
494
+ def tag_resource: (
495
+ resource_arn: ::String,
496
+ resource_tags: Array[
497
+ {
498
+ key: ::String,
499
+ value: ::String
500
+ },
501
+ ]
502
+ ) -> _TagResourceResponseSuccess
503
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _TagResourceResponseSuccess
504
+
505
+ interface _UntagResourceResponseSuccess
506
+ include ::Seahorse::Client::_ResponseSuccess[Types::UntagResourceResponse]
507
+ end
508
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Budgets/Client.html#untag_resource-instance_method
509
+ def untag_resource: (
510
+ resource_arn: ::String,
511
+ resource_tag_keys: Array[::String]
512
+ ) -> _UntagResourceResponseSuccess
513
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UntagResourceResponseSuccess
514
+
468
515
  interface _UpdateBudgetResponseSuccess
469
516
  include ::Seahorse::Client::_ResponseSuccess[Types::UpdateBudgetResponse]
470
517
  end
data/sig/errors.rbs CHANGED
@@ -38,6 +38,9 @@ module Aws
38
38
  class ResourceLockedException < ::Aws::Errors::ServiceError
39
39
  def message: () -> ::String
40
40
  end
41
+ class ServiceQuotaExceededException < ::Aws::Errors::ServiceError
42
+ def message: () -> ::String
43
+ end
41
44
  class ThrottlingException < ::Aws::Errors::ServiceError
42
45
  def message: () -> ::String
43
46
  end
data/sig/types.rbs CHANGED
@@ -123,6 +123,7 @@ module Aws::Budgets
123
123
  attr_accessor execution_role_arn: ::String
124
124
  attr_accessor approval_model: ("AUTOMATIC" | "MANUAL")
125
125
  attr_accessor subscribers: ::Array[Types::Subscriber]
126
+ attr_accessor resource_tags: ::Array[Types::ResourceTag]
126
127
  SENSITIVE: []
127
128
  end
128
129
 
@@ -137,6 +138,7 @@ module Aws::Budgets
137
138
  attr_accessor account_id: ::String
138
139
  attr_accessor budget: Types::Budget
139
140
  attr_accessor notifications_with_subscribers: ::Array[Types::NotificationWithSubscribers]
141
+ attr_accessor resource_tags: ::Array[Types::ResourceTag]
140
142
  SENSITIVE: []
141
143
  end
142
144
 
@@ -414,6 +416,16 @@ module Aws::Budgets
414
416
  SENSITIVE: []
415
417
  end
416
418
 
419
+ class ListTagsForResourceRequest
420
+ attr_accessor resource_arn: ::String
421
+ SENSITIVE: []
422
+ end
423
+
424
+ class ListTagsForResourceResponse
425
+ attr_accessor resource_tags: ::Array[Types::ResourceTag]
426
+ SENSITIVE: []
427
+ end
428
+
417
429
  class NotFoundException
418
430
  attr_accessor message: ::String
419
431
  SENSITIVE: []
@@ -439,12 +451,23 @@ module Aws::Budgets
439
451
  SENSITIVE: []
440
452
  end
441
453
 
454
+ class ResourceTag
455
+ attr_accessor key: ::String
456
+ attr_accessor value: ::String
457
+ SENSITIVE: []
458
+ end
459
+
442
460
  class ScpActionDefinition
443
461
  attr_accessor policy_id: ::String
444
462
  attr_accessor target_ids: ::Array[::String]
445
463
  SENSITIVE: []
446
464
  end
447
465
 
466
+ class ServiceQuotaExceededException
467
+ attr_accessor message: ::String
468
+ SENSITIVE: []
469
+ end
470
+
448
471
  class Spend
449
472
  attr_accessor amount: ::String
450
473
  attr_accessor unit: ::String
@@ -464,6 +487,15 @@ module Aws::Budgets
464
487
  SENSITIVE: [:address]
465
488
  end
466
489
 
490
+ class TagResourceRequest
491
+ attr_accessor resource_arn: ::String
492
+ attr_accessor resource_tags: ::Array[Types::ResourceTag]
493
+ SENSITIVE: []
494
+ end
495
+
496
+ class TagResourceResponse < Aws::EmptyStructure
497
+ end
498
+
467
499
  class ThrottlingException
468
500
  attr_accessor message: ::String
469
501
  SENSITIVE: []
@@ -475,6 +507,15 @@ module Aws::Budgets
475
507
  SENSITIVE: []
476
508
  end
477
509
 
510
+ class UntagResourceRequest
511
+ attr_accessor resource_arn: ::String
512
+ attr_accessor resource_tag_keys: ::Array[::String]
513
+ SENSITIVE: []
514
+ end
515
+
516
+ class UntagResourceResponse < Aws::EmptyStructure
517
+ end
518
+
478
519
  class UpdateBudgetActionRequest
479
520
  attr_accessor account_id: ::String
480
521
  attr_accessor budget_name: ::String
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.63.0
4
+ version: 1.65.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: 2024-01-26 00:00:00.000000000 Z
11
+ date: 2024-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.191.0
22
+ version: 3.193.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.191.0
32
+ version: 3.193.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement