@leavepulse/control-sdk 0.3.41 → 0.3.43

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/client.ts CHANGED
@@ -28,6 +28,7 @@ import { ControlDcimStorageNode } from "./resources/ControlDcimStorageNode";
28
28
  import { ControlEdge } from "./resources/ControlEdge";
29
29
  import { ControlEnrollToken } from "./resources/ControlEnrollToken";
30
30
  import { ControlEnvGroup } from "./resources/ControlEnvGroup";
31
+ import { ControlEnvVar } from "./resources/ControlEnvVar";
31
32
  import { ControlHost } from "./resources/ControlHost";
32
33
  import { ControlNode } from "./resources/ControlNode";
33
34
  import { ControlProject } from "./resources/ControlProject";
@@ -252,6 +253,15 @@ export class LeavePulse {
252
253
  ) as ControlEnvGroup;
253
254
  }
254
255
 
256
+ controlenvvar(owner: string, ownerId: string, key: string): ControlEnvVar {
257
+ return this.ctx.cache.ensure(
258
+ "ControlEnvVar",
259
+ key,
260
+ () =>
261
+ new ControlEnvVar({ owner, owner_id: ownerId, key } as never, this.ctx),
262
+ ) as ControlEnvVar;
263
+ }
264
+
255
265
  controlhost(id: string): ControlHost {
256
266
  return this.ctx.cache.ensure(
257
267
  "ControlHost",
@@ -334,6 +344,7 @@ export class LeavePulse {
334
344
  ControlEdge: (d) => new ControlEdge(d as never, this.ctx),
335
345
  ControlEnrollToken: (d) => new ControlEnrollToken(d as never, this.ctx),
336
346
  ControlEnvGroup: (d) => new ControlEnvGroup(d as never, this.ctx),
347
+ ControlEnvVar: (d) => new ControlEnvVar(d as never, this.ctx),
337
348
  ControlHost: (d) => new ControlHost(d as never, this.ctx),
338
349
  ControlNode: (d) => new ControlNode(d as never, this.ctx),
339
350
  ControlProject: (d) => new ControlProject(d as never, this.ctx),
package/index.ts CHANGED
@@ -24,6 +24,7 @@ export { ControlDcimStorageNode } from "./resources/ControlDcimStorageNode";
24
24
  export { ControlEdge } from "./resources/ControlEdge";
25
25
  export { ControlEnrollToken } from "./resources/ControlEnrollToken";
26
26
  export { ControlEnvGroup } from "./resources/ControlEnvGroup";
27
+ export { ControlEnvVar } from "./resources/ControlEnvVar";
27
28
  export { ControlHost } from "./resources/ControlHost";
28
29
  export { ControlNode } from "./resources/ControlNode";
29
30
  export { ControlProject } from "./resources/ControlProject";
package/models.ts CHANGED
@@ -17,11 +17,13 @@ export type ApplyDeviceTypeRequest =
17
17
  components["schemas"]["ApplyDeviceTypeRequest"];
18
18
  export type ApplyDeviceTypeResultDTO =
19
19
  components["schemas"]["ApplyDeviceTypeResultDTO"];
20
+ export type BridgeDTO = components["schemas"]["BridgeDTO"];
20
21
  export type CableDTO = components["schemas"]["CableDTO"];
21
22
  export type CableListResponse = components["schemas"]["CableListResponse"];
22
23
  export type CableTerminalDTO = components["schemas"]["CableTerminalDTO"];
23
24
  export type CableTerminalInput = components["schemas"]["CableTerminalInput"];
24
25
  export type CanvasViewDTO = components["schemas"]["CanvasViewDTO"];
26
+ export type CapacityDTO = components["schemas"]["CapacityDTO"];
25
27
  export type CfAccountDTO = components["schemas"]["CfAccountDTO"];
26
28
  export type CfAccountListResponse =
27
29
  components["schemas"]["CfAccountListResponse"];
@@ -94,6 +96,8 @@ export type DnsTypeSpecListResponse =
94
96
  export type DockerDfResponse = components["schemas"]["DockerDfResponse"];
95
97
  export type DockerPruneRequest = components["schemas"]["DockerPruneRequest"];
96
98
  export type DockerPruneResponse = components["schemas"]["DockerPruneResponse"];
99
+ export type DriftDTO = components["schemas"]["DriftDTO"];
100
+ export type DriftListResponse = components["schemas"]["DriftListResponse"];
97
101
  export type EdgeDTO = components["schemas"]["EdgeDTO"];
98
102
  export type EnrollTokenDTO = components["schemas"]["EnrollTokenDTO"];
99
103
  export type EnrollTokenListResponse =
@@ -101,6 +105,8 @@ export type EnrollTokenListResponse =
101
105
  export type EnvGroupDTO = components["schemas"]["EnvGroupDTO"];
102
106
  export type EnvGroupListResponse =
103
107
  components["schemas"]["EnvGroupListResponse"];
108
+ export type EnvVarDTO = components["schemas"]["EnvVarDTO"];
109
+ export type EnvVarListResponse = components["schemas"]["EnvVarListResponse"];
104
110
  export type FeedDTO = components["schemas"]["FeedDTO"];
105
111
  export type FeedListResponse = components["schemas"]["FeedListResponse"];
106
112
  export type FirewallActionResponse =
@@ -113,6 +119,9 @@ export type FirewallRulesResponse =
113
119
  export type HostCapabilitiesDTO = components["schemas"]["HostCapabilitiesDTO"];
114
120
  export type HostDTO = components["schemas"]["HostDTO"];
115
121
  export type HostListResponse = components["schemas"]["HostListResponse"];
122
+ export type HypervisorDTO = components["schemas"]["HypervisorDTO"];
123
+ export type HypervisorListResponse =
124
+ components["schemas"]["HypervisorListResponse"];
116
125
  export type ImportDeviceTypesRequest =
117
126
  components["schemas"]["ImportDeviceTypesRequest"];
118
127
  export type ImportDeviceTypesResponse =
@@ -131,6 +140,7 @@ export type ManufacturerListResponse =
131
140
  components["schemas"]["ManufacturerListResponse"];
132
141
  export type MoveStorageNodeRequest =
133
142
  components["schemas"]["MoveStorageNodeRequest"];
143
+ export type NodeChartsResponse = components["schemas"]["NodeChartsResponse"];
134
144
  export type NodeDTO = components["schemas"]["NodeDTO"];
135
145
  export type OutletDTO = components["schemas"]["OutletDTO"];
136
146
  export type OutletListResponse = components["schemas"]["OutletListResponse"];
@@ -139,6 +149,7 @@ export type OwnershipEventDTO = components["schemas"]["OwnershipEventDTO"];
139
149
  export type OwnershipEventListResponse =
140
150
  components["schemas"]["OwnershipEventListResponse"];
141
151
  export type OwnershipInput = components["schemas"]["OwnershipInput"];
152
+ export type PanelDTO = components["schemas"]["PanelDTO"];
142
153
  export type PathHopDTO = components["schemas"]["PathHopDTO"];
143
154
  export type PduDTO = components["schemas"]["PduDTO"];
144
155
  export type PduListResponse = components["schemas"]["PduListResponse"];
@@ -166,6 +177,7 @@ export type RuleListResponse = components["schemas"]["RuleListResponse"];
166
177
  export type ScheduleDTO = components["schemas"]["ScheduleDTO"];
167
178
  export type ScheduleListResponse =
168
179
  components["schemas"]["ScheduleListResponse"];
180
+ export type SeriesDTO = components["schemas"]["SeriesDTO"];
169
181
  export type ServiceDefDTO = components["schemas"]["ServiceDefDTO"];
170
182
  export type ServiceEdgeDTO = components["schemas"]["ServiceEdgeDTO"];
171
183
  export type ServiceListResponse = components["schemas"]["ServiceListResponse"];
@@ -177,6 +189,9 @@ export type SetCanvasViewRequest =
177
189
  components["schemas"]["SetCanvasViewRequest"];
178
190
  export type SetDeviceTypePortsRequest =
179
191
  components["schemas"]["SetDeviceTypePortsRequest"];
192
+ export type SetEnvVarRequest = components["schemas"]["SetEnvVarRequest"];
193
+ export type SetHostEndpointRequest =
194
+ components["schemas"]["SetHostEndpointRequest"];
180
195
  export type SetPositionRequest = components["schemas"]["SetPositionRequest"];
181
196
  export type SetRoleRequest = components["schemas"]["SetRoleRequest"];
182
197
  export type SignAcceptanceRequest =
@@ -231,6 +246,8 @@ export type VerifyAcceptanceItemInput =
231
246
  components["schemas"]["VerifyAcceptanceItemInput"];
232
247
  export type VerifyAcceptanceRequest =
233
248
  components["schemas"]["VerifyAcceptanceRequest"];
249
+ export type VmDTO = components["schemas"]["VmDTO"];
250
+ export type VmListResponse = components["schemas"]["VmListResponse"];
234
251
  export type VolumeSpec = components["schemas"]["VolumeSpec"];
235
252
  export type ZoneDTO = components["schemas"]["ZoneDTO"];
236
253
  export type ZoneListResponse = components["schemas"]["ZoneListResponse"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leavepulse/control-sdk",
3
- "version": "0.3.41",
3
+ "version": "0.3.43",
4
4
  "description": "Generated resource SDK (@leavepulse/control-sdk).",
5
5
  "type": "module",
6
6
  "module": "index.ts",
@@ -0,0 +1,75 @@
1
+ // Generated from the LeavePulse contract. Do not edit.
2
+ import { Resource } from "../runtime/resource";
3
+ import { fetchCachedOrThrow } from "../runtime/etag-store";
4
+ import type * as models from "../models";
5
+ import type { ClientContext } from "../client";
6
+
7
+ type Data = { id: string | number } & Record<string, unknown> & {
8
+ owner?: string | number;
9
+ owner_id?: string | number;
10
+ };
11
+
12
+ export class ControlEnvVar extends Resource<Data> {
13
+ constructor(
14
+ data: Data,
15
+ private readonly ctx: ClientContext,
16
+ ) {
17
+ super(data);
18
+ }
19
+
20
+ /** control.env_vars.list */
21
+ async controlEnvVarsList(
22
+ owner: string,
23
+ ownerId: string,
24
+ params?: { reveal?: boolean },
25
+ ): Promise<models.EnvVarListResponse> {
26
+ return fetchCachedOrThrow<models.EnvVarListResponse>(
27
+ this.ctx.transport,
28
+ this.ctx.etagStore,
29
+ {
30
+ method: "GET",
31
+ path: `/v1/control/env/${owner}/${ownerId}/vars`,
32
+ query: { reveal: params?.reveal },
33
+ },
34
+ );
35
+ }
36
+
37
+ /** control.env_vars.get */
38
+ async controlEnvVarsGet(
39
+ owner: string,
40
+ ownerId: string,
41
+ params?: { reveal?: boolean },
42
+ ): Promise<models.EnvVarDTO> {
43
+ return fetchCachedOrThrow<models.EnvVarDTO>(
44
+ this.ctx.transport,
45
+ this.ctx.etagStore,
46
+ {
47
+ method: "GET",
48
+ path: `/v1/control/env/${owner}/${ownerId}/vars/${this.id}`,
49
+ query: { reveal: params?.reveal },
50
+ },
51
+ );
52
+ }
53
+
54
+ /** control.env_vars.delete */
55
+ async envVarsDelete(owner: string, ownerId: string): Promise<this> {
56
+ await this.ctx.transport.request({
57
+ method: "DELETE",
58
+ path: `/v1/control/env/${owner}/${ownerId}/vars/${this.id}`,
59
+ });
60
+ return this;
61
+ }
62
+
63
+ /** control.env_vars.set */
64
+ async envVarsSet(
65
+ owner: string,
66
+ ownerId: string,
67
+ body: models.SetEnvVarRequest,
68
+ ): Promise<models.EnvVarDTO> {
69
+ return this.ctx.transport.request<models.EnvVarDTO>({
70
+ method: "PUT",
71
+ path: `/v1/control/env/${owner}/${ownerId}/vars/${this.id}`,
72
+ body,
73
+ });
74
+ }
75
+ }
@@ -37,6 +37,21 @@ export class ControlHost extends Resource<Data> {
37
37
  );
38
38
  }
39
39
 
40
+ /** control.hosts.charts */
41
+ async controlHostsCharts(params?: {
42
+ window?: string;
43
+ }): Promise<models.NodeChartsResponse> {
44
+ return fetchCachedOrThrow<models.NodeChartsResponse>(
45
+ this.ctx.transport,
46
+ this.ctx.etagStore,
47
+ {
48
+ method: "GET",
49
+ path: `/v1/control/hosts/${this.id}/charts`,
50
+ query: { window: params?.window },
51
+ },
52
+ );
53
+ }
54
+
40
55
  /** control.hosts.container_inspect */
41
56
  async controlHostsContainerInspect(
42
57
  container: string,
@@ -128,6 +143,17 @@ export class ControlHost extends Resource<Data> {
128
143
  });
129
144
  }
130
145
 
146
+ /** control.hosts.set_endpoint */
147
+ async hostsSetEndpoint(
148
+ body: models.SetHostEndpointRequest,
149
+ ): Promise<models.HostDTO> {
150
+ return this.ctx.transport.request<models.HostDTO>({
151
+ method: "PATCH",
152
+ path: `/v1/control/hosts/${this.id}/endpoint`,
153
+ body,
154
+ });
155
+ }
156
+
131
157
  /** control.hosts.install_exporter */
132
158
  async hostsInstallExporter(
133
159
  body: models.InstallExporterRequest,
package/types.ts CHANGED
@@ -1145,6 +1145,42 @@ export interface paths {
1145
1145
  patch?: never;
1146
1146
  trace?: never;
1147
1147
  };
1148
+ "/v1/control/env/{owner}/{owner_id}/vars": {
1149
+ parameters: {
1150
+ query?: never;
1151
+ header?: never;
1152
+ path?: never;
1153
+ cookie?: never;
1154
+ };
1155
+ /** List variables */
1156
+ get: operations["control.env_vars.list"];
1157
+ put?: never;
1158
+ post?: never;
1159
+ delete?: never;
1160
+ options?: never;
1161
+ head?: never;
1162
+ patch?: never;
1163
+ trace?: never;
1164
+ };
1165
+ "/v1/control/env/{owner}/{owner_id}/vars/{key}": {
1166
+ parameters: {
1167
+ query?: never;
1168
+ header?: never;
1169
+ path?: never;
1170
+ cookie?: never;
1171
+ };
1172
+ /** Read one variable */
1173
+ get: operations["control.env_vars.get"];
1174
+ /** Create or update one variable */
1175
+ put: operations["control.env_vars.set"];
1176
+ post?: never;
1177
+ /** Remove one variable */
1178
+ delete: operations["control.env_vars.delete"];
1179
+ options?: never;
1180
+ head?: never;
1181
+ patch?: never;
1182
+ trace?: never;
1183
+ };
1148
1184
  "/v1/control/graph/canvas-view": {
1149
1185
  parameters: {
1150
1186
  query?: never;
@@ -1335,6 +1371,23 @@ export interface paths {
1335
1371
  patch: operations["control.hosts.rename"];
1336
1372
  trace?: never;
1337
1373
  };
1374
+ "/v1/control/hosts/{host_id}/charts": {
1375
+ parameters: {
1376
+ query?: never;
1377
+ header?: never;
1378
+ path?: never;
1379
+ cookie?: never;
1380
+ };
1381
+ /** Time series for a node (utilisation, saturation, errors) */
1382
+ get: operations["control.hosts.charts"];
1383
+ put?: never;
1384
+ post?: never;
1385
+ delete?: never;
1386
+ options?: never;
1387
+ head?: never;
1388
+ patch?: never;
1389
+ trace?: never;
1390
+ };
1338
1391
  "/v1/control/hosts/{host_id}/containers/{container}/action": {
1339
1392
  parameters: {
1340
1393
  query?: never;
@@ -1437,6 +1490,23 @@ export interface paths {
1437
1490
  patch?: never;
1438
1491
  trace?: never;
1439
1492
  };
1493
+ "/v1/control/hosts/{host_id}/endpoint": {
1494
+ parameters: {
1495
+ query?: never;
1496
+ header?: never;
1497
+ path?: never;
1498
+ cookie?: never;
1499
+ };
1500
+ get?: never;
1501
+ put?: never;
1502
+ post?: never;
1503
+ delete?: never;
1504
+ options?: never;
1505
+ head?: never;
1506
+ /** Set where peers dial this host for WireGuard */
1507
+ patch: operations["control.hosts.set_endpoint"];
1508
+ trace?: never;
1509
+ };
1440
1510
  "/v1/control/hosts/{host_id}/exporters": {
1441
1511
  parameters: {
1442
1512
  query?: never;
@@ -1505,6 +1575,40 @@ export interface paths {
1505
1575
  patch?: never;
1506
1576
  trace?: never;
1507
1577
  };
1578
+ "/v1/control/hypervisors": {
1579
+ parameters: {
1580
+ query?: never;
1581
+ header?: never;
1582
+ path?: never;
1583
+ cookie?: never;
1584
+ };
1585
+ /** List hypervisors */
1586
+ get: operations["control.hypervisors.list"];
1587
+ put?: never;
1588
+ post?: never;
1589
+ delete?: never;
1590
+ options?: never;
1591
+ head?: never;
1592
+ patch?: never;
1593
+ trace?: never;
1594
+ };
1595
+ "/v1/control/hypervisors/{node}/capacity": {
1596
+ parameters: {
1597
+ query?: never;
1598
+ header?: never;
1599
+ path?: never;
1600
+ cookie?: never;
1601
+ };
1602
+ /** What is left on one hypervisor */
1603
+ get: operations["control.hypervisors.capacity"];
1604
+ put?: never;
1605
+ post?: never;
1606
+ delete?: never;
1607
+ options?: never;
1608
+ head?: never;
1609
+ patch?: never;
1610
+ trace?: never;
1611
+ };
1508
1612
  "/v1/control/services": {
1509
1613
  parameters: {
1510
1614
  query?: never;
@@ -1609,6 +1713,40 @@ export interface paths {
1609
1713
  patch?: never;
1610
1714
  trace?: never;
1611
1715
  };
1716
+ "/v1/control/vm-drift": {
1717
+ parameters: {
1718
+ query?: never;
1719
+ header?: never;
1720
+ path?: never;
1721
+ cookie?: never;
1722
+ };
1723
+ /** Records vs metal */
1724
+ get: operations["control.vm_drift.list"];
1725
+ put?: never;
1726
+ post?: never;
1727
+ delete?: never;
1728
+ options?: never;
1729
+ head?: never;
1730
+ patch?: never;
1731
+ trace?: never;
1732
+ };
1733
+ "/v1/control/vms": {
1734
+ parameters: {
1735
+ query?: never;
1736
+ header?: never;
1737
+ path?: never;
1738
+ cookie?: never;
1739
+ };
1740
+ /** List VMs on the hypervisors */
1741
+ get: operations["control.vms.list"];
1742
+ put?: never;
1743
+ post?: never;
1744
+ delete?: never;
1745
+ options?: never;
1746
+ head?: never;
1747
+ patch?: never;
1748
+ trace?: never;
1749
+ };
1612
1750
  }
1613
1751
  export type webhooks = Record<string, never>;
1614
1752
  export interface components {
@@ -1703,6 +1841,13 @@ export interface components {
1703
1841
  device: components["schemas"]["DeviceDTO"];
1704
1842
  ports_added: number;
1705
1843
  };
1844
+ /** BridgeDTO */
1845
+ BridgeDTO: {
1846
+ cidr: string;
1847
+ gateway: string;
1848
+ name: string;
1849
+ ports: string;
1850
+ };
1706
1851
  /** CableDTO */
1707
1852
  CableDTO: {
1708
1853
  asset_tag: string;
@@ -1741,6 +1886,18 @@ export interface components {
1741
1886
  pan_y: number;
1742
1887
  zoom: number;
1743
1888
  };
1889
+ /** CapacityDTO */
1890
+ CapacityDTO: {
1891
+ cores: number;
1892
+ foreign: number;
1893
+ mem_committed_foreign: number;
1894
+ mem_free_bytes: number;
1895
+ mem_total_bytes: number;
1896
+ mem_used_bytes: number;
1897
+ node: string;
1898
+ ours: number;
1899
+ utilisation: number;
1900
+ };
1744
1901
  /** CfAccountDTO */
1745
1902
  CfAccountDTO: {
1746
1903
  auth_method: string;
@@ -2247,6 +2404,21 @@ export interface components {
2247
2404
  reclaimed_bytes: number;
2248
2405
  target: string;
2249
2406
  };
2407
+ /** DriftDTO */
2408
+ DriftDTO: {
2409
+ detail: string;
2410
+ kind: string;
2411
+ severity: string;
2412
+ subject: string;
2413
+ };
2414
+ /** DriftListResponse */
2415
+ DriftListResponse: {
2416
+ blocking: number;
2417
+ items: components["schemas"]["DriftDTO"][];
2418
+ shared_segments?: {
2419
+ [key: string]: string[];
2420
+ };
2421
+ };
2250
2422
  /** EdgeDTO */
2251
2423
  EdgeDTO: {
2252
2424
  dst_node: string;
@@ -2287,6 +2459,17 @@ export interface components {
2287
2459
  EnvGroupListResponse: {
2288
2460
  items: components["schemas"]["EnvGroupDTO"][];
2289
2461
  };
2462
+ /** EnvVarDTO */
2463
+ EnvVarDTO: {
2464
+ key: string;
2465
+ kind: string;
2466
+ secret: boolean;
2467
+ value: string;
2468
+ };
2469
+ /** EnvVarListResponse */
2470
+ EnvVarListResponse: {
2471
+ items: components["schemas"]["EnvVarDTO"][];
2472
+ };
2290
2473
  /** FeedDTO */
2291
2474
  FeedDTO: {
2292
2475
  breaker: string;
@@ -2353,11 +2536,33 @@ export interface components {
2353
2536
  online: boolean;
2354
2537
  slug: string;
2355
2538
  tags: string[];
2539
+ /** @default */
2540
+ wg_endpoint: string;
2356
2541
  };
2357
2542
  /** HostListResponse */
2358
2543
  HostListResponse: {
2359
2544
  items: components["schemas"]["HostDTO"][];
2360
2545
  };
2546
+ /** HypervisorDTO */
2547
+ HypervisorDTO: {
2548
+ api_host: string;
2549
+ blast_radius?: string[];
2550
+ bridges: components["schemas"]["BridgeDTO"][];
2551
+ cores: number;
2552
+ last_error: string;
2553
+ last_seen_at: number;
2554
+ mem_total_bytes: number;
2555
+ mem_used_bytes: number;
2556
+ node: string;
2557
+ uptime_seconds: number;
2558
+ vm_count: number;
2559
+ vm_count_ours: number;
2560
+ };
2561
+ /** HypervisorListResponse */
2562
+ HypervisorListResponse: {
2563
+ failures?: string[][];
2564
+ items: components["schemas"]["HypervisorDTO"][];
2565
+ };
2361
2566
  /** ImportDeviceTypesRequest */
2362
2567
  ImportDeviceTypesRequest: {
2363
2568
  documents: components["schemas"]["ImportDocumentInput"][];
@@ -2429,6 +2634,13 @@ export interface components {
2429
2634
  /** @default */
2430
2635
  parent_id?: string;
2431
2636
  };
2637
+ /** NodeChartsResponse */
2638
+ NodeChartsResponse: {
2639
+ panels: components["schemas"]["PanelDTO"][];
2640
+ /** @default */
2641
+ unavailable: string;
2642
+ window: string;
2643
+ };
2432
2644
  /** NodeDTO */
2433
2645
  NodeDTO: {
2434
2646
  /** @default 0 */
@@ -2493,6 +2705,11 @@ export interface components {
2493
2705
  /** @default */
2494
2706
  product: string;
2495
2707
  };
2708
+ /** PanelDTO */
2709
+ PanelDTO: {
2710
+ key: string;
2711
+ series: components["schemas"]["SeriesDTO"][];
2712
+ };
2496
2713
  /** PathHopDTO */
2497
2714
  PathHopDTO: {
2498
2715
  cable_asset_tag: string;
@@ -2707,6 +2924,11 @@ export interface components {
2707
2924
  ScheduleListResponse: {
2708
2925
  items: components["schemas"]["ScheduleDTO"][];
2709
2926
  };
2927
+ /** SeriesDTO */
2928
+ SeriesDTO: {
2929
+ label: string;
2930
+ points: number[][];
2931
+ };
2710
2932
  /** ServiceDefDTO */
2711
2933
  ServiceDefDTO: {
2712
2934
  /** @default false */
@@ -2735,6 +2957,10 @@ export interface components {
2735
2957
  latest_digest: string;
2736
2958
  /** @default 0 */
2737
2959
  latest_digest_checked_at: number;
2960
+ /** @default legacy */
2961
+ management: string;
2962
+ /** @default */
2963
+ management_next_step: string;
2738
2964
  name: string;
2739
2965
  provides?: string[];
2740
2966
  requires?: Record<string, never>[];
@@ -2794,6 +3020,16 @@ export interface components {
2794
3020
  SetDeviceTypePortsRequest: {
2795
3021
  ports: components["schemas"]["DeviceTypePortInput"][];
2796
3022
  };
3023
+ /** SetEnvVarRequest */
3024
+ SetEnvVarRequest: {
3025
+ kind?: string | null;
3026
+ secret?: boolean | null;
3027
+ value: string;
3028
+ };
3029
+ /** SetHostEndpointRequest */
3030
+ SetHostEndpointRequest: {
3031
+ wg_endpoint: string;
3032
+ };
2797
3033
  /** SetPositionRequest */
2798
3034
  SetPositionRequest: {
2799
3035
  pos_x: number;
@@ -3070,6 +3306,7 @@ export interface components {
3070
3306
  env_meta?: {
3071
3307
  [key: string]: Record<string, never>;
3072
3308
  } | null;
3309
+ env_remove?: string[] | null;
3073
3310
  /** @default */
3074
3311
  name?: string;
3075
3312
  };
@@ -3159,6 +3396,27 @@ export interface components {
3159
3396
  VerifyAcceptanceRequest: {
3160
3397
  items?: components["schemas"]["VerifyAcceptanceItemInput"][];
3161
3398
  };
3399
+ /** VmDTO */
3400
+ VmDTO: {
3401
+ addresses: string[];
3402
+ cores: number;
3403
+ host_id: string;
3404
+ hostname: string;
3405
+ mem_bytes: number;
3406
+ name: string;
3407
+ node: string;
3408
+ ownership: string;
3409
+ reason: string;
3410
+ status: string;
3411
+ tags: string[];
3412
+ vmid: number;
3413
+ };
3414
+ /** VmListResponse */
3415
+ VmListResponse: {
3416
+ items: components["schemas"]["VmDTO"][];
3417
+ ours: number;
3418
+ total: number;
3419
+ };
3162
3420
  /** VolumeSpec */
3163
3421
  VolumeSpec: {
3164
3422
  mount: string;
@@ -7327,6 +7585,179 @@ export interface operations {
7327
7585
  };
7328
7586
  };
7329
7587
  };
7588
+ "control.env_vars.list": {
7589
+ parameters: {
7590
+ query?: {
7591
+ reveal?: boolean;
7592
+ };
7593
+ header?: never;
7594
+ path: {
7595
+ owner: string;
7596
+ owner_id: string;
7597
+ };
7598
+ cookie?: never;
7599
+ };
7600
+ requestBody?: never;
7601
+ responses: {
7602
+ /** @description Request fulfilled, document follows */
7603
+ 200: {
7604
+ headers: {
7605
+ [name: string]: unknown;
7606
+ };
7607
+ content: {
7608
+ "application/json": components["schemas"]["EnvVarListResponse"];
7609
+ };
7610
+ };
7611
+ /** @description Bad request syntax or unsupported method */
7612
+ 400: {
7613
+ headers: {
7614
+ [name: string]: unknown;
7615
+ };
7616
+ content: {
7617
+ "application/json": {
7618
+ detail: string;
7619
+ extra?:
7620
+ | null
7621
+ | {
7622
+ [key: string]: unknown;
7623
+ }
7624
+ | unknown[];
7625
+ status_code: number;
7626
+ };
7627
+ };
7628
+ };
7629
+ };
7630
+ };
7631
+ "control.env_vars.get": {
7632
+ parameters: {
7633
+ query?: {
7634
+ reveal?: boolean;
7635
+ };
7636
+ header?: never;
7637
+ path: {
7638
+ owner: string;
7639
+ owner_id: string;
7640
+ key: string;
7641
+ };
7642
+ cookie?: never;
7643
+ };
7644
+ requestBody?: never;
7645
+ responses: {
7646
+ /** @description Request fulfilled, document follows */
7647
+ 200: {
7648
+ headers: {
7649
+ [name: string]: unknown;
7650
+ };
7651
+ content: {
7652
+ "application/json": components["schemas"]["EnvVarDTO"];
7653
+ };
7654
+ };
7655
+ /** @description Bad request syntax or unsupported method */
7656
+ 400: {
7657
+ headers: {
7658
+ [name: string]: unknown;
7659
+ };
7660
+ content: {
7661
+ "application/json": {
7662
+ detail: string;
7663
+ extra?:
7664
+ | null
7665
+ | {
7666
+ [key: string]: unknown;
7667
+ }
7668
+ | unknown[];
7669
+ status_code: number;
7670
+ };
7671
+ };
7672
+ };
7673
+ };
7674
+ };
7675
+ "control.env_vars.set": {
7676
+ parameters: {
7677
+ query?: never;
7678
+ header?: never;
7679
+ path: {
7680
+ owner: string;
7681
+ owner_id: string;
7682
+ key: string;
7683
+ };
7684
+ cookie?: never;
7685
+ };
7686
+ requestBody: {
7687
+ content: {
7688
+ "application/json": components["schemas"]["SetEnvVarRequest"];
7689
+ };
7690
+ };
7691
+ responses: {
7692
+ /** @description Request fulfilled, document follows */
7693
+ 200: {
7694
+ headers: {
7695
+ [name: string]: unknown;
7696
+ };
7697
+ content: {
7698
+ "application/json": components["schemas"]["EnvVarDTO"];
7699
+ };
7700
+ };
7701
+ /** @description Bad request syntax or unsupported method */
7702
+ 400: {
7703
+ headers: {
7704
+ [name: string]: unknown;
7705
+ };
7706
+ content: {
7707
+ "application/json": {
7708
+ detail: string;
7709
+ extra?:
7710
+ | null
7711
+ | {
7712
+ [key: string]: unknown;
7713
+ }
7714
+ | unknown[];
7715
+ status_code: number;
7716
+ };
7717
+ };
7718
+ };
7719
+ };
7720
+ };
7721
+ "control.env_vars.delete": {
7722
+ parameters: {
7723
+ query?: never;
7724
+ header?: never;
7725
+ path: {
7726
+ owner: string;
7727
+ owner_id: string;
7728
+ key: string;
7729
+ };
7730
+ cookie?: never;
7731
+ };
7732
+ requestBody?: never;
7733
+ responses: {
7734
+ /** @description Request fulfilled, nothing follows */
7735
+ 204: {
7736
+ headers: {
7737
+ [name: string]: unknown;
7738
+ };
7739
+ content?: never;
7740
+ };
7741
+ /** @description Bad request syntax or unsupported method */
7742
+ 400: {
7743
+ headers: {
7744
+ [name: string]: unknown;
7745
+ };
7746
+ content: {
7747
+ "application/json": {
7748
+ detail: string;
7749
+ extra?:
7750
+ | null
7751
+ | {
7752
+ [key: string]: unknown;
7753
+ }
7754
+ | unknown[];
7755
+ status_code: number;
7756
+ };
7757
+ };
7758
+ };
7759
+ };
7760
+ };
7330
7761
  "control.graph.canvas_view.get": {
7331
7762
  parameters: {
7332
7763
  query?: never;
@@ -7864,6 +8295,48 @@ export interface operations {
7864
8295
  };
7865
8296
  };
7866
8297
  };
8298
+ "control.hosts.charts": {
8299
+ parameters: {
8300
+ query?: {
8301
+ window?: string;
8302
+ };
8303
+ header?: never;
8304
+ path: {
8305
+ host_id: string;
8306
+ };
8307
+ cookie?: never;
8308
+ };
8309
+ requestBody?: never;
8310
+ responses: {
8311
+ /** @description Request fulfilled, document follows */
8312
+ 200: {
8313
+ headers: {
8314
+ [name: string]: unknown;
8315
+ };
8316
+ content: {
8317
+ "application/json": components["schemas"]["NodeChartsResponse"];
8318
+ };
8319
+ };
8320
+ /** @description Bad request syntax or unsupported method */
8321
+ 400: {
8322
+ headers: {
8323
+ [name: string]: unknown;
8324
+ };
8325
+ content: {
8326
+ "application/json": {
8327
+ detail: string;
8328
+ extra?:
8329
+ | null
8330
+ | {
8331
+ [key: string]: unknown;
8332
+ }
8333
+ | unknown[];
8334
+ status_code: number;
8335
+ };
8336
+ };
8337
+ };
8338
+ };
8339
+ };
7867
8340
  "control.hosts.container_action": {
7868
8341
  parameters: {
7869
8342
  query?: never;
@@ -8122,6 +8595,50 @@ export interface operations {
8122
8595
  };
8123
8596
  };
8124
8597
  };
8598
+ "control.hosts.set_endpoint": {
8599
+ parameters: {
8600
+ query?: never;
8601
+ header?: never;
8602
+ path: {
8603
+ host_id: string;
8604
+ };
8605
+ cookie?: never;
8606
+ };
8607
+ requestBody: {
8608
+ content: {
8609
+ "application/json": components["schemas"]["SetHostEndpointRequest"];
8610
+ };
8611
+ };
8612
+ responses: {
8613
+ /** @description Request fulfilled, document follows */
8614
+ 200: {
8615
+ headers: {
8616
+ [name: string]: unknown;
8617
+ };
8618
+ content: {
8619
+ "application/json": components["schemas"]["HostDTO"];
8620
+ };
8621
+ };
8622
+ /** @description Bad request syntax or unsupported method */
8623
+ 400: {
8624
+ headers: {
8625
+ [name: string]: unknown;
8626
+ };
8627
+ content: {
8628
+ "application/json": {
8629
+ detail: string;
8630
+ extra?:
8631
+ | null
8632
+ | {
8633
+ [key: string]: unknown;
8634
+ }
8635
+ | unknown[];
8636
+ status_code: number;
8637
+ };
8638
+ };
8639
+ };
8640
+ };
8641
+ };
8125
8642
  "control.hosts.install_exporter": {
8126
8643
  parameters: {
8127
8644
  query?: never;
@@ -8294,6 +8811,66 @@ export interface operations {
8294
8811
  };
8295
8812
  };
8296
8813
  };
8814
+ "control.hypervisors.list": {
8815
+ parameters: {
8816
+ query?: never;
8817
+ header?: never;
8818
+ path?: never;
8819
+ cookie?: never;
8820
+ };
8821
+ requestBody?: never;
8822
+ responses: {
8823
+ /** @description Request fulfilled, document follows */
8824
+ 200: {
8825
+ headers: {
8826
+ [name: string]: unknown;
8827
+ };
8828
+ content: {
8829
+ "application/json": components["schemas"]["HypervisorListResponse"];
8830
+ };
8831
+ };
8832
+ };
8833
+ };
8834
+ "control.hypervisors.capacity": {
8835
+ parameters: {
8836
+ query?: never;
8837
+ header?: never;
8838
+ path: {
8839
+ node: string;
8840
+ };
8841
+ cookie?: never;
8842
+ };
8843
+ requestBody?: never;
8844
+ responses: {
8845
+ /** @description Request fulfilled, document follows */
8846
+ 200: {
8847
+ headers: {
8848
+ [name: string]: unknown;
8849
+ };
8850
+ content: {
8851
+ "application/json": components["schemas"]["CapacityDTO"];
8852
+ };
8853
+ };
8854
+ /** @description Bad request syntax or unsupported method */
8855
+ 400: {
8856
+ headers: {
8857
+ [name: string]: unknown;
8858
+ };
8859
+ content: {
8860
+ "application/json": {
8861
+ detail: string;
8862
+ extra?:
8863
+ | null
8864
+ | {
8865
+ [key: string]: unknown;
8866
+ }
8867
+ | unknown[];
8868
+ status_code: number;
8869
+ };
8870
+ };
8871
+ };
8872
+ };
8873
+ };
8297
8874
  "control.services.list": {
8298
8875
  parameters: {
8299
8876
  query?: never;
@@ -8610,4 +9187,65 @@ export interface operations {
8610
9187
  };
8611
9188
  };
8612
9189
  };
9190
+ "control.vm_drift.list": {
9191
+ parameters: {
9192
+ query?: never;
9193
+ header?: never;
9194
+ path?: never;
9195
+ cookie?: never;
9196
+ };
9197
+ requestBody?: never;
9198
+ responses: {
9199
+ /** @description Request fulfilled, document follows */
9200
+ 200: {
9201
+ headers: {
9202
+ [name: string]: unknown;
9203
+ };
9204
+ content: {
9205
+ "application/json": components["schemas"]["DriftListResponse"];
9206
+ };
9207
+ };
9208
+ };
9209
+ };
9210
+ "control.vms.list": {
9211
+ parameters: {
9212
+ query?: {
9213
+ node?: string | null;
9214
+ ours?: boolean;
9215
+ };
9216
+ header?: never;
9217
+ path?: never;
9218
+ cookie?: never;
9219
+ };
9220
+ requestBody?: never;
9221
+ responses: {
9222
+ /** @description Request fulfilled, document follows */
9223
+ 200: {
9224
+ headers: {
9225
+ [name: string]: unknown;
9226
+ };
9227
+ content: {
9228
+ "application/json": components["schemas"]["VmListResponse"];
9229
+ };
9230
+ };
9231
+ /** @description Bad request syntax or unsupported method */
9232
+ 400: {
9233
+ headers: {
9234
+ [name: string]: unknown;
9235
+ };
9236
+ content: {
9237
+ "application/json": {
9238
+ detail: string;
9239
+ extra?:
9240
+ | null
9241
+ | {
9242
+ [key: string]: unknown;
9243
+ }
9244
+ | unknown[];
9245
+ status_code: number;
9246
+ };
9247
+ };
9248
+ };
9249
+ };
9250
+ };
8613
9251
  }