class OvirtSDK4::TemplateService

Constants

EXPORT
EXPORT_TO_EXPORT_DOMAIN
EXPORT_TO_PATH_ON_HOST
GET
REMOVE
UPDATE

Public Instance Methods

cdroms_service() click to toggle source

Returns a reference to the service that manages the CD-ROMs that are associated with the template.

@return [TemplateCdromsService] A reference to `cdroms` service.

# File lib/ovirtsdk4/services.rb, line 27344
def cdroms_service
  @cdroms_service ||= TemplateCdromsService.new(self, 'cdroms')
end
disk_attachments_service() click to toggle source

Returns a reference to the service that manages a specific disk attachment of the template.

@return [TemplateDiskAttachmentsService] A reference to `disk_attachments` service.

# File lib/ovirtsdk4/services.rb, line 27354
def disk_attachments_service
  @disk_attachments_service ||= TemplateDiskAttachmentsService.new(self, 'diskattachments')
end
export(opts = {}) click to toggle source

Exports a template to the data center export domain.

For example, send the following request:

source

POST /ovirt-engine/api/templates/123/export


With a request body like this:

source,xml

<action>

<storage_domain id="456"/>
<exclusive>true<exclusive/>

</action>


Since version 4.2 of the engine it is also possible to export a template as a virtual appliance (OVA). For example, to export template `123` as an OVA file named `myvm.ova` that is placed in the directory `/home/ovirt/` on host `myhost`:

source

POST /ovirt-engine/api/templates/123/export


With a request body like this:

source,xml

<action>

<host>
  <name>myhost</name>
</host>
<directory>/home/ovirt</directory>
<filename>myvm.ova</filename>

</action>


@param opts [Hash] Additional options.

@option opts [Boolean] :exclusive Indicates if the existing templates with the same name should be overwritten.

The export action reports a failed action if a template of the same name exists in the destination domain.
Set this parameter to `true` to change this behavior and overwrite any existing template.

@option opts [StorageDomain] :storage_domain Specifies the destination export storage domain.

@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 27137
def export(opts = {})
  internal_action(:export, nil, EXPORT, opts)
end
export_to_export_domain(opts = {}) click to toggle source

Exports a template to an export domain.

@param opts [Hash] Additional options.

@option opts [Boolean] :exclusive Indicates if the existing templates with the same name should be overwritten.

The export action reports a failed action if a template of the same name exists in the destination domain.
Set this parameter to `true` to change this behavior and overwrite any existing template.

@option opts [StorageDomain] :storage_domain Specifies the destination export storage domain.

@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 27231
def export_to_export_domain(opts = {})
  internal_action(:export, nil, EXPORT_TO_EXPORT_DOMAIN, opts)
end
export_to_path_on_host(opts = {}) click to toggle source

Exports a template as an OVA file to a given path on a specified host.

@param opts [Hash] Additional options.

@option opts [String] :directory An absolute path of a directory on the host to generate the OVA file in.

@option opts [Boolean] :exclusive Indicates if the existing templates with the same name should be overwritten.

The export action reports a failed action if a template of the same name exists in the destination domain.
Set this parameter to `true` to change this behavior and overwrite any existing template.

@option opts [String] :filename The name of the OVA file.

This is an optional parameter. If it is not specified, the name of the OVA file is determined according
to the name of the template. It will conform to the following pattern: "<template name>.ova".

@option opts [Host] :host The host to generate the OVA file on.

@option opts [StorageDomain] :storage_domain Specifies the destination export storage domain.

@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 27275
def export_to_path_on_host(opts = {})
  internal_action(:export, nil, EXPORT_TO_PATH_ON_HOST, opts)
end
get(opts = {}) click to toggle source

Returns the information about this template or template version.

@param opts [Hash] Additional options.

@option opts [Boolean] :filter Indicates if the results should be filtered according to the permissions of the user.

@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 [Template]

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

Returns a reference to the service that manages the graphical consoles that are associated with the template.

@return [TemplateGraphicsConsolesService] A reference to `graphics_consoles` service.

# File lib/ovirtsdk4/services.rb, line 27363
def graphics_consoles_service
  @graphics_consoles_service ||= TemplateGraphicsConsolesService.new(self, 'graphicsconsoles')
