UNPKG

@corsinvest/cv4pve-api-javascript

Version:
1,413 lines 457 kB
/** * Proxmox VE Client Api */ export class PveClient extends PveClientBase { /** * Add index parameter to parameters * @param {object} parameters Parameters * @param {string} name name * @param {array} values values */ addIndexedParameter(parameters: object, name: string, values: any[]): void; /** * Get Cluster * @returns {PVECluster} */ get cluster(): PVECluster; /** * Get Nodes * @returns {PVENodes} */ get nodes(): PVENodes; /** * Get Storage * @returns {PVEStorage} */ get storage(): PVEStorage; /** * Get Access * @returns {PVEAccess} */ get access(): PVEAccess; /** * Get Pools * @returns {PVEPools} */ get pools(): PVEPools; /** * Get Version * @returns {PVEVersion} */ get version(): PVEVersion; #private; } /** * Proxmox VE Client Api Base */ export class PveClientBase { /** * Constructor * * @param {string} hostname * @param {int} port */ constructor(hostname: string, port?: int); /** * Get host name */ get hostname(): string; /** * Get port */ get port(): number; /** * Set response type */ set responseType(value: string); /** * Get response type */ get responseType(): string; /** * Get last result */ get lastResult(): Result; /** * Set Api token */ set apiToken(value: string); /** * Get Api token */ get apiToken(): string; /** * Set Api token */ set logEnabled(value: any); /** * Log enabled */ get logEnabled(): any; /** * Login * * @param {string} username * @param {string} password * @param {string} realm pam/pve or custom * @param {string} otp One-time password for Two-factor authentication. * @returns {Promise<boolean>} */ login(username: string, password: string, realm?: string, otp?: string): Promise<boolean>; /** * Get * * @param {string} resource * @param {object} parameters * @returns {Promise<Result>} */ get(resource: string, parameters?: object): Promise<Result>; /** * Set * * @param {string} resource * @param {object} parameters * @returns {Promise<Result>} */ set(resource: string, parameters?: object): Promise<Result>; /** * Create * * @param {string} resource * @param {object} parameters * @returns {Promise<Result>} */ create(resource: string, parameters?: object): Promise<Result>; /** * Delete * * @param {string} resource * @param {object} parameters * @returns {Promise<Result>} */ delete(resource: string, parameters?: object): Promise<Result>; /** * Wait for task to finish * * @param {string} task Task identifier * @param {int} wait Millisecond wait next check * @param {int} timeOut Millisecond timeout * @return {Promise<boolean>} */ waitForTaskToFinish(task: string, wait?: int, timeOut?: int): Promise<boolean>; /** * Task is running * * @param {string} task Task identifier * @returns {Promise<boolean>} */ taskIsRunning(task: string): Promise<boolean>; /** * Get exists status task. * * @param {string} task Task identifier * @returns {Promise<string>} */ getExitStatusTask(task: string): Promise<string>; /** * Read task status. * * @param {string} task * @returns {Promise<Result>} */ readTaskStatus(task: string): Promise<Result>; #private; } /** * Result */ export class Result { /** * * @param {string} response * @param {int} statusCode * @param {string} reasonPhrase * @param {string} requestResource * @param {object} requestParameters * @param {string} methodType * @param {string} responseType */ constructor(response: string, statusCode: int, reasonPhrase: string, requestResource: string, requestParameters: object, methodType: string, responseType: string); /** * Get response */ get response(): any; /** * Get status code */ get statusCode(): number; /** * Get reason phrase */ get reasonPhrase(): string; /** * Get request resource */ get requestResource(): string; /** * Get request parameters */ get requestParameters(): any; /** * Get method type */ get methodType(): string; /** * Get response type */ get responseType(): string; /** * Is success code */ get isSuccessStatusCode(): boolean; /** * Get if response Proxmox VE contain errors */ get responseInError(): boolean; /** * ToString * * @returns info class */ toString(): string; #private; } /** * Response type */ export class ResponseType { static JSON: string; static PNG: string; } /** * Class PVECluster */ declare class PVECluster { constructor(client: any); /** * Get ClusterReplication * @returns {PVEClusterReplication} */ get replication(): PVEClusterReplication; /** * Get ClusterMetrics * @returns {PVEClusterMetrics} */ get metrics(): PVEClusterMetrics; /** * Get ClusterNotifications * @returns {PVEClusterNotifications} */ get notifications(): PVEClusterNotifications; /** * Get ClusterConfig * @returns {PVEClusterConfig} */ get config(): PVEClusterConfig; /** * Get ClusterFirewall * @returns {PVEClusterFirewall} */ get firewall(): PVEClusterFirewall; /** * Get ClusterBackup * @returns {PVEClusterBackup} */ get backup(): PVEClusterBackup; /** * Get ClusterBackupInfo * @returns {PVEClusterBackupInfo} */ get backupInfo(): PVEClusterBackupInfo; /** * Get ClusterHa * @returns {PVEClusterHa} */ get ha(): PVEClusterHa; /** * Get ClusterAcme * @returns {PVEClusterAcme} */ get acme(): PVEClusterAcme; /** * Get ClusterCeph * @returns {PVEClusterCeph} */ get ceph(): PVEClusterCeph; /** * Get ClusterJobs * @returns {PVEClusterJobs} */ get jobs(): PVEClusterJobs; /** * Get ClusterMapping * @returns {PVEClusterMapping} */ get mapping(): PVEClusterMapping; /** * Get ClusterSdn * @returns {PVEClusterSdn} */ get sdn(): PVEClusterSdn; /** * Get ClusterLog * @returns {PVEClusterLog} */ get log(): PVEClusterLog; /** * Get ClusterResources * @returns {PVEClusterResources} */ get resources(): PVEClusterResources; /** * Get ClusterTasks * @returns {PVEClusterTasks} */ get tasks(): PVEClusterTasks; /** * Get ClusterOptions * @returns {PVEClusterOptions} */ get options(): PVEClusterOptions; /** * Get ClusterStatus * @returns {PVEClusterStatus} */ get status(): PVEClusterStatus; /** * Get ClusterNextid * @returns {PVEClusterNextid} */ get nextid(): PVEClusterNextid; /** * Cluster index. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVENodes */ declare class PVENodes { constructor(client: any); /** * Get ItemNodesNode * @param node * @returns {PVEItemNodesNode} */ get(node: any): PVEItemNodesNode; /** * Cluster node index. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEStorage */ declare class PVEStorage { constructor(client: any); /** * Get ItemStorageStorage * @param storage * @returns {PVEItemStorageStorage} */ get(storage: any): PVEItemStorageStorage; /** * Storage index. * @param {string} type Only list storage of specific type * Enum: btrfs,cephfs,cifs,dir,esxi,glusterfs,iscsi,iscsidirect,lvm,lvmthin,nfs,pbs,rbd,zfs,zfspool * @returns {Promise<Result>} */ index(type: string): Promise<Result>; /** * Create a new storage. * @param {string} storage The storage identifier. * @param {string} type Storage type. * Enum: btrfs,cephfs,cifs,dir,esxi,glusterfs,iscsi,iscsidirect,lvm,lvmthin,nfs,pbs,rbd,zfs,zfspool * @param {string} authsupported Authsupported. * @param {string} base Base volume. This volume is automatically activated. * @param {string} blocksize block size * @param {string} bwlimit Set I/O bandwidth limit for various operations (in KiB/s). * @param {string} comstar_hg host group for comstar views * @param {string} comstar_tg target group for comstar views * @param {string} content Allowed content types. NOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs. * @param {string} content_dirs Overrides for default content type directories. * @param {boolean} create_base_path Create the base directory if it doesn't exist. * @param {boolean} create_subdirs Populate the directory with the default structure. * @param {string} data_pool Data Pool (for erasure coding only) * @param {string} datastore Proxmox Backup Server datastore name. * @param {boolean} disable Flag to disable the storage. * @param {string} domain CIFS domain. * @param {string} encryption_key Encryption key. Use 'autogen' to generate one automatically without passphrase. * @param {string} export_ NFS export path. * @param {string} fingerprint Certificate SHA 256 fingerprint. * @param {string} format Default image format. * Enum: raw,qcow2,subvol,vmdk * @param {string} fs_name The Ceph filesystem name. * @param {boolean} fuse Mount CephFS through FUSE. * @param {string} is_mountpoint Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field. * @param {string} iscsiprovider iscsi provider * @param {string} keyring Client keyring contents (for external clusters). * @param {boolean} krbd Always access rbd through krbd kernel module. * @param {string} lio_tpg target portal group for Linux LIO targets * @param {string} master_pubkey Base64-encoded, PEM-formatted public RSA key. Used to encrypt a copy of the encryption-key which will be added to each encrypted backup. * @param {int} max_protected_backups Maximal number of protected backups per guest. Use '-1' for unlimited. * @param {int} maxfiles Deprecated: use 'prune-backups' instead. Maximal number of backup files per VM. Use '0' for unlimited. * @param {boolean} mkdir Create the directory if it doesn't exist and populate it with default sub-dirs. NOTE: Deprecated, use the 'create-base-path' and 'create-subdirs' options instead. * @param {string} monhost IP addresses of monitors (for external clusters). * @param {string} mountpoint mount point * @param {string} namespace Namespace. * @param {boolean} nocow Set the NOCOW flag on files. Disables data checksumming and causes data errors to be unrecoverable from while allowing direct I/O. Only use this if data does not need to be any more safe than on a single ext4 formatted disk with no underlying raid system. * @param {string} nodes List of nodes for which the storage configuration applies. * @param {boolean} nowritecache disable write caching on the target * @param {string} options NFS/CIFS mount options (see 'man nfs' or 'man mount.cifs') * @param {string} password Password for accessing the share/datastore. * @param {string} path File system path. * @param {string} pool Pool. * @param {int} port Use this port to connect to the storage instead of the default one (for example, with PBS or ESXi). For NFS and CIFS, use the 'options' option to configure the port via the mount options. * @param {string} portal iSCSI portal (IP or DNS name with optional port). * @param {string} preallocation Preallocation mode for raw and qcow2 images. Using 'metadata' on raw images results in preallocation=off. * Enum: off,metadata,falloc,full * @param {string} prune_backups The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups. * @param {boolean} saferemove Zero-out data when removing LVs. * @param {string} saferemove_throughput Wipe throughput (cstream -t parameter value). * @param {string} server Server IP or DNS name. * @param {string} server2 Backup volfile server IP or DNS name. * @param {string} share CIFS share. * @param {boolean} shared Indicate that this is a single storage with the same contents on all nodes (or all listed in the 'nodes' option). It will not make the contents of a local storage automatically accessible to other nodes, it just marks an already shared storage as such! * @param {boolean} skip_cert_verification Disable TLS certificate verification, only enable on fully trusted networks! * @param {string} smbversion SMB protocol version. 'default' if not set, negotiates the highest SMB2+ version supported by both the client and server. * Enum: default,2.0,2.1,3,3.0,3.11 * @param {boolean} sparse use sparse volumes * @param {string} subdir Subdir to mount. * @param {boolean} tagged_only Only use logical volumes tagged with 'pve-vm-ID'. * @param {string} target iSCSI target. * @param {string} thinpool LVM thin pool LV name. * @param {string} transport Gluster transport: tcp or rdma * Enum: tcp,rdma,unix * @param {string} username RBD Id. * @param {string} vgname Volume group name. * @param {string} volume Glusterfs Volume. * @returns {Promise<Result>} */ create(storage: string, type: string, 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: string, fs_name: string, fuse: boolean, is_mountpoint: string, iscsiprovider: string, keyring: string, krbd: boolean, lio_tpg: string, master_pubkey: string, max_protected_backups: int, maxfiles: int, mkdir: boolean, monhost: string, mountpoint: string, namespace: string, nocow: boolean, nodes: string, nowritecache: boolean, options: string, password: string, path: string, pool: string, port: int, portal: string, preallocation: string, prune_backups: string, saferemove: boolean, saferemove_throughput: string, server: string, server2: string, share: string, shared: boolean, skip_cert_verification: boolean, smbversion: string, sparse: boolean, subdir: string, tagged_only: boolean, target: string, thinpool: string, transport: string, username: string, vgname: string, volume: string): Promise<Result>; #private; } /** * Class PVEAccess */ declare class PVEAccess { constructor(client: any); /** * Get AccessUsers * @returns {PVEAccessUsers} */ get users(): PVEAccessUsers; /** * Get AccessGroups * @returns {PVEAccessGroups} */ get groups(): PVEAccessGroups; /** * Get AccessRoles * @returns {PVEAccessRoles} */ get roles(): PVEAccessRoles; /** * Get AccessAcl * @returns {PVEAccessAcl} */ get acl(): PVEAccessAcl; /** * Get AccessDomains * @returns {PVEAccessDomains} */ get domains(): PVEAccessDomains; /** * Get AccessOpenid * @returns {PVEAccessOpenid} */ get openid(): PVEAccessOpenid; /** * Get AccessTfa * @returns {PVEAccessTfa} */ get tfa(): PVEAccessTfa; /** * Get AccessTicket * @returns {PVEAccessTicket} */ get ticket(): PVEAccessTicket; /** * Get AccessPassword * @returns {PVEAccessPassword} */ get password(): PVEAccessPassword; /** * Get AccessPermissions * @returns {PVEAccessPermissions} */ get permissions(): PVEAccessPermissions; /** * Directory index. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEPools */ declare class PVEPools { constructor(client: any); /** * Get ItemPoolsPoolid * @param poolid * @returns {PVEItemPoolsPoolid} */ get(poolid: any): PVEItemPoolsPoolid; /** * Delete pool. * @param {string} poolid * @returns {Promise<Result>} */ deletePool(poolid: string): Promise<Result>; /** * List pools or get pool configuration. * @param {string} poolid * @param {string} type * Enum: qemu,lxc,storage * @returns {Promise<Result>} */ index(poolid: string, type: string): Promise<Result>; /** * Create new pool. * @param {string} poolid * @param {string} comment * @returns {Promise<Result>} */ createPool(poolid: string, comment: string): Promise<Result>; /** * Update pool. * @param {string} poolid * @param {boolean} allow_move Allow adding a guest even if already in another pool. The guest will be removed from its current pool and added to this one. * @param {string} comment * @param {boolean} delete_ Remove the passed VMIDs and/or storage IDs instead of adding them. * @param {string} storage List of storage IDs to add or remove from this pool. * @param {string} vms List of guest VMIDs to add or remove from this pool. * @returns {Promise<Result>} */ updatePool(poolid: string, allow_move: boolean, comment: string, delete_: boolean, storage: string, vms: string): Promise<Result>; #private; } /** * Class PVEVersion */ declare class PVEVersion { constructor(client: any); /** * API version details, including some parts of the global datacenter config. * @returns {Promise<Result>} */ version(): Promise<Result>; #private; } /** * Class PVEClusterReplication */ declare class PVEClusterReplication { constructor(client: any); /** * Get ItemReplicationClusterId * @param id * @returns {PVEItemReplicationClusterId} */ get(id: any): PVEItemReplicationClusterId; /** * List replication jobs. * @returns {Promise<Result>} */ index(): Promise<Result>; /** * Create a new replication job * @param {string} id Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '&amp;lt;GUEST&amp;gt;-&amp;lt;JOBNUM&amp;gt;'. * @param {string} target Target node. * @param {string} type Section type. * Enum: local * @param {string} comment Description. * @param {boolean} disable Flag to disable/deactivate the entry. * @param {float} rate Rate limit in mbps (megabytes per second) as floating point number. * @param {string} remove_job Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file. * Enum: local,full * @param {string} schedule Storage replication schedule. The format is a subset of `systemd` calendar events. * @param {string} source For internal use, to detect if the guest was stolen. * @returns {Promise<Result>} */ create(id: string, target: string, type: string, comment: string, disable: boolean, rate: float, remove_job: string, schedule: string, source: string): Promise<Result>; #private; } /** * Class PVEClusterMetrics */ declare class PVEClusterMetrics { constructor(client: any); /** * Get MetricsClusterServer * @returns {PVEMetricsClusterServer} */ get server(): PVEMetricsClusterServer; /** * Get MetricsClusterExport * @returns {PVEMetricsClusterExport} */ get export(): PVEMetricsClusterExport; /** * Metrics index. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEClusterNotifications */ declare class PVEClusterNotifications { constructor(client: any); /** * Get NotificationsClusterMatcherFields * @returns {PVENotificationsClusterMatcherFields} */ get matcherFields(): PVENotificationsClusterMatcherFields; /** * Get NotificationsClusterMatcherFieldValues * @returns {PVENotificationsClusterMatcherFieldValues} */ get matcherFieldValues(): PVENotificationsClusterMatcherFieldValues; /** * Get NotificationsClusterEndpoints * @returns {PVENotificationsClusterEndpoints} */ get endpoints(): PVENotificationsClusterEndpoints; /** * Get NotificationsClusterTargets * @returns {PVENotificationsClusterTargets} */ get targets(): PVENotificationsClusterTargets; /** * Get NotificationsClusterMatchers * @returns {PVENotificationsClusterMatchers} */ get matchers(): PVENotificationsClusterMatchers; /** * Index for notification-related API endpoints. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEClusterConfig */ declare class PVEClusterConfig { constructor(client: any); /** * Get ConfigClusterApiversion * @returns {PVEConfigClusterApiversion} */ get apiversion(): PVEConfigClusterApiversion; /** * Get ConfigClusterNodes * @returns {PVEConfigClusterNodes} */ get nodes(): PVEConfigClusterNodes; /** * Get ConfigClusterJoin * @returns {PVEConfigClusterJoin} */ get join(): PVEConfigClusterJoin; /** * Get ConfigClusterTotem * @returns {PVEConfigClusterTotem} */ get totem(): PVEConfigClusterTotem; /** * Get ConfigClusterQdevice * @returns {PVEConfigClusterQdevice} */ get qdevice(): PVEConfigClusterQdevice; /** * Directory index. * @returns {Promise<Result>} */ index(): Promise<Result>; /** * Generate new cluster configuration. If no links given, default to local IP address as link0. * @param {string} clustername The name of the cluster. * @param {array} linkN Address and priority information of a single corosync link. (up to 8 links supported; link0..link7) * @param {int} nodeid Node id for this node. * @param {int} votes Number of votes for this node. * @returns {Promise<Result>} */ create(clustername: string, linkN: any[], nodeid: int, votes: int): Promise<Result>; #private; } /** * Class PVEClusterFirewall */ declare class PVEClusterFirewall { constructor(client: any); /** * Get FirewallClusterGroups * @returns {PVEFirewallClusterGroups} */ get groups(): PVEFirewallClusterGroups; /** * Get FirewallClusterRules * @returns {PVEFirewallClusterRules} */ get rules(): PVEFirewallClusterRules; /** * Get FirewallClusterIpset * @returns {PVEFirewallClusterIpset} */ get ipset(): PVEFirewallClusterIpset; /** * Get FirewallClusterAliases * @returns {PVEFirewallClusterAliases} */ get aliases(): PVEFirewallClusterAliases; /** * Get FirewallClusterOptions * @returns {PVEFirewallClusterOptions} */ get options(): PVEFirewallClusterOptions; /** * Get FirewallClusterMacros * @returns {PVEFirewallClusterMacros} */ get macros(): PVEFirewallClusterMacros; /** * Get FirewallClusterRefs * @returns {PVEFirewallClusterRefs} */ get refs(): PVEFirewallClusterRefs; /** * Directory index. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEClusterBackup */ declare class PVEClusterBackup { constructor(client: any); /** * Get ItemBackupClusterId * @param id * @returns {PVEItemBackupClusterId} */ get(id: any): PVEItemBackupClusterId; /** * List vzdump backup schedule. * @returns {Promise<Result>} */ index(): Promise<Result>; /** * Create new vzdump backup job. * @param {boolean} all Backup all known guest systems on this host. * @param {int} bwlimit Limit I/O bandwidth (in KiB/s). * @param {string} comment Description for the Job. * @param {string} compress Compress dump file. * Enum: 0,1,gzip,lzo,zstd * @param {string} dow Day of week selection. * @param {string} dumpdir Store resulting files to specified directory. * @param {boolean} enabled Enable or disable the job. * @param {string} exclude Exclude specified guest systems (assumes --all) * @param {array} exclude_path Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory. * @param {string} fleecing Options for backup fleecing (VM only). * @param {string} id Job ID (will be autogenerated). * @param {int} ionice Set IO priority when using the BFQ scheduler. For snapshot and suspend mode backups of VMs, this only affects the compressor. A value of 8 means the idle priority is used, otherwise the best-effort priority is used with the specified value. * @param {int} lockwait Maximal time to wait for the global lock (minutes). * @param {string} mailnotification Deprecated: use notification targets/matchers instead. Specify when to send a notification mail * Enum: always,failure * @param {string} mailto Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications. * @param {int} maxfiles Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system. * @param {string} mode Backup mode. * Enum: snapshot,suspend,stop * @param {string} node Only run if executed on this node. * @param {string} notes_template Template string for generating notes for the backup(s). It can contain variables which will be replaced by their values. Currently supported are {{cluster}}, {{guestname}}, {{node}}, and {{vmid}}, but more might be added in the future. Needs to be a single line, newline and backslash need to be escaped as '\n' and '\\' respectively. * @param {string} notification_mode Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not. * Enum: auto,legacy-sendmail,notification-system * @param {string} notification_policy Deprecated: Do not use * Enum: always,failure,never * @param {string} notification_target Deprecated: Do not use * @param {string} pbs_change_detection_mode PBS mode used to detect file changes and switch encoding format for container backups. * Enum: legacy,data,metadata * @param {string} performance Other performance-related settings. * @param {int} pigz Use pigz instead of gzip when N&amp;gt;0. N=1 uses half of cores, N&amp;gt;1 uses N as thread count. * @param {string} pool Backup all known guest systems included in the specified pool. * @param {boolean} protected_ If true, mark backup(s) as protected. * @param {string} prune_backups Use these retention options instead of those from the storage configuration. * @param {boolean} quiet Be quiet. * @param {boolean} remove Prune older backups according to 'prune-backups'. * @param {boolean} repeat_missed If true, the job will be run as soon as possible if it was missed while the scheduler was not running. * @param {string} schedule Backup schedule. The format is a subset of `systemd` calendar events. * @param {string} script Use specified hook script. * @param {string} starttime Job Start time. * @param {boolean} stdexcludes Exclude temporary files and logs. * @param {boolean} stop Stop running backup jobs on this host. * @param {int} stopwait Maximal time to wait until a guest system is stopped (minutes). * @param {string} storage Store resulting file to this storage. * @param {string} tmpdir Store temporary files to specified directory. * @param {string} vmid The ID of the guest system you want to backup. * @param {int} zstd Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count. * @returns {Promise<Result>} */ createJob(all: boolean, bwlimit: int, comment: string, compress: string, dow: string, dumpdir: string, enabled: boolean, exclude: string, exclude_path: any[], fleecing: string, id: string, ionice: int, lockwait: int, mailnotification: string, mailto: string, maxfiles: int, mode: string, node: string, notes_template: string, notification_mode: string, notification_policy: string, notification_target: string, pbs_change_detection_mode: string, performance: string, pigz: int, 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: int, storage: string, tmpdir: string, vmid: string, zstd: int): Promise<Result>; #private; } /** * Class PVEClusterBackupInfo */ declare class PVEClusterBackupInfo { constructor(client: any); /** * Get BackupInfoClusterNotBackedUp * @returns {PVEBackupInfoClusterNotBackedUp} */ get notBackedUp(): PVEBackupInfoClusterNotBackedUp; /** * Index for backup info related endpoints * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEClusterHa */ declare class PVEClusterHa { constructor(client: any); /** * Get HaClusterResources * @returns {PVEHaClusterResources} */ get resources(): PVEHaClusterResources; /** * Get HaClusterGroups * @returns {PVEHaClusterGroups} */ get groups(): PVEHaClusterGroups; /** * Get HaClusterStatus * @returns {PVEHaClusterStatus} */ get status(): PVEHaClusterStatus; /** * Directory index. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEClusterAcme */ declare class PVEClusterAcme { constructor(client: any); /** * Get AcmeClusterPlugins * @returns {PVEAcmeClusterPlugins} */ get plugins(): PVEAcmeClusterPlugins; /** * Get AcmeClusterAccount * @returns {PVEAcmeClusterAccount} */ get account(): PVEAcmeClusterAccount; /** * Get AcmeClusterTos * @returns {PVEAcmeClusterTos} */ get tos(): PVEAcmeClusterTos; /** * Get AcmeClusterMeta * @returns {PVEAcmeClusterMeta} */ get meta(): PVEAcmeClusterMeta; /** * Get AcmeClusterDirectories * @returns {PVEAcmeClusterDirectories} */ get directories(): PVEAcmeClusterDirectories; /** * Get AcmeClusterChallengeSchema * @returns {PVEAcmeClusterChallengeSchema} */ get challengeSchema(): PVEAcmeClusterChallengeSchema; /** * ACMEAccount index. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEClusterCeph */ declare class PVEClusterCeph { constructor(client: any); /** * Get CephClusterMetadata * @returns {PVECephClusterMetadata} */ get metadata(): PVECephClusterMetadata; /** * Get CephClusterStatus * @returns {PVECephClusterStatus} */ get status(): PVECephClusterStatus; /** * Get CephClusterFlags * @returns {PVECephClusterFlags} */ get flags(): PVECephClusterFlags; /** * Cluster ceph index. * @returns {Promise<Result>} */ cephindex(): Promise<Result>; #private; } /** * Class PVEClusterJobs */ declare class PVEClusterJobs { constructor(client: any); /** * Get JobsClusterRealmSync * @returns {PVEJobsClusterRealmSync} */ get realmSync(): PVEJobsClusterRealmSync; /** * Get JobsClusterScheduleAnalyze * @returns {PVEJobsClusterScheduleAnalyze} */ get scheduleAnalyze(): PVEJobsClusterScheduleAnalyze; /** * Index for jobs related endpoints. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEClusterMapping */ declare class PVEClusterMapping { constructor(client: any); /** * Get MappingClusterDir * @returns {PVEMappingClusterDir} */ get dir(): PVEMappingClusterDir; /** * Get MappingClusterPci * @returns {PVEMappingClusterPci} */ get pci(): PVEMappingClusterPci; /** * Get MappingClusterUsb * @returns {PVEMappingClusterUsb} */ get usb(): PVEMappingClusterUsb; /** * List resource types. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEClusterSdn */ declare class PVEClusterSdn { constructor(client: any); /** * Get SdnClusterVnets * @returns {PVESdnClusterVnets} */ get vnets(): PVESdnClusterVnets; /** * Get SdnClusterZones * @returns {PVESdnClusterZones} */ get zones(): PVESdnClusterZones; /** * Get SdnClusterControllers * @returns {PVESdnClusterControllers} */ get controllers(): PVESdnClusterControllers; /** * Get SdnClusterIpams * @returns {PVESdnClusterIpams} */ get ipams(): PVESdnClusterIpams; /** * Get SdnClusterDns * @returns {PVESdnClusterDns} */ get dns(): PVESdnClusterDns; /** * Directory index. * @returns {Promise<Result>} */ index(): Promise<Result>; /** * Apply sdn controller changes &amp;&amp; reload. * @returns {Promise<Result>} */ reload(): Promise<Result>; #private; } /** * Class PVEClusterLog */ declare class PVEClusterLog { constructor(client: any); /** * Read cluster log * @param {int} max Maximum number of entries. * @returns {Promise<Result>} */ log(max: int): Promise<Result>; #private; } /** * Class PVEClusterResources */ declare class PVEClusterResources { constructor(client: any); /** * Resources index (cluster wide). * @param {string} type Resource type. * Enum: vm,storage,node,sdn * @returns {Promise<Result>} */ resources(type: string): Promise<Result>; #private; } /** * Class PVEClusterTasks */ declare class PVEClusterTasks { constructor(client: any); /** * List recent tasks (cluster wide). * @returns {Promise<Result>} */ tasks(): Promise<Result>; #private; } /** * Class PVEClusterOptions */ declare class PVEClusterOptions { constructor(client: any); /** * Get datacenter options. Without 'Sys.Audit' on '/' not all options are returned. * @returns {Promise<Result>} */ getOptions(): Promise<Result>; /** * Set datacenter options. * @param {string} bwlimit Set I/O bandwidth limit for various operations (in KiB/s). * @param {string} consent_text Consent text that is displayed before logging in. * @param {string} console Select the default Console viewer. You can either use the builtin java applet (VNC; deprecated and maps to html5), an external virt-viewer comtatible application (SPICE), an HTML5 based vnc viewer (noVNC), or an HTML5 based console client (xtermjs). If the selected viewer is not available (e.g. SPICE not activated for the VM), the fallback is noVNC. * Enum: applet,vv,html5,xtermjs * @param {string} crs Cluster resource scheduling settings. * @param {string} delete_ A list of settings you want to delete. * @param {string} description Datacenter description. Shown in the web-interface datacenter notes panel. This is saved as comment inside the configuration file. * @param {string} email_from Specify email address to send notification from (default is root@$hostname) * @param {string} fencing Set the fencing mode of the HA cluster. Hardware mode needs a valid configuration of fence devices in /etc/pve/ha/fence.cfg. With both all two modes are used. WARNING: 'hardware' and 'both' are EXPERIMENTAL &amp; WIP * Enum: watchdog,hardware,both * @param {string} ha Cluster wide HA settings. * @param {string} http_proxy Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/') * @param {string} keyboard Default keybord layout for vnc server. * Enum: de,de-ch,da,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 * @param {string} language Default GUI language. * Enum: ar,ca,da,de,en,es,eu,fa,fr,hr,he,it,ja,ka,kr,nb,nl,nn,pl,pt_BR,ru,sl,sv,tr,ukr,zh_CN,zh_TW * @param {string} mac_prefix Prefix for the auto-generated MAC addresses of virtual guests. The default 'BC:24:11' is the OUI assigned by the IEEE to Proxmox Server Solutions GmbH for a 24-bit large MAC block. You're allowed to use this in local networks, i.e., those not directly reachable by the public (e.g., in a LAN or behind NAT). * @param {int} max_workers Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager. * @param {string} migration For cluster wide migration settings. * @param {boolean} migration_unsecure Migration is secure using SSH tunnel by default. For secure private networks you can disable it to speed up migration. Deprecated, use the 'migration' property instead! * @param {string} next_id Control the range for the free VMID auto-selection pool. * @param {string} notify Cluster-wide notification settings. * @param {string} registered_tags A list of tags that require a `Sys.Modify` on '/' to set and delete. Tags set here that are also in 'user-tag-access' also require `Sys.Modify`. * @param {string} tag_style Tag style options. * @param {string} u2f u2f * @param {string} user_tag_access Privilege options for user-settable tags * @param {string} webauthn webauthn configuration * @returns {Promise<Result>} */ setOptions(bwlimit: string, consent_text: string, console: string, crs: string, delete_: string, description: string, email_from: string, fencing: string, ha: string, http_proxy: string, keyboard: string, language: string, mac_prefix: string, max_workers: int, migration: string, migration_unsecure: boolean, next_id: string, notify: string, registered_tags: string, tag_style: string, u2f: string, user_tag_access: string, webauthn: string): Promise<Result>; #private; } /** * Class PVEClusterStatus */ declare class PVEClusterStatus { constructor(client: any); /** * Get cluster status information. * @returns {Promise<Result>} */ getStatus(): Promise<Result>; #private; } /** * Class PVEClusterNextid */ declare class PVEClusterNextid { constructor(client: any); /** * Get next free VMID. Pass a VMID to assert that its free (at time of check). * @param {int} vmid The (unique) ID of the VM. * @returns {Promise<Result>} */ nextid(vmid: int): Promise<Result>; #private; } /** * Class PVEItemNodesNode */ declare class PVEItemNodesNode { constructor(client: any, node: any); /** * Get NodeNodesQemu * @returns {PVENodeNodesQemu} */ get qemu(): PVENodeNodesQemu; /** * Get NodeNodesLxc * @returns {PVENodeNodesLxc} */ get lxc(): PVENodeNodesLxc; /** * Get NodeNodesCeph * @returns {PVENodeNodesCeph} */ get ceph(): PVENodeNodesCeph; /** * Get NodeNodesVzdump * @returns {PVENodeNodesVzdump} */ get vzdump(): PVENodeNodesVzdump; /** * Get NodeNodesServices * @returns {PVENodeNodesServices} */ get services(): PVENodeNodesServices; /** * Get NodeNodesSubscription * @returns {PVENodeNodesSubscription} */ get subscription(): PVENodeNodesSubscription; /** * Get NodeNodesNetwork * @returns {PVENodeNodesNetwork} */ get network(): PVENodeNodesNetwork; /** * Get NodeNodesTasks * @returns {PVENodeNodesTasks} */ get tasks(): PVENodeNodesTasks; /** * Get NodeNodesScan * @returns {PVENodeNodesScan} */ get scan(): PVENodeNodesScan; /** * Get NodeNodesHardware * @returns {PVENodeNodesHardware} */ get hardware(): PVENodeNodesHardware; /** * Get NodeNodesCapabilities * @returns {PVENodeNodesCapabilities} */ get capabilities(): PVENodeNodesCapabilities; /** * Get NodeNodesStorage * @returns {PVENodeNodesStorage} */ get storage(): PVENodeNodesStorage; /** * Get NodeNodesDisks * @returns {PVENodeNodesDisks} */ get disks(): PVENodeNodesDisks; /** * Get NodeNodesApt * @returns {PVENodeNodesApt} */ get apt(): PVENodeNodesApt; /** * Get NodeNodesFirewall * @returns {PVENodeNodesFirewall} */ get firewall(): PVENodeNodesFirewall; /** * Get NodeNodesReplication * @returns {PVENodeNodesReplication} */ get replication(): PVENodeNodesReplication; /** * Get NodeNodesCertificates * @returns {PVENodeNodesCertificates} */ get certificates(): PVENodeNodesCertificates; /** * Get NodeNodesConfig * @returns {PVENodeNodesConfig} */ get config(): PVENodeNodesConfig; /** * Get NodeNodesSdn * @returns {PVENodeNodesSdn} */ get sdn(): PVENodeNodesSdn; /** * Get NodeNodesVersion * @returns {PVENodeNodesVersion} */ get version(): PVENodeNodesVersion; /** * Get NodeNodesStatus * @returns {PVENodeNodesStatus} */ get status(): PVENodeNodesStatus; /** * Get NodeNodesNetstat * @returns {PVENodeNodesNetstat} */ get netstat(): PVENodeNodesNetstat; /** * Get NodeNodesExecute * @returns {PVENodeNodesExecute} */ get execute(): PVENodeNodesExecute; /** * Get NodeNodesWakeonlan * @returns {PVENodeNodesWakeonlan} */ get wakeonlan(): PVENodeNodesWakeonlan; /** * Get NodeNodesRrd * @returns {PVENodeNodesRrd} */ get rrd(): PVENodeNodesRrd; /** * Get NodeNodesRrddata * @returns {PVENodeNodesRrddata} */ get rrddata(): PVENodeNodesRrddata; /** * Get NodeNodesSyslog * @returns {PVENodeNodesSyslog} */ get syslog(): PVENodeNodesSyslog; /** * Get NodeNodesJournal * @returns {PVENodeNodesJournal} */ get journal(): PVENodeNodesJournal; /** * Get NodeNodesVncshell * @returns {PVENodeNodesVncshell} */ get vncshell(): PVENodeNodesVncshell; /** * Get NodeNodesTermproxy * @returns {PVENodeNodesTermproxy} */ get termproxy(): PVENodeNodesTermproxy; /** * Get NodeNodesVncwebsocket * @returns {PVENodeNodesVncwebsocket} */ get vncwebsocket(): PVENodeNodesVncwebsocket; /** * Get NodeNodesSpiceshell * @returns {PVENodeNodesSpiceshell} */ get spiceshell(): PVENodeNodesSpiceshell; /** * Get NodeNodesDns * @returns {PVENodeNodesDns} */ get dns(): PVENodeNodesDns; /** * Get NodeNodesTime * @returns {PVENodeNodesTime} */ get time(): PVENodeNodesTime; /** * Get NodeNodesAplinfo * @returns {PVENodeNodesAplinfo} */ get aplinfo(): PVENodeNodesAplinfo; /** * Get NodeNodesQueryUrlMetadata * @returns {PVENodeNodesQueryUrlMetadata} */ get queryUrlMetadata(): PVENodeNodesQueryUrlMetadata; /** * Get NodeNodesReport * @returns {PVENodeNodesReport} */ get report(): PVENodeNodesReport; /** * Get NodeNodesStartall * @returns {PVENodeNodesStartall} */ get startall(): PVENodeNodesStartall; /** * Get NodeNodesStopall * @returns {PVENodeNodesStopall} */ get stopall(): PVENodeNodesStopall; /** * Get NodeNodesSuspendall * @returns {PVENodeNodesSuspendall} */ get suspendall(): PVENodeNodesSuspendall; /** * Get NodeNodesMigrateall * @returns {PVENodeNodesMigrateall} */ get migrateall(): PVENodeNodesMigrateall; /** * Get NodeNodesHosts * @returns {PVENodeNodesHosts} */ get hosts(): PVENodeNodesHosts; /** * Node index. * @returns {Promise<Result>} */ index(): Promise<Result>; #private; } /** * Class PVEItemStorageStorage */ declare class PVEItemStorageStorage { constructor(client: any, storage: any); /** * Delete storage configuration. * @returns {Promise<Result>} */ delete_(): Promise<Result>; /** * Read storage configuration. * @returns {Promise<Result>} */ read(): Promise<Result>; /** * Update storage configuration. * @param {string} blocksize block size * @param {string} bwlimit Set I/O bandwidth limit for various operations (in KiB/s). * @param {string} comstar_hg host group for comstar views * @param {string} comstar_tg target group for comstar views * @param {string} content Allowed content types. NOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs. * @param {string} content_dirs Overrides for default content type directories. * @param {boolean} create_base_path Create the base directory if it doesn't exist. * @param {boolean} create_subdirs Populate the directory with the default structure. * @param {string} data_pool Data Pool (for erasure coding only) * @param {string} delete_ A list of settings you want to delete. * @param {string} digest Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. * @param {boolean} disable Flag to disable the storage. * @param {string} domain CIFS domain. * @param {string} encryption_key Encryption key. Use 'autogen' to generate one automatically without passphrase. * @param {string} fingerprint Certificate SHA 256 fingerprint. * @param {string} format Default image format. * Enum: raw,qcow2,subvol,vmdk * @param {string} fs_name The Ceph filesystem name. * @param {boolean} fuse Mount CephFS through FUSE. * @param {string} is_mountpoint Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field. * @param {string} keyring Client keyring contents (for external clusters). * @param {boolean} krbd Always access rbd through krbd kernel module. * @param {string} lio_tpg target portal group for Linux LIO targets * @param {string} master_pubkey Base64-encoded, PEM-formatted public RSA key. Used to encrypt a copy of the encryption-key which will be added to each encrypted backup. * @param {int} max_protected_backups Maximal number of protected backups per guest. Use '-1' for unlimited. * @param {int} maxfiles Deprecated: use 'prune-backups' instead. Maximal number of backup files per VM. Use '0' for unlimited. * @param {boolean} mkdir Create the directory if it doesn't exist and populate it with default sub-dirs. NOTE: Deprecated, use the 'create-base-path' and 'create-subdirs' options instead. * @param {string} monhost IP addresses of monitors (for external clusters). * @param {string} mountpoint mount point * @param {string} namespace Namespace. * @param {boolean} nocow Set the NOCOW flag on files. Disables data checksumming and causes data errors to be unrecoverable from while allowing direct I/O. Only use this if data does not need to be any more safe than on a single ext4 formatted disk with no underlying raid system. * @param {string} nodes List of nodes for which the storage configuration applies. * @param {boolean} nowritecache disable write caching on the target * @param {string} options NFS/CIFS mount options (see 'man nfs' or 'man mount.cifs') * @param {string} password Password for accessing the share/datastore. * @param {string} pool Pool. * @param {int} port Use this port to connect to the storage instead of the default one (for example, with PBS or ESXi). For NFS and CIFS, use the 'options' option to configure the port via the mount options. * @param {string} preallocation Preallocation mode for raw and qcow2 images. Using 'metadata' on raw images results in preallocation=off. * Enum: off,metadata,falloc,full * @param {string} prune_backups The retention options with shorter intervals are processed first with --keep-last being the ver