2015-02-24 55 views
1

我需要創建一個數據包,然後使用CHEF RECIPE創建一個數據包項目。我無法這樣做。 我有內容還準備是如下如何創建一個數據包作爲廚師腳本的一部分

require 'rubygems' 
require 'chef/encrypted_data_bag_item' 

secret = Chef::EncryptedDataBagItem.load_secret('/root/data_bag') 
data = {"id" => "TEST", "root" => "root", "passwd" => "passwd"} 
encrypted_data = Chef::EncryptedDataBagItem.encrypt_data_bag_item(data, secret) 

現在我有內容,我需要創建一個數據包和項目,然後追加內容到該項目。這是我嘗試創建數據包的方法。但它失敗了。

new_databag = Chef::DataBag.new 
new_databag.name('list') 
new_databag.save 

當我使用new_databag.save其言論被禁止。

下面是創建數據包項目的代碼片段,我通過互聯網獲取它。但我們如何指定我們想要給的項目名稱。

item = Chef::DataBagItem.new 
item.data_bag('list') 
item.raw_data = data 
item.save 

任何幫助將不勝感激.. !!

+0

廚師服務器和廚師客戶端使用哪些版本? – 2015-02-24 17:35:42

+0

@JavierCortejoso我試過11.x和12.x版本 – 2015-02-25 04:26:02

+0

任何線索@JavierCortejoso .. ?? – 2015-03-02 06:37:27

回答

1

廚師客戶端不必權限創建/更新數據包(成立於其他容器,如角色)。

如果您在廚師服務器的「管理>全局權限> data_bags」下看到客戶端的「403 Forbidden」更改權限。 要使用小刀,您必須安裝「knife-acl」插件。

此操作不會更改現有數據包的權限!

+0

有沒有關於此的任何文檔,或者如何讓廚師 - 客戶能夠做到這一點的例子? – Pred 2017-04-18 19:03:44

相關問題