diff --git a/device-types/Juniper/EX3400-24P.yaml b/device-types/Juniper/EX3400-24P.yaml
index 66e591e46c83bbc8e2b842efcd8a28fcbbbadc51..d1bcb5de166a99af32b7f2336e7aa92144c41dbc 100644
--- a/device-types/Juniper/EX3400-24P.yaml
+++ b/device-types/Juniper/EX3400-24P.yaml
@@ -1,57 +1,123 @@
---
manufacturer: Juniper
model: EX3400-24P
+part_number: EX3400-24P
slug: juniper-ex3400-24p
u_height: 1
+airflow: front-to-rear
+weight: 10.49
+weight_unit: lb
+comments: '[Juniper EX3400 Hardware Guide](https://www.juniper.net/content/dam/www/assets/datasheets/us/en/switches/ex3400-ethernet-switch-datasheet.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+ - name: Console (USB)
+ type: usb-mini-b
+module-bays:
+ - name: PSU0
+ position: '0'
+ - name: PSU1
+ position: '1'
interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
- name: ge-0/0/0
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/1
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/2
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/3
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/4
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/5
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/6
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/7
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/8
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/9
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/10
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/11
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/12
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/13
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/14
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/15
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/16
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/17
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/18
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/19
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/20
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/21
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/22
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/23
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: et-0/1/0
type: 40gbase-x-qsfpp
- name: et-0/1/1
@@ -72,18 +138,3 @@ interfaces:
type: 10gbase-x-sfpp
- name: xe-0/2/3
type: 10gbase-x-sfpp
- - name: me0
- type: 1000base-t
- mgmt_only: true
-power-ports:
- - name: PSU0
- type: iec-60320-c14
- maximum_draw: 600
- - name: PSU1
- type: iec-60320-c14
- maximum_draw: 600
-console-ports:
- - name: Console
- type: rj-45
- - name: Console (USB)
- type: usb-mini-b
diff --git a/device-types/Juniper/EX3400-24T-DC.yaml b/device-types/Juniper/EX3400-24T-DC.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..88559bfc6dd838959c578f4d9c8beb8aae4d6af7
--- /dev/null
+++ b/device-types/Juniper/EX3400-24T-DC.yaml
@@ -0,0 +1,92 @@
+---
+manufacturer: Juniper
+model: EX3400-24T-DC
+part_number: EX3400-24T-DC
+slug: juniper-ex3400-24t-dc
+u_height: 1
+airflow: front-to-rear
+weight: 10.49
+weight_unit: lb
+comments: '[Juniper EX3400 Hardware Guide](https://www.juniper.net/content/dam/www/assets/datasheets/us/en/switches/ex3400-ethernet-switch-datasheet.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+ - name: Console (USB)
+ type: usb-mini-b
+module-bays:
+ - name: PSU0
+ position: '0'
+ - name: PSU1
+ position: '1'
+interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
+ - name: ge-0/0/0
+ type: 1000base-t
+ - name: ge-0/0/1
+ type: 1000base-t
+ - name: ge-0/0/2
+ type: 1000base-t
+ - name: ge-0/0/3
+ type: 1000base-t
+ - name: ge-0/0/4
+ type: 1000base-t
+ - name: ge-0/0/5
+ type: 1000base-t
+ - name: ge-0/0/6
+ type: 1000base-t
+ - name: ge-0/0/7
+ type: 1000base-t
+ - name: ge-0/0/8
+ type: 1000base-t
+ - name: ge-0/0/9
+ type: 1000base-t
+ - name: ge-0/0/10
+ type: 1000base-t
+ - name: ge-0/0/11
+ type: 1000base-t
+ - name: ge-0/0/12
+ type: 1000base-t
+ - name: ge-0/0/13
+ type: 1000base-t
+ - name: ge-0/0/14
+ type: 1000base-t
+ - name: ge-0/0/15
+ type: 1000base-t
+ - name: ge-0/0/16
+ type: 1000base-t
+ - name: ge-0/0/17
+ type: 1000base-t
+ - name: ge-0/0/18
+ type: 1000base-t
+ - name: ge-0/0/19
+ type: 1000base-t
+ - name: ge-0/0/20
+ type: 1000base-t
+ - name: ge-0/0/21
+ type: 1000base-t
+ - name: ge-0/0/22
+ type: 1000base-t
+ - name: ge-0/0/23
+ type: 1000base-t
+ - name: et-0/1/0
+ type: 40gbase-x-qsfpp
+ - name: et-0/1/1
+ type: 40gbase-x-qsfpp
+ - name: ge-0/2/0
+ type: 1000base-x-sfp
+ - name: ge-0/2/1
+ type: 1000base-x-sfp
+ - name: ge-0/2/2
+ type: 1000base-x-sfp
+ - name: ge-0/2/3
+ type: 1000base-x-sfp
+ - name: xe-0/2/0
+ type: 10gbase-x-sfpp
+ - name: xe-0/2/1
+ type: 10gbase-x-sfpp
+ - name: xe-0/2/2
+ type: 10gbase-x-sfpp
+ - name: xe-0/2/3
+ type: 10gbase-x-sfpp
diff --git a/device-types/Juniper/EX3400-24T.yaml b/device-types/Juniper/EX3400-24T.yaml
index e123b64af956c0e852793a8746c70c25c53e114d..b85808003ffcbcfffc836c4bb04af72e039956a8 100644
--- a/device-types/Juniper/EX3400-24T.yaml
+++ b/device-types/Juniper/EX3400-24T.yaml
@@ -1,9 +1,27 @@
---
manufacturer: Juniper
model: EX3400-24T
+part_number: EX3400-24T
slug: juniper-ex3400-24t
u_height: 1
+airflow: front-to-rear
+weight: 10.49
+weight_unit: lb
+comments: '[Juniper EX3400 Hardware Guide](https://www.juniper.net/content/dam/www/assets/datasheets/us/en/switches/ex3400-ethernet-switch-datasheet.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+ - name: Console (USB)
+ type: usb-mini-b
+module-bays:
+ - name: PSU0
+ position: '0'
+ - name: PSU1
+ position: '1'
interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
- name: ge-0/0/0
type: 1000base-t
- name: ge-0/0/1
@@ -72,18 +90,3 @@ interfaces:
type: 10gbase-x-sfpp
- name: xe-0/2/3
type: 10gbase-x-sfpp
- - name: me0
- type: 1000base-t
- mgmt_only: true
-power-ports:
- - name: PSU0
- type: iec-60320-c14
- maximum_draw: 150
- - name: PSU1
- type: iec-60320-c14
- maximum_draw: 150
-console-ports:
- - name: Console
- type: rj-45
- - name: Console (USB)
- type: usb-mini-b
diff --git a/device-types/Juniper/EX3400-48P.yaml b/device-types/Juniper/EX3400-48P.yaml
index 46aa43327846d01d6c010cc09c4cd4d0152127fc..839e990935596ec20099ab00b2e7dc547bef5e9f 100644
--- a/device-types/Juniper/EX3400-48P.yaml
+++ b/device-types/Juniper/EX3400-48P.yaml
@@ -1,105 +1,219 @@
---
manufacturer: Juniper
model: EX3400-48P
+part_number: EX3400-48P
slug: juniper-ex3400-48p
u_height: 1
+airflow: front-to-rear
+weight: 10.49
+weight_unit: lb
+comments: '[Juniper EX3400 Hardware Guide](https://www.juniper.net/content/dam/www/assets/datasheets/us/en/switches/ex3400-ethernet-switch-datasheet.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+ - name: Console (USB)
+ type: usb-mini-b
+module-bays:
+ - name: PSU0
+ position: '0'
+ - name: PSU1
+ position: '1'
interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
- name: ge-0/0/0
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/1
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/2
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/3
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/4
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/5
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/6
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/7
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/8
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/9
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/10
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/11
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/12
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/13
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/14
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/15
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/16
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/17
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/18
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/19
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/20
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/21
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/22
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/23
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/24
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/25
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/26
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/27
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/28
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/29
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/30
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/31
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/32
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/33
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/34
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/35
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/36
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/37
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/38
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/39
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/40
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/41
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/42
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/43
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/44
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/45
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/46
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: ge-0/0/47
type: 1000base-t
+ poe_mode: pse
+ poe_type: type1-ieee802.3af
- name: et-0/1/0
type: 40gbase-x-qsfpp
- name: et-0/1/1
@@ -120,18 +234,3 @@ interfaces:
type: 10gbase-x-sfpp
- name: xe-0/2/3
type: 10gbase-x-sfpp
- - name: me0
- type: 1000base-t
- mgmt_only: true
-power-ports:
- - name: PSU0
- type: iec-60320-c14
- maximum_draw: 920
- - name: PSU1
- type: iec-60320-c14
- maximum_draw: 920
-console-ports:
- - name: Console
- type: rj-45
- - name: Console (USB)
- type: usb-mini-b
diff --git a/device-types/Juniper/EX3400-48T-AFI.yaml b/device-types/Juniper/EX3400-48T-AFI.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4c49e31dca46ffd182940f885b5ef86ac06f67d4
--- /dev/null
+++ b/device-types/Juniper/EX3400-48T-AFI.yaml
@@ -0,0 +1,140 @@
+---
+manufacturer: Juniper
+model: EX3400-48T-AFI
+part_number: EX3400-48T-AFI
+slug: juniper-ex3400-48t-afi
+u_height: 1
+airflow: rear-to-front
+weight: 10.49
+weight_unit: lb
+comments: '[Juniper EX3400 Hardware Guide](https://www.juniper.net/content/dam/www/assets/datasheets/us/en/switches/ex3400-ethernet-switch-datasheet.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+ - name: Console (USB)
+ type: usb-mini-b
+module-bays:
+ - name: PSU0
+ position: '0'
+ - name: PSU1
+ position: '1'
+interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
+ - name: ge-0/0/0
+ type: 1000base-t
+ - name: ge-0/0/1
+ type: 1000base-t
+ - name: ge-0/0/2
+ type: 1000base-t
+ - name: ge-0/0/3
+ type: 1000base-t
+ - name: ge-0/0/4
+ type: 1000base-t
+ - name: ge-0/0/5
+ type: 1000base-t
+ - name: ge-0/0/6
+ type: 1000base-t
+ - name: ge-0/0/7
+ type: 1000base-t
+ - name: ge-0/0/8
+ type: 1000base-t
+ - name: ge-0/0/9
+ type: 1000base-t
+ - name: ge-0/0/10
+ type: 1000base-t
+ - name: ge-0/0/11
+ type: 1000base-t
+ - name: ge-0/0/12
+ type: 1000base-t
+ - name: ge-0/0/13
+ type: 1000base-t
+ - name: ge-0/0/14
+ type: 1000base-t
+ - name: ge-0/0/15
+ type: 1000base-t
+ - name: ge-0/0/16
+ type: 1000base-t
+ - name: ge-0/0/17
+ type: 1000base-t
+ - name: ge-0/0/18
+ type: 1000base-t
+ - name: ge-0/0/19
+ type: 1000base-t
+ - name: ge-0/0/20
+ type: 1000base-t
+ - name: ge-0/0/21
+ type: 1000base-t
+ - name: ge-0/0/22
+ type: 1000base-t
+ - name: ge-0/0/23
+ type: 1000base-t
+ - name: ge-0/0/24
+ type: 1000base-t
+ - name: ge-0/0/25
+ type: 1000base-t
+ - name: ge-0/0/26
+ type: 1000base-t
+ - name: ge-0/0/27
+ type: 1000base-t
+ - name: ge-0/0/28
+ type: 1000base-t
+ - name: ge-0/0/29
+ type: 1000base-t
+ - name: ge-0/0/30
+ type: 1000base-t
+ - name: ge-0/0/31
+ type: 1000base-t
+ - name: ge-0/0/32
+ type: 1000base-t
+ - name: ge-0/0/33
+ type: 1000base-t
+ - name: ge-0/0/34
+ type: 1000base-t
+ - name: ge-0/0/35
+ type: 1000base-t
+ - name: ge-0/0/36
+ type: 1000base-t
+ - name: ge-0/0/37
+ type: 1000base-t
+ - name: ge-0/0/38
+ type: 1000base-t
+ - name: ge-0/0/39
+ type: 1000base-t
+ - name: ge-0/0/40
+ type: 1000base-t
+ - name: ge-0/0/41
+ type: 1000base-t
+ - name: ge-0/0/42
+ type: 1000base-t
+ - name: ge-0/0/43
+ type: 1000base-t
+ - name: ge-0/0/44
+ type: 1000base-t
+ - name: ge-0/0/45
+ type: 1000base-t
+ - name: ge-0/0/46
+ type: 1000base-t
+ - name: ge-0/0/47
+ type: 1000base-t
+ - name: et-0/1/0
+ type: 40gbase-x-qsfpp
+ - name: et-0/1/1
+ type: 40gbase-x-qsfpp
+ - name: ge-0/2/0
+ type: 1000base-x-sfp
+ - name: ge-0/2/1
+ type: 1000base-x-sfp
+ - name: ge-0/2/2
+ type: 1000base-x-sfp
+ - name: ge-0/2/3
+ type: 1000base-x-sfp
+ - name: xe-0/2/0
+ type: 10gbase-x-sfpp
+ - name: xe-0/2/1
+ type: 10gbase-x-sfpp
+ - name: xe-0/2/2
+ type: 10gbase-x-sfpp
+ - name: xe-0/2/3
+ type: 10gbase-x-sfpp
diff --git a/device-types/Juniper/EX3400-48T-DC.yaml b/device-types/Juniper/EX3400-48T-DC.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bb85d7245b64c53a44e535d15e973e298417aae7
--- /dev/null
+++ b/device-types/Juniper/EX3400-48T-DC.yaml
@@ -0,0 +1,140 @@
+---
+manufacturer: Juniper
+model: EX3400-48T-DC
+part_number: EX3400-48T-DC
+slug: juniper-ex3400-48t-dc
+u_height: 1
+airflow: front-to-rear
+weight: 10.49
+weight_unit: lb
+comments: '[Juniper EX3400 Hardware Guide](https://www.juniper.net/content/dam/www/assets/datasheets/us/en/switches/ex3400-ethernet-switch-datasheet.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+ - name: Console (USB)
+ type: usb-mini-b
+module-bays:
+ - name: PSU0
+ position: '0'
+ - name: PSU1
+ position: '1'
+interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
+ - name: ge-0/0/0
+ type: 1000base-t
+ - name: ge-0/0/1
+ type: 1000base-t
+ - name: ge-0/0/2
+ type: 1000base-t
+ - name: ge-0/0/3
+ type: 1000base-t
+ - name: ge-0/0/4
+ type: 1000base-t
+ - name: ge-0/0/5
+ type: 1000base-t
+ - name: ge-0/0/6
+ type: 1000base-t
+ - name: ge-0/0/7
+ type: 1000base-t
+ - name: ge-0/0/8
+ type: 1000base-t
+ - name: ge-0/0/9
+ type: 1000base-t
+ - name: ge-0/0/10
+ type: 1000base-t
+ - name: ge-0/0/11
+ type: 1000base-t
+ - name: ge-0/0/12
+ type: 1000base-t
+ - name: ge-0/0/13
+ type: 1000base-t
+ - name: ge-0/0/14
+ type: 1000base-t
+ - name: ge-0/0/15
+ type: 1000base-t
+ - name: ge-0/0/16
+ type: 1000base-t
+ - name: ge-0/0/17
+ type: 1000base-t
+ - name: ge-0/0/18
+ type: 1000base-t
+ - name: ge-0/0/19
+ type: 1000base-t
+ - name: ge-0/0/20
+ type: 1000base-t
+ - name: ge-0/0/21
+ type: 1000base-t
+ - name: ge-0/0/22
+ type: 1000base-t
+ - name: ge-0/0/23
+ type: 1000base-t
+ - name: ge-0/0/24
+ type: 1000base-t
+ - name: ge-0/0/25
+ type: 1000base-t
+ - name: ge-0/0/26
+ type: 1000base-t
+ - name: ge-0/0/27
+ type: 1000base-t
+ - name: ge-0/0/28
+ type: 1000base-t
+ - name: ge-0/0/29
+ type: 1000base-t
+ - name: ge-0/0/30
+ type: 1000base-t
+ - name: ge-0/0/31
+ type: 1000base-t
+ - name: ge-0/0/32
+ type: 1000base-t
+ - name: ge-0/0/33
+ type: 1000base-t
+ - name: ge-0/0/34
+ type: 1000base-t
+ - name: ge-0/0/35
+ type: 1000base-t
+ - name: ge-0/0/36
+ type: 1000base-t
+ - name: ge-0/0/37
+ type: 1000base-t
+ - name: ge-0/0/38
+ type: 1000base-t
+ - name: ge-0/0/39
+ type: 1000base-t
+ - name: ge-0/0/40
+ type: 1000base-t
+ - name: ge-0/0/41
+ type: 1000base-t
+ - name: ge-0/0/42
+ type: 1000base-t
+ - name: ge-0/0/43
+ type: 1000base-t
+ - name: ge-0/0/44
+ type: 1000base-t
+ - name: ge-0/0/45
+ type: 1000base-t
+ - name: ge-0/0/46
+ type: 1000base-t
+ - name: ge-0/0/47
+ type: 1000base-t
+ - name: et-0/1/0
+ type: 40gbase-x-qsfpp
+ - name: et-0/1/1
+ type: 40gbase-x-qsfpp
+ - name: ge-0/2/0
+ type: 1000base-x-sfp
+ - name: ge-0/2/1
+ type: 1000base-x-sfp
+ - name: ge-0/2/2
+ type: 1000base-x-sfp
+ - name: ge-0/2/3
+ type: 1000base-x-sfp
+ - name: xe-0/2/0
+ type: 10gbase-x-sfpp
+ - name: xe-0/2/1
+ type: 10gbase-x-sfpp
+ - name: xe-0/2/2
+ type: 10gbase-x-sfpp
+ - name: xe-0/2/3
+ type: 10gbase-x-sfpp
diff --git a/device-types/Juniper/EX3400-48T.yaml b/device-types/Juniper/EX3400-48T.yaml
index 1da7cf89d93696dac1f02b42e0943a96a10508b6..1133934860950cb94553f04709766cd941952240 100644
--- a/device-types/Juniper/EX3400-48T.yaml
+++ b/device-types/Juniper/EX3400-48T.yaml
@@ -1,9 +1,27 @@
---
manufacturer: Juniper
model: EX3400-48T
+part_number: EX3400-48T
slug: juniper-ex3400-48t
u_height: 1
+airflow: front-to-rear
+weight: 10.49
+weight_unit: lb
+comments: '[Juniper EX3400 Hardware Guide](https://www.juniper.net/content/dam/www/assets/datasheets/us/en/switches/ex3400-ethernet-switch-datasheet.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+ - name: Console (USB)
+ type: usb-mini-b
+module-bays:
+ - name: PSU0
+ position: '0'
+ - name: PSU1
+ position: '1'
interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
- name: ge-0/0/0
type: 1000base-t
- name: ge-0/0/1
@@ -120,18 +138,3 @@ interfaces:
type: 10gbase-x-sfpp
- name: xe-0/2/3
type: 10gbase-x-sfpp
- - name: me0
- type: 1000base-t
- mgmt_only: true
-power-ports:
- - name: PSU0
- type: iec-60320-c14
- maximum_draw: 150
- - name: PSU1
- type: iec-60320-c14
- maximum_draw: 150
-console-ports:
- - name: Console
- type: rj-45
- - name: Console (USB)
- type: usb-mini-b
diff --git a/module-types/Juniper/JPSU-600-AC-AFO.yaml b/module-types/Juniper/JPSU-600-AC-AFO.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f16e9b2a918d6a1cf28bf6bcec1f7e7e54283195
--- /dev/null
+++ b/module-types/Juniper/JPSU-600-AC-AFO.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: Juniper
+model: JPSU-600-AC-AFO
+comments: |
+ EX Series 600 W AC power supply (front-to-back airflow)
+power-ports:
+ - name: Power Supply {module}
+ type: iec-60320-c14
+ maximum_draw: 600
diff --git a/module-types/Juniper/JPSU-920-AC-AFO.yaml b/module-types/Juniper/JPSU-920-AC-AFO.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b4570330ca4200419684bbcc05dfb1a2d3d087b8
--- /dev/null
+++ b/module-types/Juniper/JPSU-920-AC-AFO.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: Juniper
+model: JPSU-920-AC-AFO
+comments: |
+ EX Series 920 W AC power supply (front-to-back airflow)
+power-ports:
+ - name: Power Supply {module}
+ type: iec-60320-c14
+ maximum_draw: 920