厨师 - 数据包查询

时间:2013-03-13 00:37:25

标签: chef databags

查询数据包以设置节点属性时是否可以执行以下操作?

我有一系列与我的本地节点['fqdn']属性匹配的数据包项目。

是否可以将此属性动态插入到数据包查询字符串中,以下示例不起作用,还有其他任何想法吗?

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

1 个答案:

答案 0 :(得分:2)

DataBagItem.load方法返回数据库对象。因此,我通常将返回的数据条对象存储到临时变量中,然后从数据库中获取我想要的项目,就像使用哈希一样。例如:

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

您可以将 id 替换为数据库的必需元素。

另一方面,如果您的意思是将孔数据库存储在单个属性中,我还没有尝试过,我不知道是否可能。