@leavepulse/control-sdk 0.3.38 → 0.3.39

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
@@ -24,6 +24,7 @@ import { ControlDcimPdu } from "./resources/ControlDcimPdu";
24
24
  import { ControlDcimPort } from "./resources/ControlDcimPort";
25
25
  import { ControlDcimPowerLink } from "./resources/ControlDcimPowerLink";
26
26
  import { ControlDcimRack } from "./resources/ControlDcimRack";
27
+ import { ControlDcimStorageNode } from "./resources/ControlDcimStorageNode";
27
28
  import { ControlEdge } from "./resources/ControlEdge";
28
29
  import { ControlEnrollToken } from "./resources/ControlEnrollToken";
29
30
  import { ControlEnvGroup } from "./resources/ControlEnvGroup";
@@ -219,6 +220,14 @@ export class LeavePulse {
219
220
  ) as ControlDcimRack;
220
221
  }
221
222
 
223
+ controldcimstoragenode(id: string): ControlDcimStorageNode {
224
+ return this.ctx.cache.ensure(
225
+ "ControlDcimStorageNode",
226
+ id,
227
+ () => new ControlDcimStorageNode({ id } as never, this.ctx),
228
+ ) as ControlDcimStorageNode;
229
+ }
230
+
222
231
  controledge(id: string): ControlEdge {
223
232
  return this.ctx.cache.ensure(
224
233
  "ControlEdge",
@@ -320,6 +329,8 @@ export class LeavePulse {
320
329
  ControlDcimPowerLink: (d) =>
321
330
  new ControlDcimPowerLink(d as never, this.ctx),
322
331
  ControlDcimRack: (d) => new ControlDcimRack(d as never, this.ctx),
332
+ ControlDcimStorageNode: (d) =>
333
+ new ControlDcimStorageNode(d as never, this.ctx),
323
334
  ControlEdge: (d) => new ControlEdge(d as never, this.ctx),
324
335
  ControlEnrollToken: (d) => new ControlEnrollToken(d as never, this.ctx),
325
336
  ControlEnvGroup: (d) => new ControlEnvGroup(d as never, this.ctx),
package/index.ts CHANGED
@@ -20,6 +20,7 @@ export { ControlDcimPdu } from "./resources/ControlDcimPdu";
20
20
  export { ControlDcimPort } from "./resources/ControlDcimPort";
21
21
  export { ControlDcimPowerLink } from "./resources/ControlDcimPowerLink";
22
22
  export { ControlDcimRack } from "./resources/ControlDcimRack";
23
+ export { ControlDcimStorageNode } from "./resources/ControlDcimStorageNode";
23
24
  export { ControlEdge } from "./resources/ControlEdge";
24
25
  export { ControlEnrollToken } from "./resources/ControlEnrollToken";
25
26
  export { ControlEnvGroup } from "./resources/ControlEnvGroup";
package/models.ts CHANGED
@@ -61,6 +61,10 @@ export type CreateRackRequest = components["schemas"]["CreateRackRequest"];
61
61
  export type CreateRuleRequest = components["schemas"]["CreateRuleRequest"];
62
62
  export type CreateScheduleRequest =
63
63
  components["schemas"]["CreateScheduleRequest"];
64
+ export type CreateStorageChildrenRequest =
65
+ components["schemas"]["CreateStorageChildrenRequest"];
66
+ export type CreateStorageNodeRequest =
67
+ components["schemas"]["CreateStorageNodeRequest"];
64
68
  export type DecommissionRequest = components["schemas"]["DecommissionRequest"];
65
69
  export type DecommissionResponse =
66
70
  components["schemas"]["DecommissionResponse"];
@@ -122,6 +126,8 @@ export type LocationListResponse =
122
126
  export type ManufacturerDTO = components["schemas"]["ManufacturerDTO"];
123
127
  export type ManufacturerListResponse =
124
128
  components["schemas"]["ManufacturerListResponse"];
129
+ export type MoveStorageNodeRequest =
130
+ components["schemas"]["MoveStorageNodeRequest"];
125
131
  export type NodeDTO = components["schemas"]["NodeDTO"];
126
132
  export type OutletDTO = components["schemas"]["OutletDTO"];
127
133
  export type OutletListResponse = components["schemas"]["OutletListResponse"];
@@ -172,6 +178,9 @@ export type SetPositionRequest = components["schemas"]["SetPositionRequest"];
172
178
  export type SetRoleRequest = components["schemas"]["SetRoleRequest"];
173
179
  export type SignAcceptanceRequest =
174
180
  components["schemas"]["SignAcceptanceRequest"];
181
+ export type StorageNodeDTO = components["schemas"]["StorageNodeDTO"];
182
+ export type StorageNodeListResponse =
183
+ components["schemas"]["StorageNodeListResponse"];
175
184
  export type TailLogsResponse = components["schemas"]["TailLogsResponse"];
176
185
  export type ToggleRequest = components["schemas"]["ToggleRequest"];
177
186
  export type TopologyResponse = components["schemas"]["TopologyResponse"];
@@ -195,6 +204,8 @@ export type UpdateOutletRequest = components["schemas"]["UpdateOutletRequest"];
195
204
  export type UpdatePduRequest = components["schemas"]["UpdatePduRequest"];
196
205
  export type UpdatePortRequest = components["schemas"]["UpdatePortRequest"];
197
206
  export type UpdateRackRequest = components["schemas"]["UpdateRackRequest"];
207
+ export type UpdateStorageNodeRequest =
208
+ components["schemas"]["UpdateStorageNodeRequest"];
198
209
  export type UploadImageRequest = components["schemas"]["UploadImageRequest"];
199
210
  export type UploadImageResponse = components["schemas"]["UploadImageResponse"];
200
211
  export type UpsertComponentTypeRequest =
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leavepulse/control-sdk",
3
- "version": "0.3.38",
3
+ "version": "0.3.39",
4
4
  "description": "Generated resource SDK (@leavepulse/control-sdk).",
5
5
  "type": "module",
6
6
  "module": "index.ts",
@@ -0,0 +1,89 @@
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
+
9
+ export class ControlDcimStorageNode extends Resource<Data> {
10
+ constructor(
11
+ data: Data,
12
+ private readonly ctx: ClientContext,
13
+ ) {
14
+ super(data);
15
+ }
16
+
17
+ /** control.dcim.storageNodes.list */
18
+ async controlDcimStorageNodesList(params?: {
19
+ location?: string;
20
+ parent?: string;
21
+ kind?: string;
22
+ }): Promise<models.StorageNodeListResponse> {
23
+ return fetchCachedOrThrow<models.StorageNodeListResponse>(
24
+ this.ctx.transport,
25
+ this.ctx.etagStore,
26
+ {
27
+ method: "GET",
28
+ path: `/v1/control/dcim/storage-nodes`,
29
+ query: {
30
+ location: params?.location,
31
+ parent: params?.parent,
32
+ kind: params?.kind,
33
+ },
34
+ },
35
+ );
36
+ }
37
+
38
+ /** control.dcim.storageNodes.create */
39
+ async dcimStorageNodesCreate(
40
+ body: models.CreateStorageNodeRequest,
41
+ ): Promise<models.StorageNodeDTO> {
42
+ return this.ctx.transport.request<models.StorageNodeDTO>({
43
+ method: "POST",
44
+ path: `/v1/control/dcim/storage-nodes`,
45
+ body,
46
+ });
47
+ }
48
+
49
+ /** control.dcim.storageNodes.delete */
50
+ async dcimStorageNodesDelete(): Promise<models.DeleteResultDTO> {
51
+ return this.ctx.transport.request<models.DeleteResultDTO>({
52
+ method: "DELETE",
53
+ path: `/v1/control/dcim/storage-nodes/${this.id}`,
54
+ });
55
+ }
56
+
57
+ /** control.dcim.storageNodes.update */
58
+ async dcimStorageNodesUpdate(
59
+ body: models.UpdateStorageNodeRequest,
60
+ ): Promise<models.StorageNodeDTO> {
61
+ return this.ctx.transport.request<models.StorageNodeDTO>({
62
+ method: "PATCH",
63
+ path: `/v1/control/dcim/storage-nodes/${this.id}`,
64
+ body,
65
+ });
66
+ }
67
+
68
+ /** control.dcim.storageNodes.createChildren */
69
+ async dcimStorageNodesCreateChildren(
70
+ body: models.CreateStorageChildrenRequest,
71
+ ): Promise<models.StorageNodeListResponse> {
72
+ return this.ctx.transport.request<models.StorageNodeListResponse>({
73
+ method: "POST",
74
+ path: `/v1/control/dcim/storage-nodes/${this.id}/children`,
75
+ body,
76
+ });
77
+ }
78
+
79
+ /** control.dcim.storageNodes.move */
80
+ async dcimStorageNodesMove(
81
+ body: models.MoveStorageNodeRequest,
82
+ ): Promise<models.StorageNodeDTO> {
83
+ return this.ctx.transport.request<models.StorageNodeDTO>({
84
+ method: "POST",
85
+ path: `/v1/control/dcim/storage-nodes/${this.id}/move`,
86
+ body,
87
+ });
88
+ }
89
+ }
package/types.ts CHANGED
@@ -987,6 +987,76 @@ export interface paths {
987
987
  patch: operations["control.dcim.racks.update"];
988
988
  trace?: never;
989
989
  };
990
+ "/v1/control/dcim/storage-nodes": {
991
+ parameters: {
992
+ query?: never;
993
+ header?: never;
994
+ path?: never;
995
+ cookie?: never;
996
+ };
997
+ /** ListStorageNodes */
998
+ get: operations["control.dcim.storageNodes.list"];
999
+ put?: never;
1000
+ /** CreateStorageNode */
1001
+ post: operations["control.dcim.storageNodes.create"];
1002
+ delete?: never;
1003
+ options?: never;
1004
+ head?: never;
1005
+ patch?: never;
1006
+ trace?: never;
1007
+ };
1008
+ "/v1/control/dcim/storage-nodes/{node_id}": {
1009
+ parameters: {
1010
+ query?: never;
1011
+ header?: never;
1012
+ path?: never;
1013
+ cookie?: never;
1014
+ };
1015
+ get?: never;
1016
+ put?: never;
1017
+ post?: never;
1018
+ /** DeleteStorageNode */
1019
+ delete: operations["control.dcim.storageNodes.delete"];
1020
+ options?: never;
1021
+ head?: never;
1022
+ /** UpdateStorageNode */
1023
+ patch: operations["control.dcim.storageNodes.update"];
1024
+ trace?: never;
1025
+ };
1026
+ "/v1/control/dcim/storage-nodes/{node_id}/children": {
1027
+ parameters: {
1028
+ query?: never;
1029
+ header?: never;
1030
+ path?: never;
1031
+ cookie?: never;
1032
+ };
1033
+ get?: never;
1034
+ put?: never;
1035
+ /** CreateStorageChildren */
1036
+ post: operations["control.dcim.storageNodes.createChildren"];
1037
+ delete?: never;
1038
+ options?: never;
1039
+ head?: never;
1040
+ patch?: never;
1041
+ trace?: never;
1042
+ };
1043
+ "/v1/control/dcim/storage-nodes/{node_id}/move": {
1044
+ parameters: {
1045
+ query?: never;
1046
+ header?: never;
1047
+ path?: never;
1048
+ cookie?: never;
1049
+ };
1050
+ get?: never;
1051
+ put?: never;
1052
+ /** MoveStorageNode */
1053
+ post: operations["control.dcim.storageNodes.move"];
1054
+ delete?: never;
1055
+ options?: never;
1056
+ head?: never;
1057
+ patch?: never;
1058
+ trace?: never;
1059
+ };
990
1060
  "/v1/control/enroll-tokens": {
991
1061
  parameters: {
992
1062
  query?: never;
@@ -1735,6 +1805,8 @@ export interface components {
1735
1805
  ContainerDTO: {
1736
1806
  /** @default 0 */
1737
1807
  cpu_pct: number;
1808
+ /** @default 0 */
1809
+ generation: number;
1738
1810
  id: string;
1739
1811
  image: string;
1740
1812
  /** @default */
@@ -1942,6 +2014,23 @@ export interface components {
1942
2014
  /** @default */
1943
2015
  target_tag?: string;
1944
2016
  };
2017
+ /** CreateStorageChildrenRequest */
2018
+ CreateStorageChildrenRequest: {
2019
+ codes: string[];
2020
+ };
2021
+ /** CreateStorageNodeRequest */
2022
+ CreateStorageNodeRequest: {
2023
+ code: string;
2024
+ kind: string;
2025
+ /** @default */
2026
+ location_id?: string;
2027
+ /** @default */
2028
+ name?: string;
2029
+ /** @default */
2030
+ parent_id?: string;
2031
+ /** @default 0 */
2032
+ sort_order?: number;
2033
+ };
1945
2034
  /** DecommissionRequest */
1946
2035
  DecommissionRequest: {
1947
2036
  /** @default false */
@@ -2301,6 +2390,11 @@ export interface components {
2301
2390
  ManufacturerListResponse: {
2302
2391
  items: components["schemas"]["ManufacturerDTO"][];
2303
2392
  };
2393
+ /** MoveStorageNodeRequest */
2394
+ MoveStorageNodeRequest: {
2395
+ /** @default */
2396
+ parent_id?: string;
2397
+ };
2304
2398
  /** NodeDTO */
2305
2399
  NodeDTO: {
2306
2400
  /** @default 0 */
@@ -2402,6 +2496,8 @@ export interface components {
2402
2496
  shelf: string;
2403
2497
  /** @default */
2404
2498
  shelf_rack: string;
2499
+ /** @default */
2500
+ storage_node_id: string;
2405
2501
  style: string;
2406
2502
  u_position: number;
2407
2503
  u_size: number;
@@ -2606,6 +2702,8 @@ export interface components {
2606
2702
  /** @default 0 */
2607
2703
  latest_digest_checked_at: number;
2608
2704
  name: string;
2705
+ provides?: string[];
2706
+ requires?: Record<string, never>[];
2609
2707
  spec?: components["schemas"]["ServiceSpec"] | null;
2610
2708
  stack: string;
2611
2709
  target_hosts: string[];
@@ -2676,6 +2774,25 @@ export interface components {
2676
2774
  /** @default */
2677
2775
  client_signature_ref?: string;
2678
2776
  };
2777
+ /** StorageNodeDTO */
2778
+ StorageNodeDTO: {
2779
+ code: string;
2780
+ depth: number;
2781
+ id: string;
2782
+ kind: string;
2783
+ location_id: string;
2784
+ /** @default */
2785
+ name: string;
2786
+ /** @default */
2787
+ parent_id: string;
2788
+ path: string;
2789
+ /** @default 0 */
2790
+ sort_order: number;
2791
+ };
2792
+ /** StorageNodeListResponse */
2793
+ StorageNodeListResponse: {
2794
+ items: components["schemas"]["StorageNodeDTO"][];
2795
+ };
2679
2796
  /** TailLogsResponse */
2680
2797
  TailLogsResponse: {
2681
2798
  container: string;
@@ -2812,6 +2929,12 @@ export interface components {
2812
2929
  pos_row?: string | null;
2813
2930
  u_height?: number | null;
2814
2931
  };
2932
+ /** UpdateStorageNodeRequest */
2933
+ UpdateStorageNodeRequest: {
2934
+ code?: string | null;
2935
+ name?: string | null;
2936
+ sort_order?: number | null;
2937
+ };
2815
2938
  /** UploadImageRequest */
2816
2939
  UploadImageRequest: {
2817
2940
  content: string;
@@ -2970,6 +3093,8 @@ export interface components {
2970
3093
  /** @default service */
2971
3094
  kind?: string;
2972
3095
  name: string;
3096
+ provides?: string[];
3097
+ requires?: Record<string, never>[];
2973
3098
  spec?: components["schemas"]["ServiceSpec"] | null;
2974
3099
  /** @default */
2975
3100
  stack?: string;
@@ -6642,6 +6767,262 @@ export interface operations {
6642
6767
  };
6643
6768
  };
6644
6769
  };
6770
+ "control.dcim.storageNodes.list": {
6771
+ parameters: {
6772
+ query?: {
6773
+ location?: string | null;
6774
+ parent?: string | null;
6775
+ kind?: string | null;
6776
+ };
6777
+ header?: never;
6778
+ path?: never;
6779
+ cookie?: never;
6780
+ };
6781
+ requestBody?: never;
6782
+ responses: {
6783
+ /** @description Request fulfilled, document follows */
6784
+ 200: {
6785
+ headers: {
6786
+ [name: string]: unknown;
6787
+ };
6788
+ content: {
6789
+ "application/json": components["schemas"]["StorageNodeListResponse"];
6790
+ };
6791
+ };
6792
+ /** @description Bad request syntax or unsupported method */
6793
+ 400: {
6794
+ headers: {
6795
+ [name: string]: unknown;
6796
+ };
6797
+ content: {
6798
+ "application/json": {
6799
+ detail: string;
6800
+ extra?:
6801
+ | null
6802
+ | {
6803
+ [key: string]: unknown;
6804
+ }
6805
+ | unknown[];
6806
+ status_code: number;
6807
+ };
6808
+ };
6809
+ };
6810
+ };
6811
+ };
6812
+ "control.dcim.storageNodes.create": {
6813
+ parameters: {
6814
+ query?: never;
6815
+ header?: never;
6816
+ path?: never;
6817
+ cookie?: never;
6818
+ };
6819
+ requestBody: {
6820
+ content: {
6821
+ "application/json": components["schemas"]["CreateStorageNodeRequest"];
6822
+ };
6823
+ };
6824
+ responses: {
6825
+ /** @description Document created, URL follows */
6826
+ 201: {
6827
+ headers: {
6828
+ [name: string]: unknown;
6829
+ };
6830
+ content: {
6831
+ "application/json": components["schemas"]["StorageNodeDTO"];
6832
+ };
6833
+ };
6834
+ /** @description Bad request syntax or unsupported method */
6835
+ 400: {
6836
+ headers: {
6837
+ [name: string]: unknown;
6838
+ };
6839
+ content: {
6840
+ "application/json": {
6841
+ detail: string;
6842
+ extra?:
6843
+ | null
6844
+ | {
6845
+ [key: string]: unknown;
6846
+ }
6847
+ | unknown[];
6848
+ status_code: number;
6849
+ };
6850
+ };
6851
+ };
6852
+ };
6853
+ };
6854
+ "control.dcim.storageNodes.delete": {
6855
+ parameters: {
6856
+ query?: never;
6857
+ header?: never;
6858
+ path: {
6859
+ node_id: string;
6860
+ };
6861
+ cookie?: never;
6862
+ };
6863
+ requestBody?: never;
6864
+ responses: {
6865
+ /** @description Request fulfilled, document follows */
6866
+ 200: {
6867
+ headers: {
6868
+ [name: string]: unknown;
6869
+ };
6870
+ content: {
6871
+ "application/json": components["schemas"]["DeleteResultDTO"];
6872
+ };
6873
+ };
6874
+ /** @description Bad request syntax or unsupported method */
6875
+ 400: {
6876
+ headers: {
6877
+ [name: string]: unknown;
6878
+ };
6879
+ content: {
6880
+ "application/json": {
6881
+ detail: string;
6882
+ extra?:
6883
+ | null
6884
+ | {
6885
+ [key: string]: unknown;
6886
+ }
6887
+ | unknown[];
6888
+ status_code: number;
6889
+ };
6890
+ };
6891
+ };
6892
+ };
6893
+ };
6894
+ "control.dcim.storageNodes.update": {
6895
+ parameters: {
6896
+ query?: never;
6897
+ header?: never;
6898
+ path: {
6899
+ node_id: string;
6900
+ };
6901
+ cookie?: never;
6902
+ };
6903
+ requestBody: {
6904
+ content: {
6905
+ "application/json": components["schemas"]["UpdateStorageNodeRequest"];
6906
+ };
6907
+ };
6908
+ responses: {
6909
+ /** @description Request fulfilled, document follows */
6910
+ 200: {
6911
+ headers: {
6912
+ [name: string]: unknown;
6913
+ };
6914
+ content: {
6915
+ "application/json": components["schemas"]["StorageNodeDTO"];
6916
+ };
6917
+ };
6918
+ /** @description Bad request syntax or unsupported method */
6919
+ 400: {
6920
+ headers: {
6921
+ [name: string]: unknown;
6922
+ };
6923
+ content: {
6924
+ "application/json": {
6925
+ detail: string;
6926
+ extra?:
6927
+ | null
6928
+ | {
6929
+ [key: string]: unknown;
6930
+ }
6931
+ | unknown[];
6932
+ status_code: number;
6933
+ };
6934
+ };
6935
+ };
6936
+ };
6937
+ };
6938
+ "control.dcim.storageNodes.createChildren": {
6939
+ parameters: {
6940
+ query?: never;
6941
+ header?: never;
6942
+ path: {
6943
+ node_id: string;
6944
+ };
6945
+ cookie?: never;
6946
+ };
6947
+ requestBody: {
6948
+ content: {
6949
+ "application/json": components["schemas"]["CreateStorageChildrenRequest"];
6950
+ };
6951
+ };
6952
+ responses: {
6953
+ /** @description Document created, URL follows */
6954
+ 201: {
6955
+ headers: {
6956
+ [name: string]: unknown;
6957
+ };
6958
+ content: {
6959
+ "application/json": components["schemas"]["StorageNodeListResponse"];
6960
+ };
6961
+ };
6962
+ /** @description Bad request syntax or unsupported method */
6963
+ 400: {
6964
+ headers: {
6965
+ [name: string]: unknown;
6966
+ };
6967
+ content: {
6968
+ "application/json": {
6969
+ detail: string;
6970
+ extra?:
6971
+ | null
6972
+ | {
6973
+ [key: string]: unknown;
6974
+ }
6975
+ | unknown[];
6976
+ status_code: number;
6977
+ };
6978
+ };
6979
+ };
6980
+ };
6981
+ };
6982
+ "control.dcim.storageNodes.move": {
6983
+ parameters: {
6984
+ query?: never;
6985
+ header?: never;
6986
+ path: {
6987
+ node_id: string;
6988
+ };
6989
+ cookie?: never;
6990
+ };
6991
+ requestBody: {
6992
+ content: {
6993
+ "application/json": components["schemas"]["MoveStorageNodeRequest"];
6994
+ };
6995
+ };
6996
+ responses: {
6997
+ /** @description Document created, URL follows */
6998
+ 201: {
6999
+ headers: {
7000
+ [name: string]: unknown;
7001
+ };
7002
+ content: {
7003
+ "application/json": components["schemas"]["StorageNodeDTO"];
7004
+ };
7005
+ };
7006
+ /** @description Bad request syntax or unsupported method */
7007
+ 400: {
7008
+ headers: {
7009
+ [name: string]: unknown;
7010
+ };
7011
+ content: {
7012
+ "application/json": {
7013
+ detail: string;
7014
+ extra?:
7015
+ | null
7016
+ | {
7017
+ [key: string]: unknown;
7018
+ }
7019
+ | unknown[];
7020
+ status_code: number;
7021
+ };
7022
+ };
7023
+ };
7024
+ };
7025
+ };
6645
7026
  "control.enroll_tokens.list": {
6646
7027
  parameters: {
6647
7028
  query?: never;