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>

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.

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



31734
31735
31736
# File 'lib/ovirtsdk4/services.rb', line 31734

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:



31777
31778
31779
# File 'lib/ovirtsdk4/services.rb', line 31777

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:



31766
31767
31768
# File 'lib/ovirtsdk4/services.rb', line 31766

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.



31788
31789
31790
31791
31792
31793
31794
31795
31796
31797
# File 'lib/ovirtsdk4/services.rb', line 31788

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