首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >aws_vpc_dhcp_options使用中的问题

aws_vpc_dhcp_options使用中的问题
EN

Stack Overflow用户
提问于 2021-03-31 18:44:50
回答 1查看 198关注 0票数 0

我正在创建一个两个VPC部署。两个VPC都是通过模块部署的。在模块VPC01中,我使用以下方法定义dhcp选项:

代码语言:javascript
运行
复制
resource "aws_vpc_dhcp_options" "dhcp_domain_name" {
  domain_name          = var.domain_name

  tags = {
    Name = var.domain_name
    Creator = var.creator_name
  }
}

resource "aws_vpc_dhcp_options_association" "dns_resolver" {
  vpc_id          = aws_vpc.infra-vpc.id
  dhcp_options_id = aws_vpc_dhcp_options.dhcp_domain_name.id
}

因此,在部署此vpc时,这将定义vpc选项。现在,当我想要部署我的发送vpc时,如何将此vpc与创建的同一个vpc选项集关联起来呢?

我试着用:

代码语言:javascript
运行
复制
resource "aws_vpc_dhcp_options_association" "dns_resolver" {
  vpc_id          = aws_vpc.infra-vpc.id
  dhcp_options_id = aws_vpc_dhcp_options.dhcp_domain_name.id
}

当我这样做时,我会得到这样的错误:

代码语言:javascript
运行
复制
Error: Reference to undeclared resource

  on modules/vpc-intapp/infra-vpc.tf line 173, in resource "aws_vpc_dhcp_options_association" "dns_resolver":
 173:   dhcp_options_id = aws_vpc_dhcp_options.dhcp_domain_name.id

A managed resource "aws_vpc_dhcp_options" "dhcp_domain_name" has not been
declared in module.vpc-intapp.

我需要以某种方式将vpc选项的值输入我的第二个模块。那我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-31 21:08:45

模块不能直接引用在其他模块中创建的资源。如果您希望多个模块共享/引用资源,则需要在模块之外创建资源,并将其作为输入变量传递给两个模块,或者需要将其定义为来自一个模块的输出,并将其作为输入传递给另一个模块。

既然您已经创建了第一组资源,那么我将选择第二个选项。将其添加到第一个VPC模块:

代码语言:javascript
运行
复制
output "vpc_dhcp_options_id" {
  value = aws_vpc_dhcp_options.dhcp_domain_name.id
}

将其添加到第二个VPC模块:

代码语言:javascript
运行
复制
variable "vpc_dhcp_options_id" {}

并将第二个VPC模块更改为使用模块的输入变量:

代码语言:javascript
运行
复制
resource "aws_vpc_dhcp_options_association" "dns_resolver" {
  vpc_id          = aws_vpc.infra-vpc.id
  dhcp_options_id = var.vpc_dhcp_options_id
}

最后,将第一个模块的输出值作为输入值传递给第二个模块:

代码语言:javascript
运行
复制
module "my_first_vpc" {
  source = "..."
}

module "my_second_vpc" {
  source = "..."
  vpc_dhcp_options_id = module.my_first_vpc.vpc_dhcp_options_id
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66893553

复制
相关文章

相似问题

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