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

Public Instance Methods

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