blob: 46e172c73892db05ed46bdb4fa591e9f5005ed68 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
require 'puppet/util/network_device/cisco/device'
require 'puppet/provider/network_device'
Puppet::Type.type(:vlan).provide :cisco, :parent => Puppet::Provider::NetworkDevice do
desc "Cisco switch/router provider for vlans."
mk_resource_methods
def self.lookup(url, id)
vlans = {}
device = Puppet::Util::NetworkDevice::Cisco::Device.new(url)
device.command do |d|
vlans = d.parse_vlans || {}
end
vlans[id]
end
def initialize(*args)
super
end
# Clear out the cached values.
def flush
device.command do |device|
device.update_vlan(resource[:name], former_properties, properties)
end
super
end
def device
@device ||= Puppet::Util::NetworkDevice::Cisco::Device.new(resource[:device_url])
end
end
|