Sha256: 58ea9fd5aa44a82e30178c17da3f168a1fcf269e1004ff78b34b7d8d70d7d98f

Contents?: true

Size: 1.19 KB

Versions: 28

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

require_relative '../../../puppet/provider/nameservice/pw'

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

  commands :pw => "pw"
  has_features :manages_members

  defaultfor 'os.name' => [:freebsd, :dragonfly]
  confine    'os.name' => [:freebsd, :dragonfly]

  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]]

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

    members = @resource.should(:members)
    if 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

28 entries across 28 versions & 1 rubygems

Version Path
puppet-8.10.0 lib/puppet/provider/group/pw.rb
puppet-8.10.0-x86-mingw32 lib/puppet/provider/group/pw.rb
puppet-8.10.0-x64-mingw32 lib/puppet/provider/group/pw.rb
puppet-8.10.0-universal-darwin lib/puppet/provider/group/pw.rb
puppet-8.9.0 lib/puppet/provider/group/pw.rb
puppet-8.9.0-x86-mingw32 lib/puppet/provider/group/pw.rb
puppet-8.9.0-x64-mingw32 lib/puppet/provider/group/pw.rb
puppet-8.9.0-universal-darwin lib/puppet/provider/group/pw.rb
puppet-8.8.1 lib/puppet/provider/group/pw.rb
puppet-8.8.1-x86-mingw32 lib/puppet/provider/group/pw.rb
puppet-8.8.1-x64-mingw32 lib/puppet/provider/group/pw.rb
puppet-8.8.1-universal-darwin lib/puppet/provider/group/pw.rb
puppet-8.7.0 lib/puppet/provider/group/pw.rb
puppet-8.7.0-x86-mingw32 lib/puppet/provider/group/pw.rb
puppet-8.7.0-x64-mingw32 lib/puppet/provider/group/pw.rb
puppet-8.7.0-universal-darwin lib/puppet/provider/group/pw.rb
puppet-8.6.0 lib/puppet/provider/group/pw.rb
puppet-8.6.0-x86-mingw32 lib/puppet/provider/group/pw.rb
puppet-8.6.0-x64-mingw32 lib/puppet/provider/group/pw.rb
puppet-8.6.0-universal-darwin lib/puppet/provider/group/pw.rb