aws-sdk-resourcegroupstaggingapi 1.87.0 → 1.88.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: d17ccd40a36bb34c5cb229431f62995303a70d1dd14567c4cb5a5ee521461c3f
4
- data.tar.gz: 3526b3c654fbb4fd8e06a23e54f5ef6227ab17f753de063bfbdc27f9c13c8dc9
3
+ metadata.gz: 9d3fe5e0513f2256dceda63d4540c4a307cea463809285038481ef73d0342d5e
4
+ data.tar.gz: 25373adf324768419a313dc36ad6c8f484602af33057da5ed26ec5b2c80d2ba9
5
5
  SHA512:
6
- metadata.gz: 83e1a997a8f0aa102d6da7bd8a2bd8ca1a86f1da1569015e064835a82fbae9dcac3a445c1b3b9724ad7fbef2573f4646e4ca4a16af7c0ff8b9335d2ea063fcaf
7
- data.tar.gz: 101b5e48ad376a2370675ab97a9c3c576ce0dd627ada33f7c6e67cede7d5f63d526dbca764e89ed90840f93503c72409298168bb4f90bee8abfebd3def05ed7e
6
+ metadata.gz: 8e665a128acb3052fc2667594f40c65a651121f8115bac176b6ab7c078583a509b843251e550439fe9991a88c7e506b64964c111d020274722fd0158284437c1
7
+ data.tar.gz: 97db04b722aa92d22fdbc0e350e73085ef2e81bb9c60b52221d990382d9a457d8c41bf5cf4cbe73ece531302b1668ca2b9281035d64d2e0f0bf31c4b235e9149
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.88.0 (2025-11-18)
5
+ ------------------
6
+
7
+ * Feature - Add support for new ListRequiredTags API used to retrieve the required tags specified in a customer's effective tag policy.
8
+
4
9
  1.87.0 (2025-10-31)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.87.0
1
+ 1.88.0
@@ -562,6 +562,17 @@ module Aws::ResourceGroupsTaggingAPI
562
562
  # * For more information about ARNs, see [Amazon Resource Names (ARNs)
563
563
  # and Amazon Web Services Service Namespaces][3].
564
564
  #
565
+ # <note markdown="1"> For the list of services whose resources you can tag using the
566
+ # Resource Groups Tagging API, see [Services that support the Resource
567
+ # Groups Tagging API][4]. If an Amazon Web Services service isn't
568
+ # listed on that page, you might still be able to tag that service's
569
+ # resources by using that service's native tagging operations instead
570
+ # of using Resource Groups Tagging API operations. All tagged resources,
571
+ # whether the tagging used the Resource Groups Tagging API or not, are
572
+ # returned by the `Get*` operation.
573
+ #
574
+ # </note>
575
+ #
565
576
  # You can specify multiple resource types by using a comma separated
566
577
  # array. The array can include up to 100 items. Note that the length
567
578
  # constraint requirement applies to each resource type filter.
@@ -571,6 +582,7 @@ module Aws::ResourceGroupsTaggingAPI
571
582
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
572
583
  # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax
573
584
  # [3]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
585
+ # [4]: https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html
574
586
  #
575
587
  # @option params [Array<String>] :tag_key_filters
576
588
  # Specifies that you want the response to include information for only
@@ -655,9 +667,19 @@ module Aws::ResourceGroupsTaggingAPI
655
667
  # `null` value. A null value for `PaginationToken` indicates that there
656
668
  # are no more results waiting to be returned.
657
669
  #
670
+ # <note markdown="1"> `GetResources` does not return untagged resources.
671
+ #
672
+ # To find untagged resources in your account, use Amazon Web Services
673
+ # Resource Explorer with a query that uses `tag:none`. For more
674
+ # information, see [ Search query syntax reference for Resource
675
+ # Explorer][2].
676
+ #
677
+ # </note>
678
+ #
658
679
  #
659
680
  #
660
681
  # [1]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html
682
+ # [2]: https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html
661
683
  #
662
684
  # @option params [String] :pagination_token
663
685
  # Specifies a `PaginationToken` response value from a previous request
@@ -671,12 +693,16 @@ module Aws::ResourceGroupsTaggingAPI
671
693
  # a key with values optional. A request can include up to 50 keys, and
672
694
  # each key can include up to 20 values.
673
695
  #
696
+ # You can't specify both this parameter and the `ResourceArnList`
697
+ # parameter in the same request. If you do, you get an `Invalid
698
+ # Parameter` exception.
699
+ #
674
700
  # Note the following when deciding how to use TagFilters:
675
701
  #
676
702
  # * If you *don't* specify a `TagFilter`, the response includes all
677
703
  # resources that are currently tagged or ever had a tag. Resources
678
- # that currently don't have tags are shown with an empty tag set,
679
- # like this: `"Tags": []`.
704
+ # that were previously tagged, *but do not currently* have tags, are
705
+ # shown with an empty tag set, like this: `"Tags": []`.
680
706
  #
681
707
  # * If you specify more than one filter in a single request, the
682
708
  # response returns only those resources that satisfy all filters.
