Class: OvirtSDK4::VmBackupsService

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

Adds a new backup entity to a virtual machine.

For example, to start a new incremental backup of a virtual machine since checkpoint id previous-checkpoint-uuid, send a request like this:

POST /ovirt-engine/api/vms/123/backups

With a request body like this:

<backup>
  <from_checkpoint_id>previous-checkpoint-uuid</from_checkpoint_id>
  <disks>
      <disk id="disk-uuid" />
      ...
  </disks>
</backup>

The response body:

<backup id="backup-uuid">
    <from_checkpoint_id>previous-checkpoint-uuid</from_checkpoint_id>
    <to_checkpoint_id>new-checkpoint-uuid</to_checkpoint_id>
    <disks>
        <disk id="disk-uuid" />
        ...
        ...
    </disks>
    <status>initializing</status>
    <creation_date>
</backup>

To provide the ID of the created backup, send a request like this:

POST /ovirt-engine/api/vms/123/backups

With a request body like this:

<backup id="backup-uuid">
  <from_checkpoint_id>previous-checkpoint-uuid</from_checkpoint_id>
  <disks>
      <disk id="disk-uuid" />
      ...
  </disks>
</backup>

Parameters:

  • backup (Backup)

    The information about the virtual machine backup entity.

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

    Additional options.

Options Hash (opts):

  • :require_consistency (Boolean)

    Indicates if the backup will fail if VM failed to freeze or not.

    If requireConsistency=True VM backup will fail in case of a failure to freeze the VM.

    The REST API call should look like this:

    POST /ovirt-engine/api/vms/123/backups?require_consistency=true

    The default value of the requireConsistency flag is false.

  • :use_active (Boolean)

    Indicate whether to use the active volume for performing the backup.

    If useActive=False a snapshot will be created for the backup operation.

    The REST API call should look like this:

    POST /ovirt-engine/api/vms/123/backups?use_active=false

    The default value of the useActive flag is false.

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



32261
32262
32263
# File 'lib/ovirtsdk4/services.rb', line 32261

def add(backup, opts = {})
  internal_add(backup, Backup, ADD, opts)
end

#backup_service(id) ⇒ VmBackupService

Returns a reference to the service that manages a specific VM backup.

Parameters:

  • id (String)

    The identifier of the backup.

Returns:



32304
32305
32306
# File 'lib/ovirtsdk4/services.rb', line 32304

def backup_service(id)
  VmBackupService.new(self, id)
end

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

The list of virtual machine backups.

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 virtual machine backups to return. If not specified, all the virtual machine backups are returned.

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



32293
32294
32295
# File 'lib/ovirtsdk4/services.rb', line 32293

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.



32315
32316
32317
32318
32319
32320
32321
32322
32323
32324
# File 'lib/ovirtsdk4/services.rb', line 32315

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