Module: Junos::Ez::L2ports

Defined in:
lib/junos-ez/l2_ports.rb

Defined Under Namespace

Classes: Provider

Constant Summary collapse

PROPERTIES =
[ 
  :description,           # String | nil
  :untagged_vlan,         # String | nil
  :tagged_vlans,          # Set of String | nil
  :vlan_tagging           # true | false
]

Class Method Summary collapse

Class Method Details

.Provider(ndev, varsym) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/junos-ez/l2_ports.rb', line 13

def self.Provider( ndev, varsym )        
  
  newbie = case ndev.fact( :switch_style )
  when :VLAN
    Junos::Ez::L2ports::Provider::VLAN.new( ndev )      
  when :VLAN_NG
    raise ArgumentError, "under development"
    Junos::Ez::L2ports::Provider::VLAN_NG.new( ndev )            
  when :BRIDGE_DOMAIN
    raise ArgumentError, "under development"
    Junos::Ez::L2ports::Provider::BRIDGE_DOMAIN.new( ndev )      
  end      
  
  newbie.properties = Junos::Ez::Provider::PROPERTIES + PROPERTIES
  Junos::Ez::Provider.attach_instance_variable( ndev, varsym, newbie )
end