diff --git a/device-types/Arista/DCS-7020SR-24C2.yaml b/device-types/Arista/DCS-7020SR-24C2-F.yaml
similarity index 83%
rename from device-types/Arista/DCS-7020SR-24C2.yaml
rename to device-types/Arista/DCS-7020SR-24C2-F.yaml
index 109e237d3523d7a84daec63775dd62ce01b4e911..ed15270be890394a2a30a946ce83cee626aaa23f 100644
--- a/device-types/Arista/DCS-7020SR-24C2.yaml
+++ b/device-types/Arista/DCS-7020SR-24C2-F.yaml
@@ -1,23 +1,26 @@
 ---
 manufacturer: Arista
-model: DCS-7020SR-24C2
-slug: arista-dcs-7020sr-24c2
-part_number: DCS-7020SR-24C2
+model: DCS-7020SR-24C2-F
+slug: arista-dcs-7020sr-24c2-f
+part_number: DCS-7020SR-24C2-F
 u_height: 1
+weight: 16.5
+weight_unit: lb
+airflow: front-to-rear
 is_full_depth: false
+comments: '[Arista 7020R Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7020R-48_Datasheet.pdf)'
 console-ports:
   - name: Console
     type: rj-45
-power-ports:
+module-bays:
   - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 105
-    allocated_draw: 95
+    position: '0'
   - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 105
-    allocated_draw: 95
+    position: '1'
 interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
   - name: Ethernet1
     type: 10gbase-x-sfpp
   - name: Ethernet2
@@ -71,6 +74,3 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: Ethernet26/1
     type: 100gbase-x-qsfp28
-  - name: Management1
-    type: 1000base-t
-    mgmt_only: true
diff --git a/device-types/Arista/DCS-7020SR-24C2-R.yaml b/device-types/Arista/DCS-7020SR-24C2-R.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..74b95b2443f785ec4ed0c7edaf27991fc4b08ea1
--- /dev/null
+++ b/device-types/Arista/DCS-7020SR-24C2-R.yaml
@@ -0,0 +1,76 @@
+---
+manufacturer: Arista
+model: DCS-7020SR-24C2-R
+slug: arista-dcs-7020sr-24c2-r
+part_number: DCS-7020SR-24C2-R
+u_height: 1
+weight: 16.5
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Arista 7020R Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7020R-48_Datasheet.pdf)'
+console-ports:
+  - name: Console
+    type: rj-45
+module-bays:
+  - name: PS1
+    position: '0'
+  - name: PS2
+    position: '1'
+interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
+  - name: Ethernet1
+    type: 10gbase-x-sfpp
+  - name: Ethernet2
+    type: 10gbase-x-sfpp
+  - name: Ethernet3
+    type: 10gbase-x-sfpp
+  - name: Ethernet4
+    type: 10gbase-x-sfpp
+  - name: Ethernet5
+    type: 10gbase-x-sfpp
+  - name: Ethernet6
+    type: 10gbase-x-sfpp
+  - name: Ethernet7
+    type: 10gbase-x-sfpp
+  - name: Ethernet8
+    type: 10gbase-x-sfpp
+  - name: Ethernet9
+    type: 10gbase-x-sfpp
+  - name: Ethernet10
+    type: 10gbase-x-sfpp
+  - name: Ethernet11
+    type: 10gbase-x-sfpp
+  - name: Ethernet12
+    type: 10gbase-x-sfpp
+  - name: Ethernet13
+    type: 10gbase-x-sfpp
+  - name: Ethernet14
+    type: 10gbase-x-sfpp
+  - name: Ethernet15
+    type: 10gbase-x-sfpp
+  - name: Ethernet16
+    type: 10gbase-x-sfpp
+  - name: Ethernet17
+    type: 10gbase-x-sfpp
+  - name: Ethernet18
+    type: 10gbase-x-sfpp
+  - name: Ethernet19
+    type: 10gbase-x-sfpp
+  - name: Ethernet20
+    type: 10gbase-x-sfpp
+  - name: Ethernet21
+    type: 10gbase-x-sfpp
+  - name: Ethernet22
+    type: 10gbase-x-sfpp
+  - name: Ethernet23
+    type: 10gbase-x-sfpp
+  - name: Ethernet24
+    type: 10gbase-x-sfpp
+# QSFP28(100G) ports can be broke into 4x25 with a model of [25-26]/[1-4]
+  - name: Ethernet25/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet26/1
+    type: 100gbase-x-qsfp28
diff --git a/device-types/Arista/DCS-7020SR-32C2.yaml b/device-types/Arista/DCS-7020SR-32C2-F.yaml
similarity index 86%
rename from device-types/Arista/DCS-7020SR-32C2.yaml
rename to device-types/Arista/DCS-7020SR-32C2-F.yaml
index 1b86f035a1c7c7c24cec98355eaf74dbd3a88211..d6827f8b23f243210f7c62288ab4ba1d79cd6688 100644
--- a/device-types/Arista/DCS-7020SR-32C2.yaml
+++ b/device-types/Arista/DCS-7020SR-32C2-F.yaml
@@ -1,23 +1,26 @@
 ---
 manufacturer: Arista
