
Chef Infrastructure Automation Cookbook Second Edition
By :

You can set attribute values in attribute files. Usually, cookbooks come with reasonable default values for attributes. However, the default values might not suit your needs. If they don't fit, you can override attribute values.
In this section, we'll look at how to override attributes from within recipes and roles.
Make sure you have a cookbook called my_cookbook
, and that the run_list
of your node includes my_cookbook
, as described in the Creating and using cookbooks recipe in Chapter 1, Chef Infrastructure.
Let's see how we can override attribute values:
Edit the default attributes
file to add an attribute:
mma@laptop:~/chef-repo $ subl cookbooks/my_cookbook/attributes/default.rb
default['my_cookbook']['version'] = '1.2.3'
Edit your default recipe
. You'll override the value of the version
attribute and print it to the console:
mma@laptop:~/chef-repo $ subl cookbooks/my_cookbook/recipes/default.rb
node.override['my_cookbook']['version'] = ...
Change the font size
Change margin width
Change background colour