libcloud.backup package

Subpackages

Submodules

libcloud.backup.base module

class libcloud.backup.base.BackupDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]

Bases: libcloud.common.base.BaseDriver

A base BackupDriver class to derive from

This class is always subclassed by a specific driver.

Parameters
  • key (str) – API key or username to used (required)

  • secret (str) – Secret password to be used (required)

  • secure (bool) – Whether to use HTTPS or HTTP. Note: Some providers only support HTTPS, and it is on by default.

  • host (str) – Override hostname used for connections.

  • port (int) – Override port used for connections.

Returns

None

cancel_target_job(job)[source]

Cancel a backup job on a target

Parameters
  • target (Instance of BackupTarget) – Backup target with the backup data

  • job (Instance of BackupTargetJob) – Backup target job to cancel

Return type

bool

connectionCls

alias of libcloud.common.base.ConnectionUserAndKey

create_target(name, address, type='Virtual', extra=None)[source]

Creates a new backup target

Parameters
  • name (str) – Name of the target

  • address (str) – Hostname, FQDN, IP, file path etc.

  • type (BackupTargetType) – Backup target type (Physical, Virtual, …).

  • extra (dict) – (optional) Extra attributes (driver specific).

Return type

Instance of BackupTarget

create_target_from_node(node, type='Virtual', extra=None)[source]

Creates a new backup target from an existing node. By default, this will use the first public IP of the node

Parameters
  • node (Node) – The Node to backup

  • type (BackupTargetType) – Backup target type (Physical, Virtual, …).

  • extra (dict) – (optional) Extra attributes (driver specific).

Return type

Instance of BackupTarget

create_target_from_storage_container(container, type='Object', extra=None)[source]

Creates a new backup target from an existing storage container

Parameters
  • node (Container) – The Container to backup

  • type (BackupTargetType) – Backup target type (Physical, Virtual, …).

  • extra (dict) – (optional) Extra attributes (driver specific).

Return type

Instance of BackupTarget

create_target_job(target, extra=None)[source]

Create a new backup job on a target

Parameters
  • target (Instance of BackupTarget) – Backup target with the backup data

  • extra (dict) – (optional) Extra attributes (driver specific).

Return type

Instance of BackupTargetJob

delete_target(target)[source]

Delete a backup target

Parameters

target (Instance of BackupTarget) – Backup target to delete

get_supported_target_types()[source]

Get a list of backup target types this driver supports

Returns

list of :class:BackupTargetType

get_target_job(target, id)[source]

Get a specific backup job by ID

Parameters
  • target (Instance of BackupTarget) – Backup target with the backup data

  • id (Instance of BackupTarget) – Backup target with the backup data

Return type

BackupTargetJob

list_recovery_points(target, start_date=None, end_date=None)[source]

List the recovery points available for a target

