blob: ccf5f2a49564dbfa6aa6d05964e10762471bf1dc [file]
import time
from pprint import pprint
from libcloud.backup.types import Provider as BackupProvider
from libcloud.backup.types import BackupTargetJobStatusType
from libcloud.compute.types import Provider as ComputeProvider
from libcloud.backup.providers import get_driver as get_backup_driver
from libcloud.compute.providers import get_driver as get_compute_driver
backup_driver = get_backup_driver(BackupProvider.DIMENSIONDATA)("username", "api key")
compute_driver = get_compute_driver(ComputeProvider.DIMENSIONDATA)("username", "api key")
nodes = compute_driver.list_nodes()
# Backup the first node in the pool
selected_node = nodes[0]
print("Enabling backup for node")
new_target = backup_driver.create_target_from_node(selected_node)
print("Starting backup of node")
job = backup_driver.create_target_job(new_target)
print("Waiting for job to complete")
while True:
if job.status != BackupTargetJobStatusType.RUNNING:
break
else:
job = backup_driver.get_target_job(job.id)
print("Job is now at %s percent complete" % (job.progress))
time.sleep(20)
print("Job is completed with status- %s" % (job.status))
print("Getting a list of recovery points")
recovery_points = backup_driver.list_recovery_points(new_target)
pprint(recovery_points)