class Puppet::Provider::NetworkDevice

This is the base class of all prefetched network device provider

Attributes

device[RW]

Public Class Methods

device(url) click to toggle source
  # File lib/puppet/provider/network_device.rb
5 def self.device(url)
6   raise "This provider doesn't implement the necessary device method"
7 end
instances() click to toggle source
   # File lib/puppet/provider/network_device.rb
64 def self.instances
65 end
lookup(device, name) click to toggle source
   # File lib/puppet/provider/network_device.rb
 9 def self.lookup(device, name)
10   raise "This provider doesn't implement the necessary lookup method"
11 end
new(device, *args) click to toggle source
Calls superclass method Puppet::Provider::new
   # File lib/puppet/provider/network_device.rb
36 def initialize(device, *args)
37   super(*args)
38 
39   @device = device
40 
41   # Make a duplicate, so that we have a copy for comparison
42   # at the end.
43   @properties = @property_hash.dup
44 end
prefetch(resources) click to toggle source
   # File lib/puppet/provider/network_device.rb
13 def self.prefetch(resources)
14   resources.each do |name, resource|
15     device = Puppet::Util::NetworkDevice.current || device(resource[:device_url])
16     result = lookup(device, name)
17     if result
18       result[:ensure] = :present
19       resource.provider = new(device, result)
20     else
21       resource.provider = new(device, :ensure => :absent)
22     end
23   end
24 rescue => detail
25   # Preserving behavior introduced in #6907
26   #TRANSLATORS "prefetch" is a program name and should not be translated
27   Puppet.log_exception(detail, _("Could not perform network device prefetch: %{detail}") % { detail: detail })
28 end

Public Instance Methods

create() click to toggle source
   # File lib/puppet/provider/network_device.rb
46 def create
47   @property_hash[:ensure] = :present
48   self.class.resource_type.validproperties.each do |property|
49     val = resource.should(property)
50     if val
51       @property_hash[property] = val
52     end
53   end
54 end
destroy() click to toggle source
   # File lib/puppet/provider/network_device.rb
56 def destroy
57   @property_hash[:ensure] = :absent
58 end
exists?() click to toggle source
   # File lib/puppet/provider/network_device.rb
30 def exists?
31   @property_hash[:ensure] != :absent
32 end
flush() click to toggle source
   # File lib/puppet/provider/network_device.rb
60 def flush
61   @property_hash.clear
62 end
former_properties() click to toggle source
   # File lib/puppet/provider/network_device.rb
67 def former_properties
68   @properties.dup
69 end
properties() click to toggle source
   # File lib/puppet/provider/network_device.rb
71 def properties
72   @property_hash.dup
73 end