aws-sdk-resourcegroupstaggingapi 1.13.0 → 1.14.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.
@@ -12,32 +12,72 @@ module Aws::ResourceGroupsTaggingAPI
12
12
  include Seahorse::Model
13
13
 
14
14
  AmazonResourceType = Shapes::StringShape.new(name: 'AmazonResourceType')
15
+ ComplianceDetails = Shapes::StructureShape.new(name: 'ComplianceDetails')
16
+ ComplianceStatus = Shapes::BooleanShape.new(name: 'ComplianceStatus')
17
+ ConcurrentModificationException = Shapes::StructureShape.new(name: 'ConcurrentModificationException')
18
+ ConstraintViolationException = Shapes::StructureShape.new(name: 'ConstraintViolationException')
19
+ DeleteTagPolicyInput = Shapes::StructureShape.new(name: 'DeleteTagPolicyInput')
20
+ DeleteTagPolicyOutput = Shapes::StructureShape.new(name: 'DeleteTagPolicyOutput')
21
+ DescribeReportCreationInput = Shapes::StructureShape.new(name: 'DescribeReportCreationInput')
22
+ DescribeReportCreationOutput = Shapes::StructureShape.new(name: 'DescribeReportCreationOutput')
23
+ DisableTagPoliciesInput = Shapes::StructureShape.new(name: 'DisableTagPoliciesInput')
24
+ DisableTagPoliciesOutput = Shapes::StructureShape.new(name: 'DisableTagPoliciesOutput')
25
+ EnableTagPoliciesInput = Shapes::StructureShape.new(name: 'EnableTagPoliciesInput')
26
+ EnableTagPoliciesOutput = Shapes::StructureShape.new(name: 'EnableTagPoliciesOutput')
15
27
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
16
28
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
17
29
  ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
30
+ ExcludeCompliantResources = Shapes::BooleanShape.new(name: 'ExcludeCompliantResources')
18
31
  FailedResourcesMap = Shapes::MapShape.new(name: 'FailedResourcesMap')
19
32
  FailureInfo = Shapes::StructureShape.new(name: 'FailureInfo')
33
+ GetComplianceSummaryInput = Shapes::StructureShape.new(name: 'GetComplianceSummaryInput')
34
+ GetComplianceSummaryOutput = Shapes::StructureShape.new(name: 'GetComplianceSummaryOutput')
35
+ GetEffectiveTagPolicyInput = Shapes::StructureShape.new(name: 'GetEffectiveTagPolicyInput')
36
+ GetEffectiveTagPolicyOutput = Shapes::StructureShape.new(name: 'GetEffectiveTagPolicyOutput')
20
37
  GetResourcesInput = Shapes::StructureShape.new(name: 'GetResourcesInput')
21
38
  GetResourcesOutput = Shapes::StructureShape.new(name: 'GetResourcesOutput')
22
39
  GetTagKeysInput = Shapes::StructureShape.new(name: 'GetTagKeysInput')
23
40
  GetTagKeysOutput = Shapes::StructureShape.new(name: 'GetTagKeysOutput')
41
+ GetTagPolicyInput = Shapes::StructureShape.new(name: 'GetTagPolicyInput')
42
+ GetTagPolicyOutput = Shapes::StructureShape.new(name: 'GetTagPolicyOutput')
24
43
  GetTagValuesInput = Shapes::StructureShape.new(name: 'GetTagValuesInput')
25
44
  GetTagValuesOutput = Shapes::StructureShape.new(name: 'GetTagValuesOutput')
45
+ GroupBy = Shapes::ListShape.new(name: 'GroupBy')
46
+ GroupByAttribute = Shapes::StringShape.new(name: 'GroupByAttribute')
47
+ IncludeComplianceDetails = Shapes::BooleanShape.new(name: 'IncludeComplianceDetails')
26
48
  InternalServiceException = Shapes::StructureShape.new(name: 'InternalServiceException')
27
49
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
50
+ LastUpdated = Shapes::TimestampShape.new(name: 'LastUpdated', timestampFormat: "iso8601")
51
+ MaxResultTagsDS1 = Shapes::IntegerShape.new(name: 'MaxResultTagsDS1')
52
+ MaxResultsGetComplianceSummary = Shapes::IntegerShape.new(name: 'MaxResultsGetComplianceSummary')
53
+ NonCompliantResources = Shapes::IntegerShape.new(name: 'NonCompliantResources')
28
54
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
29
55
  PaginationTokenExpiredException = Shapes::StructureShape.new(name: 'PaginationTokenExpiredException')
56
+ Policy = Shapes::StringShape.new(name: 'Policy')
57
+ PutTagPolicyInput = Shapes::StructureShape.new(name: 'PutTagPolicyInput')
58
+ PutTagPolicyOutput = Shapes::StructureShape.new(name: 'PutTagPolicyOutput')
59
+ Region = Shapes::StringShape.new(name: 'Region')
60
+ RegionFilterList = Shapes::ListShape.new(name: 'RegionFilterList')
30
61
  ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
31
62
  ResourceARNList = Shapes::ListShape.new(name: 'ResourceARNList')
32
63
  ResourceTagMapping = Shapes::StructureShape.new(name: 'ResourceTagMapping')
33
64
  ResourceTagMappingList = Shapes::ListShape.new(name: 'ResourceTagMappingList')
34
65
  ResourceTypeFilterList = Shapes::ListShape.new(name: 'ResourceTypeFilterList')
35
66
  ResourcesPerPage = Shapes::IntegerShape.new(name: 'ResourcesPerPage')
67
+ RootId = Shapes::StringShape.new(name: 'RootId')
68
+ S3Bucket = Shapes::StringShape.new(name: 'S3Bucket')
69
+ S3Location = Shapes::StringShape.new(name: 'S3Location')
70
+ StartReportCreationInput = Shapes::StructureShape.new(name: 'StartReportCreationInput')
71
+ StartReportCreationOutput = Shapes::StructureShape.new(name: 'StartReportCreationOutput')
72
+ Status = Shapes::StringShape.new(name: 'Status')
36
73
  StatusCode = Shapes::IntegerShape.new(name: 'StatusCode')
74
+ Summary = Shapes::StructureShape.new(name: 'Summary')
75
+ SummaryList = Shapes::ListShape.new(name: 'SummaryList')
37
76
  Tag = Shapes::StructureShape.new(name: 'Tag')
38
77
  TagFilter = Shapes::StructureShape.new(name: 'TagFilter')
39
78
  TagFilterList = Shapes::ListShape.new(name: 'TagFilterList')
40
79
  TagKey = Shapes::StringShape.new(name: 'TagKey')
80
+ TagKeyFilterList = Shapes::ListShape.new(name: 'TagKeyFilterList')
41
81
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
42
82
  TagKeyListForUntag = Shapes::ListShape.new(name: 'TagKeyListForUntag')
43
83
  TagList = Shapes::ListShape.new(name: 'TagList')
@@ -48,10 +88,45 @@ module Aws::ResourceGroupsTaggingAPI
48
88
  TagValueList = Shapes::ListShape.new(name: 'TagValueList')
49
89
  TagValuesOutputList = Shapes::ListShape.new(name: 'TagValuesOutputList')
