Skip to content

Commit bc7e69d

Browse files
committed
Updates to scenario.
1 parent c195ee3 commit bc7e69d

File tree

9 files changed

+233
-75
lines changed

9 files changed

+233
-75
lines changed

.doc_gen/metadata/controltower_metadata.yaml

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ controltower_Hello:
1212
- description:
1313
snippet_tags:
1414
- python.example_code.controltower.Hello
15+
.NET:
16+
versions:
17+
- sdk_version: 4
18+
github: dotnetv4/ControlTower
19+
excerpts:
20+
- description:
21+
snippet_tags:
22+
- ControlTower.dotnetv4.HelloControlTower
1523
services:
1624
controltower: {ListBaselines}
1725

@@ -26,6 +34,14 @@ controltower_ListBaselines:
2634
snippet_tags:
2735
- python.example_code.controltower.ControlTowerWrapper.decl
2836
- python.example_code.controltower.ListBaselines
37+
.NET:
38+
versions:
39+
- sdk_version: 4
40+
github: dotnetv4/ControlTower
41+
excerpts:
42+
- description:
43+
snippet_tags:
44+
- ControlTower.dotnetv4.ListBaselines
2945
services:
3046
controltower: {ListBaselines}
3147

@@ -40,6 +56,14 @@ controltower_ListEnabledBaselines:
4056
snippet_tags:
4157
- python.example_code.controltower.ControlTowerWrapper.decl
4258
- python.example_code.controltower.ListEnabledBaselines
59+
.NET:
60+
versions:
61+
- sdk_version: 4
62+
github: dotnetv4/ControlTower
63+
excerpts:
64+
- description:
65+
snippet_tags:
66+
- ControlTower.dotnetv4.ListEnabledBaselines
4367
services:
4468
controltower: {ListEnabledBaselines}
4569

@@ -54,6 +78,14 @@ controltower_EnableBaseline:
5478
snippet_tags:
5579
- python.example_code.controltower.ControlTowerWrapper.decl
5680
- python.example_code.controltower.EnableBaseline
81+
.NET:
82+
versions:
83+
- sdk_version: 4
84+
github: dotnetv4/ControlTower
85+
excerpts:
86+
- description:
87+
snippet_tags:
88+
- ControlTower.dotnetv4.EnableBaseline
5789
services:
5890
controltower: {EnableBaseline}
5991

@@ -68,6 +100,14 @@ controltower_ResetEnabledBaseline:
68100
snippet_tags:
69101
- python.example_code.controltower.ControlTowerWrapper.decl
70102
- python.example_code.controltower.ResetEnabledBaseline
103+
.NET:
104+
versions:
105+
- sdk_version: 4
106+
github: dotnetv4/ControlTower
107+
excerpts:
108+
- description:
109+
snippet_tags:
110+
- ControlTower.dotnetv4.ResetEnabledBaseline
71111
services:
72112
controltower: {ResetEnabledBaseline}
73113

@@ -82,6 +122,14 @@ controltower_DisableBaseline:
82122
snippet_tags:
83123
- python.example_code.controltower.ControlTowerWrapper.decl
84124
- python.example_code.controltower.DisableBaseline
125+
.NET:
126+
versions:
127+
- sdk_version: 4
128+
github: dotnetv4/ControlTower
129+
excerpts:
130+
- description:
131+
snippet_tags:
132+
- ControlTower.dotnetv4.DisableBaseline
85133
services:
86134
controltower: {DisableBaseline}
87135

@@ -96,6 +144,14 @@ controltower_ListEnabledControls:
96144
snippet_tags:
97145
- python.example_code.controltower.ControlTowerWrapper.decl
98146
- python.example_code.controltower.ListEnabledControls
147+
.NET:
148+
versions:
149+
- sdk_version: 4
150+
github: dotnetv4/ControlTower
151+
excerpts:
152+
- description:
153+
snippet_tags:
154+
- ControlTower.dotnetv4.ListEnabledControls
99155
services:
100156
controltower: {ListEnabledControls}
101157

