]> git.openstreetmap.org Git - chef.git/blob - cookbooks/apache/providers/conf.rb
16759e86f7624cd74a2b959bfaac883977e02941
[chef.git] / cookbooks / apache / providers / conf.rb
1 #
2 # Cookbook Name:: apache
3 # Provider:: apache_conf
4 #
5 # Copyright 2014, OpenStreetMap Foundation
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #     http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 #
19
20 def whyrun_supported?
21   true
22 end
23
24 use_inline_resources
25
26 action :create do
27   create_conf
28 end
29
30 action :enable do
31   enable_conf
32 end
33
34 action :disable do
35   disable_conf
36 end
37
38 action :delete do
39   delete_conf
40 end
41
42 def create_conf
43   template available_name do
44     cookbook new_resource.cookbook
45     source new_resource.template
46     owner "root"
47     group "root"
48     mode 0o644
49     variables new_resource.variables
50   end
51 end
52
53 def enable_conf
54   link enabled_name do
55     to available_name
56     owner "root"
57     group "root"
58   end
59 end
60
61 def disable_conf
62   link enabled_name do
63     action :delete
64   end
65 end
66
67 def delete_conf
68   file available_name do
69     action :delete
70   end
71 end
72
73 def available_name
74   "/etc/apache2/conf-available/#{new_resource.name}.conf"
75 end
76
77 def enabled_name
78   "/etc/apache2/conf-enabled/#{new_resource.name}.conf"
79 end