@metal-stack/api 0.0.40-beta.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.
Files changed (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/js/Makefile +16 -0
  4. package/js/buf/validate/validate_pb.d.ts +4597 -0
  5. package/js/buf/validate/validate_pb.js +351 -0
  6. package/js/buf/validate/validate_pb.ts +4938 -0
  7. package/js/metalstack/admin/v2/filesystem_pb.d.ts +207 -0
  8. package/js/metalstack/admin/v2/filesystem_pb.js +48 -0
  9. package/js/metalstack/admin/v2/filesystem_pb.ts +248 -0
  10. package/js/metalstack/admin/v2/image_pb.d.ts +242 -0
  11. package/js/metalstack/admin/v2/image_pb.js +59 -0
  12. package/js/metalstack/admin/v2/image_pb.ts +288 -0
  13. package/js/metalstack/admin/v2/ip_pb.d.ts +60 -0
  14. package/js/metalstack/admin/v2/ip_pb.js +26 -0
  15. package/js/metalstack/admin/v2/ip_pb.ts +78 -0
  16. package/js/metalstack/admin/v2/machine_pb.d.ts +113 -0
  17. package/js/metalstack/admin/v2/machine_pb.js +38 -0
  18. package/js/metalstack/admin/v2/machine_pb.ts +140 -0
  19. package/js/metalstack/admin/v2/network_pb.d.ts +407 -0
  20. package/js/metalstack/admin/v2/network_pb.js +68 -0
  21. package/js/metalstack/admin/v2/network_pb.ts +478 -0
  22. package/js/metalstack/admin/v2/partition_pb.d.ts +341 -0
  23. package/js/metalstack/admin/v2/partition_pb.js +58 -0
  24. package/js/metalstack/admin/v2/partition_pb.ts +402 -0
  25. package/js/metalstack/admin/v2/project_pb.d.ts +67 -0
  26. package/js/metalstack/admin/v2/project_pb.js +27 -0
  27. package/js/metalstack/admin/v2/project_pb.ts +87 -0
  28. package/js/metalstack/admin/v2/size_pb.d.ts +183 -0
  29. package/js/metalstack/admin/v2/size_pb.js +48 -0
  30. package/js/metalstack/admin/v2/size_pb.ts +220 -0
  31. package/js/metalstack/admin/v2/switch_pb.d.ts +377 -0
  32. package/js/metalstack/admin/v2/switch_pb.js +79 -0
  33. package/js/metalstack/admin/v2/switch_pb.ts +435 -0
  34. package/js/metalstack/admin/v2/tenant_pb.d.ts +149 -0
  35. package/js/metalstack/admin/v2/tenant_pb.js +38 -0
  36. package/js/metalstack/admin/v2/tenant_pb.ts +182 -0
  37. package/js/metalstack/admin/v2/token_pb.d.ts +164 -0
  38. package/js/metalstack/admin/v2/token_pb.js +47 -0
  39. package/js/metalstack/admin/v2/token_pb.ts +199 -0
  40. package/js/metalstack/admin/v2/vpn_pb.ts +184 -0
  41. package/js/metalstack/api/v2/common_pb.d.ts +407 -0
  42. package/js/metalstack/api/v2/common_pb.js +311 -0
  43. package/js/metalstack/api/v2/common_pb.ts +488 -0
  44. package/js/metalstack/api/v2/filesystem_pb.d.ts +704 -0
  45. package/js/metalstack/api/v2/filesystem_pb.js +259 -0
  46. package/js/metalstack/api/v2/filesystem_pb.ts +819 -0
  47. package/js/metalstack/api/v2/health_pb.d.ts +220 -0
  48. package/js/metalstack/api/v2/health_pb.js +130 -0
  49. package/js/metalstack/api/v2/health_pb.ts +264 -0
  50. package/js/metalstack/api/v2/image_pb.d.ts +368 -0
  51. package/js/metalstack/api/v2/image_pb.js +129 -0
  52. package/js/metalstack/api/v2/image_pb.ts +436 -0
  53. package/js/metalstack/api/v2/ip_pb.d.ts +555 -0
  54. package/js/metalstack/api/v2/ip_pb.js +137 -0
  55. package/js/metalstack/api/v2/ip_pb.ts +650 -0
  56. package/js/metalstack/api/v2/machine_pb.d.ts +1831 -0
  57. package/js/metalstack/api/v2/machine_pb.js +459 -0
  58. package/js/metalstack/api/v2/machine_pb.ts +2155 -0
  59. package/js/metalstack/api/v2/method_pb.d.ts +122 -0
  60. package/js/metalstack/api/v2/method_pb.js +38 -0
  61. package/js/metalstack/api/v2/method_pb.ts +149 -0
  62. package/js/metalstack/api/v2/network_pb.d.ts +820 -0
  63. package/js/metalstack/api/v2/network_pb.js +244 -0
  64. package/js/metalstack/api/v2/network_pb.ts +954 -0
  65. package/js/metalstack/api/v2/partition_pb.d.ts +251 -0
  66. package/js/metalstack/api/v2/partition_pb.js +62 -0
  67. package/js/metalstack/api/v2/partition_pb.ts +300 -0
  68. package/js/metalstack/api/v2/predefined_rules_pb.d.ts +54 -0
  69. package/js/metalstack/api/v2/predefined_rules_pb.js +57 -0
  70. package/js/metalstack/api/v2/predefined_rules_pb.ts +79 -0
  71. package/js/metalstack/api/v2/project_pb.d.ts +862 -0
  72. package/js/metalstack/api/v2/project_pb.js +163 -0
  73. package/js/metalstack/api/v2/project_pb.ts +1001 -0
  74. package/js/metalstack/api/v2/size_pb.d.ts +261 -0
  75. package/js/metalstack/api/v2/size_pb.js +94 -0
  76. package/js/metalstack/api/v2/size_pb.ts +312 -0
  77. package/js/metalstack/api/v2/switch_pb.d.ts +508 -0
  78. package/js/metalstack/api/v2/switch_pb.js +207 -0
  79. package/js/metalstack/api/v2/switch_pb.ts +653 -0
  80. package/js/metalstack/api/v2/tenant_pb.d.ts +864 -0
  81. package/js/metalstack/api/v2/tenant_pb.js +163 -0
  82. package/js/metalstack/api/v2/tenant_pb.ts +1004 -0
  83. package/js/metalstack/api/v2/token_pb.d.ts +540 -0
  84. package/js/metalstack/api/v2/token_pb.js +118 -0
  85. package/js/metalstack/api/v2/token_pb.ts +621 -0
  86. package/js/metalstack/api/v2/user_pb.d.ts +108 -0
  87. package/js/metalstack/api/v2/user_pb.js +34 -0
  88. package/js/metalstack/api/v2/user_pb.ts +139 -0
  89. package/js/metalstack/api/v2/version_pb.d.ts +88 -0
  90. package/js/metalstack/api/v2/version_pb.js +30 -0
  91. package/js/metalstack/api/v2/version_pb.ts +112 -0
  92. package/js/metalstack/api/v2/vpn_pb.ts +72 -0
  93. package/js/metalstack/infra/v2/bmc_pb.d.ts +45 -0
  94. package/js/metalstack/infra/v2/bmc_pb.js +25 -0
  95. package/js/metalstack/infra/v2/bmc_pb.ts +104 -0
  96. package/js/metalstack/infra/v2/event_pb.d.ts +181 -0
  97. package/js/metalstack/infra/v2/event_pb.js +116 -0
  98. package/js/metalstack/infra/v2/event_pb.ts +218 -0
  99. package/js/metalstack/infra/v2/switch_pb.d.ts +223 -0
  100. package/js/metalstack/infra/v2/switch_pb.js +54 -0
  101. package/js/metalstack/infra/v2/switch_pb.ts +228 -0
  102. package/js/tsconfig.json +70 -0
  103. package/package.json +21 -0
@@ -0,0 +1,820 @@
1
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Labels, Meta, UpdateLabels, UpdateMeta } from "./common_pb";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file metalstack/api/v2/network.proto.
6
+ */
7
+ export declare const file_metalstack_api_v2_network: GenFile;
8
+ /**
9
+ * NetworkServiceGetRequest
10
+ *
11
+ * @generated from message metalstack.api.v2.NetworkServiceGetRequest
12
+ */
13
+ export type NetworkServiceGetRequest = Message<"metalstack.api.v2.NetworkServiceGetRequest"> & {
14
+ /**
15
+ * ID of the network to get
16
+ *
17
+ * @generated from field: string id = 1;
18
+ */
19
+ id: string;
20
+ /**
21
+ * Project of the network
22
+ *
23
+ * @generated from field: string project = 2;
24
+ */
25
+ project: string;
26
+ };
27
+ /**
28
+ * Describes the message metalstack.api.v2.NetworkServiceGetRequest.
29
+ * Use `create(NetworkServiceGetRequestSchema)` to create a new message.
30
+ */
31
+ export declare const NetworkServiceGetRequestSchema: GenMessage<NetworkServiceGetRequest>;
32
+ /**
33
+ * NetworkServiceGetResponse
34
+ *
35
+ * @generated from message metalstack.api.v2.NetworkServiceGetResponse
36
+ */
37
+ export type NetworkServiceGetResponse = Message<"metalstack.api.v2.NetworkServiceGetResponse"> & {
38
+ /**
39
+ * Network which was requested to get
40
+ *
41
+ * @generated from field: metalstack.api.v2.Network network = 1;
42
+ */
43
+ network?: Network;
44
+ };
45
+ /**
46
+ * Describes the message metalstack.api.v2.NetworkServiceGetResponse.
47
+ * Use `create(NetworkServiceGetResponseSchema)` to create a new message.
48
+ */
49
+ export declare const NetworkServiceGetResponseSchema: GenMessage<NetworkServiceGetResponse>;
50
+ /**
51
+ * NetworkServiceCreateRequest
52
+ *
53
+ * @generated from message metalstack.api.v2.NetworkServiceCreateRequest
54
+ */
55
+ export type NetworkServiceCreateRequest = Message<"metalstack.api.v2.NetworkServiceCreateRequest"> & {
56
+ /**
57
+ * Project where this network belongs to
58
+ *
59
+ * @generated from field: string project = 1;
60
+ */
61
+ project: string;
62
+ /**
63
+ * Name of this network
64
+ *
65
+ * @generated from field: optional string name = 2;
66
+ */
67
+ name?: string;
68
+ /**
69
+ * Description of this network
70
+ *
71
+ * @generated from field: optional string description = 3;
72
+ */
73
+ description?: string;
74
+ /**
75
+ * Partition where this network will be created
76
+ *
77
+ * @generated from field: optional string partition = 4;
78
+ */
79
+ partition?: string;
80
+ /**
81
+ * Labels on this network
82
+ *
83
+ * @generated from field: metalstack.api.v2.Labels labels = 5;
84
+ */
85
+ labels?: Labels;
86
+ /**
87
+ * Parent Network points to the id of the parent network if any
88
+ *
89
+ * @generated from field: optional string parent_network = 6;
90
+ */
91
+ parentNetwork?: string;
92
+ /**
93
+ * Length per addressfamily
94
+ *
95
+ * @generated from field: optional metalstack.api.v2.ChildPrefixLength length = 7;
96
+ */
97
+ length?: ChildPrefixLength;
98
+ /**
99
+ * AddressFamily to create, defaults to the same as the parent
100
+ *
101
+ * @generated from field: optional metalstack.api.v2.NetworkAddressFamily address_family = 8;
102
+ */
103
+ addressFamily?: NetworkAddressFamily;
104
+ };
105
+ /**
106
+ * Describes the message metalstack.api.v2.NetworkServiceCreateRequest.
107
+ * Use `create(NetworkServiceCreateRequestSchema)` to create a new message.
108
+ */
109
+ export declare const NetworkServiceCreateRequestSchema: GenMessage<NetworkServiceCreateRequest>;
110
+ /**
111
+ * NetworkServiceCreateResponse
112
+ *
113
+ * @generated from message metalstack.api.v2.NetworkServiceCreateResponse
114
+ */
115
+ export type NetworkServiceCreateResponse = Message<"metalstack.api.v2.NetworkServiceCreateResponse"> & {
116
+ /**
117
+ * Network is the created network
118
+ *
119
+ * @generated from field: metalstack.api.v2.Network network = 1;
120
+ */
121
+ network?: Network;
122
+ };
123
+ /**
124
+ * Describes the message metalstack.api.v2.NetworkServiceCreateResponse.
125
+ * Use `create(NetworkServiceCreateResponseSchema)` to create a new message.
126
+ */
127
+ export declare const NetworkServiceCreateResponseSchema: GenMessage<NetworkServiceCreateResponse>;
128
+ /**
129
+ * NetworkServiceUpdateRequest
130
+ *
131
+ * @generated from message metalstack.api.v2.NetworkServiceUpdateRequest
132
+ */
133
+ export type NetworkServiceUpdateRequest = Message<"metalstack.api.v2.NetworkServiceUpdateRequest"> & {
134
+ /**
135
+ * ID of the network to get
136
+ *
137
+ * @generated from field: string id = 1;
138
+ */
139
+ id: string;
140
+ /**
141
+ * UpdateMeta contains the timestamp and strategy to be used in this update request
142
+ *
143
+ * @generated from field: metalstack.api.v2.UpdateMeta update_meta = 2;
144
+ */
145
+ updateMeta?: UpdateMeta;
146
+ /**
147
+ * Project of the network
148
+ *
149
+ * @generated from field: string project = 3;
150
+ */
151
+ project: string;
152
+ /**
153
+ * Name of this network
154
+ *
155
+ * @generated from field: optional string name = 4;
156
+ */
157
+ name?: string;
158
+ /**
159
+ * Description of this network
160
+ *
161
+ * @generated from field: optional string description = 5;
162
+ */
163
+ description?: string;
164
+ /**
165
+ * Labels on this network
166
+ *
167
+ * @generated from field: optional metalstack.api.v2.UpdateLabels labels = 6;
168
+ */
169
+ labels?: UpdateLabels;
170
+ };
171
+ /**
172
+ * Describes the message metalstack.api.v2.NetworkServiceUpdateRequest.
173
+ * Use `create(NetworkServiceUpdateRequestSchema)` to create a new message.
174
+ */
175
+ export declare const NetworkServiceUpdateRequestSchema: GenMessage<NetworkServiceUpdateRequest>;
176
+ /**
177
+ * NetworkServiceUpdateResponse
178
+ *
179
+ * @generated from message metalstack.api.v2.NetworkServiceUpdateResponse
180
+ */
181
+ export type NetworkServiceUpdateResponse = Message<"metalstack.api.v2.NetworkServiceUpdateResponse"> & {
182
+ /**
183
+ * Network is the updated network
184
+ *
185
+ * @generated from field: metalstack.api.v2.Network network = 1;
186
+ */
187
+ network?: Network;
188
+ };
189
+ /**
190
+ * Describes the message metalstack.api.v2.NetworkServiceUpdateResponse.
191
+ * Use `create(NetworkServiceUpdateResponseSchema)` to create a new message.
192
+ */
193
+ export declare const NetworkServiceUpdateResponseSchema: GenMessage<NetworkServiceUpdateResponse>;
194
+ /**
195
+ * NetworkServiceListRequest
196
+ *
197
+ * @generated from message metalstack.api.v2.NetworkServiceListRequest
198
+ */
199
+ export type NetworkServiceListRequest = Message<"metalstack.api.v2.NetworkServiceListRequest"> & {
200
+ /**
201
+ * Project of the networks to list
202
+ *
203
+ * @generated from field: string project = 1;
204
+ */
205
+ project: string;
206
+ /**
207
+ * Query which specifies which networks to return
208
+ *
209
+ * @generated from field: metalstack.api.v2.NetworkQuery query = 2;
210
+ */
211
+ query?: NetworkQuery;
212
+ };
213
+ /**
214
+ * Describes the message metalstack.api.v2.NetworkServiceListRequest.
215
+ * Use `create(NetworkServiceListRequestSchema)` to create a new message.
216
+ */
217
+ export declare const NetworkServiceListRequestSchema: GenMessage<NetworkServiceListRequest>;
218
+ /**
219
+ * NetworkServiceListResponse
220
+ *
221
+ * @generated from message metalstack.api.v2.NetworkServiceListResponse
222
+ */
223
+ export type NetworkServiceListResponse = Message<"metalstack.api.v2.NetworkServiceListResponse"> & {
224
+ /**
225
+ * Networks are the requested networks
226
+ *
227
+ * @generated from field: repeated metalstack.api.v2.Network networks = 1;
228
+ */
229
+ networks: Network[];
230
+ };
231
+ /**
232
+ * Describes the message metalstack.api.v2.NetworkServiceListResponse.
233
+ * Use `create(NetworkServiceListResponseSchema)` to create a new message.
234
+ */
235
+ export declare const NetworkServiceListResponseSchema: GenMessage<NetworkServiceListResponse>;
236
+ /**
237
+ * NetworkServiceListRequest
238
+ *
239
+ * @generated from message metalstack.api.v2.NetworkServiceListBaseNetworksRequest
240
+ */
241
+ export type NetworkServiceListBaseNetworksRequest = Message<"metalstack.api.v2.NetworkServiceListBaseNetworksRequest"> & {
242
+ /**
243
+ * Project of the base networks to list
244
+ *
245
+ * @generated from field: string project = 1;
246
+ */
247
+ project: string;
248
+ /**
249
+ * Query which specifies which networks to return
250
+ *
251
+ * @generated from field: metalstack.api.v2.NetworkQuery query = 2;
252
+ */
253
+ query?: NetworkQuery;
254
+ };
255
+ /**
256
+ * Describes the message metalstack.api.v2.NetworkServiceListBaseNetworksRequest.
257
+ * Use `create(NetworkServiceListBaseNetworksRequestSchema)` to create a new message.
258
+ */
259
+ export declare const NetworkServiceListBaseNetworksRequestSchema: GenMessage<NetworkServiceListBaseNetworksRequest>;
260
+ /**
261
+ * NetworkServiceListResponse
262
+ *
263
+ * @generated from message metalstack.api.v2.NetworkServiceListBaseNetworksResponse
264
+ */
265
+ export type NetworkServiceListBaseNetworksResponse = Message<"metalstack.api.v2.NetworkServiceListBaseNetworksResponse"> & {
266
+ /**
267
+ * Networks are the requested networks
268
+ *
269
+ * @generated from field: repeated metalstack.api.v2.Network networks = 1;
270
+ */
271
+ networks: Network[];
272
+ };
273
+ /**
274
+ * Describes the message metalstack.api.v2.NetworkServiceListBaseNetworksResponse.
275
+ * Use `create(NetworkServiceListBaseNetworksResponseSchema)` to create a new message.
276
+ */
277
+ export declare const NetworkServiceListBaseNetworksResponseSchema: GenMessage<NetworkServiceListBaseNetworksResponse>;
278
+ /**
279
+ * NetworkServiceDeleteRequest
280
+ *
281
+ * @generated from message metalstack.api.v2.NetworkServiceDeleteRequest
282
+ */
283
+ export type NetworkServiceDeleteRequest = Message<"metalstack.api.v2.NetworkServiceDeleteRequest"> & {
284
+ /**
285
+ * ID of the network to get
286
+ *
287
+ * @generated from field: string id = 1;
288
+ */
289
+ id: string;
290
+ /**
291
+ * Project of the network
292
+ *
293
+ * @generated from field: string project = 2;
294
+ */
295
+ project: string;
296
+ };
297
+ /**
298
+ * Describes the message metalstack.api.v2.NetworkServiceDeleteRequest.
299
+ * Use `create(NetworkServiceDeleteRequestSchema)` to create a new message.
300
+ */
301
+ export declare const NetworkServiceDeleteRequestSchema: GenMessage<NetworkServiceDeleteRequest>;
302
+ /**
303
+ * NetworkServiceDeleteResponse
304
+ *
305
+ * @generated from message metalstack.api.v2.NetworkServiceDeleteResponse
306
+ */
307
+ export type NetworkServiceDeleteResponse = Message<"metalstack.api.v2.NetworkServiceDeleteResponse"> & {
308
+ /**
309
+ * Network is the deleted network
310
+ *
311
+ * @generated from field: metalstack.api.v2.Network network = 1;
312
+ */
313
+ network?: Network;
314
+ };
315
+ /**
316
+ * Describes the message metalstack.api.v2.NetworkServiceDeleteResponse.
317
+ * Use `create(NetworkServiceDeleteResponseSchema)` to create a new message.
318
+ */
319
+ export declare const NetworkServiceDeleteResponseSchema: GenMessage<NetworkServiceDeleteResponse>;
320
+ /**
321
+ * Network
322
+ *
323
+ * @generated from message metalstack.api.v2.Network
324
+ */
325
+ export type Network = Message<"metalstack.api.v2.Network"> & {
326
+ /**
327
+ * Id of this network
328
+ *
329
+ * @generated from field: string id = 1;
330
+ */
331
+ id: string;
332
+ /**
333
+ * Meta for this network
334
+ *
335
+ * @generated from field: metalstack.api.v2.Meta meta = 2;
336
+ */
337
+ meta?: Meta;
338
+ /**
339
+ * Name of this network
340
+ *
341
+ * @generated from field: optional string name = 3;
342
+ */
343
+ name?: string;
344
+ /**
345
+ * Description of this network
346
+ *
347
+ * @generated from field: optional string description = 4;
348
+ */
349
+ description?: string;
350
+ /**
351
+ * Partition where this network will be created
352
+ *
353
+ * @generated from field: optional string partition = 5;
354
+ */
355
+ partition?: string;
356
+ /**
357
+ * Project where this network belongs to
358
+ *
359
+ * @generated from field: optional string project = 6;
360
+ */
361
+ project?: string;
362
+ /**
363
+ * Namespace if specified, this network is namespaced and can therefore overlap with others
364
+ * Will be equal with project most of the time
365
+ *
366
+ * @generated from field: optional string namespace = 7;
367
+ */
368
+ namespace?: string;
369
+ /**
370
+ * Prefixes in this network
371
+ *
372
+ * @generated from field: repeated string prefixes = 8;
373
+ */
374
+ prefixes: string[];
375
+ /**
376
+ * Destination Prefixes in this network
377
+ *
378
+ * @generated from field: repeated string destination_prefixes = 9;
379
+ */
380
+ destinationPrefixes: string[];
381
+ /**
382
+ * Default Child Prefix length defines the bitlength of a child network created per addressfamily, of not specified during the allocate request
383
+ *
384
+ * @generated from field: metalstack.api.v2.ChildPrefixLength default_child_prefix_length = 10;
385
+ */
386
+ defaultChildPrefixLength?: ChildPrefixLength;
387
+ /**
388
+ * Min Child Prefix length asserts that during child network creation the requested bit length is greater or equal the min child prefix length
389
+ *
390
+ * @generated from field: metalstack.api.v2.ChildPrefixLength min_child_prefix_length = 11;
391
+ */
392
+ minChildPrefixLength?: ChildPrefixLength;
393
+ /**
394
+ * Type of the network
395
+ *
396
+ * @generated from field: optional metalstack.api.v2.NetworkType type = 12;
397
+ */
398
+ type?: NetworkType;
399
+ /**
400
+ * NATType of this network
401
+ *
402
+ * @generated from field: optional metalstack.api.v2.NATType nat_type = 13;
403
+ */
404
+ natType?: NATType;
405
+ /**
406
+ * VRF of this network has this VNI.
407
+ *
408
+ * @generated from field: optional uint32 vrf = 14;
409
+ */
410
+ vrf?: number;
411
+ /**
412
+ * Parent Network points to the id of the parent network if any
413
+ *
414
+ * @generated from field: optional string parent_network = 15;
415
+ */
416
+ parentNetwork?: string;
417
+ /**
418
+ * AdditionalAnnouncableCidrs will be added to the allow list on the switch which prefixes might be announced
419
+ *
420
+ * @generated from field: repeated string additional_announcable_cidrs = 16;
421
+ */
422
+ additionalAnnouncableCidrs: string[];
423
+ /**
424
+ * Consumption of ips and prefixes in this networks
425
+ *
426
+ * @generated from field: metalstack.api.v2.NetworkConsumption consumption = 17;
427
+ */
428
+ consumption?: NetworkConsumption;
429
+ };
430
+ /**
431
+ * Describes the message metalstack.api.v2.Network.
432
+ * Use `create(NetworkSchema)` to create a new message.
433
+ */
434
+ export declare const NetworkSchema: GenMessage<Network>;
435
+ /**
436
+ * NetworkQuery defines which networks to query
437
+ *
438
+ * @generated from message metalstack.api.v2.NetworkQuery
439
+ */
440
+ export type NetworkQuery = Message<"metalstack.api.v2.NetworkQuery"> & {
441
+ /**
442
+ * Id of the network to query
443
+ *
444
+ * @generated from field: optional string id = 1;
445
+ */
446
+ id?: string;
447
+ /**
448
+ * Name of this network
449
+ *
450
+ * @generated from field: optional string name = 2;
451
+ */
452
+ name?: string;
453
+ /**
454
+ * Description of this network
455
+ *
456
+ * @generated from field: optional string description = 3;
457
+ */
458
+ description?: string;
459
+ /**
460
+ * Partition where this network will be created
461
+ *
462
+ * @generated from field: optional string partition = 4;
463
+ */
464
+ partition?: string;
465
+ /**
466
+ * Project where this network belongs to
467
+ *
468
+ * @generated from field: optional string project = 5;
469
+ */
470
+ project?: string;
471
+ /**
472
+ * Namespace where this network belongs to
473
+ *
474
+ * @generated from field: optional string namespace = 6;
475
+ */
476
+ namespace?: string;
477
+ /**
478
+ * Prefixes in this network
479
+ *
480
+ * @generated from field: repeated string prefixes = 7;
481
+ */
482
+ prefixes: string[];
483
+ /**
484
+ * Destination Prefixes in this network
485
+ *
486
+ * @generated from field: repeated string destination_prefixes = 8;
487
+ */
488
+ destinationPrefixes: string[];
489
+ /**
490
+ * VRF of this network has this VNI.
491
+ *
492
+ * @generated from field: optional uint32 vrf = 9;
493
+ */
494
+ vrf?: number;
495
+ /**
496
+ * Parent Network points to the id of the parent network if any
497
+ *
498
+ * @generated from field: optional string parent_network = 10;
499
+ */
500
+ parentNetwork?: string;
501
+ /**
502
+ * Addressfamily to query
503
+ *
504
+ * @generated from field: optional metalstack.api.v2.NetworkAddressFamily address_family = 11;
505
+ */
506
+ addressFamily?: NetworkAddressFamily;
507
+ /**
508
+ * Type of the network to query for
509
+ *
510
+ * @generated from field: optional metalstack.api.v2.NetworkType type = 12;
511
+ */
512
+ type?: NetworkType;
513
+ /**
514
+ * NATType configured
515
+ *
516
+ * @generated from field: optional metalstack.api.v2.NATType nat_type = 13;
517
+ */
518
+ natType?: NATType;
519
+ /**
520
+ * Labels on this network
521
+ *
522
+ * @generated from field: optional metalstack.api.v2.Labels labels = 14;
523
+ */
524
+ labels?: Labels;
525
+ };
526
+ /**
527
+ * Describes the message metalstack.api.v2.NetworkQuery.
528
+ * Use `create(NetworkQuerySchema)` to create a new message.
529
+ */
530
+ export declare const NetworkQuerySchema: GenMessage<NetworkQuery>;
531
+ /**
532
+ * ChildPrefixLength
533
+ *
534
+ * @generated from message metalstack.api.v2.ChildPrefixLength
535
+ */
536
+ export type ChildPrefixLength = Message<"metalstack.api.v2.ChildPrefixLength"> & {
537
+ /**
538
+ * IPv4 bit length of this network in this addressfamily
539
+ *
540
+ * @generated from field: optional uint32 ipv4 = 1;
541
+ */
542
+ ipv4?: number;
543
+ /**
544
+ * IPv6 bit length of this network in this addressfamily
545
+ *
546
+ * @generated from field: optional uint32 ipv6 = 2;
547
+ */
548
+ ipv6?: number;
549
+ };
550
+ /**
551
+ * Describes the message metalstack.api.v2.ChildPrefixLength.
552
+ * Use `create(ChildPrefixLengthSchema)` to create a new message.
553
+ */
554
+ export declare const ChildPrefixLengthSchema: GenMessage<ChildPrefixLength>;
555
+ /**
556
+ * NetworkConsumption contains ip and prefix usage by addressfamily
557
+ *
558
+ * @generated from message metalstack.api.v2.NetworkConsumption
559
+ */
560
+ export type NetworkConsumption = Message<"metalstack.api.v2.NetworkConsumption"> & {
561
+ /**
562
+ * IPv4 network usage
563
+ *
564
+ * @generated from field: metalstack.api.v2.NetworkUsage ipv4 = 1;
565
+ */
566
+ ipv4?: NetworkUsage;
567
+ /**
568
+ * IPv6 network usage, this can be approximated for high numbers
569
+ *
570
+ * @generated from field: metalstack.api.v2.NetworkUsage ipv6 = 2;
571
+ */
572
+ ipv6?: NetworkUsage;
573
+ };
574
+ /**
575
+ * Describes the message metalstack.api.v2.NetworkConsumption.
576
+ * Use `create(NetworkConsumptionSchema)` to create a new message.
577
+ */
578
+ export declare const NetworkConsumptionSchema: GenMessage<NetworkConsumption>;
579
+ /**
580
+ * NetworkUsage reports core metrics about available and used IPs or Prefixes in a Network.
581
+ *
582
+ * @generated from message metalstack.api.v2.NetworkUsage
583
+ */
584
+ export type NetworkUsage = Message<"metalstack.api.v2.NetworkUsage"> & {
585
+ /**
586
+ * the total available IPs
587
+ *
588
+ * @generated from field: uint64 available_ips = 2;
589
+ */
590
+ availableIps: bigint;
591
+ /**
592
+ * the total used IPs
593
+ *
594
+ * @generated from field: uint64 used_ips = 3;
595
+ */
596
+ usedIps: bigint;
597
+ /**
598
+ * the total available 2 bit Prefixes
599
+ *
600
+ * @generated from field: uint64 available_prefixes = 4;
601
+ */
602
+ availablePrefixes: bigint;
603
+ /**
604
+ * the total used Prefixes
605
+ *
606
+ * @generated from field: uint64 used_prefixes = 5;
607
+ */
608
+ usedPrefixes: bigint;
609
+ };
610
+ /**
611
+ * Describes the message metalstack.api.v2.NetworkUsage.
612
+ * Use `create(NetworkUsageSchema)` to create a new message.
613
+ */
614
+ export declare const NetworkUsageSchema: GenMessage<NetworkUsage>;
615
+ /**
616
+ * NATType defines how and if outgoing traffic is translated
617
+ *
618
+ * @generated from enum metalstack.api.v2.NATType
619
+ */
620
+ export declare enum NATType {
621
+ /**
622
+ * NAT_TYPE_UNSPECIFIED indicates a unspecified nat type
623
+ *
624
+ * @generated from enum value: NAT_TYPE_UNSPECIFIED = 0;
625
+ */
626
+ NAT_TYPE_UNSPECIFIED = 0,
627
+ /**
628
+ * NAT_TYPE_NONE indicates that no nat is configured
629
+ *
630
+ * @generated from enum value: NAT_TYPE_NONE = 1;
631
+ */
632
+ NAT_TYPE_NONE = 1,
633
+ /**
634
+ * NAT_TYPE_IPV4_MASQUERADE masquerade ipv4 behind gateway ip when traffic enters this network
635
+ *
636
+ * @generated from enum value: NAT_TYPE_IPV4_MASQUERADE = 2;
637
+ */
638
+ NAT_TYPE_IPV4_MASQUERADE = 2
639
+ }
640
+ /**
641
+ * Describes the enum metalstack.api.v2.NATType.
642
+ */
643
+ export declare const NATTypeSchema: GenEnum<NATType>;
644
+ /**
645
+ * NetworkType indicates the purpose of the network, it cannot be changed after creation
646
+ *
647
+ * @generated from enum metalstack.api.v2.NetworkType
648
+ */
649
+ export declare enum NetworkType {
650
+ /**
651
+ * NETWORK_TYPE_UNSPECIFIED indicates a unknown network type
652
+ *
653
+ * @generated from enum value: NETWORK_TYPE_UNSPECIFIED = 0;
654
+ */
655
+ UNSPECIFIED = 0,
656
+ /**
657
+ * NETWORK_TYPE_EXTERNAL indicates network where multiple projects can allocate ips, it offers connectivity to other external networks
658
+ * In most cases this is the internet network or a network which offers connectivity to legacy datacenter networks.
659
+ * If it is not project scoped everyone can allocate Ips in this network, otherwise only from the same project ip allocation is possible.
660
+ *
661
+ * @generated from enum value: NETWORK_TYPE_EXTERNAL = 1;
662
+ */
663
+ EXTERNAL = 1,
664
+ /**
665
+ * NETWORK_TYPE_UNDERLAY indicates a underlay network
666
+ * The underlay network connects all switches and the firewalls to build a EVPN dataplane
667
+ * It is not project scoped. Is part of the dataplane and reserved for administrative purposes.
668
+ *
669
+ * @generated from enum value: NETWORK_TYPE_UNDERLAY = 2;
670
+ */
671
+ UNDERLAY = 2,
672
+ /**
673
+ * NETWORK_TYPE_SUPER indicates a super network which is only used to create child networks
674
+ * If the vrf id is given, child networks will inherit this vrf.
675
+ * If the vrf id is nil in this network, child vrf is taken from the pool.
676
+ * If the partition is given, child networks inherit the partition.
677
+ * If the partition is nil, child networks also do not have a partition (i.e. requires vrf is distributed across all partitions).
678
+ * If the partition is given, only one super network in that partition can be created.
679
+ * If the partition is nil, multiple super networks can exist. Then, for child network creation the network id must be specified (base networks can be queried by label selector).
680
+ * For child creation destination prefixes will be inherited
681
+ * If this is project scoped, the child project must match, otherwise can be freely specified.
682
+ *
683
+ * @generated from enum value: NETWORK_TYPE_SUPER = 3;
684
+ */
685
+ SUPER = 3,
686
+ /**
687
+ * NETWORK_TYPE_SUPER_NAMESPACED indicates a super network which is only used to create child networks.
688
+ * All rules from NETWORK_TYPE_SUPER apply for them as well.
689
+ * In addition, a network namespace will be created for every project. Child networks per project will have disjunct prefixes.
690
+ * Prefix allocation will start again with the same base cidr for every project / namespace.
691
+ * This will allow the creation of much more child networks from a given super network size.
692
+ *
693
+ * @generated from enum value: NETWORK_TYPE_SUPER_NAMESPACED = 4;
694
+ */
695
+ SUPER_NAMESPACED = 4,
696
+ /**
697
+ * NETWORK_TYPE_CHILD indicates a child network of a project.
698
+ * This is the only network type that can be created by a user.
699
+ * Connectivity to external networks is not possible without going through an additional firewall in this network which creates connectivity to other networks.
700
+ * Such a network will be created either from a super, or super namespaced.
701
+ *
702
+ * @generated from enum value: NETWORK_TYPE_CHILD = 5;
703
+ */
704
+ CHILD = 5,
705
+ /**
706
+ * NETWORK_TYPE_CHILD_SHARED indicates a child network of a project which allows the allocation of ips from different projects.
707
+ * Connectivity to external networks is not possible, as for normal child networks.
708
+ * These networks are usually used to provide connectivity to shared services which are created in child networks, e.g. storage.
709
+ * With this approach the number of hops can be reduced to the bare minimum in order to increase availability and performance.
710
+ *
711
+ * @generated from enum value: NETWORK_TYPE_CHILD_SHARED = 6;
712
+ */
713
+ CHILD_SHARED = 6
714
+ }
715
+ /**
716
+ * Describes the enum metalstack.api.v2.NetworkType.
717
+ */
718
+ export declare const NetworkTypeSchema: GenEnum<NetworkType>;
719
+ /**
720
+ * NetworkAddressFamily defines the address family of a network
721
+ *
722
+ * @generated from enum metalstack.api.v2.NetworkAddressFamily
723
+ */
724
+ export declare enum NetworkAddressFamily {
725
+ /**
726
+ * NETWORK_ADDRESS_FAMILY_UNSPECIFIED is not specified
727
+ *
728
+ * @generated from enum value: NETWORK_ADDRESS_FAMILY_UNSPECIFIED = 0;
729
+ */
730
+ UNSPECIFIED = 0,
731
+ /**
732
+ * NETWORK_ADDRESS_FAMILY_V4 defines a network with IPv4 address prefixes
733
+ *
734
+ * @generated from enum value: NETWORK_ADDRESS_FAMILY_V4 = 1;
735
+ */
736
+ V4 = 1,
737
+ /**
738
+ * NETWORK_ADDRESS_FAMILY_V6 defines a network with IPv6 address prefixes
739
+ *
740
+ * @generated from enum value: NETWORK_ADDRESS_FAMILY_V6 = 2;
741
+ */
742
+ V6 = 2,
743
+ /**
744
+ * NETWORK_ADDRESS_FAMILY_DUAL_STACK defines a network with both IPv4 and IPv6 address prefixes
745
+ *
746
+ * @generated from enum value: NETWORK_ADDRESS_FAMILY_DUAL_STACK = 3;
747
+ */
748
+ DUAL_STACK = 3
749
+ }
750
+ /**
751
+ * Describes the enum metalstack.api.v2.NetworkAddressFamily.
752
+ */
753
+ export declare const NetworkAddressFamilySchema: GenEnum<NetworkAddressFamily>;
754
+ /**
755
+ * NetworkService serves network address related functions for end users, e.g. with project scope
756
+ *
757
+ * @generated from service metalstack.api.v2.NetworkService
758
+ */
759
+ export declare const NetworkService: GenService<{
760
+ /**
761
+ * Get a network
762
+ *
763
+ * @generated from rpc metalstack.api.v2.NetworkService.Get
764
+ */
765
+ get: {
766
+ methodKind: "unary";
767
+ input: typeof NetworkServiceGetRequestSchema;
768
+ output: typeof NetworkServiceGetResponseSchema;
769
+ };
770
+ /**
771
+ * Create a child network from a super network.
772
+ *
773
+ * @generated from rpc metalstack.api.v2.NetworkService.Create
774
+ */
775
+ create: {
776
+ methodKind: "unary";
777
+ input: typeof NetworkServiceCreateRequestSchema;
778
+ output: typeof NetworkServiceCreateResponseSchema;
779
+ };
780
+ /**
781
+ * Update a network
782
+ *
783
+ * @generated from rpc metalstack.api.v2.NetworkService.Update
784
+ */
785
+ update: {
786
+ methodKind: "unary";
787
+ input: typeof NetworkServiceUpdateRequestSchema;
788
+ output: typeof NetworkServiceUpdateResponseSchema;
789
+ };
790
+ /**
791
+ * List all project networks
792
+ *
793
+ * @generated from rpc metalstack.api.v2.NetworkService.List
794
+ */
795
+ list: {
796
+ methodKind: "unary";
797
+ input: typeof NetworkServiceListRequestSchema;
798
+ output: typeof NetworkServiceListResponseSchema;
799
+ };
800
+ /**
801
+ * ListBaseNetworks all base networks that can be used for either child network or ip allocation
802
+ *
803
+ * @generated from rpc metalstack.api.v2.NetworkService.ListBaseNetworks
804
+ */
805
+ listBaseNetworks: {
806
+ methodKind: "unary";
807
+ input: typeof NetworkServiceListBaseNetworksRequestSchema;
808
+ output: typeof NetworkServiceListBaseNetworksResponseSchema;
809
+ };
810
+ /**
811
+ * Delete a network
812
+ *
813
+ * @generated from rpc metalstack.api.v2.NetworkService.Delete
814
+ */
815
+ delete: {
816
+ methodKind: "unary";
817
+ input: typeof NetworkServiceDeleteRequestSchema;
818
+ output: typeof NetworkServiceDeleteResponseSchema;
819
+ };
820
+ }>;