diff --git a/module-types/HPE/Aruba-JL087A.yaml b/module-types/HPE/Aruba-JL087A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d56d1dfe4eeabcc32705c6f03888a8003f1f0204
--- /dev/null
+++ b/module-types/HPE/Aruba-JL087A.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: HPE
+model: Aruba JL087A
+part_number: JL087A
+comments: Aruba X372 1050W AC Power Supply
+power-ports:
+  - name: PS{module}
+    type: iec-60320-c14
+    maximum_draw: 1050
diff --git a/module-types/HPE/J4820A.yaml b/module-types/HPE/J4820A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1897494fe03a556d50812847da9bd29f79c41328
--- /dev/null
+++ b/module-types/HPE/J4820A.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: ProCurve Switch XL 10/100-TX 24-port module
+part_number: J4820A
+comments: ProCurve Switch XL 10/100-TX 24-port module
+interfaces:
+  - name: '{module}1'
+    type: 100base-tx
+  - name: '{module}2'
+    type: 100base-tx
+  - name: '{module}3'
+    type: 100base-tx
+  - name: '{module}4'
+    type: 100base-tx
+  - name: '{module}5'
+    type: 100base-tx
+  - name: '{module}6'
+    type: 100base-tx
+  - name: '{module}7'
+    type: 100base-tx
+  - name: '{module}8'
+    type: 100base-tx
+  - name: '{module}9'
+    type: 100base-tx
+  - name: '{module}10'
+    type: 100base-tx
+  - name: '{module}11'
+    type: 100base-tx
+  - name: '{module}12'
+    type: 100base-tx
+  - name: '{module}13'
+    type: 100base-tx
+  - name: '{module}14'
+    type: 100base-tx
+  - name: '{module}15'
+    type: 100base-tx
+  - name: '{module}16'
+    type: 100base-tx
+  - name: '{module}17'
+    type: 100base-tx
+  - name: '{module}18'
+    type: 100base-tx
+  - name: '{module}19'
+    type: 100base-tx
+  - name: '{module}20'
+    type: 100base-tx
+  - name: '{module}21'
+    type: 100base-tx
+  - name: '{module}22'
+    type: 100base-tx
+  - name: '{module}23'
+    type: 100base-tx
+  - name: '{module}24'
+    type: 100base-tx
diff --git a/module-types/HPE/J4820B.yaml b/module-types/HPE/J4820B.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a64fd6bbce0c843ea78f72f946740c38cc09f261
--- /dev/null
+++ b/module-types/HPE/J4820B.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: ProCurve Switch XL 24-Ports 10/100Base-TX Module
+part_number: J4820B
+comments: ProCurve Switch XL 24-Ports 10/100Base-TX Module
+interfaces:
+  - name: '{module}1'
+    type: 100base-tx
+  - name: '{module}2'
+    type: 100base-tx
+  - name: '{module}3'
+    type: 100base-tx
+  - name: '{module}4'
+    type: 100base-tx
+  - name: '{module}5'
+    type: 100base-tx
+  - name: '{module}6'
+    type: 100base-tx
+  - name: '{module}7'
+    type: 100base-tx
+  - name: '{module}8'
+    type: 100base-tx
+  - name: '{module}9'
+    type: 100base-tx
+  - name: '{module}10'
+    type: 100base-tx
+  - name: '{module}11'
+    type: 100base-tx
+  - name: '{module}12'
+    type: 100base-tx
+  - name: '{module}13'
+    type: 100base-tx
+  - name: '{module}14'
+    type: 100base-tx
+  - name: '{module}15'
+    type: 100base-tx
+  - name: '{module}16'
+    type: 100base-tx
+  - name: '{module}17'
+    type: 100base-tx
+  - name: '{module}18'
+    type: 100base-tx
+  - name: '{module}19'
+    type: 100base-tx
+  - name: '{module}20'
+    type: 100base-tx
+  - name: '{module}21'
+    type: 100base-tx
+  - name: '{module}22'
+    type: 100base-tx
+  - name: '{module}23'
+    type: 100base-tx
+  - name: '{module}24'
+    type: 100base-tx
diff --git a/module-types/HPE/J4821A.yaml b/module-types/HPE/J4821A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..315132004be1f4d98294c36de98637860f9f3c93
--- /dev/null
+++ b/module-types/HPE/J4821A.yaml
@@ -0,0 +1,14 @@
+---
+manufacturer: HPE
+model: HPE 1G 4-Port XL Module
+part_number: J4821A
+comments: HPE 1G 4-Port XL Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-t
+  - name: '{module}2'
+    type: 1000base-t
+  - name: '{module}3'
+    type: 1000base-t
+  - name: '{module}4'
+    type: 1000base-t
diff --git a/module-types/HPE/J4862B.yaml b/module-types/HPE/J4862B.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..70872297d3de9958a456da61bed92d71eb965b2e
--- /dev/null
+++ b/module-types/HPE/J4862B.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: HP ProCurve Switch gl 24-Port 10/100-TX Module
+part_number: J4862B
+comments: HP ProCurve Switch gl 24-Port 10/100-TX Module
+interfaces:
+  - name: '{module}1'
+    type: 100base-tx
+  - name: '{module}2'
+    type: 100base-tx
+  - name: '{module}3'
+    type: 100base-tx
+  - name: '{module}4'
+    type: 100base-tx
+  - name: '{module}5'
+    type: 100base-tx
+  - name: '{module}6'
+    type: 100base-tx
+  - name: '{module}7'
+    type: 100base-tx
+  - name: '{module}8'
+    type: 100base-tx
+  - name: '{module}9'
+    type: 100base-tx
+  - name: '{module}10'
+    type: 100base-tx
+  - name: '{module}11'
+    type: 100base-tx
+  - name: '{module}12'
+    type: 100base-tx
+  - name: '{module}13'
+    type: 100base-tx
+  - name: '{module}14'
+    type: 100base-tx
+  - name: '{module}15'
+    type: 100base-tx
+  - name: '{module}16'
+    type: 100base-tx
+  - name: '{module}17'
+    type: 100base-tx
+  - name: '{module}18'
+    type: 100base-tx
+  - name: '{module}19'
+    type: 100base-tx
+  - name: '{module}20'
+    type: 100base-tx
+  - name: '{module}21'
+    type: 100base-tx
+  - name: '{module}22'
+    type: 100base-tx
+  - name: '{module}23'
+    type: 100base-tx
+  - name: '{module}24'
+    type: 100base-tx
diff --git a/module-types/HPE/J4878A.yaml b/module-types/HPE/J4878A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d1a3fa85514e2663c57f967c231bbdaa06274760
--- /dev/null
+++ b/module-types/HPE/J4878A.yaml
@@ -0,0 +1,14 @@
+---
+manufacturer: HPE
+model: HP 4-Port mini-Gbic xl Module
+part_number: J4878A
+comments: HP 4-Port mini-Gbic xl Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-x-sfp
+  - name: '{module}2'
+    type: 1000base-x-sfp
+  - name: '{module}3'
+    type: 1000base-x-sfp
+  - name: '{module}4'
+    type: 1000base-x-sfp
diff --git a/module-types/HPE/J4878B.yaml b/module-types/HPE/J4878B.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1d24dfe52d21357e54c1c982741ce360b04589ed
--- /dev/null
+++ b/module-types/HPE/J4878B.yaml
@@ -0,0 +1,14 @@
+---
+manufacturer: HPE
+model: HP ProCurve Switch 4-Port xl Mini-GBIC Module
+part_number: J4878B
+comments: HP ProCurve Switch 4-Port xl Mini-GBIC Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-x-sfp
+  - name: '{module}2'
+    type: 1000base-x-sfp
+  - name: '{module}3'
+    type: 1000base-x-sfp
+  - name: '{module}4'
+    type: 1000base-x-sfp
diff --git a/module-types/HPE/J4907A.yaml b/module-types/HPE/J4907A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0d4f5bf9fe1afa1637c9d2f7e7d5400e80a9915a
--- /dev/null
+++ b/module-types/HPE/J4907A.yaml
@@ -0,0 +1,43 @@
+---
+manufacturer: HPE
+model: HP ProCurve 16-Port 10/100/1000 XL Module
+part_number: J4907A
+comments: HP ProCurve 16-Port 10/100/1000 XL Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-t
+  - name: '{module}2'
+    type: 1000base-t
+  - name: '{module}3'
+    type: 1000base-t
+  - name: '{module}4'
+    type: 1000base-t
+  - name: '{module}5'
+    type: 1000base-t
+  - name: '{module}6'
+    type: 1000base-t
+  - name: '{module}7'
+    type: 1000base-t
+  - name: '{module}8'
+    type: 1000base-t
+  - name: '{module}9'
+    type: 1000base-t
+  - name: '{module}10'
+    type: 1000base-t
+  - name: '{module}11'
+    type: 1000base-t
+  - name: '{module}12'
+    type: 1000base-t
+  - name: '{module}13'
+    type: 1000base-t
+  - name: '{module}14'
+    type: 1000base-t
+  - name: '{module}15'
+    type: 1000base-t
+  - name: '{module}16'
+    type: 1000base-t
+# dual personality
+#  - name: '{module}15'
+#    type: 1000base-x-sfp
+#  - name: '{module}16'
+#    type: 1000base-x-sfp
diff --git a/module-types/HPE/J8702A.yaml b/module-types/HPE/J8702A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..23c59fe960801c4b8ef22c6743eede1bee1cfec1
--- /dev/null
+++ b/module-types/HPE/J8702A.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: ProCurve 24-port 10/100/1000Base-T PoE Switch Module
+part_number: J8702A
+comments: ProCurve 24-port 10/100/1000Base-T PoE Switch Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-t
+  - name: '{module}2'
+    type: 1000base-t
+  - name: '{module}3'
+    type: 1000base-t
+  - name: '{module}4'
+    type: 1000base-t
+  - name: '{module}5'
+    type: 1000base-t
+  - name: '{module}6'
+    type: 1000base-t
+  - name: '{module}7'
+    type: 1000base-t
+  - name: '{module}8'
+    type: 1000base-t
+  - name: '{module}9'
+    type: 1000base-t
+  - name: '{module}10'
+    type: 1000base-t
+  - name: '{module}11'
+    type: 1000base-t
+  - name: '{module}12'
+    type: 1000base-t
+  - name: '{module}13'
+    type: 1000base-t
+  - name: '{module}14'
+    type: 1000base-t
+  - name: '{module}15'
+    type: 1000base-t
+  - name: '{module}16'
+    type: 1000base-t
+  - name: '{module}17'
+    type: 1000base-t
+  - name: '{module}18'
+    type: 1000base-t
+  - name: '{module}19'
+    type: 1000base-t
+  - name: '{module}20'
+    type: 1000base-t
+  - name: '{module}21'
+    type: 1000base-t
+  - name: '{module}22'
+    type: 1000base-t
+  - name: '{module}23'
+    type: 1000base-t
+  - name: '{module}24'
+    type: 1000base-t
diff --git a/module-types/HPE/J8705A.yaml b/module-types/HPE/J8705A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8cf85ecdd3bab4675d7548047e5ddb549cf6727a
--- /dev/null
+++ b/module-types/HPE/J8705A.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: HP J8705A ProCurve PoE 20 Port Gig-T SFP Plus 4 Port Mini GBIC ZL Module
+part_number: J8705A
+comments: HP J8705A ProCurve PoE 20 Port Gig-T SFP Plus 4 Port Mini GBIC ZL Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-t
+  - name: '{module}2'
+    type: 1000base-t
+  - name: '{module}3'
+    type: 1000base-t
+  - name: '{module}4'
+    type: 1000base-t
+  - name: '{module}5'
+    type: 1000base-t
+  - name: '{module}6'
+    type: 1000base-t
+  - name: '{module}7'
+    type: 1000base-t
+  - name: '{module}8'
+    type: 1000base-t
+  - name: '{module}9'
+    type: 1000base-t
+  - name: '{module}10'
+    type: 1000base-t
+  - name: '{module}11'
+    type: 1000base-t
+  - name: '{module}12'
+    type: 1000base-t
+  - name: '{module}13'
+    type: 1000base-t
+  - name: '{module}14'
+    type: 1000base-t
+  - name: '{module}15'
+    type: 1000base-t
+  - name: '{module}16'
+    type: 1000base-t
+  - name: '{module}17'
+    type: 1000base-t
+  - name: '{module}18'
+    type: 1000base-t
+  - name: '{module}19'
+    type: 1000base-t
+  - name: '{module}20'
+    type: 1000base-t
+  - name: '{module}21'
+    type: 1000base-x-sfp
+  - name: '{module}22'
+    type: 1000base-x-sfp
+  - name: '{module}23'
+    type: 1000base-x-sfp
+  - name: '{module}24'
+    type: 1000base-x-sfp
diff --git a/module-types/HPE/J8706A.yaml b/module-types/HPE/J8706A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5d6eeefae9f7b521e1e20e82934420a740d4afaf
--- /dev/null
+++ b/module-types/HPE/J8706A.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: ProCurve Switch 5400zl 24p Mini-GBIC Module
+part_number: J8706A
+comments: ProCurve Switch 5400zl 24p Mini-GBIC Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-x-sfp
+  - name: '{module}2'
+    type: 1000base-x-sfp
+  - name: '{module}3'
+    type: 1000base-x-sfp
+  - name: '{module}4'
+    type: 1000base-x-sfp
+  - name: '{module}5'
+    type: 1000base-x-sfp
+  - name: '{module}6'
+    type: 1000base-x-sfp
+  - name: '{module}7'
+    type: 1000base-x-sfp
+  - name: '{module}8'
+    type: 1000base-x-sfp
+  - name: '{module}9'
+    type: 1000base-x-sfp
+  - name: '{module}10'
+    type: 1000base-x-sfp
+  - name: '{module}11'
+    type: 1000base-x-sfp
+  - name: '{module}12'
+    type: 1000base-x-sfp
+  - name: '{module}13'
+    type: 1000base-x-sfp
+  - name: '{module}14'
+    type: 1000base-x-sfp
+  - name: '{module}15'
+    type: 1000base-x-sfp
+  - name: '{module}16'
+    type: 1000base-x-sfp
+  - name: '{module}17'
+    type: 1000base-x-sfp
+  - name: '{module}18'
+    type: 1000base-x-sfp
+  - name: '{module}19'
+    type: 1000base-x-sfp
+  - name: '{module}20'
+    type: 1000base-x-sfp
+  - name: '{module}21'
+    type: 1000base-x-sfp
+  - name: '{module}22'
+    type: 1000base-x-sfp
+  - name: '{module}23'
+    type: 1000base-x-sfp
+  - name: '{module}24'
+    type: 1000base-x-sfp
diff --git a/module-types/HPE/J8708A.yaml b/module-types/HPE/J8708A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e86d52ca18f8f4e4279fc4307e0626281a1f9f28
--- /dev/null
+++ b/module-types/HPE/J8708A.yaml
@@ -0,0 +1,14 @@
+---
+manufacturer: HPE
+model: HP 4-Port 10GbE CX4 ZL Module
+part_number: J8708A
+comments: HP J8708A 4-Port 10GbE CX4 ZL Module
+interfaces:
+  - name: '{module}1'
+    type: 10gbase-cx4
+  - name: '{module}2'
+    type: 10gbase-cx4
+  - name: '{module}3'
+    type: 10gbase-cx4
+  - name: '{module}4'
+    type: 10gbase-cx4
diff --git a/module-types/HPE/J8764A.yaml b/module-types/HPE/J8764A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9d8c87b79d41830c92961b97ebe243284978b9e9
--- /dev/null
+++ b/module-types/HPE/J8764A.yaml
@@ -0,0 +1,38 @@
+---
+manufacturer: HPE
+model: HP ProCurve Switch vl 16Port Gig-T Module
+part_number: J8764A
+comments: HP ProCurve Switch vl 16Port Gig-T Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-t
+  - name: '{module}2'
+    type: 1000base-t
+  - name: '{module}3'
+    type: 1000base-t
+  - name: '{module}4'
+    type: 1000base-t
+  - name: '{module}5'
+    type: 1000base-t
+  - name: '{module}6'
+    type: 1000base-t
+  - name: '{module}7'
+    type: 1000base-t
+  - name: '{module}8'
+    type: 1000base-t
+  - name: '{module}9'
+    type: 1000base-t
+  - name: '{module}10'
+    type: 1000base-t
+  - name: '{module}11'
+    type: 1000base-t
+  - name: '{module}12'
+    type: 1000base-t
+  - name: '{module}13'
+    type: 1000base-t
+  - name: '{module}14'
+    type: 1000base-t
+  - name: '{module}15'
+    type: 1000base-t
+  - name: '{module}16'
+    type: 1000base-t
diff --git a/module-types/HPE/J8765A.yaml b/module-types/HPE/J8765A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2a7f2cc5c79692fa0a51f0c6b9bfbeb75821fcaa
--- /dev/null
+++ b/module-types/HPE/J8765A.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: ProCurve Switch VL 24-Port 10/100-TX Module
+part_number: J8765A
+comments: ProCurve Switch VL 24-Port 10/100-TX Module
+interfaces:
+  - name: '{module}1'
+    type: 100base-tx
+  - name: '{module}2'
+    type: 100base-tx
+  - name: '{module}3'
+    type: 100base-tx
+  - name: '{module}4'
+    type: 100base-tx
+  - name: '{module}5'
+    type: 100base-tx
+  - name: '{module}6'
+    type: 100base-tx
+  - name: '{module}7'
+    type: 100base-tx
+  - name: '{module}8'
+    type: 100base-tx
+  - name: '{module}9'
+    type: 100base-tx
+  - name: '{module}10'
+    type: 100base-tx
+  - name: '{module}11'
+    type: 100base-tx
+  - name: '{module}12'
+    type: 100base-tx
+  - name: '{module}13'
+    type: 100base-tx
+  - name: '{module}14'
+    type: 100base-tx
+  - name: '{module}15'
+    type: 100base-tx
+  - name: '{module}16'
+    type: 100base-tx
+  - name: '{module}17'
+    type: 100base-tx
+  - name: '{module}18'
+    type: 100base-tx
+  - name: '{module}19'
+    type: 100base-tx
+  - name: '{module}20'
+    type: 100base-tx
+  - name: '{module}21'
+    type: 100base-tx
+  - name: '{module}22'
+    type: 100base-tx
+  - name: '{module}23'
+    type: 100base-tx
+  - name: '{module}24'
+    type: 100base-tx
diff --git a/module-types/HPE/J8765B.yaml b/module-types/HPE/J8765B.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..58379b94e6250038f7941016208b2eec42f2197b
--- /dev/null
+++ b/module-types/HPE/J8765B.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: HP ProCurve Switch vl 24-Port 10/100-TX Module
+part_number: J8765B
+comments: HP ProCurve Switch vl 24-Port 10/100-TX Module
+interfaces:
+  - name: '{module}1'
+    type: 100base-tx
+  - name: '{module}2'
+    type: 100base-tx
+  - name: '{module}3'
+    type: 100base-tx
+  - name: '{module}4'
+    type: 100base-tx
+  - name: '{module}5'
+    type: 100base-tx
+  - name: '{module}6'
+    type: 100base-tx
+  - name: '{module}7'
+    type: 100base-tx
+  - name: '{module}8'
+    type: 100base-tx
+  - name: '{module}9'
+    type: 100base-tx
+  - name: '{module}10'
+    type: 100base-tx
+  - name: '{module}11'
+    type: 100base-tx
+  - name: '{module}12'
+    type: 100base-tx
+  - name: '{module}13'
+    type: 100base-tx
+  - name: '{module}14'
+    type: 100base-tx
+  - name: '{module}15'
+    type: 100base-tx
+  - name: '{module}16'
+    type: 100base-tx
+  - name: '{module}17'
+    type: 100base-tx
+  - name: '{module}18'
+    type: 100base-tx
+  - name: '{module}19'
+    type: 100base-tx
+  - name: '{module}20'
+    type: 100base-tx
+  - name: '{module}21'
+    type: 100base-tx
+  - name: '{module}22'
+    type: 100base-tx
+  - name: '{module}23'
+    type: 100base-tx
+  - name: '{module}24'
+    type: 100base-tx
diff --git a/module-types/HPE/J8768A.yaml b/module-types/HPE/J8768A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..16c6be840c0040eb77811990a25440c165e07caa
--- /dev/null
+++ b/module-types/HPE/J8768A.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: ProCurve Switch 24-port Gig-T vl Module
+part_number: J8768A
+comments: ProCurve Switch 24-port Gig-T vl Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-t
+  - name: '{module}2'
+    type: 1000base-t
+  - name: '{module}3'
+    type: 1000base-t
+  - name: '{module}4'
+    type: 1000base-t
+  - name: '{module}5'
+    type: 1000base-t
+  - name: '{module}6'
+    type: 1000base-t
+  - name: '{module}7'
+    type: 1000base-t
+  - name: '{module}8'
+    type: 1000base-t
+  - name: '{module}9'
+    type: 1000base-t
+  - name: '{module}10'
+    type: 1000base-t
+  - name: '{module}11'
+    type: 1000base-t
+  - name: '{module}12'
+    type: 1000base-t
+  - name: '{module}13'
+    type: 1000base-t
+  - name: '{module}14'
+    type: 1000base-t
+  - name: '{module}15'
+    type: 1000base-t
+  - name: '{module}16'
+    type: 1000base-t
+  - name: '{module}17'
+    type: 1000base-t
+  - name: '{module}18'
+    type: 1000base-t
+  - name: '{module}19'
+    type: 1000base-t
+  - name: '{module}20'
+    type: 1000base-t
+  - name: '{module}21'
+    type: 1000base-t
+  - name: '{module}22'
+    type: 1000base-t
+  - name: '{module}23'
+    type: 1000base-t
+  - name: '{module}24'
+    type: 1000base-t
diff --git a/module-types/HPE/J8776A.yaml b/module-types/HPE/J8776A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..682785be315d10fcbb30c760ac8e3691b4a7970e
--- /dev/null
+++ b/module-types/HPE/J8776A.yaml
@@ -0,0 +1,14 @@
+---
+manufacturer: HPE
+model: HP ProCurve J8776A VL 4-Port MINI-GBIC Module
+part_number: J8776A
+comments: HP ProCurve J8776A VL 4-Port MINI-GBIC Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-x-sfp
+  - name: '{module}2'
+    type: 1000base-x-sfp
+  - name: '{module}3'
+    type: 1000base-x-sfp
+  - name: '{module}4'
+    type: 1000base-x-sfp
diff --git a/module-types/HPE/J9033A.yaml b/module-types/HPE/J9033A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1205d98a328dd6a0b14a8da8af27024f057baef7
--- /dev/null
+++ b/module-types/HPE/J9033A.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: HP ProCurve Switch vl 20-Port Gig-T+ 4 SFP Module
+part_number: J9033A
+comments: HP ProCurve Switch vl 20-Port Gig-T+ 4 SFP Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-t
+  - name: '{module}2'
+    type: 1000base-t
+  - name: '{module}3'
+    type: 1000base-t
+  - name: '{module}4'
+    type: 1000base-t
+  - name: '{module}5'
+    type: 1000base-t
+  - name: '{module}6'
+    type: 1000base-t
+  - name: '{module}7'
+    type: 1000base-t
+  - name: '{module}8'
+    type: 1000base-t
+  - name: '{module}9'
+    type: 1000base-t
+  - name: '{module}10'
+    type: 1000base-t
+  - name: '{module}11'
+    type: 1000base-t
+  - name: '{module}12'
+    type: 1000base-t
+  - name: '{module}13'
+    type: 1000base-t
+  - name: '{module}14'
+    type: 1000base-t
+  - name: '{module}15'
+    type: 1000base-t
+  - name: '{module}16'
+    type: 1000base-t
+  - name: '{module}17'
+    type: 1000base-t
+  - name: '{module}18'
+    type: 1000base-t
+  - name: '{module}19'
+    type: 1000base-t
+  - name: '{module}20'
+    type: 1000base-t
+  - name: '{module}21'
+    type: 1000base-x-sfp
+  - name: '{module}22'
+    type: 1000base-x-sfp
+  - name: '{module}23'
+    type: 1000base-x-sfp
+  - name: '{module}24'
+    type: 1000base-x-sfp
diff --git a/module-types/HPE/J9537A.yaml b/module-types/HPE/J9537A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8392c49eb197e35fa50f488fc0fcf79d44331e3d
--- /dev/null
+++ b/module-types/HPE/J9537A.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: HP 24-port SFP v2 zl Module
+part_number: J9537A
+comments: HP J9537A 24-port SFP v2 zl Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-x-sfp
+  - name: '{module}2'
+    type: 1000base-x-sfp
+  - name: '{module}3'
+    type: 1000base-x-sfp
+  - name: '{module}4'
+    type: 1000base-x-sfp
+  - name: '{module}5'
+    type: 1000base-x-sfp
+  - name: '{module}6'
+    type: 1000base-x-sfp
+  - name: '{module}7'
+    type: 1000base-x-sfp
+  - name: '{module}8'
+    type: 1000base-x-sfp
+  - name: '{module}9'
+    type: 1000base-x-sfp
+  - name: '{module}10'
+    type: 1000base-x-sfp
+  - name: '{module}11'
+    type: 1000base-x-sfp
+  - name: '{module}12'
+    type: 1000base-x-sfp
+  - name: '{module}13'
+    type: 1000base-x-sfp
+  - name: '{module}14'
+    type: 1000base-x-sfp
+  - name: '{module}15'
+    type: 1000base-x-sfp
+  - name: '{module}16'
+    type: 1000base-x-sfp
+  - name: '{module}17'
+    type: 1000base-x-sfp
+  - name: '{module}18'
+    type: 1000base-x-sfp
+  - name: '{module}19'
+    type: 1000base-x-sfp
+  - name: '{module}20'
+    type: 1000base-x-sfp
+  - name: '{module}21'
+    type: 1000base-x-sfp
+  - name: '{module}22'
+    type: 1000base-x-sfp
+  - name: '{module}23'
+    type: 1000base-x-sfp
+  - name: '{module}24'
+    type: 1000base-x-sfp
diff --git a/module-types/HPE/J9547A.yaml b/module-types/HPE/J9547A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..247d91b13a24626802e96f2bb7aae1648a3dbfbc
--- /dev/null
+++ b/module-types/HPE/J9547A.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: HP 24-port 10/100 PoE+ v2 zl Module
+part_number: J9547A
+comments: HP J9547A 24-port 10/100 PoE+ v2 zl Module
+interfaces:
+  - name: '{module}1'
+    type: 100base-tx
+  - name: '{module}2'
+    type: 100base-tx
+  - name: '{module}3'
+    type: 100base-tx
+  - name: '{module}4'
+    type: 100base-tx
+  - name: '{module}5'
+    type: 100base-tx
+  - name: '{module}6'
+    type: 100base-tx
+  - name: '{module}7'
+    type: 100base-tx
+  - name: '{module}8'
+    type: 100base-tx
+  - name: '{module}9'
+    type: 100base-tx
+  - name: '{module}10'
+    type: 100base-tx
+  - name: '{module}11'
+    type: 100base-tx
+  - name: '{module}12'
+    type: 100base-tx
+  - name: '{module}13'
+    type: 100base-tx
+  - name: '{module}14'
+    type: 100base-tx
+  - name: '{module}15'
+    type: 100base-tx
+  - name: '{module}16'
+    type: 100base-tx
+  - name: '{module}17'
+    type: 100base-tx
+  - name: '{module}18'
+    type: 100base-tx
+  - name: '{module}19'
+    type: 100base-tx
+  - name: '{module}20'
+    type: 100base-tx
+  - name: '{module}21'
+    type: 100base-tx
+  - name: '{module}22'
+    type: 100base-tx
+  - name: '{module}23'
+    type: 100base-tx
+  - name: '{module}24'
+    type: 100base-tx
diff --git a/module-types/HPE/J9550A.yaml b/module-types/HPE/J9550A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a24fdf5ce8d22a5d464699f404ba2e30c8ed8e9b
--- /dev/null
+++ b/module-types/HPE/J9550A.yaml
@@ -0,0 +1,54 @@
+---
+manufacturer: HPE
+model: HP 24-Port GiG-T v2 ZL Module
+part_number: J9550A
+comments: HP J9550A 24-Port GiG-T v2 ZL Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-t
+  - name: '{module}2'
+    type: 1000base-t
+  - name: '{module}3'
+    type: 1000base-t
+  - name: '{module}4'
+    type: 1000base-t
+  - name: '{module}5'
+    type: 1000base-t
+  - name: '{module}6'
+    type: 1000base-t
+  - name: '{module}7'
+    type: 1000base-t
+  - name: '{module}8'
+    type: 1000base-t
+  - name: '{module}9'
+    type: 1000base-t
+  - name: '{module}10'
+    type: 1000base-t
+  - name: '{module}11'
+    type: 1000base-t
+  - name: '{module}12'
+    type: 1000base-t
+  - name: '{module}13'
+    type: 1000base-t
+  - name: '{module}14'
+    type: 1000base-t
+  - name: '{module}15'
+    type: 1000base-t
+  - name: '{module}16'
+    type: 1000base-t
+  - name: '{module}17'
+    type: 1000base-t
+  - name: '{module}18'
+    type: 1000base-t
+  - name: '{module}19'
+    type: 1000base-t
+  - name: '{module}20'
+    type: 1000base-t
+  - name: '{module}21'
+    type: 1000base-t
+  - name: '{module}22'
+    type: 1000base-t
+  - name: '{module}23'
+    type: 1000base-t
+  - name: '{module}24'
+    type: 1000base-t
diff --git a/module-types/HPE/J9820A.yaml b/module-types/HPE/J9820A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..814c22e5b06b656b6ae8cdde2e6437511e2ddbc3
--- /dev/null
+++ b/module-types/HPE/J9820A.yaml
@@ -0,0 +1,5 @@
+---
+manufacturer: HPE
+model: HP 2530 8-port Switch Power Adapter Shelf Power
+part_number: J9820A
+comments: HP J9820A 2530 8-port Switch Power Adapter Shelf Power
diff --git a/module-types/HPE/J9827A.yaml b/module-types/HPE/J9827A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4a385b2dc155b6f05591b62c2f1ceed027d90649
--- /dev/null
+++ b/module-types/HPE/J9827A.yaml
@@ -0,0 +1,14 @@
+---
+manufacturer: HPE
+model: HPE Aruba 5400R zl2 Management Module
+part_number: J9827A
+comments: HPE Aruba 5400R zl2 Management Module
+console-ports:
+  - name: Console
+    type: rj-45
+  - name: Aux
+    type: usb-a
+interfaces:
+  - name: '{module}'
+    type: 1000base-t
+    mgmt_only: true
diff --git a/module-types/HPE/J9828A.yaml b/module-types/HPE/J9828A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0eed77149e8ecfb38895283094333fcce390d487
--- /dev/null
+++ b/module-types/HPE/J9828A.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: HPE
+model: HPE 5400R 700W PoE+ zl2 Power Supply
+part_number: J9828A
+comments: HPE 5400R 700W PoE+ zl2 Power Supply
+power-ports:
+  - name: PS{module}
+    type: iec-60320-c16
+    maximum_draw: 700
diff --git a/module-types/HPE/J9829A.yaml b/module-types/HPE/J9829A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..94f4fe6d91c34c3db1a2c47cbe7fdd94fa9f4f66
--- /dev/null
+++ b/module-types/HPE/J9829A.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: HPE
+model: HP 5400R 1100W POE+ ZL2 Power Supply
+part_number: J9829A
+comments: HP J9829A 5400R 1100W POE+ ZL2 Power Supply
+power-ports:
+  - name: PS{module}
+    type: iec-60320-c16
+    maximum_draw: 1100
diff --git a/module-types/HPE/JC680A.yaml b/module-types/HPE/JC680A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ccb31fdd5af1a8916d591e335829e4ff69b48fe6
--- /dev/null
+++ b/module-types/HPE/JC680A.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: HPE
+model: HP A58x0AF 650W AC Power Supply
+part_number: JC680A
+comments: HP A58x0AF 650W AC Power Supply
+power-ports:
+  - name: PS{module}
+    type: iec-60320-c16
+    maximum_draw: 650
diff --git a/module-types/HPE/JC683A.yaml b/module-types/HPE/JC683A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bfc94f078317164356f418f0257ed79d5b0c5da7
--- /dev/null
+++ b/module-types/HPE/JC683A.yaml
@@ -0,0 +1,5 @@
+---
+manufacturer: HPE
+model: HP 58X0AF FRONT TO BACK FAN TRAY
+part_number: JC683A
+comments: HP 58X0AF FRONT TO BACK FAN TRAY
diff --git a/module-types/HPE/JD219A.yaml b/module-types/HPE/JD219A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5572148672aff29289fbd38a56f3caa87de7c26b
--- /dev/null
+++ b/module-types/HPE/JD219A.yaml
@@ -0,0 +1,12 @@
+---
+manufacturer: HPE
+model: HPE FlexNetwork 7500 2800W AC Power Supply
+part_number: JD219A
+comments: HPE FlexNetwork 7500 2800W AC Power Supply
+power-ports:
+  - name: Outlet1-{module}
+    type: iec-60320-c20
+    maximum_draw: 2800
+  - name: Outlet2-{module}
+    type: iec-60320-c20
+    maximum_draw: 2800
diff --git a/module-types/HPE/JD368B.yaml b/module-types/HPE/JD368B.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..00f1796585a9a6a1b31ab47474ffcfd9dc7ada9f
--- /dev/null
+++ b/module-types/HPE/JD368B.yaml
@@ -0,0 +1,10 @@
+---
+manufacturer: HPE
+model: HP 5500/5120 2-port 10GbE SFP+ Module
+part_number: JD368B
+comments: HP 5500/5120 2-port 10GbE SFP+ Module
+interfaces:
+  - name: '{module}1'
+    type: 10gbase-x-sfpp
+  - name: '{module}2'
+    type: 10gbase-x-sfpp
diff --git a/module-types/HPE/JG545A.yaml b/module-types/HPE/JG545A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..757d60f9c2a17fddb82f653fec224274520973aa
--- /dev/null
+++ b/module-types/HPE/JG545A.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: HPE
+model: HP X362 1110W AC PoE Power Supply
+part_number: JG545A
+comments: HP X362 1110W AC PoE Power Supply
+power-ports:
+  - name: PS{module}
+    type: iec-60320-c16
+    maximum_draw: 1110
diff --git a/module-types/HPE/JG900A.yaml b/module-types/HPE/JG900A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f06a52525575ae8de2e8716957fed28572227ad3
--- /dev/null
+++ b/module-types/HPE/JG900A.yaml
@@ -0,0 +1,9 @@
+---
+manufacturer: HPE
+model: HPE A58x0AF 300W AC Power Supply
+part_number: JG900A
+comments: HPE A58x0AF 300W AC Power Supply
+power-ports:
+  - name: PS{module}
+    type: iec-60320-c14
+    maximum_draw: 300
diff --git a/module-types/HPE/JH157A.yaml b/module-types/HPE/JH157A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cadea7d4daa6cb833d39775f1c9a68f9dd14be11
--- /dev/null
+++ b/module-types/HPE/JH157A.yaml
@@ -0,0 +1,10 @@
+---
+manufacturer: HPE
+model: HPE 5130/5510 10GbE SFP+ 2-port Module
+part_number: JH157A
+comments: HPE 5130/5510 10GbE SFP+ 2-port Module
+interfaces:
+  - name: '{module}1'
+    type: 10gbase-x-sfpp
+  - name: '{module}2'
+    type: 10gbase-x-sfpp
diff --git a/module-types/HPE/JH209A.yaml b/module-types/HPE/JH209A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..46a67e1fecebbe393fd6d94f06e32a49c7ee3ced
--- /dev/null
+++ b/module-types/HPE/JH209A.yaml
@@ -0,0 +1,45 @@
+---
+manufacturer: HPE
+model: HPE FlexNetwork 7500 2.4Tbps Fabric with 8-port 1/10GbE SFP+ and 2-port 40GbE QSFP+
+part_number: JH209A
+comments: '[HPE FlexNetwork 7500 2.4Tbps Fabric with 8-port 1/10GbE SFP+ and 2-port 40GbE QSFP+](https://support.hpe.com/hpesc/public/docDisplay?docId=emr_na-c05028833)'
+weight: 4.4
+weight_unit: kg
+console-ports:
+  - name: console
+    type: rj-45
+  - name: usb
+    type: usb-a
+interfaces:
+  - name: M-GigabitEthernet{module}/0/0
+    type: 1000base-t
+    mgmt_only: true
+  - name: M-GigabitEthernet{module}/0/1
+    type: 1000base-t
+    mgmt_only: true
+  - name: M-GigabitEthernet{module}/0/2
+    type: 1000base-x-sfp
+    mgmt_only: true
+  - name: M-GigabitEthernet{module}/0/3
+    type: 1000base-x-sfp
+    mgmt_only: true
+  - name: Ten-GigabitEthernet{module}/0/1
+    type: 10gbase-x-sfpp
+  - name: Ten-GigabitEthernet{module}/0/2
+    type: 10gbase-x-sfpp
+  - name: Ten-GigabitEthernet{module}/0/3
+    type: 10gbase-x-sfpp
+  - name: Ten-GigabitEthernet{module}/0/4
+    type: 10gbase-x-sfpp
+  - name: Ten-GigabitEthernet{module}/0/5
+    type: 10gbase-x-sfpp
+  - name: Ten-GigabitEthernet{module}/0/6
+    type: 10gbase-x-sfpp
+  - name: Ten-GigabitEthernet{module}/0/7
+    type: 10gbase-x-sfpp
+  - name: Ten-GigabitEthernet{module}/0/8
+    type: 10gbase-x-sfpp
+  - name: Forty-GigabitEthernet{module}/0/1
+    type: 40gbase-x-qsfpp
+  - name: Forty-GigabitEthernet{module}/0/2
+    type: 40gbase-x-qsfpp
diff --git a/module-types/HPE/JH211A.yaml b/module-types/HPE/JH211A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f1d3114e786a9e15dd5c9f6f21acd2071d1da395
--- /dev/null
+++ b/module-types/HPE/JH211A.yaml
@@ -0,0 +1,62 @@
+---
+manufacturer: HPE
+model: HPE FlexNetwork 7500 24-port SFP/4-port SFP+ SE Module
+part_number: JH211A
+comments: HPE FlexNetwork 7500 24-port SFP/4-port SFP+ SE Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-x-sfp
+  - name: '{module}2'
+    type: 1000base-x-sfp
+  - name: '{module}3'
+    type: 1000base-x-sfp
+  - name: '{module}4'
+    type: 1000base-x-sfp
+  - name: '{module}5'
+    type: 1000base-x-sfp
+  - name: '{module}6'
+    type: 1000base-x-sfp
+  - name: '{module}7'
+    type: 1000base-x-sfp
+  - name: '{module}8'
+    type: 1000base-x-sfp
+  - name: '{module}9'
+    type: 1000base-x-sfp
+  - name: '{module}10'
+    type: 1000base-x-sfp
+  - name: '{module}11'
+    type: 1000base-x-sfp
+  - name: '{module}12'
+    type: 1000base-x-sfp
+  - name: '{module}13'
+    type: 1000base-x-sfp
+  - name: '{module}14'
+    type: 1000base-x-sfp
+  - name: '{module}15'
+    type: 1000base-x-sfp
+  - name: '{module}16'
+    type: 1000base-x-sfp
+  - name: '{module}17'
+    type: 1000base-x-sfp
+  - name: '{module}18'
+    type: 1000base-x-sfp
+  - name: '{module}19'
+    type: 1000base-x-sfp
+  - name: '{module}20'
+    type: 1000base-x-sfp
+  - name: '{module}21'
+    type: 1000base-x-sfp
+  - name: '{module}22'
+    type: 1000base-x-sfp
+  - name: '{module}23'
+    type: 1000base-x-sfp
+  - name: '{module}24'
+    type: 1000base-x-sfp
+  - name: '{module}25'
+    type: 10gbase-x-sfpp
+  - name: '{module}26'
+    type: 10gbase-x-sfpp
+  - name: '{module}27'
+    type: 10gbase-x-sfpp
+  - name: '{module}28'
+    type: 10gbase-x-sfpp
diff --git a/module-types/HPE/JH213A.yaml b/module-types/HPE/JH213A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0d16149dc0f80aa5b4304113a7f1fc82aafef1f3
--- /dev/null
+++ b/module-types/HPE/JH213A.yaml
@@ -0,0 +1,102 @@
+---
+manufacturer: HPE
+model: HPE FlexNetwork 7500 48-port 1000BASE-T with PoE+ SE Module
+part_number: JH213A
+comments: HPE FlexNetwork 7500 48-port 1000BASE-T with PoE+ SE Module
+interfaces:
+  - name: '{module}1'
+    type: 1000base-t
+  - name: '{module}2'
+    type: 1000base-t
+  - name: '{module}3'
+    type: 1000base-t
+  - name: '{module}4'
+    type: 1000base-t
+  - name: '{module}5'
+    type: 1000base-t
+  - name: '{module}6'
+    type: 1000base-t
+  - name: '{module}7'
+    type: 1000base-t
+  - name: '{module}8'
+    type: 1000base-t
+  - name: '{module}9'
+    type: 1000base-t
+  - name: '{module}10'
+    type: 1000base-t
+  - name: '{module}11'
+    type: 1000base-t
+  - name: '{module}12'
+    type: 1000base-t
+  - name: '{module}13'
+    type: 1000base-t
+  - name: '{module}14'
+    type: 1000base-t
+  - name: '{module}15'
+    type: 1000base-t
+  - name: '{module}16'
+    type: 1000base-t
+  - name: '{module}17'
+    type: 1000base-t
+  - name: '{module}18'
+    type: 1000base-t
+  - name: '{module}19'
+    type: 1000base-t
+  - name: '{module}20'
+    type: 1000base-t
+  - name: '{module}21'
+    type: 1000base-t
+  - name: '{module}22'
+    type: 1000base-t
+  - name: '{module}23'
+    type: 1000base-t
+  - name: '{module}24'
+    type: 1000base-t
+  - name: '{module}25'
+    type: 1000base-t
+  - name: '{module}26'
+    type: 1000base-t
+  - name: '{module}27'
+    type: 1000base-t
+  - name: '{module}28'
+    type: 1000base-t
+  - name: '{module}29'
+    type: 1000base-t
+  - name: '{module}30'
+    type: 1000base-t
+  - name: '{module}31'
+    type: 1000base-t
+  - name: '{module}32'
+    type: 1000base-t
+  - name: '{module}33'
+    type: 1000base-t
+  - name: '{module}34'
+    type: 1000base-t
+  - name: '{module}35'
+    type: 1000base-t
+  - name: '{module}36'
+    type: 1000base-t
+  - name: '{module}37'
+    type: 1000base-t
+  - name: '{module}38'
+    type: 1000base-t
+  - name: '{module}39'
+    type: 1000base-t
+  - name: '{module}40'
+    type: 1000base-t
+  - name: '{module}41'
+    type: 1000base-t
+  - name: '{module}42'
+    type: 1000base-t
+  - name: '{module}43'
+    type: 1000base-t
+  - name: '{module}44'
+    type: 1000base-t
+  - name: '{module}45'
+    type: 1000base-t
+  - name: '{module}46'
+    type: 1000base-t
+  - name: '{module}47'
+    type: 1000base-t
+  - name: '{module}48'
+    type: 1000base-t
diff --git a/module-types/HPE/JH388A.yaml b/module-types/HPE/JH388A.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8c90af2d2264e0f9156ac7c49b9b64b90e5f943c
--- /dev/null
+++ b/module-types/HPE/JH388A.yaml
@@ -0,0 +1,5 @@
+---
+manufacturer: HPE
+model: HPE X711 Front (Port Side) to Back (Power Side) Airflow High Volume 2 Fan Tray
+part_number: JH388A
+comments: HPE X711 Front (Port Side) to Back (Power Side) Airflow High Volume 2 Fan Tray