in gce_rescue/tasks/operations.py [0:0]
def stop_instance(vm: Instance) -> str:
"""Stop instance."""
_logger.info(f'Stopping {vm.name}...')
if vm.status == 'TERMINATED':
_logger.info(f'{vm.name} is already stopped.')
return
operation = vm.compute.instances().stop(
**vm.project_data,
instance = vm.name).execute()
result = wait_for_operation(vm, oper=operation)
if result['status'] == 'DONE':
vm.status = 'TERMINATED'
return vm.status