@metal-stack/api 0.0.51 → 0.0.54

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.
@@ -0,0 +1,345 @@
1
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=ts"
2
+ // @generated from file metalstack/admin/v2/size_imageconstraint.proto (package metalstack.admin.v2, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
6
+ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
7
+ import { file_buf_validate_validate } from "../../../buf/validate/validate_pb";
8
+ import type { Meta, UpdateMeta } from "../../api/v2/common_pb";
9
+ import { file_metalstack_api_v2_common } from "../../api/v2/common_pb";
10
+ import { file_metalstack_api_v2_predefined_rules } from "../../api/v2/predefined_rules_pb";
11
+ import type { ImageConstraint, SizeImageConstraint, SizeImageConstraintQuery } from "../../api/v2/size_imageconstraint_pb";
12
+ import { file_metalstack_api_v2_size_imageconstraint } from "../../api/v2/size_imageconstraint_pb";
13
+ import type { Message } from "@bufbuild/protobuf";
14
+
15
+ /**
16
+ * Describes the file metalstack/admin/v2/size_imageconstraint.proto.
17
+ */
18
+ export const file_metalstack_admin_v2_size_imageconstraint: GenFile = /*@__PURE__*/
19
+ fileDesc("Ci5tZXRhbHN0YWNrL2FkbWluL3YyL3NpemVfaW1hZ2Vjb25zdHJhaW50LnByb3RvEhNtZXRhbHN0YWNrLmFkbWluLnYyIooCCidTaXplSW1hZ2VDb25zdHJhaW50U2VydmljZUNyZWF0ZVJlcXVlc3QSGQoEc2l6ZRgBIAEoCUILukgIcgbAs66xAgESPQoRaW1hZ2VfY29uc3RyYWludHMYAiADKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5JbWFnZUNvbnN0cmFpbnQSJQoEbWV0YRgDIAEoCzIXLm1ldGFsc3RhY2suYXBpLnYyLk1ldGESHgoEbmFtZRgEIAEoCUILukgIcgbAs66xAgFIAIgBARIlCgtkZXNjcmlwdGlvbhgFIAEoCUILukgIcgbIs66xAgFIAYgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb24icQooU2l6ZUltYWdlQ29uc3RyYWludFNlcnZpY2VDcmVhdGVSZXNwb25zZRJFChVzaXplX2ltYWdlX2NvbnN0cmFpbnQYASABKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5TaXplSW1hZ2VDb25zdHJhaW50Ip8CCidTaXplSW1hZ2VDb25zdHJhaW50U2VydmljZVVwZGF0ZVJlcXVlc3QSGQoEc2l6ZRgBIAEoCUILukgIcgbAs66xAgESOgoLdXBkYXRlX21ldGEYAiABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5VcGRhdGVNZXRhQga6SAPIAQESPQoRaW1hZ2VfY29uc3RyYWludHMYAyADKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5JbWFnZUNvbnN0cmFpbnQSHgoEbmFtZRgEIAEoCUILukgIcgbAs66xAgFIAIgBARIlCgtkZXNjcmlwdGlvbhgFIAEoCUILukgIcgbIs66xAgFIAYgBAUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb24icQooU2l6ZUltYWdlQ29uc3RyYWludFNlcnZpY2VVcGRhdGVSZXNwb25zZRJFChVzaXplX2ltYWdlX2NvbnN0cmFpbnQYASABKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5TaXplSW1hZ2VDb25zdHJhaW50IkQKJ1NpemVJbWFnZUNvbnN0cmFpbnRTZXJ2aWNlRGVsZXRlUmVxdWVzdBIZCgRzaXplGAEgASgJQgu6SAhyBsCzrrECASJxCihTaXplSW1hZ2VDb25zdHJhaW50U2VydmljZURlbGV0ZVJlc3BvbnNlEkUKFXNpemVfaW1hZ2VfY29uc3RyYWludBgBIAEoCzImLm1ldGFsc3RhY2suYXBpLnYyLlNpemVJbWFnZUNvbnN0cmFpbnQiQQokU2l6ZUltYWdlQ29uc3RyYWludFNlcnZpY2VHZXRSZXF1ZXN0EhkKBHNpemUYASABKAlCC7pICHIGwLOusQIBIm4KJVNpemVJbWFnZUNvbnN0cmFpbnRTZXJ2aWNlR2V0UmVzcG9uc2USRQoVc2l6ZV9pbWFnZV9jb25zdHJhaW50GAEgASgLMiYubWV0YWxzdGFjay5hcGkudjIuU2l6ZUltYWdlQ29uc3RyYWludCJjCiVTaXplSW1hZ2VDb25zdHJhaW50U2VydmljZUxpc3RSZXF1ZXN0EjoKBXF1ZXJ5GAEgASgLMisubWV0YWxzdGFjay5hcGkudjIuU2l6ZUltYWdlQ29uc3RyYWludFF1ZXJ5InAKJlNpemVJbWFnZUNvbnN0cmFpbnRTZXJ2aWNlTGlzdFJlc3BvbnNlEkYKFnNpemVfaW1hZ2VfY29uc3RyYWludHMYASADKAsyJi5tZXRhbHN0YWNrLmFwaS52Mi5TaXplSW1hZ2VDb25zdHJhaW50Mu4FChpTaXplSW1hZ2VDb25zdHJhaW50U2VydmljZRKQAQoGQ3JlYXRlEjwubWV0YWxzdGFjay5hZG1pbi52Mi5TaXplSW1hZ2VDb25zdHJhaW50U2VydmljZUNyZWF0ZVJlcXVlc3QaPS5tZXRhbHN0YWNrLmFkbWluLnYyLlNpemVJbWFnZUNvbnN0cmFpbnRTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCdLzGAEB4PMYARKQAQoGVXBkYXRlEjwubWV0YWxzdGFjay5hZG1pbi52Mi5TaXplSW1hZ2VDb25zdHJhaW50U2VydmljZVVwZGF0ZVJlcXVlc3QaPS5tZXRhbHN0YWNrLmFkbWluLnYyLlNpemVJbWFnZUNvbnN0cmFpbnRTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCdLzGAEB4PMYARKQAQoGRGVsZXRlEjwubWV0YWxzdGFjay5hZG1pbi52Mi5TaXplSW1hZ2VDb25zdHJhaW50U2VydmljZURlbGV0ZVJlcXVlc3QaPS5tZXRhbHN0YWNrLmFkbWluLnYyLlNpemVJbWFnZUNvbnN0cmFpbnRTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiCdLzGAEB4PMYARKIAQoDR2V0EjkubWV0YWxzdGFjay5hZG1pbi52Mi5TaXplSW1hZ2VDb25zdHJhaW50U2VydmljZUdldFJlcXVlc3QaOi5tZXRhbHN0YWNrLmFkbWluLnYyLlNpemVJbWFnZUNvbnN0cmFpbnRTZXJ2aWNlR2V0UmVzcG9uc2UiCtLzGAIBAuDzGAISiwEKBExpc3QSOi5tZXRhbHN0YWNrLmFkbWluLnYyLlNpemVJbWFnZUNvbnN0cmFpbnRTZXJ2aWNlTGlzdFJlcXVlc3QaOy5tZXRhbHN0YWNrLmFkbWluLnYyLlNpemVJbWFnZUNvbnN0cmFpbnRTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgCQtwBChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkIYU2l6ZUltYWdlY29uc3RyYWludFByb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size_imageconstraint]);
20
+
21
+ /**
22
+ * SizeImageConstraintServiceCreateRequest is the request payload for a size image constraint create request
23
+ *
24
+ * @generated from message metalstack.admin.v2.SizeImageConstraintServiceCreateRequest
25
+ */
26
+ export type SizeImageConstraintServiceCreateRequest = Message<"metalstack.admin.v2.SizeImageConstraintServiceCreateRequest"> & {
27
+ /**
28
+ * Size of the constraint
29
+ *
30
+ * @generated from field: string size = 1;
31
+ */
32
+ size: string;
33
+
34
+ /**
35
+ * ImageConstraints to apply to this size
36
+ *
37
+ * @generated from field: repeated metalstack.api.v2.ImageConstraint image_constraints = 2;
38
+ */
39
+ imageConstraints: ImageConstraint[];
40
+
41
+ /**
42
+ * Meta for this size image constraint
43
+ *
44
+ * @generated from field: metalstack.api.v2.Meta meta = 3;
45
+ */
46
+ meta?: Meta;
47
+
48
+ /**
49
+ * Name of this size image constraint
50
+ *
51
+ * @generated from field: optional string name = 4;
52
+ */
53
+ name?: string;
54
+
55
+ /**
56
+ * Description of this size image constraint
57
+ *
58
+ * @generated from field: optional string description = 5;
59
+ */
60
+ description?: string;
61
+ };
62
+
63
+ /**
64
+ * Describes the message metalstack.admin.v2.SizeImageConstraintServiceCreateRequest.
65
+ * Use `create(SizeImageConstraintServiceCreateRequestSchema)` to create a new message.
66
+ */
67
+ export const SizeImageConstraintServiceCreateRequestSchema: GenMessage<SizeImageConstraintServiceCreateRequest> = /*@__PURE__*/
68
+ messageDesc(file_metalstack_admin_v2_size_imageconstraint, 0);
69
+
70
+ /**
71
+ * SizeImageConstraintServiceCreateResponse is the response payload for a size image constraint create request
72
+ *
73
+ * @generated from message metalstack.admin.v2.SizeImageConstraintServiceCreateResponse
74
+ */
75
+ export type SizeImageConstraintServiceCreateResponse = Message<"metalstack.admin.v2.SizeImageConstraintServiceCreateResponse"> & {
76
+ /**
77
+ * SizeImageConstraint created
78
+ *
79
+ * @generated from field: metalstack.api.v2.SizeImageConstraint size_image_constraint = 1;
80
+ */
81
+ sizeImageConstraint?: SizeImageConstraint;
82
+ };
83
+
84
+ /**
85
+ * Describes the message metalstack.admin.v2.SizeImageConstraintServiceCreateResponse.
86
+ * Use `create(SizeImageConstraintServiceCreateResponseSchema)` to create a new message.
87
+ */
88
+ export const SizeImageConstraintServiceCreateResponseSchema: GenMessage<SizeImageConstraintServiceCreateResponse> = /*@__PURE__*/
89
+ messageDesc(file_metalstack_admin_v2_size_imageconstraint, 1);
90
+
91
+ /**
92
+ * SizeImageConstraintServiceUpdateRequest is the request payload for a size image constraint update request
93
+ *
94
+ * @generated from message metalstack.admin.v2.SizeImageConstraintServiceUpdateRequest
95
+ */
96
+ export type SizeImageConstraintServiceUpdateRequest = Message<"metalstack.admin.v2.SizeImageConstraintServiceUpdateRequest"> & {
97
+ /**
98
+ * Size of the image constraint to update
99
+ *
100
+ * @generated from field: string size = 1;
101
+ */
102
+ size: string;
103
+
104
+ /**
105
+ * UpdateMeta contains the timestamp and strategy to be used in this update request
106
+ *
107
+ * @generated from field: metalstack.api.v2.UpdateMeta update_meta = 2;
108
+ */
109
+ updateMeta?: UpdateMeta;
110
+
111
+ /**
112
+ * ImageConstraints to apply to this size
113
+ *
114
+ * @generated from field: repeated metalstack.api.v2.ImageConstraint image_constraints = 3;
115
+ */
116
+ imageConstraints: ImageConstraint[];
117
+
118
+ /**
119
+ * Name of this size image constraint
120
+ *
121
+ * @generated from field: optional string name = 4;
122
+ */
123
+ name?: string;
124
+
125
+ /**
126
+ * Description of this size image constraint
127
+ *
128
+ * @generated from field: optional string description = 5;
129
+ */
130
+ description?: string;
131
+ };
132
+
133
+ /**
134
+ * Describes the message metalstack.admin.v2.SizeImageConstraintServiceUpdateRequest.
135
+ * Use `create(SizeImageConstraintServiceUpdateRequestSchema)` to create a new message.
136
+ */
137
+ export const SizeImageConstraintServiceUpdateRequestSchema: GenMessage<SizeImageConstraintServiceUpdateRequest> = /*@__PURE__*/
138
+ messageDesc(file_metalstack_admin_v2_size_imageconstraint, 2);
139
+
140
+ /**
141
+ * SizeImageConstraintServiceUpdateResponse is the response payload for a size image constraint update request
142
+ *
143
+ * @generated from message metalstack.admin.v2.SizeImageConstraintServiceUpdateResponse
144
+ */
145
+ export type SizeImageConstraintServiceUpdateResponse = Message<"metalstack.admin.v2.SizeImageConstraintServiceUpdateResponse"> & {
146
+ /**
147
+ * SizeImageConstraint updated
148
+ *
149
+ * @generated from field: metalstack.api.v2.SizeImageConstraint size_image_constraint = 1;
150
+ */
151
+ sizeImageConstraint?: SizeImageConstraint;
152
+ };
153
+
154
+ /**
155
+ * Describes the message metalstack.admin.v2.SizeImageConstraintServiceUpdateResponse.
156
+ * Use `create(SizeImageConstraintServiceUpdateResponseSchema)` to create a new message.
157
+ */
158
+ export const SizeImageConstraintServiceUpdateResponseSchema: GenMessage<SizeImageConstraintServiceUpdateResponse> = /*@__PURE__*/
159
+ messageDesc(file_metalstack_admin_v2_size_imageconstraint, 3);
160
+
161
+ /**
162
+ * SizeImageConstraintServiceDeleteRequest is the request payload for a size image constraint delete request
163
+ *
164
+ * @generated from message metalstack.admin.v2.SizeImageConstraintServiceDeleteRequest
165
+ */
166
+ export type SizeImageConstraintServiceDeleteRequest = Message<"metalstack.admin.v2.SizeImageConstraintServiceDeleteRequest"> & {
167
+ /**
168
+ * Size of the constraint
169
+ *
170
+ * @generated from field: string size = 1;
171
+ */
172
+ size: string;
173
+ };
174
+
175
+ /**
176
+ * Describes the message metalstack.admin.v2.SizeImageConstraintServiceDeleteRequest.
177
+ * Use `create(SizeImageConstraintServiceDeleteRequestSchema)` to create a new message.
178
+ */
179
+ export const SizeImageConstraintServiceDeleteRequestSchema: GenMessage<SizeImageConstraintServiceDeleteRequest> = /*@__PURE__*/
180
+ messageDesc(file_metalstack_admin_v2_size_imageconstraint, 4);
181
+
182
+ /**
183
+ * SizeImageConstraintServiceDeleteResponse is the response payload for a size image constraint delete request
184
+ *
185
+ * @generated from message metalstack.admin.v2.SizeImageConstraintServiceDeleteResponse
186
+ */
187
+ export type SizeImageConstraintServiceDeleteResponse = Message<"metalstack.admin.v2.SizeImageConstraintServiceDeleteResponse"> & {
188
+ /**
189
+ * SizeImageConstraint deleted
190
+ *
191
+ * @generated from field: metalstack.api.v2.SizeImageConstraint size_image_constraint = 1;
192
+ */
193
+ sizeImageConstraint?: SizeImageConstraint;
194
+ };
195
+
196
+ /**
197
+ * Describes the message metalstack.admin.v2.SizeImageConstraintServiceDeleteResponse.
198
+ * Use `create(SizeImageConstraintServiceDeleteResponseSchema)` to create a new message.
199
+ */
200
+ export const SizeImageConstraintServiceDeleteResponseSchema: GenMessage<SizeImageConstraintServiceDeleteResponse> = /*@__PURE__*/
201
+ messageDesc(file_metalstack_admin_v2_size_imageconstraint, 5);
202
+
203
+ /**
204
+ * SizeImageConstraintServiceGetRequest is the request payload for a size image constraint get request
205
+ *
206
+ * @generated from message metalstack.admin.v2.SizeImageConstraintServiceGetRequest
207
+ */
208
+ export type SizeImageConstraintServiceGetRequest = Message<"metalstack.admin.v2.SizeImageConstraintServiceGetRequest"> & {
209
+ /**
210
+ * Size of the constraint
211
+ *
212
+ * @generated from field: string size = 1;
213
+ */
214
+ size: string;
215
+ };
216
+
217
+ /**
218
+ * Describes the message metalstack.admin.v2.SizeImageConstraintServiceGetRequest.
219
+ * Use `create(SizeImageConstraintServiceGetRequestSchema)` to create a new message.
220
+ */
221
+ export const SizeImageConstraintServiceGetRequestSchema: GenMessage<SizeImageConstraintServiceGetRequest> = /*@__PURE__*/
222
+ messageDesc(file_metalstack_admin_v2_size_imageconstraint, 6);
223
+
224
+ /**
225
+ * SizeImageConstraintServiceGetResponse is the response payload for a size image constraint get request
226
+ *
227
+ * @generated from message metalstack.admin.v2.SizeImageConstraintServiceGetResponse
228
+ */
229
+ export type SizeImageConstraintServiceGetResponse = Message<"metalstack.admin.v2.SizeImageConstraintServiceGetResponse"> & {
230
+ /**
231
+ * SizeImageConstraint get
232
+ *
233
+ * @generated from field: metalstack.api.v2.SizeImageConstraint size_image_constraint = 1;
234
+ */
235
+ sizeImageConstraint?: SizeImageConstraint;
236
+ };
237
+
238
+ /**
239
+ * Describes the message metalstack.admin.v2.SizeImageConstraintServiceGetResponse.
240
+ * Use `create(SizeImageConstraintServiceGetResponseSchema)` to create a new message.
241
+ */
242
+ export const SizeImageConstraintServiceGetResponseSchema: GenMessage<SizeImageConstraintServiceGetResponse> = /*@__PURE__*/
243
+ messageDesc(file_metalstack_admin_v2_size_imageconstraint, 7);
244
+
245
+ /**
246
+ * SizeImageConstraintServiceListRequest is the request payload for a size image constraint list request
247
+ *
248
+ * @generated from message metalstack.admin.v2.SizeImageConstraintServiceListRequest
249
+ */
250
+ export type SizeImageConstraintServiceListRequest = Message<"metalstack.admin.v2.SizeImageConstraintServiceListRequest"> & {
251
+ /**
252
+ * Query for size image constraints
253
+ *
254
+ * @generated from field: metalstack.api.v2.SizeImageConstraintQuery query = 1;
255
+ */
256
+ query?: SizeImageConstraintQuery;
257
+ };
258
+
259
+ /**
260
+ * Describes the message metalstack.admin.v2.SizeImageConstraintServiceListRequest.
261
+ * Use `create(SizeImageConstraintServiceListRequestSchema)` to create a new message.
262
+ */
263
+ export const SizeImageConstraintServiceListRequestSchema: GenMessage<SizeImageConstraintServiceListRequest> = /*@__PURE__*/
264
+ messageDesc(file_metalstack_admin_v2_size_imageconstraint, 8);
265
+
266
+ /**
267
+ * SizeImageConstraintServiceListResponse is the response payload for a size image constraint list request
268
+ *
269
+ * @generated from message metalstack.admin.v2.SizeImageConstraintServiceListResponse
270
+ */
271
+ export type SizeImageConstraintServiceListResponse = Message<"metalstack.admin.v2.SizeImageConstraintServiceListResponse"> & {
272
+ /**
273
+ * SizeImageConstraints listed
274
+ *
275
+ * @generated from field: repeated metalstack.api.v2.SizeImageConstraint size_image_constraints = 1;
276
+ */
277
+ sizeImageConstraints: SizeImageConstraint[];
278
+ };
279
+
280
+ /**
281
+ * Describes the message metalstack.admin.v2.SizeImageConstraintServiceListResponse.
282
+ * Use `create(SizeImageConstraintServiceListResponseSchema)` to create a new message.
283
+ */
284
+ export const SizeImageConstraintServiceListResponseSchema: GenMessage<SizeImageConstraintServiceListResponse> = /*@__PURE__*/
285
+ messageDesc(file_metalstack_admin_v2_size_imageconstraint, 9);
286
+
287
+ /**
288
+ * SizeImageConstraintService serves size and image constraint related functions
289
+ *
290
+ * @generated from service metalstack.admin.v2.SizeImageConstraintService
291
+ */
292
+ export const SizeImageConstraintService: GenService<{
293
+ /**
294
+ * Create a size image constraint
295
+ *
296
+ * @generated from rpc metalstack.admin.v2.SizeImageConstraintService.Create
297
+ */
298
+ create: {
299
+ methodKind: "unary";
300
+ input: typeof SizeImageConstraintServiceCreateRequestSchema;
301
+ output: typeof SizeImageConstraintServiceCreateResponseSchema;
302
+ },
303
+ /**
304
+ * Update a size image constraint
305
+ *
306
+ * @generated from rpc metalstack.admin.v2.SizeImageConstraintService.Update
307
+ */
308
+ update: {
309
+ methodKind: "unary";
310
+ input: typeof SizeImageConstraintServiceUpdateRequestSchema;
311
+ output: typeof SizeImageConstraintServiceUpdateResponseSchema;
312
+ },
313
+ /**
314
+ * Delete a size image constraint
315
+ *
316
+ * @generated from rpc metalstack.admin.v2.SizeImageConstraintService.Delete
317
+ */
318
+ delete: {
319
+ methodKind: "unary";
320
+ input: typeof SizeImageConstraintServiceDeleteRequestSchema;
321
+ output: typeof SizeImageConstraintServiceDeleteResponseSchema;
322
+ },
323
+ /**
324
+ * Get a size image constraint
325
+ *
326
+ * @generated from rpc metalstack.admin.v2.SizeImageConstraintService.Get
327
+ */
328
+ get: {
329
+ methodKind: "unary";
330
+ input: typeof SizeImageConstraintServiceGetRequestSchema;
331
+ output: typeof SizeImageConstraintServiceGetResponseSchema;
332
+ },
333
+ /**
334
+ * List a size image constraint
335
+ *
336
+ * @generated from rpc metalstack.admin.v2.SizeImageConstraintService.List
337
+ */
338
+ list: {
339
+ methodKind: "unary";
340
+ input: typeof SizeImageConstraintServiceListRequestSchema;
341
+ output: typeof SizeImageConstraintServiceListResponseSchema;
342
+ },
343
+ }> = /*@__PURE__*/
344
+ serviceDesc(file_metalstack_admin_v2_size_imageconstraint, 0);
345
+
@@ -1,7 +1,8 @@
1
1
  import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
3
3
  import type { UpdateMeta } from "../../api/v2/common_pb";
4
- import type { Switch, SwitchNic, SwitchOS, SwitchPortStatus, SwitchQuery, SwitchReplaceMode } from "../../api/v2/switch_pb";
4
+ import type { MachineQuery } from "../../api/v2/machine_pb";
5
+ import type { Switch, SwitchNic, SwitchOS, SwitchPortStatus, SwitchQuery, SwitchReplaceMode, SwitchWithMachines } from "../../api/v2/switch_pb";
5
6
  import type { Message } from "@bufbuild/protobuf";
6
7
  /**
7
8
  * Describes the file metalstack/admin/v2/switch.proto.
@@ -302,6 +303,48 @@ export type SwitchServicePortResponse = Message<"metalstack.admin.v2.SwitchServi
302
303
  * Use `create(SwitchServicePortResponseSchema)` to create a new message.
303
304
  */
304
305
  export declare const SwitchServicePortResponseSchema: GenMessage<SwitchServicePortResponse>;
306
+ /**
307
+ * SwitchServiceConnectedMachinesRequest.
308
+ *
309
+ * @generated from message metalstack.admin.v2.SwitchServiceConnectedMachinesRequest
310
+ */
311
+ export type SwitchServiceConnectedMachinesRequest = Message<"metalstack.admin.v2.SwitchServiceConnectedMachinesRequest"> & {
312
+ /**
313
+ * Query to filter the switch results.
314
+ *
315
+ * @generated from field: metalstack.api.v2.SwitchQuery query = 1;
316
+ */
317
+ query?: SwitchQuery;
318
+ /**
319
+ * MachineQuery to filter the machine results.
320
+ *
321
+ * @generated from field: metalstack.api.v2.MachineQuery machine_query = 2;
322
+ */
323
+ machineQuery?: MachineQuery;
324
+ };
325
+ /**
326
+ * Describes the message metalstack.admin.v2.SwitchServiceConnectedMachinesRequest.
327
+ * Use `create(SwitchServiceConnectedMachinesRequestSchema)` to create a new message.
328
+ */
329
+ export declare const SwitchServiceConnectedMachinesRequestSchema: GenMessage<SwitchServiceConnectedMachinesRequest>;
330
+ /**
331
+ * SwitchServiceConnectedMachinesResponse.
332
+ *
333
+ * @generated from message metalstack.admin.v2.SwitchServiceConnectedMachinesResponse
334
+ */
335
+ export type SwitchServiceConnectedMachinesResponse = Message<"metalstack.admin.v2.SwitchServiceConnectedMachinesResponse"> & {
336
+ /**
337
+ * SwitchesWithMachines contains all switches with their machine connections.
338
+ *
339
+ * @generated from field: repeated metalstack.api.v2.SwitchWithMachines switches_with_machines = 1;
340
+ */
341
+ switchesWithMachines: SwitchWithMachines[];
342
+ };
343
+ /**
344
+ * Describes the message metalstack.admin.v2.SwitchServiceConnectedMachinesResponse.
345
+ * Use `create(SwitchServiceConnectedMachinesResponseSchema)` to create a new message.
346
+ */
347
+ export declare const SwitchServiceConnectedMachinesResponseSchema: GenMessage<SwitchServiceConnectedMachinesResponse>;
305
348
  /**
306
349
  * SwitchService serves switch related functions.
307
350
  *
@@ -368,4 +411,14 @@ export declare const SwitchService: GenService<{
368
411
  input: typeof SwitchServicePortRequestSchema;
369
412
  output: typeof SwitchServicePortResponseSchema;
370
413
  };
414
+ /**
415
+ * ConnectedMachines lists all switches with their machine connections.
416
+ *
417
+ * @generated from rpc metalstack.admin.v2.SwitchService.ConnectedMachines
418
+ */
419
+ connectedMachines: {
420
+ methodKind: "unary";
421
+ input: typeof SwitchServiceConnectedMachinesRequestSchema;
422
+ output: typeof SwitchServiceConnectedMachinesResponseSchema;
423
+ };
371
424
  }>;
