![Terraform Terraform logo](https://raw.githubusercontent.com/jkrilov/terraform-provider-azurerm/main/.github/tf.png)
The AzureRM Terraform Provider allows managing resources within Azure Resource Manager.
When using version 3.0 of the AzureRM Provider we recommend using Terraform 1.x (the latest version can be found here). Whilst older versions of Terraform Core (0.12.x and later) remain compatible with v3.0 of the AzureRM Provider - support for versions prior to 1.0 will be removed in the next major release of the AzureRM Provider (v4.0).
- Terraform Website
- AzureRM Provider Documentation
- AzureRM Provider Usage Examples
- Slack Workspace for Contributors (Request Invite)
# 1. Specify the version of the AzureRM Provider to use
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "=3.0.1"
}
}
}
# 2. Configure the AzureRM Provider
provider "azurerm" {
# The AzureRM Provider supports authenticating using via the Azure CLI, a Managed Identity
# and a Service Principal. More information on the authentication methods supported by
# the AzureRM Provider can be found here:
# https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs#authenticating-to-azure
# The features block allows changing the behaviour of the Azure Provider, more
# information can be found here:
# https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/features-block
features {}
}
# 3. Create a resource group
resource "azurerm_resource_group" "example" {
name = "example-resources"
location = "West Europe"
}
# 4. Create a virtual network within the resource group
resource "azurerm_virtual_network" "example" {
name = "example-network"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
address_space = ["10.0.0.0/16"]
}
- Usage documentation for the AzureRM Provider can be found in the Terraform Registry.
- Learn more about Terraform and the AzureRM Provider on HashiCorp Learn.
- Additional examples can be found in the
./examples
folder within this repository.
The DEVELOPER.md file is a basic outline on how to build and develop the provider while more detailed guides geared towards contributors can be found in the /contributing
directory of this repository.