@portrayal/juniper-mx10008 0.0.0-stage → 2.0.7

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,969 @@
1
+ {
2
+ "attrs": {
3
+ "physical": {
4
+ "weight-base-kg": 133,
5
+ "weight-empty-kg": 65.86
6
+ },
7
+ "power": {
8
+ "power-envelope": "fully-configured",
9
+ "power-typical-scope": "datasheet - typical, fully loaded (MX10000 and MX10008/MX10016 datasheets); no ambient or side named",
10
+ "power-typical-w": 12000
11
+ }
12
+ },
13
+ "chassis": {
14
+ "color": "#565b61",
15
+ "depth": 813.0,
16
+ "height": 574.0,
17
+ "ru": 13,
18
+ "width": 442.0
19
+ },
20
+ "configurations": {
21
+ "base": {
22
+ "bays": {
23
+ "fpc0": "juniper/jnp10k-lc-blank@1",
24
+ "fpc1": "juniper/jnp10k-lc-blank@1",
25
+ "fpc2": "juniper/jnp10k-lc-blank@1",
26
+ "fpc3": "juniper/jnp10k-lc-blank@1",
27
+ "fpc4": "juniper/jnp10k-lc-blank@1",
28
+ "fpc5": "juniper/jnp10k-lc-blank@1",
29
+ "fpc6": "juniper/jnp10k-lc-blank@1",
30
+ "fpc7": "juniper/jnp10k-lc-blank@1"
31
+ },
32
+ "default": true,
33
+ "description": "Chassis only - what you spec before deciding what goes in it. The 8 slot bays are EMPTY; cooling, psus, res are populated. Enough to power on and reach the box, which is the question most people ask first and the one `default` used to answer with whatever the drawing happened to be populated with. The line-card slots are drawn EMPTY rather than blanked, which is not the intent: no MX10000-series line-card blank is modelled, and none is named in the staged guides - they document power-supply cover panels only. Every other chassis in the library seats a blank here.",
34
+ "kind": "base",
35
+ "source": "vendor - Juniper publishes this as an orderable bundle. the hardware guide's 'MX10008 Components and Configurations' section lists the components of each configuration, and the line-card covers in this base are its own: it ships sixteen of them on the MX10016 in EVERY configuration, over the note that \"Line cards and the cable management system are not part of the base or redundant configurations. You must order them separately.\" NOT YET FULLY FAITHFUL: the vendor bundle also ships ONE routing engine rather than two, and covers rather than modules in one SFB slot and one power slot. This library seats all of them, because JNP10K-PWR-BLNK and the SF blank are not modelled yet. The line-card half - the part that was drawing holes - is now right."
36
+ }
37
+ },
38
+ "datasheet": {
39
+ "sha256": "ab3515c71b3176e48185c8a6b686f03f90d8345cf7d067640490e4ef8e22564b",
40
+ "title": "Juniper MX10000 Modular 5G Universal Routing Platforms datasheet (MX10008/MX10016)"
41
+ },
42
+ "description": "Juniper MX10008 - the 13RU, eight-slot MX10000 chassis. Two JNP10K-RE1 Routing and Control Boards stack under the badge strip beside the status lamp panel; eight full-width line-card slots (FPC 0-7) fill the front in two banks of four. The rear is a six-high PSU stack beside two tall fan trays covering the Switch Interface Boards.",
43
+ "format": 1,
44
+ "gaps": [
45
+ {
46
+ "reason": "needs-photo",
47
+ "scope": [
48
+ "res"
49
+ ],
50
+ "wanted": "a photograph of a real RCB's model label. The board in this chassis's own photographs carries four SFP cages numbered 0-3 and no BITS, ToD, RESET or Online/Offline hardware, which matches neither Juniper faceplate figure - not Figure 46 (JNP10K-RE1 family, two reserved XGE cages) nor Figure 45 (JNP10K-RE3 family). juniper/jnp10k-re1@2 follows the figure it is named for; the detail is in provenance/which-board-the-photographs-show on that contract. The label does not resolve at the scale of any photograph held here.",
51
+ "what": "rcb-which-board"
52
+ },
53
+ {
54
+ "reason": "needs-photo",
55
+ "wanted": "a photograph of the rear - only the isometric line drawing g050553 exists, so PSU stack and fan tray geometry are fractional readings and finish is inferred.",
56
+ "what": "rear-photo"
57
+ },
58
+ {
59
+ "reason": "needs-photo",
60
+ "scope": [
61
+ "psus"
62
+ ],
63
+ "wanted": "the JNP10K-PWR-AC3 (four-feed) and DC faces; only AC2 is modelled.",
64
+ "what": "psu-variants"
65
+ },
66
+ {
67
+ "reason": "needs-photo",
68
+ "scope": [
69
+ "fpcs"
70
+ ],
71
+ "wanted": "LC4800/LC4802 faceplates - named with dimensions and power in the guides but with no usable face art in the extraction.",
72
+ "what": "line-card-catalogue"
73
+ }
74
+ ],
75
+ "groups": {
76
+ "cooling": {
77
+ "description": "two tall fan trays; SIBs sit behind them",
78
+ "index-origin": 0,
79
+ "role": "service",
80
+ "term": "Tray"
81
+ },
82
+ "fpcs": {
83
+ "description": "line-card slots FPC 0-7, numbered top-down",
84
+ "index-origin": 0,
85
+ "role": "traffic",
86
+ "term": "Slot"
87
+ },
88
+ "psus": {
89
+ "attrs": {
90
+ "redundancy": "n+1",
91
+ "redundancy-note": "n+1 - three power supplies for minimum operation; additional supplies provide n+1 redundancy (2n source redundancy on the feeds)"
92
+ },
93
+ "description": "six power supply slots, one stack at the rear left",
94
+ "index-origin": 0,
95
+ "role": "service",
96
+ "term": "PSU"
97
+ },
98
+ "res": {
99
+ "attrs": {
100
+ "redundancy": "1+1",
101
+ "redundancy-note": "1+1 - mx10008 hardware guide, \"MX10008 Component Redundancy\": one RCB in the base configuration, two in the redundant one; with two fitted one is primary and the other backup, and the backup takes over if the primary or any part of it fails. The RCB consolidates the Routing Engine function with the control plane function in a single unit, so this one form covers both"
102
+ },
103
+ "description": "Routing and Control Board slots CB0 and CB1",
104
+ "index-origin": 0,
105
+ "role": "service",
106
+ "term": "Slot"
107
+ },
108
+ "status-leds": {
109
+ "description": "the chassis status lamp panel beside the RCBs",
110
+ "index-origin": 0,
111
+ "role": "indicator",
112
+ "term": "LED"
113
+ }
114
+ },
115
+ "kind": "device",
116
+ "manufacturer": "Juniper",
117
+ "maturity": "modelled",
118
+ "model": "MX10008",
119
+ "name": "mx10008",
120
+ "portfolio": {
121
+ "family": "MX10000 Universal Routing Platform",
122
+ "line": "MX Series"
123
+ },
124
+ "profile": "networking",
125
+ "provenance": {
126
+ "chassis": {
127
+ "confidence": "datasheet",
128
+ "note": "datasheet-table - 22.6 x 17.4 x 32 in (574 x 442 x 813 mm chassis only), 13U; flange extends the rack face to 19 in. Ears NOT MODELLED by convention"
129
+ },
130
+ "color": {
131
+ "note": "photo - dark grey chassis, silver card faces, light-blue levers and accent line (as MX10004)"
132
+ },
133
+ "front": {
134
+ "note": "photo - the front photograph at ~2.99 px/mm across the 442 mm body: badge strip 0-21, RCB slots at y 22.0 and 60.1 (1.5 in slot height as MX10004), service band to y 117, line-card banks at y 117.0 + i*48.4 and y 317.6 + i*48.4 with the thin divider between them; positions approximate to ~2 mm"
135
+ },
136
+ "other-faces": {
137
+ "note": "near-blank by evidence - rail bands estimated; axis conventions per viewer3d.js as the siblings"
138
+ },
139
+ "power": {
140
+ "confidence": "datasheet",
141
+ "note": "datasheet-table - JNP10K-PWR-AC2 5.5 kW each as the MX10004; the guide also lists the AC3 unit (gap). The MX10000 and MX10008/MX10016 datasheets both state typical power consumption 12 kW, fully loaded, naming no ambient or side - carried as power-typical-w. The guide rates every FRU by ambient (Table 47, including the fan trays: JNP10008-FAN 475 W, -FAN2 1207 W, -FAN3 1620 W) and works an example of 14,110 W for eight MX10K-LC2101 in a redundant configuration (2710 W + 11,400 W) - a sample, not carried"
142
+ },
143
+ "rear": {
144
+ "confidence": "drawing",
145
+ "note": "drawing - g050553 (isometric, fractions only): one six-high stack of JNP10K-PWR supplies at the left, two tall fan trays right. The MX10008 rear has no usable photograph in the intake - see gaps"
146
+ },
147
+ "slot-numbering": {
148
+ "note": "guide - FPC 0-7 top-down (the CLI terminology table maps FPC n, n 0-7, to the slots); the photograph's slot labels are not legible, so top-down follows the family convention"
149
+ },
150
+ "sources": {
151
+ "note": "MX10008 Hardware Guide, the MX10008/MX10016 5G datasheet, the front studio photograph and the rear line drawing g050553"
152
+ }
153
+ },
154
+ "references": [
155
+ {
156
+ "sha256": "a7b68beb8f0e21bf6f7e4b279ac62a0c8adccfcfc9925dff72ffe07b2c152d2d",
157
+ "title": "Juniper MX10008 Universal Routing Platform Hardware Guide (2026-08-25)"
158
+ }
159
+ ],
160
+ "version": "2.0.6",
161
+ "views": {
162
+ "bottom": {
163
+ "panel": {
164
+ "decor": [
165
+ {
166
+ "at": [
167
+ 0.0,
168
+ 0.0
169
+ ],
170
+ "confidence": "estimated",
171
+ "fill": "#4a4f55",
172
+ "size": [
173
+ 6.0,
174
+ 813.0
175
+ ],
176
+ "source": "side edge; estimated"
177
+ },
178
+ {
179
+ "at": [
180
+ 436.0,
181
+ 0.0
182
+ ],
183
+ "confidence": "estimated",
184
+ "fill": "#4a4f55",
185
+ "size": [
186
+ 6.0,
187
+ 813.0
188
+ ],
189
+ "source": "side edge; estimated"
190
+ }
191
+ ]
192
+ },
193
+ "size": {
194
+ "h": 813.0,
195
+ "w": 442.0
196
+ }
197
+ },
198
+ "front": {
199
+ "components": {
200
+ "bays": [
201
+ {
202
+ "accepts": [
203
+ "juniper/jnp10k-re1@2"
204
+ ],
205
+ "at": [
206
+ 2.5,
207
+ 22.0
208
+ ],
209
+ "default": "juniper/jnp10k-re1@2",
210
+ "group": "res",
211
+ "id": "cb0",
212
+ "rel-pos": 0,
213
+ "size": {
214
+ "h": 38.1,
215
+ "w": 389.0
216
+ }
217
+ },
218
+ {
219
+ "accepts": [
220
+ "juniper/jnp10k-re1@2"
221
+ ],
222
+ "at": [
223
+ 2.5,
224
+ 60.1
225
+ ],
226
+ "default": "juniper/jnp10k-re1@2",
227
+ "group": "res",
228
+ "id": "cb1",
229
+ "rel-pos": 1,
230
+ "size": {
231
+ "h": 38.1,
232
+ "w": 389.0
233
+ }
234
+ },
235
+ {
236
+ "accepts": [
237
+ "juniper/jnp10k-lc2101@1",
238
+ "juniper/jnp10k-lc9600@1",
239
+ "juniper/jnp10k-lc480@1",
240
+ "juniper/jnp10k-lc-blank@1"
241
+ ],
242
+ "at": [
243
+ 2.5,
244
+ 117.0
245
+ ],
246
+ "default": "juniper/jnp10k-lc2101@1",
247
+ "group": "fpcs",
248
+ "id": "fpc0",
249
+ "rel-pos": 0,
250
+ "size": {
251
+ "h": 48.0,
252
+ "w": 437.0
253
+ }
254
+ },
255
+ {
256
+ "accepts": [
257
+ "juniper/jnp10k-lc2101@1",
258
+ "juniper/jnp10k-lc9600@1",
259
+ "juniper/jnp10k-lc480@1",
260
+ "juniper/jnp10k-lc-blank@1"
261
+ ],
262
+ "at": [
263
+ 2.5,
264
+ 165.4
265
+ ],
266
+ "default": "juniper/jnp10k-lc2101@1",
267
+ "group": "fpcs",
268
+ "id": "fpc1",
269
+ "rel-pos": 1,
270
+ "size": {
271
+ "h": 48.0,
272
+ "w": 437.0
273
+ }
274
+ },
275
+ {
276
+ "accepts": [
277
+ "juniper/jnp10k-lc2101@1",
278
+ "juniper/jnp10k-lc9600@1",
279
+ "juniper/jnp10k-lc480@1",
280
+ "juniper/jnp10k-lc-blank@1"
281
+ ],
282
+ "at": [
283
+ 2.5,
284
+ 213.8
285
+ ],
286
+ "default": "juniper/jnp10k-lc2101@1",
287
+ "group": "fpcs",
288
+ "id": "fpc2",
289
+ "rel-pos": 2,
290
+ "size": {
291
+ "h": 48.0,
292
+ "w": 437.0
293
+ }
294
+ },
295
+ {
296
+ "accepts": [
297
+ "juniper/jnp10k-lc2101@1",
298
+ "juniper/jnp10k-lc9600@1",
299
+ "juniper/jnp10k-lc480@1",
300
+ "juniper/jnp10k-lc-blank@1"
301
+ ],
302
+ "at": [
303
+ 2.5,
304
+ 262.2
305
+ ],
306
+ "default": "juniper/jnp10k-lc2101@1",
307
+ "group": "fpcs",
308
+ "id": "fpc3",
309
+ "rel-pos": 3,
310
+ "size": {
311
+ "h": 48.0,
312
+ "w": 437.0
313
+ }
314
+ },
315
+ {
316
+ "accepts": [
317
+ "juniper/jnp10k-lc2101@1",
318
+ "juniper/jnp10k-lc9600@1",
319
+ "juniper/jnp10k-lc480@1",
320
+ "juniper/jnp10k-lc-blank@1"
321
+ ],
322
+ "at": [
323
+ 2.5,
324
+ 317.6
325
+ ],
326
+ "default": "juniper/jnp10k-lc2101@1",
327
+ "group": "fpcs",
328
+ "id": "fpc4",
329
+ "rel-pos": 4,
330
+ "size": {
331
+ "h": 48.0,
332
+ "w": 437.0
333
+ }
334
+ },
335
+ {
336
+ "accepts": [
337
+ "juniper/jnp10k-lc2101@1",
338
+ "juniper/jnp10k-lc9600@1",
339
+ "juniper/jnp10k-lc480@1",
340
+ "juniper/jnp10k-lc-blank@1"
341
+ ],
342
+ "at": [
343
+ 2.5,
344
+ 366.0
345
+ ],
346
+ "default": "juniper/jnp10k-lc2101@1",
347
+ "group": "fpcs",
348
+ "id": "fpc5",
349
+ "rel-pos": 5,
350
+ "size": {
351
+ "h": 48.0,
352
+ "w": 437.0
353
+ }
354
+ },
355
+ {
356
+ "accepts": [
357
+ "juniper/jnp10k-lc2101@1",
358
+ "juniper/jnp10k-lc9600@1",
359
+ "juniper/jnp10k-lc480@1",
360
+ "juniper/jnp10k-lc-blank@1"
361
+ ],
362
+ "at": [
363
+ 2.5,
364
+ 414.4
365
+ ],
366
+ "default": "juniper/jnp10k-lc2101@1",
367
+ "group": "fpcs",
368
+ "id": "fpc6",
369
+ "rel-pos": 6,
370
+ "size": {
371
+ "h": 48.0,
372
+ "w": 437.0
373
+ }
374
+ },
375
+ {
376
+ "accepts": [
377
+ "juniper/jnp10k-lc2101@1",
378
+ "juniper/jnp10k-lc9600@1",
379
+ "juniper/jnp10k-lc480@1",
380
+ "juniper/jnp10k-lc-blank@1"
381
+ ],
382
+ "at": [
383
+ 2.5,
384
+ 462.8
385
+ ],
386
+ "default": "juniper/jnp10k-lc2101@1",
387
+ "group": "fpcs",
388
+ "id": "fpc7",
389
+ "rel-pos": 7,
390
+ "size": {
391
+ "h": 48.0,
392
+ "w": 437.0
393
+ }
394
+ }
395
+ ],
396
+ "placements": [
397
+ {
398
+ "at": [
399
+ 402.0,
400
+ 46.0
401
+ ],
402
+ "for": "chassis",
403
+ "group": "status-leds",
404
+ "id": "led-psus",
405
+ "ref": "common/led-dot@1",
406
+ "rel-pos": 0,
407
+ "states": [
408
+ "off",
409
+ {
410
+ "color": "#22c55e",
411
+ "name": "ok"
412
+ },
413
+ {
414
+ "color": "#ef4444",
415
+ "name": "fault"
416
+ }
417
+ ]
418
+ },
419
+ {
420
+ "at": [
421
+ 402.0,
422
+ 52.0
423
+ ],
424
+ "for": "chassis",
425
+ "group": "status-leds",
426
+ "id": "led-fans",
427
+ "ref": "common/led-dot@1",
428
+ "rel-pos": 1,
429
+ "states": [
430
+ "off",
431
+ {
432
+ "color": "#22c55e",
433
+ "name": "ok"
434
+ },
435
+ {
436
+ "color": "#ef4444",
437
+ "name": "fault"
438
+ }
439
+ ]
440
+ },
441
+ {
442
+ "at": [
443
+ 402.0,
444
+ 58.0
445
+ ],
446
+ "for": "chassis",
447
+ "group": "status-leds",
448
+ "id": "led-sibs",
449
+ "ref": "common/led-dot@1",
450
+ "rel-pos": 2,
451
+ "states": [
452
+ "off",
453
+ {
454
+ "color": "#22c55e",
455
+ "name": "ok"
456
+ },
457
+ {
458
+ "color": "#ef4444",
459
+ "name": "fault"
460
+ }
461
+ ]
462
+ },
463
+ {
464
+ "at": [
465
+ 402.0,
466
+ 64.0
467
+ ],
468
+ "for": "chassis",
469
+ "group": "status-leds",
470
+ "id": "led-lcs",
471
+ "ref": "common/led-dot@1",
472
+ "rel-pos": 3,
473
+ "states": [
474
+ "off",
475
+ {
476
+ "color": "#22c55e",
477
+ "name": "ok"
478
+ },
479
+ {
480
+ "color": "#ef4444",
481
+ "name": "fault"
482
+ }
483
+ ]
484
+ },
485
+ {
486
+ "at": [
487
+ 402.0,
488
+ 70.0
489
+ ],
490
+ "for": "chassis",
491
+ "group": "status-leds",
492
+ "id": "led-cbs",
493
+ "ref": "common/led-dot@1",
494
+ "rel-pos": 4,
495
+ "states": [
496
+ "off",
497
+ {
498
+ "color": "#22c55e",
499
+ "name": "ok"
500
+ },
501
+ {
502
+ "color": "#ef4444",
503
+ "name": "fault"
504
+ }
505
+ ]
506
+ }
507
+ ]
508
+ },
509
+ "panel": {
510
+ "cutouts": [
511
+ {
512
+ "at": [
513
+ 402.0,
514
+ 46.0
515
+ ],
516
+ "id": "led-psus",
517
+ "shape": "circle",
518
+ "size": [
519
+ 2.0,
520
+ 2.0
521
+ ]
522
+ },
523
+ {
524
+ "at": [
525
+ 402.0,
526
+ 52.0
527
+ ],
528
+ "id": "led-fans",
529
+ "shape": "circle",
530
+ "size": [
531
+ 2.0,
532
+ 2.0
533
+ ]
534
+ },
535
+ {
536
+ "at": [
537
+ 402.0,
538
+ 58.0
539
+ ],
540
+ "id": "led-sibs",
541
+ "shape": "circle",
542
+ "size": [
543
+ 2.0,
544
+ 2.0
545
+ ]
546
+ },
547
+ {
548
+ "at": [
549
+ 402.0,
550
+ 64.0
551
+ ],
552
+ "id": "led-lcs",
553
+ "shape": "circle",
554
+ "size": [
555
+ 2.0,
556
+ 2.0
557
+ ]
558
+ },
559
+ {
560
+ "at": [
561
+ 402.0,
562
+ 70.0
563
+ ],
564
+ "id": "led-cbs",
565
+ "shape": "circle",
566
+ "size": [
567
+ 2.0,
568
+ 2.0
569
+ ]
570
+ }
571
+ ],
572
+ "decor": [
573
+ {
574
+ "at": [
575
+ 0.0,
576
+ 0.0
577
+ ],
578
+ "fill": "#44484d",
579
+ "size": [
580
+ 442.0,
581
+ 21.0
582
+ ]
583
+ },
584
+ {
585
+ "at": [
586
+ 0.0,
587
+ 19.4
588
+ ],
589
+ "fill": "#7bc7e0",
590
+ "size": [
591
+ 442.0,
592
+ 1.6
593
+ ]
594
+ },
595
+ {
596
+ "at": [
597
+ 392.5,
598
+ 22.0
599
+ ],
600
+ "fill": "#4a4f55",
601
+ "size": [
602
+ 47.0,
603
+ 76.2
604
+ ]
605
+ },
606
+ {
607
+ "at": [
608
+ 0.0,
609
+ 98.2
610
+ ],
611
+ "fill": "#50555b",
612
+ "size": [
613
+ 442.0,
614
+ 18.8
615
+ ]
616
+ },
617
+ {
618
+ "at": [
619
+ 0.0,
620
+ 310.6
621
+ ],
622
+ "fill": "#50555b",
623
+ "size": [
624
+ 442.0,
625
+ 7.0
626
+ ]
627
+ },
628
+ {
629
+ "at": [
630
+ 0.0,
631
+ 511.2
632
+ ],
633
+ "fill": "#50555b",
634
+ "size": [
635
+ 442.0,
636
+ 62.8
637
+ ]
638
+ }
639
+ ]
640
+ },
641
+ "silkscreen": [
642
+ {
643
+ "anchor": "start",
644
+ "at": [
645
+ 14.0,
646
+ 14.0
647
+ ],
648
+ "fill": "#f0f1f2",
649
+ "font-size": 6.0,
650
+ "for": "chassis",
651
+ "text": "JUNIPER"
652
+ },
653
+ {
654
+ "anchor": "start",
655
+ "at": [
656
+ 62.0,
657
+ 14.0
658
+ ],
659
+ "fill": "#c7ccd1",
660
+ "font-size": 5.0,
661
+ "for": "chassis",
662
+ "text": "MX10008"
663
+ },
664
+ {
665
+ "anchor": "end",
666
+ "at": [
667
+ 388.0,
668
+ 11.0
669
+ ],
670
+ "fill": "#c7ccd1",
671
+ "font-size": 1.8,
672
+ "for": "chassis",
673
+ "text": "RUNNING JUNOS"
674
+ },
675
+ {
676
+ "anchor": "start",
677
+ "at": [
678
+ 406,
679
+ 47.34
680
+ ],
681
+ "fill": "#e8eaec",
682
+ "font-size": 1.1,
683
+ "for": "led-psus",
684
+ "text": "POWER SUPPLIES"
685
+ },
686
+ {
687
+ "anchor": "start",
688
+ "at": [
689
+ 406,
690
+ 53.34
691
+ ],
692
+ "fill": "#e8eaec",
693
+ "font-size": 1.1,
694
+ "for": "led-fans",
695
+ "text": "FANS"
696
+ },
697
+ {
698
+ "anchor": "start",
699
+ "at": [
700
+ 406,
701
+ 59.34
702
+ ],
703
+ "fill": "#e8eaec",
704
+ "font-size": 1.1,
705
+ "for": "led-sibs",
706
+ "text": "SIBS"
707
+ },
708
+ {
709
+ "anchor": "start",
710
+ "at": [
711
+ 406,
712
+ 65.34
713
+ ],
714
+ "fill": "#e8eaec",
715
+ "font-size": 1.1,
716
+ "for": "led-lcs",
717
+ "text": "LINE CARDS"
718
+ },
719
+ {
720
+ "anchor": "start",
721
+ "at": [
722
+ 406,
723
+ 71.34
724
+ ],
725
+ "fill": "#e8eaec",
726
+ "font-size": 1.1,
727
+ "for": "led-cbs",
728
+ "text": "CONTROL BOARDS"
729
+ }
730
+ ],
731
+ "size": {
732
+ "h": 574.0,
733
+ "w": 442.0
734
+ }
735
+ },
736
+ "left": {
737
+ "panel": {
738
+ "decor": [
739
+ {
740
+ "at": [
741
+ 0.0,
742
+ 270.0
743
+ ],
744
+ "confidence": "estimated",
745
+ "fill": "#4a4f55",
746
+ "size": [
747
+ 813.0,
748
+ 30.0
749
+ ],
750
+ "source": "rail band and side handle; estimated"
751
+ }
752
+ ]
753
+ },
754
+ "size": {
755
+ "h": 574.0,
756
+ "w": 813.0
757
+ }
758
+ },
759
+ "rear": {
760
+ "components": {
761
+ "bays": [
762
+ {
763
+ "accepts": [
764
+ "juniper/jnp10k-pwr-ac2@1"
765
+ ],
766
+ "at": [
767
+ 3.0,
768
+ 6.0
769
+ ],
770
+ "default": "juniper/jnp10k-pwr-ac2@1",
771
+ "group": "psus",
772
+ "id": "psu0",
773
+ "rel-pos": 0,
774
+ "size": {
775
+ "h": 93.5,
776
+ "w": 84.0
777
+ }
778
+ },
779
+ {
780
+ "accepts": [
781
+ "juniper/jnp10k-pwr-ac2@1"
782
+ ],
783
+ "at": [
784
+ 3.0,
785
+ 100.5
786
+ ],
787
+ "default": "juniper/jnp10k-pwr-ac2@1",
788
+ "group": "psus",
789
+ "id": "psu1",
790
+ "rel-pos": 1,
791
+ "size": {
792
+ "h": 93.5,
793
+ "w": 84.0
794
+ }
795
+ },
796
+ {
797
+ "accepts": [
798
+ "juniper/jnp10k-pwr-ac2@1"
799
+ ],
800
+ "at": [
801
+ 3.0,
802
+ 195.0
803
+ ],
804
+ "default": "juniper/jnp10k-pwr-ac2@1",
805
+ "group": "psus",
806
+ "id": "psu2",
807
+ "rel-pos": 2,
808
+ "size": {
809
+ "h": 93.5,
810
+ "w": 84.0
811
+ }
812
+ },
813
+ {
814
+ "accepts": [
815
+ "juniper/jnp10k-pwr-ac2@1"
816
+ ],
817
+ "at": [
818
+ 3.0,
819
+ 289.5
820
+ ],
821
+ "default": "juniper/jnp10k-pwr-ac2@1",
822
+ "group": "psus",
823
+ "id": "psu3",
824
+ "rel-pos": 3,
825
+ "size": {
826
+ "h": 93.5,
827
+ "w": 84.0
828
+ }
829
+ },
830
+ {
831
+ "accepts": [
832
+ "juniper/jnp10k-pwr-ac2@1"
833
+ ],
834
+ "at": [
835
+ 3.0,
836
+ 384.0
837
+ ],
838
+ "default": "juniper/jnp10k-pwr-ac2@1",
839
+ "group": "psus",
840
+ "id": "psu4",
841
+ "rel-pos": 4,
842
+ "size": {
843
+ "h": 93.5,
844
+ "w": 84.0
845
+ }
846
+ },
847
+ {
848
+ "accepts": [
849
+ "juniper/jnp10k-pwr-ac2@1"
850
+ ],
851
+ "at": [
852
+ 3.0,
853
+ 478.5
854
+ ],
855
+ "default": "juniper/jnp10k-pwr-ac2@1",
856
+ "group": "psus",
857
+ "id": "psu5",
858
+ "rel-pos": 5,
859
+ "size": {
860
+ "h": 93.5,
861
+ "w": 84.0
862
+ }
863
+ },
864
+ {
865
+ "accepts": [
866
+ "juniper/jnp10008-fan@1",
867
+ "juniper/jnp10008-fan2@1",
868
+ "juniper/jnp10008-fan3@1"
869
+ ],
870
+ "at": [
871
+ 89.0,
872
+ 7.0
873
+ ],
874
+ "default": "juniper/jnp10008-fan@1",
875
+ "group": "cooling",
876
+ "id": "fan0",
877
+ "rel-pos": 0,
878
+ "size": {
879
+ "h": 560.0,
880
+ "w": 176.0
881
+ }
882
+ },
883
+ {
884
+ "accepts": [
885
+ "juniper/jnp10008-fan@1",
886
+ "juniper/jnp10008-fan2@1",
887
+ "juniper/jnp10008-fan3@1"
888
+ ],
889
+ "at": [
890
+ 266.0,
891
+ 7.0
892
+ ],
893
+ "default": "juniper/jnp10008-fan@1",
894
+ "group": "cooling",
895
+ "id": "fan1",
896
+ "rel-pos": 1,
897
+ "size": {
898
+ "h": 560.0,
899
+ "w": 176.0
900
+ }
901
+ }
902
+ ]
903
+ },
904
+ "size": {
905
+ "h": 574.0,
906
+ "w": 442.0
907
+ }
908
+ },
909
+ "right": {
910
+ "panel": {
911
+ "decor": [
912
+ {
913
+ "at": [
914
+ 0.0,
915
+ 270.0
916
+ ],
917
+ "confidence": "estimated",
918
+ "fill": "#4a4f55",
919
+ "size": [
920
+ 813.0,
921
+ 30.0
922
+ ],
923
+ "source": "rail band and side handle; estimated"
924
+ }
925
+ ]
926
+ },
927
+ "size": {
928
+ "h": 574.0,
929
+ "w": 813.0
930
+ }
931
+ },
932
+ "top": {
933
+ "panel": {
934
+ "decor": [
935
+ {
936
+ "at": [
937
+ 0.0,
938
+ 0.0
939
+ ],
940
+ "confidence": "estimated",
941
+ "fill": "#4a4f55",
942
+ "size": [
943
+ 6.0,
944
+ 813.0
945
+ ],
946
+ "source": "side edge; estimated"
947
+ },
948
+ {
949
+ "at": [
950
+ 436.0,
951
+ 0.0
952
+ ],
953
+ "confidence": "estimated",
954
+ "fill": "#4a4f55",
955
+ "size": [
956
+ 6.0,
957
+ 813.0
958
+ ],
959
+ "source": "side edge; estimated"
960
+ }
961
+ ]
962
+ },
963
+ "size": {
964
+ "h": 813.0,
965
+ "w": 442.0
966
+ }
967
+ }
968
+ }
969
+ }