gpt4 book ai didi

terraform - Terraform 中使用多个 user_data 文件

转载 作者:行者123 更新时间:2023-12-02 12:38:11 24 4
gpt4 key购买 nike

我正在尝试使用一个通用的 user_data 文件来执行常见任务,例如文件夹创建和某些包安装,并使用一个单独的 user_data 文件来执行应用程序特定的配置

我正在尝试以下 -

user_data = "${data.template_file.userdata_common.rendered}", "${data.template_file.userdata_master.rendered}"

使用这些配置 -

通用用户数据模板

data "template_file" "userdata_common" {
template = "${file("${path.module}/userdata_common.sh")}"

vars {
"ALBTarget" = "${var.ALBTarget}"
"s3bucket" = "${var.s3bucket}"
"centrifydomain" = "${lookup(var.centrifydomain, format("%s-%s", lower(var.env),var.region))}"
"centrifyadgroup" = "${lookup(var.centrifyadgroup, format("%s-%s", lower(var.env),var.region))}"
}
}

应用程序特定配置

data "template_file" "userdata_master" {
template = "${file("${path.module}/userdata_master.sh")}"

vars {
"ALBTarget" = "${var.ALBTarget}"
"s3bucket" = "${var.s3bucket}"
"centrifydomain" = "${lookup(var.centrifydomain, format("%s-%s", lower(var.env),var.region))}"
"centrifyadgroup" = "${lookup(var.centrifyadgroup, format("%s-%s", lower(var.env),var.region))}"
}
}

当我执行计划时,我收到以下错误 -

Failed to load root config module: Error parsing /terraform/main.tf: key ${data.template_file.userdata_common.rendered}"' expected start of object ('{') or assignment ('=')

这可以使用 Terraform (0.9.3) 实现吗?

如果没有,使用 Terraform 实现此目的的最佳方法是什么?

最佳答案

你试过吗template_cloudinit_config

添加以下代码。

data "template_cloudinit_config" "master" {
gzip = true
base64_encode = true

# get common user_data
part {
filename = "common.cfg"
content_type = "text/part-handler"
content = "${data.template_file.userdata_common.rendered}"
}

# get master user_data
part {
filename = "master.cfg"
content_type = "text/part-handler"
content = "${data.template_file.userdata_master.rendered}"
}

}

# sample code to use it.
resource "aws_instance" "web" {
ami = "ami-d05e75b8"
instance_type = "t2.micro"
user_data = "${data.template_cloudinit_config.master.rendered}"
}

让我知道它是否有效。

关于terraform - Terraform 中使用多个 user_data 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43642308/

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