При использовании ключа json
для поставщика Chef для Packer атрибуты, передаваемые Chef, будут парами ключ-значение, начиная с ключа, вложенного в ключ json
.Таким образом, вы можете получить доступ к своим атрибутам из ключа test_cookbook
, например:
output="#{Chef::Log.info(node['test_cookbook']['my_attr'])}"
log output
file "/tmp/#{node['test_cookbook']['my_attr']}" do
content output
end
, и это должно присвоить String test
локальной переменной output
и поместить ее в качестве содержимого во временный файл.,Это связано с тем, что вы настроили отображение с помощью клавиши json
как:
"test_cookbook": {
"my_attr": "test"
}