Readonlyapi
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: