-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Automation] Generate Fluent Lite from TypeSpec terraform (#43022)
- Loading branch information
Showing
53 changed files
with
3,990 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Release History | ||
|
||
## 1.0.0-beta.1 (2024-11-20) | ||
|
||
- Azure Resource Manager Azure Terraform client library for Java. This package contains Microsoft Azure SDK for Azure Terraform Management SDK. The Azure Terraform management API provides a RESTful set of web services that used to manage your Azure Terraform resources. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). | ||
|
||
### Features Added | ||
|
||
- Initial release for the azure-resourcemanager-terraform Java SDK. |
104 changes: 104 additions & 0 deletions
104
sdk/terraform/azure-resourcemanager-terraform/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
# Azure Resource Manager Azure Terraform client library for Java | ||
|
||
Azure Resource Manager Azure Terraform client library for Java. | ||
|
||
This package contains Microsoft Azure SDK for Azure Terraform Management SDK. The Azure Terraform management API provides a RESTful set of web services that used to manage your Azure Terraform resources. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). | ||
|
||
## We'd love to hear your feedback | ||
|
||
We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better. | ||
|
||
If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together. | ||
|
||
Thank you in advance for your collaboration. We really appreciate your time! | ||
|
||
## Documentation | ||
|
||
Various documentation is available to help you get started | ||
|
||
- [API reference documentation][docs] | ||
|
||
## Getting started | ||
|
||
### Prerequisites | ||
|
||
- [Java Development Kit (JDK)][jdk] with version 8 or above | ||
- [Azure Subscription][azure_subscription] | ||
|
||
### Adding the package to your product | ||
|
||
[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-terraform;current}) | ||
```xml | ||
<dependency> | ||
<groupId>com.azure.resourcemanager</groupId> | ||
<artifactId>azure-resourcemanager-terraform</artifactId> | ||
<version>1.0.0-beta.1</version> | ||
</dependency> | ||
``` | ||
[//]: # ({x-version-update-end}) | ||
|
||
### Include the recommended packages | ||
|
||
Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client. | ||
|
||
[Azure Identity][azure_identity] and [Azure Core Netty HTTP][azure_core_http_netty] packages provide the default implementation. | ||
|
||
### Authentication | ||
|
||
Microsoft Entra ID token authentication relies on the [credential class][azure_identity_credentials] from [Azure Identity][azure_identity] package. | ||
|
||
Azure subscription ID can be configured via `AZURE_SUBSCRIPTION_ID` environment variable. | ||
|
||
Assuming the use of the `DefaultAzureCredential` credential class, the client can be authenticated using the following code: | ||
|
||
```java | ||
AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE); | ||
TokenCredential credential = new DefaultAzureCredentialBuilder() | ||
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint()) | ||
.build(); | ||
AzureTerraformManager manager = AzureTerraformManager | ||
.authenticate(credential, profile); | ||
``` | ||
|
||
The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise. | ||
|
||
See [Authentication][authenticate] for more options. | ||
|
||
## Key concepts | ||
|
||
See [API design][design] for general introduction on design and key concepts on Azure Management Libraries. | ||
|
||
## Examples | ||
|
||
[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/terraform/azure-resourcemanager-terraform/SAMPLE.md) | ||
|
||
|
||
## Troubleshooting | ||
|
||
## Next steps | ||
|
||
## 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 (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this 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 additional questions or comments. | ||
|
||
<!-- LINKS --> | ||
[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS | ||
[docs]: https://azure.github.io/azure-sdk-for-java/ | ||
[jdk]: https://learn.microsoft.com/azure/developer/java/fundamentals/ | ||
[azure_subscription]: https://azure.microsoft.com/free/ | ||
[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity | ||
[azure_identity_credentials]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/identity/azure-identity#credentials | ||
[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty | ||
[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md | ||
[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md | ||
[cg]: https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md | ||
[coc]: https://opensource.microsoft.com/codeofconduct/ | ||
[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ | ||
|
||
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fterraform%2Fazure-resourcemanager-terraform%2FREADME.png) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# Code snippets and samples | ||
|
||
|
||
## Operations | ||
|
||
- [List](#operations_list) | ||
|
||
## Terraform | ||
|
||
- [ExportTerraform](#terraform_exportterraform) | ||
### Operations_List | ||
|
||
```java | ||
/** | ||
* Samples for Operations List. | ||
*/ | ||
public final class OperationsListSamples { | ||
/* | ||
* x-ms-original-file: 2023-07-01-preview/ListOperations.json | ||
*/ | ||
/** | ||
* Sample code: Get a list of operations for a resource provider. | ||
* | ||
* @param manager Entry point to AzureTerraformManager. | ||
*/ | ||
public static void | ||
getAListOfOperationsForAResourceProvider(com.azure.resourcemanager.terraform.AzureTerraformManager manager) { | ||
manager.operations().list(com.azure.core.util.Context.NONE); | ||
} | ||
} | ||
``` | ||
|
||
### Terraform_ExportTerraform | ||
|
||
```java | ||
import com.azure.resourcemanager.terraform.models.ExportResourceGroup; | ||
|
||
/** | ||
* Samples for Terraform ExportTerraform. | ||
*/ | ||
public final class TerraformExportTerraformSamples { | ||
/* | ||
* x-ms-original-file: 2023-07-01-preview/ExportTerraform.json | ||
*/ | ||
/** | ||
* Sample code: ExportTerraform. | ||
* | ||
* @param manager Entry point to AzureTerraformManager. | ||
*/ | ||
public static void exportTerraform(com.azure.resourcemanager.terraform.AzureTerraformManager manager) { | ||
manager.terraforms() | ||
.exportTerraform(new ExportResourceGroup().withResourceGroupName("rg1"), com.azure.core.util.Context.NONE); | ||
} | ||
} | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
<!-- | ||
~ Copyright (c) Microsoft Corporation. All rights reserved. | ||
~ Licensed under the MIT License. | ||
~ Code generated by Microsoft (R) TypeSpec Code Generator. | ||
--> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<parent> | ||
<groupId>com.azure</groupId> | ||
<artifactId>azure-client-sdk-parent</artifactId> | ||
<version>1.7.0</version> <!-- {x-version-update;com.azure:azure-client-sdk-parent;current} --> | ||
<relativePath>../../parents/azure-client-sdk-parent</relativePath> | ||
</parent> | ||
|
||
<groupId>com.azure.resourcemanager</groupId> | ||
<artifactId>azure-resourcemanager-terraform</artifactId> | ||
<version>1.0.0-beta.1</version> <!-- {x-version-update;com.azure.resourcemanager:azure-resourcemanager-terraform;current} --> | ||
<packaging>jar</packaging> | ||
|
||
<name>Microsoft Azure SDK for Azure Terraform Management</name> | ||
<description>This package contains Microsoft Azure SDK for Azure Terraform Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The Azure Terraform management API provides a RESTful set of web services that used to manage your Azure Terraform resources.</description> | ||
<url>https://github.com/Azure/azure-sdk-for-java</url> | ||
|
||
<licenses> | ||
<license> | ||
<name>The MIT License (MIT)</name> | ||
<url>http://opensource.org/licenses/MIT</url> | ||
<distribution>repo</distribution> | ||
</license> | ||
</licenses> | ||
|
||
<scm> | ||
<url>https://github.com/Azure/azure-sdk-for-java</url> | ||
<connection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</connection> | ||
<developerConnection>scm:git:[email protected]:Azure/azure-sdk-for-java.git</developerConnection> | ||
<tag>HEAD</tag> | ||
</scm> | ||
<developers> | ||
<developer> | ||
<id>microsoft</id> | ||
<name>Microsoft</name> | ||
</developer> | ||
</developers> | ||
<properties> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
<jacoco.min.linecoverage>0</jacoco.min.linecoverage> | ||
<jacoco.min.branchcoverage>0</jacoco.min.branchcoverage> | ||
<revapi.skip>true</revapi.skip> | ||
<spotless.skip>false</spotless.skip> | ||
</properties> | ||
<dependencies> | ||
<dependency> | ||
<groupId>com.azure</groupId> | ||
<artifactId>azure-core</artifactId> | ||
<version>1.54.1</version> <!-- {x-version-update;com.azure:azure-core;dependency} --> | ||
</dependency> | ||
<dependency> | ||
<groupId>com.azure</groupId> | ||
<artifactId>azure-core-management</artifactId> | ||
<version>1.15.6</version> <!-- {x-version-update;com.azure:azure-core-management;dependency} --> | ||
</dependency> | ||
<dependency> | ||
<groupId>com.azure</groupId> | ||
<artifactId>azure-core-test</artifactId> | ||
<version>1.27.0-beta.4</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} --> | ||
<scope>test</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>com.azure</groupId> | ||
<artifactId>azure-identity</artifactId> | ||
<version>1.14.2</version> <!-- {x-version-update;com.azure:azure-identity;dependency} --> | ||
<scope>test</scope> | ||
</dependency> | ||
</dependencies> | ||
</project> |
Oops, something went wrong.