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 CDROMs that are associated with the template.

Returns:



25638
25639
25640
# File 'lib/ovirtsdk4/services.rb', line 25638

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

#disk_attachments_serviceTemplateDiskAttachmentsService

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

Returns:



25648
25649
25650
# File 'lib/ovirtsdk4/services.rb', line 25648

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, the operation can be facilitated using 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.



25507
25508
25509
# File 'lib/ovirtsdk4/services.rb', line 25507

def export(opts = {})
  internal_action(:export, nil, EXPORT, 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:



25539
25540
25541
# File 'lib/ovirtsdk4/services.rb', line 25539

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:



25657
25658
25659
# File 'lib/ovirtsdk4/services.rb', line 25657

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:



25666
25667
25668
# File 'lib/ovirtsdk4/services.rb', line 25666

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:



25675
25676
25677
# File 'lib/ovirtsdk4/services.rb', line 25675

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



25569
25570
25571
# File 'lib/ovirtsdk4/services.rb', line 25569

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:



25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
25717
25718
25719
25720
25721
25722
25723
25724
25725
25726
25727
25728
25729
25730
25731
25732
25733
25734
25735
25736
25737
25738
25739
25740
25741
25742
25743
25744
25745
25746
25747
25748
25749
25750
25751
# File 'lib/ovirtsdk4/services.rb', line 25704

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:



25684
25685
25686
# File 'lib/ovirtsdk4/services.rb', line 25684

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



25629
25630
25631
# File 'lib/ovirtsdk4/services.rb', line 25629

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:



25693
25694
25695
# File 'lib/ovirtsdk4/services.rb', line 25693

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