Module: FogExtensions::Proxmox::Server

Extended by:
ActiveSupport::Concern
Defined in:
app/models/concerns/fog_extensions/proxmox/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#image_idObject

Returns the value of attribute image_id.



24
25
26
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 24

def image_id
  @image_id
end

#ostemplate_fileObject

Returns the value of attribute ostemplate_file.



24
25
26
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 24

def ostemplate_file
  @ostemplate_file
end

#ostemplate_storageObject

Returns the value of attribute ostemplate_storage.



24
25
26
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 24

def ostemplate_storage
  @ostemplate_storage
end

#templatedObject

Returns the value of attribute templated.



24
25
26
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 24

def templated
  @templated
end

Instance Method Details

#config_attributes=(attrs) ⇒ Object



82
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 82

def config_attributes=(attrs); end

#container?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 31

def container?
    type == 'lxc'
end

#descriptionObject



59
60
61
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 59

def description
    config.description
end

#disksObject



74
75
76
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 74

def disks
    config.disks.collect { |disk| disk.id+': '+disk.volid }
end

#identityObject



28
29
30
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 28

def identity
    "#{type}_#{vmid}"
end

#interfacesObject



68
69
70
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 68

def interfaces
    config.interfaces
end

#interfaces_attributes=(attrs) ⇒ Object



80
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 80

def interfaces_attributes=(attrs); end

#macObject



50
51
52
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 50

def mac
    config.mac_addresses.first
end

#memoryObject



53
54
55
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 53

def memory
    maxmem.to_i
end

#persisted?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 34

def persisted?
    !!identity && !!uptime
end

#rebootObject



43
44
45
46
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 43

def reboot
    stop
    start
end

#resetObject



47
48
49
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 47

def reset
    reboot
end

#select_nic(fog_nics, nic) ⇒ Object



65
66
67
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 65

def select_nic(fog_nics, nic)
    fog_nics.find {|fog_nic| fog_nic.identity.to_s == nic.identifier}
end

#startObject



37
38
39
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 37

def start
    action('start')
end

#stateObject



56
57
58
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 56

def state
    qmpstatus
end

#stopObject



40
41
42
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 40

def stop
    action('stop')
end

#templated?Boolean

Returns:

  • (Boolean)


83
84
85
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 83

def templated?
    volumes.any? { |volume| volume.templated? }
end

#to_sObject



25
26
27
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 25

def to_s
    name
end

#vgaObject



77
78
79
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 77

def vga
    config.vga
end

#vm_descriptionObject



62
63
64
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 62

def vm_description
    "Name=#{name}, vmid=#{vmid}"
end

#volumesObject



71
72
73
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 71

def volumes
    config.disks.reject { |disk| disk.cdrom? }
end

#volumes_attributes=(attrs) ⇒ Object



81
# File 'app/models/concerns/fog_extensions/proxmox/server.rb', line 81

def volumes_attributes=(attrs); end