github.com/paybyphone/terraform@v0.9.5-0.20170613192930-9706042ddd51/examples/azure-vm-from-user-image/main.tf (about) 1 # provider "azurerm" { 2 # subscription_id = "REPLACE-WITH-YOUR-SUBSCRIPTION-ID" 3 # client_id = "REPLACE-WITH-YOUR-CLIENT-ID" 4 # client_secret = "REPLACE-WITH-YOUR-CLIENT-SECRET" 5 # tenant_id = "REPLACE-WITH-YOUR-TENANT-ID" 6 # } 7 8 resource "azurerm_resource_group" "rg" { 9 name = "${var.resource_group}" 10 location = "${var.location}" 11 } 12 13 resource "azurerm_virtual_network" "vnet" { 14 name = "${var.hostname}vnet" 15 location = "${var.location}" 16 address_space = ["${var.address_space}"] 17 resource_group_name = "${azurerm_resource_group.rg.name}" 18 } 19 20 resource "azurerm_subnet" "subnet" { 21 name = "${var.hostname}subnet" 22 virtual_network_name = "${azurerm_virtual_network.vnet.name}" 23 resource_group_name = "${azurerm_resource_group.rg.name}" 24 address_prefix = "${var.subnet_prefix}" 25 } 26 27 resource "azurerm_network_interface" "nic" { 28 name = "${var.hostname}nic" 29 location = "${var.location}" 30 resource_group_name = "${azurerm_resource_group.rg.name}" 31 32 ip_configuration { 33 name = "${var.hostname}ipconfig" 34 subnet_id = "${azurerm_subnet.subnet.id}" 35 private_ip_address_allocation = "Dynamic" 36 public_ip_address_id = "${azurerm_public_ip.pip.id}" 37 } 38 } 39 40 resource "azurerm_public_ip" "pip" { 41 name = "${var.hostname}-ip" 42 location = "${var.location}" 43 resource_group_name = "${azurerm_resource_group.rg.name}" 44 public_ip_address_allocation = "Dynamic" 45 domain_name_label = "${var.hostname}" 46 } 47 48 resource "azurerm_virtual_machine" "vm" { 49 name = "${var.hostname}" 50 location = "${var.location}" 51 resource_group_name = "${azurerm_resource_group.rg.name}" 52 vm_size = "${var.vm_size}" 53 network_interface_ids = ["${azurerm_network_interface.nic.id}"] 54 55 storage_os_disk { 56 name = "${var.hostname}-osdisk1" 57 image_uri = "${var.image_uri}" 58 vhd_uri = "https://${var.storage_account_name}.blob.core.windows.net/vhds/${var.hostname}osdisk.vhd" 59 os_type = "${var.os_type}" 60 caching = "ReadWrite" 61 create_option = "FromImage" 62 } 63 64 os_profile { 65 computer_name = "${var.hostname}" 66 admin_username = "${var.admin_username}" 67 admin_password = "${var.admin_password}" 68 } 69 70 os_profile_linux_config { 71 disable_password_authentication = false 72 } 73 }