From 766e993debea893f9e1b79283157998f3760368a Mon Sep 17 00:00:00 2001
From: Michael Klose <m.klose@route4all.com>
Date: Mon, 17 Jul 2023 21:54:31 +0200
Subject: [PATCH] Cisco power supplies fans (#1200)

* C9300 support for modular power supplies and fans

* Fix weight format

* Convert power supplies to module-bays

* Fixed typo

* Convert power supplies to module-bays

* Correct Power supply names

* Merge

* Update Nexus devices and Nexus PSUs

* Removed N7K-7702.yaml correct one is N77-7702.yaml

* Fixed Pytest Errors

---------

Co-authored-by: Daniel W. Anner <daniel.anner@danstechsupport.com>
---
 device-types/Cisco/C9300-24P.yaml          |  14 +--
 device-types/Cisco/C9300-24T-E.yaml        |  14 +--
 device-types/Cisco/C9300-24T.yaml          |  14 +--
 device-types/Cisco/C9300-24U.yaml          |  14 +--
 device-types/Cisco/C9300-24UX.yaml         |  14 +--
 device-types/Cisco/C9300-48P-E.yaml        |  14 +--
 device-types/Cisco/C9300-48P.yaml          |  14 +--
 device-types/Cisco/C9300-48T.yaml          |  17 +--
 device-types/Cisco/C9300-48U.yaml          |  14 +--
 device-types/Cisco/C9300-48UN.yaml         |  14 +--
 device-types/Cisco/C9300-48UXM.yaml        |  14 +--
 device-types/Cisco/C9300L-24P-4G.yaml      |  15 +--
 device-types/Cisco/C9300L-48P-4G.yaml      |  15 +--
 device-types/Cisco/C9300L-48P-4X.yaml      |  15 +--
 device-types/Cisco/C9300L-48UXG-4X.yaml    |  15 +--
 device-types/Cisco/N2K-C2232PP-10GE.yaml   |  12 +-
 device-types/Cisco/N2K-C2232TM-E-10GE.yaml |  12 +-
 device-types/Cisco/N2K-C2248PQ.yaml        |  12 +-
 device-types/Cisco/N2K-C2248TP-1GE.yaml    |  12 +-
 device-types/Cisco/N2K-C2248TP-E-1GE.yaml  |  12 +-
 device-types/Cisco/N2K-C2348TQ-10G-E.yaml  |  12 +-
 device-types/Cisco/N2K-C2348TQ-10GE.yaml   |  12 +-
 device-types/Cisco/N2K-C2348UPQ-10GE.yaml  |  12 +-
 device-types/Cisco/N3K-C3048TP-1GE.yaml    |  10 +-
 device-types/Cisco/N3K-C3064Q-10GE.yaml    |  14 +--
 device-types/Cisco/N3K-C3132Q-40GE.yaml    |  14 +--
 device-types/Cisco/N3K-C3132Q-40GX.yaml    |  14 +--
 device-types/Cisco/N3K-C3172Q-10GE.yaml    |  14 +--
 device-types/Cisco/N3K-C3172TQ-10GT.yaml   |  10 +-
 device-types/Cisco/N3K-C3232C.yaml         |  10 +-
 device-types/Cisco/N5K-C5548P.yaml         |  16 ++-
 device-types/Cisco/N5K-C5548UP.yaml        |  12 +-
 device-types/Cisco/N5K-C5596T.yaml         |  20 ++--
 device-types/Cisco/N5K-C5596UP.yaml        |  20 ++--
 device-types/Cisco/N5K-C56128P.yaml        | 124 ++-------------------
 device-types/Cisco/N5K-C5648Q.yaml         |  15 +--
 device-types/Cisco/N5K-C5672UP.yaml        |  10 +-
 device-types/Cisco/N5K-C5696Q.yaml         |  42 ++++---
 device-types/Cisco/N77-C7702.yaml          |  18 +++
 device-types/Cisco/N77-C7706.yaml          |  33 ++++--
 device-types/Cisco/N77-C7710.yaml          |  57 +++++++---
 device-types/Cisco/N7K-7702.yaml           |  15 ---
 device-types/Cisco/N7K-C7004.yaml          |  21 ++++
 device-types/Cisco/N7K-C7010.yaml          |  40 ++++++-
 device-types/Cisco/N9K-C92348GC-X.yaml     |  12 +-
 device-types/Cisco/N9K-C93108LC-EX.yaml    |  10 +-
 device-types/Cisco/N9K-C93108TC-EX.yaml    |  14 +--
 device-types/Cisco/N9K-C93108TC-FX.yaml    |  10 +-
 device-types/Cisco/N9K-C93108TC-FX3P.yaml  |  14 +--
 device-types/Cisco/N9K-C93120TX.yaml       |   5 +
 device-types/Cisco/N9K-C9316D-GX.yaml      |  14 +--
 device-types/Cisco/N9K-C93180YC-EX.yaml    |  14 +--
 device-types/Cisco/N9K-C93180YC-FX.yaml    |  14 +--
 device-types/Cisco/N9K-C93180YC-FX3.yaml   |  14 +--
 device-types/Cisco/N9K-C93180YC-FX3S.yaml  |  14 +--
 device-types/Cisco/N9K-C93216TC-FX2.yaml   |  14 +--
 device-types/Cisco/N9K-C93240YC-FX2.yaml   |  14 +--
 device-types/Cisco/N9K-C9332C.yaml         |  10 +-
 device-types/Cisco/N9K-C9332PQ.yaml        |  10 +-
 device-types/Cisco/N9K-C9336C-FX2.yaml     |  14 +--
 device-types/Cisco/N9K-C9336PQ.yaml        |  10 +-
 device-types/Cisco/N9K-C9348GC-FXP.yaml    |  14 +--
 device-types/Cisco/N9K-C93600CD-GX.yaml    |  14 +--
 device-types/Cisco/N9K-C9364C-GX.yaml      |  14 +--
 device-types/Cisco/N9K-C9364C.yaml         |  14 +--
 device-types/Cisco/N9K-C9372PX-E.yaml      |  14 +--
 device-types/Cisco/N9K-C9372PX.yaml        |  10 +-
 device-types/Cisco/N9K-C9372TX.yaml        |  10 +-
 device-types/Cisco/N9K-C9396PX.yaml        |  10 +-
 device-types/Cisco/N9K-C9396TX.yaml        |  14 +--
 device-types/Cisco/N9K-C9504.yaml          |  26 +++--
 device-types/Cisco/NCS-5501-SE.yaml        |  10 +-
 device-types/Cisco/NCS-55A1-24H.yaml       |  10 +-
 device-types/Cisco/NCS-55A1-36H-S.yaml     |  10 +-
 device-types/Cisco/UCS-C220-M4.yaml        |  12 +-
 device-types/Cisco/UCS-C240-M4S.yaml       |  12 +-
 device-types/Cisco/UCS-C240-M5SX.yaml      |  12 +-
 device-types/Cisco/UCS-S3260-M5SRB.yaml    |  22 ++--
 device-types/Cisco/UCSC-C220-M5SX.yaml     |  12 +-
 device-types/Cisco/VEDGE-2000-AC-K9.yaml   |  12 +-
 device-types/Cisco/WS-C2960XR-48FPD-I.yaml |   6 +-
 device-types/Cisco/WS-C2960XR-48FPS-I.yaml |   6 +-
 device-types/Cisco/WS-C2960XR-48LPD-I.yaml |   6 +-
 device-types/Cisco/WS-C2960XR-48LPS-I.yaml |   6 +-
 device-types/Cisco/WS-C2960XR-48TD-I.yaml  |   6 +-
 device-types/Cisco/WS-C2960XR-48TS-I.yaml  |   6 +-
 device-types/Cisco/WS-C3560X-24P.yaml      |   8 +-
 device-types/Cisco/WS-C3560X-24T-S.yaml    |   9 +-
 device-types/Cisco/WS-C3560X-48P-S.yaml    |   8 +-
 device-types/Cisco/WS-C3560X-48P.yaml      |   8 +-
 device-types/Cisco/WS-C3560X-48PF-S.yaml   |   9 +-
 device-types/Cisco/WS-C3560X-48T-S.yaml    |  10 +-
 device-types/Cisco/WS-C3850-12S-E.yaml     |   8 +-
 device-types/Cisco/WS-C3850-12S.yaml       |   8 +-
 device-types/Cisco/WS-C3850-12X48U-L.yaml  |   8 +-
 device-types/Cisco/WS-C3850-12X48U.yaml    |   8 +-
 device-types/Cisco/WS-C3850-12XS-E.yaml    |   8 +-
 device-types/Cisco/WS-C3850-12XS-S.yaml    |   8 +-
 device-types/Cisco/WS-C3850-12XS.yaml      |   8 +-
 device-types/Cisco/WS-C3850-24P-E.yaml     |   8 +-
 device-types/Cisco/WS-C3850-24P-L.yaml     |   8 +-
 device-types/Cisco/WS-C3850-24P-S.yaml     |   8 +-
 device-types/Cisco/WS-C3850-24S.yaml       |   8 +-
 device-types/Cisco/WS-C3850-24T-L.yaml     |   8 +-
 device-types/Cisco/WS-C3850-24T-S.yaml     |   8 +-
 device-types/Cisco/WS-C3850-24U.yaml       |   8 +-
 device-types/Cisco/WS-C3850-24XS-E.yaml    |   8 +-
 device-types/Cisco/WS-C3850-24XS-L.yaml    |   8 +-
 device-types/Cisco/WS-C3850-24XS-S.yaml    |   8 +-
 device-types/Cisco/WS-C3850-24XS.yaml      |   8 +-
 device-types/Cisco/WS-C3850-48F-L.yaml     |   8 +-
 device-types/Cisco/WS-C3850-48F-S.yaml     |   8 +-
 device-types/Cisco/WS-C3850-48P-E.yaml     |   8 +-
 device-types/Cisco/WS-C3850-48P-L.yaml     |   8 +-
 device-types/Cisco/WS-C3850-48P-S.yaml     |   8 +-
 device-types/Cisco/WS-C3850-48P.yaml       |   8 +-
 device-types/Cisco/WS-C3850-48T-E.yaml     |   8 +-
 device-types/Cisco/WS-C3850-48T-L.yaml     |   8 +-
 device-types/Cisco/WS-C3850-48T-S.yaml     |   8 +-
 device-types/Cisco/WS-C3850-48U.yaml       |   8 +-
 device-types/Cisco/WS-C3850-48XS-E.yaml    |   8 +-
 device-types/Cisco/WS-C4500X-16SFP+.yaml   |  13 +--
 device-types/Cisco/WS-C4500X-32SFP+.yaml   |  13 +--
 device-types/Cisco/WS-C4506-E.yaml         |  24 ++--
 device-types/Cisco/WS-C4506.yaml           |  24 ++--
 device-types/Cisco/WS-C4507R+E.yaml        |  26 +++--
 device-types/Cisco/WS-C4510R+E.yaml        |  32 ++++--
 device-types/Cisco/WS-C4900M.yaml          |   5 +
 device-types/Cisco/WS-C4948-10GE-S.yaml    |   6 +-
 device-types/Cisco/WS-C4948-S.yaml         |   6 +-
 device-types/Cisco/WS-C6506-E.yaml         |  24 ++--
 device-types/Cisco/WS-C6509-E.yaml         |  30 +++--
 device-types/Cisco/WS-C6509-V-E.yaml       |  30 +++--
 device-types/Cisco/WS-C6509.yaml           |  30 +++--
 device-types/Cisco/WS-C6513.yaml           |  38 +++++--
 module-types/Cisco/FAN-T2.yaml             |   5 +
 module-types/Cisco/N2200-PAC-400W-B.yaml   |  11 ++
 module-types/Cisco/N2200-PAC-400W.yaml     |  11 ++
 module-types/Cisco/NXA-PAC-1100W-PE2.yaml  |  11 ++
 module-types/Cisco/NXA-PAC-1100W-PI2.yaml  |  11 ++
 module-types/Cisco/NXA-PAC-350W-PE.yaml    |  11 ++
 module-types/Cisco/NXA-PAC-350W-PI.yaml    |  11 ++
 module-types/Cisco/NXA-PAC-500W-PE.yaml    |  11 ++
 module-types/Cisco/NXA-PAC-500W-PI.yaml    |  11 ++
 module-types/Cisco/NXA-PAC-650W-PE.yaml    |  11 ++
 module-types/Cisco/NXA-PAC-650W-PI.yaml    |  11 ++
 module-types/Cisco/NXA-PAC-750W-PE.yaml    |  11 ++
 module-types/Cisco/NXA-PAC-750W-PI.yaml    |  11 ++
 module-types/Cisco/NXA-PDC-1100W-PE.yaml   |  11 ++
 module-types/Cisco/NXA-PDC-1100W-PI.yaml   |  11 ++
 module-types/Cisco/NXA-PDC-440W-PE.yaml    |  11 ++
 module-types/Cisco/NXA-PDC-440W-PI.yaml    |  11 ++
 module-types/Cisco/NXA-PDC-930W-PE.yaml    |  11 ++
 module-types/Cisco/NXA-PDC-930W-PI.yaml    |  11 ++
 module-types/Cisco/PWR-1.6KW-AC.yaml       |   2 +-
 module-types/Cisco/PWR-C1-1100WAC-P.yaml   |  11 ++
 module-types/Cisco/PWR-C1-1100WAC.yaml     |   5 +-
 module-types/Cisco/PWR-C1-1900WAC-P.yaml   |  11 ++
 module-types/Cisco/PWR-C1-350WAC-P.yaml    |   5 +-
 module-types/Cisco/PWR-C1-350WAC.yaml      |   7 +-
 module-types/Cisco/PWR-C1-440WDC.yaml      |   2 +-
 module-types/Cisco/PWR-C1-715WAC-P.yaml    |  11 ++
 module-types/Cisco/PWR-C1-715WAC.yaml      |   5 +-
 module-types/Cisco/PWR-C1-715WDC.yaml      |  11 ++
 module-types/Cisco/PWR-C2-1025WAC.yaml     |   4 +-
 module-types/Cisco/PWR-C2-250WAC.yaml      |   4 +-
 module-types/Cisco/PWR-C2-640WAC.yaml      |   4 +-
 module-types/Cisco/PWR-C2-640WDC.yaml      |   4 +-
 168 files changed, 1264 insertions(+), 947 deletions(-)
 create mode 100644 device-types/Cisco/N77-C7702.yaml
 delete mode 100644 device-types/Cisco/N7K-7702.yaml
 create mode 100644 module-types/Cisco/FAN-T2.yaml
 create mode 100644 module-types/Cisco/N2200-PAC-400W-B.yaml
 create mode 100644 module-types/Cisco/N2200-PAC-400W.yaml
 create mode 100644 module-types/Cisco/NXA-PAC-1100W-PE2.yaml
 create mode 100644 module-types/Cisco/NXA-PAC-1100W-PI2.yaml
 create mode 100644 module-types/Cisco/NXA-PAC-350W-PE.yaml
 create mode 100644 module-types/Cisco/NXA-PAC-350W-PI.yaml
 create mode 100644 module-types/Cisco/NXA-PAC-500W-PE.yaml
 create mode 100644 module-types/Cisco/NXA-PAC-500W-PI.yaml
 create mode 100644 module-types/Cisco/NXA-PAC-650W-PE.yaml
 create mode 100644 module-types/Cisco/NXA-PAC-650W-PI.yaml
 create mode 100644 module-types/Cisco/NXA-PAC-750W-PE.yaml
 create mode 100644 module-types/Cisco/NXA-PAC-750W-PI.yaml
 create mode 100644 module-types/Cisco/NXA-PDC-1100W-PE.yaml
 create mode 100644 module-types/Cisco/NXA-PDC-1100W-PI.yaml
 create mode 100644 module-types/Cisco/NXA-PDC-440W-PE.yaml
 create mode 100644 module-types/Cisco/NXA-PDC-440W-PI.yaml
 create mode 100644 module-types/Cisco/NXA-PDC-930W-PE.yaml
 create mode 100644 module-types/Cisco/NXA-PDC-930W-PI.yaml
 create mode 100644 module-types/Cisco/PWR-C1-1100WAC-P.yaml
 create mode 100644 module-types/Cisco/PWR-C1-1900WAC-P.yaml
 create mode 100644 module-types/Cisco/PWR-C1-715WAC-P.yaml
 create mode 100644 module-types/Cisco/PWR-C1-715WDC.yaml

diff --git a/device-types/Cisco/C9300-24P.yaml b/device-types/Cisco/C9300-24P.yaml
index b0e79852..893186ec 100644
--- a/device-types/Cisco/C9300-24P.yaml
+++ b/device-types/Cisco/C9300-24P.yaml
@@ -11,13 +11,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 715
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 715
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -121,3 +114,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300-24T-E.yaml b/device-types/Cisco/C9300-24T-E.yaml
index c598bc1b..7a21f300 100644
--- a/device-types/Cisco/C9300-24T-E.yaml
+++ b/device-types/Cisco/C9300-24T-E.yaml
@@ -11,13 +11,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c14
-    maximum_draw: 350
-  - name: PS-B
-    type: iec-60320-c14
-    maximum_draw: 350
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -73,3 +66,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300-24T.yaml b/device-types/Cisco/C9300-24T.yaml
index 9ee4b58c..e748359e 100644
--- a/device-types/Cisco/C9300-24T.yaml
+++ b/device-types/Cisco/C9300-24T.yaml
@@ -11,13 +11,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c14
-    maximum_draw: 350
-  - name: PS-B
-    type: iec-60320-c14
-    maximum_draw: 350
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -73,3 +66,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300-24U.yaml b/device-types/Cisco/C9300-24U.yaml
index 0d6b5e5c..ae7ca8e3 100644
--- a/device-types/Cisco/C9300-24U.yaml
+++ b/device-types/Cisco/C9300-24U.yaml
@@ -11,13 +11,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 1100
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 1100
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -121,3 +114,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300-24UX.yaml b/device-types/Cisco/C9300-24UX.yaml
index e11f39f4..d709555e 100644
--- a/device-types/Cisco/C9300-24UX.yaml
+++ b/device-types/Cisco/C9300-24UX.yaml
@@ -11,13 +11,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 1100
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 1100
 interfaces:
   - name: GigabitEthernet0/0
     type: 1000base-t
@@ -121,3 +114,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300-48P-E.yaml b/device-types/Cisco/C9300-48P-E.yaml
index 8a8a041c..f8edad55 100644
--- a/device-types/Cisco/C9300-48P-E.yaml
+++ b/device-types/Cisco/C9300-48P-E.yaml
@@ -11,13 +11,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 715
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 715
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -217,3 +210,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300-48P.yaml b/device-types/Cisco/C9300-48P.yaml
index d67fdc9c..8465b5a7 100644
--- a/device-types/Cisco/C9300-48P.yaml
+++ b/device-types/Cisco/C9300-48P.yaml
@@ -11,13 +11,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 715
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 715
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -217,3 +210,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300-48T.yaml b/device-types/Cisco/C9300-48T.yaml
index 4c30a320..c00f294a 100644
--- a/device-types/Cisco/C9300-48T.yaml
+++ b/device-types/Cisco/C9300-48T.yaml
@@ -13,13 +13,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-module-bays:
-  - name: PS-A
-    position: A
-  - name: PS-B
-    position: B
-  - name: Network Module
-    position: '1'
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -120,3 +113,13 @@ interfaces:
   - name: GigabitEthernet0/0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: Network Module
+    position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300-48U.yaml b/device-types/Cisco/C9300-48U.yaml
index 9f4fdeef..8a557975 100644
--- a/device-types/Cisco/C9300-48U.yaml
+++ b/device-types/Cisco/C9300-48U.yaml
@@ -11,13 +11,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 1100
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 1100
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -217,3 +210,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300-48UN.yaml b/device-types/Cisco/C9300-48UN.yaml
index 51ef612f..eaed8c0a 100644
--- a/device-types/Cisco/C9300-48UN.yaml
+++ b/device-types/Cisco/C9300-48UN.yaml
@@ -11,13 +11,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 1100
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 1100
 interfaces:
   - name: FiveGigabitEthernet1/0/1
     type: 5gbase-t
@@ -121,3 +114,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300-48UXM.yaml b/device-types/Cisco/C9300-48UXM.yaml
index 1b2fd24f..b4207501 100644
--- a/device-types/Cisco/C9300-48UXM.yaml
+++ b/device-types/Cisco/C9300-48UXM.yaml
@@ -11,13 +11,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 1100
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 1100
 interfaces:
   - name: GigabitEthernet0/0
     type: 1000base-t
@@ -217,3 +210,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300L-24P-4G.yaml b/device-types/Cisco/C9300L-24P-4G.yaml
index 0cadc0b8..4b58a198 100644
--- a/device-types/Cisco/C9300L-24P-4G.yaml
+++ b/device-types/Cisco/C9300L-24P-4G.yaml
@@ -10,13 +10,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 715
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 715
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -129,3 +122,11 @@ interfaces:
   - name: GigabitEthernet0/0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300L-48P-4G.yaml b/device-types/Cisco/C9300L-48P-4G.yaml
index 0c1ee7c9..1721a8f6 100644
--- a/device-types/Cisco/C9300L-48P-4G.yaml
+++ b/device-types/Cisco/C9300L-48P-4G.yaml
@@ -10,13 +10,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 715
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 715
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -225,3 +218,11 @@ interfaces:
   - name: GigabitEthernet0/0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300L-48P-4X.yaml b/device-types/Cisco/C9300L-48P-4X.yaml
index 984be15d..b6163bc8 100644
--- a/device-types/Cisco/C9300L-48P-4X.yaml
+++ b/device-types/Cisco/C9300L-48P-4X.yaml
@@ -10,13 +10,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 715
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 715
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -225,3 +218,11 @@ interfaces:
   - name: GigabitEthernet0/0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/C9300L-48UXG-4X.yaml b/device-types/Cisco/C9300L-48UXG-4X.yaml
index 243a1dd3..a90fe0f3 100644
--- a/device-types/Cisco/C9300L-48UXG-4X.yaml
+++ b/device-types/Cisco/C9300L-48UXG-4X.yaml
@@ -10,13 +10,6 @@ console-ports:
     type: rj-45
   - name: usb
     type: usb-mini-b
-power-ports:
-  - name: PS-A
-    type: iec-60320-c16
-    maximum_draw: 1100
-  - name: PS-B
-    type: iec-60320-c16
-    maximum_draw: 1100
 interfaces:
   - name: GigabitEthernet1/0/1
     type: 1000base-t
@@ -225,3 +218,11 @@ interfaces:
   - name: GigabitEthernet0/0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
+  - name: FAN 1
+  - name: FAN 2
+  - name: FAN 3
diff --git a/device-types/Cisco/N2K-C2232PP-10GE.yaml b/device-types/Cisco/N2K-C2232PP-10GE.yaml
index 9578a20a..de689c04 100644
--- a/device-types/Cisco/N2K-C2232PP-10GE.yaml
+++ b/device-types/Cisco/N2K-C2232PP-10GE.yaml
@@ -5,13 +5,6 @@ slug: cisco-n2k-c2232pp-10ge
 part_number: N2K-C2232PP-10GE
 u_height: 1
 is_full_depth: false
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 400
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 400
 interfaces:
   - name: Ethernet1/1/1
     type: 10gbase-x-sfpp
@@ -93,3 +86,8 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet1/2/8
     type: 10gbase-x-sfpp
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N2K-C2232TM-E-10GE.yaml b/device-types/Cisco/N2K-C2232TM-E-10GE.yaml
index fc5b1445..c0e63656 100644
--- a/device-types/Cisco/N2K-C2232TM-E-10GE.yaml
+++ b/device-types/Cisco/N2K-C2232TM-E-10GE.yaml
@@ -5,13 +5,6 @@ slug: cisco-n2k-c2232tm-e-10ge
 part_number: N2K-C2232TM-E-10GE
 u_height: 1
 is_full_depth: false
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 400
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 400
 interfaces:
   - name: Ethernet1/1/1
     type: 10gbase-t
@@ -93,3 +86,8 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet1/2/8
     type: 10gbase-x-sfpp
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N2K-C2248PQ.yaml b/device-types/Cisco/N2K-C2248PQ.yaml
index 0c1fbe74..1dc58c8c 100644
--- a/device-types/Cisco/N2K-C2248PQ.yaml
+++ b/device-types/Cisco/N2K-C2248PQ.yaml
@@ -5,13 +5,6 @@ slug: cisco-n2k-c2248pq
 part_number: N2K-C2248PQ
 u_height: 1
 is_full_depth: false
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 400
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 400
 interfaces:
   - name: Ethernet1/1/1
     type: 10gbase-x-sfpp
@@ -117,3 +110,8 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet1/2/4
     type: 40gbase-x-qsfpp
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N2K-C2248TP-1GE.yaml b/device-types/Cisco/N2K-C2248TP-1GE.yaml
index 46ae7e20..7ee5bd4e 100644
--- a/device-types/Cisco/N2K-C2248TP-1GE.yaml
+++ b/device-types/Cisco/N2K-C2248TP-1GE.yaml
@@ -5,13 +5,6 @@ slug: cisco-n2k-c2248tp-1ge
 part_number: N2K-C2248TP-1GE
 u_height: 1
 is_full_depth: true
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 400
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 400
 interfaces:
   - name: Ethernet1/1/1
     type: 1000base-t
@@ -117,3 +110,8 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet1/2/4
     type: 10gbase-x-sfpp
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N2K-C2248TP-E-1GE.yaml b/device-types/Cisco/N2K-C2248TP-E-1GE.yaml
index ccb23492..e5d8bcaf 100644
--- a/device-types/Cisco/N2K-C2248TP-E-1GE.yaml
+++ b/device-types/Cisco/N2K-C2248TP-E-1GE.yaml
@@ -5,13 +5,6 @@ slug: cisco-n2k-c2248tp-e-1ge
 part_number: N2K-C2248TP-E-1GE
 u_height: 1
 is_full_depth: true
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 400
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 400
 interfaces:
   - name: Ethernet1/1/1
     type: 1000base-t
@@ -117,3 +110,8 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet1/2/4
     type: 10gbase-x-sfpp
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N2K-C2348TQ-10G-E.yaml b/device-types/Cisco/N2K-C2348TQ-10G-E.yaml
index a69be999..40e44aa2 100644
--- a/device-types/Cisco/N2K-C2348TQ-10G-E.yaml
+++ b/device-types/Cisco/N2K-C2348TQ-10G-E.yaml
@@ -5,13 +5,6 @@ slug: cisco-n2k-c2348tq-10g-e
 part_number: N2K-C2348TQ-E
 u_height: 1
 is_full_depth: true
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 400
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 400
 interfaces:
   - name: Ethernet1/1/1
     type: 10gbase-t
@@ -121,3 +114,8 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet1/2/4
     type: 40gbase-x-qsfpp
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N2K-C2348TQ-10GE.yaml b/device-types/Cisco/N2K-C2348TQ-10GE.yaml
index a2182060..aaa6e0e8 100644
--- a/device-types/Cisco/N2K-C2348TQ-10GE.yaml
+++ b/device-types/Cisco/N2K-C2348TQ-10GE.yaml
@@ -5,13 +5,6 @@ slug: cisco-n2k-c2348tq-10ge
 part_number: N2K-C2348TQ
 u_height: 1
 is_full_depth: true
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 400
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 400
 interfaces:
   - name: Ethernet1/1/1
     type: 10gbase-t
@@ -121,3 +114,8 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet1/2/4
     type: 40gbase-x-qsfpp
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N2K-C2348UPQ-10GE.yaml b/device-types/Cisco/N2K-C2348UPQ-10GE.yaml
index 0b73ab92..d67b6f30 100644
--- a/device-types/Cisco/N2K-C2348UPQ-10GE.yaml
+++ b/device-types/Cisco/N2K-C2348UPQ-10GE.yaml
@@ -5,13 +5,6 @@ slug: cisco-n2k-c2348upq-10ge
 part_number: N2K-C2348UPQ
 u_height: 1
 is_full_depth: true
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 400
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 400
 interfaces:
   - name: Ethernet1/1/1
     type: 10gbase-x-sfpp
@@ -121,3 +114,8 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet1/2/4
     type: 40gbase-x-qsfpp
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N3K-C3048TP-1GE.yaml b/device-types/Cisco/N3K-C3048TP-1GE.yaml
index 60cc4880..8d8f510c 100644
--- a/device-types/Cisco/N3K-C3048TP-1GE.yaml
+++ b/device-types/Cisco/N3K-C3048TP-1GE.yaml
@@ -8,11 +8,6 @@ is_full_depth: true
 console-ports:
   - name: Console
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-  - name: PS2
-    type: iec-60320-c14
 interfaces:
   - name: Ethernet1/1
     type: 1000base-t
@@ -121,3 +116,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N3K-C3064Q-10GE.yaml b/device-types/Cisco/N3K-C3064Q-10GE.yaml
index 6ba82194..9d451f1b 100644
--- a/device-types/Cisco/N3K-C3064Q-10GE.yaml
+++ b/device-types/Cisco/N3K-C3064Q-10GE.yaml
@@ -113,17 +113,13 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet1/52
     type: 40gbase-x-qsfpp
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-    allocated_draw: 143
-    maximum_draw: 293
-  - name: PSU1
-    type: iec-60320-c14
-    allocated_draw: 143
-    maximum_draw: 293
 console-ports:
   - name: Console
     type: rj-45
   - name: usb0
     type: usb-mini-b
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N3K-C3132Q-40GE.yaml b/device-types/Cisco/N3K-C3132Q-40GE.yaml
index bfaf50be..9e903849 100644
--- a/device-types/Cisco/N3K-C3132Q-40GE.yaml
+++ b/device-types/Cisco/N3K-C3132Q-40GE.yaml
@@ -81,17 +81,13 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet1/36
     type: 10gbase-x-sfpp
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-    allocated_draw: 210
-    maximum_draw: 340
-  - name: PSU1
-    type: iec-60320-c14
-    allocated_draw: 210
-    maximum_draw: 340
 console-ports:
   - name: Console
     type: rj-45
   - name: usb0
     type: usb-mini-b
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N3K-C3132Q-40GX.yaml b/device-types/Cisco/N3K-C3132Q-40GX.yaml
index 2fc8b2ae..288780b6 100644
--- a/device-types/Cisco/N3K-C3132Q-40GX.yaml
+++ b/device-types/Cisco/N3K-C3132Q-40GX.yaml
@@ -81,17 +81,13 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet1/36
     type: 10gbase-x-sfpp
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-    allocated_draw: 170
-    maximum_draw: 290
-  - name: PSU1
-    type: iec-60320-c14
-    allocated_draw: 170
-    maximum_draw: 290
 console-ports:
   - name: Console
     type: rj-45
   - name: usb0
     type: usb-mini-b
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N3K-C3172Q-10GE.yaml b/device-types/Cisco/N3K-C3172Q-10GE.yaml
index c0676572..77aaf0b4 100644
--- a/device-types/Cisco/N3K-C3172Q-10GE.yaml
+++ b/device-types/Cisco/N3K-C3172Q-10GE.yaml
@@ -117,17 +117,13 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet1/54
     type: 40gbase-x-qsfpp
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-    allocated_draw: 143
-    maximum_draw: 293
-  - name: PSU1
-    type: iec-60320-c14
-    allocated_draw: 143
-    maximum_draw: 293
 console-ports:
   - name: Console
     type: rj-45
   - name: usb0
     type: usb-mini-b
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N3K-C3172TQ-10GT.yaml b/device-types/Cisco/N3K-C3172TQ-10GT.yaml
index 1ee7c69a..d59b65ab 100644
--- a/device-types/Cisco/N3K-C3172TQ-10GT.yaml
+++ b/device-types/Cisco/N3K-C3172TQ-10GT.yaml
@@ -8,11 +8,6 @@ is_full_depth: true
 console-ports:
   - name: Console
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-  - name: PS2
-    type: iec-60320-c14
 interfaces:
   - name: Ethernet1/1
     type: 10gbase-t
@@ -125,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N3K-C3232C.yaml b/device-types/Cisco/N3K-C3232C.yaml
index 3264e503..b733cfda 100644
--- a/device-types/Cisco/N3K-C3232C.yaml
+++ b/device-types/Cisco/N3K-C3232C.yaml
@@ -8,11 +8,6 @@ is_full_depth: false
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-  - name: Power Supply 2
-    type: iec-60320-c14
 interfaces:
   - name: mgmt0
     type: 1000base-t
@@ -81,3 +76,8 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: Ethernet1/32
     type: 100gbase-x-qsfp28
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N5K-C5548P.yaml b/device-types/Cisco/N5K-C5548P.yaml
index 6ed61115..ff6a53cc 100644
--- a/device-types/Cisco/N5K-C5548P.yaml
+++ b/device-types/Cisco/N5K-C5548P.yaml
@@ -73,15 +73,13 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet1/32
     type: 10gbase-x-sfpp
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-    allocated_draw: 390
-    maximum_draw: 730
-  - name: PSU1
-    type: iec-60320-c14
-    allocated_draw: 390
-    maximum_draw: 730
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: Slot 2
+    position: '2'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N5K-C5548UP.yaml b/device-types/Cisco/N5K-C5548UP.yaml
index 637168f4..205a783c 100644
--- a/device-types/Cisco/N5K-C5548UP.yaml
+++ b/device-types/Cisco/N5K-C5548UP.yaml
@@ -72,11 +72,13 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet1/32
     type: 10gbase-x-sfpp
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-  - name: PSU1
-    type: iec-60320-c14
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: Slot 2
+    position: '2'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N5K-C5596T.yaml b/device-types/Cisco/N5K-C5596T.yaml
index 5b014e4d..014a579a 100644
--- a/device-types/Cisco/N5K-C5596T.yaml
+++ b/device-types/Cisco/N5K-C5596T.yaml
@@ -105,15 +105,17 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet1/48
     type: 10gbase-x-sfpp
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-    allocated_draw: 660
-    maximum_draw: 972
-  - name: PSU1
-    type: iec-60320-c14
-    allocated_draw: 660
-    maximum_draw: 972
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N5K-C5596UP.yaml b/device-types/Cisco/N5K-C5596UP.yaml
index e8771a99..98b2a8c4 100644
--- a/device-types/Cisco/N5K-C5596UP.yaml
+++ b/device-types/Cisco/N5K-C5596UP.yaml
@@ -105,15 +105,17 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet1/48
     type: 10gbase-x-sfpp
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-    allocated_draw: 660
-    maximum_draw: 972
-  - name: PSU1
-    type: iec-60320-c14
-    allocated_draw: 660
-    maximum_draw: 972
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N5K-C56128P.yaml b/device-types/Cisco/N5K-C56128P.yaml
index 167c377e..47eb8954 100644
--- a/device-types/Cisco/N5K-C56128P.yaml
+++ b/device-types/Cisco/N5K-C56128P.yaml
@@ -112,119 +112,19 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet1/52
     type: 40gbase-x-qsfpp
-  - name: Ethernet2/1
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/2
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/3
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/4
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/5
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/6
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/7
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/8
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/9
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/10
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/11
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/12
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/13
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/14
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/15
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/16
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/17
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/18
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/19
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/20
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/21
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/22
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/23
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/24
-    type: 10gbase-x-sfpp
-  - name: Ethernet2/25
-    type: 40gbase-x-qsfpp
-  - name: Ethernet2/26
-    type: 40gbase-x-qsfpp
-  - name: Ethernet3/1
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/2
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/3
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/4
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/5
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/6
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/7
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/8
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/9
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/10
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/11
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/12
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/13
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/14
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/15
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/16
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/17
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/18
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/19
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/20
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/21
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/22
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/23
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/24
-    type: 10gbase-x-sfpp
-  - name: Ethernet3/25
-    type: 40gbase-x-qsfpp
-  - name: Ethernet3/26
-    type: 40gbase-x-qsfpp
-power-ports:
+console-ports:
+  - name: Console
+    type: rj-45
+module-bays:
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
   - name: PS1
-    type: iec-60320-c14
+    position: '1'
   - name: PS2
-    type: iec-60320-c14
+    position: '2'
   - name: PS3
-    type: iec-60320-c14
+    position: '3'
   - name: PS4
-    type: iec-60320-c14
-console-ports:
-  - name: Console
-    type: rj-45
+    position: '4'
diff --git a/device-types/Cisco/N5K-C5648Q.yaml b/device-types/Cisco/N5K-C5648Q.yaml
index ae79ee33..131fb80c 100644
--- a/device-types/Cisco/N5K-C5648Q.yaml
+++ b/device-types/Cisco/N5K-C5648Q.yaml
@@ -56,14 +56,15 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet2/12
     type: 40gbase-x-qsfpp
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-  - name: PSU1
-    type: iec-60320-c14
 console-ports:
   - name: Console
     type: rj-45
 module-bays:
-  - name: slot 3
-  - name: slot 4
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N5K-C5672UP.yaml b/device-types/Cisco/N5K-C5672UP.yaml
index 600f8c23..f1cb24da 100644
--- a/device-types/Cisco/N5K-C5672UP.yaml
+++ b/device-types/Cisco/N5K-C5672UP.yaml
@@ -116,11 +116,11 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet2/6
     type: 40gbase-x-qsfpp
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-  - name: PSU1
-    type: iec-60320-c14
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N5K-C5696Q.yaml b/device-types/Cisco/N5K-C5696Q.yaml
index f91510cd..f82dd5d5 100644
--- a/device-types/Cisco/N5K-C5696Q.yaml
+++ b/device-types/Cisco/N5K-C5696Q.yaml
@@ -8,25 +8,35 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
-power-ports:
+console-ports:
+  - name: Console
+    type: rj-45
+module-bays:
+  - name: Slot 1
+    position: '1'
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: Slot 5
+    position: '5'
+  - name: Slot 6
+    position: '6'
+  - name: Slot 7
+    position: '7'
+  - name: Slot 8
+    position: '8'
   - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 1100
+    position: '1'
   - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 1100
+    position: '2'
   - name: PS3
-    type: iec-60320-c14
-    maximum_draw: 1100
+    position: '3'
   - name: PS4
-    type: iec-60320-c14
-    maximum_draw: 1100
+    position: '4'
   - name: PS5
-    type: iec-60320-c14
-    maximum_draw: 1100
+    position: '5'
   - name: PS6
-    type: iec-60320-c14
-    maximum_draw: 1100
-console-ports:
-  - name: Console
-    type: rj-45
+    position: '6'
diff --git a/device-types/Cisco/N77-C7702.yaml b/device-types/Cisco/N77-C7702.yaml
new file mode 100644
index 00000000..abfb08a4
--- /dev/null
+++ b/device-types/Cisco/N77-C7702.yaml
@@ -0,0 +1,18 @@
+---
+manufacturer: Cisco
+model: N77-C7702
+slug: cisco-n77-c7702
+part_number: N77-C7702
+u_height: 3
+is_full_depth: true
+module-bays:
+  - name: Slot 1
+    position: '1'
+    description: Line Card
+  - name: Slot 2
+    position: '2'
+    description: Supervisor Module
+  - name: PSU0
+    position: '0'
+  - name: PSU1
+    position: '1'
diff --git a/device-types/Cisco/N77-C7706.yaml b/device-types/Cisco/N77-C7706.yaml
index 082855fa..7158beab 100644
--- a/device-types/Cisco/N77-C7706.yaml
+++ b/device-types/Cisco/N77-C7706.yaml
@@ -5,22 +5,35 @@ slug: cisco-n77-c7706
 part_number: N77-C7706
 u_height: 9
 is_full_depth: true
-subdevice_role: parent
 console-ports:
   - name: con0
     type: rj-45
   - name: con1
     type: rj-45
-power-ports:
+module-bays:
+  - name: Slot 1
+    position: '1'
+    description: Line Card
+  - name: Slot 2
+    position: '2'
+    description: Line Card
+  - name: Slot 3
+    position: '3'
+    description: Supervisor Module
+  - name: Slot 4
+    position: '4'
+    description: Supervisor Module
+  - name: Slot 5
+    position: '5'
+    description: Line Card
+  - name: Slot 6
+    position: '6'
+    description: Line Card
   - name: PSU0
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '0'
   - name: PSU1
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '1'
   - name: PSU2
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '2'
   - name: PSU3
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '3'
diff --git a/device-types/Cisco/N77-C7710.yaml b/device-types/Cisco/N77-C7710.yaml
index 38210bb8..e8c0b1a4 100644
--- a/device-types/Cisco/N77-C7710.yaml
+++ b/device-types/Cisco/N77-C7710.yaml
@@ -5,34 +5,55 @@ slug: cisco-n77-c7710
 part_number: N77-C7710
 u_height: 14
 is_full_depth: true
-subdevice_role: parent
 console-ports:
   - name: con0
     type: rj-45
   - name: con1
     type: rj-45
-power-ports:
+module-bays:
+  - name: Slot 1
+    position: '1'
+    description: Line Card
+  - name: Slot 2
+    position: '2'
+    description: Line Card
+  - name: Slot 3
+    position: '3'
+    description: Line Card
+  - name: Slot 4
+    position: '4'
+    description: Line Card
+  - name: Slot 5
+    position: '5'
+    description: Supervisor Module
+  - name: Slot 6
+    position: '6'
+    description: Supervisor Module
+  - name: Slot 7
+    position: '7'
+    description: Line Card
+  - name: Slot 8
+    position: '8'
+    description: Line Card
+  - name: Slot 9
+    position: '9'
+    description: Line Card
+  - name: Slot 10
+    position: '10'
+    description: Line Card
   - name: PSU0
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '0'
   - name: PSU1
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '1'
   - name: PSU2
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '2'
   - name: PSU3
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '3'
   - name: PSU4
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '4'
   - name: PSU5
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '5'
   - name: PSU6
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '6'
   - name: PSU7
-    type: iec-60320-c20
-    maximum_draw: 3000
+    position: '7'
diff --git a/device-types/Cisco/N7K-7702.yaml b/device-types/Cisco/N7K-7702.yaml
deleted file mode 100644
index 548ab715..00000000
--- a/device-types/Cisco/N7K-7702.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-manufacturer: Cisco
-model: N7K-7702
-slug: cisco-n7k-7702
-part_number: N77-C7702
-u_height: 3
-is_full_depth: true
-subdevice_role: parent
-power-ports:
-  - name: PSU0
-    type: iec-60320-c20
-    maximum_draw: 3000
-  - name: PSU1
-    type: iec-60320-c20
-    maximum_draw: 3000
diff --git a/device-types/Cisco/N7K-C7004.yaml b/device-types/Cisco/N7K-C7004.yaml
index 452b11a1..076293df 100644
--- a/device-types/Cisco/N7K-C7004.yaml
+++ b/device-types/Cisco/N7K-C7004.yaml
@@ -18,3 +18,24 @@ power-ports:
   - name: PSU1
     type: iec-60320-c20
     maximum_draw: 12000
+module-bays:
+  - name: Slot 1
+    position: '1'
+    description: Supervisor Module
+  - name: Slot 2
+    position: '2'
+    description: Supervisor Module
+  - name: Slot 3
+    position: '3'
+    description: Line Card
+  - name: Slot 4
+    position: '4'
+    description: Line Card
+  - name: PSU0
+    position: '0'
+  - name: PSU1
+    position: '1'
+  - name: PSU2
+    position: '2'
+  - name: PSU3
+    position: '3'
diff --git a/device-types/Cisco/N7K-C7010.yaml b/device-types/Cisco/N7K-C7010.yaml
index b5b5bf27..b1dfd0ff 100644
--- a/device-types/Cisco/N7K-C7010.yaml
+++ b/device-types/Cisco/N7K-C7010.yaml
@@ -11,10 +11,40 @@ console-ports:
     type: rj-45
   - name: con1
     type: rj-45
-power-ports:
+module-bays:
+  - name: Slot 1
+    position: '1'
+    description: Line Card
+  - name: Slot 2
+    position: '2'
+    description: Line Card
+  - name: Slot 3
+    position: '3'
+    description: Line Card
+  - name: Slot 4
+    position: '4'
+    description: Line Card
+  - name: Slot 5
+    position: '5'
+    description: Supervisor Module
+  - name: Slot 6
+    position: '6'
+    description: Supervisor Module
+  - name: Slot 7
+    position: '7'
+    description: Line Card
+  - name: Slot 8
+    position: '8'
+    description: Line Card
+  - name: Slot 9
+    position: '9'
+    description: Line Card
+  - name: Slot 10
+    position: '10'
+    description: Line Card
   - name: PSU0
-    type: iec-60320-c20
-    maximum_draw: 12000
+    position: '0'
   - name: PSU1
-    type: iec-60320-c20
-    maximum_draw: 12000
+    position: '1'
+  - name: PSU2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C92348GC-X.yaml b/device-types/Cisco/N9K-C92348GC-X.yaml
index 340158ab..c6c99302 100644
--- a/device-types/Cisco/N9K-C92348GC-X.yaml
+++ b/device-types/Cisco/N9K-C92348GC-X.yaml
@@ -8,13 +8,6 @@ is_full_depth: true
 console-ports:
   - name: Console
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 245
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 245
 interfaces:
   - name: Ethernet1/1
     type: 1000base-t
@@ -127,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93108LC-EX.yaml b/device-types/Cisco/N9K-C93108LC-EX.yaml
index 2bc9f2a7..de3106ad 100644
--- a/device-types/Cisco/N9K-C93108LC-EX.yaml
+++ b/device-types/Cisco/N9K-C93108LC-EX.yaml
@@ -5,11 +5,6 @@ slug: cisco-n9k-c93108lc-ex
 part_number: N9K-C93108LC-EX
 u_height: 1
 is_full_depth: true
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-  - name: PS2
-    type: iec-60320-c14
 console-ports:
   - name: Console
     type: rj-45
@@ -81,3 +76,8 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: Ethernet1/32
     type: 100gbase-x-qsfp28
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93108TC-EX.yaml b/device-types/Cisco/N9K-C93108TC-EX.yaml
index 9a80c707..fd5051e5 100644
--- a/device-types/Cisco/N9K-C93108TC-EX.yaml
+++ b/device-types/Cisco/N9K-C93108TC-EX.yaml
@@ -5,15 +5,6 @@ slug: cisco-n9k-c93108tc-ex
 part_number: N9K-C93108TC-EX
 u_height: 1
 is_full_depth: true
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 499
-    allocated_draw: 290
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 499
-    allocated_draw: 290
 console-ports:
   - name: Console
     type: rj-45
@@ -129,3 +120,8 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: Ethernet1/54
     type: 100gbase-x-qsfp28
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93108TC-FX.yaml b/device-types/Cisco/N9K-C93108TC-FX.yaml
index 64a92fcf..3579b5d6 100644
--- a/device-types/Cisco/N9K-C93108TC-FX.yaml
+++ b/device-types/Cisco/N9K-C93108TC-FX.yaml
@@ -5,11 +5,6 @@ slug: cisco-n9k-c93108tc-fx
 part_number: N9K-C93108TC-FX
 u_height: 1
 is_full_depth: true
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-  - name: PS2
-    type: iec-60320-c14
 console-ports:
   - name: Console
     type: rj-45
@@ -125,3 +120,8 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: Ethernet1/54
     type: 100gbase-x-qsfp28
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93108TC-FX3P.yaml b/device-types/Cisco/N9K-C93108TC-FX3P.yaml
index 06c88639..736992c3 100644
--- a/device-types/Cisco/N9K-C93108TC-FX3P.yaml
+++ b/device-types/Cisco/N9K-C93108TC-FX3P.yaml
@@ -5,15 +5,6 @@ slug: cisco-n9k-c93108tc-fx3p
 part_number: N9K-C93108TC-FX3P
 u_height: 1
 is_full_depth: true
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 530
-    allocated_draw: 360
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 530
-    allocated_draw: 360
 console-ports:
   - name: Console
     type: rj-45
@@ -129,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93120TX.yaml b/device-types/Cisco/N9K-C93120TX.yaml
index 252ee04b..df47ec54 100644
--- a/device-types/Cisco/N9K-C93120TX.yaml
+++ b/device-types/Cisco/N9K-C93120TX.yaml
@@ -229,3 +229,8 @@ console-ports:
     type: usb-mini-b
   - name: usb1
     type: usb-mini-b
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9316D-GX.yaml b/device-types/Cisco/N9K-C9316D-GX.yaml
index 17ea3aed..281dd1d4 100644
--- a/device-types/Cisco/N9K-C9316D-GX.yaml
+++ b/device-types/Cisco/N9K-C9316D-GX.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 1010
-    allocated_draw: 420
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 1010
-    allocated_draw: 420
 interfaces:
   - name: Ethernet1/1
     type: 400gbase-x-qsfpdd
@@ -53,3 +44,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93180YC-EX.yaml b/device-types/Cisco/N9K-C93180YC-EX.yaml
index 3b52e6c1..4a1ac733 100644
--- a/device-types/Cisco/N9K-C93180YC-EX.yaml
+++ b/device-types/Cisco/N9K-C93180YC-EX.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 470
-    allocated_draw: 210
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 470
-    allocated_draw: 210
 interfaces:
   - name: Ethernet1/1
     type: 25gbase-x-sfp28
@@ -129,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93180YC-FX.yaml b/device-types/Cisco/N9K-C93180YC-FX.yaml
index d2ad072b..9a776ce8 100644
--- a/device-types/Cisco/N9K-C93180YC-FX.yaml
+++ b/device-types/Cisco/N9K-C93180YC-FX.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 425
-    allocated_draw: 260
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 425
-    allocated_draw: 260
 interfaces:
   - name: Ethernet1/1
     type: 25gbase-x-sfp28
@@ -129,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93180YC-FX3.yaml b/device-types/Cisco/N9K-C93180YC-FX3.yaml
index 664d5ded..5e040c4e 100644
--- a/device-types/Cisco/N9K-C93180YC-FX3.yaml
+++ b/device-types/Cisco/N9K-C93180YC-FX3.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 600
-    allocated_draw: 375
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 600
-    allocated_draw: 375
 interfaces:
   - name: Ethernet1/1
     type: 25gbase-x-sfp28
@@ -129,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93180YC-FX3S.yaml b/device-types/Cisco/N9K-C93180YC-FX3S.yaml
index a65d12ec..2e339bd9 100644
--- a/device-types/Cisco/N9K-C93180YC-FX3S.yaml
+++ b/device-types/Cisco/N9K-C93180YC-FX3S.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 600
-    allocated_draw: 325
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 600
-    allocated_draw: 325
 interfaces:
   - name: Ethernet1/1
     type: 25gbase-x-sfp28
@@ -129,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93216TC-FX2.yaml b/device-types/Cisco/N9K-C93216TC-FX2.yaml
index 0cbf6d7a..381bb3a6 100644
--- a/device-types/Cisco/N9K-C93216TC-FX2.yaml
+++ b/device-types/Cisco/N9K-C93216TC-FX2.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 965
-    allocated_draw: 580
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 965
-    allocated_draw: 580
 interfaces:
   - name: Ethernet1/1
     type: 10gbase-t
@@ -237,3 +228,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93240YC-FX2.yaml b/device-types/Cisco/N9K-C93240YC-FX2.yaml
index 082da7eb..d3222a8f 100644
--- a/device-types/Cisco/N9K-C93240YC-FX2.yaml
+++ b/device-types/Cisco/N9K-C93240YC-FX2.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 750
-    allocated_draw: 708
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 750
-    allocated_draw: 708
 interfaces:
   - name: Ethernet1/1
     type: 25gbase-x-sfp28
@@ -141,3 +132,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9332C.yaml b/device-types/Cisco/N9K-C9332C.yaml
index e63737f4..107cc8b0 100644
--- a/device-types/Cisco/N9K-C9332C.yaml
+++ b/device-types/Cisco/N9K-C9332C.yaml
@@ -8,11 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-  - name: Power Supply 2
-    type: iec-60320-c14
 interfaces:
   - name: Ethernet1/1
     type: 100gbase-x-qsfp28
@@ -81,3 +76,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9332PQ.yaml b/device-types/Cisco/N9K-C9332PQ.yaml
index 44cddd1e..32002ab9 100644
--- a/device-types/Cisco/N9K-C9332PQ.yaml
+++ b/device-types/Cisco/N9K-C9332PQ.yaml
@@ -8,11 +8,6 @@ is_full_depth: false
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-  - name: Power Supply 2
-    type: iec-60320-c14
 interfaces:
   - name: Ethernet1/1
     type: 40gbase-x-qsfpp
@@ -125,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9336C-FX2.yaml b/device-types/Cisco/N9K-C9336C-FX2.yaml
index 6770c6d3..766a3d9d 100644
--- a/device-types/Cisco/N9K-C9336C-FX2.yaml
+++ b/device-types/Cisco/N9K-C9336C-FX2.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 719
-    allocated_draw: 337
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 719
-    allocated_draw: 337
 interfaces:
   - name: Ethernet1/1
     type: 100gbase-x-qsfp28
@@ -93,3 +84,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9336PQ.yaml b/device-types/Cisco/N9K-C9336PQ.yaml
index a5684637..6593829e 100644
--- a/device-types/Cisco/N9K-C9336PQ.yaml
+++ b/device-types/Cisco/N9K-C9336PQ.yaml
@@ -8,11 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-  - name: Power Supply 2
-    type: iec-60320-c14
 interfaces:
   - name: Ethernet1/1
     type: 40gbase-x-qsfpp
@@ -89,3 +84,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9348GC-FXP.yaml b/device-types/Cisco/N9K-C9348GC-FXP.yaml
index 55eed328..313ea393 100644
--- a/device-types/Cisco/N9K-C9348GC-FXP.yaml
+++ b/device-types/Cisco/N9K-C9348GC-FXP.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 287
-    allocated_draw: 178
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 287
-    allocated_draw: 178
 interfaces:
   - name: Ethernet1/1
     type: 1000base-t
@@ -129,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C93600CD-GX.yaml b/device-types/Cisco/N9K-C93600CD-GX.yaml
index 3ea205ba..ba7f00d9 100644
--- a/device-types/Cisco/N9K-C93600CD-GX.yaml
+++ b/device-types/Cisco/N9K-C93600CD-GX.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 1071
-    allocated_draw: 586
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 1071
-    allocated_draw: 586
 interfaces:
   - name: Ethernet1/1
     type: 100gbase-x-qsfp28
@@ -93,3 +84,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9364C-GX.yaml b/device-types/Cisco/N9K-C9364C-GX.yaml
index 3cecd2bc..ded9f762 100644
--- a/device-types/Cisco/N9K-C9364C-GX.yaml
+++ b/device-types/Cisco/N9K-C9364C-GX.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 1622
-    allocated_draw: 811
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 1622
-    allocated_draw: 811
 interfaces:
   - name: Ethernet1/1
     type: 100gbase-x-qsfp28
@@ -149,3 +140,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9364C.yaml b/device-types/Cisco/N9K-C9364C.yaml
index 40fac309..e3dab313 100644
--- a/device-types/Cisco/N9K-C9364C.yaml
+++ b/device-types/Cisco/N9K-C9364C.yaml
@@ -8,15 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-    maximum_draw: 1245
-    allocated_draw: 429
-  - name: Power Supply 2
-    type: iec-60320-c14
-    maximum_draw: 1245
-    allocated_draw: 429
 interfaces:
   - name: Ethernet1/1
     type: 100gbase-x-qsfp28
@@ -153,3 +144,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9372PX-E.yaml b/device-types/Cisco/N9K-C9372PX-E.yaml
index a9cee582..c2256a62 100644
--- a/device-types/Cisco/N9K-C9372PX-E.yaml
+++ b/device-types/Cisco/N9K-C9372PX-E.yaml
@@ -12,15 +12,6 @@ console-ports:
     type: usb-mini-b
   - name: usb1
     type: usb-mini-b
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    allocated_draw: 210
-    maximum_draw: 537
-  - name: PS2
-    type: iec-60320-c14
-    allocated_draw: 210
-    maximum_draw: 537
 interfaces:
   - name: Ethernet1/1
     type: 10gbase-x-sfpp
@@ -133,3 +124,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9372PX.yaml b/device-types/Cisco/N9K-C9372PX.yaml
index d42de2d7..6142b672 100644
--- a/device-types/Cisco/N9K-C9372PX.yaml
+++ b/device-types/Cisco/N9K-C9372PX.yaml
@@ -8,11 +8,6 @@ is_full_depth: true
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-  - name: Power Supply 2
-    type: iec-60320-c14
 interfaces:
   - name: Ethernet1/1
     type: 10gbase-x-sfpp
@@ -125,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9372TX.yaml b/device-types/Cisco/N9K-C9372TX.yaml
index 9595681f..c21b45fb 100644
--- a/device-types/Cisco/N9K-C9372TX.yaml
+++ b/device-types/Cisco/N9K-C9372TX.yaml
@@ -8,11 +8,6 @@ is_full_depth: false
 console-ports:
   - name: console
     type: rj-45
-power-ports:
-  - name: Power Supply 1
-    type: iec-60320-c14
-  - name: Power Supply 2
-    type: iec-60320-c14
 interfaces:
   - name: Ethernet1/1
     type: 10gbase-t
@@ -125,3 +120,8 @@ interfaces:
   - name: mgmt0
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9396PX.yaml b/device-types/Cisco/N9K-C9396PX.yaml
index 9dd3d6a9..9df43bff 100644
--- a/device-types/Cisco/N9K-C9396PX.yaml
+++ b/device-types/Cisco/N9K-C9396PX.yaml
@@ -128,11 +128,11 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet2/12
     type: 40gbase-x-qsfpp
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-  - name: PS2
-    type: iec-60320-c14
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9396TX.yaml b/device-types/Cisco/N9K-C9396TX.yaml
index 1efb11ba..1d2a72fb 100644
--- a/device-types/Cisco/N9K-C9396TX.yaml
+++ b/device-types/Cisco/N9K-C9396TX.yaml
@@ -128,15 +128,11 @@ interfaces:
     type: 40gbase-x-qsfpp
   - name: Ethernet2/12
     type: 40gbase-x-qsfpp
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    allocated_draw: 427
-    maximum_draw: 712
-  - name: PS2
-    type: iec-60320-c14
-    allocated_draw: 427
-    maximum_draw: 712
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/N9K-C9504.yaml b/device-types/Cisco/N9K-C9504.yaml
index bff463a2..f75bd02f 100644
--- a/device-types/Cisco/N9K-C9504.yaml
+++ b/device-types/Cisco/N9K-C9504.yaml
@@ -12,13 +12,6 @@ interfaces:
   - name: mgmt1
     type: 1000base-t
     mgmt_only: true
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 3000
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 3000
 console-ports:
   - name: Console
     type: rj-45
@@ -26,3 +19,22 @@ console-ports:
     type: usb-mini-b
   - name: usb1
     type: usb-mini-b
+module-bays:
+  - name: Slot 1
+    position: '1'
+    description: Line Card
+  - name: Slot 2
+    position: '2'
+    description: Line Card
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: SUP 1
+    position: '1'
+  - name: SUP 2
+    position: '2'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/NCS-5501-SE.yaml b/device-types/Cisco/NCS-5501-SE.yaml
index f4860358..7a94d439 100644
--- a/device-types/Cisco/NCS-5501-SE.yaml
+++ b/device-types/Cisco/NCS-5501-SE.yaml
@@ -97,11 +97,11 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: HundredGigE0/0/1/3
     type: 100gbase-x-qsfp28
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-  - name: PSU1
-    type: iec-60320-c14
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: PSU0
+    position: '0'
+  - name: PSU1
+    position: '1'
diff --git a/device-types/Cisco/NCS-55A1-24H.yaml b/device-types/Cisco/NCS-55A1-24H.yaml
index 1cc163f1..1e2db326 100644
--- a/device-types/Cisco/NCS-55A1-24H.yaml
+++ b/device-types/Cisco/NCS-55A1-24H.yaml
@@ -57,11 +57,11 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: HundredGigE0/0/0/23
     type: 100gbase-x-qsfp28
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-  - name: PSU1
-    type: iec-60320-c14
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: PSU0
+    position: '0'
+  - name: PSU1
+    position: '1'
diff --git a/device-types/Cisco/NCS-55A1-36H-S.yaml b/device-types/Cisco/NCS-55A1-36H-S.yaml
index 6a56d8e8..739c1622 100644
--- a/device-types/Cisco/NCS-55A1-36H-S.yaml
+++ b/device-types/Cisco/NCS-55A1-36H-S.yaml
@@ -81,11 +81,11 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: HundredGigE0/0/0/35
     type: 100gbase-x-qsfp28
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-  - name: PSU1
-    type: iec-60320-c14
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: PSU0
+    position: '0'
+  - name: PSU1
+    position: '1'
diff --git a/device-types/Cisco/UCS-C220-M4.yaml b/device-types/Cisco/UCS-C220-M4.yaml
index 4f8a40c1..e255fafe 100644
--- a/device-types/Cisco/UCS-C220-M4.yaml
+++ b/device-types/Cisco/UCS-C220-M4.yaml
@@ -8,13 +8,6 @@ is_full_depth: true
 console-ports:
   - name: Con
     type: rj-45
-power-ports:
-  - name: PS-0
-    type: iec-60320-c14
-    maximum_draw: 770
-  - name: PS-1
-    type: iec-60320-c14
-    maximum_draw: 770
 interfaces:
   - name: enp94s0f0
     type: 10gbase-t
@@ -23,3 +16,8 @@ interfaces:
   - name: CIMC
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS-0
+    position: '0'
+  - name: PS-1
+    position: '1'
diff --git a/device-types/Cisco/UCS-C240-M4S.yaml b/device-types/Cisco/UCS-C240-M4S.yaml
index 28854b7c..02899ac5 100644
--- a/device-types/Cisco/UCS-C240-M4S.yaml
+++ b/device-types/Cisco/UCS-C240-M4S.yaml
@@ -8,13 +8,6 @@ is_full_depth: true
 console-ports:
   - name: Con
     type: rj-45
-power-ports:
-  - name: PS-0
-    type: iec-60320-c14
-    maximum_draw: 1400
-  - name: PS-1
-    type: iec-60320-c14
-    maximum_draw: 1400
 interfaces:
   - name: enp94s0f0
     type: 10gbase-t
@@ -23,3 +16,8 @@ interfaces:
   - name: CIMC
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PS-0
+    position: '0'
+  - name: PS-1
+    position: '1'
diff --git a/device-types/Cisco/UCS-C240-M5SX.yaml b/device-types/Cisco/UCS-C240-M5SX.yaml
index a67fe1de..744bf5c2 100644
--- a/device-types/Cisco/UCS-C240-M5SX.yaml
+++ b/device-types/Cisco/UCS-C240-M5SX.yaml
@@ -8,13 +8,6 @@ is_full_depth: true
 console-ports:
   - name: Con
     type: rj-45
-power-ports:
-  - name: PS-0
-    type: iec-60320-c14
-    maximum_draw: 770
-  - name: PS-1
-    type: iec-60320-c14
-    maximum_draw: 770
 interfaces:
   - name: enp94s0f0
     type: 10gbase-t
@@ -25,3 +18,8 @@ interfaces:
   - name: CIMC
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PSU-0
+    position: '0'
+  - name: PSU-1
+    position: '1'
diff --git a/device-types/Cisco/UCS-S3260-M5SRB.yaml b/device-types/Cisco/UCS-S3260-M5SRB.yaml
index 97f336fd..f5bd74da 100644
--- a/device-types/Cisco/UCS-S3260-M5SRB.yaml
+++ b/device-types/Cisco/UCS-S3260-M5SRB.yaml
@@ -9,19 +9,6 @@ is_full_depth: true
 console-ports:
   - name: Con
     type: rj-45
-power-ports:
-  - name: PSU-1
-    type: iec-60320-c14
-    maximum_draw: 1050
-  - name: PSU-2
-    type: iec-60320-c14
-    maximum_draw: 1050
-  - name: PSU-3
-    type: iec-60320-c14
-    maximum_draw: 1050
-  - name: PSU-4
-    type: iec-60320-c14
-    maximum_draw: 1050
 interfaces:
   - name: sioc1
     type: 40gbase-x-qsfpp
@@ -36,3 +23,12 @@ interfaces:
   - name: CIMC
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PSU-1
+    position: '1'
+  - name: PSU-2
+    position: '2'
+  - name: PSU-3
+    position: '3'
+  - name: PSU-4
+    position: '4'
diff --git a/device-types/Cisco/UCSC-C220-M5SX.yaml b/device-types/Cisco/UCSC-C220-M5SX.yaml
index c2393a97..d8a5e5fa 100644
--- a/device-types/Cisco/UCSC-C220-M5SX.yaml
+++ b/device-types/Cisco/UCSC-C220-M5SX.yaml
@@ -8,13 +8,6 @@ is_full_depth: true
 console-ports:
   - name: Console
     type: rj-45
-power-ports:
-  - name: PSU1
-    type: iec-60320-c14
-    maximum_draw: 770
-  - name: PSU2
-    type: iec-60320-c14
-    maximum_draw: 770
 interfaces:
   - name: enp94s0f0
     type: 10gbase-t
@@ -23,3 +16,8 @@ interfaces:
   - name: CIMC
     type: 1000base-t
     mgmt_only: true
+module-bays:
+  - name: PSU1
+    position: '1'
+  - name: PSU2
+    position: '2'
diff --git a/device-types/Cisco/VEDGE-2000-AC-K9.yaml b/device-types/Cisco/VEDGE-2000-AC-K9.yaml
index 57e32111..5fadd88f 100644
--- a/device-types/Cisco/VEDGE-2000-AC-K9.yaml
+++ b/device-types/Cisco/VEDGE-2000-AC-K9.yaml
@@ -14,13 +14,6 @@ console-ports:
     type: usb-b
   - name: console
     type: rj-45
-power-ports:
-  - name: PSU-1
-    type: iec-60320-c14
-    allocated_draw: 125
-  - name: PSU-2
-    type: iec-60320-c14
-    allocated_draw: 125
 interfaces:
   - name: mgmt
     type: 1000base-t
@@ -33,3 +26,8 @@ interfaces:
     type: 1000base-x-sfp
   - name: ge0/3
     type: 1000base-x-sfp
+module-bays:
+  - name: PSU-1
+    position: '1'
+  - name: PSU-2
+    position: '2'
diff --git a/device-types/Cisco/WS-C2960XR-48FPD-I.yaml b/device-types/Cisco/WS-C2960XR-48FPD-I.yaml
index eaf065ed..7547ae14 100644
--- a/device-types/Cisco/WS-C2960XR-48FPD-I.yaml
+++ b/device-types/Cisco/WS-C2960XR-48FPD-I.yaml
@@ -213,8 +213,8 @@ interfaces:
 console-ports:
   - name: con 0
     type: rj-45
-power-ports:
+module-bays:
   - name: PSU0
-    type: iec-60320-c14
+    position: '0'
   - name: PSU1
-    type: iec-60320-c14
+    position: '1'
diff --git a/device-types/Cisco/WS-C2960XR-48FPS-I.yaml b/device-types/Cisco/WS-C2960XR-48FPS-I.yaml
index 7aff8d9d..8ef0d04f 100644
--- a/device-types/Cisco/WS-C2960XR-48FPS-I.yaml
+++ b/device-types/Cisco/WS-C2960XR-48FPS-I.yaml
@@ -213,8 +213,8 @@ interfaces:
 console-ports:
   - name: con 0
     type: rj-45
-power-ports:
+module-bays:
   - name: PSU0
-    type: iec-60320-c14
+    position: '0'
   - name: PSU1
-    type: iec-60320-c14
+    position: '1'
diff --git a/device-types/Cisco/WS-C2960XR-48LPD-I.yaml b/device-types/Cisco/WS-C2960XR-48LPD-I.yaml
index 84089451..06722b0c 100644
--- a/device-types/Cisco/WS-C2960XR-48LPD-I.yaml
+++ b/device-types/Cisco/WS-C2960XR-48LPD-I.yaml
@@ -213,8 +213,8 @@ interfaces:
 console-ports:
   - name: con 0
     type: rj-45
-power-ports:
+module-bays:
   - name: PSU0
-    type: iec-60320-c14
+    position: '0'
   - name: PSU1
-    type: iec-60320-c14
+    position: '1'
diff --git a/device-types/Cisco/WS-C2960XR-48LPS-I.yaml b/device-types/Cisco/WS-C2960XR-48LPS-I.yaml
index 0da5ea94..d4d510e2 100644
--- a/device-types/Cisco/WS-C2960XR-48LPS-I.yaml
+++ b/device-types/Cisco/WS-C2960XR-48LPS-I.yaml
@@ -213,8 +213,8 @@ interfaces:
 console-ports:
   - name: con 0
     type: rj-45
-power-ports:
+module-bays:
   - name: PSU0
-    type: iec-60320-c14
+    position: '0'
   - name: PSU1
-    type: iec-60320-c14
+    position: '1'
diff --git a/device-types/Cisco/WS-C2960XR-48TD-I.yaml b/device-types/Cisco/WS-C2960XR-48TD-I.yaml
index 27eaa604..2f82a81f 100644
--- a/device-types/Cisco/WS-C2960XR-48TD-I.yaml
+++ b/device-types/Cisco/WS-C2960XR-48TD-I.yaml
@@ -117,8 +117,8 @@ interfaces:
 console-ports:
   - name: con 0
     type: rj-45
-power-ports:
+module-bays:
   - name: PSU0
-    type: iec-60320-c14
+    position: '0'
   - name: PSU1
-    type: iec-60320-c14
+    position: '1'
diff --git a/device-types/Cisco/WS-C2960XR-48TS-I.yaml b/device-types/Cisco/WS-C2960XR-48TS-I.yaml
index c376a148..a02f1b3a 100644
--- a/device-types/Cisco/WS-C2960XR-48TS-I.yaml
+++ b/device-types/Cisco/WS-C2960XR-48TS-I.yaml
@@ -117,8 +117,8 @@ interfaces:
 console-ports:
   - name: con 0
     type: rj-45
-power-ports:
+module-bays:
   - name: PSU0
-    type: iec-60320-c14
+    position: '0'
   - name: PSU1
-    type: iec-60320-c14
+    position: '1'
diff --git a/device-types/Cisco/WS-C3560X-24P.yaml b/device-types/Cisco/WS-C3560X-24P.yaml
index 275054ac..98cfb2bb 100644
--- a/device-types/Cisco/WS-C3560X-24P.yaml
+++ b/device-types/Cisco/WS-C3560X-24P.yaml
@@ -120,6 +120,8 @@ interfaces:
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
+module-bays:
+  - name: PSU1
+    position: '1'
+  - name: PSU2
+    position: '2'
diff --git a/device-types/Cisco/WS-C3560X-24T-S.yaml b/device-types/Cisco/WS-C3560X-24T-S.yaml
index 72816413..f148596c 100644
--- a/device-types/Cisco/WS-C3560X-24T-S.yaml
+++ b/device-types/Cisco/WS-C3560X-24T-S.yaml
@@ -76,7 +76,8 @@ console-ports:
     type: usb-mini-b
   - name: usb1
     type: usb-a
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-    maximum_draw: 350
+module-bays:
+  - name: PSU1
+    position: '1'
+  - name: PSU2
+    position: '2'
diff --git a/device-types/Cisco/WS-C3560X-48P-S.yaml b/device-types/Cisco/WS-C3560X-48P-S.yaml
index dced77e9..b43648c4 100644
--- a/device-types/Cisco/WS-C3560X-48P-S.yaml
+++ b/device-types/Cisco/WS-C3560X-48P-S.yaml
@@ -7,9 +7,6 @@ u_height: 1
 console-ports:
   - name: con 0
     type: rj-45
-power-ports:
-  - name: Power Supply 0
-    type: iec-60320-c14
 interfaces:
   - name: FastEthernet0
     type: 100base-tx
@@ -206,3 +203,8 @@ interfaces:
     type: 1000base-t
     poe_mode: pse
     poe_type: type2-ieee802.3at
+module-bays:
+  - name: PSU1
+    position: '1'
+  - name: PSU2
+    position: '2'
diff --git a/device-types/Cisco/WS-C3560X-48P.yaml b/device-types/Cisco/WS-C3560X-48P.yaml
index 647f8d63..9bd43230 100644
--- a/device-types/Cisco/WS-C3560X-48P.yaml
+++ b/device-types/Cisco/WS-C3560X-48P.yaml
@@ -216,6 +216,8 @@ interfaces:
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
+module-bays:
+  - name: PSU1
+    position: '1'
+  - name: PSU2
+    position: '2'
diff --git a/device-types/Cisco/WS-C3560X-48PF-S.yaml b/device-types/Cisco/WS-C3560X-48PF-S.yaml
index a02b8f54..ed6742c1 100644
--- a/device-types/Cisco/WS-C3560X-48PF-S.yaml
+++ b/device-types/Cisco/WS-C3560X-48PF-S.yaml
@@ -205,7 +205,8 @@ interfaces:
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-    maximum_draw: 1100
+module-bays:
+  - name: PSU1
+    position: '1'
+  - name: PSU2
+    position: '2'
diff --git a/device-types/Cisco/WS-C3560X-48T-S.yaml b/device-types/Cisco/WS-C3560X-48T-S.yaml
index a9ef3eb5..90adaff3 100644
--- a/device-types/Cisco/WS-C3560X-48T-S.yaml
+++ b/device-types/Cisco/WS-C3560X-48T-S.yaml
@@ -105,11 +105,11 @@ interfaces:
     type: 1000base-t
   - name: GigabitEthernet0/48
     type: 1000base-t
-power-ports:
-  - name: PSU0
-    type: iec-60320-c14
-  - name: PSU1
-    type: iec-60320-c14
 console-ports:
   - name: Console
     type: rj-45
+module-bays:
+  - name: PSU1
+    position: '1'
+  - name: PSU2
+    position: '2'
diff --git a/device-types/Cisco/WS-C3850-12S-E.yaml b/device-types/Cisco/WS-C3850-12S-E.yaml
index ece89fc5..77c140a4 100644
--- a/device-types/Cisco/WS-C3850-12S-E.yaml
+++ b/device-types/Cisco/WS-C3850-12S-E.yaml
@@ -36,10 +36,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-12S.yaml b/device-types/Cisco/WS-C3850-12S.yaml
index 014b780d..936445f6 100644
--- a/device-types/Cisco/WS-C3850-12S.yaml
+++ b/device-types/Cisco/WS-C3850-12S.yaml
@@ -36,10 +36,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-12X48U-L.yaml b/device-types/Cisco/WS-C3850-12X48U-L.yaml
index ad90bb38..f25e5f6f 100644
--- a/device-types/Cisco/WS-C3850-12X48U-L.yaml
+++ b/device-types/Cisco/WS-C3850-12X48U-L.yaml
@@ -231,7 +231,7 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
diff --git a/device-types/Cisco/WS-C3850-12X48U.yaml b/device-types/Cisco/WS-C3850-12X48U.yaml
index 82562d34..5031d129 100644
--- a/device-types/Cisco/WS-C3850-12X48U.yaml
+++ b/device-types/Cisco/WS-C3850-12X48U.yaml
@@ -186,7 +186,7 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
diff --git a/device-types/Cisco/WS-C3850-12XS-E.yaml b/device-types/Cisco/WS-C3850-12XS-E.yaml
index c9b149ef..ef3a8bb4 100644
--- a/device-types/Cisco/WS-C3850-12XS-E.yaml
+++ b/device-types/Cisco/WS-C3850-12XS-E.yaml
@@ -11,10 +11,10 @@ comments: IP Services feature set
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-12XS-S.yaml b/device-types/Cisco/WS-C3850-12XS-S.yaml
index 4977390d..a26ab67e 100644
--- a/device-types/Cisco/WS-C3850-12XS-S.yaml
+++ b/device-types/Cisco/WS-C3850-12XS-S.yaml
@@ -11,10 +11,10 @@ comments: IP Base feature set
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-12XS.yaml b/device-types/Cisco/WS-C3850-12XS.yaml
index e3cf3a6d..8c92edd2 100644
--- a/device-types/Cisco/WS-C3850-12XS.yaml
+++ b/device-types/Cisco/WS-C3850-12XS.yaml
@@ -36,10 +36,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24P-E.yaml b/device-types/Cisco/WS-C3850-24P-E.yaml
index 821c62ea..f43df83c 100644
--- a/device-types/Cisco/WS-C3850-24P-E.yaml
+++ b/device-types/Cisco/WS-C3850-24P-E.yaml
@@ -108,10 +108,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24P-L.yaml b/device-types/Cisco/WS-C3850-24P-L.yaml
index 8deb1df1..19c9415f 100644
--- a/device-types/Cisco/WS-C3850-24P-L.yaml
+++ b/device-types/Cisco/WS-C3850-24P-L.yaml
@@ -108,10 +108,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24P-S.yaml b/device-types/Cisco/WS-C3850-24P-S.yaml
index a4f5e83f..080b37ad 100644
--- a/device-types/Cisco/WS-C3850-24P-S.yaml
+++ b/device-types/Cisco/WS-C3850-24P-S.yaml
@@ -108,10 +108,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24S.yaml b/device-types/Cisco/WS-C3850-24S.yaml
index 398f2865..65349f56 100644
--- a/device-types/Cisco/WS-C3850-24S.yaml
+++ b/device-types/Cisco/WS-C3850-24S.yaml
@@ -60,10 +60,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24T-L.yaml b/device-types/Cisco/WS-C3850-24T-L.yaml
index 2f3888b4..ee31def6 100644
--- a/device-types/Cisco/WS-C3850-24T-L.yaml
+++ b/device-types/Cisco/WS-C3850-24T-L.yaml
@@ -60,10 +60,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24T-S.yaml b/device-types/Cisco/WS-C3850-24T-S.yaml
index 69612e4d..a35b1334 100644
--- a/device-types/Cisco/WS-C3850-24T-S.yaml
+++ b/device-types/Cisco/WS-C3850-24T-S.yaml
@@ -60,10 +60,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24U.yaml b/device-types/Cisco/WS-C3850-24U.yaml
index f83a1d62..0406e632 100644
--- a/device-types/Cisco/WS-C3850-24U.yaml
+++ b/device-types/Cisco/WS-C3850-24U.yaml
@@ -108,10 +108,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24XS-E.yaml b/device-types/Cisco/WS-C3850-24XS-E.yaml
index 8faf79cc..777fb0b2 100644
--- a/device-types/Cisco/WS-C3850-24XS-E.yaml
+++ b/device-types/Cisco/WS-C3850-24XS-E.yaml
@@ -60,10 +60,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24XS-L.yaml b/device-types/Cisco/WS-C3850-24XS-L.yaml
index 23b50ddb..7455293f 100644
--- a/device-types/Cisco/WS-C3850-24XS-L.yaml
+++ b/device-types/Cisco/WS-C3850-24XS-L.yaml
@@ -60,10 +60,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24XS-S.yaml b/device-types/Cisco/WS-C3850-24XS-S.yaml
index d42b43d6..c32ad74b 100644
--- a/device-types/Cisco/WS-C3850-24XS-S.yaml
+++ b/device-types/Cisco/WS-C3850-24XS-S.yaml
@@ -60,10 +60,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-24XS.yaml b/device-types/Cisco/WS-C3850-24XS.yaml
index b033d44e..e54f06e5 100644
--- a/device-types/Cisco/WS-C3850-24XS.yaml
+++ b/device-types/Cisco/WS-C3850-24XS.yaml
@@ -60,10 +60,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-48F-L.yaml b/device-types/Cisco/WS-C3850-48F-L.yaml
index e259f127..cb56bfeb 100644
--- a/device-types/Cisco/WS-C3850-48F-L.yaml
+++ b/device-types/Cisco/WS-C3850-48F-L.yaml
@@ -13,10 +13,10 @@ console-ports:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 interfaces:
   - name: GigabitEthernet0/0
     type: 1000base-t
diff --git a/device-types/Cisco/WS-C3850-48F-S.yaml b/device-types/Cisco/WS-C3850-48F-S.yaml
index 53841c7c..910a5496 100644
--- a/device-types/Cisco/WS-C3850-48F-S.yaml
+++ b/device-types/Cisco/WS-C3850-48F-S.yaml
@@ -204,10 +204,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-48P-E.yaml b/device-types/Cisco/WS-C3850-48P-E.yaml
index 38c44e21..7c6061d9 100644
--- a/device-types/Cisco/WS-C3850-48P-E.yaml
+++ b/device-types/Cisco/WS-C3850-48P-E.yaml
@@ -204,10 +204,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-48P-L.yaml b/device-types/Cisco/WS-C3850-48P-L.yaml
index 2dd2525c..3d1234bc 100644
--- a/device-types/Cisco/WS-C3850-48P-L.yaml
+++ b/device-types/Cisco/WS-C3850-48P-L.yaml
@@ -204,10 +204,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-48P-S.yaml b/device-types/Cisco/WS-C3850-48P-S.yaml
index 2f7a8ce3..0b7237d4 100644
--- a/device-types/Cisco/WS-C3850-48P-S.yaml
+++ b/device-types/Cisco/WS-C3850-48P-S.yaml
@@ -204,10 +204,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-48P.yaml b/device-types/Cisco/WS-C3850-48P.yaml
index c33e5f94..31ca7827 100644
--- a/device-types/Cisco/WS-C3850-48P.yaml
+++ b/device-types/Cisco/WS-C3850-48P.yaml
@@ -204,10 +204,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-48T-E.yaml b/device-types/Cisco/WS-C3850-48T-E.yaml
index dac6957e..5b928ff6 100644
--- a/device-types/Cisco/WS-C3850-48T-E.yaml
+++ b/device-types/Cisco/WS-C3850-48T-E.yaml
@@ -108,10 +108,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-48T-L.yaml b/device-types/Cisco/WS-C3850-48T-L.yaml
index cf11bcd6..1b852227 100644
--- a/device-types/Cisco/WS-C3850-48T-L.yaml
+++ b/device-types/Cisco/WS-C3850-48T-L.yaml
@@ -108,10 +108,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-48T-S.yaml b/device-types/Cisco/WS-C3850-48T-S.yaml
index 077dfd1a..77727de4 100644
--- a/device-types/Cisco/WS-C3850-48T-S.yaml
+++ b/device-types/Cisco/WS-C3850-48T-S.yaml
@@ -108,10 +108,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-48U.yaml b/device-types/Cisco/WS-C3850-48U.yaml
index fb9ffe67..0187adfa 100644
--- a/device-types/Cisco/WS-C3850-48U.yaml
+++ b/device-types/Cisco/WS-C3850-48U.yaml
@@ -108,10 +108,10 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '1'
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
 console-ports:
   - name: con0
     type: rj-45
diff --git a/device-types/Cisco/WS-C3850-48XS-E.yaml b/device-types/Cisco/WS-C3850-48XS-E.yaml
index a678e988..4f0bd3b4 100644
--- a/device-types/Cisco/WS-C3850-48XS-E.yaml
+++ b/device-types/Cisco/WS-C3850-48XS-E.yaml
@@ -14,10 +14,10 @@ console-ports:
   - name: usb0
     type: usb-mini-b
 module-bays:
-  - name: PSU1
-    position: '1'
-  - name: PSU2
-    position: '2'
+  - name: PS-A
+    position: A
+  - name: PS-B
+    position: B
   - name: FAN1
     position: '1'
   - name: FAN2
diff --git a/device-types/Cisco/WS-C4500X-16SFP+.yaml b/device-types/Cisco/WS-C4500X-16SFP+.yaml
index 600f3e9f..9aa27845 100644
--- a/device-types/Cisco/WS-C4500X-16SFP+.yaml
+++ b/device-types/Cisco/WS-C4500X-16SFP+.yaml
@@ -9,15 +9,6 @@ comments: '[Cisco Catalyst 4500-X Series Switches Data Sheet](https://www.cisco.
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    allocated_draw: 330
-    maximum_draw: 400
-  - name: PS2
-    type: iec-60320-c14
-    allocated_draw: 330
-    maximum_draw: 400
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
@@ -57,3 +48,7 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '2'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C4500X-32SFP+.yaml b/device-types/Cisco/WS-C4500X-32SFP+.yaml
index 1ae63e49..46be8e2a 100644
--- a/device-types/Cisco/WS-C4500X-32SFP+.yaml
+++ b/device-types/Cisco/WS-C4500X-32SFP+.yaml
@@ -9,15 +9,6 @@ comments: '[Cisco Catalyst 4500-X Series Switches Data Sheet](https://www.cisco.
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    allocated_draw: 330
-    maximum_draw: 400
-  - name: PS2
-    type: iec-60320-c14
-    allocated_draw: 330
-    maximum_draw: 400
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
@@ -89,3 +80,7 @@ interfaces:
 module-bays:
   - name: Network Module
     position: '2'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C4506-E.yaml b/device-types/Cisco/WS-C4506-E.yaml
index e321e9e0..4bf94ce4 100644
--- a/device-types/Cisco/WS-C4506-E.yaml
+++ b/device-types/Cisco/WS-C4506-E.yaml
@@ -9,14 +9,24 @@ subdevice_role: parent
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 1500
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 1500
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
     mgmt_only: true
+module-bays:
+  - name: Slot 1
+    position: '1'
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: Slot 5
+    position: '5'
+  - name: Slot 6
+    position: '6'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C4506.yaml b/device-types/Cisco/WS-C4506.yaml
index 5834bf5f..d5156690 100644
--- a/device-types/Cisco/WS-C4506.yaml
+++ b/device-types/Cisco/WS-C4506.yaml
@@ -9,14 +9,24 @@ subdevice_role: parent
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 1500
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 1500
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
     mgmt_only: true
+module-bays:
+  - name: Slot 1
+    position: '1'
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: Slot 5
+    position: '5'
+  - name: Slot 6
+    position: '6'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C4507R+E.yaml b/device-types/Cisco/WS-C4507R+E.yaml
index 04d1439f..abbab011 100644
--- a/device-types/Cisco/WS-C4507R+E.yaml
+++ b/device-types/Cisco/WS-C4507R+E.yaml
@@ -9,14 +9,26 @@ subdevice_role: parent
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 1400
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 1400
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
     mgmt_only: true
+module-bays:
+  - name: Slot 1
+    position: '1'
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: Slot 5
+    position: '5'
+  - name: Slot 6
+    position: '6'
+  - name: Slot 7
+    position: '7'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C4510R+E.yaml b/device-types/Cisco/WS-C4510R+E.yaml
index d1b6cb97..42bf5fae 100644
--- a/device-types/Cisco/WS-C4510R+E.yaml
+++ b/device-types/Cisco/WS-C4510R+E.yaml
@@ -9,14 +9,32 @@ subdevice_role: parent
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 1400
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 1400
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
     mgmt_only: true
+module-bays:
+  - name: Slot 1
+    position: '1'
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: Slot 5
+    position: '5'
+  - name: Slot 6
+    position: '6'
+  - name: Slot 7
+    position: '7'
+  - name: Slot 8
+    position: '8'
+  - name: Slot 9
+    position: '9'
+  - name: Slot 10
+    position: '10'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C4900M.yaml b/device-types/Cisco/WS-C4900M.yaml
index 0e105d53..3d644edc 100644
--- a/device-types/Cisco/WS-C4900M.yaml
+++ b/device-types/Cisco/WS-C4900M.yaml
@@ -36,3 +36,8 @@ interfaces:
     type: 10gbase-x-x2
   - name: TenGigabitEthernet1/8
     type: 10gbase-x-x2
+module-bays:
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C4948-10GE-S.yaml b/device-types/Cisco/WS-C4948-10GE-S.yaml
index e13b63ea..51349473 100644
--- a/device-types/Cisco/WS-C4948-10GE-S.yaml
+++ b/device-types/Cisco/WS-C4948-10GE-S.yaml
@@ -112,8 +112,8 @@ interfaces:
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
+module-bays:
   - name: PSU0
-    type: iec-60320-c14
+    position: '0'
   - name: PSU1
-    type: iec-60320-c14
+    position: '1'
diff --git a/device-types/Cisco/WS-C4948-S.yaml b/device-types/Cisco/WS-C4948-S.yaml
index 72f1e1d0..dc800edf 100644
--- a/device-types/Cisco/WS-C4948-S.yaml
+++ b/device-types/Cisco/WS-C4948-S.yaml
@@ -116,8 +116,8 @@ interfaces:
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
+module-bays:
   - name: PSU0
-    type: iec-60320-c14
+    position: '0'
   - name: PSU1
-    type: iec-60320-c14
+    position: '1'
diff --git a/device-types/Cisco/WS-C6506-E.yaml b/device-types/Cisco/WS-C6506-E.yaml
index 78fe2818..91bd8c47 100644
--- a/device-types/Cisco/WS-C6506-E.yaml
+++ b/device-types/Cisco/WS-C6506-E.yaml
@@ -8,14 +8,24 @@ is_full_depth: false
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c20
-    maximum_draw: 8700
-  - name: PS2
-    type: iec-60320-c20
-    maximum_draw: 8700
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
     mgmt_only: true
+module-bays:
+  - name: Slot 1
+    position: '1'
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: Slot 5
+    position: '5'
+  - name: Slot 6
+    position: '6'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C6509-E.yaml b/device-types/Cisco/WS-C6509-E.yaml
index 70405c1f..e0ff0cde 100644
--- a/device-types/Cisco/WS-C6509-E.yaml
+++ b/device-types/Cisco/WS-C6509-E.yaml
@@ -8,14 +8,30 @@ is_full_depth: false
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 8700
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 8700
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
     mgmt_only: true
+module-bays:
+  - name: Slot 1
+    position: '1'
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: Slot 5
+    position: '5'
+  - name: Slot 6
+    position: '6'
+  - name: Slot 7
+    position: '7'
+  - name: Slot 8
+    position: '8'
+  - name: Slot 9
+    position: '9'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C6509-V-E.yaml b/device-types/Cisco/WS-C6509-V-E.yaml
index 51b10fbb..01700310 100644
--- a/device-types/Cisco/WS-C6509-V-E.yaml
+++ b/device-types/Cisco/WS-C6509-V-E.yaml
@@ -8,14 +8,30 @@ is_full_depth: false
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c20
-    maximum_draw: 8700
-  - name: PS2
-    type: iec-60320-c20
-    maximum_draw: 8700
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
     mgmt_only: true
+module-bays:
+  - name: Slot 1
+    position: '1'
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: Slot 5
+    position: '5'
+  - name: Slot 6
+    position: '6'
+  - name: Slot 7
+    position: '7'
+  - name: Slot 8
+    position: '8'
+  - name: Slot 9
+    position: '9'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C6509.yaml b/device-types/Cisco/WS-C6509.yaml
index 50ea923a..1341d98d 100644
--- a/device-types/Cisco/WS-C6509.yaml
+++ b/device-types/Cisco/WS-C6509.yaml
@@ -8,14 +8,30 @@ is_full_depth: false
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 8700
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 8700
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
     mgmt_only: true
+module-bays:
+  - name: Slot 1
+    position: '1'
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: Slot 5
+    position: '5'
+  - name: Slot 6
+    position: '6'
+  - name: Slot 7
+    position: '7'
+  - name: Slot 8
+    position: '8'
+  - name: Slot 9
+    position: '9'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/device-types/Cisco/WS-C6513.yaml b/device-types/Cisco/WS-C6513.yaml
index 2cbaed40..17f9877d 100644
--- a/device-types/Cisco/WS-C6513.yaml
+++ b/device-types/Cisco/WS-C6513.yaml
@@ -8,14 +8,38 @@ is_full_depth: false
 console-ports:
   - name: con0
     type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 8700
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 8700
 interfaces:
   - name: FastEthernet1
     type: 100base-tx
     mgmt_only: true
+module-bays:
+  - name: Slot 1
+    position: '1'
+  - name: Slot 2
+    position: '2'
+  - name: Slot 3
+    position: '3'
+  - name: Slot 4
+    position: '4'
+  - name: Slot 5
+    position: '5'
+  - name: Slot 6
+    position: '6'
+  - name: Slot 7
+    position: '7'
+  - name: Slot 8
+    position: '8'
+  - name: Slot 9
+    position: '9'
+  - name: Slot 10
+    position: '10'
+  - name: Slot 11
+    position: '11'
+  - name: Slot 12
+    position: '12'
+  - name: Slot 13
+    position: '13'
+  - name: PS1
+    position: '1'
+  - name: PS2
+    position: '2'
diff --git a/module-types/Cisco/FAN-T2.yaml b/module-types/Cisco/FAN-T2.yaml
new file mode 100644
index 00000000..eb077ab7
--- /dev/null
+++ b/module-types/Cisco/FAN-T2.yaml
@@ -0,0 +1,5 @@
+---
+manufacturer: Cisco
+model: FAN-T2
+part_number: FAN-T2
+comments: Type 2 Fan Module / [Cisco Catalyst 9300 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-cat9300-ser-data-sheet-cte-en.html)
diff --git a/module-types/Cisco/N2200-PAC-400W-B.yaml b/module-types/Cisco/N2200-PAC-400W-B.yaml
new file mode 100644
index 00000000..49ce72ce
--- /dev/null
+++ b/module-types/Cisco/N2200-PAC-400W-B.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: N2200-PAC-400W-B
+part_number: N2200-PAC-400W-B
+comments: Nexus AC 400W PSU - Port Side Intake / [Cisco Nexus 2000 Series Fabric Extenders Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-2000-series-fabric-extenders/data_sheet_c78-507093.html)
+weight: 1
+weight_unit: kg
+power-ports:
+  - name: PS{module}
+    type: iec-60320-c14
+    maximum_draw: 400
diff --git a/module-types/Cisco/N2200-PAC-400W.yaml b/module-types/Cisco/N2200-PAC-400W.yaml
new file mode 100644
index 00000000..135a62ca
--- /dev/null
+++ b/module-types/Cisco/N2200-PAC-400W.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: N2200-PAC-400W
+part_number: N2200-PAC-400W
+comments: Nexus AC 400W PSU - Port Side Exhaust / [Cisco Nexus 2000 Series Fabric Extenders Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-2000-series-fabric-extenders/data_sheet_c78-507093.html)
+weight: 1
+weight_unit: kg
+power-ports:
+  - name: PS{module}
+    type: iec-60320-c14
+    maximum_draw: 400
diff --git a/module-types/Cisco/NXA-PAC-1100W-PE2.yaml b/module-types/Cisco/NXA-PAC-1100W-PE2.yaml
new file mode 100644
index 00000000..65e588d3
--- /dev/null
+++ b/module-types/Cisco/NXA-PAC-1100W-PE2.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PAC-1100W-PE2
+part_number: NXA-PAC-1100W-PE2
+comments: Nexus AC 1100W PSU - Port Side Exhaust / [Cisco Nexus 9300-FX2 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742282.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c14
+    maximum_draw: 1100
diff --git a/module-types/Cisco/NXA-PAC-1100W-PI2.yaml b/module-types/Cisco/NXA-PAC-1100W-PI2.yaml
new file mode 100644
index 00000000..22c08c93
--- /dev/null
+++ b/module-types/Cisco/NXA-PAC-1100W-PI2.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PAC-1100W-PI2
+part_number: NXA-PAC-1100W-PI2
+comments: Nexus AC 1100W PSU - Port Side Intake / [Cisco Nexus 9300-FX2 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742282.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c14
+    maximum_draw: 1100
diff --git a/module-types/Cisco/NXA-PAC-350W-PE.yaml b/module-types/Cisco/NXA-PAC-350W-PE.yaml
new file mode 100644
index 00000000..3ca58d0f
--- /dev/null
+++ b/module-types/Cisco/NXA-PAC-350W-PE.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PAC-350W-PE
+part_number: NXA-PAC-350W-PE
+comments: Nexus AC 350W PSU - Port Side Exhaust / [Cisco Nexus 9300-FX Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742284.html)
+weight: 1.27
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c14
+    maximum_draw: 350
diff --git a/module-types/Cisco/NXA-PAC-350W-PI.yaml b/module-types/Cisco/NXA-PAC-350W-PI.yaml
new file mode 100644
index 00000000..628177e3
--- /dev/null
+++ b/module-types/Cisco/NXA-PAC-350W-PI.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PAC-350W-PI
+part_number: NXA-PAC-350W-PI
+comments: Nexus AC 350W PSU - Port Side Intake / [Cisco Nexus 9300-FX Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742284.html)
+weight: 1.27
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c14
+    maximum_draw: 350
diff --git a/module-types/Cisco/NXA-PAC-500W-PE.yaml b/module-types/Cisco/NXA-PAC-500W-PE.yaml
new file mode 100644
index 00000000..21378545
--- /dev/null
+++ b/module-types/Cisco/NXA-PAC-500W-PE.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PAC-500W-PE
+part_number: NXA-PAC-500W-PE
+comments: Nexus AC 500W PSU - Port Side Exhaust / [Cisco Nexus 9300-FX Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742284.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c14
+    maximum_draw: 500
diff --git a/module-types/Cisco/NXA-PAC-500W-PI.yaml b/module-types/Cisco/NXA-PAC-500W-PI.yaml
new file mode 100644
index 00000000..3ab1f810
--- /dev/null
+++ b/module-types/Cisco/NXA-PAC-500W-PI.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PAC-500W-PI
+part_number: NXA-PAC-500W-PI
+comments: Nexus AC 500W PSU - Port Side Exhaust / [Cisco Nexus 9300-FX Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742284.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c14
+    maximum_draw: 500
diff --git a/module-types/Cisco/NXA-PAC-650W-PE.yaml b/module-types/Cisco/NXA-PAC-650W-PE.yaml
new file mode 100644
index 00000000..73a104db
--- /dev/null
+++ b/module-types/Cisco/NXA-PAC-650W-PE.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PAC-650W-PE
+part_number: NXA-PAC-650W-PE
+comments: Nexus AC 650W PSU - Port Side Exhaust / [Cisco Nexus 9300-FX3 Series Switch Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-744052.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c14
+    maximum_draw: 650
diff --git a/module-types/Cisco/NXA-PAC-650W-PI.yaml b/module-types/Cisco/NXA-PAC-650W-PI.yaml
new file mode 100644
index 00000000..d62d8b8a
--- /dev/null
+++ b/module-types/Cisco/NXA-PAC-650W-PI.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PAC-650W-PI
+part_number: NXA-PAC-650W-PI
+comments: Nexus AC 650W PSU - Port Side Intake / [Cisco Nexus 9300-FX3 Series Switch Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-744052.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c14
+    maximum_draw: 650
diff --git a/module-types/Cisco/NXA-PAC-750W-PE.yaml b/module-types/Cisco/NXA-PAC-750W-PE.yaml
new file mode 100644
index 00000000..de868d9d
--- /dev/null
+++ b/module-types/Cisco/NXA-PAC-750W-PE.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PAC-750W-PE
+part_number: NXA-PAC-750W-PE
+comments: Nexus AC 750W PSU - Port Side Exhaust / [Cisco Nexus 9300-FX2 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742282.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c14
+    maximum_draw: 750
diff --git a/module-types/Cisco/NXA-PAC-750W-PI.yaml b/module-types/Cisco/NXA-PAC-750W-PI.yaml
new file mode 100644
index 00000000..05ec2d48
--- /dev/null
+++ b/module-types/Cisco/NXA-PAC-750W-PI.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PAC-750W-PI
+part_number: NXA-PAC-750W-PI
+comments: Nexus AC 750W PSU - Port Side Intake / [Cisco Nexus 9300-FX2 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742282.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c14
+    maximum_draw: 750
diff --git a/module-types/Cisco/NXA-PDC-1100W-PE.yaml b/module-types/Cisco/NXA-PDC-1100W-PE.yaml
new file mode 100644
index 00000000..13bfe4a5
--- /dev/null
+++ b/module-types/Cisco/NXA-PDC-1100W-PE.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PDC-1100W-PE
+part_number: NXA-PDC-1100W-PE
+comments: Nexus 1100W Platinum DC PS - Port Side Exhaust / [Cisco Nexus 9300-FX2 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742282.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: dc-terminal
+    maximum_draw: 1100
diff --git a/module-types/Cisco/NXA-PDC-1100W-PI.yaml b/module-types/Cisco/NXA-PDC-1100W-PI.yaml
new file mode 100644
index 00000000..f10b5cb5
--- /dev/null
+++ b/module-types/Cisco/NXA-PDC-1100W-PI.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PDC-1100W-PI
+part_number: NXA-PDC-1100W-PI
+comments: Nexus 1100W Platinum DC PS - Port Side Intake / [Cisco Nexus 9300-FX2 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742282.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: dc-terminal
+    maximum_draw: 1100
diff --git a/module-types/Cisco/NXA-PDC-440W-PE.yaml b/module-types/Cisco/NXA-PDC-440W-PE.yaml
new file mode 100644
index 00000000..e584610a
--- /dev/null
+++ b/module-types/Cisco/NXA-PDC-440W-PE.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PDC-440W-PE
+part_number: NXA-PDC-440W-PE
+comments: Nexus DC 440W PSU - Port Side Exhaust / [Cisco Nexus 9300-FX Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742284.html)
+weight: 1.27
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: dc-terminal
+    maximum_draw: 440
diff --git a/module-types/Cisco/NXA-PDC-440W-PI.yaml b/module-types/Cisco/NXA-PDC-440W-PI.yaml
new file mode 100644
index 00000000..944ae4d2
--- /dev/null
+++ b/module-types/Cisco/NXA-PDC-440W-PI.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PDC-440W-PI
+part_number: NXA-PDC-440W-PI
+comments: Nexus DC 440W PSU - Port Side Intake / [Cisco Nexus 9300-FX Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742284.html)
+weight: 1.27
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: dc-terminal
+    maximum_draw: 440
diff --git a/module-types/Cisco/NXA-PDC-930W-PE.yaml b/module-types/Cisco/NXA-PDC-930W-PE.yaml
new file mode 100644
index 00000000..e71106bc
--- /dev/null
+++ b/module-types/Cisco/NXA-PDC-930W-PE.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PDC-930W-PE
+part_number: NXA-PDC-930W-PE
+comments: Nexus DC 930W PSU - Port Side Exhaust / [Cisco Nexus 9300-FX Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742284.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: dc-terminal
+    maximum_draw: 930
diff --git a/module-types/Cisco/NXA-PDC-930W-PI.yaml b/module-types/Cisco/NXA-PDC-930W-PI.yaml
new file mode 100644
index 00000000..b077016a
--- /dev/null
+++ b/module-types/Cisco/NXA-PDC-930W-PI.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: NXA-PDC-930W-PI
+part_number: NXA-PDC-930W-PI
+comments: Nexus DC 930W PSU - Port Side Intake / [Cisco Nexus 9300-FX Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/nexus-9000-series-switches/datasheet-c78-742284.html)
+weight: 1.1
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: dc-terminal
+    maximum_draw: 930
diff --git a/module-types/Cisco/PWR-1.6KW-AC.yaml b/module-types/Cisco/PWR-1.6KW-AC.yaml
index 96c63a50..53100b59 100644
--- a/module-types/Cisco/PWR-1.6KW-AC.yaml
+++ b/module-types/Cisco/PWR-1.6KW-AC.yaml
@@ -3,6 +3,6 @@ manufacturer: Cisco
 model: PWR-1.6KW-AC
 part_number: PWR-1.6KW-AC
 power-ports:
-  - name: '{module}'
+  - name: PS-{module}
     type: iec-60320-c16
     maximum_draw: 1600
diff --git a/module-types/Cisco/PWR-C1-1100WAC-P.yaml b/module-types/Cisco/PWR-C1-1100WAC-P.yaml
new file mode 100644
index 00000000..1d9c1ee5
--- /dev/null
+++ b/module-types/Cisco/PWR-C1-1100WAC-P.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: PWR-C1-1100WAC-P
+part_number: PWR-C1-1100WAC-P
+comments: 1100W AC 80+ platinum Config 1 Power Supply / [Cisco Catalyst 9300 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-cat9300-ser-data-sheet-cte-en.html)
+weight: 1.4
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c16
+    maximum_draw: 1100
diff --git a/module-types/Cisco/PWR-C1-1100WAC.yaml b/module-types/Cisco/PWR-C1-1100WAC.yaml
index 8ea74d35..d08e8748 100644
--- a/module-types/Cisco/PWR-C1-1100WAC.yaml
+++ b/module-types/Cisco/PWR-C1-1100WAC.yaml
@@ -2,7 +2,10 @@
 manufacturer: Cisco
 model: PWR-C1-1100WAC
 part_number: PWR-C1-1100WAC
+comments: 1100W AC Config 1 Power Supply / [Cisco Catalyst 9300 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-cat9300-ser-data-sheet-cte-en.html)
+weight: 1.4
+weight_unit: kg
 power-ports:
-  - name: PSU{module}
+  - name: PS-{module}
     type: iec-60320-c16
     maximum_draw: 1100
diff --git a/module-types/Cisco/PWR-C1-1900WAC-P.yaml b/module-types/Cisco/PWR-C1-1900WAC-P.yaml
new file mode 100644
index 00000000..55893cc4
--- /dev/null
+++ b/module-types/Cisco/PWR-C1-1900WAC-P.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: PWR-C1-1900WAC-P
+part_number: PWR-C1-1900WAC-P
+comments: 1900W AC 80+ platinum Config 1 Power Supply / [Cisco Catalyst 9300 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-cat9300-ser-data-sheet-cte-en.html)
+weight: 1.5
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c22
+    maximum_draw: 1900
diff --git a/module-types/Cisco/PWR-C1-350WAC-P.yaml b/module-types/Cisco/PWR-C1-350WAC-P.yaml
index e96a128a..0d159cc7 100644
--- a/module-types/Cisco/PWR-C1-350WAC-P.yaml
+++ b/module-types/Cisco/PWR-C1-350WAC-P.yaml
@@ -2,7 +2,10 @@
 manufacturer: Cisco
 model: PWR-C1-350WAC-P
 part_number: PWR-C1-350WAC-P
+comments: 350W AC 80+ platinum Config 1 Power Supply / [Cisco Catalyst 9300 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-cat9300-ser-data-sheet-cte-en.html)
+weight: 1.2
+weight_unit: kg
 power-ports:
-  - name: PSU{module}
+  - name: PS-{module}
     type: iec-60320-c14
     maximum_draw: 350
diff --git a/module-types/Cisco/PWR-C1-350WAC.yaml b/module-types/Cisco/PWR-C1-350WAC.yaml
index ba6ecbc4..941e6608 100644
--- a/module-types/Cisco/PWR-C1-350WAC.yaml
+++ b/module-types/Cisco/PWR-C1-350WAC.yaml
@@ -2,7 +2,10 @@
 manufacturer: Cisco
 model: PWR-C1-350WAC
 part_number: PWR-C1-350WAC
+comments: 350W AC Config 1 Power Supply / [Cisco Catalyst 9300 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-cat9300-ser-data-sheet-cte-en.html)
+weight: 1.2
+weight_unit: kg
 power-ports:
-  - name: PSU{module}
-    type: iec-60320-c16
+  - name: PS-{module}
+    type: iec-60320-c14
     maximum_draw: 350
diff --git a/module-types/Cisco/PWR-C1-440WDC.yaml b/module-types/Cisco/PWR-C1-440WDC.yaml
index c6518cbc..4d576b3c 100644
--- a/module-types/Cisco/PWR-C1-440WDC.yaml
+++ b/module-types/Cisco/PWR-C1-440WDC.yaml
@@ -3,6 +3,6 @@ manufacturer: Cisco
 model: PWR-C1-440WDC
 part_number: PWR-C1-440WDC
 power-ports:
-  - name: PSU{module}
+  - name: PS-{module}
     type: dc-terminal
     maximum_draw: 440
diff --git a/module-types/Cisco/PWR-C1-715WAC-P.yaml b/module-types/Cisco/PWR-C1-715WAC-P.yaml
new file mode 100644
index 00000000..96914d92
--- /dev/null
+++ b/module-types/Cisco/PWR-C1-715WAC-P.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: PWR-C1-715WAC-P
+part_number: PWR-C1-715WAC
+comments: 715W AC 80+ platinum Config 1 Power Supply / [Cisco Catalyst 9300 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-cat9300-ser-data-sheet-cte-en.html)
+weight: 1.2
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: iec-60320-c16
+    maximum_draw: 715
diff --git a/module-types/Cisco/PWR-C1-715WAC.yaml b/module-types/Cisco/PWR-C1-715WAC.yaml
index 75ff9932..a68fa503 100644
--- a/module-types/Cisco/PWR-C1-715WAC.yaml
+++ b/module-types/Cisco/PWR-C1-715WAC.yaml
@@ -2,7 +2,10 @@
 manufacturer: Cisco
 model: PWR-C1-715WAC
 part_number: PWR-C1-715WAC
+comments: 715W AC Config 1 Power Supply / [Cisco Catalyst 9300 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-cat9300-ser-data-sheet-cte-en.html)
+weight: 1.3
+weight_unit: kg
 power-ports:
-  - name: PSU{module}
+  - name: PS-{module}
     type: iec-60320-c16
     maximum_draw: 715
diff --git a/module-types/Cisco/PWR-C1-715WDC.yaml b/module-types/Cisco/PWR-C1-715WDC.yaml
new file mode 100644
index 00000000..f44cc9c0
--- /dev/null
+++ b/module-types/Cisco/PWR-C1-715WDC.yaml
@@ -0,0 +1,11 @@
+---
+manufacturer: Cisco
+model: PWR-C1-715WDC
+part_number: PWR-C1-715WDC
+comments: 715W DC Power Supply / [Cisco Catalyst 9300 Series Switches Data Sheet](https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-9300-series-switches/nb-06-cat9300-ser-data-sheet-cte-en.html)
+weight: 1.3
+weight_unit: kg
+power-ports:
+  - name: PS-{module}
+    type: dc-terminal
+    maximum_draw: 715
diff --git a/module-types/Cisco/PWR-C2-1025WAC.yaml b/module-types/Cisco/PWR-C2-1025WAC.yaml
index f0db3aba..c04c58fe 100644
--- a/module-types/Cisco/PWR-C2-1025WAC.yaml
+++ b/module-types/Cisco/PWR-C2-1025WAC.yaml
@@ -2,7 +2,9 @@
 manufacturer: Cisco
 model: PWR-C2-1025WAC
 part_number: PWR-C2-1025WAC
+weight: 1.61
+weight_unit: kg
 power-ports:
-  - name: PSU{module}
+  - name: PS-{module}
     type: iec-60320-c16
     maximum_draw: 1025
diff --git a/module-types/Cisco/PWR-C2-250WAC.yaml b/module-types/Cisco/PWR-C2-250WAC.yaml
index 67c112e6..fb02907d 100644
--- a/module-types/Cisco/PWR-C2-250WAC.yaml
+++ b/module-types/Cisco/PWR-C2-250WAC.yaml
@@ -2,7 +2,9 @@
 manufacturer: Cisco
 model: PWR-C2-250WAC
 part_number: PWR-C2-250WAC
+weight: 1.16
+weight_unit: kg
 power-ports:
-  - name: PSU{module}
+  - name: PS-{module}
     type: iec-60320-c14
     maximum_draw: 250
diff --git a/module-types/Cisco/PWR-C2-640WAC.yaml b/module-types/Cisco/PWR-C2-640WAC.yaml
index d32b70d1..ee557267 100644
--- a/module-types/Cisco/PWR-C2-640WAC.yaml
+++ b/module-types/Cisco/PWR-C2-640WAC.yaml
@@ -2,7 +2,9 @@
 manufacturer: Cisco
 model: PWR-C2-640WAC
 part_number: PWR-C2-640WAC
+weight: 1.41
+weight_unit: kg
 power-ports:
-  - name: PSU{module}
+  - name: PS-{module}
     type: iec-60320-c16
     maximum_draw: 640
diff --git a/module-types/Cisco/PWR-C2-640WDC.yaml b/module-types/Cisco/PWR-C2-640WDC.yaml
index ca4a470e..c208c746 100644
--- a/module-types/Cisco/PWR-C2-640WDC.yaml
+++ b/module-types/Cisco/PWR-C2-640WDC.yaml
@@ -2,7 +2,9 @@
 manufacturer: Cisco
 model: PWR-C2-640WDC
 part_number: PWR-C2-640WDC
+weight: 1.25
+weight_unit: kg
 power-ports:
-  - name: PSU{module}
+  - name: PS-{module}
     type: dc-terminal
     maximum_draw: 640
-- 
GitLab