{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://itworx.local/pulse/specs/entity.schema.json", "title": "Pulse entity", "type": "object", "additionalProperties": false, "required": [ "id", "entityType", "canonicalName", "displayName", "status", "statusReasons", "sourceAliases", "firstSeenAt", "lastSeenAt" ], "properties": { "id": { "type": "string", "format": "uuid" }, "entityType": { "type": "string", "enum": [ "server", "cpu", "memory", "gpu", "network-interface", "ups", "array", "pool", "disk", "partition", "filesystem", "share", "container", "image", "stack", "volume", "network", "application", "service", "endpoint", "certificate", "data-source", "collector", "probe" ] }, "canonicalName": { "type": "string", "minLength": 1, "maxLength": 255 }, "displayName": { "type": "string", "minLength": 1, "maxLength": 255 }, "status": { "$ref": "#/$defs/status" }, "statusReasons": { "type": "array", "maxItems": 20, "items": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "type": "string", "pattern": "^[A-Z0-9_]+$", "maxLength": 80 }, "message": { "type": "string", "maxLength": 500 }, "sourceId": { "type": [ "string", "null" ], "format": "uuid" }, "observedAt": { "type": [ "string", "null" ], "format": "date-time" } } } }, "sourceAliases": { "type": "array", "maxItems": 20, "items": { "type": "object", "additionalProperties": false, "required": [ "sourceId", "externalType", "externalId" ], "properties": { "sourceId": { "type": "string", "format": "uuid" }, "externalType": { "type": "string", "maxLength": 80 }, "externalId": { "type": "string", "maxLength": 512 } } } }, "attributes": { "type": "object", "maxProperties": 100 }, "firstSeenAt": { "type": "string", "format": "date-time" }, "lastSeenAt": { "type": "string", "format": "date-time" }, "tombstonedAt": { "type": [ "string", "null" ], "format": "date-time" } }, "$defs": { "status": { "type": "string", "enum": [ "operational", "attention", "degraded", "critical", "unknown", "maintenance", "disabled" ] } } }