LazyEvalNodeAttributeDefaults

All Cookstyle Cops


The department is: Chef/Correctness

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


Enabled by default Supports autocorrection Target Chef Version
Enabled Yes All Versions

When setting a node attribute as the default value for a custom resource property, wrap the node attribute in lazy {} so that its value is available when the resource executes.

Examples

incorrect

property :Something, String, default: node['hostname']

correct

property :Something, String, default: lazy { node['hostname'] }

Configurable attributes

Name Default value Configurable values
Version Added 6.6.0 String
Include
  • **/libraries/*.rb
  • **/resources/*.rb
Array

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/workstation/cookstyle/chef_correctness_lazyevalnodeattributedefaults/