Modernise squid_fragment LWRP
authorTom Hughes <tom@compton.nu>
Tue, 21 Nov 2017 19:09:41 +0000 (19:09 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 21 Nov 2017 19:20:24 +0000 (19:20 +0000)
cookbooks/squid/providers/fragment.rb [deleted file]
cookbooks/squid/resources/fragment.rb
cookbooks/tilecache/recipes/default.rb

diff --git a/cookbooks/squid/providers/fragment.rb b/cookbooks/squid/providers/fragment.rb
deleted file mode 100644 (file)
index c61b022..0000000
+++ /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
index 60e2a8282a87021d2686c8aeea79656028ac1daa..9182b99bee42f2b13a083bca2465a079b8570c79 100644 (file)
 # 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]"
index a69b6ed8dda6e6d0966ed7cd9a4156e935fc2996..0ec9dda590596a5230e5a01caf978e32c7428e9f 100644 (file)
@@ -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