Skip to main content

NodeNormalUnless

All Cookstyle Cops


The department is: Chef/Correctness

The full name of the cop is: Chef/Correctness/NodeNormalUnless


Enabled by defaultSupports autocorrectionTarget Chef Version
EnabledNoAll Versions

Normal attributes are discouraged since their semantics differ importantly from the default and override levels. Their values persist in the node object even after all code referencing them has been deleted, unlike default and override.

Code should be updated to use default or override levels, but this will change attribute merging behavior so needs to be validated manually and force_default or force_override levels may need to be used in recipe code.

Examples

incorrect

node.normal_unless['foo'] = true

correct

node.default_unless['foo'] = true
node.override_unless['foo'] = true
node.force_default_unless['foo'] = true
node.force_override_unless['foo'] = true

Configurable attributes

NameDefault valueConfigurable values
Version Added5.1.0String
Exclude
  • **/metadata.rb
  • **/Berksfile
Array

Was this page helpful?