#compdef kanidm

autoload -U is-at-least

_kanidm() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm_commands" \
"*::: :->kanidm_tools" \
&& ret=0
    case $state in
    (kanidm_tools)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-command-$line[1]:"
        case $line[1] in
            (login)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-w[]' \
'--webauthn[]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(logout)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-l[Do not send the logout to the server - only remove the session token locally]' \
'--local-only[Do not send the logout to the server - only remove the session token locally]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(session)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__session_commands" \
"*::: :->session" \
&& ret=0

    case $state in
    (session)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-session-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(cleanup)
_arguments "${_arguments_options[@]}" \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(self)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__self_commands" \
"*::: :->self" \
&& ret=0

    case $state in
    (self)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-self-command-$line[1]:"
        case $line[1] in
            (whoami)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(person)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__person_commands" \
"*::: :->person" \
&& ret=0

    case $state in
    (person)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-person-command-$line[1]:"
        case $line[1] in
            (credential)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__person__credential_commands" \
"*::: :->credential" \
&& ret=0

    case $state in
    (credential)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-person-credential-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(use_reset_token)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':token:' \
&& ret=0
;;
(create_reset_token)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(radius)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__person__radius_commands" \
"*::: :->radius" \
&& ret=0

    case $state in
    (radius)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-person-radius-command-$line[1]:"
        case $line[1] in
            (show_secret)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(generate_secret)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(delete_secret)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(posix)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__person__posix_commands" \
"*::: :->posix" \
&& ret=0

    case $state in
    (posix)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-person-posix-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'--gidnumber=[]:GIDNUMBER: ' \
'--shell=[]:SHELL: ' \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(set_password)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(session)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__person__session_commands" \
"*::: :->session" \
&& ret=0

    case $state in
    (session)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-person-session-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(destroy)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':session_id -- The UUID of the token to destroy:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(ssh)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__person__ssh_commands" \
"*::: :->ssh" \
&& ret=0

    case $state in
    (ssh)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-person-ssh-command-$line[1]:"
        case $line[1] in
            (list_publickeys)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(add_publickey)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':tag:' \
':pubkey:' \
&& ret=0
;;
(delete_publickey)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':tag:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" \
'-l+[Set the legal name for the person.]:LEGALNAME: ' \
'--legalname=[Set the legal name for the person.]:LEGALNAME: ' \
'-n+[Set the account name for the person.]:NEWNAME: ' \
'--newname=[Set the account name for the person.]:NEWNAME: ' \
'-i+[Set the display name for the person.]:DISPLAYNAME: ' \
'--displayname=[Set the display name for the person.]:DISPLAYNAME: ' \
'*-m+[Set the mail address, can be set multiple times for multiple addresses. The first listed mail address is the '\''primary'\'']:MAIL: ' \
'*--mail=[Set the mail address, can be set multiple times for multiple addresses. The first listed mail address is the '\''primary'\'']:MAIL: ' \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':display_name:' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(validity)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__person__validity_commands" \
"*::: :->validity" \
&& ret=0

    case $state in
    (validity)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-person-validity-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(expire_at)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':datetime -- An rfc3339 time of the format "YYYY-MM-DDTHH\:MM\:SS+TZ", "2020-09-25T11\:22\:02+10\:00" or the word "never", "clear" to remove account expiry:' \
&& ret=0
;;
(begin_from)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':datetime -- An rfc3339 time of the format "YYYY-MM-DDTHH\:MM\:SS+TZ", "2020-09-25T11\:22\:02+10\:00" or the word "any", "clear" to remove valid from enforcement:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(group)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__group_commands" \
"*::: :->group" \
&& ret=0

    case $state in
    (group)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-group-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(list_members)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(set_members)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
'*::members:' \
&& ret=0
;;
(purge_members)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(add_members)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
'*::members:' \
&& ret=0
;;
(remove_members)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
'*::members:' \
&& ret=0
;;
(posix)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__group__posix_commands" \
"*::: :->posix" \
&& ret=0

    case $state in
    (posix)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-group-posix-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'--gidnumber=[]:GIDNUMBER: ' \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(service-account)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__service-account_commands" \
"*::: :->service-account" \
&& ret=0

    case $state in
    (service-account)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-service-account-command-$line[1]:"
        case $line[1] in
            (credential)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__service-account__credential_commands" \
"*::: :->credential" \
&& ret=0

    case $state in
    (credential)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-service-account-credential-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(generate)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(api-token)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__service-account__api-token_commands" \
"*::: :->api-token" \
&& ret=0

    case $state in
    (api-token)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-service-account-api-token-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(generate)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'--rw[]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':label -- A string describing the token. This is not used to identify the token, it is only for human description of the tokens purpose:' \
'::expiry -- An optional rfc3339 time of the format "YYYY-MM-DDTHH\:MM\:SS+TZ", "2020-09-25T11\:22\:02+10\:00". After this time the api token will no longer be valid:' \
&& ret=0
;;
(destroy)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':token_id -- The UUID of the token to destroy:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(posix)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__service-account__posix_commands" \
"*::: :->posix" \
&& ret=0

    case $state in
    (posix)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-service-account-posix-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'--gidnumber=[]:GIDNUMBER: ' \
