Advertisement
Guest User

Untitled

a guest
Mar 10th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. variable "location" { default = "South Central US" }
  2. variable "vm_size" { default = "Standard_A0" }
  3. variable "name" { default = "temp" }
  4. variable "username" { }
  5. variable "password" { }
  6. variable "scripts_address" { }
  7. variable "scripts_connect" { }
  8.  
  9.  
  10. resource "azurerm_resource_group" "temp" {
  11. name = "${var.name}"
  12. location = "${var.location}"
  13. }
  14.  
  15. # Networking - simple virtual network
  16. resource "azurerm_virtual_network" "temp" {
  17. name = "${var.name}"
  18. address_space = ["10.0.0.0/24"]
  19. location = "${var.location}"
  20. resource_group_name = "${azurerm_resource_group.temp.name}"
  21. }
  22.  
  23. resource "azurerm_subnet" "temp" {
  24. name = "${var.name}"
  25. resource_group_name = "${azurerm_resource_group.temp.name}"
  26. virtual_network_name = "${azurerm_virtual_network.temp.name}"
  27. address_prefix = "10.0.0.0/24"
  28. }
  29.  
  30. resource "azurerm_public_ip" "temp" {
  31. name = "${var.name}"
  32. location = "${var.location}"
  33. resource_group_name = "${azurerm_resource_group.temp.name}"
  34. public_ip_address_allocation = "static"
  35. }
  36.  
  37. resource "azurerm_network_interface" "temp" {
  38. name = "${var.name}"
  39. location = "${var.location}"
  40. resource_group_name = "${azurerm_resource_group.temp.name}"
  41. ip_configuration
  42. {
  43. name = "${var.name}"
  44. subnet_id = "${azurerm_subnet.temp.id}"
  45. private_ip_address_allocation = "dynamic"
  46. public_ip_address_id = "${azurerm_public_ip.temp.id}"
  47. }
  48. }
  49.  
  50. # Storage account + one disk for VM
  51. resource "azurerm_storage_account" "temp" {
  52. name = "${var.name}12345"
  53. resource_group_name = "${azurerm_resource_group.temp.name}"
  54. location = "${var.location}"
  55. account_type = "Standard_LRS"
  56. }
  57.  
  58. resource "azurerm_storage_container" "temp" {
  59. name = "vhds"
  60. resource_group_name = "${azurerm_resource_group.temp.name}"
  61. storage_account_name = "${azurerm_storage_account.temp.name}"
  62. container_access_type = "private"
  63. }
  64.  
  65. # VM
  66. resource "azurerm_virtual_machine" "temp"
  67. {
  68. name = "${var.name}"
  69. location = "${var.location}"
  70. resource_group_name = "${azurerm_resource_group.temp.name}"
  71. network_interface_ids = ["${azurerm_network_interface.temp.id}"]
  72. vm_size = "${var.vm_size}"
  73. storage_image_reference {
  74. publisher = "Canonical"
  75. offer = "UbuntuServer"
  76. sku = "16.04.0-LTS"
  77. version = "latest"
  78. }
  79. storage_os_disk {
  80. name = "${var.name}_os"
  81. vhd_uri = "${azurerm_storage_account.temp.primary_blob_endpoint}${azurerm_storage_container.temp.name}/${var.name}_os.vhd"
  82. caching = "ReadWrite"
  83. create_option = "FromImage"
  84. }
  85. delete_os_disk_on_termination = true
  86. os_profile {
  87. computer_name = "${var.name}"
  88. admin_username = "${var.username}"
  89. admin_password = "${var.password}"
  90. }
  91. os_profile_linux_config {
  92. disable_password_authentication = false
  93. }
  94. provisioner "remote-exec" {
  95. connection {
  96. type = "ssh"
  97. user = "${var.username}"
  98. password = "${var.password}"
  99. host = "${azurerm_public_ip.temp.ip_address}"
  100. }
  101. inline = [
  102. "sudo apt-get update",
  103. "sudo apt-get upgrade -y"
  104. ]
  105. }
  106. }
  107.  
  108. output "ip" {
  109. value = "${azurerm_public_ip.temp.ip_address}"
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement