github.com/nathanielks/terraform@v0.6.1-0.20170509030759-13e1a62319dc/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  }