@@ -688,8 +714,8 @@ module Aws::ResourceGroupsTaggingAPI
688
714
  # * If you don't specify a value for a key, the response returns all
689
715
  # resources that are tagged with that key, with any or no value.
690
716
  #
691
- # For example, for the following filters: `filter1= {keyA,{value1}}`,
692
- # `filter2={keyB,{value2,value3,value4}}`, `filter3= {keyC}`:
717
+ # For example, for the following filters: `filter1= {key1,{value1}}`,
718
+ # `filter2={key2,{value2,value3,value4}}`, `filter3= {key3}`:
693
719
  #
694
720
  # * `GetResources({filter1})` returns resources tagged with
695
721
  # `key1=value1`
@@ -736,14 +762,27 @@ module Aws::ResourceGroupsTaggingAPI
736
762
  # @option params [Array<String>] :resource_type_filters
737
763
  # Specifies the resource types that you want included in the response.
738
764
  # The format of each resource type is `service[:resourceType]`. For
739
- # example, specifying a resource type of `ec2` returns all Amazon EC2
765
+ # example, specifying a service of `ec2` returns all Amazon EC2
740
766
  # resources (which includes EC2 instances). Specifying a resource type
741
767
  # of `ec2:instance` returns only EC2 instances.
742
768
  #
769
+ # You can't specify both this parameter and the `ResourceArnList`
770
+ # parameter in the same request. If you do, you get an `Invalid
771
+ # Parameter` exception.
772
+ #
743
773
  # The string for each service name and resource type is the same as that
744
- # embedded in a resource's Amazon Resource Name (ARN). For the list of
745
- # services whose resources you can use in this parameter, see [Services
746
- # that support the Resource Groups Tagging API][1].
774
+ # embedded in a resource's Amazon Resource Name (ARN).
775
+ #
776
+ # <note markdown="1"> For the list of services whose resources you can tag using the
777
+ # Resource Groups Tagging API, see [Services that support the Resource
778
+ # Groups Tagging API][1]. If an Amazon Web Services service isn't
779
+ # listed on that page, you might still be able to tag that service's
780
+ # resources by using that service's native tagging operations instead
781
+ # of using Resource Groups Tagging API operations. All tagged resources,
782
+ # whether the tagging used the Resource Groups Tagging API or not, are
783
+ # returned by the `Get*` operation.
784
+ #
785
+ # </note>
747
786
  #
748
787
  # You can specify multiple resource types by using an array. The array
749
788
  # can include up to 100 items. Note that the length constraint
@@ -772,10 +811,19 @@ module Aws::ResourceGroupsTaggingAPI
772
811
  #
773
812
  # @option params [Array<String>] :resource_arn_list
774
813
  # Specifies a list of ARNs of resources for which you want to retrieve
775
- # tag data. You can't specify both this parameter and any of the
776
- # pagination parameters (`ResourcesPerPage`, `TagsPerPage`,
777
- # `PaginationToken`) in the same request. If you specify both, you get
778
- # an `Invalid Parameter` exception.
814
+ # tag data.
815
+ #
816
+ # You can't specify both this parameter and the `ResourceTypeFilters`
817
+ # parameter in the same request. If you do, you get an `Invalid
818
+ # Parameter` exception.
819
+ #
820
+ # You can't specify both this parameter and the `TagFilters` parameter
821
+ # in the same request. If you do, you get an `Invalid Parameter`
822
+ # exception.
823
+ #
824
+ # You can't specify both this parameter and any of the pagination
825
+ # parameters (`ResourcesPerPage`, `TagsPerPage`, `PaginationToken`) in
826
+ # the same request. If you do, you get an `Invalid Parameter` exception.
779
827
  #
780
828
  # If a resource specified by this parameter doesn't exist, it doesn't
781
829
  # generate an error; it simply isn't included in the response.
@@ -930,6 +978,52 @@ module Aws::ResourceGroupsTaggingAPI
930
978
  req.send_request(options)
931
979
  end
932
980
 
981
+ # Lists the required tags for supported resource types in an Amazon Web
982
+ # Services account.
983
+ #
984
+ # @option params [String] :next_token
985
+ # A token for requesting another page of required tags if the
986
+ # `NextToken` response element indicates that more required tags are
987
+ # available. Use the value of the returned `NextToken` element in your
988
+ # request until the token comes back as null. Pass null if this is the
989
+ # first call.
990
+ #
991
+ # @option params [Integer] :max_results
992
+ # The maximum number of required tags.
993
+ #
994
+ # @return [Types::ListRequiredTagsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
995
+ #
996
+ # * {Types::ListRequiredTagsOutput#required_tags #required_tags} => Array&lt;Types::RequiredTag&gt;
997
+ # * {Types::ListRequiredTagsOutput#next_token #next_token} => String
998
+ #
999
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1000
+ #
1001
+ # @example Request syntax with placeholder values
1002
+ #
1003
+ # resp = client.list_required_tags({
1004
+ # next_token: "PaginationToken",
1005
+ # max_results: 1,
1006
+ # })
1007
+ #
1008
+ # @example Response structure
1009
+ #
1010
+ # resp.required_tags #=> Array
1011
+ # resp.required_tags[0].resource_type #=> String
1012
+ # resp.required_tags[0].cloud_formation_resource_types #=> Array
1013
+ # resp.required_tags[0].cloud_formation_resource_types[0] #=> String
1014
+ # resp.required_tags[0].reporting_tag_keys #=> Array
1015
+ # resp.required_tags[0].reporting_tag_keys[0] #=> String
1016
+ # resp.next_token #=> String
1017
+ #
1018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ListRequiredTags AWS API Documentation
1019
+ #
1020
+ # @overload list_required_tags(params = {})
1021
+ # @param [Hash] params ({})
1022
+ def list_required_tags(params = {}, options = {})
1023
+ req = build_request(:list_required_tags, params)
1024
+ req.send_request(options)
1025
+ end
1026
+
933
1027
  # Generates a report that lists all tagged resources in the accounts
