Class: OvirtSDK4::TemplateService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary collapse
-
#cdroms_service ⇒ TemplateCdromsService
Returns a reference to the service that manages the CD-ROMs that are associated with the template.
-
#disk_attachments_service ⇒ TemplateDiskAttachmentsService
Returns a reference to the service that manages a specific disk attachment of the template.
-
#export(opts = {}) ⇒ Object
Exports a template to the data center export domain.
-
#export_to_export_domain(opts = {}) ⇒ Object
Exports a template to an export domain.
-
#export_to_path_on_host(opts = {}) ⇒ Object
Exports a template as an OVA file to a given path on a specified host.
-
#get(opts = {}) ⇒ Template
Returns the information about this template or template version.
-
#graphics_consoles_service ⇒ TemplateGraphicsConsolesService
Returns a reference to the service that manages the graphical consoles that are associated with the template.
-
#mediated_devices_service ⇒ TemplateMediatedDevicesService
Reference to the service that manages mediated devices associated with the template.
-
#nics_service ⇒ TemplateNicsService
Returns a reference to the service that manages the NICs that are associated with the template.
-
#permissions_service ⇒ AssignedPermissionsService
Returns a reference to the service that manages the permissions that are associated with the template.
-
#remove(opts = {}) ⇒ Object
Removes a virtual machine template.
-
#service(path) ⇒ Service
Locates the service corresponding to the given path.
-
#tags_service ⇒ AssignedTagsService
Returns a reference to the service that manages the tags that are associated with the template.
-
#update(template, opts = {}) ⇒ Template
Updates the template.
-
#watchdogs_service ⇒ TemplateWatchdogsService
Returns a reference to the service that manages the watchdogs that are associated with the template.
Methods inherited from Service
Instance Method Details
#cdroms_service ⇒ TemplateCdromsService
Returns a reference to the service that manages the CD-ROMs that are associated with the template.
26986 26987 26988 |
# File 'lib/ovirtsdk4/services.rb', line 26986 def cdroms_service @cdroms_service ||= TemplateCdromsService.new(self, 'cdroms') end |
#disk_attachments_service ⇒ TemplateDiskAttachmentsService
Returns a reference to the service that manages a specific disk attachment of the template.
26996 26997 26998 |
# File 'lib/ovirtsdk4/services.rb', line 26996 def ||= 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 HTTP/1.1
With a request body like this:
<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:
POST /ovirt-engine/api/templates/123/export HTTP/1.1
With a request body like this:
<action>
<host>
<name>myhost</name>
</host>
<directory>/home/ovirt</directory>
<filename>myvm.ova</filename>
</action>
26783 26784 26785 |
# File 'lib/ovirtsdk4/services.rb', line 26783 def export(opts = {}) internal_action(:export, nil, EXPORT, opts) end |
#export_to_export_domain(opts = {}) ⇒ Object
Exports a template to an export domain.
26876 26877 26878 |
# File 'lib/ovirtsdk4/services.rb', line 26876 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.
26920 26921 26922 |
# File 'lib/ovirtsdk4/services.rb', line 26920 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.
26815 26816 26817 |
# File 'lib/ovirtsdk4/services.rb', line 26815 def get(opts = {}) internal_get(GET, opts) end |
#graphics_consoles_service ⇒ TemplateGraphicsConsolesService
Returns a reference to the service that manages the graphical consoles that are associated with the template.
27005 27006 27007 |
# File 'lib/ovirtsdk4/services.rb', line 27005 def graphics_consoles_service @graphics_consoles_service ||= TemplateGraphicsConsolesService.new(self, 'graphicsconsoles') end |
#mediated_devices_service ⇒ TemplateMediatedDevicesService
Reference to the service that manages mediated devices associated with the template.
27014 27015 27016 |
# File 'lib/ovirtsdk4/services.rb', line 27014 def mediated_devices_service @mediated_devices_service ||= TemplateMediatedDevicesService.new(self, 'mediateddevices') end |
#nics_service ⇒ TemplateNicsService
Returns a reference to the service that manages the NICs that are associated with the template.
27023 27024 27025 |
# File 'lib/ovirtsdk4/services.rb', line 27023 def nics_service @nics_service ||= TemplateNicsService.new(self, 'nics') end |
#permissions_service ⇒ AssignedPermissionsService
Returns a reference to the service that manages the permissions that are associated with the template.
27032 27033 27034 |
# File 'lib/ovirtsdk4/services.rb', line 27032 def ||= AssignedPermissionsService.new(self, 'permissions') end |
#remove(opts = {}) ⇒ Object
Removes a virtual machine template.
DELETE /ovirt-engine/api/templates/123 HTTP/1.1
26844 26845 26846 |
# File 'lib/ovirtsdk4/services.rb', line 26844 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
27061 27062 27063 27064 27065 27066 27067 27068 27069 27070 27071 27072 27073 27074 27075 27076 27077 27078 27079 27080 27081 27082 27083 27084 27085 27086 27087 27088 27089 27090 27091 27092 27093 27094 27095 27096 27097 27098 27099 27100 27101 27102 27103 27104 27105 27106 27107 27108 27109 27110 27111 27112 27113 27114 |
# File 'lib/ovirtsdk4/services.rb', line 27061 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 end if path.start_with?('diskattachments/') return .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 end if path.start_with?('permissions/') return .service(path[12..-1]) end if path == 'tags' return end if path.start_with?('tags/') return .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 ⇒ AssignedTagsService
Returns a reference to the service that manages the tags that are associated with the template.
27041 27042 27043 |
# File 'lib/ovirtsdk4/services.rb', line 27041 def ||= 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 HTTP/1.1
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>
26977 26978 26979 |
# File 'lib/ovirtsdk4/services.rb', line 26977 def update(template, opts = {}) internal_update(template, Template, UPDATE, opts) end |
#watchdogs_service ⇒ TemplateWatchdogsService
Returns a reference to the service that manages the watchdogs that are associated with the template.
27050 27051 27052 |
# File 'lib/ovirtsdk4/services.rb', line 27050 def watchdogs_service @watchdogs_service ||= TemplateWatchdogsService.new(self, 'watchdogs') end |