2013-03-28 14 views
5

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.

Odpowiedz

4

Wygląda na to, że korzystam z już istniejącego szablonu startowego, -d ubuntu-12.04, nóż ec2 ma wartość NOT load -j json-attributes.

Pozbądź się opcji -d. Json ładuje się odpowiednio.

+0

Przynajmniej z Chef 11.12.4, możesz przekazać -j json-attributes, nawet jeśli również przekazujesz szablon (-d szablon). – Doug

Powiązane problemy