'--shell=[]:SHELL: ' \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(session)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__service-account__session_commands" \
"*::: :->session" \
&& ret=0

    case $state in
    (session)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-service-account-session-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(destroy)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':session_id -- The UUID of the token to destroy:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(ssh)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__service-account__ssh_commands" \
"*::: :->ssh" \
&& ret=0

    case $state in
    (ssh)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-service-account-ssh-command-$line[1]:"
        case $line[1] in
            (list_publickeys)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(add_publickey)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':tag:' \
':pubkey:' \
&& ret=0
;;
(delete_publickey)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':tag:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(list)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':display_name:' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" \
'-n+[Set the account name for the service account.]:NEWNAME: ' \
'--newname=[Set the account name for the service account.]:NEWNAME: ' \
'-i+[Set the display name for the service account.]:DISPLAYNAME: ' \
'--displayname=[Set the display name for the service account.]:DISPLAYNAME: ' \
'*-m+[Set the mail address, can be set multiple times for multiple addresses. The first listed mail address is the '\''primary'\'']:MAIL: ' \
'*--mail=[Set the mail address, can be set multiple times for multiple addresses. The first listed mail address is the '\''primary'\'']:MAIL: ' \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(validity)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__service-account__validity_commands" \
"*::: :->validity" \
&& ret=0

    case $state in
    (validity)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-service-account-validity-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(expire_at)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':datetime -- An rfc3339 time of the format "YYYY-MM-DDTHH\:MM\:SS+TZ", "2020-09-25T11\:22\:02+10\:00" or the word "never", "clear" to remove account expiry:' \
&& ret=0
;;
(begin_from)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':datetime -- An rfc3339 time of the format "YYYY-MM-DDTHH\:MM\:SS+TZ", "2020-09-25T11\:22\:02+10\:00" or the word "any", "clear" to remove valid from enforcement:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(into-person)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(system)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__system_commands" \
"*::: :->system" \
&& ret=0

    case $state in
    (system)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-system-command-$line[1]:"
        case $line[1] in
            (pw-badlist)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__system__pw-badlist_commands" \
"*::: :->pw-badlist" \
&& ret=0

    case $state in
    (pw-badlist)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-system-pw-badlist-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(upload)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
'*::paths:' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
'*::paths:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(oauth2)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__system__oauth2_commands" \
"*::: :->oauth2" \
&& ret=0

    case $state in
    (oauth2)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-system-oauth2-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
':displayname:' \
':origin:' \
&& ret=0
;;
(update-scope-map)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
':group:' \
'*::scopes:' \
&& ret=0
;;
(delete_scope_map)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
':group:' \
&& ret=0
;;
(update-sup-scope-map)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
':group:' \
'*::scopes:' \
&& ret=0
;;
(delete-sup-scope-map)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
':group:' \
&& ret=0
;;
(reset-secrets)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(show-basic-secret)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(set-displayname)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
':displayname:' \
&& ret=0
;;
(set-name)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
':newname:' \
&& ret=0
;;
(set-landing-url)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
':landing_url:' \
&& ret=0
;;
(enable-pkce)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(warning-insecure-client-disable-pkce)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(warning-enable-legacy-crypto)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(disable-legacy-crypto)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(prefer-short-username)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(prefer-spn-username)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(domain)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__system__domain_commands" \
"*::: :->domain" \
&& ret=0

    case $state in
    (domain)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-system-domain-command-$line[1]:"
        case $line[1] in
            (set_domain_display_name)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':new_display_Name:' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(reset_token_key)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(sync)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__system__sync_commands" \
"*::: :->sync" \
&& ret=0

    case $state in
    (sync)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-system-sync-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
'::description:' \
&& ret=0
;;
(generate-token)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
':label:' \
&& ret=0
;;
(destroy-token)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(force-refresh)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(finalise)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(terminate)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':account-id:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(recycle-bin)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__recycle-bin_commands" \
"*::: :->recycle-bin" \
&& ret=0

    case $state in
    (recycle-bin)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-recycle-bin-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(revive)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':name:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(raw)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
":: :_kanidm__raw_commands" \
"*::: :->raw" \
&& ret=0

    case $state in
    (raw)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:kanidm-raw-command-$line[1]:"
        case $line[1] in
            (search)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':filter:' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':file:' \
&& ret=0
;;
(modify)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':filter:' \
':file:' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" \
'-H+[The URL of the kanidm instance]:ADDR: ' \
'--url=[The URL of the kanidm instance]:ADDR: ' \
'-D+[User which will initiate requests]:USERNAME: ' \
'--name=[User which will initiate requests]:USERNAME: ' \
'-C+[Path to a CA certificate file]:CA_PATH: ' \
'--ca=[Path to a CA certificate file]:CA_PATH: ' \
'-d[Enable debbuging of the kanidm tool]' \
'--debug[Enable debbuging of the kanidm tool]' \
'-h[Print help information]' \
'--help[Print help information]' \
':filter:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
;;
(version)
_arguments "${_arguments_options[@]}" \
'-h[Print help information]' \
'--help[Print help information]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
'*::subcommand -- The subcommand whose help message to display:' \
&& ret=0
;;
        esac
    ;;
