# bash completion for imunify360-agent
# Auto-generated by imunify360-agent completions bash

_imunify360_agent_completions() {
    local cur prev words cword
    if type _init_completion &>/dev/null; then
        _init_completion || return
    else
        COMPREPLY=()
        cur="${COMP_WORDS[COMP_CWORD]}"
        prev="${COMP_WORDS[COMP_CWORD-1]}"
        words=("${COMP_WORDS[@]}")
        cword=$COMP_CWORD
    fi

    # Build the command path from words
    local cmd_path=""
    local i
    for (( i=1; i < cword; i++ )); do
        case "${words[i]}" in
            -*) continue ;;
            *)  cmd_path="${cmd_path:+${cmd_path} }${words[i]}" ;;
        esac
    done

    case "$cmd_path" in
        "config show defaults")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "feature-management native disable")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "feature-management native enable")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "feature-management native status")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "wordpress-plugin rules disable")
            COMPREPLY=($(compgen -W "--domains --json --rule --user --verbose -v" -- "$cur"))
            return ;;
        "wordpress-plugin rules enable")
            COMPREPLY=($(compgen -W "--domains --json --rule --user --verbose -v" -- "$cur"))
            return ;;
        "wordpress-plugin rules list-disabled")
            COMPREPLY=($(compgen -W "--domains --json --limit --offset --user --verbose -v" -- "$cur"))
            return ;;
        "3rdparty conflicts")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "advisor apply")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "advisor apply-all")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "analyst-cleanup get-requests")
            COMPREPLY=($(compgen -W "--json --limit --offset --username --verbose -v" -- "$cur"))
            return ;;
        "analyst-cleanup is-allowed")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "analyst-cleanup request")
            COMPREPLY=($(compgen -W "--email --json --message --username --verbose -v" -- "$cur"))
            return ;;
        "billing get-config")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "billing sync")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "config get-many")
            COMPREPLY=($(compgen -W "--json --users --verbose -v" -- "$cur"))
            return ;;
        "config patch")
            COMPREPLY=($(compgen -W "--data --json --user --verbose -v" -- "$cur"))
            return ;;
        "config patch-many")
            COMPREPLY=($(compgen -W "--data --json --users --verbose -v" -- "$cur"))
            return ;;
        "config show")
            COMPREPLY=($(compgen -W "defaults --json --user --verbose -v" -- "$cur"))
            return ;;
        "config update")
            COMPREPLY=($(compgen -W "--items --json --user --verbose -v" -- "$cur"))
            return ;;
        "eula accept")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "eula show")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "feature-management defaults")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "feature-management disable")
            COMPREPLY=($(compgen -W "--feature --json --users --verbose -v" -- "$cur"))
            return ;;
        "feature-management enable")
            COMPREPLY=($(compgen -W "--feature --json --users --verbose -v" -- "$cur"))
            return ;;
        "feature-management get")
            COMPREPLY=($(compgen -W "--json --user --verbose -v" -- "$cur"))
            return ;;
        "feature-management list")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "feature-management native")
            COMPREPLY=($(compgen -W "disable enable status" -- "$cur"))
            return ;;
        "feature-management show")
            COMPREPLY=($(compgen -W "--json --limit --offset --order-by --search --verbose -v" -- "$cur"))
            return ;;
        "hook add")
            COMPREPLY=($(compgen -W "--event --json --path --verbose -v" -- "$cur"))
            return ;;
        "hook add-native")
            COMPREPLY=($(compgen -W "--event --json --path --verbose -v" -- "$cur"))
            return ;;
        "hook delete")
            COMPREPLY=($(compgen -W "--event --json --path --verbose -v" -- "$cur"))
            return ;;
        "hook list")
            COMPREPLY=($(compgen -W "--event --json --verbose -v" -- "$cur"))
            return ;;
        "login get")
            COMPREPLY=($(compgen -W "--json --username --verbose -v" -- "$cur"))
            return ;;
        "login pam")
            COMPREPLY=($(compgen -W "--json --password --username --verbose -v" -- "$cur"))
            return ;;
        "notifications-config patch")
            COMPREPLY=($(compgen -W "--data --json --verbose -v" -- "$cur"))
            return ;;
        "notifications-config show")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "notifications-config update")
            COMPREPLY=($(compgen -W "--items --json --verbose -v" -- "$cur"))
            return ;;
        "permissions list")
            COMPREPLY=($(compgen -W "--json --user --verbose -v" -- "$cur"))
            return ;;
        "support send")
            COMPREPLY=($(compgen -W "--attachments --cln --description --email --json --subject --verbose -v" -- "$cur"))
            return ;;
        "wordpress-plugin install-and-update")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "wordpress-plugin install-on-new-sites")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "wordpress-plugin list-incidents")
            COMPREPLY=($(compgen -W "--by-abuser-ip --by-country-code --by-domain --json --limit --offset --order-by --search --since --site-search --to --user --verbose -v" -- "$cur"))
            return ;;
        "wordpress-plugin list-sites")
            COMPREPLY=($(compgen -W "--json --limit --offset --user --verbose -v" -- "$cur"))
            return ;;
        "wordpress-plugin rules")
            COMPREPLY=($(compgen -W "disable enable list-disabled" -- "$cur"))
            return ;;
        "wordpress-plugin tidy-up")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "wordpress-plugin update")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "3rdparty")
            COMPREPLY=($(compgen -W "conflicts" -- "$cur"))
            return ;;
        "add-sudouser")
            COMPREPLY=($(compgen -W "--json --user --verbose -v" -- "$cur"))
            return ;;
        "advisor")
            COMPREPLY=($(compgen -W "apply apply-all" -- "$cur"))
            return ;;
        "analyst-cleanup")
            COMPREPLY=($(compgen -W "get-requests is-allowed request" -- "$cur"))
            return ;;
        "auth-cloud")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "auth-cloud-refresh-token")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "billing")
            COMPREPLY=($(compgen -W "get-config sync" -- "$cur"))
            return ;;
        "check-domains")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "checkdb")
            COMPREPLY=($(compgen -W "--json --no-recreate-schema --recreate-schema --verbose -v" -- "$cur"))
            return ;;
        "completions")
            COMPREPLY=($(compgen -W "" -- "$cur"))
            return ;;
        "config")
            COMPREPLY=($(compgen -W "get-many patch patch-many show update" -- "$cur"))
            return ;;
        "delete-sudouser")
            COMPREPLY=($(compgen -W "--json --user --verbose -v" -- "$cur"))
            return ;;
        "disable-plugin")
            COMPREPLY=($(compgen -W "--json --plugin-name --verbose -v" -- "$cur"))
            return ;;
        "doctor")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "enable-plugin")
            COMPREPLY=($(compgen -W "--json --plugin-name --verbose -v" -- "$cur"))
            return ;;
        "eula")
            COMPREPLY=($(compgen -W "accept show" -- "$cur"))
            return ;;
        "feature-management")
            COMPREPLY=($(compgen -W "defaults disable enable get list native show" -- "$cur"))
            return ;;
        "get-news")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "get-package-versions")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "hook")
            COMPREPLY=($(compgen -W "add add-native delete list" -- "$cur"))
            return ;;
        "infected-domains")
            COMPREPLY=($(compgen -W "--json --limit --offset --verbose -v" -- "$cur"))
            return ;;
        "list-docroots")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "login")
            COMPREPLY=($(compgen -W "get pam" -- "$cur"))
            return ;;
        "notifications-config")
            COMPREPLY=($(compgen -W "patch show update" -- "$cur"))
            return ;;
        "permissions")
            COMPREPLY=($(compgen -W "list" -- "$cur"))
            return ;;
        "plesk-stats")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "register")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "rstatus")
            COMPREPLY=($(compgen -W "--json --no-paid --paid --verbose -v" -- "$cur"))
            return ;;
        "support")
            COMPREPLY=($(compgen -W "send" -- "$cur"))
            return ;;
        "unregister")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "update")
            COMPREPLY=($(compgen -W "--force --json --list --no-force --no-list --verbose --version -v" -- "$cur"))
            return ;;
        "update-license")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "version")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "wakeup")
            COMPREPLY=($(compgen -W "--json --verbose -v" -- "$cur"))
            return ;;
        "wordpress-plugin")
            COMPREPLY=($(compgen -W "install-and-update install-on-new-sites list-incidents list-sites rules tidy-up update" -- "$cur"))
            return ;;
        "")
            COMPREPLY=($(compgen -W "3rdparty add-sudouser advisor analyst-cleanup auth-cloud auth-cloud-refresh-token billing check-domains checkdb completions config delete-sudouser disable-plugin doctor enable-plugin eula feature-management get-news get-package-versions hook infected-domains list-docroots login notifications-config permissions plesk-stats register rstatus support unregister update update-license version wakeup wordpress-plugin --console-log-level --log-config --remote-addr" -- "$cur"))
            return ;;
    esac
}

complete -F _imunify360_agent_completions imunify360-agent
