# provider "azurerm" { # subscription_id = "REPLACE-WITH-YOUR-SUBSCRIPTION-ID" # client_id = "REPLACE-WITH-YOUR-CLIENT-ID" # client_secret = "REPLACE-WITH-YOUR-CLIENT-SECRET" # tenant_id = "REPLACE-WITH-YOUR-TENANT-ID" # } resource "azurerm_resource_group" "rg" { name = "${var.resource_group}" location = "${var.location}" } resource "azurerm_virtual_network" "vnet" { name = "${var.hostname}vnet" location = "${var.location}" address_space = ["${var.address_space}"] resource_group_name = "${azurerm_resource_group.rg.name}" } resource "azurerm_subnet" "subnet" { name = "${var.hostname}subnet" virtual_network_name = "${azurerm_virtual_network.vnet.name}" resource_group_name = "${azurerm_resource_group.rg.name}" address_prefix = "${var.subnet_prefix}" } resource "azurerm_network_interface" "nic" { name = "${var.hostname}nic" location = "${var.location}" resource_group_name = "${azurerm_resource_group.rg.name}" ip_configuration { name = "${var.hostname}ipconfig" subnet_id = "${azurerm_subnet.subnet.id}" private_ip_address_allocation = "Dynamic" public_ip_address_id = "${azurerm_public_ip.pip.id}" } } resource "azurerm_public_ip" "pip" { name = "${var.hostname}-ip" location = "${var.location}" resource_group_name = "${azurerm_resource_group.rg.name}" public_ip_address_allocation = "Dynamic" domain_name_label = "${var.hostname}" } resource "azurerm_virtual_machine" "vm" { name = "${var.hostname}" location = "${var.location}" resource_group_name = "${azurerm_resource_group.rg.name}" vm_size = "${var.vm_size}" network_interface_ids = ["${azurerm_network_interface.nic.id}"] storage_os_disk { name = "${var.hostname}-osdisk1" image_uri = "${var.image_uri}" vhd_uri = "https://${var.storage_account_name}.blob.core.windows.net/vhds/${var.hostname}-osdisk.vhd" os_type = "${var.os_type}" caching = "ReadWrite" create_option = "FromImage" } os_profile { computer_name = "${var.hostname}" admin_username = "${var.admin_username}" admin_password = "${var.admin_password}" } os_profile_linux_config { disable_password_authentication = false } }