Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform aws:缺少必需的参数_Terraform - Fatal编程技术网

Terraform aws:缺少必需的参数

Terraform aws:缺少必需的参数,terraform,Terraform,有人可以帮助澄清局部和全局变量在地形中是如何工作的?我现在面临的问题是: 错误:缺少必需的参数 │ │ 在main.tf第46行的模块“pub rt”中: │ 46:模块“发布rt”{ │ │ 参数“vpc_cidr_块”是必需的,但未找到定义 我的代码结构是: -- Dev -- main.tf -- modules -- rt -- pub-rt.tf -- pri-rt.tf -- vars.tf 这是我的main.tf module "

有人可以帮助澄清局部和全局变量在地形中是如何工作的?我现在面临的问题是:

错误:缺少必需的参数 │ │ 在main.tf第46行的模块“pub rt”中: │ 46:模块“发布rt”{ │ │ 参数“vpc_cidr_块”是必需的,但未找到定义

我的代码结构是:

-- Dev
  -- main.tf
-- modules
  -- rt
    -- pub-rt.tf
    -- pri-rt.tf
    -- vars.tf
这是我的main.tf

module "pub-rt" {
  source            = "../modules/rt"
  id1               = var.id1         #id1 will be common for pub-rt.tf & pri-rt.tf resources
  id2               = var.id2         #id2 will be used only in pub-rt.tf resources
}

module "pri-rt" {
  source            = "../modules/rt"
  id3               = var.id3         #id3 will be common for pub-rt.tf & pri-rt.tf resources
  id4               = var.id4         #id4 will be used only in pri-rt.tf resources
}
My../rt/vars.tf包含:

variable "id1" { }
variable "id2" { }
variable "id3" { }
variable "id4" { }
正在为main.tf添加我的真实代码:

# Create Public Route Table
module "pub-rt" {
  source            = "../modules/rt"
  pub_rt_tag        = { Name = "prod-pub-rt" }
  vpc_id            = module.vpc.vpcId 
  ir_cidr           = var.ir_cidr                                 # routing inside the VPC
  gateway_id        = module.igw.igwId                            # routing to the internet through igw
}


# Create Private Route Table
module "pri-rt" {
  source            = "../modules/rt"
  pub_rt_tag        = { Name = "prod-pri-rt" }
  vpc_id            = module.vpc.vpcId 
  vpc_cidr_block    = var.vpc_cidr_block                          # routing inside the VPC
  nat_id            = module.nat.natId                            # routing to the internet NAT
}

main.tf
中,我没有看到任何引用
vpc\u cidr\u block
。您的帖子中是否遗漏了它?让
vars.tf中的变量有一个值,或者为了简单起见,您将它们报告为空?
main.tf
只是一个例子来说明这个问题。在vars.tf中,例如:
id1=“myId1”
。主要问题是,如何在pub-rt.tf资源文件中使用变量id2,在pri-rt.tf资源文件中使用变量id4?我的第一个问题是什么?main.tf我没有看到任何参考vpc\u cidr\u块。您在帖子中是否错过了它?=>请参考真实代码…我已经更新了main.tf您没有声明
var.vpc\u cidr\u块
a纽约。