2013-03-13 51 views
1

查詢數據包以設置節點屬性時可以執行以下操作嗎?廚師 - 數據包查詢

我有一系列匹配我本地節點['fqdn']屬性的數據包項目。

是否有可能將此屬性動態插入到數據包查詢字符串中,下面的示例不起作用,還有其他想法?

default['test']['attribute'] = Chef::DataBagItem.load('databagname', '<%= node[:platform_version] %>')['test']['bag']['location'] 

回答

1

DataBagItem.load方法返回一個databag對象。所以,我通常將返回的數據包對象存儲到一個臨時變量中,然後從數據包中獲取我想要的項目,就像使用散列一樣。例如:

temp = Chef::DataBagItem.load('databagname', node.platform_version) 
node.default['test']['attribute'] = temp['id'] 

您可以與您databag的必需元素取代ID。另一方面,如果你的意思是將鑽孔數據庫存儲在一個屬性中,我還沒有嘗試過,我不知道它是否可能。