/usr/share/puppet/modules.available/puppetlabs-apache/lib/puppet/provider/a2mod/a2mod.rb is in puppet-module-puppetlabs-apache 3.0.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | require 'puppet/provider/a2mod'
Puppet::Type.type(:a2mod).provide(:a2mod, parent: Puppet::Provider::A2mod) do
desc 'Manage Apache 2 modules on Debian and Ubuntu'
optional_commands encmd: 'a2enmod'
optional_commands discmd: 'a2dismod'
commands apache2ctl: 'apache2ctl'
confine osfamily: :debian
defaultfor operatingsystem: [:debian, :ubuntu]
def self.instances
modules = apache2ctl('-M').lines.map { |line|
m = line.match(%r{(\w+)_module \(shared\)$})
m[1] if m
}.compact
modules.map do |mod|
new(
name: mod,
ensure: :present,
provider: :a2mod,
)
end
end
def create
encmd resource[:name]
end
def destroy
discmd resource[:name]
end
end
|