Book Image

Chef Infrastructure Automation Cookbook Second Edition

By : Matthias Marschall
Book Image

Chef Infrastructure Automation Cookbook Second Edition

By: Matthias Marschall

Overview of this book

Table of Contents (14 chapters)
Chef Infrastructure Automation Cookbook Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Overriding attributes


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.

Getting ready

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.

How to do it...

Let's see how we can override attribute values:

  1. 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'
  2. 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'] = ...