From 75c6fa2455da04c8452eb6910c0719c83fb3a952 Mon Sep 17 00:00:00 2001 From: Michael Bender Date: Thu, 16 Nov 2023 12:03:20 -0600 Subject: [PATCH] update terraform --- .../main.tf | 166 ++++++++++++++++++ .../outputs.tf | 7 + .../providers.tf | 16 ++ .../readme.md | 29 +++ .../variables.tf | 11 ++ 5 files changed, 229 insertions(+) create mode 100644 quickstart/101-virtual-network-manager-create-management-group-scope/main.tf create mode 100644 quickstart/101-virtual-network-manager-create-management-group-scope/outputs.tf create mode 100644 quickstart/101-virtual-network-manager-create-management-group-scope/providers.tf create mode 100644 quickstart/101-virtual-network-manager-create-management-group-scope/readme.md create mode 100644 quickstart/101-virtual-network-manager-create-management-group-scope/variables.tf diff --git a/quickstart/101-virtual-network-manager-create-management-group-scope/main.tf b/quickstart/101-virtual-network-manager-create-management-group-scope/main.tf new file mode 100644 index 00000000..ee33b209 --- /dev/null +++ b/quickstart/101-virtual-network-manager-create-management-group-scope/main.tf @@ -0,0 +1,166 @@ +# Create the Resource Group + +resource "random_pet" "rg_name" { + prefix = var.resource_group_name_prefix +} + +resource "azurerm_resource_group" "rg" { + location = var.resource_group_location + name = random_pet.rg_name.id +} + +# Create three virtual networks +resource "random_string" "prefix" { + length = 4 + special = false + upper = false +} + +resource "random_pet" "virtual_network_name" { + prefix = "vnet-${random_string.prefix.result}" +} +resource "azurerm_virtual_network" "vnet" { + count = 3 + + name = "${random_pet.virtual_network_name.id}-0${count.index}" + resource_group_name = azurerm_resource_group.rg.name + location = azurerm_resource_group.rg.location + address_space = ["10.${count.index}.0.0/16"] +} + +# Add a subnet to each virtual network + +resource "azurerm_subnet" "subnet_vnet" { + count = 3 + + name = "default" + virtual_network_name = azurerm_virtual_network.vnet[count.index].name + resource_group_name = azurerm_resource_group.rg.name + address_prefixes = ["10.${count.index}.0.0/24"] +} + +data "azurerm_subscription" "current" { +} + +# Create a Management Group + +resource "random_pet" "management_group_name" { + prefix = "AVNM-management-group" +} +resource "azurerm_management_group" "mg" { + display_name = random_pet.management_group_name.id + + subscription_ids = [ + data.azurerm_subscription.current.subscription_id, + ] +} + +# register Microsoft.Network to the Management Group + +resource "null_resource" "register_rp_to_mg" { + provisioner "local-exec" { + command = <