def ensure_path(path, acls=None, profile=None, hosts=None, scheme=None,
                username=None, password=None, default_acl=None):
    '''
    Ensure Znode path exists

    path
        Parent path to create

    acls
        list of acls dictionaries to be assigned (Default: None)

    profile
        Configured Zookeeper profile to authenticate with (Default: None)

    hosts
        Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)

    scheme
        Scheme to authenticate with (Default: 'digest')

    username
        Username to authenticate (Default: None)

    password
        Password to authenticate (Default: None)

    default_acl
        Default acls to assign if a node is created in this connection (Default: None)

    CLI Example:

    .. code-block:: bash

        salt minion1 zookeeper.ensure_path /test/name profile=prod

    '''
    if acls is None:
        acls = []
    acls = [make_digest_acl(**acl) for acl in acls]
    conn = _get_zk_conn(profile=profile, hosts=hosts, scheme=scheme,
                        username=username, password=password, default_acl=default_acl)
    return conn.ensure_path(path, acls)