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