@vates/types 1.21.0 → 1.22.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 = {
@@ -48,6 +48,13 @@ export interface Xapi {
48
48
  mtu?: number;
49
49
  vlan: number;
50
50
  }): Promise<XenApiNetworkWrapped>;
51
+ createBondedNetwork(params: {
52
+ bondMode: BOND_MODE;
53
+ pifIds: XoPif['id'][];
54
+ name: string;
55
+ description?: string;
56
+ mtu?: number;
57
+ }): Promise<XenApiNetworkWrapped>;
51
58
  deleteNetwork(id: XoNetwork['id']): Promise<void>;
52
59
  deleteVif(vifId: XoVif['id']): Promise<void>;
53
60
  exportVmOva(vmRef: XenApiVm['$ref']): Promise<PassThrough>;
@@ -63,6 +70,21 @@ export interface Xapi {
63
70
  pool_emergencyShutdown(): Promise<void>;
64
71
  resumeVm(id: XoVm['id']): Promise<void>;
65
72
  unpauseVm(id: XoVm['id']): Promise<void>;
73
+ cloneVm(vmId: XoVm['id'], opts?: {
74
+ nameLabel?: string;
75
+ fast?: boolean;
76
+ }): Promise<XenApiVmWrapped>;
77
+ copyVm(vmId: XoVm['id'], opts?: {
78
+ nameLabel?: string;
79
+ srOrSrId?: XoSr['id'] | XoSr;
80
+ }): Promise<XenApiVmWrapped>;
81
+ remoteCopyVm(vmId: XoVm['id'], targetXapi: Xapi, targetSrId: XoSr['id'], opts?: {
82
+ compress?: 'zstd' | 'gzip' | boolean;
83
+ nameLabel?: string;
84
+ }): Promise<{
85
+ vm: XenApiVmWrapped;
86
+ }>;
87
+ forgetSr(id: XoSr['id']): Promise<void>;
66
88
  SR_importVdi(ref: XenApiSr['$ref'], stream: Readable, opts?: {
67
89
  format?: SUPPORTED_VDI_FORMAT;
68
90
  name_description?: XoVdi['name_description'];
@@ -98,6 +120,7 @@ export interface Xapi {
98
120
  createVm(templateUuid: XoVmTemplate['uuid'], metadataVm: {
99
121
  affinityHost?: XoHost['id'];
100
122
  autoPoweron?: boolean;
123
+ cpus?: number;
101
124
  memory?: number;
102
125
  name_description?: string;
103
126
  name_label: string;
@@ -221,6 +244,12 @@ export interface Xapi {
221
244
  }): Promise<{
222
245
  body: Readable;
223
246
  }>;
247
+ clearHost(host: Pick<XenApiHostWrapped, '$ref' | '$pool'>, force?: boolean): Promise<void>;
248
+ disableHost(hostId: XoHost['id']): Promise<void>;
249
+ enableHost(hostId: XoHost['id']): Promise<void>;
250
+ getRecordByUuid<Type extends WrappedXenApiRecord['$type'], XenApiRecord extends WrappedXenApiRecord = Extract<WrappedXenApiRecord, {
251
+ $type: Type;
252
+ }>>(type: Type, uuid: XenApiRecord['uuid']): Promise<XenApiRecord>;
224
253
  isHyperThreadingEnabled(hostId: XoHost['id']): Promise<boolean | null>;
225
254
  VTPM_create(params: {
226
255
  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;
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.22.0",
5
5
  "main": "./dist/index.mjs",
6
6
  "exports": {
7
7
  ".": {