Class: OvirtSDK4::VmService
- Inherits:
-
MeasurableService
- Object
- Service
- MeasurableService
- OvirtSDK4::VmService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary collapse
-
#affinity_labels_service ⇒ AssignedAffinityLabelsService
List of scheduling labels assigned to this virtual machine.
-
#applications_service ⇒ VmApplicationsService
Locates the
applications
service. -
#backups_service ⇒ VmBackupsService
List of backups of this virtual machine.
-
#cancel_migration(opts = {}) ⇒ Object
This operation stops any migration of a virtual machine to another physical host.
-
#cdroms_service ⇒ VmCdromsService
Locates the
cdroms
service. -
#clone(opts = {}) ⇒ Object
Executes the
clone
method. -
#commit_snapshot(opts = {}) ⇒ Object
Permanently restores the virtual machine to the state of the previewed snapshot.
-
#detach(opts = {}) ⇒ Object
Detaches a virtual machine from a pool.
-
#disk_attachments_service ⇒ DiskAttachmentsService
List of disks attached to this virtual machine.
-
#export(opts = {}) ⇒ Object
Exports the virtual machine.
-
#export_to_export_domain(opts = {}) ⇒ Object
Exports a virtual machine to an export domain.
-
#export_to_path_on_host(opts = {}) ⇒ Object
Exports a virtual machine as an OVA file to a given path on a specified host.
-
#freeze_filesystems(opts = {}) ⇒ Object
Freezes virtual machine file systems.
-
#get(opts = {}) ⇒ Vm
Retrieves the description of the virtual machine.
-
#graphics_consoles_service ⇒ VmGraphicsConsolesService
Locates the
graphics_consoles
service. -
#host_devices_service ⇒ VmHostDevicesService
Locates the
host_devices
service. -
#katello_errata_service ⇒ KatelloErrataService
Reference to the service that can show the applicable errata available on the virtual machine.
-
#logon(opts = {}) ⇒ Object
Initiates the automatic user logon to access a virtual machine from an external console.
-
#maintenance(opts = {}) ⇒ Object
Sets the global maintenance mode on the hosted engine virtual machine.
-
#migrate(opts = {}) ⇒ Object
Migrates a virtual machine to another physical host.
-
#nics_service ⇒ VmNicsService
Locates the
nics
service. -
#numa_nodes_service ⇒ VmNumaNodesService
Locates the
numa_nodes
service. -
#permissions_service ⇒ AssignedPermissionsService
Locates the
permissions
service. -
#preview_snapshot(opts = {}) ⇒ Object
Temporarily restores the virtual machine to the state of a snapshot.
-
#reboot(opts = {}) ⇒ Object
Sends a reboot request to a virtual machine.
-
#remove(opts = {}) ⇒ Object
Removes the virtual machine, including the virtual disks attached to it.
-
#reorder_mac_addresses(opts = {}) ⇒ Object
Executes the
reorder_mac_addresses
method. -
#reported_devices_service ⇒ VmReportedDevicesService
Locates the
reported_devices
service. -
#service(path) ⇒ Service
Locates the service corresponding to the given path.
-
#sessions_service ⇒ VmSessionsService
Reference to the service that provides information about virtual machine user sessions.
-
#shutdown(opts = {}) ⇒ Object
This operation sends a shutdown request to a virtual machine.
-
#snapshots_service ⇒ SnapshotsService
Locates the
snapshots
service. -
#start(opts = {}) ⇒ Object
Starts the virtual machine.
-
#statistics_service ⇒ StatisticsService
Locates the
statistics
service. -
#stop(opts = {}) ⇒ Object
This operation forces a virtual machine to power-off.
-
#suspend(opts = {}) ⇒ Object
This operation saves the virtual machine state to disk and stops it.
-
#tags_service ⇒ AssignedTagsService
Locates the
tags
service. -
#thaw_filesystems(opts = {}) ⇒ Object
Thaws virtual machine file systems.
-
#ticket(opts = {}) ⇒ Object
Generates a time-sensitive authentication token for accessing a virtual machine’s display.
-
#undo_snapshot(opts = {}) ⇒ Object
Restores the virtual machine to the state it had before previewing the snapshot.
-
#update(vm, opts = {}) ⇒ Vm
Update the virtual machine in the system for the given virtual machine id.
-
#watchdogs_service ⇒ VmWatchdogsService
Locates the
watchdogs
service.
Methods inherited from Service
Instance Method Details
#affinity_labels_service ⇒ AssignedAffinityLabelsService
List of scheduling labels assigned to this virtual machine.
29483 29484 29485 |
# File 'lib/ovirtsdk4/services.rb', line 29483 def affinity_labels_service @affinity_labels_service ||= AssignedAffinityLabelsService.new(self, 'affinitylabels') end |
#applications_service ⇒ VmApplicationsService
Locates the applications
service.
29492 29493 29494 |
# File 'lib/ovirtsdk4/services.rb', line 29492 def applications_service @applications_service ||= VmApplicationsService.new(self, 'applications') end |
#backups_service ⇒ VmBackupsService
List of backups of this virtual machine.
29501 29502 29503 |
# File 'lib/ovirtsdk4/services.rb', line 29501 def backups_service @backups_service ||= VmBackupsService.new(self, 'backups') end |
#cancel_migration(opts = {}) ⇒ Object
This operation stops any migration of a virtual machine to another physical host.
POST /ovirt-engine/api/vms/123/cancelmigration
The cancel migration action does not take any action specific parameters;
therefore, the request body should contain an empty action
:
<action/>
28384 28385 28386 |
# File 'lib/ovirtsdk4/services.rb', line 28384 def cancel_migration(opts = {}) internal_action(:cancelmigration, nil, CANCEL_MIGRATION, opts) end |
#cdroms_service ⇒ VmCdromsService
Locates the cdroms
service.
29510 29511 29512 |
# File 'lib/ovirtsdk4/services.rb', line 29510 def cdroms_service @cdroms_service ||= VmCdromsService.new(self, 'cdroms') end |
#clone(opts = {}) ⇒ Object
Executes the clone
method.
28413 28414 28415 |
# File 'lib/ovirtsdk4/services.rb', line 28413 def clone(opts = {}) internal_action(:clone, nil, CLONE, opts) end |
#commit_snapshot(opts = {}) ⇒ Object
Permanently restores the virtual machine to the state of the previewed snapshot.
See the preview_snapshot operation for details.
28441 28442 28443 |
# File 'lib/ovirtsdk4/services.rb', line 28441 def commit_snapshot(opts = {}) internal_action(:commitsnapshot, nil, COMMIT_SNAPSHOT, opts) end |
#detach(opts = {}) ⇒ Object
Detaches a virtual machine from a pool.
POST /ovirt-engine/api/vms/123/detach
The detach action does not take any action specific parameters; therefore, the request body should contain an
empty action
:
<action/>
28480 28481 28482 |
# File 'lib/ovirtsdk4/services.rb', line 28480 def detach(opts = {}) internal_action(:detach, nil, DETACH, opts) end |
#disk_attachments_service ⇒ DiskAttachmentsService
List of disks attached to this virtual machine.
29519 29520 29521 |
# File 'lib/ovirtsdk4/services.rb', line 29519 def @disk_attachments_service ||= DiskAttachmentsService.new(self, 'diskattachments') end |
#export(opts = {}) ⇒ Object
Exports the virtual machine.
A virtual machine can be exported to an export domain.
For example, to export virtual machine 123
to the export domain myexport
:
POST /ovirt-engine/api/vms/123/export
With a request body like this:
<action>
<storage_domain>
<name>myexport</name>
</storage_domain>
<exclusive>true</exclusive>
<discard_snapshots>true</discard_snapshots>
</action>
Since version 4.2 of the engine it is also possible to export a virtual machine as a virtual appliance (OVA).
For example, to export virtual machine 123
as an OVA file named myvm.ova
that is placed in the directory /home/ovirt/
on host myhost
:
POST /ovirt-engine/api/vms/123/export
With a request body like this:
<action>
<host>
<name>myhost</name>
</host>
<directory>/home/ovirt</directory>
<filename>myvm.ova</filename>
</action>
28559 28560 28561 |
# File 'lib/ovirtsdk4/services.rb', line 28559 def export(opts = {}) internal_action(:export, nil, EXPORT, opts) end |
#export_to_export_domain(opts = {}) ⇒ Object
Exports a virtual machine to an export domain.
29363 29364 29365 |
# File 'lib/ovirtsdk4/services.rb', line 29363 def export_to_export_domain(opts = {}) internal_action(:export, nil, EXPORT_TO_EXPORT_DOMAIN, opts) end |
#export_to_path_on_host(opts = {}) ⇒ Object
Exports a virtual machine as an OVA file to a given path on a specified host.
29412 29413 29414 |
# File 'lib/ovirtsdk4/services.rb', line 29412 def export_to_path_on_host(opts = {}) internal_action(:export, nil, EXPORT_TO_PATH_ON_HOST, opts) end |
#freeze_filesystems(opts = {}) ⇒ Object
Freezes virtual machine file systems.
This operation freezes a virtual machine’s file systems using the QEMU guest agent when taking a live snapshot of a running virtual machine. Normally, this is done automatically by the manager, but this must be executed manually with the API for virtual machines using OpenStack Volume (Cinder) disks.
Example:
POST /ovirt-engine/api/vms/123/freezefilesystems
<action/>
28601 28602 28603 |
# File 'lib/ovirtsdk4/services.rb', line 28601 def freeze_filesystems(opts = {}) internal_action(:freezefilesystems, nil, FREEZE_FILESYSTEMS, opts) end |
#get(opts = {}) ⇒ Vm
Retrieves the description of the virtual machine.
28673 28674 28675 |
# File 'lib/ovirtsdk4/services.rb', line 28673 def get(opts = {}) internal_get(GET, opts) end |
#graphics_consoles_service ⇒ VmGraphicsConsolesService
Locates the graphics_consoles
service.
29528 29529 29530 |
# File 'lib/ovirtsdk4/services.rb', line 29528 def graphics_consoles_service @graphics_consoles_service ||= VmGraphicsConsolesService.new(self, 'graphicsconsoles') end |
#host_devices_service ⇒ VmHostDevicesService
Locates the host_devices
service.
29537 29538 29539 |
# File 'lib/ovirtsdk4/services.rb', line 29537 def host_devices_service @host_devices_service ||= VmHostDevicesService.new(self, 'hostdevices') end |
#katello_errata_service ⇒ KatelloErrataService
Reference to the service that can show the applicable errata available on the virtual machine. This information is taken from Katello.
29547 29548 29549 |
# File 'lib/ovirtsdk4/services.rb', line 29547 def katello_errata_service @katello_errata_service ||= KatelloErrataService.new(self, 'katelloerrata') end |
#logon(opts = {}) ⇒ Object
Initiates the automatic user logon to access a virtual machine from an external console.
This action requires the ovirt-guest-agent-gdm-plugin
and the ovirt-guest-agent-pam-module
packages to be
installed and the ovirt-guest-agent
service to be running on the virtual machine.
Users require the appropriate user permissions for the virtual machine in order to access the virtual machine from an external console.
For example:
POST /ovirt-engine/api/vms/123/logon
Request body:
<action/>
28719 28720 28721 |
# File 'lib/ovirtsdk4/services.rb', line 28719 def logon(opts = {}) internal_action(:logon, nil, LOGON, opts) end |
#maintenance(opts = {}) ⇒ Object
Sets the global maintenance mode on the hosted engine virtual machine.
This action has no effect on other virtual machines.
Example:
POST /ovirt-engine/api/vms/123/maintenance
<action>
<maintenance_enabled>true<maintenance_enabled/>
</action>
28764 28765 28766 |
# File 'lib/ovirtsdk4/services.rb', line 28764 def maintenance(opts = {}) internal_action(:maintenance, nil, MAINTENANCE, opts) end |
#migrate(opts = {}) ⇒ Object
Migrates a virtual machine to another physical host.
Example:
POST /ovirt-engine/api/vms/123/migrate
To specify a specific host to migrate the virtual machine to:
<action>
<host id="2ab5e1da-b726-4274-bbf7-0a42b16a0fc3"/>
</action>
28822 28823 28824 |
# File 'lib/ovirtsdk4/services.rb', line 28822 def migrate(opts = {}) internal_action(:migrate, nil, MIGRATE, opts) end |
#nics_service ⇒ VmNicsService
Locates the nics
service.
29556 29557 29558 |
# File 'lib/ovirtsdk4/services.rb', line 29556 def nics_service @nics_service ||= VmNicsService.new(self, 'nics') end |
#numa_nodes_service ⇒ VmNumaNodesService
Locates the numa_nodes
service.
29565 29566 29567 |
# File 'lib/ovirtsdk4/services.rb', line 29565 def numa_nodes_service @numa_nodes_service ||= VmNumaNodesService.new(self, 'numanodes') end |
#permissions_service ⇒ AssignedPermissionsService
Locates the permissions
service.
29574 29575 29576 |
# File 'lib/ovirtsdk4/services.rb', line 29574 def @permissions_service ||= AssignedPermissionsService.new(self, 'permissions') end |
#preview_snapshot(opts = {}) ⇒ Object
Temporarily restores the virtual machine to the state of a snapshot.
The snapshot is indicated with the snapshot.id
parameter. It is restored temporarily, so that the content can
be inspected. Once that inspection is finished, the state of the virtual machine can be made permanent, using the
commit_snapshot method, or discarded using the
undo_snapshot method.
28898 28899 28900 |
# File 'lib/ovirtsdk4/services.rb', line 28898 def preview_snapshot(opts = {}) internal_action(:previewsnapshot, nil, PREVIEW_SNAPSHOT, opts) end |
#reboot(opts = {}) ⇒ Object
Sends a reboot request to a virtual machine.
For example:
POST /ovirt-engine/api/vms/123/reboot
The reboot action does not take any action specific parameters; therefore, the request body should contain an
empty action
:
<action/>
28939 28940 28941 |
# File 'lib/ovirtsdk4/services.rb', line 28939 def reboot(opts = {}) internal_action(:reboot, nil, REBOOT, opts) end |
#remove(opts = {}) ⇒ Object
Removes the virtual machine, including the virtual disks attached to it.
For example, to remove the virtual machine with identifier 123
:
DELETE /ovirt-engine/api/vms/123
28978 28979 28980 |
# File 'lib/ovirtsdk4/services.rb', line 28978 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#reorder_mac_addresses(opts = {}) ⇒ Object
Executes the reorder_mac_addresses
method.
29004 29005 29006 |
# File 'lib/ovirtsdk4/services.rb', line 29004 def reorder_mac_addresses(opts = {}) internal_action(:reordermacaddresses, nil, REORDER_MAC_ADDRESSES, opts) end |
#reported_devices_service ⇒ VmReportedDevicesService
Locates the reported_devices
service.
29583 29584 29585 |
# File 'lib/ovirtsdk4/services.rb', line 29583 def reported_devices_service @reported_devices_service ||= VmReportedDevicesService.new(self, 'reporteddevices') end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
29639 29640 29641 29642 29643 29644 29645 29646 29647 29648 29649 29650 29651 29652 29653 29654 29655 29656 29657 29658 29659 29660 29661 29662 29663 29664 29665 29666 29667 29668 29669 29670 29671 29672 29673 29674 29675 29676 29677 29678 29679 29680 29681 29682 29683 29684 29685 29686 29687 29688 29689 29690 29691 29692 29693 29694 29695 29696 29697 29698 29699 29700 29701 29702 29703 29704 29705 29706 29707 29708 29709 29710 29711 29712 29713 29714 29715 29716 29717 29718 29719 29720 29721 29722 29723 29724 29725 29726 29727 29728 29729 29730 29731 29732 29733 29734 29735 29736 29737 29738 29739 29740 29741 29742 29743 29744 29745 29746 |
# File 'lib/ovirtsdk4/services.rb', line 29639 def service(path) if path.nil? || path == '' return self end if path == 'affinitylabels' return affinity_labels_service end if path.start_with?('affinitylabels/') return affinity_labels_service.service(path[15..-1]) end if path == 'applications' return applications_service end if path.start_with?('applications/') return applications_service.service(path[13..-1]) end if path == 'backups' return backups_service end if path.start_with?('backups/') return backups_service.service(path[8..-1]) end if path == 'cdroms' return cdroms_service end if path.start_with?('cdroms/') return cdroms_service.service(path[7..-1]) end if path == 'diskattachments' return end if path.start_with?('diskattachments/') return .service(path[16..-1]) end if path == 'graphicsconsoles' return graphics_consoles_service end if path.start_with?('graphicsconsoles/') return graphics_consoles_service.service(path[17..-1]) end if path == 'hostdevices' return host_devices_service end if path.start_with?('hostdevices/') return host_devices_service.service(path[12..-1]) end if path == 'katelloerrata' return katello_errata_service end if path.start_with?('katelloerrata/') return katello_errata_service.service(path[14..-1]) end if path == 'nics' return nics_service end if path.start_with?('nics/') return nics_service.service(path[5..-1]) end if path == 'numanodes' return numa_nodes_service end if path.start_with?('numanodes/') return numa_nodes_service.service(path[10..-1]) end if path == 'permissions' return end if path.start_with?('permissions/') return .service(path[12..-1]) end if path == 'reporteddevices' return reported_devices_service end if path.start_with?('reporteddevices/') return reported_devices_service.service(path[16..-1]) end if path == 'sessions' return sessions_service end if path.start_with?('sessions/') return sessions_service.service(path[9..-1]) end if path == 'snapshots' return snapshots_service end if path.start_with?('snapshots/') return snapshots_service.service(path[10..-1]) end if path == 'statistics' return statistics_service end if path.start_with?('statistics/') return statistics_service.service(path[11..-1]) end if path == 'tags' return end if path.start_with?('tags/') return .service(path[5..-1]) end if path == 'watchdogs' return watchdogs_service end if path.start_with?('watchdogs/') return watchdogs_service.service(path[10..-1]) end raise Error.new("The path \"#{path}\" doesn't correspond to any service") end |
#sessions_service ⇒ VmSessionsService
Reference to the service that provides information about virtual machine user sessions.
29592 29593 29594 |
# File 'lib/ovirtsdk4/services.rb', line 29592 def sessions_service @sessions_service ||= VmSessionsService.new(self, 'sessions') end |
#shutdown(opts = {}) ⇒ Object
This operation sends a shutdown request to a virtual machine.
For example:
POST /ovirt-engine/api/vms/123/shutdown
The shutdown action does not take any action specific parameters;
therefore, the request body should contain an empty action
:
<action/>
29045 29046 29047 |
# File 'lib/ovirtsdk4/services.rb', line 29045 def shutdown(opts = {}) internal_action(:shutdown, nil, SHUTDOWN, opts) end |
#snapshots_service ⇒ SnapshotsService
Locates the snapshots
service.
29601 29602 29603 |
# File 'lib/ovirtsdk4/services.rb', line 29601 def snapshots_service @snapshots_service ||= SnapshotsService.new(self, 'snapshots') end |
#start(opts = {}) ⇒ Object
Starts the virtual machine.
If the virtual environment is complete and the virtual machine contains all necessary components to function, it can be started.
This example starts the virtual machine:
POST /ovirt-engine/api/vms/123/start
With a request body:
<action/>
29132 29133 29134 |
# File 'lib/ovirtsdk4/services.rb', line 29132 def start(opts = {}) internal_action(:start, nil, START, opts) end |
#statistics_service ⇒ StatisticsService
Locates the statistics
service.
29610 29611 29612 |
# File 'lib/ovirtsdk4/services.rb', line 29610 def statistics_service @statistics_service ||= StatisticsService.new(self, 'statistics') end |
#stop(opts = {}) ⇒ Object
This operation forces a virtual machine to power-off.
For example:
POST /ovirt-engine/api/vms/123/stop
The stop action does not take any action specific parameters;
therefore, the request body should contain an empty action
:
<action/>
29173 29174 29175 |
# File 'lib/ovirtsdk4/services.rb', line 29173 def stop(opts = {}) internal_action(:stop, nil, STOP, opts) end |
#suspend(opts = {}) ⇒ Object
This operation saves the virtual machine state to disk and stops it. Start a suspended virtual machine and restore the virtual machine state with the start action.
For example:
POST /ovirt-engine/api/vms/123/suspend
The suspend action does not take any action specific parameters;
therefore, the request body should contain an empty action
:
<action/>
29215 29216 29217 |
# File 'lib/ovirtsdk4/services.rb', line 29215 def suspend(opts = {}) internal_action(:suspend, nil, SUSPEND, opts) end |
#tags_service ⇒ AssignedTagsService
Locates the tags
service.
29619 29620 29621 |
# File 'lib/ovirtsdk4/services.rb', line 29619 def @tags_service ||= AssignedTagsService.new(self, 'tags') end |
#thaw_filesystems(opts = {}) ⇒ Object
Thaws virtual machine file systems.
This operation thaws a virtual machine’s file systems using the QEMU guest agent when taking a live snapshot of a running virtual machine. Normally, this is done automatically by the manager, but this must be executed manually with the API for virtual machines using OpenStack Volume (Cinder) disks.
Example:
POST /api/vms/123/thawfilesystems
<action/>
29257 29258 29259 |
# File 'lib/ovirtsdk4/services.rb', line 29257 def thaw_filesystems(opts = {}) internal_action(:thawfilesystems, nil, THAW_FILESYSTEMS, opts) end |
#ticket(opts = {}) ⇒ Object
Generates a time-sensitive authentication token for accessing a virtual machine’s display.
For example:
POST /ovirt-engine/api/vms/123/ticket
The client-provided action optionally includes a desired ticket value and/or an expiry time in seconds.
The response specifies the actual ticket value and expiry used.
<action>
<ticket>
<value>abcd12345</value>
<expiry>120</expiry>
</ticket>
</action>
Important
|
If the virtual machine is configured to support only one graphics protocol then the generated authentication token will be valid for that protocol. But if the virtual machine is configured to support multiple protocols, VNC and SPICE, then the authentication token will only be valid for the SPICE protocol. In order to obtain an authentication token for a specific protocol, for
example for VNC, use the
|
29326 29327 29328 |
# File 'lib/ovirtsdk4/services.rb', line 29326 def ticket(opts = {}) internal_action(:ticket, :ticket, TICKET, opts) end |
#undo_snapshot(opts = {}) ⇒ Object
Restores the virtual machine to the state it had before previewing the snapshot.
See the preview_snapshot operation for details.
29440 29441 29442 |
# File 'lib/ovirtsdk4/services.rb', line 29440 def undo_snapshot(opts = {}) internal_action(:undosnapshot, nil, UNDO_SNAPSHOT, opts) end |
#update(vm, opts = {}) ⇒ Vm
Update the virtual machine in the system for the given virtual machine id.
29474 29475 29476 |
# File 'lib/ovirtsdk4/services.rb', line 29474 def update(vm, opts = {}) internal_update(vm, Vm, UPDATE, opts) end |
#watchdogs_service ⇒ VmWatchdogsService
Locates the watchdogs
service.
29628 29629 29630 |
# File 'lib/ovirtsdk4/services.rb', line 29628 def watchdogs_service @watchdogs_service ||= VmWatchdogsService.new(self, 'watchdogs') end |