@vates/types 1.27.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/common.d.mts CHANGED
@@ -605,6 +605,8 @@ export type XapiPoolStats = Record<XoHost['id'], XapiHostStats | {
605
605
  }>;
606
606
  export type TrafficRuleProtocol = (typeof TRAFFIC_RULE_PROTOCOLS)[number];
607
607
  export declare const SDN_CONTROLLER_OF_RULES_KEY = "xo:sdn-controller:of-rules";
608
+ export declare const SDN_CONTROLLER_OF_METHOD_KEY = "xo:sdn-controller:of-method";
609
+ export declare const SDN_CONTROLLER_OF_FORMAT_KEY = "xo:sdn-controller:of-format";
608
610
  export declare const TRAFFIC_RULE_PROTOCOLS: readonly ["ARP", "ICMP", "IP", "TCP", "UDP"];
609
611
  export declare const TRAFFIC_RULE_PROTOCOLS_WITH_PORT: readonly TrafficRuleProtocol[];
610
612
  export type TrafficRuleTargetType = XoNetwork['type'] | XoVif['type'];
package/dist/common.mjs CHANGED
@@ -452,5 +452,7 @@ export const SUPPORTED_VDI_FORMAT = {
452
452
  qcow2: 'qcow2',
453
453
  };
454
454
  export const SDN_CONTROLLER_OF_RULES_KEY = 'xo:sdn-controller:of-rules';
455
+ export const SDN_CONTROLLER_OF_METHOD_KEY = 'xo:sdn-controller:of-method';
456
+ export const SDN_CONTROLLER_OF_FORMAT_KEY = 'xo:sdn-controller:of-format';
455
457
  export const TRAFFIC_RULE_PROTOCOLS = ['ARP', 'ICMP', 'IP', 'TCP', 'UDP'];
456
458
  export const TRAFFIC_RULE_PROTOCOLS_WITH_PORT = ['TCP', 'UDP'];
