2014-09-30 34 views
0

主廚屬性優先級的文檔是在這裏:https://docs.getchef.com/chef_overview_attributes.html什麼是優先爲廚師/刀引導JSON屬性

然而,文檔真的不解釋什麼級別適用於通過傳入的屬性 - j標誌爲knife bootstrap命令。

我問的原因是因爲我正在傳遞屬性,其中一些屬性沒有正確應用於我的運行。

+0

你能張貼你的刀指令嗎?您傳入的json格式對獲取正確的結果非常重要。 – 2014-10-01 00:04:14

回答

0

通過-j傳入的東西被設置爲節點數據,它們是normal/set級別。

+0

如果你不介意我問什麼是'套'級別? – 2014-09-30 23:11:42

+0

和平常一樣,只是一個別名。該級別通常稱爲「普通」,但用於訪問它的API是'node.set'。 – coderanger 2014-09-30 23:14:32

+0

作爲一個正確的調試過程,你會提出什麼建議,以找出爲什麼某個屬性不會從該json標誌中拾取並應用於運行?我已經檢查了鏈中的屬性,並且所有設置都被設置爲默認值。 – 2014-09-30 23:49:14

0

正如@coderanger指出的,如果你正確地格式化你的json,它們應該在set級別。如果你的Json格式不正確,它不會設置這些值,但可能不會給你一個錯誤。

對於故障排除,您可以使用node.debug_value來查看整個屬性樹。

或者如果您想要快捷方式,請使用spicerack cookbook's print_attribute_debug配方來抓取並打印它。整本食譜仍然非常不成熟,但README提供了使用細節,對於調試目的來說它非常有用。

+0

它與格式無關,無法通過-j(或任何其他設置節點數據的方法)將事物設置爲正常以外的級別。 – coderanger 2014-10-01 00:16:37

+0

對不起,我顯然沒有說得很清楚。我的觀點是,如果Jason的格式不正確,那麼這些屬性根本就沒有設置。但是如果Jason的格式很好,它也不會拋出錯誤。 – 2014-10-01 13:06:36