@@ -5,12 +5,13 @@ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2
5
5
  import { file_buf_validate_validate } from "../../../buf/validate/validate_pb";
6
6
  import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
7
  import { file_metalstack_api_v2_common } from "../../api/v2/common_pb";
8
+ import { file_metalstack_api_v2_machine } from "../../api/v2/machine_pb";
8
9
  import { file_metalstack_api_v2_predefined_rules } from "../../api/v2/predefined_rules_pb";
9
10
  import { file_metalstack_api_v2_switch } from "../../api/v2/switch_pb";
10
11
  /**
11
12
  * Describes the file metalstack/admin/v2/switch.proto.
12
13
  */
13
- export const file_metalstack_admin_v2_switch = /*@__PURE__*/ fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3N3aXRjaC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiI0ChdTd2l0Y2hTZXJ2aWNlR2V0UmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoASJFChhTd2l0Y2hTZXJ2aWNlR2V0UmVzcG9uc2USKQoGc3dpdGNoGAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoIkkKGFN3aXRjaFNlcnZpY2VMaXN0UmVxdWVzdBItCgVxdWVyeRgBIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaFF1ZXJ5IkgKGVN3aXRjaFNlcnZpY2VMaXN0UmVzcG9uc2USKwoIc3dpdGNoZXMYASADKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gizAQKGlN3aXRjaFNlcnZpY2VVcGRhdGVSZXF1ZXN0EhkKAmlkGAEgASgJQg26SApyCMCzrrECAWgBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEi4KCnVwZGF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECAUgAiAEBEkkKDHJlcGxhY2VfbW9kZRgFIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaFJlcGxhY2VNb2RlQgi6SAWCAQIQAUgBiAEBEiMKDW1hbmFnZW1lbnRfaXAYBiABKAlCB7pIBHICcAFIAogBARIpCg9tYW5hZ2VtZW50X3VzZXIYByABKAlCC7pICHIGwLOusQIBSAOIAQESKQoPY29uc29sZV9jb21tYW5kGAggASgJQgu6SAhyBsizrrECAUgEiAEBEioKBG5pY3MYCSADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hOaWMSLAoCb3MYCiABKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hPU0gFiAEBQg4KDF9kZXNjcmlwdGlvbkIPCg1fcmVwbGFjZV9tb2RlQhAKDl9tYW5hZ2VtZW50X2lwQhIKEF9tYW5hZ2VtZW50X3VzZXJCEgoQX2NvbnNvbGVfY29tbWFuZEIFCgNfb3MiSAobU3dpdGNoU2VydmljZVVwZGF0ZVJlc3BvbnNlEikKBnN3aXRjaBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaCJGChpTd2l0Y2hTZXJ2aWNlRGVsZXRlUmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoARINCgVmb3JjZRgCIAEoCCJIChtTd2l0Y2hTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKQoGc3dpdGNoGAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoImMKG1N3aXRjaFNlcnZpY2VNaWdyYXRlUmVxdWVzdBIhCgpvbGRfc3dpdGNoGAEgASgJQg26SApyCMCzrrECAWgBEiEKCm5ld19zd2l0Y2gYAiABKAlCDbpICnIIwLOusQIBaAEiSQocU3dpdGNoU2VydmljZU1pZ3JhdGVSZXNwb25zZRIpCgZzd2l0Y2gYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gikwEKGFN3aXRjaFNlcnZpY2VQb3J0UmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoARIdCghuaWNfbmFtZRgCIAEoCUILukgIcgbAs66xAgESPQoGc3RhdHVzGAMgASgOMiMubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoUG9ydFN0YXR1c0IIukgFggECEAEiRgoZU3dpdGNoU2VydmljZVBvcnRSZXNwb25zZRIpCgZzd2l0Y2gYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gyvwUKDVN3aXRjaFNlcnZpY2USbgoDR2V0EiwubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlR2V0UmVxdWVzdBotLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUdldFJlc3BvbnNlIgrS8xgCAQLg8xgCEnEKBExpc3QSLS5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VMaXN0UmVxdWVzdBouLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUxpc3RSZXNwb25zZSIK0vMYAgEC4PMYAhJyCgZVcGRhdGUSLy5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VVcGRhdGVSZXF1ZXN0GjAubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiBdLzGAEBEnIKBkRlbGV0ZRIvLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZURlbGV0ZVJlcXVlc3QaMC5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VEZWxldGVSZXNwb25zZSIF0vMYAQESdQoHTWlncmF0ZRIwLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZU1pZ3JhdGVSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlTWlncmF0ZVJlc3BvbnNlIgXS8xgBARJsCgRQb3J0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlUG9ydFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VQb3J0UmVzcG9uc2UiBdLzGAEBQs8BChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkILU3dpdGNoUHJvdG9QAVo5Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hZG1pbi92MjthZG1pbnYyogIDTUFYqgITTWV0YWxzdGFjay5BZG1pbi5WMsoCE01ldGFsc3RhY2tcQWRtaW5cVjLiAh9NZXRhbHN0YWNrXEFkbWluXFYyXEdQQk1ldGFkYXRh6gIVTWV0YWxzdGFjazo6QWRtaW46OlYyYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_switch]);
14
+ export const file_metalstack_admin_v2_switch = /*@__PURE__*/ fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3N3aXRjaC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiI0ChdTd2l0Y2hTZXJ2aWNlR2V0UmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoASJFChhTd2l0Y2hTZXJ2aWNlR2V0UmVzcG9uc2USKQoGc3dpdGNoGAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoIkkKGFN3aXRjaFNlcnZpY2VMaXN0UmVxdWVzdBItCgVxdWVyeRgBIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaFF1ZXJ5IkgKGVN3aXRjaFNlcnZpY2VMaXN0UmVzcG9uc2USKwoIc3dpdGNoZXMYASADKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gizAQKGlN3aXRjaFNlcnZpY2VVcGRhdGVSZXF1ZXN0EhkKAmlkGAEgASgJQg26SApyCMCzrrECAWgBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEi4KCnVwZGF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECAUgAiAEBEkkKDHJlcGxhY2VfbW9kZRgFIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaFJlcGxhY2VNb2RlQgi6SAWCAQIQAUgBiAEBEiMKDW1hbmFnZW1lbnRfaXAYBiABKAlCB7pIBHICcAFIAogBARIpCg9tYW5hZ2VtZW50X3VzZXIYByABKAlCC7pICHIGwLOusQIBSAOIAQESKQoPY29uc29sZV9jb21tYW5kGAggASgJQgu6SAhyBsizrrECAUgEiAEBEioKBG5pY3MYCSADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hOaWMSLAoCb3MYCiABKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hPU0gFiAEBQg4KDF9kZXNjcmlwdGlvbkIPCg1fcmVwbGFjZV9tb2RlQhAKDl9tYW5hZ2VtZW50X2lwQhIKEF9tYW5hZ2VtZW50X3VzZXJCEgoQX2NvbnNvbGVfY29tbWFuZEIFCgNfb3MiSAobU3dpdGNoU2VydmljZVVwZGF0ZVJlc3BvbnNlEikKBnN3aXRjaBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaCJGChpTd2l0Y2hTZXJ2aWNlRGVsZXRlUmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoARINCgVmb3JjZRgCIAEoCCJIChtTd2l0Y2hTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKQoGc3dpdGNoGAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoImMKG1N3aXRjaFNlcnZpY2VNaWdyYXRlUmVxdWVzdBIhCgpvbGRfc3dpdGNoGAEgASgJQg26SApyCMCzrrECAWgBEiEKCm5ld19zd2l0Y2gYAiABKAlCDbpICnIIwLOusQIBaAEiSQocU3dpdGNoU2VydmljZU1pZ3JhdGVSZXNwb25zZRIpCgZzd2l0Y2gYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gikwEKGFN3aXRjaFNlcnZpY2VQb3J0UmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoARIdCghuaWNfbmFtZRgCIAEoCUILukgIcgbAs66xAgESPQoGc3RhdHVzGAMgASgOMiMubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoUG9ydFN0YXR1c0IIukgFggECEAEiRgoZU3dpdGNoU2VydmljZVBvcnRSZXNwb25zZRIpCgZzd2l0Y2gYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gijgEKJVN3aXRjaFNlcnZpY2VDb25uZWN0ZWRNYWNoaW5lc1JlcXVlc3QSLQoFcXVlcnkYASABKAsyHi5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hRdWVyeRI2Cg1tYWNoaW5lX3F1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVF1ZXJ5Im8KJlN3aXRjaFNlcnZpY2VDb25uZWN0ZWRNYWNoaW5lc1Jlc3BvbnNlEkUKFnN3aXRjaGVzX3dpdGhfbWFjaGluZXMYASADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hXaXRoTWFjaGluZXMy2gYKDVN3aXRjaFNlcnZpY2USbgoDR2V0EiwubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlR2V0UmVxdWVzdBotLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUdldFJlc3BvbnNlIgrS8xgCAQLg8xgCEnEKBExpc3QSLS5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VMaXN0UmVxdWVzdBouLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUxpc3RSZXNwb25zZSIK0vMYAgEC4PMYAhJyCgZVcGRhdGUSLy5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VVcGRhdGVSZXF1ZXN0GjAubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiBdLzGAEBEnIKBkRlbGV0ZRIvLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZURlbGV0ZVJlcXVlc3QaMC5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VEZWxldGVSZXNwb25zZSIF0vMYAQESdQoHTWlncmF0ZRIwLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZU1pZ3JhdGVSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlTWlncmF0ZVJlc3BvbnNlIgXS8xgBARJsCgRQb3J0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlUG9ydFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VQb3J0UmVzcG9uc2UiBdLzGAEBEpgBChFDb25uZWN0ZWRNYWNoaW5lcxI6Lm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUNvbm5lY3RlZE1hY2hpbmVzUmVxdWVzdBo7Lm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUNvbm5lY3RlZE1hY2hpbmVzUmVzcG9uc2UiCtLzGAIBAuDzGAJCzwEKF2NvbS5tZXRhbHN0YWNrLmFkbWluLnYyQgtTd2l0Y2hQcm90b1ABWjlnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FkbWluL3YyO2FkbWludjKiAgNNQViqAhNNZXRhbHN0YWNrLkFkbWluLlYyygITTWV0YWxzdGFja1xBZG1pblxWMuICH01ldGFsc3RhY2tcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhVNZXRhbHN0YWNrOjpBZG1pbjo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_switch]);
14
15
  /**
15
16
  * Describes the message metalstack.admin.v2.SwitchServiceGetRequest.
16
17
  * Use `create(SwitchServiceGetRequestSchema)` to create a new message.
@@ -71,6 +72,16 @@ export const SwitchServicePortRequestSchema = /*@__PURE__*/ messageDesc(file_met
71
72
  * Use `create(SwitchServicePortResponseSchema)` to create a new message.
72
73
  */
73
74
  export const SwitchServicePortResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_switch, 11);
