aws-sdk-resourcegroupstaggingapi 1.19.0 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 882c4e31a15dad6545b520b4bb802e74da3dab29
4
- data.tar.gz: 25311797275406cdf0758aa7078b69d4f8f6c3ed
3
+ metadata.gz: 071e7a74205cb31f4e5819218658772e9d7cc806
4
+ data.tar.gz: edadb343258ac30205e7d608c7998d08be61d5b2
5
5
  SHA512:
6
- metadata.gz: 4927ef75471d10e3ef6c0bd50d13a461196d45e1ba873f0605560e03a23df3ef582bd076e50bbfd749da200bf8fe3e7049b3a93c32029006753e09c528e3a07a
7
- data.tar.gz: 973567928322dd768c47840454df0211b8b10a63983a40cc610b83478414443b0291422c41ea14d0ce4d007c6e022c1d0b9acd7b3614a5c9cf8ce1952659002e
6
+ metadata.gz: 5402925dbc2d1290bea637dd0f266bb95e5bd3753169d86859acab293ef749379fa0f0d0c092600f90c51c6d7019e97a187a7ab39b6d951264274cb5ece4e1b6
7
+ data.tar.gz: 8c8713c8bc26d27309165e18af4550547d4c92460ad938d6bfdb98349c55ba16a8bab515c4db603b82b14197f4dc0606f1317389966b8f996b4363e0856161c3
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-resourcegroupstaggingapi/customizations'
42
42
  # @service
43
43
  module Aws::ResourceGroupsTaggingAPI
44
44
 
45
- GEM_VERSION = '1.19.0'
45
+ GEM_VERSION = '1.20.0'
46
46
 
47
47
  end
@@ -264,19 +264,165 @@ module Aws::ResourceGroupsTaggingAPI
264
264
 
265
265
  # @!group API Operations
266
266
 
267
+ # Describes the status of the `StartReportCreation` operation.
268
+ #
269
+ # You can call this operation only from the organization's master
270
+ # account and from the us-east-1 Region.
271
+ #
272
+ # @return [Types::DescribeReportCreationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
273
+ #
274
+ # * {Types::DescribeReportCreationOutput#status #status} => String
275
+ # * {Types::DescribeReportCreationOutput#s3_location #s3_location} => String
276
+ # * {Types::DescribeReportCreationOutput#error_message #error_message} => String
277
+ #
278
+ # @example Response structure
279
+ #
280
+ # resp.status #=> String
281
+ # resp.s3_location #=> String
282
+ # resp.error_message #=> String
283
+ #
284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DescribeReportCreation AWS API Documentation
285
+ #
286
+ # @overload describe_report_creation(params = {})
287
+ # @param [Hash] params ({})
288
+ def describe_report_creation(params = {}, options = {})
289
+ req = build_request(:describe_report_creation, params)
290
+ req.send_request(options)
291
+ end
292
+
293
+ # Returns a table that shows counts of resources that are noncompliant
294
+ # with their tag policies.
295
+ #
296
+ # For more information on tag policies, see [Tag Policies][1] in the
297
+ # *AWS Organizations User Guide.*
298
+ #
299
+ # You can call this operation only from the organization's master
300
+ # account and from the us-east-1 Region.
301
+ #
302
+ #
303
+ #
304
+ # [1]: http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html
305
+ #
306
+ # @option params [Array<String>] :target_id_filters
307
+ # The target identifiers (usually, specific account IDs) to limit the
308
+ # output by. If you use this parameter, the count of returned
309
+ # noncompliant resources includes only resources with the specified
310
+ # target IDs.
311
+ #
312
+ # @option params [Array<String>] :region_filters
313
+ # A list of Regions to limit the output by. If you use this parameter,
314
+ # the count of returned noncompliant resources includes only resources
315
+ # in the specified Regions.
316
+ #
317
+ # @option params [Array<String>] :resource_type_filters
318
+ # The constraints on the resources that you want returned. The format of
319
+ # each resource type is `service[:resourceType]`. For example,
320
+ # specifying a resource type of `ec2` returns all Amazon EC2 resources
321
+ # (which includes EC2 instances). Specifying a resource type of
322
+ # `ec2:instance` returns only EC2 instances.
323
+ #
324
+ # The string for each service name and resource type is the same as that
325
+ # embedded in a resource's Amazon Resource Name (ARN). Consult the *AWS
326
+ # General Reference* for the following:
327
+ #
328
+ # * For a list of service name strings, see [AWS Service Namespaces][1].
329
+ #
330
+ # * For resource type strings, see [Example ARNs][2].
331
+ #
332
+ # * For more information about ARNs, see [Amazon Resource Names (ARNs)
333
+ # and AWS Service Namespaces][3].
334
+ #
335
+ # You can specify multiple resource types by using an array. The array
336
+ # can include up to 100 items. Note that the length constraint
337
+ # requirement applies to each resource type filter.
338
+ #
339
+ #
340
+ #
341
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
342
+ # [2]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax
343
+ # [3]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
344
+ #
345
+ # @option params [Array<String>] :tag_key_filters
346
+ # A list of tag keys to limit the output by. If you use this parameter,
347
+ # the count of returned noncompliant resources includes only resources
348
+ # that have the specified tag keys.
349
+ #
350
+ # @option params [Array<String>] :group_by
351
+ # A list of attributes to group the counts of noncompliant resources by.
352
+ # If supplied, the counts are sorted by those attributes.
353
+ #
354
+ # @option params [Integer] :max_results
355
+ # A limit that restricts the number of results that are returned per
356
+ # page.
357
+ #
358
+ # @option params [String] :pagination_token
359
+ # A string that indicates that additional data is available. Leave this
360
+ # value empty for your initial request. If the response includes a
361
+ # `PaginationToken`, use that string for this value to request an
362
+ # additional page of data.
363
+ #
364
+ # @return [Types::GetComplianceSummaryOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
365
+ #
366
+ # * {Types::GetComplianceSummaryOutput#summary_list #summary_list} => Array&lt;Types::Summary&gt;
367
+ # * {Types::GetComplianceSummaryOutput#pagination_token #pagination_token} => String
368
+ #
369
+ # @example Request syntax with placeholder values
370
+ #
371
+ # resp = client.get_compliance_summary({
372
+ # target_id_filters: ["TargetId"],
373
+ # region_filters: ["Region"],
374
+ # resource_type_filters: ["AmazonResourceType"],
375
+ # tag_key_filters: ["TagKey"],
376
+ # group_by: ["TARGET_ID"], # accepts TARGET_ID, REGION, RESOURCE_TYPE
377
+ # max_results: 1,
378
+ # pagination_token: "PaginationToken",
379
+ # })
380
+ #
381
+ # @example Response structure
382
+ #
383
+ # resp.summary_list #=> Array
384
+ # resp.summary_list[0].last_updated #=> String
385
+ # resp.summary_list[0].target_id #=> String
386
+ # resp.summary_list[0].target_id_type #=> String, one of "ACCOUNT", "OU", "ROOT"
387
+ # resp.summary_list[0].region #=> String
388
+ # resp.summary_list[0].resource_type #=> String
389
+ # resp.summary_list[0].non_compliant_resources #=> Integer
390
+ # resp.pagination_token #=> String
391
+ #
392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetComplianceSummary AWS API Documentation
393
+ #
394
+ # @overload get_compliance_summary(params = {})
395
+ # @param [Hash] params ({})
396
+ def get_compliance_summary(params = {}, options = {})
397
+ req = build_request(:get_compliance_summary, params)
398
+ req.send_request(options)
399
+ end
400
+
267
401
  # Returns all the tagged or previously tagged resources that are located
