X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/9d27360314f8e4e9844cde4059f98fac52250d36..558691451db4f029698b996d7df8c8cf272b3b8b:/cookbooks/munin/resources/plugin_conf.rb?ds=inline diff --git a/cookbooks/munin/resources/plugin_conf.rb b/cookbooks/munin/resources/plugin_conf.rb index e4b99965d..8306b046b 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,19 +17,39 @@ # limitations under the License. # -actions :create, :delete +unified_mode true + 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 -def initialize(*args) - super - begin - resources(:service => "munin-node").subscrbes(:restart, self) - rescue Chef::Exceptions::ResourceNotFound - # Ignore +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