github.com/brandonstevens/terraform@v0.9.6-0.20170512224929-5367f2607e16/examples/azure-vm-from-user-image/README.md (about) 1 # [Create a Virtual Machine from a User Image](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cli-deploy-templates#create-a-custom-vm-image) 2 3 This Terraform template was based on [this](https://github.com/Azure/azure-quickstart-templates/tree/master/101-vm-from-user-image) Azure Quickstart Template. Changes to the ARM template that may have occurred since the creation of this example may not be reflected here. 4 5 > Prerequisite - The generalized image VHD should exist, as well as a Storage Account for boot diagnostics 6 7 This template allows you to create a Virtual Machine from an unmanaged User image vhd. This template also deploys a Virtual Network, Public IP addresses and a Network Interface. 8 9 ## main.tf 10 The `main.tf` file contains the actual resources that will be deployed. It also contains the Azure Resource Group definition and any defined variables. 11 12 ## outputs.tf 13 This data is outputted when `terraform apply` is called, and can be queried using the `terraform output` command. 14 15 ## provider.tf 16 Azure requires that an application is added to Azure Active Directory to generate the `client_id`, `client_secret`, and `tenant_id` needed by Terraform (`subscription_id` can be recovered from your Azure account details). Please go [here](https://www.terraform.io/docs/providers/azurerm/) for full instructions on how to create this to populate your `provider.tf` file. 17 18 ## terraform.tfvars 19 If a `terraform.tfvars` file is present in the current directory, Terraform automatically loads it to populate variables. We don't recommend saving usernames and password to version control, but you can create a local secret variables file and use `-var-file` to load it. 20 21 If you are committing this template to source control, please insure that you add this file to your `.gitignore` file. 22 23 ## variables.tf 24 The `variables.tf` file contains all of the input parameters that the user can specify when deploying this Terraform template. 25 26 