#compdef dinio

autoload -U is-at-least

_dinio() {
    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[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_dinio_commands" \
"*::: :->dinio" \
&& ret=0
    case $state in
    (dinio)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-command-$line[1]:"
        case $line[1] in
            (profile)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__profile_commands" \
"*::: :->profile" \
&& ret=0

    case $state in
    (profile)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-profile-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
'::name:_default' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'--core-url=[Core base URL]:URL:_default' \
'--email=[Email of the user the personal key belongs to (for \`dinio me\`)]:EMAIL:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'(--email)--clear-email[Remove the stored email]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':name:_default' \
&& ret=0
;;
(set-key)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':name:_default' \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':name:_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':name:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__profile__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-profile-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set-key)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(auth)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__auth_commands" \
"*::: :->auth" \
&& ret=0

    case $state in
    (auth)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-auth-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__auth__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-auth-help-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(me)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__me_commands" \
"*::: :->me" \
&& ret=0

    case $state in
    (me)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-me-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" : \
'--email=[Your email, instead of the one stored in the profile]:EMAIL:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(key)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__me__subcmd__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-me-key-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
'--email=[Your email, instead of the one stored in the profile]:EMAIL:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
'--email=[Your email, instead of the one stored in the profile]:EMAIL:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__me__subcmd__key__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-me-key-help-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__me__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-me-help-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(key)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__me__subcmd__help__subcmd__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-me-help-key-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(zone)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__zone_commands" \
"*::: :->zone" \
&& ret=0

    case $state in
    (zone)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-zone-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':name:_default' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(key)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__zone__subcmd__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-zone-key-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__zone__subcmd__key__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-zone-key-help-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(export)
_arguments "${_arguments_options[@]}" : \
'--format=[File format; default from the --file extension, else json]:FORMAT:((json\:"dinio-zone document"
bind\:"BIND zone file"
csv\:"CSV (name, ttl, type, data)"))' \
'-f+[Write to this file instead of stdout]:PATH:_files' \
'--file=[Write to this file instead of stdout]:PATH:_files' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
'--format=[File format; default from the file extension (.json, .zone/.bind/.db, .csv)]:FORMAT:((json\:"dinio-zone document"
bind\:"BIND zone file"
csv\:"CSV (name, ttl, type, data)"))' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--dry-run[Only show what would be imported]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':zone -- Zone name or uuid:_default' \
':file -- The file (`-` for stdin):_files' \
&& ret=0
;;
(discover)
_arguments "${_arguments_options[@]}" : \
'*--ns=[Nameserver to ask (the previous provider'\''s), when the delegation already points to Dinio; repeatable]:NAMESERVER:_default' \
'-f+[Write the proposal (a dinio-zone document) to this file]:PATH:_files' \
'--file=[Write the proposal (a dinio-zone document) to this file]:PATH:_files' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__zone__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-zone-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(key)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__zone__subcmd__help__subcmd__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-zone-help-key-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(discover)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(member)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__member_commands" \
"*::: :->member" \
&& ret=0

    case $state in
    (member)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-member-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':email -- The user'\''s email (the account must already exist; no invitations):_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':user -- The user'\''s email or uuid:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__member__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-member-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(record)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__record_commands" \
"*::: :->record" \
&& ret=0

    case $state in
    (record)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-record-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--name=[Only this owner name (relative to the zone)]:NAME:_default' \
'--type=[Only this type]:TYPE:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--ttl=[TTL in seconds for a new record set (default 3600); an existing set keeps its TTL]:TTL:_default' \
'--geo-routing=[Answer by the client'\''s location]:true|false:(true false)' \
'--balance-ratio=[Weight among the values of the record set (0-65535)]:N:_default' \
'--host-health=[How the value'\''s health is decided (auto needs a health check\: \`dinio health create\` switches the value to auto)]:MODE:((none\:"Not managed, always answered (default)"
up\:"Forced healthy; the health check is paused"
down\:"Forced unhealthy, left out of answers (maintenance); the health check is paused"
auto\:"The health check decides"))' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
'*::data -- Record data; several words are joined (`10 mail.example.com`). Quote data with a word starting with `-` (`"v=spf1 -all"`), or put it after `--`:_default' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
'--id=[Value uuid instead of its data]:ID:_default' \
'--data=[New data]:NEW:_default' \
'--geo-routing=[Answer by the client'\''s location]:true|false:(true false)' \
'--balance-ratio=[Weight among the values of the record set (0-65535)]:N:_default' \
'--host-health=[How the value'\''s health is decided (auto needs a health check\: \`dinio health create\` switches the value to auto)]:MODE:((none\:"Not managed, always answered (default)"
up\:"Forced healthy; the health check is paused"
down\:"Forced unhealthy, left out of answers (maintenance); the health check is paused"
auto\:"The health check decides"))' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--force[Allow changing the zone'\''s own SOA/NS (can take the zone off Dinio'\''s nameservers)]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
'*::current -- Current data of the value to change (or use --id):_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'(--all)--id=[Value uuid instead of its data]:ID:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--all[Remove every value of the record set]' \
'--force[Allow removing the zone'\''s own SOA/NS (can take the zone off Dinio'\''s nameservers)]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
'*::data -- Data of the value to remove (or use --id / --all):_default' \
&& ret=0
;;
(ttl)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--force[Allow changing the zone'\''s own SOA/NS]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
':seconds -- TTL in seconds:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__record__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-record-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(ttl)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(health)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__health_commands" \
"*::: :->health" \
&& ret=0

    case $state in
    (health)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-health-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" : \
'--id=[Value uuid instead of its data]:ID:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
'*::data -- Data of the record value (or use --id):_default' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
'--id=[Value uuid instead of its data]:ID:_default' \
'--http=[HTTP(S) check of this URL]:URL:_default' \
'--tcp=[TCP connect check, e.g. 192.0.2.1\:443 or \[2001\:db8\:\:1\]\:443]:HOST:PORT:_default' \
'--ping=[ICMP ping check of this address]:ADDRESS:_default' \
'--method=[HTTP method\: GET, POST or HEAD]:METHOD:_default' \
'*--expect=[Accepted status codes, comma separated (e.g. 200,204)]:CODES:_default' \
'*--header=[Request header as NAME\:VALUE (repeatable)]:NAME:VALUE:_default' \
'--body=[Request body]:BODY:_default' \
'--interval=[Time between checks, 1m-24h (default 1m when creating)]:DURATION:_default' \
'--timeout=[Time limit of one attempt, 1s-30s (default 5s when creating)]:DURATION:_default' \
'--retries=[Retries before the value counts as unhealthy, 0-5]:RETRIES:_default' \
'--retry-interval=[Pause between retries, 5s-60s (Core uses 5s when not set)]:DURATION:_default' \
'--label=[Free-form label of the check]:TEXT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
'*::data -- Data of the record value (or use --id):_default' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
'--id=[Value uuid instead of its data]:ID:_default' \
'--http=[HTTP(S) check of this URL]:URL:_default' \
'--tcp=[TCP connect check, e.g. 192.0.2.1\:443 or \[2001\:db8\:\:1\]\:443]:HOST:PORT:_default' \
'--ping=[ICMP ping check of this address]:ADDRESS:_default' \
'--method=[HTTP method\: GET, POST or HEAD]:METHOD:_default' \
'*--expect=[Accepted status codes, comma separated (e.g. 200,204)]:CODES:_default' \
'*--header=[Request header as NAME\:VALUE (repeatable)]:NAME:VALUE:_default' \
'--body=[Request body]:BODY:_default' \
'--interval=[Time between checks, 1m-24h (default 1m when creating)]:DURATION:_default' \
'--timeout=[Time limit of one attempt, 1s-30s (default 5s when creating)]:DURATION:_default' \
'--retries=[Retries before the value counts as unhealthy, 0-5]:RETRIES:_default' \
'--retry-interval=[Pause between retries, 5s-60s (Core uses 5s when not set)]:DURATION:_default' \
'--label=[Free-form label of the check]:TEXT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
'*::data -- Data of the record value (or use --id):_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'--id=[Value uuid instead of its data]:ID:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
'*::data -- Data of the record value (or use --id):_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__health__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-health-help-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(geo-ban)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__geo-ban_commands" \
"*::: :->geo-ban" \
&& ret=0

    case $state in
    (geo-ban)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-geo-ban-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--id=[Value uuid instead of its data]:ID:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
'*::data -- Data of the record value (or use --id):_default' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--id=[Value uuid instead of its data]:ID:_default' \
'*--area=[Area\: country code (HR, HRV), country, region or sub-region name, or level\:code (country\:191); repeatable]:AREA:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
'*::data -- Data of the record value (or use --id):_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'--id=[Value uuid instead of its data]:ID:_default' \
'*--area=[Area to unban; repeatable]:AREA:_default' \
'(--area --all)--ban-id=[Geo ban uuid instead of its area]:BAN_ID:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'(--area)--all[Remove every geo ban of the value]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
':name -- Owner name, relative to the zone (`www`, `@`); a trailing dot makes it absolute:_default' \
':record_type -- Record type (A, AAAA, CNAME, MX, TXT, ...):_default' \
'*::data -- Data of the record value (or use --id):_default' \
&& ret=0
;;
(areas)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--refresh[Read the list from Core now instead of the cached copy]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
'::filter -- Case-insensitive part of a name, or a code:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__geo-ban__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-geo-ban-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(areas)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(client)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__client_commands" \
"*::: :->client" \
&& ret=0

    case $state in
    (client)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-client-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':client -- Name, IDENTIFY value or uuid:_default' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
'--type=[How the client is recognised; an IP address implies \`ip\`]:ID_TYPE:((ip\:"Plain DNS over UDP/TCP, by source IP"
hostname\:"DNS over TLS, by the hostname the client connects to"
path\:"DNS over HTTPS, by a part of the request path"))' \
'--name=[Label for the identity (1–64 characters, need not be unique)]:NAME:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::identify -- The client'\''s IP address (plain DNS); leave it out for `--type hostname|path`:_default' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
'--identify=[New IP address (ip clients only)]:IDENTIFY:_default' \
'--type=[New type; changing to hostname or path generates a new IDENTIFY value]:ID_TYPE:((ip\:"Plain DNS over UDP/TCP, by source IP"
hostname\:"DNS over TLS, by the hostname the client connects to"
path\:"DNS over HTTPS, by a part of the request path"))' \
'(--clear-name)--name=[New label]:NAME:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--clear-name[Remove the label]' \
'(--disable)--enable[Let Relay recognise the client again]' \
'--disable[Stop Relay recognising the client (its sinkhole lists stop applying)]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':client -- Name, IDENTIFY value or uuid:_default' \
&& ret=0
;;
(new-identify)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':client -- Name, IDENTIFY value or uuid:_default' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':client -- Name, IDENTIFY value or uuid:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__client__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-client-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(new-identify)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(sinkhole)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__sinkhole_commands" \
"*::: :->sinkhole" \
&& ret=0

    case $state in
    (sinkhole)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-sinkhole-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--shared[Every shared list on the platform (any owner) instead of your own]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':list -- List name or uuid:_default' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
'--type=[Blacklist blocks matching names; whitelist allows them even if a blacklist of the same client matches]:LIST_TYPE:((blacklist\:"Matching names are blocked"
whitelist\:"Matching names are allowed even if a blacklist matches"))' \
'--name=[Name of the list (need not be unique)]:NAME:_default' \
'*--link=[Apply it to this client of yours right away (name, IDENTIFY value or uuid; repeatable)]:CLIENT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--shared[Let other users link their clients to it (they cannot see its rules)]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':list -- List name or uuid:_default' \
'::name -- New name; without it the name is removed:_default' \
&& ret=0
;;
(share)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':list -- List name or uuid:_default' \
&& ret=0
;;
(unshare)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':list -- List name or uuid:_default' \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':list -- List name or uuid:_default' \
&& ret=0
;;
(rule)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__sinkhole__subcmd__rule_commands" \
"*::: :->rule" \
&& ret=0

    case $state in
    (rule)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-sinkhole-rule-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
'--type=[Match type; \`*.name\` implies wildcard, any other pattern exact]:RULE_TYPE:((exact\:"One name"
wildcard\:"Every name strictly below a name (\`*.example.com\`)"
regex\:"A regular expression over the name, without the trailing dot"))' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':list -- List name or uuid:_default' \
':pattern -- Name (ads.example.com), `*.` + name (*.ads.example) or, with --type regex, a regular expression:_default' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
'--id=[Rule uuid instead of its pattern]:ID:_default' \
'--pattern=[New pattern]:PATTERN:_default' \
'--type=[New match type]:RULE_TYPE:((exact\:"One name"
wildcard\:"Every name strictly below a name (\`*.example.com\`)"
regex\:"A regular expression over the name, without the trailing dot"))' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':list -- List name or uuid:_default' \
'::pattern -- Current pattern of the rule (or use --id):_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'(--all)--id=[Rule uuid instead of its pattern]:ID:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--all[Remove every rule of the list]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':list -- List name or uuid:_default' \
'*::patterns -- Pattern of a rule to remove; several are allowed:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-sinkhole-rule-help-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(link)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__sinkhole__subcmd__link_commands" \
"*::: :->link" \
&& ret=0

    case $state in
    (link)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-sinkhole-link-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
'::client -- Only this client (name, IDENTIFY value or uuid):_default' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':client -- Name, IDENTIFY value or uuid of your client:_default' \
':list -- List name or uuid:_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':client -- Name, IDENTIFY value or uuid of your client:_default' \
':list -- List name or uuid:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__sinkhole__subcmd__link__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-sinkhole-link-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__sinkhole__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-sinkhole-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(share)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(unshare)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rule)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__sinkhole__subcmd__help__subcmd__rule_commands" \
"*::: :->rule" \
&& ret=0

    case $state in
    (rule)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-sinkhole-help-rule-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(link)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__sinkhole__subcmd__help__subcmd__link_commands" \
"*::: :->link" \
&& ret=0

    case $state in
    (link)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-sinkhole-help-link-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(redirect)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__redirect_commands" \
"*::: :->redirect" \
&& ret=0

    case $state in
    (redirect)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-redirect-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--zone=[Only this zone (name or uuid)]:ZONE:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- Host name:_default' \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
'--zone=[Zone of the host name (name or uuid); default\: the longest of your zones that contains it]:ZONE:_default' \
'--code=[HTTP status\: 301/308 permanent (browsers may cache them), 302/303/307 temporary]:CODE:_default' \
'--tls=[HTTPS certificate\: auto (Core issues one), manual (upload with \`dinio cert add\`), none (the platform default)]:TLS:((auto\:"Core issues and renews a Let'\''s Encrypt certificate"
manual\:"You upload your own certificate (\`dinio cert add\`)"
none\:"No certificate of its own; HTTPS gets the platform default"))' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name -- Host name, e.g. go.example.com; it must not have A/AAAA/CNAME records of your own:_default' \
':location -- Target http(s) URL:_default' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
'--location=[New target http(s) URL]:LOCATION:_default' \
'--code=[New HTTP status (301, 302, 303, 307, 308)]:CODE:_default' \
'--tls=[New certificate source; auto starts issuing one]:TLS:((auto\:"Core issues and renews a Let'\''s Encrypt certificate"
manual\:"You upload your own certificate (\`dinio cert add\`)"
none\:"No certificate of its own; HTTPS gets the platform default"))' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name -- Host name:_default' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- Host name:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__redirect__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-redirect-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(cert)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__cert_commands" \
"*::: :->cert" \
&& ret=0

    case $state in
    (cert)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-cert-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--zone=[Only this zone (name or uuid)]:ZONE:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':cert -- Certificate uuid, or a host name it covers:_default' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--zone=[Zone the names belong to (name or uuid)]:ZONE:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':chain -- PEM file with the certificate chain, leaf first:_files' \
':key -- PEM file with the private key:_files' \
&& ret=0
;;
(renew)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':cert -- Certificate uuid, or a host name it covers:_default' \
':chain -- PEM file with the certificate chain, leaf first:_files' \
':key -- PEM file with the private key:_files' \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':cert -- Certificate uuid, or a host name it covers:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__cert__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-cert-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(renew)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(audit)
_arguments "${_arguments_options[@]}" : \
'(--from --to)--since=[Up to now, this far back (e.g. 1h, 24h, 7d)]:DURATION:_default' \
'--from=[Start, RFC 3339 with an offset (e.g. 2026-10-27T08\:00\:00Z); default 24h before --to]:TIME:_default' \
'--to=[End, RFC 3339 with an offset; default now]:TIME:_default' \
'--zone=[Only this zone (name or uuid)]:ZONE:_default' \
'--action=[Exact action (record.create) or a prefix ending in * (record.*)]:ACTION:_default' \
'--outcome=[Only this outcome]:OUTCOME:(success denied invalid conflict not_found error)' \
'--category=[Only this category]:CATEGORY:(api relay auth system)' \
'--actor-type=[Only this kind of actor]:ACTOR_TYPE:(user user_key zone_key edge system anonymous)' \
'--user=[Only actions of this user (uuid, see \`dinio me show\`)]:UUID:_default' \
'--resource-type=[Only this resource type (record, zone, redirect, ...)]:RESOURCE_TYPE:_default' \
'--resource-id=[Only this resource id]:RESOURCE_ID:_default' \
'--request-id=[Only the entries of one API request]:UUID:_default' \
'(--all)--limit=[Entries to show, 1–500 (default 50)]:LIMIT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--all[Every entry in the range, page by page]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(stats)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__stats_commands" \
"*::: :->stats" \
&& ret=0

    case $state in
    (stats)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-stats-command-$line[1]:"
        case $line[1] in
            (zone)
_arguments "${_arguments_options[@]}" : \
'--by=[How to split the series]:BY:(none rcode qtype geo name)' \
'--name=[Only this name, relative to the zone (\`www\`, \`@\`)]:NAME:_default' \
'(--from --to)--since=[Up to now, this far back (e.g. 1h, 24h, 7d)]:DURATION:_default' \
'--from=[Start, RFC 3339 with an offset (e.g. 2026-10-27T08\:00\:00Z); default 24h before --to]:TIME:_default' \
'--to=[End, RFC 3339 with an offset; default now]:TIME:_default' \
'--step=[Step of the series\: auto, 10m, 30m, 1h, 3h, 6h, 12h, 1d, 7d (default auto)]:STEP:_default' \
'--limit=[Series kept, 1–100 (default 20); the rest is merged into "Other"]:LIMIT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--compare[Also compare with the preceding range of equal length]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(nx)
_arguments "${_arguments_options[@]}" : \
'(--from --to)--since=[Up to now, this far back (e.g. 1h, 24h, 7d)]:DURATION:_default' \
'--from=[Start, RFC 3339 with an offset (e.g. 2026-10-27T08\:00\:00Z); default 24h before --to]:TIME:_default' \
'--to=[End, RFC 3339 with an offset; default now]:TIME:_default' \
'--step=[Step of the series\: auto, 10m, 30m, 1h, 3h, 6h, 12h, 1d, 7d (default auto)]:STEP:_default' \
'--limit=[Series kept, 1–100 (default 20); the rest is merged into "Other"]:LIMIT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--compare[Also compare with the preceding range of equal length]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(names)
_arguments "${_arguments_options[@]}" : \
'(--from --to)--since=[Up to now, this far back (e.g. 1h, 24h, 7d)]:DURATION:_default' \
'--from=[Start, RFC 3339 with an offset (e.g. 2026-10-27T08\:00\:00Z); default 24h before --to]:TIME:_default' \
'--to=[End, RFC 3339 with an offset; default now]:TIME:_default' \
'--limit=[Items, 1–100 (default 20)]:LIMIT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(nx-names)
_arguments "${_arguments_options[@]}" : \
'(--from --to)--since=[Up to now, this far back (e.g. 1h, 24h, 7d)]:DURATION:_default' \
'--from=[Start, RFC 3339 with an offset (e.g. 2026-10-27T08\:00\:00Z); default 24h before --to]:TIME:_default' \
'--to=[End, RFC 3339 with an offset; default now]:TIME:_default' \
'--limit=[Items, 1–100 (default 20)]:LIMIT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':zone -- Zone name or uuid:_default' \
&& ret=0
;;
(client)
_arguments "${_arguments_options[@]}" : \
'--by=[How to split the series]:BY:(none event_type client)' \
'(--from --to)--since=[Up to now, this far back (e.g. 1h, 24h, 7d)]:DURATION:_default' \
'--from=[Start, RFC 3339 with an offset (e.g. 2026-10-27T08\:00\:00Z); default 24h before --to]:TIME:_default' \
'--to=[End, RFC 3339 with an offset; default now]:TIME:_default' \
'--step=[Step of the series\: auto, 10m, 30m, 1h, 3h, 6h, 12h, 1d, 7d (default auto)]:STEP:_default' \
'--limit=[Series kept, 1–100 (default 20); the rest is merged into "Other"]:LIMIT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--compare[Also compare with the preceding range of equal length]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
'::client -- Only this client (name, IDENTIFY value or uuid); default all of yours:_default' \
&& ret=0
;;
(rcodes)
_arguments "${_arguments_options[@]}" : \
'--by=[How to split the series]:BY:(none rcode client)' \
'(--from --to)--since=[Up to now, this far back (e.g. 1h, 24h, 7d)]:DURATION:_default' \
'--from=[Start, RFC 3339 with an offset (e.g. 2026-10-27T08\:00\:00Z); default 24h before --to]:TIME:_default' \
'--to=[End, RFC 3339 with an offset; default now]:TIME:_default' \
'--step=[Step of the series\: auto, 10m, 30m, 1h, 3h, 6h, 12h, 1d, 7d (default auto)]:STEP:_default' \
'--limit=[Series kept, 1–100 (default 20); the rest is merged into "Other"]:LIMIT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'--compare[Also compare with the preceding range of equal length]' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
'::client -- Only this client (name, IDENTIFY value or uuid); default all of yours:_default' \
&& ret=0
;;
(blocked)
_arguments "${_arguments_options[@]}" : \
'(--from --to)--since=[Up to now, this far back (e.g. 1h, 24h, 7d)]:DURATION:_default' \
'--from=[Start, RFC 3339 with an offset (e.g. 2026-10-27T08\:00\:00Z); default 24h before --to]:TIME:_default' \
'--to=[End, RFC 3339 with an offset; default now]:TIME:_default' \
'--limit=[Items, 1–100 (default 20)]:LIMIT:_default' \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
'::client -- Only this client (name, IDENTIFY value or uuid); default all of yours:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__stats__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-stats-help-command-$line[1]:"
        case $line[1] in
            (zone)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(nx)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(names)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(nx-names)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(client)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rcodes)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(blocked)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(free-domain)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_dinio__subcmd__free-domain_commands" \
"*::: :->free-domain" \
&& ret=0

    case $state in
    (free-domain)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-free-domain-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':name -- The full name, e.g. myhome.dinio.eu:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__free-domain__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-free-domain-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(completion)
_arguments "${_arguments_options[@]}" : \
'--profile=[Profile from the config file]:PROFILE:_default' \
'--url=[Core base URL, e.g. https\://api-dinio.bitelex.com]:URL:_default' \
'--api-key=[API key issued by Core (personal du_… or zone dz_…)]:API_KEY:_default' \
'-o+[Output format]:OUTPUT:(table json)' \
'--output=[Output format]:OUTPUT:(table json)' \
'-y[Do not ask for confirmation on destructive commands]' \
'--yes[Do not ask for confirmation on destructive commands]' \
'-h[Print help]' \
'--help[Print help]' \
':shell:(bash elvish fish powershell zsh)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-command-$line[1]:"
        case $line[1] in
            (profile)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__profile_commands" \
"*::: :->profile" \
&& ret=0

    case $state in
    (profile)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-profile-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set-key)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(use)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(auth)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__auth_commands" \
"*::: :->auth" \
&& ret=0

    case $state in
    (auth)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-auth-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(me)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__me_commands" \
"*::: :->me" \
&& ret=0

    case $state in
    (me)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-me-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(key)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__me__subcmd__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-me-key-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(zone)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__zone_commands" \
"*::: :->zone" \
&& ret=0

    case $state in
    (zone)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-zone-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(key)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__zone__subcmd__key_commands" \
"*::: :->key" \
&& ret=0

    case $state in
    (key)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-zone-key-command-$line[1]:"
        case $line[1] in
            (create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(revoke)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(discover)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(member)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__member_commands" \
"*::: :->member" \
&& ret=0

    case $state in
    (member)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-member-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(record)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__record_commands" \
"*::: :->record" \
&& ret=0

    case $state in
    (record)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-record-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(ttl)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(health)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__health_commands" \
"*::: :->health" \
&& ret=0

    case $state in
    (health)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-health-command-$line[1]:"
        case $line[1] in
            (show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(geo-ban)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__geo-ban_commands" \
"*::: :->geo-ban" \
&& ret=0

    case $state in
    (geo-ban)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-geo-ban-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(areas)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(client)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__client_commands" \
"*::: :->client" \
&& ret=0

    case $state in
    (client)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-client-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(new-identify)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(sinkhole)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__sinkhole_commands" \
"*::: :->sinkhole" \
&& ret=0

    case $state in
    (sinkhole)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-sinkhole-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rename)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(share)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(unshare)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(delete)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rule)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__sinkhole__subcmd__rule_commands" \
"*::: :->rule" \
&& ret=0

    case $state in
    (rule)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-sinkhole-rule-command-$line[1]:"
        case $line[1] in
            (add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(link)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__sinkhole__subcmd__link_commands" \
"*::: :->link" \
&& ret=0

    case $state in
    (link)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-sinkhole-link-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(redirect)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__redirect_commands" \
"*::: :->redirect" \
&& ret=0

    case $state in
    (redirect)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-redirect-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(create)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(cert)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__cert_commands" \
"*::: :->cert" \
&& ret=0

    case $state in
    (cert)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-cert-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(renew)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(audit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(stats)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__stats_commands" \
"*::: :->stats" \
&& ret=0

    case $state in
    (stats)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-stats-command-$line[1]:"
        case $line[1] in
            (zone)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(nx)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(names)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(nx-names)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(client)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(rcodes)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(blocked)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(free-domain)
_arguments "${_arguments_options[@]}" : \
":: :_dinio__subcmd__help__subcmd__free-domain_commands" \
"*::: :->free-domain" \
&& ret=0

    case $state in
    (free-domain)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:dinio-help-free-domain-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(completion)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_dinio_commands] )) ||
_dinio_commands() {
    local commands; commands=(
'profile:Manage connection profiles (URL, API key, email)' \
'auth:Check the active profile against Core' \
'me:Your own user account\: uuid and personal key rotation' \
'zone:Manage DNS zones' \
'member:Manage who has access to a zone' \
'record:Manage DNS records (NAME is relative to the zone, \`@\` is the apex)' \
'health:Manage the health check of a record value' \
'geo-ban:Hide a record value from clients in a country, region or sub-region' \
'client:Manage client identities\: clients Relay recognises by IP, DoT hostname or DoH path' \
'sinkhole:Manage sinkhole lists (names to block or allow), their rules and links to clients' \
'redirect:Manage HTTP(S) redirects by host name' \
'cert:Manage TLS certificates of your zones' \
'audit:Who did what on your account and zones (audit log)' \
'stats:Query statistics of your zones and clients (Relay telemetry)' \
'free-domain:Free domains\: lease a subdomain as your own zone with \`zone create NAME\`' \
'completion:Print a shell completion script' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio commands' commands "$@"
}
(( $+functions[_dinio__subcmd__audit_commands] )) ||
_dinio__subcmd__audit_commands() {
    local commands; commands=()
    _describe -t commands 'dinio audit commands' commands "$@"
}
(( $+functions[_dinio__subcmd__auth_commands] )) ||
_dinio__subcmd__auth_commands() {
    local commands; commands=(
'status:Show the active profile, Core health and whether the key works' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio auth commands' commands "$@"
}
(( $+functions[_dinio__subcmd__auth__subcmd__help_commands] )) ||
_dinio__subcmd__auth__subcmd__help_commands() {
    local commands; commands=(
'status:Show the active profile, Core health and whether the key works' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio auth help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__auth__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__auth__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio auth help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__auth__subcmd__help__subcmd__status_commands] )) ||
_dinio__subcmd__auth__subcmd__help__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'dinio auth help status commands' commands "$@"
}
(( $+functions[_dinio__subcmd__auth__subcmd__status_commands] )) ||
_dinio__subcmd__auth__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'dinio auth status commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert_commands] )) ||
_dinio__subcmd__cert_commands() {
    local commands; commands=(
'list:List the certificates of your zones' \
'show:Show one certificate' \
'add:Upload a certificate for names of a zone (PEM files)' \
'renew:Replace a certificate with a renewed one (same id)' \
'rm:Delete a certificate' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio cert commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__add_commands] )) ||
_dinio__subcmd__cert__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__help_commands] )) ||
_dinio__subcmd__cert__subcmd__help_commands() {
    local commands; commands=(
'list:List the certificates of your zones' \
'show:Show one certificate' \
'add:Upload a certificate for names of a zone (PEM files)' \
'renew:Replace a certificate with a renewed one (same id)' \
'rm:Delete a certificate' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio cert help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__help__subcmd__add_commands] )) ||
_dinio__subcmd__cert__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert help add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__cert__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__cert__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__help__subcmd__renew_commands] )) ||
_dinio__subcmd__cert__subcmd__help__subcmd__renew_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert help renew commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__help__subcmd__rm_commands] )) ||
_dinio__subcmd__cert__subcmd__help__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert help rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__help__subcmd__show_commands] )) ||
_dinio__subcmd__cert__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert help show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__list_commands] )) ||
_dinio__subcmd__cert__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__renew_commands] )) ||
_dinio__subcmd__cert__subcmd__renew_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert renew commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__rm_commands] )) ||
_dinio__subcmd__cert__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__cert__subcmd__show_commands] )) ||
_dinio__subcmd__cert__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio cert show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client_commands] )) ||
_dinio__subcmd__client_commands() {
    local commands; commands=(
'list:List your client identities' \
'show:Show one client identity and the sinkhole lists linked to it' \
'create:Create a client identity' \
'update:Change a client identity' \
'new-identify:Replace the generated IDENTIFY value of a hostname/path client (the old one stops working; reconfigure its devices)' \
'delete:Delete a client identity (unlink its sinkhole lists first)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio client commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__create_commands] )) ||
_dinio__subcmd__client__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__delete_commands] )) ||
_dinio__subcmd__client__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client delete commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__help_commands] )) ||
_dinio__subcmd__client__subcmd__help_commands() {
    local commands; commands=(
'list:List your client identities' \
'show:Show one client identity and the sinkhole lists linked to it' \
'create:Create a client identity' \
'update:Change a client identity' \
'new-identify:Replace the generated IDENTIFY value of a hostname/path client (the old one stops working; reconfigure its devices)' \
'delete:Delete a client identity (unlink its sinkhole lists first)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio client help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__help__subcmd__create_commands] )) ||
_dinio__subcmd__client__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client help create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__help__subcmd__delete_commands] )) ||
_dinio__subcmd__client__subcmd__help__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client help delete commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__client__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__client__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__help__subcmd__new-identify_commands] )) ||
_dinio__subcmd__client__subcmd__help__subcmd__new-identify_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client help new-identify commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__help__subcmd__show_commands] )) ||
_dinio__subcmd__client__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client help show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__help__subcmd__update_commands] )) ||
_dinio__subcmd__client__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client help update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__list_commands] )) ||
_dinio__subcmd__client__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__new-identify_commands] )) ||
_dinio__subcmd__client__subcmd__new-identify_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client new-identify commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__show_commands] )) ||
_dinio__subcmd__client__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__client__subcmd__update_commands] )) ||
_dinio__subcmd__client__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio client update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__completion_commands] )) ||
_dinio__subcmd__completion_commands() {
    local commands; commands=()
    _describe -t commands 'dinio completion commands' commands "$@"
}
(( $+functions[_dinio__subcmd__free-domain_commands] )) ||
_dinio__subcmd__free-domain_commands() {
    local commands; commands=(
'list:List the free domains and how many leases you may have (no API key needed)' \
'check:Check whether a name below a free domain can be leased (no API key needed)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio free-domain commands' commands "$@"
}
(( $+functions[_dinio__subcmd__free-domain__subcmd__check_commands] )) ||
_dinio__subcmd__free-domain__subcmd__check_commands() {
    local commands; commands=()
    _describe -t commands 'dinio free-domain check commands' commands "$@"
}
(( $+functions[_dinio__subcmd__free-domain__subcmd__help_commands] )) ||
_dinio__subcmd__free-domain__subcmd__help_commands() {
    local commands; commands=(
'list:List the free domains and how many leases you may have (no API key needed)' \
'check:Check whether a name below a free domain can be leased (no API key needed)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio free-domain help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__free-domain__subcmd__help__subcmd__check_commands] )) ||
_dinio__subcmd__free-domain__subcmd__help__subcmd__check_commands() {
    local commands; commands=()
    _describe -t commands 'dinio free-domain help check commands' commands "$@"
}
(( $+functions[_dinio__subcmd__free-domain__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__free-domain__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio free-domain help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__free-domain__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__free-domain__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio free-domain help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__free-domain__subcmd__list_commands] )) ||
_dinio__subcmd__free-domain__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio free-domain list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban_commands] )) ||
_dinio__subcmd__geo-ban_commands() {
    local commands; commands=(
'list:List the geo bans of a record value' \
'add:Ban areas for a record value' \
'rm:Remove geo bans of a record value' \
'areas:List the areas that can be used, optionally filtered by name or code' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio geo-ban commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban__subcmd__add_commands] )) ||
_dinio__subcmd__geo-ban__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio geo-ban add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban__subcmd__areas_commands] )) ||
_dinio__subcmd__geo-ban__subcmd__areas_commands() {
    local commands; commands=()
    _describe -t commands 'dinio geo-ban areas commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban__subcmd__help_commands] )) ||
_dinio__subcmd__geo-ban__subcmd__help_commands() {
    local commands; commands=(
'list:List the geo bans of a record value' \
'add:Ban areas for a record value' \
'rm:Remove geo bans of a record value' \
'areas:List the areas that can be used, optionally filtered by name or code' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio geo-ban help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban__subcmd__help__subcmd__add_commands] )) ||
_dinio__subcmd__geo-ban__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio geo-ban help add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban__subcmd__help__subcmd__areas_commands] )) ||
_dinio__subcmd__geo-ban__subcmd__help__subcmd__areas_commands() {
    local commands; commands=()
    _describe -t commands 'dinio geo-ban help areas commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__geo-ban__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio geo-ban help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__geo-ban__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio geo-ban help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban__subcmd__help__subcmd__rm_commands] )) ||
_dinio__subcmd__geo-ban__subcmd__help__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio geo-ban help rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban__subcmd__list_commands] )) ||
_dinio__subcmd__geo-ban__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio geo-ban list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__geo-ban__subcmd__rm_commands] )) ||
_dinio__subcmd__geo-ban__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio geo-ban rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health_commands] )) ||
_dinio__subcmd__health_commands() {
    local commands; commands=(
'show:Show the check of a record value with its last result' \
'create:Create the check of a record value (--http, --tcp or --ping); the value goes to host health auto' \
'update:Change the check of a record value (its kind cannot change)' \
'rm:Remove the check of a record value; a value on auto goes back to none' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio health commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health__subcmd__create_commands] )) ||
_dinio__subcmd__health__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio health create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health__subcmd__help_commands] )) ||
_dinio__subcmd__health__subcmd__help_commands() {
    local commands; commands=(
'show:Show the check of a record value with its last result' \
'create:Create the check of a record value (--http, --tcp or --ping); the value goes to host health auto' \
'update:Change the check of a record value (its kind cannot change)' \
'rm:Remove the check of a record value; a value on auto goes back to none' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio health help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health__subcmd__help__subcmd__create_commands] )) ||
_dinio__subcmd__health__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio health help create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__health__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio health help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health__subcmd__help__subcmd__rm_commands] )) ||
_dinio__subcmd__health__subcmd__help__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio health help rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health__subcmd__help__subcmd__show_commands] )) ||
_dinio__subcmd__health__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio health help show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health__subcmd__help__subcmd__update_commands] )) ||
_dinio__subcmd__health__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio health help update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health__subcmd__rm_commands] )) ||
_dinio__subcmd__health__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio health rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health__subcmd__show_commands] )) ||
_dinio__subcmd__health__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio health show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__health__subcmd__update_commands] )) ||
_dinio__subcmd__health__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio health update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help_commands] )) ||
_dinio__subcmd__help_commands() {
    local commands; commands=(
'profile:Manage connection profiles (URL, API key, email)' \
'auth:Check the active profile against Core' \
'me:Your own user account\: uuid and personal key rotation' \
'zone:Manage DNS zones' \
'member:Manage who has access to a zone' \
'record:Manage DNS records (NAME is relative to the zone, \`@\` is the apex)' \
'health:Manage the health check of a record value' \
'geo-ban:Hide a record value from clients in a country, region or sub-region' \
'client:Manage client identities\: clients Relay recognises by IP, DoT hostname or DoH path' \
'sinkhole:Manage sinkhole lists (names to block or allow), their rules and links to clients' \
'redirect:Manage HTTP(S) redirects by host name' \
'cert:Manage TLS certificates of your zones' \
'audit:Who did what on your account and zones (audit log)' \
'stats:Query statistics of your zones and clients (Relay telemetry)' \
'free-domain:Free domains\: lease a subdomain as your own zone with \`zone create NAME\`' \
'completion:Print a shell completion script' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__audit_commands] )) ||
_dinio__subcmd__help__subcmd__audit_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help audit commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__auth_commands] )) ||
_dinio__subcmd__help__subcmd__auth_commands() {
    local commands; commands=(
'status:Show the active profile, Core health and whether the key works' \
    )
    _describe -t commands 'dinio help auth commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__auth__subcmd__status_commands] )) ||
_dinio__subcmd__help__subcmd__auth__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help auth status commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__cert_commands] )) ||
_dinio__subcmd__help__subcmd__cert_commands() {
    local commands; commands=(
'list:List the certificates of your zones' \
'show:Show one certificate' \
'add:Upload a certificate for names of a zone (PEM files)' \
'renew:Replace a certificate with a renewed one (same id)' \
'rm:Delete a certificate' \
    )
    _describe -t commands 'dinio help cert commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__cert__subcmd__add_commands] )) ||
_dinio__subcmd__help__subcmd__cert__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help cert add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__cert__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__cert__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help cert list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__cert__subcmd__renew_commands] )) ||
_dinio__subcmd__help__subcmd__cert__subcmd__renew_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help cert renew commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__cert__subcmd__rm_commands] )) ||
_dinio__subcmd__help__subcmd__cert__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help cert rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__cert__subcmd__show_commands] )) ||
_dinio__subcmd__help__subcmd__cert__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help cert show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__client_commands] )) ||
_dinio__subcmd__help__subcmd__client_commands() {
    local commands; commands=(
'list:List your client identities' \
'show:Show one client identity and the sinkhole lists linked to it' \
'create:Create a client identity' \
'update:Change a client identity' \
'new-identify:Replace the generated IDENTIFY value of a hostname/path client (the old one stops working; reconfigure its devices)' \
'delete:Delete a client identity (unlink its sinkhole lists first)' \
    )
    _describe -t commands 'dinio help client commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__client__subcmd__create_commands] )) ||
_dinio__subcmd__help__subcmd__client__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help client create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__client__subcmd__delete_commands] )) ||
_dinio__subcmd__help__subcmd__client__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help client delete commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__client__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__client__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help client list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__client__subcmd__new-identify_commands] )) ||
_dinio__subcmd__help__subcmd__client__subcmd__new-identify_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help client new-identify commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__client__subcmd__show_commands] )) ||
_dinio__subcmd__help__subcmd__client__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help client show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__client__subcmd__update_commands] )) ||
_dinio__subcmd__help__subcmd__client__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help client update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__completion_commands] )) ||
_dinio__subcmd__help__subcmd__completion_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help completion commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__free-domain_commands] )) ||
_dinio__subcmd__help__subcmd__free-domain_commands() {
    local commands; commands=(
'list:List the free domains and how many leases you may have (no API key needed)' \
'check:Check whether a name below a free domain can be leased (no API key needed)' \
    )
    _describe -t commands 'dinio help free-domain commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__free-domain__subcmd__check_commands] )) ||
_dinio__subcmd__help__subcmd__free-domain__subcmd__check_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help free-domain check commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__free-domain__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__free-domain__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help free-domain list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__geo-ban_commands] )) ||
_dinio__subcmd__help__subcmd__geo-ban_commands() {
    local commands; commands=(
'list:List the geo bans of a record value' \
'add:Ban areas for a record value' \
'rm:Remove geo bans of a record value' \
'areas:List the areas that can be used, optionally filtered by name or code' \
    )
    _describe -t commands 'dinio help geo-ban commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__geo-ban__subcmd__add_commands] )) ||
_dinio__subcmd__help__subcmd__geo-ban__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help geo-ban add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__geo-ban__subcmd__areas_commands] )) ||
_dinio__subcmd__help__subcmd__geo-ban__subcmd__areas_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help geo-ban areas commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__geo-ban__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__geo-ban__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help geo-ban list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__geo-ban__subcmd__rm_commands] )) ||
_dinio__subcmd__help__subcmd__geo-ban__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help geo-ban rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__health_commands] )) ||
_dinio__subcmd__help__subcmd__health_commands() {
    local commands; commands=(
'show:Show the check of a record value with its last result' \
'create:Create the check of a record value (--http, --tcp or --ping); the value goes to host health auto' \
'update:Change the check of a record value (its kind cannot change)' \
'rm:Remove the check of a record value; a value on auto goes back to none' \
    )
    _describe -t commands 'dinio help health commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__health__subcmd__create_commands] )) ||
_dinio__subcmd__help__subcmd__health__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help health create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__health__subcmd__rm_commands] )) ||
_dinio__subcmd__help__subcmd__health__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help health rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__health__subcmd__show_commands] )) ||
_dinio__subcmd__help__subcmd__health__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help health show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__health__subcmd__update_commands] )) ||
_dinio__subcmd__help__subcmd__health__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help health update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__me_commands] )) ||
_dinio__subcmd__help__subcmd__me_commands() {
    local commands; commands=(
'show:Show your account' \
'key:Your personal API key (du_…)\: issue or revoke' \
    )
    _describe -t commands 'dinio help me commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__me__subcmd__key_commands] )) ||
_dinio__subcmd__help__subcmd__me__subcmd__key_commands() {
    local commands; commands=(
'create:Issue a new personal API key, shown only once; the previous one stops working immediately' \
'revoke:Revoke your personal API key' \
    )
    _describe -t commands 'dinio help me key commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__me__subcmd__key__subcmd__create_commands] )) ||
_dinio__subcmd__help__subcmd__me__subcmd__key__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help me key create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__me__subcmd__key__subcmd__revoke_commands] )) ||
_dinio__subcmd__help__subcmd__me__subcmd__key__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help me key revoke commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__me__subcmd__show_commands] )) ||
_dinio__subcmd__help__subcmd__me__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help me show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__member_commands] )) ||
_dinio__subcmd__help__subcmd__member_commands() {
    local commands; commands=(
'list:List the zone'\''s Owner and Administrators' \
'add:Give a registered user Administrator access to a zone (Owner only)' \
'rm:Take away a user'\''s access to a zone (Owner only; the Owner cannot be removed)' \
    )
    _describe -t commands 'dinio help member commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__member__subcmd__add_commands] )) ||
_dinio__subcmd__help__subcmd__member__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help member add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__member__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__member__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help member list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__member__subcmd__rm_commands] )) ||
_dinio__subcmd__help__subcmd__member__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help member rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__profile_commands] )) ||
_dinio__subcmd__help__subcmd__profile_commands() {
    local commands; commands=(
'list:List profiles' \
'show:Show one profile (default\: the active one)' \
'set:Create or update a profile' \
'set-key:Store the API key for a profile, read from the terminal (hidden) or stdin' \
'use:Make a profile the default' \
'rm:Delete a profile and its stored key' \
    )
    _describe -t commands 'dinio help profile commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__profile__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__profile__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help profile list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__profile__subcmd__rm_commands] )) ||
_dinio__subcmd__help__subcmd__profile__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help profile rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__profile__subcmd__set_commands] )) ||
_dinio__subcmd__help__subcmd__profile__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help profile set commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__profile__subcmd__set-key_commands] )) ||
_dinio__subcmd__help__subcmd__profile__subcmd__set-key_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help profile set-key commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__profile__subcmd__show_commands] )) ||
_dinio__subcmd__help__subcmd__profile__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help profile show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__profile__subcmd__use_commands] )) ||
_dinio__subcmd__help__subcmd__profile__subcmd__use_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help profile use commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__record_commands] )) ||
_dinio__subcmd__help__subcmd__record_commands() {
    local commands; commands=(
'list:List the records of a zone, one row per value' \
'show:Show one record set with value ids, options and geo bans' \
'add:Add a value (creates the record set if it does not exist)' \
'update:Change one value'\''s data or options' \
'rm:Remove one value, or the whole record set with --all' \
'ttl:Set the TTL shared by all values of a record set' \
    )
    _describe -t commands 'dinio help record commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__record__subcmd__add_commands] )) ||
_dinio__subcmd__help__subcmd__record__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help record add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__record__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__record__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help record list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__record__subcmd__rm_commands] )) ||
_dinio__subcmd__help__subcmd__record__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help record rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__record__subcmd__show_commands] )) ||
_dinio__subcmd__help__subcmd__record__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help record show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__record__subcmd__ttl_commands] )) ||
_dinio__subcmd__help__subcmd__record__subcmd__ttl_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help record ttl commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__record__subcmd__update_commands] )) ||
_dinio__subcmd__help__subcmd__record__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help record update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__redirect_commands] )) ||
_dinio__subcmd__help__subcmd__redirect_commands() {
    local commands; commands=(
'list:List the redirects of your zones' \
'show:Show one redirect with the state of its certificate' \
'create:Create a redirect for a host name in one of your zones' \
'update:Change a redirect'\''s target, status code or certificate source' \
'rm:Delete a redirect with its DNS records and automatic certificate' \
    )
    _describe -t commands 'dinio help redirect commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__redirect__subcmd__create_commands] )) ||
_dinio__subcmd__help__subcmd__redirect__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help redirect create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__redirect__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__redirect__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help redirect list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__redirect__subcmd__rm_commands] )) ||
_dinio__subcmd__help__subcmd__redirect__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help redirect rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__redirect__subcmd__show_commands] )) ||
_dinio__subcmd__help__subcmd__redirect__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help redirect show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__redirect__subcmd__update_commands] )) ||
_dinio__subcmd__help__subcmd__redirect__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help redirect update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole_commands() {
    local commands; commands=(
'list:List your sinkhole lists, or every shared list' \
'show:Show a list with its rules and the clients you linked to it' \
'create:Create an empty list' \
'rename:Rename a list, or remove its name' \
'share:Let other users link their clients to a list' \
'unshare:Stop other users from linking to a list (existing links stay)' \
'delete:Delete a list with its rules and every link to it' \
'rule:Manage the rules of a list' \
'link:Manage which lists apply to which clients' \
    )
    _describe -t commands 'dinio help sinkhole commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__create_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__delete_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole delete commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__link_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__link_commands() {
    local commands; commands=(
'list:List the links of your clients' \
'add:Apply a list to a client (the list must be yours or shared)' \
'rm:Stop applying a list to a client' \
    )
    _describe -t commands 'dinio help sinkhole link commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__link__subcmd__add_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__link__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole link add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__link__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__link__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole link list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__link__subcmd__rm_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__link__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole link rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__rename_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole rename commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__rule_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__rule_commands() {
    local commands; commands=(
'add:Add a rule to a list' \
'update:Change a rule'\''s pattern or type' \
'rm:Remove rules from a list' \
    )
    _describe -t commands 'dinio help sinkhole rule commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__rule__subcmd__add_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__rule__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole rule add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__rule__subcmd__rm_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__rule__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole rule rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__rule__subcmd__update_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__rule__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole rule update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__share_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__share_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole share commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__show_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__sinkhole__subcmd__unshare_commands] )) ||
_dinio__subcmd__help__subcmd__sinkhole__subcmd__unshare_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help sinkhole unshare commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__stats_commands] )) ||
_dinio__subcmd__help__subcmd__stats_commands() {
    local commands; commands=(
'zone:Queries to a zone, per rcode (default), qtype, geo (country), name, or none' \
'nx:NXDOMAIN answers under a zone, and how many distinct names were missing' \
'names:A zone'\''s busiest names' \
'nx-names:The most asked non-existent names under a zone' \
'client:Your clients'\'' traffic per event type (default; \`sinkhole\` = blocked), client, or none' \
'rcodes:Answers to your clients per rcode (default), client, or none' \
'blocked:The names most often blocked for your clients' \
    )
    _describe -t commands 'dinio help stats commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__stats__subcmd__blocked_commands] )) ||
_dinio__subcmd__help__subcmd__stats__subcmd__blocked_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help stats blocked commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__stats__subcmd__client_commands] )) ||
_dinio__subcmd__help__subcmd__stats__subcmd__client_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help stats client commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__stats__subcmd__names_commands] )) ||
_dinio__subcmd__help__subcmd__stats__subcmd__names_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help stats names commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__stats__subcmd__nx_commands] )) ||
_dinio__subcmd__help__subcmd__stats__subcmd__nx_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help stats nx commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__stats__subcmd__nx-names_commands] )) ||
_dinio__subcmd__help__subcmd__stats__subcmd__nx-names_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help stats nx-names commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__stats__subcmd__rcodes_commands] )) ||
_dinio__subcmd__help__subcmd__stats__subcmd__rcodes_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help stats rcodes commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__stats__subcmd__zone_commands] )) ||
_dinio__subcmd__help__subcmd__stats__subcmd__zone_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help stats zone commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone_commands] )) ||
_dinio__subcmd__help__subcmd__zone_commands() {
    local commands; commands=(
'list:List zones visible to the key' \
'show:Show one zone' \
'create:Create a zone (you become its Owner; Core adds the apex SOA and NS)' \
'delete:Delete a zone with all its records' \
'key:The zone'\''s API key (dz_…)\: issue or revoke' \
'export:Write the zone to a file (or stdout)' \
'import:Add the records (and redirects) of a file the zone does not have yet' \
'discover:Find the records the zone has at its current DNS provider, as a file to import' \
    )
    _describe -t commands 'dinio help zone commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone__subcmd__create_commands] )) ||
_dinio__subcmd__help__subcmd__zone__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help zone create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone__subcmd__delete_commands] )) ||
_dinio__subcmd__help__subcmd__zone__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help zone delete commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone__subcmd__discover_commands] )) ||
_dinio__subcmd__help__subcmd__zone__subcmd__discover_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help zone discover commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone__subcmd__export_commands] )) ||
_dinio__subcmd__help__subcmd__zone__subcmd__export_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help zone export commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone__subcmd__import_commands] )) ||
_dinio__subcmd__help__subcmd__zone__subcmd__import_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help zone import commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone__subcmd__key_commands] )) ||
_dinio__subcmd__help__subcmd__zone__subcmd__key_commands() {
    local commands; commands=(
'create:Issue a new zone API key, shown only once; a previous one stops working immediately' \
'revoke:Revoke the zone API key' \
    )
    _describe -t commands 'dinio help zone key commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone__subcmd__key__subcmd__create_commands] )) ||
_dinio__subcmd__help__subcmd__zone__subcmd__key__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help zone key create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone__subcmd__key__subcmd__revoke_commands] )) ||
_dinio__subcmd__help__subcmd__zone__subcmd__key__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help zone key revoke commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone__subcmd__list_commands] )) ||
_dinio__subcmd__help__subcmd__zone__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help zone list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__help__subcmd__zone__subcmd__show_commands] )) ||
_dinio__subcmd__help__subcmd__zone__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio help zone show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me_commands] )) ||
_dinio__subcmd__me_commands() {
    local commands; commands=(
'show:Show your account' \
'key:Your personal API key (du_…)\: issue or revoke' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio me commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__help_commands] )) ||
_dinio__subcmd__me__subcmd__help_commands() {
    local commands; commands=(
'show:Show your account' \
'key:Your personal API key (du_…)\: issue or revoke' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio me help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__me__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio me help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__help__subcmd__key_commands] )) ||
_dinio__subcmd__me__subcmd__help__subcmd__key_commands() {
    local commands; commands=(
'create:Issue a new personal API key, shown only once; the previous one stops working immediately' \
'revoke:Revoke your personal API key' \
    )
    _describe -t commands 'dinio me help key commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__help__subcmd__key__subcmd__create_commands] )) ||
_dinio__subcmd__me__subcmd__help__subcmd__key__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio me help key create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__help__subcmd__key__subcmd__revoke_commands] )) ||
_dinio__subcmd__me__subcmd__help__subcmd__key__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'dinio me help key revoke commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__help__subcmd__show_commands] )) ||
_dinio__subcmd__me__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio me help show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__key_commands] )) ||
_dinio__subcmd__me__subcmd__key_commands() {
    local commands; commands=(
'create:Issue a new personal API key, shown only once; the previous one stops working immediately' \
'revoke:Revoke your personal API key' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio me key commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__key__subcmd__create_commands] )) ||
_dinio__subcmd__me__subcmd__key__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio me key create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__key__subcmd__help_commands] )) ||
_dinio__subcmd__me__subcmd__key__subcmd__help_commands() {
    local commands; commands=(
'create:Issue a new personal API key, shown only once; the previous one stops working immediately' \
'revoke:Revoke your personal API key' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio me key help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__key__subcmd__help__subcmd__create_commands] )) ||
_dinio__subcmd__me__subcmd__key__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio me key help create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__key__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__me__subcmd__key__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio me key help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__key__subcmd__help__subcmd__revoke_commands] )) ||
_dinio__subcmd__me__subcmd__key__subcmd__help__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'dinio me key help revoke commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__key__subcmd__revoke_commands] )) ||
_dinio__subcmd__me__subcmd__key__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'dinio me key revoke commands' commands "$@"
}
(( $+functions[_dinio__subcmd__me__subcmd__show_commands] )) ||
_dinio__subcmd__me__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio me show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__member_commands] )) ||
_dinio__subcmd__member_commands() {
    local commands; commands=(
'list:List the zone'\''s Owner and Administrators' \
'add:Give a registered user Administrator access to a zone (Owner only)' \
'rm:Take away a user'\''s access to a zone (Owner only; the Owner cannot be removed)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio member commands' commands "$@"
}
(( $+functions[_dinio__subcmd__member__subcmd__add_commands] )) ||
_dinio__subcmd__member__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio member add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__member__subcmd__help_commands] )) ||
_dinio__subcmd__member__subcmd__help_commands() {
    local commands; commands=(
'list:List the zone'\''s Owner and Administrators' \
'add:Give a registered user Administrator access to a zone (Owner only)' \
'rm:Take away a user'\''s access to a zone (Owner only; the Owner cannot be removed)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio member help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__member__subcmd__help__subcmd__add_commands] )) ||
_dinio__subcmd__member__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio member help add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__member__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__member__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio member help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__member__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__member__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio member help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__member__subcmd__help__subcmd__rm_commands] )) ||
_dinio__subcmd__member__subcmd__help__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio member help rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__member__subcmd__list_commands] )) ||
_dinio__subcmd__member__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio member list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__member__subcmd__rm_commands] )) ||
_dinio__subcmd__member__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio member rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile_commands] )) ||
_dinio__subcmd__profile_commands() {
    local commands; commands=(
'list:List profiles' \
'show:Show one profile (default\: the active one)' \
'set:Create or update a profile' \
'set-key:Store the API key for a profile, read from the terminal (hidden) or stdin' \
'use:Make a profile the default' \
'rm:Delete a profile and its stored key' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio profile commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__help_commands] )) ||
_dinio__subcmd__profile__subcmd__help_commands() {
    local commands; commands=(
'list:List profiles' \
'show:Show one profile (default\: the active one)' \
'set:Create or update a profile' \
'set-key:Store the API key for a profile, read from the terminal (hidden) or stdin' \
'use:Make a profile the default' \
'rm:Delete a profile and its stored key' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio profile help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__profile__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__profile__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__help__subcmd__rm_commands] )) ||
_dinio__subcmd__profile__subcmd__help__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile help rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__help__subcmd__set_commands] )) ||
_dinio__subcmd__profile__subcmd__help__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile help set commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__help__subcmd__set-key_commands] )) ||
_dinio__subcmd__profile__subcmd__help__subcmd__set-key_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile help set-key commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__help__subcmd__show_commands] )) ||
_dinio__subcmd__profile__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile help show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__help__subcmd__use_commands] )) ||
_dinio__subcmd__profile__subcmd__help__subcmd__use_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile help use commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__list_commands] )) ||
_dinio__subcmd__profile__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__rm_commands] )) ||
_dinio__subcmd__profile__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__set_commands] )) ||
_dinio__subcmd__profile__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile set commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__set-key_commands] )) ||
_dinio__subcmd__profile__subcmd__set-key_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile set-key commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__show_commands] )) ||
_dinio__subcmd__profile__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__profile__subcmd__use_commands] )) ||
_dinio__subcmd__profile__subcmd__use_commands() {
    local commands; commands=()
    _describe -t commands 'dinio profile use commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record_commands] )) ||
_dinio__subcmd__record_commands() {
    local commands; commands=(
'list:List the records of a zone, one row per value' \
'show:Show one record set with value ids, options and geo bans' \
'add:Add a value (creates the record set if it does not exist)' \
'update:Change one value'\''s data or options' \
'rm:Remove one value, or the whole record set with --all' \
'ttl:Set the TTL shared by all values of a record set' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio record commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__add_commands] )) ||
_dinio__subcmd__record__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__help_commands] )) ||
_dinio__subcmd__record__subcmd__help_commands() {
    local commands; commands=(
'list:List the records of a zone, one row per value' \
'show:Show one record set with value ids, options and geo bans' \
'add:Add a value (creates the record set if it does not exist)' \
'update:Change one value'\''s data or options' \
'rm:Remove one value, or the whole record set with --all' \
'ttl:Set the TTL shared by all values of a record set' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio record help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__help__subcmd__add_commands] )) ||
_dinio__subcmd__record__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record help add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__record__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__record__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__help__subcmd__rm_commands] )) ||
_dinio__subcmd__record__subcmd__help__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record help rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__help__subcmd__show_commands] )) ||
_dinio__subcmd__record__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record help show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__help__subcmd__ttl_commands] )) ||
_dinio__subcmd__record__subcmd__help__subcmd__ttl_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record help ttl commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__help__subcmd__update_commands] )) ||
_dinio__subcmd__record__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record help update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__list_commands] )) ||
_dinio__subcmd__record__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__rm_commands] )) ||
_dinio__subcmd__record__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__show_commands] )) ||
_dinio__subcmd__record__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__ttl_commands] )) ||
_dinio__subcmd__record__subcmd__ttl_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record ttl commands' commands "$@"
}
(( $+functions[_dinio__subcmd__record__subcmd__update_commands] )) ||
_dinio__subcmd__record__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio record update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect_commands] )) ||
_dinio__subcmd__redirect_commands() {
    local commands; commands=(
'list:List the redirects of your zones' \
'show:Show one redirect with the state of its certificate' \
'create:Create a redirect for a host name in one of your zones' \
'update:Change a redirect'\''s target, status code or certificate source' \
'rm:Delete a redirect with its DNS records and automatic certificate' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio redirect commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__create_commands] )) ||
_dinio__subcmd__redirect__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__help_commands] )) ||
_dinio__subcmd__redirect__subcmd__help_commands() {
    local commands; commands=(
'list:List the redirects of your zones' \
'show:Show one redirect with the state of its certificate' \
'create:Create a redirect for a host name in one of your zones' \
'update:Change a redirect'\''s target, status code or certificate source' \
'rm:Delete a redirect with its DNS records and automatic certificate' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio redirect help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__help__subcmd__create_commands] )) ||
_dinio__subcmd__redirect__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect help create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__redirect__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__redirect__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__help__subcmd__rm_commands] )) ||
_dinio__subcmd__redirect__subcmd__help__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect help rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__help__subcmd__show_commands] )) ||
_dinio__subcmd__redirect__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect help show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__help__subcmd__update_commands] )) ||
_dinio__subcmd__redirect__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect help update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__list_commands] )) ||
_dinio__subcmd__redirect__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__rm_commands] )) ||
_dinio__subcmd__redirect__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__show_commands] )) ||
_dinio__subcmd__redirect__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__redirect__subcmd__update_commands] )) ||
_dinio__subcmd__redirect__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio redirect update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole_commands] )) ||
_dinio__subcmd__sinkhole_commands() {
    local commands; commands=(
'list:List your sinkhole lists, or every shared list' \
'show:Show a list with its rules and the clients you linked to it' \
'create:Create an empty list' \
'rename:Rename a list, or remove its name' \
'share:Let other users link their clients to a list' \
'unshare:Stop other users from linking to a list (existing links stay)' \
'delete:Delete a list with its rules and every link to it' \
'rule:Manage the rules of a list' \
'link:Manage which lists apply to which clients' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio sinkhole commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__create_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__delete_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole delete commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help_commands() {
    local commands; commands=(
'list:List your sinkhole lists, or every shared list' \
'show:Show a list with its rules and the clients you linked to it' \
'create:Create an empty list' \
'rename:Rename a list, or remove its name' \
'share:Let other users link their clients to a list' \
'unshare:Stop other users from linking to a list (existing links stay)' \
'delete:Delete a list with its rules and every link to it' \
'rule:Manage the rules of a list' \
'link:Manage which lists apply to which clients' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio sinkhole help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__create_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__delete_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help delete commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__link_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__link_commands() {
    local commands; commands=(
'list:List the links of your clients' \
'add:Apply a list to a client (the list must be yours or shared)' \
'rm:Stop applying a list to a client' \
    )
    _describe -t commands 'dinio sinkhole help link commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__link__subcmd__add_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__link__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help link add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__link__subcmd__list_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__link__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help link list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__link__subcmd__rm_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__link__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help link rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__rename_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help rename commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__rule_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__rule_commands() {
    local commands; commands=(
'add:Add a rule to a list' \
'update:Change a rule'\''s pattern or type' \
'rm:Remove rules from a list' \
    )
    _describe -t commands 'dinio sinkhole help rule commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__rule__subcmd__add_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__rule__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help rule add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__rule__subcmd__rm_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__rule__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help rule rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__rule__subcmd__update_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__rule__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help rule update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__share_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__share_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help share commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__show_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__help__subcmd__unshare_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__help__subcmd__unshare_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole help unshare commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__link_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__link_commands() {
    local commands; commands=(
'list:List the links of your clients' \
'add:Apply a list to a client (the list must be yours or shared)' \
'rm:Stop applying a list to a client' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio sinkhole link commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__link__subcmd__add_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__link__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole link add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__link__subcmd__help_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__link__subcmd__help_commands() {
    local commands; commands=(
'list:List the links of your clients' \
'add:Apply a list to a client (the list must be yours or shared)' \
'rm:Stop applying a list to a client' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio sinkhole link help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__link__subcmd__help__subcmd__add_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__link__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole link help add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__link__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__link__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole link help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__link__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__link__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole link help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__link__subcmd__help__subcmd__rm_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__link__subcmd__help__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole link help rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__link__subcmd__list_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__link__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole link list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__link__subcmd__rm_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__link__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole link rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__list_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__rename_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__rename_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole rename commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__rule_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__rule_commands() {
    local commands; commands=(
'add:Add a rule to a list' \
'update:Change a rule'\''s pattern or type' \
'rm:Remove rules from a list' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio sinkhole rule commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__rule__subcmd__add_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__rule__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole rule add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help_commands() {
    local commands; commands=(
'add:Add a rule to a list' \
'update:Change a rule'\''s pattern or type' \
'rm:Remove rules from a list' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio sinkhole rule help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help__subcmd__add_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help__subcmd__add_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole rule help add commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole rule help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help__subcmd__rm_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole rule help rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help__subcmd__update_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__rule__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole rule help update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__rule__subcmd__rm_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__rule__subcmd__rm_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole rule rm commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__rule__subcmd__update_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__rule__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole rule update commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__share_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__share_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole share commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__show_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__sinkhole__subcmd__unshare_commands] )) ||
_dinio__subcmd__sinkhole__subcmd__unshare_commands() {
    local commands; commands=()
    _describe -t commands 'dinio sinkhole unshare commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats_commands] )) ||
_dinio__subcmd__stats_commands() {
    local commands; commands=(
'zone:Queries to a zone, per rcode (default), qtype, geo (country), name, or none' \
'nx:NXDOMAIN answers under a zone, and how many distinct names were missing' \
'names:A zone'\''s busiest names' \
'nx-names:The most asked non-existent names under a zone' \
'client:Your clients'\'' traffic per event type (default; \`sinkhole\` = blocked), client, or none' \
'rcodes:Answers to your clients per rcode (default), client, or none' \
'blocked:The names most often blocked for your clients' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio stats commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__blocked_commands] )) ||
_dinio__subcmd__stats__subcmd__blocked_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats blocked commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__client_commands] )) ||
_dinio__subcmd__stats__subcmd__client_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats client commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__help_commands] )) ||
_dinio__subcmd__stats__subcmd__help_commands() {
    local commands; commands=(
'zone:Queries to a zone, per rcode (default), qtype, geo (country), name, or none' \
'nx:NXDOMAIN answers under a zone, and how many distinct names were missing' \
'names:A zone'\''s busiest names' \
'nx-names:The most asked non-existent names under a zone' \
'client:Your clients'\'' traffic per event type (default; \`sinkhole\` = blocked), client, or none' \
'rcodes:Answers to your clients per rcode (default), client, or none' \
'blocked:The names most often blocked for your clients' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio stats help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__help__subcmd__blocked_commands] )) ||
_dinio__subcmd__stats__subcmd__help__subcmd__blocked_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats help blocked commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__help__subcmd__client_commands] )) ||
_dinio__subcmd__stats__subcmd__help__subcmd__client_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats help client commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__stats__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__help__subcmd__names_commands] )) ||
_dinio__subcmd__stats__subcmd__help__subcmd__names_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats help names commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__help__subcmd__nx_commands] )) ||
_dinio__subcmd__stats__subcmd__help__subcmd__nx_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats help nx commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__help__subcmd__nx-names_commands] )) ||
_dinio__subcmd__stats__subcmd__help__subcmd__nx-names_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats help nx-names commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__help__subcmd__rcodes_commands] )) ||
_dinio__subcmd__stats__subcmd__help__subcmd__rcodes_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats help rcodes commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__help__subcmd__zone_commands] )) ||
_dinio__subcmd__stats__subcmd__help__subcmd__zone_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats help zone commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__names_commands] )) ||
_dinio__subcmd__stats__subcmd__names_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats names commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__nx_commands] )) ||
_dinio__subcmd__stats__subcmd__nx_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats nx commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__nx-names_commands] )) ||
_dinio__subcmd__stats__subcmd__nx-names_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats nx-names commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__rcodes_commands] )) ||
_dinio__subcmd__stats__subcmd__rcodes_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats rcodes commands' commands "$@"
}
(( $+functions[_dinio__subcmd__stats__subcmd__zone_commands] )) ||
_dinio__subcmd__stats__subcmd__zone_commands() {
    local commands; commands=()
    _describe -t commands 'dinio stats zone commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone_commands] )) ||
_dinio__subcmd__zone_commands() {
    local commands; commands=(
'list:List zones visible to the key' \
'show:Show one zone' \
'create:Create a zone (you become its Owner; Core adds the apex SOA and NS)' \
'delete:Delete a zone with all its records' \
'key:The zone'\''s API key (dz_…)\: issue or revoke' \
'export:Write the zone to a file (or stdout)' \
'import:Add the records (and redirects) of a file the zone does not have yet' \
'discover:Find the records the zone has at its current DNS provider, as a file to import' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio zone commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__create_commands] )) ||
_dinio__subcmd__zone__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__delete_commands] )) ||
_dinio__subcmd__zone__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone delete commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__discover_commands] )) ||
_dinio__subcmd__zone__subcmd__discover_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone discover commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__export_commands] )) ||
_dinio__subcmd__zone__subcmd__export_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone export commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help_commands] )) ||
_dinio__subcmd__zone__subcmd__help_commands() {
    local commands; commands=(
'list:List zones visible to the key' \
'show:Show one zone' \
'create:Create a zone (you become its Owner; Core adds the apex SOA and NS)' \
'delete:Delete a zone with all its records' \
'key:The zone'\''s API key (dz_…)\: issue or revoke' \
'export:Write the zone to a file (or stdout)' \
'import:Add the records (and redirects) of a file the zone does not have yet' \
'discover:Find the records the zone has at its current DNS provider, as a file to import' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio zone help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__create_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone help create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__delete_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__delete_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone help delete commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__discover_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__discover_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone help discover commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__export_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__export_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone help export commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__import_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__import_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone help import commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__key_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__key_commands() {
    local commands; commands=(
'create:Issue a new zone API key, shown only once; a previous one stops working immediately' \
'revoke:Revoke the zone API key' \
    )
    _describe -t commands 'dinio zone help key commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__key__subcmd__create_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__key__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone help key create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__key__subcmd__revoke_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__key__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone help key revoke commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__list_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone help list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__help__subcmd__show_commands] )) ||
_dinio__subcmd__zone__subcmd__help__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone help show commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__import_commands] )) ||
_dinio__subcmd__zone__subcmd__import_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone import commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__key_commands] )) ||
_dinio__subcmd__zone__subcmd__key_commands() {
    local commands; commands=(
'create:Issue a new zone API key, shown only once; a previous one stops working immediately' \
'revoke:Revoke the zone API key' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio zone key commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__key__subcmd__create_commands] )) ||
_dinio__subcmd__zone__subcmd__key__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone key create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__key__subcmd__help_commands] )) ||
_dinio__subcmd__zone__subcmd__key__subcmd__help_commands() {
    local commands; commands=(
'create:Issue a new zone API key, shown only once; a previous one stops working immediately' \
'revoke:Revoke the zone API key' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'dinio zone key help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__key__subcmd__help__subcmd__create_commands] )) ||
_dinio__subcmd__zone__subcmd__key__subcmd__help__subcmd__create_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone key help create commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__key__subcmd__help__subcmd__help_commands] )) ||
_dinio__subcmd__zone__subcmd__key__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone key help help commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__key__subcmd__help__subcmd__revoke_commands] )) ||
_dinio__subcmd__zone__subcmd__key__subcmd__help__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone key help revoke commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__key__subcmd__revoke_commands] )) ||
_dinio__subcmd__zone__subcmd__key__subcmd__revoke_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone key revoke commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__list_commands] )) ||
_dinio__subcmd__zone__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone list commands' commands "$@"
}
(( $+functions[_dinio__subcmd__zone__subcmd__show_commands] )) ||
_dinio__subcmd__zone__subcmd__show_commands() {
    local commands; commands=()
    _describe -t commands 'dinio zone show commands' commands "$@"
}

if [ "$funcstack[1]" = "_dinio" ]; then
    _dinio "$@"
else
    compdef _dinio dinio
fi
