pve-client
    Preparing search index...

    Class Client

    Index

    Constructors

    Properties

    api: {
        access: {
            acl: {
                read: (
                    ...args: [args?: {}],
                ) => Promise<
                    {
                        path: string;
                        propagate?: boolean;
                        roleid: string;
                        type: "group"
                        | "user"
                        | "token";
                        ugid: string;
                    }[],
                >;
                update: (
                    ...args: [
                        args: {
                            $body: {
                                delete?: boolean;
                                groups?: string;
                                path: string;
                                propagate?: boolean;
                                roles: string;
                                tokens?: string;
                                users?: string;
                            };
                        },
                    ],
                ) => Promise<unknown>;
            };
            domains: {
                create: (
                    ...args: [
                        args: {
                            $body: {
                                "acr-values"?: string;
                                autocreate?: boolean;
                                base_dn?: string;
                                bind_dn?: string;
                                capath?: string;
                                "case-sensitive"?: boolean;
                                cert?: string;
                                certkey?: string;
                                "check-connection"?: boolean;
                                "client-id"?: string;
                                "client-key"?: string;
                                comment?: string;
                                default?: boolean;
                                domain?: string;
                                filter?: string;
                                group_classes?: string;
                                group_dn?: string;
                                group_filter?: string;
                                group_name_attr?: string;
                                "groups-autocreate"?: boolean;
                                "groups-claim"?: string;
                                "groups-overwrite"?: boolean;
                                "issuer-url"?: string;
                                mode?: "ldap"
                                | "ldaps"
                                | "ldap+starttls";
                                password?: string;
                                port?: number;
                                prompt?: string;
                                "query-userinfo"?: boolean;
                                realm: string;
                                scopes?: string;
                                secure?: boolean;
                                server1?: string;
                                server2?: string;
                                sslversion?: "tlsv1" | "tlsv1_1" | "tlsv1_2" | "tlsv1_3";
                                sync_attributes?: string;
                                "sync-defaults-options"?: string;
                                tfa?: string;
                                type: "ad" | "pve" | "ldap" | "openid" | "pam";
                                user_attr?: string;
                                user_classes?: string;
                                "username-claim"?: string;
                                verify?: boolean;
                            };
                        },
                    ],
                ) => Promise<unknown>;
                index: (
                    ...args: [args?: {}],
                ) => Promise<
                    {
                        comment?: string;
                        realm: string;
                        tfa?: "yubico"
                        | "oath";
                        type: string;
                    }[],
                >;
                realm: (
                    value: string,
                ) => {
                    delete: (
                        ...args: [args?: PathContext<{ $path: { realm: ... } }>],
                    ) => Promise<unknown>;
                    read: (
                        ...args: [args?: PathContext<{ $path: { realm: ... } }>],
                    ) => Promise<unknown>;
                    sync: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        "dry-run"?: (...)
                                        | (...)
                                        | (...);
                                        "enable-new"?: (...) | (...) | (...);
                                        full?: (...) | (...) | (...);
                                        purge?: (...) | (...) | (...);
                                        "remove-vanished"?: (...) | (...);
                                        scope?: (...) | (...) | (...) | (...);
                                    };
                                    $path: { realm: string };
                                },
                            >,
                        ],
                    ) => Promise<string>;
                    update: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        "acr-values"?: (...)
                                        | (...);
                                        autocreate?: (...) | (...) | (...);
                                        base_dn?: (...) | (...);
                                        bind_dn?: (...) | (...);
                                        capath?: (...) | (...);
                                        "case-sensitive"?: (...) | (...) | (...);
                                        cert?: (...) | (...);
                                        certkey?: (...) | (...);
                                        "check-connection"?: (...) | (...) | (...);
                                        "client-id"?: (...) | (...);
                                        "client-key"?: (...) | (...);
                                        comment?: (...) | (...);
                                        default?: (...) | (...) | (...);
                                        delete?: (...) | (...);
                                        digest?: (...) | (...);
                                        domain?: (...) | (...);
                                        filter?: (...) | (...);
                                        group_classes?: (...) | (...);
                                        group_dn?: (...) | (...);
                                        group_filter?: (...) | (...);
                                        group_name_attr?: (...) | (...);
                                        "groups-autocreate"?: (...) | (...) | (...);
                                        "groups-claim"?: (...) | (...);
                                        "groups-overwrite"?: (...) | (...) | (...);
                                        "issuer-url"?: (...) | (...);
                                        mode?: (...) | (...) | (...) | (...);
                                        password?: (...) | (...);
                                        port?: (...) | (...);
                                        prompt?: (...) | (...);
                                        "query-userinfo"?: (...) | (...) | (...);
                                        scopes?: (...) | (...);
                                        secure?: (...) | (...) | (...);
                                        server1?: (...) | (...);
                                        server2?: (...) | (...);
                                        sslversion?: (...) | (...) | (...) | (...) | (...);
                                        sync_attributes?: (...) | (...);
                                        "sync-defaults-options"?: (...) | (...);
                                        tfa?: (...) | (...);
                                        user_attr?: (...) | (...);
                                        user_classes?: (...) | (...);
                                        verify?: (...) | (...) | (...);
                                    };
                                    $path: { realm: string };
                                },
                            >,
                        ],
                    ) => Promise<unknown>;
                };
            };
            groups: {
                create_group: (
                    ...args: [args: { $body: { comment?: string; groupid: string } }],
                ) => Promise<unknown>;
                id: (
                    value: string | number,
                ) => {
                    delete: (
                        ...args: [args?: PathContext<{ $path: { groupid: ... } }>],
                    ) => Promise<unknown>;
                    read: (
                        ...args: [args?: PathContext<{ $path: { groupid: ... } }>],
                    ) => Promise<{ comment?: string; members: string[] }>;
                    update: (
                        ...args: [
                            args: PathContext<
                                { $body: { comment?: (...)
                                | (...) }; $path: { groupid: string } },
                            >,
                        ],
                    ) => Promise<unknown>;
                };
                index: (
                    ...args: [args?: {}],
                ) => Promise<{ comment?: string; groupid: string; users?: string }[]>;
            };
            index: (...args: [args?: {}]) => Promise<{ subdir: string }[]>;
            openid: {
                auth_url: (
                    ...args: [args: { $body: { realm: string; "redirect-url": string } }],
                ) => Promise<string>;
                index: (...args: [args?: {}]) => Promise<{ subdir: string }[]>;
                login: (
                    ...args: [
                        args: {
                            $body: { code: string; "redirect-url": string; state: string };
                        },
                    ],
                ) => Promise<
                    {
                        cap: Record<string, unknown>;
                        clustername?: string;
                        CSRFPreventionToken: string;
                        ticket: string;
                        username: string;
                    },
                >;
            };
            password: {
                change_password: (
                    ...args: [
                        args: {
                            $body: {
                                "confirmation-password"?: string;
                                password: string;
                                userid: string;
                            };
                        },
                    ],
                ) => Promise<unknown>;
            };
            permissions: (
                ...args: [args: { $query?: { path?: string; userid?: string } }],
            ) => Promise<Record<string, unknown>>;
            roles: {
                create_role: (
                    ...args: [args: { $body: { privs?: string; roleid: string } }],
                ) => Promise<unknown>;
                index: (
                    ...args: [args?: {}],
                ) => Promise<{ privs?: string; roleid: string; special?: boolean }[]>;
                role: (
                    value: string | number,
                ) => {
                    delete: (
                        ...args: [args?: PathContext<{ $path: { roleid: ... } }>],
                    ) => Promise<unknown>;
                    read: (
                        ...args: [args?: PathContext<{ $path: { roleid: ... } }>],
                    ) => Promise<
                        {
                            "Datastore.Allocate"?: boolean;
                            "Datastore.AllocateSpace"?: boolean;
                            "Datastore.AllocateTemplate"?: boolean;
                            "Datastore.Audit"?: boolean;
                            "Group.Allocate"?: boolean;
                            "Mapping.Audit"?: boolean;
                            "Mapping.Modify"?: boolean;
                            "Mapping.Use"?: boolean;
                            "Permissions.Modify"?: boolean;
                            "Pool.Allocate"?: boolean;
                            "Pool.Audit"?: boolean;
                            "Realm.Allocate"?: boolean;
                            "Realm.AllocateUser"?: boolean;
                            "SDN.Allocate"?: boolean;
                            "SDN.Audit"?: boolean;
                            "SDN.Use"?: boolean;
                            "Sys.AccessNetwork"?: boolean;
                            "Sys.Audit"?: boolean;
                            "Sys.Console"?: boolean;
                            "Sys.Incoming"?: boolean;
                            "Sys.Modify"?: boolean;
                            "Sys.PowerMgmt"?: boolean;
                            "Sys.Syslog"?: boolean;
                            "User.Modify"?: boolean;
                            "VM.Allocate"?: boolean;
                            "VM.Audit"?: boolean;
                            "VM.Backup"?: boolean;
                            "VM.Clone"?: boolean;
                            "VM.Config.CDROM"?: boolean;
                            "VM.Config.Cloudinit"?: boolean;
                            "VM.Config.CPU"?: boolean;
                            "VM.Config.Disk"?: boolean;
                            "VM.Config.HWType"?: boolean;
                            "VM.Config.Memory"?: boolean;
                            "VM.Config.Network"?: boolean;
                            "VM.Config.Options"?: boolean;
                            "VM.Console"?: boolean;
                            "VM.GuestAgent.Audit"?: boolean;
                            "VM.GuestAgent.FileRead"?: boolean;
                            "VM.GuestAgent.FileSystemMgmt"?: boolean;
                            "VM.GuestAgent.FileWrite"?: boolean;
                            "VM.GuestAgent.Unrestricted"?: boolean;
                            "VM.Migrate"?: boolean;
                            "VM.PowerMgmt"?: boolean;
                            "VM.Replicate"?: boolean;
                            "VM.Snapshot"?: boolean;
                            "VM.Snapshot.Rollback"?: boolean;
                        },
                    >;
                    update: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: { append?: (...)
                                    | (...)
                                    | (...); privs?: (...) | (...) };
                                    $path: { roleid: string };
                                },
                            >,
                        ],
                    ) => Promise<unknown>;
                };
            };
            tfa: {
                list: (
                    ...args: [args?: {}],
                ) => Promise<
                    {
                        entries: {
                            created: number;
                            description: string;
                            enable?: boolean;
                            id: string;
                            type: "yubico"
                            | "totp"
                            | "u2f"
                            | "webauthn"
                            | "recovery";
                        }[];
                        "tfa-locked-until"?: number;
                        "totp-locked"?: boolean;
                        userid: string;
                    }[],
                >;
                user: (
                    userid: string | number,
                ) => {
                    add_tfa_entry: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        challenge?: (...)
                                        | (...);
                                        description?: (...) | (...);
                                        password?: (...) | (...);
                                        totp?: (...) | (...);
                                        type: (...) | (...) | (...) | (...) | (...);
                                        value?: (...) | (...);
                                    };
                                    $path: { userid: string };
                                },
                            >,
                        ],
                    ) => Promise<{ challenge?: string; id: string; recovery?: string[] }>;
                    id: (
                        value: string | number,
                    ) => {
                        delete: (
                            ...args: [args: PathContext<{ $path: ...; $query?: ... }>],
                        ) => Promise<unknown>;
                        get: (
                            ...args: [args?: PathContext<(...)>],
                        ) => Promise<
                            {
                                created: number;
                                description: string;
                                enable?: (...)
                                | (...)
                                | (...);
                                id: string;
                                type: (...) | (...) | (...) | (...) | (...);
                            },
                        >;
                        update: (
                            ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                        ) => Promise<unknown>;
                    };
                    list_user_tfa: (
                        ...args: [args?: PathContext<{ $path: { userid: ... } }>],
                    ) => Promise<
                        {
                            created: number;
                            description: string;
                            enable?: boolean;
                            id: string;
                            type: "yubico"
                            | "totp"
                            | "u2f"
                            | "webauthn"
                            | "recovery";
                        }[],
                    >;
                };
            };
            ticket: {
                create: (
                    ...args: [
                        args: {
                            $body: {
                                "new-format"?: boolean;
                                otp?: string;
                                password: string;
                                path?: string;
                                privs?: string;
                                realm?: string;
                                "tfa-challenge"?: string;
                                username: string;
                            };
                        },
                    ],
                ) => Promise<
                    {
                        clustername?: string;
                        CSRFPreventionToken?: string;
                        ticket?: string;
                        username: string;
                    },
                >;
                get: (...args: [args?: {}]) => Promise<unknown>;
            };
            users: {
                create: (
                    ...args: [
                        args: {
                            $body: {
                                comment?: string;
                                email?: string;
                                enable?: boolean;
                                expire?: number;
                                firstname?: string;
                                groups?: string;
                                keys?: string;
                                lastname?: string;
                                password?: string;
                                userid: string;
                            };
                        },
                    ],
                ) => Promise<unknown>;
                index: (
                    ...args: [args: { $query?: { enabled?: boolean; full?: boolean } }],
                ) => Promise<
                    {
                        comment?: string;
                        email?: string;
                        enable?: boolean;
                        expire?: number;
                        firstname?: string;
                        groups?: string;
                        keys?: string;
                        lastname?: string;
                        "realm-type"?: string;
                        "tfa-locked-until"?: number;
                        tokens?: {
                            comment?: (...)
                            | (...);
                            expire?: (...) | (...);
                            privsep?: (...) | (...) | (...);
                            tokenid: string;
                        }[];
                        "totp-locked"?: boolean;
                        userid: string;
                    }[],
                >;
                user: (
                    user_id: string | number,
                ) => {
                    delete: (
                        ...args: [args?: PathContext<{ $path: { userid: ... } }>],
                    ) => Promise<unknown>;
                    read: (
                        ...args: [args?: PathContext<{ $path: { userid: ... } }>],
                    ) => Promise<
                        {
                            comment?: string;
                            email?: string;
                            enable?: boolean;
                            expire?: number;
                            firstname?: string;
                            groups?: string[];
                            keys?: string;
                            lastname?: string;
                            tokens?: Record<
                                string,
                                { comment?: ...; expire?: ...; privsep?: ... },
                            >;
                        },
                    >;
                    tfa: {
                        read_user_tfa_type: (
                            ...args: [
                                args: PathContext<
                                    { $path: { userid: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<
                            {
                                realm?: "yubico"
                                | "oath";
                                types?: "yubico" | "totp" | "u2f" | "webauthn" | (...)[];
                                user?: "oath" | "u2f";
                            },
                        >;
                    };
                    token: {
                        id: (
                            value: string | number,
                        ) => {
                            generate: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ "full-tokenid": ...; info: ...; value: ... }>;
                            read: (
                                ...args: [args?: (...) | (...)],
                            ) => Promise<{ comment?: ...; expire?: ...; privsep?: ... }>;
                            remove: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                            update_info: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ comment?: ...; expire?: ...; privsep?: ... }>;
                        };
                        token_index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                comment?: (...)
                                | (...);
                                expire?: (...) | (...);
                                privsep?: (...) | (...) | (...);
                                tokenid: string;
                            }[],
                        >;
                    };
                    unlock_tfa: (
                        ...args: [args?: PathContext<{ $path: { userid: ... } }>],
                    ) => Promise<boolean>;
                    update: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        append?: (...)
                                        | (...)
                                        | (...);
                                        comment?: (...) | (...);
                                        email?: (...) | (...);
                                        enable?: (...) | (...) | (...);
                                        expire?: (...) | (...);
                                        firstname?: (...) | (...);
                                        groups?: (...) | (...);
                                        keys?: (...) | (...);
                                        lastname?: (...) | (...);
                                    };
                                    $path: { userid: string };
                                },
                            >,
                        ],
                    ) => Promise<unknown>;
                };
            };
            vncticket: {
                verify_vnc_ticket: (
                    ...args: [
                        args: {
                            $body: {
                                authid: string;
                                path: string;
                                privs: string;
                                vncticket: string;
                            };
                        },
                    ],
                ) => Promise<unknown>;
            };
        };
        cluster: {
            acme: {
                account: {
                    index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                    name: (
                        value: string,
                    ) => {
                        deactivate: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<string>;
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                account?: Record<(...), (...)>;
                                directory?: string;
                                location?: string;
                                tos?: string;
                            },
                        >;
                        update: (
                            ...args: [
                                args: PathContext<
                                    { $body: { contact?: ... }; $path: { name: ... } },
                                >,
                            ],
                        ) => Promise<string>;
                    };
                    register_account: (
                        ...args: [
                            args: {
                                $body: {
                                    contact: string;
                                    directory?: string;
                                    "eab-hmac-key"?: string;
                                    "eab-kid"?: string;
                                    name?: string;
                                    tos_url?: string;
                                };
                            },
                        ],
                    ) => Promise<string>;
                };
                challenges_chema: (
                    ...args: [args?: {}],
                ) => Promise<
                    {
                        id: string;
                        name: string;
                        schema: Record<string, unknown>;
                        type: string;
                    }[],
                >;
                directories: (
                    ...args: [args?: {}],
                ) => Promise<{ name: string; url: string }[]>;
                index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                meta: (
                    ...args: [args: { $query?: { directory?: string } }],
                ) => Promise<
                    {
                        caaIdentities?: string[];
                        externalAccountRequired?: boolean;
                        termsOfService?: string;
                        website?: string;
                    },
                >;
                plugins: {
                    add: (
                        ...args: [
                            args: {
                                $body: {
                                    api?: | "1984hosting"
                                    | "acmedns"
                                    | "acmeproxy"
                                    | "active24"
                                    | "ad"
                                    | "ali"
                                    | "alviy"
                                    | "anx"
                                    | "artfiles"
                                    | "arvan"
                                    | "aurora"
                                    | "autodns"
                                    | "aws"
                                    | "azion"
                                    | "azure"
                                    | "beget"
                                    | "bookmyname"
                                    | "bunny"
                                    | "cf"
                                    | "clouddns"
                                    | "cloudns"
                                    | "cn"
                                    | "conoha"
                                    | "constellix"
                                    | "cpanel"
                                    | "curanet"
                                    | "cyon"
                                    | "da"
                                    | "ddnss"
                                    | "desec"
                                    | "df"
                                    | "dgon"
                                    | "dnsexit"
                                    | "dnshome"
                                    | "dnsimple"
                                    | "dnsservices"
                                    | "doapi"
                                    | "domeneshop"
                                    | "dp"
                                    | "dpi"
                                    | "dreamhost"
                                    | "duckdns"
                                    | "durabledns"
                                    | "dyn"
                                    | "dynu"
                                    | "dynv6"
                                    | "easydns"
                                    | "edgecenter"
                                    | "edgedns"
                                    | "euserv"
                                    | "exoscale"
                                    | "fornex"
                                    | "freedns"
                                    | "freemyip"
                                    | "gandi_livedns"
                                    | "gcloud"
                                    | "gcore"
                                    | "gd"
                                    | "geoscaling"
                                    | "googledomains"
                                    | "he"
                                    | "he_ddns"
                                    | "hetzner"
                                    | "hexonet"
                                    | "hostingde"
                                    | "huaweicloud"
                                    | "infoblox"
                                    | "infomaniak"
                                    | "internetbs"
                                    | "inwx"
                                    | "ionos"
                                    | "ionos_cloud"
                                    | "ipv64"
                                    | "ispconfig"
                                    | "jd"
                                    | "joker"
                                    | "kappernet"
                                    | "kas"
                                    | "kinghost"
                                    | "knot"
                                    | "la"
                                    | "leaseweb"
                                    | "lexicon"
                                    | "limacity"
                                    | "linode"
                                    | "linode_v4"
                                    | "loopia"
                                    | "lua"
                                    | "maradns"
                                    | "me"
                                    | "miab"
                                    | "mijnhost"
                                    | "misaka"
                                    | "myapi"
                                    | "mydevil"
                                    | "mydnsjp"
                                    | "mythic_beasts"
                                    | "namecheap"
                                    | "namecom"
                                    | "namesilo"
                                    | "nanelo"
                                    | "nederhost"
                                    | "neodigit"
                                    | "netcup"
                                    | "netlify"
                                    | "nic"
                                    | "njalla"
                                    | "nm"
                                    | "nsd"
                                    | "nsone"
                                    | "nsupdate"
                                    | "nw"
                                    | "oci"
                                    | "omglol"
                                    | "one"
                                    | "online"
                                    | "openprovider"
                                    | "openstack"
                                    | "opnsense"
                                    | "ovh"
                                    | "pdns"
                                    | "pleskxml"
                                    | "pointhq"
                                    | "porkbun"
                                    | "rackcorp"
                                    | "rackspace"
                                    | "rage4"
                                    | "rcode0"
                                    | "regru"
                                    | "scaleway"
                                    | "schlundtech"
                                    | "selectel"
                                    | "selfhost"
                                    | "servercow"
                                    | "simply"
                                    | "technitium"
                                    | "tele3"
                                    | "tencent"
                                    | "timeweb"
                                    | "transip"
                                    | "udr"
                                    | "ultra"
                                    | "unoeuro"
                                    | "variomedia"
                                    | "veesp"
                                    | "vercel"
                                    | "vscale"
                                    | "vultr"
                                    | "websupport"
                                    | "west_cn"
                                    | "world4you"
                                    | "yandex360"
                                    | "yc"
                                    | "zilore"
                                    | "zone"
                                    | "zoneedit"
                                    | "zonomi";
                                    data?: string;
                                    disable?: boolean;
                                    id: string;
                                    nodes?: string;
                                    type: "dns"
                                    | "standalone";
                                    "validation-delay"?: number;
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    id: (
                        value: string | number,
                    ) => {
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        get_config: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                api?: | "1984hosting"
                                | "acmedns"
                                | "acmeproxy"
                                | "active24"
                                | "ad"
                                | "ali"
                                | "alviy"
                                | "anx"
                                | "artfiles"
                                | "arvan"
                                | "aurora"
                                | "autodns"
                                | "aws"
                                | "azion"
                                | "azure"
                                | "beget"
                                | "bookmyname"
                                | "bunny"
                                | "cf"
                                | "clouddns"
                                | "cloudns"
                                | "cn"
                                | "conoha"
                                | "constellix"
                                | "cpanel"
                                | "curanet"
                                | "cyon"
                                | "da"
                                | "ddnss"
                                | "desec"
                                | "df"
                                | "dgon"
                                | "dnsexit"
                                | "dnshome"
                                | "dnsimple"
                                | "dnsservices"
                                | "doapi"
                                | "domeneshop"
                                | "dp"
                                | "dpi"
                                | "dreamhost"
                                | "duckdns"
                                | "durabledns"
                                | "dyn"
                                | "dynu"
                                | "dynv6"
                                | "easydns"
                                | "edgecenter"
                                | "edgedns"
                                | "euserv"
                                | "exoscale"
                                | "fornex"
                                | "freedns"
                                | "freemyip"
                                | "gandi_livedns"
                                | "gcloud"
                                | "gcore"
                                | "gd"
                                | "geoscaling"
                                | "googledomains"
                                | "he"
                                | "he_ddns"
                                | "hetzner"
                                | "hexonet"
                                | "hostingde"
                                | "huaweicloud"
                                | "infoblox"
                                | "infomaniak"
                                | "internetbs"
                                | "inwx"
                                | "ionos"
                                | "ionos_cloud"
                                | "ipv64"
                                | "ispconfig"
                                | "jd"
                                | "joker"
                                | "kappernet"
                                | "kas"
                                | "kinghost"
                                | "knot"
                                | "la"
                                | "leaseweb"
                                | "lexicon"
                                | "limacity"
                                | "linode"
                                | "linode_v4"
                                | "loopia"
                                | "lua"
                                | "maradns"
                                | "me"
                                | "miab"
                                | "mijnhost"
                                | "misaka"
                                | "myapi"
                                | "mydevil"
                                | "mydnsjp"
                                | "mythic_beasts"
                                | "namecheap"
                                | "namecom"
                                | "namesilo"
                                | "nanelo"
                                | "nederhost"
                                | "neodigit"
                                | "netcup"
                                | "netlify"
                                | "nic"
                                | "njalla"
                                | "nm"
                                | "nsd"
                                | "nsone"
                                | "nsupdate"
                                | "nw"
                                | "oci"
                                | "omglol"
                                | "one"
                                | "online"
                                | "openprovider"
                                | "openstack"
                                | "opnsense"
                                | "ovh"
                                | "pdns"
                                | "pleskxml"
                                | "pointhq"
                                | "porkbun"
                                | "rackcorp"
                                | "rackspace"
                                | "rage4"
                                | "rcode0"
                                | "regru"
                                | "scaleway"
                                | "schlundtech"
                                | "selectel"
                                | "selfhost"
                                | "servercow"
                                | "simply"
                                | "technitium"
                                | "tele3"
                                | "tencent"
                                | "timeweb"
                                | "transip"
                                | "udr"
                                | "ultra"
                                | "unoeuro"
                                | "variomedia"
                                | "veesp"
                                | "vercel"
                                | "vscale"
                                | "vultr"
                                | "websupport"
                                | "west_cn"
                                | "world4you"
                                | "yandex360"
                                | "yc"
                                | "zilore"
                                | "zone"
                                | "zoneedit"
                                | "zonomi";
                                data?: string;
                                digest?: string;
                                disable?: boolean;
                                nodes?: string;
                                plugin: string;
                                type: "dns"
                                | "standalone";
                                "validation-delay"?: number;
                            },
                        >;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            api?: ...;
                                            data?: ...;
                                            delete?: ...;
                                            digest?: ...;
                                            disable?: ...;
                                            nodes?: ...;
                                            "validation-delay"?: ...;
                                        };
                                        $path: { id: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    index: (
                        ...args: [args: { $query?: { type?: "dns" | "standalone" } }],
                    ) => Promise<
                        {
                            api?: | "1984hosting"
                            | "acmedns"
                            | "acmeproxy"
                            | "active24"
                            | "ad"
                            | "ali"
                            | "alviy"
                            | "anx"
                            | "artfiles"
                            | "arvan"
                            | "aurora"
                            | "autodns"
                            | "aws"
                            | "azion"
                            | "azure"
                            | "beget"
                            | "bookmyname"
                            | "bunny"
                            | "cf"
                            | "clouddns"
                            | "cloudns"
                            | "cn"
                            | "conoha"
                            | "constellix"
                            | "cpanel"
                            | "curanet"
                            | "cyon"
                            | "da"
                            | "ddnss"
                            | "desec"
                            | "df"
                            | "dgon"
                            | "dnsexit"
                            | "dnshome"
                            | "dnsimple"
                            | "dnsservices"
                            | "doapi"
                            | "domeneshop"
                            | "dp"
                            | "dpi"
                            | "dreamhost"
                            | "duckdns"
                            | "durabledns"
                            | "dyn"
                            | "dynu"
                            | "dynv6"
                            | "easydns"
                            | "edgecenter"
                            | "edgedns"
                            | "euserv"
                            | "exoscale"
                            | "fornex"
                            | "freedns"
                            | "freemyip"
                            | "gandi_livedns"
                            | "gcloud"
                            | "gcore"
                            | "gd"
                            | "geoscaling"
                            | "googledomains"
                            | "he"
                            | "he_ddns"
                            | "hetzner"
                            | "hexonet"
                            | "hostingde"
                            | "huaweicloud"
                            | "infoblox"
                            | "infomaniak"
                            | "internetbs"
                            | "inwx"
                            | "ionos"
                            | "ionos_cloud"
                            | "ipv64"
                            | "ispconfig"
                            | "jd"
                            | "joker"
                            | "kappernet"
                            | "kas"
                            | "kinghost"
                            | "knot"
                            | "la"
                            | "leaseweb"
                            | "lexicon"
                            | "limacity"
                            | "linode"
                            | "linode_v4"
                            | "loopia"
                            | "lua"
                            | "maradns"
                            | "me"
                            | "miab"
                            | "mijnhost"
                            | "misaka"
                            | "myapi"
                            | "mydevil"
                            | "mydnsjp"
                            | "mythic_beasts"
                            | "namecheap"
                            | "namecom"
                            | "namesilo"
                            | "nanelo"
                            | "nederhost"
                            | "neodigit"
                            | "netcup"
                            | "netlify"
                            | "nic"
                            | "njalla"
                            | "nm"
                            | "nsd"
                            | "nsone"
                            | "nsupdate"
                            | "nw"
                            | "oci"
                            | "omglol"
                            | "one"
                            | "online"
                            | "openprovider"
                            | "openstack"
                            | "opnsense"
                            | "ovh"
                            | "pdns"
                            | "pleskxml"
                            | "pointhq"
                            | "porkbun"
                            | "rackcorp"
                            | "rackspace"
                            | "rage4"
                            | "rcode0"
                            | "regru"
                            | "scaleway"
                            | "schlundtech"
                            | "selectel"
                            | "selfhost"
                            | "servercow"
                            | "simply"
                            | "technitium"
                            | "tele3"
                            | "tencent"
                            | "timeweb"
                            | "transip"
                            | "udr"
                            | "ultra"
                            | "unoeuro"
                            | "variomedia"
                            | "veesp"
                            | "vercel"
                            | "vscale"
                            | "vultr"
                            | "websupport"
                            | "west_cn"
                            | "world4you"
                            | "yandex360"
                            | "yc"
                            | "zilore"
                            | "zone"
                            | "zoneedit"
                            | "zonomi";
                            data?: string;
                            digest?: string;
                            disable?: boolean;
                            nodes?: string;
                            plugin: string;
                            type: "dns"
                            | "standalone";
                            "validation-delay"?: number;
                        }[],
                    >;
                };
                tos: (
                    ...args: [args: { $query?: { directory?: string } }],
                ) => Promise<string>;
            };
            backup: {
                create_job: (
                    ...args: [
                        args: {
                            $body: {
                                all?: boolean;
                                bwlimit?: number;
                                comment?: string;
                                compress?: "0"
                                | "1"
                                | "gzip"
                                | "lzo"
                                | "zstd";
                                dow?: string;
                                dumpdir?: string;
                                enabled?: boolean;
                                exclude?: string;
                                "exclude-path"?: string[];
                                fleecing?: string;
                                id?: string;
                                ionice?: number;
                                lockwait?: number;
                                mailnotification?: "always" | "failure";
                                mailto?: string;
                                maxfiles?: number;
                                mode?: "snapshot" | "suspend" | "stop";
                                node?: string;
                                "notes-template"?: string;
                                "notification-mode"?:
                                    | "auto"
                                    | "legacy-sendmail"
                                    | "notification-system";
                                "pbs-change-detection-mode"?: "legacy"
                                | "data"
                                | "metadata";
                                performance?: string;
                                pigz?: number;
                                pool?: string;
                                protected?: boolean;
                                "prune-backups"?: string;
                                quiet?: boolean;
                                remove?: boolean;
                                "repeat-missed"?: boolean;
                                schedule?: string;
                                script?: string;
                                starttime?: string;
                                stdexcludes?: boolean;
                                stop?: boolean;
                                stopwait?: number;
                                storage?: string;
                                tmpdir?: string;
                                vmid?: string;
                                zstd?: number;
                            };
                        },
                    ],
                ) => Promise<unknown>;
                index: (...args: [args?: {}]) => Promise<{ id: string }[]>;
                job: (
                    value: string | number,
                ) => {
                    delete: (
                        ...args: [args?: PathContext<{ $path: { id: ... } }>],
                    ) => Promise<unknown>;
                    included_volumes: (
                        ...args: [args?: PathContext<{ $path: { id: ... } }>],
                    ) => Promise<
                        {
                            children: {
                                children?: (...)
                                | (...);
                                id: number;
                                name?: (...) | (...);
                                type: (...) | (...) | (...);
                            }[];
                        },
                    >;
                    read: (
                        ...args: [args?: PathContext<{ $path: { id: ... } }>],
                    ) => Promise<Record<string, unknown>>;
                    update: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        all?: (...)
                                        | (...)
                                        | (...);
                                        bwlimit?: (...) | (...);
                                        comment?: (...) | (...);
                                        compress?: (...) | (...) | (...) | (...) | (...) | (...);
                                        delete?: (...) | (...);
                                        dow?: (...) | (...);
                                        dumpdir?: (...) | (...);
                                        enabled?: (...) | (...) | (...);
                                        exclude?: (...) | (...);
                                        "exclude-path"?: (...) | (...);
                                        fleecing?: (...) | (...);
                                        ionice?: (...) | (...);
                                        lockwait?: (...) | (...);
                                        mailnotification?: (...) | (...) | (...);
                                        mailto?: (...) | (...);
                                        maxfiles?: (...) | (...);
                                        mode?: (...) | (...) | (...) | (...);
                                        node?: (...) | (...);
                                        "notes-template"?: (...) | (...);
                                        "notification-mode"?: (...) | (...) | (...) | (...);
                                        "pbs-change-detection-mode"?: (...) | (...) | (...) | (...);
                                        performance?: (...) | (...);
                                        pigz?: (...) | (...);
                                        pool?: (...) | (...);
                                        protected?: (...) | (...) | (...);
                                        "prune-backups"?: (...) | (...);
                                        quiet?: (...) | (...) | (...);
                                        remove?: (...) | (...) | (...);
                                        "repeat-missed"?: (...) | (...) | (...);
                                        schedule?: (...) | (...);
                                        script?: (...) | (...);
                                        starttime?: (...) | (...);
                                        stdexcludes?: (...) | (...) | (...);
                                        stop?: (...) | (...) | (...);
                                        stopwait?: (...) | (...);
                                        storage?: (...) | (...);
                                        tmpdir?: (...) | (...);
                                        vmid?: (...) | (...);
                                        zstd?: (...) | (...);
                                    };
                                    $path: { id: string };
                                },
                            >,
                        ],
                    ) => Promise<unknown>;
                };
            };
            backup_info: {
                index: (...args: [args?: {}]) => Promise<{ subdir: string }[]>;
                not_backed_up: {
                    get_guests_not_in_backup: (
                        ...args: [args?: {}],
                    ) => Promise<{ name?: string; type: "qemu" | "lxc"; vmid: number }[]>;
                };
            };
            bulk_action: {
                guest: {
                    index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                    migrate: (
                        ...args: [
                            args: {
                                $body: {
                                    maxworkers?: number;
                                    online?: boolean;
                                    target: string;
                                    vms?: number[];
                                    "with-local-disks"?: boolean;
                                };
                            },
                        ],
                    ) => Promise<string>;
                    shutdown: (
                        ...args: [
                            args: {
                                $body: {
                                    "force-stop"?: boolean;
                                    maxworkers?: number;
                                    timeout?: number;
                                    vms?: number[];
                                };
                            },
                        ],
                    ) => Promise<string>;
                    start: (
                        ...args: [
                            args: {
                                $body: { maxworkers?: number; timeout?: number; vms?: number[] };
                            },
                        ],
                    ) => Promise<string>;
                    suspend: (
                        ...args: [
                            args: {
                                $body: {
                                    maxworkers?: number;
                                    statestorage?: string;
                                    "to-disk"?: boolean;
                                    vms?: number[];
                                };
                            },
                        ],
                    ) => Promise<string>;
                };
                index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
            };
            ceph: {
                flags: {
                    flag: (
                        value:
                            | "nobackfill"
                            | "nodeep-scrub"
                            | "nodown"
                            | "noin"
                            | "noout"
                            | "norebalance"
                            | "norecover"
                            | "noscrub"
                            | "notieragent"
                            | "noup"
                            | "pause",
                    ) => {
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<boolean>;
                        update: (
                            ...args: [
                                args: PathContext<{ $body: { value: ... }; $path: { flag: ... } }>,
                            ],
                        ) => Promise<unknown>;
                    };
                    get_all: (
                        ...args: [args?: {}],
                    ) => Promise<
                        {
                            description: string;
                            name: | "nobackfill"
                            | "nodeep-scrub"
                            | "nodown"
                            | "noin"
                            | "noout"
                            | "norebalance"
                            | "norecover"
                            | "noscrub"
                            | "notieragent"
                            | "noup"
                            | "pause";
                            value: boolean;
                        }[],
                    >;
                    set: (
                        ...args: [
                            args: {
                                $body: {
                                    nobackfill?: boolean;
                                    "nodeep-scrub"?: boolean;
                                    nodown?: boolean;
                                    noin?: boolean;
                                    noout?: boolean;
                                    norebalance?: boolean;
                                    norecover?: boolean;
                                    noscrub?: boolean;
                                    notieragent?: boolean;
                                    noup?: boolean;
                                    pause?: boolean;
                                };
                            },
                        ],
                    ) => Promise<string>;
                };
                index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                metadata: (
                    ...args: [args: { $query?: { scope?: "all" | "versions" } }],
                ) => Promise<
                    {
                        mds: {
                            "{id}": {
                                addr: string;
                                ceph_release: string;
                                ceph_version: string;
                                ceph_version_short: string;
                                hostname: string;
                                mem_swap_kb: number;
                                mem_total_kb: number;
                                name: string;
                            };
                        };
                        mgr: {
                            "{id}": {
                                addr: string;
                                ceph_release: string;
                                ceph_version: string;
                                ceph_version_short: string;
                                hostname: string;
                                mem_swap_kb: number;
                                mem_total_kb: number;
                                name: string;
                            };
                        };
                        mon: {
                            "{id}": {
                                addrs: string;
                                ceph_release: string;
                                ceph_version: string;
                                ceph_version_short: string;
                                hostname: string;
                                mem_swap_kb: number;
                                mem_total_kb: number;
                                name: string;
                            };
                        };
                        node: {
                            "{node}": {
                                buildcommit: string;
                                version: { parts: unknown[]; str: string };
                            };
                        };
                        osd: unknown[];
                    },
                >;
                status: (...args: [args?: {}]) => Promise<Record<string, unknown>>;
            };
            config: {
                apiversion: {
                    join_api_version: (...args: [args?: {}]) => Promise<number>;
                };
                create: (
                    ...args: [
                        args: {
                            $body: {
                                clustername: string;
                                "link[n]"?: string;
                                nodeid?: number;
                                votes?: number;
                            };
                        },
                    ],
                ) => Promise<string>;
                index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                join: {
                    info: (
                        ...args: [args: { $query?: { node?: string } }],
                    ) => Promise<
                        {
                            config_digest: string;
                            nodelist: {
                                name: string;
                                nodeid?: number;
                                pve_addr: string;
                                pve_fp: string;
                                quorum_votes: number;
                                ring0_addr?: string;
                            }[];
                            preferred_node: string;
                            totem: Record<string, unknown>;
                        },
                    >;
                    join: (
                        ...args: [
                            args: {
                                $body: {
                                    fingerprint: string;
                                    force?: boolean;
                                    hostname: string;
                                    "link[n]"?: string;
                                    nodeid?: number;
                                    password: string;
                                    votes?: number;
                                };
                            },
                        ],
                    ) => Promise<string>;
                };
                nodes: {
                    node: (
                        value: string | number,
                    ) => {
                        add: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            apiversion?: ...;
                                            force?: ...;
                                            "link[n]"?: ...;
                                            new_node_ip?: ...;
                                            nodeid?: ...;
                                            votes?: ...;
                                        };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<
                            {
                                corosync_authkey: string;
                                corosync_conf: string;
                                warnings: string[];
                            },
                        >;
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                    };
                    nodes: (...args: [args?: {}]) => Promise<{ node: string }[]>;
                };
                qdevice: {
                    status: (...args: [args?: {}]) => Promise<Record<string, unknown>>;
                };
                totem: (...args: [args?: {}]) => Promise<Record<string, unknown>>;
            };
            firewall: {
                aliases: {
                    create_alias: (
                        ...args: [
                            args: { $body: { cidr: string; comment?: string; name: string } },
                        ],
                    ) => Promise<unknown>;
                    get_aliases: (
                        ...args: [args?: {}],
                    ) => Promise<
                        { cidr: string; comment?: string; digest: string; name: string }[],
                    >;
                    name: (
                        value: string,
                    ) => {
                        read_alias: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>>;
                        remove_alias: (
                            ...args: [
                                args: PathContext<
                                    { $path: { name: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<unknown>;
                        update_alias: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: { cidr: ...; comment?: ...; digest?: ...; rename?: ... };
                                        $path: { name: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                };
                groups: {
                    create_security_group: (
                        ...args: [
                            args: {
                                $body: {
                                    comment?: string;
                                    digest?: string;
                                    group: string;
                                    rename?: string;
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    group: (
                        group: string,
                    ) => {
                        create_rule: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            action: ...;
                                            comment?: ...;
                                            dest?: ...;
                                            digest?: ...;
                                            dport?: ...;
                                            enable?: ...;
                                            "icmp-type"?: ...;
                                            iface?: ...;
                                            log?: ...;
                                            macro?: ...;
                                            pos?: ...;
                                            proto?: ...;
                                            source?: ...;
                                            sport?: ...;
                                            type: ...;
                                        };
                                        $path: { group: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                        delete_security_group: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        get_rules: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                action: string;
                                comment?: (...)
                                | (...);
                                dest?: (...) | (...);
                                dport?: (...) | (...);
                                enable?: (...) | (...);
                                "icmp-type"?: (...) | (...);
                                iface?: (...) | (...);
                                ipversion?: (...) | (...);
                                log?:
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...);
                                macro?: (...) | (...);
                                pos: number;
                                proto?: (...) | (...);
                                source?: (...) | (...);
                                sport?: (...) | (...);
                                type: string;
                            }[],
                        >;
                        pos: (
                            value: number,
                        ) => {
                            delete_rule: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<unknown>;
                            get_rule: (
                                ...args: [args?: (...) | (...)],
                            ) => Promise<
                                {
                                    action: ...;
                                    comment?: ...;
                                    dest?: ...;
                                    dport?: ...;
                                    enable?: ...;
                                    "icmp-type"?: ...;
                                    iface?: ...;
                                    ipversion?: ...;
                                    log?: ...;
                                    macro?: ...;
                                    pos: ...;
                                    proto?: ...;
                                    source?: ...;
                                    sport?: ...;
                                    type: ...;
                                },
                            >;
                            update_rule: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                        };
                    };
                    list_security_groups: (
                        ...args: [args?: {}],
                    ) => Promise<{ comment?: string; digest: string; group: string }[]>;
                };
                index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                ipset: {
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    comment?: string;
                                    digest?: string;
                                    name: string;
                                    rename?: string;
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    index: (
                        ...args: [args?: {}],
                    ) => Promise<{ comment?: string; digest: string; name: string }[]>;
                    name: (
                        name: string,
                    ) => {
                        cidr: (
                            cidr: string,
                        ) => {
                            read_ip: (
                                ...args: [args?: (...) | (...)],
                            ) => Promise<Record<(...), (...)>>;
                            remove_ip: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                            update_ip: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                        };
                        create_ip: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: { cidr: ...; comment?: ...; nomatch?: ... };
                                        $path: { name: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                        delete: (
                            ...args: [
                                args: PathContext<
                                    { $path: { name: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<unknown>;
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                cidr: string;
                                comment?: (...)
                                | (...);
                                digest: string;
                                nomatch?: (...) | (...) | (...);
                            }[],
                        >;
                    };
                };
                macros: (
                    ...args: [args?: {}],
                ) => Promise<{ descr: string; macro: string }[]>;
                options: {
                    get: (
                        ...args: [args?: {}],
                    ) => Promise<
                        {
                            ebtables?: boolean;
                            enable?: number;
                            log_ratelimit?: string;
                            policy_forward?: "ACCEPT"
                            | "DROP";
                            policy_in?: "ACCEPT" | "DROP" | "REJECT";
                            policy_out?: "ACCEPT" | "DROP" | "REJECT";
                        },
                    >;
                    set: (
                        ...args: [
                            args: {
                                $body: {
                                    delete?: string;
                                    digest?: string;
                                    ebtables?: boolean;
                                    enable?: number;
                                    log_ratelimit?: string;
                                    policy_forward?: "ACCEPT"
                                    | "DROP";
                                    policy_in?: "ACCEPT" | "DROP" | "REJECT";
                                    policy_out?: "ACCEPT" | "DROP" | "REJECT";
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                };
                refs: (
                    ...args: [args: { $query?: { type?: "alias" | "ipset" } }],
                ) => Promise<
                    {
                        comment?: string;
                        name: string;
                        ref: string;
                        scope: string;
                        type: "alias"
                        | "ipset";
                    }[],
                >;
                rules: {
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    action: string;
                                    comment?: string;
                                    dest?: string;
                                    digest?: string;
                                    dport?: string;
                                    enable?: number;
                                    "icmp-type"?: string;
                                    iface?: string;
                                    log?: | "emerg"
                                    | "alert"
                                    | "crit"
                                    | "err"
                                    | "warning"
                                    | "notice"
                                    | "info"
                                    | "debug"
                                    | "nolog";
                                    macro?: string;
                                    pos?: number;
                                    proto?: string;
                                    source?: string;
                                    sport?: string;
                                    type: "in"
                                    | "out"
                                    | "forward"
                                    | "group";
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    get: (
                        ...args: [args?: {}],
                    ) => Promise<
                        {
                            action: string;
                            comment?: string;
                            dest?: string;
                            dport?: string;
                            enable?: number;
                            "icmp-type"?: string;
                            iface?: string;
                            ipversion?: number;
                            log?: | "emerg"
                            | "alert"
                            | "crit"
                            | "err"
                            | "warning"
                            | "notice"
                            | "info"
                            | "debug"
                            | "nolog";
                            macro?: string;
                            pos: number;
                            proto?: string;
                            source?: string;
                            sport?: string;
                            type: string;
                        }[],
                    >;
                    pos: (
                        value: number,
                    ) => {
                        delete: (
                            ...args: [
                                args: PathContext<{ $path: { pos: ... }; $query?: (...) | (...) }>,
                            ],
                        ) => Promise<unknown>;
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                action: string;
                                comment?: string;
                                dest?: string;
                                dport?: string;
                                enable?: number;
                                "icmp-type"?: string;
                                iface?: string;
                                ipversion?: number;
                                log?: | "emerg"
                                | "alert"
                                | "crit"
                                | "err"
                                | "warning"
                                | "notice"
                                | "info"
                                | "debug"
                                | "nolog";
                                macro?: string;
                                pos: number;
                                proto?: string;
                                source?: string;
                                sport?: string;
                                type: string;
                            },
                        >;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            action?: ...;
                                            comment?: ...;
                                            delete?: ...;
                                            dest?: ...;
                                            digest?: ...;
                                            dport?: ...;
                                            enable?: ...;
                                            "icmp-type"?: ...;
                                            iface?: ...;
                                            log?: ...;
                                            macro?: ...;
                                            moveto?: ...;
                                            proto?: ...;
                                            source?: ...;
                                            sport?: ...;
                                            type?: ...;
                                        };
                                        $path: { pos: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                };
            };
            ha: {
                groups: {
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    comment?: string;
                                    group: string;
                                    nodes: string;
                                    nofailback?: boolean;
                                    restricted?: boolean;
                                    type?: "group";
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    group: (
                        group: string,
                    ) => {
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        read: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            comment?: ...;
                                            delete?: ...;
                                            digest?: ...;
                                            nodes?: ...;
                                            nofailback?: ...;
                                            restricted?: ...;
                                        };
                                        $path: { group: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    index: (...args: [args?: {}]) => Promise<{ group: string }[]>;
                };
                index: (...args: [args?: {}]) => Promise<{ id: string }[]>;
                resources: {
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    comment?: string;
                                    failback?: boolean;
                                    group?: string;
                                    max_relocate?: number;
                                    max_restart?: number;
                                    sid: string;
                                    state?: "started"
                                    | "stopped"
                                    | "enabled"
                                    | "disabled"
                                    | "ignored";
                                    type?: "ct" | "vm";
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    index: (
                        ...args: [args: { $query?: { type?: "ct" | "vm" } }],
                    ) => Promise<{ sid: string }[]>;
                    sid: (
                        sid: string,
                    ) => {
                        delete: (
                            ...args: [
                                args: PathContext<{ $path: { sid: ... }; $query?: (...) | (...) }>,
                            ],
                        ) => Promise<unknown>;
                        migrate: (
                            ...args: [
                                args: PathContext<{ $body: { node: ... }; $path: { sid: ... } }>,
                            ],
                        ) => Promise<
                            {
                                "blocking-resources"?: (...)[];
                                "comigrated-resources"?: (...)[];
                                "requested-node": string;
                                sid: string;
                            },
                        >;
                        read: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                comment?: string;
                                digest: string;
                                failback?: boolean;
                                group?: string;
                                max_relocate?: number;
                                max_restart?: number;
                                sid: string;
                                state?: "started"
                                | "stopped"
                                | "enabled"
                                | "disabled"
                                | "ignored";
                                type: string;
                            },
                        >;
                        relocate: (
                            ...args: [
                                args: PathContext<{ $body: { node: ... }; $path: { sid: ... } }>,
                            ],
                        ) => Promise<
                            {
                                "blocking-resources"?: (...)[];
                                "comigrated-resources"?: (...)[];
                                "requested-node": string;
                                sid: string;
                            },
                        >;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            comment?: ...;
                                            delete?: ...;
                                            digest?: ...;
                                            failback?: ...;
                                            group?: ...;
                                            max_relocate?: ...;
                                            max_restart?: ...;
                                            state?: ...;
                                        };
                                        $path: { sid: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                };
                rules: {
                    create_rule: (
                        ...args: [
                            args: {
                                $body: {
                                    affinity?: "positive"
                                    | "negative";
                                    comment?: string;
                                    disable?: boolean;
                                    nodes?: string;
                                    resources: string;
                                    rule: string;
                                    strict?: boolean;
                                    type: "resource-affinity" | "node-affinity";
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    index: (
                        ...args: [
                            args: {
                                $query?: {
                                    resource?: string;
                                    type?: "resource-affinity"
                                    | "node-affinity";
                                };
                            },
                        ],
                    ) => Promise<{ rule: string }[]>;
                    rule: (
                        rule: string,
                    ) => {
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        read: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            { rule: string; type: "resource-affinity"
                            | "node-affinity" },
                        >;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            affinity?: ...;
                                            comment?: ...;
                                            delete?: ...;
                                            digest?: ...;
                                            disable?: ...;
                                            nodes?: ...;
                                            resources?: ...;
                                            strict?: ...;
                                            type: ...;
                                        };
                                        $path: { rule: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                };
                status: {
                    current: (
                        ...args: [args?: {}],
                    ) => Promise<
                        {
                            crm_state?: string;
                            failback?: boolean;
                            id: string;
                            max_relocate?: number;
                            max_restart?: number;
                            node: string;
                            quorate?: boolean;
                            request_state?: string;
                            sid?: string;
                            state?: string;
                            status: string;
                            timestamp?: number;
                            type: "quorum"
                            | "master"
                            | "lrm"
                            | "service";
                        }[],
                    >;
                    index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                    manager_status: (
                        ...args: [args?: {}],
                    ) => Promise<Record<string, unknown>>;
                };
            };
            index: (
                ...args: [args?: {}],
            ) => Promise<({ name: string } & Record<string, unknown>)[]>;
            jobs: {
                index: (...args: [args?: {}]) => Promise<{ subdir: string }[]>;
                realm_sync: {
                    index: (
                        ...args: [args?: {}],
                    ) => Promise<
                        {
                            comment?: string;
                            enabled: boolean;
                            id: string;
                            "last-run"?: number;
                            "next-run"?: number;
                            realm: string;
                            "remove-vanished"?: string;
                            schedule: string;
                            scope?: "users"
                            | "groups"
                            | "both";
                        }[],
                    >;
                    job: (
                        id: string,
                    ) => {
                        create: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            comment?: ...;
                                            "enable-new"?: ...;
                                            enabled?: ...;
                                            realm?: ...;
                                            "remove-vanished"?: ...;
                                            schedule: ...;
                                            scope?: ...;
                                        };
                                        $path: { id: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        read: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>>;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            comment?: ...;
                                            delete?: ...;
                                            "enable-new"?: ...;
                                            enabled?: ...;
                                            "remove-vanished"?: ...;
                                            schedule: ...;
                                            scope?: ...;
                                        };
                                        $path: { id: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                };
                schedule_analyze: (
                    ...args: [
                        args: {
                            $query?: {
                                iterations?: number;
                                schedule: string;
                                starttime?: number;
                            };
                        },
                    ],
                ) => Promise<{ timestamp: number; utc: string }[]>;
            };
            log: (
                ...args: [args: { $query?: { max?: number } }],
            ) => Promise<Record<string, unknown>[]>;
            mapping: {
                dir: {
                    create: (
                        ...args: [
                            args: {
                                $body: { description?: string; id: string; map: string[] };
                            },
                        ],
                    ) => Promise<unknown>;
                    id: (
                        id: string,
                    ) => {
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>>;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            delete?: ...;
                                            description?: ...;
                                            digest?: ...;
                                            map?: ...;
                                        };
                                        $path: { id: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    index: (
                        ...args: [args: { $query?: { "check-node"?: string } }],
                    ) => Promise<
                        {
                            checks?: { message: ...; severity: ... }[];
                            description: string;
                            id: string;
                            map: string[];
                        }[],
                    >;
                };
                index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                pci: {
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    description?: string;
                                    id: string;
                                    "live-migration-capable"?: boolean;
                                    map: string[];
                                    mdev?: boolean;
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    id: (
                        id: string,
                    ) => {
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>>;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            delete?: ...;
                                            description?: ...;
                                            digest?: ...;
                                            "live-migration-capable"?: ...;
                                            map?: ...;
                                            mdev?: ...;
                                        };
                                        $path: { id: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    index: (
                        ...args: [args: { $query?: { "check-node"?: string } }],
                    ) => Promise<
                        {
                            checks?: { message: ...; severity: ... }[];
                            description: string;
                            id: string;
                            map: string[];
                        }[],
                    >;
                };
                usb: {
                    create: (
                        ...args: [
                            args: {
                                $body: { description?: string; id: string; map: string[] };
                            },
                        ],
                    ) => Promise<unknown>;
                    id: (
                        id: string,
                    ) => {
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>>;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            delete?: ...;
                                            description?: ...;
                                            digest?: ...;
                                            map: ...;
                                        };
                                        $path: { id: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    index: (
                        ...args: [args: { $query?: { "check-node"?: string } }],
                    ) => Promise<
                        { description: string; error: unknown; id: string; map: string[] }[],
                    >;
                };
            };
            metrics: {
                export: (
                    ...args: [
                        args: {
                            $query?: {
                                history?: boolean;
                                "local-only"?: boolean;
                                "node-list"?: string;
                                "start-time"?: number;
                            };
                        },
                    ],
                ) => Promise<
                    {
                        data: {
                            id: string;
                            metric: string;
                            timestamp: number;
                            type: "gauge"
                            | "counter"
                            | "derive";
                            value: number;
                        }[];
                    },
                >;
                index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                server: {
                    id: (
                        id: string,
                    ) => {
                        create: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            "api-path-prefix"?: ...;
                                            bucket?: ...;
                                            disable?: ...;
                                            influxdbproto?: ...;
                                            "max-body-size"?: ...;
                                            mtu?: ...;
                                            organization?: ...;
                                            "otel-compression"?: ...;
                                            "otel-headers"?: ...;
                                            "otel-max-body-size"?: ...;
                                            "otel-path"?: ...;
                                            "otel-protocol"?: ...;
                                            "otel-resource-attributes"?: ...;
                                            "otel-timeout"?: ...;
                                            "otel-verify-ssl"?: ...;
                                            path?: ...;
                                            port: ...;
                                            proto?: ...;
                                            server: ...;
                                            timeout?: ...;
                                            token?: ...;
                                            type: ...;
                                            "verify-certificate"?: ...;
                                        };
                                        $path: { id: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        read: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>>;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            "api-path-prefix"?: ...;
                                            bucket?: ...;
                                            delete?: ...;
                                            digest?: ...;
                                            disable?: ...;
                                            influxdbproto?: ...;
                                            "max-body-size"?: ...;
                                            mtu?: ...;
                                            organization?: ...;
                                            "otel-compression"?: ...;
                                            "otel-headers"?: ...;
                                            "otel-max-body-size"?: ...;
                                            "otel-path"?: ...;
                                            "otel-protocol"?: ...;
                                            "otel-resource-attributes"?: ...;
                                            "otel-timeout"?: ...;
                                            "otel-verify-ssl"?: ...;
                                            path?: ...;
                                            port: ...;
                                            proto?: ...;
                                            server: ...;
                                            timeout?: ...;
                                            token?: ...;
                                            "verify-certificate"?: ...;
                                        };
                                        $path: { id: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    index: (
                        ...args: [args?: {}],
                    ) => Promise<
                        {
                            disable: boolean;
                            id: string;
                            port: number;
                            server: string;
                            type: string;
                        }[],
                    >;
                };
            };
            nextid: (
                ...args: [args: { $query?: { vmid?: number } }],
            ) => Promise<number>;
            notifications: {
                endpoints: {
                    gotify: {
                        create_endpoint: (
                            ...args: [
                                args: {
                                    $body: {
                                        comment?: string;
                                        disable?: boolean;
                                        name: string;
                                        server: string;
                                        token: string;
                                    };
                                },
                            ],
                        ) => Promise<unknown>;
                        endpoint: (
                            name: string,
                        ) => {
                            delete: (...args: [args?: PathContext<(...)>]) => Promise<unknown>;
                            get: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<
                                {
                                    comment?: (...)
                                    | (...);
                                    digest?: (...) | (...);
                                    disable?: (...) | (...) | (...);
                                    name: string;
                                    server: string;
                                },
                            >;
                            update: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                        };
                        get_endpoints: (
                            ...args: [args?: {}],
                        ) => Promise<
                            {
                                comment?: string;
                                disable?: boolean;
                                name: string;
                                origin: "user-created"
                                | "builtin"
                                | "modified-builtin";
                                server: string;
                            }[],
                        >;
                    };
                    index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                    sendmail: {
                        create_sendmail_endpoint: (
                            ...args: [
                                args: {
                                    $body: {
                                        author?: string;
                                        comment?: string;
                                        disable?: boolean;
                                        "from-address"?: string;
                                        mailto?: (...)[];
                                        "mailto-user"?: (...)[];
                                        name: string;
                                    };
                                },
                            ],
                        ) => Promise<unknown>;
                        endpoint: (
                            name: string,
                        ) => {
                            delete: (...args: [args?: PathContext<(...)>]) => Promise<unknown>;
                            get: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<
                                {
                                    author?: (...)
                                    | (...);
                                    comment?: (...) | (...);
                                    digest?: (...) | (...);
                                    disable?: (...) | (...) | (...);
                                    "from-address"?: (...) | (...);
                                    mailto?: (...) | (...);
                                    "mailto-user"?: (...) | (...);
                                    name: string;
                                },
                            >;
                            update: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                        };
                        get_endpoints: (
                            ...args: [args?: {}],
                        ) => Promise<
                            {
                                author?: string;
                                comment?: string;
                                disable?: boolean;
                                "from-address"?: string;
                                mailto?: (...)[];
                                "mailto-user"?: (...)[];
                                name: string;
                                origin: "user-created" | "builtin" | "modified-builtin";
                            }[],
                        >;
                    };
                    smtp: {
                        create_endpoint: (
                            ...args: [
                                args: {
                                    $body: {
                                        author?: string;
                                        comment?: string;
                                        disable?: boolean;
                                        "from-address": string;
                                        mailto?: (...)[];
                                        "mailto-user"?: (...)[];
                                        mode?: "insecure" | "starttls" | "tls";
                                        name: string;
                                        password?: string;
                                        port?: number;
                                        server: string;
                                        username?: string;
                                    };
                                },
                            ],
                        ) => Promise<unknown>;
                        endpoint: (
                            name: string,
                        ) => {
                            delete: (...args: [args?: PathContext<(...)>]) => Promise<unknown>;
                            get: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<
                                {
                                    author?: (...)
                                    | (...);
                                    comment?: (...) | (...);
                                    digest?: (...) | (...);
                                    disable?: (...) | (...) | (...);
                                    "from-address": string;
                                    mailto?: (...) | (...);
                                    "mailto-user"?: (...) | (...);
                                    mode?: (...) | (...) | (...) | (...);
                                    name: string;
                                    port?: (...) | (...);
                                    server: string;
                                    username?: (...) | (...);
                                },
                            >;
                            update: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                        };
                        get_endpoints: (
                            ...args: [args?: {}],
                        ) => Promise<
                            {
                                author?: string;
                                comment?: string;
                                disable?: boolean;
                                "from-address": string;
                                mailto?: (...)[];
                                "mailto-user"?: (...)[];
                                mode?: "insecure" | "starttls" | "tls";
                                name: string;
                                origin: "user-created" | "builtin" | "modified-builtin";
                                port?: number;
                                server: string;
                                username?: string;
                            }[],
                        >;
                    };
                    webhook: {
                        create: (
                            ...args: [
                                args: {
                                    $body: {
                                        body?: string;
                                        comment?: string;
                                        disable?: boolean;
                                        header?: (...)[];
                                        method: "post" | "put" | "get";
                                        name: string;
                                        secret?: (...)[];
                                        url: string;
                                    };
                                },
                            ],
                        ) => Promise<unknown>;
                        endpoint: (
                            name: string,
                        ) => {
                            delete: (...args: [args?: PathContext<(...)>]) => Promise<unknown>;
                            get: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<
                                {
                                    body?: (...)
                                    | (...);
                                    comment?: (...) | (...);
                                    digest?: (...) | (...);
                                    disable?: (...) | (...) | (...);
                                    header?: (...) | (...);
                                    method: (...) | (...) | (...);
                                    name: string;
                                    secret?: (...) | (...);
                                    url: string;
                                },
                            >;
                            update: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                        };
                        index: (
                            ...args: [args?: {}],
                        ) => Promise<
                            {
                                body?: string;
                                comment?: string;
                                disable?: boolean;
                                header?: (...)[];
                                method: "post" | "put" | "get";
                                name: string;
                                origin: "user-created" | "builtin" | "modified-builtin";
                                secret?: (...)[];
                                url: string;
                            }[],
                        >;
                    };
                };
                index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                matcher_field_values: (
                    ...args: [args?: {}],
                ) => Promise<{ comment?: string; field: string; value: string }[]>;
                matcher_fields: (...args: [args?: {}]) => Promise<{ name: string }[]>;
                matchers: {
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    comment?: string;
                                    disable?: boolean;
                                    "invert-match"?: boolean;
                                    "match-calendar"?: string[];
                                    "match-field"?: string[];
                                    "match-severity"?: string[];
                                    mode?: "all"
                                    | "any";
                                    name: string;
                                    target?: string[];
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    index: (
                        ...args: [args?: {}],
                    ) => Promise<
                        {
                            comment?: string;
                            disable?: boolean;
                            "invert-match"?: boolean;
                            "match-calendar"?: string[];
                            "match-field"?: string[];
                            "match-severity"?: string[];
                            mode?: "all"
                            | "any";
                            name: string;
                            origin: "user-created" | "builtin" | "modified-builtin";
                            target?: string[];
                        }[],
                    >;
                    matcher: (
                        name: string,
                    ) => {
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                comment?: string;
                                digest?: string;
                                disable?: boolean;
                                "invert-match"?: boolean;
                                "match-calendar"?: (...)[];
                                "match-field"?: (...)[];
                                "match-severity"?: (...)[];
                                mode?: "all" | "any";
                                name: string;
                                target?: (...)[];
                            },
                        >;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            comment?: ...;
                                            delete?: ...;
                                            digest?: ...;
                                            disable?: ...;
                                            "invert-match"?: ...;
                                            "match-calendar"?: ...;
                                            "match-field"?: ...;
                                            "match-severity"?: ...;
                                            mode?: ...;
                                            target?: ...;
                                        };
                                        $path: { name: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                };
                targets: {
                    get_all_targets: (
                        ...args: [args?: {}],
                    ) => Promise<
                        {
                            comment?: string;
                            disable?: boolean;
                            name: string;
                            origin: "user-created"
                            | "builtin"
                            | "modified-builtin";
                            type: "sendmail" | "gotify" | "smtp" | "webhook";
                        }[],
                    >;
                    name: (
                        name: string,
                    ) => {
                        test: {
                            test_target: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<unknown>;
                        };
                    };
                };
            };
            options: {
                get_options: (
                    ...args: [args?: {}],
                ) => Promise<Record<string, unknown>>;
                set_options: (
                    ...args: [
                        args: {
                            $body: {
                                bwlimit?: string;
                                "consent-text"?: string;
                                console?: "applet"
                                | "vv"
                                | "html5"
                                | "xtermjs";
                                crs?: string;
                                delete?: string;
                                description?: string;
                                email_from?: string;
                                fencing?: "both" | "watchdog" | "hardware";
                                ha?: string;
                                http_proxy?: string;
                                keyboard?:
                                    | "da"
                                    | "de"
                                    | "de-ch"
                                    | "en-gb"
                                    | "en-us"
                                    | "es"
                                    | "fi"
                                    | "fr"
                                    | "fr-be"
                                    | "fr-ca"
                                    | "fr-ch"
                                    | "hu"
                                    | "is"
                                    | "it"
                                    | "ja"
                                    | "lt"
                                    | "mk"
                                    | "nl"
                                    | "no"
                                    | "pl"
                                    | "pt"
                                    | "pt-br"
                                    | "sv"
                                    | "sl"
                                    | "tr";
                                language?: | "da"
                                | "he"
                                | "de"
                                | "es"
                                | "fr"
                                | "it"
                                | "ja"
                                | "nl"
                                | "pl"
                                | "sv"
                                | "sl"
                                | "tr"
                                | "ar"
                                | "ca"
                                | "en"
                                | "eu"
                                | "fa"
                                | "hr"
                                | "ka"
                                | "kr"
                                | "nb"
                                | "nn"
                                | "pt_BR"
                                | "ru"
                                | "ukr"
                                | "zh_CN"
                                | "zh_TW";
                                mac_prefix?: string;
                                max_workers?: number;
                                migration?: string;
                                migration_unsecure?: boolean;
                                "next-id"?: string;
                                notify?: string;
                                "registered-tags"?: string;
                                replication?: string;
                                "tag-style"?: string;
                                u2f?: string;
                                "user-tag-access"?: string;
                                webauthn?: string;
                            };
                        },
                    ],
                ) => Promise<unknown>;
            };
            replication: {
                create: (
                    ...args: [
                        args: {
                            $body: {
                                comment?: string;
                                disable?: boolean;
                                id: string;
                                rate?: number;
                                remove_job?: "local"
                                | "full";
                                schedule?: string;
                                source?: string;
                                target: string;
                                type: "local";
                            };
                        },
                    ],
                ) => Promise<unknown>;
                id: (
                    id: string,
                ) => {
                    delete_: (
                        ...args: [
                            args: PathContext<
                                { $path: { id: string }; $query?: { force?: ...; keep?: ... } },
                            >,
                        ],
                    ) => Promise<unknown>;
                    read: (
                        ...args: [args?: PathContext<{ $path: { id: ... } }>],
                    ) => Promise<
                        {
                            comment?: string;
                            digest?: string;
                            disable?: boolean;
                            guest: number;
                            id: string;
                            jobnum: number;
                            rate?: number;
                            remove_job?: "local"
                            | "full";
                            schedule?: string;
                            source?: string;
                            target: string;
                            type: "local";
                        },
                    >;
                    update: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        comment?: (...)
                                        | (...);
                                        delete?: (...) | (...);
                                        digest?: (...) | (...);
                                        disable?: (...) | (...) | (...);
                                        rate?: (...) | (...);
                                        remove_job?: (...) | (...) | (...);
                                        schedule?: (...) | (...);
                                        source?: (...) | (...);
                                    };
                                    $path: { id: string };
                                },
                            >,
                        ],
                    ) => Promise<unknown>;
                };
                index: (
                    ...args: [args?: {}],
                ) => Promise<
                    {
                        comment?: string;
                        disable?: boolean;
                        guest: number;
                        id: string;
                        jobnum: number;
                        rate?: number;
                        remove_job?: "local"
                        | "full";
                        schedule?: string;
                        source?: string;
                        target: string;
                        type: "local";
                    }[],
                >;
            };
            resources: {
                resources: (
                    ...args: [
                        args: { $query?: { type?: "vm"
                        | "storage"
                        | "node"
                        | "sdn" } },
                    ],
                ) => Promise<
                    {
                        "cgroup-mode"?: number;
                        content?: string;
                        cpu?: number;
                        disk?: number;
                        diskread?: number;
                        diskwrite?: number;
                        hastate?: string;
                        id: string;
                        level?: string;
                        lock?: string;
                        maxcpu?: number;
                        maxdisk?: number;
                        maxmem?: number;
                        mem?: number;
                        memhost?: number;
                        name?: string;
                        netin?: number;
                        netout?: number;
                        network?: string;
                        "network-type"?: "zone"
                        | "fabric";
                        node?: string;
                        plugintype?: string;
                        pool?: string;
                        protocol?: string;
                        sdn?: string;
                        status?: string;
                        storage?: string;
                        tags?: string;
                        template?: boolean;
                        type:
                            | "qemu"
                            | "lxc"
                            | "storage"
                            | "node"
                            | "sdn"
                            | "pool"
                            | "openvz"
                            | "network";
                        uptime?: number;
                        vmid?: number;
                        "zone-type"?: string;
                    }[],
                >;
            };
            sdn: {
                controllers: {
                    controller: (
                        controller: string,
                    ) => {
                        delete_: (
                            ...args: [
                                args: PathContext<
                                    { $path: { controller: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<unknown>;
                        read: (
                            ...args: [
                                args: PathContext<
                                    { $path: { controller: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<
                            {
                                asn?: number;
                                "bgp-multipath-as-relax"?: boolean;
                                controller: string;
                                digest?: string;
                                ebgp?: boolean;
                                "ebgp-multihop"?: number;
                                "isis-domain"?: string;
                                "isis-ifaces"?: string;
                                "isis-net"?: string;
                                loopback?: string;
                                node?: string;
                                peers?: string;
                                pending?: {
                                    asn?: ...;
                                    "bgp-multipath-as-relax"?: ...;
                                    ebgp?: ...;
                                    "ebgp-multihop"?: ...;
                                    "isis-domain"?: ...;
                                    "isis-ifaces"?: ...;
                                    "isis-net"?: ...;
                                    loopback?: ...;
                                    node?: ...;
                                    peers?: ...;
                                };
                                state?: "new"
                                | "changed"
                                | "deleted";
                                type: "bgp" | "evpn" | "faucet" | "isis";
                            },
                        >;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            asn?: ...;
                                            "bgp-multipath-as-path-relax"?: ...;
                                            delete?: ...;
                                            digest?: ...;
                                            ebgp?: ...;
                                            "ebgp-multihop"?: ...;
                                            fabric?: ...;
                                            "isis-domain"?: ...;
                                            "isis-ifaces"?: ...;
                                            "isis-net"?: ...;
                                            "lock-token"?: ...;
                                            loopback?: ...;
                                            node?: ...;
                                            peers?: ...;
                                        };
                                        $path: { controller: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    asn?: number;
                                    "bgp-multipath-as-path-relax"?: boolean;
                                    controller: string;
                                    ebgp?: boolean;
                                    "ebgp-multihop"?: number;
                                    fabric?: string;
                                    "isis-domain"?: string;
                                    "isis-ifaces"?: string;
                                    "isis-net"?: string;
                                    "lock-token"?: string;
                                    loopback?: string;
                                    node?: string;
                                    peers?: string;
                                    type: "bgp"
                                    | "evpn"
                                    | "faucet"
                                    | "isis";
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    index: (
                        ...args: [
                            args: {
                                $query?: {
                                    pending?: boolean;
                                    running?: boolean;
                                    type?: "bgp"
                                    | "evpn"
                                    | "faucet"
                                    | "isis";
                                };
                            },
                        ],
                    ) => Promise<
                        {
                            asn?: number;
                            "bgp-multipath-as-relax"?: boolean;
                            controller: string;
                            digest?: string;
                            ebgp?: boolean;
                            "ebgp-multihop"?: number;
                            "isis-domain"?: string;
                            "isis-ifaces"?: string;
                            "isis-net"?: string;
                            loopback?: string;
                            node?: string;
                            peers?: string;
                            pending?: {
                                asn?: (...)
                                | (...);
                                "bgp-multipath-as-relax"?: (...) | (...) | (...);
                                ebgp?: (...) | (...) | (...);
                                "ebgp-multihop"?: (...) | (...);
                                "isis-domain"?: (...) | (...);
                                "isis-ifaces"?: (...) | (...);
                                "isis-net"?: (...) | (...);
                                loopback?: (...) | (...);
                                node?: (...) | (...);
                                peers?: (...) | (...);
                            };
                            state?: "new"
                            | "changed"
                            | "deleted";
                            type: "bgp" | "evpn" | "faucet" | "isis";
                        }[],
                    >;
                };
                dns: {
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    dns: string;
                                    fingerprint?: string;
                                    key: string;
                                    "lock-token"?: string;
                                    reversemaskv6?: number;
                                    reversev6mask?: number;
                                    ttl?: number;
                                    type: "powerdns";
                                    url: string;
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    dns: (
                        dns: string,
                    ) => {
                        delete_: (
                            ...args: [
                                args: PathContext<{ $path: { dns: ... }; $query?: (...) | (...) }>,
                            ],
                        ) => Promise<unknown>;
                        read: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>>;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            delete?: ...;
                                            digest?: ...;
                                            fingerprint?: ...;
                                            key?: ...;
                                            "lock-token"?: ...;
                                            reversemaskv6?: ...;
                                            ttl?: ...;
                                            url?: ...;
                                        };
                                        $path: { dns: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    index: (
                        ...args: [args: { $query?: { type?: "powerdns" } }],
                    ) => Promise<{ dns: string; type: string }[]>;
                };
                fabrics: {
                    all: (
                        ...args: [
                            args: { $query?: { pending?: boolean; running?: boolean } },
                        ],
                    ) => Promise<
                        {
                            fabrics: {
                                area?: string;
                                csnp_interval?: number;
                                digest?: string;
                                hello_interval?: number;
                                id: string;
                                ip_prefix?: string;
                                ip6_prefix?: string;
                                "lock-token"?: string;
                                protocol: "openfabric"
                                | "ospf";
                            }[];
                            nodes: {
                                digest?: string;
                                fabric_id: string;
                                interfaces: unknown[];
                                ip?: string;
                                ip6?: string;
                                "lock-token"?: string;
                                node_id: string;
                                protocol: "openfabric"
                                | "ospf";
                            }[];
                        },
                    >;
                    fabric: {
                        add_fabric: (
                            ...args: [
                                args: {
                                    $body: {
                                        area?: string;
                                        csnp_interval?: number;
                                        digest?: string;
                                        hello_interval?: number;
                                        id: string;
                                        ip_prefix?: string;
                                        ip6_prefix?: string;
                                        "lock-token"?: string;
                                        protocol: "openfabric"
                                        | "ospf";
                                    };
                                },
                            ],
                        ) => Promise<unknown>;
                        id: (
                            id: string,
                        ) => {
                            delete: (...args: [args?: PathContext<(...)>]) => Promise<unknown>;
                            get: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<
                                {
                                    area?: (...)
                                    | (...);
                                    csnp_interval?: (...) | (...);
                                    digest?: (...) | (...);
                                    hello_interval?: (...) | (...);
                                    id: string;
                                    ip_prefix?: (...) | (...);
                                    ip6_prefix?: (...) | (...);
                                    "lock-token"?: (...) | (...);
                                    protocol: (...) | (...);
                                },
                            >;
                            update: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                        };
                        index: (
                            ...args: [
                                args: {
                                    $query?: {
                                        pending?: (...)
                                        | (...)
                                        | (...);
                                        running?: (...) | (...) | (...);
                                    };
                                },
                            ],
                        ) => Promise<
                            {
                                area?: string;
                                csnp_interval?: number;
                                digest?: string;
                                hello_interval?: number;
                                id: string;
                                ip_prefix?: string;
                                ip6_prefix?: string;
                                "lock-token"?: string;
                                protocol: "openfabric"
                                | "ospf";
                            }[],
                        >;
                    };
                    index: (...args: [args?: {}]) => Promise<{ subdir: string }[]>;
                    node: {
                        fabric_id: (
                            fabric_id: string,
                        ) => {
                            add_node: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                            list_nodes_fabric: (
                                ...args: [args: PathContext<{ $path: ...; $query?: ... }>],
                            ) => Promise<
                                {
                                    digest?: ...;
                                    fabric_id: ...;
                                    interfaces: ...;
                                    ip?: ...;
                                    ip6?: ...;
                                    "lock-token"?: ...;
                                    node_id: ...;
                                    protocol: ...;
                                }[],
                            >;
                            node: (
                                node_id: string,
                            ) => {
                                delete: (...args: [args?: ...]) => Promise<(...)>;
                                get: (...args: [args?: ...]) => Promise<(...)>;
                                update: (...args: [args: ...]) => Promise<(...)>;
                            };
                        };
                        list_nodes: (
                            ...args: [
                                args: {
                                    $query?: {
                                        pending?: (...)
                                        | (...)
                                        | (...);
                                        running?: (...) | (...) | (...);
                                    };
                                },
                            ],
                        ) => Promise<
                            {
                                digest?: string;
                                fabric_id: string;
                                interfaces: unknown[];
                                ip?: string;
                                ip6?: string;
                                "lock-token"?: string;
                                node_id: string;
                                protocol: "openfabric"
                                | "ospf";
                            }[],
                        >;
                    };
                };
                index: (...args: [args?: {}]) => Promise<{ id: string }[]>;
                ipams: {
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    fingerprint?: string;
                                    ipam: string;
                                    "lock-token"?: string;
                                    section?: number;
                                    token?: string;
                                    type: "netbox"
                                    | "phpipam"
                                    | "pve";
                                    url?: string;
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    index: (
                        ...args: [
                            args: { $query?: { type?: "netbox"
                            | "phpipam"
                            | "pve" } },
                        ],
                    ) => Promise<{ ipam: string; type: string }[]>;
                    ipam: (
                        ipam: string,
                    ) => {
                        delete: (
                            ...args: [
                                args: PathContext<
                                    { $path: { ipam: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<unknown>;
                        read: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>>;
                        status: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown[]>;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            delete?: ...;
                                            digest?: ...;
                                            fingerprint?: ...;
                                            "lock-token"?: ...;
                                            section?: ...;
                                            token?: ...;
                                            url?: ...;
                                        };
                                        $path: { ipam: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                };
                lock: {
                    lock: (
                        ...args: [args: { $body: { "allow-pending"?: boolean } }],
                    ) => Promise<string>;
                    release_lock: (
                        ...args: [
                            args: { $query?: { force?: boolean; "lock-token"?: string } },
                        ],
                    ) => Promise<unknown>;
                };
                reload: (
                    ...args: [
                        args: { $body: { "lock-token"?: string; "release-lock"?: boolean } },
                    ],
                ) => Promise<string>;
                rollback: {
                    rollback: (
                        ...args: [
                            args: {
                                $body: { "lock-token"?: string; "release-lock"?: boolean };
                            },
                        ],
                    ) => Promise<unknown>;
                };
                vnets: {
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    alias?: string;
                                    "isolate-ports"?: boolean;
                                    "lock-token"?: string;
                                    tag?: number;
                                    type?: "vnet";
                                    vlanaware?: boolean;
                                    vnet: string;
                                    zone: string;
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    index: (
                        ...args: [
                            args: { $query?: { pending?: boolean; running?: boolean } },
                        ],
                    ) => Promise<
                        {
                            alias?: string;
                            digest?: string;
                            "isolate-ports"?: boolean;
                            pending?: {
                                alias?: (...)
                                | (...);
                                "isolate-ports"?: (...) | (...) | (...);
                                tag?: (...) | (...);
                                vlanaware?: (...) | (...) | (...);
                                zone?: (...) | (...);
                            };
                            state?: "new"
                            | "changed"
                            | "deleted";
                            tag?: number;
                            type: "vnet";
                            vlanaware?: boolean;
                            vnet: string;
                            zone?: string;
                        }[],
                    >;
                    vnet: (
                        vnet: string,
                    ) => {
                        delete: (
                            ...args: [
                                args: PathContext<
                                    { $path: { vnet: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<unknown>;
                        firewall: {
                            index: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<Record<(...), (...)>[]>;
                            options: {
                                get: (
                                    ...args: [args?: (...) | (...)],
                                ) => Promise<
                                    { enable?: ...; log_level_forward?: ...; policy_forward?: ... },
                                >;
                                set: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                            };
                            rules: {
                                create: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                                list: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                                rule: (
                                    pos: number,
                                ) => {
                                    delete: (...args: ...) => ...;
                                    get: (...args: ...) => ...;
                                    update: (...args: ...) => ...;
                                };
                            };
                        };
                        ips: {
                            create: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                            delete: (
                                ...args: [args: PathContext<{ $path: ...; $query?: ... }>],
                            ) => Promise<unknown>;
                            update: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                        };
                        read: (
                            ...args: [
                                args: PathContext<
                                    { $path: { vnet: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<
                            {
                                alias?: string;
                                digest?: string;
                                "isolate-ports"?: boolean;
                                pending?: {
                                    alias?: ...;
                                    "isolate-ports"?: ...;
                                    tag?: ...;
                                    vlanaware?: ...;
                                    zone?: ...;
                                };
                                state?: "new"
                                | "changed"
                                | "deleted";
                                tag?: number;
                                type: "vnet";
                                vlanaware?: boolean;
                                vnet: string;
                                zone?: string;
                            },
                        >;
                        subnets: {
                            create: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                            index: (
                                ...args: [args: PathContext<{ $path: ...; $query?: ... }>],
                            ) => Promise<Record<(...), (...)>[]>;
                            subnet: (
                                subnet: string,
                            ) => {
                                delete: (...args: [args: ...]) => Promise<(...)>;
                                read: (...args: [args: ...]) => Promise<(...)>;
                                update: (...args: [args: ...]) => Promise<(...)>;
                            };
                        };
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            alias?: ...;
                                            delete?: ...;
                                            digest?: ...;
                                            "isolate-ports"?: ...;
                                            "lock-token"?: ...;
                                            tag?: ...;
                                            vlanaware?: ...;
                                            zone?: ...;
                                        };
                                        $path: { vnet: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                };
                zones: {
                    create: (
                        ...args: [
                            args: {
                                $body: {
                                    "advertise-subnets"?: boolean;
                                    bridge?: string;
                                    "bridge-disable-mac-learning"?: boolean;
                                    controller?: string;
                                    dhcp?: "dnsmasq";
                                    "disable-arp-nd-suppression"?: boolean;
                                    dns?: string;
                                    dnszone?: string;
                                    "dp-id"?: number;
                                    exitnodes?: string;
                                    "exitnodes-local-routing"?: boolean;
                                    "exitnodes-primary"?: string;
                                    fabric?: string;
                                    ipam?: string;
                                    "lock-token"?: string;
                                    mac?: string;
                                    mtu?: number;
                                    nodes?: string;
                                    peers?: string;
                                    reversedns?: string;
                                    "rt-import"?: string;
                                    tag?: number;
                                    type: "evpn"
                                    | "faucet"
                                    | "qinq"
                                    | "simple"
                                    | "vlan"
                                    | "vxlan";
                                    "vlan-protocol"?: "802.1q" | "802.1ad";
                                    "vrf-vxlan"?: number;
                                    "vxlan-port"?: number;
                                    zone: string;
                                };
                            },
                        ],
                    ) => Promise<unknown>;
                    index: (
                        ...args: [
                            args: {
                                $query?: {
                                    pending?: boolean;
                                    running?: boolean;
                                    type?: "evpn"
                                    | "faucet"
                                    | "qinq"
                                    | "simple"
                                    | "vlan"
                                    | "vxlan";
                                };
                            },
                        ],
                    ) => Promise<
                        {
                            "advertise-subnets"?: boolean;
                            bridge?: string;
                            "bridge-disable-mac-learning"?: boolean;
                            controller?: string;
                            dhcp?: "dnsmasq";
                            digest?: string;
                            "disable-arp-nd-suppression"?: boolean;
                            dns?: string;
                            dnszone?: string;
                            exitnodes?: string;
                            "exitnodes-local-routing"?: boolean;
                            "exitnodes-primary"?: string;
                            ipam?: string;
                            mac?: string;
                            mtu?: number;
                            nodes?: string;
                            peers?: string;
                            pending?: {
                                "advertise-subnets"?: (...)
                                | (...)
                                | (...);
                                bridge?: (...) | (...);
                                "bridge-disable-mac-learning"?: (...) | (...) | (...);
                                controller?: (...) | (...);
                                dhcp?: (...) | (...);
                                "disable-arp-nd-suppression"?: (...) | (...) | (...);
                                dns?: (...) | (...);
                                dnszone?: (...) | (...);
                                exitnodes?: (...) | (...);
                                "exitnodes-local-routing"?: (...) | (...) | (...);
                                "exitnodes-primary"?: (...) | (...);
                                ipam?: (...) | (...);
                                mac?: (...) | (...);
                                mtu?: (...) | (...);
                                nodes?: (...) | (...);
                                peers?: (...) | (...);
                                reversedns?: (...) | (...);
                                "rt-import"?: (...) | (...);
                                tag?: (...) | (...);
                                "vlan-protocol"?: (...) | (...) | (...);
                                "vrf-vxlan"?: (...) | (...);
                                "vxlan-port"?: (...) | (...);
                            };
                            reversedns?: string;
                            "rt-import"?: string;
                            state?: "new"
                            | "changed"
                            | "deleted";
                            tag?: number;
                            type: "evpn" | "faucet" | "qinq" | "simple" | "vlan" | "vxlan";
                            "vlan-protocol"?: "802.1q" | "802.1ad";
                            "vrf-vxlan"?: number;
                            "vxlan-port"?: number;
                            zone: string;
                        }[],
                    >;
                    zone: (
                        zone: string,
                    ) => {
                        delete_: (
                            ...args: [
                                args: PathContext<
                                    { $path: { zone: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<unknown>;
                        read: (
                            ...args: [
                                args: PathContext<
                                    { $path: { zone: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<
                            {
                                "advertise-subnets"?: boolean;
                                bridge?: string;
                                "bridge-disable-mac-learning"?: boolean;
                                controller?: string;
                                dhcp?: "dnsmasq";
                                digest?: string;
                                "disable-arp-nd-suppression"?: boolean;
                                dns?: string;
                                dnszone?: string;
                                exitnodes?: string;
                                "exitnodes-local-routing"?: boolean;
                                "exitnodes-primary"?: string;
                                ipam?: string;
                                mac?: string;
                                mtu?: number;
                                nodes?: string;
                                peers?: string;
                                pending?: {
                                    "advertise-subnets"?: ...;
                                    bridge?: ...;
                                    "bridge-disable-mac-learning"?: ...;
                                    controller?: ...;
                                    dhcp?: ...;
                                    "disable-arp-nd-suppression"?: ...;
                                    dns?: ...;
                                    dnszone?: ...;
                                    exitnodes?: ...;
                                    "exitnodes-local-routing"?: ...;
                                    "exitnodes-primary"?: ...;
                                    ipam?: ...;
                                    mac?: ...;
                                    mtu?: ...;
                                    nodes?: ...;
                                    peers?: ...;
                                    reversedns?: ...;
                                    "rt-import"?: ...;
                                    tag?: ...;
                                    "vlan-protocol"?: ...;
                                    "vrf-vxlan"?: ...;
                                    "vxlan-port"?: ...;
                                };
                                reversedns?: string;
                                "rt-import"?: string;
                                state?: "new"
                                | "changed"
                                | "deleted";
                                tag?: number;
                                type: "evpn" | "faucet" | "qinq" | "simple" | "vlan" | "vxlan";
                                "vlan-protocol"?: "802.1q" | "802.1ad";
                                "vrf-vxlan"?: number;
                                "vxlan-port"?: number;
                                zone: string;
                            },
                        >;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            "advertise-subnets"?: ...;
                                            bridge?: ...;
                                            "bridge-disable-mac-learning"?: ...;
                                            controller?: ...;
                                            delete?: ...;
                                            dhcp?: ...;
                                            digest?: ...;
                                            "disable-arp-nd-suppression"?: ...;
                                            dns?: ...;
                                            dnszone?: ...;
                                            "dp-id"?: ...;
                                            exitnodes?: ...;
                                            "exitnodes-local-routing"?: ...;
                                            "exitnodes-primary"?: ...;
                                            fabric?: ...;
                                            ipam?: ...;
                                            "lock-token"?: ...;
                                            mac?: ...;
                                            mtu?: ...;
                                            nodes?: ...;
                                            peers?: ...;
                                            reversedns?: ...;
                                            "rt-import"?: ...;
                                            tag?: ...;
                                            "vlan-protocol"?: ...;
                                            "vrf-vxlan"?: ...;
                                            "vxlan-port"?: ...;
                                        };
                                        $path: { zone: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                };
            };
            status: (
                ...args: [args?: {}],
            ) => Promise<
                {
                    id: string;
                    ip?: string;
                    level?: string;
                    local?: boolean;
                    name: string;
                    nodeid?: number;
                    nodes?: number;
                    online?: boolean;
                    quorate?: boolean;
                    type: "node"
                    | "cluster";
                    version?: number;
                }[],
            >;
            tasks: (
                ...args: [args?: {}],
            ) => Promise<
                {
                    endtime?: number;
                    id: string;
                    node: string;
                    starttime?: number;
                    status?: string;
                    type: string;
                    upid: string;
                    user: string;
                }[],
            >;
        };
        nodes: {
            get: (
                node: string,
            ) => {
                aplinfo: {
                    apl_download: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: { storage: string; template: string };
                                    $path: { node: string };
                                },
                            >,
                        ],
                    ) => Promise<string>;
                    aplinfo: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<Record<string, unknown>[]>;
                };
                apt: {
                    changelog: (
                        ...args: [
                            args: PathContext<
                                { $path: { node: string }; $query?: { name: ...; version?: ... } },
                            >,
                        ],
                    ) => Promise<string>;
                    index: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<{ id: string }[]>;
                    repositories: {
                        add_repository: (
                            ...args: [
                                args: PathContext<
                                    { $body: { digest?: ...; handle: ... }; $path: { node: ... } },
                                >,
                            ],
                        ) => Promise<unknown>;
                        change_repository: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: { digest?: ...; enabled?: ...; index: ...; path: ... };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                        list: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                digest: string;
                                errors: { error: ...; path: ... }[];
                                files: {
                                    digest: ...;
                                    "file-type": ...;
                                    path: ...;
                                    repositories: ...;
                                }[];
                                infos: {
                                    index: ...;
                                    kind: ...;
                                    message: ...;
                                    path: ...;
                                    property?: ...;
                                }[];
                                "standard-repos": { handle: ...; name: ...; status?: ... }[];
                            },
                        >;
                    };
                    update: {
                        list: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                Arch: (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...);
                                Description: string;
                                NotifyStatus?: (...) | (...);
                                OldVersion?: (...) | (...);
                                Origin: string;
                                Package: string;
                                Priority: string;
                                Section: string;
                                Title: string;
                                Version: string;
                            }[],
                        >;
                        update_database: (
                            ...args: [
                                args: PathContext<
                                    { $body: { notify?: ...; quiet?: ... }; $path: { node: ... } },
                                >,
                            ],
                        ) => Promise<string>;
                    };
                    versions: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<
                        {
                            Arch: | "all"
                            | "armhf"
                            | "arm64"
                            | "amd64"
                            | "ppc64el"
                            | "risc64"
                            | "s390x";
                            CurrentState: | "Installed"
                            | "NotInstalled"
                            | "UnPacked"
                            | "HalfConfigured"
                            | "HalfInstalled"
                            | "ConfigFiles";
                            Description: string;
                            ManagerVersion?: string;
                            NotifyStatus?: string;
                            OldVersion?: string;
                            Origin: string;
                            Package: string;
                            Priority: string;
                            RunningKernel?: string;
                            Section: string;
                            Title: string;
                            Version: string;
                        }[],
                    >;
                };
                capabilities: {
                    index: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<Record<string, unknown>[]>;
                    qemu: {
                        cpu: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<{ custom: boolean; name: string; vendor: string }[]>;
                        cpu_flags: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<{ description: string; name: string }[]>;
                        machines: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                changes?: (...)
                                | (...);
                                id: string;
                                type: (...) | (...);
                                version: string;
                            }[],
                        >;
                        migration: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<{ "has-dbus-vmstate": boolean }>;
                        qemu_caps_index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>[]>;
                    };
                };
                ceph: {
                    cfg: {
                        db: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                can_update_at_runtime: boolean;
                                level: string;
                                mask: string;
                                name: string;
                                section: string;
                                value: string;
                            }[],
                        >;
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>[]>;
                        raw: (...args: [args?: PathContext<{ $path: ... }>]) => Promise<string>;
                        value: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<Record<string, unknown>>;
                    };
                    cmd_safety: (
                        ...args: [
                            args: PathContext<
                                {
                                    $path: { node: string };
                                    $query?: { action: ...; id: ...; service: ... };
                                },
                            >,
                        ],
                    ) => Promise<{ safe: boolean; status?: string }>;
                    crush: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<string>;
                    fs: {
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            { data_pool: string; metadata_pool: string; name: string }[],
                        >;
                        name: (
                            name: string,
                        ) => {
                            createfs: (...args: [args: PathContext<(...)>]) => Promise<string>;
                        };
                    };
                    index: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<Record<string, unknown>[]>;
                    init: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        "cluster-network"?: (...)
                                        | (...);
                                        disable_cephx?: (...) | (...) | (...);
                                        min_size?: (...) | (...);
                                        network?: (...) | (...);
                                        pg_bits?: (...) | (...);
                                        size?: (...) | (...);
                                    };
                                    $path: { node: string };
                                },
                            >,
                        ],
                    ) => Promise<unknown>;
                    log: (
                        ...args: [
                            args: PathContext<
                                { $path: { node: string }; $query?: { limit?: ...; start?: ... } },
                            >,
                        ],
                    ) => Promise<{ n: number; t: string }[]>;
                    mds: {
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                addr?: (...)
                                | (...);
                                host?: (...) | (...);
                                name: string;
                                rank?: (...) | (...);
                                standby_replay?: (...) | (...) | (...);
                                state: string;
                            }[],
                        >;
                        name: (
                            name: string,
                        ) => {
                            create: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            destroy: (...args: [args?: (...) | (...)]) => Promise<string>;
                        };
                    };
                    mgr: {
                        id: (
                            id: string,
                        ) => {
                            create: (...args: [args?: (...) | (...)]) => Promise<string>;
                            destroy: (...args: [args?: (...) | (...)]) => Promise<string>;
                        };
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                addr?: (...)
                                | (...);
                                host?: (...) | (...);
                                name: string;
                                state: string;
                            }[],
                        >;
                    };
                    mon: {
                        id: (
                            monid: string,
                        ) => {
                            create: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            destroy: (...args: [args?: (...) | (...)]) => Promise<string>;
                        };
                        list: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                addr?: (...)
                                | (...);
                                ceph_version?: (...) | (...);
                                ceph_version_short?: (...) | (...);
                                direxists?: (...) | (...);
                                host?: (...) | (...) | (...);
                                name: string;
                                quorum?: (...) | (...) | (...);
                                rank?: (...) | (...);
                                service?: (...) | (...);
                                state?: (...) | (...);
                            }[],
                        >;
                    };
                    osd: {
                        create: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            "crush-device-class"?: ...;
                                            db_dev?: ...;
                                            db_dev_size?: ...;
                                            dev: ...;
                                            encrypted?: ...;
                                            "osds-per-device"?: ...;
                                            wal_dev?: ...;
                                            wal_dev_size?: ...;
                                        };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<string>;
                        id: (
                            osdid: number,
                        ) => {
                            destroy: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            get: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            in: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                            lv_info: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<
                                {
                                    creation_time: ...;
                                    lv_name: ...;
                                    lv_path: ...;
                                    lv_size: ...;
                                    lv_uuid: ...;
                                    vg_name: ...;
                                },
                            >;
                            metadata: (
                                ...args: [args?: (...) | (...)],
                            ) => Promise<{ devices: ...; osd: ... }>;
                            out: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                            scrub: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                        };
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>>;
                    };
                    pool: {
                        create: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            add_storages?: ...;
                                            application?: ...;
                                            crush_rule?: ...;
                                            "erasure-coding"?: ...;
                                            min_size?: ...;
                                            name: ...;
                                            pg_autoscale_mode?: ...;
                                            pg_num?: ...;
                                            pg_num_min?: ...;
                                            size?: ...;
                                            target_size?: ...;
                                            target_size_ratio?: ...;
                                        };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<string>;
                        list: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                application_metadata?: (...)
                                | (...);
                                autoscale_status?: (...) | (...);
                                bytes_used: number;
                                crush_rule: number;
                                crush_rule_name: string;
                                min_size: number;
                                percent_used: number;
                                pg_autoscale_mode?: (...) | (...);
                                pg_num: number;
                                pg_num_final?: (...) | (...);
                                pg_num_min?: (...) | (...);
                                pool: number;
                                pool_name: string;
                                size: number;
                                target_size?: (...) | (...);
                                target_size_ratio?: (...) | (...);
                                type: (...) | (...) | (...);
                            }[],
                        >;
                        name: (
                            name: string,
                        ) => {
                            destroy: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            get: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            status: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<
                                {
                                    application?: ...;
                                    application_list?: ...;
                                    autoscale_status?: ...;
                                    crush_rule?: ...;
                                    fast_read: ...;
                                    hashpspool: ...;
                                    id: ...;
                                    min_size?: ...;
                                    name: ...;
                                    "nodeep-scrub": ...;
                                    nodelete: ...;
                                    nopgchange: ...;
                                    noscrub: ...;
                                    nosizechange: ...;
                                    pg_autoscale_mode?: ...;
                                    pg_num?: ...;
                                    pg_num_min?: ...;
                                    pgp_num: ...;
                                    size?: ...;
                                    statistics?: ...;
                                    target_size?: ...;
                                    target_size_ratio?: ...;
                                    use_gmt_hitset: ...;
                                    write_fadvise_dontneed: ...;
                                },
                            >;
                            update: (...args: [args: PathContext<(...)>]) => Promise<string>;
                        };
                    };
                    restart: (
                        ...args: [
                            args: PathContext<
                                { $body: { service?: (...)
                                | (...) }; $path: { node: string } },
                            >,
                        ],
                    ) => Promise<string>;
                    rules: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<{ name: string }[]>;
                    start: (
                        ...args: [
                            args: PathContext<
                                { $body: { service?: (...)
                                | (...) }; $path: { node: string } },
                            >,
                        ],
                    ) => Promise<string>;
                    status: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<Record<string, unknown>>;
                    stop: (
                        ...args: [
                            args: PathContext<
                                { $body: { service?: (...)
                                | (...) }; $path: { node: string } },
                            >,
                        ],
                    ) => Promise<string>;
                };
                certificates: {
                    acme: {
                        certificate: {
                            new_certificate: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<string>;
                            renew_certificate: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<string>;
                            revoke_certificate: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<string>;
                        };
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>[]>;
                    };
                    custom: {
                        remove_custom_cert: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<unknown>;
                        upload_custom_cert: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            certificates: ...;
                                            force?: ...;
                                            key?: ...;
                                            restart?: ...;
                                        };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<
                            {
                                filename?: string;
                                fingerprint?: string;
                                issuer?: string;
                                notafter?: number;
                                notbefore?: number;
                                pem?: string;
                                "public-key-bits"?: number;
                                "public-key-type"?: string;
                                san?: (...)[];
                                subject?: string;
                            },
                        >;
                    };
                    index: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<Record<string, unknown>[]>;
                    info: {
                        info: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                filename?: (...)
                                | (...);
                                fingerprint?: (...) | (...);
                                issuer?: (...) | (...);
                                notafter?: (...) | (...);
                                notbefore?: (...) | (...);
                                pem?: (...) | (...);
                                "public-key-bits"?: (...) | (...);
                                "public-key-type"?: (...) | (...);
                                san?: (...) | (...);
                                subject?: (...) | (...);
                            }[],
                        >;
                    };
                };
                config: {
                    get_config: (
                        ...args: [
                            args: PathContext<
                                { $path: { node: string }; $query?: { property?: ... } },
                            >,
                        ],
                    ) => Promise<
                        {
                            acme?: string;
                            "acmedomain[n]"?: string;
                            "ballooning-target"?: number;
                            description?: string;
                            digest?: string;
                            "startall-onboot-delay"?: number;
                            wakeonlan?: string;
                        },
                    >;
                    set_options: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        acme?: (...)
                                        | (...);
                                        "acmedomain[n]"?: (...) | (...);
                                        "ballooning-target"?: (...) | (...);
                                        delete?: (...) | (...);
                                        description?: (...) | (...);
                                        digest?: (...) | (...);
                                        "startall-onboot-delay"?: (...) | (...);
                                        wakeonlan?: (...) | (...);
                                    };
                                    $path: { node: string };
                                },
                            >,
                        ],
                    ) => Promise<unknown>;
                };
                disks: {
                    directory: {
                        create: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            add_storage?: ...;
                                            device: ...;
                                            filesystem?: ...;
                                            name: ...;
                                        };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<string>;
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                device: string;
                                options: string;
                                path: string;
                                type: string;
                                unitfile: string;
                            }[],
                        >;
                        name: (
                            name: string,
                        ) => {
                            delete: (...args: [args: PathContext<(...)>]) => Promise<string>;
                        };
                    };
                    dns: {
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            { dns1?: string; dns2?: string; dns3?: string; search?: string },
                        >;
                        update: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: { dns1?: ...; dns2?: ...; dns3?: ...; search: ... };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    execute: (
                        ...args: [
                            args: PathContext<
                                { $body: { commands: string }; $path: { node: string } },
                            >,
                        ],
                    ) => Promise<Record<string, unknown>[]>;
                    firewall: {
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>[]>;
                        log: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<{ n: number; t: string }[]>;
                        options: {
                            get: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<
                                {
                                    enable?: (...)
                                    | (...)
                                    | (...);
                                    log_level_forward?:
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                    log_level_in?:
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                    log_level_out?:
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                    log_nf_conntrack?: (...) | (...) | (...);
                                    ndp?: (...) | (...) | (...);
                                    nf_conntrack_allow_invalid?: (...) | (...) | (...);
                                    nf_conntrack_helpers?: (...) | (...);
                                    nf_conntrack_max?: (...) | (...);
                                    nf_conntrack_tcp_timeout_established?: (...) | (...);
                                    nf_conntrack_tcp_timeout_syn_recv?: (...) | (...);
                                    nftables?: (...) | (...) | (...);
                                    nosmurfs?: (...) | (...) | (...);
                                    protection_synflood?: (...) | (...) | (...);
                                    protection_synflood_burst?: (...) | (...);
                                    protection_synflood_rate?: (...) | (...);
                                    smurf_log_level?:
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                    tcp_flags_log_level?:
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                    tcpflags?: (...) | (...) | (...);
                                },
                            >;
                            set: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                        };
                        rules: {
                            create: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<unknown>;
                            list: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<
                                {
                                    action: ...;
                                    comment?: ...;
                                    dest?: ...;
                                    dport?: ...;
                                    enable?: ...;
                                    "icmp-type"?: ...;
                                    iface?: ...;
                                    ipversion?: ...;
                                    log?: ...;
                                    macro?: ...;
                                    pos: ...;
                                    proto?: ...;
                                    source?: ...;
                                    sport?: ...;
                                    type: ...;
                                }[],
                            >;
                            pos: (
                                pos: number,
                            ) => {
                                delete: (...args: [args: ...]) => Promise<(...)>;
                                get: (...args: [args?: ...]) => Promise<(...)>;
                                update: (...args: [args: ...]) => Promise<(...)>;
                            };
                        };
                    };
                    hardware: {
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<{ type: string }[]>;
                        pci: {
                            pci_id_or_mapping: (
                                pci_id_or_mapping: string,
                            ) => {
                                mdev: (...args: [args?: ...]) => Promise<(...)>;
                                pci_index: (...args: [args?: ...]) => Promise<(...)>;
                            };
                            pci_scan: (
                                ...args: [args: PathContext<{ $path: ...; $query?: ... }>],
                            ) => Promise<
                                {
                                    class: ...;
                                    device: ...;
                                    device_name?: ...;
                                    id: ...;
                                    iommugroup: ...;
                                    mdev?: ...;
                                    subsystem_device?: ...;
                                    subsystem_device_name?: ...;
                                    subsystem_vendor?: ...;
                                    subsystem_vendor_name?: ...;
                                    vendor: ...;
                                    vendor_name?: ...;
                                }[],
                            >;
                        };
                        usb: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                busnum: number;
                                class: number;
                                devnum: number;
                                level: number;
                                manufacturer?: (...)
                                | (...);
                                port: number;
                                prodid: string;
                                product?: (...) | (...);
                                serial?: (...) | (...);
                                speed: string;
                                usbpath?: (...) | (...);
                                vendid: string;
                            }[],
                        >;
                    };
                    hosts: {
                        list: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<{ data: string; digest?: string }>;
                        write: (
                            ...args: [
                                args: PathContext<
                                    { $body: { data: ...; digest?: ... }; $path: { node: ... } },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    index: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<Record<string, unknown>[]>;
                    initgpt: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: { disk: string; uuid?: (...)
                                    | (...) };
                                    $path: { node: string };
                                },
                            >,
                        ],
                    ) => Promise<string>;
                    journal: (
                        ...args: [
                            args: PathContext<
                                {
                                    $path: { node: string };
                                    $query?: {
                                        endcursor?: ...;
                                        lastentries?: ...;
                                        since?: ...;
                                        startcursor?: ...;
                                        until?: ...;
                                    };
                                },
                            >,
                        ],
                    ) => Promise<string[]>;
                    list: (
                        ...args: [
                            args: PathContext<
                                {
                                    $path: { node: string };
                                    $query?: { "include-partitions"?: ...; skipsmart?: ...; type?: ... };
                                },
                            >,
                        ],
                    ) => Promise<
                        {
                            devpath: string;
                            gpt: boolean;
                            health?: string;
                            model?: string;
                            mounted: boolean;
                            osdid: number;
                            "osdid-list": number[];
                            parent?: string;
                            serial?: string;
                            size: number;
                            used?: string;
                            vendor?: string;
                            wwn?: string;
                        }[],
                    >;
                    lvm: {
                        create: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: { add_storage?: ...; device: ...; name: ... };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<string>;
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                children: {
                                    children?: ...;
                                    free: ...;
                                    leaf: ...;
                                    name: ...;
                                    size: ...;
                                }[];
                                leaf: boolean;
                            },
                        >;
                        lvmthin: {
                            create: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<string>;
                            index: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<
                                {
                                    lv: ...;
                                    lv_size: ...;
                                    metadata_size: ...;
                                    metadata_used: ...;
                                    used: ...;
                                    vg: ...;
                                }[],
                            >;
                            name: (
                                name: string,
                            ) => { delete_: (...args: [args: ...]) => Promise<(...)> };
                        };
                        name: (
                            name: string,
                        ) => {
                            delete: (...args: [args: PathContext<(...)>]) => Promise<string>;
                        };
                        smart: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<
                            {
                                attributes?: (...)[];
                                health: string;
                                text?: string;
                                type?: string;
                            },
                        >;
                        wipedisk: (
                            ...args: [
                                args: PathContext<{ $body: { disk: ... }; $path: { node: ... } }>,
                            ],
                        ) => Promise<string>;
                        zfs: {
                            create: (
                                ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                            ) => Promise<string>;
                            index: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<
                                {
                                    alloc: ...;
                                    dedup: ...;
                                    frag: ...;
                                    free: ...;
                                    health: ...;
                                    name: ...;
                                    size: ...;
                                }[],
                            >;
                            name: (
                                name: string,
                            ) => {
                                delete: (...args: [args: ...]) => Promise<(...)>;
                                get: (...args: [args?: ...]) => Promise<(...)>;
                            };
                        };
                    };
                    lxc: {
                        crate: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            arch?: ...;
                                            bwlimit?: ...;
                                            cmode?: ...;
                                            console?: ...;
                                            cores?: ...;
                                            cpulimit?: ...;
                                            cpuunits?: ...;
                                            debug?: ...;
                                            description?: ...;
                                            "dev[n]"?: ...;
                                            entrypoint?: ...;
                                            env?: ...;
                                            features?: ...;
                                            force?: ...;
                                            "ha-managed"?: ...;
                                            hookscript?: ...;
                                            hostname?: ...;
                                            "ignore-unpack-errors"?: ...;
                                            lock?: ...;
                                            memory?: ...;
                                            "mp[n]"?: ...;
                                            nameserver?: ...;
                                            "net[n]"?: ...;
                                            onboot?: ...;
                                            ostemplate: ...;
                                            ostype?: ...;
                                            password?: ...;
                                            pool?: ...;
                                            protection?: ...;
                                            restore?: ...;
                                            rootfs?: ...;
                                            searchdomain?: ...;
                                            "ssh-public-keys"?: ...;
                                            start?: ...;
                                            startup?: ...;
                                            storage?: ...;
                                            swap?: ...;
                                            tags?: ...;
                                            template?: ...;
                                            timezone?: ...;
                                            tty?: ...;
                                            unique?: ...;
                                            unprivileged?: ...;
                                            "unused[n]"?: ...;
                                            vmid: ...;
                                        };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<string>;
                        id: (
                            vmid: string | number,
                        ) => {
                            clone: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            config: {
                                get: (...args: [args: ...]) => Promise<(...)>;
                                update: (...args: [args: ...]) => Promise<(...)>;
                            };
                            destroy: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            diridx: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            feature: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ hasFeature: ... }>;
                            firewall: {
                                aliases: {
                                    alias: (name: ...) => ...;
                                    create: (...args: ...) => ...;
                                    list: (...args: ...) => ...;
                                };
                                index: (...args: [args?: ...]) => Promise<(...)>;
                                ipset: {
                                    create: (...args: ...) => ...;
                                    index: (...args: ...) => ...;
                                    name: (name: ...) => ...;
                                };
                                log: (...args: [args: ...]) => Promise<(...)>;
                                options: { get: (...args: ...) => ...; set: (...args: ...) => ... };
                                refs: (...args: [args: ...]) => Promise<(...)>;
                                rules: {
                                    create_rule: (...args: ...) => ...;
                                    list: (...args: ...) => ...;
                                    pos: (pos: ...) => ...;
                                };
                            };
                            interfaces: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            migrate: {
                                migrate_vm: (...args: [args: ...]) => Promise<(...)>;
                                preconditions: (...args: [args: ...]) => Promise<(...)>;
                            };
                            move_volume: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            mtunnel: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ socket: ...; ticket: ...; upid: ... }>;
                            mtunnelwebsocket: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ port?: ...; socket?: ... }>;
                            pending: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            remote_migrate: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<string>;
                            resize: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            rrd: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ filename: ... }>;
                            rrddata: (...args: [args: PathContext<(...)>]) => Promise<(...)[]>;
                            snapshot: {
                                create: (...args: [args: ...]) => Promise<(...)>;
                                list: (...args: [args?: ...]) => Promise<(...)>;
                                name: (
                                    snapname: string,
                                ) => { config: ...; delete: ...; get: ...; rollback: ... };
                            };
                            spiceproxy: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<
                                {
                                    host: ...;
                                    password: ...;
                                    proxy: ...;
                                    "tls-port": ...;
                                    type: ...;
                                },
                            >;
                            status: {
                                current: (...args: [args?: ...]) => Promise<(...)>;
                                get: (...args: [args?: ...]) => Promise<(...)>;
                                reboot: (...args: [args: ...]) => Promise<(...)>;
                                resume: (...args: [args?: ...]) => Promise<(...)>;
                                shutdown: (...args: [args: ...]) => Promise<(...)>;
                                start: (...args: [args: ...]) => Promise<(...)>;
                                stop: (...args: [args: ...]) => Promise<(...)>;
                                suspend: (...args: [args?: ...]) => Promise<(...)>;
                            };
                            template: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                            termproxy: (
                                ...args: [args?: (...) | (...)],
                            ) => Promise<{ port: ...; ticket: ...; upid: ...; user: ... }>;
                            vncproxy: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<
                                { cert: ...; port: ...; ticket: ...; upid: ...; user: ... },
                            >;
                            vncwebsocket: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ port: ... }>;
                        };
                        list: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                cpu?: (...)
                                | (...);
                                cpus?: (...) | (...);
                                disk?: (...) | (...);
                                diskread?: (...) | (...);
                                diskwrite?: (...) | (...);
                                lock?: (...) | (...);
                                maxdisk?: (...) | (...);
                                maxmem?: (...) | (...);
                                maxswap?: (...) | (...);
                                mem?: (...) | (...);
                                name?: (...) | (...);
                                netin?: (...) | (...);
                                netout?: (...) | (...);
                                pressurecpusome?: (...) | (...);
                                pressureiofull?: (...) | (...);
                                pressureiosome?: (...) | (...);
                                pressurememoryfull?: (...) | (...);
                                pressurememorysome?: (...) | (...);
                                status: (...) | (...);
                                tags?: (...) | (...);
                                template?: (...) | (...) | (...);
                                uptime?: (...) | (...);
                                vmid: number;
                            }[],
                        >;
                    };
                    migrate_all: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        maxworkers?: (...)
                                        | (...);
                                        target: string;
                                        vms?: (...) | (...);
                                        "with-local-disks"?: (...) | (...) | (...);
                                    };
                                    $path: { node: string };
                                },
                            >,
                        ],
                    ) => Promise<string>;
                    netstat: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<Record<string, unknown>[]>;
                    network: {
                        create: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            address?: ...;
                                            address6?: ...;
                                            autostart?: ...;
                                            bond_mode?: ...;
                                            bond_xmit_hash_policy?: ...;
                                            "bond-primary"?: ...;
                                            bridge_ports?: ...;
                                            bridge_vids?: ...;
                                            bridge_vlan_aware?: ...;
                                            cidr?: ...;
                                            cidr6?: ...;
                                            comments?: ...;
                                            comments6?: ...;
                                            gateway?: ...;
                                            gateway6?: ...;
                                            iface: ...;
                                            mtu?: ...;
                                            netmask?: ...;
                                            netmask6?: ...;
                                            ovs_bonds?: ...;
                                            ovs_bridge?: ...;
                                            ovs_options?: ...;
                                            ovs_ports?: ...;
                                            ovs_tag?: ...;
                                            slaves?: ...;
                                            type: ...;
                                            "vlan-id"?: ...;
                                            "vlan-raw-device"?: ...;
                                        };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<unknown>;
                        iface: (
                            iface: string,
                        ) => {
                            delete: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                            network_config: (
                                ...args: [args?: (...) | (...)],
                            ) => Promise<{ method: ...; type: ... }>;
                            update: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                        };
                        index: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<
                            {
                                active?: (...)
                                | (...)
                                | (...);
                                address?: (...) | (...);
                                address6?: (...) | (...);
                                autostart?: (...) | (...) | (...);
                                bond_mode?:
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...);
                                bond_xmit_hash_policy?: (...) | (...) | (...) | (...);
                                "bond-primary"?: (...) | (...);
                                bridge_ports?: (...) | (...);
                                bridge_vids?: (...) | (...);
                                bridge_vlan_aware?: (...) | (...) | (...);
                                "bridge-access"?: (...) | (...);
                                "bridge-arp-nd-suppress"?: (...) | (...) | (...);
                                "bridge-learning"?: (...) | (...) | (...);
                                "bridge-multicast-flood"?: (...) | (...) | (...);
                                "bridge-unicast-flood"?: (...) | (...) | (...);
                                cidr?: (...) | (...);
                                cidr6?: (...) | (...);
                                comments?: (...) | (...);
                                comments6?: (...) | (...);
                                exists?: (...) | (...) | (...);
                                families?: (...) | (...) | (...);
                                gateway?: (...) | (...);
                                gateway6?: (...) | (...);
                                iface: string;
                                "link-type"?: (...) | (...);
                                method?: (...) | (...) | (...) | (...) | (...) | (...);
                                method6?: (...) | (...) | (...) | (...) | (...) | (...);
                                mtu?: (...) | (...);
                                netmask?: (...) | (...);
                                netmask6?: (...) | (...);
                                options?: (...) | (...);
                                options6?: (...) | (...);
                                ovs_bonds?: (...) | (...);
                                ovs_bridge?: (...) | (...);
                                ovs_options?: (...) | (...);
                                ovs_ports?: (...) | (...);
                                ovs_tag?: (...) | (...);
                                priority?: (...) | (...);
                                slaves?: (...) | (...);
                                type:
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...);
                                "uplink-id"?: (...) | (...);
                                "vlan-id"?: (...) | (...);
                                "vlan-protocol"?: (...) | (...) | (...);
                                "vlan-raw-device"?: (...) | (...);
                                "vxlan-id"?: (...) | (...);
                                "vxlan-local-tunnelip"?: (...) | (...);
                                "vxlan-physdev"?: (...) | (...);
                                "vxlan-svcnodeip"?: (...) | (...);
                            }[],
                        >;
                        reload_config: (
                            ...args: [
                                args: PathContext<
                                    { $body: { "regenerate-frr"?: ... }; $path: { node: ... } },
                                >,
                            ],
                        ) => Promise<string>;
                        revert_changes: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                    };
                    qemu: {
                        create_vm: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            acpi?: ...;
                                            affinity?: ...;
                                            agent?: ...;
                                            "allow-ksm"?: ...;
                                            "amd-sev"?: ...;
                                            arch?: ...;
                                            archive?: ...;
                                            args?: ...;
                                            audio0?: ...;
                                            autostart?: ...;
                                            balloon?: ...;
                                            bios?: ...;
                                            boot?: ...;
                                            bootdisk?: ...;
                                            bwlimit?: ...;
                                            cdrom?: ...;
                                            cicustom?: ...;
                                            cipassword?: ...;
                                            citype?: ...;
                                            ciupgrade?: ...;
                                            ciuser?: ...;
                                            cores?: ...;
                                            cpu?: ...;
                                            cpulimit?: ...;
                                            cpuunits?: ...;
                                            description?: ...;
                                            efidisk0?: ...;
                                            force?: ...;
                                            freeze?: ...;
                                            "ha-managed"?: ...;
                                            hookscript?: ...;
                                            "hostpci[n]"?: ...;
                                            hotplug?: ...;
                                            hugepages?: ...;
                                            "ide[n]"?: ...;
                                            "import-working-storage"?: ...;
                                            "intel-tdx"?: ...;
                                            "ipconfig[n]"?: ...;
                                            ivshmem?: ...;
                                            keephugepages?: ...;
                                            keyboard?: ...;
                                            kvm?: ...;
                                            "live-restore"?: ...;
                                            localtime?: ...;
                                            lock?: ...;
                                            machine?: ...;
                                            memory?: ...;
                                            migrate_downtime?: ...;
                                            migrate_speed?: ...;
                                            name?: ...;
                                            nameserver?: ...;
                                            "net[n]"?: ...;
                                            numa?: ...;
                                            "numa[n]"?: ...;
                                            onboot?: ...;
                                            ostype?: ...;
                                            "parallel[n]"?: ...;
                                            pool?: ...;
                                            protection?: ...;
                                            reboot?: ...;
                                            rng0?: ...;
                                            "sata[n]"?: ...;
                                            "scsi[n]"?: ...;
                                            scsihw?: ...;
                                            searchdomain?: ...;
                                            "serial[n]"?: ...;
                                            shares?: ...;
                                            smbios1?: ...;
                                            smp?: ...;
                                            sockets?: ...;
                                            spice_enhancements?: ...;
                                            sshkeys?: ...;
                                            start?: ...;
                                            startdate?: ...;
                                            startup?: ...;
                                            storage?: ...;
                                            tablet?: ...;
                                            tags?: ...;
                                            tdf?: ...;
                                            template?: ...;
                                            tpmstate0?: ...;
                                            unique?: ...;
                                            "unused[n]"?: ...;
                                            "usb[n]"?: ...;
                                            vcpus?: ...;
                                            vga?: ...;
                                            "virtio[n]"?: ...;
                                            "virtiofs[n]"?: ...;
                                            vmgenid?: ...;
                                            vmid: ...;
                                            vmstatestorage?: ...;
                                            watchdog?: ...;
                                        };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<string>;
                        list: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<
                            {
                                cpu?: (...)
                                | (...);
                                cpus?: (...) | (...);
                                diskread?: (...) | (...);
                                diskwrite?: (...) | (...);
                                lock?: (...) | (...);
                                maxdisk?: (...) | (...);
                                maxmem?: (...) | (...);
                                mem?: (...) | (...);
                                memhost?: (...) | (...);
                                name?: (...) | (...);
                                netin?: (...) | (...);
                                netout?: (...) | (...);
                                pid?: (...) | (...);
                                pressurecpufull?: (...) | (...);
                                pressurecpusome?: (...) | (...);
                                pressureiofull?: (...) | (...);
                                pressureiosome?: (...) | (...);
                                pressurememoryfull?: (...) | (...);
                                pressurememorysome?: (...) | (...);
                                qmpstatus?: (...) | (...);
                                "running-machine"?: (...) | (...);
                                "running-qemu"?: (...) | (...);
                                serial?: (...) | (...) | (...);
                                status: (...) | (...);
                                tags?: (...) | (...);
                                template?: (...) | (...) | (...);
                                uptime?: (...) | (...);
                                vmid: number;
                            }[],
                        >;
                        vmid: (
                            vmid: string | number,
                        ) => {
                            agent: {
                                agent: (...args: [args: ...]) => Promise<(...)>;
                                exec: { exec: (...args: ...) => ... };
                                exec_status: (...args: [args: ...]) => Promise<(...)>;
                                file_read: (...args: [args: ...]) => Promise<(...)>;
                                file_write: (...args: [args: ...]) => Promise<(...)>;
                                fsfreeze_freeze: (...args: [args?: ...]) => Promise<(...)>;
                                fsfreeze_status: (...args: [args?: ...]) => Promise<(...)>;
                                fsfreeze_thaw: (...args: [args?: ...]) => Promise<(...)>;
                                fstrim: (...args: [args?: ...]) => Promise<(...)>;
                                get_fsinfo: (...args: [args?: ...]) => Promise<(...)>;
                                get_host_name: (...args: [args?: ...]) => Promise<(...)>;
                                get_memory_block_info: (...args: [args?: ...]) => Promise<(...)>;
                                get_memory_blocks: (...args: [args?: ...]) => Promise<(...)>;
                                get_osinfo: (...args: [args?: ...]) => Promise<(...)>;
                                get_time: (...args: [args?: ...]) => Promise<(...)>;
                                get_timezone: (...args: [args?: ...]) => Promise<(...)>;
                                get_users: (...args: [args?: ...]) => Promise<(...)>;
                                get_vcpus: (...args: [args?: ...]) => Promise<(...)>;
                                index: (...args: [args?: ...]) => Promise<(...)>;
                                info: (...args: [args?: ...]) => Promise<(...)>;
                                network_get_interfaces: (...args: [args?: ...]) => Promise<(...)>;
                                ping: (...args: [args?: ...]) => Promise<(...)>;
                                set_user_password: (...args: [args: ...]) => Promise<(...)>;
                                shutdown: (...args: [args?: ...]) => Promise<(...)>;
                                suspend_disk: (...args: [args?: ...]) => Promise<(...)>;
                                suspend_hybrid: (...args: [args?: ...]) => Promise<(...)>;
                                suspend_ram: (...args: [args?: ...]) => Promise<(...)>;
                            };
                            clone: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            cloudinit: {
                                dump: (...args: [args: ...]) => Promise<(...)>;
                                pending: (...args: [args?: ...]) => Promise<(...)>;
                                update: (...args: [args?: ...]) => Promise<(...)>;
                            };
                            config: {
                                get: (...args: [args: ...]) => Promise<(...)>;
                                update_async: (...args: [args: ...]) => Promise<(...)>;
                                update_sync: (...args: [args: ...]) => Promise<(...)>;
                            };
                            dbus_vmstate: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<unknown>;
                            destroy: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            diridx: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            feature: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ hasFeature: ...; nodes: ... }>;
                            firewall: {
                                aliases: {
                                    alias: (name: ...) => ...;
                                    create: (...args: ...) => ...;
                                    list: (...args: ...) => ...;
                                };
                                index: (...args: [args?: ...]) => Promise<(...)>;
                                ipset: {
                                    create: (...args: ...) => ...;
                                    list: (...args: ...) => ...;
                                    name: (name: ...) => ...;
                                };
                                log: (...args: [args: ...]) => Promise<(...)>;
                                options: { get: (...args: ...) => ...; set: (...args: ...) => ... };
                                refs: (...args: [args: ...]) => Promise<(...)>;
                                rules: {
                                    create_rule: (...args: ...) => ...;
                                    list: (...args: ...) => ...;
                                    rule: (pos: ...) => ...;
                                };
                            };
                            migrate: {
                                migrate_vm: (...args: [args: ...]) => Promise<(...)>;
                                migrate_vm_precondition: (...args: [args: ...]) => Promise<(...)>;
                            };
                            monitor: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            move_disk: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            mtunnel: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ socket: ...; ticket: ...; upid: ... }>;
                            mtunnelwebsocket: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ port?: ...; socket?: ... }>;
                            pending: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            remote_migrate: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<string>;
                            resize: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            rrd: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ filename: ... }>;
                            rrddata: (...args: [args: PathContext<(...)>]) => Promise<(...)[]>;
                            sendkey: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                            snapshot: {
                                create: (...args: [args: ...]) => Promise<(...)>;
                                list: (...args: [args?: ...]) => Promise<(...)>;
                                snapname: (
                                    snapname: string,
                                ) => { config: ...; delete: ...; get: ...; rollback: ... };
                            };
                            spiceproxy: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<
                                {
                                    host: ...;
                                    password: ...;
                                    proxy: ...;
                                    "tls-port": ...;
                                    type: ...;
                                },
                            >;
                            status: {
                                current: (...args: [args?: ...]) => Promise<(...)>;
                                get: (...args: [args?: ...]) => Promise<(...)>;
                                reboot: (...args: [args: ...]) => Promise<(...)>;
                                reset: (...args: [args: ...]) => Promise<(...)>;
                                resume: (...args: [args: ...]) => Promise<(...)>;
                                shutdown: (...args: [args: ...]) => Promise<(...)>;
                                start: (...args: [args: ...]) => Promise<(...)>;
                                stop: (...args: [args: ...]) => Promise<(...)>;
                                suspend: (...args: [args: ...]) => Promise<(...)>;
                            };
                            template: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            termproxy: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ port: ...; ticket: ...; upid: ...; user: ... }>;
                            unlink: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                            vncproxy: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<
                                {
                                    cert: ...;
                                    password?: ...;
                                    port: ...;
                                    ticket: ...;
                                    upid: ...;
                                    user: ...;
                                },
                            >;
                            vncwebsocket: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ port: ... }>;
                        };
                    };
                    query_oci_repo_tags: (
                        ...args: [
                            args: PathContext<
                                { $path: { node: string }; $query?: { reference: ... } },
                            >,
                        ],
                    ) => Promise<string[]>;
                    query_url_metadata: (
                        ...args: [
                            args: PathContext<
                                {
                                    $path: { node: string };
                                    $query?: { url: ...; "verify-certificates"?: ... };
                                },
                            >,
                        ],
                    ) => Promise<{ filename?: string; mimetype?: string; size?: number }>;
                    replication: {
                        id: (
                            id: string,
                        ) => {
                            get: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            log: (...args: [args: PathContext<(...)>]) => Promise<(...)[]>;
                            schedule_now: (...args: [args?: (...) | (...)]) => Promise<string>;
                            status: (
                                ...args: [args?: (...) | (...)],
                            ) => Promise<Record<(...), (...)>>;
                        };
                        status: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<{ id: string }[]>;
                    };
                    report: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<string>;
                    rrd: (
                        ...args: [
                            args: PathContext<
                                {
                                    $path: { node: string };
                                    $query?: { cf?: ...; ds: ...; timeframe: ... };
                                },
                            >,
                        ],
                    ) => Promise<{ filename: string }>;
                    rrddata: (
                        ...args: [
                            args: PathContext<
                                { $path: { node: string }; $query?: { cf?: ...; timeframe: ... } },
                            >,
                        ],
                    ) => Promise<Record<string, unknown>[]>;
                    scan: {
                        cifs: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<{ description: string; share: string }[]>;
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<{ method: string }[]>;
                        iscsi: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<{ portal: string; target: string }[]>;
                        lvm: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<{ vg: string }[]>;
                        lvmthin: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<{ lv: string }[]>;
                        nfs: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<{ options: string; path: string }[]>;
                        pbs: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<{ comment?: (...) | (...); store: string }[]>;
                        zfs: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<{ pool: string }[]>;
                    };
                    sdn: {
                        fabrics: {
                            fabric: (
                                fabric: string,
                            ) => {
                                index: (...args: [args?: ...]) => Promise<(...)>;
                                interfaces: (...args: [args?: ...]) => Promise<(...)>;
                                neighbors: (...args: [args?: ...]) => Promise<(...)>;
                                routes: (...args: [args?: ...]) => Promise<(...)>;
                            };
                        };
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<Record<string, unknown>[]>;
                        vnets: {
                            vnet: (
                                vnet: string,
                            ) => {
                                get: (...args: [args?: ...]) => Promise<(...)>;
                                mac_vrf: (...args: [args?: ...]) => Promise<(...)>;
                            };
                        };
                        zones: {
                            index: (
                                ...args: [args?: PathContext<(...)>],
                            ) => Promise<{ status: ...; zone: ... }[]>;
                            zone: (
                                zone: string,
                            ) => {
                                bridges: (...args: [args?: ...]) => Promise<(...)>;
                                content: (...args: [args?: ...]) => Promise<(...)>;
                                index: (...args: [args?: ...]) => Promise<(...)>;
                                ip_vrf: (...args: [args?: ...]) => Promise<(...)>;
                            };
                        };
                    };
                    services: {
                        index: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                "active-state": | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...);
                                desc: string;
                                name: string;
                                service: string;
                                state:
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...);
                                "unit-state":
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...);
                            }[],
                        >;
                        service: (
                            service: Service,
                        ) => {
                            index: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            reload: (...args: [args?: (...) | (...)]) => Promise<string>;
                            restart: (...args: [args?: (...) | (...)]) => Promise<string>;
                            start: (...args: [args?: (...) | (...)]) => Promise<string>;
                            state: (
                                ...args: [args?: (...) | (...)],
                            ) => Promise<
                                {
                                    "active-state": ...;
                                    desc: ...;
                                    name: ...;
                                    service: ...;
                                    state: ...;
                                    "unit-state": ...;
                                },
                            >;
                            stop: (...args: [args?: (...) | (...)]) => Promise<string>;
                        };
                    };
                    spiceshell: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        cmd?: (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                        "cmd-opts"?: (...) | (...);
                                        proxy?: (...) | (...);
                                    };
                                    $path: { node: string };
                                },
                            >,
                        ],
                    ) => Promise<
                        {
                            host: string;
                            password: string;
                            proxy: string;
                            "tls-port": number;
                            type: string;
                        },
                    >;
                    startall: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: { force?: (...)
                                    | (...)
                                    | (...); vms?: (...) | (...) };
                                    $path: { node: string };
                                },
                            >,
                        ],
                    ) => Promise<string>;
                    status: {
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                "boot-info": {
                                    mode: (...)
                                    | (...);
                                    secureboot?: (...) | (...) | (...);
                                };
                                cpu: number;
                                cpuinfo: {
                                    cores: number;
                                    cpus: number;
                                    model: string;
                                    sockets: number;
                                };
                                "current-kernel": {
                                    machine: string;
                                    release: string;
                                    sysname: string;
                                    version: string;
                                };
                                loadavg: string[];
                                memory: {
                                    available: number;
                                    free: number;
                                    total: number;
                                    used: number;
                                };
                                pveversion: string;
                                rootfs: { avail: number; free: number; total: number; used: number };
                            },
                        >;
                        node_cmd: (
                            ...args: [
                                args: PathContext<
                                    { $body: { command: ... }; $path: { node: ... } },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    stop_all: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        "force-stop"?: (...)
                                        | (...)
                                        | (...);
                                        timeout?: (...) | (...);
                                        vms?: (...) | (...);
                                    };
                                    $path: { node: string };
                                },
                            >,
                        ],
                    ) => Promise<string>;
                    storage: {
                        index: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<
                            {
                                active?: (...)
                                | (...)
                                | (...);
                                avail?: (...) | (...);
                                content: string;
                                enabled?: (...) | (...) | (...);
                                formats?: (...) | (...);
                                select_existing?: (...) | (...) | (...);
                                shared?: (...) | (...) | (...);
                                storage: string;
                                total?: (...) | (...);
                                type: string;
                                used?: (...) | (...);
                                used_fraction?: (...) | (...);
                            }[],
                        >;
                        storage: (
                            storage: string,
                        ) => {
                            content: {
                                create: (...args: [args: ...]) => Promise<(...)>;
                                list: (...args: [args: ...]) => Promise<(...)>;
                                volume: (
                                    volume: string,
                                ) => { copy: ...; delete: ...; info: ...; update: ... };
                            };
                            download_url: (...args: [args: PathContext<(...)>]) => Promise<string>;
                            file_restore: {
                                download: (...args: [args: ...]) => Promise<(...)>;
                                list: (...args: [args: ...]) => Promise<(...)>;
                            };
                            import_metadata: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<
                                {
                                    "create-args": ...;
                                    disks?: ...;
                                    net?: ...;
                                    source: ...;
                                    type: ...;
                                    warnings?: ...;
                                },
                            >;
                            index: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            oci_registry_pull: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<string>;
                            prunebackups: {
                                delete: (...args: [args: ...]) => Promise<(...)>;
                                dryrun: (...args: [args: ...]) => Promise<(...)>;
                            };
                            rrd: (
                                ...args: [args: PathContext<(...)>],
                            ) => Promise<{ filename: ... }>;
                            rrddata: (...args: [args: PathContext<(...)>]) => Promise<(...)[]>;
                            status: (
                                ...args: [args?: (...) | (...)],
                            ) => Promise<
                                {
                                    active?: ...;
                                    avail?: ...;
                                    content: ...;
                                    enabled?: ...;
                                    shared?: ...;
                                    total?: ...;
                                    type: ...;
                                    used?: ...;
                                },
                            >;
                            upload: (...args: [args: PathContext<(...)>]) => Promise<string>;
                        };
                    };
                    subscription: {
                        delete: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<unknown>;
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<
                            {
                                checktime?: number;
                                key?: string;
                                level?: string;
                                message?: string;
                                nextduedate?: string;
                                productname?: string;
                                regdate?: string;
                                serverid?: string;
                                signature?: string;
                                sockets?: number;
                                status: | "new"
                                | "suspended"
                                | "active"
                                | "notfound"
                                | "invalid"
                                | "expired";
                                url?: string;
                            },
                        >;
                        set: (
                            ...args: [
                                args: PathContext<{ $body: { key: ... }; $path: { node: ... } }>,
                            ],
                        ) => Promise<unknown>;
                        update: (
                            ...args: [
                                args: PathContext<
                                    { $body: { force?: ... }; $path: { node: ... } },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    suspend_all: (
                        ...args: [
                            args: PathContext<
                                { $body: { vms?: (...)
                                | (...) }; $path: { node: string } },
                            >,
                        ],
                    ) => Promise<string>;
                    syslog: (
                        ...args: [
                            args: PathContext<
                                {
                                    $path: { node: string };
                                    $query?: {
                                        limit?: ...;
                                        service?: ...;
                                        since?: ...;
                                        start?: ...;
                                        until?: ...;
                                    };
                                },
                            >,
                        ],
                    ) => Promise<{ n: number; t: string }[]>;
                    tasks: {
                        list: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<
                            {
                                endtime?: (...)
                                | (...);
                                id: string;
                                node: string;
                                pid: number;
                                pstart: number;
                                starttime: number;
                                status?: (...) | (...);
                                type: string;
                                upid: string;
                                user: string;
                            }[],
                        >;
                        task: (
                            upid: string,
                        ) => {
                            get: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                            log: (...args: [args: PathContext<(...)>]) => Promise<(...)[]>;
                            status: (
                                ...args: [args?: (...) | (...)],
                            ) => Promise<
                                {
                                    exitstatus?: ...;
                                    id: ...;
                                    node: ...;
                                    pid: ...;
                                    pstart: ...;
                                    starttime: ...;
                                    status: ...;
                                    type: ...;
                                    upid: ...;
                                    user: ...;
                                },
                            >;
                            stop: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                        };
                    };
                    termproxy: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        cmd?: (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                        "cmd-opts"?: (...) | (...);
                                    };
                                    $path: { node: string };
                                },
                            >,
                        ],
                    ) => Promise<
                        { port: number; ticket: string; upid: string; user: string },
                    >;
                    time: {
                        get: (
                            ...args: [args?: PathContext<{ $path: ... }>],
                        ) => Promise<{ localtime: number; time: number; timezone: string }>;
                        set_timezone: (
                            ...args: [
                                args: PathContext<
                                    { $body: { timezone: ... }; $path: { node: ... } },
                                >,
                            ],
                        ) => Promise<unknown>;
                    };
                    version: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<{ release: string; repoid: string; version: string }>;
                    vncshell: (
                        ...args: [
                            args: PathContext<
                                {
                                    $body: {
                                        cmd?: (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                        "cmd-opts"?: (...) | (...);
                                        height?: (...) | (...);
                                        websocket?: (...) | (...) | (...);
                                        width?: (...) | (...);
                                    };
                                    $path: { node: string };
                                },
                            >,
                        ],
                    ) => Promise<
                        {
                            cert: string;
                            port: number;
                            ticket: string;
                            upid: string;
                            user: string;
                        },
                    >;
                    vncwebsocket: (
                        ...args: [
                            args: PathContext<
                                {
                                    $path: { node: string };
                                    $query?: { port: ...; vncticket: ... };
                                },
                            >,
                        ],
                    ) => Promise<{ port: string }>;
                    vzdump: {
                        create: (
                            ...args: [
                                args: PathContext<
                                    {
                                        $body: {
                                            all?: ...;
                                            bwlimit?: ...;
                                            compress?: ...;
                                            dumpdir?: ...;
                                            exclude?: ...;
                                            "exclude-path"?: ...;
                                            fleecing?: ...;
                                            ionice?: ...;
                                            "job-id"?: ...;
                                            lockwait?: ...;
                                            mailnotification?: ...;
                                            mailto?: ...;
                                            maxfiles?: ...;
                                            mode?: ...;
                                            "notes-template"?: ...;
                                            "notification-mode"?: ...;
                                            "pbs-change-detection-mode"?: ...;
                                            performance?: ...;
                                            pigz?: ...;
                                            pool?: ...;
                                            protected?: ...;
                                            "prune-backups"?: ...;
                                            quiet?: ...;
                                            remove?: ...;
                                            script?: ...;
                                            stdexcludes?: ...;
                                            stdout?: ...;
                                            stop?: ...;
                                            stopwait?: ...;
                                            storage?: ...;
                                            tmpdir?: ...;
                                            vmid?: ...;
                                            zstd?: ...;
                                        };
                                        $path: { node: ... };
                                    },
                                >,
                            ],
                        ) => Promise<string>;
                        defaults: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<
                            {
                                all?: boolean;
                                bwlimit?: number;
                                compress?: "0"
                                | "1"
                                | "gzip"
                                | "lzo"
                                | "zstd";
                                dumpdir?: string;
                                exclude?: string;
                                "exclude-path"?: (...)[];
                                fleecing?: string;
                                ionice?: number;
                                lockwait?: number;
                                mailnotification?: "always" | "failure";
                                mailto?: string;
                                maxfiles?: number;
                                mode?: "snapshot" | "suspend" | "stop";
                                node?: string;
                                "notes-template"?: string;
                                "notification-mode"?:
                                    | "auto"
                                    | "legacy-sendmail"
                                    | "notification-system";
                                "pbs-change-detection-mode"?: "legacy"
                                | "data"
                                | "metadata";
                                performance?: string;
                                pigz?: number;
                                pool?: string;
                                protected?: boolean;
                                "prune-backups"?: string;
                                quiet?: boolean;
                                remove?: boolean;
                                script?: string;
                                stdexcludes?: boolean;
                                stop?: boolean;
                                stopwait?: number;
                                storage?: string;
                                tmpdir?: string;
                                vmid?: string;
                                zstd?: number;
                            },
                        >;
                        extract_config: (
                            ...args: [
                                args: PathContext<
                                    { $path: { node: ... }; $query?: (...) | (...) },
                                >,
                            ],
                        ) => Promise<string>;
                    };
                    wakeonlan: (
                        ...args: [args?: PathContext<{ $path: { node: ... } }>],
                    ) => Promise<string>;
                };
                index: (
                    ...args: [args?: PathContext<{ $path: { node: string } }>],
                ) => Promise<Record<string, unknown>[]>;
            };
            list: (
                ...args: [args?: {}],
            ) => Promise<
                {
                    cpu?: number;
                    level?: string;
                    maxcpu?: number;
                    maxmem?: number;
                    mem?: number;
                    node: string;
                    ssl_fingerprint?: string;
                    status: "online"
                    | "unknown"
                    | "offline";
                    uptime?: number;
                }[],
            >;
        };
        pools: {
            create: (
                ...args: [args: { $body: { comment?: string; poolid: string } }],
            ) => Promise<unknown>;
            delete: (
                ...args: [args: { $query?: { poolid: string } }],
            ) => Promise<unknown>;
            id: (
                poolid: string,
            ) => {
                delete_deprecated: (
                    ...args: [args?: PathContext<{ $path: { poolid: string } }>],
                ) => Promise<unknown>;
                read: (
                    ...args: [
                        args: PathContext<
                            {
                                $path: { poolid: string };
                                $query?: { type?: (...) | (...) | (...) | (...) };
                            },
                        >,
                    ],
                ) => Promise<
                    {
                        comment?: string;
                        members: {
                            id: string;
                            node: string;
                            storage?: string;
                            type: "qemu"
                            | "lxc"
                            | "storage"
                            | "openvz";
                            vmid?: number;
                        }[];
                    },
                >;
                update_deprecated: (
                    ...args: [
                        args: PathContext<
                            {
                                $body: {
                                    "allow-move"?: boolean;
                                    comment?: string;
                                    delete?: boolean;
                                    storage?: string;
                                    vms?: string;
                                };
                                $path: { poolid: string };
                            },
                        >,
                    ],
                ) => Promise<unknown>;
            };
            index: (
                ...args: [
                    args: {
                        $query?: { poolid?: string; type?: "qemu"
                        | "lxc"
                        | "storage" };
                    },
                ],
            ) => Promise<
                {
                    comment?: string;
                    members?: {
                        id: string;
                        node: string;
                        storage?: string;
                        type: "qemu"
                        | "lxc"
                        | "storage"
                        | "openvz";
                        vmid?: number;
                    }[];
                    poolid: string;
                }[],
            >;
            update: (
                ...args: [
                    args: {
                        $body: {
                            "allow-move"?: boolean;
                            comment?: string;
                            delete?: boolean;
                            poolid: string;
                            storage?: string;
                            vms?: string;
                        };
                    },
                ],
            ) => Promise<unknown>;
        };
        storage: {
            create: (
                ...args: [
                    args: {
                        $body: {
                            authsupported?: string;
                            base?: string;
                            blocksize?: string;
                            bwlimit?: string;
                            comstar_hg?: string;
                            comstar_tg?: string;
                            content?: string;
                            "content-dirs"?: string;
                            "create-base-path"?: boolean;
                            "create-subdirs"?: boolean;
                            "data-pool"?: string;
                            datastore?: string;
                            disable?: boolean;
                            domain?: string;
                            "encryption-key"?: string;
                            export?: string;
                            fingerprint?: string;
                            format?: "raw"
                            | "qcow2"
                            | "vmdk"
                            | "subvol";
                            "fs-name"?: string;
                            fuse?: boolean;
                            is_mountpoint?: string;
                            iscsiprovider?: string;
                            keyring?: string;
                            krbd?: boolean;
                            lio_tpg?: string;
                            "master-pubkey"?: string;
                            "max-protected-backups"?: number;
                            mkdir?: boolean;
                            monhost?: string;
                            mountpoint?: string;
                            namespace?: string;
                            nocow?: boolean;
                            nodes?: string;
                            nowritecache?: boolean;
                            options?: string;
                            password?: string;
                            path?: string;
                            pool?: string;
                            port?: number;
                            portal?: string;
                            preallocation?: "metadata" | "full" | "off" | "falloc";
                            "prune-backups"?: string;
                            saferemove?: boolean;
                            saferemove_throughput?: string;
                            "saferemove-stepsize"?: "1" | "2" | "4" | "8" | "16" | "32";
                            server?: string;
                            share?: string;
                            shared?: boolean;
                            "skip-cert-verification"?: boolean;
                            smbversion?: "default" | "2.0" | "2.1" | "3" | "3.0" | "3.11";
                            "snapshot-as-volume-chain"?: boolean;
                            sparse?: boolean;
                            storage: string;
                            subdir?: string;
                            tagged_only?: boolean;
                            target?: string;
                            thinpool?: string;
                            type:
                                | "rbd"
                                | "cephfs"
                                | "esxi"
                                | "btrfs"
                                | "cifs"
                                | "dir"
                                | "iscsi"
                                | "iscsidirect"
                                | "lvm"
                                | "lvmthin"
                                | "nfs"
                                | "pbs"
                                | "zfs"
                                | "zfspool";
                            username?: string;
                            vgname?: string;
                            "zfs-base-path"?: string;
                        };
                    },
                ],
            ) => Promise<
                {
                    config?: { "encryption-key"?: string };
                    storage: string;
                    type:
                        | "rbd"
                        | "cephfs"
                        | "esxi"
                        | "btrfs"
                        | "cifs"
                        | "dir"
                        | "iscsi"
                        | "iscsidirect"
                        | "lvm"
                        | "lvmthin"
                        | "nfs"
                        | "pbs"
                        | "zfs"
                        | "zfspool";
                },
            >;
            index: (
                ...args: [
                    args: {
                        $query?: {
                            type?: | "rbd"
                            | "cephfs"
                            | "esxi"
                            | "btrfs"
                            | "cifs"
                            | "dir"
                            | "iscsi"
                            | "iscsidirect"
                            | "lvm"
                            | "lvmthin"
                            | "nfs"
                            | "pbs"
                            | "zfs"
                            | "zfspool";
                        };
                    },
                ],
            ) => Promise<{ storage: string }[]>;
            storage: (
                value: string | number,
            ) => {
                delete_: (
                    ...args: [args?: PathContext<{ $path: { storage: string } }>],
                ) => Promise<unknown>;
                read: (
                    ...args: [args?: PathContext<{ $path: { storage: string } }>],
                ) => Promise<Record<string, unknown>>;
                update: (
                    ...args: [
                        args: PathContext<
                            {
                                $body: {
                                    blocksize?: string;
                                    bwlimit?: string;
                                    comstar_hg?: string;
                                    comstar_tg?: string;
                                    content?: string;
                                    "content-dirs"?: string;
                                    "create-base-path"?: boolean;
                                    "create-subdirs"?: boolean;
                                    "data-pool"?: string;
                                    delete?: string;
                                    digest?: string;
                                    disable?: boolean;
                                    domain?: string;
                                    "encryption-key"?: string;
                                    fingerprint?: string;
                                    format?: "raw"
                                    | "qcow2"
                                    | "vmdk"
                                    | "subvol";
                                    "fs-name"?: string;
                                    fuse?: boolean;
                                    is_mountpoint?: string;
                                    keyring?: string;
                                    krbd?: boolean;
                                    lio_tpg?: string;
                                    "master-pubkey"?: string;
                                    "max-protected-backups"?: number;
                                    mkdir?: boolean;
                                    monhost?: string;
                                    mountpoint?: string;
                                    namespace?: string;
                                    nocow?: boolean;
                                    nodes?: string;
                                    nowritecache?: boolean;
                                    options?: string;
                                    password?: string;
                                    pool?: string;
                                    port?: number;
                                    preallocation?: "metadata" | "full" | "off" | "falloc";
                                    "prune-backups"?: string;
                                    saferemove?: boolean;
                                    saferemove_throughput?: string;
                                    "saferemove-stepsize"?: "1" | "2" | "4" | "8" | "16" | "32";
                                    server?: string;
                                    shared?: boolean;
                                    "skip-cert-verification"?: boolean;
                                    smbversion?: "default" | "2.0" | "2.1" | "3" | "3.0" | "3.11";
                                    "snapshot-as-volume-chain"?: boolean;
                                    sparse?: boolean;
                                    subdir?: string;
                                    tagged_only?: boolean;
                                    username?: string;
                                    "zfs-base-path"?: string;
                                };
                                $path: { storage: string };
                            },
                        >,
                    ],
                ) => Promise<
                    {
                        config?: { "encryption-key"?: string };
                        storage: string;
                        type:
                            | "rbd"
                            | "cephfs"
                            | "esxi"
                            | "btrfs"
                            | "cifs"
                            | "dir"
                            | "iscsi"
                            | "iscsidirect"
                            | "lvm"
                            | "lvmthin"
                            | "nfs"
                            | "pbs"
                            | "zfs"
                            | "zfspool";
                    },
                >;
            };
        };
        version: {
            version: (
                ...args: [args?: {}],
            ) => Promise<
                {
                    console?: "applet"
                    | "vv"
                    | "html5"
                    | "xtermjs";
                    release: string;
                    repoid: string;
                    version: string;
                },
            >;
        };
    }

    Structured API surface generated from the spec. Example:

    client.api.cluster.replication.read({})
    client.api.cluster.replication.id("100-1").read({})
    events: {
        resources: () => TimerPulledEventEmitter<
            Record<
                string,
                {
                    "cgroup-mode"?: number;
                    content?: string;
                    cpu?: number;
                    disk?: number;
                    diskread?: number;
                    diskwrite?: number;
                    hastate?: string;
                    id: string;
                    level?: string;
                    lock?: string;
                    maxcpu?: number;
                    maxdisk?: number;
                    maxmem?: number;
                    mem?: number;
                    memhost?: number;
                    name?: string;
                    netin?: number;
                    netout?: number;
                    network?: string;
                    "network-type"?: "zone"
                    | "fabric";
                    node?: string;
                    plugintype?: string;
                    pool?: string;
                    protocol?: string;
                    sdn?: string;
                    status?: string;
                    storage?: string;
                    tags?: string;
                    template?: boolean;
                    type:
                        | "qemu"
                        | "lxc"
                        | "storage"
                        | "node"
                        | "sdn"
                        | "pool"
                        | "openvz"
                        | "network";
                    uptime?: number;
                    vmid?: number;
                    "zone-type"?: string;
                },
            >,
        >;
        stopListening: () => void;
        tasks: () => TimerPulledEventEmitter<
            Record<
                string,
                {
                    endtime?: number;
                    id: string;
                    node: string;
                    starttime?: number;
                    status?: string;
                    type: string;
                    upid: string;
                    user: string;
                },
            > & {
                task: {
                    endtime?: number;
                    id: string;
                    node: string;
                    starttime?: number;
                    status?: string;
                    type: string;
                    upid: string;
                    user: string;
                };
            },
        >;
    } = ...
    helpers: {
        display: (vmid: string | number) => Display;
        terminal: (vmid: string | number) => Terminal;
    } = ...
    task: {
        listen: (
            upid: string,
            handler?: TaskUpdateHandler,
            checkInterval?: number,
        ) => TaskSubscription;
        wait: (
            upid: string,
            handler?: TaskUpdateHandler,
            checkInterval?: number,
        ) => Promise<string[]>;
    } = ...

    Methods

    • Log in using username/password (ticket + CSRF). Only applicable if you constructed the client with username/password.

      Returns Promise<Client>

    • Typed request function using the ProxmoxAPI mapping.

      • GET/DELETE use $query
      • POST/PUT/PATCH use $body (sent as application/x-www-form-urlencoded, matching Proxmox conventions)
      • Returns json.data when present (Proxmox wraps most results in { data: ... })

      Type Parameters

      • P extends
            | (keyof AccessAPI)
            | (keyof ClusterAPI)
            | (keyof NodesAPI)
            | (keyof PoolsAPI)
            | (keyof StorageAPI)
            | "/version"
      • M extends "GET" | "POST" | "PUT" | "DELETE" | "PATCH"

      Parameters

      • path: P
      • method: M
      • args: Params<P, M>
      • OptionalrequestInit: RequestInit

      Returns Promise<Ret<P, M>>

    • Returns string | undefined

    • Returns string | undefined

    • Parameters

      • path: string
      • Optionalquery: Record<string, any>

      Returns string