如何从var文件中加载用户变量对象。在这里https://github.com/hashicorp/packer/issues/2441
问了这个问题是否可以处理用户变量中的对象?例如使用 Chef-solo供应商,我想将json属性传递为 用户变量。在当前的实现中,这似乎是 不可能。
读取'test.json'中的变量时出错:json:无法解组对象 转换为字符串类型的Go值
我有一个名为test.json的文件,该文件包含以下内容:
{“元数据”:{“ somekey”:“ somevalue”}}
将文件与var文件一起传入时,我收到上述错误 选项。
是否有未实施此操作的特定原因?不会的 解析只需要设置的深层嵌套对象所必需的 用户变量元数据到对象,以便对象可以使用 在packer.json中输入
有一种解决方法,但我需要一个示例。
答案 0 :(得分:1)
在当前的实现中,这似乎是不可能的。
那是正确的,当前无法在用户变量中传递对象。
您可以简单地预处理所需的值,例如与jq
:
{
"builders": [{
"type": "digitalocean",
"ssh_pty": "true",
"image": "{{user `di_image`}}",
"region": "{{user `di_region`}}",
"size": "{{user `di_size`}}"
}]
}
cat cloud.json | jq 'setpath(["builders",0,"flavor"]; {"hi": "hoo"})'
{
"builders": [{
"type": "digitalocean",
"ssh_pty": "true",
"image": "{{user `di_image`}}",
"region": "{{user `di_region`}}",
"size": "{{user `di_size`}}",
"flavor": {
"hi": "hoo"
}
}]
}