невозможно передать группу ресурсов azurerm_subnet через -var-file - PullRequest
0 голосов
/ 21 июня 2019

Я хотел бы запустить план terraform -var-file -out и затем применить план, но я получаю следующую ошибку.

Вот моя переменная main.tf , Файл .tf и файл network.tfvars:

###### Resource Group ##############
resource "azurerm_resource_group" "resourcegroupname" {
  name     = "${var.resourcegrouprefix}-RG"
  location = "${var.location}"
}

###### VNET ##############
resource "azurerm_virtual_network" "vnet" {
  name                = "${var.vnet-prefix}-vnet"
  resource_group_name = "${azurerm_resource_group.resourcegroupname.name}"
  location            = "${azurerm_resource_group.resourcegroupname.location}"
  address_space       = "${var.vnetcidr}"
}
# address_space       = ["10.0.0.0/20"]

###### Subnets ##############
resource "azurerm_subnet" "subnet1" {
  name                 = "${var.subnet1-prefix}"
  virtual_network_name = "${azurerm_virtual_network.vnet.name}"
  resource_group_name  = "${azurerm_resource_group.resourcegroupname.name}"
  address_space       = "${var.subnet1cidr}"
}

resource "azurerm_subnet" "subnet2" {
  name                 = "${var.subnet2-prefix}"
  virtual_network_name = "${azurerm_virtual_network.vnet.name}"
  resource_group_name  = "${azurerm_resource_group.resourcegroupname.name}"
  address_space       = "${var.subnet2cidr}"
}

resource "azurerm_subnet" "subnet3" {
  name                 = "${var.subnet3-prefix}"
  virtual_network_name = "${azurerm_virtual_network.vnet.name}"
  resource_group_name  = "${azurerm_resource_group.resourcegroupname.name}"
  address_space       = "${var.subnet3cidr}"

Файл переменных

variable "resourcegrouprefix" {
  description = "The prefix used for all resources in VNET RG"
  default = ""
}

variable "vnet-prefix" {
  description = "The prefix used for VNET resource"
  default = ""
}

variable "vnetcidr" {
  default = ""
}

variable "subnet1cidr" {
  default = ""
}

variable "subnet2cidr" {
  default = ""
}
variable "subnet3cidr" {
  default = ""
}

Networking.tfvars

resourcegrouprefix = "networking"
vnet-prefix = "networking"
vnetcidr = "10.0.0.0/20"
subnet1-prefix = "untrust"
subnet2-prefix = "trust"
subnet3-prefix = "mgmt"
subnet1cidr = "10.0.0.0/24"
subnet2cidr = "10.0.1.0/24"
subnet3cidr = "10.0.2.0/24"

Команда, которую я пытаюсь выполнить:

terraform plan -var-file="networking.tfvars" -out="networkingplan.out"

Сообщение об ошибке:

azurerm_subnet.subnet1: "address_prefix": обязательное поле не установлено azurerm_subnet.subnet1:: недопустимый или неизвестный ключ: пространство адресов azurerm_subnet.subnet2: «address_prefix»: обязательное поле не задано azurerm_subnet.subnet2:: недопустимый или неизвестный ключ: пространство_адреса:: недопустимый или неизвестный ключ: пространство адресов azurerm_subnet.subnet4: «address_prefix»: обязательное поле не установленоне задано azurerm_subnet.subnet5: недопустимый или неизвестный ключ: пространство адресов azurerm_subnet.subnet6: «address_prefix»: обязательное поле не задано azurerm_subnet.subnet6: недопустимый или неизвестный ключ: пространство адресов azurerm_virtual_network.vnet: address_space*

1 Ответ

0 голосов
/ 21 июня 2019

Исправлено сообщение об ошибке

   ###### Resource Group ##############
    resource "azurerm_resource_group" "resourcegroupname" {
      name     = "${var.resourcegrouprefix}-RG"
      location = "${var.location}"
    }

    ###### VNET ##############
    resource "azurerm_virtual_network" "vnet" {
      name                = "${var.vnet-prefix}-vnet"
      resource_group_name = "${azurerm_resource_group.resourcegroupname.name}"
      location            = "${azurerm_resource_group.resourcegroupname.location}"
      address_space       = ["${var.vnetcidr}"]
    }
    # address_space       = ["10.0.0.0/20"]

    ###### Subnets ##############
    resource "azurerm_subnet" "subnet1" {
      name                 = "${var.subnet1-prefix}"
      virtual_network_name = "${azurerm_virtual_network.vnet.name}"
      resource_group_name  = "${azurerm_resource_group.resourcegroupname.name}"
      address_prefix      = "${var.subnet1cidr}"
    }

    resource "azurerm_subnet" "subnet2" {
      name                 = "${var.subnet2-prefix}"
      virtual_network_name = "${azurerm_virtual_network.vnet.name}"
      resource_group_name  = "${azurerm_resource_group.resourcegroupname.name}"
      address_prefix     = "${var.subnet2cidr}"
    }

    resource "azurerm_subnet" "subnet3" {
      name                 = "${var.subnet3-prefix}"
      virtual_network_name = "${azurerm_virtual_network.vnet.name}"
      resource_group_name  = "${azurerm_resource_group.resourcegroupname.name}"
      address_prefix    = "${var.subnet3cidr}"
    }
...