934
1028
  # across your organization and tells whether each resource is compliant
935
1029
  # with the effective tag policy. Compliance data is refreshed daily. The
@@ -937,19 +1031,36 @@ module Aws::ResourceGroupsTaggingAPI
937
1031
  #
938
1032
  # The generated report is saved to the following location:
939
1033
  #
940
- # `s3://example-bucket/AwsTagPolicies/o-exampleorgid/YYYY-MM-ddTHH:mm:ssZ/report.csv`
1034
+ # `s3://amzn-s3-demo-bucket/AwsTagPolicies/o-exampleorgid/YYYY-MM-ddTHH:mm:ssZ/report.csv`
1035
+ #
1036
+ # For more information about evaluating resource compliance with tag
1037
+ # policies, including the required permissions, review [Permissions for
1038
+ # evaluating organization-wide compliance][1] in the *Tagging Amazon Web
1039
+ # Services Resources and Tag Editor* user guide.
941
1040
  #
942
1041
  # You can call this operation only from the organization's management
943
1042
  # account and from the us-east-1 Region.
944
1043
  #
1044
+ # If the account associated with the identity used to call
1045
+ # `StartReportCreation` is different from the account that owns the
1046
+ # Amazon S3 bucket, there must be a bucket policy attached to the bucket
1047
+ # to provide access. For more information, review [Amazon S3 bucket
1048
+ # policy for report storage][2] in the *Tagging Amazon Web Services
1049
+ # Resources and Tag Editor* user guide.
1050
+ #
1051
+ #
1052
+ #
1053
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/tag-policies-orgs.html#tag-policies-permissions-org
1054
+ # [2]: https://docs.aws.amazon.com/tag-editor/latest/userguide/tag-policies-orgs.html#bucket-policy
1055
+ #
945
1056
  # @option params [required, String] :s3_bucket
946
1057
  # The name of the Amazon S3 bucket where the report will be stored; for
947
1058
  # example:
948
1059
  #
949
- # `awsexamplebucket`
1060
+ # `amzn-s3-demo-bucket`
950
1061
  #
951
1062
  # For more information on S3 bucket requirements, including an example
952
- # bucket policy, see the example S3 bucket policy on this page.
1063
+ # bucket policy, see the example Amazon S3 bucket policy on this page.
953
1064
  #
954
1065
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
955
1066
  #
@@ -990,6 +1101,15 @@ module Aws::ResourceGroupsTaggingAPI
990
1101
  # adding tags. For more information, see the documentation for each
991
1102
  # service.
992
1103
  #
1104
+ # * When you use the [Amazon Web Services Resource Groups Tagging
1105
+ # API][3] to update tags for Amazon Web Services CloudFormation stack
1106
+ # sets, Amazon Web Services calls the [Amazon Web Services
1107
+ # CloudFormation `UpdateStack` ][4] operation. This operation may
1108
+ # initiate additional resource property updates in addition to the
1109
+ # desired tag updates. To avoid unexpected resource updates, Amazon
1110
+ # Web Services recommends that you only apply or update tags to your
1111
+ # CloudFormation stack sets using Amazon Web Services CloudFormation.
1112
+ #
993
1113
  # Do not store personally identifiable information (PII) or other
994
1114
  # confidential or sensitive information in tags. We use tags to provide
995
1115
  # you with billing and administration services. Tags are not intended to
@@ -1003,14 +1123,24 @@ module Aws::ResourceGroupsTaggingAPI
1003
1123
  # instance using the `TagResources` operation, you must have both of the
1004
1124
  # following permissions:
1005
1125
  #
1006
- # * `tag:TagResource`
1126
+ # * `tag:TagResources`
1007
1127
  #
1008
1128
  # * `ec2:CreateTags`
1009
1129
  #
1130
+ # <note markdown="1"> In addition, some services might have specific requirements for
1131
+ # tagging some types of resources. For example, to tag an Amazon S3
1132
+ # bucket, you must also have the `s3:GetBucketTagging` permission. If
1133
+ # the expected minimum permissions don't work, check the documentation
1134
+ # for that service's tagging APIs for more information.
1135
+ #
1136
+ # </note>
1137
+ #
1010
1138
  #
