Я хочу создать несколько подсетей в нескольких виртуальных сетях, используя терраформ и переменные

Пример: я хочу создать 2 виртуальные сети с использованием переменных и создать 2 подсети, одну виртуальную сеть и 3 подсети в одной виртуальной сети.


person Yeshwanth Reddy    schedule 06.08.2019    source источник
comment
Спасибо, чувак @Charles Xu, все работает.   -  person Yeshwanth Reddy    schedule 20.08.2019


Ответы (1)


Для вашего требования пример кода здесь:

variable "vnet_address_space" {
  default = "10.0.0.0/16"
}

variable "subnet_prefix" {
    default = [
        "10.0.1.0/24",
        "10.0.2.0/24"
    ]

}

resource "azurerm_resource_group" "test" {
  name     = "testResourceGroup1"
  location = "East US"
}

resource "azurerm_virtual_network" "test" {
  name                = "acceptanceTestVirtualNetwork1"
  address_space       = ["${var.vnet_address_space}"]
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
}

resource "azurerm_subnet" "test" {
  count                = "${length(var.subnet_prefix)}"
  name                 = "testsubnet-${count.index}"
  resource_group_name  = "${azurerm_resource_group.test.name}"
  virtual_network_name = "${azurerm_virtual_network.test.name}"
  address_prefix       = "${element(var.subnet_prefix, count.index)}"
}

Вы можете создать еще один Vnet в том же формате и изменить что-то в нем по своему желанию.

person Charles Xu    schedule 07.08.2019