268
- # in the specified region for the AWS account. You can optionally
269
- # specify *filters* (tags and resource types) in your request, depending
270
- # on what information you want returned. The response includes all tags
271
- # that are associated with the requested resources.
402
+ # in the specified Region for the AWS account.
403
+ #
404
+ # Depending on what information you want returned, you can also specify
405
+ # the following:
406
+ #
407
+ # * *Filters* that specify what tags and resource types you want
408
+ # returned. The response includes all tags that are associated with
409
+ # the requested resources.
410
+ #
411
+ # * Information about compliance with the account's effective tag
412
+ # policy. For more information on tag policies, see [Tag Policies][1]
413
+ # in the *AWS Organizations User Guide.*
272
414
  #
273
415
  # <note markdown="1"> You can check the `PaginationToken` response parameter to determine if
274
- # a query completed. Queries can occasionally return fewer results on a
416
+ # a query is complete. Queries occasionally return fewer results on a
275
417
  # page than allowed. The `PaginationToken` response parameter value is
276
418
  # `null` *only* when there are no more results to display.
277
419
  #
278
420
  # </note>
279
421
  #
422
+ #
423
+ #
424
+ # [1]: http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html
425
+ #
280
426
  # @option params [String] :pagination_token
281
427
  # A string that indicates that additional data is available. Leave this
282
428
  # value empty for your initial request. If the response includes a
@@ -332,6 +478,8 @@ module Aws::ResourceGroupsTaggingAPI
332
478
  # minimum of 1 item and the maximum of 100 items.
333
479
  #
334
480
  # @option params [Integer] :tags_per_page
481
+ # AWS recommends using `ResourcesPerPage` instead of this parameter.
482
+ #
335
483
  # A limit that restricts the number of tags (key and value pairs)
336
484
  # returned by GetResources in paginated output. A resource with no tags
337
485
  # is counted as having one tag (one key and value pair).
@@ -342,11 +490,10 @@ module Aws::ResourceGroupsTaggingAPI
342
490
  # its tags. Use that token in another request to get the remaining data.
343
491
  # For example, if you specify a `TagsPerPage` of `100` and the account
344
492
  # has 22 resources with 10 tags each (meaning that each resource has 10
345
- # key and value pairs), the output will consist of 3 pages, with the
346
- # first page displaying the first 10 resources, each with its 10 tags,
347
- # the second page displaying the next 10 resources each with its 10
348
- # tags, and the third page displaying the remaining 2 resources, each
349
- # with its 10 tags.
493
+ # key and value pairs), the output will consist of three pages. The
494
+ # first page displays the first 10 resources, each with its 10 tags. The
495
+ # second page displays the next 10 resources, each with its 10 tags. The
496
+ # third page displays the remaining 2 resources, each with its 10 tags.
350
497
  #
351
498
  # You can set `TagsPerPage` to a minimum of 100 items and the maximum of
352
499
  # 500 items.
@@ -379,6 +526,19 @@ module Aws::ResourceGroupsTaggingAPI
379
526
  # [2]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax
380
527
  # [3]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
381
528
  #
529
+ # @option params [Boolean] :include_compliance_details
530
+ # Specifies whether to include details regarding the compliance with the
531
+ # effective tag policy. Set this to `true` to determine whether
532
+ # resources are compliant with the tag policy and to get details.
533
+ #
534
+ # @option params [Boolean] :exclude_compliant_resources
535
+ # Specifies whether to exclude resources that are compliant with the tag
536
+ # policy. Set this to `true` if you are interested in retrieving
537
+ # information on noncompliant resources only.
538
+ #
539
+ # You can use this parameter only if the `IncludeComplianceDetails`
540
+ # parameter is also set to `true`.
541
+ #
382
542
  # @return [Types::GetResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
383
543
  #
384
544
  # * {Types::GetResourcesOutput#pagination_token #pagination_token} => String
@@ -397,6 +557,8 @@ module Aws::ResourceGroupsTaggingAPI
397
557
  # resources_per_page: 1,
398
558
  # tags_per_page: 1,
399
559
  # resource_type_filters: ["AmazonResourceType"],
560
+ # include_compliance_details: false,
561
+ # exclude_compliant_resources: false,
400
562
  # })
401
563
  #
402
564
  # @example Response structure
@@ -407,6 +569,11 @@ module Aws::ResourceGroupsTaggingAPI
407
569
  # resp.resource_tag_mapping_list[0].tags #=> Array
408
570
  # resp.resource_tag_mapping_list[0].tags[0].key #=> String
409
571
  # resp.resource_tag_mapping_list[0].tags[0].value #=> String
572
+ # resp.resource_tag_mapping_list[0].compliance_details.noncompliant_keys #=> Array
573
+ # resp.resource_tag_mapping_list[0].compliance_details.noncompliant_keys[0] #=> String
574
+ # resp.resource_tag_mapping_list[0].compliance_details.keys_with_noncompliant_values #=> Array
575
+ # resp.resource_tag_mapping_list[0].compliance_details.keys_with_noncompliant_values[0] #=> String
576
+ # resp.resource_tag_mapping_list[0].compliance_details.compliance_status #=> Boolean
410
577
  #
411
578
  # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetResources AWS API Documentation
412
579
  #
@@ -417,12 +584,12 @@ module Aws::ResourceGroupsTaggingAPI
417
584
  req.send_request(options)
418
585
  end
419
586
 
420
- # Returns all tag keys in the specified region for the AWS account.
587
+ # Returns all tag keys in the specified Region for the AWS account.
421
588
  #
422
589
  # @option params [String] :pagination_token
423
590
  # A string that indicates that additional data is available. Leave this
424
591
  # value empty for your initial request. If the response includes a
425
- # PaginationToken, use that string for this value to request an
592
+ # `PaginationToken`, use that string for this value to request an
426
593
  # additional page of data.
427
594
  #