1011
1139
  #
1012
1140
  # [1]: https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html
1013
1141
  # [2]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions
1142
+ # [3]: https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/overview.html
1143
+ # [4]: https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html
1014
1144
  #
1015
1145
  # @option params [required, Array<String>] :resource_arn_list
1016
1146
  # Specifies the list of ARNs of the resources that you want to apply
@@ -1078,10 +1208,18 @@ module Aws::ResourceGroupsTaggingAPI
1078
1208
  # from an Amazon EC2 instance using the `UntagResources` operation, you
1079
1209
  # must have both of the following permissions:
1080
1210
  #
1081
- # * `tag:UntagResource`
1211
+ # * `tag:UntagResources`
1082
1212
  #
1083
1213
  # * `ec2:DeleteTags`
1084
1214
  #
1215
+ # <note markdown="1"> In addition, some services might have specific requirements for
1216
+ # untagging some types of resources. For example, to untag Amazon Web
1217
+ # Services Glue Connection, you must also have the `glue:GetConnection`
1218
+ # permission. If the expected minimum permissions don't work, check the
1219
+ # documentation for that service's tagging APIs for more information.
1220
+ #
1221
+ # </note>
1222
+ #
1085
1223
  # @option params [required, Array<String>] :resource_arn_list
1086
1224
  # Specifies a list of ARNs of the resources that you want to remove tags
1087
1225
  # from.
@@ -1143,7 +1281,7 @@ module Aws::ResourceGroupsTaggingAPI
1143
1281
  tracer: tracer
1144
1282
  )
1145
1283
  context[:gem_name] = 'aws-sdk-resourcegroupstaggingapi'
1146
- context[:gem_version] = '1.87.0'
1284
+ context[:gem_version] = '1.88.0'
1147
1285
  Seahorse::Client::Request.new(handlers, context)
1148
1286
  end
1149
1287
 
@@ -15,6 +15,8 @@ module Aws::ResourceGroupsTaggingAPI
15
15
  include Seahorse::Model
16
16
 
17
17
  AmazonResourceType = Shapes::StringShape.new(name: 'AmazonResourceType')
18
+ CloudFormationResourceType = Shapes::StringShape.new(name: 'CloudFormationResourceType')
19
+ CloudFormationResourceTypes = Shapes::ListShape.new(name: 'CloudFormationResourceTypes')
18
20
  ComplianceDetails = Shapes::StructureShape.new(name: 'ComplianceDetails')
19
21
  ComplianceStatus = Shapes::BooleanShape.new(name: 'ComplianceStatus')
20
22
  ConcurrentModificationException = Shapes::StructureShape.new(name: 'ConcurrentModificationException')
@@ -41,17 +43,24 @@ module Aws::ResourceGroupsTaggingAPI
41
43
  InternalServiceException = Shapes::StructureShape.new(name: 'InternalServiceException')
42
44
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
43
45
  LastUpdated = Shapes::StringShape.new(name: 'LastUpdated')
46
+ ListRequiredTagsInput = Shapes::StructureShape.new(name: 'ListRequiredTagsInput')
47
+ ListRequiredTagsOutput = Shapes::StructureShape.new(name: 'ListRequiredTagsOutput')
48
+ MaxResultsForListRequiredTags = Shapes::IntegerShape.new(name: 'MaxResultsForListRequiredTags')
44
49
  MaxResultsGetComplianceSummary = Shapes::IntegerShape.new(name: 'MaxResultsGetComplianceSummary')
45
50
  NonCompliantResources = Shapes::IntegerShape.new(name: 'NonCompliantResources')
46
51
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
47
52
  PaginationTokenExpiredException = Shapes::StructureShape.new(name: 'PaginationTokenExpiredException')
48
53
  Region = Shapes::StringShape.new(name: 'Region')
49
54
  RegionFilterList = Shapes::ListShape.new(name: 'RegionFilterList')
55
+ ReportingTagKeys = Shapes::ListShape.new(name: 'ReportingTagKeys')
56
+ RequiredTag = Shapes::StructureShape.new(name: 'RequiredTag')
57
+ RequiredTagsForListRequiredTags = Shapes::ListShape.new(name: 'RequiredTagsForListRequiredTags')
50
58
  ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
51
59
  ResourceARNListForGet = Shapes::ListShape.new(name: 'ResourceARNListForGet')
52
60
  ResourceARNListForTagUntag = Shapes::ListShape.new(name: 'ResourceARNListForTagUntag')
53
61
  ResourceTagMapping = Shapes::StructureShape.new(name: 'ResourceTagMapping')
54
62
  ResourceTagMappingList = Shapes::ListShape.new(name: 'ResourceTagMappingList')
63
+ ResourceType = Shapes::StringShape.new(name: 'ResourceType')
55
64
  ResourceTypeFilterList = Shapes::ListShape.new(name: 'ResourceTypeFilterList')
56
65
  ResourcesPerPage = Shapes::IntegerShape.new(name: 'ResourcesPerPage')
