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
- #access_vlan_id=(id) ⇒ Object
- #allowed_vlan_ids ⇒ Object
- #allowed_vlan_ids=(ids) ⇒ Object
- #compute_attributes ⇒ Object
- #mac ⇒ Object
- #mac=(m) ⇒ Object
- #native_vlan_id ⇒ Object
- #native_vlan_id=(id) ⇒ Object
- #primary_vlan_id ⇒ Object
- #primary_vlan_id=(id) ⇒ Object
- #secondary_vlan_id ⇒ Object
- #secondary_vlan_id=(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
40 41 42 43 44 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 40 def access_vlan_id return nil if vlan_setting.access_vlan_id.zero? vlan_setting.access_vlan_id end |
#access_vlan_id=(id) ⇒ Object
45 46 47 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 45 def access_vlan_id=(id) vlan_setting.access_vlan_id = id end |
#allowed_vlan_ids ⇒ Object
58 59 60 61 62 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 58 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
63 64 65 66 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 63 def allowed_vlan_ids=(ids) ids ||= '' vlan_setting.allowed_vlan_id_list = parse_vlan_list(ids) end |
#compute_attributes ⇒ Object
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 96 def compute_attributes attributes .slice( :id, :switch_id ) .merge( { vlan_operation_mode:, vlan_private_mode:, access_vlan_id:, native_vlan_id:, allowed_vlan_ids:, primary_vlan_id:, secondary_vlan_id:, secondary_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) == 0 # Downcase and split every 2 chars, join with : mac_address.downcase.scan(%r{.{2}}).join(':') end |
#mac=(m) ⇒ Object
16 17 18 19 20 |
# 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? dynamic_mac_address_enabled = (mac_address.to_i(16) == 0) end |
#native_vlan_id ⇒ Object
49 50 51 52 53 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 49 def native_vlan_id return nil if vlan_setting.native_vlan_id.zero? vlan_setting.native_vlan_id end |
#native_vlan_id=(id) ⇒ Object
54 55 56 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 54 def native_vlan_id=(id) vlan_setting.native_vlan_id = id end |
#primary_vlan_id ⇒ Object
68 69 70 71 72 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 68 def primary_vlan_id return nil if vlan_setting.primary_vlan_id.zero? vlan_setting.primary_vlan_id end |
#primary_vlan_id=(id) ⇒ Object
73 74 75 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 73 def primary_vlan_id=(id) vlan_setting.primary_vlan_id = id end |
#secondary_vlan_id ⇒ Object
77 78 79 80 81 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 77 def secondary_vlan_id return nil if vlan_setting.secondary_vlan_id.zero? vlan_setting.secondary_vlan_id end |
#secondary_vlan_id=(id) ⇒ Object
82 83 84 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 82 def secondary_vlan_id=(id) vlan_setting.secondary_vlan_id = 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
91 92 93 94 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 91 def secondary_vlan_ids=(ids) ids ||= '' vlan_setting.secondary_vlan_id_list = parse_vlan_list(ids) end |
#vlan_operation_mode ⇒ Object
VLAN settings
24 25 26 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 24 def vlan_operation_mode vlan_setting.operation_mode end |
#vlan_operation_mode=(mode) ⇒ Object
27 28 29 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 27 def vlan_operation_mode=(mode) vlan_setting.operation_mode = mode end |
#vlan_private_mode ⇒ Object
31 32 33 34 35 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 31 def vlan_private_mode return nil if vlan_setting.private_vlan_mode == :Unknown vlan_setting.private_vlan_mode end |
#vlan_private_mode=(mode) ⇒ Object
36 37 38 |
# File 'app/models/concerns/fog_extensions/hyperv/network_adapter.rb', line 36 def vlan_private_mode=(mode) vlan_setting.private_vlan_mode = mode end |