Parameters
  • target (Instance of BackupTarget) – Backup target to delete

  • start_date (datetime.datetime) – The start date to show jobs between (optional)

  • end_date (datetime.datetime`) – The end date to show jobs between (optional)

Return type

list of BackupTargetRecoveryPoint

list_target_jobs(target)[source]

List the backup jobs on a target

Parameters

target (Instance of BackupTarget) – Backup target with the backup data

Return type

list of BackupTargetJob

list_targets()[source]

List all backuptargets

Return type

list of BackupTarget

name = None
recover_target(target, recovery_point, path=None)[source]

Recover a backup target to a recovery point

Parameters
  • target (Instance of BackupTarget) – Backup target to delete

  • recovery_point (Instance of BackupTarget) – Backup target with the backup data

  • path (str) – The part of the recovery point to recover (optional)

Return type

Instance of BackupTargetJob

recover_target_out_of_place(target, recovery_point, recovery_target, path=None)[source]

Recover a backup target to a recovery point out-of-place

Parameters
  • target (Instance of BackupTarget) – Backup target with the backup data

  • recovery_point (Instance of BackupTarget) – Backup target with the backup data

  • recovery_target (Instance of BackupTarget) – Backup target with to recover the data to

  • path (str) – The part of the recovery point to recover (optional)

Return type

Instance of BackupTargetJob

resume_target_job(job)[source]

Resume a suspended backup job on a target

Parameters
  • target (Instance of BackupTarget) – Backup target with the backup data

  • job (Instance of BackupTargetJob) – Backup target job to resume

Return type

bool

suspend_target_job(job)[source]

Suspend a running backup job on a target

Parameters
  • target (Instance of BackupTarget) – Backup target with the backup data

  • job (Instance of BackupTargetJob) – Backup target job to suspend

Return type

bool

update_target(target, name, address, extra)[source]

Update the properties of a backup target

Parameters
  • target (Instance of BackupTarget) – Backup target to update

  • name (str) – Name of the target

  • address (str) – Hostname, FQDN, IP, file path etc.

  • extra (dict) – (optional) Extra attributes (driver specific).

Return type

Instance of BackupTarget

website = None
class libcloud.backup.base.BackupTarget(id, name, address, type, driver, extra=None)[source]

Bases: object

A backup target

Parameters
  • id (str) – Target id

  • name (str) – Name of the target

  • address (str) – Hostname, FQDN, IP, file path etc.

  • type (BackupTargetType) – Backup target type (Physical, Virtual, …).

  • driver (BackupDriver) – BackupDriver instance.

  • extra (dict) – (optional) Extra attributes (driver specific).

delete()[source]
update(name=None, address=None, extra=None)[source]
class libcloud.backup.base.BackupTargetJob(id, status, progress, target, driver, extra=None)[source]

Bases: object

A backup target job

Parameters
  • id (str) – Job id

  • status (BackupTargetJobStatusType) – Status of the job

  • progress (int) – Progress of the job, as a percentage

  • target (BackupTarget) – BackupTarget instance.

  • driver (BackupDriver) – BackupDriver instance.

  • extra (dict) – (optional) Extra attributes (driver specific).

cancel()[source]
resume()[source]
suspend()[source]
class libcloud.backup.base.BackupTargetRecoveryPoint(id, date, target, driver, extra=None)[source]

Bases: object

A backup target recovery point

Parameters
  • id (str) – Job id

  • date (datetime.datetime) – The date taken

  • target (BackupTarget) – BackupTarget instance.

  • driver (BackupDriver) – BackupDriver instance.

  • extra (dict) – (optional) Extra attributes (driver specific).

recover(path=None)[source]

Recover this recovery point

Parameters

path (str) – The part of the recovery point to recover (optional)

Return type

Instance of BackupTargetJob

recover_to(recovery_target, path=None)[source]

Recover this recovery point out of place

Parameters
  • recovery_target (Instance of BackupTarget) – Backup target with to recover the data to

  • path (str) – The part of the recovery point to recover (optional)

Return type

Instance of BackupTargetJob

libcloud.backup.providers module

libcloud.backup.providers.get_driver(provider)[source]
libcloud.backup.providers.set_driver(provider, module, klass)[source]

libcloud.backup.types module

class libcloud.backup.types.BackupTargetJobStatusType[source]

Bases: object

The status of a backup target job

CANCELLED = 'Cancelled'
COMPLETED = 'Completed'
FAILED = 'Failed'
PENDING = 'Pending'
RUNNING = 'Running'
class libcloud.backup.types.BackupTargetType[source]

Bases: object

Backup Target type.

DATABASE = 'Database'

Denotes a database target

FILESYSTEM = 'Filesystem'

Denotes a file system (e.g. NAS)

OBJECT = 'Object'

Denotes an object based file system

PHYSICAL = 'Physical'

Denotes a physical host

VIRTUAL = 'Virtual'

Denotes a virtual host

VOLUME = 'Volume'

Denotes a block storage volume

class libcloud.backup.types.Provider[source]

Bases: object

Defines for each of the supported providers

Non-Dummy drivers are sorted in alphabetical order. Please preserve this ordering when adding new drivers.

DIMENSIONDATA = 'dimensiondata'
DUMMY = 'dummy'
EBS = 'ebs'
GCE = 'gce'

Module contents