aws-sdk-controltower 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d15286b41b4e37c5e7ee7ed46629050a27c7b4758d5e6667af64389185e819e0
4
- data.tar.gz: 2a0caadb260cc26c4634131dc213927aa64457a48d241bed3b7b016ce83673fc
3
+ metadata.gz: f3ff7ad859e489b9dffbd38c5d388554a5d65bf59a751ce09643749b9c34e7c4
4
+ data.tar.gz: 8c31d7bd765e7dbfda8f9f23d683574666ec77b1a88737bdbf0d3615c71caeef
5
5
  SHA512:
6
- metadata.gz: 25e5a3f75945bb6793413a06d192488fd003314760964d86be8fbf78a77cb982f70db96a9e5987922344389db2ea69b91b18d9e0f74c1ba7850a17717999d548
7
- data.tar.gz: 3accb251e4a1b58326be90252ec714650adb8335816a91b9631e70849b2a535cae1217a3c80dbce2b97ea5c08cbf9d2068a88bcfca9097eb789aada37ad62acf
6
+ metadata.gz: 99704ae145ebfdcd7c2f0a228bcb167408ec14fb2afe5d15a1bfbc20f47bdfbbab126cbc7d38a4c414a6a570d3bede517f487d1eb8c77783af758a9657daa3b9
7
+ data.tar.gz: 84327384ce31b64c44753b7ed6ae57d0685166a23d25fba1ceed57221c48baa5251cd9c6b9b89484378f740219931db47d5817614142bcf481e239d54be34749
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.10.0 (2023-10-12)
5
+ ------------------
6
+
7
+ * Feature - Added new EnabledControl resource details to ListEnabledControls API and added new GetEnabledControl API.
8
+
4
9
  1.9.0 (2023-09-27)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.9.0
1
+ 1.10.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,15 +443,30 @@ 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
437
462
  #
438
463
  # @option params [required, String] :target_identifier
439
- # The ARN of the organizational unit.
464
+ # The ARN of the organizational unit. For information on how to find the
465
+ # `targetIdentifier`, see [the overview page][1].
466
+ #
467
+ #
468
+ #
469
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
440
470
  #
441
471
  # @return [Types::EnableControlOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
442
472
  #
@@ -464,7 +494,12 @@ module Aws::ControlTower
464
494
 
465
495
  # Returns the status of a particular `EnableControl` or `DisableControl`
466
496
  # operation. Displays a message in case of error. Details for an
467
- # operation are available for 90 days.
497
+ # operation are available for 90 days. For usage examples, see [ *the
498
+ # AWS Control Tower User Guide* ][1]
499
+ #
500
+ #
501
+ #
502
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
468
503
  #
469
504
  # @option params [required, String] :operation_identifier
470
505
  # The ID of the asynchronous operation, which is used to track status.
@@ -497,8 +532,62 @@ module Aws::ControlTower
497
532
  req.send_request(options)
498
533
  end
499
534
 
535
+ # Provides details about the enabled control. For usage examples, see [
536
+ # *the AWS Control Tower User Guide* ][1].
537
+ #
538
+ # **Returned values**
539
+ #
540
+ # * TargetRegions: Shows target AWS Regions where the enabled control is
541
+ # available to be deployed.
542
+ #
543
+ # * StatusSummary: Provides a detailed summary of the deployment status.
544
+ #
545
+ # * DriftSummary: Provides a detailed summary of the drifted status.
546
+ #
547
+ #
548
+ #
549
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
550
+ #
551
+ # @option params [required, String] :enabled_control_identifier
552
+ # The ARN of the enabled control.
553
+ #
554
+ # @return [Types::GetEnabledControlOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
555
+ #
556
+ # * {Types::GetEnabledControlOutput#enabled_control_details #enabled_control_details} => Types::EnabledControlDetails
557
+ #
558
+ # @example Request syntax with placeholder values
559
+ #
560
+ # resp = client.get_enabled_control({
561
+ # enabled_control_identifier: "Arn", # required
562
+ # })
563
+ #
564
+ # @example Response structure
565
+ #
566
+ # resp.enabled_control_details.arn #=> String
567
+ # resp.enabled_control_details.control_identifier #=> String
568
+ # resp.enabled_control_details.drift_status_summary.drift_status #=> String, one of "DRIFTED", "IN_SYNC", "NOT_CHECKING", "UNKNOWN"
569
+ # resp.enabled_control_details.status_summary.last_operation_identifier #=> String
570
+ # resp.enabled_control_details.status_summary.status #=> String, one of "SUCCEEDED", "FAILED", "UNDER_CHANGE"
571
+ # resp.enabled_control_details.target_identifier #=> String
572
+ # resp.enabled_control_details.target_regions #=> Array
573
+ # resp.enabled_control_details.target_regions[0].name #=> String
574
+ #
575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/GetEnabledControl AWS API Documentation
576
+ #
577
+ # @overload get_enabled_control(params = {})
578
+ # @param [Hash] params ({})
579
+ def get_enabled_control(params = {}, options = {})
580
+ req = build_request(:get_enabled_control, params)
581
+ req.send_request(options)
582
+ end
583
+
500
584
  # Lists the controls enabled by AWS Control Tower on the specified