50
90
  TagsPerPage = Shapes::IntegerShape.new(name: 'TagsPerPage')
91
+ TargetId = Shapes::StringShape.new(name: 'TargetId')
92
+ TargetIdFilterList = Shapes::ListShape.new(name: 'TargetIdFilterList')
51
93
  ThrottledException = Shapes::StructureShape.new(name: 'ThrottledException')
52
94
  UntagResourcesInput = Shapes::StructureShape.new(name: 'UntagResourcesInput')
53
95
  UntagResourcesOutput = Shapes::StructureShape.new(name: 'UntagResourcesOutput')
54
96
 
97
+ ComplianceDetails.add_member(:missing_keys, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "MissingKeys"))
98
+ ComplianceDetails.add_member(:invalid_keys, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "InvalidKeys"))
99
+ ComplianceDetails.add_member(:invalid_values, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "InvalidValues"))
100
+ ComplianceDetails.add_member(:compliance_status, Shapes::ShapeRef.new(shape: ComplianceStatus, location_name: "ComplianceStatus"))
101
+ ComplianceDetails.struct_class = Types::ComplianceDetails
102
+
103
+ ConcurrentModificationException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
104
+ ConcurrentModificationException.struct_class = Types::ConcurrentModificationException
105
+
106
+ ConstraintViolationException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
107
+ ConstraintViolationException.struct_class = Types::ConstraintViolationException
108
+
109
+ DeleteTagPolicyInput.add_member(:target_id, Shapes::ShapeRef.new(shape: TargetId, required: true, location_name: "TargetId"))
110
+ DeleteTagPolicyInput.struct_class = Types::DeleteTagPolicyInput
111
+
112
+ DeleteTagPolicyOutput.struct_class = Types::DeleteTagPolicyOutput
113
+
114
+ DescribeReportCreationInput.struct_class = Types::DescribeReportCreationInput
115
+
116
+ DescribeReportCreationOutput.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
117
+ DescribeReportCreationOutput.add_member(:s3_location, Shapes::ShapeRef.new(shape: S3Location, location_name: "S3Location"))
118
+ DescribeReportCreationOutput.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "ErrorMessage"))
119
+ DescribeReportCreationOutput.struct_class = Types::DescribeReportCreationOutput
120
+
121
+ DisableTagPoliciesInput.struct_class = Types::DisableTagPoliciesInput
122
+
123
+ DisableTagPoliciesOutput.struct_class = Types::DisableTagPoliciesOutput
124
+
125
+ EnableTagPoliciesInput.add_member(:root_id, Shapes::ShapeRef.new(shape: RootId, required: true, location_name: "RootId"))
126
+ EnableTagPoliciesInput.struct_class = Types::EnableTagPoliciesInput
127
+
128
+ EnableTagPoliciesOutput.struct_class = Types::EnableTagPoliciesOutput
129
+
55
130
  FailedResourcesMap.key = Shapes::ShapeRef.new(shape: ResourceARN)
56
131
  FailedResourcesMap.value = Shapes::ShapeRef.new(shape: FailureInfo)
57
132
 
@@ -60,11 +135,34 @@ module Aws::ResourceGroupsTaggingAPI
60
135
  FailureInfo.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "ErrorMessage"))
61
136
  FailureInfo.struct_class = Types::FailureInfo
62
137
 
138
+ GetComplianceSummaryInput.add_member(:target_id_filters, Shapes::ShapeRef.new(shape: TargetIdFilterList, location_name: "TargetIdFilters"))
139
+ GetComplianceSummaryInput.add_member(:region_filters, Shapes::ShapeRef.new(shape: RegionFilterList, location_name: "RegionFilters"))
140
+ GetComplianceSummaryInput.add_member(:resource_type_filters, Shapes::ShapeRef.new(shape: ResourceTypeFilterList, location_name: "ResourceTypeFilters"))
141
+ GetComplianceSummaryInput.add_member(:tag_key_filters, Shapes::ShapeRef.new(shape: TagKeyFilterList, location_name: "TagKeyFilters"))
142
+ GetComplianceSummaryInput.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupBy, location_name: "GroupBy"))
143
+ GetComplianceSummaryInput.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsGetComplianceSummary, location_name: "MaxResults"))
144
+ GetComplianceSummaryInput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
145
+ GetComplianceSummaryInput.struct_class = Types::GetComplianceSummaryInput
146
+
147
+ GetComplianceSummaryOutput.add_member(:summary_list, Shapes::ShapeRef.new(shape: SummaryList, location_name: "SummaryList"))
148
+ GetComplianceSummaryOutput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
149
+ GetComplianceSummaryOutput.struct_class = Types::GetComplianceSummaryOutput
150
+
151
+ GetEffectiveTagPolicyInput.add_member(:target_id, Shapes::ShapeRef.new(shape: TargetId, location_name: "TargetId"))
152
+ GetEffectiveTagPolicyInput.struct_class = Types::GetEffectiveTagPolicyInput
153
+
154
+ GetEffectiveTagPolicyOutput.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
155
+ GetEffectiveTagPolicyOutput.add_member(:last_updated, Shapes::ShapeRef.new(shape: LastUpdated, location_name: "LastUpdated"))
156
+ GetEffectiveTagPolicyOutput.struct_class = Types::GetEffectiveTagPolicyOutput
157
+
63
158
  GetResourcesInput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
64
159
  GetResourcesInput.add_member(:tag_filters, Shapes::ShapeRef.new(shape: TagFilterList, location_name: "TagFilters"))
65
160
  GetResourcesInput.add_member(:resources_per_page, Shapes::ShapeRef.new(shape: ResourcesPerPage, location_name: "ResourcesPerPage"))
66
161
  GetResourcesInput.add_member(:tags_per_page, Shapes::ShapeRef.new(shape: TagsPerPage, location_name: "TagsPerPage"))
67
162
  GetResourcesInput.add_member(:resource_type_filters, Shapes::ShapeRef.new(shape: ResourceTypeFilterList, location_name: "ResourceTypeFilters"))
163
+ GetResourcesInput.add_member(:include_compliance_details, Shapes::ShapeRef.new(shape: IncludeComplianceDetails, location_name: "IncludeComplianceDetails"))
164
+ GetResourcesInput.add_member(:exclude_compliant_resources, Shapes::ShapeRef.new(shape: ExcludeCompliantResources, location_name: "ExcludeCompliantResources"))
165
+ GetResourcesInput.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
68
166
  GetResourcesInput.struct_class = Types::GetResourcesInput
69
167
 
70
168
  GetResourcesOutput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
@@ -72,20 +170,31 @@ module Aws::ResourceGroupsTaggingAPI
72
170
  GetResourcesOutput.struct_class = Types::GetResourcesOutput
73
171
 
74
172
  GetTagKeysInput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
173
+ GetTagKeysInput.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultTagsDS1, location_name: "MaxResults"))
75
174
  GetTagKeysInput.struct_class = Types::GetTagKeysInput
76
175
 
77
176
  GetTagKeysOutput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
78
177
  GetTagKeysOutput.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "TagKeys"))
79
178
  GetTagKeysOutput.struct_class = Types::GetTagKeysOutput
