配方如何获得服务器标签的完整列表?
或者
配方如何检查某个标签是否已设置/存在?
顺便说一句:标记?对我不起作用
node.tags
您可以通过或获取配方中节点的所有标签node[:tags]
。因此,要检查是否存在某个标签,您需要:
node[:tags].include? 'mytag'
要获取所有节点上所有标签的完整列表,您必须使用搜索。
search( :node, '*:*' ).collect(:tags).flatten.uniq
但tagged? 'mytag'
应该实际工作。显示您的代码。
使用 Chef 标签需要牢记以下几点:
除了这两件事,我在食谱中经常使用它们,而且效果很好。
if tagged?('legacy')
do legacy things
end
或者
return if tagged?('ignore')
从你的食谱中,这些类型的用途应该没问题。