428
595
  # @return [Types::GetTagKeysOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -451,18 +618,18 @@ module Aws::ResourceGroupsTaggingAPI
451
618
  req.send_request(options)
452
619
  end
453
620
 
454
- # Returns all tag values for the specified key in the specified region
621
+ # Returns all tag values for the specified key in the specified Region
455
622
  # for the AWS account.
456
623
  #
457
624
  # @option params [String] :pagination_token
458
625
  # A string that indicates that additional data is available. Leave this
459
626
  # value empty for your initial request. If the response includes a
460
- # PaginationToken, use that string for this value to request an
627
+ # `PaginationToken`, use that string for this value to request an
461
628
  # additional page of data.
462
629
  #
463
630
  # @option params [required, String] :key
464
631
  # The key for which you want to list all existing values in the
465
- # specified region for the AWS account.
632
+ # specified Region for the AWS account.
466
633
  #
467
634
  # @return [Types::GetTagValuesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
468
635
  #
@@ -491,29 +658,63 @@ module Aws::ResourceGroupsTaggingAPI
491
658
  req.send_request(options)
492
659
  end
493
660
 
661
+ # Generates a report that lists all tagged resources in accounts across
662
+ # your organization and tells whether each resource is compliant with
663
+ # the effective tag policy. Compliance data is refreshed daily.
664
+ #
665
+ # The generated report is saved to the following location:
666
+ #
667
+ # `s3://example-bucket/AwsTagPolicies/o-exampleorgid/YYYY-MM-ddTHH:mm:ssZ/report.csv`
668
+ #
669
+ # You can call this operation only from the organization's master
670
+ # account and from the us-east-1 Region.
671
+ #
672
+ # @option params [required, String] :s3_bucket
673
+ # The name of the Amazon S3 bucket where the report will be stored; for
674
+ # example:
675
+ #
676
+ # `awsexamplebucket`
677
+ #
678
+ # For more information on S3 bucket requirements, including an example
679
+ # bucket policy, see the example S3 bucket policy on this page.
680
+ #
681
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
682
+ #
683
+ # @example Request syntax with placeholder values
684
+ #
685
+ # resp = client.start_report_creation({
686
+ # s3_bucket: "S3Bucket", # required
687
+ # })
688
+ #
689
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/StartReportCreation AWS API Documentation
690
+ #
691
+ # @overload start_report_creation(params = {})
692
+ # @param [Hash] params ({})
693
+ def start_report_creation(params = {}, options = {})
694
+ req = build_request(:start_report_creation, params)
695
+ req.send_request(options)
696
+ end
697
+
494
698
  # Applies one or more tags to the specified resources. Note the
495
699
  # following:
496
700
  #
497
- # * Not all resources can have tags. For a list of resources that
498
- # support tagging, see [Supported Resources][1] in the *AWS Resource
499
- # Groups User Guide*.
701
+ # * Not all resources can have tags. For a list of services that support
702
+ # tagging, see [this list][1].
500
703
  #
501
704
  # * Each resource can have up to 50 tags. For other limits, see [Tag
502
- # Restrictions][2] in the *Amazon EC2 User Guide for Linux Instances*.
705
+ # Naming and Usage Conventions][2] in the *AWS General Reference.*
503
706
  #
504
- # * You can only tag resources that are located in the specified region
707
+ # * You can only tag resources that are located in the specified Region
505
708
  # for the AWS account.
506
709
  #
507
710
  # * To add tags to a resource, you need the necessary permissions for
508
711
  # the service that the resource belongs to as well as permissions for
509
- # adding tags. For more information, see [Obtaining Permissions for
510
- # Tagging][3] in the *AWS Resource Groups User Guide*.
712
+ # adding tags. For more information, see [this list][1].
511
713
  #
512
714
  #
513
715
  #
514
- # [1]: http://docs.aws.amazon.com/ARG/latest/userguide/supported-resources.html
515
- # [2]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions
516
- # [3]: http://docs.aws.amazon.com/ARG/latest/userguide/obtaining-permissions-for-tagging.html
716
+ # [1]: http://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/Welcome.html
717
+ # [2]: http://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions
517
718
  #
518
719
  # @option params [required, Array<String>] :resource_arn_list
519
720
  # A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a
@@ -566,15 +767,14 @@ module Aws::ResourceGroupsTaggingAPI
566
767
  #
567
768
  # * To remove tags from a resource, you need the necessary permissions
568
769
  # for the service that the resource belongs to as well as permissions
569
- # for removing tags. For more information, see [Obtaining Permissions
570
- # for Tagging][1] in the *AWS Resource Groups User Guide*.
770
+ # for removing tags. For more information, see [this list][1].
571
771
  #
572
- # * You can only tag resources that are located in the specified region
772
+ # * You can only tag resources that are located in the specified Region
573
773
  # for the AWS account.
574
774
  #
575
775
  #
576
776
  #
577
- # [1]: http://docs.aws.amazon.com/ARG/latest/userguide/obtaining-permissions-for-tagging.html
777
+ # [1]: http://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/Welcome.html
578
778
  #
579
779
  # @option params [required, Array<String>] :resource_arn_list
580
780
  # A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a
@@ -631,7 +831,7 @@ module Aws::ResourceGroupsTaggingAPI
631
831
  params: params,
632
832
  config: config)
633
833
  context[:gem_name] = 'aws-sdk-resourcegroupstaggingapi'
634
- context[:gem_version] = '1.19.0'
834
+ context[:gem_version] = '1.20.0'
635
835
  Seahorse::Client::Request.new(handlers, context)
636
836
  end
637
837
 
@@ -12,32 +12,57 @@ 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
+ DescribeReportCreationInput = Shapes::StructureShape.new(name: 'DescribeReportCreationInput')
20
+ DescribeReportCreationOutput = Shapes::StructureShape.new(name: 'DescribeReportCreationOutput')
15
21
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
16
22
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
17
23
  ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
24
+ ExcludeCompliantResources = Shapes::BooleanShape.new(name: 'ExcludeCompliantResources')
18
25
  FailedResourcesMap = Shapes::MapShape.new(name: 'FailedResourcesMap')
19
26
  FailureInfo = Shapes::StructureShape.new(name: 'FailureInfo')
27
+ GetComplianceSummaryInput = Shapes::StructureShape.new(name: 'GetComplianceSummaryInput')
28
+ GetComplianceSummaryOutput = Shapes::StructureShape.new(name: 'GetComplianceSummaryOutput')
20
29
  GetResourcesInput = Shapes::StructureShape.new(name: 'GetResourcesInput')
21
30
  GetResourcesOutput = Shapes::StructureShape.new(name: 'GetResourcesOutput')
22
31
  GetTagKeysInput = Shapes::StructureShape.new(name: 'GetTagKeysInput')
