human
Complete this python program:
def create(vm_):
assistant
#Here is the Python program you requested.

    """Create a single VM from a data dict
    """
    try:
        if (vm_['profile'] and (config.is_profile_configured(__opts__, (__active_provider_name__ or 'parallels'), vm_['profile'], vm_=vm_) is False)):
            return False
    except AttributeError:
        pass
    __utils__['cloud.fire_event']('event', 'starting    create', 'salt/cloud/{0}/creating'.format(vm_['name']), args=__utils__['cloud.filter_event']('creating', vm_, ['name', 'profile', 'provider', 'driver']), sock_dir=__opts__['sock_dir'], transport=__opts__['transport'])
    log.info('Creating    Cloud    VM    {0}'.format(vm_['name']))
    try:
        data = create_node(vm_)
    except Exception as exc:
        log.error('Error    creating    {0}    on    PARALLELS\n\nThe    following    exception    was    thrown    when    trying    to    run    the    initial    deployment:    \n{1}'.format(vm_['name'], str(exc)), exc_info_on_loglevel=logging.DEBUG)
        return False
    name = vm_['name']
    if (not wait_until(name, 'CREATED')):
        return {'Error': 'Unable    to    start    {0},    command    timed    out'.format(name)}
    start(vm_['name'], call='action')
    if (not wait_until(name, 'STARTED')):
        return {'Error': 'Unable    to    start    {0},    command    timed    out'.format(name)}
    def __query_node_data(vm_name):
        data = show_instance(vm_name, call='action')
        if ('public-ip' not in data['network']):
            return
        return data
    try:
        data = salt.utils.cloud.wait_for_ip(__query_node_data, update_args=(vm_['name'],), timeout=config.get_cloud_config_value('wait_for_ip_timeout', vm_, __opts__, default=(5 * 60)), interval=config.get_cloud_config_value('wait_for_ip_interval', vm_, __opts__, default=5))
    except (SaltCloudExecutionTimeout, SaltCloudExecutionFailure) as exc:
        try:
            destroy(vm_['name'])
        except SaltCloudSystemExit:
            pass
        finally:
            raise SaltCloudSystemExit(str(exc))
    comps = data['network']['public-ip']['address'].split('/')
    public_ip = comps[0]
   ...