80
179
 
180
+ GetTagPolicyInput.add_member(:target_id, Shapes::ShapeRef.new(shape: TargetId, required: true, location_name: "TargetId"))
181
+ GetTagPolicyInput.struct_class = Types::GetTagPolicyInput
182
+
183
+ GetTagPolicyOutput.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
184
+ GetTagPolicyOutput.add_member(:last_updated, Shapes::ShapeRef.new(shape: LastUpdated, location_name: "LastUpdated"))
185
+ GetTagPolicyOutput.struct_class = Types::GetTagPolicyOutput
186
+
81
187
  GetTagValuesInput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
82
188
  GetTagValuesInput.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
189
+ GetTagValuesInput.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultTagsDS1, location_name: "MaxResults"))
83
190
  GetTagValuesInput.struct_class = Types::GetTagValuesInput
84
191
 
85
192
  GetTagValuesOutput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
86
193
  GetTagValuesOutput.add_member(:tag_values, Shapes::ShapeRef.new(shape: TagValuesOutputList, location_name: "TagValues"))
87
194
  GetTagValuesOutput.struct_class = Types::GetTagValuesOutput
88
195
 
196
+ GroupBy.member = Shapes::ShapeRef.new(shape: GroupByAttribute)
197
+
89
198
  InternalServiceException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
90
199
  InternalServiceException.struct_class = Types::InternalServiceException
91
200
 
@@ -95,16 +204,39 @@ module Aws::ResourceGroupsTaggingAPI
95
204
  PaginationTokenExpiredException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
96
205
  PaginationTokenExpiredException.struct_class = Types::PaginationTokenExpiredException
97
206
 
207
+ PutTagPolicyInput.add_member(:target_id, Shapes::ShapeRef.new(shape: TargetId, required: true, location_name: "TargetId"))
208
+ PutTagPolicyInput.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
209
+ PutTagPolicyInput.struct_class = Types::PutTagPolicyInput
210
+
211
+ PutTagPolicyOutput.struct_class = Types::PutTagPolicyOutput
212
+
213
+ RegionFilterList.member = Shapes::ShapeRef.new(shape: Region)
214
+
98
215
  ResourceARNList.member = Shapes::ShapeRef.new(shape: ResourceARN)
99
216
 
100
217
  ResourceTagMapping.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ResourceARN"))
101
218
  ResourceTagMapping.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
219
+ ResourceTagMapping.add_member(:compliance_details, Shapes::ShapeRef.new(shape: ComplianceDetails, location_name: "ComplianceDetails"))
102
220
  ResourceTagMapping.struct_class = Types::ResourceTagMapping
103
221
 
104
222
  ResourceTagMappingList.member = Shapes::ShapeRef.new(shape: ResourceTagMapping)
105
223
 
106
224
  ResourceTypeFilterList.member = Shapes::ShapeRef.new(shape: AmazonResourceType)
107
225
 
226
+ StartReportCreationInput.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: S3Bucket, required: true, location_name: "S3Bucket"))
227
+ StartReportCreationInput.struct_class = Types::StartReportCreationInput
228
+
229
+ StartReportCreationOutput.struct_class = Types::StartReportCreationOutput
230
+
231
+ Summary.add_member(:last_updated, Shapes::ShapeRef.new(shape: LastUpdated, location_name: "LastUpdated"))
232
+ Summary.add_member(:target_id, Shapes::ShapeRef.new(shape: TargetId, location_name: "TargetId"))
233
+ Summary.add_member(:region, Shapes::ShapeRef.new(shape: Region, location_name: "Region"))
234
+ Summary.add_member(:resource_type, Shapes::ShapeRef.new(shape: AmazonResourceType, location_name: "ResourceType"))
235
+ Summary.add_member(:non_compliant_resources, Shapes::ShapeRef.new(shape: NonCompliantResources, location_name: "NonCompliantResources"))
236
+ Summary.struct_class = Types::Summary
237
+
238
+ SummaryList.member = Shapes::ShapeRef.new(shape: Summary)
239
+
108
240
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
109
241
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "Value"))
110
242
  Tag.struct_class = Types::Tag
@@ -115,6 +247,8 @@ module Aws::ResourceGroupsTaggingAPI
115
247
 
116
248
  TagFilterList.member = Shapes::ShapeRef.new(shape: TagFilter)
117
249
 
250
+ TagKeyFilterList.member = Shapes::ShapeRef.new(shape: TagKey)
251
+
118
252
  TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
119
253
 
120
254
  TagKeyListForUntag.member = Shapes::ShapeRef.new(shape: TagKey)
@@ -135,6 +269,8 @@ module Aws::ResourceGroupsTaggingAPI
135
269
 
136
270
  TagValuesOutputList.member = Shapes::ShapeRef.new(shape: TagValue)
137
271
 
272
+ TargetIdFilterList.member = Shapes::ShapeRef.new(shape: TargetId)
273
+
138
274
  ThrottledException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
139
275
  ThrottledException.struct_class = Types::ThrottledException
140
276
 
@@ -157,11 +293,94 @@ module Aws::ResourceGroupsTaggingAPI
157
293
  "jsonVersion" => "1.1",
158
294
  "protocol" => "json",
159
295
  "serviceFullName" => "AWS Resource Groups Tagging API",
296
+ "serviceId" => "Resource Groups Tagging API",
160
297
  "signatureVersion" => "v4",
161
298
  "targetPrefix" => "ResourceGroupsTaggingAPI_20170126",
162
299
  "uid" => "resourcegroupstaggingapi-2017-01-26",
163
300
  }
164
301
 
