С выпуском Packer 1.6 появилось несколько устаревших полей в конструкторе vsphere-iso. На первый взгляд кажется, что это изменение формата / типа, потому что поля на самом деле все еще существуют, но так же, как и свойства. Примеры изменений:
Работа в пакере 1.5.6:
JSON
"disk_size": 123456,
"disk_thin_provisioned": true
"network": "VM Network",
"network_card": "vmxnet3"
Работа в пакере 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. Я не могу понять синтаксис HCL2, который поддерживает изменения, сделанные в Packer 1.6.0.
Я пробовал следующее:
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: storage = (19: disk_thin_provisioned = true
Ожидается закрывающая скобка для завершения выражения.
network_adapters = [
network_card = "vmxnet3",
network = "VM Network"
]
Вывод:
Ошибка: отсутствует разделитель элементов
on. \ Packer \ ConfigFileName.pkr.hcl, строка 19, в исходном коде "vsphere-iso" "Тест ": 18: storage = [19: disk_thin_provisioned = true,
Ожидается, что запятая будет отмечать начало следующего элемента.
Я также пробовал несколько других вариантов различных синтаксис коллекции вместе пока не повезло. Мы будем благодарны за любые предложения или советы