X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/4787523adf3d90b98c0d23d405f7609fb07829fc..ed7d2012c3ea31c85bd643bcee013d54ba186360:/cookbooks/munin/resources/plugin_conf.rb?ds=sidebyside diff --git a/cookbooks/munin/resources/plugin_conf.rb b/cookbooks/munin/resources/plugin_conf.rb index 88b453d9a..6105f0d2b 100644 --- a/cookbooks/munin/resources/plugin_conf.rb +++ b/cookbooks/munin/resources/plugin_conf.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: munin +# Cookbook:: munin # Resource:: munin_plugin_conf # -# Copyright 2013, OpenStreetMap Foundation +# Copyright:: 2013, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -17,10 +17,37 @@ # limitations under the License. # -actions :create, :delete default_action :create -attribute :name, :kind_of => String, :name_attribute => true -attribute :cookbook, :kind_of => String -attribute :template, :kind_of => String, :required => true -attribute :variables, :kind_of => Hash, :default => {} +property :plugin_conf, :kind_of => String, :name_property => true +property :cookbook, :kind_of => [String, nil] +property :template, :kind_of => String, :required => [:create] +property :variables, :kind_of => Hash, :default => {} +property :restart_munin, :kind_of => [TrueClass, FalseClass], :default => true + +action :create do + declare_resource :template, config_file do + cookbook new_resource.cookbook + source new_resource.template + owner "root" + group "root" + mode "644" + variables new_resource.variables.merge(:name => new_resource.plugin_conf) + end +end + +action :delete do + file config_file do + action :delete + end +end + +action_class do + def config_file + "/etc/munin/plugin-conf.d/#{new_resource.plugin_conf}" + end +end + +def after_created + notifies :restart, "service[munin-node]" if restart_munin +end