diff --git a/INDEX.md b/INDEX.md index 88021edf..35b936e0 100644 --- a/INDEX.md +++ b/INDEX.md @@ -46,6 +46,7 @@ | `azurerm_postgresql_server` | [simple](azurerm/azurerm_postgresql_server/simple) | | `azurerm_private_dns_zone` | [simple](azurerm/azurerm_private_dns_zone/simple) | | `azurerm_public_ip` | [simple](azurerm/azurerm_public_ip/simple) | +| `azurerm_scale_set` | [linux](azurerm/azurerm_scale_set/linux) | | `azurerm_sql_server` | [simple](azurerm/azurerm_sql_server/simple) | | `azurerm_storage_account` | [simple](azurerm/azurerm_storage_account/simple) | | `azurerm_storage_blob` | [append](azurerm/azurerm_storage_blob/append)

[block](azurerm/azurerm_storage_blob/block)

[page](azurerm/azurerm_storage_blob/page) | diff --git a/azurerm/azurerm_scale_set/linux/destroy.sh b/azurerm/azurerm_scale_set/linux/destroy.sh new file mode 100755 index 00000000..8773725f --- /dev/null +++ b/azurerm/azurerm_scale_set/linux/destroy.sh @@ -0,0 +1,2 @@ +#!/bin/bash +../../../bin/destroy.sh azurerm \ No newline at end of file diff --git a/azurerm/azurerm_scale_set/linux/main.tf b/azurerm/azurerm_scale_set/linux/main.tf new file mode 100755 index 00000000..e3aa71d6 --- /dev/null +++ b/azurerm/azurerm_scale_set/linux/main.tf @@ -0,0 +1,85 @@ +# Summary: +# Documentation: https://www.terraform.io/docs/language/settings/index.html +terraform { + required_version = ">= 1.0.0" + required_providers { + azurerm = { + source = "hashicorp/azurerm" + version = "~> 2.0" + } + } +} + +# Documentation: https://www.terraform.io/docs/language/values/variables.html +variable "azure_subscription_id" { + type = string +} + +# Documentation: https://www.terraform.io/docs/language/providers/requirements.html +# Documentation: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs +provider "azurerm" { + features {} + + subscription_id = var.azure_subscription_id +} + +# Resource Group +# Documentation: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group +resource "azurerm_resource_group" "changeme_linux_scaleset_resource_group" { + name = "changeme-linux-scaleset-resource-group-name" + location = "West Europe" +} + + +# Virtual Network within the Resource Group +# Documentation: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network +resource "azurerm_virtual_network" "changeme_linux_scaleset_virtual_network" { + name = "changeme-linux-scaleset-network-name" + resource_group_name = azurerm_resource_group.changeme_linux_scaleset_resource_group.name + location = azurerm_resource_group.changeme_linux_scaleset_resource_group.location + address_space = ["10.0.0.0/16"] +} + +# Subnet within the Virtual Network +# Documentation: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet +resource "azurerm_subnet" "changeme_linux_scaleset_subnet" { + name = "changeme-linux-scaleset-subnet-name" + resource_group_name = azurerm_resource_group.changeme_linux_scaleset_resource_group.name + virtual_network_name = azurerm_virtual_network.changeme_linux_scaleset_virtual_network.name + address_prefixes = ["10.0.1.0/24"] +} + +resource "azurerm_linux_virtual_machine_scale_set" "changeme_simple_virtual_machine_linux_scaleset" { + name = "changeme-simple-virtual-machine-linux-scaleset" + resource_group_name = azurerm_resource_group.changeme_linux_scaleset_resource_group.name + location = azurerm_resource_group.changeme_linux_scaleset_resource_group.location + sku = "Standard_F2" + instances = 2 + admin_username = "changeme" + admin_password = "Changeme123#" + disable_password_authentication = false + + source_image_reference { + publisher = "Canonical" + offer = "UbuntuServer" + sku = "18.04-LTS" + version = "Latest" + } + + os_disk { + storage_account_type = "Standard_LRS" + caching = "ReadWrite" + } + + + network_interface { + name = "changeme-linux-scaleset-network-interface-name" + primary = true + + ip_configuration { + name = "changeme-linux-scaleset-ip-config" + primary = true + subnet_id = azurerm_subnet.changeme_linux_scaleset_subnet.id + } + } +} \ No newline at end of file diff --git a/azurerm/azurerm_scale_set/linux/run.sh b/azurerm/azurerm_scale_set/linux/run.sh new file mode 100755 index 00000000..334b8e2e --- /dev/null +++ b/azurerm/azurerm_scale_set/linux/run.sh @@ -0,0 +1,2 @@ +#!/bin/bash +../../../bin/apply.sh azurerm \ No newline at end of file