随着Packer 1.6 的发布, vsphere-iso 构建器中出现了几个贬值的字段。从外观上看,似乎是格式/类型更改,因为字段实际上仍然存在,但就像属性一样。更改示例如下:
在 Packer 1.5.6 中工作:
JSON
"disk_size": 123456,
"disk_thin_provisioned": true
"network": "VM Network",
"network_card": "vmxnet3"
在 Packer 1.6.0 中工作:
JSON
"storage": [
{
"disk_size": 123456,
"disk_thin_provisioned": true
}
],
"network_adapters": [
{
"network": "VM Network",
"network_card": "vmxnet3"
}
]
我目前遇到的问题是我正在使用 Packer 1.6.0 并试图将上述工作 JSON 代码转换为 HCL2。我无法弄清楚支持 Packer 1.6.0 中所做更改的 HCL2 语法。
我尝试了以下方法:
network_adapters = {
network_card = "vmxnet3"
network = "VM Network"
}
输出:
这里不需要名为“network_adapter”的参数。
network_adapters = (
network_card = "vmxnet3"
network = "VM Network"
)
输出:
错误:括号不平衡
在 .\Packer\ConfigFileName.pkr.hcl 第 19 行,在源“vsphere-iso”“测试”中:18:存储 =(19:disk_thin_provisioned = true
需要一个右括号来终止表达式。
network_adapters = [
network_card = "vmxnet3",
network = "VM Network"
]
输出:
错误:缺少项目分隔符
在 .\Packer\ConfigFileName.pkr.hcl 第 19 行,在源“vsphere-iso”“测试”中:18:存储 = [ 19:disk_thin_provisioned = true,
应使用逗号来标记下一项的开始。
到目前为止,我还尝试了其他几种不同集合语法的排列,但没有运气。任何建议或提示将不胜感激