From 677871409463924ee36d4544a004068d5050a3f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Markus=20Viitam=C3=A4ki?=
 <markus.viitamaki@embark-studios.com>
Date: Wed, 23 Aug 2023 17:18:12 +0200
Subject: [PATCH] Arista 7060X & 7260X (Update) (#1535)

---
 ...-7060CX-32S.yaml => DCS-7060CX-32S-F.yaml} |  39 +++--
 ...7060CX2-32S.yaml => DCS-7060CX-32S-R.yaml} |  42 +++--
 device-types/Arista/DCS-7060CX-64-F.yaml      | 157 ++++++++++++++++++
 device-types/Arista/DCS-7060CX-64-R.yaml      | 157 ++++++++++++++++++
 device-types/Arista/DCS-7060CX2-32S-F.yaml    |  93 +++++++++++
 device-types/Arista/DCS-7060CX2-32S-R.yaml    |  93 +++++++++++
 device-types/Arista/DCS-7060QX-64-F.yaml      | 156 +++++++++++++++++
 device-types/Arista/DCS-7060QX-64-R.yaml      | 156 +++++++++++++++++
 ...X2-48YC6.yaml => DCS-7060SX2-48YC6-F.yaml} |  28 ++--
 device-types/Arista/DCS-7060SX2-48YC6-R.yaml  | 133 +++++++++++++++
 module-types/Arista/PWR-1100AC-F.yaml         |   9 +
 module-types/Arista/PWR-1100AC-R.yaml         |   9 +
 12 files changed, 1024 insertions(+), 48 deletions(-)
 rename device-types/Arista/{DCS-7060CX-32S.yaml => DCS-7060CX-32S-F.yaml} (79%)
 rename device-types/Arista/{DCS-7060CX2-32S.yaml => DCS-7060CX-32S-R.yaml} (75%)
 create mode 100644 device-types/Arista/DCS-7060CX-64-F.yaml
 create mode 100644 device-types/Arista/DCS-7060CX-64-R.yaml
 create mode 100644 device-types/Arista/DCS-7060CX2-32S-F.yaml
 create mode 100644 device-types/Arista/DCS-7060CX2-32S-R.yaml
 create mode 100644 device-types/Arista/DCS-7060QX-64-F.yaml
 create mode 100644 device-types/Arista/DCS-7060QX-64-R.yaml
 rename device-types/Arista/{DCS-7060SX2-48YC6.yaml => DCS-7060SX2-48YC6-F.yaml} (85%)
 create mode 100644 device-types/Arista/DCS-7060SX2-48YC6-R.yaml
 create mode 100644 module-types/Arista/PWR-1100AC-F.yaml
 create mode 100644 module-types/Arista/PWR-1100AC-R.yaml

diff --git a/device-types/Arista/DCS-7060CX-32S.yaml b/device-types/Arista/DCS-7060CX-32S-F.yaml
similarity index 79%
rename from device-types/Arista/DCS-7060CX-32S.yaml
rename to device-types/Arista/DCS-7060CX-32S-F.yaml
index 26158e65..42ce7da5 100644
--- a/device-types/Arista/DCS-7060CX-32S.yaml
+++ b/device-types/Arista/DCS-7060CX-32S-F.yaml
@@ -1,11 +1,28 @@
 ---
 manufacturer: Arista
-model: DCS-7060CX-32S
-slug: arista-dcs-7060cx-32s
-part_number: DCS-7060CX-32S
-is_full_depth: true
+model: DCS-7060CX-32S-F
+slug: arista-dcs-7060cx-32s-f
+part_number: DCS-7060CX-32S-F
 u_height: 1
+weight: 21
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Arista 7060X and 7260X Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7060X_7260X_DS.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
+# QSFP28(100G) ports can be broken into 4x25 with a model of [1-32]/[1-4]
+# QSFP+(40G) ports can be broken into 4x10 with a model of [1-32]/[1-4]
   - name: Ethernet1/1
     type: 100gbase-x-qsfp28
   - name: Ethernet2/1
@@ -74,17 +91,3 @@ interfaces:
     type: 10gbase-x-sfpp
   - name: Ethernet34
     type: 10gbase-x-sfpp
-  - name: Management1
-    type: 1000base-t
-console-ports:
-  - name: Console
-    type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 500
-    allocated_draw: 187
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 500
-    allocated_draw: 187
diff --git a/device-types/Arista/DCS-7060CX2-32S.yaml b/device-types/Arista/DCS-7060CX-32S-R.yaml
similarity index 75%
rename from device-types/Arista/DCS-7060CX2-32S.yaml
rename to device-types/Arista/DCS-7060CX-32S-R.yaml
index cc894659..d47b2782 100644
--- a/device-types/Arista/DCS-7060CX2-32S.yaml
+++ b/device-types/Arista/DCS-7060CX-32S-R.yaml
@@ -1,10 +1,28 @@
 ---
 manufacturer: Arista
