Sha256: 041cda401b9317126be6a6b66bd7453426788717240b8303dc5ff229849872f1

Contents?: true

Size: 1.09 KB

Versions: 43

Compression:

Stored size: 1.09 KB

Contents

require 'puppet/util/adsi'

Puppet::Type.type(:group).provide :windows_adsi do
  desc "Local group management for Windows. Nested groups are not supported."

  defaultfor :operatingsystem => :windows
  confine    :operatingsystem => :windows

  has_features :manages_members

  def group
    @group ||= Puppet::Util::ADSI::Group.new(@resource[:name])
  end

  def members
    group.members
  end

  def members=(members)
    group.set_members(members)
  end

  def create
    @group = Puppet::Util::ADSI::Group.create(@resource[:name])
    @group.commit

    self.members = @resource[:members]
  end

  def exists?
    Puppet::Util::ADSI::Group.exists?(@resource[:name])
  end

  def delete
    Puppet::Util::ADSI::Group.delete(@resource[:name])
  end

  # Only flush if we created or modified a group, not deleted
  def flush
    @group.commit if @group
  end

  def gid
    Puppet::Util::Windows::Security.name_to_sid(@resource[:name])
  end

  def gid=(value)
    fail "gid is read-only"
  end

  def self.instances
    Puppet::Util::ADSI::Group.map { |g| new(:ensure => :present, :name => g.name) }
  end
end

Version data entries

43 entries across 43 versions & 3 rubygems

Version Path
puppet-parse-0.1.4 lib/vendor/puppet/provider/group/windows_adsi.rb
puppet-parse-0.1.3 lib/vendor/puppet/provider/group/windows_adsi.rb
puppet-parse-0.1.2 lib/vendor/puppet/provider/group/windows_adsi.rb
puppet-parse-0.1.1 lib/vendor/puppet/provider/group/windows_adsi.rb
puppet-2.7.26 lib/puppet/provider/group/windows_adsi.rb
puppet-2.7.25 lib/puppet/provider/group/windows_adsi.rb
puppet-2.7.24 lib/puppet/provider/group/windows_adsi.rb
puppet-3.3.2 lib/puppet/provider/group/windows_adsi.rb
puppet-3.3.1 lib/puppet/provider/group/windows_adsi.rb
puppet-3.3.1.rc3 lib/puppet/provider/group/windows_adsi.rb
puppet-3.3.1.rc2 lib/puppet/provider/group/windows_adsi.rb
puppet-3.3.1.rc1 lib/puppet/provider/group/windows_adsi.rb
puppet-3.3.0 lib/puppet/provider/group/windows_adsi.rb
puppet-3.3.0.rc3 lib/puppet/provider/group/windows_adsi.rb
puppet-3.3.0.rc2 lib/puppet/provider/group/windows_adsi.rb
puppet-3.2.4 lib/puppet/provider/group/windows_adsi.rb
puppet-2.7.23 lib/puppet/provider/group/windows_adsi.rb
puppet-3.2.3 lib/puppet/provider/group/windows_adsi.rb
puppet-3.2.3.rc1 lib/puppet/provider/group/windows_adsi.rb
puppet-3.2.2 lib/puppet/provider/group/windows_adsi.rb