#compdef imunify360-agent
# zsh completion for imunify360-agent
# Auto-generated by imunify360-agent completions zsh

_imunify360_agent() {
    local -a commands flags
    local cmd_path

    # Build command path from words
    cmd_path=()
    for word in ${words[2,-1]}; do
        [[ $word == -* ]] && continue
        [[ $word == "$words[$CURRENT]" ]] && continue
        cmd_path+=($word)
    done

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

_imunify360_agent
