From 51b9215124ec54d940c3bd57fd08948d664398a4 Mon Sep 17 00:00:00 2001 From: Jim Enright Date: Tue, 27 Aug 2024 09:07:58 +0100 Subject: [PATCH 1/2] Add methods for datalake backup Signed-off-by: Jim Enright --- src/cdpy/datalake.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/cdpy/datalake.py b/src/cdpy/datalake.py index 84237dc..fbd10ae 100644 --- a/src/cdpy/datalake.py +++ b/src/cdpy/datalake.py @@ -39,3 +39,32 @@ def describe_all_datalakes(self, environment_name=None): if datalakes_listing: return [self.describe_datalake(datalake['datalakeName']) for datalake in datalakes_listing] return datalakes_listing + + def create_datalake_backup(self, datalake_name, backup_name=None, backup_location=None, + close_db_connections=None, skip_atlas_indexes=None, skip_atlas_metadata=None, + skip_ranger_audits=None, skip_ranger_hms_metadata=None, + skip_validation=None, validation_only=None): + return self.sdk.call( + svc='datalake', func='backup_datalake', squelch=[], + datalakeName=datalake_name, backupName=backup_name, + backupLocation=backup_location, closeDbConnections=close_db_connections, + skipAtlasIndexes=skip_atlas_indexes, skipAtlasMetadata=skip_atlas_metadata, + skipRangerAudits=skip_ranger_audits, skipRangerHmsMetadata=skip_ranger_hms_metadata, + skipValidation=skip_validation, validationOnly=validation_only + ) + + def check_datalake_backup_status(self, datalake_name, backup_id=None, backup_name=None): + return self.sdk.call( + svc='datalake', func='backup_datalake_status', + squelch=[Squelch('NOT_FOUND'), Squelch('UNKNOWN') + ], + datalakeName=datalake_name, backupId=backup_id, backupName=backup_name + ) + + def list_datalake_backups(self, datalake_name): + return self.sdk.call( + svc='datalake', func='list_datalake_backups', + squelch=[Squelch('NOT_FOUND'), Squelch('UNKNOWN') + ], + datalakeName=datalake_name + ) From 759b09566291743ae4f37db3bff28f48940c6bf8 Mon Sep 17 00:00:00 2001 From: Jim Enright Date: Wed, 28 Aug 2024 18:08:03 +0100 Subject: [PATCH 2/2] Add methods for datalake restore Signed-off-by: Jim Enright --- src/cdpy/datalake.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/cdpy/datalake.py b/src/cdpy/datalake.py index fbd10ae..2bf237b 100644 --- a/src/cdpy/datalake.py +++ b/src/cdpy/datalake.py @@ -68,3 +68,21 @@ def list_datalake_backups(self, datalake_name): ], datalakeName=datalake_name ) + + 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): + return self.sdk.call( + svc='datalake', func='restore_datalake', squelch=[], + datalakeName=datalake_name, backupName=backup_name, + backupId=backup_id, backupLocationOverride=backup_location_override, + skipAtlasIndexes=skip_atlas_indexes, skipAtlasMetadata=skip_atlas_metadata, + skipRangerAudits=skip_ranger_audits, skipRangerHmsMetadata=skip_ranger_hms_metadata, + skipValidation=skip_validation, validationOnly=validation_only + ) + + def check_datalake_restore_status(self, datalake_name, restore_id=None): + return self.sdk.call( + svc='datalake', func='restore_datalake_status', + squelch=[Squelch('NOT_FOUND'), Squelch('UNKNOWN') + ], + datalakeName=datalake_name, restoreId=restore_id + ) \ No newline at end of file