From 8060a928907e13a059ef0e34bb0345dd74a65bec Mon Sep 17 00:00:00 2001 From: asudbring Date: Thu, 18 Jan 2024 22:40:47 -0800 Subject: [PATCH] added terraform for create a virtual network with two subnets quickstart in virtual network docset --- .../main.tf | 34 +++++++++++++++++++ .../outputs.tf | 19 +++++++++++ .../providers.tf | 16 +++++++++ .../readme.md | 19 +++++++++++ .../variables.tf | 17 ++++++++++ 5 files changed, 105 insertions(+) create mode 100644 quickstart/101-virtual-network-create-two-subnets/main.tf create mode 100644 quickstart/101-virtual-network-create-two-subnets/outputs.tf create mode 100644 quickstart/101-virtual-network-create-two-subnets/providers.tf create mode 100644 quickstart/101-virtual-network-create-two-subnets/readme.md create mode 100644 quickstart/101-virtual-network-create-two-subnets/variables.tf diff --git a/quickstart/101-virtual-network-create-two-subnets/main.tf b/quickstart/101-virtual-network-create-two-subnets/main.tf new file mode 100644 index 00000000..46a59836 --- /dev/null +++ b/quickstart/101-virtual-network-create-two-subnets/main.tf @@ -0,0 +1,34 @@ +# Resource Group +resource "azurerm_resource_group" "rg" { + location = var.resource_group_location + name = "${random_pet.prefix.id}-rg" +} + +# Virtual Network +resource "azurerm_virtual_network" "my_terraform_network" { + name = "${random_pet.prefix.id}-vnet" + address_space = ["10.0.0.0/16"] + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name +} + +# Subnet 1 +resource "azurerm_subnet" "my_terraform_subnet_1" { + name = "subnet-1" + resource_group_name = azurerm_resource_group.rg.name + virtual_network_name = azurerm_virtual_network.my_terraform_network.name + address_prefixes = ["10.0.0.0/24"] +} + +# Subnet 2 +resource "azurerm_subnet" "my_terraform_subnet_2" { + name = "subnet-2" + resource_group_name = azurerm_resource_group.rg.name + virtual_network_name = azurerm_virtual_network.my_terraform_network.name + address_prefixes = ["10.0.1.0/24"] +} + +resource "random_pet" "prefix" { + prefix = var.prefix + length = 1 +} diff --git a/quickstart/101-virtual-network-create-two-subnets/outputs.tf b/quickstart/101-virtual-network-create-two-subnets/outputs.tf new file mode 100644 index 00000000..7b7e0677 --- /dev/null +++ b/quickstart/101-virtual-network-create-two-subnets/outputs.tf @@ -0,0 +1,19 @@ +output "resource_group_name" { + description = "The name of the created resource group." + value = azurerm_resource_group.rg.name +} + +output "virtual_network_name" { + description = "The name of the created virtual network." + value = azurerm_virtual_network.my_terraform_network.name +} + +output "subnet_name_1" { + description = "The name of the created subnet 1." + value = azurerm_subnet.my_terraform_subnet_1.name +} + +output "subnet_name_2" { + description = "The name of the created subnet 2." + value = azurerm_subnet.my_terraform_subnet_2.name +} diff --git a/quickstart/101-virtual-network-create-two-subnets/providers.tf b/quickstart/101-virtual-network-create-two-subnets/providers.tf new file mode 100644 index 00000000..7261b1fb --- /dev/null +++ b/quickstart/101-virtual-network-create-two-subnets/providers.tf @@ -0,0 +1,16 @@ +terraform { + required_providers { + azurerm = { + source = "hashicorp/azurerm" + version = "~>3.0" + } + random = { + source = "hashicorp/random" + version = "~>3.0" + } + } +} + +provider "azurerm" { + features {} +} \ No newline at end of file diff --git a/quickstart/101-virtual-network-create-two-subnets/readme.md b/quickstart/101-virtual-network-create-two-subnets/readme.md new file mode 100644 index 00000000..377234a3 --- /dev/null +++ b/quickstart/101-virtual-network-create-two-subnets/readme.md @@ -0,0 +1,19 @@ +# Azure resource group + +This template deploys an Azure resource group with a random name beginning with "rg-". + +## Terraform resource types + +- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) +- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) + +## Variables + +| Name | Description | Default | +|-|-|-| +| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg | +| `resource_group_location` | Location of the resource group. | eastus | + +## Example + +To see how to run this example, see [Create an Azure resource group using Terraform](https://docs.microsoft.com/azure/developer/terraform/create-resource-group). \ No newline at end of file diff --git a/quickstart/101-virtual-network-create-two-subnets/variables.tf b/quickstart/101-virtual-network-create-two-subnets/variables.tf new file mode 100644 index 00000000..8a8a8638 --- /dev/null +++ b/quickstart/101-virtual-network-create-two-subnets/variables.tf @@ -0,0 +1,17 @@ +variable "resource_group_location" { + type = string + default = "eastus" + description = "Location of the resource group." +} + +variable "prefix" { + type = string + default = "rg" + description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." +} + +variable "vnet_address_space" { + type = list(string) + default = ["10.0.0.0/16"] + description = "Address space for the virtual network." +}