aws-sdk-budgets 1.63.0 → 1.65.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: 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