github.com/alkar/terraform@v0.9.6-0.20170517124458-a4cddf6ebf59/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  }