Похоже, что в текущей реализации это невозможно.
Это правильно, в настоящее время передача объектов в пользовательских переменных невозможна.
Вы можете простопредварительно обработайте нужное вам значение, например, с помощью 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"
}
}]
}