gpt4 book ai didi

Terraform:缺少必需的参数

转载 作者:行者123 更新时间:2023-12-05 06:00:35 29 4
gpt4 key购买 nike

有人可以帮助阐明局部变量和全局变量在 Terraform 中的工作原理吗?我现在面临这个问题:

PS E:\GitRepo\Terraform\prod> terraform plan╷│ Error: Missing required argument││ on main.tf line 46, in module "pub-rt":│ 46: module "pub-rt" {││ The argument "vpc_cidr_block" is required, but no definition was found.╵╷│ Error: Missing required argument││ on main.tf line 46, in module "pub-rt":│ 46: module "pub-rt" {││ The argument "nat_id" is required, but no definition was found.

我的代码结构是:

-- Dev
-- main.tf
-- modules
-- rt
-- pub-rt.tf
-- pri-rt.tf
-- vars.tf

这是我的ma​​in.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 # routing inside the VPC
nat_id = module.nat.natId # routing to the internet NAT
}

我的 ../rt/vars.tf 包含:

variable "vpc_cidr_block" { }  //this variable point to "pri-rt.tf"
variable "vpc_id" { } //this variable common and point to "pub-rt.tf" and "pri-rt.tf"
variable "gateway_id" { } //this variable point to "pub-rt.tf"
variable "nat_id" { } //this variable point to "pri-rt.tf"
variable "ir_cidr" { } //this variable point to "pub-rt.tf"

最佳答案

变量具有模块范围,因此没有全局变量传播到所有子模块。您的 vars.tf 应该在 ./Dev 中。您还需要相应的 vars.tf 以及特定于您的模块的变量。

关于Terraform:缺少必需的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67618874/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com