Public source validation / validate (push) Failing after 3m8s
164 lines
3.2 KiB
JSON
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"
|
|
]
|
|
}
|
|
}
|
|
}
|