57
66
  S3Bucket = Shapes::StringShape.new(name: 'S3Bucket')
@@ -84,6 +93,8 @@ module Aws::ResourceGroupsTaggingAPI
84
93
  UntagResourcesInput = Shapes::StructureShape.new(name: 'UntagResourcesInput')
85
94
  UntagResourcesOutput = Shapes::StructureShape.new(name: 'UntagResourcesOutput')
86
95
 
96
+ CloudFormationResourceTypes.member = Shapes::ShapeRef.new(shape: CloudFormationResourceType)
97
+
87
98
  ComplianceDetails.add_member(:noncompliant_keys, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "NoncompliantKeys"))
88
99
  ComplianceDetails.add_member(:keys_with_noncompliant_values, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "KeysWithNoncompliantValues"))
89
100
  ComplianceDetails.add_member(:compliance_status, Shapes::ShapeRef.new(shape: ComplianceStatus, location_name: "ComplianceStatus"))
@@ -160,11 +171,28 @@ module Aws::ResourceGroupsTaggingAPI
160
171
  InvalidParameterException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
161
172
  InvalidParameterException.struct_class = Types::InvalidParameterException
162
173
 
174
+ ListRequiredTagsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
175
+ ListRequiredTagsInput.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsForListRequiredTags, location_name: "MaxResults"))
176
+ ListRequiredTagsInput.struct_class = Types::ListRequiredTagsInput
177
+
178
+ ListRequiredTagsOutput.add_member(:required_tags, Shapes::ShapeRef.new(shape: RequiredTagsForListRequiredTags, location_name: "RequiredTags"))
179
+ ListRequiredTagsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
180
+ ListRequiredTagsOutput.struct_class = Types::ListRequiredTagsOutput
181
+
163
182
  PaginationTokenExpiredException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
164
183
  PaginationTokenExpiredException.struct_class = Types::PaginationTokenExpiredException
165
184
 
166
185
  RegionFilterList.member = Shapes::ShapeRef.new(shape: Region)
167
186
 
187
+ ReportingTagKeys.member = Shapes::ShapeRef.new(shape: TagKey)
188
+
189
+ RequiredTag.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
190
+ RequiredTag.add_member(:cloud_formation_resource_types, Shapes::ShapeRef.new(shape: CloudFormationResourceTypes, location_name: "CloudFormationResourceTypes"))
191
+ RequiredTag.add_member(:reporting_tag_keys, Shapes::ShapeRef.new(shape: ReportingTagKeys, location_name: "ReportingTagKeys"))
192
+ RequiredTag.struct_class = Types::RequiredTag
193
+
194
+ RequiredTagsForListRequiredTags.member = Shapes::ShapeRef.new(shape: RequiredTag)
195
+
168
196
  ResourceARNListForGet.member = Shapes::ShapeRef.new(shape: ResourceARN)
169
197
 
170
198
  ResourceARNListForTagUntag.member = Shapes::ShapeRef.new(shape: ResourceARN)
@@ -339,6 +367,24 @@ module Aws::ResourceGroupsTaggingAPI
339
367
  )
340
368
  end)
341
369
 
