@vates/types 1.21.0 → 1.23.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.
@@ -1,5 +1,5 @@
1
- import { WrappedXenApiRecord, XenApiHost, XenApiNetwork, XenApiNetworkWrapped, XenApiRecord, XenApiSr, XenApiTask, XenApiVbd, XenApiVdi, XenApiVif, XenApiVm, XenApiVmWrapped, XenApiVtpm } from '../xen-api.mjs';
2
- import type { OPAQUE_REF_NULL, SUPPORTED_VDI_FORMAT, VBD_MODE, VBD_TYPE, VDI_TYPE, VIF_LOCKING_MODE } from '../common.mjs';
1
+ import { WrappedXenApiRecord, XenApiHost, XenApiHostWrapped, XenApiNetwork, XenApiNetworkWrapped, XenApiRecord, XenApiSr, XenApiTask, XenApiVbd, XenApiVdi, XenApiVif, XenApiVm, XenApiVmWrapped, XenApiVtpm } from '../xen-api.mjs';
2
+ import type { BOND_MODE, OPAQUE_REF_NULL, SUPPORTED_VDI_FORMAT, VBD_MODE, VBD_TYPE, VDI_TYPE, VIF_LOCKING_MODE } from '../common.mjs';
3
3
  import type { PassThrough, Readable } from 'node:stream';
4
4
  import type { XoGpuGroup, XoHost, XoNetwork, XoPif, XoSr, XoUser, XoVdi, XoVgpuType, XoVm, XoVmTemplate, XoVif } from '../xo.mjs';
