Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New SDK: Azure.ResourceManager.Terraform #46301

Merged
merged 44 commits into from
Oct 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
b135b8c
SDK dir structure
gerrytan Sep 25, 2024
c018cd2
fix typo in spec folder
gerrytan Sep 25, 2024
69b62e6
fixed commit hash in tsp-location.yaml
gerrytan Sep 25, 2024
4bebbea
Ran dotnet build for code generation
Sep 25, 2024
d396efe
Generated API files
gerrytan Sep 26, 2024
0000a91
Added ExportResource to ExceptionList
gerrytan Sep 26, 2024
d1bb63b
Add e2e test
gerrytan Oct 1, 2024
7b7dd82
Updated changelog and readme
gerrytan Oct 1, 2024
db18d57
Merge branch 'main' into terraform-export-sdk-generation-2
gerrytan Oct 1, 2024
f8d49e3
Merge branch 'main' into terraform-export-sdk-generation-2
gerrytan Oct 1, 2024
927d743
Refactor to use Azure.Core.TestFramework
gerrytan Oct 3, 2024
4e20121
Merge branch 'main' into terraform-export-sdk-generation-2
gerrytan Oct 3, 2024
5ba5337
Updated commit hash in tsp-location.yaml, regenerated SDK code
gerrytan Oct 8, 2024
9787d55
Regen after final state model update locally
gerrytan Oct 9, 2024
6da82ee
Update tsp-location.yaml commit hash
gerrytan Oct 9, 2024
4a3c7c7
Merge branch 'main' into terraform-export-sdk-generation-2
gerrytan Oct 9, 2024
ea21db2
Updated API file
gerrytan Oct 9, 2024
8115530
Update ExportTerraform method name using @clientName decorator
gerrytan Oct 9, 2024
2bd5a46
Merge branch 'main' into terraform-export-sdk-generation-2
gerrytan Oct 9, 2024
34e88ca
Regen SDK based on https://github.com/Azure/azure-rest-api-specs/pull…
gerrytan Oct 11, 2024
942037b
Added test case for OperationStatuses, pushe new test recording files
gerrytan Oct 11, 2024
f8b2240
Merge branch 'main' into terraform-export-sdk-generation-2
gerrytan Oct 14, 2024
a96de3f
Merge branch 'main' into terraform-export-sdk-generation-2
gerrytan Oct 14, 2024
37a5866
Updated SDK based on specs https://github.com/Azure/azure-rest-api-sp…
gerrytan Oct 15, 2024
a6497bf
Updated API file
gerrytan Oct 15, 2024
fa18420
Merge branch 'main' into terraform-export-sdk-generation-2
gerrytan Oct 17, 2024
a8d46ac
Merge branch 'main' into terraform-export-sdk-generation-2
gerrytan Oct 18, 2024
7840361
Re-generated SDK with new version
gerrytan Oct 18, 2024
5f7140c
Fixed exception thrown when calling POST /exportTerraform
gerrytan Oct 18, 2024
e0ee04d
Regen SDK after changing operationId name
gerrytan Oct 18, 2024
f86ae1e
Removed [TestFixture] annotation, dual sync/async mode for test
gerrytan Oct 18, 2024
0054931
Removed dup namespace segment
gerrytan Oct 18, 2024
7dc5b3e
Updated tsp-location.yml with commit hash after specs merged, updated…
gerrytan Oct 21, 2024
79af11b
Push test recording
gerrytan Oct 21, 2024
a8c92ef
Merge branch 'main' into terraform-export-sdk-generation-2
gerrytan Oct 22, 2024
95b88cd
Test env setup + added test for all 3 export types
gerrytan Oct 23, 2024
04a3689
Regen SDK to sync with latest specs
gerrytan Oct 24, 2024
3963ac6
Renamed ExportResource, removed InheritanceCheckTest exclusion
gerrytan Oct 24, 2024
d9d105c
Fixed test variables use
gerrytan Oct 25, 2024
e558d54
add Terraform suffix to ExportQuery and ExportResourceGroup
gerrytan Oct 25, 2024
16347ac
Merge branch 'main' into terraform
ArthurMa1978 Oct 28, 2024
f9544be
update
ArthurMa1978 Oct 29, 2024
240bf6d
update
ArthurMa1978 Oct 29, 2024
37cb0c3
Update changelog
ArthurMa1978 Oct 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
<[email protected]> 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
Loading