501
- # organizational unit and the accounts it contains.
585
+ # organizational unit and the accounts it contains. For usage examples,
586
+ # see [ *the AWS Control Tower User Guide* ][1]
587
+ #
588
+ #
589
+ #
590
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/control-api-examples-short.html
502
591
  #
503
592
  # @option params [Integer] :max_results
504
593
  # How many results to return per API call.
@@ -508,7 +597,12 @@ module Aws::ControlTower
508
597
  # parameters.
509
598
  #
510
599
  # @option params [required, String] :target_identifier
511
- # The ARN of the organizational unit.
600
+ # The ARN of the organizational unit. For information on how to find the
601
+ # `targetIdentifier`, see [the overview page][1].
602
+ #
603
+ #
604
+ #
605
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
512
606
  #
513
607
  # @return [Types::ListEnabledControlsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
514
608
  #
@@ -528,7 +622,12 @@ module Aws::ControlTower
528
622
  # @example Response structure
529
623
  #
530
624
  # resp.enabled_controls #=> Array
625
+ # resp.enabled_controls[0].arn #=> String
531
626
  # resp.enabled_controls[0].control_identifier #=> String
627
+ # resp.enabled_controls[0].drift_status_summary.drift_status #=> String, one of "DRIFTED", "IN_SYNC", "NOT_CHECKING", "UNKNOWN"
628
+ # resp.enabled_controls[0].status_summary.last_operation_identifier #=> String
629
+ # resp.enabled_controls[0].status_summary.status #=> String, one of "SUCCEEDED", "FAILED", "UNDER_CHANGE"
630
+ # resp.enabled_controls[0].target_identifier #=> String
532
631
  # resp.next_token #=> String
533
632
  #
534
633
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/ListEnabledControls AWS API Documentation
@@ -553,7 +652,7 @@ module Aws::ControlTower
553
652
  params: params,
554
653
  config: config)
555
654
  context[:gem_name] = 'aws-sdk-controltower'
556
- context[:gem_version] = '1.9.0'
655
+ context[:gem_version] = '1.10.0'
557
656
  Seahorse::Client::Request.new(handlers, context)
558
657
  end
559
658
 
@@ -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,23 +22,33 @@ 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')
34
42
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
35
43
  OperationIdentifier = Shapes::StringShape.new(name: 'OperationIdentifier')
44
+ Region = Shapes::StructureShape.new(name: 'Region')
45
+ RegionName = Shapes::StringShape.new(name: 'RegionName')
36
46
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
37
47
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
38
48
  String = Shapes::StringShape.new(name: 'String')
39
49
  SyntheticTimestamp_date_time = Shapes::TimestampShape.new(name: 'SyntheticTimestamp_date_time', timestampFormat: "iso8601")
40
50
  TargetIdentifier = Shapes::StringShape.new(name: 'TargetIdentifier')
51
+ TargetRegions = Shapes::ListShape.new(name: 'TargetRegions')
41
52
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
42
53
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
43
54
 
@@ -61,6 +72,9 @@ module Aws::ControlTower
61
72
  DisableControlOutput.add_member(:operation_identifier, Shapes::ShapeRef.new(shape: OperationIdentifier, required: true, location_name: "operationIdentifier"))
62
73
  DisableControlOutput.struct_class = Types::DisableControlOutput
63
74
 
75
+ DriftStatusSummary.add_member(:drift_status, Shapes::ShapeRef.new(shape: DriftStatus, location_name: "driftStatus"))
76
+ DriftStatusSummary.struct_class = Types::DriftStatusSummary
77
+
64
78
  EnableControlInput.add_member(:control_identifier, Shapes::ShapeRef.new(shape: ControlIdentifier, required: true, location_name: "controlIdentifier"))
