首页 文章

如何使用terraform输出作为另一个terraform模板的输入变量

提问于
浏览
4

我是terraform的新手 .

有什么方法可以将terraform模板输出用于另一个terraform模板输入吗?例如:我有一个创建elb的terraform模板,我有另一组terraform模板,它将创建需要elb信息作为输入变量的自动缩放组 . 我知道我可以使用shell脚本grep并输入elb信息 . 但我正在寻找一些实现这一目标的方式 .

谢谢

2 回答

  • 0

    您是否尝试过使用远程状态来填充第二个模板?

    声明如下:

    resource "terraform_remote_state" "your_state" {
      backend = "s3"
      config {
        bucket = "${var.your_bucket}"
        region = "${var.your_region}"
        key = "${var.your_state_file}"
      }
    }
    

    然后你应该能够像这样直接提取你的资源:

    your_elb = "${terraform_remote_state.your_state.output.your_output_resource}"
    

    如果这对您不起作用,您是否尝试在模块中实现ELB然后只使用输出?

    https://github.com/terraform-community-modules/tf_aws_elb是如何构建模块的一个很好的例子 .

  • 1

    看起来像更新版本的terraform你会像这样访问输出var

    your_elb = "${data.terraform_remote_state.your_state.your_output_resource}"
    

    其余的都是一样的,就是你如何引用它 .

相关问题