Skip to content

ksekimoto/terraform-provider-azurerm

 
 

Repository files navigation

AzureRM Terraform Provider

Readme

  • 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

Using the provider

# 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

Steps

  • 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"

AzureRM Terraform Provider

General Requirements

  • Terraform 0.10.x
  • Go 1.9 (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/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

Using the provider

# 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.

Developing the Provider

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

About

Terraform Azure Resource Manager provider

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.3%
  • HTML 1.2%
  • Other 0.5%