Skip to content
Terraform provider for Azure Resource Manager
Go Other
  1. Go 99.3%
  2. Other 0.7%
Branch: master
Clone or download

AzureRM Terraform Provider

General Requirements

  • Terraform 0.10.x
  • Go 1.12.x (to build the provider plugin)

Windows Specific Requirements

For GNU32 Make, make sure its bin path is added to PATH environment variable.*

For Git Bash for Windows, at the step of "Adjusting your PATH environment", please choose "Use Git and optional Unix tools from Windows Command Prompt".*

Building The Provider

Clone repository to: $GOPATH/src/

$ mkdir -p $GOPATH/src/; cd $GOPATH/src/
$ git clone

Enter the provider directory and build the provider

$ cd $GOPATH/src/
$ make build

Using the provider

# Configure the Microsoft Azure Provider
provider "azurerm" {
  # More information on the authentication methods supported by
  # the AzureRM Provider can be found here:

  # subscription_id = "..."
  # client_id       = "..."
  # client_secret   = "..."
  # tenant_id       = "..."

# Create a resource group
resource "azurerm_resource_group" "example" {
  name     = "production-resources"
  location = "West US"

# Create a virtual network in the production-resources resource group
resource "azurerm_virtual_network" "test" {
  name                = "production-network"
  resource_group_name = "${}"
  location            = "${azurerm_resource_group.example.location}"
  address_space       = [""]

Further usage documentation is available on the Terraform website.

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.12+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin to your $PATH.

To compile the provider, run make build. This will build the provider and put the provider binary in the $GOPATH/bin directory.

$ make build
$ $GOPATH/bin/terraform-provider-azurerm

In order to run the unit tests for the provider, you can run:

$ make test

The majority of tests in the provider are Acceptance Tests - which provisions real resources in Azure. It's possible to run the entire acceptance test suite by running make testacc - however it's likely you'll want to run a subset, which you can do using a prefix, by running:

make testacc TESTARGS='-run=TestAccAzureRMResourceGroup'

The following Environment Variables must be set in your shell prior to running acceptance tests:


Note: Acceptance tests create real resources in Azure which often cost money to run.


GOOS=windows GOARCH=amd64 make build
You can’t perform that action at this time.