aws-sdk-controltower 1.9.0 → 1.11.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
  SHA256:
3
- metadata.gz: d15286b41b4e37c5e7ee7ed46629050a27c7b4758d5e6667af64389185e819e0
4
- data.tar.gz: 2a0caadb260cc26c4634131dc213927aa64457a48d241bed3b7b016ce83673fc
3
+ metadata.gz: 4a3aa67695d6e0f0ee8cc3f70eae34f700ed760a9569b962da3b197781d6fe6f
4
+ data.tar.gz: 587639ea3f15464a4517f32278cc27d610952452c254cc4e7f2f5b0125f77f35
5
5
  SHA512:
6
- metadata.gz: 25e5a3f75945bb6793413a06d192488fd003314760964d86be8fbf78a77cb982f70db96a9e5987922344389db2ea69b91b18d9e0f74c1ba7850a17717999d548
7
- data.tar.gz: 3accb251e4a1b58326be90252ec714650adb8335816a91b9631e70849b2a535cae1217a3c80dbce2b97ea5c08cbf9d2068a88bcfca9097eb789aada37ad62acf
6
+ metadata.gz: 9c34002ebcfa9aa3f8904ee6bb976c3a53e54d1c084c55ac212a2abf0e5dfdbd518d1c0335ff62552d8e85bf901a011b4d091ffbccabbe3e3cca69446de639fe
7
+ data.tar.gz: 913cc819e0f644b7af70dab0b334fe5c8f5f85a0ea7d71c0dae94ee1b80190cca972a37a8daa30a6bbf74a843617f6520fc4b850ce5b6c2f56a63d292298c139
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.11.0 (2023-11-10)
5
+ ------------------
6
+
7
+ * Feature - AWS Control Tower supports tagging for enabled controls. This release introduces TagResource, UntagResource and ListTagsForResource APIs to manage tags in existing enabled controls. It updates EnabledControl API to tag resources at creation time.
8
+
9
+ 1.10.0 (2023-10-12)
10
+ ------------------
11
+
12
+ * Feature - Added new EnabledControl resource details to ListEnabledControls API and added new GetEnabledControl API.
13
+
4
14
  1.9.0 (2023-09-27)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.9.0
1
+ 1.11.0
@@ -391,15 +391,30 @@ module Aws::ControlTower
391
391
  # This API call turns off a control. It starts an asynchronous operation
392
392
  # that deletes AWS resources on the specified organizational unit and
393
393
  # the accounts it contains. The resources will vary according to the
394
- # control that you specify.
394
+ # control that you specify. For usage examples, see [ *the AWS Control
395
+ # Tower User Guide* ][1].
396
+ #
397
+ #
398
+ #
399
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
395
400
  #
396
401
  # @option params [required, String] :control_identifier
397
402
  # The ARN of the control. Only **Strongly recommended** and **Elective**
398
403
  # controls are permitted, with the exception of the **Region deny**
399
- # guardrail.
404
+ # control. For information on how to find the `controlIdentifier`, see
405
+ # [the overview page][1].
406
+ #
407
+ #
408
+ #
409
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
400
410
  #
401
411
  # @option params [required, String] :target_identifier
402
- # The ARN of the organizational unit.
412
+ # The ARN of the organizational unit. For information on how to find the
413
+ # `targetIdentifier`, see [the overview page][1].
414
+ #
415
+ #
416
+ #
417
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
403
418
  #
404
419
  # @return [Types::DisableControlOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
405
420
  #
@@ -428,29 +443,52 @@ module Aws::ControlTower
428
443
  # This API call activates a control. It starts an asynchronous operation
429
444
  # that creates AWS resources on the specified organizational unit and
430
445
  # the accounts it contains. The resources created will vary according to
431
- # the control that you specify.
446
+ # the control that you specify. For usage examples, see [ *the AWS
447
+ # Control Tower User Guide* ][1].
448
+ #
449
+ #
450
+ #
451
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
432
452
  #
433
453
  # @option params [required, String] :control_identifier
434
454
  # The ARN of the control. Only **Strongly recommended** and **Elective**
435
455
  # controls are permitted, with the exception of the **Region deny**
436
- # guardrail.
456
+ # control. For information on how to find the `controlIdentifier`, see
457
+ # [the overview page][1].
458
+ #
459
+ #
460
+ #
461
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
462
+ #
463
+ # @option params [Hash<String,String>] :tags
464
+ # Tags to be applied to the `EnabledControl` resource.
437
465
  #
438
466
  # @option params [required, String] :target_identifier
439
- # The ARN of the organizational unit.
467
+ # The ARN of the organizational unit. For information on how to find the
468
+ # `targetIdentifier`, see [the overview page][1].
469
+ #
470
+ #
471
+ #
472
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
440
473
  #
441
474
  # @return [Types::EnableControlOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
442
475
  #
476
+ # * {Types::EnableControlOutput#arn #arn} => String
443
477
  # * {Types::EnableControlOutput#operation_identifier #operation_identifier} => String
444
478
  #
445
479
  # @example Request syntax with placeholder values
446
480
  #
447
481
  # resp = client.enable_control({
448
482
  # control_identifier: "ControlIdentifier", # required
483
+ # tags: {
484
+ # "TagKey" => "TagValue",
485
+ # },
449
486
  # target_identifier: "TargetIdentifier", # required
450
487
  # })
451
488
  #
452
489
  # @example Response structure
453
490
  #
491
+ # resp.arn #=> String
454
492
  # resp.operation_identifier #=> String
455
493
  #
456
494
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/EnableControl AWS API Documentation
@@ -464,7 +502,12 @@ module Aws::ControlTower
464
502
 
