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.
-
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 set - ex_client (Instance of
DimensionDataBackupClient
orstr
) – Client of the job to cancel. Not necessary if job is specified. DimensionData only has 1 job per client - ex_target (Instance of
BackupTarget
orstr
) – Target to cancel a job from. Not necessary if job is specified.
Return type: bool
- job (Instance of
-
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 Cloud - type (
BackupTargetType
) – Backup target type, only Virtual supported - extra (
dict
) – (optional) Extra attributes (driver specific).
Return type: Instance of
BackupTarget
- name (
-
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
- node (
-
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
- node (
-
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
- node (
-
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
- target (Instance of
-
delete_target
(target)[source]¶ Delete a backup target
Parameters: target (Instance of BackupTarget
orstr
) – Backup target to deleteReturn 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 data - client (Instance of
DimensionDataBackupClientType
orstr
) – Client to add to the target - storage_policy (Instance of
DimensionDataBackupStoragePolicy
orstr
) – The storage policy for the client - schedule_policy (Instance of
DimensionDataBackupSchedulePolicy
orstr
) – 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
- target (Instance of
-
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 forReturn 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 getReturn 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 forReturn 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 forReturn 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 forReturn 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 from - backup_client (
DimensionDataBackupClient
orstr
) – The backup client to remove
Return type: bool
- target (
-
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
- target (Instance of
-
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
ofBackupTargetRecoveryPoint
- target (Instance of
-
list_regions
()¶ Method which returns a list of the available / supported regions.
Return type: list
ofstr
-
list_target_jobs
(target)[source]¶ List the backup jobs on a target
Parameters: target (Instance of BackupTarget
) – Backup target with the backup dataReturn 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 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
- target (Instance of
-
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
- target (Instance of
-
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
- target (Instance of
-
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
- target (Instance of
-
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 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
- target (Instance of
-