Module: FogExtensions::Hyperv::NetworkAdapter
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/fog_extensions/hyperv/network_adapter.rb
Instance Method Summary collapse
- #access_vlan_id ⇒ Object
- #allowed_vlan_ids ⇒ Object
- #allowed_vlan_ids=(ids) ⇒ Object
- #compute_attributes ⇒ Object
- #mac ⇒ Object
- #mac=(m) ⇒ Object
- #native_vlan_id ⇒ Object
- #primary_vlan_id ⇒ Object
- #secondary_vlan_id ⇒ Object
- #secondary_vlan_ids ⇒ Object
- #secondary_vlan_ids=(ids) ⇒ Object
-
#vlan_operation_mode ⇒ Object
VLAN settings.
- #vlan_operation_mode=(mode) ⇒ Object
- #vlan_private_mode ⇒ Object
- #vlan_private_mode=(mode) ⇒ Object
Instance Method Details
#access_vlan_id ⇒ Object
43 44 45 46 47 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 43 def access_vlan_id return nil if vlan_setting.access_vlan_id.zero? vlan_setting.access_vlan_id end |
#allowed_vlan_ids ⇒ Object
59 60 61 62 63 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 59 def allowed_vlan_ids return nil unless vlan_setting.allowed_vlan_id_list&.any? Fog::Hyperv::Compute::NetworkAdapterVlan.render_vlan_list vlan_setting.allowed_vlan_id_list end |
#allowed_vlan_ids=(ids) ⇒ Object
65 66 67 68 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 65 def allowed_vlan_ids=(ids) ids ||= '' vlan_setting.allowed_vlan_id_list = parse_vlan_list(ids) end |
#compute_attributes ⇒ Object
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 97 def compute_attributes attributes .slice( :id, :switch_id ) .merge( vlan_setting.attributes.slice( :vlan_operation_mode, :vlan_private_mode, :access_vlan_id, :native_vlan_id, :primary_vlan_id, :secondary_vlan_id ) ) .merge( secondary_vlan_ids: secondary_vlan_ids, allowed_vlan_ids: allowed_vlan_ids ) .compact end |
#mac ⇒ Object
8 9 10 11 12 13 14 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 8 def mac return unless mac_address return if mac_address.to_i(16).zero? # Downcase and split every 2 chars, join with : mac_address.downcase.scan(/.{2}/).join(':') end |
#mac=(m) ⇒ Object
16 17 18 19 20 21 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 16 def mac=(m) mac_address = m&.upcase&.delete(':') mac_address = Fog::Hyperv::Compute::NetworkAdapter::NIC_FALLBACK_MAC if mac_address.nil? || mac_address.blank? mac_address.to_i(16) 0 end |
#native_vlan_id ⇒ Object
51 52 53 54 55 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 51 def native_vlan_id return nil if vlan_setting.native_vlan_id.zero? vlan_setting.native_vlan_id end |
#primary_vlan_id ⇒ Object
70 71 72 73 74 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 70 def primary_vlan_id return nil if vlan_setting.primary_vlan_id.zero? vlan_setting.primary_vlan_id end |
#secondary_vlan_id ⇒ Object
78 79 80 81 82 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 78 def secondary_vlan_id return nil if vlan_setting.secondary_vlan_id.zero? vlan_setting.secondary_vlan_id end |
#secondary_vlan_ids ⇒ Object
86 87 88 89 90 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 86 def secondary_vlan_ids return nil unless vlan_setting.secondary_vlan_id_list&.any? Fog::Hyperv::Compute::NetworkAdapterVlan.render_vlan_list vlan_setting.secondary_vlan_id_list end |
#secondary_vlan_ids=(ids) ⇒ Object
92 93 94 95 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 92 def secondary_vlan_ids=(ids) ids ||= '' vlan_setting.secondary_vlan_id_list = parse_vlan_list(ids) end |
#vlan_operation_mode ⇒ Object
VLAN settings
25 26 27 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 25 def vlan_operation_mode vlan_setting.operation_mode end |
#vlan_operation_mode=(mode) ⇒ Object
29 30 31 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 29 def vlan_operation_mode=(mode) vlan_setting.operation_mode = mode end |
#vlan_private_mode ⇒ Object
33 34 35 36 37 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 33 def vlan_private_mode return nil if vlan_setting.private_vlan_mode == :Unknown vlan_setting.private_vlan_mode end |
#vlan_private_mode=(mode) ⇒ Object
39 40 41 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 39 def vlan_private_mode=(mode) vlan_setting.private_vlan_mode = mode end |