首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过-var-file传递azurerm_subnet资源组

无法通过-var-file传递azurerm_subnet资源组
EN

Stack Overflow用户
提问于 2019-06-21 04:35:37
回答 1查看 98关注 0票数 0

我想运行terraform文件-out,然后应用该计划,但是我得到了以下错误。

下面是我的main.tfvariable.tf和networking.tfvars文件:

代码语言:javascript
复制
###### 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}"

变量文件

代码语言:javascript
复制
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

代码语言:javascript
复制
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"

命令,我试图执行:

代码语言:javascript
复制
terraform plan -var-file="networking.tfvars" -out="networkingplan.out"

错误消息:

azurerm_subnet.subnet1:"address_prefix":必需字段未设置azurerm_subnet.subnet1::无效或未知键: address_space azurerm_subnet.subnet2:"address_prefix":必需字段未设置azurerm_subnet.subnet2::无效或未知密钥: address_space azurerm_subnet.subnet3:"address_prefix":required字段未设置azurerm_subnet.subnet3::无效或未知键: address_space azurerm_subnet.subnet4:"address_prefix“*未设置必需字段: azurerm_subnet.subnet4::无效或未知键: address_space azurerm_subnet.subnet5:"address_prefix":required字段未设置azurerm_subnet.subnet5::address_space azurerm_subnet.subnet6:"address_prefix":必需字段未设置azurerm_subnet.subnet6::无效或未知键: address_space azurerm_virtual_network.vnet: address_space:应列出

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-21 04:42:57

修正了错误信息

代码语言:javascript
复制
   ###### 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}"
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56696897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档