A tag is a custom description that’s applied to a node.
A tag, once applied, can be helpful when managing nodes using knife or when building recipes by providing alternate methods of grouping similar types of information.
You can add tags, remove tags, and check if nodes have a specific tag.
To add a tag in your recipe, use tag
with the tag name you want to apply to a node.
tag('tag-name')
To test if a machine is tagged with a specific tag, use tagged?
with the tag name.
tagged?('tag-name')
This will return true
or false
.
tagged?
also accepts an array as an argument.
Remove a tag using untag
.
untag('tag-name')
For example:
tag('test_node')
if tagged?('test_node')
Chef::Log.info("Hey I'm #{node['tags']}")
end
untag('test_node')
unless tagged?('test_node')
Chef::Log.info('I am not tagged')
end
Will return something like this:
[Thu, 22 Jul 2010 18:01:45 +0000] INFO: Hey I'm test_node
[Thu, 22 Jul 2010 18:01:45 +0000] INFO: I am not tagged