我有一个Web服务器,基本上接受刀ec2 create server命令的输入。
在我的刀具命令中,我传入
-j '{"branch":"clone"}'
从文档中我认为我可以在我正在加载的食谱中执行此操作:
@@branch = node['branch']
...
git clone git@github.com/blah -b #{@@branch}
但是,git克隆失败,因为@@branch
没有返回。或至少厨师日志说开始输出结果:
git clone git@github.com/blah -b
~Git error showing options and appropriate input~
如何加载我传递的JSON属性?什么是正确的方法?
编辑:
我手动输入了knife命令,并且JSON属性似乎使用Ruby哈希而不是JSON加载
JSON Attributes: {"branch"=>"Air"}
上次修改:
我的命令:
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]'
以下答案。
答案 0 :(得分:4)
因此,如果我使用已存在的引导程序模板-d ubuntu-12.04
,刀具ec2会不加载-j json-attributes。
摆脱-d选项。 Json适当加载。