-model: DCS-7020SR-32C2
-slug: arista-dcs-7020sr-32c2
-part_number: DCS-7020SR-32C2
+model: DCS-7020SR-32C2-F
+slug: arista-dcs-7020sr-32c2-f
+part_number: DCS-7020SR-32C2-F
 u_height: 1
+weight: 14.4
+weight_unit: lb
+airflow: front-to-rear
 is_full_depth: false
+comments: '[Arista 7020R Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7020R-48_Datasheet.pdf)'
 console-ports:
   - name: Console
     type: rj-45
-power-ports:
+module-bays:
   - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 189
-    allocated_draw: 160
+    position: '0'
   - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 189
-    allocated_draw: 160
+    position: '1'
 interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
   - name: Ethernet1
     type: 10gbase-x-sfpp
   - name: Ethernet2
@@ -87,6 +90,3 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: Ethernet34/1
     type: 100gbase-x-qsfp28
-  - name: Management1
-    type: 1000base-t
-    mgmt_only: true
diff --git a/device-types/Arista/DCS-7020SR-32C2-R.yaml b/device-types/Arista/DCS-7020SR-32C2-R.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..eef42bfa1dfafea1a3109136e3d271312ec7607e
--- /dev/null
+++ b/device-types/Arista/DCS-7020SR-32C2-R.yaml
@@ -0,0 +1,92 @@
+---
+manufacturer: Arista
+model: DCS-7020SR-32C2-R
+slug: arista-dcs-7020sr-32c2-r
+part_number: DCS-7020SR-32C2-R
+u_height: 1
+weight: 14.4
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Arista 7020R Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7020R-48_Datasheet.pdf)'
+console-ports:
+  - name: Console
+    type: rj-45
+module-bays:
+  - name: PS1
+    position: '0'
+  - name: PS2
+    position: '1'
+interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
+  - name: Ethernet1
+    type: 10gbase-x-sfpp
+  - name: Ethernet2
+    type: 10gbase-x-sfpp
+  - name: Ethernet3
+    type: 10gbase-x-sfpp
+  - name: Ethernet4
+    type: 10gbase-x-sfpp
+  - name: Ethernet5
+    type: 10gbase-x-sfpp
+  - name: Ethernet6
+    type: 10gbase-x-sfpp
+  - name: Ethernet7
+    type: 10gbase-x-sfpp
+  - name: Ethernet8
+    type: 10gbase-x-sfpp
+  - name: Ethernet9
+    type: 10gbase-x-sfpp
+  - name: Ethernet10
+    type: 10gbase-x-sfpp
+  - name: Ethernet11
+    type: 10gbase-x-sfpp
+  - name: Ethernet12
+    type: 10gbase-x-sfpp
+  - name: Ethernet13
+    type: 10gbase-x-sfpp
+  - name: Ethernet14
+    type: 10gbase-x-sfpp
+  - name: Ethernet15
+    type: 10gbase-x-sfpp
+  - name: Ethernet16
+    type: 10gbase-x-sfpp
+  - name: Ethernet17
+    type: 10gbase-x-sfpp
+  - name: Ethernet18
+    type: 10gbase-x-sfpp
+  - name: Ethernet19
+    type: 10gbase-x-sfpp
+  - name: Ethernet20
+    type: 10gbase-x-sfpp
+  - name: Ethernet21
+    type: 10gbase-x-sfpp
+  - name: Ethernet22
+    type: 10gbase-x-sfpp
+  - name: Ethernet23
+    type: 10gbase-x-sfpp
+  - name: Ethernet24
+    type: 10gbase-x-sfpp
+  - name: Ethernet25
+    type: 10gbase-x-sfpp
+  - name: Ethernet26
+    type: 10gbase-x-sfpp
+  - name: Ethernet27
+    type: 10gbase-x-sfpp
+  - name: Ethernet28
+    type: 10gbase-x-sfpp
+  - name: Ethernet29
+    type: 10gbase-x-sfpp
+  - name: Ethernet30
+    type: 10gbase-x-sfpp
+  - name: Ethernet31
+    type: 10gbase-x-sfpp
+  - name: Ethernet32
+    type: 10gbase-x-sfpp
+# QSFP28(100G) ports can be broke into 4x25 with a model of [33-34]/[1-4]
+  - name: Ethernet33/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet34/1
+    type: 100gbase-x-qsfp28
diff --git a/device-types/Arista/DCS-7020SRG-24C2-F.yaml b/device-types/Arista/DCS-7020SRG-24C2-F.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9426b1ce78b26451449e6db13a0f45a7177c65b1
--- /dev/null
+++ b/device-types/Arista/DCS-7020SRG-24C2-F.yaml
@@ -0,0 +1,76 @@
+---
+manufacturer: Arista
+model: DCS-7020SRG-24C2-F
+slug: arista-dcs-7020srg-24c2-f
+part_number: DCS-7020SRG-24C2-F
+u_height: 1
+weight: 16.5
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Arista 7020R Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7020R-48_Datasheet.pdf)'
+console-ports:
+  - name: Console
+    type: rj-45
+module-bays:
+  - name: PS1
+    position: '0'
+  - name: PS2
+    position: '1'
+interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
+  - name: Ethernet1
+    type: 10gbase-x-sfpp
+  - name: Ethernet2
+    type: 10gbase-x-sfpp
+  - name: Ethernet3
+    type: 10gbase-x-sfpp
+  - name: Ethernet4
+    type: 10gbase-x-sfpp
+  - name: Ethernet5
+    type: 10gbase-x-sfpp
+  - name: Ethernet6
+    type: 10gbase-x-sfpp
+  - name: Ethernet7
+    type: 10gbase-x-sfpp
+  - name: Ethernet8
+    type: 10gbase-x-sfpp
+  - name: Ethernet9
+    type: 10gbase-x-sfpp
+  - name: Ethernet10
+    type: 10gbase-x-sfpp
+  - name: Ethernet11
+    type: 10gbase-x-sfpp
+  - name: Ethernet12
+    type: 10gbase-x-sfpp
+  - name: Ethernet13
+    type: 10gbase-x-sfpp
+  - name: Ethernet14
+    type: 10gbase-x-sfpp
+  - name: Ethernet15
+    type: 10gbase-x-sfpp
+  - name: Ethernet16
+    type: 10gbase-x-sfpp
+  - name: Ethernet17
+    type: 10gbase-x-sfpp
+  - name: Ethernet18
+    type: 10gbase-x-sfpp
+  - name: Ethernet19
+    type: 10gbase-x-sfpp
+  - name: Ethernet20
+    type: 10gbase-x-sfpp
+  - name: Ethernet21
+    type: 10gbase-x-sfpp
+  - name: Ethernet22
+    type: 10gbase-x-sfpp
+  - name: Ethernet23
+    type: 10gbase-x-sfpp
+  - name: Ethernet24
+    type: 10gbase-x-sfpp
+# QSFP28(100G) ports can be broke into 4x25 with a model of [25-26]/[1-4]
+  - name: Ethernet25/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet26/1
+    type: 100gbase-x-qsfp28
diff --git a/device-types/Arista/DCS-7020SRG-24C2-R.yaml b/device-types/Arista/DCS-7020SRG-24C2-R.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bd152b7dd0ea2f24bede3e71b2b70b79c14786b6
--- /dev/null
+++ b/device-types/Arista/DCS-7020SRG-24C2-R.yaml
@@ -0,0 +1,76 @@
+---
+manufacturer: Arista
+model: DCS-7020SRG-24C2-R
+slug: arista-dcs-7020srg-24c2-r
+part_number: DCS-7020SRG-24C2-R
+u_height: 1
+weight: 16.5
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Arista 7020R Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7020R-48_Datasheet.pdf)'
+console-ports:
+  - name: Console
+    type: rj-45
+module-bays:
+  - name: PS1
+    position: '0'
+  - name: PS2
+    position: '1'
+interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
+  - name: Ethernet1
+    type: 10gbase-x-sfpp
+  - name: Ethernet2
+    type: 10gbase-x-sfpp
+  - name: Ethernet3
+    type: 10gbase-x-sfpp
+  - name: Ethernet4
+    type: 10gbase-x-sfpp
+  - name: Ethernet5
+    type: 10gbase-x-sfpp
+  - name: Ethernet6
+    type: 10gbase-x-sfpp
+  - name: Ethernet7
+    type: 10gbase-x-sfpp
+  - name: Ethernet8
+    type: 10gbase-x-sfpp
+  - name: Ethernet9
+    type: 10gbase-x-sfpp
+  - name: Ethernet10
+    type: 10gbase-x-sfpp
+  - name: Ethernet11
+    type: 10gbase-x-sfpp
+  - name: Ethernet12
+    type: 10gbase-x-sfpp
+  - name: Ethernet13
+    type: 10gbase-x-sfpp
+  - name: Ethernet14
+    type: 10gbase-x-sfpp
+  - name: Ethernet15
+    type: 10gbase-x-sfpp
+  - name: Ethernet16
+    type: 10gbase-x-sfpp
+  - name: Ethernet17
+    type: 10gbase-x-sfpp
+  - name: Ethernet18
+    type: 10gbase-x-sfpp
+  - name: Ethernet19
+    type: 10gbase-x-sfpp
+  - name: Ethernet20
+    type: 10gbase-x-sfpp
+  - name: Ethernet21
+    type: 10gbase-x-sfpp
+  - name: Ethernet22
+    type: 10gbase-x-sfpp
+  - name: Ethernet23
+    type: 10gbase-x-sfpp
+  - name: Ethernet24
+    type: 10gbase-x-sfpp
+# QSFP28(100G) ports can be broke into 4x25 with a model of [25-26]/[1-4]
+  - name: Ethernet25/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet26/1
+    type: 100gbase-x-qsfp28
diff --git a/device-types/Arista/DCS-7020TR-48.yaml b/device-types/Arista/DCS-7020TR-48-F.yaml
similarity index 89%
rename from device-types/Arista/DCS-7020TR-48.yaml
rename to device-types/Arista/DCS-7020TR-48-F.yaml
index 0a7d6747df6a80cfebfb1973fbe5006ec7b8c42f..d733e51b05389b9d861b191bcbded97360941101 100644
--- a/device-types/Arista/DCS-7020TR-48.yaml
+++ b/device-types/Arista/DCS-7020TR-48-F.yaml
@@ -1,23 +1,26 @@
 ---
 manufacturer: Arista