23
32
  GetTagKeysOutput = Shapes::StructureShape.new(name: 'GetTagKeysOutput')
24
33
  GetTagValuesInput = Shapes::StructureShape.new(name: 'GetTagValuesInput')
25
34
  GetTagValuesOutput = Shapes::StructureShape.new(name: 'GetTagValuesOutput')
35
+ GroupBy = Shapes::ListShape.new(name: 'GroupBy')
36
+ GroupByAttribute = Shapes::StringShape.new(name: 'GroupByAttribute')
37
+ IncludeComplianceDetails = Shapes::BooleanShape.new(name: 'IncludeComplianceDetails')
26
38
  InternalServiceException = Shapes::StructureShape.new(name: 'InternalServiceException')
27
39
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
40
+ LastUpdated = Shapes::StringShape.new(name: 'LastUpdated')
41
+ MaxResultsGetComplianceSummary = Shapes::IntegerShape.new(name: 'MaxResultsGetComplianceSummary')
42
+ NonCompliantResources = Shapes::IntegerShape.new(name: 'NonCompliantResources')
28
43
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
29
44
  PaginationTokenExpiredException = Shapes::StructureShape.new(name: 'PaginationTokenExpiredException')
45
+ Region = Shapes::StringShape.new(name: 'Region')
46
+ RegionFilterList = Shapes::ListShape.new(name: 'RegionFilterList')
30
47
  ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
31
48
  ResourceARNList = Shapes::ListShape.new(name: 'ResourceARNList')
32
49
  ResourceTagMapping = Shapes::StructureShape.new(name: 'ResourceTagMapping')
33
50
  ResourceTagMappingList = Shapes::ListShape.new(name: 'ResourceTagMappingList')
34
51
  ResourceTypeFilterList = Shapes::ListShape.new(name: 'ResourceTypeFilterList')
35
52
  ResourcesPerPage = Shapes::IntegerShape.new(name: 'ResourcesPerPage')
53
+ S3Bucket = Shapes::StringShape.new(name: 'S3Bucket')
54
+ S3Location = Shapes::StringShape.new(name: 'S3Location')
55
+ StartReportCreationInput = Shapes::StructureShape.new(name: 'StartReportCreationInput')
56
+ StartReportCreationOutput = Shapes::StructureShape.new(name: 'StartReportCreationOutput')
57
+ Status = Shapes::StringShape.new(name: 'Status')
36
58
  StatusCode = Shapes::IntegerShape.new(name: 'StatusCode')
59
+ Summary = Shapes::StructureShape.new(name: 'Summary')
60
+ SummaryList = Shapes::ListShape.new(name: 'SummaryList')
37
61
  Tag = Shapes::StructureShape.new(name: 'Tag')
38
62
  TagFilter = Shapes::StructureShape.new(name: 'TagFilter')
39
63
  TagFilterList = Shapes::ListShape.new(name: 'TagFilterList')
40
64
  TagKey = Shapes::StringShape.new(name: 'TagKey')
65
+ TagKeyFilterList = Shapes::ListShape.new(name: 'TagKeyFilterList')
41
66
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
42
67
  TagKeyListForUntag = Shapes::ListShape.new(name: 'TagKeyListForUntag')
43
68
  TagList = Shapes::ListShape.new(name: 'TagList')
@@ -48,10 +73,31 @@ module Aws::ResourceGroupsTaggingAPI
48
73
  TagValueList = Shapes::ListShape.new(name: 'TagValueList')
49
74
  TagValuesOutputList = Shapes::ListShape.new(name: 'TagValuesOutputList')
50
75
  TagsPerPage = Shapes::IntegerShape.new(name: 'TagsPerPage')
76
+ TargetId = Shapes::StringShape.new(name: 'TargetId')
77
+ TargetIdFilterList = Shapes::ListShape.new(name: 'TargetIdFilterList')
78
+ TargetIdType = Shapes::StringShape.new(name: 'TargetIdType')
51
79
  ThrottledException = Shapes::StructureShape.new(name: 'ThrottledException')
52
80
  UntagResourcesInput = Shapes::StructureShape.new(name: 'UntagResourcesInput')
53
81
  UntagResourcesOutput = Shapes::StructureShape.new(name: 'UntagResourcesOutput')
54
82
 
83
+ ComplianceDetails.add_member(:noncompliant_keys, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "NoncompliantKeys"))
84
+ ComplianceDetails.add_member(:keys_with_noncompliant_values, Shapes::ShapeRef.new(shape: TagKeyList, location_name: "KeysWithNoncompliantValues"))
85
+ ComplianceDetails.add_member(:compliance_status, Shapes::ShapeRef.new(shape: ComplianceStatus, location_name: "ComplianceStatus"))
86
+ ComplianceDetails.struct_class = Types::ComplianceDetails
87
+
88
+ ConcurrentModificationException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
89
+ ConcurrentModificationException.struct_class = Types::ConcurrentModificationException
90
+
91
+ ConstraintViolationException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
92
+ ConstraintViolationException.struct_class = Types::ConstraintViolationException
93
+
94
+ DescribeReportCreationInput.struct_class = Types::DescribeReportCreationInput
95
+
96
+ DescribeReportCreationOutput.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
97
+ DescribeReportCreationOutput.add_member(:s3_location, Shapes::ShapeRef.new(shape: S3Location, location_name: "S3Location"))
98
+ DescribeReportCreationOutput.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "ErrorMessage"))
99
+ DescribeReportCreationOutput.struct_class = Types::DescribeReportCreationOutput
100
+
55
101
  FailedResourcesMap.key = Shapes::ShapeRef.new(shape: ResourceARN)
56
102
  FailedResourcesMap.value = Shapes::ShapeRef.new(shape: FailureInfo)
57
103
 
@@ -60,11 +106,26 @@ module Aws::ResourceGroupsTaggingAPI
60
106
  FailureInfo.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "ErrorMessage"))
61
107
  FailureInfo.struct_class = Types::FailureInfo
62
108
 
109
+ GetComplianceSummaryInput.add_member(:target_id_filters, Shapes::ShapeRef.new(shape: TargetIdFilterList, location_name: "TargetIdFilters"))
110
+ GetComplianceSummaryInput.add_member(:region_filters, Shapes::ShapeRef.new(shape: RegionFilterList, location_name: "RegionFilters"))
111
+ GetComplianceSummaryInput.add_member(:resource_type_filters, Shapes::ShapeRef.new(shape: ResourceTypeFilterList, location_name: "ResourceTypeFilters"))
112
+ GetComplianceSummaryInput.add_member(:tag_key_filters, Shapes::ShapeRef.new(shape: TagKeyFilterList, location_name: "TagKeyFilters"))
113
+ GetComplianceSummaryInput.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupBy, location_name: "GroupBy"))
114
+ GetComplianceSummaryInput.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsGetComplianceSummary, location_name: "MaxResults"))
115
+ GetComplianceSummaryInput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
116
+ GetComplianceSummaryInput.struct_class = Types::GetComplianceSummaryInput
117
+
118
+ GetComplianceSummaryOutput.add_member(:summary_list, Shapes::ShapeRef.new(shape: SummaryList, location_name: "SummaryList"))
119
+ GetComplianceSummaryOutput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
120
+ GetComplianceSummaryOutput.struct_class = Types::GetComplianceSummaryOutput
121
+
63
122
  GetResourcesInput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
