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 .
|
32737 32738 32739 |
# File 'lib/ovirtsdk4/services.rb', line 32737 def get(opts = {}) internal_get(GET, opts) end |
#proxy_ticket(opts = {}) ⇒ Object
Executes the proxy_ticket
method.
32765 32766 32767 |
# File 'lib/ovirtsdk4/services.rb', line 32765 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
32872 32873 32874 |
# File 'lib/ovirtsdk4/services.rb', line 32872 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.
32897 32898 32899 |
# File 'lib/ovirtsdk4/services.rb', line 32897 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
32953 32954 32955 32956 32957 32958 |
# File 'lib/ovirtsdk4/services.rb', line 32953 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>
32942 32943 32944 |
# File 'lib/ovirtsdk4/services.rb', line 32942 def ticket(opts = {}) internal_action(:ticket, :ticket, TICKET, opts) end |