我正在使用awscli嘗試自動執行部署過程(將cookbook更改上傳到s3,單擊更新食譜的東西,單擊東西運行recipie,輸入我想要執行的食譜的名稱)。自動化Opsworks:你如何執行食譜?
我真的很接近,但我找不到任何關於如何通過awscli在opsworks中實際執行給定食譜的任何信息。我想,這一定是非常接近更新定製食譜:
$ aws opsworks create-deployment --command "{\"Name\":\"update_custom_cookbooks\"}" --stack-id xxxxx --instance-ids xxxxxxxxx
xxxxxxxx #deployment id
文檔沒有告訴我是什麼格式的「execute_recipes」命令:http://docs.aws.amazon.com/cli/latest/reference/opsworks/create-deployment.html
它發送了一堆猜測和後使用光榮精闢「的無效值」,SerializationException和ValidationExceptions我已經推斷出以下可能接近我想要的東西:
$ aws opsworks create-deployment --command "{\"Name\":\"execute_recipes\", \"Args\":{\"Recipes\":[\"book::recipe\"]}}" --stack-id xxxxxx --instance-ids xxxxxxxx
A client error (ValidationException) occurred
是什麼讓Opsworks到EXECUT正確的JSON模式e給定實例中的配方?
JSON格式是區分大小寫的,你張貼不起作用。然而,您的嘗試導致我與API的謎語大師進行了另一次探索性對話,並通過玩弄案例發現了正確的模式。命名的參數在傳遞給命令時是小寫的,但傳遞關於該命令的元數據在Capitals中。 –