in lambda/snapshots_tool_utils.py [0:0]
def get_shared_snapshots(pattern, response):
# Returns a dict with only shared snapshots filtered by pattern, with DBSnapshotIdentifier as key and the response as attribute
filtered = {}
for snapshot in response['DBClusterSnapshots']:
if snapshot['SnapshotType'] == 'shared' and re.search(pattern, snapshot['DBClusterIdentifier']) and snapshot['Engine'] in _SUPPORTED_ENGINES:
filtered[get_snapshot_identifier(snapshot)] = {
'Arn': snapshot['DBClusterSnapshotIdentifier'], 'StorageEncrypted': snapshot['StorageEncrypted'], 'DBClusterIdentifier': snapshot['DBClusterIdentifier']}
if snapshot['StorageEncrypted'] is True:
filtered[get_snapshot_identifier(
snapshot)]['KmsKeyId'] = snapshot['KmsKeyId']
elif snapshot['SnapshotType'] == 'shared' and pattern == 'ALL_SNAPSHOTS' and snapshot['Engine'] in _SUPPORTED_ENGINES:
filtered[get_snapshot_identifier(snapshot)] = {
'Arn': snapshot['DBClusterSnapshotIdentifier'], 'StorageEncrypted': snapshot['StorageEncrypted'], 'DBClusterIdentifier': snapshot['DBClusterIdentifier']}
if snapshot['StorageEncrypted'] is True:
filtered[get_snapshot_identifier(
snapshot)]['KmsKeyId'] = snapshot['KmsKeyId']
return filtered