5
5
  export type XcpPatches = {
@@ -37,6 +37,7 @@ export interface Xapi {
37
37
  $ref: T['$ref'];
38
38
  }>>;
39
39
  getField<T extends XenApiRecord, K extends keyof T>(type: Extract<WrappedXenApiRecord, T>['$type'], ref: T['$ref'], field: K): Promise<T[K]>;
40
+ connectVif(vifId: XoVif['id']): Promise<void>;
40
41
  createNetwork(params: {
41
42
  name: string;
42
43
  description?: string;
@@ -48,8 +49,16 @@ export interface Xapi {
48
49
  mtu?: number;
49
50
  vlan: number;
50
51
  }): Promise<XenApiNetworkWrapped>;
52
+ createBondedNetwork(params: {
53
+ bondMode: BOND_MODE;
54
+ pifIds: XoPif['id'][];
55
+ name: string;
56
+ description?: string;
57
+ mtu?: number;
58
+ }): Promise<XenApiNetworkWrapped>;
51
59
  deleteNetwork(id: XoNetwork['id']): Promise<void>;
52
60
  deleteVif(vifId: XoVif['id']): Promise<void>;
61
+ disconnectVif(vifId: XoVif['id']): Promise<void>;
53
62
  exportVmOva(vmRef: XenApiVm['$ref']): Promise<PassThrough>;
54
63
  migrateVm(vmId: XoVm['id'], hostXapi: Xapi, hostId: XoHost['id'], opts?: {
55
64
  force?: boolean;
@@ -63,6 +72,21 @@ export interface Xapi {
63
72
  pool_emergencyShutdown(): Promise<void>;
64
73
  resumeVm(id: XoVm['id']): Promise<void>;
65
74
  unpauseVm(id: XoVm['id']): Promise<void>;
75
+ cloneVm(vmId: XoVm['id'], opts?: {
76
+ nameLabel?: string;
77
+ fast?: boolean;
78
+ }): Promise<XenApiVmWrapped>;
79
+ copyVm(vmId: XoVm['id'], opts?: {
80
+ nameLabel?: string;
81
+ srOrSrId?: XoSr['id'] | XoSr;
82
+ }): Promise<XenApiVmWrapped>;
83
+ remoteCopyVm(vmId: XoVm['id'], targetXapi: Xapi, targetSrId: XoSr['id'], opts?: {
84
+ compress?: 'zstd' | 'gzip' | boolean;
85
+ nameLabel?: string;
86
+ }): Promise<{
87
+ vm: XenApiVmWrapped;
88
+ }>;
89
+ forgetSr(id: XoSr['id']): Promise<void>;
66
90
  SR_importVdi(ref: XenApiSr['$ref'], stream: Readable, opts?: {
67
91
  format?: SUPPORTED_VDI_FORMAT;
68
92
  name_description?: XoVdi['name_description'];
@@ -98,6 +122,7 @@ export interface Xapi {
98
122
  createVm(templateUuid: XoVmTemplate['uuid'], metadataVm: {
99
123
  affinityHost?: XoHost['id'];
100
124
  autoPoweron?: boolean;
125
+ cpus?: number;
101
126
  memory?: number;
102
127
  name_description?: string;
103
128
  name_label: string;
@@ -221,6 +246,12 @@ export interface Xapi {
221
246
  }): Promise<{
222
247
  body: Readable;
223
248
  }>;
249
+ clearHost(host: Pick<XenApiHostWrapped, '$ref' | '$pool'>, force?: boolean): Promise<void>;
250
+ disableHost(hostId: XoHost['id']): Promise<void>;
251
+ enableHost(hostId: XoHost['id']): Promise<void>;
252
+ getRecordByUuid<Type extends WrappedXenApiRecord['$type'], XenApiRecord extends WrappedXenApiRecord = Extract<WrappedXenApiRecord, {
253
+ $type: Type;
254
+ }>>(type: Type, uuid: XenApiRecord['uuid']): Promise<XenApiRecord>;
224
255
  isHyperThreadingEnabled(hostId: XoHost['id']): Promise<boolean | null>;
225
256
  VTPM_create(params: {
226
257
  VM: XenApiVm['$ref'];
@@ -13,6 +13,7 @@ type WrapperXenApi<T, Type extends string, Fn = {
13
13
  }> = T & {
14
14
  $call: Fn;
15
15
  $callAsync: Fn;
16
+ $pool: XenApiPool;
16
17
  $type: Type;
17
18
  $snapshot(params: {
18
19
  cancelToken?: unknown;
@@ -530,7 +531,9 @@ export interface XenApiHostCpu {
530
531
  uuid: string;
531
532
  vendor: string;
532
533
  }
533
- type XenApiNetworkCallMethods = TagCallMethods & {};
534
+ type XenApiNetworkCallMethods = TagCallMethods & {
535
+ (method: 'add_purpose', purpose: NETWORK_PURPOSE): Promise<void>;
536
+ };
534
537
  export interface XenApiNetwork {
535
538
  $ref: Branded<'network'>;
536
539
  allowed_operations: NETWORK_OPERATIONS[];
package/dist/xo.d.mts CHANGED
@@ -67,7 +67,7 @@ type BaseXoVm = BaseXapiXo & {
67
67
  notes?: string;
68
68
  os_version: Record<string, string> | null;
69
69
  other: Record<string, string>;
70
- parent?: XoVm['id'];
70
+ parent?: XoVmSnapshot['id'];
71
71
  power_state: VM_POWER_STATE;
72
72
  pvDriversDetected?: boolean;
73
73
  pvDriversUpToDate?: boolean;
@@ -80,6 +80,10 @@ type BaseXoVm = BaseXapiXo & {
80
80
  suspendSr?: XoSr['id'];
81
81
  tags: string[];
82
82
  vga?: string;
83
+ /**
84
+ * Value in MiB.
85
+ * See: https://wiki.xenproject.org/wiki/XCP_PV_templates_start
86
+ */
83
87
  videoram?: number;
84
88
  viridian: boolean;
85
89
  virtualizationMode: DOMAIN_TYPE;
@@ -680,6 +684,7 @@ type BaseXoVdi = BaseXapiXo & {
680
684
  };
681
685
  export type XoVdi = BaseXoVdi & {
682
686
  id: Branded<'VDI'>;
687
+ chainPhysicalUsage: number;
683
688
  type: 'VDI';
684
689
  };
685
690
  export type XoVdiSnapshot = BaseXoVdi & {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vates/types",
3
3
  "private": false,
4
- "version": "1.21.0",
4
+ "version": "1.23.0",
5
5
  "main": "./dist/index.mjs",
6
6
  "exports": {
7
7
  ".": {