75
+ /**
76
+ * Describes the message metalstack.admin.v2.SwitchServiceConnectedMachinesRequest.
77
+ * Use `create(SwitchServiceConnectedMachinesRequestSchema)` to create a new message.
78
+ */
79
+ export const SwitchServiceConnectedMachinesRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_switch, 12);
80
+ /**
81
+ * Describes the message metalstack.admin.v2.SwitchServiceConnectedMachinesResponse.
82
+ * Use `create(SwitchServiceConnectedMachinesResponseSchema)` to create a new message.
83
+ */
84
+ export const SwitchServiceConnectedMachinesResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_switch, 13);
74
85
  /**
75
86
  * SwitchService serves switch related functions.
76
87
  *
@@ -9,8 +9,10 @@ import type { Timestamp } from "@bufbuild/protobuf/wkt";
9
9
  import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
10
10
  import type { UpdateMeta } from "../../api/v2/common_pb";
11
11
  import { file_metalstack_api_v2_common } from "../../api/v2/common_pb";
12
+ import type { MachineQuery } from "../../api/v2/machine_pb";
13
+ import { file_metalstack_api_v2_machine } from "../../api/v2/machine_pb";
12
14
  import { file_metalstack_api_v2_predefined_rules } from "../../api/v2/predefined_rules_pb";
13
- import type { Switch, SwitchNic, SwitchOS, SwitchPortStatus, SwitchQuery, SwitchReplaceMode } from "../../api/v2/switch_pb";
15
+ import type { Switch, SwitchNic, SwitchOS, SwitchPortStatus, SwitchQuery, SwitchReplaceMode, SwitchWithMachines } from "../../api/v2/switch_pb";
14
16
  import { file_metalstack_api_v2_switch } from "../../api/v2/switch_pb";
15
17
  import type { Message } from "@bufbuild/protobuf";
16
18
 
@@ -18,7 +20,7 @@ import type { Message } from "@bufbuild/protobuf";
18
20
  * Describes the file metalstack/admin/v2/switch.proto.
19
21
  */
