Skip to content

Commit 0faf027

Browse files
authored
Python control tower
1 parent 4c4b157 commit 0faf027

15 files changed

Lines changed: 1980 additions & 0 deletions
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
controltower_Hello:
2+
title: Hello &CTowerlong;
3+
title_abbrev: Hello &CTower;
4+
synopsis: get started using &CTower;.
5+
category: Hello
6+
languages:
7+
Python:
8+
versions:
9+
- sdk_version: 3
10+
github: python/example_code/controltower
11+
excerpts:
12+
- description:
13+
snippet_tags:
14+
- python.example_code.controltower.Hello
15+
services:
16+
controltower: {ListBaselines}
17+
18+
controltower_ListBaselines:
19+
languages:
20+
Python:
21+
versions:
22+
- sdk_version: 3
23+
github: python/example_code/controltower
24+
excerpts:
25+
- description:
26+
snippet_tags:
27+
- python.example_code.controltower.ControlTowerWrapper.decl
28+
- python.example_code.controltower.ListBaselines
29+
services:
30+
controltower: {ListBaselines}
31+
32+
controltower_ListEnabledBaselines:
33+
languages:
34+
Python:
35+
versions:
36+
- sdk_version: 3
37+
github: python/example_code/controltower
38+
excerpts:
39+
- description:
40+
snippet_tags:
41+
- python.example_code.controltower.ControlTowerWrapper.decl
42+
- python.example_code.controltower.ListEnabledBaselines
43+
services:
44+
controltower: {ListEnabledBaselines}
45+
46+
controltower_EnableBaseline:
47+
languages:
48+
Python:
49+
versions:
50+
- sdk_version: 3
51+
github: python/example_code/controltower
52+
excerpts:
53+
- description:
54+
snippet_tags:
55+
- python.example_code.controltower.ControlTowerWrapper.decl
56+
- python.example_code.controltower.EnableBaseline
57+
services:
58+
controltower: {EnableBaseline}
59+
60+
controltower_ResetEnabledBaseline:
61+
languages:
62+
Python:
63+
versions:
64+
- sdk_version: 3
65+
github: python/example_code/controltower
66+
excerpts:
67+
- description:
68+
snippet_tags:
69+
- python.example_code.controltower.ControlTowerWrapper.decl
70+
- python.example_code.controltower.ResetEnabledBaseline
71+
services:
72+
controltower: {ResetEnabledBaseline}
73+
74+
controltower_DisableBaseline:
75+
languages:
76+
Python:
77+
versions:
78+
- sdk_version: 3
79+
github: python/example_code/controltower
80+
excerpts:
81+
- description:
82+
snippet_tags:
83+
- python.example_code.controltower.ControlTowerWrapper.decl
84+
- python.example_code.controltower.DisableBaseline
85+
services:
86+
controltower: {DisableBaseline}
87+
88+
controltower_ListControls:
89+
languages:
90+
Python:
91+
versions:
92+
- sdk_version: 3
93+
github: python/example_code/controltower
94+
excerpts:
95+
- description:
96+
snippet_tags:
97+
- python.example_code.controltower.ControlTowerWrapper.decl
98+
- python.example_code.controltower.ListControls
99+
services:
100+
controlcatalog: {ListControls}
101+
102+
controltower_ListEnabledControls:
103+
languages:
104+
Python:
105+
versions:
106+
- sdk_version: 3
107+
github: python/example_code/controltower
108+
excerpts:
109+
- description:
110+
snippet_tags:
111+
- python.example_code.controltower.ControlTowerWrapper.decl
112+
- python.example_code.controltower.ListEnabledControls
113+
services:
114+
controltower: {ListEnabledControls}
115+
116+
controltower_EnableControl:
117+
languages:
118+
Python:
119+
versions:
120+
- sdk_version: 3
121+
github: python/example_code/controltower
122+
excerpts:
123+
- description:
124+
snippet_tags:
125+
- python.example_code.controltower.ControlTowerWrapper.decl
126+
- python.example_code.controltower.EnableControl
127+
services:
128+
controltower: {EnableControl}
129+
130+
controltower_GetControlOperation:
131+
languages:
132+
Python:
133+
versions:
134+
- sdk_version: 3
135+
github: python/example_code/controltower
136+
excerpts:
137+
- description:
138+
snippet_tags:
139+
- python.example_code.controltower.ControlTowerWrapper.decl
140+
- python.example_code.controltower.GetControlOperation
141+
services:
142+
controltower: {GetControlOperation}
143+
144+
controltower_DisableControl:
145+
languages:
146+
Python:
147+
versions:
148+
- sdk_version: 3
149+
github: python/example_code/controltower
150+
excerpts:
151+
- description:
152+
snippet_tags:
153+
- python.example_code.controltower.ControlTowerWrapper.decl
154+
- python.example_code.controltower.DisableControl
155+
services:
156+
controltower: {DisableControl}
157+
158+
controltower_ListLandingZones:
159+
languages:
160+
Python:
161+
versions:
162+
- sdk_version: 3
163+
github: python/example_code/controltower
164+
excerpts:
165+
- description:
166+
snippet_tags:
167+
- python.example_code.controltower.ControlTowerWrapper.decl
168+
- python.example_code.controltower.ListLandingZones
169+
services:
170+
controltower: {ListLandingZones}
171+
172+
controltower_Scenario:
173+
synopsis_list:
174+
- List landing zones.
175+
- List, enable, get, reset, and disable baselines.
176+
- List, enable, get, and disable controls.
177+
category: Basics
178+
languages:
179+
Python:
180+
versions:
181+
- sdk_version: 3
182+
github: python/example_code/controltower
183+
sdkguide:
184+
excerpts:
185+
- description: Run an interactive scenario demonstrating &CTowerlong; features.
186+
snippet_tags:
187+
- python.example_code.controltower.ControlTowerScenario
188+
- python.example_code.controltower.ControlTowerWrapper.class
189+
services:
190+
controltower: {CreateLandingZone, DeleteLandingZone, ListBaselines, ListEnabledBaselines, EnableBaseline, ResetEnabledBaseline, DisableBaseline, EnableControl, GetControlOperation, DisableControl, GetLandingZoneOperation, ListLandingZones, ListEnabledControls}
191+
controlcatalog: {ListControls}
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# AWS Control Tower code examples for the SDK for Python
2+
3+
## Overview
4+
5+
Shows how to use the AWS SDK for Python (Boto3) to work with AWS Control Tower.
6+
7+
<!--custom.overview.start-->
8+
<!--custom.overview.end-->
9+
10+
_AWS Control Tower enables you to enforce and manage governance rules for security, operations, and compliance at scale across all your organizations and accounts._
11+
12+
## ⚠ Important
13+
14+
* Running this code might result in charges to your AWS account. For more details, see [AWS Pricing](https://aws.amazon.com/pricing/) and [Free Tier](https://aws.amazon.com/free/).
15+
* Running the tests might result in charges to your AWS account.
16+
* We recommend that you grant your code least privilege. At most, grant only the minimum permissions required to perform the task. For more information, see [Grant least privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
17+
* This code is not tested in every AWS Region. For more information, see [AWS Regional Services](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services).
18+
19+
<!--custom.important.start-->
20+
<!--custom.important.end-->
21+
22+
## Code examples
23+
24+
### Prerequisites
25+
26+
For prerequisites, see the [README](../../README.md#Prerequisites) in the `python` folder.
27+
28+
Install the packages required by these examples by running the following in a virtual environment:
29+
30+
```
31+
python -m pip install -r requirements.txt
32+
```
33+
34+
<!--custom.prerequisites.start-->
35+
<!--custom.prerequisites.end-->
36+
37+
### Get started
38+
39+
- [Hello AWS Control Tower](hello/hello_controltower.py#L4) (`ListBaselines`)
40+
41+
42+
### Basics
43+
44+
Code examples that show you how to perform the essential operations within a service.
45+
46+
- [Learn the basics](scenario_controltower.py)
47+
48+
49+
### Single actions
50+
51+
Code excerpts that show you how to call individual service functions.
52+
53+
- [CreateLandingZone](controltower_wrapper.py#L13)
54+
- [DeleteLandingZone](controltower_wrapper.py#L67)
55+
- [DisableControl](controltower_wrapper.py#L232)
56+
- [EnableBaseline](controltower_wrapper.py#L117)
57+
- [EnableControl](controltower_wrapper.py#L172)
58+
- [GetControlOperation](controltower_wrapper.py#L206)
59+
- [GetLandingZoneOperation](controltower_wrapper.py#L260)
60+
- [ListBaselines](controltower_wrapper.py#L92)
61+
- [ListLandingZones](controltower_wrapper.py#L287)
62+
63+
64+
<!--custom.examples.start-->
65+
<!--custom.examples.end-->
66+
67+
## Run the examples
68+
69+
### Instructions
70+
71+
72+
<!--custom.instructions.start-->
73+
<!--custom.instructions.end-->
74+
75+
#### Hello AWS Control Tower
76+
77+
This example shows you how to get started using AWS Control Tower.
78+
79+
```
80+
python hello/hello_controltower.py
81+
```
82+
83+
#### Learn the basics
84+
85+
This example shows you how to do the following:
86+
87+
- Set up a landing zone.
88+
- List and enable baselines.
89+
- List and enable controls.
90+
- Disable controls.
91+
- Delete a landing zone.
92+
93+
<!--custom.basic_prereqs.controltower_Scenario.start-->
94+
<!--custom.basic_prereqs.controltower_Scenario.end-->
95+
96+
Start the example by running the following at a command prompt:
97+
98+
```
99+
python scenario_controltower.py
100+
```
101+
102+
103+
<!--custom.basics.controltower_Scenario.start-->
104+
<!--custom.basics.controltower_Scenario.end-->
105+
106+
107+
### Tests
108+
109+
⚠ Running tests might result in charges to your AWS account.
110+
111+
112+
To find instructions for running these tests, see the [README](../../README.md#Tests)
113+
in the `python` folder.
114+
115+
116+
117+
<!--custom.tests.start-->
118+
<!--custom.tests.end-->
119+
120+
## Additional resources
121+
122+
- [AWS Control Tower User Guide](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)
123+
- [AWS Control Tower API Reference](https://docs.aws.amazon.com/controltower/latest/APIReference/Welcome.html)
124+
- [SDK for Python AWS Control Tower reference](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cognito-idp.html)
125+
126+
<!--custom.resources.start-->
127+
<!--custom.resources.end-->
128+
129+
---
130+
131+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
132+
133+
SPDX-License-Identifier: Apache-2.0

0 commit comments

Comments
 (0)