65
79
  EnableControlInput.add_member(:target_identifier, Shapes::ShapeRef.new(shape: TargetIdentifier, required: true, location_name: "targetIdentifier"))
66
80
  EnableControlInput.struct_class = Types::EnableControlInput
@@ -68,17 +82,39 @@ module Aws::ControlTower
68
82
  EnableControlOutput.add_member(:operation_identifier, Shapes::ShapeRef.new(shape: OperationIdentifier, required: true, location_name: "operationIdentifier"))
69
83
  EnableControlOutput.struct_class = Types::EnableControlOutput
70
84
 
85
+ EnabledControlDetails.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "arn"))
86
+ EnabledControlDetails.add_member(:control_identifier, Shapes::ShapeRef.new(shape: ControlIdentifier, location_name: "controlIdentifier"))
87
+ EnabledControlDetails.add_member(:drift_status_summary, Shapes::ShapeRef.new(shape: DriftStatusSummary, location_name: "driftStatusSummary"))
88
+ EnabledControlDetails.add_member(:status_summary, Shapes::ShapeRef.new(shape: EnablementStatusSummary, location_name: "statusSummary"))
89
+ EnabledControlDetails.add_member(:target_identifier, Shapes::ShapeRef.new(shape: TargetIdentifier, location_name: "targetIdentifier"))
90
+ EnabledControlDetails.add_member(:target_regions, Shapes::ShapeRef.new(shape: TargetRegions, location_name: "targetRegions"))
91
+ EnabledControlDetails.struct_class = Types::EnabledControlDetails
92
+
93
+ EnabledControlSummary.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "arn"))
71
94
  EnabledControlSummary.add_member(:control_identifier, Shapes::ShapeRef.new(shape: ControlIdentifier, location_name: "controlIdentifier"))
95
+ EnabledControlSummary.add_member(:drift_status_summary, Shapes::ShapeRef.new(shape: DriftStatusSummary, location_name: "driftStatusSummary"))
96
+ EnabledControlSummary.add_member(:status_summary, Shapes::ShapeRef.new(shape: EnablementStatusSummary, location_name: "statusSummary"))
97
+ EnabledControlSummary.add_member(:target_identifier, Shapes::ShapeRef.new(shape: TargetIdentifier, location_name: "targetIdentifier"))
72
98
  EnabledControlSummary.struct_class = Types::EnabledControlSummary
73
99
 
74
100
  EnabledControls.member = Shapes::ShapeRef.new(shape: EnabledControlSummary)
75
101
 
102
+ EnablementStatusSummary.add_member(:last_operation_identifier, Shapes::ShapeRef.new(shape: OperationIdentifier, location_name: "lastOperationIdentifier"))
103
+ EnablementStatusSummary.add_member(:status, Shapes::ShapeRef.new(shape: EnablementStatus, location_name: "status"))
104
+ EnablementStatusSummary.struct_class = Types::EnablementStatusSummary
105
+
76
106
  GetControlOperationInput.add_member(:operation_identifier, Shapes::ShapeRef.new(shape: OperationIdentifier, required: true, location_name: "operationIdentifier"))
77
107
  GetControlOperationInput.struct_class = Types::GetControlOperationInput
78
108
 
79
109
  GetControlOperationOutput.add_member(:control_operation, Shapes::ShapeRef.new(shape: ControlOperation, required: true, location_name: "controlOperation"))
80
110
  GetControlOperationOutput.struct_class = Types::GetControlOperationOutput
81
111
 
112
+ GetEnabledControlInput.add_member(:enabled_control_identifier, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "enabledControlIdentifier"))
113
+ GetEnabledControlInput.struct_class = Types::GetEnabledControlInput
114
+
115
+ GetEnabledControlOutput.add_member(:enabled_control_details, Shapes::ShapeRef.new(shape: EnabledControlDetails, required: true, location_name: "enabledControlDetails"))
116
+ GetEnabledControlOutput.struct_class = Types::GetEnabledControlOutput
117
+
82
118
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
83
119
  InternalServerException.struct_class = Types::InternalServerException
84
120
 
@@ -91,12 +127,17 @@ module Aws::ControlTower
91
127
  ListEnabledControlsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
92
128
  ListEnabledControlsOutput.struct_class = Types::ListEnabledControlsOutput
93
129
 
130
+ Region.add_member(:name, Shapes::ShapeRef.new(shape: RegionName, location_name: "name"))
131
+ Region.struct_class = Types::Region
132
+
94
133
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
95
134
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
96
135
 
97
136
  ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
98
137
  ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
99
138
 
