From: Tom Hughes Date: Tue, 21 Nov 2017 19:09:41 +0000 (+0000) Subject: Modernise squid_fragment LWRP X-Git-Url: https://git.openstreetmap.org./chef.git/commitdiff_plain/a4f9ef96e2727b382c43307650d9fbb8ac456996?ds=inline Modernise squid_fragment LWRP --- diff --git a/cookbooks/squid/providers/fragment.rb b/cookbooks/squid/providers/fragment.rb deleted file mode 100644 index c61b022d5..000000000 --- a/cookbooks/squid/providers/fragment.rb +++ /dev/null @@ -1,44 +0,0 @@ -# -# Cookbook Name:: squid -# Provider:: squid_fragment -# -# Copyright 2015, 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 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -def whyrun_supported? - true -end - -use_inline_resources - -action :create do - template fragment_path do - source new_resource.template - owner "root" - group "root" - mode 0o644 - variables new_resource.variables - end -end - -action :delete do - file fragment_path do - action :delete - end -end - -def fragment_path - "/etc/squid/squid.conf.d/#{new_resource.name}.conf" -end diff --git a/cookbooks/squid/resources/fragment.rb b/cookbooks/squid/resources/fragment.rb index 60e2a8282..9182b99be 100644 --- a/cookbooks/squid/resources/fragment.rb +++ b/cookbooks/squid/resources/fragment.rb @@ -17,13 +17,33 @@ # limitations under the License. # -actions :create, :delete default_action :create -attribute :name, :kind_of => String, :name_attribute => true -attribute :directory, :kind_of => String -attribute :template, :kind_of => String, :required => true -attribute :variables, :kind_of => Hash, :default => {} +property :fragment, :kind_of => String, :name_attribute => true +property :template_source, :kind_of => String, :required => true +property :variables, :kind_of => Hash, :default => {} + +action :create do + template fragment_path do + source new_resource.template_source + owner "root" + group "root" + mode 0o644 + variables new_resource.variables + end +end + +action :delete do + file fragment_path do + action :delete + end +end + +action_class do + def fragment_path + "/etc/squid/squid.conf.d/#{new_resource.fragment}.conf" + end +end def after_created notifies :create, "template[/etc/squid/squid.conf]" diff --git a/cookbooks/tilecache/recipes/default.rb b/cookbooks/tilecache/recipes/default.rb index a69b6ed8d..0ec9dda59 100644 --- a/cookbooks/tilecache/recipes/default.rb +++ b/cookbooks/tilecache/recipes/default.rb @@ -73,7 +73,7 @@ tilecaches.each do |cache| end squid_fragment "tilecache" do - template "squid.conf.erb" + template_source "squid.conf.erb" variables :caches => tilecaches, :renders => tilerenders end