64
123
  GetResourcesInput.add_member(:tag_filters, Shapes::ShapeRef.new(shape: TagFilterList, location_name: "TagFilters"))
65
124
  GetResourcesInput.add_member(:resources_per_page, Shapes::ShapeRef.new(shape: ResourcesPerPage, location_name: "ResourcesPerPage"))
66
125
  GetResourcesInput.add_member(:tags_per_page, Shapes::ShapeRef.new(shape: TagsPerPage, location_name: "TagsPerPage"))
67
126
  GetResourcesInput.add_member(:resource_type_filters, Shapes::ShapeRef.new(shape: ResourceTypeFilterList, location_name: "ResourceTypeFilters"))
127
+ GetResourcesInput.add_member(:include_compliance_details, Shapes::ShapeRef.new(shape: IncludeComplianceDetails, location_name: "IncludeComplianceDetails"))
128
+ GetResourcesInput.add_member(:exclude_compliant_resources, Shapes::ShapeRef.new(shape: ExcludeCompliantResources, location_name: "ExcludeCompliantResources"))
68
129
  GetResourcesInput.struct_class = Types::GetResourcesInput
69
130
 
70
131
  GetResourcesOutput.add_member(:pagination_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "PaginationToken"))
@@ -86,6 +147,8 @@ module Aws::ResourceGroupsTaggingAPI
86
147
  GetTagValuesOutput.add_member(:tag_values, Shapes::ShapeRef.new(shape: TagValuesOutputList, location_name: "TagValues"))
87
148
  GetTagValuesOutput.struct_class = Types::GetTagValuesOutput
88
149
 
150
+ GroupBy.member = Shapes::ShapeRef.new(shape: GroupByAttribute)
151
+
89
152
  InternalServiceException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
90
153
  InternalServiceException.struct_class = Types::InternalServiceException
91
154
 
@@ -95,16 +158,34 @@ module Aws::ResourceGroupsTaggingAPI
95
158
  PaginationTokenExpiredException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
96
159
  PaginationTokenExpiredException.struct_class = Types::PaginationTokenExpiredException
97
160
 
161
+ RegionFilterList.member = Shapes::ShapeRef.new(shape: Region)
162
+
98
163
  ResourceARNList.member = Shapes::ShapeRef.new(shape: ResourceARN)
99
164
 
100
165
  ResourceTagMapping.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ResourceARN"))
101
166
  ResourceTagMapping.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
167
+ ResourceTagMapping.add_member(:compliance_details, Shapes::ShapeRef.new(shape: ComplianceDetails, location_name: "ComplianceDetails"))
102
168
  ResourceTagMapping.struct_class = Types::ResourceTagMapping
103
169
 
104
170
  ResourceTagMappingList.member = Shapes::ShapeRef.new(shape: ResourceTagMapping)
105
171
 
106
172
  ResourceTypeFilterList.member = Shapes::ShapeRef.new(shape: AmazonResourceType)
107
173
 
174
+ StartReportCreationInput.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: S3Bucket, required: true, location_name: "S3Bucket"))
175
+ StartReportCreationInput.struct_class = Types::StartReportCreationInput
176
+
177
+ StartReportCreationOutput.struct_class = Types::StartReportCreationOutput
178
+
179
+ Summary.add_member(:last_updated, Shapes::ShapeRef.new(shape: LastUpdated, location_name: "LastUpdated"))
180
+ Summary.add_member(:target_id, Shapes::ShapeRef.new(shape: TargetId, location_name: "TargetId"))
181
+ Summary.add_member(:target_id_type, Shapes::ShapeRef.new(shape: TargetIdType, location_name: "TargetIdType"))
182
+ Summary.add_member(:region, Shapes::ShapeRef.new(shape: Region, location_name: "Region"))
183
+ Summary.add_member(:resource_type, Shapes::ShapeRef.new(shape: AmazonResourceType, location_name: "ResourceType"))
184
+ Summary.add_member(:non_compliant_resources, Shapes::ShapeRef.new(shape: NonCompliantResources, location_name: "NonCompliantResources"))
185
+ Summary.struct_class = Types::Summary
186
+
187
+ SummaryList.member = Shapes::ShapeRef.new(shape: Summary)
188
+
108
189
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
109
190
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "Value"))
110
191
  Tag.struct_class = Types::Tag
@@ -115,6 +196,8 @@ module Aws::ResourceGroupsTaggingAPI
115
196
 
116
197
  TagFilterList.member = Shapes::ShapeRef.new(shape: TagFilter)
117
198
 
199
+ TagKeyFilterList.member = Shapes::ShapeRef.new(shape: TagKey)
200
+
118
201
  TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
119
202
 
120
203
  TagKeyListForUntag.member = Shapes::ShapeRef.new(shape: TagKey)
@@ -135,6 +218,8 @@ module Aws::ResourceGroupsTaggingAPI
135
218
 
136
219
  TagValuesOutputList.member = Shapes::ShapeRef.new(shape: TagValue)
137
220
 
221
+ TargetIdFilterList.member = Shapes::ShapeRef.new(shape: TargetId)
222
+
138
223
  ThrottledException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
139
224
  ThrottledException.struct_class = Types::ThrottledException
140
225
 
@@ -163,6 +248,36 @@ module Aws::ResourceGroupsTaggingAPI
163
248
  "uid" => "resourcegroupstaggingapi-2017-01-26",
164
249
  }
165
250
 
251
+ api.add_operation(:describe_report_creation, Seahorse::Model::Operation.new.tap do |o|
252
+ o.name = "DescribeReportCreation"
253
+ o.http_method = "POST"
254
+ o.http_request_uri = "/"
255
+ o.input = Shapes::ShapeRef.new(shape: DescribeReportCreationInput)
256
+ o.output = Shapes::ShapeRef.new(shape: DescribeReportCreationOutput)
257
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
258
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
259
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
260
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
261
+ end)
262
+
263
+ api.add_operation(:get_compliance_summary, Seahorse::Model::Operation.new.tap do |o|
264
+ o.name = "GetComplianceSummary"
265
+ o.http_method = "POST"
266
+ o.http_request_uri = "/"
267
+ o.input = Shapes::ShapeRef.new(shape: GetComplianceSummaryInput)
268
+ o.output = Shapes::ShapeRef.new(shape: GetComplianceSummaryOutput)
269
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
270
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
271
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
272
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
273
+ o[:pager] = Aws::Pager.new(
274
+ limit_key: "max_results",
275
+ tokens: {
276
+ "pagination_token" => "pagination_token"
277
+ }
278
+ )
279
+ end)
280
+
166
281
  api.add_operation(:get_resources, Seahorse::Model::Operation.new.tap do |o|
167
282
  o.name = "GetResources"
168
283
  o.http_method = "POST"
@@ -215,6 +330,19 @@ module Aws::ResourceGroupsTaggingAPI
215
330
  )
