Class: OvirtSDK4::StorageDomainTemplateService

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

#disks_serviceStorageDomainContentDisksService

Locates the disks service.

Returns:



22223
22224
22225
# File 'lib/ovirtsdk4/services.rb', line 22223

def disks_service
  @disks_service ||= StorageDomainContentDisksService.new(self, 'disks')
end

#get(opts = {}) ⇒ Template

Returns the representation of the object managed by this service.

Parameters:

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

    Additional options.

Options Hash (opts):

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



22064
22065
22066
# File 'lib/ovirtsdk4/services.rb', line 22064

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

#import(opts = {}) ⇒ Object

Action to import a template from an export storage domain.

For example, to import the template 456 from the storage domain 123 send the following request:

POST /ovirt-engine/api/storagedomains/123/templates/456/import

With the following request body:

<action>
  <storage_domain>
    <name>myexport</name>
  </storage_domain>
  <cluster>
    <name>mycluster</name>
  </cluster>
</action>

Parameters:

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

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the import should be performed asynchronously.

  • :clone (Boolean)

    Use the optional clone parameter to generate new UUIDs for the imported template and its entities.

    The user might want to import a template with the clone parameter set to false when importing a template from an export domain, with templates that was exported by a different product-name environment.

  • :cluster (Cluster)
  • :exclusive (Boolean)
  • :storage_domain (StorageDomain)
  • :template (Template)
  • :vm (Vm)
  • :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.



22132
22133
22134
# File 'lib/ovirtsdk4/services.rb', line 22132

def import(opts = {})
  internal_action(:import, nil, IMPORT, opts)
end

#register(opts = {}) ⇒ Object

Register the Template means importing the Template from the data domain, by inserting the configuration of the Template and disks into the DB without the copy process.

Parameters:

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

    Additional options.

Options Hash (opts):

  • :allow_partial_import (Boolean)

    Indicates whether a template is allowed to be registered with only some of its disks.

    If this flag is true, the engine will not fail in the validation process if an image is not found, but instead it will allow the template to be registered without the missing disks. This is mainly used during registration of a template when some of the storage domains are not available. The default value is false.

  • :async (Boolean)

    Indicates if the registration should be performed asynchronously.

  • :clone (Boolean)
  • :cluster (Cluster)
  • :exclusive (Boolean)
  • :registration_configuration (RegistrationConfiguration)

    This parameter describes how the template should be registered.

    This parameter is optional. If the parameter is not specified, the template will be registered with the same configuration that it had in the original environment where it was created.

  • :template (Template)
  • :vnic_profile_mappings (Array<VnicProfileMapping>)

    Mapping rules for virtual NIC profiles that will be applied during the import process.

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



22189
22190
22191
# File 'lib/ovirtsdk4/services.rb', line 22189

def register(opts = {})
  internal_action(:register, nil, REGISTER, opts)
end

#remove(opts = {}) ⇒ Object

Deletes the object managed by this service.

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.



22214
22215
22216
# File 'lib/ovirtsdk4/services.rb', line 22214

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:



22234
22235
22236
22237
22238
22239
22240
22241
22242
22243
22244
22245
# File 'lib/ovirtsdk4/services.rb', line 22234

def service(path)
  if path.nil? || path == ''
    return self
  end
  if path == 'disks'
    return disks_service
  end
  if path.start_with?('disks/')
    return disks_service.service(path[6..-1])
  end
  raise Error.new("The path \"#{path}\" doesn't correspond to any service")
end