@@ -110,6 +166,14 @@ controltower_EnableControl:
110166
snippet_tags:
111167
- python.example_code.controltower.ControlTowerWrapper.decl
112168
- python.example_code.controltower.EnableControl
169+
.NET:
170+
versions:
171+
- sdk_version: 4
172+
github: dotnetv4/ControlTower
173+
excerpts:
174+
- description:
175+
snippet_tags:
176+
- ControlTower.dotnetv4.EnableControl
113177
services:
114178
controltower: {EnableControl}
115179

@@ -124,6 +188,14 @@ controltower_GetControlOperation:
124188
snippet_tags:
125189
- python.example_code.controltower.ControlTowerWrapper.decl
126190
- python.example_code.controltower.GetControlOperation
191+
.NET:
192+
versions:
193+
- sdk_version: 4
194+
github: dotnetv4/ControlTower
195+
excerpts:
196+
- description:
197+
snippet_tags:
198+
- ControlTower.dotnetv4.GetControlOperation
127199
services:
128200
controltower: {GetControlOperation}
129201

@@ -138,6 +210,14 @@ controltower_DisableControl:
138210
snippet_tags:
139211
- python.example_code.controltower.ControlTowerWrapper.decl
140212
- python.example_code.controltower.DisableControl
213+
.NET:
214+
versions:
215+
- sdk_version: 4
216+
github: dotnetv4/ControlTower
217+
excerpts:
218+
- description:
219+
snippet_tags:
220+
- ControlTower.dotnetv4.DisableControl
141221
services:
142222
controltower: {DisableControl}
143223

@@ -152,9 +232,39 @@ controltower_ListLandingZones:
152232
snippet_tags:
153233
- python.example_code.controltower.ControlTowerWrapper.decl
154234
- python.example_code.controltower.ListLandingZones
235+
.NET:
236+
versions:
237+
- sdk_version: 4
238+
github: dotnetv4/ControlTower
239+
excerpts:
240+
- description:
241+
snippet_tags:
242+
- ControlTower.dotnetv4.ListLandingZones
155243
services:
156244
controltower: {ListLandingZones}
157245

246+
controltower_GetBaselineOperation:
247+
languages:
248+
Python:
249+
versions:
250+
- sdk_version: 3
251+
github: python/example_code/controltower
252+
excerpts:
253+
- description:
254+
snippet_tags:
255+
- python.example_code.controltower.ControlTowerWrapper.decl
256+
- python.example_code.controltower.GetBaselineOperation
257+
.NET:
258+
versions:
259+
- sdk_version: 4
260+
github: dotnetv4/ControlTower
261+
excerpts:
262+
- description:
263+
snippet_tags:
264+
- ControlTower.dotnetv4.GetBaselineOperation
265+
services:
266+
controltower: {GetBaselineOperation}
267+
158268
controltower_Scenario:
159269
synopsis_list:
160270
- List landing zones.
@@ -172,5 +282,16 @@ controltower_Scenario:
172282
snippet_tags:
173283
- python.example_code.controltower.ControlTowerScenario
174284
- python.example_code.controltower.ControlTowerWrapper.class
285+
.NET:
286+
versions:
287+
- sdk_version: 4
288+
github: dotnetv4/ControlTower
289+
excerpts:
290+
- description: Run an interactive scenario demonstrating &CTowerlong; features.
291+
snippet_tags:
292+
- ControlTower.dotnetv4.ControlTowerBasics
293+
- description: Wrapper methods that are called by the scenario to manage &AUR; actions.
294+
snippet_tags:
295+
- ControlTower.dotnetv4.ControlTowerWrapper
175296
services:
176297
controltower: {CreateLandingZone, DeleteLandingZone, ListBaselines, ListEnabledBaselines, EnableBaseline, ResetEnabledBaseline, DisableBaseline, EnableControl, GetControlOperation, DisableControl, GetLandingZoneOperation, ListLandingZones, ListEnabledControls}