216
331
  end)
217
332
 
333
+ api.add_operation(:start_report_creation, Seahorse::Model::Operation.new.tap do |o|
334
+ o.name = "StartReportCreation"
335
+ o.http_method = "POST"
336
+ o.http_request_uri = "/"
337
+ o.input = Shapes::ShapeRef.new(shape: StartReportCreationInput)
338
+ o.output = Shapes::ShapeRef.new(shape: StartReportCreationOutput)
339
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
340
+ o.errors << Shapes::ShapeRef.new(shape: ConstraintViolationException)
341
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
342
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
343
+ o.errors << Shapes::ShapeRef.new(shape: ThrottledException)
344
+ end)
345
+
218
346
  api.add_operation(:tag_resources, Seahorse::Model::Operation.new.tap do |o|
219
347
  o.name = "TagResources"
220
348
  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,116 @@
8
8
  module Aws::ResourceGroupsTaggingAPI
9
9
  module Types
10
10
 
11
+ # Information that shows whether a resource is compliant with the
12
+ # effective tag policy, including details on any noncompliant tag keys.
13
+ #
14
+ # @!attribute [rw] noncompliant_keys
15
+ # The tag key is noncompliant with the effective tag policy.
16
+ # @return [Array<String>]
17
+ #
18
+ # @!attribute [rw] keys_with_noncompliant_values
19
+ # The tag value is noncompliant with the effective tag policy.
20
+ # @return [Array<String>]
21
+ #
22
+ # @!attribute [rw] compliance_status
23
+ # Whether a resource is compliant with the effective tag policy.
24
+ # @return [Boolean]
25
+ #
26
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ComplianceDetails AWS API Documentation
27
+ #
28
+ class ComplianceDetails < Struct.new(
29
+ :noncompliant_keys,
30
+ :keys_with_noncompliant_values,
31
+ :compliance_status)
32
+ include Aws::Structure
33
+ end
34
+
35
+ # The target of the operation is currently being modified by a different
36
+ # request. Try again later.
37
+ #
38
+ # @!attribute [rw] message
39
+ # @return [String]
40
+ #
41
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ConcurrentModificationException AWS API Documentation
42
+ #
43
+ class ConcurrentModificationException < Struct.new(
44
+ :message)
45
+ include Aws::Structure
46
+ end
47
+
48
+ # The request was denied because performing this operation violates a
49
+ # constraint.
50
+ #
51
+ # Some of the reasons in the following list might not apply to this
52
+ # specific operation.
53
+ #
54
+ # * You must meet the prerequisites for using tag policies. For
55
+ # information, see [Prerequisites and Permissions for Using Tag
56
+ # Policies][1] in the *AWS Organizations User Guide.*
57
+ #
58
+ # * You must enable the tag policies service principal
59
+ # (`tagpolicies.tag.amazonaws.com`) to integrate with AWS
60
+ # Organizations For information, see [EnableAWSServiceAccess][2].
61
+ #
62
+ # * You must have a tag policy attached to the organization root, an OU,
63
+ # or an account.
64
+ #
65
+ #
66
+ #
67
+ # [1]: http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html
68
+ # [2]: http://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html
69
+ #
70
+ # @!attribute [rw] message
71
+ # @return [String]
72
+ #
73
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ConstraintViolationException AWS API Documentation
74
+ #
75
+ class ConstraintViolationException < Struct.new(
76
+ :message)
77
+ include Aws::Structure
78
+ end
79
+
80
+ # @api private
81
+ #
82
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DescribeReportCreationInput AWS API Documentation
83
+ #
84
+ class DescribeReportCreationInput < Aws::EmptyStructure; end
85
+
86
+ # @!attribute [rw] status
87
+ # Reports the status of the operation.
88
+ #
89
+ # The operation status can be one of the following:
90
+ #
91
+ # * `RUNNING` - Report creation is in progress.
92
+ #
93
+ # * `SUCCEEDED` - Report creation is complete. You can open the report
94
+ # from the Amazon S3 bucket that you specified when you ran
95
+ # `StartReportCreation`.
96
+ #
97
+ # * `FAILED` - Report creation timed out or the Amazon S3 bucket is
98
+ # not accessible.
99
+ #
100
+ # * `NO REPORT` - No report was generated in the last 90 days.
101
+ # @return [String]
102
+ #
103
+ # @!attribute [rw] s3_location
104
+ # The path to the Amazon S3 bucket where the report was stored on
105
+ # creation.
106
+ # @return [String]
107
+ #
108
+ # @!attribute [rw] error_message
109
+ # Details of the common errors that all operations return.
110
+ # @return [String]
111
+ #
112
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DescribeReportCreationOutput AWS API Documentation
113
+ #
114
+ class DescribeReportCreationOutput < Struct.new(
115
+ :status,
116
+ :s3_location,
117
+ :error_message)
118
+ include Aws::Structure
119
+ end
120
+
11
121
  # Details of the common errors that all actions return.
12
122
  #
13
123
  # @!attribute [rw] status_code
@@ -34,6 +144,117 @@ module Aws::ResourceGroupsTaggingAPI
34
144
  include Aws::Structure
35
145
  end
36
146
 
147
+ # @note When making an API call, you may pass GetComplianceSummaryInput
148
+ # data as a hash:
149
+ #
150
+ # {
151
+ # target_id_filters: ["TargetId"],
152
+ # region_filters: ["Region"],
153
+ # resource_type_filters: ["AmazonResourceType"],
154
+ # tag_key_filters: ["TagKey"],
155
+ # group_by: ["TARGET_ID"], # accepts TARGET_ID, REGION, RESOURCE_TYPE
156
+ # max_results: 1,
157
+ # pagination_token: "PaginationToken",
158
+ # }
159
+ #
160
+ # @!attribute [rw] target_id_filters
161
+ # The target identifiers (usually, specific account IDs) to limit the
162
+ # output by. If you use this parameter, the count of returned
163
+ # noncompliant resources includes only resources with the specified
164
+ # target IDs.
165
+ # @return [Array<String>]
166
+ #
167
+ # @!attribute [rw] region_filters
168
+ # A list of Regions to limit the output by. If you use this parameter,
169
+ # the count of returned noncompliant resources includes only resources
170
+ # in the specified Regions.
171
+ # @return [Array<String>]
172
+ #
173
+ # @!attribute [rw] resource_type_filters
174
+ # The constraints on the resources that you want returned. The format
175
+ # of each resource type is `service[:resourceType]`. For example,
176
+ # specifying a resource type of `ec2` returns all Amazon EC2 resources
177
+ # (which includes EC2 instances). Specifying a resource type of
178
+ # `ec2:instance` returns only EC2 instances.
179
+ #
180
+ # The string for each service name and resource type is the same as
181
+ # that embedded in a resource's Amazon Resource Name (ARN). Consult
182
+ # the *AWS General Reference* for the following:
183
+ #
184
+ # * For a list of service name strings, see [AWS Service
185
+ # Namespaces][1].
186
+ #
187
+ # * For resource type strings, see [Example ARNs][2].
188
+ #
189
+ # * For more information about ARNs, see [Amazon Resource Names (ARNs)
190
+ # and AWS Service Namespaces][3].
191
+ #
192
+ # You can specify multiple resource types by using an array. The array
193
+ # can include up to 100 items. Note that the length constraint
194
+ # requirement applies to each resource type filter.
195
+ #
196
+ #
197
+ #
198
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
199
+ # [2]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax
200
+ # [3]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
201
+ # @return [Array<String>]
202
+ #
203
+ # @!attribute [rw] tag_key_filters
204
+ # A list of tag keys to limit the output by. If you use this
205
+ # parameter, the count of returned noncompliant resources includes
206
+ # only resources that have the specified tag keys.
207
+ # @return [Array<String>]
208
+ #
209
+ # @!attribute [rw] group_by
210
+ # A list of attributes to group the counts of noncompliant resources
211
+ # by. If supplied, the counts are sorted by those attributes.
212
+ # @return [Array<String>]
213
+ #
214
+ # @!attribute [rw] max_results
215
+ # A limit that restricts the number of results that are returned per
216
+ # page.
217
+ # @return [Integer]
218
+ #
219
+ # @!attribute [rw] pagination_token
220
+ # A string that indicates that additional data is available. Leave
221
+ # this value empty for your initial request. If the response includes
222
+ # a `PaginationToken`, use that string for this value to request an
223
+ # additional page of data.
224
+ # @return [String]
225
+ #
226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetComplianceSummaryInput AWS API Documentation
227
+ #
228
+ class GetComplianceSummaryInput < Struct.new(
229
+ :target_id_filters,
230
+ :region_filters,
231
+ :resource_type_filters,
232
+ :tag_key_filters,
233
+ :group_by,
234
+ :max_results,
235
+ :pagination_token)
236
+ include Aws::Structure
237
+ end
238
+
239
+ # @!attribute [rw] summary_list
240
+ # A table that shows counts of noncompliant resources.
241
+ # @return [Array<Types::Summary>]
242
+ #
243
+ # @!attribute [rw] pagination_token
244
+ # A string that indicates that the response contains more data than
245
+ # can be returned in a single response. To receive additional data,
246
+ # specify this string for the `PaginationToken` value in a subsequent
247
+ # request.
248
+ # @return [String]
249
+ #
250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetComplianceSummaryOutput AWS API Documentation
251
+ #
252
+ class GetComplianceSummaryOutput < Struct.new(
253
+ :summary_list,
254
+ :pagination_token)
255
+ include Aws::Structure
256
+ end
257
+
37
258
  # @note When making an API call, you may pass GetResourcesInput
38
259
  # data as a hash:
39
260
  #
@@ -48,6 +269,8 @@ module Aws::ResourceGroupsTaggingAPI
48
269
  # resources_per_page: 1,
49
270
  # tags_per_page: 1,
50
271
  # resource_type_filters: ["AmazonResourceType"],
272
+ # include_compliance_details: false,
273
+ # exclude_compliant_resources: false,
51
274
  # }
52
275
  #
53
276
  # @!attribute [rw] pagination_token
@@ -108,6 +331,8 @@ module Aws::ResourceGroupsTaggingAPI
108
331
  # @return [Integer]
109
332
  #
110
333
  # @!attribute [rw] tags_per_page
334
+ # AWS recommends using `ResourcesPerPage` instead of this parameter.
335
+ #
111
336
  # A limit that restricts the number of tags (key and value pairs)
112
337
  # returned by GetResources in paginated output. A resource with no
113
338
  # tags is counted as having one tag (one key and value pair).
@@ -119,10 +344,10 @@ module Aws::ResourceGroupsTaggingAPI
119
344
  # remaining data. For example, if you specify a `TagsPerPage` of `100`
120
345
  # and the account has 22 resources with 10 tags each (meaning that
121
346
  # each resource has 10 key and value pairs), the output will consist
122
- # of 3 pages, with the first page displaying the first 10 resources,
123
- # each with its 10 tags, the second page displaying the next 10
124
- # resources each with its 10 tags, and the third page displaying the
125
- # remaining 2 resources, each with its 10 tags.
347
+ # of three pages. The first page displays the first 10 resources, each
348
+ # with its 10 tags. The second page displays the next 10 resources,
349
+ # each with its 10 tags. The third page displays the remaining 2
350
+ # resources, each with its 10 tags.
126
351
  #
127
352
  # You can set `TagsPerPage` to a minimum of 100 items and the maximum
128
353
  # of 500 items.
@@ -158,6 +383,21 @@ module Aws::ResourceGroupsTaggingAPI
158
383
  # [3]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
159
384
  # @return [Array<String>]
160
385
  #
386
+ # @!attribute [rw] include_compliance_details
387
+ # Specifies whether to include details regarding the compliance with
388
+ # the effective tag policy. Set this to `true` to determine whether
389
+ # resources are compliant with the tag policy and to get details.
390
+ # @return [Boolean]
391
+ #
392
+ # @!attribute [rw] exclude_compliant_resources
393
+ # Specifies whether to exclude resources that are compliant with the
394
+ # tag policy. Set this to `true` if you are interested in retrieving
395
+ # information on noncompliant resources only.
396
+ #
397
+ # You can use this parameter only if the `IncludeComplianceDetails`
398
+ # parameter is also set to `true`.
399
+ # @return [Boolean]
400
+ #
161
401
  # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetResourcesInput AWS API Documentation
162
402
  #
163
403
  class GetResourcesInput < Struct.new(
@@ -165,7 +405,9 @@ module Aws::ResourceGroupsTaggingAPI
165
405
  :tag_filters,
166
406
  :resources_per_page,
167
407
  :tags_per_page,
168
- :resource_type_filters)
408
+ :resource_type_filters,
409
+ :include_compliance_details,
410
+ :exclude_compliant_resources)
169
411
  include Aws::Structure