esac
}

(( $+functions[_kanidm_commands] )) ||
_kanidm_commands() {
    local commands; commands=(
'login:Login to an account to use with future cli operations' \
'logout:Logout of an active cli session' \
'session:Manage active cli sessions' \
'self:Actions for the current authenticated account' \
'person:Actions to manage and view person (user) accounts' \
'group:Actions to manage groups' \
'service-account:Actions to manage and view service accounts' \
'system:System configuration operations' \
'recycle-bin:Recycle Bin operations' \
'raw:Unsafe - low level, raw database queries and operations' \
'version:Print the program version and exit' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm commands' commands "$@"
}
(( $+functions[_kanidm__group__add_members_commands] )) ||
_kanidm__group__add_members_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group add_members commands' commands "$@"
}
(( $+functions[_kanidm__person__ssh__add_publickey_commands] )) ||
_kanidm__person__ssh__add_publickey_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person ssh add_publickey commands' commands "$@"
}
(( $+functions[_kanidm__service-account__ssh__add_publickey_commands] )) ||
_kanidm__service-account__ssh__add_publickey_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account ssh add_publickey commands' commands "$@"
}
(( $+functions[_kanidm__service-account__api-token_commands] )) ||
_kanidm__service-account__api-token_commands() {
    local commands; commands=(
'status:Show the status of api tokens associated to this service account' \
'generate:Generate a new api token for this service account' \
'destroy:Destroy / revoke an api token from this service account. Access to the token is NOT required, only the tag/uuid of the token' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm service-account api-token commands' commands "$@"
}
(( $+functions[_kanidm__person__validity__begin_from_commands] )) ||
_kanidm__person__validity__begin_from_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person validity begin_from commands' commands "$@"
}
(( $+functions[_kanidm__service-account__validity__begin_from_commands] )) ||
_kanidm__service-account__validity__begin_from_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account validity begin_from commands' commands "$@"
}
(( $+functions[_kanidm__session__cleanup_commands] )) ||
_kanidm__session__cleanup_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm session cleanup commands' commands "$@"
}
(( $+functions[_kanidm__group__create_commands] )) ||
_kanidm__group__create_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group create commands' commands "$@"
}
(( $+functions[_kanidm__person__create_commands] )) ||
_kanidm__person__create_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person create commands' commands "$@"
}
(( $+functions[_kanidm__raw__create_commands] )) ||
_kanidm__raw__create_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm raw create commands' commands "$@"
}
(( $+functions[_kanidm__service-account__create_commands] )) ||
_kanidm__service-account__create_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account create commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__create_commands] )) ||
_kanidm__system__oauth2__create_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 create commands' commands "$@"
}
(( $+functions[_kanidm__system__sync__create_commands] )) ||
_kanidm__system__sync__create_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system sync create commands' commands "$@"
}
(( $+functions[_kanidm__person__credential__create_reset_token_commands] )) ||
_kanidm__person__credential__create_reset_token_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person credential create_reset_token commands' commands "$@"
}
(( $+functions[_kanidm__person__credential_commands] )) ||
_kanidm__person__credential_commands() {
    local commands; commands=(
'status:Show the status of this accounts credentials' \
'update:Interactively update/change the credentials for an account' \
'use_reset_token:Using a reset token, interactively reset credentials for a user' \
'create_reset_token:Create a reset token that can be given to another person so they can recover or reset their account credentials' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm person credential commands' commands "$@"
}
(( $+functions[_kanidm__service-account__credential_commands] )) ||
_kanidm__service-account__credential_commands() {
    local commands; commands=(
'status:Show the status of this accounts password' \
'generate:Reset and generate a new service account password. This password can NOT be used with the LDAP interface' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm service-account credential commands' commands "$@"
}
(( $+functions[_kanidm__group__delete_commands] )) ||
_kanidm__group__delete_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group delete commands' commands "$@"
}
(( $+functions[_kanidm__person__delete_commands] )) ||
_kanidm__person__delete_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person delete commands' commands "$@"
}
(( $+functions[_kanidm__raw__delete_commands] )) ||
_kanidm__raw__delete_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm raw delete commands' commands "$@"
}
(( $+functions[_kanidm__service-account__delete_commands] )) ||
_kanidm__service-account__delete_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account delete commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__delete_commands] )) ||
_kanidm__system__oauth2__delete_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 delete commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__delete-sup-scope-map_commands] )) ||
_kanidm__system__oauth2__delete-sup-scope-map_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 delete-sup-scope-map commands' commands "$@"
}
(( $+functions[_kanidm__person__ssh__delete_publickey_commands] )) ||
_kanidm__person__ssh__delete_publickey_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person ssh delete_publickey commands' commands "$@"
}
(( $+functions[_kanidm__service-account__ssh__delete_publickey_commands] )) ||
_kanidm__service-account__ssh__delete_publickey_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account ssh delete_publickey commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__delete_scope_map_commands] )) ||
_kanidm__system__oauth2__delete_scope_map_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 delete_scope_map commands' commands "$@"
}
(( $+functions[_kanidm__person__radius__delete_secret_commands] )) ||
_kanidm__person__radius__delete_secret_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person radius delete_secret commands' commands "$@"
}
(( $+functions[_kanidm__person__session__destroy_commands] )) ||
_kanidm__person__session__destroy_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person session destroy commands' commands "$@"
}
(( $+functions[_kanidm__service-account__api-token__destroy_commands] )) ||
_kanidm__service-account__api-token__destroy_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account api-token destroy commands' commands "$@"
}
(( $+functions[_kanidm__service-account__session__destroy_commands] )) ||
_kanidm__service-account__session__destroy_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account session destroy commands' commands "$@"
}
(( $+functions[_kanidm__system__sync__destroy-token_commands] )) ||
_kanidm__system__sync__destroy-token_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system sync destroy-token commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__disable-legacy-crypto_commands] )) ||
_kanidm__system__oauth2__disable-legacy-crypto_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 disable-legacy-crypto commands' commands "$@"
}
(( $+functions[_kanidm__system__domain_commands] )) ||
_kanidm__system__domain_commands() {
    local commands; commands=(
'set_domain_display_name:Set the domain display name' \
'show:Show information about this system'\''s domain' \
'reset_token_key:Reset this domain token signing key. This will cause all user sessions to be invalidated (logged out)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm system domain commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__enable-pkce_commands] )) ||
_kanidm__system__oauth2__enable-pkce_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 enable-pkce commands' commands "$@"
}
(( $+functions[_kanidm__person__validity__expire_at_commands] )) ||
_kanidm__person__validity__expire_at_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person validity expire_at commands' commands "$@"
}
(( $+functions[_kanidm__service-account__validity__expire_at_commands] )) ||
_kanidm__service-account__validity__expire_at_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account validity expire_at commands' commands "$@"
}
(( $+functions[_kanidm__system__sync__finalise_commands] )) ||
_kanidm__system__sync__finalise_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system sync finalise commands' commands "$@"
}
(( $+functions[_kanidm__system__sync__force-refresh_commands] )) ||
_kanidm__system__sync__force-refresh_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system sync force-refresh commands' commands "$@"
}
(( $+functions[_kanidm__service-account__api-token__generate_commands] )) ||
_kanidm__service-account__api-token__generate_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account api-token generate commands' commands "$@"
}
(( $+functions[_kanidm__service-account__credential__generate_commands] )) ||
_kanidm__service-account__credential__generate_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account credential generate commands' commands "$@"
}
(( $+functions[_kanidm__system__sync__generate-token_commands] )) ||
_kanidm__system__sync__generate-token_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system sync generate-token commands' commands "$@"
}
(( $+functions[_kanidm__person__radius__generate_secret_commands] )) ||
_kanidm__person__radius__generate_secret_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person radius generate_secret commands' commands "$@"
}
(( $+functions[_kanidm__group__get_commands] )) ||
_kanidm__group__get_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group get commands' commands "$@"
}
(( $+functions[_kanidm__person__get_commands] )) ||
_kanidm__person__get_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person get commands' commands "$@"
}
(( $+functions[_kanidm__recycle-bin__get_commands] )) ||
_kanidm__recycle-bin__get_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm recycle-bin get commands' commands "$@"
}
(( $+functions[_kanidm__service-account__get_commands] )) ||
_kanidm__service-account__get_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account get commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__get_commands] )) ||
_kanidm__system__oauth2__get_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 get commands' commands "$@"
}
(( $+functions[_kanidm__system__sync__get_commands] )) ||
_kanidm__system__sync__get_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system sync get commands' commands "$@"
}
(( $+functions[_kanidm__group_commands] )) ||
_kanidm__group_commands() {
    local commands; commands=(
'list:List all groups' \
'get:View a specific group' \
'create:Create a new group' \
'delete:Delete a group' \
'list_members:List the members of a group' \
'set_members:Set the exact list of members that this group should contain, removing any not listed in the set operation' \
'purge_members:Delete all members of a group' \
'add_members:Add new members to a group' \
'remove_members:Remove the named members from this group' \
'posix:Manage posix extensions for this group allowing groups to be used on unix/linux systems' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm group commands' commands "$@"
}
(( $+functions[_kanidm__group__help_commands] )) ||
_kanidm__group__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group help commands' commands "$@"
}
(( $+functions[_kanidm__group__posix__help_commands] )) ||
_kanidm__group__posix__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group posix help commands' commands "$@"
}
(( $+functions[_kanidm__help_commands] )) ||
_kanidm__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm help commands' commands "$@"
}
(( $+functions[_kanidm__person__credential__help_commands] )) ||
_kanidm__person__credential__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person credential help commands' commands "$@"
}
(( $+functions[_kanidm__person__help_commands] )) ||
_kanidm__person__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person help commands' commands "$@"
}
(( $+functions[_kanidm__person__posix__help_commands] )) ||
_kanidm__person__posix__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person posix help commands' commands "$@"
}
(( $+functions[_kanidm__person__radius__help_commands] )) ||
_kanidm__person__radius__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person radius help commands' commands "$@"
}
(( $+functions[_kanidm__person__session__help_commands] )) ||
_kanidm__person__session__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person session help commands' commands "$@"
}
(( $+functions[_kanidm__person__ssh__help_commands] )) ||
_kanidm__person__ssh__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person ssh help commands' commands "$@"
}
(( $+functions[_kanidm__person__validity__help_commands] )) ||
_kanidm__person__validity__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person validity help commands' commands "$@"
}
(( $+functions[_kanidm__raw__help_commands] )) ||
_kanidm__raw__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm raw help commands' commands "$@"
}
(( $+functions[_kanidm__recycle-bin__help_commands] )) ||
_kanidm__recycle-bin__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm recycle-bin help commands' commands "$@"
}
(( $+functions[_kanidm__self__help_commands] )) ||
_kanidm__self__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm self help commands' commands "$@"
}
(( $+functions[_kanidm__service-account__api-token__help_commands] )) ||
_kanidm__service-account__api-token__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account api-token help commands' commands "$@"
}
(( $+functions[_kanidm__service-account__credential__help_commands] )) ||
_kanidm__service-account__credential__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account credential help commands' commands "$@"
}
(( $+functions[_kanidm__service-account__help_commands] )) ||
_kanidm__service-account__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account help commands' commands "$@"
}
(( $+functions[_kanidm__service-account__posix__help_commands] )) ||
_kanidm__service-account__posix__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account posix help commands' commands "$@"
}
(( $+functions[_kanidm__service-account__session__help_commands] )) ||
_kanidm__service-account__session__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account session help commands' commands "$@"
}
(( $+functions[_kanidm__service-account__ssh__help_commands] )) ||
_kanidm__service-account__ssh__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account ssh help commands' commands "$@"
}
(( $+functions[_kanidm__service-account__validity__help_commands] )) ||
_kanidm__service-account__validity__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account validity help commands' commands "$@"
}
(( $+functions[_kanidm__session__help_commands] )) ||
_kanidm__session__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm session help commands' commands "$@"
}
(( $+functions[_kanidm__system__domain__help_commands] )) ||
_kanidm__system__domain__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system domain help commands' commands "$@"
}
(( $+functions[_kanidm__system__help_commands] )) ||
_kanidm__system__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system help commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__help_commands] )) ||
_kanidm__system__oauth2__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 help commands' commands "$@"
}
(( $+functions[_kanidm__system__pw-badlist__help_commands] )) ||
_kanidm__system__pw-badlist__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system pw-badlist help commands' commands "$@"
}
(( $+functions[_kanidm__system__sync__help_commands] )) ||
_kanidm__system__sync__help_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system sync help commands' commands "$@"
}
(( $+functions[_kanidm__service-account__into-person_commands] )) ||
_kanidm__service-account__into-person_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account into-person commands' commands "$@"
}
(( $+functions[_kanidm__group__list_commands] )) ||
_kanidm__group__list_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group list commands' commands "$@"
}
(( $+functions[_kanidm__person__list_commands] )) ||
_kanidm__person__list_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person list commands' commands "$@"
}
(( $+functions[_kanidm__recycle-bin__list_commands] )) ||
_kanidm__recycle-bin__list_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm recycle-bin list commands' commands "$@"
}
(( $+functions[_kanidm__service-account__list_commands] )) ||
_kanidm__service-account__list_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account list commands' commands "$@"
}
(( $+functions[_kanidm__session__list_commands] )) ||
_kanidm__session__list_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm session list commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__list_commands] )) ||
_kanidm__system__oauth2__list_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 list commands' commands "$@"
}
(( $+functions[_kanidm__system__sync__list_commands] )) ||
_kanidm__system__sync__list_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system sync list commands' commands "$@"
}
(( $+functions[_kanidm__group__list_members_commands] )) ||
_kanidm__group__list_members_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group list_members commands' commands "$@"
}
(( $+functions[_kanidm__person__ssh__list_publickeys_commands] )) ||
_kanidm__person__ssh__list_publickeys_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person ssh list_publickeys commands' commands "$@"
}
(( $+functions[_kanidm__service-account__ssh__list_publickeys_commands] )) ||
_kanidm__service-account__ssh__list_publickeys_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account ssh list_publickeys commands' commands "$@"
}
(( $+functions[_kanidm__login_commands] )) ||
_kanidm__login_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm login commands' commands "$@"
}
(( $+functions[_kanidm__logout_commands] )) ||
_kanidm__logout_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm logout commands' commands "$@"
}
(( $+functions[_kanidm__raw__modify_commands] )) ||
_kanidm__raw__modify_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm raw modify commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2_commands] )) ||
_kanidm__system__oauth2_commands() {
    local commands; commands=(
'list:List all configured oauth2 resource servers' \
'get:Display a selected oauth2 resource server' \
'create:Create a new oauth2 resource server' \
'update-scope-map:Update or add a new mapping from a group to scopes that it provides to members' \
'create-scope-map:Update or add a new mapping from a group to scopes that it provides to members' \
'delete_scope_map:Remove a mapping from groups to scopes' \
'update-sup-scope-map:Update or add a new mapping from a group to scopes that it provides to members' \
'create-sup-scope-map:Update or add a new mapping from a group to scopes that it provides to members' \
'delete-sup-scope-map:Remove a mapping from groups to scopes' \
'reset-secrets:Reset the secrets associated to this resource server' \
'show-basic-secret:Show the associated basic secret for this resource server' \
'delete:Delete a oauth2 resource server' \
'set-displayname:Set a new displayname for a resource server' \
'set-name:Set a new name for this resource server. You may need to update your integrated applications after this so that they continue to function correctly' \
'set-landing-url:When redirecting from the Kanidm Apps Listing page, some linked applications may need to land on a specific page to trigger oauth2/oidc interactions' \
'enable-pkce:Enable PKCE on this oauth2 resource server. This defaults to being enabled' \
'warning-insecure-client-disable-pkce:Disable PKCE on this oauth2 resource server to work around insecure clients that may not support it. You should request the client to enable PKCE!' \
'warning-enable-legacy-crypto:Enable legacy signing crypto on this oauth2 resource server. This defaults to being disabled. You only need to enable this for openid clients that do not support modern crytopgraphic operations' \
'disable-legacy-crypto:Disable legacy signing crypto on this oauth2 resource server. This is the default' \
'prefer-short-username:Use the '\''name'\'' attribute instead of '\''spn'\'' for the preferred_username' \
'prefer-spn-username:Use the '\''spn'\'' attribute instead of '\''name'\'' for the preferred_username' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm system oauth2 commands' commands "$@"
}
(( $+functions[_kanidm__person_commands] )) ||
_kanidm__person_commands() {
    local commands; commands=(
'credential:Manage the credentials this person uses for authentication' \
'radius:Manage radius access for this person' \
'posix:Manage posix extensions for this person allowing access to unix/linux systems' \
'session:Manage sessions (user auth tokens) associated to this person' \
'ssh:Manage ssh public key'\''s associated to this person' \
'list:List all persons' \
'get:View a specific person' \
'update:Update a specific person'\''s attributes' \
'create:Create a new person'\''s account' \
'delete:Delete a person'\''s account' \
'validity:Manage a person'\''s account validity, such as expiry time (account lock/unlock)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm person commands' commands "$@"
}
(( $+functions[_kanidm__group__posix_commands] )) ||
_kanidm__group__posix_commands() {
    local commands; commands=(
'show:Show details of a specific posix group' \
'set:Setup posix group properties, or alter them' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm group posix commands' commands "$@"
}
(( $+functions[_kanidm__person__posix_commands] )) ||
_kanidm__person__posix_commands() {
    local commands; commands=(
'show:' \
'set:' \
'set_password:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm person posix commands' commands "$@"
}
(( $+functions[_kanidm__service-account__posix_commands] )) ||
_kanidm__service-account__posix_commands() {
    local commands; commands=(
'show:' \
'set:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm service-account posix commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__prefer-short-username_commands] )) ||
_kanidm__system__oauth2__prefer-short-username_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 prefer-short-username commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__prefer-spn-username_commands] )) ||
_kanidm__system__oauth2__prefer-spn-username_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 prefer-spn-username commands' commands "$@"
}
(( $+functions[_kanidm__group__purge_members_commands] )) ||
_kanidm__group__purge_members_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group purge_members commands' commands "$@"
}
(( $+functions[_kanidm__system__pw-badlist_commands] )) ||
_kanidm__system__pw-badlist_commands() {
    local commands; commands=(
'show:Show information about this system'\''s password badlist' \
'upload:Upload an extra badlist, appending to the currently configured one. This badlist will be preprocessed to remove items that are already caught by "zxcvbn" at the configured level' \
'remove:Remove the content of these lists if present in the configured badlist' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm system pw-badlist commands' commands "$@"
}
(( $+functions[_kanidm__person__radius_commands] )) ||
_kanidm__person__radius_commands() {
    local commands; commands=(
'show_secret:Show the RADIUS secret for a user' \
'generate_secret:Generate a randomized RADIUS secret for a user' \
'delete_secret:Remove the configured RADIUS secret for the user' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm person radius commands' commands "$@"
}
(( $+functions[_kanidm__raw_commands] )) ||
_kanidm__raw_commands() {
    local commands; commands=(
'search:' \
'create:' \
'modify:' \
'delete:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm raw commands' commands "$@"
}
(( $+functions[_kanidm__recycle-bin_commands] )) ||
_kanidm__recycle-bin_commands() {
    local commands; commands=(
'list:List objects that are in the recycle bin' \
'get:Display an object from the recycle bin' \
'revive:Revive a recycled object into a live (accessible) state - this is the opposite of "delete"' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm recycle-bin commands' commands "$@"
}
(( $+functions[_kanidm__system__pw-badlist__remove_commands] )) ||
_kanidm__system__pw-badlist__remove_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system pw-badlist remove commands' commands "$@"
}
(( $+functions[_kanidm__group__remove_members_commands] )) ||
_kanidm__group__remove_members_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group remove_members commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__reset-secrets_commands] )) ||
_kanidm__system__oauth2__reset-secrets_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 reset-secrets commands' commands "$@"
}
(( $+functions[_kanidm__system__domain__reset_token_key_commands] )) ||
_kanidm__system__domain__reset_token_key_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system domain reset_token_key commands' commands "$@"
}
(( $+functions[_kanidm__recycle-bin__revive_commands] )) ||
_kanidm__recycle-bin__revive_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm recycle-bin revive commands' commands "$@"
}
(( $+functions[_kanidm__raw__search_commands] )) ||
_kanidm__raw__search_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm raw search commands' commands "$@"
}
(( $+functions[_kanidm__self_commands] )) ||
_kanidm__self_commands() {
    local commands; commands=(
'whoami:Show the current authenticated user'\''s identity' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm self commands' commands "$@"
}
(( $+functions[_kanidm__service-account_commands] )) ||
_kanidm__service-account_commands() {
    local commands; commands=(
'credential:Manage the generated password of this service account' \
'api-token:Manage api tokens associated to this service account' \
'posix:Manage posix extensions for this service account allowing access to unix/linux systems' \
'session:Manage sessions (user auth tokens) associated to this service account' \
'ssh:Manage ssh public key'\''s associated to this person' \
'list:List all service accounts' \
'get:View a specific service account' \
'create:Create a new service account' \
'update:Update a specific service account'\''s attributes' \
'delete:Delete a service account' \
'validity:Manage a service account validity, such as expiry time (account lock/unlock)' \
'into-person:Convert a service account into a person. This is used during the alpha.9 to alpha.10 migration to "fix up" accounts that were not previously marked as persons' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm service-account commands' commands "$@"
}
(( $+functions[_kanidm__person__session_commands] )) ||
_kanidm__person__session_commands() {
    local commands; commands=(
'status:Show the status of logged in sessions associated to this account' \
'destroy:Destroy / revoke a session for this account. Access to the session (user auth token) is NOT required, only the uuid of the session' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm person session commands' commands "$@"
}
(( $+functions[_kanidm__service-account__session_commands] )) ||
_kanidm__service-account__session_commands() {
    local commands; commands=(
'status:Show the status of logged in sessions associated to this account' \
'destroy:Destroy / revoke a session for this account. Access to the session (user auth token) is NOT required, only the uuid of the session' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm service-account session commands' commands "$@"
}
(( $+functions[_kanidm__session_commands] )) ||
_kanidm__session_commands() {
    local commands; commands=(
'list:List current active sessions' \
'cleanup:Remove sessions that have expired or are invalid' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm session commands' commands "$@"
}
(( $+functions[_kanidm__group__posix__set_commands] )) ||
_kanidm__group__posix__set_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group posix set commands' commands "$@"
}
(( $+functions[_kanidm__person__posix__set_commands] )) ||
_kanidm__person__posix__set_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person posix set commands' commands "$@"
}
(( $+functions[_kanidm__service-account__posix__set_commands] )) ||
_kanidm__service-account__posix__set_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account posix set commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__set-displayname_commands] )) ||
_kanidm__system__oauth2__set-displayname_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 set-displayname commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__set-landing-url_commands] )) ||
_kanidm__system__oauth2__set-landing-url_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 set-landing-url commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__set-name_commands] )) ||
_kanidm__system__oauth2__set-name_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 set-name commands' commands "$@"
}
(( $+functions[_kanidm__system__domain__set_domain_display_name_commands] )) ||
_kanidm__system__domain__set_domain_display_name_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system domain set_domain_display_name commands' commands "$@"
}
(( $+functions[_kanidm__group__set_members_commands] )) ||
_kanidm__group__set_members_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group set_members commands' commands "$@"
}
(( $+functions[_kanidm__person__posix__set_password_commands] )) ||
_kanidm__person__posix__set_password_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person posix set_password commands' commands "$@"
}
(( $+functions[_kanidm__group__posix__show_commands] )) ||
_kanidm__group__posix__show_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm group posix show commands' commands "$@"
}
(( $+functions[_kanidm__person__posix__show_commands] )) ||
_kanidm__person__posix__show_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person posix show commands' commands "$@"
}
(( $+functions[_kanidm__person__validity__show_commands] )) ||
_kanidm__person__validity__show_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person validity show commands' commands "$@"
}
(( $+functions[_kanidm__service-account__posix__show_commands] )) ||
_kanidm__service-account__posix__show_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account posix show commands' commands "$@"
}
(( $+functions[_kanidm__service-account__validity__show_commands] )) ||
_kanidm__service-account__validity__show_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account validity show commands' commands "$@"
}
(( $+functions[_kanidm__system__domain__show_commands] )) ||
_kanidm__system__domain__show_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system domain show commands' commands "$@"
}
(( $+functions[_kanidm__system__pw-badlist__show_commands] )) ||
_kanidm__system__pw-badlist__show_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system pw-badlist show commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__show-basic-secret_commands] )) ||
_kanidm__system__oauth2__show-basic-secret_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 show-basic-secret commands' commands "$@"
}
(( $+functions[_kanidm__person__radius__show_secret_commands] )) ||
_kanidm__person__radius__show_secret_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person radius show_secret commands' commands "$@"
}
(( $+functions[_kanidm__person__ssh_commands] )) ||
_kanidm__person__ssh_commands() {
    local commands; commands=(
'list_publickeys:' \
'add_publickey:' \
'delete_publickey:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm person ssh commands' commands "$@"
}
(( $+functions[_kanidm__service-account__ssh_commands] )) ||
_kanidm__service-account__ssh_commands() {
    local commands; commands=(
'list_publickeys:' \
'add_publickey:' \
'delete_publickey:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm service-account ssh commands' commands "$@"
}
(( $+functions[_kanidm__person__credential__status_commands] )) ||
_kanidm__person__credential__status_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person credential status commands' commands "$@"
}
(( $+functions[_kanidm__person__session__status_commands] )) ||
_kanidm__person__session__status_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person session status commands' commands "$@"
}
(( $+functions[_kanidm__service-account__api-token__status_commands] )) ||
_kanidm__service-account__api-token__status_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account api-token status commands' commands "$@"
}
(( $+functions[_kanidm__service-account__credential__status_commands] )) ||
_kanidm__service-account__credential__status_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account credential status commands' commands "$@"
}
(( $+functions[_kanidm__service-account__session__status_commands] )) ||
_kanidm__service-account__session__status_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account session status commands' commands "$@"
}
(( $+functions[_kanidm__system__sync_commands] )) ||
_kanidm__system__sync_commands() {
    local commands; commands=(
'list:List all configured IDM sync accounts' \
'get:Display a selected IDM sync account' \
'create:Create a new IDM sync account' \
'generate-token:Generate a bearer token for an IDM sync account' \
'destroy-token:Destroy (revoke) the bearer token for an IDM sync account' \
'force-refresh:Reset the sync cookie of this connector, so that on the next operation of the sync tool a full refresh of the provider is requested. Kanidm attributes that have been granted authority will *not* be lost or deleted' \
'finalise:Finalise and remove this sync account. This will transfer all synchronised entries into the authority of Kanidm. This signals the end of a migration from an external IDM into Kanidm. ⚠️  This action can NOT be undone. Once complete, it is most likely that attempting to recreate a sync account from the same IDM will fail due to conflicting entries that Kanidm now owns' \
'terminate:Terminate and remove this sync account. This will DELETE all entries that were imported from the external IDM source. ⚠️  This action can NOT be undone, and will require you to recreate the sync account if you wish to re-import data. Recreating the sync account may fail until the recycle bin and and tombstones are purged' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm system sync commands' commands "$@"
}
(( $+functions[_kanidm__system_commands] )) ||
_kanidm__system_commands() {
    local commands; commands=(
'pw-badlist:Configure and manage the password badlist entry' \
'oauth2:Configure and display oauth2/oidc resource server configuration' \
'domain:Configure and display domain configuration' \
'sync:Configure synchronisation from an external IDM system' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm system commands' commands "$@"
}
(( $+functions[_kanidm__system__sync__terminate_commands] )) ||
_kanidm__system__sync__terminate_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system sync terminate commands' commands "$@"
}
(( $+functions[_kanidm__person__credential__update_commands] )) ||
_kanidm__person__credential__update_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person credential update commands' commands "$@"
}
(( $+functions[_kanidm__person__update_commands] )) ||
_kanidm__person__update_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person update commands' commands "$@"
}
(( $+functions[_kanidm__service-account__update_commands] )) ||
_kanidm__service-account__update_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm service-account update commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__update-scope-map_commands] )) ||
_kanidm__system__oauth2__update-scope-map_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 update-scope-map commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__update-sup-scope-map_commands] )) ||
_kanidm__system__oauth2__update-sup-scope-map_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 update-sup-scope-map commands' commands "$@"
}
(( $+functions[_kanidm__system__pw-badlist__upload_commands] )) ||
_kanidm__system__pw-badlist__upload_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system pw-badlist upload commands' commands "$@"
}
(( $+functions[_kanidm__person__credential__use_reset_token_commands] )) ||
_kanidm__person__credential__use_reset_token_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm person credential use_reset_token commands' commands "$@"
}
(( $+functions[_kanidm__person__validity_commands] )) ||
_kanidm__person__validity_commands() {
    local commands; commands=(
'show:Show an accounts validity window' \
'expire_at:Set an accounts expiry time' \
'begin_from:Set an account valid from time' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm person validity commands' commands "$@"
}
(( $+functions[_kanidm__service-account__validity_commands] )) ||
_kanidm__service-account__validity_commands() {
    local commands; commands=(
'show:Show an accounts validity window' \
'expire_at:Set an accounts expiry time' \
'begin_from:Set an account valid from time' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'kanidm service-account validity commands' commands "$@"
}
(( $+functions[_kanidm__version_commands] )) ||
_kanidm__version_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm version commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__warning-enable-legacy-crypto_commands] )) ||
_kanidm__system__oauth2__warning-enable-legacy-crypto_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 warning-enable-legacy-crypto commands' commands "$@"
}
(( $+functions[_kanidm__system__oauth2__warning-insecure-client-disable-pkce_commands] )) ||
_kanidm__system__oauth2__warning-insecure-client-disable-pkce_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm system oauth2 warning-insecure-client-disable-pkce commands' commands "$@"
}
(( $+functions[_kanidm__self__whoami_commands] )) ||
_kanidm__self__whoami_commands() {
    local commands; commands=()
    _describe -t commands 'kanidm self whoami commands' commands "$@"
}

_kanidm "$@"