-model: DCS-7020TR-48
-slug: arista-dcs-7020tr-48
-part_number: DCS-7020TR-48
+model: DCS-7020TR-48-F
+slug: arista-dcs-7020tr-48-f
+part_number: DCS-7020TR-48-F
 u_height: 1
+weight: 17
+weight_unit: lb
+airflow: front-to-rear
 is_full_depth: false
+comments: '[Arista 7020R Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7020R-48_Datasheet.pdf)'
 console-ports:
   - name: Console
     type: rj-45
-power-ports:
+module-bays:
   - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 115
-    allocated_draw: 105
+    position: '0'
   - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 115
-    allocated_draw: 105
+    position: '1'
 interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
   - name: Ethernet1
     type: 1000base-t
   - name: Ethernet2
@@ -126,6 +129,3 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet54
     type: 10gbase-x-sfpp
-  - name: Management1
-    type: 1000base-t
-    mgmt_only: true
diff --git a/device-types/Arista/DCS-7020TR-48-R.yaml b/device-types/Arista/DCS-7020TR-48-R.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..75c32d8e082d0ca7409584191a7d391b505bc975
--- /dev/null
+++ b/device-types/Arista/DCS-7020TR-48-R.yaml
@@ -0,0 +1,131 @@
+---
+manufacturer: Arista
+model: DCS-7020TR-48-R
+slug: arista-dcs-7020tr-48-r
+part_number: DCS-7020TR-48-R
+u_height: 1
+weight: 17
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Arista 7020R Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7020R-48_Datasheet.pdf)'
+console-ports:
+  - name: Console
+    type: rj-45
+module-bays:
+  - name: PS1
+    position: '0'
+  - name: PS2
+    position: '1'
+interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
+  - name: Ethernet1
+    type: 1000base-t
+  - name: Ethernet2
+    type: 1000base-t
+  - name: Ethernet3
+    type: 1000base-t
+  - name: Ethernet4
+    type: 1000base-t
+  - name: Ethernet5
+    type: 1000base-t
+  - name: Ethernet6
+    type: 1000base-t
+  - name: Ethernet7
+    type: 1000base-t
+  - name: Ethernet8
+    type: 1000base-t
+  - name: Ethernet9
+    type: 1000base-t
+  - name: Ethernet10
+    type: 1000base-t
+  - name: Ethernet11
+    type: 1000base-t
+  - name: Ethernet12
+    type: 1000base-t
+  - name: Ethernet13
+    type: 1000base-t
+  - name: Ethernet14
+    type: 1000base-t
+  - name: Ethernet15
+    type: 1000base-t
+  - name: Ethernet16
+    type: 1000base-t
+  - name: Ethernet17
+    type: 1000base-t
+  - name: Ethernet18
+    type: 1000base-t
+  - name: Ethernet19
+    type: 1000base-t
+  - name: Ethernet20
+    type: 1000base-t
+  - name: Ethernet21
+    type: 1000base-t
+  - name: Ethernet22
+    type: 1000base-t
+  - name: Ethernet23
+    type: 1000base-t
+  - name: Ethernet24
+    type: 1000base-t
+  - name: Ethernet25
+    type: 1000base-t
+  - name: Ethernet26
+    type: 1000base-t
+  - name: Ethernet27
+    type: 1000base-t
+  - name: Ethernet28
+    type: 1000base-t
+  - name: Ethernet29
+    type: 1000base-t
+  - name: Ethernet30
+    type: 1000base-t
+  - name: Ethernet31
+    type: 1000base-t
+  - name: Ethernet32
+    type: 1000base-t
+  - name: Ethernet33
+    type: 1000base-t
+  - name: Ethernet34
+    type: 1000base-t
+  - name: Ethernet35
+    type: 1000base-t
+  - name: Ethernet36
+    type: 1000base-t
+  - name: Ethernet37
+    type: 1000base-t
+  - name: Ethernet38
+    type: 1000base-t
+  - name: Ethernet39
+    type: 1000base-t
+  - name: Ethernet40
+    type: 1000base-t
+  - name: Ethernet41
+    type: 1000base-t
+  - name: Ethernet42
+    type: 1000base-t
+  - name: Ethernet43
+    type: 1000base-t
+  - name: Ethernet44
+    type: 1000base-t
+  - name: Ethernet45
+    type: 1000base-t
+  - name: Ethernet46
+    type: 1000base-t
+  - name: Ethernet47
+    type: 1000base-t
+  - name: Ethernet48
+    type: 1000base-t
+  - name: Ethernet49
+    type: 10gbase-x-sfpp
+  - name: Ethernet50
+    type: 10gbase-x-sfpp
+  - name: Ethernet51
+    type: 10gbase-x-sfpp
+  - name: Ethernet52
+    type: 10gbase-x-sfpp
+  - name: Ethernet53
+    type: 10gbase-x-sfpp
+  - name: Ethernet54
+    type: 10gbase-x-sfpp
diff --git a/device-types/Arista/DCS-7020TRA-48-F.yaml b/device-types/Arista/DCS-7020TRA-48-F.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d3e7609fbfcf24e592e9925ca945013d54819ed9
--- /dev/null
+++ b/device-types/Arista/DCS-7020TRA-48-F.yaml
@@ -0,0 +1,131 @@
+---
+manufacturer: Arista
+model: DCS-7020TRA-48-F
+slug: arista-dcs-7020tra-48-f
+part_number: DCS-7020TRA-48-F
+u_height: 1
+weight: 17
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Arista 7020R Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7020R-48_Datasheet.pdf)'
+console-ports:
+  - name: Console
+    type: rj-45
+module-bays:
+  - name: PS1
+    position: '0'
+  - name: PS2
+    position: '1'
+interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
+  - name: Ethernet1
+    type: 1000base-t
+  - name: Ethernet2
+    type: 1000base-t
+  - name: Ethernet3
+    type: 1000base-t
+  - name: Ethernet4
+    type: 1000base-t
+  - name: Ethernet5
+    type: 1000base-t
+  - name: Ethernet6
+    type: 1000base-t
+  - name: Ethernet7
+    type: 1000base-t
+  - name: Ethernet8
+    type: 1000base-t
+  - name: Ethernet9
+    type: 1000base-t
+  - name: Ethernet10
+    type: 1000base-t
+  - name: Ethernet11
+    type: 1000base-t
+  - name: Ethernet12
+    type: 1000base-t
+  - name: Ethernet13
+    type: 1000base-t
+  - name: Ethernet14
+    type: 1000base-t
+  - name: Ethernet15
+    type: 1000base-t
+  - name: Ethernet16
+    type: 1000base-t
+  - name: Ethernet17
+    type: 1000base-t
+  - name: Ethernet18
+    type: 1000base-t
+  - name: Ethernet19
+    type: 1000base-t
+  - name: Ethernet20
+    type: 1000base-t
+  - name: Ethernet21
+    type: 1000base-t
+  - name: Ethernet22
+    type: 1000base-t
+  - name: Ethernet23
+    type: 1000base-t
+  - name: Ethernet24
+    type: 1000base-t
+  - name: Ethernet25
+    type: 1000base-t
+  - name: Ethernet26
+    type: 1000base-t
+  - name: Ethernet27
+    type: 1000base-t
+  - name: Ethernet28
+    type: 1000base-t
+  - name: Ethernet29
+    type: 1000base-t
+  - name: Ethernet30
+    type: 1000base-t
+  - name: Ethernet31
+    type: 1000base-t
+  - name: Ethernet32
+    type: 1000base-t
+  - name: Ethernet33
+    type: 1000base-t
+  - name: Ethernet34
+    type: 1000base-t
+  - name: Ethernet35
+    type: 1000base-t
+  - name: Ethernet36
+    type: 1000base-t
+  - name: Ethernet37
+    type: 1000base-t
+  - name: Ethernet38
+    type: 1000base-t
+  - name: Ethernet39
+    type: 1000base-t
+  - name: Ethernet40
+    type: 1000base-t
+  - name: Ethernet41
+    type: 1000base-t
+  - name: Ethernet42
+    type: 1000base-t
+  - name: Ethernet43
+    type: 1000base-t
+  - name: Ethernet44
+    type: 1000base-t
+  - name: Ethernet45
+    type: 1000base-t
+  - name: Ethernet46
+    type: 1000base-t
+  - name: Ethernet47
+    type: 1000base-t
+  - name: Ethernet48
+    type: 1000base-t
+  - name: Ethernet49
+    type: 10gbase-x-sfpp
+  - name: Ethernet50
+    type: 10gbase-x-sfpp
+  - name: Ethernet51
+    type: 10gbase-x-sfpp
+  - name: Ethernet52
+    type: 10gbase-x-sfpp
+  - name: Ethernet53
+    type: 10gbase-x-sfpp
+  - name: Ethernet54
+    type: 10gbase-x-sfpp
diff --git a/device-types/Arista/DCS-7020TRA-48-R.yaml b/device-types/Arista/DCS-7020TRA-48-R.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..56246f0c3ad4e5b42d15b14cf2b70a9764b1863f
--- /dev/null
+++ b/device-types/Arista/DCS-7020TRA-48-R.yaml
@@ -0,0 +1,131 @@
+---
+manufacturer: Arista
+model: DCS-7020TRA-48-R
+slug: arista-dcs-7020tra-48-r
+part_number: DCS-7020TRA-48-R
+u_height: 1
+weight: 17
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Arista 7020R Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7020R-48_Datasheet.pdf)'
+console-ports:
+  - name: Console
+    type: rj-45
+module-bays:
+  - name: PS1
+    position: '0'
+  - name: PS2
+    position: '1'
+interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
+  - name: Ethernet1
+    type: 1000base-t
+  - name: Ethernet2
+    type: 1000base-t
+  - name: Ethernet3
+    type: 1000base-t
+  - name: Ethernet4
+    type: 1000base-t
+  - name: Ethernet5
+    type: 1000base-t
+  - name: Ethernet6
+    type: 1000base-t
+  - name: Ethernet7
+    type: 1000base-t
+  - name: Ethernet8
+    type: 1000base-t
+  - name: Ethernet9
+    type: 1000base-t
+  - name: Ethernet10
+    type: 1000base-t
+  - name: Ethernet11
+    type: 1000base-t
+  - name: Ethernet12
+    type: 1000base-t
+  - name: Ethernet13
+    type: 1000base-t
+  - name: Ethernet14
+    type: 1000base-t
+  - name: Ethernet15
+    type: 1000base-t
+  - name: Ethernet16
+    type: 1000base-t
+  - name: Ethernet17
+    type: 1000base-t
+  - name: Ethernet18
+    type: 1000base-t
+  - name: Ethernet19
+    type: 1000base-t
+  - name: Ethernet20
+    type: 1000base-t
+  - name: Ethernet21
+    type: 1000base-t
+  - name: Ethernet22
+    type: 1000base-t
+  - name: Ethernet23
+    type: 1000base-t
+  - name: Ethernet24
+    type: 1000base-t
+  - name: Ethernet25
+    type: 1000base-t
+  - name: Ethernet26
+    type: 1000base-t
+  - name: Ethernet27
+    type: 1000base-t
+  - name: Ethernet28
+    type: 1000base-t
+  - name: Ethernet29
+    type: 1000base-t
+  - name: Ethernet30
+    type: 1000base-t
+  - name: Ethernet31
+    type: 1000base-t
+  - name: Ethernet32
+    type: 1000base-t
+  - name: Ethernet33
+    type: 1000base-t
+  - name: Ethernet34
+    type: 1000base-t
+  - name: Ethernet35
+    type: 1000base-t
+  - name: Ethernet36
+    type: 1000base-t
+  - name: Ethernet37
+    type: 1000base-t
+  - name: Ethernet38
+    type: 1000base-t
+  - name: Ethernet39
+    type: 1000base-t
+  - name: Ethernet40
+    type: 1000base-t
+  - name: Ethernet41
+    type: 1000base-t
+  - name: Ethernet42
+    type: 1000base-t
+  - name: Ethernet43
+    type: 1000base-t
+  - name: Ethernet44
+    type: 1000base-t
+  - name: Ethernet45
+    type: 1000base-t
+  - name: Ethernet46
+    type: 1000base-t
+  - name: Ethernet47
+    type: 1000base-t
+  - name: Ethernet48
+    type: 1000base-t
+  - name: Ethernet49
+    type: 10gbase-x-sfpp
+  - name: Ethernet50
+    type: 10gbase-x-sfpp
+  - name: Ethernet51
+    type: 10gbase-x-sfpp
+  - name: Ethernet52
+    type: 10gbase-x-sfpp
+  - name: Ethernet53
+    type: 10gbase-x-sfpp
+  - name: Ethernet54
+    type: 10gbase-x-sfpp
diff --git a/module-types/Arista/PWR-400-DC-BLUE.yaml b/module-types/Arista/PWR-400-DC-BLUE.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f9670d6ceaac992349a426ceccb8e064680768eb
--- /dev/null
+++ b/module-types/Arista/PWR-400-DC-BLUE.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: Arista
+model: PWR-400-DC-BLUE
+part_number: PWR-400-DC-BLUE
+# airflow: front-to-rear
+power-ports:
+  - name: '{module}'
+    type: dc-terminal
+    maximum_draw: 400
diff --git a/module-types/Arista/PWR-400-DC-RED.yaml b/module-types/Arista/PWR-400-DC-RED.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9859a2b07562d9251c91c99fbe1711997e5d68eb
--- /dev/null
+++ b/module-types/Arista/PWR-400-DC-RED.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: Arista
+model: PWR-400-DC-RED
+part_number: PWR-400-DC-RED
+# airflow: rear-to-front
+power-ports:
+  - name: '{module}'
+    type: dc-terminal
+    maximum_draw: 400
diff --git a/module-types/Arista/PWR-400AC-BLUE.yaml b/module-types/Arista/PWR-400AC-BLUE.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1039507c78454799d59d29109338e5428ea712b1
--- /dev/null
+++ b/module-types/Arista/PWR-400AC-BLUE.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: Arista
+model: PWR-400AC-BLUE
+part_number: PWR-400AC-BLUE
+# airflow: front-to-rear
+power-ports:
+  - name: '{module}'
+    type: iec-60320-c14
+    maximum_draw: 400
diff --git a/module-types/Arista/PWR-400AC-RED.yaml b/module-types/Arista/PWR-400AC-RED.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..dfc90a9747a77b2c580e6709ae44576f4f9927a9
--- /dev/null
+++ b/module-types/Arista/PWR-400AC-RED.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: Arista
+model: PWR-400AC-RED
+part_number: PWR-400AC-RED
+# airflow: rear-to-front
+power-ports:
+  - name: '{module}'
+    type: iec-60320-c14
+    maximum_draw: 400