diff --git a/tuts/001-lightsail-gs/dotnet/001-lightsail-gs.csproj b/tuts/001-lightsail-gs/dotnet/001-lightsail-gs.csproj
new file mode 100644
index 00000000..3fcf0c96
--- /dev/null
+++ b/tuts/001-lightsail-gs/dotnet/001-lightsail-gs.csproj
@@ -0,0 +1,2 @@
+Exenet8.0
+
diff --git a/tuts/001-lightsail-gs/dotnet/GettingStartedScenario.cs b/tuts/001-lightsail-gs/dotnet/GettingStartedScenario.cs
new file mode 100644
index 00000000..b2741ebf
--- /dev/null
+++ b/tuts/001-lightsail-gs/dotnet/GettingStartedScenario.cs
@@ -0,0 +1,9 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Lightsail;
+
+var client = new AmazonLightsailClient();
+Console.WriteLine("Running Lightsail getting started scenario...");
+// TODO: setup, interact, teardown
+Console.WriteLine("Scenario complete.");
diff --git a/tuts/001-lightsail-gs/dotnet/LightsailWrapper.cs b/tuts/001-lightsail-gs/dotnet/LightsailWrapper.cs
new file mode 100644
index 00000000..5ba4eddb
--- /dev/null
+++ b/tuts/001-lightsail-gs/dotnet/LightsailWrapper.cs
@@ -0,0 +1,19 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Lightsail;
+using Microsoft.Extensions.Logging;
+
+public class LightsailWrapper
+{
+ private readonly IAmazonLightsail _client;
+ private readonly ILogger _logger;
+
+ public LightsailWrapper(IAmazonLightsail client, ILogger logger)
+ {
+ _client = client;
+ _logger = logger;
+ }
+
+ // TODO: Add async wrapper methods matching CLI tutorial actions
+}
diff --git a/tuts/002-vpc-gs/dotnet/002-vpc-gs.csproj b/tuts/002-vpc-gs/dotnet/002-vpc-gs.csproj
new file mode 100644
index 00000000..d66cc46b
--- /dev/null
+++ b/tuts/002-vpc-gs/dotnet/002-vpc-gs.csproj
@@ -0,0 +1,2 @@
+Exenet8.0
+
diff --git a/tuts/002-vpc-gs/dotnet/Ec2Wrapper.cs b/tuts/002-vpc-gs/dotnet/Ec2Wrapper.cs
new file mode 100644
index 00000000..66940178
--- /dev/null
+++ b/tuts/002-vpc-gs/dotnet/Ec2Wrapper.cs
@@ -0,0 +1,19 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Ec2;
+using Microsoft.Extensions.Logging;
+
+public class Ec2Wrapper
+{
+ private readonly IAmazonEc2 _client;
+ private readonly ILogger _logger;
+
+ public Ec2Wrapper(IAmazonEc2 client, ILogger logger)
+ {
+ _client = client;
+ _logger = logger;
+ }
+
+ // TODO: Add async wrapper methods matching CLI tutorial actions
+}
diff --git a/tuts/002-vpc-gs/dotnet/GettingStartedScenario.cs b/tuts/002-vpc-gs/dotnet/GettingStartedScenario.cs
new file mode 100644
index 00000000..e1ba6295
--- /dev/null
+++ b/tuts/002-vpc-gs/dotnet/GettingStartedScenario.cs
@@ -0,0 +1,9 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Ec2;
+
+var client = new AmazonEc2Client();
+Console.WriteLine("Running Ec2 getting started scenario...");
+// TODO: setup, interact, teardown
+Console.WriteLine("Scenario complete.");
diff --git a/tuts/003-s3-gettingstarted/dotnet/003-s3-gettingstarted.csproj b/tuts/003-s3-gettingstarted/dotnet/003-s3-gettingstarted.csproj
new file mode 100644
index 00000000..4b1cb438
--- /dev/null
+++ b/tuts/003-s3-gettingstarted/dotnet/003-s3-gettingstarted.csproj
@@ -0,0 +1,2 @@
+Exenet8.0
+
diff --git a/tuts/003-s3-gettingstarted/dotnet/GettingStartedScenario.cs b/tuts/003-s3-gettingstarted/dotnet/GettingStartedScenario.cs
new file mode 100644
index 00000000..22f11cda
--- /dev/null
+++ b/tuts/003-s3-gettingstarted/dotnet/GettingStartedScenario.cs
@@ -0,0 +1,9 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.S3;
+
+var client = new AmazonS3Client();
+Console.WriteLine("Running S3 getting started scenario...");
+// TODO: setup, interact, teardown
+Console.WriteLine("Scenario complete.");
diff --git a/tuts/003-s3-gettingstarted/dotnet/S3Wrapper.cs b/tuts/003-s3-gettingstarted/dotnet/S3Wrapper.cs
new file mode 100644
index 00000000..4be372dd
--- /dev/null
+++ b/tuts/003-s3-gettingstarted/dotnet/S3Wrapper.cs
@@ -0,0 +1,19 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.S3;
+using Microsoft.Extensions.Logging;
+
+public class S3Wrapper
+{
+ private readonly IAmazonS3 _client;
+ private readonly ILogger _logger;
+
+ public S3Wrapper(IAmazonS3 client, ILogger logger)
+ {
+ _client = client;
+ _logger = logger;
+ }
+
+ // TODO: Add async wrapper methods matching CLI tutorial actions
+}
diff --git a/tuts/004-cloudmap-custom-attributes/dotnet/004-cloudmap-custom-attributes.csproj b/tuts/004-cloudmap-custom-attributes/dotnet/004-cloudmap-custom-attributes.csproj
new file mode 100644
index 00000000..bcc00677
--- /dev/null
+++ b/tuts/004-cloudmap-custom-attributes/dotnet/004-cloudmap-custom-attributes.csproj
@@ -0,0 +1,2 @@
+Exenet8.0
+
diff --git a/tuts/004-cloudmap-custom-attributes/dotnet/CloudMapWrapper.cs b/tuts/004-cloudmap-custom-attributes/dotnet/CloudMapWrapper.cs
new file mode 100644
index 00000000..e045e69a
--- /dev/null
+++ b/tuts/004-cloudmap-custom-attributes/dotnet/CloudMapWrapper.cs
@@ -0,0 +1,19 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.CloudMap;
+using Microsoft.Extensions.Logging;
+
+public class CloudMapWrapper
+{
+ private readonly IAmazonCloudMap _client;
+ private readonly ILogger _logger;
+
+ public CloudMapWrapper(IAmazonCloudMap client, ILogger logger)
+ {
+ _client = client;
+ _logger = logger;
+ }
+
+ // TODO: Add async wrapper methods matching CLI tutorial actions
+}
diff --git a/tuts/004-cloudmap-custom-attributes/dotnet/GettingStartedScenario.cs b/tuts/004-cloudmap-custom-attributes/dotnet/GettingStartedScenario.cs
new file mode 100644
index 00000000..ff920a1b
--- /dev/null
+++ b/tuts/004-cloudmap-custom-attributes/dotnet/GettingStartedScenario.cs
@@ -0,0 +1,9 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.CloudMap;
+
+var client = new AmazonCloudMapClient();
+Console.WriteLine("Running CloudMap getting started scenario...");
+// TODO: setup, interact, teardown
+Console.WriteLine("Scenario complete.");
diff --git a/tuts/005-cloudfront-gettingstarted/dotnet/005-cloudfront-gettingstarted.csproj b/tuts/005-cloudfront-gettingstarted/dotnet/005-cloudfront-gettingstarted.csproj
new file mode 100644
index 00000000..7091a552
--- /dev/null
+++ b/tuts/005-cloudfront-gettingstarted/dotnet/005-cloudfront-gettingstarted.csproj
@@ -0,0 +1,2 @@
+Exenet8.0
+
diff --git a/tuts/005-cloudfront-gettingstarted/dotnet/CloudFrontWrapper.cs b/tuts/005-cloudfront-gettingstarted/dotnet/CloudFrontWrapper.cs
new file mode 100644
index 00000000..09c8cc95
--- /dev/null
+++ b/tuts/005-cloudfront-gettingstarted/dotnet/CloudFrontWrapper.cs
@@ -0,0 +1,19 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.CloudFront;
+using Microsoft.Extensions.Logging;
+
+public class CloudFrontWrapper
+{
+ private readonly IAmazonCloudFront _client;
+ private readonly ILogger _logger;
+
+ public CloudFrontWrapper(IAmazonCloudFront client, ILogger logger)
+ {
+ _client = client;
+ _logger = logger;
+ }
+
+ // TODO: Add async wrapper methods matching CLI tutorial actions
+}
diff --git a/tuts/005-cloudfront-gettingstarted/dotnet/GettingStartedScenario.cs b/tuts/005-cloudfront-gettingstarted/dotnet/GettingStartedScenario.cs
new file mode 100644
index 00000000..e118aefa
--- /dev/null
+++ b/tuts/005-cloudfront-gettingstarted/dotnet/GettingStartedScenario.cs
@@ -0,0 +1,9 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.CloudFront;
+
+var client = new AmazonCloudFrontClient();
+Console.WriteLine("Running CloudFront getting started scenario...");
+// TODO: setup, interact, teardown
+Console.WriteLine("Scenario complete.");
diff --git a/tuts/008-vpc-private-servers-gs/dotnet/008-vpc-private-servers-gs.csproj b/tuts/008-vpc-private-servers-gs/dotnet/008-vpc-private-servers-gs.csproj
new file mode 100644
index 00000000..d66cc46b
--- /dev/null
+++ b/tuts/008-vpc-private-servers-gs/dotnet/008-vpc-private-servers-gs.csproj
@@ -0,0 +1,2 @@
+Exenet8.0
+
diff --git a/tuts/008-vpc-private-servers-gs/dotnet/Ec2Wrapper.cs b/tuts/008-vpc-private-servers-gs/dotnet/Ec2Wrapper.cs
new file mode 100644
index 00000000..66940178
--- /dev/null
+++ b/tuts/008-vpc-private-servers-gs/dotnet/Ec2Wrapper.cs
@@ -0,0 +1,19 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Ec2;
+using Microsoft.Extensions.Logging;
+
+public class Ec2Wrapper
+{
+ private readonly IAmazonEc2 _client;
+ private readonly ILogger _logger;
+
+ public Ec2Wrapper(IAmazonEc2 client, ILogger logger)
+ {
+ _client = client;
+ _logger = logger;
+ }
+
+ // TODO: Add async wrapper methods matching CLI tutorial actions
+}
diff --git a/tuts/008-vpc-private-servers-gs/dotnet/GettingStartedScenario.cs b/tuts/008-vpc-private-servers-gs/dotnet/GettingStartedScenario.cs
new file mode 100644
index 00000000..e1ba6295
--- /dev/null
+++ b/tuts/008-vpc-private-servers-gs/dotnet/GettingStartedScenario.cs
@@ -0,0 +1,9 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Ec2;
+
+var client = new AmazonEc2Client();
+Console.WriteLine("Running Ec2 getting started scenario...");
+// TODO: setup, interact, teardown
+Console.WriteLine("Scenario complete.");
diff --git a/tuts/009-vpc-ipam-gs/dotnet/009-vpc-ipam-gs.csproj b/tuts/009-vpc-ipam-gs/dotnet/009-vpc-ipam-gs.csproj
new file mode 100644
index 00000000..d66cc46b
--- /dev/null
+++ b/tuts/009-vpc-ipam-gs/dotnet/009-vpc-ipam-gs.csproj
@@ -0,0 +1,2 @@
+Exenet8.0
+
diff --git a/tuts/009-vpc-ipam-gs/dotnet/Ec2Wrapper.cs b/tuts/009-vpc-ipam-gs/dotnet/Ec2Wrapper.cs
new file mode 100644
index 00000000..66940178
--- /dev/null
+++ b/tuts/009-vpc-ipam-gs/dotnet/Ec2Wrapper.cs
@@ -0,0 +1,19 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Ec2;
+using Microsoft.Extensions.Logging;
+
+public class Ec2Wrapper
+{
+ private readonly IAmazonEc2 _client;
+ private readonly ILogger _logger;
+
+ public Ec2Wrapper(IAmazonEc2 client, ILogger logger)
+ {
+ _client = client;
+ _logger = logger;
+ }
+
+ // TODO: Add async wrapper methods matching CLI tutorial actions
+}
diff --git a/tuts/009-vpc-ipam-gs/dotnet/GettingStartedScenario.cs b/tuts/009-vpc-ipam-gs/dotnet/GettingStartedScenario.cs
new file mode 100644
index 00000000..e1ba6295
--- /dev/null
+++ b/tuts/009-vpc-ipam-gs/dotnet/GettingStartedScenario.cs
@@ -0,0 +1,9 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Ec2;
+
+var client = new AmazonEc2Client();
+Console.WriteLine("Running Ec2 getting started scenario...");
+// TODO: setup, interact, teardown
+Console.WriteLine("Scenario complete.");
diff --git a/tuts/010-cloudmap-service-discovery/dotnet/010-cloudmap-service-discovery.csproj b/tuts/010-cloudmap-service-discovery/dotnet/010-cloudmap-service-discovery.csproj
new file mode 100644
index 00000000..bcc00677
--- /dev/null
+++ b/tuts/010-cloudmap-service-discovery/dotnet/010-cloudmap-service-discovery.csproj
@@ -0,0 +1,2 @@
+Exenet8.0
+
diff --git a/tuts/010-cloudmap-service-discovery/dotnet/CloudMapWrapper.cs b/tuts/010-cloudmap-service-discovery/dotnet/CloudMapWrapper.cs
new file mode 100644
index 00000000..e045e69a
--- /dev/null
+++ b/tuts/010-cloudmap-service-discovery/dotnet/CloudMapWrapper.cs
@@ -0,0 +1,19 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.CloudMap;
+using Microsoft.Extensions.Logging;
+
+public class CloudMapWrapper
+{
+ private readonly IAmazonCloudMap _client;
+ private readonly ILogger _logger;
+
+ public CloudMapWrapper(IAmazonCloudMap client, ILogger logger)
+ {
+ _client = client;
+ _logger = logger;
+ }
+
+ // TODO: Add async wrapper methods matching CLI tutorial actions
+}
diff --git a/tuts/010-cloudmap-service-discovery/dotnet/GettingStartedScenario.cs b/tuts/010-cloudmap-service-discovery/dotnet/GettingStartedScenario.cs
new file mode 100644
index 00000000..ff920a1b
--- /dev/null
+++ b/tuts/010-cloudmap-service-discovery/dotnet/GettingStartedScenario.cs
@@ -0,0 +1,9 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.CloudMap;
+
+var client = new AmazonCloudMapClient();
+Console.WriteLine("Running CloudMap getting started scenario...");
+// TODO: setup, interact, teardown
+Console.WriteLine("Scenario complete.");
diff --git a/tuts/011-getting-started-batch-fargate/dotnet/011-getting-started-batch-fargate.csproj b/tuts/011-getting-started-batch-fargate/dotnet/011-getting-started-batch-fargate.csproj
new file mode 100644
index 00000000..9cb484c7
--- /dev/null
+++ b/tuts/011-getting-started-batch-fargate/dotnet/011-getting-started-batch-fargate.csproj
@@ -0,0 +1,2 @@
+Exenet8.0
+
diff --git a/tuts/011-getting-started-batch-fargate/dotnet/BatchWrapper.cs b/tuts/011-getting-started-batch-fargate/dotnet/BatchWrapper.cs
new file mode 100644
index 00000000..92697e98
--- /dev/null
+++ b/tuts/011-getting-started-batch-fargate/dotnet/BatchWrapper.cs
@@ -0,0 +1,19 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Batch;
+using Microsoft.Extensions.Logging;
+
+public class BatchWrapper
+{
+ private readonly IAmazonBatch _client;
+ private readonly ILogger _logger;
+
+ public BatchWrapper(IAmazonBatch client, ILogger logger)
+ {
+ _client = client;
+ _logger = logger;
+ }
+
+ // TODO: Add async wrapper methods matching CLI tutorial actions
+}
diff --git a/tuts/011-getting-started-batch-fargate/dotnet/GettingStartedScenario.cs b/tuts/011-getting-started-batch-fargate/dotnet/GettingStartedScenario.cs
new file mode 100644
index 00000000..3abfd222
--- /dev/null
+++ b/tuts/011-getting-started-batch-fargate/dotnet/GettingStartedScenario.cs
@@ -0,0 +1,9 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Batch;
+
+var client = new AmazonBatchClient();
+Console.WriteLine("Running Batch getting started scenario...");
+// TODO: setup, interact, teardown
+Console.WriteLine("Scenario complete.");
diff --git a/tuts/012-transitgateway-gettingstarted/dotnet/012-transitgateway-gettingstarted.csproj b/tuts/012-transitgateway-gettingstarted/dotnet/012-transitgateway-gettingstarted.csproj
new file mode 100644
index 00000000..d66cc46b
--- /dev/null
+++ b/tuts/012-transitgateway-gettingstarted/dotnet/012-transitgateway-gettingstarted.csproj
@@ -0,0 +1,2 @@
+Exenet8.0
+
diff --git a/tuts/012-transitgateway-gettingstarted/dotnet/Ec2Wrapper.cs b/tuts/012-transitgateway-gettingstarted/dotnet/Ec2Wrapper.cs
new file mode 100644
index 00000000..66940178
--- /dev/null
+++ b/tuts/012-transitgateway-gettingstarted/dotnet/Ec2Wrapper.cs
@@ -0,0 +1,19 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Ec2;
+using Microsoft.Extensions.Logging;
+
+public class Ec2Wrapper
+{
+ private readonly IAmazonEc2 _client;
+ private readonly ILogger _logger;
+
+ public Ec2Wrapper(IAmazonEc2 client, ILogger logger)
+ {
+ _client = client;
+ _logger = logger;
+ }
+
+ // TODO: Add async wrapper methods matching CLI tutorial actions
+}
diff --git a/tuts/012-transitgateway-gettingstarted/dotnet/GettingStartedScenario.cs b/tuts/012-transitgateway-gettingstarted/dotnet/GettingStartedScenario.cs
new file mode 100644
index 00000000..e1ba6295
--- /dev/null
+++ b/tuts/012-transitgateway-gettingstarted/dotnet/GettingStartedScenario.cs
@@ -0,0 +1,9 @@
+// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+// SPDX-License-Identifier: Apache-2.0
+
+using Amazon.Ec2;
+
+var client = new AmazonEc2Client();
+Console.WriteLine("Running Ec2 getting started scenario...");
+// TODO: setup, interact, teardown
+Console.WriteLine("Scenario complete.");