Class: OvirtSDK4::VmGraphicsConsoleService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary collapse
-
#get(opts = {}) ⇒ GraphicsConsole
Retrieves the graphics console configuration of the virtual machine.
-
#proxy_ticket(opts = {}) ⇒ Object
Executes the
proxy_ticket
method. -
#remote_viewer_connection_file(opts = {}) ⇒ Object
Generates the file which is compatible with
remote-viewer
client. -
#remove(opts = {}) ⇒ Object
Remove the graphics console from the virtual machine.
-
#service(path) ⇒ Service
Locates the service corresponding to the given path.
-
#ticket(opts = {}) ⇒ Object
Generates a time-sensitive authentication token for accessing this virtual machine’s console.
Methods inherited from Service
Instance Method Details
#get(opts = {}) ⇒ GraphicsConsole
Retrieves the graphics console configuration of the virtual machine.
Important
|
By default, when the current parameter is not specified, the data returned
corresponds to the next execution of the virtual machine. In the current implementation of
the system this means that the address and port attributes will not be populated because
the system does not know what address and port will be used for the next execution. Since in most
cases those attributes are needed, it is strongly advised to aways explicitly include the
current parameter with the value true .
|
30408 30409 30410 |
# File 'lib/ovirtsdk4/services.rb', line 30408 def get(opts = {}) internal_get(GET, opts) end |
#proxy_ticket(opts = {}) ⇒ Object
Executes the proxy_ticket
method.
30436 30437 30438 |
# File 'lib/ovirtsdk4/services.rb', line 30436 def proxy_ticket(opts = {}) internal_action(:proxyticket, :proxy_ticket, PROXY_TICKET, opts) end |
#remote_viewer_connection_file(opts = {}) ⇒ Object
Generates the file which is compatible with remote-viewer
client.
Use the following request to generate remote viewer connection file of the graphics console. Note that this action generates the file only if virtual machine is running.
POST /ovirt-engine/api/vms/123/graphicsconsoles/456/remoteviewerconnectionfile
The remoteviewerconnectionfile
action does not take any action specific parameters,
so the request body should contain an empty action
:
<action/>
The response contains the file, which can be used with remote-viewer
client.
<action>
<remote_viewer_connection_file>
[virt-viewer]
type=spice
host=192.168.1.101
port=-1
password=123456789
delete-this-file=1
fullscreen=0
toggle-fullscreen=shift+f11
release-cursor=shift+f12
secure-attention=ctrl+alt+end
tls-port=5900
enable-smartcard=0
enable-usb-autoshare=0
usb-filter=null
tls-ciphers=DEFAULT
host-subject=O=local,CN=example.com
ca=...
</remote_viewer_connection_file>
</action>
E.g., to fetch the content of remote viewer connection file and save it into temporary file, user can use oVirt Python SDK as follows:
# Find the virtual machine:
vm = vms_service.list(search='name=myvm')[0]
# Locate the service that manages the virtual machine, as that is where
# the locators are defined:
vm_service = vms_service.vm_service(vm.id)
# Find the graphic console of the virtual machine:
graphics_consoles_service = vm_service.graphics_consoles_service()
graphics_console = graphics_consoles_service.list()[0]
# Generate the remote viewer connection file:
console_service = graphics_consoles_service.console_service(graphics_console.id)
remote_viewer_connection_file = console_service.remote_viewer_connection_file()
# Write the content to file "/tmp/remote_viewer_connection_file.vv"
path = "/tmp/remote_viewer_connection_file.vv"
with open(path, "w") as f:
f.write(remote_viewer_connection_file)
When you create the remote viewer connection file, then you can connect to virtual machine graphic console, as follows:
#!/bin/sh -ex
remote-viewer --ovirt-ca-file=/etc/pki/ovirt-engine/ca.pem /tmp/remote_viewer_connection_file.vv
30543 30544 30545 |
# File 'lib/ovirtsdk4/services.rb', line 30543 def remote_viewer_connection_file(opts = {}) internal_action(:remoteviewerconnectionfile, :remote_viewer_connection_file, REMOTE_VIEWER_CONNECTION_FILE, opts) end |
#remove(opts = {}) ⇒ Object
Remove the graphics console from the virtual machine.
30568 30569 30570 |
# File 'lib/ovirtsdk4/services.rb', line 30568 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
30624 30625 30626 30627 30628 30629 |
# File 'lib/ovirtsdk4/services.rb', line 30624 def service(path) if path.nil? || path == '' return self end raise Error.new("The path \"#{path}\" doesn't correspond to any service") end |
#ticket(opts = {}) ⇒ Object
Generates a time-sensitive authentication token for accessing this virtual machine’s console.
POST /ovirt-engine/api/vms/123/graphicsconsoles/456/ticket
The client-provided action optionally includes a desired ticket value and/or an expiry time in seconds.
In any case, the response specifies the actual ticket value and expiry used.
<action>
<ticket>
<value>abcd12345</value>
<expiry>120</expiry>
</ticket>
</action>
30613 30614 30615 |
# File 'lib/ovirtsdk4/services.rb', line 30613 def ticket(opts = {}) internal_action(:ticket, :ticket, TICKET, opts) end |