Files
ITWorx-Pulse-Public/specs/entity.schema.json
T
ITWorx Pulse release export bd774932d5
Public source validation / validate (push) Failing after 3m8s
Publish ITWorx Pulse source
2026-09-03 02:09:19 +02:00

164 lines
3.2 KiB
JSON

{
"$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"
]
}
}
}