20
22
  export const file_metalstack_admin_v2_switch: GenFile = /*@__PURE__*/
21
- fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3N3aXRjaC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiI0ChdTd2l0Y2hTZXJ2aWNlR2V0UmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoASJFChhTd2l0Y2hTZXJ2aWNlR2V0UmVzcG9uc2USKQoGc3dpdGNoGAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoIkkKGFN3aXRjaFNlcnZpY2VMaXN0UmVxdWVzdBItCgVxdWVyeRgBIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaFF1ZXJ5IkgKGVN3aXRjaFNlcnZpY2VMaXN0UmVzcG9uc2USKwoIc3dpdGNoZXMYASADKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gizAQKGlN3aXRjaFNlcnZpY2VVcGRhdGVSZXF1ZXN0EhkKAmlkGAEgASgJQg26SApyCMCzrrECAWgBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEi4KCnVwZGF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECAUgAiAEBEkkKDHJlcGxhY2VfbW9kZRgFIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaFJlcGxhY2VNb2RlQgi6SAWCAQIQAUgBiAEBEiMKDW1hbmFnZW1lbnRfaXAYBiABKAlCB7pIBHICcAFIAogBARIpCg9tYW5hZ2VtZW50X3VzZXIYByABKAlCC7pICHIGwLOusQIBSAOIAQESKQoPY29uc29sZV9jb21tYW5kGAggASgJQgu6SAhyBsizrrECAUgEiAEBEioKBG5pY3MYCSADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hOaWMSLAoCb3MYCiABKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hPU0gFiAEBQg4KDF9kZXNjcmlwdGlvbkIPCg1fcmVwbGFjZV9tb2RlQhAKDl9tYW5hZ2VtZW50X2lwQhIKEF9tYW5hZ2VtZW50X3VzZXJCEgoQX2NvbnNvbGVfY29tbWFuZEIFCgNfb3MiSAobU3dpdGNoU2VydmljZVVwZGF0ZVJlc3BvbnNlEikKBnN3aXRjaBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaCJGChpTd2l0Y2hTZXJ2aWNlRGVsZXRlUmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoARINCgVmb3JjZRgCIAEoCCJIChtTd2l0Y2hTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKQoGc3dpdGNoGAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoImMKG1N3aXRjaFNlcnZpY2VNaWdyYXRlUmVxdWVzdBIhCgpvbGRfc3dpdGNoGAEgASgJQg26SApyCMCzrrECAWgBEiEKCm5ld19zd2l0Y2gYAiABKAlCDbpICnIIwLOusQIBaAEiSQocU3dpdGNoU2VydmljZU1pZ3JhdGVSZXNwb25zZRIpCgZzd2l0Y2gYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gikwEKGFN3aXRjaFNlcnZpY2VQb3J0UmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoARIdCghuaWNfbmFtZRgCIAEoCUILukgIcgbAs66xAgESPQoGc3RhdHVzGAMgASgOMiMubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoUG9ydFN0YXR1c0IIukgFggECEAEiRgoZU3dpdGNoU2VydmljZVBvcnRSZXNwb25zZRIpCgZzd2l0Y2gYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gyvwUKDVN3aXRjaFNlcnZpY2USbgoDR2V0EiwubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlR2V0UmVxdWVzdBotLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUdldFJlc3BvbnNlIgrS8xgCAQLg8xgCEnEKBExpc3QSLS5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VMaXN0UmVxdWVzdBouLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUxpc3RSZXNwb25zZSIK0vMYAgEC4PMYAhJyCgZVcGRhdGUSLy5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VVcGRhdGVSZXF1ZXN0GjAubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiBdLzGAEBEnIKBkRlbGV0ZRIvLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZURlbGV0ZVJlcXVlc3QaMC5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VEZWxldGVSZXNwb25zZSIF0vMYAQESdQoHTWlncmF0ZRIwLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZU1pZ3JhdGVSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlTWlncmF0ZVJlc3BvbnNlIgXS8xgBARJsCgRQb3J0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlUG9ydFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VQb3J0UmVzcG9uc2UiBdLzGAEBQs8BChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkILU3dpdGNoUHJvdG9QAVo5Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hZG1pbi92MjthZG1pbnYyogIDTUFYqgITTWV0YWxzdGFjay5BZG1pbi5WMsoCE01ldGFsc3RhY2tcQWRtaW5cVjLiAh9NZXRhbHN0YWNrXEFkbWluXFYyXEdQQk1ldGFkYXRh6gIVTWV0YWxzdGFjazo6QWRtaW46OlYyYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_switch]);
23
+ fileDesc("CiBtZXRhbHN0YWNrL2FkbWluL3YyL3N3aXRjaC5wcm90bxITbWV0YWxzdGFjay5hZG1pbi52MiI0ChdTd2l0Y2hTZXJ2aWNlR2V0UmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoASJFChhTd2l0Y2hTZXJ2aWNlR2V0UmVzcG9uc2USKQoGc3dpdGNoGAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoIkkKGFN3aXRjaFNlcnZpY2VMaXN0UmVxdWVzdBItCgVxdWVyeRgBIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaFF1ZXJ5IkgKGVN3aXRjaFNlcnZpY2VMaXN0UmVzcG9uc2USKwoIc3dpdGNoZXMYASADKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gizAQKGlN3aXRjaFNlcnZpY2VVcGRhdGVSZXF1ZXN0EhkKAmlkGAEgASgJQg26SApyCMCzrrECAWgBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEi4KCnVwZGF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECAUgAiAEBEkkKDHJlcGxhY2VfbW9kZRgFIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaFJlcGxhY2VNb2RlQgi6SAWCAQIQAUgBiAEBEiMKDW1hbmFnZW1lbnRfaXAYBiABKAlCB7pIBHICcAFIAogBARIpCg9tYW5hZ2VtZW50X3VzZXIYByABKAlCC7pICHIGwLOusQIBSAOIAQESKQoPY29uc29sZV9jb21tYW5kGAggASgJQgu6SAhyBsizrrECAUgEiAEBEioKBG5pY3MYCSADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hOaWMSLAoCb3MYCiABKAsyGy5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hPU0gFiAEBQg4KDF9kZXNjcmlwdGlvbkIPCg1fcmVwbGFjZV9tb2RlQhAKDl9tYW5hZ2VtZW50X2lwQhIKEF9tYW5hZ2VtZW50X3VzZXJCEgoQX2NvbnNvbGVfY29tbWFuZEIFCgNfb3MiSAobU3dpdGNoU2VydmljZVVwZGF0ZVJlc3BvbnNlEikKBnN3aXRjaBgBIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaCJGChpTd2l0Y2hTZXJ2aWNlRGVsZXRlUmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoARINCgVmb3JjZRgCIAEoCCJIChtTd2l0Y2hTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKQoGc3dpdGNoGAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoImMKG1N3aXRjaFNlcnZpY2VNaWdyYXRlUmVxdWVzdBIhCgpvbGRfc3dpdGNoGAEgASgJQg26SApyCMCzrrECAWgBEiEKCm5ld19zd2l0Y2gYAiABKAlCDbpICnIIwLOusQIBaAEiSQocU3dpdGNoU2VydmljZU1pZ3JhdGVSZXNwb25zZRIpCgZzd2l0Y2gYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gikwEKGFN3aXRjaFNlcnZpY2VQb3J0UmVxdWVzdBIZCgJpZBgBIAEoCUINukgKcgjAs66xAgFoARIdCghuaWNfbmFtZRgCIAEoCUILukgIcgbAs66xAgESPQoGc3RhdHVzGAMgASgOMiMubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoUG9ydFN0YXR1c0IIukgFggECEAEiRgoZU3dpdGNoU2VydmljZVBvcnRSZXNwb25zZRIpCgZzd2l0Y2gYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gijgEKJVN3aXRjaFNlcnZpY2VDb25uZWN0ZWRNYWNoaW5lc1JlcXVlc3QSLQoFcXVlcnkYASABKAsyHi5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hRdWVyeRI2Cg1tYWNoaW5lX3F1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVF1ZXJ5Im8KJlN3aXRjaFNlcnZpY2VDb25uZWN0ZWRNYWNoaW5lc1Jlc3BvbnNlEkUKFnN3aXRjaGVzX3dpdGhfbWFjaGluZXMYASADKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2hXaXRoTWFjaGluZXMy2gYKDVN3aXRjaFNlcnZpY2USbgoDR2V0EiwubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlR2V0UmVxdWVzdBotLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUdldFJlc3BvbnNlIgrS8xgCAQLg8xgCEnEKBExpc3QSLS5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VMaXN0UmVxdWVzdBouLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUxpc3RSZXNwb25zZSIK0vMYAgEC4PMYAhJyCgZVcGRhdGUSLy5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VVcGRhdGVSZXF1ZXN0GjAubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiBdLzGAEBEnIKBkRlbGV0ZRIvLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZURlbGV0ZVJlcXVlc3QaMC5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VEZWxldGVSZXNwb25zZSIF0vMYAQESdQoHTWlncmF0ZRIwLm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZU1pZ3JhdGVSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlTWlncmF0ZVJlc3BvbnNlIgXS8xgBARJsCgRQb3J0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5Td2l0Y2hTZXJ2aWNlUG9ydFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLlN3aXRjaFNlcnZpY2VQb3J0UmVzcG9uc2UiBdLzGAEBEpgBChFDb25uZWN0ZWRNYWNoaW5lcxI6Lm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUNvbm5lY3RlZE1hY2hpbmVzUmVxdWVzdBo7Lm1ldGFsc3RhY2suYWRtaW4udjIuU3dpdGNoU2VydmljZUNvbm5lY3RlZE1hY2hpbmVzUmVzcG9uc2UiCtLzGAIBAuDzGAJCzwEKF2NvbS5tZXRhbHN0YWNrLmFkbWluLnYyQgtTd2l0Y2hQcm90b1ABWjlnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FkbWluL3YyO2FkbWludjKiAgNNQViqAhNNZXRhbHN0YWNrLkFkbWluLlYyygITTWV0YWxzdGFja1xBZG1pblxWMuICH01ldGFsc3RhY2tcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhVNZXRhbHN0YWNrOjpBZG1pbjo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_machine, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_switch]);
22
24
 
23
25
  /**
24
26
  * SwitchServiceGetRequest.
@@ -364,6 +366,55 @@ export type SwitchServicePortResponse = Message<"metalstack.admin.v2.SwitchServi
364
366
  export const SwitchServicePortResponseSchema: GenMessage<SwitchServicePortResponse> = /*@__PURE__*/
365
367
  messageDesc(file_metalstack_admin_v2_switch, 11);
366
368
 
369
+ /**
370
+ * SwitchServiceConnectedMachinesRequest.
371
+ *
372
+ * @generated from message metalstack.admin.v2.SwitchServiceConnectedMachinesRequest
373
+ */
374
+ export type SwitchServiceConnectedMachinesRequest = Message<"metalstack.admin.v2.SwitchServiceConnectedMachinesRequest"> & {
375
+ /**
376
+ * Query to filter the switch results.
377
+ *
378
+ * @generated from field: metalstack.api.v2.SwitchQuery query = 1;
379
+ */
380
+ query?: SwitchQuery;
381
+
382
+ /**
383
+ * MachineQuery to filter the machine results.
384
+ *
385
+ * @generated from field: metalstack.api.v2.MachineQuery machine_query = 2;
386
+ */
387
+ machineQuery?: MachineQuery;
388
+ };
389
+
390
+ /**
391
+ * Describes the message metalstack.admin.v2.SwitchServiceConnectedMachinesRequest.
392
+ * Use `create(SwitchServiceConnectedMachinesRequestSchema)` to create a new message.
393
+ */
394
+ export const SwitchServiceConnectedMachinesRequestSchema: GenMessage<SwitchServiceConnectedMachinesRequest> = /*@__PURE__*/
395
+ messageDesc(file_metalstack_admin_v2_switch, 12);
396
+
397
+ /**
398
+ * SwitchServiceConnectedMachinesResponse.
399
+ *
400
+ * @generated from message metalstack.admin.v2.SwitchServiceConnectedMachinesResponse
401
+ */
402
+ export type SwitchServiceConnectedMachinesResponse = Message<"metalstack.admin.v2.SwitchServiceConnectedMachinesResponse"> & {
403
+ /**
404
+ * SwitchesWithMachines contains all switches with their machine connections.
405
+ *
406
+ * @generated from field: repeated metalstack.api.v2.SwitchWithMachines switches_with_machines = 1;
407
+ */
408
+ switchesWithMachines: SwitchWithMachines[];
409
+ };
410
+
411
+ /**
412
+ * Describes the message metalstack.admin.v2.SwitchServiceConnectedMachinesResponse.
413
+ * Use `create(SwitchServiceConnectedMachinesResponseSchema)` to create a new message.
414
+ */
415
+ export const SwitchServiceConnectedMachinesResponseSchema: GenMessage<SwitchServiceConnectedMachinesResponse> = /*@__PURE__*/
416
+ messageDesc(file_metalstack_admin_v2_switch, 13);
417
+
367
418
  /**
368
419
  * SwitchService serves switch related functions.
369
420
  *
@@ -430,6 +481,16 @@ export const SwitchService: GenService<{
430
481
  input: typeof SwitchServicePortRequestSchema;
431
482
  output: typeof SwitchServicePortResponseSchema;
432
483
  },
484
+ /**
485
+ * ConnectedMachines lists all switches with their machine connections.
486
+ *
487
+ * @generated from rpc metalstack.admin.v2.SwitchService.ConnectedMachines
488
+ */
489
+ connectedMachines: {
490
+ methodKind: "unary";
491
+ input: typeof SwitchServiceConnectedMachinesRequestSchema;
492
+ output: typeof SwitchServiceConnectedMachinesResponseSchema;
493
+ },
433
494
  }> = /*@__PURE__*/
