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

[AutoPR Azure.ResourceManager.Terraform] AzureTerraform: README for ARMStrong testing files #9628

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
686 changes: 344 additions & 342 deletions sdk/resourcemanager/ci.mgmt.yml

Large diffs are not rendered by default.

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("{708C5E77-A6B1-4BBB-9774-7AA68A54D1F4}") = "Azure.ResourceManager.Terraform", "src\Azure.ResourceManager.Terraform.csproj", "{15C2D7CA-57EC-420F-82C0-A99C11B915D8}"
EndProject
Project("{708C5E77-A6B1-4BBB-9774-7AA68A54D1F4}") = "Azure.ResourceManager.Terraform.Tests", "tests\Azure.ResourceManager.Terraform.Tests.csproj", "{747F1210-B2F6-42B0-8B7F-11C35C4F3018}"
EndProject
Project("{708C5E77-A6B1-4BBB-9774-7AA68A54D1F4}") = "Azure.ResourceManager.Terraform.Samples", "samples\Azure.ResourceManager.Terraform.Samples.csproj", "{EDE60CB4-BD79-48DF-913C-D4994C06E379}"
EndProject
Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8FEFA29E-00A2-439D-A5E3-CD46864E5C0C}
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
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Debug|x64.ActiveCfg = Debug|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Debug|x64.Build.0 = Debug|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Debug|x86.ActiveCfg = Debug|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Debug|x86.Build.0 = Debug|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Release|Any CPU.Build.0 = Release|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Release|x64.ActiveCfg = Release|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Release|x64.Build.0 = Release|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Release|x86.ActiveCfg = Release|Any CPU
{15C2D7CA-57EC-420F-82C0-A99C11B915D8}.Release|x86.Build.0 = Release|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Debug|Any CPU.Build.0 = Debug|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Debug|x64.ActiveCfg = Debug|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Debug|x64.Build.0 = Debug|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Debug|x86.ActiveCfg = Debug|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Debug|x86.Build.0 = Debug|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Release|Any CPU.ActiveCfg = Release|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Release|Any CPU.Build.0 = Release|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Release|x64.ActiveCfg = Release|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Release|x64.Build.0 = Release|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Release|x86.ActiveCfg = Release|Any CPU
{747F1210-B2F6-42B0-8B7F-11C35C4F3018}.Release|x86.Build.0 = Release|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Debug|x64.ActiveCfg = Debug|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Debug|x64.Build.0 = Debug|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Debug|x86.ActiveCfg = Debug|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Debug|x86.Build.0 = Debug|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Release|Any CPU.Build.0 = Release|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Release|x64.ActiveCfg = Release|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Release|x64.Build.0 = Release|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Release|x86.ActiveCfg = Release|Any CPU
{EDE60CB4-BD79-48DF-913C-D4994C06E379}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
19 changes: 19 additions & 0 deletions sdk/terraform/Azure.ResourceManager.Terraform/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Release History

## 1.0.0-beta.1 (Unreleased)



### 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>
80 changes: 80 additions & 0 deletions sdk/terraform/Azure.ResourceManager.Terraform/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Microsoft Azure terraform management client library for .NET

**[Describe the service briefly first.]**

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/
6 changes: 6 additions & 0 deletions sdk/terraform/Azure.ResourceManager.Terraform/assets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "net",
"TagPrefix": "net/terraform/Azure.ResourceManager.Terraform",
"Tag": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<PackageReference Include="Azure.Identity"/>
<PackageReference Include="NUnit" />
<PackageReference Include="NUnit3TestAdapter" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\src\Azure.ResourceManager.Terraform.csproj" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Version>1.0.0-beta.1</Version>
<PackageId>Azure.ResourceManager.Terraform</PackageId>
<Description>Azure Resource Manager client SDK for Azure resource provider terraform.</Description>
<PackageTags>azure;management;arm;resource manager;terraform</PackageTags>
</PropertyGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

using System.Runtime.CompilerServices;

[assembly: Azure.Core.AzureResourceProviderNamespace("terraform")]

[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
[assembly: InternalsVisibleTo("Azure.ResourceManager.Terraform.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100d15ddcb29688295338af4b7686603fe614abd555e09efba8fb88ee09e1f7b1ccaeed2e8f823fa9eef3fdd60217fc012ea67d2479751a0b8c087a4185541b851bd8b16f8d91b840e51b1cb0ba6fe647997e57429265e85ef62d565db50a69ae1647d54d7bd855e4db3d8a91510e5bcbd0edfbbecaa20a7bd9ae74593daa7b11b4")]
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="..\src\Azure.ResourceManager.Terraform.csproj" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

using Azure.Core;
using Azure.Core.TestFramework;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.TestFramework;
using NUnit.Framework;
using System.Threading.Tasks;

namespace Azure.ResourceManager.Terraform.Tests
{
public class terraformManagementTestBase : ManagementRecordedTestBase<terraformManagementTestEnvironment>
{
protected ArmClient Client { get; private set; }
protected SubscriptionResource DefaultSubscription { get; private set; }

protected terraformManagementTestBase(bool isAsync, RecordedTestMode mode)
: base(isAsync, mode)
{
}

protected terraformManagementTestBase(bool isAsync)
: base(isAsync)
{
}

[SetUp]
public async Task CreateCommonClient()
{
Client = GetArmClient();
DefaultSubscription = await Client.GetDefaultSubscriptionAsync().ConfigureAwait(false);
}

protected async Task<ResourceGroupResource> CreateResourceGroup(SubscriptionResource subscription, string rgNamePrefix, AzureLocation location)
{
string rgName = Recording.GenerateAssetName(rgNamePrefix);
ResourceGroupData input = new ResourceGroupData(location);
var lro = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, rgName, input);
return lro.Value;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

using Azure.Core.TestFramework;

namespace Azure.ResourceManager.Terraform.Tests
{
public class terraformManagementTestEnvironment : TestEnvironment
{
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
directory: specification/terraform/TypeSpecDirectory
commit: CommitId
repo: Azure/azure-rest-api-specs
24 changes: 24 additions & 0 deletions sdk/terraform/ci.mgmt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file.

trigger: none

pr:
branches:
include:
- main
- feature/*
- hotfix/*
- release/*
paths:
include:
- sdk/terraform/ci.mgmt.yml
- sdk/terraform/Azure.ResourceManager.Terraform/

extends:
template: /eng/pipelines/templates/stages/archetype-sdk-client.yml
parameters:
ServiceDirectory: terraform
LimitForPullRequest: true
Artifacts:
- name: Azure.ResourceManager.Terraform
safeName: AzureResourceManagerTerraform