-model: DCS-7060CX2-32S
-slug: arista-dcs-7060cx2-32s
-is_full_depth: true
+model: DCS-7060CX-32S-R
+slug: arista-dcs-7060cx-32s-r
+part_number: DCS-7060CX-32S-R
 u_height: 1
+weight: 21
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Arista 7060X and 7260X Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7060X_7260X_DS.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
+# QSFP28(100G) ports can be broken into 4x25 with a model of [1-32]/[1-4]
+# QSFP+(40G) ports can be broken into 4x10 with a model of [1-32]/[1-4]
   - name: Ethernet1/1
     type: 100gbase-x-qsfp28
   - name: Ethernet2/1
@@ -69,17 +87,7 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: Ethernet32/1
     type: 100gbase-x-qsfp28
-  - name: Management1
-    type: 1000base-t
-console-ports:
-  - name: Console
-    type: rj-45
-power-ports:
-  - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 460
-    allocated_draw: 150
-  - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 460
-    allocated_draw: 150
+  - name: Ethernet33
+    type: 10gbase-x-sfpp
+  - name: Ethernet34
+    type: 10gbase-x-sfpp
diff --git a/device-types/Arista/DCS-7060CX-64-F.yaml b/device-types/Arista/DCS-7060CX-64-F.yaml
new file mode 100644
index 00000000..90fbeb7a
--- /dev/null
+++ b/device-types/Arista/DCS-7060CX-64-F.yaml
@@ -0,0 +1,157 @@
+---
+manufacturer: Arista
+model: DCS-7060CX-64-F
+slug: arista-dcs-7060cx-64-f
+part_number: DCS-7060CX-64-F
+u_height: 2
+weight: 44.1
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Arista 7060X and 7260X Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7060X_7260X_DS.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
+# QSFP28(100G) ports can be broken into 4x25 with a model of [1-64]/[1-4]
+# QSFP+(40G) ports can be broken into 4x10 with a model of [1-64]/[1-4]
+  - name: Ethernet1/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet2/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet3/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet4/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet5/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet6/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet7/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet8/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet9/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet10/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet11/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet12/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet13/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet14/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet15/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet16/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet17/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet18/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet19/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet20/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet21/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet22/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet23/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet24/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet25/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet26/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet27/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet28/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet29/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet30/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet31/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet32/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet33/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet34/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet35/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet36/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet37/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet38/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet39/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet40/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet41/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet42/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet43/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet44/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet45/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet46/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet47/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet48/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet49/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet50/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet51/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet52/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet53/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet54/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet55/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet56/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet57/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet58/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet59/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet60/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet61/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet62/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet63/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet64/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet65
+    type: 10gbase-x-sfpp
+  - name: Ethernet66
+    type: 10gbase-x-sfpp
diff --git a/device-types/Arista/DCS-7060CX-64-R.yaml b/device-types/Arista/DCS-7060CX-64-R.yaml
new file mode 100644
index 00000000..63097821
--- /dev/null
+++ b/device-types/Arista/DCS-7060CX-64-R.yaml
@@ -0,0 +1,157 @@
+---
+manufacturer: Arista
+model: DCS-7060CX-64-R
+slug: arista-dcs-7060cx-64-r
+part_number: DCS-7060CX-64-R
+u_height: 2
+weight: 44.1
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Arista 7060X and 7260X Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7060X_7260X_DS.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
+# QSFP28(100G) ports can be broken into 4x25 with a model of [1-64]/[1-4]
+# QSFP+(40G) ports can be broken into 4x10 with a model of [1-64]/[1-4]
+  - name: Ethernet1/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet2/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet3/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet4/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet5/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet6/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet7/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet8/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet9/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet10/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet11/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet12/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet13/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet14/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet15/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet16/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet17/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet18/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet19/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet20/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet21/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet22/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet23/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet24/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet25/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet26/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet27/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet28/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet29/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet30/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet31/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet32/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet33/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet34/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet35/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet36/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet37/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet38/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet39/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet40/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet41/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet42/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet43/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet44/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet45/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet46/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet47/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet48/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet49/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet50/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet51/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet52/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet53/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet54/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet55/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet56/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet57/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet58/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet59/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet60/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet61/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet62/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet63/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet64/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet65
+    type: 10gbase-x-sfpp
+  - name: Ethernet66
+    type: 10gbase-x-sfpp
diff --git a/device-types/Arista/DCS-7060CX2-32S-F.yaml b/device-types/Arista/DCS-7060CX2-32S-F.yaml
new file mode 100644
index 00000000..63070f8a
--- /dev/null
+++ b/device-types/Arista/DCS-7060CX2-32S-F.yaml
@@ -0,0 +1,93 @@
+---
+manufacturer: Arista
+model: DCS-7060CX2-32S-F
+slug: arista-dcs-7060cx2-32s-f
+part_number: DCS-7060CX2-32S-F
+u_height: 1
+weight: 21
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Arista 7060X and 7260X Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7060X_7260X_DS.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
+# QSFP28(100G) ports can be broken into 4x25 with a model of [1-32]/[1-4]
+# QSFP+(40G) ports can be broken into 4x10 with a model of [1-32]/[1-4]
+  - name: Ethernet1/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet2/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet3/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet4/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet5/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet6/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet7/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet8/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet9/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet10/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet11/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet12/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet13/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet14/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet15/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet16/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet17/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet18/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet19/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet20/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet21/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet22/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet23/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet24/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet25/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet26/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet27/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet28/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet29/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet30/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet31/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet32/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet33
+    type: 10gbase-x-sfpp
+  - name: Ethernet34
+    type: 10gbase-x-sfpp
diff --git a/device-types/Arista/DCS-7060CX2-32S-R.yaml b/device-types/Arista/DCS-7060CX2-32S-R.yaml
new file mode 100644
index 00000000..dab3c72a
--- /dev/null
+++ b/device-types/Arista/DCS-7060CX2-32S-R.yaml
@@ -0,0 +1,93 @@
+---
+manufacturer: Arista
+model: DCS-7060CX2-32S-R
+slug: arista-dcs-7060cx2-32s-r
+part_number: DCS-7060CX2-32S-R
+u_height: 1
+weight: 21
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Arista 7060X and 7260X Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7060X_7260X_DS.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
+# QSFP28(100G) ports can be broken into 4x25 with a model of [1-32]/[1-4]
+# QSFP+(40G) ports can be broken into 4x10 with a model of [1-32]/[1-4]
+  - name: Ethernet1/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet2/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet3/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet4/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet5/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet6/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet7/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet8/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet9/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet10/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet11/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet12/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet13/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet14/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet15/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet16/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet17/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet18/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet19/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet20/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet21/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet22/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet23/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet24/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet25/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet26/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet27/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet28/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet29/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet30/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet31/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet32/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet33
+    type: 10gbase-x-sfpp
+  - name: Ethernet34
+    type: 10gbase-x-sfpp
diff --git a/device-types/Arista/DCS-7060QX-64-F.yaml b/device-types/Arista/DCS-7060QX-64-F.yaml
new file mode 100644
index 00000000..f49eae48
--- /dev/null
+++ b/device-types/Arista/DCS-7060QX-64-F.yaml
@@ -0,0 +1,156 @@
+---
+manufacturer: Arista
+model: DCS-7060QX-64-F
+slug: arista-dcs-7060qx-64-f
+part_number: DCS-7060QX-64-F
+u_height: 2
+weight: 35.5
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Arista 7060X and 7260X Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7060X_7260X_DS.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
+# QSFP+(40G) ports can be broken into 4x10 with a model of [1-64]/[1-4]
+  - name: Ethernet1/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet2/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet3/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet4/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet5/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet6/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet7/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet8/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet9/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet10/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet11/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet12/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet13/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet14/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet15/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet16/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet17/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet18/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet19/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet20/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet21/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet22/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet23/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet24/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet25/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet26/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet27/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet28/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet29/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet30/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet31/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet32/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet33/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet34/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet35/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet36/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet37/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet38/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet39/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet40/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet41/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet42/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet43/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet44/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet45/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet46/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet47/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet48/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet49/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet50/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet51/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet52/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet53/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet54/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet55/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet56/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet57/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet58/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet59/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet60/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet61/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet62/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet63/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet64/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet65
+    type: 10gbase-x-sfpp
+  - name: Ethernet66
+    type: 10gbase-x-sfpp
diff --git a/device-types/Arista/DCS-7060QX-64-R.yaml b/device-types/Arista/DCS-7060QX-64-R.yaml
new file mode 100644
index 00000000..9f29de8d
--- /dev/null
+++ b/device-types/Arista/DCS-7060QX-64-R.yaml
@@ -0,0 +1,156 @@
+---
+manufacturer: Arista
+model: DCS-7060QX-64-R
+slug: arista-dcs-7060qx-64-r
+part_number: DCS-7060QX-64-R
+u_height: 2
+weight: 35.5
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Arista 7060X and 7260X Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7060X_7260X_DS.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
+# QSFP+(40G) ports can be broken into 4x10 with a model of [1-64]/[1-4]
+  - name: Ethernet1/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet2/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet3/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet4/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet5/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet6/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet7/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet8/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet9/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet10/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet11/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet12/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet13/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet14/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet15/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet16/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet17/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet18/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet19/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet20/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet21/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet22/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet23/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet24/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet25/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet26/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet27/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet28/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet29/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet30/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet31/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet32/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet33/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet34/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet35/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet36/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet37/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet38/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet39/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet40/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet41/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet42/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet43/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet44/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet45/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet46/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet47/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet48/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet49/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet50/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet51/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet52/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet53/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet54/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet55/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet56/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet57/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet58/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet59/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet60/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet61/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet62/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet63/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet64/1
+    type: 40gbase-x-qsfpp
+  - name: Ethernet65
+    type: 10gbase-x-sfpp
+  - name: Ethernet66
+    type: 10gbase-x-sfpp
diff --git a/device-types/Arista/DCS-7060SX2-48YC6.yaml b/device-types/Arista/DCS-7060SX2-48YC6-F.yaml
similarity index 85%
rename from device-types/Arista/DCS-7060SX2-48YC6.yaml
rename to device-types/Arista/DCS-7060SX2-48YC6-F.yaml
index 9263629c..e98f80b8 100644
--- a/device-types/Arista/DCS-7060SX2-48YC6.yaml
+++ b/device-types/Arista/DCS-7060SX2-48YC6-F.yaml
@@ -1,23 +1,26 @@
 ---
 manufacturer: Arista
