diff --git a/device-types/Juniper/EX4550-32F.yaml b/device-types/Juniper/EX4550-32F-AFI.yaml
similarity index 81%
rename from device-types/Juniper/EX4550-32F.yaml
rename to device-types/Juniper/EX4550-32F-AFI.yaml
index 5308ab15e110c7399313dda8f3764edc5eb0fd75..b2c5856bf1e8c4ad45ef635203a6d78b88ef4ca3 100644
--- a/device-types/Juniper/EX4550-32F.yaml
+++ b/device-types/Juniper/EX4550-32F-AFI.yaml
@@ -1,10 +1,24 @@
---
manufacturer: Juniper
-model: ex4550-32f
-slug: juniper-ex4550-32f
-is_full_depth: false
-part_number: ex4550-32f
+model: EX4550-32F-AFI
+slug: juniper-ex4550-32f-afi
+part_number: EX4550-32F-AFI
u_height: 1
+weight: 19.4
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Juniper EX4550 Data Sheet](https://www.juniper.net/assets/br/pt/local/pdf/datasheets/1000414-en.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+module-bays:
+ - name: PSU 0
+ position: '0'
+ - name: PSU 1
+ position: '1'
+ - name: PIM 1
+ position: '2'
interfaces:
- name: me0
type: 1000base-t
@@ -73,13 +87,3 @@ interfaces:
type: 10gbase-x-sfpp
- name: xe-0/0/31
type: 10gbase-x-sfpp
-power-ports:
- - name: PSU0
- type: iec-60320-c14
- maximum_draw: 650
- - name: PSU1
- type: iec-60320-c14
- maximum_draw: 650
-console-ports:
- - name: Console
- type: rj-45
diff --git a/device-types/Juniper/EX4550-32F-AFO.yaml b/device-types/Juniper/EX4550-32F-AFO.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4cf265ff71b6ac0ee774712739e8f964fd6edcd8
--- /dev/null
+++ b/device-types/Juniper/EX4550-32F-AFO.yaml
@@ -0,0 +1,89 @@
+---
+manufacturer: Juniper
+model: EX4550-32F-AFO
+slug: juniper-ex4550-32f-afo
+part_number: EX4550-32F-AFO
+u_height: 1
+weight: 19.4
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Juniper EX4550 Data Sheet](https://www.juniper.net/assets/br/pt/local/pdf/datasheets/1000414-en.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+module-bays:
+ - name: PSU 0
+ position: '0'
+ - name: PSU 1
+ position: '1'
+ - name: PIM 1
+ position: '2'
+interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
+ - name: xe-0/0/0
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/1
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/2
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/3
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/4
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/5
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/6
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/7
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/8
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/9
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/10
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/11
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/12
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/13
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/14
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/15
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/16
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/17
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/18
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/19
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/20
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/21
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/22
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/23
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/24
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/25
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/26
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/27
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/28
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/29
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/30
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/31
+ type: 10gbase-x-sfpp
diff --git a/device-types/Juniper/EX4550-32F-DC-AFI.yaml b/device-types/Juniper/EX4550-32F-DC-AFI.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d134e060531657b09dc01af98b498289882dcb5c
--- /dev/null
+++ b/device-types/Juniper/EX4550-32F-DC-AFI.yaml
@@ -0,0 +1,89 @@
+---
+manufacturer: Juniper
+model: EX4550-32F-DC-AFI
+slug: juniper-ex4550-32f-dc-afi
+part_number: EX4550-32F-DC-AFI
+u_height: 1
+weight: 19.4
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Juniper EX4550 Data Sheet](https://www.juniper.net/assets/br/pt/local/pdf/datasheets/1000414-en.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+module-bays:
+ - name: PSU 0
+ position: '0'
+ - name: PSU 1
+ position: '1'
+ - name: PIM 1
+ position: '2'
+interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
+ - name: xe-0/0/0
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/1
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/2
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/3
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/4
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/5
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/6
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/7
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/8
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/9
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/10
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/11
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/12
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/13
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/14
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/15
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/16
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/17
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/18
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/19
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/20
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/21
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/22
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/23
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/24
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/25
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/26
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/27
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/28
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/29
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/30
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/31
+ type: 10gbase-x-sfpp
diff --git a/device-types/Juniper/EX4550-32F-DC-AFO.yaml b/device-types/Juniper/EX4550-32F-DC-AFO.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7691279a92817ad436b5c56a48f2942d3801d0c7
--- /dev/null
+++ b/device-types/Juniper/EX4550-32F-DC-AFO.yaml
@@ -0,0 +1,89 @@
+---
+manufacturer: Juniper
+model: EX4550-32F-DC-AFO
+slug: juniper-ex4550-32f-dc-afo
+part_number: EX4550-32F-DC-AFO
+u_height: 1
+weight: 19.4
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Juniper EX4550 Data Sheet](https://www.juniper.net/assets/br/pt/local/pdf/datasheets/1000414-en.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+module-bays:
+ - name: PSU 0
+ position: '0'
+ - name: PSU 1
+ position: '1'
+ - name: PIM 1
+ position: '2'
+interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
+ - name: xe-0/0/0
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/1
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/2
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/3
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/4
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/5
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/6
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/7
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/8
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/9
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/10
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/11
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/12
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/13
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/14
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/15
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/16
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/17
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/18
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/19
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/20
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/21
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/22
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/23
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/24
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/25
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/26
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/27
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/28
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/29
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/30
+ type: 10gbase-x-sfpp
+ - name: xe-0/0/31
+ type: 10gbase-x-sfpp
diff --git a/device-types/Juniper/EX4550-32T-AFI.yaml b/device-types/Juniper/EX4550-32T-AFI.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2b56e5373dc9337202d82521bc9f28ab83c7ebd4
--- /dev/null
+++ b/device-types/Juniper/EX4550-32T-AFI.yaml
@@ -0,0 +1,89 @@
+---
+manufacturer: Juniper
+model: EX4550-32T-AFI
+slug: juniper-ex4550-32t-afi
+part_number: EX4550-32T-AFI
+u_height: 1
+weight: 19.4
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Juniper EX4550 Data Sheet](https://www.juniper.net/assets/br/pt/local/pdf/datasheets/1000414-en.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+module-bays:
+ - name: PSU 0
+ position: '0'
+ - name: PSU 1
+ position: '1'
+ - name: PIM 1
+ position: '2'
+interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
+ - name: xe-0/0/0
+ type: 10gbase-t
+ - name: xe-0/0/1
+ type: 10gbase-t
+ - name: xe-0/0/2
+ type: 10gbase-t
+ - name: xe-0/0/3
+ type: 10gbase-t
+ - name: xe-0/0/4
+ type: 10gbase-t
+ - name: xe-0/0/5
+ type: 10gbase-t
+ - name: xe-0/0/6
+ type: 10gbase-t
+ - name: xe-0/0/7
+ type: 10gbase-t
+ - name: xe-0/0/8
+ type: 10gbase-t
+ - name: xe-0/0/9
+ type: 10gbase-t
+ - name: xe-0/0/10
+ type: 10gbase-t
+ - name: xe-0/0/11
+ type: 10gbase-t
+ - name: xe-0/0/12
+ type: 10gbase-t
+ - name: xe-0/0/13
+ type: 10gbase-t
+ - name: xe-0/0/14
+ type: 10gbase-t
+ - name: xe-0/0/15
+ type: 10gbase-t
+ - name: xe-0/0/16
+ type: 10gbase-t
+ - name: xe-0/0/17
+ type: 10gbase-t
+ - name: xe-0/0/18
+ type: 10gbase-t
+ - name: xe-0/0/19
+ type: 10gbase-t
+ - name: xe-0/0/20
+ type: 10gbase-t
+ - name: xe-0/0/21
+ type: 10gbase-t
+ - name: xe-0/0/22
+ type: 10gbase-t
+ - name: xe-0/0/23
+ type: 10gbase-t
+ - name: xe-0/0/24
+ type: 10gbase-t
+ - name: xe-0/0/25
+ type: 10gbase-t
+ - name: xe-0/0/26
+ type: 10gbase-t
+ - name: xe-0/0/27
+ type: 10gbase-t
+ - name: xe-0/0/28
+ type: 10gbase-t
+ - name: xe-0/0/29
+ type: 10gbase-t
+ - name: xe-0/0/30
+ type: 10gbase-t
+ - name: xe-0/0/31
+ type: 10gbase-t
diff --git a/device-types/Juniper/EX4550-32T-AFO.yaml b/device-types/Juniper/EX4550-32T-AFO.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d40ee9c4cad2cd3b60747f8f2953057c2cbce735
--- /dev/null
+++ b/device-types/Juniper/EX4550-32T-AFO.yaml
@@ -0,0 +1,89 @@
+---
+manufacturer: Juniper
+model: EX4550-32T-AFO
+slug: juniper-ex4550-32t-afo
+part_number: EX4550-32T-AFO
+u_height: 1
+weight: 19.4
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Juniper EX4550 Data Sheet](https://www.juniper.net/assets/br/pt/local/pdf/datasheets/1000414-en.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+module-bays:
+ - name: PSU 0
+ position: '0'
+ - name: PSU 1
+ position: '1'
+ - name: PIM 1
+ position: '2'
+interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
+ - name: xe-0/0/0
+ type: 10gbase-t
+ - name: xe-0/0/1
+ type: 10gbase-t
+ - name: xe-0/0/2
+ type: 10gbase-t
+ - name: xe-0/0/3
+ type: 10gbase-t
+ - name: xe-0/0/4
+ type: 10gbase-t
+ - name: xe-0/0/5
+ type: 10gbase-t
+ - name: xe-0/0/6
+ type: 10gbase-t
+ - name: xe-0/0/7
+ type: 10gbase-t
+ - name: xe-0/0/8
+ type: 10gbase-t
+ - name: xe-0/0/9
+ type: 10gbase-t
+ - name: xe-0/0/10
+ type: 10gbase-t
+ - name: xe-0/0/11
+ type: 10gbase-t
+ - name: xe-0/0/12
+ type: 10gbase-t
+ - name: xe-0/0/13
+ type: 10gbase-t
+ - name: xe-0/0/14
+ type: 10gbase-t
+ - name: xe-0/0/15
+ type: 10gbase-t
+ - name: xe-0/0/16
+ type: 10gbase-t
+ - name: xe-0/0/17
+ type: 10gbase-t
+ - name: xe-0/0/18
+ type: 10gbase-t
+ - name: xe-0/0/19
+ type: 10gbase-t
+ - name: xe-0/0/20
+ type: 10gbase-t
+ - name: xe-0/0/21
+ type: 10gbase-t
+ - name: xe-0/0/22
+ type: 10gbase-t
+ - name: xe-0/0/23
+ type: 10gbase-t
+ - name: xe-0/0/24
+ type: 10gbase-t
+ - name: xe-0/0/25
+ type: 10gbase-t
+ - name: xe-0/0/26
+ type: 10gbase-t
+ - name: xe-0/0/27
+ type: 10gbase-t
+ - name: xe-0/0/28
+ type: 10gbase-t
+ - name: xe-0/0/29
+ type: 10gbase-t
+ - name: xe-0/0/30
+ type: 10gbase-t
+ - name: xe-0/0/31
+ type: 10gbase-t
diff --git a/device-types/Juniper/EX4550-32T-DC-AFI.yaml b/device-types/Juniper/EX4550-32T-DC-AFI.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0b61aae422fd99a73fa440ab23f4e849e8e13ea7
--- /dev/null
+++ b/device-types/Juniper/EX4550-32T-DC-AFI.yaml
@@ -0,0 +1,89 @@
+---
+manufacturer: Juniper
+model: EX4550-32T-DC-AFI
+slug: juniper-ex4550-32t-dc-afi
+part_number: EX4550-32T-DC-AFI
+u_height: 1
+weight: 19.4
+weight_unit: lb
+airflow: rear-to-front
+is_full_depth: false
+comments: '[Juniper EX4550 Data Sheet](https://www.juniper.net/assets/br/pt/local/pdf/datasheets/1000414-en.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+module-bays:
+ - name: PSU 0
+ position: '0'
+ - name: PSU 1
+ position: '1'
+ - name: PIM 1
+ position: '2'
+interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
+ - name: xe-0/0/0
+ type: 10gbase-t
+ - name: xe-0/0/1
+ type: 10gbase-t
+ - name: xe-0/0/2
+ type: 10gbase-t
+ - name: xe-0/0/3
+ type: 10gbase-t
+ - name: xe-0/0/4
+ type: 10gbase-t
+ - name: xe-0/0/5
+ type: 10gbase-t
+ - name: xe-0/0/6
+ type: 10gbase-t
+ - name: xe-0/0/7
+ type: 10gbase-t
+ - name: xe-0/0/8
+ type: 10gbase-t
+ - name: xe-0/0/9
+ type: 10gbase-t
+ - name: xe-0/0/10
+ type: 10gbase-t
+ - name: xe-0/0/11
+ type: 10gbase-t
+ - name: xe-0/0/12
+ type: 10gbase-t
+ - name: xe-0/0/13
+ type: 10gbase-t
+ - name: xe-0/0/14
+ type: 10gbase-t
+ - name: xe-0/0/15
+ type: 10gbase-t
+ - name: xe-0/0/16
+ type: 10gbase-t
+ - name: xe-0/0/17
+ type: 10gbase-t
+ - name: xe-0/0/18
+ type: 10gbase-t
+ - name: xe-0/0/19
+ type: 10gbase-t
+ - name: xe-0/0/20
+ type: 10gbase-t
+ - name: xe-0/0/21
+ type: 10gbase-t
+ - name: xe-0/0/22
+ type: 10gbase-t
+ - name: xe-0/0/23
+ type: 10gbase-t
+ - name: xe-0/0/24
+ type: 10gbase-t
+ - name: xe-0/0/25
+ type: 10gbase-t
+ - name: xe-0/0/26
+ type: 10gbase-t
+ - name: xe-0/0/27
+ type: 10gbase-t
+ - name: xe-0/0/28
+ type: 10gbase-t
+ - name: xe-0/0/29
+ type: 10gbase-t
+ - name: xe-0/0/30
+ type: 10gbase-t
+ - name: xe-0/0/31
+ type: 10gbase-t
diff --git a/device-types/Juniper/EX4550-32T-DC-AFO.yaml b/device-types/Juniper/EX4550-32T-DC-AFO.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..15a32b0c9b7e23cb003bc4c6cdd1c5f0f756e284
--- /dev/null
+++ b/device-types/Juniper/EX4550-32T-DC-AFO.yaml
@@ -0,0 +1,89 @@
+---
+manufacturer: Juniper
+model: EX4550-32T-DC-AFO
+slug: juniper-ex4550-32t-dc-afo
+part_number: EX4550-32T-DC-AFO
+u_height: 1
+weight: 19.4
+weight_unit: lb
+airflow: front-to-rear
+is_full_depth: false
+comments: '[Juniper EX4550 Data Sheet](https://www.juniper.net/assets/br/pt/local/pdf/datasheets/1000414-en.pdf)'
+console-ports:
+ - name: Console
+ type: rj-45
+module-bays:
+ - name: PSU 0
+ position: '0'
+ - name: PSU 1
+ position: '1'
+ - name: PIM 1
+ position: '2'
+interfaces:
+ - name: me0
+ type: 1000base-t
+ mgmt_only: true
+ - name: xe-0/0/0
+ type: 10gbase-t
+ - name: xe-0/0/1
+ type: 10gbase-t
+ - name: xe-0/0/2
+ type: 10gbase-t
+ - name: xe-0/0/3
+ type: 10gbase-t
+ - name: xe-0/0/4
+ type: 10gbase-t
+ - name: xe-0/0/5
+ type: 10gbase-t
+ - name: xe-0/0/6
+ type: 10gbase-t
+ - name: xe-0/0/7
+ type: 10gbase-t
+ - name: xe-0/0/8
+ type: 10gbase-t
+ - name: xe-0/0/9
+ type: 10gbase-t
+ - name: xe-0/0/10
+ type: 10gbase-t
+ - name: xe-0/0/11
+ type: 10gbase-t
+ - name: xe-0/0/12
+ type: 10gbase-t
+ - name: xe-0/0/13
+ type: 10gbase-t
+ - name: xe-0/0/14
+ type: 10gbase-t
+ - name: xe-0/0/15
+ type: 10gbase-t
+ - name: xe-0/0/16
+ type: 10gbase-t
+ - name: xe-0/0/17
+ type: 10gbase-t
+ - name: xe-0/0/18
+ type: 10gbase-t
+ - name: xe-0/0/19
+ type: 10gbase-t
+ - name: xe-0/0/20
+ type: 10gbase-t
+ - name: xe-0/0/21
+ type: 10gbase-t
+ - name: xe-0/0/22
+ type: 10gbase-t
+ - name: xe-0/0/23
+ type: 10gbase-t
+ - name: xe-0/0/24
+ type: 10gbase-t
+ - name: xe-0/0/25
+ type: 10gbase-t
+ - name: xe-0/0/26
+ type: 10gbase-t
+ - name: xe-0/0/27
+ type: 10gbase-t
+ - name: xe-0/0/28
+ type: 10gbase-t
+ - name: xe-0/0/29
+ type: 10gbase-t
+ - name: xe-0/0/30
+ type: 10gbase-t
+ - name: xe-0/0/31
+ type: 10gbase-t
diff --git a/module-types/Juniper/EX4550-EM-2QSFP.yaml b/module-types/Juniper/EX4550-EM-2QSFP.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a7a9045e5c96437e5608ab6b167d59ad0d7530d7
--- /dev/null
+++ b/module-types/Juniper/EX4550-EM-2QSFP.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: Juniper
+model: EX4550-EM-2QSFP
+part_number: EX4550-EM-2QSFP
+interfaces:
+ - name: et-0/1/0
+ type: 40gbase-x-qsfpp
+ - name: et-0/1/1
+ type: 40gbase-x-qsfpp
diff --git a/module-types/Juniper/EX4550-EM-8XSFP.yaml b/module-types/Juniper/EX4550-EM-8XSFP.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..274b7a5f995dbbb7b594663b74a1aaee3ea12f8c
--- /dev/null
+++ b/module-types/Juniper/EX4550-EM-8XSFP.yaml
@@ -0,0 +1,21 @@
+---
+manufacturer: Juniper
+model: EX4550-EM-8XSFP
+part_number: EX4550-EM-8XSFP
+interfaces:
+ - name: xe-0/1/0
+ type: 10gbase-x-sfpp
+ - name: xe-0/1/1
+ type: 10gbase-x-sfpp
+ - name: xe-0/1/2
+ type: 10gbase-x-sfpp
+ - name: xe-0/1/3
+ type: 10gbase-x-sfpp
+ - name: xe-0/1/4
+ type: 10gbase-x-sfpp
+ - name: xe-0/1/5
+ type: 10gbase-x-sfpp
+ - name: xe-0/1/6
+ type: 10gbase-x-sfpp
+ - name: xe-0/1/7
+ type: 10gbase-x-sfpp
diff --git a/module-types/Juniper/EX4550-EM-8XT.yaml b/module-types/Juniper/EX4550-EM-8XT.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c1a6aa923da3b3e8cdcb49cd31d52ab3ad8a3995
--- /dev/null
+++ b/module-types/Juniper/EX4550-EM-8XT.yaml
@@ -0,0 +1,21 @@
+---
+manufacturer: Juniper
+model: EX4550-EM-8XT
+part_number: EX4550-EM-8XT
+interfaces:
+ - name: xe-0/1/0
+ type: 10gbase-t
+ - name: xe-0/1/1
+ type: 10gbase-t
+ - name: xe-0/1/2
+ type: 10gbase-t
+ - name: xe-0/1/3
+ type: 10gbase-t
+ - name: xe-0/1/4
+ type: 10gbase-t
+ - name: xe-0/1/5
+ type: 10gbase-t
+ - name: xe-0/1/6
+ type: 10gbase-t
+ - name: xe-0/1/7
+ type: 10gbase-t