dotnetv4/ControlTower/Actions/ControlTowerWrapper.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33

44
// snippet-start:[ControlTower.dotnetv4.ControlTowerWrapper]
55

6+
using Amazon.ControlCatalog;
7+
using Amazon.ControlCatalog.Model;
8+
using Amazon.ControlTower;
9+
using Amazon.ControlTower.Model;
610
using ValidationException = Amazon.ControlTower.Model.ValidationException;
711

812
namespace ControlTowerActions;

dotnetv4/ControlTower/Actions/HelloControlTower.cs

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,20 @@
33

44
// snippet-start:[ControlTower.dotnetv4.HelloControlTower]
55

6+
using Amazon.ControlTower;
7+
using Amazon.ControlTower.Model;
8+
using Microsoft.Extensions.DependencyInjection;
9+
using Microsoft.Extensions.Hosting;
10+
using Microsoft.Extensions.Logging;
11+
using Microsoft.Extensions.Logging.Console;
12+
using Microsoft.Extensions.Logging.Debug;
613
using LogLevel = Microsoft.Extensions.Logging.LogLevel;
714

815
namespace ControlTowerActions;
916

1017
/// <summary>
1118
/// A class that introduces the AWS Control Tower by listing the
12-
/// landing zones for the account.
19+
/// available baselines for the account.
1320
/// </summary>
1421
public class HelloControlTower
1522
{
@@ -25,8 +32,6 @@ static async Task Main(string[] args)
2532
.AddFilter<ConsoleLoggerProvider>("Microsoft", LogLevel.Trace))
2633
.ConfigureServices((_, services) =>
2734
services.AddAWSService<IAmazonControlTower>()
28-
.AddAWSService<IAmazonControlCatalog>()
29-
.AddTransient<ControlTowerWrapper>()
3035
)
3136
.Build();
3237

@@ -36,28 +41,33 @@ static async Task Main(string[] args)
3641
var amazonClient = host.Services.GetRequiredService<IAmazonControlTower>();
3742

3843
Console.Clear();
39-
Console.WriteLine("Hello AWS Control Tower.");
40-
Console.WriteLine("Let's get a list of your AWS Control Tower landing zones.");
44+
Console.WriteLine("Hello, AWS Control Tower! Let's list available baselines:");
45+
Console.WriteLine();
4146

42-
var landingZones = new List<LandingZoneSummary>();
47+
var baselines = new List<BaselineSummary>();
4348

44-
var landingZonesPaginator = amazonClient.Paginators.ListLandingZones(new ListLandingZonesRequest());
45-
46-
await foreach (var response in landingZonesPaginator.Responses)
49+
try
4750
{
48-
landingZones.AddRange(response.LandingZones);
49-
}
51+
var baselinesPaginator = amazonClient.Paginators.ListBaselines(new ListBaselinesRequest());
5052

51-
if (landingZones.Count > 0)
52-
{
53-
landingZones.ForEach(landingZone =>
53+
await foreach (var response in baselinesPaginator.Responses)
5454
{
55-
Console.WriteLine($"Landing Zone \t{landingZone.Arn}");
56-
});
55+
baselines.AddRange(response.Baselines);
56+
}
57+
58+
Console.WriteLine($"{baselines.Count} baseline(s) retrieved.");
59+
foreach (var baseline in baselines)
60+
{
61+
Console.WriteLine($"\t{baseline.Name}");
62+
}
63+
}
64+
catch (Amazon.ControlTower.Model.AccessDeniedException)
65+
{
66+
Console.WriteLine("Access denied. Please ensure you have the necessary permissions.");
5767
}
58-
else
68+
catch (Exception ex)
5969
{
60-
Console.WriteLine("No landing zones were found.");
70+
Console.WriteLine($"An error occurred: {ex.Message}");
6171
}
6272
}
6373
}

dotnetv4/ControlTower/Actions/Usings.cs

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)