Upon requesting a task that runs for a longer period of time a UPID is given.
    This includes information about the job and can be used to lookup information in the log.

def _parse_proxmox_upid(node, vm_=None):
    '''
    Upon requesting a task that runs for a longer period of time a UPID is given.
    This includes information about the job and can be used to lookup information in the log.
    '''
    ret = {}

    upid = node
    # Parse node response
    node = node.split(':')
    if node[0] == 'UPID':
        ret['node'] = six.text_type(node[1])
        ret['pid'] = six.text_type(node[2])
        ret['pstart'] = six.text_type(node[3])
        ret['starttime'] = six.text_type(node[4])
        ret['type'] = six.text_type(node[5])
        ret['vmid'] = six.text_type(node[6])
        ret['user'] = six.text_type(node[7])
        # include the upid again in case we'll need it again
        ret['upid'] = six.text_type(upid)

        if vm_ is not None and 'technology' in vm_:
            ret['technology'] = six.text_type(vm_['technology'])

    return ret