Class: OvirtSDK4::DiskAttachmentsService

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(attachment, opts = {}) ⇒ DiskAttachment

Adds a new disk attachment to the virtual machine. The attachment parameter can contain just a reference, if the disk already exists:

<disk_attachment>
  <bootable>true</bootable>
  <pass_discard>true</pass_discard>
  <interface>ide</interface>
  <active>true</active>
  <disk id="123"/>
</disk_attachment>

Or it can contain the complete representation of the disk, if the disk doesn’t exist yet:

<disk_attachment>
  <bootable>true</bootable>
  <pass_discard>true</pass_discard>
  <interface>ide</interface>
  <active>true</active>
  <disk>
    <name>mydisk</name>
    <provisioned_size>1024</provisioned_size>
    ...
  </disk>
</disk_attachment>

In this case the disk will be created and then attached to the virtual machine.

In both cases, use the following URL for a virtual machine with an id 345:

POST /ovirt-engine/api/vms/345/diskattachments
Important
The server accepts requests that don’t contain the active attribute, but the effect is undefined. In some cases the disk will be automatically activated and in other cases it won’t. To avoid issues it is strongly recommended to always include the active attribute with the desired value.

Parameters:

  • attachment (DiskAttachment)

    The disk attachment to add to the virtual machine.

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

    Additional options.

Options Hash (opts):

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



6534
6535
6536
# File 'lib/ovirtsdk4/services.rb', line 6534

def add(attachment, opts = {})
  internal_add(attachment, DiskAttachment, ADD, opts)
end

#add_providing_disk_id(attachment, opts = {}) ⇒ DiskAttachment

Adds a new attachment.

Parameters:

  • attachment (DiskAttachment)

    The disk attachment to add to the virtual machine.

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

    Additional options.

Options Hash (opts):

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



6592
6593
6594
# File 'lib/ovirtsdk4/services.rb', line 6592

def add_providing_disk_id(attachment, opts = {})
  internal_add(attachment, DiskAttachment, ADD_PROVIDING_DISK_ID, opts)
end

#add_signature1(attachment, opts = {}) ⇒ DiskAttachment

Adds a new attachment.

Parameters:

  • attachment (DiskAttachment)

    The disk attachment to add to the virtual machine.

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

    Additional options.

Options Hash (opts):

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



6619
6620
6621
# File 'lib/ovirtsdk4/services.rb', line 6619

def add_signature1(attachment, opts = {})
  internal_add(attachment, DiskAttachment, ADD_SIGNATURE1, opts)
end

#attachment_service(id) ⇒ DiskAttachmentService

Reference to the service that manages a specific attachment.

Parameters:

  • id (String)

    The identifier of the attachment.

Returns:



6630
6631
6632
# File 'lib/ovirtsdk4/services.rb', line 6630

def attachment_service(id)
  DiskAttachmentService.new(self, id)
end

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

List the disk that are attached to the virtual machine.

The order of the returned list of disks attachments isn’t 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.

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



6565
6566
6567
# File 'lib/ovirtsdk4/services.rb', line 6565

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.



6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
# File 'lib/ovirtsdk4/services.rb', line 6641

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