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 .
|
29791 29792 29793 |
# File 'lib/ovirtsdk4/services.rb', line 29791 def get(opts = {}) internal_get(GET, opts) end |
#proxy_ticket(opts = {}) ⇒ Object
Executes the proxy_ticket
method.
29819 29820 29821 |
# File 'lib/ovirtsdk4/services.rb', line 29819 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
29926 29927 29928 |
# File 'lib/ovirtsdk4/services.rb', line 29926 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.
29951 29952 29953 |
# File 'lib/ovirtsdk4/services.rb', line 29951 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
30007 30008 30009 30010 30011 30012 |
# File 'lib/ovirtsdk4/services.rb', line 30007 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>
29996 29997 29998 |
# File 'lib/ovirtsdk4/services.rb', line 29996 def ticket(opts = {}) internal_action(:ticket, :ticket, TICKET, opts) end |