Class: OvirtSDK4::TemplateService

Inherits:
Service
  • Object
show all
Defined in:
lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb

Instance Method Summary collapse

Methods inherited from Service

#inspect, #to_s

Instance Method Details

#cdroms_serviceTemplateCdromsService

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

Returns:



26046
26047
26048
# File 'lib/ovirtsdk4/services.rb', line 26046

def cdroms_service
  @cdroms_service ||= TemplateCdromsService.new(self, 'cdroms')
end

#disk_attachments_serviceTemplateDiskAttachmentsService

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

Returns:



26056
26057
26058
# File 'lib/ovirtsdk4/services.rb', line 26056

def disk_attachments_service
  @disk_attachments_service ||= TemplateDiskAttachmentsService.new(self, 'diskattachments')
end

#export(opts = {}) ⇒ Object

Exports a template to the data center export domain.

For example, send the following request:

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

With a request body like this:

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

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :exclusive (Boolean)

    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.

  • :storage_domain (StorageDomain)

    Specifies the destination export storage domain.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.



25839
25840
25841
# File 'lib/ovirtsdk4/services.rb', line 25839

def export(opts = {})
  internal_action(:export, nil, EXPORT, opts)
end

#export_to_export_domain(opts = {}) ⇒ Object

Exports a template to an export domain.

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :exclusive (Boolean)

    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.

  • :storage_domain (StorageDomain)

    Specifies the destination export storage domain.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.



25933
25934
25935
# File 'lib/ovirtsdk4/services.rb', line 25933

def export_to_export_domain(opts = {})
  internal_action(:export, nil, EXPORT_TO_EXPORT_DOMAIN, opts)
end

#export_to_path_on_host(opts = {}) ⇒ Object

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

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :directory (String)

    An absolute path of a directory on the host to generate the OVA file in.

  • :exclusive (Boolean)

    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.

  • :filename (String)

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

  • :host (Host)

    The host to generate the OVA file on.

  • :storage_domain (StorageDomain)

    Specifies the destination export storage domain.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.



25977
25978
25979
# File 'lib/ovirtsdk4/services.rb', line 25977

def export_to_path_on_host(opts = {})
  internal_action(:export, nil, EXPORT_TO_PATH_ON_HOST, opts)
end

#get(opts = {}) ⇒ Template

Returns the information about this template or template version.

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :filter (Boolean)

    Indicates if the results should be filtered according to the permissions of the user.

  • :follow (String)

    Indicates which inner links should be followed. The objects referenced by these links will be fetched as part of the current request. See here for details.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:



25871
25872
25873
# File 'lib/ovirtsdk4/services.rb', line 25871

def get(opts = {})
  internal_get(GET, opts)
end

#graphics_consoles_serviceTemplateGraphicsConsolesService

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

Returns:



26065
26066
26067
# File 'lib/ovirtsdk4/services.rb', line 26065

def graphics_consoles_service
  @graphics_consoles_service ||= TemplateGraphicsConsolesService.new(self, 'graphicsconsoles')
end

#nics_serviceTemplateNicsService

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

Returns:



26074
26075
26076
# File 'lib/ovirtsdk4/services.rb', line 26074

def nics_service
  @nics_service ||= TemplateNicsService.new(self, 'nics')
end

#permissions_serviceAssignedPermissionsService

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

Returns:



26083
26084
26085
# File 'lib/ovirtsdk4/services.rb', line 26083

def permissions_service
  @permissions_service ||= AssignedPermissionsService.new(self, 'permissions')
end

#remove(opts = {}) ⇒ Object

Removes a virtual machine template.

DELETE /ovirt-engine/api/templates/123

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the removal should be performed asynchronously.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.



25901
25902
25903
# File 'lib/ovirtsdk4/services.rb', line 25901

def remove(opts = {})
  internal_remove(REMOVE, opts)
end

#service(path) ⇒ Service

Locates the service corresponding to the given path.

Parameters:

  • path (String)

    The path of the service.

Returns:

  • (Service)

    A reference to the service.

Raises:



26112
26113
26114
26115
26116
26117
26118
26119
26120
26121
26122
26123
26124
26125
26126
26127
26128
26129
26130
26131
26132
26133
26134
26135
26136
26137
26138
26139
26140
26141
26142
26143
26144
26145
26146
26147
26148
26149
26150
26151
26152
26153
26154
26155
26156
26157
26158
26159
# File 'lib/ovirtsdk4/services.rb', line 26112

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 == '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_serviceAssignedTagsService

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

Returns:



26092
26093
26094
# File 'lib/ovirtsdk4/services.rb', line 26092

def tags_service
  @tags_service ||= AssignedTagsService.new(self, 'tags')
end

#update(template, opts = {}) ⇒ Template

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:

PUT /ovirt-engine/api/templates/123

With the following request body:

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

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

Parameters:

  • template (Template)

    The template to update.

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the update should be performed asynchronously.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:



26037
26038
26039
# File 'lib/ovirtsdk4/services.rb', line 26037

def update(template, opts = {})
  internal_update(template, Template, UPDATE, opts)
end

#watchdogs_serviceTemplateWatchdogsService

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

Returns:



26101
26102
26103
# File 'lib/ovirtsdk4/services.rb', line 26101

def watchdogs_service
  @watchdogs_service ||= TemplateWatchdogsService.new(self, 'watchdogs')
end