Dimension Data Cloud Backup Driver Documentation

Dimension Data are a global IT Services company and form part of the NTT Group. Dimension Data provide IT-as-a-Service to customers around the globe on their cloud platform (Compute as a Service). The CaaS service is available either on one of the public cloud instances or as a private instance on premises.

../../_images/dimensiondata.png

Backup-as-a-Service includes Cloud Backup, Cloud Backup has its own non-standard API , libcloud provides a Python wrapper on top of this API with common methods with other IaaS solutions and Public cloud providers. Therefore, you can use use the Dimension Data libcloud driver to communicate with both the public and private clouds.

Instantiating a driver

When you instantiate a driver you need to pass the following arguments to the driver constructor:

  • user_id - Your Dimension Data Cloud username
  • key - Your Dimension Data Cloud password
  • region - The region key, one of the possible region keys

Possible regions:

  • dd-na : Dimension Data North America (USA)
  • dd-eu : Dimension Data Europe
  • dd-af : Dimension Data Africa
  • dd-au : Dimension Data Australia
  • dd-latam : Dimension Data Latin America
  • dd-ap : Dimension Data Asia Pacific
  • dd-canada : Dimension Data Canada region

The base libcloud API allows you to:

  • enable backups, add backup clients and configure backup clients

Non-standard functionality and extension methods

The Dimension Data driver exposes some libcloud non-standard functionalities through extension methods and arguments.

These functionalities include:

  • set retention periods
  • configure secondary copes

For information on how to use these functionalities please see the method docstrings below. You can also use an interactive shell for exploration as shown in the examples.

API Docs

class libcloud.backup.drivers.dimensiondata.DimensionDataBackupDriver(key, secret=None, secure=True, host=None, port=None, api_version=None, region='dd-na', **kwargs)[source]

DimensionData backup driver.

cancel_target_job(job, ex_client=None, ex_target=None)[source]

Cancel a backup job on a target

Parameters:
  • job (Instance of BackupTargetJob or None) – Backup target job to cancel. If it is None ex_client and ex_target must be set
  • ex_client (Instance of DimensionDataBackupClient or str) – Client of the job to cancel. Not necessary if job is specified. DimensionData only has 1 job per client
  • ex_target (Instance of BackupTarget or str) – Target to cancel a job from. Not necessary if job is specified.
Return type:

bool

connectionCls

alias of libcloud.common.dimensiondata.DimensionDataConnection

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

Creates a new backup target

Parameters:
  • name (str) – Name of the target (not used)
  • address (str) – The ID of the node in Dimension Data Cloud
  • type (BackupTargetType) – Backup target type, only Virtual supported
  • extra (dict) – (optional) Extra attributes (driver specific).
Return type:

Instance of BackupTarget

create_target_from_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_from_node(node, type='Virtual', extra=None)[source]

Creates a new backup target from an existing 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)

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 or str) – Backup target to delete
Return type:bool
ex_add_client_to_target(target, client_type, storage_policy, schedule_policy, trigger, email)[source]

Add a client to a target

Parameters:
  • target (Instance of BackupTarget or str) – Backup target with the backup data
  • client (Instance of DimensionDataBackupClientType or str) – Client to add to the target
  • storage_policy (Instance of DimensionDataBackupStoragePolicy or str) – The storage policy for the client
  • schedule_policy (Instance of DimensionDataBackupSchedulePolicy or str) – The schedule policy for the client
  • trigger (str) – The notify trigger for the client
  • email (str) – The notify email for the client
Return type:

bool

ex_get_backup_details_for_target(target)[source]

Returns a backup details object for a target

Parameters:target (BackupTarget or str) – The backup target to get details for
Return type:DimensionDataBackupDetails
ex_get_target_by_id(id)[source]

Get a target by server id

Parameters:id (str) – The id of the target you want to get
Return type:BackupTarget
ex_list_available_client_types(target)[source]

Returns a list of available backup client types

Parameters:target (BackupTarget or str) – The backup target to list available types for
Return type:list of DimensionDataBackupClientType
ex_list_available_schedule_policies(target)[source]

Returns a list of available backup schedule policies

Parameters:target (BackupTarget or str) – The backup target to list available policies for
Return type:list of DimensionDataBackupSchedulePolicy
ex_list_available_storage_policies(target)[source]

Returns a list of available backup storage policies

Parameters:target (BackupTarget or str) – The backup target to list available policies for
Return type:list of DimensionDataBackupStoragePolicy
ex_remove_client_from_target(target, backup_client)[source]

Removes a client from a backup target

Parameters:
  • target (BackupTarget or str) – The backup target to remove the client from
  • backup_client (DimensionDataBackupClient or str) – The backup client to remove
Return type:

bool

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
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(target, 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(target, 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=None, address=None, extra=None)[source]

Update the properties of a backup target, only changing the serviceplan is supported.

Parameters:
  • target (Instance of BackupTarget or str) – 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