139
+ TargetRegions.member = Shapes::ShapeRef.new(shape: Region)
140
+
100
141
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
101
142
  ThrottlingException.add_member(:quota_code, Shapes::ShapeRef.new(shape: String, location_name: "quotaCode"))
102
143
  ThrottlingException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: Integer, location: "header", location_name: "Retry-After"))
@@ -167,6 +208,19 @@ module Aws::ControlTower
167
208
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
168
209
  end)
169
210
 
211
+ api.add_operation(:get_enabled_control, Seahorse::Model::Operation.new.tap do |o|
212
+ o.name = "GetEnabledControl"
213
+ o.http_method = "POST"
214
+ o.http_request_uri = "/get-enabled-control"
215
+ o.input = Shapes::ShapeRef.new(shape: GetEnabledControlInput)
216
+ o.output = Shapes::ShapeRef.new(shape: GetEnabledControlOutput)
217
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
218
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
219
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
220
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
221
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
222
+ end)
223
+
170
224
  api.add_operation(:list_enabled_controls, Seahorse::Model::Operation.new.tap do |o|
171
225
  o.name = "ListEnabledControls"
172
226
  o.http_method = "POST"
@@ -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
@@ -62,6 +62,8 @@ 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)
67
69
  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,14 +113,57 @@ 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
  #
112
160
  # @!attribute [rw] target_identifier
113
- # The ARN of the organizational unit.
161
+ # The ARN of the organizational unit. For information on how to find
162
+ # the `targetIdentifier`, see [the overview page][1].
163
+ #
164
+ #
165
+ #
166
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
114
167
  # @return [String]
115
168
  #
116
169
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/EnableControlInput AWS API Documentation
@@ -135,18 +188,122 @@ module Aws::ControlTower
135
188
  include Aws::Structure
136
189
  end
137
190
 
191
+ # Information about the enabled control.
192
+ #
193
+ # @!attribute [rw] arn
194
+ # The ARN of the enabled control.
195
+ # @return [String]
196
+ #
197
+ # @!attribute [rw] control_identifier
198
+ # The control identifier of the enabled control. For information on
199
+ # how to find the `controlIdentifier`, see [the overview page][1].
200
+ #
201
+ #
202
+ #
203
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
204
+ # @return [String]
205
+ #
206
+ # @!attribute [rw] drift_status_summary
207
+ # The drift status of the enabled control.
208
+ # @return [Types::DriftStatusSummary]
209
+ #
210
+ # @!attribute [rw] status_summary
211
+ # The deployment summary of the enabled control.
212
+ # @return [Types::EnablementStatusSummary]
213
+ #
214
+ # @!attribute [rw] target_identifier
215
+ # The ARN of the organizational unit. For information on how to find
216
+ # the `targetIdentifier`, see [the overview page][1].
217
+ #
218
+ #
219
+ #
220
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
221
+ # @return [String]
222
+ #
223
+ # @!attribute [rw] target_regions
224
+ # Target AWS Regions for the enabled control.
225
+ # @return [Array<Types::Region>]
226
+ #
227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/EnabledControlDetails AWS API Documentation
228
+ #
229
+ class EnabledControlDetails < Struct.new(
230
+ :arn,
231
+ :control_identifier,
232
+ :drift_status_summary,
233
+ :status_summary,
234
+ :target_identifier,
235
+ :target_regions)
236
+ SENSITIVE = []
237
+ include Aws::Structure
238
+ end
239
+
138
240
  # A summary of enabled controls.
139
241
  #
242
+ # @!attribute [rw] arn
243
+ # The ARN of the enabled control.
244
+ # @return [String]
245
+ #
140
246
  # @!attribute [rw] control_identifier
141
247
  # The ARN of the control. Only **Strongly recommended** and
142
248
  # **Elective** controls are permitted, with the exception of the
143
- # **Region deny** guardrail.
249
+ # **Region deny** control. For information on how to find the
250
+ # `controlIdentifier`, see [the overview page][1].
251
+ #
252
+ #
253
+ #
254
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
255
+ # @return [String]
256
+ #
257
+ # @!attribute [rw] drift_status_summary
258
+ # The drift status of the enabled control.
259
+ # @return [Types::DriftStatusSummary]
260
+ #
261
+ # @!attribute [rw] status_summary
262
+ # <zonbook />
263
+ #
264
+ # <xhtml />
265
+ # @return [Types::EnablementStatusSummary]
266
+ #
267
+ # @!attribute [rw] target_identifier
268
+ # The ARN of the organizational unit.
144
269
  # @return [String]
