"provisioner": {
"file": {
"connection": {
"private_key": "${file(\"/KeyPair.pem\")}",
"user": "id"
},
"content": "${template_file.x1}",
"destination": "/path/to/dest1"
},
"file": {
"connection": {
"private_key": "${file(\"/KeyPair.pem\")}",
"user": "id"
},
"content": "${template_file.x2}",
"destination": "/path/to/dest2"
}
}
这里我有一个JSON Terraform scriplet。我知道我必须合并/分组文件供应商,但我不太清楚如何做到这一点
我在验证时一直遇到错误。
SyntaxError: Duplicate key 'file' on line 78
我是否必须使用内联功能?
我认为这可能是正确的。任何人都可以确认吗?
"file": {
"connection": {
"private_key": "${file(\"/KeyPair.pem\")}",
"user": "id"
},
"content": [
"${template_file.1}",
"${template_file.2}"
],
"destination": [
"/path/dest/",
"/path/dest/"
]
}
答案 0 :(得分:0)
请浏览官方样本here
因此,您应该将代码拆分为两个供应商部分。
"provisioner": {
"file": {
"connection": {
"private_key": "${file(\"/KeyPair.pem\")}",
"user": "id"
},
"content": "${template_file.x1}",
"destination": "/path/to/dest1"
}
}
"provisioner": {
"file": {
"connection": {
"private_key": "${file(\"/KeyPair.pem\")}",
"user": "id"
},
"content": "${template_file.x2}",
"destination": "/path/to/dest2"
}
}
如果要上传大量文件,则调配程序file
支持文件夹/目录上载。请仔细阅读
https://www.terraform.io/docs/provisioners/file.html#directory-uploads
如果收到错误消息,请粘贴详细错误,否则很难提出建议。