@@ -135,6 +135,9 @@ export interface Xapi {
135
135
  deleteVif(vifId: XoVif['id']): Promise<void>;
136
136
  disconnectVif(vifId: XoVif['id']): Promise<void>;
137
137
  exportVmOva(vmRef: XenApiVm['$ref']): Promise<PassThrough>;
138
+ emergencyShutdownHost(hostId: XoHost['id']): Promise<void>;
139
+ ejectHostFromPool(hostId: XoHost['id']): Promise<void>;
140
+ host_smartReboot(hostRef: XenApiHost['$ref'], bypassBlockedSuspend?: boolean, bypassCurrentVmCheck?: boolean): Promise<void>;
138
141
  migrateVm(vmId: XoVm['id'], hostXapi: Xapi, hostId: XoHost['id'], opts?: {
139
142
  force?: boolean;
140
143
  mapVdisSrs?: Record<XoVdi['id'], XoSr['id']>;
@@ -164,6 +167,13 @@ export interface Xapi {
164
167
  vm: XenApiVmWrapped;
165
168
  }>;
166
169
  forgetSr(id: XoSr['id']): Promise<void>;
170
+ forgetHost(hostId: XoHost['id']): Promise<void>;
171
+ powerOnHost(hostId: XoHost['id']): Promise<void>;
172
+ rebootHost(hostId: XoHost['id'], force?: boolean): Promise<void>;
173
+ shutdownHost(hostId: XoHost['id'], opts?: {
174
+ force?: boolean;
175
+ bypassEvacuate?: boolean;
176
+ }): Promise<void>;
167
177
  SR_importVdi(ref: XenApiSr['$ref'], stream: Readable, opts?: {
168
178
  format?: SUPPORTED_VDI_FORMAT;
169
179
  name_description?: XoVdi['name_description'];
@@ -484,7 +484,9 @@ export interface XenApiHost {
484
484
  uuid: string;
485
485
  virtual_hardware_platform_versions: number[];
486
486
  }
487
- export type XenApiHostWrapped = WrapperXenApi<XenApiHost, 'host', XenApiHostCallMethods>;
487
+ export interface XenApiHostWrapped extends WrapperXenApi<XenApiHost, 'host', XenApiHostCallMethods> {
488
+ $restartAgent(): Promise<void>;
489
+ }
488
490
  export interface XenApiHostCrashdump {
489
491
  $ref: Branded<'host_crashdump'>;
490
492
  host: XenApiHost['$ref'];
package/dist/xo-app.d.mts CHANGED
@@ -2,7 +2,7 @@ import { EventEmitter } from 'node:stream';
2
2
  import type { AnyXoJob, AnyXoLog, XapiXoRecord, XoAuthenticationToken, XoBackupRepository, XoConfigBackupArchive, XoGroup, XoHost, XoPool, XoPoolBackupArchive, XoProxy, XoSchedule, XoServer, XoTask, XoUser, XoVif, XoVm, XoVmBackupArchive } from './xo.mjs';
3
3
  import { VatesTask } from './lib/vates-task.mjs';
4
4
  import { Xapi, XapiHostStats, XapiPoolStats, XapiStatsGranularity, XapiVmStats, XenApiGpuGroupWrapped, XenApiHostWrapped, XenApiMessageWrapped, XenApiNetworkWrapped, XenApiPbdWrapped, XenApiPciWrapped, XenApiPgpuWrapped, XenApiPifWrapped, XenApiPoolWrapped, XenApiSmWrapped, XenApiSrWrapped, XenApiVbdWrapped, XenApiVdiWrapped, XenApiVgpuTypeWrapped, XenApiVgpuWrapped, XenApiVifWrapped, XenApiVmWrapped, XenApiVtpmWrapped, XoAclBasePrivilege, XoAclRole, XoGroupRole, XoUserRole } from './index.mjs';
5
- type FeatureCode = 'BACKUP.DELTA' | 'BACKUP.DELTA_REPLICATION' | 'BACKUP.FULL' | 'BACKUP.HEALTHCHECK' | 'BACKUP.METADATA' | 'BACKUP.MIRROR' | 'BACKUP.WITH_RAM' | 'BACKUP.SMART_BACKUP' | 'BACKUP.S3' | 'DOCKER' | 'EXPORT.XVA' | 'LIST_MISSING_PATCHES' | 'POOL_EMERGENCY_SHUTDOWN' | 'RBAC' | 'ROLLING_POOL_UPDATE' | 'ROLLING_POOL_REBOOT' | 'WARM_MIGRATION' | 'PLUGIN.OPENMETRICS';
5
+ type FeatureCode = 'BACKUP.DELTA' | 'BACKUP.DELTA_REPLICATION' | 'BACKUP.FULL' | 'BACKUP.HEALTHCHECK' | 'BACKUP.METADATA' | 'BACKUP.MIRROR' | 'BACKUP.WITH_RAM' | 'BACKUP.SMART_BACKUP' | 'BACKUP.S3' | 'DOCKER' | 'EXPORT.XVA' | 'LIST_MISSING_PATCHES' | 'POOL_EMERGENCY_SHUTDOWN' | 'RBAC' | 'ROLLING_POOL_UPDATE' | 'ROLLING_POOL_REBOOT' | 'SMART_REBOOT' | 'WARM_MIGRATION' | 'PLUGIN.OPENMETRICS';
6
6
  type XapiRecordByXapiXoRecord = {
7
7
  gpuGroup: XenApiGpuGroupWrapped;
8
8
  host: XenApiHostWrapped;
@@ -135,6 +135,7 @@ export type XoApp = {
135
135
  expiration: number;
136
136
  user: XoUser;
137
137
  }>;
138
+ backupGuard(poolId: XoPool['id']): Promise<void>;
138
139
  checkFeatureAuthorization(featureCode: FeatureCode): Promise<void>;
139
140
  connectXenServer(id: XoServer['id']): Promise<void>;
140
141
  createAclV2Privilege(privilege: Omit<XoAclBasePrivilege, 'id'>, options?: {
@@ -177,6 +178,7 @@ export type XoApp = {
177
178
  }): Promise<boolean>;
178
179
  deleteGroup(id: XoGroup['id']): Promise<void>;
179
180
  deleteUser(id: XoUser['id']): Promise<void>;
181
+ detachHostFromPool(hostId: XoHost['id']): Promise<void>;
180
182
  createGroup(params: {
181
183
  name: string;
182
184
  provider?: string;
@@ -254,6 +256,9 @@ export type XoApp = {
254
256
  _forceRefresh?: boolean;
255
257
  vmId: XoVm['id'];
256
258
  }): Promise<Record<XoBackupRepository['id'], Record<XoVm['id'], XoVmBackupArchive[]>>>;
259
+ pingRemote(id: XoBackupRepository['id']): Promise<{
260
+ success: true;
261
+ }>;
257
262
  /** Allow to add a new server in the DB (XCP-ng/XenServer) */
258
263
  registerXenServer(body: Pick<XoServer, 'host' | 'httpProxy' | 'label' | 'username'> & {
259
264
  allowUnauthorized?: XoServer['allowUnauthorized'];
@@ -272,6 +277,16 @@ export type XoApp = {
272
277
  removeUserFromGroup(userId: XoUser['id'], id: XoGroup['id']): Promise<void>;
273
278
  runJob(job: AnyXoJob, schedule: XoSchedule): void;
274
279
  runWithApiContext: (user: XoUser | undefined, fn: () => void) => Promise<unknown>;
280
+ testRemote(id: XoBackupRepository['id']): Promise<{
281
+ success: true;
282
+ readRate: number;
283
+ writeRate: number;
284
+ } | {
285
+ success: false;
286
+ step: string;
287
+ file: string;
288
+ error: unknown;
289
+ }>;
275
290
  /** Remove a server from the DB (XCP-ng/XenServer) */
276
291
  unregisterXenServer(id: XoServer['id']): Promise<void>;
277
292
  updateUser(id: XoUser['id'], updates: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vates/types",
3
3
  "private": false,
4
- "version": "1.27.0",
4
+ "version": "1.28.0",
5
5
  "main": "./dist/index.mjs",
6
6
  "exports": {
7
7
  ".": {