@@ -42,27 +42,35 @@ def list_baselines(self):
42
42
:raises ClientError: If the listing operation fails.
43
43
"""
44
44
try :
45
- paginator = self .controltower_client .get_paginator (' list_baselines' )
45
+ paginator = self .controltower_client .get_paginator (" list_baselines" )
46
46
baselines = []
47
47
for page in paginator .paginate ():
48
- baselines .extend (page [' baselines' ])
48
+ baselines .extend (page [" baselines" ])
49
49
return baselines
50
50
51
51
except ClientError as err :
52
52
if err .response ["Error" ]["Code" ] == "AccessDeniedException" :
53
- logger .error ("Access denied. Please ensure you have the necessary permissions." )
53
+ logger .error (
54
+ "Access denied. Please ensure you have the necessary permissions."
55
+ )
54
56
else :
55
57
logger .error (
56
58
"Couldn't list baselines. Here's why: %s: %s" ,
57
59
err .response ["Error" ]["Code" ],
58
- err .response ["Error" ]["Message" ]
60
+ err .response ["Error" ]["Message" ],
59
61
)
60
62
raise
61
63
62
64
# snippet-end:[python.example_code.controltower.ListBaselines]
63
65
64
66
# snippet-start:[python.example_code.controltower.EnableBaseline]
65
- def enable_baseline (self , target_identifier , identity_center_baseline , baseline_identifier , baseline_version ):
67
+ def enable_baseline (
68
+ self ,
69
+ target_identifier ,
70
+ identity_center_baseline ,
71
+ baseline_identifier ,
72
+ baseline_version ,
73
+ ):
66
74
"""
67
75
Enables a baseline for the specified target if it's not already enabled.
68
76
@@ -81,35 +89,38 @@ def enable_baseline(self, target_identifier, identity_center_baseline, baseline_
81
89
parameters = [
82
90
{
83
91
"key" : "IdentityCenterEnabledBaselineArn" ,
84
- "value" : identity_center_baseline
92
+ "value" : identity_center_baseline ,
85
93
}
86
- ]
94
+ ],
87
95
)
88
96
89
- operation_id = response [' operationIdentifier' ]
97
+ operation_id = response [" operationIdentifier" ]
90
98
while True :
91
99
status = self .get_baseline_operation (operation_id )
92
100
print (f"Baseline operation status: { status } " )
93
- if status in [' SUCCEEDED' , ' FAILED' ]:
101
+ if status in [" SUCCEEDED" , " FAILED" ]:
94
102
break
95
103
time .sleep (30 )
96
104
97
- return response [' arn' ]
105
+ return response [" arn" ]
98
106
except ClientError as err :
99
107
if err .response ["Error" ]["Code" ] == "ValidationException" :
100
108
if "already enabled" in err .response ["Error" ]["Message" ]:
101
109
print ("Baseline is already enabled for this target" )
102
110
return None
103
111
else :
104
- print ("Unable to enable baseline due to validation exception: %s: %s" ,
105
- err .response ["Error" ]["Code" ],
106
- err .response ["Error" ]["Message" ])
112
+ print (
113
+ "Unable to enable baseline due to validation exception: %s: %s" ,
114
+ err .response ["Error" ]["Code" ],
115
+ err .response ["Error" ]["Message" ],
116
+ )
107
117
logger .error (
108
118
"Couldn't enable baseline. Here's why: %s: %s" ,
109
119
err .response ["Error" ]["Code" ],
110
- err .response ["Error" ]["Message" ]
120
+ err .response ["Error" ]["Message" ],
111
121
)
112
122
raise
123
+
113
124
# snippet-end:[python.example_code.controltower.EnableBaseline]
114
125
115
126
# snippet-start:[python.example_code.controltower.ListControls]
@@ -121,20 +132,22 @@ def list_controls(self):
121
132
:raises ClientError: If the listing operation fails.
122
133
"""
123
134
try :
124
- paginator = self .controlcatalog_client .get_paginator (' list_controls' )
135
+ paginator = self .controlcatalog_client .get_paginator (" list_controls" )
125
136
controls = []
126
137
for page in paginator .paginate ():
127
- controls .extend (page [' Controls' ])
138
+ controls .extend (page [" Controls" ])
128
139
return controls
129
140
130
141
except ClientError as err :
131
142
if err .response ["Error" ]["Code" ] == "AccessDeniedException" :
132
- logger .error ("Access denied. Please ensure you have the necessary permissions." )
143
+ logger .error (
144
+ "Access denied. Please ensure you have the necessary permissions."
145
+ )
133
146
else :
134
147
logger .error (
135
148
"Couldn't list controls. Here's why: %s: %s" ,
136
149
err .response ["Error" ]["Code" ],
137
- err .response ["Error" ]["Message" ]
150
+ err .response ["Error" ]["Message" ],
138
151
)
139
152
raise
140
153
@@ -154,30 +167,30 @@ def enable_control(self, control_arn, target_identifier):
154
167
print (control_arn )
155
168
print (target_identifier )
156
169
response = self .controltower_client .enable_control (
157
- controlIdentifier = control_arn ,
158
- targetIdentifier = target_identifier
170
+ controlIdentifier = control_arn , targetIdentifier = target_identifier
159
171
)
160
172
161
- operation_id = response [' operationIdentifier' ]
173
+ operation_id = response [" operationIdentifier" ]
162
174
while True :
163
175
status = self .get_control_operation (operation_id )
164
176
print (f"Control operation status: { status } " )
165
- if status in [' SUCCEEDED' , ' FAILED' ]:
177
+ if status in [" SUCCEEDED" , " FAILED" ]:
166
178
break
167
179
time .sleep (30 )
168
180
169
181
return operation_id
170
182
171
183
except ClientError as err :
172
- if (err .response ["Error" ]["Code" ] == "ValidationException" and
173
- "already enabled" in err .response ["Error" ][
174
- "Message" ]):
184
+ if (
185
+ err .response ["Error" ]["Code" ] == "ValidationException"
186
+ and "already enabled" in err .response ["Error" ]["Message" ]
187
+ ):
175
188
logger .info ("Control is already enabled for this target" )
176
189
return None
177
190
logger .error (
178
191
"Couldn't enable control. Here's why: %s: %s" ,
179
192
err .response ["Error" ]["Code" ],
180
- err .response ["Error" ]["Message" ]
193
+ err .response ["Error" ]["Message" ],
181
194
)
182
195
raise
183
196
@@ -196,15 +209,15 @@ def get_control_operation(self, operation_id):
196
209
response = self .controltower_client .get_control_operation (
197
210
operationIdentifier = operation_id
198
211
)
199
- return response [' controlOperation' ][ ' status' ]
212
+ return response [" controlOperation" ][ " status" ]
200
213
except ClientError as err :
201
214
if err .response ["Error" ]["Code" ] == "ResourceNotFoundException" :
202
215
logger .error ("Operation not found." )
203
216
else :
204
217
logger .error (
205
218
"Couldn't get control operation status. Here's why: %s: %s" ,
206
219
err .response ["Error" ]["Code" ],
207
- err .response ["Error" ]["Message" ]
220
+ err .response ["Error" ]["Message" ],
208
221
)
209
222
raise
210
223
@@ -223,15 +236,15 @@ def get_baseline_operation(self, operation_id):
223
236
response = self .controltower_client .get_baseline_operation (
224
237
operationIdentifier = operation_id
225
238
)
226
- return response [' baselineOperation' ][ ' status' ]
239
+ return response [" baselineOperation" ][ " status" ]
227
240
except ClientError as err :
228
241
if err .response ["Error" ]["Code" ] == "ResourceNotFoundException" :
229
242
logger .error ("Operation not found." )
230
243
else :
231
244
logger .error (
232
245
"Couldn't get baseline operation status. Here's why: %s: %s" ,
233
246
err .response ["Error" ]["Code" ],
234
- err .response ["Error" ]["Message" ]
247
+ err .response ["Error" ]["Message" ],
235
248
)
236
249
raise
237
250
@@ -249,15 +262,14 @@ def disable_control(self, control_arn, target_identifier):
249
262
"""
250
263
try :
251
264
response = self .controltower_client .disable_control (
252
- controlIdentifier = control_arn ,
253
- targetIdentifier = target_identifier
265
+ controlIdentifier = control_arn , targetIdentifier = target_identifier
254
266
)
255
267
256
- operation_id = response [' operationIdentifier' ]
268
+ operation_id = response [" operationIdentifier" ]
257
269
while True :
258
270
status = self .get_control_operation (operation_id )
259
271
print (f"Control operation status: { status } " )
260
- if status in [' SUCCEEDED' , ' FAILED' ]:
272
+ if status in [" SUCCEEDED" , " FAILED" ]:
261
273
break
262
274
time .sleep (30 )
263
275
@@ -269,7 +281,7 @@ def disable_control(self, control_arn, target_identifier):
269
281
logger .error (
270
282
"Couldn't disable control. Here's why: %s: %s" ,
271
283
err .response ["Error" ]["Code" ],
272
- err .response ["Error" ]["Message" ]
284
+ err .response ["Error" ]["Message" ],
273
285
)
274
286
raise
275
287
@@ -284,22 +296,25 @@ def list_landing_zones(self):
284
296
:raises ClientError: If the listing operation fails.
285
297
"""
286
298
try :
287
- paginator = self .controltower_client .get_paginator (' list_landing_zones' )
299
+ paginator = self .controltower_client .get_paginator (" list_landing_zones" )
288
300
landing_zones = []
289
301
for page in paginator .paginate ():
290
- landing_zones .extend (page [' landingZones' ])
302
+ landing_zones .extend (page [" landingZones" ])
291
303
return landing_zones
292
304
293
305
except ClientError as err :
294
306
if err .response ["Error" ]["Code" ] == "AccessDeniedException" :
295
- logger .error ("Access denied. Please ensure you have the necessary permissions." )
307
+ logger .error (
308
+ "Access denied. Please ensure you have the necessary permissions."
309
+ )
296
310
else :
297
311
logger .error (
298
312
"Couldn't list landing zones. Here's why: %s: %s" ,
299
313
err .response ["Error" ]["Code" ],
300
- err .response ["Error" ]["Message" ]
314
+ err .response ["Error" ]["Message" ],
301
315
)
302
316
raise
317
+
303
318
# snippet-end:[python.example_code.controltower.ListLandingZones]
304
319
305
320
# snippet-start:[python.example_code.controltower.ListEnabledBaselines]
@@ -311,10 +326,10 @@ def list_enabled_baselines(self):
311
326
:raises ClientError: If the listing operation fails.
312
327
"""
313
328
try :
314
- paginator = self .controltower_client .get_paginator (' list_enabled_baselines' )
329
+ paginator = self .controltower_client .get_paginator (" list_enabled_baselines" )
315
330
enabled_baselines = []
316
331
for page in paginator .paginate ():
317
- enabled_baselines .extend (page [' enabledBaselines' ])
332
+ enabled_baselines .extend (page [" enabledBaselines" ])
318
333
return enabled_baselines
319
334
320
335
except ClientError as err :
@@ -324,11 +339,12 @@ def list_enabled_baselines(self):
324
339
logger .error (
325
340
"Couldn't list enabled baselines. Here's why: %s: %s" ,
326
341
err .response ["Error" ]["Code" ],
327
- err .response ["Error" ]["Message" ]
342
+ err .response ["Error" ]["Message" ],
328
343
)
329
344
raise
345
+
330
346
# snippet-end:[python.example_code.controltower.ListEnabledBaselines]
331
-
347
+
332
348
# snippet-start:[python.example_code.controltower.ResetEnabledBaseline]
333
349
def reset_enabled_baseline (self , enabled_baseline_identifier ):
334
350
"""
@@ -342,11 +358,11 @@ def reset_enabled_baseline(self, enabled_baseline_identifier):
342
358
response = self .controltower_client .reset_enabled_baseline (
343
359
enabledBaselineIdentifier = enabled_baseline_identifier
344
360
)
345
- operation_id = response [' operationIdentifier' ]
361
+ operation_id = response [" operationIdentifier" ]
346
362
while True :
347
363
status = self .get_baseline_operation (operation_id )
348
364
print (f"Baseline operation status: { status } " )
349
- if status in [' SUCCEEDED' , ' FAILED' ]:
365
+ if status in [" SUCCEEDED" , " FAILED" ]:
350
366
break
351
367
time .sleep (30 )
352
368
return operation_id
@@ -357,11 +373,12 @@ def reset_enabled_baseline(self, enabled_baseline_identifier):
357
373
logger .error (
358
374
"Couldn't reset enabled baseline. Here's why: %s: %s" ,
359
375
err .response ["Error" ]["Code" ],
360
- err .response ["Error" ]["Message" ]
376
+ err .response ["Error" ]["Message" ],
361
377
)
362
378
raise
379
+
363
380
# snippet-end:[python.example_code.controltower.ResetEnabledBaseline]
364
-
381
+
365
382
# snippet-start:[python.example_code.controltower.DisableBaseline]
366
383
def disable_baseline (self , enabled_baseline_identifier ):
367
384
"""
@@ -376,28 +393,31 @@ def disable_baseline(self, enabled_baseline_identifier):
376
393
enabledBaselineIdentifier = enabled_baseline_identifier
377
394
)
378
395
379
- operation_id = response [' operationIdentifier' ]
396
+ operation_id = response [" operationIdentifier" ]
380
397
while True :
381
398
status = self .get_baseline_operation (operation_id )
382
399
print (f"Baseline operation status: { status } " )
383
- if status in [' SUCCEEDED' , ' FAILED' ]:
400
+ if status in [" SUCCEEDED" , " FAILED" ]:
384
401
break
385
402
time .sleep (30 )
386
403
387
- return response [' operationIdentifier' ]
404
+ return response [" operationIdentifier" ]
388
405
except ClientError as err :
389
406
if err .response ["Error" ]["Code" ] == "ConflictException" :
390
- print (f"Conflict disabling baseline: { err .response ['Error' ]['Message' ]} . Skipping disable step." )
407
+ print (
408
+ f"Conflict disabling baseline: { err .response ['Error' ]['Message' ]} . Skipping disable step."
409
+ )
391
410
return None
392
411
else :
393
412
logger .error (
394
413
"Couldn't disable baseline. Here's why: %s: %s" ,
395
414
err .response ["Error" ]["Code" ],
396
- err .response ["Error" ]["Message" ]
415
+ err .response ["Error" ]["Message" ],
397
416
)
398
417
raise
418
+
399
419
# snippet-end:[python.example_code.controltower.DisableBaseline]
400
-
420
+
401
421
# snippet-start:[python.example_code.controltower.ListEnabledControls]
402
422
def list_enabled_controls (self , target_identifier ):
403
423
"""
@@ -408,22 +428,26 @@ def list_enabled_controls(self, target_identifier):
408
428
:raises ClientError: If the listing operation fails.
409
429
"""
410
430
try :
411
- paginator = self .controltower_client .get_paginator (' list_enabled_controls' )
431
+ paginator = self .controltower_client .get_paginator (" list_enabled_controls" )
412
432
enabled_controls = []
413
433
for page in paginator .paginate (targetIdentifier = target_identifier ):
414
- enabled_controls .extend (page [' enabledControls' ])
434
+ enabled_controls .extend (page [" enabledControls" ])
415
435
return enabled_controls
416
436
417
437
except ClientError as err :
418
438
if err .response ["Error" ]["Code" ] == "AccessDeniedException" :
419
- logger .error ("Access denied. Please ensure you have the necessary permissions." )
439
+ logger .error (
440
+ "Access denied. Please ensure you have the necessary permissions."
441
+ )
420
442
else :
421
443
logger .error (
422
444
"Couldn't list enabled controls. Here's why: %s: %s" ,
423
445
err .response ["Error" ]["Code" ],
424
- err .response ["Error" ]["Message" ]
446
+ err .response ["Error" ]["Message" ],
425
447
)
426
448
raise
449
+
427
450
# snippet-end:[python.example_code.controltower.ListEnabledControls]
428
451
429
- # snippet-end:[python.example_code.controltower.ControlTowerWrapper.class]
452
+
453
+ # snippet-end:[python.example_code.controltower.ControlTowerWrapper.class]
0 commit comments