@leavepulse/control-sdk 0.3.37 → 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,10 @@ 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"];
209
+ export type UploadImageRequest = components["schemas"]["UploadImageRequest"];
210
+ export type UploadImageResponse = components["schemas"]["UploadImageResponse"];
198
211
  export type UpsertComponentTypeRequest =
199
212
  components["schemas"]["UpsertComponentTypeRequest"];
200
213
  export type UpsertDeviceTypeRequest =
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leavepulse/control-sdk",
3
- "version": "0.3.37",
3
+ "version": "0.3.39",
4
4
  "description": "Generated resource SDK (@leavepulse/control-sdk).",
5
5
  "type": "module",
6
6
  "module": "index.ts",
@@ -79,6 +79,17 @@ export class ControlDcimDeviceType extends Resource<Data> {
79
79
  });
80
80
  }
81
81
 
82
+ /** control.dcim.catalog.images.upload */
83
+ async dcimCatalogImagesUpload(
84
+ body: models.UploadImageRequest,
85
+ ): Promise<models.UploadImageResponse> {
86
+ return this.ctx.transport.request<models.UploadImageResponse>({
87
+ method: "POST",
88
+ path: `/v1/control/dcim/catalog/images`,
89
+ body,
90
+ });
91
+ }
92
+
82
93
  /** control.dcim.catalog.import */
