Skip to content

clearstorydata-cookbooks/notifying-action

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

notifying-action

Build Status

This Chef cookbook simplifies creating resource providers that enclose other resources and need to notify their subscribers based on the notifications received from all or a subset of these enclosed resources. This is based on the approach of wrapping all sub-resources used in a resource in a sub-run-context and examining the results of running that sub-run-context. The implementation is influenced by the following sources:

Opscode Community page: http://community.opscode.com/cookbooks/notifying-action.

Example

Suppose you are implementing a resource that installs a service and creates a configuration file for it. Then, you want to restart the service if either a new version was installed, or the configuration file changed.

In your providers/package_and_conf.rb you would have:

action :install do
  notifying_action_wrapper do
    package 'my_service' do
      action :install
    end

    template '/etc/my_service/config.yml'
      source 'config.yml.erb'
    end
  end
end

You will then be able to use this LWRP in recipes as follows:

my_cookbook_package_and_conf 'my_service' do
  action :install
  notifies :restart, 'service[my_service]', :immediately
end

service 'my_service' do
  action :nothing
end

Contributing

If you would like to contribute to this cookbook, please submit a pull request on GitHub.

Links

License

Apache License 2.0

About

A Chef cookbook simplifying notifications between resources

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages