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.

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 usernamekey
- Your Dimension Data Cloud passwordregion
- The region key, one of the possible region keys
Possible regions:
dd-na
: Dimension Data North America (USA)dd-eu
: Dimension Data Europedd-af
: Dimension Data Africadd-au
: Dimension Data Australiadd-latam
: Dimension Data Latin Americadd-ap
: Dimension Data Asia Pacificdd-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.
- 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, ex_client=None, ex_target=None)[source]¶
Cancel a backup job on a target
- Parameters:
job (Instance of
BackupTargetJob
orNone
) – Backup target job to cancel. If it isNone
ex_client and ex_target must be setex_client (Instance of
DimensionDataBackupClient
orstr
) – Client of the job to cancel. Not necessary if job is specified. DimensionData only has 1 job per clientex_target (Instance of
BackupTarget
orstr
) – Target to cancel a job from. Not necessary if job is specified.
- Return type:
bool
- connectionCls¶
alias of
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 Cloudtype (
BackupTargetType
) – Backup target type, only Virtual supportedextra (
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 backuptype (
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 backuptype (
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 backuptype (
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 dataextra (
dict
) – (optional) Extra attributes (driver specific).
- Return type:
Instance of
BackupTargetJob
- delete_target(target)[source]¶
Delete a backup target
- Parameters:
target (Instance of
BackupTarget
orstr
) – 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
orstr
) – Backup target with the backup dataclient (Instance of
DimensionDataBackupClientType
orstr
) – Client to add to the targetstorage_policy (Instance of
DimensionDataBackupStoragePolicy
orstr
) – The storage policy for the clientschedule_policy (Instance of
DimensionDataBackupSchedulePolicy
orstr
) – The schedule policy for the clienttrigger (
str
) – The notify trigger for the clientemail (
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
orstr
) – 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
orstr
) – The backup target to list available types for- Return type:
list
ofDimensionDataBackupClientType
- ex_list_available_schedule_policies(target)[source]¶
Returns a list of available backup schedule policies
- Parameters:
target (
BackupTarget
orstr
) – The backup target to list available policies for- Return type:
list
ofDimensionDataBackupSchedulePolicy
- ex_list_available_storage_policies(target)[source]¶
Returns a list of available backup storage policies
- Parameters:
target (
BackupTarget
orstr
) – The backup target to list available policies for- Return type:
list
ofDimensionDataBackupStoragePolicy
- ex_remove_client_from_target(target, backup_client)[source]¶
Removes a client from a backup target
- Parameters:
target (
BackupTarget
orstr
) – The backup target to remove the client frombackup_client (
DimensionDataBackupClient
orstr
) – 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 dataid (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 deletestart_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
ofBackupTargetRecoveryPoint
- 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
ofBackupTargetJob
- recover_target(target, recovery_point, path=None)[source]¶
Recover a backup target to a recovery point
- Parameters:
target (Instance of
BackupTarget
) – Backup target to deleterecovery_point (Instance of
BackupTarget
) – Backup target with the backup datapath (
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 datarecovery_point (Instance of
BackupTarget
) – Backup target with the backup datarecovery_target (Instance of
BackupTarget
) – Backup target with to recover the data topath (
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 datajob (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 datajob (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
orstr
) – Backup target to updatename (
str
) – Name of the targetaddress (
str
) – Hostname, FQDN, IP, file path etc.extra (
dict
) – (optional) Extra attributes (driver specific).
- Return type:
Instance of
BackupTarget