summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorJames Turnbull <james@lovedthanlost.net>2011-04-14 02:05:10 +1000
committerJames Turnbull <james@lovedthanlost.net>2011-04-14 02:05:10 +1000
commit65c4e14621786e51c6eb3621098abbbadd7aa89d (patch)
tree564c0cd98b43661102391378a88858c9f82cdb7e /lib/puppet
parentda4457be4dedaed5368bacf81a08f0429e21cd45 (diff)
downloadpuppet-65c4e14621786e51c6eb3621098abbbadd7aa89d.tar.gz
puppet-65c4e14621786e51c6eb3621098abbbadd7aa89d.tar.xz
puppet-65c4e14621786e51c6eb3621098abbbadd7aa89d.zip
Fixed #7082 - Added system support for groups
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/provider/group/groupadd.rb3
-rwxr-xr-xlib/puppet/type/group.rb12
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/puppet/provider/group/groupadd.rb b/lib/puppet/provider/group/groupadd.rb
index 82ed4c0c7..bcc08d9f7 100644
--- a/lib/puppet/provider/group/groupadd.rb
+++ b/lib/puppet/provider/group/groupadd.rb
@@ -9,6 +9,8 @@ Puppet::Type.type(:group).provide :groupadd, :parent => Puppet::Provider::NameSe
commands :add => "groupadd", :delete => "groupdel", :modify => "groupmod"
+ has_feature :system_groups
+
verify :gid, "GID must be an integer" do |value|
value.is_a? Integer
end
@@ -21,6 +23,7 @@ Puppet::Type.type(:group).provide :groupadd, :parent => Puppet::Provider::NameSe
end
end
cmd << "-o" if @resource.allowdupe?
+ cmd << "-r" if @resource.system?
cmd << @resource[:name]
cmd
diff --git a/lib/puppet/type/group.rb b/lib/puppet/type/group.rb
index cde1cfd65..066bd49df 100755
--- a/lib/puppet/type/group.rb
+++ b/lib/puppet/type/group.rb
@@ -1,4 +1,3 @@
-
require 'etc'
require 'facter'
@@ -15,6 +14,9 @@ module Puppet
feature :manages_members,
"For directories where membership is an attribute of groups not users."
+ feature :system_groups,
+ "The provider allows you to create system groups with lower GIDs."
+
ensurable do
desc "Create or remove the group."
@@ -95,5 +97,13 @@ module Puppet
defaultto false
end
+
+ newparam(:system, :boolean => true) do
+ desc "Whether the group is a system group with lower GID."
+
+ newvalues(:true, :false)
+
+ defaultto false
+ end
end
end