-model: DCS-7060SX2-48YC6
-slug: arista-dcs-7060sx2-48yc6
-part_number: DCS-7060SX2-48YC6
+model: DCS-7060SX2-48YC6-F
+slug: arista-dcs-7060sx2-48yc6-f
+part_number: DCS-7060SX2-48YC6-F
 u_height: 1
+weight: 19.4
+weight_unit: lb
+airflow: front-to-rear
 is_full_depth: false
+comments: '[Arista 7060X and 7260X Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7060X_7260X_DS.pdf)'
 console-ports:
   - name: Console
     type: rj-45
-power-ports:
+module-bays:
   - name: PS1
-    type: iec-60320-c14
-    maximum_draw: 500
-    allocated_draw: 240
+    position: '0'
   - name: PS2
-    type: iec-60320-c14
-    maximum_draw: 500
-    allocated_draw: 240
+    position: '1'
 interfaces:
+  - name: Management1
+    type: 1000base-t
+    mgmt_only: true
   - name: Ethernet1
     type: 25gbase-x-sfp28
   - name: Ethernet2
@@ -114,6 +117,8 @@ interfaces:
     type: 25gbase-x-sfp28
   - name: Ethernet48
     type: 25gbase-x-sfp28
+# QSFP28(100G) ports can be broken into 4x25 with a model of [49-54]/[1-4]
+# QSFP+(40G) ports can be broken into 4x10 with a model of [49-54]/[1-4]
   - name: Ethernet49/1
     type: 100gbase-x-qsfp28
   - name: Ethernet50/1