170
412
  end
171
413
 
@@ -199,7 +441,7 @@ module Aws::ResourceGroupsTaggingAPI
199
441
  # @!attribute [rw] pagination_token
200
442
  # A string that indicates that additional data is available. Leave
201
443
  # this value empty for your initial request. If the response includes
202
- # a PaginationToken, use that string for this value to request an
444
+ # a `PaginationToken`, use that string for this value to request an
203
445
  # additional page of data.
204
446
  # @return [String]
205
447
  #
@@ -240,13 +482,13 @@ module Aws::ResourceGroupsTaggingAPI
240
482
  # @!attribute [rw] pagination_token
241
483
  # A string that indicates that additional data is available. Leave
242
484
  # this value empty for your initial request. If the response includes
243
- # a PaginationToken, use that string for this value to request an
485
+ # a `PaginationToken`, use that string for this value to request an
244
486
  # additional page of data.
245
487
  # @return [String]
246
488
  #
247
489
  # @!attribute [rw] key
248
490
  # The key for which you want to list all existing values in the
249
- # specified region for the AWS account.
491
+ # specified Region for the AWS account.
250
492
  # @return [String]
251
493
  #
252
494
  # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagValuesInput AWS API Documentation
@@ -289,8 +531,23 @@ module Aws::ResourceGroupsTaggingAPI
289
531
  include Aws::Structure
