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