{
    "type": "object",
    "$id": "urn:devicetype-library:generated-schema",
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "additionalProperties": false,
    "definitions": {
        "airflow": {
            "type": "string",
            "enum": [
                "front-to-rear",
                "rear-to-front",
                "left-to-right",
                "right-to-left",
                "side-to-rear",
                "passive",
                "mixed"
            ]
        },
        "weight-unit": {
            "type": "string",
            "enum": [
                "kg",
                "g",
                "lb",
                "oz"
            ]
        },
        "subdevice-role": {
            "type": "string",
            "enum": [
                "parent",
                "child"
            ]
        },
        "console-port": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "de-9",
                        "db-25",
                        "rj-11",
                        "rj-12",
                        "rj-45",
                        "mini-din-8",
                        "usb-a",
                        "usb-b",
                        "usb-c",
                        "usb-mini-a",
                        "usb-mini-b",
                        "usb-micro-a",
                        "usb-micro-b",
                        "usb-micro-ab",
                        "other"
                    ]
                }
            }
        },
        "console-server-port": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "de-9",
                        "db-25",
                        "rj-11",
                        "rj-12",
                        "rj-45",
                        "mini-din-8",
                        "usb-a",
                        "usb-b",
                        "usb-c",
                        "usb-mini-a",
                        "usb-mini-b",
                        "usb-micro-a",
                        "usb-micro-b",
                        "usb-micro-ab",
                        "other"
                    ]
                }
            }
        },
        "power-port": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "iec-60320-c6",
                        "iec-60320-c8",
                        "iec-60320-c14",
                        "iec-60320-c16",
                        "iec-60320-c20",
                        "iec-60320-c22",
                        "iec-60309-p-n-e-4h",
                        "iec-60309-p-n-e-6h",
                        "iec-60309-p-n-e-9h",
                        "iec-60309-2p-e-4h",
                        "iec-60309-2p-e-6h",
                        "iec-60309-2p-e-9h",
                        "iec-60309-3p-e-4h",
                        "iec-60309-3p-e-6h",
                        "iec-60309-3p-e-9h",
                        "iec-60309-3p-n-e-4h",
                        "iec-60309-3p-n-e-6h",
                        "iec-60309-3p-n-e-9h",
                        "iec-60906-1",
                        "nbr-14136-10a",
                        "nbr-14136-20a",
                        "nema-1-15p",
                        "nema-5-15p",
                        "nema-5-20p",
                        "nema-5-30p",
                        "nema-5-50p",
                        "nema-6-15p",
                        "nema-6-20p",
                        "nema-6-30p",
                        "nema-6-50p",
                        "nema-10-30p",
                        "nema-10-50p",
                        "nema-14-20p",
                        "nema-14-30p",
                        "nema-14-50p",
                        "nema-14-60p",
                        "nema-15-15p",
                        "nema-15-20p",
                        "nema-15-30p",
                        "nema-15-50p",
                        "nema-15-60p",
                        "nema-l1-15p",
                        "nema-l5-15p",
                        "nema-l5-20p",
                        "nema-l5-30p",
                        "nema-l5-50p",
                        "nema-l6-15p",
                        "nema-l6-20p",
                        "nema-l6-30p",
                        "nema-l6-50p",
                        "nema-l10-30p",
                        "nema-l14-20p",
                        "nema-l14-30p",
                        "nema-l14-50p",
                        "nema-l14-60p",
                        "nema-l15-20p",
                        "nema-l15-30p",
                        "nema-l15-50p",
                        "nema-l15-60p",
                        "nema-l21-20p",
                        "nema-l21-30p",
                        "nema-l22-30p",
                        "cs6361c",
                        "cs6365c",
                        "cs8165c",
                        "cs8265c",
                        "cs8365c",
                        "cs8465c",
                        "ita-c",
                        "ita-e",
                        "ita-f",
                        "ita-ef",
                        "ita-g",
                        "ita-h",
                        "ita-i",
                        "ita-j",
                        "ita-k",
                        "ita-l",
                        "ita-m",
                        "ita-n",
                        "ita-o",
                        "usb-a",
                        "usb-b",
                        "usb-c",
                        "usb-mini-a",
                        "usb-mini-b",
                        "usb-micro-a",
                        "usb-micro-b",
                        "usb-micro-ab",
                        "usb-3-b",
                        "usb-3-micro-b",
                        "dc-terminal",
                        "saf-d-grid",
                        "neutrik-powercon-20",
                        "neutrik-powercon-32",
                        "neutrik-powercon-true1",
                        "neutrik-powercon-true1-top",
                        "ubiquiti-smartpower",
                        "hardwired",
                        "other"
                    ]
                }
            }
        },
        "power-outlet": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "iec-60320-c5",
                        "iec-60320-c7",
                        "iec-60320-c13",
                        "iec-60320-c15",
                        "iec-60320-c19",
                        "iec-60320-c21",
                        "iec-60309-p-n-e-4h",
                        "iec-60309-p-n-e-6h",
                        "iec-60309-p-n-e-9h",
                        "iec-60309-2p-e-4h",
                        "iec-60309-2p-e-6h",
                        "iec-60309-2p-e-9h",
                        "iec-60309-3p-e-4h",
                        "iec-60309-3p-e-6h",
                        "iec-60309-3p-e-9h",
                        "iec-60309-3p-n-e-4h",
                        "iec-60309-3p-n-e-6h",
                        "iec-60309-3p-n-e-9h",
                        "iec-60906-1",
                        "nbr-14136-10a",
                        "nbr-14136-20a",
                        "nema-1-15r",
                        "nema-5-15r",
                        "nema-5-20r",
                        "nema-5-30r",
                        "nema-5-50r",
                        "nema-6-15r",
                        "nema-6-20r",
                        "nema-6-30r",
                        "nema-6-50r",
                        "nema-10-30r",
                        "nema-10-50r",
                        "nema-14-20r",
                        "nema-14-30r",
                        "nema-14-50r",
                        "nema-14-60r",
                        "nema-15-15r",
                        "nema-15-20r",
                        "nema-15-30r",
                        "nema-15-50r",
                        "nema-15-60r",
                        "nema-l1-15r",
                        "nema-l5-15r",
                        "nema-l5-20r",
                        "nema-l5-30r",
                        "nema-l5-50r",
                        "nema-l6-15r",
                        "nema-l6-20r",
                        "nema-l6-30r",
                        "nema-l6-50r",
                        "nema-l10-30r",
                        "nema-l14-20r",
                        "nema-l14-30r",
                        "nema-l14-50r",
                        "nema-l14-60r",
                        "nema-l15-20r",
                        "nema-l15-30r",
                        "nema-l15-50r",
                        "nema-l15-60r",
                        "nema-l21-20r",
                        "nema-l21-30r",
                        "nema-l22-30r",
                        "CS6360C",
                        "CS6364C",
                        "CS8164C",
                        "CS8264C",
                        "CS8364C",
                        "CS8464C",
                        "ita-e",
                        "ita-f",
                        "ita-g",
                        "ita-h",
                        "ita-i",
                        "ita-j",
                        "ita-k",
                        "ita-l",
                        "ita-m",
                        "ita-n",
                        "ita-o",
                        "ita-multistandard",
                        "usb-a",
                        "usb-micro-b",
                        "usb-c",
                        "dc-terminal",
                        "hdot-cx",
                        "saf-d-grid",
                        "neutrik-powercon-20a",
                        "neutrik-powercon-32a",
                        "neutrik-powercon-true1",
                        "neutrik-powercon-true1-top",
                        "ubiquiti-smartpower",
                        "hardwired",
                        "other"
                    ]
                },
                "feed-leg": {
                    "type": "string",
                    "enum": [
                        "A",
                        "B",
                        "C"
                    ]
                }
            }
        },
        "interface": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "virtual",
                        "bridge",
                        "lag",
                        "100base-fx",
                        "100base-lfx",
                        "100base-tx",
                        "100base-t1",
                        "1000base-t",
                        "2.5gbase-t",
                        "5gbase-t",
                        "10gbase-t",
                        "10gbase-cx4",
                        "1000base-x-gbic",
                        "1000base-x-sfp",
                        "10gbase-x-sfpp",
                        "10gbase-x-xfp",
                        "10gbase-x-xenpak",
                        "10gbase-x-x2",
                        "25gbase-x-sfp28",
                        "50gbase-x-sfp56",
                        "40gbase-x-qsfpp",
                        "50gbase-x-sfp28",
                        "100gbase-x-cfp",
                        "100gbase-x-cfp2",
                        "200gbase-x-cfp2",
                        "400gbase-x-cfp2",
                        "100gbase-x-cfp4",
                        "100gbase-x-cxp",
                        "100gbase-x-cpak",
                        "100gbase-x-dsfp",
                        "100gbase-x-sfpdd",
                        "100gbase-x-qsfp28",
                        "100gbase-x-qsfpdd",
                        "200gbase-x-qsfp56",
                        "200gbase-x-qsfpdd",
                        "400gbase-x-qsfp112",
                        "400gbase-x-qsfpdd",
                        "400gbase-x-osfp",
                        "400gbase-x-osfp-rhs",
                        "400gbase-x-cdfp",
                        "400gbase-x-cfp8",
                        "800gbase-x-qsfpdd",
                        "800gbase-x-osfp",
                        "1000base-kx",
                        "2.5gbase-kx",
                        "5gbase-kr",
                        "10gbase-kr",
                        "10gbase-kx4",
                        "25gbase-kr",
                        "40gbase-kr4",
                        "50gbase-kr",
                        "100gbase-kp4",
                        "100gbase-kr2",
                        "100gbase-kr4",
                        "ieee802.11a",
                        "ieee802.11g",
                        "ieee802.11n",
                        "ieee802.11ac",
                        "ieee802.11ad",
                        "ieee802.11ax",
                        "ieee802.11ay",
                        "ieee802.15.1",
                        "other-wireless",
                        "gsm",
                        "cdma",
                        "lte",
                        "sonet-oc3",
                        "sonet-oc12",
                        "sonet-oc48",
                        "sonet-oc192",
                        "sonet-oc768",
                        "sonet-oc1920",
                        "sonet-oc3840",
                        "1gfc-sfp",
                        "2gfc-sfp",
                        "4gfc-sfp",
                        "8gfc-sfpp",
                        "16gfc-sfpp",
                        "32gfc-sfp28",
                        "32gfc-sfpp",
                        "64gfc-qsfpp",
                        "64gfc-sfpdd",
                        "64gfc-sfpp",
                        "128gfc-qsfp28",
                        "infiniband-sdr",
                        "infiniband-ddr",
                        "infiniband-qdr",
                        "infiniband-fdr10",
                        "infiniband-fdr",
                        "infiniband-edr",
                        "infiniband-hdr",
                        "infiniband-ndr",
                        "infiniband-xdr",
                        "t1",
                        "e1",
                        "t3",
                        "e3",
                        "xdsl",
                        "docsis",
                        "gpon",
                        "xg-pon",
                        "xgs-pon",
                        "ng-pon2",
                        "epon",
                        "10g-epon",
                        "cisco-stackwise",
                        "cisco-stackwise-plus",
                        "cisco-flexstack",
                        "cisco-flexstack-plus",
                        "cisco-stackwise-80",
                        "cisco-stackwise-160",
                        "cisco-stackwise-320",
                        "cisco-stackwise-480",
                        "cisco-stackwise-1t",
                        "juniper-vcp",
                        "extreme-summitstack",
                        "extreme-summitstack-128",
                        "extreme-summitstack-256",
                        "extreme-summitstack-512",
                        "other"
                    ]
                },
                "poe_mode": {
                    "type": "string",
                    "enum": [
                        "pd",
                        "pse"
                    ]
                },
                "poe_type": {
                    "type": "string",
                    "enum": [
                        "type1-ieee802.3af",
                        "type2-ieee802.3at",
                        "type3-ieee802.3bt",
                        "type4-ieee802.3bt",
                        "passive-24v-2pair",
                        "passive-24v-4pair",
                        "passive-48v-2pair",
                        "passive-48v-4pair"
                    ]
                }
            }
        },
        "front-port": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "8p8c",
                        "8p6c",
                        "8p4c",
                        "8p2c",
                        "6p6c",
                        "6p4c",
                        "6p2c",
                        "4p4c",
                        "4p2c",
                        "gg45",
                        "tera-4p",
                        "tera-2p",
                        "tera-1p",
                        "110-punch",
                        "bnc",
                        "f",
                        "n",
                        "mrj21",
                        "fc",
                        "lc",
                        "lc-pc",
                        "lc-upc",
                        "lc-apc",
                        "lsh",
                        "lsh-pc",
                        "lsh-upc",
                        "lsh-apc",
                        "lx5",
                        "lx5-pc",
                        "lx5-upc",
                        "lx5-apc",
                        "mpo",
                        "mtrj",
                        "sc",
                        "sc-pc",
                        "sc-upc",
                        "sc-apc",
                        "st",
                        "cs",
                        "sn",
                        "sma-905",
                        "sma-906",
                        "urm-p2",
                        "urm-p4",
                        "urm-p8",
                        "splice",
                        "other"
                    ]
                }
            }
        },
        "rear-port": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "8p8c",
                        "8p6c",
                        "8p4c",
                        "8p2c",
                        "6p6c",
                        "6p4c",
                        "6p2c",
                        "4p4c",
                        "4p2c",
                        "gg45",
                        "tera-4p",
                        "tera-2p",
                        "tera-1p",
                        "110-punch",
                        "bnc",
                        "f",
                        "n",
                        "mrj21",
                        "fc",
                        "lc",
                        "lc-pc",
                        "lc-upc",
                        "lc-apc",
                        "lsh",
                        "lsh-pc",
                        "lsh-upc",
                        "lsh-apc",
                        "lx5",
                        "lx5-pc",
                        "lx5-upc",
                        "lx5-apc",
                        "mpo",
                        "mtrj",
                        "sc",
                        "sc-pc",
                        "sc-upc",
                        "sc-apc",
                        "st",
                        "cs",
                        "sn",
                        "sma-905",
                        "sma-906",
                        "urm-p2",
                        "urm-p4",
                        "urm-p8",
                        "splice",
                        "other"
                    ]
                }
            }
        }
    }
}