- Did changed to use on Azure Stack Development Kit (ASDK) environment
- Modified to meet APIVersion of Azure Stack Development Kit (ASDK) only for compute, network, and storage
- Added two environments ("localuser" and "localadmin") as "environment" parameter and "deployment_id" parameter
- Dropped "Encryption" for storage account and "Managed Disk" for virtual machine
- Built an executable file (release folder) only for Windows environment
- Tried "terraform apply" and "terraform destroy" for two use cases for Ubunts 16.04 and Windows Server 2016
# Configure the Microsoft Azure Provider
provider "azurerm" {
environment = "localuser"
subscription_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
client_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
client_secret = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
tenant_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
deployment_id = "https://management.xxxxxxxx.onmicrosoft.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
- "environment" can be "localuser" or "localadmin"
- "deployment_id" is https://mamangement. + "tenant directory" + "/" + "DeploymentID" for "localuser" or https://adminmamangement. + "tenant directory" + "/" + "DeploymentID" for "localadmin"
- DeploymentID is described in AzureStackStampInformation.json
- Configure parameters of provider for Azure Stack Deveopment Kit (ASDK)
- Execute "terraform init" to initialize files of plugins
- Overwrite "terraform-provider-azurerm.exe" on the existing AzureRM Terraform Provider executable file in ".terraform\plugins\windows_amd64"
- Execute "terraform init"
- Execute "terraform plan" or "terraform apply"
- Website: https://www.terraform.io
- Mailing list: Google Groups
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".*
Clone repository to: $GOPATH/src/github.com/terraform-providers/terraform-provider-azurerm
$ mkdir -p $GOPATH/src/github.com/terraform-providers; cd $GOPATH/src/github.com/terraform-providers
$ git clone [email protected]:terraform-providers/terraform-provider-azurerm
Enter the provider directory and build the provider
$ cd $GOPATH/src/github.com/terraform-providers/terraform-provider-azurerm
$ make build
# Configure the Microsoft Azure Provider
provider "azurerm" {
subscription_id = "..."
client_id = "..."
client_secret = "..."
tenant_id = "..."
}
# Create a resource group
resource "azurerm_resource_group" "production" {
name = "production"
location = "West US"
}
# Create a virtual network in the web_servers resource group
resource "azurerm_virtual_network" "network" {
name = "productionNetwork"
address_space = ["10.0.0.0/16"]
location = "West US"
resource_group_name = "${azurerm_resource_group.production.name}"
subnet {
name = "subnet1"
address_prefix = "10.0.1.0/24"
}
subnet {
name = "subnet2"
address_prefix = "10.0.2.0/24"
}
subnet {
name = "subnet3"
address_prefix = "10.0.3.0/24"
}
}
Further usage documentation is available on the Terraform website.
If you wish to work on the provider, you'll first need Go installed on your machine (version 1.9+ 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 test the provider, you can simply run make test
.
$ make test
In order to run the full suite of Acceptance tests, run make testacc
.
Note: Acceptance tests create real resources, and often cost money to run.
$ make testacc