@@ -126,6 +131,3 @@ interfaces:
     type: 100gbase-x-qsfp28
   - name: Ethernet54/1
     type: 100gbase-x-qsfp28
-  - name: Management1
-    type: 1000base-t
-    mgmt_only: true
diff --git a/device-types/Arista/DCS-7060SX2-48YC6-R.yaml b/device-types/Arista/DCS-7060SX2-48YC6-R.yaml
new file mode 100644
index 00000000..f31ffce9
--- /dev/null
+++ b/device-types/Arista/DCS-7060SX2-48YC6-R.yaml
@@ -0,0 +1,133 @@
+---
+manufacturer: Arista
+model: DCS-7060SX2-48YC6-R
+slug: arista-dcs-7060sx2-48yc6-r
+part_number: DCS-7060SX2-48YC6-R
+u_height: 1
+weight: 19.4
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Arista 7060X and 7260X Data Sheet](https://www.arista.com/assets/data/pdf/Datasheets/7060X_7260X_DS.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: 25gbase-x-sfp28
+  - name: Ethernet2
+    type: 25gbase-x-sfp28
+  - name: Ethernet3
+    type: 25gbase-x-sfp28
+  - name: Ethernet4
+    type: 25gbase-x-sfp28
+  - name: Ethernet5
+    type: 25gbase-x-sfp28
+  - name: Ethernet6
+    type: 25gbase-x-sfp28
+  - name: Ethernet7
+    type: 25gbase-x-sfp28
+  - name: Ethernet8
+    type: 25gbase-x-sfp28
+  - name: Ethernet9
+    type: 25gbase-x-sfp28
+  - name: Ethernet10
+    type: 25gbase-x-sfp28
+  - name: Ethernet11
+    type: 25gbase-x-sfp28
+  - name: Ethernet12
+    type: 25gbase-x-sfp28
+  - name: Ethernet13
+    type: 25gbase-x-sfp28
+  - name: Ethernet14
+    type: 25gbase-x-sfp28
+  - name: Ethernet15
+    type: 25gbase-x-sfp28
+  - name: Ethernet16
+    type: 25gbase-x-sfp28
+  - name: Ethernet17
+    type: 25gbase-x-sfp28
+  - name: Ethernet18
+    type: 25gbase-x-sfp28
+  - name: Ethernet19
+    type: 25gbase-x-sfp28
+  - name: Ethernet20
+    type: 25gbase-x-sfp28
+  - name: Ethernet21
+    type: 25gbase-x-sfp28
+  - name: Ethernet22
+    type: 25gbase-x-sfp28
+  - name: Ethernet23
+    type: 25gbase-x-sfp28
+  - name: Ethernet24
+    type: 25gbase-x-sfp28
+  - name: Ethernet25
+    type: 25gbase-x-sfp28
+  - name: Ethernet26
+    type: 25gbase-x-sfp28
+  - name: Ethernet27
+    type: 25gbase-x-sfp28
+  - name: Ethernet28
+    type: 25gbase-x-sfp28
+  - name: Ethernet29
+    type: 25gbase-x-sfp28
+  - name: Ethernet30
+    type: 25gbase-x-sfp28
+  - name: Ethernet31
+    type: 25gbase-x-sfp28
+  - name: Ethernet32
+    type: 25gbase-x-sfp28
+  - name: Ethernet33
+    type: 25gbase-x-sfp28
+  - name: Ethernet34
+    type: 25gbase-x-sfp28
+  - name: Ethernet35
+    type: 25gbase-x-sfp28
+  - name: Ethernet36
+    type: 25gbase-x-sfp28
+  - name: Ethernet37
+    type: 25gbase-x-sfp28
+  - name: Ethernet38
+    type: 25gbase-x-sfp28
+  - name: Ethernet39
+    type: 25gbase-x-sfp28
+  - name: Ethernet40
+    type: 25gbase-x-sfp28
+  - name: Ethernet41
+    type: 25gbase-x-sfp28
+  - name: Ethernet42
+    type: 25gbase-x-sfp28
+  - name: Ethernet43
+    type: 25gbase-x-sfp28
+  - name: Ethernet44
+    type: 25gbase-x-sfp28
+  - name: Ethernet45
+    type: 25gbase-x-sfp28
+  - name: Ethernet46
+    type: 25gbase-x-sfp28
+  - name: Ethernet47
+    type: 25gbase-x-sfp28
+  - name: Ethernet48
+    type: 25gbase-x-sfp28
+# QSFP28(100G) ports can be broken into 4x25 with a model of [49-54]/[1-4]
+# QSFP+(40G) ports can be broken into 4x10 with a model of [49-54]/[1-4]
+  - name: Ethernet49/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet50/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet51/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet52/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet53/1
+    type: 100gbase-x-qsfp28
+  - name: Ethernet54/1
+    type: 100gbase-x-qsfp28
diff --git a/module-types/Arista/PWR-1100AC-F.yaml b/module-types/Arista/PWR-1100AC-F.yaml
new file mode 100644
index 00000000..b6c12f56
--- /dev/null
+++ b/module-types/Arista/PWR-1100AC-F.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: Arista
+model: PWR-1100AC-F
+part_number: PWR-1100AC-F
+# airflow: front-to-rear
+power-ports:
+  - name: '{module}'
+    type: iec-60320-c14
+    maximum_draw: 1100
diff --git a/module-types/Arista/PWR-1100AC-R.yaml b/module-types/Arista/PWR-1100AC-R.yaml
new file mode 100644
index 00000000..891d7615
--- /dev/null
+++ b/module-types/Arista/PWR-1100AC-R.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: Arista
+model: PWR-1100AC-R
+part_number: PWR-1100AC-R
+# airflow: rear-to-front
+power-ports:
+  - name: '{module}'
+    type: iec-60320-c14
+    maximum_draw: 1100
-- 
GitLab