我正在尝试将cloud-init配置的多个部分与Terraform的template_cloudinit_config功能合并在一起。
想象一下4个模板(在这里简化):
# template 1
hostname: ${hostname}
# template 2
users:
- name: "a"
- name: "b"
- name: "c"
# template 3
coreos:
units:
- name: ${service}.service
# template 4
coreos:
units:
- name: ${service2}.service如果我用cloud-config头对它们进行MIME编码...
--MIMEBOUNDARY
Content-Transfer-Encoding: 7bit
Content-Type: text/cloud-config
Mime-Version: 1.0要使用的正确合并类型是什么?
发布于 2017-07-14 12:48:40
您列出的模板是cloud-config,而不是cloud-init
使用数据源template_file,我没有测试就直接写了,你能验证一下它是否正常工作吗?
data "template_file" "user-data" {
template = <<EOF
#cloud-config
# template 1
hostname: ${hostname}
# template 2
users:
- name: "a"
- name: "b"
- name: "c"
# template 3
coreos:
units:
- name: ${service}.service
# template 4
coreos:
units:
- name: ${service2}.service
EOF
vars {
hostname = "${var.hostname}"
service = "${var.service}"
service2 = "${var.service2}"
}
}
resource "aws_instance" "instance" {
ami = "${ var.ami-id }"
...
user_data = "${ data.template_file.user-data.rendered }"
}https://stackoverflow.com/questions/45078495
复制相似问题