devicetype-library/schema/devicetype.json
2022-08-18 09:23:52 -04:00

110 lines
2.8 KiB
JSON

{
"type": "object",
"properties": {
"manufacturer": {
"type": "string"
},
"model": {
"type": "string"
},
"slug": {
"type": "string",
"pattern": "^[-a-zA-Z0-9_]+$"
},
"part_number": {
"type": "string"
},
"u_height": {
"type": "number",
"minimum": 0,
"multipleOf": 0.5
},
"is_full_depth": {
"type": "boolean"
},
"airflow": {
"type": "string",
"enum": [
"front-to-rear",
"rear-to-front",
"left-to-right",
"right-to-left",
"side-to-rear",
"passive"
]
},
"subdevice_role": {
"type": "string",
"enum": [
"parent",
"child"
]
},
"console-ports": {
"type": "array",
"items": {
"$ref": "components.json#/definitions/console-port"
}
},
"console-server-ports": {
"type": "array",
"items": {
"$ref": "components.json#/definitions/console-server-port"
}
},
"power-ports": {
"type": "array",
"items": {
"$ref": "components.json#/definitions/power-port"
}
},
"power-outlets": {
"type": "array",
"items": {
"$ref": "components.json#/definitions/power-outlet"
}
},
"interfaces": {
"type": "array",
"items": {
"$ref": "components.json#/definitions/interface"
}
},
"front-ports": {
"type": "array",
"items": {
"$ref": "components.json#/definitions/front-port"
}
},
"rear-ports": {
"type": "array",
"items": {
"$ref": "components.json#/definitions/rear-port"
}
},
"module-bays": {
"type": "array",
"items": {
"$ref": "components.json#/definitions/module-bay"
}
},
"device-bays": {
"type": "array",
"items": {
"$ref": "components.json#/definitions/device-bay"
}
},
"inventory-items": {
"type": "array",
"items": {
"$ref": "components.json#/definitions/inventory-item"
}
},
"comments": {
"type": "string"
}
},
"required": ["manufacturer", "model", "slug"],
"additionalProperties": false
}