Class: OvirtSDK4::StorageDomainDisksService

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

#add(disk, opts = {}) ⇒ Disk

Adds or registers a disk.

Important
Since version 4.2 of the engine-name this operation is deprecated, and preserved only for backwards compatibility. It will be removed in the future. To add a new disk use the add operation of the service that manages the disks of the system. To register an unregistered disk use the register operation of the service that manages that disk.

Parameters:

  • disk (Disk)

    The disk to add or register.

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

    Additional options.

Options Hash (opts):

  • :unregistered (Boolean)

    Indicates if a new disk should be added or if an existing unregistered disk should be registered. If the value is true then the identifier of the disk to register needs to be provided. For example, to register the disk with ID 456 send a request like this:

    POST /ovirt-engine/api/storagedomains/123/disks?unregistered=true

    With a request body like this:

    <disk id="456"/>

    If the value is false then a new disk will be created in the storage domain. In that case the provisioned_size, format, and name attributes are mandatory. For example, to create a new copy on write disk of 1 GiB, send a request like this:

    POST /ovirt-engine/api/storagedomains/123/disks

    With a request body like this:

    <disk>
      <name>mydisk</name>
      <format>cow</format>
      <provisioned_size>1073741824</provisioned_size>
    </disk>

    The default value is false.

    This parameter has been deprecated since version 4.2 of the engine-name.

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



21794
21795
21796
# File 'lib/ovirtsdk4/services.rb', line 21794

def add(disk, opts = {})
  internal_add(disk, Disk, ADD, opts)
end

#disk_service(id) ⇒ StorageDomainDiskService

A reference to the service that manages a specific disk.

Parameters:

  • id (String)

    The identifier of the disk.

Returns:



21851
21852
21853
# File 'lib/ovirtsdk4/services.rb', line 21851

def disk_service(id)
  StorageDomainDiskService.new(self, id)
end

#list(opts = {}) ⇒ Array<Disk>

Retrieves the list of disks that are available in the storage domain.

The order of the returned list of disks is not guaranteed.

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.

  • :max (Integer)

    Sets the maximum number of disks to return. If not specified, all the disks are returned.

  • :unregistered (Boolean)

    Indicates whether to retrieve a list of registered or unregistered disks in the storage domain. To get a list of unregistered disks in the storage domain the call should indicate the unregistered flag. For example, to get a list of unregistered disks the REST API call should look like this:

    GET /ovirt-engine/api/storagedomains/123/disks?unregistered=true

    The default value of the unregistered flag is false. The request only applies to storage domains that are attached.

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



21840
21841
21842
# File 'lib/ovirtsdk4/services.rb', line 21840

def list(opts = {})
  internal_get(LIST, 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.



21862
21863
21864
21865
21866
21867
21868
21869
21870
21871
# File 'lib/ovirtsdk4/services.rb', line 21862

def service(path)
  if path.nil? || path == ''
    return self
  end
  index = path.index('/')
  if index.nil?
    return disk_service(path)
  end
  return disk_service(path[0..(index - 1)]).service(path[(index +1)..-1])
end