summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider/group/groupadd.rb
blob: 65c3a5008ca0fa56a5cdccbc3ace78d60b7a8677 (plain)
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
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 = @resource.should(:gid)
            unless gid == :absent
                cmd << flag(:gid) << gid
            end
        end
        if @resource.allowdupe?
            cmd << "-o"
        end
        cmd << @resource[:name]

        return cmd
    end
end