465
503
  # Returns the status of a particular `EnableControl` or `DisableControl`
466
504
  # operation. Displays a message in case of error. Details for an
467
- # operation are available for 90 days.
505
+ # operation are available for 90 days. For usage examples, see [ *the
506
+ # AWS Control Tower User Guide* ][1].
507
+ #
508
+ #
509
+ #
510
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
468
511
  #
469
512
  # @option params [required, String] :operation_identifier
470
513
  # The ID of the asynchronous operation, which is used to track status.
@@ -497,8 +540,53 @@ module Aws::ControlTower
497
540
  req.send_request(options)
498
541
  end
499
542
 
543
+ # Retrieves details about an enabled control. For usage examples, see [
544
+ # *the AWS Control Tower User Guide* ][1].
545
+ #
546
+ #
547
+ #
548
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
549
+ #
550
+ # @option params [required, String] :enabled_control_identifier
551
+ # The `controlIdentifier` of the enabled control.
552
+ #
553
+ # @return [Types::GetEnabledControlOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
554
+ #
555
+ # * {Types::GetEnabledControlOutput#enabled_control_details #enabled_control_details} => Types::EnabledControlDetails
556
+ #
557
+ # @example Request syntax with placeholder values
558
+ #
559
+ # resp = client.get_enabled_control({
560
+ # enabled_control_identifier: "Arn", # required
561
+ # })
562
+ #
563
+ # @example Response structure
564
+ #
565
+ # resp.enabled_control_details.arn #=> String
566
+ # resp.enabled_control_details.control_identifier #=> String
567
+ # resp.enabled_control_details.drift_status_summary.drift_status #=> String, one of "DRIFTED", "IN_SYNC", "NOT_CHECKING", "UNKNOWN"
568
+ # resp.enabled_control_details.status_summary.last_operation_identifier #=> String
569
+ # resp.enabled_control_details.status_summary.status #=> String, one of "SUCCEEDED", "FAILED", "UNDER_CHANGE"
570
+ # resp.enabled_control_details.target_identifier #=> String
571
+ # resp.enabled_control_details.target_regions #=> Array
572
+ # resp.enabled_control_details.target_regions[0].name #=> String
573
+ #
574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/GetEnabledControl AWS API Documentation
575
+ #
576
+ # @overload get_enabled_control(params = {})
577
+ # @param [Hash] params ({})
578
+ def get_enabled_control(params = {}, options = {})
579
+ req = build_request(:get_enabled_control, params)
580
+ req.send_request(options)
581
+ end
582
+
500
583
  # Lists the controls enabled by AWS Control Tower on the specified
501
- # organizational unit and the accounts it contains.
584
+ # organizational unit and the accounts it contains. For usage examples,
585
+ # see [ *the AWS Control Tower User Guide* ][1].
586
+ #
587
+ #
588
+ #
589
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
502
590
  #
503
591
  # @option params [Integer] :max_results
504
592
  # How many results to return per API call.
@@ -508,7 +596,12 @@ module Aws::ControlTower
508
596
  # parameters.
509
597
  #
510
598
  # @option params [required, String] :target_identifier
511
- # The ARN of the organizational unit.
599
+ # The ARN of the organizational unit. For information on how to find the
600
+ # `targetIdentifier`, see [the overview page][1].
601
+ #
602
+ #
603
+ #
604
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
512
605
  #
513
606
  # @return [Types::ListEnabledControlsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
514
607
  #
@@ -528,7 +621,12 @@ module Aws::ControlTower
528
621
  # @example Response structure
529
622
  #
530
623
  # resp.enabled_controls #=> Array
624
+ # resp.enabled_controls[0].arn #=> String
531
625
  # resp.enabled_controls[0].control_identifier #=> String
626
+ # resp.enabled_controls[0].drift_status_summary.drift_status #=> String, one of "DRIFTED", "IN_SYNC", "NOT_CHECKING", "UNKNOWN"
627
+ # resp.enabled_controls[0].status_summary.last_operation_identifier #=> String
628
+ # resp.enabled_controls[0].status_summary.status #=> String, one of "SUCCEEDED", "FAILED", "UNDER_CHANGE"
629
+ # resp.enabled_controls[0].target_identifier #=> String
532
630
  # resp.next_token #=> String
533
631
  #
534
632
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/ListEnabledControls AWS API Documentation
@@ -540,6 +638,104 @@ module Aws::ControlTower
540
638
  req.send_request(options)
541
639
  end
542
640
 
