gpt4 book ai didi

terraform - 如何引用由 Terraform 模块创建的资源

转载 作者:行者123 更新时间:2023-12-03 23:39:10 26 4
gpt4 key购买 nike

我正在使用 AWS VPC Terraform module创建 VPC。此外,我想使用 aws_internet_gateway resource 创建 Internet 网关并将其附加到此 VPC。 .

这是我的代码:

module "vpc" "vpc_default" {
source = "terraform-aws-modules/vpc/aws"

name = "${var.env_name}-vpc-default"
cidr = "10.0.0.0/16"
enable_dns_hostnames = true
}

resource "aws_internet_gateway" "vpc_default_igw" {
vpc_id = "${vpc.vpc_default.id}"

tags {
Name = "${var.env_name}-vpc-igw-vpcDefault"
}
}

当我运行 terraform init ,我收到以下错误:

Initializing modules... - module.vpc

Error: resource 'aws_internet_gateway.vpc_default_igw' config: unknown resource 'vpc.vpc_default' referenced in variable vpc.vpc_default.id



如何引用由 Terraform 模块创建的资源?

最佳答案

由于您使用的是模块,因此您需要稍微更改引用的格式。 Module Outputs使用表格${module.<module name>.<output name>} .同样重要的是要注意,您只能引用从模块输出的值。
在您的具体情况下,这将变为 ${module.vpc.vpc_id}基于VPC Module's Outputs .

关于terraform - 如何引用由 Terraform 模块创建的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52804543/

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