]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/apache/lib/puppet/provider/a2mod/a2mod.rb
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / apache / lib / puppet / provider / a2mod / a2mod.rb
1 require 'puppet/provider/a2mod'
2
3 Puppet::Type.type(:a2mod).provide(:a2mod, :parent => Puppet::Provider::A2mod) do
4     desc "Manage Apache 2 modules on Debian and Ubuntu"
5
6     optional_commands :encmd => "a2enmod"
7     optional_commands :discmd => "a2dismod"
8     commands :apache2ctl => "apache2ctl"
9
10     confine :osfamily => :debian
11     defaultfor :operatingsystem => [:debian, :ubuntu]
12
13     def self.instances
14       modules = apache2ctl("-M").lines.collect { |line|
15         m = line.match(/(\w+)_module \(shared\)$/)
16         m[1] if m
17       }.compact
18
19       modules.map do |mod|
20         new(
21           :name     => mod,
22           :ensure   => :present,
23           :provider => :a2mod
24         )
25       end
26     end
27
28     def create
29         encmd resource[:name]
30     end
31
32     def destroy
33         discmd resource[:name]
34     end
35 end