641
+ # Returns a list of tags associated with the resource. For usage
642
+ # examples, see [ *the AWS Control Tower User Guide* ][1].
643
+ #
644
+ #
645
+ #
646
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
647
+ #
648
+ # @option params [required, String] :resource_arn
649
+ # The ARN of the resource.
650
+ #
651
+ # @return [Types::ListTagsForResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
652
+ #
653
+ # * {Types::ListTagsForResourceOutput#tags #tags} => Hash&lt;String,String&gt;
654
+ #
655
+ # @example Request syntax with placeholder values
656
+ #
657
+ # resp = client.list_tags_for_resource({
658
+ # resource_arn: "Arn", # required
659
+ # })
660
+ #
661
+ # @example Response structure
662
+ #
663
+ # resp.tags #=> Hash
664
+ # resp.tags["TagKey"] #=> String
665
+ #
666
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/ListTagsForResource AWS API Documentation
667
+ #
668
+ # @overload list_tags_for_resource(params = {})
669
+ # @param [Hash] params ({})
670
+ def list_tags_for_resource(params = {}, options = {})
671
+ req = build_request(:list_tags_for_resource, params)
672
+ req.send_request(options)
673
+ end
674
+
675
+ # Applies tags to a resource. For usage examples, see [ *the AWS Control
676
+ # Tower User Guide* ][1].
677
+ #
678
+ #
679
+ #
680
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
681
+ #
682
+ # @option params [required, String] :resource_arn
683
+ # The ARN of the resource to be tagged.
684
+ #
685
+ # @option params [required, Hash<String,String>] :tags
686
+ # Tags to be applied to the resource.
687
+ #
688
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
689
+ #
690
+ # @example Request syntax with placeholder values
691
+ #
692
+ # resp = client.tag_resource({
693
+ # resource_arn: "Arn", # required
694
+ # tags: { # required
695
+ # "TagKey" => "TagValue",
696
+ # },
697
+ # })
698
+ #
699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/TagResource AWS API Documentation
700
+ #
701
+ # @overload tag_resource(params = {})
702
+ # @param [Hash] params ({})
703
+ def tag_resource(params = {}, options = {})
704
+ req = build_request(:tag_resource, params)
705
+ req.send_request(options)
706
+ end
707
+
708
+ # Removes tags from a resource. For usage examples, see [ *the AWS
709
+ # Control Tower User Guide* ][1].
710
+ #
711
+ #
712
+ #
713
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
714
+ #
715
+ # @option params [required, String] :resource_arn
716
+ # The ARN of the resource.
717
+ #
718
+ # @option params [required, Array<String>] :tag_keys
719
+ # Tag keys to be removed from the resource.
720
+ #
721
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
722
+ #
723
+ # @example Request syntax with placeholder values
724
+ #
725
+ # resp = client.untag_resource({
726
+ # resource_arn: "Arn", # required
727
+ # tag_keys: ["TagKey"], # required
728
+ # })
729
+ #
730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/UntagResource AWS API Documentation
731
+ #
732
+ # @overload untag_resource(params = {})
733
+ # @param [Hash] params ({})
734
+ def untag_resource(params = {}, options = {})
735
+ req = build_request(:untag_resource, params)
736
+ req.send_request(options)
737
+ end
738
+
543
739
  # @!endgroup
544
740
 
545
741
  # @param params ({})
@@ -553,7 +749,7 @@ module Aws::ControlTower
553
749
  params: params,
554
750
  config: config)
555
751
  context[:gem_name] = 'aws-sdk-controltower'
556
- context[:gem_version] = '1.9.0'
752
+ context[:gem_version] = '1.11.0'
557
753
  Seahorse::Client::Request.new(handlers, context)
558
754
  end
559
755
 
@@ -14,6 +14,7 @@ module Aws::ControlTower
14
14
  include Seahorse::Model
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
+ Arn = Shapes::StringShape.new(name: 'Arn')
17
18
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
18
19
  ControlIdentifier = Shapes::StringShape.new(name: 'ControlIdentifier')
19
20
  ControlOperation = Shapes::StructureShape.new(name: 'ControlOperation')
@@ -21,24 +22,44 @@ module Aws::ControlTower
21
22
  ControlOperationType = Shapes::StringShape.new(name: 'ControlOperationType')
22
23
  DisableControlInput = Shapes::StructureShape.new(name: 'DisableControlInput')
23
24
  DisableControlOutput = Shapes::StructureShape.new(name: 'DisableControlOutput')
25
+ DriftStatus = Shapes::StringShape.new(name: 'DriftStatus')
26
+ DriftStatusSummary = Shapes::StructureShape.new(name: 'DriftStatusSummary')
24
27
  EnableControlInput = Shapes::StructureShape.new(name: 'EnableControlInput')
25
28
  EnableControlOutput = Shapes::StructureShape.new(name: 'EnableControlOutput')
29
+ EnabledControlDetails = Shapes::StructureShape.new(name: 'EnabledControlDetails')
26
30
  EnabledControlSummary = Shapes::StructureShape.new(name: 'EnabledControlSummary')
27
31
  EnabledControls = Shapes::ListShape.new(name: 'EnabledControls')
32
+ EnablementStatus = Shapes::StringShape.new(name: 'EnablementStatus')
33
+ EnablementStatusSummary = Shapes::StructureShape.new(name: 'EnablementStatusSummary')
28
34
  GetControlOperationInput = Shapes::StructureShape.new(name: 'GetControlOperationInput')
29
35
  GetControlOperationOutput = Shapes::StructureShape.new(name: 'GetControlOperationOutput')
36
+ GetEnabledControlInput = Shapes::StructureShape.new(name: 'GetEnabledControlInput')
37
+ GetEnabledControlOutput = Shapes::StructureShape.new(name: 'GetEnabledControlOutput')
30
38
  Integer = Shapes::IntegerShape.new(name: 'Integer')
31
39
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
32
40
  ListEnabledControlsInput = Shapes::StructureShape.new(name: 'ListEnabledControlsInput')
33
41
  ListEnabledControlsOutput = Shapes::StructureShape.new(name: 'ListEnabledControlsOutput')
42
+ ListTagsForResourceInput = Shapes::StructureShape.new(name: 'ListTagsForResourceInput')
43
+ ListTagsForResourceOutput = Shapes::StructureShape.new(name: 'ListTagsForResourceOutput')
34
44
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
35
45
  OperationIdentifier = Shapes::StringShape.new(name: 'OperationIdentifier')
46
+ Region = Shapes::StructureShape.new(name: 'Region')
47
+ RegionName = Shapes::StringShape.new(name: 'RegionName')
36
48
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
37
49
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
38
50
  String = Shapes::StringShape.new(name: 'String')
