Skip to content

Commit

Permalink
New SDK: Azure.ResourceManager.Terraform (#46301)
Browse files Browse the repository at this point in the history
  • Loading branch information
gerrytan authored Oct 31, 2024
1 parent 5ac4063 commit 989e124
Show file tree
Hide file tree
Showing 49 changed files with 3,992 additions and 0 deletions.
2 changes: 2 additions & 0 deletions sdk/resourcemanager/ci.mgmt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ trigger:
- sdk/subscription/Azure.ResourceManager.Subscription
- sdk/support/Azure.ResourceManager.Support
- sdk/synapse/Azure.ResourceManager.Synapse
- sdk/terraform/Azure.ResourceManager.Terraform
- sdk/trafficmanager/Azure.ResourceManager.TrafficManager
- sdk/trustedsigning/Azure.ResourceManager.TrustedSigning
- sdk/voiceservices/Azure.ResourceManager.VoiceServices
Expand Down Expand Up @@ -397,6 +398,7 @@ pr:
- sdk/subscription/Azure.ResourceManager.Subscription
- sdk/support/Azure.ResourceManager.Support
- sdk/synapse/Azure.ResourceManager.Synapse
- sdk/terraform/Azure.ResourceManager.Terraform
- sdk/trafficmanager/Azure.ResourceManager.TrafficManager
- sdk/trustedsigning/Azure.ResourceManager.TrustedSigning
- sdk/voiceservices/Azure.ResourceManager.VoiceServices
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30309.148
MinimumVisualStudioVersion = 10.0.40219.1
Project("{57104F4E-33D2-4712-89D0-35A4165C1BA1}") = "Azure.ResourceManager.Terraform", "src\Azure.ResourceManager.Terraform.csproj", "{3457A0A4-B5E1-4184-8D42-0F1C542217C9}"
EndProject
Project("{57104F4E-33D2-4712-89D0-35A4165C1BA1}") = "Azure.ResourceManager.Terraform.Tests", "tests\Azure.ResourceManager.Terraform.Tests.csproj", "{DC07DC97-58C7-4345-B915-29DF7739ABD5}"
EndProject
Project("{57104F4E-33D2-4712-89D0-35A4165C1BA1}") = "Azure.ResourceManager.Terraform.Samples", "samples\Azure.ResourceManager.Terraform.Samples.csproj", "{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}"
EndProject
Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {79ECAB3D-FE5F-4AF2-9214-2D6F13CB7F9C}
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Debug|x64.ActiveCfg = Debug|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Debug|x64.Build.0 = Debug|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Debug|x86.ActiveCfg = Debug|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Debug|x86.Build.0 = Debug|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Release|Any CPU.Build.0 = Release|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Release|x64.ActiveCfg = Release|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Release|x64.Build.0 = Release|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Release|x86.ActiveCfg = Release|Any CPU
{3457A0A4-B5E1-4184-8D42-0F1C542217C9}.Release|x86.Build.0 = Release|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Debug|x64.ActiveCfg = Debug|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Debug|x64.Build.0 = Debug|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Debug|x86.ActiveCfg = Debug|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Debug|x86.Build.0 = Debug|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Release|Any CPU.Build.0 = Release|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Release|x64.ActiveCfg = Release|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Release|x64.Build.0 = Release|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Release|x86.ActiveCfg = Release|Any CPU
{DC07DC97-58C7-4345-B915-29DF7739ABD5}.Release|x86.Build.0 = Release|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Debug|x64.ActiveCfg = Debug|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Debug|x64.Build.0 = Debug|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Debug|x86.ActiveCfg = Debug|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Debug|x86.Build.0 = Debug|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Release|Any CPU.Build.0 = Release|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Release|x64.ActiveCfg = Release|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Release|x64.Build.0 = Release|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Release|x86.ActiveCfg = Release|Any CPU
{0C87CC4B-8863-41FC-8704-20CC6F8A58E1}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
17 changes: 17 additions & 0 deletions sdk/terraform/Azure.ResourceManager.Terraform/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Release History

## 1.0.0-beta.1 (2024-10-31)

### Features Added

This package follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities:

- Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET.
- Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing.
- HTTP pipeline with custom policies.
- Better error-handling.
- Support uniform telemetry across all languages.

This package is a Public Preview version, so expect incompatible changes in subsequent releases as we improve the product. To provide feedback, submit an issue in our [Azure SDK for .NET GitHub repo](https://github.com/Azure/azure-sdk-for-net/issues).

> NOTE: For more information about unified authentication, please refer to [Microsoft Azure Identity documentation for .NET](https://docs.microsoft.com//dotnet/api/overview/azure/identity-readme?view=azure-dotnet).
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Add any shared properties you want for the projects under this package directory that need to be set before the auto imported Directory.Build.props
-->
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" />
</Project>
82 changes: 82 additions & 0 deletions sdk/terraform/Azure.ResourceManager.Terraform/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Microsoft Azure terraform management client library for .NET

The Azure Terraform Export API aims to export existing Azure resources into its equivalent Terraform configurations,
for either azurerm provider or azapi provider. It is equivalent to ARM Template Export API for Terraform.

This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities:

- Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET.
- Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing.
- HTTP pipeline with custom policies.
- Better error-handling.
- Support uniform telemetry across all languages.

## Getting started

### Install the package

Install the Microsoft Azure terraform management library for .NET with [NuGet](https://www.nuget.org/):

```dotnetcli
dotnet add package Azure.ResourceManager.Terraform --prerelease
```

### Prerequisites

- You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/).

### Authenticate the Client

To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/main/doc/dev/mgmt_quickstart.md).

## Key concepts

Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html)

## Documentation

Documentation is available to help you learn how to use this package:

- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/main/doc/dev/mgmt_quickstart.md).
- [API References](https://docs.microsoft.com/dotnet/api/?view=azure-dotnet).
- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/identity/Azure.Identity/README.md).

## Examples

Code samples for using the management library for .NET can be found in the following locations

- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples)

## Troubleshooting

- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues).
- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags.

## Next steps

For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/).

## Contributing

For details on contributing to this repository, see the [contributing
guide][cg].

This project welcomes contributions and suggestions. Most contributions
require you to agree to a Contributor License Agreement (CLA) declaring
that you have the right to, and actually do, grant us the rights to use
your contribution. For details, visit <https://cla.microsoft.com>.

When you submit a pull request, a CLA-bot will automatically determine
whether you need to provide a CLA and decorate the PR appropriately
(for example, label, comment). Follow the instructions provided by the
bot. You'll only need to do this action once across all repositories
using our CLA.

This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For
more information, see the [Code of Conduct FAQ][coc_faq] or contact
<opencode@microsoft.com> with any other questions or comments.

<!-- LINKS -->
[cg]: https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md
[coc]: https://opensource.microsoft.com/codeofconduct/
[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/
Loading

0 comments on commit 989e124

Please sign in to comment.