class Archipel::Api::Internal::VmXmlMessages
Public Instance Methods
autostart(jid, new_state)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 57 def autostart jid, new_state render 'autostart', jid: jid, uuid: uuid_from_jid(jid), new_state: new_state end
create_disk(jid, name, size_gb, format = 'qcow2')
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 7 def create_disk jid, name, size_gb, format = 'qcow2' render 'create_disk', jid: jid, uuid: uuid_from_jid(jid), name: name, size: size_gb, format: format end
define_vm(jid, params = {})
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 12 def define_vm jid, params = {} params = params.dup uuid = uuid_from_jid jid params.merge! jid: jid, uuid: uuid params.merge! mac: generate_mac unless params.key? :mac if params.key? :ip params[:ips] = [params[:ip]] end params[:vnc_password] = generate_password 50 unless params.key? :vnc_password params[:vnc_port] = -1 unless params.key? :vnc_port render 'define_vm', params end
force_stop(jid)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 70 def force_stop jid render 'force_stop', jid: jid, uuid: uuid_from_jid(jid) end
grant_permissions(jid, user_jid)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 38 def grant_permissions jid, user_jid enabled = %w(settags getavatars setavatar presence message info create shutdown destroy reboot suspend resume xmldesc networkinfo define undefine capabilities nodeinfo network_getnames network_bridges appliance_get appliance_attach appliance_detach appliance_package drives_get oom_getadjust scheduler_jobs scheduler_schedule scheduler_unschedule scheduler_actions vnc_display snapshot_take snapshot_delete snapshot_get snapshot_current snapshot_revert) disabled = %w(all permission_get permission_getown permission_list permission_set permission_setown subscription_add subscription_remove migrate autostart memory setvcpus free xmppserver_users_list xmppserver_users_number oom_setadjust drives_create drives_delete drives_getiso drives_convert drives_rename vmparking_park) render 'grant_permissions', jid: jid, uuid: uuid_from_jid(jid), user_jid: user_jid, enabled_permissions: enabled, disabled_permissions: disabled end
info(jid)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 53 def info jid render 'info', jid: jid, uuid: uuid_from_jid(jid) end
list_disks(jid)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 30 def list_disks jid render 'list_disks', uuid: uuid_from_jid(jid) end
remove_disk(jid, file)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 34 def remove_disk jid, file render 'remove_disk', uuid: uuid_from_jid(jid), file: file end
revoke_permissions(jid, user_jid)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 46 def revoke_permissions jid, user_jid disabled = %w(settags getavatars setavatar presence message info create shutdown destroy reboot suspend resume xmldesc networkinfo define undefine capabilities nodeinfo network_getnames network_bridges appliance_get appliance_attach appliance_detach appliance_package drives_get oom_getadjust scheduler_jobs scheduler_schedule scheduler_unschedule scheduler_actions vnc_display snapshot_take snapshot_delete snapshot_get snapshot_current snapshot_revert all permission_get permission_getown permission_list permission_set permission_setown subscription_add subscription_remove migrate autostart memory setvcpus free xmppserver_users_list xmppserver_users_number oom_setadjust drives_create drives_delete drives_getiso drives_convert drives_rename vmparking_park) render 'grant_permissions', jid: jid, uuid: uuid_from_jid(jid), user_jid: user_jid, enabled_permissions: [], disabled_permissions: disabled end
start(jid)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 62 def start jid render 'start', jid: jid, uuid: uuid_from_jid(jid) end
stop(jid)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 66 def stop jid render 'stop', jid: jid, uuid: uuid_from_jid(jid) end
subscribe(jid, user_jid)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 78 def subscribe jid, user_jid render 'subscribe', jid: jid, uuid: uuid_from_jid(jid), user_jid: user_jid end
xml(jid)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 74 def xml jid render 'xml', jid: jid, uuid: uuid_from_jid(jid) end
Private Instance Methods
generate_mac()
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 83 def generate_mac (1..6).map { '%0.2X' % rand(256) }.join ':' end
uuid_from_jid(jid)
click to toggle source
# File lib/archipel/api/internal/vm_xml_messages.rb, line 87 def uuid_from_jid jid jid.split('@').first end