Terraform:“仅在应用后才知道”问题

Red*_*tle 8 amazon-web-services google-cloud-platform terraform

我正在创建一个aws_subnet并在另一个资源中引用它。

例子:

resource "aws_subnet" "mango" {
     vpc_id     = aws_vpc.mango.id
     cidr_block = "${var.subnet_cidr}"
  }
Run Code Online (Sandbox Code Playgroud)

参考资料

 network_configuration {
    subnets          = "${aws_subnet.mango.id}"
  }
Run Code Online (Sandbox Code Playgroud)

计划时我遇到 aws_subnet.mango.id is a string, known only after apply 错误。我是 Terraform 的新手。有没有类似于 Cloudformation 的DependsOn或 的东西Export/Import

Red*_*tle 7

这是显式依赖的情况。depends_on与 CloudFormation 类似的论点DependsOn解决了此类依赖性。

注意:“由于 Terraform 将等到创建指定资源后才创建依赖资源,因此添加显式依赖项可能会增加 Terraform 创建基础设施所需的时间。”

例子:

depends_on = [aws_subnet.mango]
Run Code Online (Sandbox Code Playgroud)