Skip to content

Commit 2179a01

Browse files
authored
Add methods for datalake backup (#84)
* Add methods for datalake backup * Add methods for datalake restore Signed-off-by: Jim Enright <jenright@cloudera.com>
1 parent 0b6b1a5 commit 2179a01

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

src/cdpy/datalake.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,50 @@ def describe_all_datalakes(self, environment_name=None):
3939
if datalakes_listing:
4040
return [self.describe_datalake(datalake['datalakeName']) for datalake in datalakes_listing]
4141
return datalakes_listing
42+
43+
def create_datalake_backup(self, datalake_name, backup_name=None, backup_location=None,
44+
close_db_connections=None, skip_atlas_indexes=None, skip_atlas_metadata=None,
45+
skip_ranger_audits=None, skip_ranger_hms_metadata=None,
46+
skip_validation=None, validation_only=None):
47+
return self.sdk.call(
48+
svc='datalake', func='backup_datalake', squelch=[],
49+
datalakeName=datalake_name, backupName=backup_name,
50+
backupLocation=backup_location, closeDbConnections=close_db_connections,
51+
skipAtlasIndexes=skip_atlas_indexes, skipAtlasMetadata=skip_atlas_metadata,
52+
skipRangerAudits=skip_ranger_audits, skipRangerHmsMetadata=skip_ranger_hms_metadata,
53+
skipValidation=skip_validation, validationOnly=validation_only
54+
)
55+
56+
def check_datalake_backup_status(self, datalake_name, backup_id=None, backup_name=None):
57+
return self.sdk.call(
58+
svc='datalake', func='backup_datalake_status',
59+
squelch=[Squelch('NOT_FOUND'), Squelch('UNKNOWN')
60+
],
61+
datalakeName=datalake_name, backupId=backup_id, backupName=backup_name
62+
)
63+
64+
def list_datalake_backups(self, datalake_name):
65+
return self.sdk.call(
66+
svc='datalake', func='list_datalake_backups',
67+
squelch=[Squelch('NOT_FOUND'), Squelch('UNKNOWN')
68+
],
69+
datalakeName=datalake_name
70+
)
71+
72+
def restore_datalake_backup(self, datalake_name, backup_name=None, backup_id=None, backup_location_override=None, skip_atlas_indexes=None, skip_atlas_metadata=None, skip_ranger_audits=None, skip_ranger_hms_metadata=None, skip_validation=None, validation_only=None):
73+
return self.sdk.call(
74+
svc='datalake', func='restore_datalake', squelch=[],
75+
datalakeName=datalake_name, backupName=backup_name,
76+
backupId=backup_id, backupLocationOverride=backup_location_override,
77+
skipAtlasIndexes=skip_atlas_indexes, skipAtlasMetadata=skip_atlas_metadata,
78+
skipRangerAudits=skip_ranger_audits, skipRangerHmsMetadata=skip_ranger_hms_metadata,
79+
skipValidation=skip_validation, validationOnly=validation_only
80+
)
81+
82+
def check_datalake_restore_status(self, datalake_name, restore_id=None):
83+
return self.sdk.call(
84+
svc='datalake', func='restore_datalake_status',
85+
squelch=[Squelch('NOT_FOUND'), Squelch('UNKNOWN')
86+
],
87+
datalakeName=datalake_name, restoreId=restore_id
88+
)

0 commit comments

Comments
 (0)