Skip to content

Commit d6ac7b0

Browse files
AWS Control Tower now reports the inheritance drift status for EnabledBaselines through the GetEnabledBaseline and ListEnabledBaselines APIs. You can now filter EnabledBaselines by their enablement and drift status using the ListEnabledBaselines API to view accounts and OUs that require attention.
1 parent 172abbd commit d6ac7b0

21 files changed

+969
-153
lines changed

generator/ServiceModels/controltower/controltower-2018-05-10.api.json

Lines changed: 91 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
"input":{"shape":"CreateLandingZoneInput"},
2525
"output":{"shape":"CreateLandingZoneOutput"},
2626
"errors":[
27-
{"shape":"ValidationException"},
2827
{"shape":"ConflictException"},
28+
{"shape":"ValidationException"},
2929
{"shape":"InternalServerException"},
3030
{"shape":"AccessDeniedException"},
3131
{"shape":"ThrottlingException"}
@@ -41,12 +41,12 @@
4141
"input":{"shape":"DeleteLandingZoneInput"},
4242
"output":{"shape":"DeleteLandingZoneOutput"},
4343
"errors":[
44-
{"shape":"ValidationException"},
4544
{"shape":"ConflictException"},
45+
{"shape":"ValidationException"},
4646
{"shape":"InternalServerException"},
4747
{"shape":"AccessDeniedException"},
48-
{"shape":"ThrottlingException"},
49-
{"shape":"ResourceNotFoundException"}
48+
{"shape":"ResourceNotFoundException"},
49+
{"shape":"ThrottlingException"}
5050
],
5151
"idempotent":true
5252
},
@@ -60,13 +60,13 @@
6060
"input":{"shape":"DisableBaselineInput"},
6161
"output":{"shape":"DisableBaselineOutput"},
6262
"errors":[
63-
{"shape":"ValidationException"},
6463
{"shape":"ConflictException"},
64+
{"shape":"ValidationException"},
6565
{"shape":"ServiceQuotaExceededException"},
6666
{"shape":"InternalServerException"},
6767
{"shape":"AccessDeniedException"},
68-
{"shape":"ThrottlingException"},
69-
{"shape":"ResourceNotFoundException"}
68+
{"shape":"ResourceNotFoundException"},
69+
{"shape":"ThrottlingException"}
7070
],
7171
"idempotent":true
7272
},
@@ -80,13 +80,13 @@
8080
"input":{"shape":"DisableControlInput"},
8181
"output":{"shape":"DisableControlOutput"},
8282
"errors":[
83-
{"shape":"ValidationException"},
8483
{"shape":"ConflictException"},
84+
{"shape":"ValidationException"},
8585
{"shape":"ServiceQuotaExceededException"},
8686
{"shape":"InternalServerException"},
8787
{"shape":"AccessDeniedException"},
88-
{"shape":"ThrottlingException"},
89-
{"shape":"ResourceNotFoundException"}
88+
{"shape":"ResourceNotFoundException"},
89+
{"shape":"ThrottlingException"}
9090
]
9191
},
9292
"EnableBaseline":{
@@ -99,13 +99,13 @@
9999
"input":{"shape":"EnableBaselineInput"},
100100
"output":{"shape":"EnableBaselineOutput"},
101101
"errors":[
102-
{"shape":"ValidationException"},
103102
{"shape":"ConflictException"},
103+
{"shape":"ValidationException"},
104104
{"shape":"ServiceQuotaExceededException"},
105105
{"shape":"InternalServerException"},
106106
{"shape":"AccessDeniedException"},
107-
{"shape":"ThrottlingException"},
108-
{"shape":"ResourceNotFoundException"}
107+
{"shape":"ResourceNotFoundException"},
108+
{"shape":"ThrottlingException"}
109109
]
110110
},
111111
"EnableControl":{
@@ -118,13 +118,13 @@
118118
"input":{"shape":"EnableControlInput"},
119119
"output":{"shape":"EnableControlOutput"},
120120
"errors":[
121-
{"shape":"ValidationException"},
122121
{"shape":"ConflictException"},
122+
{"shape":"ValidationException"},
123123
{"shape":"ServiceQuotaExceededException"},
124124
{"shape":"InternalServerException"},
125125
{"shape":"AccessDeniedException"},
126-
{"shape":"ThrottlingException"},
127-
{"shape":"ResourceNotFoundException"}
126+
{"shape":"ResourceNotFoundException"},
127+
{"shape":"ThrottlingException"}
128128
]
129129
},
130130
"GetBaseline":{
@@ -140,8 +140,8 @@
140140
{"shape":"ValidationException"},
141141
{"shape":"InternalServerException"},
142142
{"shape":"AccessDeniedException"},
143-
{"shape":"ThrottlingException"},
144-
{"shape":"ResourceNotFoundException"}
143+
{"shape":"ResourceNotFoundException"},
144+
{"shape":"ThrottlingException"}
145145
]
146146
},
147147
"GetBaselineOperation":{
@@ -157,8 +157,8 @@
157157
{"shape":"ValidationException"},
158158
{"shape":"InternalServerException"},
159159
{"shape":"AccessDeniedException"},
160-
{"shape":"ThrottlingException"},
161-
{"shape":"ResourceNotFoundException"}
160+
{"shape":"ResourceNotFoundException"},
161+
{"shape":"ThrottlingException"}
162162
]
163163
},
164164
"GetControlOperation":{
@@ -174,8 +174,8 @@
174174
{"shape":"ValidationException"},
175175
{"shape":"InternalServerException"},
176176
{"shape":"AccessDeniedException"},
177-
{"shape":"ThrottlingException"},
178-
{"shape":"ResourceNotFoundException"}
177+
{"shape":"ResourceNotFoundException"},
178+
{"shape":"ThrottlingException"}
179179
]
180180
},
181181
"GetEnabledBaseline":{
@@ -191,8 +191,8 @@
191191
{"shape":"ValidationException"},
192192
{"shape":"InternalServerException"},
193193
{"shape":"AccessDeniedException"},
194-
{"shape":"ThrottlingException"},
195-
{"shape":"ResourceNotFoundException"}
194+
{"shape":"ResourceNotFoundException"},
195+
{"shape":"ThrottlingException"}
196196
]
197197
},
198198
"GetEnabledControl":{
@@ -208,8 +208,8 @@
208208
{"shape":"ValidationException"},
209209
{"shape":"InternalServerException"},
210210
{"shape":"AccessDeniedException"},
211-
{"shape":"ThrottlingException"},
212-
{"shape":"ResourceNotFoundException"}
211+
{"shape":"ResourceNotFoundException"},
212+
{"shape":"ThrottlingException"}
213213
]
214214
},
215215
"GetLandingZone":{
@@ -225,8 +225,8 @@
225225
{"shape":"ValidationException"},
226226
{"shape":"InternalServerException"},
227227
{"shape":"AccessDeniedException"},
228-
{"shape":"ThrottlingException"},
229-
{"shape":"ResourceNotFoundException"}
228+
{"shape":"ResourceNotFoundException"},
229+
{"shape":"ThrottlingException"}
230230
]
231231
},
232232
"GetLandingZoneOperation":{
@@ -242,8 +242,8 @@
242242
{"shape":"ValidationException"},
243243
{"shape":"InternalServerException"},
244244
{"shape":"AccessDeniedException"},
245-
{"shape":"ThrottlingException"},
246-
{"shape":"ResourceNotFoundException"}
245+
{"shape":"ResourceNotFoundException"},
246+
{"shape":"ThrottlingException"}
247247
]
248248
},
249249
"ListBaselines":{
@@ -307,8 +307,8 @@
307307
{"shape":"ValidationException"},
308308
{"shape":"InternalServerException"},
309309
{"shape":"AccessDeniedException"},
310-
{"shape":"ThrottlingException"},
311-
{"shape":"ResourceNotFoundException"}
310+
{"shape":"ResourceNotFoundException"},
311+
{"shape":"ThrottlingException"}
312312
]
313313
},
314314
"ListLandingZoneOperations":{
@@ -368,13 +368,13 @@
368368
"input":{"shape":"ResetEnabledBaselineInput"},
369369
"output":{"shape":"ResetEnabledBaselineOutput"},
370370
"errors":[
371-
{"shape":"ValidationException"},
372371
{"shape":"ConflictException"},
372+
{"shape":"ValidationException"},
373373
{"shape":"ServiceQuotaExceededException"},
374374
{"shape":"InternalServerException"},
375375
{"shape":"AccessDeniedException"},
376-
{"shape":"ThrottlingException"},
377-
{"shape":"ResourceNotFoundException"}
376+
{"shape":"ResourceNotFoundException"},
377+
{"shape":"ThrottlingException"}
378378
]
379379
},
380380
"ResetEnabledControl":{
@@ -387,13 +387,13 @@
387387
"input":{"shape":"ResetEnabledControlInput"},
388388
"output":{"shape":"ResetEnabledControlOutput"},
389389
"errors":[
390-
{"shape":"ValidationException"},
391390
{"shape":"ConflictException"},
391+
{"shape":"ValidationException"},
392392
{"shape":"ServiceQuotaExceededException"},
393393
{"shape":"InternalServerException"},
394394
{"shape":"AccessDeniedException"},
395-
{"shape":"ThrottlingException"},
396-
{"shape":"ResourceNotFoundException"}
395+
{"shape":"ResourceNotFoundException"},
396+
{"shape":"ThrottlingException"}
397397
]
398398
},
399399
"ResetLandingZone":{
@@ -406,12 +406,12 @@
406406
"input":{"shape":"ResetLandingZoneInput"},
407407
"output":{"shape":"ResetLandingZoneOutput"},
408408
"errors":[
409-
{"shape":"ValidationException"},
410409
{"shape":"ConflictException"},
410+
{"shape":"ValidationException"},
411411
{"shape":"InternalServerException"},
412412
{"shape":"AccessDeniedException"},
413-
{"shape":"ThrottlingException"},
414-
{"shape":"ResourceNotFoundException"}
413+
{"shape":"ResourceNotFoundException"},
414+
{"shape":"ThrottlingException"}
415415
]
416416
},
417417
"TagResource":{
@@ -454,13 +454,13 @@
454454
"input":{"shape":"UpdateEnabledBaselineInput"},
455455
"output":{"shape":"UpdateEnabledBaselineOutput"},
456456
"errors":[
457-
{"shape":"ValidationException"},
458457
{"shape":"ConflictException"},
458+
{"shape":"ValidationException"},
459459
{"shape":"ServiceQuotaExceededException"},
460460
{"shape":"InternalServerException"},
461461
{"shape":"AccessDeniedException"},
462-
{"shape":"ThrottlingException"},
463-
{"shape":"ResourceNotFoundException"}
462+
{"shape":"ResourceNotFoundException"},
463+
{"shape":"ThrottlingException"}
464464
]
465465
},
466466
"UpdateEnabledControl":{
@@ -473,13 +473,13 @@
473473
"input":{"shape":"UpdateEnabledControlInput"},
474474
"output":{"shape":"UpdateEnabledControlOutput"},
475475
"errors":[
476-
{"shape":"ValidationException"},
477476
{"shape":"ConflictException"},
477+
{"shape":"ValidationException"},
478478
{"shape":"ServiceQuotaExceededException"},
479479
{"shape":"InternalServerException"},
480480
{"shape":"AccessDeniedException"},
481-
{"shape":"ThrottlingException"},
482-
{"shape":"ResourceNotFoundException"}
481+
{"shape":"ResourceNotFoundException"},
482+
{"shape":"ThrottlingException"}
483483
]
484484
},
485485
"UpdateLandingZone":{
@@ -492,12 +492,12 @@
492492
"input":{"shape":"UpdateLandingZoneInput"},
493493
"output":{"shape":"UpdateLandingZoneOutput"},
494494
"errors":[
495-
{"shape":"ValidationException"},
496495
{"shape":"ConflictException"},
496+
{"shape":"ValidationException"},
497497
{"shape":"InternalServerException"},
498498
{"shape":"AccessDeniedException"},
499-
{"shape":"ThrottlingException"},
500-
{"shape":"ResourceNotFoundException"}
499+
{"shape":"ResourceNotFoundException"},
500+
{"shape":"ThrottlingException"}
501501
]
502502
}
503503
},
@@ -834,20 +834,60 @@
834834
"arn":{"shape":"Arn"},
835835
"baselineIdentifier":{"shape":"String"},
836836
"baselineVersion":{"shape":"String"},
837+
"driftStatusSummary":{"shape":"EnabledBaselineDriftStatusSummary"},
837838
"parameters":{"shape":"EnabledBaselineParameterSummaries"},
838839
"parentIdentifier":{"shape":"Arn"},
839840
"statusSummary":{"shape":"EnablementStatusSummary"},
840841
"targetIdentifier":{"shape":"String"}
841842
}
842843
},
844+
"EnabledBaselineDriftStatus":{
845+
"type":"string",
846+
"enum":[
847+
"IN_SYNC",
848+
"DRIFTED"
849+
]
850+
},
851+
"EnabledBaselineDriftStatusSummary":{
852+
"type":"structure",
853+
"members":{
854+
"types":{"shape":"EnabledBaselineDriftTypes"}
855+
}
856+
},
857+
"EnabledBaselineDriftStatuses":{
858+
"type":"list",
859+
"member":{"shape":"EnabledBaselineDriftStatus"},
860+
"max":1,
861+
"min":1
862+
},
863+
"EnabledBaselineDriftTypes":{
864+
"type":"structure",
865+
"members":{
866+
"inheritance":{"shape":"EnabledBaselineInheritanceDrift"}
867+
}
868+
},
869+
"EnabledBaselineEnablementStatuses":{
870+
"type":"list",
871+
"member":{"shape":"EnablementStatus"},
872+
"max":1,
873+
"min":1
874+
},
843875
"EnabledBaselineFilter":{
844876
"type":"structure",
845877
"members":{
846878
"baselineIdentifiers":{"shape":"EnabledBaselineBaselineIdentifiers"},
879+
"inheritanceDriftStatuses":{"shape":"EnabledBaselineDriftStatuses"},
847880
"parentIdentifiers":{"shape":"EnabledBaselineParentIdentifiers"},
881+
"statuses":{"shape":"EnabledBaselineEnablementStatuses"},
848882
"targetIdentifiers":{"shape":"EnabledBaselineTargetIdentifiers"}
849883
}
850884
},
885+
"EnabledBaselineInheritanceDrift":{
886+
"type":"structure",
887+
"members":{
888+
"status":{"shape":"EnabledBaselineDriftStatus"}
889+
}
890+
},
851891
"EnabledBaselineParameter":{
852892
"type":"structure",
853893
"required":[
@@ -902,6 +942,7 @@
902942
"arn":{"shape":"Arn"},
903943
"baselineIdentifier":{"shape":"String"},
904944
"baselineVersion":{"shape":"String"},
945+
"driftStatusSummary":{"shape":"EnabledBaselineDriftStatusSummary"},
905946
"parentIdentifier":{"shape":"Arn"},
906947
"statusSummary":{"shape":"EnablementStatusSummary"},
907948
"targetIdentifier":{"shape":"String"}

0 commit comments

Comments
 (0)