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_ticketmethod. -
#remote_viewer_connection_file(opts = {}) ⇒ Object
Generates the file which is compatible with
remote-viewerclient. -
#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.
|
32823 32824 32825 |
# File 'lib/ovirtsdk4/services.rb', line 32823 def get(opts = {}) internal_get(GET, opts) end |
#proxy_ticket(opts = {}) ⇒ Object
Executes the proxy_ticket method.
32851 32852 32853 |
# File 'lib/ovirtsdk4/services.rb', line 32851 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 HTTP/1.1
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
32953 32954 32955 |
# File 'lib/ovirtsdk4/services.rb', line 32953 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.
32978 32979 32980 |
# File 'lib/ovirtsdk4/services.rb', line 32978 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
33032 33033 33034 33035 33036 33037 |
# File 'lib/ovirtsdk4/services.rb', line 33032 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 HTTP/1.1
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>
33021 33022 33023 |
# File 'lib/ovirtsdk4/services.rb', line 33021 def ticket(opts = {}) internal_action(:ticket, :ticket, TICKET, opts) end |