微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Terraform 动态添加 VPC ID 到 Route53 Zone

如何解决Terraform 动态添加 VPC ID 到 Route53 Zone

我将利用 this terraform 注册表模块创建 VPC 私有托管区域。

我已经像下面一样定义了我的父模块变量,所以我可以根据我的工作区使用变量来选择合适的区域属性,而且效果很好。

现在我想要做的是,我想从我的数据源输出 (data.aws_vpc.this.id) 中将 VPC_ID 添加到资源块中,这样我就可以像这样使用变量块domain2.my。原因是,如果我使用该变量,我想对 VPC ID (Just like in domain1.my) 进行硬编码。所以我需要避免硬编码的 VPC ID 并能够从数据源动态添加 VPC ID,并且还应该能够添加额外的 VPC ID,就像 domain3.my

中所示

谁能帮忙解决这个问题?谢谢!

variables.tf

variable "zone_name" {
  description = "Domain name of The Zone"
  default = {
    dev = {
      "domain1.my" = {
        comment = "DEV Private Hosted Zone"
        vpc = [
          {
            vpc_id = "xxxxx"
          }
        ]
      }
    }
    stg = {
      "domain2.my" = {
        comment = "STG Private Hosted Zone"
        vpc     = []
      }
    }
    uat = {
      "domain3.my" = {
        comment = "UAT Private Hosted Zone"
        vpc     = [
          {
            vpc_id = "VPC ID"
          },{
            vpc_id = "Another VPC ID"
          }
        ]
      }
    }
 }

ma​​in.tf

#source = "../../../../tf-modules/aws/route53/zones/"
module "zones" {
  source  = "terraform-aws-modules/route53/aws//modules/zones"
  version = "~> 1.0"

  zones = var.zone_name[local.workspace]

  tags = {
    ManagedBy = "terraform"
  }
}

data "aws_vpc" "this" {
  tags = {
    env = local.workspace
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?