302
+ api.add_operation(:delete_tag_policy, Seahorse::Model::Operation.new.tap do |o|
303
+ o.name = "DeleteTagPolicy"
304
+ o.http_method = "POST"
305
+ o.http_request_uri = "/"
306
+ o.input = Shapes::ShapeRef.new(shape: DeleteTagPolicyInput)
307
+ o.output = Shapes::ShapeRef.new(shape: DeleteTagPolicyOutput)
308
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
309
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
310
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
311
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
312
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
313
+ end)
314
+
315
+ api.add_operation(:describe_report_creation, Seahorse::Model::Operation.new.tap do |o|
316
+ o.name = "DescribeReportCreation"
317
+ o.http_method = "POST"
318
+ o.http_request_uri = "/"
319
+ o.input = Shapes::ShapeRef.new(shape: DescribeReportCreationInput)
320
+ o.output = Shapes::ShapeRef.new(shape: DescribeReportCreationOutput)
321
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
322
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
323
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
324
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
325
+ end)
326
+
327
+ api.add_operation(:disable_tag_policies, Seahorse::Model::Operation.new.tap do |o|
328
+ o.name = "DisableTagPolicies"
329
+ o.http_method = "POST"
330
+ o.http_request_uri = "/"
331
+ o.input = Shapes::ShapeRef.new(shape: DisableTagPoliciesInput)
332
+ o.output = Shapes::ShapeRef.new(shape: DisableTagPoliciesOutput)
333
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
334
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
335
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
336
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
337
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
338
+ end)
339
+
340
+ api.add_operation(:enable_tag_policies, Seahorse::Model::Operation.new.tap do |o|
341
+ o.name = "EnableTagPolicies"
342
+ o.http_method = "POST"
343
+ o.http_request_uri = "/"
344
+ o.input = Shapes::ShapeRef.new(shape: EnableTagPoliciesInput)
345
+ o.output = Shapes::ShapeRef.new(shape: EnableTagPoliciesOutput)
346
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
347
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
348
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
349
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
350
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
351
+ end)
352
+
353
+ api.add_operation(:get_compliance_summary, Seahorse::Model::Operation.new.tap do |o|
354
+ o.name = "GetComplianceSummary"
355
+ o.http_method = "POST"
356
+ o.http_request_uri = "/"
357
+ o.input = Shapes::ShapeRef.new(shape: GetComplianceSummaryInput)
358
+ o.output = Shapes::ShapeRef.new(shape: GetComplianceSummaryOutput)
359
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
360
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
361
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
362
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
363
+ o[:pager] = Aws::Pager.new(
364
+ limit_key: "max_results",
365
+ tokens: {
366
+ "pagination_token" => "pagination_token"
367
+ }
368
+ )
369
+ end)
370
+
371
+ api.add_operation(:get_effective_tag_policy, Seahorse::Model::Operation.new.tap do |o|
372
+ o.name = "GetEffectiveTagPolicy"
373
+ o.http_method = "POST"
374
+ o.http_request_uri = "/"
375
+ o.input = Shapes::ShapeRef.new(shape: GetEffectiveTagPolicyInput)
376
+ o.output = Shapes::ShapeRef.new(shape: GetEffectiveTagPolicyOutput)
377
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
378
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
379
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
380
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
381
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
382
+ end)
383
+
165
384
  api.add_operation(:get_resources, Seahorse::Model::Operation.new.tap do |o|
166
385
  o.name = "GetResources"
167
386
  o.http_method = "POST"
@@ -197,6 +416,18 @@ module Aws::ResourceGroupsTaggingAPI
197
416
  )
198
417
  end)
199
418
 
419
+ api.add_operation(:get_tag_policy, Seahorse::Model::Operation.new.tap do |o|
420
+ o.name = "GetTagPolicy"
421
+ o.http_method = "POST"
422
+ o.http_request_uri = "/"
423
+ o.input = Shapes::ShapeRef.new(shape: GetTagPolicyInput)
424
+ o.output = Shapes::ShapeRef.new(shape: GetTagPolicyOutput)
425
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
426
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
427
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
428
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
429
+ end)
430
+
200
431
  api.add_operation(:get_tag_values, Seahorse::Model::Operation.new.tap do |o|
201
432
  o.name = "GetTagValues"
202
433
  o.http_method = "POST"
@@ -214,6 +445,32 @@ module Aws::ResourceGroupsTaggingAPI
214
445
  )
215
446
  end)
216
447
 
