def array_addunique(path, value, create_parents=False, **kwargs):
    """
    Add a new value to an array if the value does not exist.

    :param path: The path to the array
    :param value: Value to add to the array if it does not exist.
        Currently the value is restricted to primitives: strings, numbers,
        booleans, and `None` values.
    :param create_parents: Create the array if it does not exist

    .. note::

        The actual position of the new item is unspecified. This means
        it may be at the beginning, end, or middle of the existing
        array)

    This operation is only valid in :cb_bmeth:`mutate_in`.

    .. seealso:: :func:`array_append`, :func:`upsert`
    """
    return _gen_4spec(LCB_SDCMD_ARRAY_ADD_UNIQUE, path, value,
                      create_path=create_parents, **kwargs)
Add a new value to an array if the value does not exist.

    :param path: The path to the array
    :param value: Value to add to the array if it does not exist.
        Currently the value is restricted to primitives: strings, numbers,
        booleans, and `None` values.
    :param create_parents: Create the array if it does not exist

    .. note::

        The actual position of the new item is unspecified. This means
        it may be at the beginning, end, or middle of the existing
        array)

    This operation is only valid in :cb_bmeth:`mutate_in`.

    .. seealso:: :func:`array_append`, :func:`upsert`