Sha256: 8a0711c37eb6e1e4285fe1ece6f50f5182d828578ea016aa0c944cd8d188c0da

Contents?: true

Size: 1.04 KB

Versions: 38

Compression:

Stored size: 1.04 KB

Contents

require 'puppet/provider/nameservice/pw'

Puppet::Type.type(:group).provide :pw, :parent => Puppet::Provider::NameService::PW do
  desc "Group management via `pw` on FreeBSD."

  commands :pw => "pw"
  has_features :manages_members

  defaultfor :operatingsystem => :freebsd

  options :members, :flag => "-M", :method => :mem

  verify :gid, "GID must be an integer" do |value|
    value.is_a? Integer
  end

  def addcmd
    cmd = [command(:pw), "groupadd", @resource[:name]]

    if gid = @resource.should(:gid)
      unless gid == :absent
        cmd << flag(:gid) << gid
      end
    end

    if members = @resource.should(:members)
      unless members == :absent
        if members.is_a?(Array)
          members = members.join(",")
        end
        cmd << "-M" << members
      end
    end

    cmd << "-o" if @resource.allowdupe?

    cmd
  end

  def modifycmd(param, value)
    # members may be an array, need a comma separated list
    if param == :members and value.is_a?(Array)
      value = value.join(",")
    end
    super(param, value)
  end
end

Version data entries

38 entries across 38 versions & 3 rubygems

Version Path
puppet-parse-0.1.4 lib/vendor/puppet/provider/group/pw.rb
puppet-parse-0.1.3 lib/vendor/puppet/provider/group/pw.rb
puppet-parse-0.1.2 lib/vendor/puppet/provider/group/pw.rb
puppet-parse-0.1.1 lib/vendor/puppet/provider/group/pw.rb
puppet-2.7.26 lib/puppet/provider/group/pw.rb
puppet-2.7.25 lib/puppet/provider/group/pw.rb
puppet-2.7.24 lib/puppet/provider/group/pw.rb
puppet-2.7.23 lib/puppet/provider/group/pw.rb
puppet-2.7.22 lib/puppet/provider/group/pw.rb
puppet-parse-0.1.0 lib/vendor/puppet/provider/group/pw.rb
puppet-parse-0.0.6 lib/vendor/puppet/provider/group/pw.rb
puppet-2.7.21 lib/puppet/provider/group/pw.rb
puppet-parse-0.0.5 lib/vendor/puppet/provider/group/pw.rb
puppet-parse-0.0.4 lib/vendor/puppet/provider/group/pw.rb
puppet-3.0.2 lib/puppet/provider/group/pw.rb
puppet-3.0.2.rc3 lib/puppet/provider/group/pw.rb
puppet-3.0.2.rc2 lib/puppet/provider/group/pw.rb
puppet-3.0.2.rc1 lib/puppet/provider/group/pw.rb
puppet-parse-0.0.2 lib/vendor/puppet/provider/group/pw.rb
puppet-2.7.20 lib/puppet/provider/group/pw.rb