448
+ api.add_operation(:put_tag_policy, Seahorse::Model::Operation.new.tap do |o|
449
+ o.name = "PutTagPolicy"
450
+ o.http_method = "POST"
451
+ o.http_request_uri = "/"
452
+ o.input = Shapes::ShapeRef.new(shape: PutTagPolicyInput)
453
+ o.output = Shapes::ShapeRef.new(shape: PutTagPolicyOutput)
454
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
455
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
456
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
457
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
458
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
459
+ end)
460
+
461
+ api.add_operation(:start_report_creation, Seahorse::Model::Operation.new.tap do |o|
462
+ o.name = "StartReportCreation"
463
+ o.http_method = "POST"
464
+ o.http_request_uri = "/"
465
+ o.input = Shapes::ShapeRef.new(shape: StartReportCreationInput)
466
+ o.output = Shapes::ShapeRef.new(shape: StartReportCreationOutput)
467
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
468
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
469
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
470
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
471
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
472
+ end)
473
+
217
474
  api.add_operation(:tag_resources, Seahorse::Model::Operation.new.tap do |o|
218
475
  o.name = "TagResources"
219
476
  o.http_method = "POST"
@@ -10,6 +10,38 @@ module Aws::ResourceGroupsTaggingAPI
10
10
 
11
11
  extend Aws::Errors::DynamicErrors
12
12
 
13
+ class ConcurrentModificationException < ServiceError
14
+
15
+ # @param [Seahorse::Client::RequestContext] context
16
+ # @param [String] message
17
+ # @param [Aws::ResourceGroupsTaggingAPI::Types::ConcurrentModificationException] data
18
+ def initialize(context, message, data = Aws::EmptyStructure.new)
19
+ super(context, message, data)
20
+ end
21
+
22
+ # @return [String]
23
+ def message
24
+ @message || @data[:message]
25
+ end
26
+
27
+ end
28
+
29
+ class ConstraintViolationException < ServiceError
30
+
31
+ # @param [Seahorse::Client::RequestContext] context
32
+ # @param [String] message
33
+ # @param [Aws::ResourceGroupsTaggingAPI::Types::ConstraintViolationException] data
34
+ def initialize(context, message, data = Aws::EmptyStructure.new)
35
+ super(context, message, data)
36
+ end
37
+
38
+ # @return [String]
39
+ def message
40
+ @message || @data[:message]
41
+ end
42
+
43
+ end
44
+
13
45
  class InternalServiceException < ServiceError
14
46
 
15
47
  # @param [Seahorse::Client::RequestContext] context
@@ -8,6 +8,178 @@
8
8
  module Aws::ResourceGroupsTaggingAPI
9
9
  module Types
10
10
 
11
+ # Details on whether a resource is compliant with the effective tag
12
+ # policy, including information any noncompliant tag keys.
13
+ #
14
+ # @!attribute [rw] missing_keys
15
+ # A tag key that is required by the effective tag policy is missing.
16
+ # @return [Array<String>]
17
+ #
18
+ # @!attribute [rw] invalid_keys
19
+ # The tag key is noncompliant with the effective tag policy.
20
+ # @return [Array<String>]
21
+ #
22
+ # @!attribute [rw] invalid_values
23
+ # The tag value is noncompliant with the effective tag policy.
24
+ # @return [Array<String>]
25
+ #
26
+ # @!attribute [rw] compliance_status
27
+ # Whether a resource is compliant with the effective tag policy.
28
+ # @return [Boolean]
29
+ #
30
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ComplianceDetails AWS API Documentation
31
+ #
32
+ class ComplianceDetails < Struct.new(
33
+ :missing_keys,
34
+ :invalid_keys,
35
+ :invalid_values,
36
+ :compliance_status)
37
+ include Aws::Structure
38
+ end
39
+
40
+ # The target of the operation is currently being modified by a different
41
+ # request. Try again later.
42
+ #
43
+ # @!attribute [rw] message
44
+ # @return [String]
45
+ #
46
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ConcurrentModificationException AWS API Documentation
47
+ #
48
+ class ConcurrentModificationException < Struct.new(
49
+ :message)
50
+ include Aws::Structure
51
+ end
52
+
53
+ # The request was denied as performing this operation violates a
54
+ # constraint.
55
+ #
56
+ # Some of the reasons in the following list might not apply to this
57
+ # specific API or operation:
58
+ #
59
+ # * Your account must be part of an organization, and you must enable
60
+ # all features in AWS Organizations. [Set Up Permissions][1] in the
61
+ # *AWS Resource Groups User Guide.*
62
+ #
63
+ # * The previous report expired.
64
+ #
65
+ #
66
+ #
67
+ # [1]: http://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-prereqs.html#rg-permissions
68
+ #
69
+ # @!attribute [rw] message
70
+ # @return [String]
71
+ #
72
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ConstraintViolationException AWS API Documentation
73
+ #
74
+ class ConstraintViolationException < Struct.new(
75
+ :message)
76
+ include Aws::Structure
77
+ end
78
+
79
+ # @note When making an API call, you may pass DeleteTagPolicyInput
80
+ # data as a hash:
81
+ #
82
+ # {
83
+ # target_id: "TargetId", # required
84
+ # }
85
+ #
86
+ # @!attribute [rw] target_id
87
+ # The account ID or the root identifier of the organization. If you
88
+ # don't know the root ID, you can call the AWS Organizations
89
+ # [ListRoots][1] API to find it.
90
+ #
91
+ #
92
+ #
93
+ # [1]: http://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html
94
+ # @return [String]
95
+ #
96
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DeleteTagPolicyInput AWS API Documentation
97
+ #
98
+ class DeleteTagPolicyInput < Struct.new(
99
+ :target_id)
100
+ include Aws::Structure
101
+ end
102
+
103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DeleteTagPolicyOutput AWS API Documentation
104
+ #
105
+ class DeleteTagPolicyOutput < Aws::EmptyStructure; end
106
+
107
+ # @api private
108
+ #
109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DescribeReportCreationInput AWS API Documentation
110
+ #
111
+ class DescribeReportCreationInput < Aws::EmptyStructure; end
112
+
113
+ # @!attribute [rw] status
114
+ # Reports the status of the operation.
115
+ #
116
+ # The operation status can be one of the following:
117
+ #
118
+ # * `RUNNING`\: Report generation is in progress.
119
+ #
120
+ # * `SUCCEEDED`\: Report generation is complete. You can open the
121
+ # report from the Amazon S3 bucket you specified when you ran
122
+ # `StartReportGeneration`.
123
+ #
124
+ # * `FAILED`\: Report generation timed out or the Amazon S3 bucket is
125
+ # not accessible.
126
+ # @return [String]
127
+ #
128
+ # @!attribute [rw] s3_location
129
+ # The path to the Amazon S3 bucket where the report is stored.
130
+ # @return [String]
131
+ #
132
+ # @!attribute [rw] error_message
133
+ # Details of the common errors that all operations return.
134
+ # @return [String]
135
+ #
136
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DescribeReportCreationOutput AWS API Documentation
137
+ #
138
+ class DescribeReportCreationOutput < Struct.new(
139
+ :status,
140
+ :s3_location,
141
+ :error_message)
142
+ include Aws::Structure
143
+ end
144
+
145
+ # @api private
146
+ #
147
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DisableTagPoliciesInput AWS API Documentation
148
+ #
149
+ class DisableTagPoliciesInput < Aws::EmptyStructure; end
150
+
151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DisableTagPoliciesOutput AWS API Documentation
152
+ #
153
+ class DisableTagPoliciesOutput < Aws::EmptyStructure; end
154
+
155
+ # @note When making an API call, you may pass EnableTagPoliciesInput
156
+ # data as a hash:
157
+ #
158
+ # {
159
+ # root_id: "RootId", # required
160
+ # }
161
+ #
162
+ # @!attribute [rw] root_id
163
+ # The root identifier of the organization. If you don't know the root
164
+ # ID, you can call the AWS Organizations [ListRoots][1] API to find
165
+ # it.
166
+ #
167
+ #
168
+ #
169
+ # [1]: http://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html
170
+ # @return [String]
171
+ #
172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/EnableTagPoliciesInput AWS API Documentation
173
+ #
174
+ class EnableTagPoliciesInput < Struct.new(
175
+ :root_id)
176
+ include Aws::Structure
177
+ end
178
+
179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/EnableTagPoliciesOutput AWS API Documentation
180
+ #
181
+ class EnableTagPoliciesOutput < Aws::EmptyStructure; end
182
+
11
183
  # Details of the common errors that all actions return.
12
184
  #
13
185
  # @!attribute [rw] status_code
@@ -34,6 +206,152 @@ module Aws::ResourceGroupsTaggingAPI
34
206
  include Aws::Structure
35
207
  end
36
208
 
209
+ # @note When making an API call, you may pass GetComplianceSummaryInput
210
+ # data as a hash:
211
+ #
212
+ # {
213
+ # target_id_filters: ["TargetId"],
214
+ # region_filters: ["Region"],
215
+ # resource_type_filters: ["AmazonResourceType"],
216
+ # tag_key_filters: ["TagKey"],
217
+ # group_by: ["TARGET_ID"], # accepts TARGET_ID, REGION, RESOURCE_TYPE
218
+ # max_results: 1,
219
+ # pagination_token: "PaginationToken",
220
+ # }
221
+ #
222
+ # @!attribute [rw] target_id_filters
223
+ # The target identifiers (usually, specific account IDs) to limit the
224
+ # output by. If you use this parameter, the count of returned
225
+ # noncompliant resources includes only resources in the specified
226
+ # target IDs.
227
+ # @return [Array<String>]
228
+ #
229
+ # @!attribute [rw] region_filters
230
+ # A list of Regions to limit the output by. If you use this parameter,
231
+ # the count of returned noncompliant resources includes only resources
232
+ # in the specified Regions.
233
+ # @return [Array<String>]
234
+ #
235
+ # @!attribute [rw] resource_type_filters
236
+ # The constraints on the resources that you want returned. The format
237
+ # of each resource type is `service[:resourceType]`. For example,
238
+ # specifying a resource type of `ec2` returns all Amazon EC2 resources
239
+ # (which includes EC2 instances). Specifying a resource type of
240
+ # `ec2:instance` returns only EC2 instances.
241
+ #
242
+ # The string for each service name and resource type is the same as
243
+ # that embedded in a resource's Amazon Resource Name (ARN). Consult
244
+ # the *AWS General Reference* for the following:
245
+ #
246
+ # * For a list of service name strings, see [AWS Service
247
+ # Namespaces][1].
248
+ #
249
+ # * For resource type strings, see [Example ARNs][2].
250
+ #
251
+ # * For more information about ARNs, see [Amazon Resource Names (ARNs)
252
+ # and AWS Service Namespaces][3].
253
+ #
254
+ # You can specify multiple resource types by using an array. The array
255
+ # can include up to 100 items. Note that the length constraint
256
+ # requirement applies to each resource type filter.
257
+ #
258
+ #
259
+ #
260
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
261
+ # [2]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax
262
+ # [3]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
263
+ # @return [Array<String>]
264
+ #
265
+ # @!attribute [rw] tag_key_filters
266
+ # A list of tag keys to limit the output by. If you use this
267
+ # parameter, the count of returned noncompliant resources includes
268
+ # only resources that have the specified tag keys.
269
+ # @return [Array<String>]
270
+ #
271
+ # @!attribute [rw] group_by
272
+ # A list of attributes to group the counts of noncompliant resources
273
+ # by. If supplied, the counts are sorted by those attributes.
274
+ # @return [Array<String>]
275
+ #
276
+ # @!attribute [rw] max_results
277
+ # A limit that restricts the number of results that are returned per
278
+ # page.
279
+ # @return [Integer]
280
+ #
281
+ # @!attribute [rw] pagination_token
282
+ # A string that indicates that additional data is available. Leave
283
+ # this value empty for your initial request. If the response includes
284
+ # a `PaginationToken`, use that string for this value to request an
285
+ # additional page of data.
286
+ # @return [String]
287
+ #
288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetComplianceSummaryInput AWS API Documentation
289
+ #
290
+ class GetComplianceSummaryInput < Struct.new(
291
+ :target_id_filters,
292
+ :region_filters,
293
+ :resource_type_filters,
294
+ :tag_key_filters,
295
+ :group_by,
296
+ :max_results,
297
+ :pagination_token)
298
+ include Aws::Structure
299
+ end
300
+
301
+ # @!attribute [rw] summary_list
302
+ # A table that shows counts of noncompliant resources.
303
+ # @return [Array<Types::Summary>]
304
+ #
305
+ # @!attribute [rw] pagination_token
306
+ # A string that indicates that the response contains more data than
307
+ # can be returned in a single response. To receive additional data,
308
+ # specify this string for the `PaginationToken` value in a subsequent
309
+ # request.
310
+ # @return [String]
311
+ #
312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetComplianceSummaryOutput AWS API Documentation
313
+ #
314
+ class GetComplianceSummaryOutput < Struct.new(
315
+ :summary_list,
316
+ :pagination_token)
317
+ include Aws::Structure
318
+ end
319
+
320
+ # @note When making an API call, you may pass GetEffectiveTagPolicyInput
321
+ # data as a hash:
322
+ #
323
+ # {
324
+ # target_id: "TargetId",
325
+ # }
326
+ #
327
+ # @!attribute [rw] target_id
328
+ # The unique identifier of the organization root or account whose tag
329
+ # policy you want returned.
330
+ # @return [String]
331
+ #
332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetEffectiveTagPolicyInput AWS API Documentation
333
+ #
334
+ class GetEffectiveTagPolicyInput < Struct.new(
335
+ :target_id)
336
+ include Aws::Structure
337
+ end
338
+
339
+ # @!attribute [rw] policy
340
+ # The contents of the tag policy that is effective for this account.
341
+ # @return [String]
342
+ #
343
+ # @!attribute [rw] last_updated
344
+ # The last time this tag policy was updated.
345
+ # @return [Time]
346
+ #
347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetEffectiveTagPolicyOutput AWS API Documentation
348
+ #
349
+ class GetEffectiveTagPolicyOutput < Struct.new(
350
+ :policy,
351
+ :last_updated)
352
+ include Aws::Structure
353
+ end
354
+
37
355
  # @note When making an API call, you may pass GetResourcesInput
38
356
  # data as a hash:
39
357
  #
@@ -48,6 +366,9 @@ module Aws::ResourceGroupsTaggingAPI
48
366
  # resources_per_page: 1,
49
367
  # tags_per_page: 1,
50
368
  # resource_type_filters: ["AmazonResourceType"],
369
+ # include_compliance_details: false,
370
+ # exclude_compliant_resources: false,
371
+ # policy: "Policy",
51
372
  # }
52
373
  #
53
374
  # @!attribute [rw] pagination_token
@@ -58,23 +379,52 @@ module Aws::ResourceGroupsTaggingAPI
58
379
  # @return [String]
59
380
  #
60
381
  # @!attribute [rw] tag_filters
61
- # A list of tags (keys and values). A request can include up to 50
62
- # keys, and each key can include up to 20 values.
382
+ # A list of TagFilters (keys and values). Each TagFilter specified
383
+ # must contain a key with values as optional. A request can include up
384
+ # to 50 keys, and each key can include up to 20 values.
385
+ #
386
+ # Note the following when deciding how to use TagFilters:
387
+ #
388
+ # * If you *do* specify a TagFilter, the response returns only those
389
+ # resources that are currently associated with the specified tag.
63
390
  #
64
- # If you specify multiple filters connected by an AND operator in a
65
- # single request, the response returns only those resources that are
66
- # associated with every specified filter.
391
+ # * If you *don't* specify a TagFilter, the response includes all
392
+ # resources that were ever associated with tags. Resources that
393
+ # currently don't have associated tags are shown with an empty tag
394
+ # set, like this: `"Tags": []`.
67
395
  #
68
- # If you specify multiple filters connected by an OR operator in a
69
- # single request, the response returns all resources that are
70
- # associated with at least one or possibly more of the specified
71
- # filters.
396
+ # * If you specify more than one filter in a single request, the
397
+ # response returns only those resources that satisfy all specified
398
+ # filters.
399
+ #
400
+ # * If you specify a filter that contains more than one value for a
401
+ # key, the response returns resources that match any of the
402
+ # specified values for that key.
403
+ #
404
+ # * If you don't specify any values for a key, the response returns
405
+ # resources that are tagged with that key irrespective of the value.
406
+ #
407
+ # For example, for filters: `filter1 = \{key1, \{value1\}\}, filter2
408
+ # = \{key2, \{value2,value3,value4\}\} , filter3 = \{key3\}`\:
409
+ #
410
+ # * `GetResources( \{filter1\} )` returns resources tagged with
411
+ # key1=value1
412
+ #
413
+ # * `GetResources( \{filter2\} )` returns resources tagged with
414
+ # key2=value2 or key2=value3 or key2=value4
415
+ #
416
+ # * `GetResources( \{filter3\} )` returns resources tagged with any
417
+ # tag containing key3 as its tag key, irrespective of its value
418
+ #
419
+ # * `GetResources( \{filter1,filter2,filter3\} )` returns resources
420
+ # tagged with ( key1=value1) and ( key2=value2 or key2=value3 or
421
+ # key2=value4) and (key3, irrespective of the value)
72
422
  # @return [Array<Types::TagFilter>]
73
423
  #
74
424
  # @!attribute [rw] resources_per_page
75
425
  # A limit that restricts the number of resources returned by
76
426
  # GetResources in paginated output. You can set ResourcesPerPage to a
77
- # minimum of 1 item and the maximum of 50 items.
427
+ # minimum of 1 item and the maximum of 100 items.
78
428
  # @return [Integer]
79
429
  #
80
430
  # @!attribute [rw] tags_per_page
@@ -94,8 +444,6 @@ module Aws::ResourceGroupsTaggingAPI
94
444
  # resources each with its 10 tags, and the third page displaying the
95
445
  # remaining 2 resources, each with its 10 tags.
96
446
  #
97
- #
98
- #
99
447
  # You can set `TagsPerPage` to a minimum of 100 items and the maximum
100
448
  # of 500 items.
101
449
  # @return [Integer]
@@ -103,9 +451,9 @@ module Aws::ResourceGroupsTaggingAPI
103
451
  # @!attribute [rw] resource_type_filters
104
452
  # The constraints on the resources that you want returned. The format
105
453
  # of each resource type is `service[:resourceType]`. For example,
106
- # specifying a resource type of `ec2` returns all tagged Amazon EC2
107
- # resources (which includes tagged EC2 instances). Specifying a
108
- # resource type of `ec2:instance` returns only EC2 instances.
454
+ # specifying a resource type of `ec2` returns all Amazon EC2 resources
455
+ # (which includes EC2 instances). Specifying a resource type of
456
+ # `ec2:instance` returns only EC2 instances.
109
457
  #
110
458
  # The string for each service name and resource type is the same as
111
459
  # that embedded in a resource's Amazon Resource Name (ARN). Consult
@@ -119,6 +467,10 @@ module Aws::ResourceGroupsTaggingAPI
119
467
  # * For more information about ARNs, see [Amazon Resource Names (ARNs)
120
468
  # and AWS Service Namespaces][3].
121
469
  #
470
+ # You can specify multiple resource types by using an array. The array
471
+ # can include up to 100 items. Note that the length constraint
472
+ # requirement applies to each resource type filter.
473
+ #
122
474
  #
123
475
  #
124
476
  # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
@@ -126,6 +478,32 @@ module Aws::ResourceGroupsTaggingAPI
126
478
  # [3]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
127
479
  # @return [Array<String>]
128
480
  #
481
+ # @!attribute [rw] include_compliance_details
482
+ # Specifies whether to include details regarding the compliance with
483
+ # the effective tag policy. Set this to `true` to determine whether
484
+ # resources are compliant with the tag policy and to get details.
485
+ # @return [Boolean]
486
+ #
487
+ # @!attribute [rw] exclude_compliant_resources
488
+ # Specifies whether to exclude resources that are compliant with the
489
+ # tag policy. Set this to `true` if you are interested in retrieving
490
+ # information on noncompliant resources only.
491
+ #
492
+ # You can use this parameter only if the `IncludeComplianceDetails`
493
+ # parameter is also set to `true`.
494
+ # @return [Boolean]
495
+ #
496
+ # @!attribute [rw] policy
497
+ # The tag policy to check resources against for compliance. If
498
+ # supplied, the compliance check follows the specified tag policy
499
+ # instead of following the effective tag policy. Using this parameter
500
+ # to specify a tag policy is useful for testing new tag policies
501
+ # before attaching them to a target.
502
+ #
503
+ # You can only use this parameter if the `IncludeComplianceDetails`
504
+ # parameter is also set to `true`.
505
+ # @return [String]
506
+ #
129
507
  # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetResourcesInput AWS API Documentation
130
508
  #
131
509
  class GetResourcesInput < Struct.new(
@@ -133,7 +511,10 @@ module Aws::ResourceGroupsTaggingAPI
133
511
  :tag_filters,
134
512
  :resources_per_page,
135
513
  :tags_per_page,
136
- :resource_type_filters)
514
+ :resource_type_filters,
515
+ :include_compliance_details,
516
+ :exclude_compliant_resources,
517
+ :policy)
137
518
  include Aws::Structure