290
532
  end
291
533
 
292
- # A parameter is missing or a malformed string or invalid or
293
- # out-of-range value was supplied for the request parameter.
534
+ # This error indicates one of the following:
535
+ #
536
+ # * A parameter is missing.
537
+ #
538
+ # * A malformed string was supplied for the request parameter.
539
+ #
540
+ # * An out-of-range value was supplied for the request parameter.
541
+ #
542
+ # * The target ID is invalid, unsupported, or doesn't exist.
543
+ #
544
+ # * You can't access the Amazon S3 bucket for report storage. For more
545
+ # information, see [Additional Requirements for Organization-wide Tag
546
+ # Compliance Reports][1] in the *AWS Organizations User Guide.*
547
+ #
548
+ #
549
+ #
550
+ # [1]: http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report
294
551
  #
295
552
  # @!attribute [rw] message
296
553
  # @return [String]
@@ -326,25 +583,105 @@ module Aws::ResourceGroupsTaggingAPI
326
583
  # The tags that have been applied to one or more AWS resources.
327
584
  # @return [Array<Types::Tag>]
328
585
  #
586
+ # @!attribute [rw] compliance_details
587
+ # Information that shows whether a resource is compliant with the
588
+ # effective tag policy, including details on any noncompliant tag
589
+ # keys.
590
+ # @return [Types::ComplianceDetails]
591
+ #
329
592
  # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ResourceTagMapping AWS API Documentation
330
593
  #
331
594
  class ResourceTagMapping < Struct.new(
332
595
  :resource_arn,
333
- :tags)
596
+ :tags,
597
+ :compliance_details)
598
+ include Aws::Structure
599
+ end
600
+
601
+ # @note When making an API call, you may pass StartReportCreationInput
602
+ # data as a hash:
603
+ #
604
+ # {
605
+ # s3_bucket: "S3Bucket", # required
606
+ # }
607
+ #
608
+ # @!attribute [rw] s3_bucket
609
+ # The name of the Amazon S3 bucket where the report will be stored;
610
+ # for example:
611
+ #
612
+ # `awsexamplebucket`
613
+ #
614
+ # For more information on S3 bucket requirements, including an example
615
+ # bucket policy, see the example S3 bucket policy on this page.
616
+ # @return [String]
617
+ #
618
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/StartReportCreationInput AWS API Documentation
619
+ #
620
+ class StartReportCreationInput < Struct.new(
621
+ :s3_bucket)
622
+ include Aws::Structure
623
+ end
624
+
625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/StartReportCreationOutput AWS API Documentation
626
+ #
627
+ class StartReportCreationOutput < Aws::EmptyStructure; end
628
+
629
+ # A count of noncompliant resources.
630
+ #
631
+ # @!attribute [rw] last_updated
632
+ # The timestamp that shows when this summary was generated in this
633
+ # Region.
634
+ # @return [String]
635
+ #
636
+ # @!attribute [rw] target_id
637
+ # The account identifier or the root identifier of the organization.
638
+ # If you don't know the root ID, you can call the AWS Organizations
639
+ # [ListRoots][1] API.
640
+ #
641
+ #
642
+ #
643
+ # [1]: http://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html
644
+ # @return [String]
645
+ #
646
+ # @!attribute [rw] target_id_type
647
+ # Whether the target is an account, an OU, or the organization root.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] region
651
+ # The AWS Region that the summary applies to.
652
+ # @return [String]
653
+ #
654
+ # @!attribute [rw] resource_type
655
+ # The AWS resource type.
656
+ # @return [String]
657
+ #
658
+ # @!attribute [rw] non_compliant_resources
659
+ # The count of noncompliant resources.
660
+ # @return [Integer]
661
+ #
662
+ # @see http://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/Summary AWS API Documentation
663
+ #
664
+ class Summary < Struct.new(
665
+ :last_updated,
666
+ :target_id,
667
+ :target_id_type,
668
+ :region,
669
+ :resource_type,
670
+ :non_compliant_resources)
334
671
  include Aws::Structure
335
672
  end
336
673
 
337
674
  # The metadata that you apply to AWS resources to help you categorize
338
675
  # and organize them. Each tag consists of a key and an optional value,
339
- # both of which you define. For more information, see [Tag Basics][1] in
340
- # the *Amazon EC2 User Guide for Linux Instances*.
676
+ # both of which you define. For more information, see [Tagging AWS
677
+ # Resources][1] in the *AWS General Reference*.
341
678
  #
342
679
  #
343
680
  #
344
- # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-basics
681
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
345
682
  #
346
683
  # @!attribute [rw] key
347
- # One part of a key-value pair that make up a tag. A key is a general
684
+ # One part of a key-value pair that makes up a tag. A key is a general
348
685
  # label that acts like a category for more specific tag values.
349
686
  # @return [String]
350
687
  #
@@ -373,7 +710,7 @@ module Aws::ResourceGroupsTaggingAPI
373
710
  # }
374
711
  #
375
712
  # @!attribute [rw] key
376
- # One part of a key-value pair that make up a tag. A key is a general
713
+ # One part of a key-value pair that makes up a tag. A key is a general
377
714
  # label that acts like a category for more specific tag values.
378
715
  # @return [String]
379
716
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-resourcegroupstaggingapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.0
4
+ version: 1.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-23 00:00:00.000000000 Z
11
+ date: 2019-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core