39
51
  SyntheticTimestamp_date_time = Shapes::TimestampShape.new(name: 'SyntheticTimestamp_date_time', timestampFormat: "iso8601")
52
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
53
+ TagKeys = Shapes::ListShape.new(name: 'TagKeys')
54
+ TagMap = Shapes::MapShape.new(name: 'TagMap')
55
+ TagResourceInput = Shapes::StructureShape.new(name: 'TagResourceInput')
56
+ TagResourceOutput = Shapes::StructureShape.new(name: 'TagResourceOutput')
57
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
40
58
  TargetIdentifier = Shapes::StringShape.new(name: 'TargetIdentifier')
59
+ TargetRegions = Shapes::ListShape.new(name: 'TargetRegions')
41
60
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
61
+ UntagResourceInput = Shapes::StructureShape.new(name: 'UntagResourceInput')
62
+ UntagResourceOutput = Shapes::StructureShape.new(name: 'UntagResourceOutput')
42
63
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
43
64
 
44
65
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
@@ -61,24 +82,51 @@ module Aws::ControlTower
61
82
  DisableControlOutput.add_member(:operation_identifier, Shapes::ShapeRef.new(shape: OperationIdentifier, required: true, location_name: "operationIdentifier"))
62
83
  DisableControlOutput.struct_class = Types::DisableControlOutput
63
84
 
85
+ DriftStatusSummary.add_member(:drift_status, Shapes::ShapeRef.new(shape: DriftStatus, location_name: "driftStatus"))
86
+ DriftStatusSummary.struct_class = Types::DriftStatusSummary
87
+
64
88
  EnableControlInput.add_member(:control_identifier, Shapes::ShapeRef.new(shape: ControlIdentifier, required: true, location_name: "controlIdentifier"))
89
+ EnableControlInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
65
90
  EnableControlInput.add_member(:target_identifier, Shapes::ShapeRef.new(shape: TargetIdentifier, required: true, location_name: "targetIdentifier"))
66
91
  EnableControlInput.struct_class = Types::EnableControlInput
67
92
 
93
+ EnableControlOutput.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "arn"))
68
94
  EnableControlOutput.add_member(:operation_identifier, Shapes::ShapeRef.new(shape: OperationIdentifier, required: true, location_name: "operationIdentifier"))
69
95
  EnableControlOutput.struct_class = Types::EnableControlOutput
70
96
 
97
+ EnabledControlDetails.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "arn"))
98
+ EnabledControlDetails.add_member(:control_identifier, Shapes::ShapeRef.new(shape: ControlIdentifier, location_name: "controlIdentifier"))
99
+ EnabledControlDetails.add_member(:drift_status_summary, Shapes::ShapeRef.new(shape: DriftStatusSummary, location_name: "driftStatusSummary"))
100
+ EnabledControlDetails.add_member(:status_summary, Shapes::ShapeRef.new(shape: EnablementStatusSummary, location_name: "statusSummary"))
101
+ EnabledControlDetails.add_member(:target_identifier, Shapes::ShapeRef.new(shape: TargetIdentifier, location_name: "targetIdentifier"))
102
+ EnabledControlDetails.add_member(:target_regions, Shapes::ShapeRef.new(shape: TargetRegions, location_name: "targetRegions"))
103
+ EnabledControlDetails.struct_class = Types::EnabledControlDetails
104
+
105
+ EnabledControlSummary.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "arn"))
71
106
  EnabledControlSummary.add_member(:control_identifier, Shapes::ShapeRef.new(shape: ControlIdentifier, location_name: "controlIdentifier"))
107
+ EnabledControlSummary.add_member(:drift_status_summary, Shapes::ShapeRef.new(shape: DriftStatusSummary, location_name: "driftStatusSummary"))
108
+ EnabledControlSummary.add_member(:status_summary, Shapes::ShapeRef.new(shape: EnablementStatusSummary, location_name: "statusSummary"))
109
+ EnabledControlSummary.add_member(:target_identifier, Shapes::ShapeRef.new(shape: TargetIdentifier, location_name: "targetIdentifier"))
72
110
  EnabledControlSummary.struct_class = Types::EnabledControlSummary
73
111
 
74
112
  EnabledControls.member = Shapes::ShapeRef.new(shape: EnabledControlSummary)
75
113
 
114
+ EnablementStatusSummary.add_member(:last_operation_identifier, Shapes::ShapeRef.new(shape: OperationIdentifier, location_name: "lastOperationIdentifier"))
115
+ EnablementStatusSummary.add_member(:status, Shapes::ShapeRef.new(shape: EnablementStatus, location_name: "status"))
116
+ EnablementStatusSummary.struct_class = Types::EnablementStatusSummary
117
+
76
118
  GetControlOperationInput.add_member(:operation_identifier, Shapes::ShapeRef.new(shape: OperationIdentifier, required: true, location_name: "operationIdentifier"))
77
119
  GetControlOperationInput.struct_class = Types::GetControlOperationInput
78
120
 
79
121
  GetControlOperationOutput.add_member(:control_operation, Shapes::ShapeRef.new(shape: ControlOperation, required: true, location_name: "controlOperation"))
80
122
  GetControlOperationOutput.struct_class = Types::GetControlOperationOutput
81
123
 
124
+ GetEnabledControlInput.add_member(:enabled_control_identifier, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "enabledControlIdentifier"))
125
+ GetEnabledControlInput.struct_class = Types::GetEnabledControlInput
126
+
127
+ GetEnabledControlOutput.add_member(:enabled_control_details, Shapes::ShapeRef.new(shape: EnabledControlDetails, required: true, location_name: "enabledControlDetails"))
128
+ GetEnabledControlOutput.struct_class = Types::GetEnabledControlOutput
129
+
82
130
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
83
131
  InternalServerException.struct_class = Types::InternalServerException
