diff --git a/device-types/Cisco/C9300-24P.yaml b/device-types/Cisco/C9300-24P.yaml
index b0e798527ec4a8e4f8ec8cda39f7219cc1051a34..893186ec7befe4f870e4ca8d30df4fc2c9d53c8a 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 c598bc1bf5f671912377df3a46cb94ffe5692439..7a21f300a008713261bb5aaff2522c7f470e4d17 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 9ee4b58cbb0d7dbfa9aef68384d3238635caeba0..e748359e5a422aa6db8c1954408b18b93c8e4f88 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 0d6b5e5c2759d8a4c6824611ef2d0d51e6f09360..ae7ca8e3b49fb71143314a629afc22f4d42cc319 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 e11f39f49f6ca14a0b67c1f3d42dbb405e6d1761..d709555e091ba94845ccd79b345dee182fbfff90 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 8a8a041cae4e8f6d5c1f7b7baa163e20b79b904f..f8edad55e72f0736824e96aea09d38a921a12813 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 d67fdc9c0dbd038669b4caef8781ceb4df38a0d6..8465b5a7469b7e4aa0179f4b27b0091c06aa6797 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 4c30a3204d33f2f0a0cb97da835a797c3fdd9d3f..c00f294af4e50443491395337d22784d681e255d 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 9f4fdeefb84d4d7158588f8efd9ceb08763a9280..8a5579757bde5b842bcd055cb0ce9ecf4eec436a 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 51ef612f3e14bdd0d2c820179c844fccb2242335..eaed8c0a9733ccbc94c6fd66bf9c1e8ccd9a9e8e 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 1b2fd24fcd7bb292b0138541c9d93903f2cc688d..b4207501e3739a4f283ec89f377b4c81f6097e5f 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 0cadc0b8d577809eef499456af12880bc4b6bf8f..4b58a198950b05ca8e0f033c25b53e8ac08a2a41 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 0c1ee7c9eb02190f0895c4d7684cc7d6b9907f69..1721a8f60ec4a6898eca568c210a6d2664ec1ee7 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 984be15df8b73486ab5a1aa2b2af700439cd0f0d..b6163bc89f48d27db2e9343e7a95dae1823df9d0 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 243a1dd356fe12be72648ba9b12274e4fff5a529..a90fe0f311210747b70a809ebe7de51996a3ee3b 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 9578a20a7492b4628acb961c7e13fa5b05fb85ba..de689c04c2172278cf7de78b4a35c600f118ef05 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 fc5b14452b0fcd7030c159dec3b830c232a40f5a..c0e636565e3b4073f2625728817fd082d391c891 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 0c1fbe74ed8301b8eba29008ea79e4fda278bd94..1dc58c8c4521aa9b2d3be83d83bb294479706345 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 46ae7e20a746e3bd8e71b3ef92cb0264af7cd975..7ee5bd4e7737b45963c98257feccd43f8dc0da29 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 ccb23492b281173d85b96de527f60955b8134635..e5d8bcaf6b33eea4cf0789f069b570a4d0290744 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 a69be9991e4ab8f932ee4bc7cf2b2731ad440b18..40e44aa2de594765709d5b60199db309dcffb9f4 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 a21820600adadc3cf9342e91756fa5fa14afdc83..aaa6e0e8de2429b23bbcee167ee4e2a50443bd06 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 0b73ab92434c6e754d059543feb177c21c874572..d67b6f3037d370530bf0dc0908bb97140c8337ec 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 60cc4880ac35a7e1d341d19c81c0bd6d3b5346a9..8d8f510ce5f368f55068095c4f657d89adef4227 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 6ba8219497c175da55816b283a946001b9f3faff..9d451f1b653a2ea333dae10e465dbb15e91dc92a 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 bfaf50be1bdc3d65d88a3c77bf7b3d8d20dfdc9c..9e903849cc1732ae385218ec3b173a784157e97c 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 2fc8b2aeafeb6a3a3c0c2ca9006a52a7f67231e9..288780b663e494f215d18c62703676accf1efea7 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 c0676572d6b3013f39862bab0984fa4e1ce94cbb..77aaf0b46b798349338c1f2913b5574632b10482 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 1ee7c69ab5a12da3ec9d189ee99f886d3f6eb0e5..d59b65ab1170138e472c38011ad99c11e706e813 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 3264e50354b9562710edebade25431a370a73094..b733cfdaab6e6e2e5ddacd640859fa40bb5c9eb1 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 6ed61115ba1b3ded2007120a8bd1fb30a579019a..ff6a53cc8d7311f1f14ac54ab964c5203b67d050 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 637168f400b0349b5f98570344ca0ecccc82bc2c..205a783c0efe847267312dfea5a2f6815e7b7e12 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 5b014e4d773c96036c3d5ac1a980c6855245bfe9..014a579aec92a7d4320f6e92a37d73874c107e96 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 e8771a995dea042c4595fe293e9eeeefe419d0f8..98b2a8c42309e6bcae5be11f3d58da73d48fbc3d 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 167c377ef7834695681050cf82971fdd2708cdd8..47eb8954c0ddc41c2dff5d9cbe7f415af0ff62dc 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 ae79ee33fb6e8dac99e8c19ffd3fe34deed16b8d..131fb80cd39ae44dae0d925d0edc8f67df1aca45 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 600f8c23217e295f59a81f5b2cb92257e7dcfa46..f1cb24dab090af6cfce814a879afc3556062d0e7 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 f91510cdeaa18aedce269825fcfe5012013323e8..f82dd5d50d120dbd0a17f9b438017e1ac1fb3a87 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 0000000000000000000000000000000000000000..abfb08a44547c7d059dca30776dc72f9fee6c0b8
--- /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 082855fa6e060fa1584a1bd5c56ab87e71c64f65..7158beabe52e79b54825bc459ff9f90fe660a0da 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 38210bb81d102cc6221ad7bf2f5c8af2a9c8cd22..e8c0b1a43c6ad19493e8401f02eb7653655f204d 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 548ab71598439b06e7f297c118976f17d40c315e..0000000000000000000000000000000000000000
--- 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 452b11a1680b6db3d74668f9a749a49cc68bee0a..076293dfc1fb9dbbda076414441f38a863000c60 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 b5b5bf27aaffcab53f6e3be41c8d57392e76cb29..b1dfd0ff9abfc17e1cb395356bf5ea70bf3e7eb7 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 340158ab2e8b2733dbf1e9d16a6916471dff4639..c6c993028330e6a5e504839ceca0978587d7811f 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 2bc9f2a70a3059bc0627d6a45943c8bed4f537ba..de3106ad834399a2a74cc9b22733555267138fd9 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 9a80c7072e99114f62980a562d7358d9b16ebeb6..fd5051e5c9ece9154bc402bd32fc9203df6b12cf 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 64a92fcfe2dc3d9176eff43d43cd7c13505d03f1..3579b5d603c241357b7fddc6e47a005343ba49c0 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 06c8863904c3df9458d656ff6369a10f5f54b4ce..736992c3e84a14a45562c1644fce54e91a810d70 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 252ee04ba978285f609d0e275c000bc24e5729e3..df47ec54b1bee941632c9d82c46b3ecf9b371674 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 17ea3aed1420737419daab15f53d4781b0202c3d..281dd1d437ebc32b14b090d4c526de28c145cfb5 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 3b52e6c19c8b9ac88a932bac9a709dfcc261dd2b..4a1ac7334d6d05e44663a2e2fd617bba40f4c783 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 d2ad072b952c2a58d0fc3e734eb69e64e6cc46b1..9a776ce8203e5049975cf45ad979a23932afcd03 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 664d5ded69bf4be96f4f16aae8ba7f03442756c7..5e040c4e02b7c7b413cbc3cdae1e21949b785bb7 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 a65d12ec6447c7a18c93438091778b99a3abe287..2e339bd9f729ba4a633d18910eaacc5cf838a93f 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 0cbf6d7a4826790c9c079985bc6f74a436b133ba..381bb3a619630062b02200c7e82a5206ef558abf 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 082da7eb43d157f38c52d84f582a6a8502f20a20..d3222a8fa7cce6a8822e9ad1c76641e2ef5a04f7 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 e63737f47779c9f3baaea67be2f11368fb3d146e..107cc8b042dcd669585d32c61564c4105f23751c 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 44cddd1ecace28cd2606458bb088497aa5aae5e9..32002ab96cc2cd2a95339daac284a75dc4e85636 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 6770c6d3a447336ce2964bfa797150c0019f3237..766a3d9df74ee9c200bdbde7ffa9f391b9ba033a 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 a5684637b85b5ecb8d904d3123e423773dd6eb2f..6593829e7527ef8a96b741c6cb441f3a30f06347 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 55eed3280dc2e040bbc69356e0e10145eac28c33..313ea393755fb61e13145da4c3a8da5da1feba56 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 3ea205bab961c1792e21c7c496e40ae19fe5334d..ba7f00d93a41f6e0142844f51793b70ff20a7b25 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 3cecd2bcc2f00d166371eaa63307ff98084fff89..ded9f762b59820e0ce1ce908e81511b52662968f 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 40fac3094c6d7c2b8f619be4981cfbe0e2f793c0..e3dab313e4aa304028ccad517250b00f5a3bf7ca 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 a9cee5827300bfc21a989f333289ef7e0a66c906..c2256a6232e7600f9cbe155c12dcd2ce9708e77f 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 d42de2d791f769a9c1ea6eed7427fe81f7a23fe0..6142b67219a0587ea5fd3a8adde8e7515e3d09f4 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 9595681ffbe6a4696d335a311776fe7cc11ad1d6..c21b45fb87cd00559350866bacd13c44b1d972ea 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 9dd3d6a95bb65f7948f6d089d097e0b1adde1c1a..9df43bfff92bff51cf939d78348d6f09d920f833 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 1efb11ba3deb9874a7208278b52d797af68aff72..1d2a72fba6d9c036ec63a5c19684233c4da79670 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 bff463a2d6543fc86184937fbf15b5d0da14ffa5..f75bd02f2fe5ff3ff6447fc180b516e7df43a6b8 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 f4860358ff106415748e7205793ccf99e0e6e5ec..7a94d43965629104735ad87904eb869719e2213e 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 1cc163f12dc6c652df3235383c0af645ccd5f469..1e2db326e5edf855738d86256750d52edcdd7da8 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 6a56d8e86929ea8f26f0dce4d516f7ee5aff7688..739c1622997f937f9fd60bc6b70f7950006f9ba2 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 4f8a40c1f93948742512412bb1dbf1bf679e7256..e255fafe2cea98f404f8a5131038f0c2da1f84ac 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 28854b7c98bc42a9e8e12ea89f67a685ea0296a5..02899ac578a6f2a0de760fc6c41e3a5341f681f4 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 a67fe1de48928f2e543b768769c5990ed69e2322..744bf5c263a4263741a6d73328e3e814350d7e4b 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 97f336fddda2e5d381fb974fbf7546c45b55bb21..f5bd74da102f5248af216f6525fa703792dcbadd 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 c2393a97e2ab777fde836fc7744bf2321ab30c28..d8a5e5fa0aa1b11794914bedcfbfc67371bd924f 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 57e321115b919dec4135428311dabce4e1b332fd..5fadd88fa66dec2cd6bd1623f1954d6f3291cdbb 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 eaf065ed12e13cfcdfabadabe7ecb09e216e41b7..7547ae14758da339f7a728e41e0e144c981f970a 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 7aff8d9dd608c538bbc3a568ddf0c8d5ab18793e..8ef0d04f05d0eb75d39282abbe2e7d0920577e78 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 840894510835cc644bfcb87acec0e979617cd046..06722b0c3d1d2ec1563ab4a21d2bc9fdd1a27797 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 0da5ea94b4435acb21b040dbd34ba05d802c1fd8..d4d510e26db93be8ba45ce8679bfa0801a04f13e 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 27eaa6045df2d151779283e841e39083e0f41e4d..2f82a81f11f4346df808edff92f748d7869704c1 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 c376a1481b6cc0424f6c9f1912bcadd4c3f7b4d6..a02f1b3af7b4dafef10ca4f6a59b85b707984c50 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 275054ac2dc62a52c679cc38da01d91418069716..98cfb2bba7ddfc9f42e13bc20ef94d0efd3c6a72 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 72816413a76988c9efe23a2b572285e6e8145ea5..f148596c4c7d6ea4da0a5f79938e232399af6945 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 dced77e9d754c24aa01c51439557234a0118b945..b43648c4f4a5b018971371520c7e69aff0d63318 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 647f8d63abd05e71fdce3df307ac1c61f9dd152e..9bd432308e96e5fc4ecf09d9bdc4503dafaeec36 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 a02b8f541ba5cc6a0c647251da959ad03994d134..ed6742c17da93a7319b8b8d2321a8b98c72646f0 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 a9ef3eb52577c7147dd941ece2ccc1518647146a..90adaff39149863c99eae934400ce9dea4337483 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 ece89fc5ea2a9ab5672a1a1a39d96ccab09acb08..77c140a469e9bfd261f916120a67d7c4e8b3eea7 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 014b780d8655bd25c5ecbc03eb5aa6bf18de6f65..936445f6fe473c487c46f8d8e40a9baf53320d48 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 ad90bb38f2705440b8dd0bc69a0c8a99837de1c8..f25e5f6f72f751414f04a5fed97f9f9d5e5daff3 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 82562d34027f3ec924ff2ec968473e482a9b6c8c..5031d12939b384ea4cb53b562240cfc120babf19 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 c9b149ef416e6eb11310d52f75b9691115547cac..ef3a8bb4f5234773ab741eb86a99242c72beeb6c 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 4977390dfad3c8547189b6edc6893cc6c970159a..a26ab67e44e24b5f51ccaa0bd0c8ef777e585b2c 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 e3cf3a6d9658c0091f2e7136ba1356b1d3672439..8c92edd29ae76ab2cba66d7a94c78c2efcb78ebe 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 821c62eabb29019930b75caa82f07b1c082ca9be..f43df83cf58130fb473857dd2d90f96dcd4fe5b0 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 8deb1df12e242c8a6c82535b5172aede7722898e..19c9415fdbf95a664b068e7c0229ecc727b628ad 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 a4f5e83ffdf323ab96d05ba3c20acbba17a727ae..080b37ad756043a185b1fcfa61866cb7d7319eb3 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 398f28650157cf1df5f19865a878d818ae1a1e63..65349f569e34e9c81137071aafe34db8714ea5cd 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 2f3888b4aa1d5d5038daa7d9bb323ceb76d4c1a4..ee31def6b78e590c6c49996926ff8d35657db8cb 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 69612e4d6c0d94258a32b266dea6ec44378575b5..a35b1334144dc9851d7a300d98a6712fa70a75fd 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 f83a1d623d9f48f99476fb7950b2c8be4b6a37fb..0406e632bd9b076cdbe52a625b98609ffe0933aa 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 8faf79cc72c37afb31707275a4b9f9f658addda1..777fb0b217bf00ce939c497929a890081d525bd7 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 23b50ddbb97472ba23f7b6a5c222f784ef89258f..7455293fca1fbc80bb186371afb3123aa7abfa68 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 d42b43d68a5eec5f394cad0d847b21859c2555c5..c32ad74b922476ea01cbb0bf05a4e2a057e04db0 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 b033d44e2ccd91a2e9dcf04c599d0dcbdcfd71d6..e54f06e5b381a220a83d53486f6a62597a588989 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 e259f127f3ccd1c175ecd7a056bb5fa0b7a2cd8d..cb56bfebef045e77e91dce6f0e500e00e310c970 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 53841c7c264ad669639e5132521f5f664046cf08..910a54960c1531340e0ebebc540dd60cf9d2f92d 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 38c44e21c25a30e726bfb45303320fc269a194bb..7c6061d9386e02f4e57eefbf23bf26b1600922d8 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 2dd2525c65ba70140d17ad22672e4e9dcd471202..3d1234bc147bd2921048306dafeaa13e52626016 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 2f7a8ce37671eb315631b3feff91cbb6c21ca0be..0b7237d4d2eb3c92e28667d8660afe48d0a705d3 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 c33e5f94ccfe1a176475cd5b5ecd812091048801..31ca782732a7299ce586f4216e1a12590c396166 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 dac6957e025a7e308da5b33d7abddafdc09ddad4..5b928ff6e36e2f44477f680d914ca2e6effc2849 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 cf11bcd64c7dd9936932d63dcbd5124e101202b4..1b852227482fae7c61e82164488c8f67a4cc5f67 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 077dfd1a0fce0aea2aee5aa167220599e3786214..77727de4daae30ac03747ce4621f9fbb8ba6b61b 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 fb9ffe67ffaaedf121835a68b01afdee1315e1a9..0187adfa8f6d3d5317e8638fa44670047722e14d 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 a678e9883294fd7430054e82af391d101736a075..4f0bd3b46dcaa2e9073744c27789dac4ac26f3e4 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 600f3e9fbb2d8aa67f79270dec305186efb3b739..9aa278452730e47dfd26dc09fc20f4ad72518e67 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 1ae63e49be0c5742b1e7c5984b14a680d8310031..46be8e2ac41373ef1e859a30639c3cb8c1d4ce08 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 e321e9e0398553e4cb34a7e20cba0f0eb2ad9ea5..4bf94ce42e9ef66dddb3916a6e32d78035aaa045 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 5834bf5f5845bfc728bf7ba5d65f7f6ff4aae872..d51566909e50fb68b8f27df660823767844c95d4 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 04d1439fb9cd84020a9b99c94dee1d5ff08076f2..abbab011338119bdb644cbc083dfee991b31016f 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 d1b6cb97eb3004414bb89838275ef7105578519f..42bf5fae428cc71fd0df868d39dd5591e9cc1f46 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 0e105d5390ee9f5c29ecb49546554a7cdc2d97d3..3d644edc209de3fa5bf08abf6fa87dbbf6e1dd72 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 e13b63ea90e6c1d583fd374a71879b80f34b99b2..51349473b609cc40500637f424e30a348e821e76 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 72f1e1d0ff75a4abbee36948b3ce97a350f4d087..dc800edf509def2d1bd3aba1d24753e4aff6384d 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 78fe2818d51b29b73f69fa617ad2df9b59933579..91bd8c471e19f67ba0ec892fd25362e9bb5fb199 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 70405c1fffe570e08255766f5ed445cf56d1d930..e0ff0cdef5f64256f93855bba2d4a3eb04acdea3 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 51b10fbb2bf89a0d3bdc080ab4cdefc55bee3eba..017003102dec083e32173b3794ead5b67294f14c 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 50ea923a7d326d29e3d44a44d7744c7c4976af1c..1341d98dd98e6ee78bccab73f2f326affd6f0e08 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 2cbaed40fbb209c611d0dd919c30e7c9a6d62873..17f9877d085a472d327e6ea1c695d1cf4fd838ba 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 0000000000000000000000000000000000000000..eb077ab783b60fc373cf9f858f8ef71089a6a790
--- /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 0000000000000000000000000000000000000000..49ce72ce426017072e1973b2593487b7a6eb4edc
--- /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 0000000000000000000000000000000000000000..135a62cae3540f3d1f37d25c9074c17c371f8b71
--- /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 0000000000000000000000000000000000000000..65e588d36791713a86c5d21d2e3c987498904b51
--- /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 0000000000000000000000000000000000000000..22c08c9380a9f287ae8c94815fc3ec771fe52a0b
--- /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 0000000000000000000000000000000000000000..3ca58d0ff899ea2cc28a3aa37fe4f532bcd1d680
--- /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 0000000000000000000000000000000000000000..628177e37b07f372efb0ae549f4667dfad337516
--- /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 0000000000000000000000000000000000000000..2137854503b83e74b0216c3d2e313cdec13ce2c6
--- /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 0000000000000000000000000000000000000000..3ab1f81039abd7efeab27dd3172f5f5fb6dffc6b
--- /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 0000000000000000000000000000000000000000..73a104dbfe21fcf6cdf82fbea327768b655f5a59
--- /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 0000000000000000000000000000000000000000..d62d8b8a21c60a76577bf71431059a3bac979920
--- /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 0000000000000000000000000000000000000000..de868d9dacf0520d24568e324eed26a5c86a47fb
--- /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 0000000000000000000000000000000000000000..05ec2d48919e9b3001b5ff9ca14e22ae9a332b61
--- /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 0000000000000000000000000000000000000000..13bfe4a5235307d2aafcc856b9743edf781d9e61
--- /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 0000000000000000000000000000000000000000..f10b5cb52e93b8fa473a4cb753e7533d28c5438a
--- /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 0000000000000000000000000000000000000000..e584610ac00e752bf2aba5944eeb1906aa0f099f
--- /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 0000000000000000000000000000000000000000..944ae4d2ff5f824071e68144b46e1a4bd2d591c4
--- /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 0000000000000000000000000000000000000000..e71106bcfd8f55c6e0c9d1e237ed3cb28146558e
--- /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 0000000000000000000000000000000000000000..b077016a7c6c3e612108f83c95f4073eb167918a
--- /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 96c63a50ee5984d4e8d60eee7d97099ffece1056..53100b591eb094175c5b53949804323ad6779572 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 0000000000000000000000000000000000000000..1d9c1ee5fb39ba95999b8fb5bc2d725e9aaa9792
--- /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 8ea74d35e27e22671b42b95a550233fe24c003d4..d08e87482bb51837b34036418308ca3d06ff4087 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 0000000000000000000000000000000000000000..55893cc43f9294e9dc46c2a72e128bcf1786617a
--- /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 e96a128a99b87e51f55a58625c3dbc8c39e0f83b..0d159cc7e96098022445f2882e9712cfa64173ae 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 ba6ecbc41f96153ea321d7c3dee29ee79d2c6dc3..941e66083c9fe0223ef017901e1788d8adafe381 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 c6518cbcdf2bb797d5a9595de25773826c908d5d..4d576b3ccdb6fd53c84adeece9849ac03aa25d50 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 0000000000000000000000000000000000000000..96914d922a7def4fab0c395bcb04da85d7c3bf60
--- /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 75ff99328b7257664ff7b523abf60beece3b515e..a68fa503d1c8d68cb2674e7b760baf77acd227fc 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 0000000000000000000000000000000000000000..f44cc9c00e2f9a73bab49c57f6d1f1178230593f
--- /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 f0db3aba9b75d35fae63bff33a76b62f63b035f3..c04c58fe91de2507e99841ee487328dde9d15ab9 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 67c112e6a648215ad408232f89fb4636f9030501..fb02907d15b6872fb1080ac277dee6739d3ed17d 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 d32b70d1394e54c037c0464bcf2dbe80c5ea3410..ee5572677d0de0c524bff61c27d5a895bfa4a0e9 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 ca4a470e7cb0ef0582e245e9d1db53aa7418ae28..c208c746a91e043301fca97c01a4cad33f70db1e 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