summaryrefslogtreecommitdiff
path: root/lib/facter
diff options
context:
space:
mode:
authorAdam S <asa188@sfu.ca>2015-09-25 17:55:21 -0700
committerAdam S <asa188@sfu.ca>2015-09-25 17:55:21 -0700
commitce6e8679b68f984415adc90d74083fd787234709 (patch)
tree56fd33d1e930ea94bb2f2f8a01dbd4a1a31ad4bc /lib/facter
parent4d1bca3359519e6303d9b3543c56426606c8eba3 (diff)
downloadpuppet-stdlib-ce6e8679b68f984415adc90d74083fd787234709.tar.gz
puppet-stdlib-ce6e8679b68f984415adc90d74083fd787234709.tar.bz2
Add package_provider fact
This adds a package_provider fact for situations where we need to be able to know the client's package provider in a simple way. Situations such as: package { 'name': install_options => [] } As those tend to be package provider specific options.
Diffstat (limited to 'lib/facter')
-rw-r--r--lib/facter/package_provider.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/facter/package_provider.rb b/lib/facter/package_provider.rb
new file mode 100644
index 0000000..9a4ec65
--- /dev/null
+++ b/lib/facter/package_provider.rb
@@ -0,0 +1,17 @@
+# Fact: package_provider
+#
+# Purpose: Returns the default provider Puppet will choose to manage packages
+# on this system
+#
+# Resolution: Instantiates a dummy package resource and return the provider
+#
+# Caveats:
+#
+require 'puppet/type'
+require 'puppet/type/package'
+
+Facter.add(:package_provider) do
+ setcode do
+ Puppet::Type.type(:package).newpackage(:name => 'dummy')[:provider].to_s
+ end
+end