83
94
  async dcimCatalogImport(
84
95
  body: models.ImportDeviceTypesRequest,
@@ -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
@@ -544,6 +544,23 @@ export interface paths {
544
544
  patch?: never;
545
545
  trace?: never;
546
546
  };
547
+ "/v1/control/dcim/catalog/images": {
548
+ parameters: {
549
+ query?: never;
550
+ header?: never;
551
+ path?: never;
552
+ cookie?: never;
553
+ };
554
+ get?: never;
555
+ put?: never;
556
+ /** UploadImage */
557
+ post: operations["control.dcim.catalog.images.upload"];
558
+ delete?: never;
559
+ options?: never;
560
+ head?: never;
561
+ patch?: never;
562
+ trace?: never;
563
+ };
547
564
  "/v1/control/dcim/catalog/import": {
548
565
  parameters: {
549
566
  query?: never;
@@ -970,6 +987,76 @@ export interface paths {
970
987
  patch: operations["control.dcim.racks.update"];
971
988
  trace?: never;
972
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
+ };
973
1060
  "/v1/control/enroll-tokens": {
974
1061
  parameters: {
975
1062
  query?: never;
@@ -1718,6 +1805,8 @@ export interface components {
1718
1805
  ContainerDTO: {
1719
1806
  /** @default 0 */
1720
1807
  cpu_pct: number;
1808
+ /** @default 0 */
1809
+ generation: number;
1721
1810
  id: string;
1722
1811
  image: string;
1723
1812
  /** @default */
@@ -1925,6 +2014,23 @@ export interface components {
1925
2014
  /** @default */
1926
2015
  target_tag?: string;
1927
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
+ };
1928
2034
  /** DecommissionRequest */
1929
2035
  DecommissionRequest: {
1930
2036
  /** @default false */
@@ -1949,6 +2055,8 @@ export interface components {
1949
2055
  host_id: string;
1950
2056
  /** @default */
1951
2057
  tag?: string;
2058
+ /** @default false */
2059
+ zero_downtime?: boolean;
1952
2060
  };
1953
2061
  /** DeploymentDTO */
1954
2062
  DeploymentDTO: {
@@ -1993,6 +2101,8 @@ export interface components {
1993
2101
  /** DeviceTypeDTO */
1994
2102
  DeviceTypeDTO: {
1995
2103
  depth_mm: number;
2104
+ /** @default */
2105
+ front_image_url: string;
1996
2106
  height_mm: number;
1997
2107
  id: string;
1998
2108
  is_complete: boolean;
@@ -2009,6 +2119,8 @@ export interface components {
2009
2119
  ports?: components["schemas"]["DeviceTypePortDTO"][];
2010
2120
  power_input: string;
2011
2121
  power_type: string;
2122
+ /** @default */
2123
+ rear_image_url: string;
2012
2124
  slug: string;
2013
2125
  source: string;
2014
2126
  source_ref: string;
@@ -2224,6 +2336,10 @@ export interface components {
2224
2336
  };
2225
2337
  /** ImportDocumentInput */
2226
2338
  ImportDocumentInput: {
2339
+ /** @default */
2340
+ front_image: string;
2341
+ /** @default */
2342
+ rear_image: string;
2227
2343
  /** @default */
2228
2344
  source_ref: string;
2229
2345
  yaml: string;
@@ -2274,6 +2390,11 @@ export interface components {
2274
2390
  ManufacturerListResponse: {
2275
2391
  items: components["schemas"]["ManufacturerDTO"][];
2276
2392
  };
2393
+ /** MoveStorageNodeRequest */
2394
+ MoveStorageNodeRequest: {
2395
+ /** @default */
2396
+ parent_id?: string;
2397
+ };
2277
2398
  /** NodeDTO */
2278
2399
  NodeDTO: {
2279
2400
  /** @default 0 */
@@ -2375,6 +2496,8 @@ export interface components {
2375
2496
  shelf: string;
2376
2497
  /** @default */
2377
2498
  shelf_rack: string;
2499
+ /** @default */
2500
+ storage_node_id: string;
2378
2501
  style: string;
2379
2502
  u_position: number;
2380
2503
  u_size: number;
@@ -2579,6 +2702,8 @@ export interface components {
2579
2702
  /** @default 0 */
2580
2703
  latest_digest_checked_at: number;
2581
2704
  name: string;
2705
+ provides?: string[];
2706
+ requires?: Record<string, never>[];
2582
2707
  spec?: components["schemas"]["ServiceSpec"] | null;
2583
2708
  stack: string;
2584
2709
  target_hosts: string[];
@@ -2649,6 +2774,25 @@ export interface components {
2649
2774
  /** @default */
2650
2775
  client_signature_ref?: string;
2651
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
+ };
2652
2796
  /** TailLogsResponse */
2653
2797
  TailLogsResponse: {
2654
2798
  container: string;
@@ -2785,6 +2929,22 @@ export interface components {
2785
2929
  pos_row?: string | null;
2786
2930
  u_height?: number | null;
2787
2931
  };
2932
+ /** UpdateStorageNodeRequest */
2933
+ UpdateStorageNodeRequest: {
2934
+ code?: string | null;
2935
+ name?: string | null;
2936
+ sort_order?: number | null;
2937
+ };
2938
+ /** UploadImageRequest */
2939
+ UploadImageRequest: {
2940
+ content: string;
2941
+ extension: string;
2942
+ };
2943
+ /** UploadImageResponse */
2944
+ UploadImageResponse: {
2945
+ key: string;
2946
+ url: string;
2947
+ };
2788
2948
  /** UpsertComponentTypeRequest */
2789
2949
  UpsertComponentTypeRequest: {
2790
2950
  /** @default */
@@ -2933,6 +3093,8 @@ export interface components {
2933
3093
  /** @default service */
2934
3094
  kind?: string;
2935
3095
  name: string;
3096
+ provides?: string[];
3097
+ requires?: Record<string, never>[];
2936
3098
  spec?: components["schemas"]["ServiceSpec"] | null;
2937
3099
  /** @default */
2938
3100
  stack?: string;
@@ -4859,6 +5021,48 @@ export interface operations {
4859
5021
  };
4860
5022
  };
4861
5023
  };
5024
+ "control.dcim.catalog.images.upload": {
5025
+ parameters: {
5026
+ query?: never;
5027
+ header?: never;
5028
+ path?: never;
5029
+ cookie?: never;
5030
+ };
5031
+ requestBody: {
5032
+ content: {
5033
+ "application/json": components["schemas"]["UploadImageRequest"];
5034
+ };
5035
+ };
5036
+ responses: {
5037
+ /** @description Document created, URL follows */
5038
+ 201: {
5039
+ headers: {
5040
+ [name: string]: unknown;
5041
+ };
5042
+ content: {
5043
+ "application/json": components["schemas"]["UploadImageResponse"];
5044
+ };
5045
+ };
5046
+ /** @description Bad request syntax or unsupported method */
5047
+ 400: {
5048
+ headers: {
5049
+ [name: string]: unknown;
5050
+ };
5051
+ content: {
5052
+ "application/json": {
5053
+ detail: string;
5054
+ extra?:
5055
+ | null
5056
+ | {
5057
+ [key: string]: unknown;
5058
+ }
5059
+ | unknown[];
5060
+ status_code: number;
5061
+ };
5062
+ };
5063
+ };
5064
+ };
5065
+ };
4862
5066
  "control.dcim.catalog.import": {
4863
5067
  parameters: {
4864
5068
  query?: never;
@@ -6563,6 +6767,262 @@ export interface operations {
6563
6767
  };
6564
6768
  };
6565
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
+ };
6566
7026
  "control.enroll_tokens.list": {
6567
7027
  parameters: {
6568
7028
  query?: never;