84
132
 
@@ -91,18 +139,46 @@ module Aws::ControlTower
91
139
  ListEnabledControlsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
92
140
  ListEnabledControlsOutput.struct_class = Types::ListEnabledControlsOutput
93
141
 
142
+ ListTagsForResourceInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location: "uri", location_name: "resourceArn"))
143
+ ListTagsForResourceInput.struct_class = Types::ListTagsForResourceInput
144
+
145
+ ListTagsForResourceOutput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, required: true, location_name: "tags"))
146
+ ListTagsForResourceOutput.struct_class = Types::ListTagsForResourceOutput
147
+
148
+ Region.add_member(:name, Shapes::ShapeRef.new(shape: RegionName, location_name: "name"))
149
+ Region.struct_class = Types::Region
150
+
94
151
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
95
152
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
96
153
 
97
154
  ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
98
155
  ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
99
156
 
157
+ TagKeys.member = Shapes::ShapeRef.new(shape: TagKey)
158
+
159
+ TagMap.key = Shapes::ShapeRef.new(shape: TagKey)
160
+ TagMap.value = Shapes::ShapeRef.new(shape: TagValue)
161
+
162
+ TagResourceInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location: "uri", location_name: "resourceArn"))
163
+ TagResourceInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, required: true, location_name: "tags"))
164
+ TagResourceInput.struct_class = Types::TagResourceInput
165
+
166
+ TagResourceOutput.struct_class = Types::TagResourceOutput
167
+
168
+ TargetRegions.member = Shapes::ShapeRef.new(shape: Region)
169
+
100
170
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
101
171
  ThrottlingException.add_member(:quota_code, Shapes::ShapeRef.new(shape: String, location_name: "quotaCode"))
102
172
  ThrottlingException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: Integer, location: "header", location_name: "Retry-After"))
103
173
  ThrottlingException.add_member(:service_code, Shapes::ShapeRef.new(shape: String, location_name: "serviceCode"))
104
174
  ThrottlingException.struct_class = Types::ThrottlingException
105
175
 
176
+ UntagResourceInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location: "uri", location_name: "resourceArn"))
177
+ UntagResourceInput.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location: "querystring", location_name: "tagKeys"))
178
+ UntagResourceInput.struct_class = Types::UntagResourceInput
179
+
180
+ UntagResourceOutput.struct_class = Types::UntagResourceOutput
181
+
106
182
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
107
183
  ValidationException.struct_class = Types::ValidationException
108
184
 
@@ -167,6 +243,19 @@ module Aws::ControlTower
167
243
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
168
244
  end)
169
245
 
246
+ api.add_operation(:get_enabled_control, Seahorse::Model::Operation.new.tap do |o|
247
+ o.name = "GetEnabledControl"
248
+ o.http_method = "POST"
249
+ o.http_request_uri = "/get-enabled-control"
250
+ o.input = Shapes::ShapeRef.new(shape: GetEnabledControlInput)
251
+ o.output = Shapes::ShapeRef.new(shape: GetEnabledControlOutput)
252
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
253
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
254
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
255
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
256
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
257
+ end)
258
+
170
259
  api.add_operation(:list_enabled_controls, Seahorse::Model::Operation.new.tap do |o|
171
260
  o.name = "ListEnabledControls"
172
261
  o.http_method = "POST"
@@ -185,6 +274,39 @@ module Aws::ControlTower
185
274
  }
186
275
  )
187
276
  end)
277
+
278
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
279
+ o.name = "ListTagsForResource"
280
+ o.http_method = "GET"
281
+ o.http_request_uri = "/tags/{resourceArn}"
282
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceInput)
283
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceOutput)
284
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
285
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
286
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
287
+ end)
288
+
289
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
290
+ o.name = "TagResource"
291
+ o.http_method = "POST"
292
+ o.http_request_uri = "/tags/{resourceArn}"
293
+ o.input = Shapes::ShapeRef.new(shape: TagResourceInput)
294
+ o.output = Shapes::ShapeRef.new(shape: TagResourceOutput)
295
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
296
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
297
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
298
+ end)
299
+
300
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
301
+ o.name = "UntagResource"
302
+ o.http_method = "DELETE"
303
+ o.http_request_uri = "/tags/{resourceArn}"
304
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceInput)
305
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceOutput)
306
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
307
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
308
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
309
+ end)
188
310
  end
189
311
 
190
312
  end
@@ -32,7 +32,7 @@ module Aws::ControlTower
32
32
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
33
  end
