Sha256: 55fac3516fa1f0ceef4dee5c22402f20614297e21d47039de2f3ff6d291e6f23

Contents?: true

Size: 1.15 KB

Versions: 5

Compression:

Stored size: 1.15 KB

Contents

module Puppet
  Puppet::Type.type(:file).newproperty(:owner) do

    desc "To whom the file should belong.  Argument can be user name or
      user ID."
    @event = :file_changed

    def insync?(current)
      provider.insync?(current, @should)
    end

    # We want to print names, not numbers
    def is_to_s(currentvalue)
      provider.id2name(currentvalue) || currentvalue
    end

    def should_to_s(newvalue = @should)
      case newvalue
      when Symbol
        newvalue.to_s
      when Integer
        provider.id2name(newvalue) || newvalue
      when String
        newvalue
      else
        raise Puppet::DevError, "Invalid uid type #{newvalue.class}(#{newvalue})"
      end
    end

    def retrieve
      if self.should
        @should = @should.collect do |val|
          unless val.is_a?(Integer)
            if tmp = provider.validuser?(val)
              val = tmp
            else
              raise "Could not find user #{val}"
            end
          else
            val
          end
        end
      end
      provider.retrieve(@resource)
    end

    def sync
      provider.sync(resource[:path], resource[:links], @should)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
puppet-2.6.4 lib/puppet/type/file/owner.rb
puppet-2.6.3 lib/puppet/type/file/owner.rb
puppet-2.6.2 lib/puppet/type/file/owner.rb
puppet-2.6.1 lib/puppet/type/file/owner.rb
puppet-2.6.0 lib/puppet/type/file/owner.rb