Categorygithub.com/Azure/azure-sdk-for-go/sdk/resourcemanager/terraform/armterraform
modulepackage
0.1.0
Repository: https://github.com/azure/azure-sdk-for-go.git
Documentation: pkg.go.dev

# README

Azure Terraform Module for Go

The armterraform module provides operations for working with Azure Terraform.

Source code

Getting started

Prerequisites

  • an Azure subscription
  • Go 1.18 or above (You could download and install the latest version of Go from here. It will replace the existing Go on your machine. If you want to install multiple Go versions on the same machine, you could refer this doc.)

Install the package

This project uses Go modules for versioning and dependency management.

Install the Azure Terraform module:

go get github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/terraform/armterraform

Authorization

When creating a client, you will need to provide a credential for authenticating with Azure Terraform. The azidentity module provides facilities for various ways of authenticating with Azure including client/secret, certificate, managed identity, and more.

cred, err := azidentity.NewDefaultAzureCredential(nil)

For more information on authentication, please see the documentation for azidentity at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity.

Client Factory

Azure Terraform module consists of one or more clients. We provide a client factory which could be used to create any client in this module.

clientFactory, err := armterraform.NewClientFactory(<subscription ID>, cred, nil)

You can use ClientOptions in package github.com/Azure/azure-sdk-for-go/sdk/azcore/arm to set endpoint to connect with public and sovereign clouds as well as Azure Stack. For more information, please see the documentation for azcore at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azcore.

options := arm.ClientOptions {
    ClientOptions: azcore.ClientOptions {
        Cloud: cloud.AzureChina,
    },
}
clientFactory, err := armterraform.NewClientFactory(<subscription ID>, cred, &options)

Clients

A client groups a set of related APIs, providing access to its functionality. Create one or more clients to access the APIs you require using client factory.

client := clientFactory.NewTerraformClient()

Fakes

The fake package contains types used for constructing in-memory fake servers used in unit tests. This allows writing tests to cover various success/error conditions without the need for connecting to a live service.

Please see https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/samples/fakes for details and examples on how to use fakes.

Provide Feedback

If you encounter bugs or have suggestions, please open an issue and assign the Terraform label.

Contributing

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 repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

# Packages

No description provided by the author

# Functions

NewClientFactory creates a new instance of ClientFactory with the specified values.
NewOperationsClient creates a new instance of OperationsClient with the specified values.
NewTerraformClient creates a new instance of TerraformClient with the specified values.
PossibleActionTypeValues returns the possible values for the ActionType const type.
PossibleOriginValues returns the possible values for the Origin const type.
PossibleResourceProvisioningStateValues returns the possible values for the ResourceProvisioningState const type.
PossibleTargetProviderValues returns the possible values for the TargetProvider const type.
PossibleTypeValues returns the possible values for the Type const type.

# Constants

ActionTypeInternal - Actions are for internal-only APIs.
OriginSystem - Indicates the operation is initiated by a system.
OriginUser - Indicates the operation is initiated by a user.
OriginUserSystem - Indicates the operation is initiated by a user or system.
ResourceProvisioningStateCanceled - Resource creation was canceled.
ResourceProvisioningStateFailed - Resource creation failed.
ResourceProvisioningStateSucceeded - Resource has been created.
TargetProviderAzapi - https://registry.terraform.io/providers/Azure/azapi/latest.
TargetProviderAzurerm - https://registry.terraform.io/providers/hashicorp/azurerm/latest.
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

BaseExportModel - The base export parameter.
ClientFactory is a client factory used to create any client in this module.
ErrorAdditionalInfo - The resource management error additional info.
No description provided by the author
ErrorDetail - The error detail.
ExportQuery - Export parameter for resources queried by ARG (Azure Resource Graph).
ExportResource - Export parameter for individual resources.
ExportResourceGroup - Export parameter for a resource group.
ExportResult - The Terraform export result.
Operation - Details of a REST API operation, returned from the Resource Provider Operations API.
OperationDisplay - Localized display information for and operation.
OperationListResult - A list of REST API operations supported by an Azure Resource Provider.
OperationsClient contains the methods for the Operations group.
OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.
OperationsClientListResponse contains the response from method OperationsClient.NewListPager.
OperationStatus - The status of the LRO operation.
TerraformClient contains the methods for the Terraform group.
TerraformClientBeginExportTerraformOptions contains the optional parameters for the TerraformClient.BeginExportTerraform method.
TerraformClientExportTerraformResponse contains the response from method TerraformClient.BeginExportTerraform.

# Interfaces

BaseExportModelClassification provides polymorphic access to related types.

# Type aliases

ActionType - Extensible enum.
Origin - The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX.
ResourceProvisioningState - The provisioning state of a resource type.
TargetProvider - The target Azure Terraform Provider.
Type - The parameter type.