34
34
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
36
  return Aws::Endpoints::Endpoint.new(url: "https://controltower-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
37
  end
38
38
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
@@ -54,6 +54,20 @@ module Aws::ControlTower
54
54
  end
55
55
  end
56
56
 
57
+ class GetEnabledControl
58
+ def self.build(context)
59
+ unless context.config.regional_endpoint
60
+ endpoint = context.config.endpoint.to_s
61
+ end
62
+ Aws::ControlTower::EndpointParameters.new(
63
+ region: context.config.region,
64
+ use_dual_stack: context.config.use_dualstack_endpoint,
65
+ use_fips: context.config.use_fips_endpoint,
66
+ endpoint: endpoint,
67
+ )
68
+ end
69
+ end
70
+
57
71
  class ListEnabledControls
58
72
  def self.build(context)
59
73
  unless context.config.regional_endpoint
@@ -68,5 +82,47 @@ module Aws::ControlTower
68
82
  end
69
83
  end
70
84
 
85
+ class ListTagsForResource
86
+ def self.build(context)
87
+ unless context.config.regional_endpoint
88
+ endpoint = context.config.endpoint.to_s
89
+ end
90
+ Aws::ControlTower::EndpointParameters.new(
91
+ region: context.config.region,
92
+ use_dual_stack: context.config.use_dualstack_endpoint,
93
+ use_fips: context.config.use_fips_endpoint,
94
+ endpoint: endpoint,
95
+ )
96
+ end
97
+ end
98
+
99
+ class TagResource
100
+ def self.build(context)
101
+ unless context.config.regional_endpoint
102
+ endpoint = context.config.endpoint.to_s
103
+ end
104
+ Aws::ControlTower::EndpointParameters.new(
105
+ region: context.config.region,
106
+ use_dual_stack: context.config.use_dualstack_endpoint,
107
+ use_fips: context.config.use_fips_endpoint,
108
+ endpoint: endpoint,
109
+ )
110
+ end
111
+ end
112
+
113
+ class UntagResource
114
+ def self.build(context)
115
+ unless context.config.regional_endpoint
116
+ endpoint = context.config.endpoint.to_s
117
+ end
118
+ Aws::ControlTower::EndpointParameters.new(
119
+ region: context.config.region,
120
+ use_dual_stack: context.config.use_dualstack_endpoint,
121
+ use_fips: context.config.use_fips_endpoint,
122
+ endpoint: endpoint,
123
+ )
124
+ end
125
+ end
126
+
71
127
  end
72
128
  end
@@ -62,8 +62,16 @@ module Aws::ControlTower
62
62
  Aws::ControlTower::Endpoints::EnableControl.build(context)
63
63
  when :get_control_operation
64
64
  Aws::ControlTower::Endpoints::GetControlOperation.build(context)
65
+ when :get_enabled_control
66
+ Aws::ControlTower::Endpoints::GetEnabledControl.build(context)
65
67
  when :list_enabled_controls
66
68
  Aws::ControlTower::Endpoints::ListEnabledControls.build(context)
69
+ when :list_tags_for_resource
70
+ Aws::ControlTower::Endpoints::ListTagsForResource.build(context)
71
+ when :tag_resource
72
+ Aws::ControlTower::Endpoints::TagResource.build(context)
73
+ when :untag_resource
74
+ Aws::ControlTower::Endpoints::UntagResource.build(context)
67
75
  end
68
76
  end
69
77
  end
@@ -74,11 +74,21 @@ module Aws::ControlTower
74
74
  # @!attribute [rw] control_identifier
75
75
  # The ARN of the control. Only **Strongly recommended** and
76
76
  # **Elective** controls are permitted, with the exception of the
77
- # **Region deny** guardrail.
77
+ # **Region deny** control. For information on how to find the
78
+ # `controlIdentifier`, see [the overview page][1].
79
+ #
80
+ #
81
+ #
82
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
78
83
  # @return [String]
79
84
  #
80
85
  # @!attribute [rw] target_identifier
81
- # The ARN of the organizational unit.
86
+ # The ARN of the organizational unit. For information on how to find
87
+ # the `targetIdentifier`, see [the overview page][1].
88
+ #
89
+ #
90
+ #
91
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
82
92
  # @return [String]
83
93
  #
84
94
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/DisableControlInput AWS API Documentation
@@ -103,25 +113,77 @@ module Aws::ControlTower
103
113
  include Aws::Structure
104
114
  end
105
115
 
116
+ # The drift summary of the enabled control.
117
+ #
118
+ # AWS Control Tower expects the enabled control configuration to include
119
+ # all supported and governed Regions. If the enabled control differs
120
+ # from the expected configuration, it is defined to be in a state of
121
+ # drift. You can repair this drift by resetting the enabled control.
122
+ #
123
+ # @!attribute [rw] drift_status
124
+ # The drift status of the enabled control.
125
+ #
126
+ # Valid values:
127
+ #
128
+ # * `DRIFTED`: The `enabledControl` deployed in this configuration
129
+ # doesn’t match the configuration that AWS Control Tower expected.
130
+ #
131
+ # * `IN_SYNC`: The `enabledControl` deployed in this configuration
132
+ # matches the configuration that AWS Control Tower expected.
133
+ #
134
+ # * `NOT_CHECKING`: AWS Control Tower does not check drift for this
135
+ # enabled control. Drift is not supported for the control type.
136
+ #
137
+ # * `UNKNOWN`: AWS Control Tower is not able to check the drift status
138
+ # for the enabled control.
139
+ # @return [String]
140
+ #
141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/DriftStatusSummary AWS API Documentation
142
+ #
143
+ class DriftStatusSummary < Struct.new(
144
+ :drift_status)
145
+ SENSITIVE = []
146
+ include Aws::Structure
147
+ end
148
+
106
149
  # @!attribute [rw] control_identifier
107
150
  # The ARN of the control. Only **Strongly recommended** and
108
151
  # **Elective** controls are permitted, with the exception of the
109
- # **Region deny** guardrail.
152
+ # **Region deny** control. For information on how to find the
153
+ # `controlIdentifier`, see [the overview page][1].
154
+ #
155
+ #
156
+ #
157
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
110
158
  # @return [String]
111
159
  #
160
+ # @!attribute [rw] tags
161
+ # Tags to be applied to the `EnabledControl` resource.
162
+ # @return [Hash<String,String>]
163
+ #
112
164
  # @!attribute [rw] target_identifier
113
- # The ARN of the organizational unit.
165
+ # The ARN of the organizational unit. For information on how to find
166
+ # the `targetIdentifier`, see [the overview page][1].
167
+ #
168
+ #
169
+ #
170
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
114
171
  # @return [String]
115
172
  #
116
173
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/EnableControlInput AWS API Documentation
117
174
  #
118
175
  class EnableControlInput < Struct.new(
119
176
  :control_identifier,
177
+ :tags,
120
178
  :target_identifier)
121
179
  SENSITIVE = []
122
180
  include Aws::Structure
123
181
  end
124
182
 
183
+ # @!attribute [rw] arn
184
+ # The ARN of the `EnabledControl` resource.
185
+ # @return [String]
186
+ #
125
187
  # @!attribute [rw] operation_identifier
126
188
  # The ID of the asynchronous operation, which is used to track status.
127
189
  # The operation is available for 90 days.
@@ -130,23 +192,119 @@ module Aws::ControlTower
130
192
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/EnableControlOutput AWS API Documentation
131
193
  #
132
194
  class EnableControlOutput < Struct.new(
195
+ :arn,
133
196
  :operation_identifier)
134
197
  SENSITIVE = []
135
198
  include Aws::Structure
136
199
  end
137
200
 
138
- # A summary of enabled controls.
201
+ # Information about the enabled control.
202
+ #
203
+ # @!attribute [rw] arn
204
+ # The ARN of the enabled control.
205
+ # @return [String]
139
206
  #
140
207
  # @!attribute [rw] control_identifier
141
- # The ARN of the control. Only **Strongly recommended** and
142
- # **Elective** controls are permitted, with the exception of the
143
- # **Region deny** guardrail.
208
+ # The control identifier of the enabled control. For information on
209
+ # how to find the `controlIdentifier`, see [the overview page][1].
210
+ #
211
+ #
212
+ #
213
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
214
+ # @return [String]
215
+ #
216
+ # @!attribute [rw] drift_status_summary
217
+ # The drift status of the enabled control.
218
+ # @return [Types::DriftStatusSummary]
219
+ #
220
+ # @!attribute [rw] status_summary
221
+ # The deployment summary of the enabled control.
222
+ # @return [Types::EnablementStatusSummary]
223
+ #
224
+ # @!attribute [rw] target_identifier
225
+ # The ARN of the organizational unit. For information on how to find
226
+ # the `targetIdentifier`, see [the overview page][1].
227
+ #
228
+ #
229
+ #
230
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
231
+ # @return [String]
232
+ #
233
+ # @!attribute [rw] target_regions
234
+ # Target AWS Regions for the enabled control.
235
+ # @return [Array<Types::Region>]
236
+ #
237
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/EnabledControlDetails AWS API Documentation
238
+ #
239
+ class EnabledControlDetails < Struct.new(
240
+ :arn,
241
+ :control_identifier,
242
+ :drift_status_summary,
243
+ :status_summary,
244
+ :target_identifier,
245
+ :target_regions)
246
+ SENSITIVE = []
247
+ include Aws::Structure
248
+ end
249
+
250
+ # Returns a summary of information about an enabled control.
251
+ #
252
+ # @!attribute [rw] arn
253
+ # The ARN of the enabled control.
254
+ # @return [String]
255
+ #
256
+ # @!attribute [rw] control_identifier
257
+ # The `controlIdentifier` of the enabled control.
258
+ # @return [String]
259
+ #
260
+ # @!attribute [rw] drift_status_summary
261
+ # The drift status of the enabled control.
262
+ # @return [Types::DriftStatusSummary]
263
+ #
264
+ # @!attribute [rw] status_summary
265
+ # A short description of the status of the enabled control.
266
+ # @return [Types::EnablementStatusSummary]
267
+ #
268
+ # @!attribute [rw] target_identifier
269
+ # The ARN of the organizational unit.
144
270
  # @return [String]
145
271
  #
146
272
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/EnabledControlSummary AWS API Documentation
147
273
  #
148
274
  class EnabledControlSummary < Struct.new(
149
- :control_identifier)
275
+ :arn,
276
+ :control_identifier,
277
+ :drift_status_summary,
278
+ :status_summary,
279
+ :target_identifier)
280
+ SENSITIVE = []
281
+ include Aws::Structure
282
+ end
283
+
284
+ # The deployment summary of the enabled control.
285
+ #
286
+ # @!attribute [rw] last_operation_identifier
287
+ # The last operation identifier for the enabled control.
288
+ # @return [String]
289
+ #
290
+ # @!attribute [rw] status
291
+ # The deployment status of the enabled control.
292
+ #
293
+ # Valid values:
294
+ #
295
+ # * `SUCCEEDED`: The `enabledControl` configuration was deployed
296
+ # successfully.
297
+ #
298
+ # * `UNDER_CHANGE`: The `enabledControl` configuration is changing.
299
+ #
300
+ # * `FAILED`: The `enabledControl` configuration failed to deploy.
301
+ # @return [String]
302
+ #
303
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/EnablementStatusSummary AWS API Documentation
304
+ #
305
+ class EnablementStatusSummary < Struct.new(
306
+ :last_operation_identifier,
307
+ :status)
150
308
  SENSITIVE = []
