aws-sdk-resourcegroupstaggingapi 1.19.0 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  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