434
495
  serviceDesc(file_metalstack_admin_v2_switch, 0);
435
496
 
@@ -144,9 +144,9 @@ export type MachineServiceCreateRequest = Message<"metalstack.api.v2.MachineServ
144
144
  /**
145
145
  * IPs to to attach to this machine additionally
146
146
  *
147
- * @generated from field: repeated string ips = 14;
147
+ * @generated from field: repeated metalstack.api.v2.MachineAllocationIp ips = 14;
148
148
  */
149
- ips: string[];
149
+ ips: MachineAllocationIp[];
150
150
  /**
151
151
  * PlacementTags by default machines are spread across the racks inside a partition for every project.
152
152
  * if placement tags are provided, the machine candidate has an additional anti-affinity to other machines having the same tags
@@ -157,15 +157,15 @@ export type MachineServiceCreateRequest = Message<"metalstack.api.v2.MachineServ
157
157
  /**
158
158
  * DNSServer the dns servers used for the machine
159
159
  *
160
- * @generated from field: repeated metalstack.api.v2.DNSServer dns_server = 16;
160
+ * @generated from field: repeated metalstack.api.v2.DNSServer dns_servers = 16;
161
161
  */
162
- dnsServer: DNSServer[];
162
+ dnsServers: DNSServer[];
163
163
  /**
164
164
  * NTPServer the ntp servers used for the machine
165
165
  *
166
- * @generated from field: repeated metalstack.api.v2.NTPServer ntp_server = 17;
166
+ * @generated from field: repeated metalstack.api.v2.NTPServer ntp_servers = 17;
167
167
  */
