aws-sdk-resourcegroupstaggingapi 1.13.0 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  #