370
+ api.add_operation(:list_required_tags, Seahorse::Model::Operation.new.tap do |o|
371
+ o.name = "ListRequiredTags"
372
+ o.http_method = "POST"
373
+ o.http_request_uri = "/"
374
+ o.input = Shapes::ShapeRef.new(shape: ListRequiredTagsInput)
375
+ o.output = Shapes::ShapeRef.new(shape: ListRequiredTagsOutput)
376
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
377
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
378
+ o.errors << Shapes::ShapeRef.new(shape: PaginationTokenExpiredException)
379
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
380
+ o[:pager] = Aws::Pager.new(
381
+ limit_key: "max_results",
382
+ tokens: {
383
+ "next_token" => "next_token"
384
+ }
385
+ )
386
+ end)
387
+
342
388
  api.add_operation(:start_report_creation, Seahorse::Model::Operation.new.tap do |o|
343
389
  o.name = "StartReportCreation"
344
390
  o.http_method = "POST"
@@ -38,8 +38,8 @@ module Aws::ResourceGroupsTaggingAPI
38
38
  include Aws::Structure
39
39
  end
40
40
 
41
- # The target of the operation is currently being modified by a different
42
- # request. Try again later.
41
+ # The request failed because the target of the operation is currently
42
+ # being modified by a different request. Try again later.
43
43
  #
44
44
  # @!attribute [rw] message
45
45
  # @return [String]
@@ -52,15 +52,15 @@ module Aws::ResourceGroupsTaggingAPI
52
52
  include Aws::Structure
53
53
  end
54
54
 
55
- # The request was denied because performing this operation violates a
55
+ # The request failed because performing the operation would violate a
56
56
  # constraint.
57
57
  #
58
58
  # Some of the reasons in the following list might not apply to this
59
59
  # specific operation.
60
60
  #
61
61
  # * You must meet the prerequisites for using tag policies. For
62
- # information, see [Prerequisites and Permissions for Using Tag
63
- # Policies][1] in the *Organizations User Guide.*
62
+ # information, see [Prerequisites and permissions][1] in the *Tagging
63
+ # Amazon Web Services resources and Tag Editor* user guide.
64
64
  #
65
65
  # * You must enable the tag policies service principal
66
66
  # (`tagpolicies.tag.amazonaws.com`) to integrate with Organizations
@@ -71,7 +71,7 @@ module Aws::ResourceGroupsTaggingAPI
71
71
  #
72
72
  #
73
73
  #
74
- # [1]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html
74
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/tag-policies-orgs.html#tag-policies-prereqs
75
75
  # [2]: https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html
76
76
  #
77
77
  # @!attribute [rw] message
@@ -219,6 +219,17 @@ module Aws::ResourceGroupsTaggingAPI
219
219
  # * For more information about ARNs, see [Amazon Resource Names (ARNs)
220
220
  # and Amazon Web Services Service Namespaces][3].
221
221
  #
222
+ # <note markdown="1"> For the list of services whose resources you can tag using the
223
+ # Resource Groups Tagging API, see [Services that support the Resource
224
+ # Groups Tagging API][4]. If an Amazon Web Services service isn't
225
+ # listed on that page, you might still be able to tag that service's
226
+ # resources by using that service's native tagging operations instead
227
+ # of using Resource Groups Tagging API operations. All tagged
228
+ # resources, whether the tagging used the Resource Groups Tagging API
229
+ # or not, are returned by the `Get*` operation.
230
+ #
231
+ # </note>
232
+ #
222
233
  # You can specify multiple resource types by using a comma separated
223
234
  # array. The array can include up to 100 items. Note that the length
224
235
  # constraint requirement applies to each resource type filter.
@@ -228,6 +239,7 @@ module Aws::ResourceGroupsTaggingAPI
228
239
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
229
240
  # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax
230
241
  # [3]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
242
+ # [4]: https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html
231
243
  # @return [Array<String>]
232
244
  #
233
245
  # @!attribute [rw] tag_key_filters
@@ -304,12 +316,16 @@ module Aws::ResourceGroupsTaggingAPI
304
316
  # contain a key with values optional. A request can include up to 50
305
317
  # keys, and each key can include up to 20 values.
306
318
  #
319
+ # You can't specify both this parameter and the `ResourceArnList`
320
+ # parameter in the same request. If you do, you get an `Invalid
321
+ # Parameter` exception.
322
+ #
307
323
  # Note the following when deciding how to use TagFilters:
308
324
  #
309
325
  # * If you *don't* specify a `TagFilter`, the response includes all
310
326
  # resources that are currently tagged or ever had a tag. Resources
311
- # that currently don't have tags are shown with an empty tag set,
312
- # like this: `"Tags": []`.
327
+ # that were previously tagged, *but do not currently* have tags, are
328
+ # shown with an empty tag set, like this: `"Tags": []`.
313
329
  #
314
330
  # * If you specify more than one filter in a single request, the
315
331
  # response returns only those resources that satisfy all filters.
@@ -322,8 +338,8 @@ module Aws::ResourceGroupsTaggingAPI
322
338
  # resources that are tagged with that key, with any or no value.
323
339
  #
324
340
  # For example, for the following filters: `filter1=
325
- # {keyA,{value1}}`, `filter2={keyB,{value2,value3,value4}}`,
326
- # `filter3= {keyC}`:
341
+ # {key1,{value1}}`, `filter2={key2,{value2,value3,value4}}`,
342
+ # `filter3= {key3}`:
327
343
  #
328
344
  # * `GetResources({filter1})` returns resources tagged with
329
345
  # `key1=value1`
@@ -374,14 +390,27 @@ module Aws::ResourceGroupsTaggingAPI
374
390
  # @!attribute [rw] resource_type_filters
375
391
  # Specifies the resource types that you want included in the response.
376
392
  # The format of each resource type is `service[:resourceType]`. For
377
- # example, specifying a resource type of `ec2` returns all Amazon EC2
393
+ # example, specifying a service of `ec2` returns all Amazon EC2
378
394
  # resources (which includes EC2 instances). Specifying a resource type
379
395
  # of `ec2:instance` returns only EC2 instances.
380
396
  #
397
+ # You can't specify both this parameter and the `ResourceArnList`
398
+ # parameter in the same request. If you do, you get an `Invalid
399
+ # Parameter` exception.
400
+ #
381
401
  # The string for each service name and resource type is the same as
382
- # that embedded in a resource's Amazon Resource Name (ARN). For the
383
- # list of services whose resources you can use in this parameter, see
384
- # [Services that support the Resource Groups Tagging API][1].
402
+ # that embedded in a resource's Amazon Resource Name (ARN).
403
+ #
404
+ # <note markdown="1"> For the list of services whose resources you can tag using the
405
+ # Resource Groups Tagging API, see [Services that support the Resource
406
+ # Groups Tagging API][1]. If an Amazon Web Services service isn't
407
+ # listed on that page, you might still be able to tag that service's
408
+ # resources by using that service's native tagging operations instead
409
+ # of using Resource Groups Tagging API operations. All tagged
410
+ # resources, whether the tagging used the Resource Groups Tagging API
411
+ # or not, are returned by the `Get*` operation.
412
+ #
413
+ # </note>
385
414
  #
386
415
  # You can specify multiple resource types by using an array. The array
387
416
  # can include up to 100 items. Note that the length constraint
@@ -413,10 +442,20 @@ module Aws::ResourceGroupsTaggingAPI
413
442
  #
414
443
  # @!attribute [rw] resource_arn_list
415
444
  # Specifies a list of ARNs of resources for which you want to retrieve
416
- # tag data. You can't specify both this parameter and any of the
417
- # pagination parameters (`ResourcesPerPage`, `TagsPerPage`,
418
- # `PaginationToken`) in the same request. If you specify both, you get
419
- # an `Invalid Parameter` exception.
445
+ # tag data.
446
+ #
447
+ # You can't specify both this parameter and the `ResourceTypeFilters`
448
+ # parameter in the same request. If you do, you get an `Invalid
449
+ # Parameter` exception.
450
+ #
451
+ # You can't specify both this parameter and the `TagFilters`
452
+ # parameter in the same request. If you do, you get an `Invalid
453
+ # Parameter` exception.
454
+ #
455
+ # You can't specify both this parameter and any of the pagination
456
+ # parameters (`ResourcesPerPage`, `TagsPerPage`, `PaginationToken`) in
457
+ # the same request. If you do, you get an `Invalid Parameter`
458
+ # exception.
420
459
  #
421
460
  # If a resource specified by this parameter doesn't exist, it
422
461
  # doesn't generate an error; it simply isn't included in the
@@ -558,23 +597,28 @@ module Aws::ResourceGroupsTaggingAPI
558
597
  include Aws::Structure
559
598
  end
560
599
 
561
- # This error indicates one of the following:
600
+ # The request failed because of one of the following reasons:
562
601
  #
563
- # * A parameter is missing.
602
+ # * A required parameter is missing.
564
603
  #
565
- # * A malformed string was supplied for the request parameter.
604
+ # * A provided string parameter is malformed.
566
605
  #
567
- # * An out-of-range value was supplied for the request parameter.
606
+ # * An provided parameter value is out of range.
568
607
  #
569
608
  # * The target ID is invalid, unsupported, or doesn't exist.
570
609
  #
571
610
  # * You can't access the Amazon S3 bucket for report storage. For more
572
- # information, see [Additional Requirements for Organization-wide Tag
573
- # Compliance Reports][1] in the *Organizations User Guide.*
611
+ # information, see [Amazon S3 bucket policy for report storage][1] in
612
+ # the *Tagging Amazon Web Services resources and Tag Editor* user
613
+ # guide.
574
614
  #
615
+ # * The partition specified in an ARN parameter in the request doesn't
616
+ # match the partition where you invoked the operation. The partition
617
+ # is specified by the second field of the ARN.
575
618
  #
576
619
  #
577
- # [1]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report
620
+ #
621
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/tag-policies-orgs.html#bucket-policy
578
622
  #
579
623
  # @!attribute [rw] message
580
624
  # @return [String]
@@ -587,8 +631,50 @@ module Aws::ResourceGroupsTaggingAPI
587
631
  include Aws::Structure
588
632
  end
589
633
 
590
- # A `PaginationToken` is valid for a maximum of 15 minutes. Your request
591
- # was denied because the specified `PaginationToken` has expired.
634
+ # @!attribute [rw] next_token
635
+ # A token for requesting another page of required tags if the
636
+ # `NextToken` response element indicates that more required tags are
637
+ # available. Use the value of the returned `NextToken` element in your
638
+ # request until the token comes back as null. Pass null if this is the
639
+ # first call.
640
+ # @return [String]
641
+ #
642
+ # @!attribute [rw] max_results
643
+ # The maximum number of required tags.
644
+ # @return [Integer]
645
+ #
646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ListRequiredTagsInput AWS API Documentation
647
+ #
648
+ class ListRequiredTagsInput < Struct.new(
649
+ :next_token,
650
+ :max_results)
651
+ SENSITIVE = []
652
+ include Aws::Structure
653
+ end
654
+
655
+ # @!attribute [rw] required_tags
656
+ # The required tags.
657
+ # @return [Array<Types::RequiredTag>]
658
+ #
659
+ # @!attribute [rw] next_token
660
+ # A token for requesting another page of required tags if the
661
+ # `NextToken` response element indicates that more required tags are
662
+ # available. Use the value of the returned `NextToken` element in your
663
+ # request until the token comes back as null. Pass null if this is the
664
+ # first call.
665
+ # @return [String]
666
+ #
667
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ListRequiredTagsOutput AWS API Documentation
668
+ #
669
+ class ListRequiredTagsOutput < Struct.new(
670
+ :required_tags,
671
+ :next_token)
672
+ SENSITIVE = []
673
+ include Aws::Structure
674
+ end
675
+
676
+ # The request failed because the specified `PaginationToken` has
677
+ # expired. A `PaginationToken` is valid for a maximum of 15 minutes.
592
678
  #
593
679
  # @!attribute [rw] message
594
680
  # @return [String]
@@ -601,6 +687,33 @@ module Aws::ResourceGroupsTaggingAPI
601
687
  include Aws::Structure
602
688
  end
603
689
 
690
+ # Information that describes the required tags for a given resource
691
+ # type.
692
+ #
693
+ # @!attribute [rw] resource_type
694
+ # Describes the resource type for the required tag keys.
695
+ # @return [String]
696
+ #
697
+ # @!attribute [rw] cloud_formation_resource_types
698
+ # Describes the CloudFormation resource type assigned the required tag
699
+ # keys.
700
+ # @return [Array<String>]
701
+ #
702
+ # @!attribute [rw] reporting_tag_keys
703
+ # These tag keys are marked as `required` in the
704
+ # `report_required_tag_for` block of the effective tag policy.
705
+ # @return [Array<String>]
706
+ #
707
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/RequiredTag AWS API Documentation
708
+ #
709
+ class RequiredTag < Struct.new(
710
+ :resource_type,
711
+ :cloud_formation_resource_types,
712
+ :reporting_tag_keys)
713
+ SENSITIVE = []
714
+ include Aws::Structure
715
+ end
716
+
604
717
  # A list of resource ARNs and the tags (keys and values) that are
605
718
  # associated with each.
606
719
  #
@@ -633,10 +746,10 @@ module Aws::ResourceGroupsTaggingAPI
633
746
  # The name of the Amazon S3 bucket where the report will be stored;
634
747
  # for example:
635
748
  #
636
- # `awsexamplebucket`
749
+ # `amzn-s3-demo-bucket`
637
750
  #
638
751
  # For more information on S3 bucket requirements, including an example
639
- # bucket policy, see the example S3 bucket policy on this page.
752
+ # bucket policy, see the example Amazon S3 bucket policy on this page.
640
753
  # @return [String]
641
754
  #
642
755
  # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/StartReportCreationInput AWS API Documentation
@@ -794,7 +907,8 @@ module Aws::ResourceGroupsTaggingAPI
794
907
  include Aws::Structure
795
908
  end
796
909
 
797
- # The request was denied to limit the frequency of submitted requests.
910
+ # The request failed because it exceeded the allowed frequency of
911
+ # submitted requests.
798
912
  #
799
913
  # @!attribute [rw] message
800
914
  # @return [String]
@@ -54,7 +54,7 @@ module Aws::ResourceGroupsTaggingAPI
54
54
  autoload :EndpointProvider, 'aws-sdk-resourcegroupstaggingapi/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-resourcegroupstaggingapi/endpoints'
56
56
 
57
- GEM_VERSION = '1.87.0'
57
+ GEM_VERSION = '1.88.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -153,6 +153,18 @@ module Aws
153
153
  ) -> _GetTagValuesResponseSuccess