151
309
  include Aws::Structure
152
310
  end
@@ -165,6 +323,7 @@ module Aws::ControlTower
165
323
  end
166
324
 
167
325
  # @!attribute [rw] control_operation
326
+ # An operation performed by the control.
168
327
  # @return [Types::ControlOperation]
169
328
  #
170
329
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/GetControlOperationOutput AWS API Documentation
@@ -175,6 +334,30 @@ module Aws::ControlTower
175
334
  include Aws::Structure
176
335
  end
177
336
 
337
+ # @!attribute [rw] enabled_control_identifier
338
+ # The `controlIdentifier` of the enabled control.
339
+ # @return [String]
340
+ #
341
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/GetEnabledControlInput AWS API Documentation
342
+ #
343
+ class GetEnabledControlInput < Struct.new(
344
+ :enabled_control_identifier)
345
+ SENSITIVE = []
346
+ include Aws::Structure
347
+ end
348
+
349
+ # @!attribute [rw] enabled_control_details
350
+ # Information about the enabled control.
351
+ # @return [Types::EnabledControlDetails]
352
+ #
353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/GetEnabledControlOutput AWS API Documentation
354
+ #
355
+ class GetEnabledControlOutput < Struct.new(
356
+ :enabled_control_details)
357
+ SENSITIVE = []
358
+ include Aws::Structure
359
+ end
360
+
178
361
  # Unexpected error during processing of request.
