There are more AWS SDK examples available in the AWS Doc SDK Examples
Hello 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
. 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 in AWS SDK for .NET API Reference.
-
- Python
-
- SDK for Python (Boto3)
-
Note
There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository
. import boto3 from typing import Any, List def hello_controltower(controltower_client: Any) -> None: """ Use the AWS SDK for Python (Boto3) to create an AWS Control Tower client and list all available baselines. This example uses the default settings specified in your shared credentials and config files. :param controltower_client: A Boto3 AWS Control Tower Client object. This object wraps the low-level AWS Control Tower service API. """ print("Hello, AWS Control Tower! Let's list available baselines:\n") paginator = controltower_client.get_paginator("list_baselines") page_iterator = paginator.paginate() baseline_names: List[str] = [] try: for page in page_iterator: for baseline in page["baselines"]: baseline_names.append(baseline["name"]) print(f"{len(baseline_names)} baseline(s) retrieved.") for baseline_name in baseline_names: print(f"\t{baseline_name}") except controltower_client.exceptions.AccessDeniedException: print("Access denied. Please ensure you have the necessary permissions.") except Exception as e: print(f"An error occurred: {str(e)}") if __name__ == "__main__": hello_controltower(boto3.client("controltower"))
-
For API details, see ListBaselines in AWS SDK for Python (Boto3) API Reference.
-