154
154
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetTagValuesResponseSuccess
155
155
 
156
+ interface _ListRequiredTagsResponseSuccess
157
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListRequiredTagsOutput]
158
+ def required_tags: () -> ::Array[Types::RequiredTag]
159
+ def next_token: () -> ::String
160
+ end
161
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ResourceGroupsTaggingAPI/Client.html#list_required_tags-instance_method
162
+ def list_required_tags: (
163
+ ?next_token: ::String,
164
+ ?max_results: ::Integer
165
+ ) -> _ListRequiredTagsResponseSuccess
166
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListRequiredTagsResponseSuccess
167
+
156
168
  interface _StartReportCreationResponseSuccess
157
169
  include ::Seahorse::Client::_ResponseSuccess[Types::StartReportCreationOutput]
158
170
  end
data/sig/types.rbs CHANGED
@@ -110,11 +110,30 @@ module Aws::ResourceGroupsTaggingAPI
110
110
  SENSITIVE: []
111
111
  end
112
112
 
113
+ class ListRequiredTagsInput
114
+ attr_accessor next_token: ::String
115
+ attr_accessor max_results: ::Integer
116
+ SENSITIVE: []
117
+ end
118
+
119
+ class ListRequiredTagsOutput
120
+ attr_accessor required_tags: ::Array[Types::RequiredTag]
121
+ attr_accessor next_token: ::String
122
+ SENSITIVE: []
123
+ end
124
+
113
125
  class PaginationTokenExpiredException
114
126
  attr_accessor message: ::String
115
127
  SENSITIVE: []
116
128
  end
117
129
 
130
+ class RequiredTag
131
+ attr_accessor resource_type: ::String
132
+ attr_accessor cloud_formation_resource_types: ::Array[::String]
133
+ attr_accessor reporting_tag_keys: ::Array[::String]
134
+ SENSITIVE: []
135
+ end
136
+
118
137
  class ResourceTagMapping
119
138
  attr_accessor resource_arn: ::String
120
139
  attr_accessor tags: ::Array[Types::Tag]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-resourcegroupstaggingapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.87.0
4
+ version: 1.88.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services