AWS Security ChangesHomeSearch

AWS code-library documentation change

Service: code-library · 2025-07-16 · Documentation low

File: code-library/latest/ug/controltower_example_controltower_Hello_section.md

Summary

Added .NET SDK v4 'Hello World' example demonstrating Control Tower initialization and baseline listing with error handling

Security assessment

The change adds general usage documentation without specific security context. While Control Tower relates to security governance, this example focuses on basic API interaction rather than security features or vulnerabilities.

Diff

diff --git a/code-library/latest/ug/controltower_example_controltower_Hello_section.md b/code-library/latest/ug/controltower_example_controltower_Hello_section.md
index 2afc551db..3e64abd3d 100644
--- a//code-library/latest/ug/controltower_example_controltower_Hello_section.md
+++ b//code-library/latest/ug/controltower_example_controltower_Hello_section.md
@@ -9 +9,89 @@ There are more AWS SDK examples available in the [AWS Doc SDK Examples](https://
-The following code example shows how to get started using AWS Control Tower.
+The following code examples show how to get started using AWS Control Tower.
+
+.NET
+    
+
+**SDK for .NET (v4)**
+    
+
+###### Note
+
+There's more on GitHub. Find the complete example and learn how to set up and run in the [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv4/ControlTower#code-examples). 
+    
+    
+    using Amazon.ControlTower;
+    using Amazon.ControlTower.Model;
+    using Microsoft.Extensions.DependencyInjection;
+    using Microsoft.Extensions.Hosting;
+    using Microsoft.Extensions.Logging;
+    using Microsoft.Extensions.Logging.Console;
+    using Microsoft.Extensions.Logging.Debug;
+    using LogLevel = Microsoft.Extensions.Logging.LogLevel;
+    
+    namespace ControlTowerActions;
+    
+    /// <summary>
+    /// A class that introduces the AWS Control Tower by listing the
+    /// available baselines for the account.
+    /// </summary>
+    public class HelloControlTower
+    {
+        private static ILogger logger = null!;
+    
+        static async Task Main(string[] args)
+        {
+            // Set up dependency injection for AWS Control Tower.
+            using var host = Host.CreateDefaultBuilder(args)
+                .ConfigureLogging(logging =>
+                    logging.AddFilter("System", LogLevel.Debug)
+                        .AddFilter<DebugLoggerProvider>("Microsoft", LogLevel.Information)
+                        .AddFilter<ConsoleLoggerProvider>("Microsoft", LogLevel.Trace))
+                .ConfigureServices((_, services) =>
+                    services.AddAWSService<IAmazonControlTower>()
+                )
+                .Build();
+    
+            logger = LoggerFactory.Create(builder => { builder.AddConsole(); })
+                .CreateLogger<HelloControlTower>();
+    
+            var amazonClient = host.Services.GetRequiredService<IAmazonControlTower>();
+    
+            Console.Clear();
+            Console.WriteLine("Hello, AWS Control Tower! Let's list available baselines:");
+            Console.WriteLine();
+    
+            var baselines = new List<BaselineSummary>();
+    
+            try
+            {
+                var baselinesPaginator = amazonClient.Paginators.ListBaselines(new ListBaselinesRequest());
+    
+                await foreach (var response in baselinesPaginator.Responses)
+                {
+                    baselines.AddRange(response.Baselines);
+                }
+    
+                Console.WriteLine($"{baselines.Count} baseline(s) retrieved.");
+                foreach (var baseline in baselines)
+                {
+                    Console.WriteLine($"\t{baseline.Name}");
+                }
+            }
+            catch (Amazon.ControlTower.Model.AccessDeniedException)
+            {
+                Console.WriteLine("Access denied. Please ensure you have the necessary permissions.");
+            }
+            catch (Exception ex)
+            {
+                Console.WriteLine($"An error occurred: {ex.Message}");
+            }
+        }
+    }
+    
+    
+    
+
+  * For API details, see [ListBaselines](https://docs.aws.amazon.com/goto/DotNetSDKV4/controltower-2018-05-10/ListBaselines) in _AWS SDK for .NET API Reference_. 
+
+
+