Mam serwer sieciowy, który zasadniczo akceptuje dane wejściowe dla polecenia nóż ec2 create server.Jak ładować atrybuty JSON przechodzące przez nóż przez przepisy kucharskie?
W poleceniu mojego noża, mijam w
-j '{"branch":"clone"}'
z dokumentacji myślałem, że będę w stanie to zrobić w moich receptur, które są ładowane:
@@branch = node['branch']
...
git clone [email protected]/blah -b #{@@branch}
Jednak klony git nie działają, ponieważ @@branch
nie wraca. Lub przynajmniej dzienniki kucharz powiedzieć rozpocząć wyjście Wynik:
git clone [email protected]/blah -b
~Git error showing options and appropriate input~
Jak ładować w moim przeszedł atrybutu JSON? Jaki jest prawidłowy sposób?
Edit:
ręcznie umieścić w poleceniu nożem, a atrybuty JSON wydają się ładować przy użyciu Ruby hash zamiast JSON
JSON Attributes: {"branch"=>"Air"}
Last Edit:
Moje polecenie:
sudo knife ec2 server create -x ubuntu -i ~/.ssh/key.pem -I ami-0eca6e67 -d ubuntu-12.04 -j '{ "branch" : "clone" }' -Z us-east-1a -s subnet-6827ec00 -f c1.medium -g sg-bc9d86d0 -r 'role[role]'
Odpowiedź poniżej.
Przynajmniej z Chef 11.12.4, możesz przekazać -j json-attributes, nawet jeśli również przekazujesz szablon (-d szablon). – Doug