in gce_rescue/tasks/actions.py [0:0]
def _list_tasks(vm: Instance, action: str) -> List:
""" List tasks, by order, per operation
operations (str):
1. set_rescue_mode
2. reset_rescue_mode
"""
all_tasks = {
'set_rescue_mode': [
{
'name': stop_instance,
'args': [{
'vm': vm
}]
},
{
'name': create_rescue_disk,
'args': [{
'vm': vm
}]
},
{
'name': set_metadata,
'args': [{
'vm': vm
}]
},
{
'name': start_instance,
'args': [{
'vm': vm
}]
},
{
'name': attach_disk,
'args': [{
'vm': vm,
'boot': False,
**vm.disks
}],
},
{
'name': restore_metadata_items,
'args': [{
'vm': vm
}],
}
],
'reset_rescue_mode': [
{
'name': stop_instance,
'args': [{
'vm': vm
}]
},
{
'name': restore_original_disk,
'args': [{
'vm': vm
}]
},
{
'name': restore_metadata_items,
'args': [{
'vm': vm,
'remove_rescue_mode': True
}]
},
{
'name': start_instance,
'args': [{
'vm': vm
}]
},
]
}
if action not in all_tasks:
_logger.info(f'Unable to find "{action}".')
raise ValueError()
return all_tasks[action]