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