138
519
  end
139
520
 
@@ -162,19 +543,26 @@ module Aws::ResourceGroupsTaggingAPI
162
543
  #
163
544
  # {
164
545
  # pagination_token: "PaginationToken",
546
+ # max_results: 1,
165
547
  # }
166
548
  #
167
549
  # @!attribute [rw] pagination_token
168
550
  # A string that indicates that additional data is available. Leave
169
551
  # this value empty for your initial request. If the response includes
170
- # a PaginationToken, use that string for this value to request an
552
+ # a `PaginationToken`, use that string for this value to request an
171
553
  # additional page of data.
172
554
  # @return [String]
173
555
  #
556
+ # @!attribute [rw] max_results
557
+ # A limit that restricts the number of results that are returned per
558
+ # page.
559
+ # @return [Integer]
560
+ #
174
561
  # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagKeysInput AWS API Documentation
175
562
  #
176
563
  class GetTagKeysInput < Struct.new(
177
- :pagination_token)
564
+ :pagination_token,
565
+ :max_results)
178
566
  include Aws::Structure
179
567
  end
180
568
 
@@ -197,31 +585,78 @@ module Aws::ResourceGroupsTaggingAPI
197
585
  include Aws::Structure
198
586
  end
199
587
 
588
+ # @note When making an API call, you may pass GetTagPolicyInput
589
+ # data as a hash:
590
+ #
591
+ # {
592
+ # target_id: "TargetId", # required
593
+ # }
594
+ #
595
+ # @!attribute [rw] target_id
596
+ # The account ID or the root identifier of the organization. If you
597
+ # don't know the root ID, you can call the AWS Organizations
598
+ # [ListRoots][1] API to find it.
599
+ #
600
+ #
601
+ #
602
+ # [1]: http://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html
603
+ # @return [String]
604
+ #
605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagPolicyInput AWS API Documentation
606
+ #
607
+ class GetTagPolicyInput < Struct.new(
608
+ :target_id)
609
+ include Aws::Structure
610
+ end
611
+
612
+ # @!attribute [rw] policy
613
+ # The policy that is attached to the specified target.
614
+ # @return [String]
615
+ #
616
+ # @!attribute [rw] last_updated
617
+ # The last time this policy was updated.
618
+ # @return [Time]
619
+ #
620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagPolicyOutput AWS API Documentation
621
+ #
622
+ class GetTagPolicyOutput < Struct.new(
623
+ :policy,
624
+ :last_updated)
625
+ include Aws::Structure
626
+ end
627
+
200
628
  # @note When making an API call, you may pass GetTagValuesInput