168
- ntpServer: NTPServer[];
168
+ ntpServers: NTPServer[];
169
169
  /**
170
170
  * AllocationType of this machine
171
171
  *
@@ -193,7 +193,7 @@ export type FirewallSpec = Message<"metalstack.api.v2.FirewallSpec"> & {
193
193
  /**
194
194
  * FirewallRules to be applied if this is a firewall
195
195
  *
196
- * @generated from field: metalstack.api.v2.FirewallRules firewall_rules = 19;
196
+ * @generated from field: metalstack.api.v2.FirewallRules firewall_rules = 1;
197
197
  */
198
198
  firewallRules?: FirewallRules;
199
199
  };
@@ -685,15 +685,15 @@ export type MachineAllocation = Message<"metalstack.api.v2.MachineAllocation"> &
685
685
  /**
686
686
  * DNSServers for this machine
687
687
  *
688
- * @generated from field: repeated metalstack.api.v2.DNSServer dns_server = 15;
688
+ * @generated from field: repeated metalstack.api.v2.DNSServer dns_servers = 15;
689
689
  */
690
- dnsServer: DNSServer[];
690
+ dnsServers: DNSServer[];
691
691
  /**
692
692
  * NTPServers for this machine
693
693
  *
694
- * @generated from field: repeated metalstack.api.v2.NTPServer ntp_server = 16;
694
+ * @generated from field: repeated metalstack.api.v2.NTPServer ntp_servers = 16;
695
695
  */
