mergetbapi 0.0.1__py3-none-any.whl

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.
xir/__init__.py ADDED
@@ -0,0 +1,1032 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # sources: mergetb/xir/v0.3/core.proto
3
+ # plugin: python-betterproto
4
+ # This file has been @generated
5
+
6
+ from dataclasses import dataclass
7
+ from typing import (
8
+ Dict,
9
+ List,
10
+ )
11
+
12
+ import betterproto
13
+
14
+
15
+ class Routing(betterproto.Enum):
16
+ ManualRouting = 0
17
+ StaticRouting = 1
18
+
19
+
20
+ class Addressing(betterproto.Enum):
21
+ ManualAddressing = 0
22
+ IPv4Addressing = 1
23
+
24
+
25
+ class Emulation(betterproto.Enum):
26
+ Netem = 0
27
+ Click = 1
28
+
29
+
30
+ class Protocol(betterproto.Enum):
31
+ http = 0
32
+ https = 1
33
+ tcp = 2
34
+ udp = 3
35
+
36
+
37
+ class Isa(betterproto.Enum):
38
+ X86_64 = 0
39
+
40
+
41
+ class MemoryType(betterproto.Enum):
42
+ DDR3 = 0
43
+ DDR4 = 1
44
+
45
+
46
+ class NicModel(betterproto.Enum):
47
+ Intel200 = 0
48
+ Intel300 = 1
49
+ Intel500 = 2
50
+ Intel700 = 3
51
+ Intel800 = 4
52
+ Intel7000 = 50
53
+ Intel8000 = 51
54
+ Intel9000 = 52
55
+ ConnectX4 = 101
56
+ ConnectX5 = 102
57
+ ConnectX6 = 103
58
+ NetXtreme2 = 201
59
+ QCA9000 = 301
60
+ Virtio = 10001
61
+ E1000 = 10002
62
+ E1000E = 10003
63
+
64
+
65
+ class NicKind(betterproto.Enum):
66
+ ETH = 0
67
+ """Ethernet"""
68
+
69
+ ENP = 1
70
+ """Ethernet peripheral"""
71
+
72
+ ENO = 2
73
+ """Ethernet onboard"""
74
+
75
+ ENS = 3
76
+ """Ethernet peripheral hotplog slot"""
77
+
78
+ WLP = 4
79
+ """WiFi peripheral"""
80
+
81
+ SWP = 5
82
+ """Switch port"""
83
+
84
+ IPMI = 6
85
+ """IPMI/BMC"""
86
+
87
+ Combo = 7
88
+ """IPMI/BMC + System Ethernet"""
89
+
90
+
91
+ class Layer1(betterproto.Enum):
92
+ Layer1_Undefined = 0
93
+ Base100T = 1
94
+ """100 mbps"""
95
+
96
+ Base1000T = 2
97
+ """1 gbps"""
98
+
99
+ Base1000X = 3
100
+ Base1000CX = 4
101
+ Base1000SX = 5
102
+ Base1000LX = 6
103
+ Base1000LX10 = 7
104
+ Base1000EX = 8
105
+ Base1000BX10 = 9
106
+ Base1000ZX = 10
107
+ GBase10T = 11
108
+ """10 gbps"""
109
+
110
+ GBase10CR = 12
111
+ GBase10SR = 13
112
+ GBase10LR = 14
113
+ GBase10LRM = 15
114
+ GBase10ER = 16
115
+ GBase10ZR = 17
116
+ GBase10LX4 = 18
117
+ GBase10PR = 19
118
+ GBase25CR = 20
119
+ """25 gbps"""
120
+
121
+ GBase25SR = 21
122
+ GBase25LR = 22
123
+ GBase25ER = 23
124
+ GBase40CR4 = 24
125
+ """40 gbps"""
126
+
127
+ GBase40SR4 = 25
128
+ GBase40LR4 = 26
129
+ GBase40ER4 = 27
130
+ GBase100CR4 = 28
131
+ """100 gbps"""
132
+
133
+ GBase100SR4 = 29
134
+ GBase100SR10 = 30
135
+ GBase100LR4 = 31
136
+ GBase100ER4 = 32
137
+ RS232 = 33
138
+ """Console"""
139
+
140
+ Uart = 34
141
+ GBase50SR4 = 35
142
+ """50 gbps"""
143
+
144
+ GBase50LR4 = 36
145
+ GBase50ER4 = 37
146
+ GBase50CR = 38
147
+ GBase50KR = 39
148
+ GBase50SR = 40
149
+ GBase50LR = 41
150
+ GBase50FR = 42
151
+ GBase50ER = 43
152
+ LAUI_2 = 44
153
+ GAUI50_1 = 45
154
+ GAUI50_2 = 46
155
+ GBase200CR4 = 47
156
+ """200 gbps"""
157
+
158
+ GBase200KR4 = 48
159
+ GBase200SR4 = 49
160
+ GBase200DR4 = 50
161
+ GBase200FR4 = 51
162
+ GBase200LR4 = 52
163
+ GBase200ER4 = 53
164
+ GAUI200_4 = 54
165
+ GAUI200_8 = 55
166
+ GBase400SR16 = 56
167
+ """400 gbps"""
168
+
169
+ GBase400SR8 = 57
170
+ GBase400SR4_2 = 58
171
+ GBase400DR4 = 59
172
+ GBase400FR8 = 60
173
+ GBase400ER8 = 61
174
+ GBase400ZR = 62
175
+ GAUI400_16 = 63
176
+ GAUI400_8 = 64
177
+ XBee = 65
178
+ ZWave = 66
179
+ Zigbee = 67
180
+ CXP100 = 68
181
+ CXP120 = 69
182
+
183
+
184
+ class ConnectorKind(betterproto.Enum):
185
+ ConnectorKind_Undefined = 0
186
+ RJ45 = 1
187
+ SFP = 2
188
+ QSFP = 3
189
+ SFPP = 4
190
+ QSFPP = 5
191
+ SFP28 = 6
192
+ QSFP28 = 7
193
+ CXP = 8
194
+ LC = 9
195
+ MPO = 10
196
+ SFP56 = 11
197
+ QSFP56 = 12
198
+ QSFPDD = 13
199
+
200
+
201
+ class DiskFormFactor(betterproto.Enum):
202
+ DiskFormFactor_Undefined = 0
203
+ HDD35 = 1
204
+ HDD25 = 2
205
+ SSD35 = 3
206
+ SSD25 = 4
207
+ MSATA = 5
208
+ M2_2216 = 6
209
+ M2_2226 = 7
210
+ M2_2230 = 8
211
+ M2_2238 = 9
212
+ M2_2242 = 10
213
+ M2_2260 = 11
214
+ M2_2280 = 12
215
+ M2_22110 = 13
216
+ U2 = 14
217
+ EMMC = 15
218
+ EUSB = 16
219
+ U3 = 17
220
+ E1S = 18
221
+
222
+
223
+ class DiskInterface(betterproto.Enum):
224
+ DiskInterface_Undefined = 0
225
+ SATA1 = 1
226
+ SATA2 = 2
227
+ SATA3 = 3
228
+ NVMEx2 = 4
229
+ NVMEx4 = 5
230
+ MMC = 6
231
+ SD = 7
232
+ USB = 8
233
+ SAS = 9
234
+ VirtioBlock = 10
235
+
236
+
237
+ class CableKind(betterproto.Enum):
238
+ CableKind_Undefined = 0
239
+ Cat5 = 1
240
+ Cat5e = 2
241
+ Cat6 = 3
242
+ DAC = 4
243
+ DACBreakout = 5
244
+ FiberLC = 6
245
+ FiberMPOTrunk = 7
246
+ FiberMPOBreakout = 8
247
+ AOC = 9
248
+ AOCBreakout = 10
249
+ GenericBreakout = 11
250
+ ACC = 12
251
+ ACCBreakout = 13
252
+
253
+
254
+ class AllocMode(betterproto.Enum):
255
+ AllocMode_Undefined = 0
256
+ NoAlloc = 1
257
+ Net = 2
258
+ NetEmu = 3
259
+ Filesystem = 4
260
+ BlockDevice = 5
261
+ Physical = 6
262
+ Virtual = 7
263
+ Infrapod = 8
264
+ Physim = 9
265
+
266
+
267
+ class Role(betterproto.Enum):
268
+ Role_unknown = 0
269
+ TbNode = 1
270
+ InfraServer = 2
271
+ ConsoleServer = 3
272
+ PowerController = 4
273
+ NetworkEmulator = 5
274
+ XpSwitch = 6
275
+ InfraSwitch = 7
276
+ MgmtSwitch = 8
277
+ Gateway = 9
278
+ Leaf = 10
279
+ Fabric = 11
280
+ Spine = 12
281
+ StorageServer = 13
282
+ InfrapodServer = 14
283
+ EtcdHost = 15
284
+ MinIOHost = 16
285
+ RexHost = 17
286
+ DriverHost = 18
287
+ ManagerHost = 19
288
+ CommanderHost = 20
289
+ SledHost = 21
290
+ RallyHost = 22
291
+ PDU = 23
292
+ EmuSwitch = 24
293
+ Hypervisor = 25
294
+ PhysicsSimulator = 26
295
+ Stem = 27
296
+ BorderGateway = 28
297
+ OpsServer = 29
298
+
299
+
300
+ class LinkRole(betterproto.Enum):
301
+ LinkRole_Unspecified = 0
302
+ InfraLink = 1
303
+ XpLink = 2
304
+ Tor = 3
305
+ EmuLink = 4
306
+ MgmtLink = 5
307
+ GatewayLink = 6
308
+ SimLink = 7
309
+ HarborEndpoint = 8
310
+
311
+
312
+ class DiskRole(betterproto.Enum):
313
+ DiskRole_Unspecified = 0
314
+ System = 1
315
+ MinIO = 2
316
+ Etcd = 3
317
+ Rally = 4
318
+ Mariner = 5
319
+
320
+
321
+ class Operator(betterproto.Enum):
322
+ Op_Undefined = 0
323
+ LT = 1
324
+ LE = 2
325
+ GT = 3
326
+ GE = 4
327
+ EQ = 5
328
+ NE = 6
329
+
330
+
331
+ class LinkKind(betterproto.Enum):
332
+ unspec = 0
333
+ ethernet = 1
334
+ wifi = 2
335
+ wifi_ac = 3
336
+ wifi_ax = 4
337
+ lte_4g = 5
338
+ lte_5g = 6
339
+
340
+
341
+ class BmcKind(betterproto.Enum):
342
+ IPMI = 0
343
+ RedFish = 1
344
+ IPMIRedFish = 2
345
+
346
+
347
+ class RelayBoardKind(betterproto.Enum):
348
+ NCDFusion = 0
349
+
350
+
351
+ class PowerDistributionUnitKind(betterproto.Enum):
352
+ APC = 0
353
+
354
+
355
+ class FirmwareKind(betterproto.Enum):
356
+ Undefined = 0
357
+ UEFI = 1
358
+ BIOS = 2
359
+
360
+
361
+ @dataclass(eq=False, repr=False)
362
+ class Facility(betterproto.Message):
363
+ id: str = betterproto.string_field(1)
364
+ fqdn: str = betterproto.string_field(2)
365
+ resources: List["Resource"] = betterproto.message_field(3)
366
+ cables: List["Cable"] = betterproto.message_field(4)
367
+
368
+
369
+ @dataclass(eq=False, repr=False)
370
+ class Network(betterproto.Message):
371
+ id: str = betterproto.string_field(1)
372
+ nodes: List["Node"] = betterproto.message_field(2)
373
+ links: List["Link"] = betterproto.message_field(3)
374
+ parameters: "ExperimentParameters" = betterproto.message_field(4)
375
+
376
+
377
+ @dataclass(eq=False, repr=False)
378
+ class ExperimentParameters(betterproto.Message):
379
+ routing: "RoutingConstraint" = betterproto.message_field(1)
380
+ addressing: "AddressingConstraint" = betterproto.message_field(2)
381
+ hypervisors: List[str] = betterproto.string_field(3)
382
+ simulators: List[str] = betterproto.string_field(4)
383
+ emulators: List[str] = betterproto.string_field(5)
384
+ experimentnetresolution: bool = betterproto.bool_field(6)
385
+ emulation: "EmulationConstraint" = betterproto.message_field(7)
386
+
387
+
388
+ @dataclass(eq=False, repr=False)
389
+ class Properties(betterproto.Message):
390
+ keyvalues: Dict[str, "PropertiesValues"] = betterproto.map_field(
391
+ 1, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
392
+ )
393
+
394
+
395
+ @dataclass(eq=False, repr=False)
396
+ class PropertiesValues(betterproto.Message):
397
+ values: List[str] = betterproto.string_field(1)
398
+
399
+
400
+ @dataclass(eq=False, repr=False)
401
+ class Node(betterproto.Message):
402
+ id: str = betterproto.string_field(1)
403
+ sockets: List["Socket"] = betterproto.message_field(2)
404
+ proc: "ProcSpec" = betterproto.message_field(3)
405
+ memory: "MemorySpec" = betterproto.message_field(4)
406
+ nic: "NicSpec" = betterproto.message_field(5)
407
+ disks: "DiskSpec" = betterproto.message_field(6)
408
+ metal: "BoolConstraint" = betterproto.message_field(7)
409
+ virt: "BoolConstraint" = betterproto.message_field(8)
410
+ image: "StringConstraint" = betterproto.message_field(9)
411
+ platform: "StringConstraint" = betterproto.message_field(10)
412
+ viz: "Visualization" = betterproto.message_field(11)
413
+ conf: "NodeConfig" = betterproto.message_field(12)
414
+ properties: "Properties" = betterproto.message_field(13)
415
+ """Run time and post-publish properties"""
416
+
417
+ host: "StringConstraint" = betterproto.message_field(14)
418
+
419
+
420
+ @dataclass(eq=False, repr=False)
421
+ class NodeConfig(betterproto.Message):
422
+ routes: List["RouteConfig"] = betterproto.message_field(1)
423
+
424
+
425
+ @dataclass(eq=False, repr=False)
426
+ class RouteConfig(betterproto.Message):
427
+ src: str = betterproto.string_field(1)
428
+ gw: str = betterproto.string_field(2)
429
+ dst: str = betterproto.string_field(3)
430
+
431
+
432
+ @dataclass(eq=False, repr=False)
433
+ class Visualization(betterproto.Message):
434
+ color: str = betterproto.string_field(1)
435
+ size: int = betterproto.uint32_field(2)
436
+
437
+
438
+ @dataclass(eq=False, repr=False)
439
+ class Ref(betterproto.Message):
440
+ element: str = betterproto.string_field(1)
441
+ index: int = betterproto.uint32_field(2)
442
+ subref: "Subref" = betterproto.message_field(3)
443
+
444
+
445
+ @dataclass(eq=False, repr=False)
446
+ class Subref(betterproto.Message):
447
+ index: int = betterproto.uint32_field(1)
448
+
449
+
450
+ @dataclass(eq=False, repr=False)
451
+ class Socket(betterproto.Message):
452
+ index: int = betterproto.int32_field(1)
453
+ addrs: List[str] = betterproto.string_field(2)
454
+ endpoint: "Ref" = betterproto.message_field(3)
455
+ port: "PortSpec" = betterproto.message_field(4)
456
+
457
+
458
+ @dataclass(eq=False, repr=False)
459
+ class RouteConf(betterproto.Message):
460
+ src: str = betterproto.string_field(1)
461
+ gw: str = betterproto.string_field(2)
462
+ dst: str = betterproto.string_field(3)
463
+
464
+
465
+ @dataclass(eq=False, repr=False)
466
+ class Link(betterproto.Message):
467
+ id: str = betterproto.string_field(1)
468
+ latency: "Uint64Constraint" = betterproto.message_field(2)
469
+ capacity: "Uint64Constraint" = betterproto.message_field(3)
470
+ loss: "FloatConstraint" = betterproto.message_field(4)
471
+ endpoints: List["Endpoint"] = betterproto.message_field(5)
472
+ kind: "LinkKindConstraint" = betterproto.message_field(6)
473
+ layer: "Uint64Constraint" = betterproto.message_field(7)
474
+ properties: "Properties" = betterproto.message_field(8)
475
+ """Run time and post-publish properties"""
476
+
477
+
478
+ @dataclass(eq=False, repr=False)
479
+ class Endpoint(betterproto.Message):
480
+ index: int = betterproto.int32_field(1)
481
+ socket: "Ref" = betterproto.message_field(2)
482
+ connector: "ConnectorSpec" = betterproto.message_field(3)
483
+
484
+
485
+ @dataclass(eq=False, repr=False)
486
+ class Phyo(betterproto.Message):
487
+ id: str = betterproto.string_field(1)
488
+ eqtns: List[str] = betterproto.string_field(2)
489
+
490
+
491
+ @dataclass(eq=False, repr=False)
492
+ class Variable(betterproto.Message):
493
+ pass
494
+
495
+
496
+ @dataclass(eq=False, repr=False)
497
+ class Bond(betterproto.Message):
498
+ pass
499
+
500
+
501
+ @dataclass(eq=False, repr=False)
502
+ class Coupling(betterproto.Message):
503
+ pass
504
+
505
+
506
+ @dataclass(eq=False, repr=False)
507
+ class Sensor(betterproto.Message):
508
+ id: str = betterproto.string_field(1)
509
+ var: str = betterproto.string_field(2)
510
+ rate: float = betterproto.float_field(3)
511
+ target: str = betterproto.string_field(4)
512
+ tag: int = betterproto.int32_field(5)
513
+
514
+
515
+ @dataclass(eq=False, repr=False)
516
+ class Actuator(betterproto.Message):
517
+ id: str = betterproto.string_field(1)
518
+ var: str = betterproto.string_field(2)
519
+ dynamic_limits: "Limits" = betterproto.message_field(3)
520
+ static_limits: "Limits" = betterproto.message_field(4)
521
+ tag: int = betterproto.int32_field(5)
522
+
523
+
524
+ @dataclass(eq=False, repr=False)
525
+ class Limits(betterproto.Message):
526
+ lower: float = betterproto.float_field(1)
527
+ upper: float = betterproto.float_field(2)
528
+
529
+
530
+ @dataclass(eq=False, repr=False)
531
+ class ProductInfo(betterproto.Message):
532
+ manufacturer: str = betterproto.string_field(1)
533
+ model: str = betterproto.string_field(2)
534
+ sku: str = betterproto.string_field(3)
535
+ integrated: bool = betterproto.bool_field(4)
536
+ cost: float = betterproto.float_field(5)
537
+
538
+
539
+ @dataclass(eq=False, repr=False)
540
+ class Resource(betterproto.Message):
541
+ id: str = betterproto.string_field(1)
542
+ facility: str = betterproto.string_field(2)
543
+ procs: List["Proc"] = betterproto.message_field(3)
544
+ memory: List["Dimm"] = betterproto.message_field(4)
545
+ ni_cs: List["Nic"] = betterproto.message_field(5)
546
+ disks: List["Disk"] = betterproto.message_field(6)
547
+ alloc: List["AllocMode"] = betterproto.enum_field(7)
548
+ roles: List["Role"] = betterproto.enum_field(8)
549
+ firmware: "Firmware" = betterproto.message_field(9)
550
+ os: "OsConfig" = betterproto.message_field(10)
551
+ product_info: "ProductInfo" = betterproto.message_field(11)
552
+ tpa: int = betterproto.uint64_field(12)
553
+ ipmi: "Bmc" = betterproto.message_field(13, group="power_control")
554
+ relayboard: "RelayBoard" = betterproto.message_field(14, group="power_control")
555
+ pdu: "PowerDistributionUnit" = betterproto.message_field(15, group="power_control")
556
+ raven: "Raven" = betterproto.message_field(16, group="power_control")
557
+ leaf_config: "LeafConfig" = betterproto.message_field(17)
558
+ infranet_addr: Dict[str, "AddressList"] = betterproto.map_field(
559
+ 18, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
560
+ )
561
+
562
+
563
+ @dataclass(eq=False, repr=False)
564
+ class Bmc(betterproto.Message):
565
+ host: str = betterproto.string_field(1)
566
+ kind: "BmcKind" = betterproto.enum_field(2)
567
+
568
+
569
+ @dataclass(eq=False, repr=False)
570
+ class RelayBoard(betterproto.Message):
571
+ host: str = betterproto.string_field(1)
572
+ index: int = betterproto.uint32_field(2)
573
+ kind: "RelayBoardKind" = betterproto.enum_field(3)
574
+
575
+
576
+ @dataclass(eq=False, repr=False)
577
+ class PowerDistributionUnit(betterproto.Message):
578
+ host: str = betterproto.string_field(1)
579
+ outlets: List[int] = betterproto.uint32_field(2)
580
+ kind: "PowerDistributionUnitKind" = betterproto.enum_field(3)
581
+
582
+
583
+ @dataclass(eq=False, repr=False)
584
+ class Raven(betterproto.Message):
585
+ host: str = betterproto.string_field(1)
586
+
587
+
588
+ @dataclass(eq=False, repr=False)
589
+ class Firmware(betterproto.Message):
590
+ kind: "FirmwareKind" = betterproto.enum_field(1)
591
+
592
+
593
+ @dataclass(eq=False, repr=False)
594
+ class ResourceAllocation(betterproto.Message):
595
+ resource: str = betterproto.string_field(1)
596
+ facility: str = betterproto.string_field(2)
597
+ mzid: str = betterproto.string_field(3)
598
+ node: str = betterproto.string_field(4)
599
+ procs: "ProcAllocation" = betterproto.message_field(5)
600
+ memory: "MemoryAllocation" = betterproto.message_field(6)
601
+ ni_cs: "NiCsAllocation" = betterproto.message_field(7)
602
+ disks: "DisksAllocation" = betterproto.message_field(8)
603
+ model: "Node" = betterproto.message_field(9)
604
+ revision: int = betterproto.int64_field(10)
605
+ virtual: bool = betterproto.bool_field(11)
606
+
607
+
608
+ @dataclass(eq=False, repr=False)
609
+ class CableAllocation(betterproto.Message):
610
+ cable: str = betterproto.string_field(1)
611
+ facility: str = betterproto.string_field(2)
612
+ mzid: str = betterproto.string_field(3)
613
+ link: str = betterproto.string_field(4)
614
+ capacity: int = betterproto.uint64_field(5)
615
+ revision: int = betterproto.int64_field(6)
616
+
617
+
618
+ @dataclass(eq=False, repr=False)
619
+ class AddressList(betterproto.Message):
620
+ list: List[str] = betterproto.string_field(1)
621
+
622
+
623
+ @dataclass(eq=False, repr=False)
624
+ class LeafConfig(betterproto.Message):
625
+ service_address_blocks: "AddressList" = betterproto.message_field(1)
626
+ tenant_address_blocks: "AddressList" = betterproto.message_field(2)
627
+ infrapod_address_blocks: Dict[str, "AddressList"] = betterproto.map_field(
628
+ 3, betterproto.TYPE_STRING, betterproto.TYPE_MESSAGE
629
+ )
630
+ """interface -> address block"""
631
+
632
+
633
+ @dataclass(eq=False, repr=False)
634
+ class OsConfig(betterproto.Message):
635
+ bgp: List["BgpRouterConfig"] = betterproto.message_field(1)
636
+ bridge: List["BridgeConfig"] = betterproto.message_field(2)
637
+ vlan: List["VlanConfig"] = betterproto.message_field(3)
638
+ service_endpoints: Dict[int, "ServiceEndpoint"] = betterproto.map_field(
639
+ 4, betterproto.TYPE_UINT32, betterproto.TYPE_MESSAGE
640
+ )
641
+ append: str = betterproto.string_field(5)
642
+ rootdev: str = betterproto.string_field(6)
643
+ default_image: str = betterproto.string_field(7)
644
+
645
+
646
+ @dataclass(eq=False, repr=False)
647
+ class ServiceEndpoint(betterproto.Message):
648
+ address: str = betterproto.string_field(1)
649
+
650
+
651
+ @dataclass(eq=False, repr=False)
652
+ class VlanConfig(betterproto.Message):
653
+ device: str = betterproto.string_field(1)
654
+ vid: int = betterproto.uint32_field(2)
655
+ addrs: List[str] = betterproto.string_field(3)
656
+ role: "LinkRole" = betterproto.enum_field(4)
657
+
658
+
659
+ @dataclass(eq=False, repr=False)
660
+ class InterfaceConfig(betterproto.Message):
661
+ address: str = betterproto.string_field(1)
662
+ interface: str = betterproto.string_field(2)
663
+ role: "LinkRole" = betterproto.enum_field(3)
664
+
665
+
666
+ @dataclass(eq=False, repr=False)
667
+ class BgpRouterConfig(betterproto.Message):
668
+ vrf: str = betterproto.string_field(1)
669
+ asn: int = betterproto.uint32_field(2)
670
+ interfaces: List["InterfaceConfig"] = betterproto.message_field(3)
671
+ evpn: "EvpnConfig" = betterproto.message_field(4)
672
+
673
+
674
+ @dataclass(eq=False, repr=False)
675
+ class EvpnConfig(betterproto.Message):
676
+ tunnel_endpoints: List["InterfaceConfig"] = betterproto.message_field(1)
677
+
678
+
679
+ @dataclass(eq=False, repr=False)
680
+ class BridgeConfig(betterproto.Message):
681
+ name: str = betterproto.string_field(1)
682
+ vlan_aware: bool = betterproto.bool_field(2)
683
+ addrs: List[str] = betterproto.string_field(3)
684
+ role: "LinkRole" = betterproto.enum_field(4)
685
+
686
+
687
+ @dataclass(eq=False, repr=False)
688
+ class Breakout(betterproto.Message):
689
+ index: int = betterproto.uint32_field(1)
690
+ radix: int = betterproto.uint32_field(2)
691
+
692
+
693
+ @dataclass(eq=False, repr=False)
694
+ class PortBond(betterproto.Message):
695
+ name: str = betterproto.string_field(1)
696
+
697
+
698
+ @dataclass(eq=False, repr=False)
699
+ class SriovPf(betterproto.Message):
700
+ """SRIOV data"""
701
+
702
+ max_v_fs: int = betterproto.uint32_field(1)
703
+
704
+
705
+ @dataclass(eq=False, repr=False)
706
+ class SriovVf(betterproto.Message):
707
+ vf_index: int = betterproto.uint32_field(1)
708
+
709
+
710
+ @dataclass(eq=False, repr=False)
711
+ class Sriov(betterproto.Message):
712
+ pf: "SriovPf" = betterproto.message_field(2, group="Data")
713
+ vf: "SriovVf" = betterproto.message_field(3, group="Data")
714
+ pf_ni: int = betterproto.uint32_field(4)
715
+ """
716
+ the following two are for quick lookup of PF ports in:
717
+ Resource.NICs[PfNi].Ports[PfPi] -> Port Node.Nic[PfNi][PfPi] -> PortSpec
718
+ ResourceAllocation.NICs.Alloc[PfNi].Alloc[PfPi] -> PortAllocation
719
+ """
720
+
721
+ pf_pi: int = betterproto.uint32_field(5)
722
+
723
+
724
+ @dataclass(eq=False, repr=False)
725
+ class Port(betterproto.Message):
726
+ parent: str = betterproto.string_field(1)
727
+ index: int = betterproto.uint32_field(2)
728
+ protocols: List["Layer1"] = betterproto.enum_field(3)
729
+ capacity: int = betterproto.uint64_field(4)
730
+ mac: str = betterproto.string_field(5)
731
+ form_factor: "ConnectorKind" = betterproto.enum_field(6)
732
+ connector: "Ref" = betterproto.message_field(7)
733
+ role: "LinkRole" = betterproto.enum_field(8)
734
+ tpa: int = betterproto.uint64_field(9)
735
+ queues: int = betterproto.uint64_field(10)
736
+ breakout: "Breakout" = betterproto.message_field(11)
737
+ bond: "PortBond" = betterproto.message_field(12)
738
+ name: str = betterproto.string_field(13)
739
+ sriov: "Sriov" = betterproto.message_field(14)
740
+
741
+
742
+ @dataclass(eq=False, repr=False)
743
+ class BridgeMember(betterproto.Message):
744
+ bridge: str = betterproto.string_field(1)
745
+ vid: int = betterproto.uint32_field(2)
746
+
747
+
748
+ @dataclass(eq=False, repr=False)
749
+ class PortAllocation(betterproto.Message):
750
+ name: str = betterproto.string_field(1)
751
+ mac: str = betterproto.string_field(2)
752
+ capacity: int = betterproto.uint64_field(3)
753
+ """
754
+ for VFs: the bandwidth allocated for PFs: the aggregate allocated bandwidth
755
+ (across all allocated vfs)
756
+ """
757
+
758
+ vf_name: str = betterproto.string_field(4)
759
+ """
760
+ when describing VM, name can be eth0, eth1, etc. while VfName will be the
761
+ host's actual vf dev
762
+ """
763
+
764
+ vf_alloc: bool = betterproto.bool_field(5)
765
+ """for PFs: this port has indirect (VF) allocations"""
766
+
767
+ bridge: "BridgeMember" = betterproto.message_field(6)
768
+
769
+
770
+ @dataclass(eq=False, repr=False)
771
+ class PortRef(betterproto.Message):
772
+ mac: str = betterproto.string_field(1)
773
+
774
+
775
+ @dataclass(eq=False, repr=False)
776
+ class PortSpec(betterproto.Message):
777
+ protocols: List["Layer1"] = betterproto.enum_field(1)
778
+ capacity: "Uint64Constraint" = betterproto.message_field(2)
779
+ form_factor: "ConnectorKindConstraint" = betterproto.message_field(3)
780
+ queues: "Uint64Constraint" = betterproto.message_field(4)
781
+ model: "NicModelConstraint" = betterproto.message_field(5)
782
+ dpdk: "BoolConstraint" = betterproto.message_field(6)
783
+ sriov_vf: "BoolConstraint" = betterproto.message_field(7)
784
+
785
+
786
+ @dataclass(eq=False, repr=False)
787
+ class Cable(betterproto.Message):
788
+ id: str = betterproto.string_field(1)
789
+ facility: str = betterproto.string_field(2)
790
+ kind: "CableKind" = betterproto.enum_field(3)
791
+ ends: List["End"] = betterproto.message_field(4)
792
+ product_info: "ProductInfo" = betterproto.message_field(5)
793
+
794
+
795
+ @dataclass(eq=False, repr=False)
796
+ class End(betterproto.Message):
797
+ connectors: List["Connector"] = betterproto.message_field(1)
798
+
799
+
800
+ @dataclass(eq=False, repr=False)
801
+ class Connector(betterproto.Message):
802
+ parent: str = betterproto.string_field(1)
803
+ index: int = betterproto.uint32_field(2)
804
+ kind: "ConnectorKind" = betterproto.enum_field(3)
805
+ protocols: List["Layer1"] = betterproto.enum_field(4)
806
+ capacity: int = betterproto.uint64_field(5)
807
+ port: "Ref" = betterproto.message_field(6)
808
+ breakout: "Breakout" = betterproto.message_field(7)
809
+
810
+
811
+ @dataclass(eq=False, repr=False)
812
+ class ConnectorSpec(betterproto.Message):
813
+ kind: "ConnectorKindConstraint" = betterproto.message_field(1)
814
+ protocols: List["Layer1"] = betterproto.enum_field(2)
815
+ capacity: int = betterproto.uint64_field(3)
816
+
817
+
818
+ @dataclass(eq=False, repr=False)
819
+ class Proc(betterproto.Message):
820
+ isa: "Isa" = betterproto.enum_field(1)
821
+ family: str = betterproto.string_field(2)
822
+ base_frequency: int = betterproto.uint64_field(3)
823
+ l2: int = betterproto.uint64_field(4)
824
+ cores: int = betterproto.uint32_field(5)
825
+ threads: int = betterproto.uint32_field(6)
826
+ tdp: int = betterproto.uint32_field(7)
827
+ hyperthreaded: bool = betterproto.bool_field(8)
828
+ product_info: "ProductInfo" = betterproto.message_field(9)
829
+ reserved_cores: int = betterproto.uint32_field(10)
830
+
831
+
832
+ @dataclass(eq=False, repr=False)
833
+ class SocketAllocation(betterproto.Message):
834
+ cores: int = betterproto.uint32_field(1)
835
+
836
+
837
+ @dataclass(eq=False, repr=False)
838
+ class ProcAllocation(betterproto.Message):
839
+ alloc: Dict[int, "SocketAllocation"] = betterproto.map_field(
840
+ 1, betterproto.TYPE_UINT32, betterproto.TYPE_MESSAGE
841
+ )
842
+
843
+
844
+ @dataclass(eq=False, repr=False)
845
+ class ProcSpec(betterproto.Message):
846
+ isa: "IsaConstraint" = betterproto.message_field(1)
847
+ family: "StringConstraint" = betterproto.message_field(2)
848
+ base_frequency: "Uint64Constraint" = betterproto.message_field(3)
849
+ l2: "Uint64Constraint" = betterproto.message_field(4)
850
+ cores: "Uint32Constraint" = betterproto.message_field(5)
851
+ threads: "Uint32Constraint" = betterproto.message_field(6)
852
+ tdp: "Uint32Constraint" = betterproto.message_field(7)
853
+ sockets: "Uint32Constraint" = betterproto.message_field(8)
854
+ hyperthreaded: "BoolConstraint" = betterproto.message_field(9)
855
+
856
+
857
+ @dataclass(eq=False, repr=False)
858
+ class Dimm(betterproto.Message):
859
+ type: "MemoryType" = betterproto.enum_field(1)
860
+ capacity: int = betterproto.uint64_field(2)
861
+ frequency: int = betterproto.uint64_field(3)
862
+ product_info: "ProductInfo" = betterproto.message_field(4)
863
+ reserved_capacity: int = betterproto.uint64_field(5)
864
+
865
+
866
+ @dataclass(eq=False, repr=False)
867
+ class DimmAllocation(betterproto.Message):
868
+ capacity: int = betterproto.uint64_field(1)
869
+
870
+
871
+ @dataclass(eq=False, repr=False)
872
+ class MemoryAllocation(betterproto.Message):
873
+ alloc: Dict[int, "DimmAllocation"] = betterproto.map_field(
874
+ 1, betterproto.TYPE_UINT32, betterproto.TYPE_MESSAGE
875
+ )
876
+
877
+
878
+ @dataclass(eq=False, repr=False)
879
+ class MemorySpec(betterproto.Message):
880
+ type: "MemoryTypeConstraint" = betterproto.message_field(1)
881
+ capacity: "Uint64Constraint" = betterproto.message_field(2)
882
+ frequency: "Uint64Constraint" = betterproto.message_field(3)
883
+ modules: "Uint64Constraint" = betterproto.message_field(4)
884
+
885
+
886
+ @dataclass(eq=False, repr=False)
887
+ class Nic(betterproto.Message):
888
+ ports: List["Port"] = betterproto.message_field(1)
889
+ starting_index: int = betterproto.uint32_field(2)
890
+ kind: "NicKind" = betterproto.enum_field(3)
891
+ product_info: "ProductInfo" = betterproto.message_field(4)
892
+ dpdk: bool = betterproto.bool_field(5)
893
+ model: "NicModel" = betterproto.enum_field(6)
894
+
895
+
896
+ @dataclass(eq=False, repr=False)
897
+ class NicSpec(betterproto.Message):
898
+ ports: List["PortSpec"] = betterproto.message_field(1)
899
+
900
+
901
+ @dataclass(eq=False, repr=False)
902
+ class NicAllocation(betterproto.Message):
903
+ alloc: Dict[int, "PortAllocation"] = betterproto.map_field(
904
+ 1, betterproto.TYPE_UINT32, betterproto.TYPE_MESSAGE
905
+ )
906
+
907
+
908
+ @dataclass(eq=False, repr=False)
909
+ class NiCsAllocation(betterproto.Message):
910
+ alloc: Dict[int, "NicAllocation"] = betterproto.map_field(
911
+ 1, betterproto.TYPE_UINT32, betterproto.TYPE_MESSAGE
912
+ )
913
+
914
+
915
+ @dataclass(eq=False, repr=False)
916
+ class Disk(betterproto.Message):
917
+ capacity: int = betterproto.uint64_field(1)
918
+ form_factor: "DiskFormFactor" = betterproto.enum_field(2)
919
+ disk_interface: "DiskInterface" = betterproto.enum_field(3)
920
+ product_info: "ProductInfo" = betterproto.message_field(4)
921
+ roles: List["DiskRole"] = betterproto.enum_field(5)
922
+ nvme_controller_index: int = betterproto.uint32_field(6)
923
+
924
+
925
+ @dataclass(eq=False, repr=False)
926
+ class DiskAllocation(betterproto.Message):
927
+ capacity: int = betterproto.uint64_field(1)
928
+
929
+
930
+ @dataclass(eq=False, repr=False)
931
+ class DisksAllocation(betterproto.Message):
932
+ alloc: Dict[int, "DiskAllocation"] = betterproto.map_field(
933
+ 1, betterproto.TYPE_UINT32, betterproto.TYPE_MESSAGE
934
+ )
935
+
936
+
937
+ @dataclass(eq=False, repr=False)
938
+ class DiskSpec(betterproto.Message):
939
+ capacity: "Uint64Constraint" = betterproto.message_field(1)
940
+ form_factor: "DiskFormFactorConstraint" = betterproto.message_field(2)
941
+ disk_interface: "DiskInterfaceConstraint" = betterproto.message_field(3)
942
+ disks: "Uint64Constraint" = betterproto.message_field(4)
943
+
944
+
945
+ @dataclass(eq=False, repr=False)
946
+ class BoolConstraint(betterproto.Message):
947
+ op: "Operator" = betterproto.enum_field(1)
948
+ value: bool = betterproto.bool_field(2)
949
+
950
+
951
+ @dataclass(eq=False, repr=False)
952
+ class StringConstraint(betterproto.Message):
953
+ op: "Operator" = betterproto.enum_field(1)
954
+ value: str = betterproto.string_field(2)
955
+
956
+
957
+ @dataclass(eq=False, repr=False)
958
+ class Uint64Constraint(betterproto.Message):
959
+ op: "Operator" = betterproto.enum_field(1)
960
+ value: int = betterproto.uint64_field(2)
961
+
962
+
963
+ @dataclass(eq=False, repr=False)
964
+ class LinkKindConstraint(betterproto.Message):
965
+ op: "Operator" = betterproto.enum_field(1)
966
+ value: "LinkKind" = betterproto.enum_field(2)
967
+
968
+
969
+ @dataclass(eq=False, repr=False)
970
+ class Uint32Constraint(betterproto.Message):
971
+ op: "Operator" = betterproto.enum_field(1)
972
+ value: int = betterproto.uint32_field(2)
973
+
974
+
975
+ @dataclass(eq=False, repr=False)
976
+ class IsaConstraint(betterproto.Message):
977
+ op: "Operator" = betterproto.enum_field(1)
978
+ value: "Isa" = betterproto.enum_field(2)
979
+
980
+
981
+ @dataclass(eq=False, repr=False)
982
+ class MemoryTypeConstraint(betterproto.Message):
983
+ op: "Operator" = betterproto.enum_field(1)
984
+ value: "MemoryType" = betterproto.enum_field(2)
985
+
986
+
987
+ @dataclass(eq=False, repr=False)
988
+ class NicModelConstraint(betterproto.Message):
989
+ op: "Operator" = betterproto.enum_field(1)
990
+ value: "NicModel" = betterproto.enum_field(2)
991
+
992
+
993
+ @dataclass(eq=False, repr=False)
994
+ class DiskFormFactorConstraint(betterproto.Message):
995
+ op: "Operator" = betterproto.enum_field(1)
996
+ value: "DiskFormFactor" = betterproto.enum_field(2)
997
+
998
+
999
+ @dataclass(eq=False, repr=False)
1000
+ class DiskInterfaceConstraint(betterproto.Message):
1001
+ op: "Operator" = betterproto.enum_field(1)
1002
+ value: "DiskInterface" = betterproto.enum_field(2)
1003
+
1004
+
1005
+ @dataclass(eq=False, repr=False)
1006
+ class ConnectorKindConstraint(betterproto.Message):
1007
+ op: "Operator" = betterproto.enum_field(1)
1008
+ value: "ConnectorKind" = betterproto.enum_field(2)
1009
+
1010
+
1011
+ @dataclass(eq=False, repr=False)
1012
+ class FloatConstraint(betterproto.Message):
1013
+ op: "Operator" = betterproto.enum_field(1)
1014
+ value: float = betterproto.float_field(2)
1015
+
1016
+
1017
+ @dataclass(eq=False, repr=False)
1018
+ class RoutingConstraint(betterproto.Message):
1019
+ op: "Operator" = betterproto.enum_field(1)
1020
+ value: "Routing" = betterproto.enum_field(2)
1021
+
1022
+
1023
+ @dataclass(eq=False, repr=False)
1024
+ class AddressingConstraint(betterproto.Message):
1025
+ op: "Operator" = betterproto.enum_field(1)
1026
+ value: "Addressing" = betterproto.enum_field(2)
1027
+
1028
+
1029
+ @dataclass(eq=False, repr=False)
1030
+ class EmulationConstraint(betterproto.Message):
1031
+ op: "Operator" = betterproto.enum_field(1)
1032
+ value: "Emulation" = betterproto.enum_field(2)