end
mediated_devices_service() click to toggle source

Reference to the service that manages mediated devices associated with the template.

@return [TemplateMediatedDevicesService] A reference to `mediated_devices` service.

# File lib/ovirtsdk4/services.rb, line 27372
def mediated_devices_service
  @mediated_devices_service ||= TemplateMediatedDevicesService.new(self, 'mediateddevices')
end
nics_service() click to toggle source

Returns a reference to the service that manages the NICs that are associated with the template.

@return [TemplateNicsService] A reference to `nics` service.

# File lib/ovirtsdk4/services.rb, line 27381
def nics_service
  @nics_service ||= TemplateNicsService.new(self, 'nics')
end
permissions_service() click to toggle source

Returns a reference to the service that manages the permissions that are associated with the template.

@return [AssignedPermissionsService] A reference to `permissions` service.

# File lib/ovirtsdk4/services.rb, line 27390
def permissions_service
  @permissions_service ||= AssignedPermissionsService.new(self, 'permissions')
end
remove(opts = {}) click to toggle source

Removes a virtual machine template.

source

DELETE /ovirt-engine/api/templates/123


@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the removal 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 27199
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 27419
def service(path)
  if path.nil? || path == ''
    return self
  end
  if path == 'cdroms'
    return cdroms_service
  end
  if path.start_with?('cdroms/')
    return cdroms_service.service(path[7..-1])
  end
  if path == 'diskattachments'
    return disk_attachments_service
  end
  if path.start_with?('diskattachments/')
    return disk_attachments_service.service(path[16..-1])
  end
  if path == 'graphicsconsoles'
    return graphics_consoles_service
  end
  if path.start_with?('graphicsconsoles/')
    return graphics_consoles_service.service(path[17..-1])
  end
  if path == 'mediateddevices'
    return mediated_devices_service
  end
  if path.start_with?('mediateddevices/')
    return mediated_devices_service.service(path[16..-1])
  end
  if path == 'nics'
    return nics_service
  end
  if path.start_with?('nics/')
    return nics_service.service(path[5..-1])
  end
  if path == 'permissions'
    return permissions_service
  end
  if path.start_with?('permissions/')
    return permissions_service.service(path[12..-1])
  end
  if path == 'tags'
    return tags_service
  end
  if path.start_with?('tags/')
    return tags_service.service(path[5..-1])
  end
  if path == 'watchdogs'
    return watchdogs_service
  end
  if path.start_with?('watchdogs/')
    return watchdogs_service.service(path[10..-1])
  end
  raise Error.new("The path \"#{path}\" doesn't correspond to any service")
end
tags_service() click to toggle source

Returns a reference to the service that manages the tags that are associated with the template.

@return [AssignedTagsService] A reference to `tags` service.

# File lib/ovirtsdk4/services.rb, line 27399
def tags_service
  @tags_service ||= AssignedTagsService.new(self, 'tags')
end
update(template, opts = {}) click to toggle source

Updates the template.

The `name`, `description`, `type`, `memory`, `cpu`, `topology`, `os`, `high_availability`, `display`, `stateless`, `usb`, and `timezone` elements can be updated after a template has been created.

For example, to update a template so that it has 1 GiB of memory send a request like this:

source

PUT /ovirt-engine/api/templates/123


With the following request body:

source,xml

<template>

<memory>1073741824</memory>

</template>


The `version_name` name attribute is the only one that can be updated within the `version` attribute used for template versions:

source,xml

<template>

<version>
  <version_name>mytemplate_2</version_name>
</version>

</template>


@param template [Template] The `template` to update. @param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the update 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.

@return [Template]

# File lib/ovirtsdk4/services.rb, line 27335
def update(template, opts = {})
  internal_update(template, Template, UPDATE, opts)
end
watchdogs_service() click to toggle source

Returns a reference to the service that manages the watchdogs that are associated with the template.

@return [TemplateWatchdogsService] A reference to `watchdogs` service.

# File lib/ovirtsdk4/services.rb, line 27408
def watchdogs_service
  @watchdogs_service ||= TemplateWatchdogsService.new(self, 'watchdogs')
end