gpt4 book ai didi

amazon-web-services - 访问 user_data 提供程序模板文件中的 Terraform 变量

转载 作者:行者123 更新时间:2023-12-03 00:52:37 24 4
gpt4 key购买 nike

我正在使用 terraform 启动 aws_launch_configuration 实例。

我正在为 user_data 变量使用 shell 脚本,如下所示:

resource "aws_launch_configuration" "launch_config" {
...
user_data = "${file("router-init.sh")}"
...
}

在此 router-init.sh 中,我想做的一件事是访问我通过 terraform 启动的其他实例的 IP 地址。

我知道我可以使用 splat 来访问该实例的所有 IP 地址,例如:

output ip_address {
value = ${aws_instance.myAWSInstance.*.private_ip}"
}

有没有办法在router-init.sh脚本中传递/访问这些IP地址?

最佳答案

您可以使用 template_file data source 来执行此操作:

data "template_file" "init" {
template = "${file("router-init.sh.tpl")}"

vars = {
some_address = "${aws_instance.some.private_ip}"
}
}

然后在模板中引用它,例如:

#!/bin/bash

echo "SOME_ADDRESS = ${some_address}" > /tmp/

然后将其用于user_data:

 user_data = ${data.template_file.init.rendered}

关于amazon-web-services - 访问 user_data 提供程序模板文件中的 Terraform 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50835636/

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