diff --git a/device-types/Juniper/PTX10001-MR.yml b/device-types/Juniper/PTX10001-MR.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6249bbba7578af08bb84d4929d346084b5adb67c
--- /dev/null
+++ b/device-types/Juniper/PTX10001-MR.yml
@@ -0,0 +1,169 @@
+---
+manufacturer: Juniper
+model: PTX10001-MR
+slug: juniper-ptx10001-mr
+u_height: 1.0
+is_full_depth: true
+airflow: rear-to-front
+weight: 18
+weight_unit: kg
+comments: '[Juniper PTX10001 Data Sheet](https://www.juniper.net/us/en/products/routers/ptx-series/ptx10001-36mr-packet-transport-router.html)'
+console-ports:
+  - name: Console
+    type: rj-45
+module-bays:
+  - name: PEM0
+    label: PSM 0
+    position: PSU0
+  - name: PEM1
+    label: PSM 1
+    position: PSU1
+interfaces:
+  - name: et-0/0/0
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/1
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/2
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/3
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/4
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/5
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/6
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/7
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/8
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/9
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/10
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/0/11
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/0
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/1
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/2
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/3
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/4
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/5
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/6
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/7
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/8
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/9
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/10
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/1/11
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/0
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/1
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/2
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/3
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/4
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/5
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/6
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/7
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/8
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/9
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/10
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: et-0/2/11
+    type: 400gbase-x-qsfpdd
+    enabled: true
+    mgmt_only: false
+  - name: MGMT
+    type: 1000base-t
+    enabled: true
+    mgmt_only: true
diff --git a/device-types/Juniper/QFX10008.yml b/device-types/Juniper/QFX10008.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3b8e9207df9b385f1d82d1c92e8e56f740132bf1
--- /dev/null
+++ b/device-types/Juniper/QFX10008.yml
@@ -0,0 +1,52 @@
+---
+manufacturer: Juniper
+model: QFX10008
+slug: juniper-qfx10008
+part_number: front-to-rear
+u_height: 13.0
+is_full_depth: true
+airflow: front-to-rear
+weight: 127
+weight_unit: kg
+comments: '[Juniper QFX10008 Data Sheet](https://www.juniper.net/us/en/products/switches/qfx-series/qfx10000-qfx10008-qfx10016-spine-and-core-switches.html/)'
+module-bays:
+  - name: CB0
+    label: Routing Engine 0
+    position: re0
+  - name: CB1
+    label: Routing Engine 1
+    position: re1
+  - name: PEM0
+    label: PSU 0
+    position: PSU0
+  - name: PEM1
+    label: PSU 1
+    position: PSU1
+  - name: PEM2
+    label: PSU 2
+    position: PSU2
+  - name: PEM3
+    label: PSU 3
+    position: PSU3
+  - name: PEM4
+    label: PSU 4
+    position: PSU4
+  - name: PEM5
+    label: PSU 5
+    position: PSU5
+  - name: FPC 0
+    position: '0'
+  - name: FPC 1
+    position: '1'
+  - name: FPC 2
+    position: '2'
+  - name: FPC 3
+    position: '3'
+  - name: FPC 4
+    position: '4'
+  - name: FPC 5
+    position: '5'
+  - name: FPC 6
+    position: '6'
+  - name: FPC 7
+    position: '7'
diff --git a/device-types/Juniper/QFX10016.yml b/device-types/Juniper/QFX10016.yml
new file mode 100644
index 0000000000000000000000000000000000000000..581203804c5f828e95cf6191096f627114e9184d
--- /dev/null
+++ b/device-types/Juniper/QFX10016.yml
@@ -0,0 +1,78 @@
+---
+manufacturer: Juniper
+model: QFX10016
+slug: juniper-qfx10016
+u_height: 21.0
+is_full_depth: true
+airflow: front-to-rear
+weight: 223
+weight_unit: kg
+comments: '[Juniper QFX10016 Data Sheet](https://www.juniper.net/us/en/products/switches/qfx-series/qfx10000-qfx10008-qfx10016-spine-and-core-switches.html/)'
+module-bays:
+  - name: CB0
+    label: Routing Engine 0
+    position: re0
+  - name: CB1
+    label: Routing Engine 1
+    position: re1
+  - name: PEM0
+    label: PSU 0
+    position: PSU0
+  - name: PEM1
+    label: PSU 1
+    position: PSU1
+  - name: PEM2
+    label: PSU 2
+    position: PSU2
+  - name: PEM3
+    label: PSU 3
+    position: PSU3
+  - name: PEM4
+    label: PSU 4
+    position: PSU4
+  - name: PEM5
+    label: PSU 5
+  - name: PEM6
+    label: PSU 6
+    position: PSU6
+  - name: PEM7
+    label: PSU 7
+    position: PSU7
+  - name: PEM8
+    label: PSU 8
+    position: PSU8
+  - name: PEM9
+    label: PSU 9
+    position: PSU9
+  - name: FPC 0
+    position: '0'
+  - name: FPC 1
+    position: '1'
+  - name: FPC 2
+    position: '2'
+  - name: FPC 3
+    position: '3'
+  - name: FPC 4
+    position: '4'
+  - name: FPC 5
+    position: '5'
+  - name: FPC 6
+    position: '6'
+  - name: FPC 7
+    position: '7'
+  - name: FPC 8
+    position: '8'
+  - name: FPC 9
+    position: '9'
+  - name: FPC 10
+    position: '10'
+  - name: FPC 11
+    position: '11'
+  - name: FPC 12
+    position: '12'
+  - name: FPC 13
+    position: '13'
+  - name: FPC 14
+    position: '14'
+  - name: FPC 15
+    position: '15'
diff --git a/device-types/Juniper/SRX5800.yaml b/device-types/Juniper/SRX5800.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d5f92c468c98c9e4b05e90c57803612506535c03
--- /dev/null
+++ b/device-types/Juniper/SRX5800.yaml
@@ -0,0 +1,65 @@
+---
+manufacturer: Juniper
+model: SRX5800
+slug: juniper-srx5800
+u_height: 16.0
+is_full_depth: true
+airflow: front-to-rear
+weight: 151
+weight_unit: kg
+comments: '[Juniper SRX5800 Data Sheet](https://www.juniper.net/us/en/products/security/srx-series/srx5800-large-enterprise-data-center-firewall.html)'
+module-bays:
+  - name: PEM0
+    label: PSU 0
+    position: PSU0
+  - name: PEM1
+    label: PSU 1
+    position: PSU1
+  - name: PEM2
+    label: PSU 2
+    position: PSU2
+  - name: PEM3
+    label: PSU 3
+    position: PSU3
+  - name: PEM7
+    label: PSU 7
+    position: PSU7
+  - name: PEM8
+    label: PSU 8
+    position: PSU8
+  - name: PEM9
+    label: PSU 9
+    position: PSU9
+  - name: FPC 0
+    position: '0'
+  - name: FPC 1
+    position: '1'
+  - name: FPC 2
+    position: '2'
+  - name: FPC 3
+    position: '3'
+  - name: FPC 4
+    position: '4'
+  - name: FPC 5
+    position: '5'
+  - name: CB0
+    label: Routing Engine 0
+    position: re0
+  - name: CB1
+    label: Routing Engine 1
+    position: re1
+  - name: CB2
+    label: Routing Engine 2
+    position: re2
+  - name: FPC 6
+    position: '6'
+  - name: FPC 7
+    position: '7'
+  - name: FPC 8
+    position: '8'
+  - name: FPC 9
+    position: '9'
+  - name: FPC 10
+    position: '10'
+  - name: FPC 11
+    position: '11'
diff --git a/module-types/Juniper/PTX10001-3000w-AC.yaml b/module-types/Juniper/PTX10001-3000w-AC.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c8a71ac3e393ba6d652b2bb3e03b45d32407da89
--- /dev/null
+++ b/module-types/Juniper/PTX10001-3000w-AC.yaml
@@ -0,0 +1,8 @@
+---
+manufacturer: Juniper
+model: PTX10001-3000W-AC
+part_number: 740-073765
+power-ports:
+  - name: '{module}'
+    type: saf-d-grid
+    maximum_draw: 3000
diff --git a/module-types/Juniper/QFX10000-30C.yml b/module-types/Juniper/QFX10000-30C.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c0b6573866d4104cfcda6d462e1c459430c42543
--- /dev/null
+++ b/module-types/Juniper/QFX10000-30C.yml
@@ -0,0 +1,125 @@
+---
+manufacturer: Juniper
+model: QFX10000-30C
+part_number: QFX10000-30C
+interfaces:
+  - name: et-{module}/0/0
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/1
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/2
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/3
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/4
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/5
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/6
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/7
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/8
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/9
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/10
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/11
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/12
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/13
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/14
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/15
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/16
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/17
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/18
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/19
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/20
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/21
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/22
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/23
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/24
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/25
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/26
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/27
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/28
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/29
+    type: 100gbase-x-qsfp28
+    enabled: true
+    mgmt_only: false
diff --git a/module-types/Juniper/QFX10000-36Q-12Q28.yml b/module-types/Juniper/QFX10000-36Q-12Q28.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f569b6937771cb0011948da4c6f1f885dd40ad15
--- /dev/null
+++ b/module-types/Juniper/QFX10000-36Q-12Q28.yml
@@ -0,0 +1,149 @@
+---
+manufacturer: Juniper
+model: QFX10000-36Q-12Q28
+part_number: QFX10000-36Q-12Q28
+interfaces:
+  - name: et-{module}/0/0
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/1
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/2
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/3
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/4
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/5
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/6
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/7
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/8
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/9
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/10
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/11
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/12
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/13
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/14
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/15
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/16
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/17
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/18
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/19
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/20
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/21
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/22
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/23
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/24
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/25
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/26
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/27
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/28
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/29
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/30
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/31
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/32
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/33
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/34
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/0/35
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
diff --git a/module-types/Juniper/QFX10000-PWR-AC.yml b/module-types/Juniper/QFX10000-PWR-AC.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e03ac66e469931079a0fb97f48c0ceebe73f5f60
--- /dev/null
+++ b/module-types/Juniper/QFX10000-PWR-AC.yml
@@ -0,0 +1,11 @@
+---
+manufacturer: Juniper
+model: QFX10000-PWR-AC
+part_number: QFX10000-PWR-AC
+power-ports:
+  - name: '{module}-INP1'
+    type: iec-60320-c20
+    maximum_draw: 2700
+  - name: '{module}-INP2'
+    type: iec-60320-c20
+    maximum_draw: 2700
diff --git a/module-types/Juniper/RE-QFX10000.yml b/module-types/Juniper/RE-QFX10000.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0518e63db53573d0152e9e4d6db4f6329f228561
--- /dev/null
+++ b/module-types/Juniper/RE-QFX10000.yml
@@ -0,0 +1,16 @@
+---
+manufacturer: Juniper
+model: RE-QFX10000
+part_number: 750-068820
+console-ports:
+  - name: '{module}'
+    type: rj-45
+interfaces:
+  - name: '{module}-em0'
+    type: 1000base-t
+    enabled: true
+    mgmt_only: true
+  - name: '{module}-em1'
+    type: 1000base-x-sfp
+    enabled: true
+    mgmt_only: true
diff --git a/module-types/Juniper/SRX-MIC-10XG-SFPP.yml b/module-types/Juniper/SRX-MIC-10XG-SFPP.yml
new file mode 100644
index 0000000000000000000000000000000000000000..aba228623d06c28a958fd50d7594eda4b1a33d4b
--- /dev/null
+++ b/module-types/Juniper/SRX-MIC-10XG-SFPP.yml
@@ -0,0 +1,46 @@
+---
+manufacturer: Juniper
+model: SRX-MIC-10XG-SFPP
+part_number: SRX-MIC-10XG-SFPP
+comments: This is a half height card that goes in a two slot SRX5k IOC II card.
+interfaces:
+  - name: xe-{module}/0
+    type: 10gbase-x-sfpp
+    enabled: true
+    mgmt_only: false
+  - name: xe-{module}/1
+    type: 10gbase-x-sfpp
+    enabled: true
+    mgmt_only: false
+  - name: xe-{module}/2
+    type: 10gbase-x-sfpp
+    enabled: true
+    mgmt_only: false
+  - name: xe-{module}/3
+    type: 10gbase-x-sfpp
+    enabled: true
+    mgmt_only: false
+  - name: xe-{module}/4
+    type: 10gbase-x-sfpp
+    enabled: true
+    mgmt_only: false
+  - name: xe-{module}/5
+    type: 10gbase-x-sfpp
+    enabled: true
+    mgmt_only: false
+  - name: xe-{module}/6
+    type: 10gbase-x-sfpp
+    enabled: true
+    mgmt_only: false
+  - name: xe-{module}/7
+    type: 10gbase-x-sfpp
+    enabled: true
+    mgmt_only: false
+  - name: xe-{module}/8
+    type: 10gbase-x-sfpp
+    enabled: true
+    mgmt_only: false
+  - name: xe-{module}/9
+    type: 10gbase-x-sfpp
+    enabled: true
+    mgmt_only: false
diff --git a/module-types/Juniper/SRX5k IOC3 24XGE+6XLG.yml b/module-types/Juniper/SRX5k IOC3 24XGE+6XLG.yml
new file mode 100644
index 0000000000000000000000000000000000000000..701c6bb23b2882217e1faf18d7dc858b887de0a8
--- /dev/null
+++ b/module-types/Juniper/SRX5k IOC3 24XGE+6XLG.yml	
@@ -0,0 +1,125 @@
+---
+manufacturer: Juniper
+model: SRX5k IOC3 24XGE+6XLG
+part_number: SRX5k IOC3 24XGE+6XLG
+interfaces:
+  - name: xe-{module}/0/0
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/1
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/2
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/3
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/4
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/5
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/6
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/7
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/8
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/9
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/10
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/0/11
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/0
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/1
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/2
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/3
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/4
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/5
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/6
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/7
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/8
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/9
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/10
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: xe-{module}/1/11
+    type: 10gbase-x-sfpp
+    enabled: false
+    mgmt_only: false
+  - name: et-{module}/2/0
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/2/1
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/2/2
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/3/0
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/3/1
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
+  - name: et-{module}/3/2
+    type: 40gbase-x-qsfpp
+    enabled: true
+    mgmt_only: false
diff --git a/module-types/Juniper/SRX5k-RE-1800X4.yml b/module-types/Juniper/SRX5k-RE-1800X4.yml
new file mode 100644
index 0000000000000000000000000000000000000000..455d2753009b2c414e9604772314dcfce90e522d
--- /dev/null
+++ b/module-types/Juniper/SRX5k-RE-1800X4.yml
@@ -0,0 +1,14 @@
+---
+manufacturer: Juniper
+model: SRX5k-RE-1800X4
+part_number: SRX5k-RE-1800X4
+console-ports:
+  - name: '{module}-AUX'
+    type: rj-45
+  - name: '{module}-CONSOLE'
+    type: rj-45
+interfaces:
+  - name: '{module}-fxp0'
+    type: 1000base-t
+    enabled: true
+    mgmt_only: true