我有一個Web服務器,基本上接受刀ec2創建服務器命令的輸入。如何通過廚師食譜加載JSON屬性通過刀?
在我的刀命令,我通過在
-j '{"branch":"clone"}'
從技術文檔我想我能做到這一點在我的食譜正在加載:
@@branch = node['branch']
...
git clone [email protected]/blah -b #{@@branch}
然而,git的克隆正在失敗,因爲@@branch
不返回。或至少廚師日誌說開始輸出的結果:
git clone [email protected]/blah -b
~Git error showing options and appropriate input~
如何加載我傳遞的JSON屬性?什麼是正確的方法?
編輯:
我手動放在刀命令和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]'
下面的答案。
至少在廚師11.12.4中,即使您還傳遞模板(-d模板),也可以傳遞-j json屬性。 – Doug