aws-sdk-budgets 1.64.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: 45159cd4febc6931be44705db50b4e21813be15520d5c9bdd7feb5020091f2e8
4
- data.tar.gz: ae6c0b5f810836beab9e19799ee88327f6ba1a43f6cfd538d18cef184874b943
3
+ metadata.gz: 3d6441966e44e47b4b662a3d6c3b9050db9829449d4f997e0d301b453444c7f9
4
+ data.tar.gz: c232e70d553e109e006358ab61096958f01ce6bd4d4c3194ceca16abd24cd4f2
5
5
  SHA512:
6
- metadata.gz: b3e00f083af65297e4834e3f24af12166cfcd1f43f7a0fa4b1a0b53ae5a5574bc8c8950194f57841fa593a8ccf386f313214ecc69c409e8fc2eb936928cceeb9
7
- data.tar.gz: 22dd5a599e202ebffcd7019638245b79774130c9ef0520d269c271f60fdebda525cb70380f0c9d5e10a733b954a6201db173eee9cf9986c1c7fb255994e36e4f
6
+ metadata.gz: 6288931f5168945539137709e93bb04d9566cf095b8e3f2aa615956843c11b206a3b993067b01017b2f6d7a16c2a0d5a224056b5c6ac8b703bba8c6ef7b115e2
7
+ data.tar.gz: e33c090298e44edf217d0cd7b6c79bc35a00792aeeef7c40dd6f8f31d4b7f0e853f00d18dbf4282df05421f93bd63e62a101e2296a4e7967d974ac6d0dd31f7b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
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
+
4
9
  1.64.0 (2024-04-25)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.64.0
1
+ 1.65.0
@@ -446,6 +446,11 @@ module Aws::Budgets
446
446
  # notifications and subscribers in your `CreateBudget` call, Amazon Web
447
447
  # Services creates the notifications and subscribers for you.
448
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
+ #
449
454
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
450
455
  #
451
456
  # @example Request syntax with placeholder values
@@ -523,6 +528,12 @@ module Aws::Budgets
523
528
  # ],
524
529
  # },
525
530
  # ],
531
+ # resource_tags: [
532
+ # {
533
+ # key: "ResourceTagKey", # required
534
+ # value: "ResourceTagValue", # required
535
+ # },
536
+ # ],
526
537
  # })
527
538
  #
528
539
  # @overload create_budget(params = {})
@@ -565,6 +576,11 @@ module Aws::Budgets
565
576
  # @option params [required, Array<Types::Subscriber>] :subscribers
566
577
  # A list of subscribers.
567
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
+ #
568
584
  # @return [Types::CreateBudgetActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
569
585
  #
570
586
  # * {Types::CreateBudgetActionResponse#account_id #account_id} => String
@@ -607,6 +623,12 @@ module Aws::Budgets
607
623
  # address: "SubscriberAddress", # required
608
624
  # },
609
625
  # ],
626
+ # resource_tags: [
627
+ # {
628
+ # key: "ResourceTagKey", # required
629
+ # value: "ResourceTagValue", # required
630
+ # },
631
+ # ],
610
632
  # })
611
633
  #
612
634
  # @example Response structure
@@ -1605,6 +1627,87 @@ module Aws::Budgets
1605
1627
  req.send_request(options)
1606
1628
  end
1607
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
+
1608
1711
  # Updates a budget. You can change every part of a budget except for the
1609
1712
  # `budgetName` and the `calculatedSpend`. When you modify a budget, the
1610
1713
  # `calculatedSpend` drops to zero until Amazon Web Services has new
@@ -1943,7 +2046,7 @@ module Aws::Budgets
1943
2046
  params: params,
1944
2047
  config: config)
1945
2048
  context[:gem_name] = 'aws-sdk-budgets'
1946
- context[:gem_version] = '1.64.0'
2049
+ context[:gem_version] = '1.65.0'
1947
2050
  Seahorse::Client::Request.new(handlers, context)
1948
2051
  end
1949
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.64.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.64.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-04-25 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