# bash completion for argocd                               -*- shell-script -*-

__argocd_debug()
{
    if [[ -n ${BASH_COMP_DEBUG_FILE:-} ]]; then
        echo "$*" >> "${BASH_COMP_DEBUG_FILE}"
    fi
}

# Homebrew on Macs have version 1.3 of bash-completion which doesn't include
# _init_completion. This is a very minimal version of that function.
__argocd_init_completion()
{
    COMPREPLY=()
    _get_comp_words_by_ref "$@" cur prev words cword
}

__argocd_index_of_word()
{
    local w word=$1
    shift
    index=0
    for w in "$@"; do
        [[ $w = "$word" ]] && return
        index=$((index+1))
    done
    index=-1
}

__argocd_contains_word()
{
    local w word=$1; shift
    for w in "$@"; do
        [[ $w = "$word" ]] && return
    done
    return 1
}

__argocd_handle_go_custom_completion()
{
    __argocd_debug "${FUNCNAME[0]}: cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}"

    local shellCompDirectiveError=1
    local shellCompDirectiveNoSpace=2
    local shellCompDirectiveNoFileComp=4
    local shellCompDirectiveFilterFileExt=8
    local shellCompDirectiveFilterDirs=16

    local out requestComp lastParam lastChar comp directive args

    # Prepare the command to request completions for the program.
    # Calling ${words[0]} instead of directly argocd allows handling aliases
    args=("${words[@]:1}")
    # Disable ActiveHelp which is not supported for bash completion v1
    requestComp="ARGOCD_ACTIVE_HELP=0 ${words[0]} __completeNoDesc ${args[*]}"

    lastParam=${words[$((${#words[@]}-1))]}
    lastChar=${lastParam:$((${#lastParam}-1)):1}
    __argocd_debug "${FUNCNAME[0]}: lastParam ${lastParam}, lastChar ${lastChar}"

    if [ -z "${cur}" ] && [ "${lastChar}" != "=" ]; then
        # If the last parameter is complete (there is a space following it)
        # We add an extra empty parameter so we can indicate this to the go method.
        __argocd_debug "${FUNCNAME[0]}: Adding extra empty parameter"
        requestComp="${requestComp} \"\""
    fi

    __argocd_debug "${FUNCNAME[0]}: calling ${requestComp}"
    # Use eval to handle any environment variables and such
    out=$(eval "${requestComp}" 2>/dev/null)

    # Extract the directive integer at the very end of the output following a colon (:)
    directive=${out##*:}
    # Remove the directive
    out=${out%:*}
    if [ "${directive}" = "${out}" ]; then
        # There is not directive specified
        directive=0
    fi
    __argocd_debug "${FUNCNAME[0]}: the completion directive is: ${directive}"
    __argocd_debug "${FUNCNAME[0]}: the completions are: ${out}"

    if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
        # Error code.  No completion.
        __argocd_debug "${FUNCNAME[0]}: received error from custom completion go code"
        return
    else
        if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
            if [[ $(type -t compopt) = "builtin" ]]; then
                __argocd_debug "${FUNCNAME[0]}: activating no space"
                compopt -o nospace
            fi
        fi
        if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
            if [[ $(type -t compopt) = "builtin" ]]; then
                __argocd_debug "${FUNCNAME[0]}: activating no file completion"
                compopt +o default
            fi
        fi
    fi

    if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
        # File extension filtering
        local fullFilter filter filteringCmd
        # Do not use quotes around the $out variable or else newline
        # characters will be kept.
        for filter in ${out}; do
            fullFilter+="$filter|"
        done

        filteringCmd="_filedir $fullFilter"
        __argocd_debug "File filtering command: $filteringCmd"
        $filteringCmd
    elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
        # File completion for directories only
        local subdir
        # Use printf to strip any trailing newline
        subdir=$(printf "%s" "${out}")
        if [ -n "$subdir" ]; then
            __argocd_debug "Listing directories in $subdir"
            __argocd_handle_subdirs_in_dir_flag "$subdir"
        else
            __argocd_debug "Listing directories in ."
            _filedir -d
        fi
    else
        while IFS='' read -r comp; do
            COMPREPLY+=("$comp")
        done < <(compgen -W "${out}" -- "$cur")
    fi
}

__argocd_handle_reply()
{
    __argocd_debug "${FUNCNAME[0]}"
    local comp
    case $cur in
        -*)
            if [[ $(type -t compopt) = "builtin" ]]; then
                compopt -o nospace
            fi
            local allflags
            if [ ${#must_have_one_flag[@]} -ne 0 ]; then
                allflags=("${must_have_one_flag[@]}")
            else
                allflags=("${flags[*]} ${two_word_flags[*]}")
            fi
            while IFS='' read -r comp; do
                COMPREPLY+=("$comp")
            done < <(compgen -W "${allflags[*]}" -- "$cur")
            if [[ $(type -t compopt) = "builtin" ]]; then
                [[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace
            fi

            # complete after --flag=abc
            if [[ $cur == *=* ]]; then
                if [[ $(type -t compopt) = "builtin" ]]; then
                    compopt +o nospace
                fi

                local index flag
                flag="${cur%=*}"
                __argocd_index_of_word "${flag}" "${flags_with_completion[@]}"
                COMPREPLY=()
                if [[ ${index} -ge 0 ]]; then
                    PREFIX=""
                    cur="${cur#*=}"
                    ${flags_completion[${index}]}
                    if [ -n "${ZSH_VERSION:-}" ]; then
                        # zsh completion needs --flag= prefix
                        eval "COMPREPLY=( \"\${COMPREPLY[@]/#/${flag}=}\" )"
                    fi
                fi
            fi

            if [[ -z "${flag_parsing_disabled}" ]]; then
                # If flag parsing is enabled, we have completed the flags and can return.
                # If flag parsing is disabled, we may not know all (or any) of the flags, so we fallthrough
                # to possibly call handle_go_custom_completion.
                return 0;
            fi
            ;;
    esac

    # check if we are handling a flag with special work handling
    local index
    __argocd_index_of_word "${prev}" "${flags_with_completion[@]}"
    if [[ ${index} -ge 0 ]]; then
        ${flags_completion[${index}]}
        return
    fi

    # we are parsing a flag and don't have a special handler, no completion
    if [[ ${cur} != "${words[cword]}" ]]; then
        return
    fi

    local completions
    completions=("${commands[@]}")
    if [[ ${#must_have_one_noun[@]} -ne 0 ]]; then
        completions+=("${must_have_one_noun[@]}")
    elif [[ -n "${has_completion_function}" ]]; then
        # if a go completion function is provided, defer to that function
        __argocd_handle_go_custom_completion
    fi
    if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then
        completions+=("${must_have_one_flag[@]}")
    fi
    while IFS='' read -r comp; do
        COMPREPLY+=("$comp")
    done < <(compgen -W "${completions[*]}" -- "$cur")

    if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then
        while IFS='' read -r comp; do
            COMPREPLY+=("$comp")
        done < <(compgen -W "${noun_aliases[*]}" -- "$cur")
    fi

    if [[ ${#COMPREPLY[@]} -eq 0 ]]; then
        if declare -F __argocd_custom_func >/dev/null; then
            # try command name qualified custom func
            __argocd_custom_func
        else
            # otherwise fall back to unqualified for compatibility
            declare -F __custom_func >/dev/null && __custom_func
        fi
    fi

    # available in bash-completion >= 2, not always present on macOS
    if declare -F __ltrim_colon_completions >/dev/null; then
        __ltrim_colon_completions "$cur"
    fi

    # If there is only 1 completion and it is a flag with an = it will be completed
    # but we don't want a space after the =
    if [[ "${#COMPREPLY[@]}" -eq "1" ]] && [[ $(type -t compopt) = "builtin" ]] && [[ "${COMPREPLY[0]}" == --*= ]]; then
       compopt -o nospace
    fi
}

# The arguments should be in the form "ext1|ext2|extn"
__argocd_handle_filename_extension_flag()
{
    local ext="$1"
    _filedir "@(${ext})"
}

__argocd_handle_subdirs_in_dir_flag()
{
    local dir="$1"
    pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return
}

__argocd_handle_flag()
{
    __argocd_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}"

    # if a command required a flag, and we found it, unset must_have_one_flag()
    local flagname=${words[c]}
    local flagvalue=""
    # if the word contained an =
    if [[ ${words[c]} == *"="* ]]; then
        flagvalue=${flagname#*=} # take in as flagvalue after the =
        flagname=${flagname%=*} # strip everything after the =
        flagname="${flagname}=" # but put the = back
    fi
    __argocd_debug "${FUNCNAME[0]}: looking for ${flagname}"
    if __argocd_contains_word "${flagname}" "${must_have_one_flag[@]}"; then
        must_have_one_flag=()
    fi

    # if you set a flag which only applies to this command, don't show subcommands
    if __argocd_contains_word "${flagname}" "${local_nonpersistent_flags[@]}"; then
      commands=()
    fi

    # keep flag value with flagname as flaghash
    # flaghash variable is an associative array which is only supported in bash > 3.
    if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then
        if [ -n "${flagvalue}" ] ; then
            flaghash[${flagname}]=${flagvalue}
        elif [ -n "${words[ $((c+1)) ]}" ] ; then
            flaghash[${flagname}]=${words[ $((c+1)) ]}
        else
            flaghash[${flagname}]="true" # pad "true" for bool flag
        fi
    fi

    # skip the argument to a two word flag
    if [[ ${words[c]} != *"="* ]] && __argocd_contains_word "${words[c]}" "${two_word_flags[@]}"; then
        __argocd_debug "${FUNCNAME[0]}: found a flag ${words[c]}, skip the next argument"
        c=$((c+1))
        # if we are looking for a flags value, don't show commands
        if [[ $c -eq $cword ]]; then
            commands=()
        fi
    fi

    c=$((c+1))

}

__argocd_handle_noun()
{
    __argocd_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}"

    if __argocd_contains_word "${words[c]}" "${must_have_one_noun[@]}"; then
        must_have_one_noun=()
    elif __argocd_contains_word "${words[c]}" "${noun_aliases[@]}"; then
        must_have_one_noun=()
    fi

    nouns+=("${words[c]}")
    c=$((c+1))
}

__argocd_handle_command()
{
    __argocd_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}"

    local next_command
    if [[ -n ${last_command} ]]; then
        next_command="_${last_command}_${words[c]//:/__}"
    else
        if [[ $c -eq 0 ]]; then
            next_command="_argocd_root_command"
        else
            next_command="_${words[c]//:/__}"
        fi
    fi
    c=$((c+1))
    __argocd_debug "${FUNCNAME[0]}: looking for ${next_command}"
    declare -F "$next_command" >/dev/null && $next_command
}

__argocd_handle_word()
{
    if [[ $c -ge $cword ]]; then
        __argocd_handle_reply
        return
    fi
    __argocd_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}"
    if [[ "${words[c]}" == -* ]]; then
        __argocd_handle_flag
    elif __argocd_contains_word "${words[c]}" "${commands[@]}"; then
        __argocd_handle_command
    elif [[ $c -eq 0 ]]; then
        __argocd_handle_command
    elif __argocd_contains_word "${words[c]}" "${command_aliases[@]}"; then
        # aliashash variable is an associative array which is only supported in bash > 3.
        if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then
            words[c]=${aliashash[${words[c]}]}
            __argocd_handle_command
        else
            __argocd_handle_noun
        fi
    else
        __argocd_handle_noun
    fi
    __argocd_handle_word
}


__argocd_list_apps() {
	local -a argocd_out
	if argocd_out=($(argocd app list --output name 2>/dev/null)); then
		COMPREPLY+=( $( compgen -W "${argocd_out[*]}" -- "$cur" ) )
	fi
}

__argocd_list_app_history() {
	local app=$1
	local -a argocd_out
	if argocd_out=($(argocd app history $app --output id 2>/dev/null)); then
		COMPREPLY+=( $( compgen -W "${argocd_out[*]}" -- "$cur" ) )
	fi
}

__argocd_app_rollback() {
	local -a command
	for comp_word in "${COMP_WORDS[@]}"; do
		if [[ $comp_word =~ ^-.*$ ]]; then
			continue
		fi
		command+=($comp_word)
	done

	# fourth arg is app (if present): e.g.- argocd app rollback guestbook
	local app=${command[3]}
	local id=${command[4]}
	if [[ -z $app || $app == $cur ]]; then
		__argocd_list_apps
	elif [[ -z $id || $id == $cur ]]; then
		__argocd_list_app_history $app
	fi
}

__argocd_list_servers() {
	local -a argocd_out
	if argocd_out=($(argocd cluster list --output server 2>/dev/null)); then
		COMPREPLY+=( $( compgen -W "${argocd_out[*]}" -- "$cur" ) )
	fi
}

__argocd_list_repos() {
	local -a argocd_out
	if argocd_out=($(argocd repo list --output url 2>/dev/null)); then
		COMPREPLY+=( $( compgen -W "${argocd_out[*]}" -- "$cur" ) )
	fi
}

__argocd_list_projects() {
	local -a argocd_out
	if argocd_out=($(argocd proj list --output name 2>/dev/null)); then
		COMPREPLY+=( $( compgen -W "${argocd_out[*]}" -- "$cur" ) )
	fi
}

__argocd_list_namespaces() {
	local -a argocd_out
	if argocd_out=($(kubectl get namespaces --no-headers 2>/dev/null | cut -f1 -d' ' 2>/dev/null)); then
		COMPREPLY+=( $( compgen -W "${argocd_out[*]}" -- "$cur" ) )
	fi
}

__argocd_proj_server_namespace() {
	local -a command
	for comp_word in "${COMP_WORDS[@]}"; do
		if [[ $comp_word =~ ^-.*$ ]]; then
			continue
		fi
		command+=($comp_word)
	done

	# expect something like this: argocd proj add-destination PROJECT SERVER NAMESPACE
	local project=${command[3]}
	local server=${command[4]}
	local namespace=${command[5]}
	if [[ -z $project || $project == $cur ]]; then
		__argocd_list_projects
	elif [[ -z $server || $server == $cur ]]; then
		__argocd_list_servers
	elif [[ -z $namespace || $namespace == $cur ]]; then
		__argocd_list_namespaces
	fi
}

__argocd_list_project_role() {
	local project="$1"
	local -a argocd_out
	if argocd_out=($(argocd proj role list "$project" --output=name 2>/dev/null)); then
		COMPREPLY+=( $( compgen -W "${argocd_out[*]}" -- "$cur" ) )
	fi
}

__argocd_proj_role(){
	local -a command
	for comp_word in "${COMP_WORDS[@]}"; do
		if [[ $comp_word =~ ^-.*$ ]]; then
			continue
		fi
		command+=($comp_word)
	done

	# expect something like this: argocd proj role add-policy PROJECT ROLE-NAME
	local project=${command[4]}
	local role=${command[5]}
	if [[ -z $project || $project == $cur ]]; then
		__argocd_list_projects
	elif [[ -z $role || $role == $cur ]]; then
		__argocd_list_project_role $project
	fi
}

__argocd_custom_func() {
	case ${last_command} in
		argocd_app_delete | \
		argocd_app_diff | \
		argocd_app_edit | \
		argocd_app_get | \
		argocd_app_history | \
		argocd_app_manifests | \
		argocd_app_patch-resource | \
		argocd_app_set | \
		argocd_app_sync | \
		argocd_app_terminate-op | \
		argocd_app_unset | \
		argocd_app_wait | \
		argocd_app_create)
			__argocd_list_apps
			return
			;;
		argocd_app_rollback)
			__argocd_app_rollback
			return
			;;
		argocd_cluster_get | \
		argocd_cluster_rm | \
		argocd_cluster_set | \
		argocd_login | \
		argocd_cluster_add)
			__argocd_list_servers
			return
			;;
		argocd_repo_rm | \
		argocd_repo_add)
			__argocd_list_repos
			return
			;;
		argocd_proj_add-destination | \
		argocd_proj_remove-destination)
			__argocd_proj_server_namespace
			return
			;;
		argocd_proj_add-source | \
		argocd_proj_remove-source | \
		argocd_proj_allow-cluster-resource | \
		argocd_proj_allow-namespace-resource | \
		argocd_proj_deny-cluster-resource | \
		argocd_proj_deny-namespace-resource | \
		argocd_proj_delete | \
		argocd_proj_edit | \
		argocd_proj_get | \
		argocd_proj_set | \
		argocd_proj_role_list)
			__argocd_list_projects
			return
			;;
		argocd_proj_role_remove-policy | \
		argocd_proj_role_add-policy | \
		argocd_proj_role_create | \
		argocd_proj_role_delete | \
		argocd_proj_role_get | \
		argocd_proj_role_create-token | \
		argocd_proj_role_delete-token)
			__argocd_proj_role
			return
			;;
		*)
			;;
	esac
}
	
_argocd_account_bcrypt()
{
    last_command="argocd_account_bcrypt"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_flag+=("--password=")
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_account_can-i()
{
    last_command="argocd_account_can-i"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_account_delete-token()
{
    last_command="argocd_account_delete-token"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--account=")
    two_word_flags+=("--account")
    two_word_flags+=("-a")
    local_nonpersistent_flags+=("--account")
    local_nonpersistent_flags+=("--account=")
    local_nonpersistent_flags+=("-a")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_account_generate-token()
{
    last_command="argocd_account_generate-token"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--account=")
    two_word_flags+=("--account")
    two_word_flags+=("-a")
    local_nonpersistent_flags+=("--account")
    local_nonpersistent_flags+=("--account=")
    local_nonpersistent_flags+=("-a")
    flags+=("--expires-in=")
    two_word_flags+=("--expires-in")
    two_word_flags+=("-e")
    local_nonpersistent_flags+=("--expires-in")
    local_nonpersistent_flags+=("--expires-in=")
    local_nonpersistent_flags+=("-e")
    flags+=("--id=")
    two_word_flags+=("--id")
    local_nonpersistent_flags+=("--id")
    local_nonpersistent_flags+=("--id=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_account_get()
{
    last_command="argocd_account_get"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--account=")
    two_word_flags+=("--account")
    two_word_flags+=("-a")
    local_nonpersistent_flags+=("--account")
    local_nonpersistent_flags+=("--account=")
    local_nonpersistent_flags+=("-a")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_account_get-user-info()
{
    last_command="argocd_account_get-user-info"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_account_list()
{
    last_command="argocd_account_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_account_update-password()
{
    last_command="argocd_account_update-password"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--account=")
    two_word_flags+=("--account")
    local_nonpersistent_flags+=("--account")
    local_nonpersistent_flags+=("--account=")
    flags+=("--current-password=")
    two_word_flags+=("--current-password")
    local_nonpersistent_flags+=("--current-password")
    local_nonpersistent_flags+=("--current-password=")
    flags+=("--new-password=")
    two_word_flags+=("--new-password")
    local_nonpersistent_flags+=("--new-password")
    local_nonpersistent_flags+=("--new-password=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_account()
{
    last_command="argocd_account"

    command_aliases=()

    commands=()
    commands+=("bcrypt")
    commands+=("can-i")
    commands+=("delete-token")
    commands+=("generate-token")
    commands+=("get")
    commands+=("get-user-info")
    if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then
        command_aliases+=("whoami")
        aliashash["whoami"]="get-user-info"
    fi
    commands+=("list")
    commands+=("update-password")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_app_diff-reconcile-results()
{
    last_command="argocd_admin_app_diff-reconcile-results"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_app_generate-spec()
{
    last_command="argocd_admin_app_generate-spec"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--allow-empty")
    local_nonpersistent_flags+=("--allow-empty")
    flags+=("--annotations=")
    two_word_flags+=("--annotations")
    local_nonpersistent_flags+=("--annotations")
    local_nonpersistent_flags+=("--annotations=")
    flags+=("--auto-prune")
    local_nonpersistent_flags+=("--auto-prune")
    flags+=("--config-management-plugin=")
    two_word_flags+=("--config-management-plugin")
    local_nonpersistent_flags+=("--config-management-plugin")
    local_nonpersistent_flags+=("--config-management-plugin=")
    flags+=("--dest-name=")
    two_word_flags+=("--dest-name")
    local_nonpersistent_flags+=("--dest-name")
    local_nonpersistent_flags+=("--dest-name=")
    flags+=("--dest-namespace=")
    two_word_flags+=("--dest-namespace")
    local_nonpersistent_flags+=("--dest-namespace")
    local_nonpersistent_flags+=("--dest-namespace=")
    flags+=("--dest-server=")
    two_word_flags+=("--dest-server")
    local_nonpersistent_flags+=("--dest-server")
    local_nonpersistent_flags+=("--dest-server=")
    flags+=("--directory-exclude=")
    two_word_flags+=("--directory-exclude")
    local_nonpersistent_flags+=("--directory-exclude")
    local_nonpersistent_flags+=("--directory-exclude=")
    flags+=("--directory-include=")
    two_word_flags+=("--directory-include")
    local_nonpersistent_flags+=("--directory-include")
    local_nonpersistent_flags+=("--directory-include=")
    flags+=("--directory-recurse")
    local_nonpersistent_flags+=("--directory-recurse")
    flags+=("--dry-source-path=")
    two_word_flags+=("--dry-source-path")
    local_nonpersistent_flags+=("--dry-source-path")
    local_nonpersistent_flags+=("--dry-source-path=")
    flags+=("--dry-source-repo=")
    two_word_flags+=("--dry-source-repo")
    local_nonpersistent_flags+=("--dry-source-repo")
    local_nonpersistent_flags+=("--dry-source-repo=")
    flags+=("--dry-source-revision=")
    two_word_flags+=("--dry-source-revision")
    local_nonpersistent_flags+=("--dry-source-revision")
    local_nonpersistent_flags+=("--dry-source-revision=")
    flags+=("--env=")
    two_word_flags+=("--env")
    local_nonpersistent_flags+=("--env")
    local_nonpersistent_flags+=("--env=")
    flags+=("--file=")
    two_word_flags+=("--file")
    flags_with_completion+=("--file")
    flags_completion+=("__argocd_handle_filename_extension_flag json|yaml|yml")
    two_word_flags+=("-f")
    flags_with_completion+=("-f")
    flags_completion+=("__argocd_handle_filename_extension_flag json|yaml|yml")
    local_nonpersistent_flags+=("--file")
    local_nonpersistent_flags+=("--file=")
    local_nonpersistent_flags+=("-f")
    flags+=("--helm-api-versions=")
    two_word_flags+=("--helm-api-versions")
    local_nonpersistent_flags+=("--helm-api-versions")
    local_nonpersistent_flags+=("--helm-api-versions=")
    flags+=("--helm-chart=")
    two_word_flags+=("--helm-chart")
    local_nonpersistent_flags+=("--helm-chart")
    local_nonpersistent_flags+=("--helm-chart=")
    flags+=("--helm-kube-version=")
    two_word_flags+=("--helm-kube-version")
    local_nonpersistent_flags+=("--helm-kube-version")
    local_nonpersistent_flags+=("--helm-kube-version=")
    flags+=("--helm-namespace=")
    two_word_flags+=("--helm-namespace")
    local_nonpersistent_flags+=("--helm-namespace")
    local_nonpersistent_flags+=("--helm-namespace=")
    flags+=("--helm-pass-credentials")
    local_nonpersistent_flags+=("--helm-pass-credentials")
    flags+=("--helm-set=")
    two_word_flags+=("--helm-set")
    local_nonpersistent_flags+=("--helm-set")
    local_nonpersistent_flags+=("--helm-set=")
    flags+=("--helm-set-file=")
    two_word_flags+=("--helm-set-file")
    local_nonpersistent_flags+=("--helm-set-file")
    local_nonpersistent_flags+=("--helm-set-file=")
    flags+=("--helm-set-string=")
    two_word_flags+=("--helm-set-string")
    local_nonpersistent_flags+=("--helm-set-string")
    local_nonpersistent_flags+=("--helm-set-string=")
    flags+=("--helm-skip-crds")
    local_nonpersistent_flags+=("--helm-skip-crds")
    flags+=("--helm-skip-schema-validation")
    local_nonpersistent_flags+=("--helm-skip-schema-validation")
    flags+=("--helm-skip-tests")
    local_nonpersistent_flags+=("--helm-skip-tests")
    flags+=("--helm-version=")
    two_word_flags+=("--helm-version")
    local_nonpersistent_flags+=("--helm-version")
    local_nonpersistent_flags+=("--helm-version=")
    flags+=("--hydrate-to-branch=")
    two_word_flags+=("--hydrate-to-branch")
    local_nonpersistent_flags+=("--hydrate-to-branch")
    local_nonpersistent_flags+=("--hydrate-to-branch=")
    flags+=("--ignore-missing-components")
    local_nonpersistent_flags+=("--ignore-missing-components")
    flags+=("--ignore-missing-value-files")
    local_nonpersistent_flags+=("--ignore-missing-value-files")
    flags+=("--inline")
    flags+=("-i")
    local_nonpersistent_flags+=("--inline")
    local_nonpersistent_flags+=("-i")
    flags+=("--jsonnet-ext-var-code=")
    two_word_flags+=("--jsonnet-ext-var-code")
    local_nonpersistent_flags+=("--jsonnet-ext-var-code")
    local_nonpersistent_flags+=("--jsonnet-ext-var-code=")
    flags+=("--jsonnet-ext-var-str=")
    two_word_flags+=("--jsonnet-ext-var-str")
    local_nonpersistent_flags+=("--jsonnet-ext-var-str")
    local_nonpersistent_flags+=("--jsonnet-ext-var-str=")
    flags+=("--jsonnet-libs=")
    two_word_flags+=("--jsonnet-libs")
    local_nonpersistent_flags+=("--jsonnet-libs")
    local_nonpersistent_flags+=("--jsonnet-libs=")
    flags+=("--jsonnet-tla-code=")
    two_word_flags+=("--jsonnet-tla-code")
    local_nonpersistent_flags+=("--jsonnet-tla-code")
    local_nonpersistent_flags+=("--jsonnet-tla-code=")
    flags+=("--jsonnet-tla-str=")
    two_word_flags+=("--jsonnet-tla-str")
    local_nonpersistent_flags+=("--jsonnet-tla-str")
    local_nonpersistent_flags+=("--jsonnet-tla-str=")
    flags+=("--kustomize-api-versions=")
    two_word_flags+=("--kustomize-api-versions")
    local_nonpersistent_flags+=("--kustomize-api-versions")
    local_nonpersistent_flags+=("--kustomize-api-versions=")
    flags+=("--kustomize-common-annotation=")
    two_word_flags+=("--kustomize-common-annotation")
    local_nonpersistent_flags+=("--kustomize-common-annotation")
    local_nonpersistent_flags+=("--kustomize-common-annotation=")
    flags+=("--kustomize-common-label=")
    two_word_flags+=("--kustomize-common-label")
    local_nonpersistent_flags+=("--kustomize-common-label")
    local_nonpersistent_flags+=("--kustomize-common-label=")
    flags+=("--kustomize-force-common-annotation")
    local_nonpersistent_flags+=("--kustomize-force-common-annotation")
    flags+=("--kustomize-force-common-label")
    local_nonpersistent_flags+=("--kustomize-force-common-label")
    flags+=("--kustomize-image=")
    two_word_flags+=("--kustomize-image")
    local_nonpersistent_flags+=("--kustomize-image")
    local_nonpersistent_flags+=("--kustomize-image=")
    flags+=("--kustomize-kube-version=")
    two_word_flags+=("--kustomize-kube-version")
    local_nonpersistent_flags+=("--kustomize-kube-version")
    local_nonpersistent_flags+=("--kustomize-kube-version=")
    flags+=("--kustomize-label-include-templates")
    local_nonpersistent_flags+=("--kustomize-label-include-templates")
    flags+=("--kustomize-label-without-selector")
    local_nonpersistent_flags+=("--kustomize-label-without-selector")
    flags+=("--kustomize-namespace=")
    two_word_flags+=("--kustomize-namespace")
    local_nonpersistent_flags+=("--kustomize-namespace")
    local_nonpersistent_flags+=("--kustomize-namespace=")
    flags+=("--kustomize-replica=")
    two_word_flags+=("--kustomize-replica")
    local_nonpersistent_flags+=("--kustomize-replica")
    local_nonpersistent_flags+=("--kustomize-replica=")
    flags+=("--kustomize-version=")
    two_word_flags+=("--kustomize-version")
    local_nonpersistent_flags+=("--kustomize-version")
    local_nonpersistent_flags+=("--kustomize-version=")
    flags+=("--label=")
    two_word_flags+=("--label")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--label")
    local_nonpersistent_flags+=("--label=")
    local_nonpersistent_flags+=("-l")
    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--nameprefix=")
    two_word_flags+=("--nameprefix")
    local_nonpersistent_flags+=("--nameprefix")
    local_nonpersistent_flags+=("--nameprefix=")
    flags+=("--namesuffix=")
    two_word_flags+=("--namesuffix")
    local_nonpersistent_flags+=("--namesuffix")
    local_nonpersistent_flags+=("--namesuffix=")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--parameter=")
    two_word_flags+=("--parameter")
    two_word_flags+=("-p")
    local_nonpersistent_flags+=("--parameter")
    local_nonpersistent_flags+=("--parameter=")
    local_nonpersistent_flags+=("-p")
    flags+=("--path=")
    two_word_flags+=("--path")
    local_nonpersistent_flags+=("--path")
    local_nonpersistent_flags+=("--path=")
    flags+=("--plugin-env=")
    two_word_flags+=("--plugin-env")
    local_nonpersistent_flags+=("--plugin-env")
    local_nonpersistent_flags+=("--plugin-env=")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--ref=")
    two_word_flags+=("--ref")
    local_nonpersistent_flags+=("--ref")
    local_nonpersistent_flags+=("--ref=")
    flags+=("--release-name=")
    two_word_flags+=("--release-name")
    local_nonpersistent_flags+=("--release-name")
    local_nonpersistent_flags+=("--release-name=")
    flags+=("--repo=")
    two_word_flags+=("--repo")
    local_nonpersistent_flags+=("--repo")
    local_nonpersistent_flags+=("--repo=")
    flags+=("--revision=")
    two_word_flags+=("--revision")
    local_nonpersistent_flags+=("--revision")
    local_nonpersistent_flags+=("--revision=")
    flags+=("--revision-history-limit=")
    two_word_flags+=("--revision-history-limit")
    local_nonpersistent_flags+=("--revision-history-limit")
    local_nonpersistent_flags+=("--revision-history-limit=")
    flags+=("--self-heal")
    local_nonpersistent_flags+=("--self-heal")
    flags+=("--set-finalizer")
    local_nonpersistent_flags+=("--set-finalizer")
    flags+=("--source-name=")
    two_word_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name=")
    flags+=("--sync-option=")
    two_word_flags+=("--sync-option")
    local_nonpersistent_flags+=("--sync-option")
    local_nonpersistent_flags+=("--sync-option=")
    flags+=("--sync-policy=")
    two_word_flags+=("--sync-policy")
    local_nonpersistent_flags+=("--sync-policy")
    local_nonpersistent_flags+=("--sync-policy=")
    flags+=("--sync-retry-backoff-duration=")
    two_word_flags+=("--sync-retry-backoff-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-duration=")
    flags+=("--sync-retry-backoff-factor=")
    two_word_flags+=("--sync-retry-backoff-factor")
    local_nonpersistent_flags+=("--sync-retry-backoff-factor")
    local_nonpersistent_flags+=("--sync-retry-backoff-factor=")
    flags+=("--sync-retry-backoff-max-duration=")
    two_word_flags+=("--sync-retry-backoff-max-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-max-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-max-duration=")
    flags+=("--sync-retry-limit=")
    two_word_flags+=("--sync-retry-limit")
    local_nonpersistent_flags+=("--sync-retry-limit")
    local_nonpersistent_flags+=("--sync-retry-limit=")
    flags+=("--sync-source-branch=")
    two_word_flags+=("--sync-source-branch")
    local_nonpersistent_flags+=("--sync-source-branch")
    local_nonpersistent_flags+=("--sync-source-branch=")
    flags+=("--sync-source-path=")
    two_word_flags+=("--sync-source-path")
    local_nonpersistent_flags+=("--sync-source-path")
    local_nonpersistent_flags+=("--sync-source-path=")
    flags+=("--validate")
    local_nonpersistent_flags+=("--validate")
    flags+=("--values=")
    two_word_flags+=("--values")
    local_nonpersistent_flags+=("--values")
    local_nonpersistent_flags+=("--values=")
    flags+=("--values-literal-file=")
    two_word_flags+=("--values-literal-file")
    local_nonpersistent_flags+=("--values-literal-file")
    local_nonpersistent_flags+=("--values-literal-file=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_app_get-reconcile-results()
{
    last_command="argocd_admin_app_get-reconcile-results"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--ignore-normalizer-jq-execution-timeout=")
    two_word_flags+=("--ignore-normalizer-jq-execution-timeout")
    local_nonpersistent_flags+=("--ignore-normalizer-jq-execution-timeout")
    local_nonpersistent_flags+=("--ignore-normalizer-jq-execution-timeout=")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--l=")
    two_word_flags+=("--l")
    local_nonpersistent_flags+=("--l")
    local_nonpersistent_flags+=("--l=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--o=")
    two_word_flags+=("--o")
    local_nonpersistent_flags+=("--o")
    local_nonpersistent_flags+=("--o=")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--refresh")
    local_nonpersistent_flags+=("--refresh")
    flags+=("--repo-server=")
    two_word_flags+=("--repo-server")
    local_nonpersistent_flags+=("--repo-server")
    local_nonpersistent_flags+=("--repo-server=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-side-diff")
    local_nonpersistent_flags+=("--server-side-diff")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_app()
{
    last_command="argocd_admin_app"

    command_aliases=()

    commands=()
    commands+=("diff-reconcile-results")
    commands+=("generate-spec")
    commands+=("get-reconcile-results")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_cluster_generate-spec()
{
    last_command="argocd_admin_cluster_generate-spec"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--annotation=")
    two_word_flags+=("--annotation")
    local_nonpersistent_flags+=("--annotation")
    local_nonpersistent_flags+=("--annotation=")
    flags+=("--aws-cluster-name=")
    two_word_flags+=("--aws-cluster-name")
    local_nonpersistent_flags+=("--aws-cluster-name")
    local_nonpersistent_flags+=("--aws-cluster-name=")
    flags+=("--aws-profile=")
    two_word_flags+=("--aws-profile")
    local_nonpersistent_flags+=("--aws-profile")
    local_nonpersistent_flags+=("--aws-profile=")
    flags+=("--aws-role-arn=")
    two_word_flags+=("--aws-role-arn")
    local_nonpersistent_flags+=("--aws-role-arn")
    local_nonpersistent_flags+=("--aws-role-arn=")
    flags+=("--bearer-token=")
    two_word_flags+=("--bearer-token")
    local_nonpersistent_flags+=("--bearer-token")
    local_nonpersistent_flags+=("--bearer-token=")
    flags+=("--cluster-endpoint=")
    two_word_flags+=("--cluster-endpoint")
    local_nonpersistent_flags+=("--cluster-endpoint")
    local_nonpersistent_flags+=("--cluster-endpoint=")
    flags+=("--cluster-resources")
    local_nonpersistent_flags+=("--cluster-resources")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--exec-command=")
    two_word_flags+=("--exec-command")
    local_nonpersistent_flags+=("--exec-command")
    local_nonpersistent_flags+=("--exec-command=")
    flags+=("--exec-command-api-version=")
    two_word_flags+=("--exec-command-api-version")
    local_nonpersistent_flags+=("--exec-command-api-version")
    local_nonpersistent_flags+=("--exec-command-api-version=")
    flags+=("--exec-command-args=")
    two_word_flags+=("--exec-command-args")
    local_nonpersistent_flags+=("--exec-command-args")
    local_nonpersistent_flags+=("--exec-command-args=")
    flags+=("--exec-command-env=")
    two_word_flags+=("--exec-command-env")
    local_nonpersistent_flags+=("--exec-command-env")
    local_nonpersistent_flags+=("--exec-command-env=")
    flags+=("--exec-command-install-hint=")
    two_word_flags+=("--exec-command-install-hint")
    local_nonpersistent_flags+=("--exec-command-install-hint")
    local_nonpersistent_flags+=("--exec-command-install-hint=")
    flags+=("--generate-bearer-token")
    local_nonpersistent_flags+=("--generate-bearer-token")
    flags+=("--in-cluster")
    local_nonpersistent_flags+=("--in-cluster")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--label=")
    two_word_flags+=("--label")
    local_nonpersistent_flags+=("--label")
    local_nonpersistent_flags+=("--label=")
    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--service-account=")
    two_word_flags+=("--service-account")
    local_nonpersistent_flags+=("--service-account")
    local_nonpersistent_flags+=("--service-account=")
    flags+=("--shard=")
    two_word_flags+=("--shard")
    local_nonpersistent_flags+=("--shard")
    local_nonpersistent_flags+=("--shard=")
    flags+=("--system-namespace=")
    two_word_flags+=("--system-namespace")
    local_nonpersistent_flags+=("--system-namespace")
    local_nonpersistent_flags+=("--system-namespace=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_cluster_kubeconfig()
{
    last_command="argocd_admin_cluster_kubeconfig"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_cluster_namespaces_disable-namespaced-mode()
{
    last_command="argocd_admin_cluster_namespaces_disable-namespaced-mode"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--dry-run")
    local_nonpersistent_flags+=("--dry-run")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_cluster_namespaces_enable-namespaced-mode()
{
    last_command="argocd_admin_cluster_namespaces_enable-namespaced-mode"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--cluster-resources")
    local_nonpersistent_flags+=("--cluster-resources")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--dry-run")
    local_nonpersistent_flags+=("--dry-run")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--max-namespace-count=")
    two_word_flags+=("--max-namespace-count")
    local_nonpersistent_flags+=("--max-namespace-count")
    local_nonpersistent_flags+=("--max-namespace-count=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_cluster_namespaces()
{
    last_command="argocd_admin_cluster_namespaces"

    command_aliases=()

    commands=()
    commands+=("disable-namespaced-mode")
    commands+=("enable-namespaced-mode")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_cluster_shards()
{
    last_command="argocd_admin_cluster_shards"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-state-cache-expiration=")
    two_word_flags+=("--app-state-cache-expiration")
    local_nonpersistent_flags+=("--app-state-cache-expiration")
    local_nonpersistent_flags+=("--app-state-cache-expiration=")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--default-cache-expiration=")
    two_word_flags+=("--default-cache-expiration")
    local_nonpersistent_flags+=("--default-cache-expiration")
    local_nonpersistent_flags+=("--default-cache-expiration=")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--port-forward-redis")
    local_nonpersistent_flags+=("--port-forward-redis")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis=")
    two_word_flags+=("--redis")
    local_nonpersistent_flags+=("--redis")
    local_nonpersistent_flags+=("--redis=")
    flags+=("--redis-ca-certificate=")
    two_word_flags+=("--redis-ca-certificate")
    local_nonpersistent_flags+=("--redis-ca-certificate")
    local_nonpersistent_flags+=("--redis-ca-certificate=")
    flags+=("--redis-client-certificate=")
    two_word_flags+=("--redis-client-certificate")
    local_nonpersistent_flags+=("--redis-client-certificate")
    local_nonpersistent_flags+=("--redis-client-certificate=")
    flags+=("--redis-client-key=")
    two_word_flags+=("--redis-client-key")
    local_nonpersistent_flags+=("--redis-client-key")
    local_nonpersistent_flags+=("--redis-client-key=")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    local_nonpersistent_flags+=("--redis-compress")
    local_nonpersistent_flags+=("--redis-compress=")
    flags+=("--redis-insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--redis-insecure-skip-tls-verify")
    flags+=("--redis-use-tls")
    local_nonpersistent_flags+=("--redis-use-tls")
    flags+=("--redisdb=")
    two_word_flags+=("--redisdb")
    local_nonpersistent_flags+=("--redisdb")
    local_nonpersistent_flags+=("--redisdb=")
    flags+=("--replicas=")
    two_word_flags+=("--replicas")
    local_nonpersistent_flags+=("--replicas")
    local_nonpersistent_flags+=("--replicas=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--sentinel=")
    two_word_flags+=("--sentinel")
    local_nonpersistent_flags+=("--sentinel")
    local_nonpersistent_flags+=("--sentinel=")
    flags+=("--sentinelmaster=")
    two_word_flags+=("--sentinelmaster")
    local_nonpersistent_flags+=("--sentinelmaster")
    local_nonpersistent_flags+=("--sentinelmaster=")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--shard=")
    two_word_flags+=("--shard")
    local_nonpersistent_flags+=("--shard")
    local_nonpersistent_flags+=("--shard=")
    flags+=("--sharding-method=")
    two_word_flags+=("--sharding-method")
    local_nonpersistent_flags+=("--sharding-method")
    local_nonpersistent_flags+=("--sharding-method=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_cluster_stats()
{
    last_command="argocd_admin_cluster_stats"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-state-cache-expiration=")
    two_word_flags+=("--app-state-cache-expiration")
    local_nonpersistent_flags+=("--app-state-cache-expiration")
    local_nonpersistent_flags+=("--app-state-cache-expiration=")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--default-cache-expiration=")
    two_word_flags+=("--default-cache-expiration")
    local_nonpersistent_flags+=("--default-cache-expiration")
    local_nonpersistent_flags+=("--default-cache-expiration=")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--port-forward-redis")
    local_nonpersistent_flags+=("--port-forward-redis")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis=")
    two_word_flags+=("--redis")
    local_nonpersistent_flags+=("--redis")
    local_nonpersistent_flags+=("--redis=")
    flags+=("--redis-ca-certificate=")
    two_word_flags+=("--redis-ca-certificate")
    local_nonpersistent_flags+=("--redis-ca-certificate")
    local_nonpersistent_flags+=("--redis-ca-certificate=")
    flags+=("--redis-client-certificate=")
    two_word_flags+=("--redis-client-certificate")
    local_nonpersistent_flags+=("--redis-client-certificate")
    local_nonpersistent_flags+=("--redis-client-certificate=")
    flags+=("--redis-client-key=")
    two_word_flags+=("--redis-client-key")
    local_nonpersistent_flags+=("--redis-client-key")
    local_nonpersistent_flags+=("--redis-client-key=")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    local_nonpersistent_flags+=("--redis-compress")
    local_nonpersistent_flags+=("--redis-compress=")
    flags+=("--redis-insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--redis-insecure-skip-tls-verify")
    flags+=("--redis-use-tls")
    local_nonpersistent_flags+=("--redis-use-tls")
    flags+=("--redisdb=")
    two_word_flags+=("--redisdb")
    local_nonpersistent_flags+=("--redisdb")
    local_nonpersistent_flags+=("--redisdb=")
    flags+=("--replicas=")
    two_word_flags+=("--replicas")
    local_nonpersistent_flags+=("--replicas")
    local_nonpersistent_flags+=("--replicas=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--sentinel=")
    two_word_flags+=("--sentinel")
    local_nonpersistent_flags+=("--sentinel")
    local_nonpersistent_flags+=("--sentinel=")
    flags+=("--sentinelmaster=")
    two_word_flags+=("--sentinelmaster")
    local_nonpersistent_flags+=("--sentinelmaster")
    local_nonpersistent_flags+=("--sentinelmaster=")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--shard=")
    two_word_flags+=("--shard")
    local_nonpersistent_flags+=("--shard")
    local_nonpersistent_flags+=("--shard=")
    flags+=("--sharding-method=")
    two_word_flags+=("--sharding-method")
    local_nonpersistent_flags+=("--sharding-method")
    local_nonpersistent_flags+=("--sharding-method=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_cluster()
{
    last_command="argocd_admin_cluster"

    command_aliases=()

    commands=()
    commands+=("generate-spec")
    commands+=("kubeconfig")
    commands+=("namespaces")
    commands+=("shards")
    commands+=("stats")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_dashboard()
{
    last_command="argocd_admin_dashboard"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--address=")
    two_word_flags+=("--address")
    local_nonpersistent_flags+=("--address")
    local_nonpersistent_flags+=("--address=")
    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--port=")
    two_word_flags+=("--port")
    local_nonpersistent_flags+=("--port")
    local_nonpersistent_flags+=("--port=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--server=")
    two_word_flags+=("--server")
    local_nonpersistent_flags+=("--server")
    local_nonpersistent_flags+=("--server=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_export()
{
    last_command="argocd_admin_export"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--application-namespaces=")
    two_word_flags+=("--application-namespaces")
    local_nonpersistent_flags+=("--application-namespaces")
    local_nonpersistent_flags+=("--application-namespaces=")
    flags+=("--applicationset-namespaces=")
    two_word_flags+=("--applicationset-namespaces")
    local_nonpersistent_flags+=("--applicationset-namespaces")
    local_nonpersistent_flags+=("--applicationset-namespaces=")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--out=")
    two_word_flags+=("--out")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--out")
    local_nonpersistent_flags+=("--out=")
    local_nonpersistent_flags+=("-o")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_import()
{
    last_command="argocd_admin_import"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--application-namespaces=")
    two_word_flags+=("--application-namespaces")
    local_nonpersistent_flags+=("--application-namespaces")
    local_nonpersistent_flags+=("--application-namespaces=")
    flags+=("--applicationset-namespaces=")
    two_word_flags+=("--applicationset-namespaces")
    local_nonpersistent_flags+=("--applicationset-namespaces")
    local_nonpersistent_flags+=("--applicationset-namespaces=")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--dry-run")
    local_nonpersistent_flags+=("--dry-run")
    flags+=("--ignore-tracking")
    local_nonpersistent_flags+=("--ignore-tracking")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--override-on-conflict")
    local_nonpersistent_flags+=("--override-on-conflict")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--prune")
    local_nonpersistent_flags+=("--prune")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--skip-resources-with-label=")
    two_word_flags+=("--skip-resources-with-label")
    local_nonpersistent_flags+=("--skip-resources-with-label")
    local_nonpersistent_flags+=("--skip-resources-with-label=")
    flags+=("--stop-operation")
    local_nonpersistent_flags+=("--stop-operation")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--verbose")
    local_nonpersistent_flags+=("--verbose")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_initial-password()
{
    last_command="argocd_admin_initial-password"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_notifications_template_get()
{
    last_command="argocd_admin_notifications_template_get"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-repo-server=")
    two_word_flags+=("--argocd-repo-server")
    flags+=("--argocd-repo-server-plaintext")
    flags+=("--argocd-repo-server-strict-tls")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--config-map=")
    two_word_flags+=("--config-map")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--secret=")
    two_word_flags+=("--secret")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_notifications_template_notify()
{
    last_command="argocd_admin_notifications_template_notify"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--recipient=")
    two_word_flags+=("--recipient")
    local_nonpersistent_flags+=("--recipient")
    local_nonpersistent_flags+=("--recipient=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-repo-server=")
    two_word_flags+=("--argocd-repo-server")
    flags+=("--argocd-repo-server-plaintext")
    flags+=("--argocd-repo-server-strict-tls")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--config-map=")
    two_word_flags+=("--config-map")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--secret=")
    two_word_flags+=("--secret")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_notifications_template()
{
    last_command="argocd_admin_notifications_template"

    command_aliases=()

    commands=()
    commands+=("get")
    commands+=("notify")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-repo-server=")
    two_word_flags+=("--argocd-repo-server")
    flags+=("--argocd-repo-server-plaintext")
    flags+=("--argocd-repo-server-strict-tls")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--config-map=")
    two_word_flags+=("--config-map")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--secret=")
    two_word_flags+=("--secret")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_notifications_trigger_get()
{
    last_command="argocd_admin_notifications_trigger_get"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-repo-server=")
    two_word_flags+=("--argocd-repo-server")
    flags+=("--argocd-repo-server-plaintext")
    flags+=("--argocd-repo-server-strict-tls")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--config-map=")
    two_word_flags+=("--config-map")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--secret=")
    two_word_flags+=("--secret")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_notifications_trigger_run()
{
    last_command="argocd_admin_notifications_trigger_run"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-repo-server=")
    two_word_flags+=("--argocd-repo-server")
    flags+=("--argocd-repo-server-plaintext")
    flags+=("--argocd-repo-server-strict-tls")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--config-map=")
    two_word_flags+=("--config-map")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--secret=")
    two_word_flags+=("--secret")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_notifications_trigger()
{
    last_command="argocd_admin_notifications_trigger"

    command_aliases=()

    commands=()
    commands+=("get")
    commands+=("run")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-repo-server=")
    two_word_flags+=("--argocd-repo-server")
    flags+=("--argocd-repo-server-plaintext")
    flags+=("--argocd-repo-server-strict-tls")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--config-map=")
    two_word_flags+=("--config-map")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--secret=")
    two_word_flags+=("--secret")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_notifications()
{
    last_command="argocd_admin_notifications"

    command_aliases=()

    commands=()
    commands+=("template")
    commands+=("trigger")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-repo-server=")
    two_word_flags+=("--argocd-repo-server")
    flags+=("--argocd-repo-server-plaintext")
    flags+=("--argocd-repo-server-strict-tls")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config-map=")
    two_word_flags+=("--config-map")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--secret=")
    two_word_flags+=("--secret")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_proj_generate-allow-list()
{
    last_command="argocd_admin_proj_generate-allow-list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--out=")
    two_word_flags+=("--out")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--out")
    local_nonpersistent_flags+=("--out=")
    local_nonpersistent_flags+=("-o")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_proj_generate-spec()
{
    last_command="argocd_admin_proj_generate-spec"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--allow-cluster-resource=")
    two_word_flags+=("--allow-cluster-resource")
    local_nonpersistent_flags+=("--allow-cluster-resource")
    local_nonpersistent_flags+=("--allow-cluster-resource=")
    flags+=("--allow-namespaced-resource=")
    two_word_flags+=("--allow-namespaced-resource")
    local_nonpersistent_flags+=("--allow-namespaced-resource")
    local_nonpersistent_flags+=("--allow-namespaced-resource=")
    flags+=("--deny-cluster-resource=")
    two_word_flags+=("--deny-cluster-resource")
    local_nonpersistent_flags+=("--deny-cluster-resource")
    local_nonpersistent_flags+=("--deny-cluster-resource=")
    flags+=("--deny-namespaced-resource=")
    two_word_flags+=("--deny-namespaced-resource")
    local_nonpersistent_flags+=("--deny-namespaced-resource")
    local_nonpersistent_flags+=("--deny-namespaced-resource=")
    flags+=("--description=")
    two_word_flags+=("--description")
    local_nonpersistent_flags+=("--description")
    local_nonpersistent_flags+=("--description=")
    flags+=("--dest=")
    two_word_flags+=("--dest")
    two_word_flags+=("-d")
    local_nonpersistent_flags+=("--dest")
    local_nonpersistent_flags+=("--dest=")
    local_nonpersistent_flags+=("-d")
    flags+=("--dest-service-accounts=")
    two_word_flags+=("--dest-service-accounts")
    local_nonpersistent_flags+=("--dest-service-accounts")
    local_nonpersistent_flags+=("--dest-service-accounts=")
    flags+=("--file=")
    two_word_flags+=("--file")
    flags_with_completion+=("--file")
    flags_completion+=("__argocd_handle_filename_extension_flag json|yaml|yml")
    two_word_flags+=("-f")
    flags_with_completion+=("-f")
    flags_completion+=("__argocd_handle_filename_extension_flag json|yaml|yml")
    local_nonpersistent_flags+=("--file")
    local_nonpersistent_flags+=("--file=")
    local_nonpersistent_flags+=("-f")
    flags+=("--inline")
    flags+=("-i")
    local_nonpersistent_flags+=("--inline")
    local_nonpersistent_flags+=("-i")
    flags+=("--orphaned-resources")
    local_nonpersistent_flags+=("--orphaned-resources")
    flags+=("--orphaned-resources-warn")
    local_nonpersistent_flags+=("--orphaned-resources-warn")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--signature-keys=")
    two_word_flags+=("--signature-keys")
    local_nonpersistent_flags+=("--signature-keys")
    local_nonpersistent_flags+=("--signature-keys=")
    flags+=("--source-namespaces=")
    two_word_flags+=("--source-namespaces")
    local_nonpersistent_flags+=("--source-namespaces")
    local_nonpersistent_flags+=("--source-namespaces=")
    flags+=("--src=")
    two_word_flags+=("--src")
    two_word_flags+=("-s")
    local_nonpersistent_flags+=("--src")
    local_nonpersistent_flags+=("--src=")
    local_nonpersistent_flags+=("-s")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_proj_update-role-policy()
{
    last_command="argocd_admin_proj_update-role-policy"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--dry-run")
    local_nonpersistent_flags+=("--dry-run")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--permission=")
    two_word_flags+=("--permission")
    local_nonpersistent_flags+=("--permission")
    local_nonpersistent_flags+=("--permission=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--resource=")
    two_word_flags+=("--resource")
    local_nonpersistent_flags+=("--resource")
    local_nonpersistent_flags+=("--resource=")
    flags+=("--role=")
    two_word_flags+=("--role")
    local_nonpersistent_flags+=("--role")
    local_nonpersistent_flags+=("--role=")
    flags+=("--scope=")
    two_word_flags+=("--scope")
    local_nonpersistent_flags+=("--scope")
    local_nonpersistent_flags+=("--scope=")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_proj()
{
    last_command="argocd_admin_proj"

    command_aliases=()

    commands=()
    commands+=("generate-allow-list")
    commands+=("generate-spec")
    commands+=("update-role-policy")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_redis-initial-password()
{
    last_command="argocd_admin_redis-initial-password"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_repo_generate-spec()
{
    last_command="argocd_admin_repo_generate-spec"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--bearer-token=")
    two_word_flags+=("--bearer-token")
    local_nonpersistent_flags+=("--bearer-token")
    local_nonpersistent_flags+=("--bearer-token=")
    flags+=("--enable-lfs")
    local_nonpersistent_flags+=("--enable-lfs")
    flags+=("--enable-oci")
    local_nonpersistent_flags+=("--enable-oci")
    flags+=("--force-http-basic-auth")
    local_nonpersistent_flags+=("--force-http-basic-auth")
    flags+=("--gcp-service-account-key-path=")
    two_word_flags+=("--gcp-service-account-key-path")
    local_nonpersistent_flags+=("--gcp-service-account-key-path")
    local_nonpersistent_flags+=("--gcp-service-account-key-path=")
    flags+=("--github-app-enterprise-base-url=")
    two_word_flags+=("--github-app-enterprise-base-url")
    local_nonpersistent_flags+=("--github-app-enterprise-base-url")
    local_nonpersistent_flags+=("--github-app-enterprise-base-url=")
    flags+=("--github-app-id=")
    two_word_flags+=("--github-app-id")
    local_nonpersistent_flags+=("--github-app-id")
    local_nonpersistent_flags+=("--github-app-id=")
    flags+=("--github-app-installation-id=")
    two_word_flags+=("--github-app-installation-id")
    local_nonpersistent_flags+=("--github-app-installation-id")
    local_nonpersistent_flags+=("--github-app-installation-id=")
    flags+=("--github-app-private-key-path=")
    two_word_flags+=("--github-app-private-key-path")
    local_nonpersistent_flags+=("--github-app-private-key-path")
    local_nonpersistent_flags+=("--github-app-private-key-path=")
    flags+=("--insecure-ignore-host-key")
    local_nonpersistent_flags+=("--insecure-ignore-host-key")
    flags+=("--insecure-oci-force-http")
    local_nonpersistent_flags+=("--insecure-oci-force-http")
    flags+=("--insecure-skip-server-verification")
    local_nonpersistent_flags+=("--insecure-skip-server-verification")
    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--no-proxy=")
    two_word_flags+=("--no-proxy")
    local_nonpersistent_flags+=("--no-proxy")
    local_nonpersistent_flags+=("--no-proxy=")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--proxy=")
    two_word_flags+=("--proxy")
    local_nonpersistent_flags+=("--proxy")
    local_nonpersistent_flags+=("--proxy=")
    flags+=("--ssh-private-key-path=")
    two_word_flags+=("--ssh-private-key-path")
    local_nonpersistent_flags+=("--ssh-private-key-path")
    local_nonpersistent_flags+=("--ssh-private-key-path=")
    flags+=("--tls-client-cert-key-path=")
    two_word_flags+=("--tls-client-cert-key-path")
    local_nonpersistent_flags+=("--tls-client-cert-key-path")
    local_nonpersistent_flags+=("--tls-client-cert-key-path=")
    flags+=("--tls-client-cert-path=")
    two_word_flags+=("--tls-client-cert-path")
    local_nonpersistent_flags+=("--tls-client-cert-path")
    local_nonpersistent_flags+=("--tls-client-cert-path=")
    flags+=("--type=")
    two_word_flags+=("--type")
    local_nonpersistent_flags+=("--type")
    local_nonpersistent_flags+=("--type=")
    flags+=("--use-azure-workload-identity")
    local_nonpersistent_flags+=("--use-azure-workload-identity")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_repo()
{
    last_command="argocd_admin_repo"

    command_aliases=()

    commands=()
    commands+=("generate-spec")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings_rbac_can()
{
    last_command="argocd_admin_settings_rbac_can"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--default-role=")
    two_word_flags+=("--default-role")
    local_nonpersistent_flags+=("--default-role")
    local_nonpersistent_flags+=("--default-role=")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--policy-file=")
    two_word_flags+=("--policy-file")
    local_nonpersistent_flags+=("--policy-file")
    local_nonpersistent_flags+=("--policy-file=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--quiet")
    flags+=("-q")
    local_nonpersistent_flags+=("--quiet")
    local_nonpersistent_flags+=("-q")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--strict")
    local_nonpersistent_flags+=("--strict")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--use-builtin-policy")
    local_nonpersistent_flags+=("--use-builtin-policy")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--load-cluster-settings")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings_rbac_validate()
{
    last_command="argocd_admin_settings_rbac_validate"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--policy-file=")
    two_word_flags+=("--policy-file")
    local_nonpersistent_flags+=("--policy-file")
    local_nonpersistent_flags+=("--policy-file=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--load-cluster-settings")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings_rbac()
{
    last_command="argocd_admin_settings_rbac"

    command_aliases=()

    commands=()
    commands+=("can")
    commands+=("validate")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--load-cluster-settings")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings_resource-overrides_health()
{
    last_command="argocd_admin_settings_resource-overrides_health"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--load-cluster-settings")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings_resource-overrides_ignore-differences()
{
    last_command="argocd_admin_settings_resource-overrides_ignore-differences"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--load-cluster-settings")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings_resource-overrides_ignore-resource-updates()
{
    last_command="argocd_admin_settings_resource-overrides_ignore-resource-updates"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--ignore-normalizer-jq-execution-timeout=")
    two_word_flags+=("--ignore-normalizer-jq-execution-timeout")
    local_nonpersistent_flags+=("--ignore-normalizer-jq-execution-timeout")
    local_nonpersistent_flags+=("--ignore-normalizer-jq-execution-timeout=")
    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--load-cluster-settings")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings_resource-overrides_list-actions()
{
    last_command="argocd_admin_settings_resource-overrides_list-actions"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--load-cluster-settings")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings_resource-overrides_run-action()
{
    last_command="argocd_admin_settings_resource-overrides_run-action"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--param=")
    two_word_flags+=("--param")
    local_nonpersistent_flags+=("--param")
    local_nonpersistent_flags+=("--param=")
    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--load-cluster-settings")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings_resource-overrides()
{
    last_command="argocd_admin_settings_resource-overrides"

    command_aliases=()

    commands=()
    commands+=("health")
    commands+=("ignore-differences")
    commands+=("ignore-resource-updates")
    commands+=("list-actions")
    commands+=("run-action")
    if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then
        command_aliases+=("action")
        aliashash["action"]="run-action"
    fi

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--load-cluster-settings")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings_validate()
{
    last_command="argocd_admin_settings_validate"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--group=")
    two_word_flags+=("--group")
    local_nonpersistent_flags+=("--group")
    local_nonpersistent_flags+=("--group=")
    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--disable-compression")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--load-cluster-settings")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin_settings()
{
    last_command="argocd_admin_settings"

    command_aliases=()

    commands=()
    commands+=("rbac")
    commands+=("resource-overrides")
    commands+=("validate")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-cm-path=")
    two_word_flags+=("--argocd-cm-path")
    flags+=("--argocd-secret-path=")
    two_word_flags+=("--argocd-secret-path")
    flags+=("--as=")
    two_word_flags+=("--as")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    flags+=("--context=")
    two_word_flags+=("--context")
    flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--load-cluster-settings")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    flags+=("--token=")
    two_word_flags+=("--token")
    flags+=("--user=")
    two_word_flags+=("--user")
    flags+=("--username=")
    two_word_flags+=("--username")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_admin()
{
    last_command="argocd_admin"

    command_aliases=()

    commands=()
    commands+=("app")
    commands+=("cluster")
    commands+=("dashboard")
    commands+=("export")
    commands+=("import")
    commands+=("initial-password")
    commands+=("notifications")
    commands+=("proj")
    commands+=("redis-initial-password")
    commands+=("repo")
    commands+=("settings")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    local_nonpersistent_flags+=("--logformat")
    local_nonpersistent_flags+=("--logformat=")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    local_nonpersistent_flags+=("--loglevel")
    local_nonpersistent_flags+=("--loglevel=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_actions_list()
{
    last_command="argocd_app_actions_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--group=")
    two_word_flags+=("--group")
    local_nonpersistent_flags+=("--group")
    local_nonpersistent_flags+=("--group=")
    flags+=("--kind=")
    two_word_flags+=("--kind")
    local_nonpersistent_flags+=("--kind")
    local_nonpersistent_flags+=("--kind=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    flags+=("--out=")
    two_word_flags+=("--out")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--out")
    local_nonpersistent_flags+=("--out=")
    local_nonpersistent_flags+=("-o")
    flags+=("--resource-name=")
    two_word_flags+=("--resource-name")
    local_nonpersistent_flags+=("--resource-name")
    local_nonpersistent_flags+=("--resource-name=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_actions_run()
{
    last_command="argocd_app_actions_run"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--all")
    local_nonpersistent_flags+=("--all")
    flags+=("--group=")
    two_word_flags+=("--group")
    local_nonpersistent_flags+=("--group")
    local_nonpersistent_flags+=("--group=")
    flags+=("--kind=")
    two_word_flags+=("--kind")
    local_nonpersistent_flags+=("--kind")
    local_nonpersistent_flags+=("--kind=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    flags+=("--resource-name=")
    two_word_flags+=("--resource-name")
    local_nonpersistent_flags+=("--resource-name")
    local_nonpersistent_flags+=("--resource-name=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_flag+=("--kind=")
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_actions()
{
    last_command="argocd_app_actions"

    command_aliases=()

    commands=()
    commands+=("list")
    commands+=("run")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_add-source()
{
    last_command="argocd_app_add-source"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--allow-empty")
    local_nonpersistent_flags+=("--allow-empty")
    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--auto-prune")
    local_nonpersistent_flags+=("--auto-prune")
    flags+=("--config-management-plugin=")
    two_word_flags+=("--config-management-plugin")
    local_nonpersistent_flags+=("--config-management-plugin")
    local_nonpersistent_flags+=("--config-management-plugin=")
    flags+=("--dest-name=")
    two_word_flags+=("--dest-name")
    local_nonpersistent_flags+=("--dest-name")
    local_nonpersistent_flags+=("--dest-name=")
    flags+=("--dest-namespace=")
    two_word_flags+=("--dest-namespace")
    local_nonpersistent_flags+=("--dest-namespace")
    local_nonpersistent_flags+=("--dest-namespace=")
    flags+=("--dest-server=")
    two_word_flags+=("--dest-server")
    local_nonpersistent_flags+=("--dest-server")
    local_nonpersistent_flags+=("--dest-server=")
    flags+=("--directory-exclude=")
    two_word_flags+=("--directory-exclude")
    local_nonpersistent_flags+=("--directory-exclude")
    local_nonpersistent_flags+=("--directory-exclude=")
    flags+=("--directory-include=")
    two_word_flags+=("--directory-include")
    local_nonpersistent_flags+=("--directory-include")
    local_nonpersistent_flags+=("--directory-include=")
    flags+=("--directory-recurse")
    local_nonpersistent_flags+=("--directory-recurse")
    flags+=("--dry-source-path=")
    two_word_flags+=("--dry-source-path")
    local_nonpersistent_flags+=("--dry-source-path")
    local_nonpersistent_flags+=("--dry-source-path=")
    flags+=("--dry-source-repo=")
    two_word_flags+=("--dry-source-repo")
    local_nonpersistent_flags+=("--dry-source-repo")
    local_nonpersistent_flags+=("--dry-source-repo=")
    flags+=("--dry-source-revision=")
    two_word_flags+=("--dry-source-revision")
    local_nonpersistent_flags+=("--dry-source-revision")
    local_nonpersistent_flags+=("--dry-source-revision=")
    flags+=("--env=")
    two_word_flags+=("--env")
    local_nonpersistent_flags+=("--env")
    local_nonpersistent_flags+=("--env=")
    flags+=("--helm-api-versions=")
    two_word_flags+=("--helm-api-versions")
    local_nonpersistent_flags+=("--helm-api-versions")
    local_nonpersistent_flags+=("--helm-api-versions=")
    flags+=("--helm-chart=")
    two_word_flags+=("--helm-chart")
    local_nonpersistent_flags+=("--helm-chart")
    local_nonpersistent_flags+=("--helm-chart=")
    flags+=("--helm-kube-version=")
    two_word_flags+=("--helm-kube-version")
    local_nonpersistent_flags+=("--helm-kube-version")
    local_nonpersistent_flags+=("--helm-kube-version=")
    flags+=("--helm-namespace=")
    two_word_flags+=("--helm-namespace")
    local_nonpersistent_flags+=("--helm-namespace")
    local_nonpersistent_flags+=("--helm-namespace=")
    flags+=("--helm-pass-credentials")
    local_nonpersistent_flags+=("--helm-pass-credentials")
    flags+=("--helm-set=")
    two_word_flags+=("--helm-set")
    local_nonpersistent_flags+=("--helm-set")
    local_nonpersistent_flags+=("--helm-set=")
    flags+=("--helm-set-file=")
    two_word_flags+=("--helm-set-file")
    local_nonpersistent_flags+=("--helm-set-file")
    local_nonpersistent_flags+=("--helm-set-file=")
    flags+=("--helm-set-string=")
    two_word_flags+=("--helm-set-string")
    local_nonpersistent_flags+=("--helm-set-string")
    local_nonpersistent_flags+=("--helm-set-string=")
    flags+=("--helm-skip-crds")
    local_nonpersistent_flags+=("--helm-skip-crds")
    flags+=("--helm-skip-schema-validation")
    local_nonpersistent_flags+=("--helm-skip-schema-validation")
    flags+=("--helm-skip-tests")
    local_nonpersistent_flags+=("--helm-skip-tests")
    flags+=("--helm-version=")
    two_word_flags+=("--helm-version")
    local_nonpersistent_flags+=("--helm-version")
    local_nonpersistent_flags+=("--helm-version=")
    flags+=("--hydrate-to-branch=")
    two_word_flags+=("--hydrate-to-branch")
    local_nonpersistent_flags+=("--hydrate-to-branch")
    local_nonpersistent_flags+=("--hydrate-to-branch=")
    flags+=("--ignore-missing-components")
    local_nonpersistent_flags+=("--ignore-missing-components")
    flags+=("--ignore-missing-value-files")
    local_nonpersistent_flags+=("--ignore-missing-value-files")
    flags+=("--jsonnet-ext-var-code=")
    two_word_flags+=("--jsonnet-ext-var-code")
    local_nonpersistent_flags+=("--jsonnet-ext-var-code")
    local_nonpersistent_flags+=("--jsonnet-ext-var-code=")
    flags+=("--jsonnet-ext-var-str=")
    two_word_flags+=("--jsonnet-ext-var-str")
    local_nonpersistent_flags+=("--jsonnet-ext-var-str")
    local_nonpersistent_flags+=("--jsonnet-ext-var-str=")
    flags+=("--jsonnet-libs=")
    two_word_flags+=("--jsonnet-libs")
    local_nonpersistent_flags+=("--jsonnet-libs")
    local_nonpersistent_flags+=("--jsonnet-libs=")
    flags+=("--jsonnet-tla-code=")
    two_word_flags+=("--jsonnet-tla-code")
    local_nonpersistent_flags+=("--jsonnet-tla-code")
    local_nonpersistent_flags+=("--jsonnet-tla-code=")
    flags+=("--jsonnet-tla-str=")
    two_word_flags+=("--jsonnet-tla-str")
    local_nonpersistent_flags+=("--jsonnet-tla-str")
    local_nonpersistent_flags+=("--jsonnet-tla-str=")
    flags+=("--kustomize-api-versions=")
    two_word_flags+=("--kustomize-api-versions")
    local_nonpersistent_flags+=("--kustomize-api-versions")
    local_nonpersistent_flags+=("--kustomize-api-versions=")
    flags+=("--kustomize-common-annotation=")
    two_word_flags+=("--kustomize-common-annotation")
    local_nonpersistent_flags+=("--kustomize-common-annotation")
    local_nonpersistent_flags+=("--kustomize-common-annotation=")
    flags+=("--kustomize-common-label=")
    two_word_flags+=("--kustomize-common-label")
    local_nonpersistent_flags+=("--kustomize-common-label")
    local_nonpersistent_flags+=("--kustomize-common-label=")
    flags+=("--kustomize-force-common-annotation")
    local_nonpersistent_flags+=("--kustomize-force-common-annotation")
    flags+=("--kustomize-force-common-label")
    local_nonpersistent_flags+=("--kustomize-force-common-label")
    flags+=("--kustomize-image=")
    two_word_flags+=("--kustomize-image")
    local_nonpersistent_flags+=("--kustomize-image")
    local_nonpersistent_flags+=("--kustomize-image=")
    flags+=("--kustomize-kube-version=")
    two_word_flags+=("--kustomize-kube-version")
    local_nonpersistent_flags+=("--kustomize-kube-version")
    local_nonpersistent_flags+=("--kustomize-kube-version=")
    flags+=("--kustomize-label-include-templates")
    local_nonpersistent_flags+=("--kustomize-label-include-templates")
    flags+=("--kustomize-label-without-selector")
    local_nonpersistent_flags+=("--kustomize-label-without-selector")
    flags+=("--kustomize-namespace=")
    two_word_flags+=("--kustomize-namespace")
    local_nonpersistent_flags+=("--kustomize-namespace")
    local_nonpersistent_flags+=("--kustomize-namespace=")
    flags+=("--kustomize-replica=")
    two_word_flags+=("--kustomize-replica")
    local_nonpersistent_flags+=("--kustomize-replica")
    local_nonpersistent_flags+=("--kustomize-replica=")
    flags+=("--kustomize-version=")
    two_word_flags+=("--kustomize-version")
    local_nonpersistent_flags+=("--kustomize-version")
    local_nonpersistent_flags+=("--kustomize-version=")
    flags+=("--nameprefix=")
    two_word_flags+=("--nameprefix")
    local_nonpersistent_flags+=("--nameprefix")
    local_nonpersistent_flags+=("--nameprefix=")
    flags+=("--namesuffix=")
    two_word_flags+=("--namesuffix")
    local_nonpersistent_flags+=("--namesuffix")
    local_nonpersistent_flags+=("--namesuffix=")
    flags+=("--parameter=")
    two_word_flags+=("--parameter")
    two_word_flags+=("-p")
    local_nonpersistent_flags+=("--parameter")
    local_nonpersistent_flags+=("--parameter=")
    local_nonpersistent_flags+=("-p")
    flags+=("--path=")
    two_word_flags+=("--path")
    local_nonpersistent_flags+=("--path")
    local_nonpersistent_flags+=("--path=")
    flags+=("--plugin-env=")
    two_word_flags+=("--plugin-env")
    local_nonpersistent_flags+=("--plugin-env")
    local_nonpersistent_flags+=("--plugin-env=")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--ref=")
    two_word_flags+=("--ref")
    local_nonpersistent_flags+=("--ref")
    local_nonpersistent_flags+=("--ref=")
    flags+=("--release-name=")
    two_word_flags+=("--release-name")
    local_nonpersistent_flags+=("--release-name")
    local_nonpersistent_flags+=("--release-name=")
    flags+=("--repo=")
    two_word_flags+=("--repo")
    local_nonpersistent_flags+=("--repo")
    local_nonpersistent_flags+=("--repo=")
    flags+=("--revision=")
    two_word_flags+=("--revision")
    local_nonpersistent_flags+=("--revision")
    local_nonpersistent_flags+=("--revision=")
    flags+=("--revision-history-limit=")
    two_word_flags+=("--revision-history-limit")
    local_nonpersistent_flags+=("--revision-history-limit")
    local_nonpersistent_flags+=("--revision-history-limit=")
    flags+=("--self-heal")
    local_nonpersistent_flags+=("--self-heal")
    flags+=("--source-name=")
    two_word_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name=")
    flags+=("--sync-option=")
    two_word_flags+=("--sync-option")
    local_nonpersistent_flags+=("--sync-option")
    local_nonpersistent_flags+=("--sync-option=")
    flags+=("--sync-policy=")
    two_word_flags+=("--sync-policy")
    local_nonpersistent_flags+=("--sync-policy")
    local_nonpersistent_flags+=("--sync-policy=")
    flags+=("--sync-retry-backoff-duration=")
    two_word_flags+=("--sync-retry-backoff-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-duration=")
    flags+=("--sync-retry-backoff-factor=")
    two_word_flags+=("--sync-retry-backoff-factor")
    local_nonpersistent_flags+=("--sync-retry-backoff-factor")
    local_nonpersistent_flags+=("--sync-retry-backoff-factor=")
    flags+=("--sync-retry-backoff-max-duration=")
    two_word_flags+=("--sync-retry-backoff-max-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-max-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-max-duration=")
    flags+=("--sync-retry-limit=")
    two_word_flags+=("--sync-retry-limit")
    local_nonpersistent_flags+=("--sync-retry-limit")
    local_nonpersistent_flags+=("--sync-retry-limit=")
    flags+=("--sync-source-branch=")
    two_word_flags+=("--sync-source-branch")
    local_nonpersistent_flags+=("--sync-source-branch")
    local_nonpersistent_flags+=("--sync-source-branch=")
    flags+=("--sync-source-path=")
    two_word_flags+=("--sync-source-path")
    local_nonpersistent_flags+=("--sync-source-path")
    local_nonpersistent_flags+=("--sync-source-path=")
    flags+=("--validate")
    local_nonpersistent_flags+=("--validate")
    flags+=("--values=")
    two_word_flags+=("--values")
    local_nonpersistent_flags+=("--values")
    local_nonpersistent_flags+=("--values=")
    flags+=("--values-literal-file=")
    two_word_flags+=("--values-literal-file")
    local_nonpersistent_flags+=("--values-literal-file")
    local_nonpersistent_flags+=("--values-literal-file=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_confirm-deletion()
{
    last_command="argocd_app_confirm-deletion"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_create()
{
    last_command="argocd_app_create"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--allow-empty")
    local_nonpersistent_flags+=("--allow-empty")
    flags+=("--annotations=")
    two_word_flags+=("--annotations")
    local_nonpersistent_flags+=("--annotations")
    local_nonpersistent_flags+=("--annotations=")
    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--auto-prune")
    local_nonpersistent_flags+=("--auto-prune")
    flags+=("--config-management-plugin=")
    two_word_flags+=("--config-management-plugin")
    local_nonpersistent_flags+=("--config-management-plugin")
    local_nonpersistent_flags+=("--config-management-plugin=")
    flags+=("--dest-name=")
    two_word_flags+=("--dest-name")
    local_nonpersistent_flags+=("--dest-name")
    local_nonpersistent_flags+=("--dest-name=")
    flags+=("--dest-namespace=")
    two_word_flags+=("--dest-namespace")
    local_nonpersistent_flags+=("--dest-namespace")
    local_nonpersistent_flags+=("--dest-namespace=")
    flags+=("--dest-server=")
    two_word_flags+=("--dest-server")
    local_nonpersistent_flags+=("--dest-server")
    local_nonpersistent_flags+=("--dest-server=")
    flags+=("--directory-exclude=")
    two_word_flags+=("--directory-exclude")
    local_nonpersistent_flags+=("--directory-exclude")
    local_nonpersistent_flags+=("--directory-exclude=")
    flags+=("--directory-include=")
    two_word_flags+=("--directory-include")
    local_nonpersistent_flags+=("--directory-include")
    local_nonpersistent_flags+=("--directory-include=")
    flags+=("--directory-recurse")
    local_nonpersistent_flags+=("--directory-recurse")
    flags+=("--dry-source-path=")
    two_word_flags+=("--dry-source-path")
    local_nonpersistent_flags+=("--dry-source-path")
    local_nonpersistent_flags+=("--dry-source-path=")
    flags+=("--dry-source-repo=")
    two_word_flags+=("--dry-source-repo")
    local_nonpersistent_flags+=("--dry-source-repo")
    local_nonpersistent_flags+=("--dry-source-repo=")
    flags+=("--dry-source-revision=")
    two_word_flags+=("--dry-source-revision")
    local_nonpersistent_flags+=("--dry-source-revision")
    local_nonpersistent_flags+=("--dry-source-revision=")
    flags+=("--env=")
    two_word_flags+=("--env")
    local_nonpersistent_flags+=("--env")
    local_nonpersistent_flags+=("--env=")
    flags+=("--file=")
    two_word_flags+=("--file")
    flags_with_completion+=("--file")
    flags_completion+=("__argocd_handle_filename_extension_flag json|yaml|yml")
    two_word_flags+=("-f")
    flags_with_completion+=("-f")
    flags_completion+=("__argocd_handle_filename_extension_flag json|yaml|yml")
    local_nonpersistent_flags+=("--file")
    local_nonpersistent_flags+=("--file=")
    local_nonpersistent_flags+=("-f")
    flags+=("--helm-api-versions=")
    two_word_flags+=("--helm-api-versions")
    local_nonpersistent_flags+=("--helm-api-versions")
    local_nonpersistent_flags+=("--helm-api-versions=")
    flags+=("--helm-chart=")
    two_word_flags+=("--helm-chart")
    local_nonpersistent_flags+=("--helm-chart")
    local_nonpersistent_flags+=("--helm-chart=")
    flags+=("--helm-kube-version=")
    two_word_flags+=("--helm-kube-version")
    local_nonpersistent_flags+=("--helm-kube-version")
    local_nonpersistent_flags+=("--helm-kube-version=")
    flags+=("--helm-namespace=")
    two_word_flags+=("--helm-namespace")
    local_nonpersistent_flags+=("--helm-namespace")
    local_nonpersistent_flags+=("--helm-namespace=")
    flags+=("--helm-pass-credentials")
    local_nonpersistent_flags+=("--helm-pass-credentials")
    flags+=("--helm-set=")
    two_word_flags+=("--helm-set")
    local_nonpersistent_flags+=("--helm-set")
    local_nonpersistent_flags+=("--helm-set=")
    flags+=("--helm-set-file=")
    two_word_flags+=("--helm-set-file")
    local_nonpersistent_flags+=("--helm-set-file")
    local_nonpersistent_flags+=("--helm-set-file=")
    flags+=("--helm-set-string=")
    two_word_flags+=("--helm-set-string")
    local_nonpersistent_flags+=("--helm-set-string")
    local_nonpersistent_flags+=("--helm-set-string=")
    flags+=("--helm-skip-crds")
    local_nonpersistent_flags+=("--helm-skip-crds")
    flags+=("--helm-skip-schema-validation")
    local_nonpersistent_flags+=("--helm-skip-schema-validation")
    flags+=("--helm-skip-tests")
    local_nonpersistent_flags+=("--helm-skip-tests")
    flags+=("--helm-version=")
    two_word_flags+=("--helm-version")
    local_nonpersistent_flags+=("--helm-version")
    local_nonpersistent_flags+=("--helm-version=")
    flags+=("--hydrate-to-branch=")
    two_word_flags+=("--hydrate-to-branch")
    local_nonpersistent_flags+=("--hydrate-to-branch")
    local_nonpersistent_flags+=("--hydrate-to-branch=")
    flags+=("--ignore-missing-components")
    local_nonpersistent_flags+=("--ignore-missing-components")
    flags+=("--ignore-missing-value-files")
    local_nonpersistent_flags+=("--ignore-missing-value-files")
    flags+=("--jsonnet-ext-var-code=")
    two_word_flags+=("--jsonnet-ext-var-code")
    local_nonpersistent_flags+=("--jsonnet-ext-var-code")
    local_nonpersistent_flags+=("--jsonnet-ext-var-code=")
    flags+=("--jsonnet-ext-var-str=")
    two_word_flags+=("--jsonnet-ext-var-str")
    local_nonpersistent_flags+=("--jsonnet-ext-var-str")
    local_nonpersistent_flags+=("--jsonnet-ext-var-str=")
    flags+=("--jsonnet-libs=")
    two_word_flags+=("--jsonnet-libs")
    local_nonpersistent_flags+=("--jsonnet-libs")
    local_nonpersistent_flags+=("--jsonnet-libs=")
    flags+=("--jsonnet-tla-code=")
    two_word_flags+=("--jsonnet-tla-code")
    local_nonpersistent_flags+=("--jsonnet-tla-code")
    local_nonpersistent_flags+=("--jsonnet-tla-code=")
    flags+=("--jsonnet-tla-str=")
    two_word_flags+=("--jsonnet-tla-str")
    local_nonpersistent_flags+=("--jsonnet-tla-str")
    local_nonpersistent_flags+=("--jsonnet-tla-str=")
    flags+=("--kustomize-api-versions=")
    two_word_flags+=("--kustomize-api-versions")
    local_nonpersistent_flags+=("--kustomize-api-versions")
    local_nonpersistent_flags+=("--kustomize-api-versions=")
    flags+=("--kustomize-common-annotation=")
    two_word_flags+=("--kustomize-common-annotation")
    local_nonpersistent_flags+=("--kustomize-common-annotation")
    local_nonpersistent_flags+=("--kustomize-common-annotation=")
    flags+=("--kustomize-common-label=")
    two_word_flags+=("--kustomize-common-label")
    local_nonpersistent_flags+=("--kustomize-common-label")
    local_nonpersistent_flags+=("--kustomize-common-label=")
    flags+=("--kustomize-force-common-annotation")
    local_nonpersistent_flags+=("--kustomize-force-common-annotation")
    flags+=("--kustomize-force-common-label")
    local_nonpersistent_flags+=("--kustomize-force-common-label")
    flags+=("--kustomize-image=")
    two_word_flags+=("--kustomize-image")
    local_nonpersistent_flags+=("--kustomize-image")
    local_nonpersistent_flags+=("--kustomize-image=")
    flags+=("--kustomize-kube-version=")
    two_word_flags+=("--kustomize-kube-version")
    local_nonpersistent_flags+=("--kustomize-kube-version")
    local_nonpersistent_flags+=("--kustomize-kube-version=")
    flags+=("--kustomize-label-include-templates")
    local_nonpersistent_flags+=("--kustomize-label-include-templates")
    flags+=("--kustomize-label-without-selector")
    local_nonpersistent_flags+=("--kustomize-label-without-selector")
    flags+=("--kustomize-namespace=")
    two_word_flags+=("--kustomize-namespace")
    local_nonpersistent_flags+=("--kustomize-namespace")
    local_nonpersistent_flags+=("--kustomize-namespace=")
    flags+=("--kustomize-replica=")
    two_word_flags+=("--kustomize-replica")
    local_nonpersistent_flags+=("--kustomize-replica")
    local_nonpersistent_flags+=("--kustomize-replica=")
    flags+=("--kustomize-version=")
    two_word_flags+=("--kustomize-version")
    local_nonpersistent_flags+=("--kustomize-version")
    local_nonpersistent_flags+=("--kustomize-version=")
    flags+=("--label=")
    two_word_flags+=("--label")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--label")
    local_nonpersistent_flags+=("--label=")
    local_nonpersistent_flags+=("-l")
    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--nameprefix=")
    two_word_flags+=("--nameprefix")
    local_nonpersistent_flags+=("--nameprefix")
    local_nonpersistent_flags+=("--nameprefix=")
    flags+=("--namesuffix=")
    two_word_flags+=("--namesuffix")
    local_nonpersistent_flags+=("--namesuffix")
    local_nonpersistent_flags+=("--namesuffix=")
    flags+=("--parameter=")
    two_word_flags+=("--parameter")
    two_word_flags+=("-p")
    local_nonpersistent_flags+=("--parameter")
    local_nonpersistent_flags+=("--parameter=")
    local_nonpersistent_flags+=("-p")
    flags+=("--path=")
    two_word_flags+=("--path")
    local_nonpersistent_flags+=("--path")
    local_nonpersistent_flags+=("--path=")
    flags+=("--plugin-env=")
    two_word_flags+=("--plugin-env")
    local_nonpersistent_flags+=("--plugin-env")
    local_nonpersistent_flags+=("--plugin-env=")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--ref=")
    two_word_flags+=("--ref")
    local_nonpersistent_flags+=("--ref")
    local_nonpersistent_flags+=("--ref=")
    flags+=("--release-name=")
    two_word_flags+=("--release-name")
    local_nonpersistent_flags+=("--release-name")
    local_nonpersistent_flags+=("--release-name=")
    flags+=("--repo=")
    two_word_flags+=("--repo")
    local_nonpersistent_flags+=("--repo")
    local_nonpersistent_flags+=("--repo=")
    flags+=("--revision=")
    two_word_flags+=("--revision")
    local_nonpersistent_flags+=("--revision")
    local_nonpersistent_flags+=("--revision=")
    flags+=("--revision-history-limit=")
    two_word_flags+=("--revision-history-limit")
    local_nonpersistent_flags+=("--revision-history-limit")
    local_nonpersistent_flags+=("--revision-history-limit=")
    flags+=("--self-heal")
    local_nonpersistent_flags+=("--self-heal")
    flags+=("--set-finalizer")
    local_nonpersistent_flags+=("--set-finalizer")
    flags+=("--source-name=")
    two_word_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name=")
    flags+=("--sync-option=")
    two_word_flags+=("--sync-option")
    local_nonpersistent_flags+=("--sync-option")
    local_nonpersistent_flags+=("--sync-option=")
    flags+=("--sync-policy=")
    two_word_flags+=("--sync-policy")
    local_nonpersistent_flags+=("--sync-policy")
    local_nonpersistent_flags+=("--sync-policy=")
    flags+=("--sync-retry-backoff-duration=")
    two_word_flags+=("--sync-retry-backoff-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-duration=")
    flags+=("--sync-retry-backoff-factor=")
    two_word_flags+=("--sync-retry-backoff-factor")
    local_nonpersistent_flags+=("--sync-retry-backoff-factor")
    local_nonpersistent_flags+=("--sync-retry-backoff-factor=")
    flags+=("--sync-retry-backoff-max-duration=")
    two_word_flags+=("--sync-retry-backoff-max-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-max-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-max-duration=")
    flags+=("--sync-retry-limit=")
    two_word_flags+=("--sync-retry-limit")
    local_nonpersistent_flags+=("--sync-retry-limit")
    local_nonpersistent_flags+=("--sync-retry-limit=")
    flags+=("--sync-source-branch=")
    two_word_flags+=("--sync-source-branch")
    local_nonpersistent_flags+=("--sync-source-branch")
    local_nonpersistent_flags+=("--sync-source-branch=")
    flags+=("--sync-source-path=")
    two_word_flags+=("--sync-source-path")
    local_nonpersistent_flags+=("--sync-source-path")
    local_nonpersistent_flags+=("--sync-source-path=")
    flags+=("--upsert")
    local_nonpersistent_flags+=("--upsert")
    flags+=("--validate")
    local_nonpersistent_flags+=("--validate")
    flags+=("--values=")
    two_word_flags+=("--values")
    local_nonpersistent_flags+=("--values")
    local_nonpersistent_flags+=("--values=")
    flags+=("--values-literal-file=")
    two_word_flags+=("--values-literal-file")
    local_nonpersistent_flags+=("--values-literal-file")
    local_nonpersistent_flags+=("--values-literal-file=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_delete()
{
    last_command="argocd_app_delete"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--cascade")
    local_nonpersistent_flags+=("--cascade")
    flags+=("--propagation-policy=")
    two_word_flags+=("--propagation-policy")
    two_word_flags+=("-p")
    local_nonpersistent_flags+=("--propagation-policy")
    local_nonpersistent_flags+=("--propagation-policy=")
    local_nonpersistent_flags+=("-p")
    flags+=("--selector=")
    two_word_flags+=("--selector")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--selector")
    local_nonpersistent_flags+=("--selector=")
    local_nonpersistent_flags+=("-l")
    flags+=("--wait")
    local_nonpersistent_flags+=("--wait")
    flags+=("--yes")
    flags+=("-y")
    local_nonpersistent_flags+=("--yes")
    local_nonpersistent_flags+=("-y")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_delete-resource()
{
    last_command="argocd_app_delete-resource"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--all")
    local_nonpersistent_flags+=("--all")
    flags+=("--force")
    local_nonpersistent_flags+=("--force")
    flags+=("--group=")
    two_word_flags+=("--group")
    local_nonpersistent_flags+=("--group")
    local_nonpersistent_flags+=("--group=")
    flags+=("--kind=")
    two_word_flags+=("--kind")
    local_nonpersistent_flags+=("--kind")
    local_nonpersistent_flags+=("--kind=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    flags+=("--orphan")
    local_nonpersistent_flags+=("--orphan")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--resource-name=")
    two_word_flags+=("--resource-name")
    local_nonpersistent_flags+=("--resource-name")
    local_nonpersistent_flags+=("--resource-name=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_flag+=("--kind=")
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_diff()
{
    last_command="argocd_app_diff"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--diff-exit-code=")
    two_word_flags+=("--diff-exit-code")
    local_nonpersistent_flags+=("--diff-exit-code")
    local_nonpersistent_flags+=("--diff-exit-code=")
    flags+=("--exit-code")
    local_nonpersistent_flags+=("--exit-code")
    flags+=("--hard-refresh")
    local_nonpersistent_flags+=("--hard-refresh")
    flags+=("--ignore-normalizer-jq-execution-timeout=")
    two_word_flags+=("--ignore-normalizer-jq-execution-timeout")
    local_nonpersistent_flags+=("--ignore-normalizer-jq-execution-timeout")
    local_nonpersistent_flags+=("--ignore-normalizer-jq-execution-timeout=")
    flags+=("--local=")
    two_word_flags+=("--local")
    local_nonpersistent_flags+=("--local")
    local_nonpersistent_flags+=("--local=")
    flags+=("--local-include=")
    two_word_flags+=("--local-include")
    local_nonpersistent_flags+=("--local-include")
    local_nonpersistent_flags+=("--local-include=")
    flags+=("--local-repo-root=")
    two_word_flags+=("--local-repo-root")
    local_nonpersistent_flags+=("--local-repo-root")
    local_nonpersistent_flags+=("--local-repo-root=")
    flags+=("--refresh")
    local_nonpersistent_flags+=("--refresh")
    flags+=("--revision=")
    two_word_flags+=("--revision")
    local_nonpersistent_flags+=("--revision")
    local_nonpersistent_flags+=("--revision=")
    flags+=("--revisions=")
    two_word_flags+=("--revisions")
    local_nonpersistent_flags+=("--revisions")
    local_nonpersistent_flags+=("--revisions=")
    flags+=("--server-side-generate")
    local_nonpersistent_flags+=("--server-side-generate")
    flags+=("--source-names=")
    two_word_flags+=("--source-names")
    local_nonpersistent_flags+=("--source-names")
    local_nonpersistent_flags+=("--source-names=")
    flags+=("--source-positions=")
    two_word_flags+=("--source-positions")
    local_nonpersistent_flags+=("--source-positions")
    local_nonpersistent_flags+=("--source-positions=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_edit()
{
    last_command="argocd_app_edit"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_get()
{
    last_command="argocd_app_get"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--hard-refresh")
    local_nonpersistent_flags+=("--hard-refresh")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--refresh")
    local_nonpersistent_flags+=("--refresh")
    flags+=("--show-operation")
    local_nonpersistent_flags+=("--show-operation")
    flags+=("--show-params")
    local_nonpersistent_flags+=("--show-params")
    flags+=("--source-name=")
    two_word_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name=")
    flags+=("--source-position=")
    two_word_flags+=("--source-position")
    local_nonpersistent_flags+=("--source-position")
    local_nonpersistent_flags+=("--source-position=")
    flags+=("--timeout=")
    two_word_flags+=("--timeout")
    local_nonpersistent_flags+=("--timeout")
    local_nonpersistent_flags+=("--timeout=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_history()
{
    last_command="argocd_app_history"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_list()
{
    last_command="argocd_app_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    two_word_flags+=("-c")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    local_nonpersistent_flags+=("-c")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--project=")
    two_word_flags+=("--project")
    two_word_flags+=("-p")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    local_nonpersistent_flags+=("-p")
    flags+=("--repo=")
    two_word_flags+=("--repo")
    two_word_flags+=("-r")
    local_nonpersistent_flags+=("--repo")
    local_nonpersistent_flags+=("--repo=")
    local_nonpersistent_flags+=("-r")
    flags+=("--selector=")
    two_word_flags+=("--selector")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--selector")
    local_nonpersistent_flags+=("--selector=")
    local_nonpersistent_flags+=("-l")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_logs()
{
    last_command="argocd_app_logs"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--container=")
    two_word_flags+=("--container")
    two_word_flags+=("-c")
    local_nonpersistent_flags+=("--container")
    local_nonpersistent_flags+=("--container=")
    local_nonpersistent_flags+=("-c")
    flags+=("--filter=")
    two_word_flags+=("--filter")
    local_nonpersistent_flags+=("--filter")
    local_nonpersistent_flags+=("--filter=")
    flags+=("--follow")
    flags+=("-f")
    local_nonpersistent_flags+=("--follow")
    local_nonpersistent_flags+=("-f")
    flags+=("--group=")
    two_word_flags+=("--group")
    local_nonpersistent_flags+=("--group")
    local_nonpersistent_flags+=("--group=")
    flags+=("--kind=")
    two_word_flags+=("--kind")
    local_nonpersistent_flags+=("--kind")
    local_nonpersistent_flags+=("--kind=")
    flags+=("--match-case")
    flags+=("-m")
    local_nonpersistent_flags+=("--match-case")
    local_nonpersistent_flags+=("-m")
    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    flags+=("--previous")
    flags+=("-p")
    local_nonpersistent_flags+=("--previous")
    local_nonpersistent_flags+=("-p")
    flags+=("--since-seconds=")
    two_word_flags+=("--since-seconds")
    local_nonpersistent_flags+=("--since-seconds")
    local_nonpersistent_flags+=("--since-seconds=")
    flags+=("--tail=")
    two_word_flags+=("--tail")
    local_nonpersistent_flags+=("--tail")
    local_nonpersistent_flags+=("--tail=")
    flags+=("--until-time=")
    two_word_flags+=("--until-time")
    local_nonpersistent_flags+=("--until-time")
    local_nonpersistent_flags+=("--until-time=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_manifests()
{
    last_command="argocd_app_manifests"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--local=")
    two_word_flags+=("--local")
    local_nonpersistent_flags+=("--local")
    local_nonpersistent_flags+=("--local=")
    flags+=("--local-repo-root=")
    two_word_flags+=("--local-repo-root")
    local_nonpersistent_flags+=("--local-repo-root")
    local_nonpersistent_flags+=("--local-repo-root=")
    flags+=("--revision=")
    two_word_flags+=("--revision")
    local_nonpersistent_flags+=("--revision")
    local_nonpersistent_flags+=("--revision=")
    flags+=("--revisions=")
    two_word_flags+=("--revisions")
    local_nonpersistent_flags+=("--revisions")
    local_nonpersistent_flags+=("--revisions=")
    flags+=("--source=")
    two_word_flags+=("--source")
    local_nonpersistent_flags+=("--source")
    local_nonpersistent_flags+=("--source=")
    flags+=("--source-names=")
    two_word_flags+=("--source-names")
    local_nonpersistent_flags+=("--source-names")
    local_nonpersistent_flags+=("--source-names=")
    flags+=("--source-positions=")
    two_word_flags+=("--source-positions")
    local_nonpersistent_flags+=("--source-positions")
    local_nonpersistent_flags+=("--source-positions=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_patch()
{
    last_command="argocd_app_patch"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--patch=")
    two_word_flags+=("--patch")
    local_nonpersistent_flags+=("--patch")
    local_nonpersistent_flags+=("--patch=")
    flags+=("--type=")
    two_word_flags+=("--type")
    local_nonpersistent_flags+=("--type")
    local_nonpersistent_flags+=("--type=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_patch-resource()
{
    last_command="argocd_app_patch-resource"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--all")
    local_nonpersistent_flags+=("--all")
    flags+=("--group=")
    two_word_flags+=("--group")
    local_nonpersistent_flags+=("--group")
    local_nonpersistent_flags+=("--group=")
    flags+=("--kind=")
    two_word_flags+=("--kind")
    local_nonpersistent_flags+=("--kind")
    local_nonpersistent_flags+=("--kind=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    flags+=("--patch=")
    two_word_flags+=("--patch")
    local_nonpersistent_flags+=("--patch")
    local_nonpersistent_flags+=("--patch=")
    flags+=("--patch-type=")
    two_word_flags+=("--patch-type")
    local_nonpersistent_flags+=("--patch-type")
    local_nonpersistent_flags+=("--patch-type=")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--resource-name=")
    two_word_flags+=("--resource-name")
    local_nonpersistent_flags+=("--resource-name")
    local_nonpersistent_flags+=("--resource-name=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_flag+=("--kind=")
    must_have_one_flag+=("--patch=")
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_remove-source()
{
    last_command="argocd_app_remove-source"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--source-name=")
    two_word_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name=")
    flags+=("--source-position=")
    two_word_flags+=("--source-position")
    local_nonpersistent_flags+=("--source-position")
    local_nonpersistent_flags+=("--source-position=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_resources()
{
    last_command="argocd_app_resources"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--orphaned")
    local_nonpersistent_flags+=("--orphaned")
    flags+=("--output=")
    two_word_flags+=("--output")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_rollback()
{
    last_command="argocd_app_rollback"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--prune")
    local_nonpersistent_flags+=("--prune")
    flags+=("--timeout=")
    two_word_flags+=("--timeout")
    local_nonpersistent_flags+=("--timeout")
    local_nonpersistent_flags+=("--timeout=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_set()
{
    last_command="argocd_app_set"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--allow-empty")
    local_nonpersistent_flags+=("--allow-empty")
    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--auto-prune")
    local_nonpersistent_flags+=("--auto-prune")
    flags+=("--config-management-plugin=")
    two_word_flags+=("--config-management-plugin")
    local_nonpersistent_flags+=("--config-management-plugin")
    local_nonpersistent_flags+=("--config-management-plugin=")
    flags+=("--dest-name=")
    two_word_flags+=("--dest-name")
    local_nonpersistent_flags+=("--dest-name")
    local_nonpersistent_flags+=("--dest-name=")
    flags+=("--dest-namespace=")
    two_word_flags+=("--dest-namespace")
    local_nonpersistent_flags+=("--dest-namespace")
    local_nonpersistent_flags+=("--dest-namespace=")
    flags+=("--dest-server=")
    two_word_flags+=("--dest-server")
    local_nonpersistent_flags+=("--dest-server")
    local_nonpersistent_flags+=("--dest-server=")
    flags+=("--directory-exclude=")
    two_word_flags+=("--directory-exclude")
    local_nonpersistent_flags+=("--directory-exclude")
    local_nonpersistent_flags+=("--directory-exclude=")
    flags+=("--directory-include=")
    two_word_flags+=("--directory-include")
    local_nonpersistent_flags+=("--directory-include")
    local_nonpersistent_flags+=("--directory-include=")
    flags+=("--directory-recurse")
    local_nonpersistent_flags+=("--directory-recurse")
    flags+=("--dry-source-path=")
    two_word_flags+=("--dry-source-path")
    local_nonpersistent_flags+=("--dry-source-path")
    local_nonpersistent_flags+=("--dry-source-path=")
    flags+=("--dry-source-repo=")
    two_word_flags+=("--dry-source-repo")
    local_nonpersistent_flags+=("--dry-source-repo")
    local_nonpersistent_flags+=("--dry-source-repo=")
    flags+=("--dry-source-revision=")
    two_word_flags+=("--dry-source-revision")
    local_nonpersistent_flags+=("--dry-source-revision")
    local_nonpersistent_flags+=("--dry-source-revision=")
    flags+=("--env=")
    two_word_flags+=("--env")
    local_nonpersistent_flags+=("--env")
    local_nonpersistent_flags+=("--env=")
    flags+=("--helm-api-versions=")
    two_word_flags+=("--helm-api-versions")
    local_nonpersistent_flags+=("--helm-api-versions")
    local_nonpersistent_flags+=("--helm-api-versions=")
    flags+=("--helm-chart=")
    two_word_flags+=("--helm-chart")
    local_nonpersistent_flags+=("--helm-chart")
    local_nonpersistent_flags+=("--helm-chart=")
    flags+=("--helm-kube-version=")
    two_word_flags+=("--helm-kube-version")
    local_nonpersistent_flags+=("--helm-kube-version")
    local_nonpersistent_flags+=("--helm-kube-version=")
    flags+=("--helm-namespace=")
    two_word_flags+=("--helm-namespace")
    local_nonpersistent_flags+=("--helm-namespace")
    local_nonpersistent_flags+=("--helm-namespace=")
    flags+=("--helm-pass-credentials")
    local_nonpersistent_flags+=("--helm-pass-credentials")
    flags+=("--helm-set=")
    two_word_flags+=("--helm-set")
    local_nonpersistent_flags+=("--helm-set")
    local_nonpersistent_flags+=("--helm-set=")
    flags+=("--helm-set-file=")
    two_word_flags+=("--helm-set-file")
    local_nonpersistent_flags+=("--helm-set-file")
    local_nonpersistent_flags+=("--helm-set-file=")
    flags+=("--helm-set-string=")
    two_word_flags+=("--helm-set-string")
    local_nonpersistent_flags+=("--helm-set-string")
    local_nonpersistent_flags+=("--helm-set-string=")
    flags+=("--helm-skip-crds")
    local_nonpersistent_flags+=("--helm-skip-crds")
    flags+=("--helm-skip-schema-validation")
    local_nonpersistent_flags+=("--helm-skip-schema-validation")
    flags+=("--helm-skip-tests")
    local_nonpersistent_flags+=("--helm-skip-tests")
    flags+=("--helm-version=")
    two_word_flags+=("--helm-version")
    local_nonpersistent_flags+=("--helm-version")
    local_nonpersistent_flags+=("--helm-version=")
    flags+=("--hydrate-to-branch=")
    two_word_flags+=("--hydrate-to-branch")
    local_nonpersistent_flags+=("--hydrate-to-branch")
    local_nonpersistent_flags+=("--hydrate-to-branch=")
    flags+=("--ignore-missing-components")
    local_nonpersistent_flags+=("--ignore-missing-components")
    flags+=("--ignore-missing-value-files")
    local_nonpersistent_flags+=("--ignore-missing-value-files")
    flags+=("--jsonnet-ext-var-code=")
    two_word_flags+=("--jsonnet-ext-var-code")
    local_nonpersistent_flags+=("--jsonnet-ext-var-code")
    local_nonpersistent_flags+=("--jsonnet-ext-var-code=")
    flags+=("--jsonnet-ext-var-str=")
    two_word_flags+=("--jsonnet-ext-var-str")
    local_nonpersistent_flags+=("--jsonnet-ext-var-str")
    local_nonpersistent_flags+=("--jsonnet-ext-var-str=")
    flags+=("--jsonnet-libs=")
    two_word_flags+=("--jsonnet-libs")
    local_nonpersistent_flags+=("--jsonnet-libs")
    local_nonpersistent_flags+=("--jsonnet-libs=")
    flags+=("--jsonnet-tla-code=")
    two_word_flags+=("--jsonnet-tla-code")
    local_nonpersistent_flags+=("--jsonnet-tla-code")
    local_nonpersistent_flags+=("--jsonnet-tla-code=")
    flags+=("--jsonnet-tla-str=")
    two_word_flags+=("--jsonnet-tla-str")
    local_nonpersistent_flags+=("--jsonnet-tla-str")
    local_nonpersistent_flags+=("--jsonnet-tla-str=")
    flags+=("--kustomize-api-versions=")
    two_word_flags+=("--kustomize-api-versions")
    local_nonpersistent_flags+=("--kustomize-api-versions")
    local_nonpersistent_flags+=("--kustomize-api-versions=")
    flags+=("--kustomize-common-annotation=")
    two_word_flags+=("--kustomize-common-annotation")
    local_nonpersistent_flags+=("--kustomize-common-annotation")
    local_nonpersistent_flags+=("--kustomize-common-annotation=")
    flags+=("--kustomize-common-label=")
    two_word_flags+=("--kustomize-common-label")
    local_nonpersistent_flags+=("--kustomize-common-label")
    local_nonpersistent_flags+=("--kustomize-common-label=")
    flags+=("--kustomize-force-common-annotation")
    local_nonpersistent_flags+=("--kustomize-force-common-annotation")
    flags+=("--kustomize-force-common-label")
    local_nonpersistent_flags+=("--kustomize-force-common-label")
    flags+=("--kustomize-image=")
    two_word_flags+=("--kustomize-image")
    local_nonpersistent_flags+=("--kustomize-image")
    local_nonpersistent_flags+=("--kustomize-image=")
    flags+=("--kustomize-kube-version=")
    two_word_flags+=("--kustomize-kube-version")
    local_nonpersistent_flags+=("--kustomize-kube-version")
    local_nonpersistent_flags+=("--kustomize-kube-version=")
    flags+=("--kustomize-label-include-templates")
    local_nonpersistent_flags+=("--kustomize-label-include-templates")
    flags+=("--kustomize-label-without-selector")
    local_nonpersistent_flags+=("--kustomize-label-without-selector")
    flags+=("--kustomize-namespace=")
    two_word_flags+=("--kustomize-namespace")
    local_nonpersistent_flags+=("--kustomize-namespace")
    local_nonpersistent_flags+=("--kustomize-namespace=")
    flags+=("--kustomize-replica=")
    two_word_flags+=("--kustomize-replica")
    local_nonpersistent_flags+=("--kustomize-replica")
    local_nonpersistent_flags+=("--kustomize-replica=")
    flags+=("--kustomize-version=")
    two_word_flags+=("--kustomize-version")
    local_nonpersistent_flags+=("--kustomize-version")
    local_nonpersistent_flags+=("--kustomize-version=")
    flags+=("--nameprefix=")
    two_word_flags+=("--nameprefix")
    local_nonpersistent_flags+=("--nameprefix")
    local_nonpersistent_flags+=("--nameprefix=")
    flags+=("--namesuffix=")
    two_word_flags+=("--namesuffix")
    local_nonpersistent_flags+=("--namesuffix")
    local_nonpersistent_flags+=("--namesuffix=")
    flags+=("--parameter=")
    two_word_flags+=("--parameter")
    two_word_flags+=("-p")
    local_nonpersistent_flags+=("--parameter")
    local_nonpersistent_flags+=("--parameter=")
    local_nonpersistent_flags+=("-p")
    flags+=("--path=")
    two_word_flags+=("--path")
    local_nonpersistent_flags+=("--path")
    local_nonpersistent_flags+=("--path=")
    flags+=("--plugin-env=")
    two_word_flags+=("--plugin-env")
    local_nonpersistent_flags+=("--plugin-env")
    local_nonpersistent_flags+=("--plugin-env=")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--ref=")
    two_word_flags+=("--ref")
    local_nonpersistent_flags+=("--ref")
    local_nonpersistent_flags+=("--ref=")
    flags+=("--release-name=")
    two_word_flags+=("--release-name")
    local_nonpersistent_flags+=("--release-name")
    local_nonpersistent_flags+=("--release-name=")
    flags+=("--repo=")
    two_word_flags+=("--repo")
    local_nonpersistent_flags+=("--repo")
    local_nonpersistent_flags+=("--repo=")
    flags+=("--revision=")
    two_word_flags+=("--revision")
    local_nonpersistent_flags+=("--revision")
    local_nonpersistent_flags+=("--revision=")
    flags+=("--revision-history-limit=")
    two_word_flags+=("--revision-history-limit")
    local_nonpersistent_flags+=("--revision-history-limit")
    local_nonpersistent_flags+=("--revision-history-limit=")
    flags+=("--self-heal")
    local_nonpersistent_flags+=("--self-heal")
    flags+=("--source-name=")
    two_word_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name")
    local_nonpersistent_flags+=("--source-name=")
    flags+=("--source-position=")
    two_word_flags+=("--source-position")
    local_nonpersistent_flags+=("--source-position")
    local_nonpersistent_flags+=("--source-position=")
    flags+=("--sync-option=")
    two_word_flags+=("--sync-option")
    local_nonpersistent_flags+=("--sync-option")
    local_nonpersistent_flags+=("--sync-option=")
    flags+=("--sync-policy=")
    two_word_flags+=("--sync-policy")
    local_nonpersistent_flags+=("--sync-policy")
    local_nonpersistent_flags+=("--sync-policy=")
    flags+=("--sync-retry-backoff-duration=")
    two_word_flags+=("--sync-retry-backoff-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-duration=")
    flags+=("--sync-retry-backoff-factor=")
    two_word_flags+=("--sync-retry-backoff-factor")
    local_nonpersistent_flags+=("--sync-retry-backoff-factor")
    local_nonpersistent_flags+=("--sync-retry-backoff-factor=")
    flags+=("--sync-retry-backoff-max-duration=")
    two_word_flags+=("--sync-retry-backoff-max-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-max-duration")
    local_nonpersistent_flags+=("--sync-retry-backoff-max-duration=")
    flags+=("--sync-retry-limit=")
    two_word_flags+=("--sync-retry-limit")
    local_nonpersistent_flags+=("--sync-retry-limit")
    local_nonpersistent_flags+=("--sync-retry-limit=")
    flags+=("--sync-source-branch=")
    two_word_flags+=("--sync-source-branch")
    local_nonpersistent_flags+=("--sync-source-branch")
    local_nonpersistent_flags+=("--sync-source-branch=")
    flags+=("--sync-source-path=")
    two_word_flags+=("--sync-source-path")
    local_nonpersistent_flags+=("--sync-source-path")
    local_nonpersistent_flags+=("--sync-source-path=")
    flags+=("--validate")
    local_nonpersistent_flags+=("--validate")
    flags+=("--values=")
    two_word_flags+=("--values")
    local_nonpersistent_flags+=("--values")
    local_nonpersistent_flags+=("--values=")
    flags+=("--values-literal-file=")
    two_word_flags+=("--values-literal-file")
    local_nonpersistent_flags+=("--values-literal-file")
    local_nonpersistent_flags+=("--values-literal-file=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_sync()
{
    last_command="argocd_app_sync"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--apply-out-of-sync-only")
    local_nonpersistent_flags+=("--apply-out-of-sync-only")
    flags+=("--assumeYes")
    local_nonpersistent_flags+=("--assumeYes")
    flags+=("--async")
    local_nonpersistent_flags+=("--async")
    flags+=("--dry-run")
    local_nonpersistent_flags+=("--dry-run")
    flags+=("--force")
    local_nonpersistent_flags+=("--force")
    flags+=("--ignore-normalizer-jq-execution-timeout=")
    two_word_flags+=("--ignore-normalizer-jq-execution-timeout")
    local_nonpersistent_flags+=("--ignore-normalizer-jq-execution-timeout")
    local_nonpersistent_flags+=("--ignore-normalizer-jq-execution-timeout=")
    flags+=("--info=")
    two_word_flags+=("--info")
    local_nonpersistent_flags+=("--info")
    local_nonpersistent_flags+=("--info=")
    flags+=("--label=")
    two_word_flags+=("--label")
    local_nonpersistent_flags+=("--label")
    local_nonpersistent_flags+=("--label=")
    flags+=("--local=")
    two_word_flags+=("--local")
    local_nonpersistent_flags+=("--local")
    local_nonpersistent_flags+=("--local=")
    flags+=("--local-repo-root=")
    two_word_flags+=("--local-repo-root")
    local_nonpersistent_flags+=("--local-repo-root")
    local_nonpersistent_flags+=("--local-repo-root=")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--preview-changes")
    local_nonpersistent_flags+=("--preview-changes")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--prune")
    local_nonpersistent_flags+=("--prune")
    flags+=("--replace")
    local_nonpersistent_flags+=("--replace")
    flags+=("--resource=")
    two_word_flags+=("--resource")
    local_nonpersistent_flags+=("--resource")
    local_nonpersistent_flags+=("--resource=")
    flags+=("--retry-backoff-duration=")
    two_word_flags+=("--retry-backoff-duration")
    local_nonpersistent_flags+=("--retry-backoff-duration")
    local_nonpersistent_flags+=("--retry-backoff-duration=")
    flags+=("--retry-backoff-factor=")
    two_word_flags+=("--retry-backoff-factor")
    local_nonpersistent_flags+=("--retry-backoff-factor")
    local_nonpersistent_flags+=("--retry-backoff-factor=")
    flags+=("--retry-backoff-max-duration=")
    two_word_flags+=("--retry-backoff-max-duration")
    local_nonpersistent_flags+=("--retry-backoff-max-duration")
    local_nonpersistent_flags+=("--retry-backoff-max-duration=")
    flags+=("--retry-limit=")
    two_word_flags+=("--retry-limit")
    local_nonpersistent_flags+=("--retry-limit")
    local_nonpersistent_flags+=("--retry-limit=")
    flags+=("--revision=")
    two_word_flags+=("--revision")
    local_nonpersistent_flags+=("--revision")
    local_nonpersistent_flags+=("--revision=")
    flags+=("--revisions=")
    two_word_flags+=("--revisions")
    local_nonpersistent_flags+=("--revisions")
    local_nonpersistent_flags+=("--revisions=")
    flags+=("--selector=")
    two_word_flags+=("--selector")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--selector")
    local_nonpersistent_flags+=("--selector=")
    local_nonpersistent_flags+=("-l")
    flags+=("--server-side")
    local_nonpersistent_flags+=("--server-side")
    flags+=("--source-names=")
    two_word_flags+=("--source-names")
    local_nonpersistent_flags+=("--source-names")
    local_nonpersistent_flags+=("--source-names=")
    flags+=("--source-positions=")
    two_word_flags+=("--source-positions")
    local_nonpersistent_flags+=("--source-positions")
    local_nonpersistent_flags+=("--source-positions=")
    flags+=("--strategy=")
    two_word_flags+=("--strategy")
    local_nonpersistent_flags+=("--strategy")
    local_nonpersistent_flags+=("--strategy=")
    flags+=("--timeout=")
    two_word_flags+=("--timeout")
    local_nonpersistent_flags+=("--timeout")
    local_nonpersistent_flags+=("--timeout=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_terminate-op()
{
    last_command="argocd_app_terminate-op"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_unset()
{
    last_command="argocd_app_unset"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--ignore-missing-components")
    local_nonpersistent_flags+=("--ignore-missing-components")
    flags+=("--ignore-missing-value-files")
    local_nonpersistent_flags+=("--ignore-missing-value-files")
    flags+=("--kustomize-image=")
    two_word_flags+=("--kustomize-image")
    local_nonpersistent_flags+=("--kustomize-image")
    local_nonpersistent_flags+=("--kustomize-image=")
    flags+=("--kustomize-namespace")
    local_nonpersistent_flags+=("--kustomize-namespace")
    flags+=("--kustomize-replica=")
    two_word_flags+=("--kustomize-replica")
    local_nonpersistent_flags+=("--kustomize-replica")
    local_nonpersistent_flags+=("--kustomize-replica=")
    flags+=("--kustomize-version")
    local_nonpersistent_flags+=("--kustomize-version")
    flags+=("--nameprefix")
    local_nonpersistent_flags+=("--nameprefix")
    flags+=("--namesuffix")
    local_nonpersistent_flags+=("--namesuffix")
    flags+=("--parameter=")
    two_word_flags+=("--parameter")
    two_word_flags+=("-p")
    local_nonpersistent_flags+=("--parameter")
    local_nonpersistent_flags+=("--parameter=")
    local_nonpersistent_flags+=("-p")
    flags+=("--pass-credentials")
    local_nonpersistent_flags+=("--pass-credentials")
    flags+=("--plugin-env=")
    two_word_flags+=("--plugin-env")
    local_nonpersistent_flags+=("--plugin-env")
    local_nonpersistent_flags+=("--plugin-env=")
    flags+=("--ref")
    local_nonpersistent_flags+=("--ref")
    flags+=("--source-position=")
    two_word_flags+=("--source-position")
    local_nonpersistent_flags+=("--source-position")
    local_nonpersistent_flags+=("--source-position=")
    flags+=("--values=")
    two_word_flags+=("--values")
    local_nonpersistent_flags+=("--values")
    local_nonpersistent_flags+=("--values=")
    flags+=("--values-literal")
    local_nonpersistent_flags+=("--values-literal")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app_wait()
{
    last_command="argocd_app_wait"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--app-namespace=")
    two_word_flags+=("--app-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--app-namespace")
    local_nonpersistent_flags+=("--app-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--degraded")
    local_nonpersistent_flags+=("--degraded")
    flags+=("--delete")
    local_nonpersistent_flags+=("--delete")
    flags+=("--health")
    local_nonpersistent_flags+=("--health")
    flags+=("--hydrated")
    local_nonpersistent_flags+=("--hydrated")
    flags+=("--operation")
    local_nonpersistent_flags+=("--operation")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--resource=")
    two_word_flags+=("--resource")
    local_nonpersistent_flags+=("--resource")
    local_nonpersistent_flags+=("--resource=")
    flags+=("--selector=")
    two_word_flags+=("--selector")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--selector")
    local_nonpersistent_flags+=("--selector=")
    local_nonpersistent_flags+=("-l")
    flags+=("--suspended")
    local_nonpersistent_flags+=("--suspended")
    flags+=("--sync")
    local_nonpersistent_flags+=("--sync")
    flags+=("--timeout=")
    two_word_flags+=("--timeout")
    local_nonpersistent_flags+=("--timeout")
    local_nonpersistent_flags+=("--timeout=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_app()
{
    last_command="argocd_app"

    command_aliases=()

    commands=()
    commands+=("actions")
    commands+=("add-source")
    commands+=("confirm-deletion")
    commands+=("create")
    commands+=("delete")
    commands+=("delete-resource")
    commands+=("diff")
    commands+=("edit")
    commands+=("get")
    commands+=("history")
    commands+=("list")
    commands+=("logs")
    commands+=("manifests")
    commands+=("patch")
    commands+=("patch-resource")
    commands+=("remove-source")
    commands+=("resources")
    commands+=("rollback")
    commands+=("set")
    commands+=("sync")
    commands+=("terminate-op")
    commands+=("unset")
    commands+=("wait")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_appset_create()
{
    last_command="argocd_appset_create"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--dry-run")
    local_nonpersistent_flags+=("--dry-run")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--upsert")
    local_nonpersistent_flags+=("--upsert")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_appset_delete()
{
    last_command="argocd_appset_delete"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--yes")
    flags+=("-y")
    local_nonpersistent_flags+=("--yes")
    local_nonpersistent_flags+=("-y")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_appset_generate()
{
    last_command="argocd_appset_generate"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_appset_get()
{
    last_command="argocd_appset_get"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--show-params")
    local_nonpersistent_flags+=("--show-params")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_appset_list()
{
    last_command="argocd_appset_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--appset-namespace=")
    two_word_flags+=("--appset-namespace")
    two_word_flags+=("-N")
    local_nonpersistent_flags+=("--appset-namespace")
    local_nonpersistent_flags+=("--appset-namespace=")
    local_nonpersistent_flags+=("-N")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--project=")
    two_word_flags+=("--project")
    two_word_flags+=("-p")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    local_nonpersistent_flags+=("-p")
    flags+=("--selector=")
    two_word_flags+=("--selector")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--selector")
    local_nonpersistent_flags+=("--selector=")
    local_nonpersistent_flags+=("-l")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_appset()
{
    last_command="argocd_appset"

    command_aliases=()

    commands=()
    commands+=("create")
    commands+=("delete")
    commands+=("generate")
    commands+=("get")
    commands+=("list")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cert_add-ssh()
{
    last_command="argocd_cert_add-ssh"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--batch")
    local_nonpersistent_flags+=("--batch")
    flags+=("--from=")
    two_word_flags+=("--from")
    local_nonpersistent_flags+=("--from")
    local_nonpersistent_flags+=("--from=")
    flags+=("--upsert")
    local_nonpersistent_flags+=("--upsert")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cert_add-tls()
{
    last_command="argocd_cert_add-tls"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--from=")
    two_word_flags+=("--from")
    local_nonpersistent_flags+=("--from")
    local_nonpersistent_flags+=("--from=")
    flags+=("--upsert")
    local_nonpersistent_flags+=("--upsert")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cert_list()
{
    last_command="argocd_cert_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--cert-type=")
    two_word_flags+=("--cert-type")
    local_nonpersistent_flags+=("--cert-type")
    local_nonpersistent_flags+=("--cert-type=")
    flags+=("--hostname-pattern=")
    two_word_flags+=("--hostname-pattern")
    local_nonpersistent_flags+=("--hostname-pattern")
    local_nonpersistent_flags+=("--hostname-pattern=")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--sort=")
    two_word_flags+=("--sort")
    local_nonpersistent_flags+=("--sort")
    local_nonpersistent_flags+=("--sort=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cert_rm()
{
    last_command="argocd_cert_rm"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--cert-sub-type=")
    two_word_flags+=("--cert-sub-type")
    local_nonpersistent_flags+=("--cert-sub-type")
    local_nonpersistent_flags+=("--cert-sub-type=")
    flags+=("--cert-type=")
    two_word_flags+=("--cert-type")
    local_nonpersistent_flags+=("--cert-type")
    local_nonpersistent_flags+=("--cert-type=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cert()
{
    last_command="argocd_cert"

    command_aliases=()

    commands=()
    commands+=("add-ssh")
    commands+=("add-tls")
    commands+=("list")
    commands+=("rm")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cluster_add()
{
    last_command="argocd_cluster_add"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--annotation=")
    two_word_flags+=("--annotation")
    local_nonpersistent_flags+=("--annotation")
    local_nonpersistent_flags+=("--annotation=")
    flags+=("--aws-cluster-name=")
    two_word_flags+=("--aws-cluster-name")
    local_nonpersistent_flags+=("--aws-cluster-name")
    local_nonpersistent_flags+=("--aws-cluster-name=")
    flags+=("--aws-profile=")
    two_word_flags+=("--aws-profile")
    local_nonpersistent_flags+=("--aws-profile")
    local_nonpersistent_flags+=("--aws-profile=")
    flags+=("--aws-role-arn=")
    two_word_flags+=("--aws-role-arn")
    local_nonpersistent_flags+=("--aws-role-arn")
    local_nonpersistent_flags+=("--aws-role-arn=")
    flags+=("--cluster-endpoint=")
    two_word_flags+=("--cluster-endpoint")
    local_nonpersistent_flags+=("--cluster-endpoint")
    local_nonpersistent_flags+=("--cluster-endpoint=")
    flags+=("--cluster-resources")
    local_nonpersistent_flags+=("--cluster-resources")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--exec-command=")
    two_word_flags+=("--exec-command")
    local_nonpersistent_flags+=("--exec-command")
    local_nonpersistent_flags+=("--exec-command=")
    flags+=("--exec-command-api-version=")
    two_word_flags+=("--exec-command-api-version")
    local_nonpersistent_flags+=("--exec-command-api-version")
    local_nonpersistent_flags+=("--exec-command-api-version=")
    flags+=("--exec-command-args=")
    two_word_flags+=("--exec-command-args")
    local_nonpersistent_flags+=("--exec-command-args")
    local_nonpersistent_flags+=("--exec-command-args=")
    flags+=("--exec-command-env=")
    two_word_flags+=("--exec-command-env")
    local_nonpersistent_flags+=("--exec-command-env")
    local_nonpersistent_flags+=("--exec-command-env=")
    flags+=("--exec-command-install-hint=")
    two_word_flags+=("--exec-command-install-hint")
    local_nonpersistent_flags+=("--exec-command-install-hint")
    local_nonpersistent_flags+=("--exec-command-install-hint=")
    flags+=("--in-cluster")
    local_nonpersistent_flags+=("--in-cluster")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    flags+=("--label=")
    two_word_flags+=("--label")
    local_nonpersistent_flags+=("--label")
    local_nonpersistent_flags+=("--label=")
    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--service-account=")
    two_word_flags+=("--service-account")
    local_nonpersistent_flags+=("--service-account")
    local_nonpersistent_flags+=("--service-account=")
    flags+=("--shard=")
    two_word_flags+=("--shard")
    local_nonpersistent_flags+=("--shard")
    local_nonpersistent_flags+=("--shard=")
    flags+=("--system-namespace=")
    two_word_flags+=("--system-namespace")
    local_nonpersistent_flags+=("--system-namespace")
    local_nonpersistent_flags+=("--system-namespace=")
    flags+=("--upsert")
    local_nonpersistent_flags+=("--upsert")
    flags+=("--yes")
    flags+=("-y")
    local_nonpersistent_flags+=("--yes")
    local_nonpersistent_flags+=("-y")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cluster_get()
{
    last_command="argocd_cluster_get"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cluster_list()
{
    last_command="argocd_cluster_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cluster_rm()
{
    last_command="argocd_cluster_rm"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--yes")
    flags+=("-y")
    local_nonpersistent_flags+=("--yes")
    local_nonpersistent_flags+=("-y")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cluster_rotate-auth()
{
    last_command="argocd_cluster_rotate-auth"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cluster_set()
{
    last_command="argocd_cluster_set"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--annotation=")
    two_word_flags+=("--annotation")
    local_nonpersistent_flags+=("--annotation")
    local_nonpersistent_flags+=("--annotation=")
    flags+=("--label=")
    two_word_flags+=("--label")
    local_nonpersistent_flags+=("--label")
    local_nonpersistent_flags+=("--label=")
    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_cluster()
{
    last_command="argocd_cluster"

    command_aliases=()

    commands=()
    commands+=("add")
    commands+=("get")
    commands+=("list")
    commands+=("rm")
    commands+=("rotate-auth")
    commands+=("set")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_completion()
{
    last_command="argocd_completion"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_configure()
{
    last_command="argocd_configure"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--prompts-enabled")
    local_nonpersistent_flags+=("--prompts-enabled")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_context()
{
    last_command="argocd_context"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--delete")
    local_nonpersistent_flags+=("--delete")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_gpg_add()
{
    last_command="argocd_gpg_add"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--from=")
    two_word_flags+=("--from")
    two_word_flags+=("-f")
    local_nonpersistent_flags+=("--from")
    local_nonpersistent_flags+=("--from=")
    local_nonpersistent_flags+=("-f")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_gpg_get()
{
    last_command="argocd_gpg_get"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_gpg_list()
{
    last_command="argocd_gpg_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_gpg_rm()
{
    last_command="argocd_gpg_rm"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_gpg()
{
    last_command="argocd_gpg"

    command_aliases=()

    commands=()
    commands+=("add")
    commands+=("get")
    commands+=("list")
    commands+=("rm")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_login()
{
    last_command="argocd_login"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--skip-test-tls")
    local_nonpersistent_flags+=("--skip-test-tls")
    flags+=("--sso")
    local_nonpersistent_flags+=("--sso")
    flags+=("--sso-launch-browser")
    local_nonpersistent_flags+=("--sso-launch-browser")
    flags+=("--sso-port=")
    two_word_flags+=("--sso-port")
    local_nonpersistent_flags+=("--sso-port")
    local_nonpersistent_flags+=("--sso-port=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_logout()
{
    last_command="argocd_logout"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_add-destination()
{
    last_command="argocd_proj_add-destination"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--name")
    local_nonpersistent_flags+=("--name")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_add-destination-service-account()
{
    last_command="argocd_proj_add-destination-service-account"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--service-account-namespace=")
    two_word_flags+=("--service-account-namespace")
    local_nonpersistent_flags+=("--service-account-namespace")
    local_nonpersistent_flags+=("--service-account-namespace=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_add-orphaned-ignore()
{
    last_command="argocd_proj_add-orphaned-ignore"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_add-signature-key()
{
    last_command="argocd_proj_add-signature-key"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_add-source()
{
    last_command="argocd_proj_add-source"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_add-source-namespace()
{
    last_command="argocd_proj_add-source-namespace"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_allow-cluster-resource()
{
    last_command="argocd_proj_allow-cluster-resource"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--list=")
    two_word_flags+=("--list")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--list")
    local_nonpersistent_flags+=("--list=")
    local_nonpersistent_flags+=("-l")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_allow-namespace-resource()
{
    last_command="argocd_proj_allow-namespace-resource"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--list=")
    two_word_flags+=("--list")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--list")
    local_nonpersistent_flags+=("--list=")
    local_nonpersistent_flags+=("-l")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_create()
{
    last_command="argocd_proj_create"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--allow-cluster-resource=")
    two_word_flags+=("--allow-cluster-resource")
    local_nonpersistent_flags+=("--allow-cluster-resource")
    local_nonpersistent_flags+=("--allow-cluster-resource=")
    flags+=("--allow-namespaced-resource=")
    two_word_flags+=("--allow-namespaced-resource")
    local_nonpersistent_flags+=("--allow-namespaced-resource")
    local_nonpersistent_flags+=("--allow-namespaced-resource=")
    flags+=("--deny-cluster-resource=")
    two_word_flags+=("--deny-cluster-resource")
    local_nonpersistent_flags+=("--deny-cluster-resource")
    local_nonpersistent_flags+=("--deny-cluster-resource=")
    flags+=("--deny-namespaced-resource=")
    two_word_flags+=("--deny-namespaced-resource")
    local_nonpersistent_flags+=("--deny-namespaced-resource")
    local_nonpersistent_flags+=("--deny-namespaced-resource=")
    flags+=("--description=")
    two_word_flags+=("--description")
    local_nonpersistent_flags+=("--description")
    local_nonpersistent_flags+=("--description=")
    flags+=("--dest=")
    two_word_flags+=("--dest")
    two_word_flags+=("-d")
    local_nonpersistent_flags+=("--dest")
    local_nonpersistent_flags+=("--dest=")
    local_nonpersistent_flags+=("-d")
    flags+=("--dest-service-accounts=")
    two_word_flags+=("--dest-service-accounts")
    local_nonpersistent_flags+=("--dest-service-accounts")
    local_nonpersistent_flags+=("--dest-service-accounts=")
    flags+=("--file=")
    two_word_flags+=("--file")
    flags_with_completion+=("--file")
    flags_completion+=("__argocd_handle_filename_extension_flag json|yaml|yml")
    two_word_flags+=("-f")
    flags_with_completion+=("-f")
    flags_completion+=("__argocd_handle_filename_extension_flag json|yaml|yml")
    local_nonpersistent_flags+=("--file")
    local_nonpersistent_flags+=("--file=")
    local_nonpersistent_flags+=("-f")
    flags+=("--orphaned-resources")
    local_nonpersistent_flags+=("--orphaned-resources")
    flags+=("--orphaned-resources-warn")
    local_nonpersistent_flags+=("--orphaned-resources-warn")
    flags+=("--signature-keys=")
    two_word_flags+=("--signature-keys")
    local_nonpersistent_flags+=("--signature-keys")
    local_nonpersistent_flags+=("--signature-keys=")
    flags+=("--source-namespaces=")
    two_word_flags+=("--source-namespaces")
    local_nonpersistent_flags+=("--source-namespaces")
    local_nonpersistent_flags+=("--source-namespaces=")
    flags+=("--src=")
    two_word_flags+=("--src")
    two_word_flags+=("-s")
    local_nonpersistent_flags+=("--src")
    local_nonpersistent_flags+=("--src=")
    local_nonpersistent_flags+=("-s")
    flags+=("--upsert")
    local_nonpersistent_flags+=("--upsert")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_delete()
{
    last_command="argocd_proj_delete"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_deny-cluster-resource()
{
    last_command="argocd_proj_deny-cluster-resource"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--list=")
    two_word_flags+=("--list")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--list")
    local_nonpersistent_flags+=("--list=")
    local_nonpersistent_flags+=("-l")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_deny-namespace-resource()
{
    last_command="argocd_proj_deny-namespace-resource"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--list=")
    two_word_flags+=("--list")
    two_word_flags+=("-l")
    local_nonpersistent_flags+=("--list")
    local_nonpersistent_flags+=("--list=")
    local_nonpersistent_flags+=("-l")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_edit()
{
    last_command="argocd_proj_edit"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_get()
{
    last_command="argocd_proj_get"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_list()
{
    last_command="argocd_proj_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_remove-destination()
{
    last_command="argocd_proj_remove-destination"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_remove-destination-service-account()
{
    last_command="argocd_proj_remove-destination-service-account"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_remove-orphaned-ignore()
{
    last_command="argocd_proj_remove-orphaned-ignore"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_remove-signature-key()
{
    last_command="argocd_proj_remove-signature-key"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_remove-source()
{
    last_command="argocd_proj_remove-source"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_remove-source-namespace()
{
    last_command="argocd_proj_remove-source-namespace"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_add-group()
{
    last_command="argocd_proj_role_add-group"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_add-policy()
{
    last_command="argocd_proj_role_add-policy"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--action=")
    two_word_flags+=("--action")
    two_word_flags+=("-a")
    local_nonpersistent_flags+=("--action")
    local_nonpersistent_flags+=("--action=")
    local_nonpersistent_flags+=("-a")
    flags+=("--object=")
    two_word_flags+=("--object")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--object")
    local_nonpersistent_flags+=("--object=")
    local_nonpersistent_flags+=("-o")
    flags+=("--permission=")
    two_word_flags+=("--permission")
    two_word_flags+=("-p")
    local_nonpersistent_flags+=("--permission")
    local_nonpersistent_flags+=("--permission=")
    local_nonpersistent_flags+=("-p")
    flags+=("--resource=")
    two_word_flags+=("--resource")
    two_word_flags+=("-r")
    local_nonpersistent_flags+=("--resource")
    local_nonpersistent_flags+=("--resource=")
    local_nonpersistent_flags+=("-r")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_create()
{
    last_command="argocd_proj_role_create"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--description=")
    two_word_flags+=("--description")
    local_nonpersistent_flags+=("--description")
    local_nonpersistent_flags+=("--description=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_create-token()
{
    last_command="argocd_proj_role_create-token"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--expires-in=")
    two_word_flags+=("--expires-in")
    two_word_flags+=("-e")
    local_nonpersistent_flags+=("--expires-in")
    local_nonpersistent_flags+=("--expires-in=")
    local_nonpersistent_flags+=("-e")
    flags+=("--id=")
    two_word_flags+=("--id")
    two_word_flags+=("-i")
    local_nonpersistent_flags+=("--id")
    local_nonpersistent_flags+=("--id=")
    local_nonpersistent_flags+=("-i")
    flags+=("--token-only")
    flags+=("-t")
    local_nonpersistent_flags+=("--token-only")
    local_nonpersistent_flags+=("-t")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_delete()
{
    last_command="argocd_proj_role_delete"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_delete-token()
{
    last_command="argocd_proj_role_delete-token"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_get()
{
    last_command="argocd_proj_role_get"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_list()
{
    last_command="argocd_proj_role_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_list-tokens()
{
    last_command="argocd_proj_role_list-tokens"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--unixtime")
    flags+=("-u")
    local_nonpersistent_flags+=("--unixtime")
    local_nonpersistent_flags+=("-u")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_remove-group()
{
    last_command="argocd_proj_role_remove-group"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role_remove-policy()
{
    last_command="argocd_proj_role_remove-policy"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--action=")
    two_word_flags+=("--action")
    two_word_flags+=("-a")
    local_nonpersistent_flags+=("--action")
    local_nonpersistent_flags+=("--action=")
    local_nonpersistent_flags+=("-a")
    flags+=("--object=")
    two_word_flags+=("--object")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--object")
    local_nonpersistent_flags+=("--object=")
    local_nonpersistent_flags+=("-o")
    flags+=("--permission=")
    two_word_flags+=("--permission")
    two_word_flags+=("-p")
    local_nonpersistent_flags+=("--permission")
    local_nonpersistent_flags+=("--permission=")
    local_nonpersistent_flags+=("-p")
    flags+=("--resource=")
    two_word_flags+=("--resource")
    two_word_flags+=("-r")
    local_nonpersistent_flags+=("--resource")
    local_nonpersistent_flags+=("--resource=")
    local_nonpersistent_flags+=("-r")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_role()
{
    last_command="argocd_proj_role"

    command_aliases=()

    commands=()
    commands+=("add-group")
    commands+=("add-policy")
    commands+=("create")
    commands+=("create-token")
    if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then
        command_aliases+=("token-create")
        aliashash["token-create"]="create-token"
    fi
    commands+=("delete")
    commands+=("delete-token")
    if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then
        command_aliases+=("remove-token")
        aliashash["remove-token"]="delete-token"
        command_aliases+=("token-delete")
        aliashash["token-delete"]="delete-token"
    fi
    commands+=("get")
    commands+=("list")
    commands+=("list-tokens")
    if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then
        command_aliases+=("list-token")
        aliashash["list-token"]="list-tokens"
        command_aliases+=("token-list")
        aliashash["token-list"]="list-tokens"
    fi
    commands+=("remove-group")
    commands+=("remove-policy")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_set()
{
    last_command="argocd_proj_set"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--allow-cluster-resource=")
    two_word_flags+=("--allow-cluster-resource")
    local_nonpersistent_flags+=("--allow-cluster-resource")
    local_nonpersistent_flags+=("--allow-cluster-resource=")
    flags+=("--allow-namespaced-resource=")
    two_word_flags+=("--allow-namespaced-resource")
    local_nonpersistent_flags+=("--allow-namespaced-resource")
    local_nonpersistent_flags+=("--allow-namespaced-resource=")
    flags+=("--deny-cluster-resource=")
    two_word_flags+=("--deny-cluster-resource")
    local_nonpersistent_flags+=("--deny-cluster-resource")
    local_nonpersistent_flags+=("--deny-cluster-resource=")
    flags+=("--deny-namespaced-resource=")
    two_word_flags+=("--deny-namespaced-resource")
    local_nonpersistent_flags+=("--deny-namespaced-resource")
    local_nonpersistent_flags+=("--deny-namespaced-resource=")
    flags+=("--description=")
    two_word_flags+=("--description")
    local_nonpersistent_flags+=("--description")
    local_nonpersistent_flags+=("--description=")
    flags+=("--dest=")
    two_word_flags+=("--dest")
    two_word_flags+=("-d")
    local_nonpersistent_flags+=("--dest")
    local_nonpersistent_flags+=("--dest=")
    local_nonpersistent_flags+=("-d")
    flags+=("--dest-service-accounts=")
    two_word_flags+=("--dest-service-accounts")
    local_nonpersistent_flags+=("--dest-service-accounts")
    local_nonpersistent_flags+=("--dest-service-accounts=")
    flags+=("--orphaned-resources")
    local_nonpersistent_flags+=("--orphaned-resources")
    flags+=("--orphaned-resources-warn")
    local_nonpersistent_flags+=("--orphaned-resources-warn")
    flags+=("--signature-keys=")
    two_word_flags+=("--signature-keys")
    local_nonpersistent_flags+=("--signature-keys")
    local_nonpersistent_flags+=("--signature-keys=")
    flags+=("--source-namespaces=")
    two_word_flags+=("--source-namespaces")
    local_nonpersistent_flags+=("--source-namespaces")
    local_nonpersistent_flags+=("--source-namespaces=")
    flags+=("--src=")
    two_word_flags+=("--src")
    two_word_flags+=("-s")
    local_nonpersistent_flags+=("--src")
    local_nonpersistent_flags+=("--src=")
    local_nonpersistent_flags+=("-s")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_windows_add()
{
    last_command="argocd_proj_windows_add"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--applications=")
    two_word_flags+=("--applications")
    local_nonpersistent_flags+=("--applications")
    local_nonpersistent_flags+=("--applications=")
    flags+=("--clusters=")
    two_word_flags+=("--clusters")
    local_nonpersistent_flags+=("--clusters")
    local_nonpersistent_flags+=("--clusters=")
    flags+=("--description=")
    two_word_flags+=("--description")
    local_nonpersistent_flags+=("--description")
    local_nonpersistent_flags+=("--description=")
    flags+=("--duration=")
    two_word_flags+=("--duration")
    local_nonpersistent_flags+=("--duration")
    local_nonpersistent_flags+=("--duration=")
    flags+=("--kind=")
    two_word_flags+=("--kind")
    two_word_flags+=("-k")
    local_nonpersistent_flags+=("--kind")
    local_nonpersistent_flags+=("--kind=")
    local_nonpersistent_flags+=("-k")
    flags+=("--manual-sync")
    local_nonpersistent_flags+=("--manual-sync")
    flags+=("--namespaces=")
    two_word_flags+=("--namespaces")
    local_nonpersistent_flags+=("--namespaces")
    local_nonpersistent_flags+=("--namespaces=")
    flags+=("--schedule=")
    two_word_flags+=("--schedule")
    local_nonpersistent_flags+=("--schedule")
    local_nonpersistent_flags+=("--schedule=")
    flags+=("--time-zone=")
    two_word_flags+=("--time-zone")
    local_nonpersistent_flags+=("--time-zone")
    local_nonpersistent_flags+=("--time-zone=")
    flags+=("--use-and-operator")
    local_nonpersistent_flags+=("--use-and-operator")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_windows_delete()
{
    last_command="argocd_proj_windows_delete"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_windows_disable-manual-sync()
{
    last_command="argocd_proj_windows_disable-manual-sync"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_windows_enable-manual-sync()
{
    last_command="argocd_proj_windows_enable-manual-sync"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_windows_list()
{
    last_command="argocd_proj_windows_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_windows_update()
{
    last_command="argocd_proj_windows_update"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--applications=")
    two_word_flags+=("--applications")
    local_nonpersistent_flags+=("--applications")
    local_nonpersistent_flags+=("--applications=")
    flags+=("--clusters=")
    two_word_flags+=("--clusters")
    local_nonpersistent_flags+=("--clusters")
    local_nonpersistent_flags+=("--clusters=")
    flags+=("--description=")
    two_word_flags+=("--description")
    local_nonpersistent_flags+=("--description")
    local_nonpersistent_flags+=("--description=")
    flags+=("--duration=")
    two_word_flags+=("--duration")
    local_nonpersistent_flags+=("--duration")
    local_nonpersistent_flags+=("--duration=")
    flags+=("--namespaces=")
    two_word_flags+=("--namespaces")
    local_nonpersistent_flags+=("--namespaces")
    local_nonpersistent_flags+=("--namespaces=")
    flags+=("--schedule=")
    two_word_flags+=("--schedule")
    local_nonpersistent_flags+=("--schedule")
    local_nonpersistent_flags+=("--schedule=")
    flags+=("--time-zone=")
    two_word_flags+=("--time-zone")
    local_nonpersistent_flags+=("--time-zone")
    local_nonpersistent_flags+=("--time-zone=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj_windows()
{
    last_command="argocd_proj_windows"

    command_aliases=()

    commands=()
    commands+=("add")
    commands+=("delete")
    commands+=("disable-manual-sync")
    commands+=("enable-manual-sync")
    commands+=("list")
    commands+=("update")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_proj()
{
    last_command="argocd_proj"

    command_aliases=()

    commands=()
    commands+=("add-destination")
    commands+=("add-destination-service-account")
    commands+=("add-orphaned-ignore")
    commands+=("add-signature-key")
    commands+=("add-source")
    commands+=("add-source-namespace")
    commands+=("allow-cluster-resource")
    commands+=("allow-namespace-resource")
    commands+=("create")
    commands+=("delete")
    commands+=("deny-cluster-resource")
    commands+=("deny-namespace-resource")
    commands+=("edit")
    commands+=("get")
    commands+=("list")
    commands+=("remove-destination")
    commands+=("remove-destination-service-account")
    commands+=("remove-orphaned-ignore")
    commands+=("remove-signature-key")
    commands+=("remove-source")
    commands+=("remove-source-namespace")
    commands+=("role")
    commands+=("set")
    commands+=("windows")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_relogin()
{
    last_command="argocd_relogin"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--sso-launch-browser")
    local_nonpersistent_flags+=("--sso-launch-browser")
    flags+=("--sso-port=")
    two_word_flags+=("--sso-port")
    local_nonpersistent_flags+=("--sso-port")
    local_nonpersistent_flags+=("--sso-port=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_repo_add()
{
    last_command="argocd_repo_add"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--bearer-token=")
    two_word_flags+=("--bearer-token")
    local_nonpersistent_flags+=("--bearer-token")
    local_nonpersistent_flags+=("--bearer-token=")
    flags+=("--enable-lfs")
    local_nonpersistent_flags+=("--enable-lfs")
    flags+=("--enable-oci")
    local_nonpersistent_flags+=("--enable-oci")
    flags+=("--force-http-basic-auth")
    local_nonpersistent_flags+=("--force-http-basic-auth")
    flags+=("--gcp-service-account-key-path=")
    two_word_flags+=("--gcp-service-account-key-path")
    local_nonpersistent_flags+=("--gcp-service-account-key-path")
    local_nonpersistent_flags+=("--gcp-service-account-key-path=")
    flags+=("--github-app-enterprise-base-url=")
    two_word_flags+=("--github-app-enterprise-base-url")
    local_nonpersistent_flags+=("--github-app-enterprise-base-url")
    local_nonpersistent_flags+=("--github-app-enterprise-base-url=")
    flags+=("--github-app-id=")
    two_word_flags+=("--github-app-id")
    local_nonpersistent_flags+=("--github-app-id")
    local_nonpersistent_flags+=("--github-app-id=")
    flags+=("--github-app-installation-id=")
    two_word_flags+=("--github-app-installation-id")
    local_nonpersistent_flags+=("--github-app-installation-id")
    local_nonpersistent_flags+=("--github-app-installation-id=")
    flags+=("--github-app-private-key-path=")
    two_word_flags+=("--github-app-private-key-path")
    local_nonpersistent_flags+=("--github-app-private-key-path")
    local_nonpersistent_flags+=("--github-app-private-key-path=")
    flags+=("--insecure-ignore-host-key")
    local_nonpersistent_flags+=("--insecure-ignore-host-key")
    flags+=("--insecure-oci-force-http")
    local_nonpersistent_flags+=("--insecure-oci-force-http")
    flags+=("--insecure-skip-server-verification")
    local_nonpersistent_flags+=("--insecure-skip-server-verification")
    flags+=("--name=")
    two_word_flags+=("--name")
    local_nonpersistent_flags+=("--name")
    local_nonpersistent_flags+=("--name=")
    flags+=("--no-proxy=")
    two_word_flags+=("--no-proxy")
    local_nonpersistent_flags+=("--no-proxy")
    local_nonpersistent_flags+=("--no-proxy=")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--proxy=")
    two_word_flags+=("--proxy")
    local_nonpersistent_flags+=("--proxy")
    local_nonpersistent_flags+=("--proxy=")
    flags+=("--ssh-private-key-path=")
    two_word_flags+=("--ssh-private-key-path")
    local_nonpersistent_flags+=("--ssh-private-key-path")
    local_nonpersistent_flags+=("--ssh-private-key-path=")
    flags+=("--tls-client-cert-key-path=")
    two_word_flags+=("--tls-client-cert-key-path")
    local_nonpersistent_flags+=("--tls-client-cert-key-path")
    local_nonpersistent_flags+=("--tls-client-cert-key-path=")
    flags+=("--tls-client-cert-path=")
    two_word_flags+=("--tls-client-cert-path")
    local_nonpersistent_flags+=("--tls-client-cert-path")
    local_nonpersistent_flags+=("--tls-client-cert-path=")
    flags+=("--type=")
    two_word_flags+=("--type")
    local_nonpersistent_flags+=("--type")
    local_nonpersistent_flags+=("--type=")
    flags+=("--upsert")
    local_nonpersistent_flags+=("--upsert")
    flags+=("--use-azure-workload-identity")
    local_nonpersistent_flags+=("--use-azure-workload-identity")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_repo_get()
{
    last_command="argocd_repo_get"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--refresh=")
    two_word_flags+=("--refresh")
    local_nonpersistent_flags+=("--refresh")
    local_nonpersistent_flags+=("--refresh=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_repo_list()
{
    last_command="argocd_repo_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--refresh=")
    two_word_flags+=("--refresh")
    local_nonpersistent_flags+=("--refresh")
    local_nonpersistent_flags+=("--refresh=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_repo_rm()
{
    last_command="argocd_repo_rm"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--project=")
    two_word_flags+=("--project")
    local_nonpersistent_flags+=("--project")
    local_nonpersistent_flags+=("--project=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_repo()
{
    last_command="argocd_repo"

    command_aliases=()

    commands=()
    commands+=("add")
    commands+=("get")
    commands+=("list")
    commands+=("rm")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_repocreds_add()
{
    last_command="argocd_repocreds_add"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--bearer-token=")
    two_word_flags+=("--bearer-token")
    local_nonpersistent_flags+=("--bearer-token")
    local_nonpersistent_flags+=("--bearer-token=")
    flags+=("--enable-oci")
    local_nonpersistent_flags+=("--enable-oci")
    flags+=("--force-http-basic-auth")
    local_nonpersistent_flags+=("--force-http-basic-auth")
    flags+=("--gcp-service-account-key-path=")
    two_word_flags+=("--gcp-service-account-key-path")
    local_nonpersistent_flags+=("--gcp-service-account-key-path")
    local_nonpersistent_flags+=("--gcp-service-account-key-path=")
    flags+=("--github-app-enterprise-base-url=")
    two_word_flags+=("--github-app-enterprise-base-url")
    local_nonpersistent_flags+=("--github-app-enterprise-base-url")
    local_nonpersistent_flags+=("--github-app-enterprise-base-url=")
    flags+=("--github-app-id=")
    two_word_flags+=("--github-app-id")
    local_nonpersistent_flags+=("--github-app-id")
    local_nonpersistent_flags+=("--github-app-id=")
    flags+=("--github-app-installation-id=")
    two_word_flags+=("--github-app-installation-id")
    local_nonpersistent_flags+=("--github-app-installation-id")
    local_nonpersistent_flags+=("--github-app-installation-id=")
    flags+=("--github-app-private-key-path=")
    two_word_flags+=("--github-app-private-key-path")
    local_nonpersistent_flags+=("--github-app-private-key-path")
    local_nonpersistent_flags+=("--github-app-private-key-path=")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--ssh-private-key-path=")
    two_word_flags+=("--ssh-private-key-path")
    local_nonpersistent_flags+=("--ssh-private-key-path")
    local_nonpersistent_flags+=("--ssh-private-key-path=")
    flags+=("--tls-client-cert-key-path=")
    two_word_flags+=("--tls-client-cert-key-path")
    local_nonpersistent_flags+=("--tls-client-cert-key-path")
    local_nonpersistent_flags+=("--tls-client-cert-key-path=")
    flags+=("--tls-client-cert-path=")
    two_word_flags+=("--tls-client-cert-path")
    local_nonpersistent_flags+=("--tls-client-cert-path")
    local_nonpersistent_flags+=("--tls-client-cert-path=")
    flags+=("--type=")
    two_word_flags+=("--type")
    local_nonpersistent_flags+=("--type")
    local_nonpersistent_flags+=("--type=")
    flags+=("--upsert")
    local_nonpersistent_flags+=("--upsert")
    flags+=("--use-azure-workload-identity")
    local_nonpersistent_flags+=("--use-azure-workload-identity")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_repocreds_list()
{
    last_command="argocd_repocreds_list"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_repocreds_rm()
{
    last_command="argocd_repocreds_rm"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_repocreds()
{
    last_command="argocd_repocreds"

    command_aliases=()

    commands=()
    commands+=("add")
    commands+=("list")
    commands+=("rm")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_version()
{
    last_command="argocd_version"

    command_aliases=()

    commands=()

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--as=")
    two_word_flags+=("--as")
    local_nonpersistent_flags+=("--as")
    local_nonpersistent_flags+=("--as=")
    flags+=("--as-group=")
    two_word_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group")
    local_nonpersistent_flags+=("--as-group=")
    flags+=("--as-uid=")
    two_word_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid")
    local_nonpersistent_flags+=("--as-uid=")
    flags+=("--certificate-authority=")
    two_word_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority")
    local_nonpersistent_flags+=("--certificate-authority=")
    flags+=("--client")
    local_nonpersistent_flags+=("--client")
    flags+=("--client-certificate=")
    two_word_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate")
    local_nonpersistent_flags+=("--client-certificate=")
    flags+=("--client-key=")
    two_word_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key")
    local_nonpersistent_flags+=("--client-key=")
    flags+=("--cluster=")
    two_word_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster")
    local_nonpersistent_flags+=("--cluster=")
    flags+=("--context=")
    two_word_flags+=("--context")
    local_nonpersistent_flags+=("--context")
    local_nonpersistent_flags+=("--context=")
    flags+=("--disable-compression")
    local_nonpersistent_flags+=("--disable-compression")
    flags+=("--insecure-skip-tls-verify")
    local_nonpersistent_flags+=("--insecure-skip-tls-verify")
    flags+=("--kubeconfig=")
    two_word_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig")
    local_nonpersistent_flags+=("--kubeconfig=")
    flags+=("--namespace=")
    two_word_flags+=("--namespace")
    two_word_flags+=("-n")
    local_nonpersistent_flags+=("--namespace")
    local_nonpersistent_flags+=("--namespace=")
    local_nonpersistent_flags+=("-n")
    flags+=("--output=")
    two_word_flags+=("--output")
    two_word_flags+=("-o")
    local_nonpersistent_flags+=("--output")
    local_nonpersistent_flags+=("--output=")
    local_nonpersistent_flags+=("-o")
    flags+=("--password=")
    two_word_flags+=("--password")
    local_nonpersistent_flags+=("--password")
    local_nonpersistent_flags+=("--password=")
    flags+=("--proxy-url=")
    two_word_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url")
    local_nonpersistent_flags+=("--proxy-url=")
    flags+=("--request-timeout=")
    two_word_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout")
    local_nonpersistent_flags+=("--request-timeout=")
    flags+=("--short")
    local_nonpersistent_flags+=("--short")
    flags+=("--tls-server-name=")
    two_word_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name")
    local_nonpersistent_flags+=("--tls-server-name=")
    flags+=("--token=")
    two_word_flags+=("--token")
    local_nonpersistent_flags+=("--token")
    local_nonpersistent_flags+=("--token=")
    flags+=("--user=")
    two_word_flags+=("--user")
    local_nonpersistent_flags+=("--user")
    local_nonpersistent_flags+=("--user=")
    flags+=("--username=")
    two_word_flags+=("--username")
    local_nonpersistent_flags+=("--username")
    local_nonpersistent_flags+=("--username=")
    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

_argocd_root_command()
{
    last_command="argocd"

    command_aliases=()

    commands=()
    commands+=("account")
    commands+=("admin")
    commands+=("app")
    commands+=("appset")
    commands+=("cert")
    commands+=("cluster")
    commands+=("completion")
    commands+=("configure")
    commands+=("context")
    if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then
        command_aliases+=("ctx")
        aliashash["ctx"]="context"
    fi
    commands+=("gpg")
    commands+=("login")
    commands+=("logout")
    commands+=("proj")
    commands+=("relogin")
    commands+=("repo")
    commands+=("repocreds")
    commands+=("version")

    flags=()
    two_word_flags=()
    local_nonpersistent_flags=()
    flags_with_completion=()
    flags_completion=()

    flags+=("--argocd-context=")
    two_word_flags+=("--argocd-context")
    flags+=("--auth-token=")
    two_word_flags+=("--auth-token")
    flags+=("--client-crt=")
    two_word_flags+=("--client-crt")
    flags+=("--client-crt-key=")
    two_word_flags+=("--client-crt-key")
    flags+=("--config=")
    two_word_flags+=("--config")
    flags+=("--controller-name=")
    two_word_flags+=("--controller-name")
    flags+=("--core")
    flags+=("--grpc-web")
    flags+=("--grpc-web-root-path=")
    two_word_flags+=("--grpc-web-root-path")
    flags+=("--header=")
    two_word_flags+=("--header")
    two_word_flags+=("-H")
    flags+=("--http-retry-max=")
    two_word_flags+=("--http-retry-max")
    flags+=("--insecure")
    flags+=("--kube-context=")
    two_word_flags+=("--kube-context")
    flags+=("--logformat=")
    two_word_flags+=("--logformat")
    flags+=("--loglevel=")
    two_word_flags+=("--loglevel")
    flags+=("--plaintext")
    flags+=("--port-forward")
    flags+=("--port-forward-namespace=")
    two_word_flags+=("--port-forward-namespace")
    flags+=("--prompts-enabled")
    flags+=("--redis-compress=")
    two_word_flags+=("--redis-compress")
    flags+=("--redis-haproxy-name=")
    two_word_flags+=("--redis-haproxy-name")
    flags+=("--redis-name=")
    two_word_flags+=("--redis-name")
    flags+=("--repo-server-name=")
    two_word_flags+=("--repo-server-name")
    flags+=("--server=")
    two_word_flags+=("--server")
    flags+=("--server-crt=")
    two_word_flags+=("--server-crt")
    flags+=("--server-name=")
    two_word_flags+=("--server-name")

    must_have_one_flag=()
    must_have_one_noun=()
    noun_aliases=()
}

__start_argocd()
{
    local cur prev words cword split
    declare -A flaghash 2>/dev/null || :
    declare -A aliashash 2>/dev/null || :
    if declare -F _init_completion >/dev/null 2>&1; then
        _init_completion -s || return
    else
        __argocd_init_completion -n "=" || return
    fi

    local c=0
    local flag_parsing_disabled=
    local flags=()
    local two_word_flags=()
    local local_nonpersistent_flags=()
    local flags_with_completion=()
    local flags_completion=()
    local commands=("argocd")
    local command_aliases=()
    local must_have_one_flag=()
    local must_have_one_noun=()
    local has_completion_function=""
    local last_command=""
    local nouns=()
    local noun_aliases=()

    __argocd_handle_word
}

if [[ $(type -t compopt) = "builtin" ]]; then
    complete -o default -F __start_argocd argocd
else
    complete -o default -o nospace -F __start_argocd argocd
fi

# ex: ts=4 sw=4 et filetype=sh
