class OvirtSDK4::VmGraphicsConsoleService

Constants

GET
PROXY_TICKET
REMOTE_VIEWER_CONNECTION_FILE
REMOVE
TICKET

Public Instance Methods

get(opts = {}) click to toggle source

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`.

@param opts [Hash] Additional options.

@option opts [Boolean] :current Specifies if the data returned should correspond to the next execution of

the virtual machine, or to the current execution.

IMPORTANT: The `address` and `port` attributes will not be populated unless the value is
`true`.

For example, to get data for the current execution of the virtual machine, including the
`address` and `port` attributes, send a request like this:

[source]
----
GET /ovit-engine/api/vms/123/graphicsconsoles/456?current=true
----

The default value is `false`.

@option opts [String] :follow Indicates which inner links should be followed. The objects referenced by these links will be fetched as part

of the current request. See <<documents/003_common_concepts/follow, here>> for details.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [GraphicsConsole]

# File lib/ovirtsdk4/services.rb, line 33270
def get(opts = {})
  internal_get(GET, opts)
end
proxy_ticket(opts = {}) click to toggle source

Executes the `proxy_ticket` method.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the generation of the ticket should be performed asynchronously.

@option opts [ProxyTicket] :proxy_ticket

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 33298
def proxy_ticket(opts = {})
  internal_action(:proxyticket, :proxy_ticket, PROXY_TICKET, opts)
end
remote_viewer_connection_file(opts = {}) click to toggle source

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.

source

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`:

source,xml

<action/>


The response contains the file, which can be used with `remote-viewer` client.

source,xml

<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:

source,python

# Find the virtual machine: vm = vms_service.list(search=‘name=myvm’)

# 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()

# 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:

source,bash

#!/bin/sh -ex

remote-viewer –ovirt-ca-file=/etc/pki/ovirt-engine/ca.pem /tmp/remote_viewer_connection_file.vv


@param opts [Hash] Additional options.

@option opts [String] :remote_viewer_connection_file Contains the file which is compatible with `remote-viewer` client.

User can use the content of this attribute to create a file, which can be passed to `remote-viewer` client to
connect to virtual machine graphic console.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 33405
def remote_viewer_connection_file(opts = {})
  internal_action(:remoteviewerconnectionfile, :remote_viewer_connection_file, REMOTE_VIEWER_CONNECTION_FILE, opts)
end
remove(opts = {}) click to toggle source

Remove the graphics console from the virtual machine.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the remove should be performed asynchronously. @option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 33430
def remove(opts = {})
  internal_remove(REMOVE, opts)
end
service(path) click to toggle source

Locates the service corresponding to the given path.

@param path [String] The path of the service.

@return [Service] A reference to the service.

# File lib/ovirtsdk4/services.rb, line 33486
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 = {}) click to toggle source

Generates a time-sensitive authentication token for accessing this virtual machine's console.

source

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.

source,xml

<action>

<ticket>
  <value>abcd12345</value>
  <expiry>120</expiry>
</ticket>

</action>


@param opts [Hash] Additional options.

@option opts [Ticket] :ticket The generated ticket that can be used to access this console.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

# File lib/ovirtsdk4/services.rb, line 33475
def ticket(opts = {})
  internal_action(:ticket, :ticket, TICKET, opts)
end