github.com/paybyphone/terraform@v0.9.5-0.20170613192930-9706042ddd51/examples/azure-vm-simple-linux-managed-disk/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.virtual_network_name}" 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.rg_prefix}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.rg_prefix}nic" 29 location = "${var.location}" 30 resource_group_name = "${azurerm_resource_group.rg.name}" 31 32 ip_configuration { 33 name = "${var.rg_prefix}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.rg_prefix}-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.dns_name}" 46 } 47 48 resource "azurerm_storage_account" "stor" { 49 name = "${var.dns_name}stor" 50 location = "${var.location}" 51 resource_group_name = "${azurerm_resource_group.rg.name}" 52 account_type = "${var.storage_account_type}" 53 } 54 55 resource "azurerm_managed_disk" "datadisk" { 56 name = "${var.hostname}-datadisk" 57 location = "${var.location}" 58 resource_group_name = "${azurerm_resource_group.rg.name}" 59 storage_account_type = "Standard_LRS" 60 create_option = "Empty" 61 disk_size_gb = "1023" 62 } 63 64 resource "azurerm_virtual_machine" "vm" { 65 name = "${var.rg_prefix}vm" 66 location = "${var.location}" 67 resource_group_name = "${azurerm_resource_group.rg.name}" 68 vm_size = "${var.vm_size}" 69 network_interface_ids = ["${azurerm_network_interface.nic.id}"] 70 71 storage_image_reference { 72 publisher = "${var.image_publisher}" 73 offer = "${var.image_offer}" 74 sku = "${var.image_sku}" 75 version = "${var.image_version}" 76 } 77 78 storage_os_disk { 79 name = "${var.hostname}-osdisk" 80 managed_disk_type = "Standard_LRS" 81 caching = "ReadWrite" 82 create_option = "FromImage" 83 } 84 85 storage_data_disk { 86 name = "${var.hostname}-datadisk" 87 managed_disk_id = "${azurerm_managed_disk.datadisk.id}" 88 managed_disk_type = "Standard_LRS" 89 disk_size_gb = "1023" 90 create_option = "Attach" 91 lun = 0 92 } 93 94 os_profile { 95 computer_name = "${var.hostname}" 96 admin_username = "${var.admin_username}" 97 admin_password = "${var.admin_password}" 98 } 99 100 os_profile_linux_config { 101 disable_password_authentication = false 102 } 103 104 boot_diagnostics { 105 enabled = true 106 storage_uri = "${azurerm_storage_account.stor.primary_blob_endpoint}" 107 } 108 }