696
- ntpServer: NTPServer[];
696
+ ntpServers: NTPServer[];
697
697
  /**
698
698
  * VPN connection configuration
699
699
  *
@@ -731,6 +731,30 @@ export type MachineAllocationNetwork = Message<"metalstack.api.v2.MachineAllocat
731
731
  * Use `create(MachineAllocationNetworkSchema)` to create a new message.
732
732
  */
733
733
  export declare const MachineAllocationNetworkSchema: GenMessage<MachineAllocationNetwork>;
734
+ /**
735
+ * MachineAllocationIp defines a ip and a optional namespace which should be attached to this machine during create
736
+ *
737
+ * @generated from message metalstack.api.v2.MachineAllocationIp
738
+ */
739
+ export type MachineAllocationIp = Message<"metalstack.api.v2.MachineAllocationIp"> & {
740
+ /**
741
+ * IP to to attach to this machine additionally
742
+ *
743
+ * @generated from field: string ip = 1;
744
+ */
745
+ ip: string;
746
+ /**
747
+ * Namespace where this ip was created, usually the project of the namespaced tenant network.
748
+ *
749
+ * @generated from field: optional string namespace = 2;
750
+ */
751
+ namespace?: string;
752
+ };
753
+ /**
754
+ * Describes the message metalstack.api.v2.MachineAllocationIp.
755
+ * Use `create(MachineAllocationIpSchema)` to create a new message.
756
+ */
757
+ export declare const MachineAllocationIpSchema: GenMessage<MachineAllocationIp>;
734
758
  /**
735
759
  * FirewallRules can be defined during firewall allocation
736
760
  *