179
362
  #
180
363
  # @!attribute [rw] message
@@ -198,7 +381,12 @@ module Aws::ControlTower
198
381
  # @return [String]
199
382
  #
200
383
  # @!attribute [rw] target_identifier
201
- # The ARN of the organizational unit.
384
+ # The ARN of the organizational unit. For information on how to find
385
+ # the `targetIdentifier`, see [the overview page][1].
386
+ #
387
+ #
388
+ #
389
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
202
390
  # @return [String]
203
391
  #
204
392
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/ListEnabledControlsInput AWS API Documentation
@@ -230,6 +418,54 @@ module Aws::ControlTower
230
418
  include Aws::Structure
231
419
  end
232
420
 
421
+ # @!attribute [rw] resource_arn
422
+ # The ARN of the resource.
423
+ # @return [String]
424
+ #
425
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/ListTagsForResourceInput AWS API Documentation
426
+ #
427
+ class ListTagsForResourceInput < Struct.new(
428
+ :resource_arn)
429
+ SENSITIVE = []
430
+ include Aws::Structure
431
+ end
432
+
433
+ # @!attribute [rw] tags
434
+ # A list of tags, as `key:value` strings.
435
+ # @return [Hash<String,String>]
436
+ #
437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/ListTagsForResourceOutput AWS API Documentation
438
+ #
439
+ class ListTagsForResourceOutput < Struct.new(
440
+ :tags)
441
+ SENSITIVE = []
442
+ include Aws::Structure
443
+ end
444
+
445
+ # An AWS Region in which AWS Control Tower expects to find the control
446
+ # deployed.
447
+ #
448
+ # The expected Regions are based on the Regions that are governed by the
449
+ # landing zone. In certain cases, a control is not actually enabled in
450
+ # the Region as expected, such as during drift, or [mixed
451
+ # governance][1].
452
+ #
453
+ #
454
+ #
455
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/region-how.html#mixed-governance
456
+ #
457
+ # @!attribute [rw] name
458
+ # The AWS Region name.
459
+ # @return [String]
460
+ #
461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/Region AWS API Documentation
462
+ #
463
+ class Region < Struct.new(
464
+ :name)
465
+ SENSITIVE = []
466
+ include Aws::Structure
467
+ end
468
+
233
469
  # Request references a resource which does not exist.
234
470
  #
235
471
  # @!attribute [rw] message
@@ -257,6 +493,27 @@ module Aws::ControlTower
257
493
  include Aws::Structure
258
494
  end
259
495
 
496
+ # @!attribute [rw] resource_arn
497
+ # The ARN of the resource to be tagged.
498
+ # @return [String]
499
+ #
500
+ # @!attribute [rw] tags
501
+ # Tags to be applied to the resource.
502
+ # @return [Hash<String,String>]
503
+ #
504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/TagResourceInput AWS API Documentation
505
+ #
506
+ class TagResourceInput < Struct.new(
507
+ :resource_arn,
508
+ :tags)
509
+ SENSITIVE = []
510
+ include Aws::Structure
511
+ end
512
+
513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/TagResourceOutput AWS API Documentation
514
+ #
515
+ class TagResourceOutput < Aws::EmptyStructure; end
516
+
260
517
  # Request was denied due to request throttling.
261
518
  #
262
519
  # @!attribute [rw] message
@@ -285,6 +542,27 @@ module Aws::ControlTower
285
542
  include Aws::Structure
286
543
  end
287
544
 
545
+ # @!attribute [rw] resource_arn
546
+ # The ARN of the resource.
547
+ # @return [String]
548
+ #
549
+ # @!attribute [rw] tag_keys
550
+ # Tag keys to be removed from the resource.
551
+ # @return [Array<String>]
552
+ #
553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/UntagResourceInput AWS API Documentation
554
+ #
555
+ class UntagResourceInput < Struct.new(
556
+ :resource_arn,
557
+ :tag_keys)
558
+ SENSITIVE = []
559
+ include Aws::Structure
560
+ end
561
+
562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/UntagResourceOutput AWS API Documentation
563
+ #
564
+ class UntagResourceOutput < Aws::EmptyStructure; end
565
+
288
566
  # The input fails to satisfy the constraints specified by an AWS
289
567
  # service.
290
568
  #
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-controltower/customizations'
52
52
  # @!group service
53
53
  module Aws::ControlTower
54
54
 
55
- GEM_VERSION = '1.9.0'
55
+ GEM_VERSION = '1.11.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-controltower
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.11.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: 2023-09-27 00:00:00.000000000 Z
11
+ date: 2023-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core