201
629
  # data as a hash:
202
630
  #
203
631
  # {
204
632
  # pagination_token: "PaginationToken",
205
633
  # key: "TagKey", # required
634
+ # max_results: 1,
206
635
  # }
207
636
  #
208
637
  # @!attribute [rw] pagination_token
209
638
  # A string that indicates that additional data is available. Leave
210
639
  # this value empty for your initial request. If the response includes
211
- # a PaginationToken, use that string for this value to request an
640
+ # a `PaginationToken`, use that string for this value to request an
212
641
  # additional page of data.
213
642
  # @return [String]
214
643
  #
215
644
  # @!attribute [rw] key
216
645
  # The key for which you want to list all existing values in the
217
- # specified region for the AWS account.
646
+ # specified Region for the AWS account.
218
647
  # @return [String]
219
648
  #
649
+ # @!attribute [rw] max_results
650
+ # A limit that restricts the number of results that are returned per
651
+ # page.
652
+ # @return [Integer]
653
+ #
220
654
  # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagValuesInput AWS API Documentation
221
655
  #
222
656
  class GetTagValuesInput < Struct.new(
223
657
  :pagination_token,
224
- :key)
658
+ :key,
659
+ :max_results)
225
660
  include Aws::Structure
226
661
  end
227
662
 
@@ -257,8 +692,27 @@ module Aws::ResourceGroupsTaggingAPI
257
692
  include Aws::Structure
258
693
  end
259
694
 
