in gce_rescue/tasks/backup.py [0:0]
def create_snapshot(vm) -> Dict:
"""
Create a snaphost of the instance boot disk, adding self._ts to the disk name.
https://cloud.google.com/compute/docs/reference/rest/v1/disks/createSnapshot
Returns:
operation-result: Dict
"""
disk_name = vm.disks['disk_name']
# Patch issues/23
region = vm.zone[:-2]
snapshot_name = f'{disk_name}-{vm.ts}'
snapshot_body = {
'name': snapshot_name,
'storageLocations': [ region ]
}
_logger.info(f'Creating snapshot {snapshot_body}... ')
operation = vm.compute.disks().createSnapshot(
**vm.project_data,
disk = disk_name,
body = snapshot_body).execute()
result = wait_for_operation(vm, oper=operation)
return result