]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/apache/lib/puppet/provider/a2mod.rb
add Openstack modules to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / apache / lib / puppet / provider / a2mod.rb
diff --git a/3rdparty/modules/apache/lib/puppet/provider/a2mod.rb b/3rdparty/modules/apache/lib/puppet/provider/a2mod.rb
new file mode 100644 (file)
index 0000000..670aca3
--- /dev/null
@@ -0,0 +1,34 @@
+class Puppet::Provider::A2mod < Puppet::Provider
+  def self.prefetch(mods)
+    instances.each do |prov|
+      if mod = mods[prov.name]
+        mod.provider = prov
+      end
+    end
+  end
+
+  def flush
+    @property_hash.clear
+  end
+
+  def properties
+    if @property_hash.empty?
+      @property_hash = query || {:ensure => :absent}
+      @property_hash[:ensure] = :absent if @property_hash.empty?
+    end
+    @property_hash.dup
+  end
+
+  def query
+    self.class.instances.each do |mod|
+      if mod.name == self.name or mod.name.downcase == self.name
+        return mod.properties
+      end
+    end
+    nil
+  end
+
+  def exists?
+    properties[:ensure] != :absent
+  end
+end