Chef guard attributes or conditionals

There are certain attributes that can be used to evaluate the state of a node during the execution process of a chef-client run. Based on the result of the evaluation, the attribute is used to tell chef-client whether it should continue the execution of that specific resource or not.

These attributes are referred to as guard attributes or conditionals.

not_if - This prevents a resource from being executed if the condition is true
only_if - This ensures that a resource is executed only if the condition is true