diff options
Diffstat (limited to 'lib/puppet/provider/group/groupadd.rb')
-rw-r--r-- | lib/puppet/provider/group/groupadd.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/puppet/provider/group/groupadd.rb b/lib/puppet/provider/group/groupadd.rb new file mode 100644 index 000000000..4c204ddf6 --- /dev/null +++ b/lib/puppet/provider/group/groupadd.rb @@ -0,0 +1,29 @@ +require 'puppet/provider/nameservice/objectadd' + +Puppet::Type.type(:group).provide :groupadd, :parent => Puppet::Provider::NameService::ObjectAdd do + desc "Group management via ``groupadd`` and its ilk. The default + for most platforms" + + commands :add => "groupadd", :delete => "groupdel", :modify => "groupmod" + + verify :gid, "GID must be an integer" do |value| + value.is_a? Integer + end + + def addcmd + cmd = [command(:add)] + if gid = @model[:gid] + unless gid == :absent + cmd << flag(:gid) << "'%s'" % @model[:gid] + end + end + if @model[:allowdupe] == :true + cmd << "-o" + end + cmd << @model[:name] + + return cmd.join(" ") + end +end + +# $Id$ |