145
270
  #
146
271
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/EnabledControlSummary AWS API Documentation
147
272
  #
148
273
  class EnabledControlSummary < Struct.new(
149
- :control_identifier)
274
+ :arn,
275
+ :control_identifier,
276
+ :drift_status_summary,
277
+ :status_summary,
278
+ :target_identifier)
279
+ SENSITIVE = []
280
+ include Aws::Structure
281
+ end
282
+
283
+ # The deployment summary of the enabled control.
284
+ #
285
+ # @!attribute [rw] last_operation_identifier
286
+ # The last operation identifier for the enabled control.
287
+ # @return [String]
288
+ #
289
+ # @!attribute [rw] status
290
+ # The deployment status of the enabled control.
291
+ #
292
+ # Valid values:
293
+ #
294
+ # * `SUCCEEDED`: The `enabledControl` configuration was deployed
295
+ # successfully.
296
+ #
297
+ # * `UNDER_CHANGE`: The `enabledControl` configuration is changing.
298
+ #
299
+ # * `FAILED`: The `enabledControl` configuration failed to deploy.
300
+ # @return [String]
301
+ #
302
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/EnablementStatusSummary AWS API Documentation
303
+ #
304
+ class EnablementStatusSummary < Struct.new(
305
+ :last_operation_identifier,
306
+ :status)
150
307
  SENSITIVE = []
151
308
  include Aws::Structure
152
309
  end
@@ -165,6 +322,7 @@ module Aws::ControlTower
165
322
  end
166
323
 
167
324
  # @!attribute [rw] control_operation
325
+ # An operation performed by the control.
168
326
  # @return [Types::ControlOperation]
169
327
  #
170
328
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/GetControlOperationOutput AWS API Documentation
@@ -175,6 +333,30 @@ module Aws::ControlTower
175
333
  include Aws::Structure
176
334
  end
177
335
 
336
+ # @!attribute [rw] enabled_control_identifier
337
+ # The ARN of the enabled control.
338
+ # @return [String]
339
+ #
340
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/GetEnabledControlInput AWS API Documentation
341
+ #
342
+ class GetEnabledControlInput < Struct.new(
343
+ :enabled_control_identifier)
344
+ SENSITIVE = []
345
+ include Aws::Structure
346
+ end
347
+
348
+ # @!attribute [rw] enabled_control_details
349
+ # Information about the enabled control.
350
+ # @return [Types::EnabledControlDetails]
351
+ #
352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/GetEnabledControlOutput AWS API Documentation
353
+ #
354
+ class GetEnabledControlOutput < Struct.new(
355
+ :enabled_control_details)
356
+ SENSITIVE = []
357
+ include Aws::Structure
358
+ end
359
+
178
360
  # Unexpected error during processing of request.
179
361
  #
180
362
  # @!attribute [rw] message
@@ -198,7 +380,12 @@ module Aws::ControlTower
198
380
  # @return [String]
199
381
  #
200
382
  # @!attribute [rw] target_identifier
201
- # The ARN of the organizational unit.
383
+ # The ARN of the organizational unit. For information on how to find
384
+ # the `targetIdentifier`, see [the overview page][1].
385
+ #
386
+ #
387
+ #
388
+ # [1]: https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html
202
389
  # @return [String]
203
390
  #
204
391
  # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/ListEnabledControlsInput AWS API Documentation
@@ -230,6 +417,30 @@ module Aws::ControlTower
230
417
  include Aws::Structure
231
418
  end
232
419
 
420
+ # An AWS Region in which AWS Control Tower expects to find the control
421
+ # deployed.
422
+ #
423
+ # The expected Regions are based on the Regions that are governed by the
424
+ # landing zone. In certain cases, a control is not actually enabled in
425
+ # the Region as expected, such as during drift, or [mixed
426
+ # governance][1].
427
+ #
428
+ #
429
+ #
430
+ # [1]: https://docs.aws.amazon.com/controltower/latest/userguide/region-how.html#mixed-governance
431
+ #
432
+ # @!attribute [rw] name
433
+ # The AWS Region name.
434
+ # @return [String]
435
+ #
436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/controltower-2018-05-10/Region AWS API Documentation
437
+ #
438
+ class Region < Struct.new(
439
+ :name)
440
+ SENSITIVE = []
441
+ include Aws::Structure
442
+ end
443
+
233
444
  # Request references a resource which does not exist.
234
445
  #
235
446
  # @!attribute [rw] message
@@ -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.10.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.10.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-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core