260
- # A parameter is missing or a malformed string or invalid or
261
- # out-of-range value was supplied for the request parameter.
695
+ # This error indicates one of the following:
696
+ #
697
+ # * A parameter is missing.
698
+ #
699
+ # * A malformed string was supplied for the request parameter.
700
+ #
701
+ # * An out-of-range value was supplied for the request parameter.
702
+ #
703
+ # * The target ID is invalid, unsupported, or doesn't exist.
704
+ #
705
+ # * There is an issue with the tag policy: It exceeds the maximum size
706
+ # limit, is invalid, or doesn't use JSON syntax.
707
+ #
708
+ # * You can't access the Amazon S3 bucket for report storage. For more
709
+ # information, see [Additional Requirements for Running
710
+ # Organization-Wide Tag Compliance Report][1] in the *AWS Resource
711
+ # Groups User Guide.*
712
+ #
713
+ #
714
+ #
715
+ # [1]: http://docs.aws.amazon.com/ARG/latest/userguide/tag-policies-prereqs.html#bucket-policy-org-report
262
716
  #
263
717
  # @!attribute [rw] message
264
718
  # @return [String]
@@ -283,22 +737,133 @@ module Aws::ResourceGroupsTaggingAPI
283
737
  include Aws::Structure
284
738
  end
285
739
 
740
+ # @note When making an API call, you may pass PutTagPolicyInput
741
+ # data as a hash:
742
+ #
743
+ # {
744
+ # target_id: "TargetId", # required
745
+ # policy: "Policy", # required
746
+ # }
747
+ #
748
+ # @!attribute [rw] target_id
749
+ # The account ID or the root identifier of the organization. If you
750
+ # don't know the root ID, you can call the AWS Organizations
751
+ # [ListRoots][1] API to find it.
752
+ #
753
+ #
754
+ #
755
+ # [1]: http://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html
756
+ # @return [String]
757
+ #
758
+ # @!attribute [rw] policy
759
+ # The tag policy to attach to the target.
760
+ # @return [String]
761
+ #
762
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/PutTagPolicyInput AWS API Documentation
763
+ #
764
+ class PutTagPolicyInput < Struct.new(
765
+ :target_id,
766
+ :policy)
767
+ include Aws::Structure
768
+ end
769
+
770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/PutTagPolicyOutput AWS API Documentation
771
+ #
772
+ class PutTagPolicyOutput < Aws::EmptyStructure; end
773
+
286
774
  # A list of resource ARNs and the tags (keys and values) that are
287
775
  # associated with each.
288
776
  #
289
777
  # @!attribute [rw] resource_arn
290
- # An array of resource ARN(s).
778
+ # The ARN of the resource.
291
779
  # @return [String]
292
780
  #
293
781
  # @!attribute [rw] tags
294
782
  # The tags that have been applied to one or more AWS resources.
295
783
  # @return [Array<Types::Tag>]
296
784
  #
785
+ # @!attribute [rw] compliance_details
786
+ # Details on whether a resource is compliant with the effective tag
787
+ # policy, including information about any noncompliant tag keys.
788
+ # @return [Types::ComplianceDetails]
789
+ #
297
790
  # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ResourceTagMapping AWS API Documentation
298
791
  #
299
792
  class ResourceTagMapping < Struct.new(
300
793
  :resource_arn,
301
- :tags)
794
+ :tags,
795
+ :compliance_details)
796
+ include Aws::Structure
797
+ end
798
+
799
+ # @note When making an API call, you may pass StartReportCreationInput
800
+ # data as a hash:
801
+ #
802
+ # {
803
+ # s3_bucket: "S3Bucket", # required
804
+ # }
805
+ #
806
+ # @!attribute [rw] s3_bucket
807
+ # The name of the Amazon S3 bucket where the report will be stored.
808
+ #
809
+ # For more information on S3 bucket requirements, including an example
810
+ # bucket policy, see [Additional Requirements for Running
811
+ # Organization-Wide Tag Compliance Report][1] in the *AWS Resource
812
+ # Groups User Guide.*
813
+ #
814
+ #
815
+ #
816
+ # [1]: http://docs.aws.amazon.com/ARG/latest/userguide/tag-policies-prereqs.html#bucket-policy-org-report
817
+ # @return [String]
818
+ #
819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/StartReportCreationInput AWS API Documentation
820
+ #
821
+ class StartReportCreationInput < Struct.new(
822
+ :s3_bucket)
823
+ include Aws::Structure
824
+ end
825
+
826
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/StartReportCreationOutput AWS API Documentation
827
+ #
828
+ class StartReportCreationOutput < Aws::EmptyStructure; end
829
+
830
+ # A count of noncompliant resources.
831
+ #
832
+ # @!attribute [rw] last_updated
833
+ # The timestamp that shows when this summary was generated in this
834
+ # Region.
835
+ # @return [Time]
836
+ #
837
+ # @!attribute [rw] target_id
838
+ # The account identifier or the root identifier of the organization.
839
+ # If you don't know the root ID, you can call the AWS Organizations
840
+ # [ListRoots][1] API.
841
+ #
842
+ #
843
+ #
844
+ # [1]: http://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html
845
+ # @return [String]
846
+ #
847
+ # @!attribute [rw] region
848
+ # The AWS Region that the summary applies to.
849
+ # @return [String]
850
+ #
851
+ # @!attribute [rw] resource_type
852
+ # The resource type.
853
+ # @return [String]
854
+ #
855
+ # @!attribute [rw] non_compliant_resources
856
+ # The count of noncompliant resources.
857
+ # @return [Integer]
858
+ #
859
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/Summary AWS API Documentation
860
+ #
861
+ class Summary < Struct.new(
862
+ :last_updated,
863
+ :target_id,
864
+ :region,
865
+ :resource_type,
866
+ :non_compliant_resources)
302
867
  include Aws::Structure
303
868
  end
304
869
 
@@ -371,9 +936,9 @@ module Aws::ResourceGroupsTaggingAPI
371
936
  # @!attribute [rw] resource_arn_list
372
937
  # A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a
373
938
  # resource. You can specify a minimum of 1 and a maximum of 20 ARNs
374
- # (resources) to tag. An ARN can be set to a maximum of 1600
375
- # characters. For more information, see [Amazon Resource Names (ARNs)
376
- # and AWS Service Namespaces][1] in the *AWS General Reference*.
939
+ # (resources) to tag. For more information, see [Amazon Resource Names
940
+ # (ARNs) and AWS Service Namespaces][1] in the *AWS General
941
+ # Reference*.
377
942
  #
378
943
  #
379
944
  #
@@ -428,9 +993,9 @@ module Aws::ResourceGroupsTaggingAPI
428
993
  # @!attribute [rw] resource_arn_list
429
994
  # A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a
430
995
  # resource. You can specify a minimum of 1 and a maximum of 20 ARNs
431
- # (resources) to untag. An ARN can be set to a maximum of 1600
432
- # characters. For more information, see [Amazon Resource Names (ARNs)
433
- # and AWS Service Namespaces][1] in the *AWS General Reference*.
996
+ # (resources) to untag. For more information, see [Amazon Resource
997
+ # Names (ARNs) and AWS Service Namespaces][1] in the *AWS General
998
+ # Reference*.
434
999
  #
435
1000
  #
436
1001
  #