Module: FogExtensions::Hyperv::Server
- Extended by:
- ActiveSupport::Concern
- Includes:
- ActionView::Helpers::NumberHelper
- Defined in:
- app/models/concerns/fog_extensions/hyperv/server.rb
Instance Attribute Summary collapse
-
#start ⇒ Object
Returns the value of attribute start.
Instance Method Summary collapse
- #clean_mac_addresses ⇒ Object
- #folder_name ⇒ Object
- #interfaces ⇒ Object
- #interfaces_attributes=(_attributes) ⇒ Object
- #mac(m = mac_addresses.first) ⇒ Object
- #persisted? ⇒ Boolean
- #reset ⇒ Object
- #secure_boot_enabled ⇒ Object
- #secure_boot_enabled=(_) ⇒ Object
- #select_nic(fog_nics, nic) ⇒ Object
- #stop ⇒ Object
- #to_s ⇒ Object
- #vm_description ⇒ Object
- #volumes ⇒ Object
- #volumes_attributes=(_attributes) ⇒ Object
Instance Attribute Details
#start ⇒ Object
Returns the value of attribute start.
7 8 9 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 7 def start @start end |
Instance Method Details
#clean_mac_addresses ⇒ Object
21 22 23 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 21 def clean_mac_addresses network_adapters.map { |n| mac(n.mac_address) } end |
#folder_name ⇒ Object
13 14 15 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 13 def folder_name name.gsub(/[^0-9A-Za-z.\-]/, '_') end |
#interfaces ⇒ Object
25 26 27 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 25 def interfaces network_adapters end |
#interfaces_attributes=(_attributes) ⇒ Object
37 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 37 def interfaces_attributes=(_attributes); end |
#mac(m = mac_addresses.first) ⇒ Object
17 18 19 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 17 def mac(m = mac_addresses.first) "#{m[0, 2]}:#{m[2, 2]}:#{m[4, 2]}:#{m[6, 2]}:#{m[8, 2]}:#{m[10, 2]}" end |
#persisted? ⇒ Boolean
33 34 35 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 33 def persisted? identity.present? end |
#reset ⇒ Object
48 49 50 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 48 def reset restart(force: true) end |
#secure_boot_enabled ⇒ Object
43 44 45 46 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 43 def secure_boot_enabled return false if generation == 1 firmware.secure_boot == :On end |
#secure_boot_enabled=(_) ⇒ Object
41 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 41 def secure_boot_enabled=(_); end |
#select_nic(fog_nics, nic) ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 67 def select_nic(fog_nics, nic) nic_attrs = nic.compute_attributes logger.debug "select_nic(#{fog_nics}, #{nic}[#{nic_attrs}])" match = fog_nics.detect { |fn| fn.id == nic_attrs['id'] } # Check the id match ||= fog_nics.detect { |fn| fn.name == nic_attrs['name'] } # Check the name match ||= fog_nics.detect { |fn| fn.switch_name == nic_attrs['network'] } # Fall back to the switch match end |
#stop ⇒ Object
52 53 54 55 56 57 58 59 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 52 def stop requires :name, :computer_name service.stop_vm .merge( name: name, computer_name: computer_name, force: true ) end |
#to_s ⇒ Object
9 10 11 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 9 def to_s name end |
#vm_description ⇒ Object
61 62 63 64 65 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 61 def vm_description format _('%{cpus} CPUs and %{ram} memory'), cpus: processor_count, ram: number_to_human_size(memory_startup) end |
#volumes ⇒ Object
29 30 31 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 29 def volumes vhds end |
#volumes_attributes=(_attributes) ⇒ Object
39 |
# File 'app/models/concerns/fog_extensions/hyperv/server.rb', line 39 def volumes_attributes=(_attributes); end |