{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Server Buddy inventory v1", "type": "object", "required": [ "schema_version", "synthetic", "collected_at", "server", "checks", "inventory" ], "additionalProperties": false, "properties": { "schema_version": { "const": "1.0" }, "synthetic": { "type": "boolean" }, "collected_at": { "type": "string", "format": "date-time" }, "server": { "type": "object", "required": [ "hostname" ], "properties": { "hostname": { "type": "string" }, "platform": { "enum": [ "windows", "linux" ] } } }, "checks": { "type": "object", "additionalProperties": { "type": "object", "required": [ "status", "message" ], "properties": { "status": { "enum": [ "complete", "partial", "failed", "not_collected" ] }, "message": { "type": "string" } } }, "required": [ "roles", "services", "network", "tasks", "software", "storage", "certificates" ] }, "inventory": { "type": "object", "required": [ "roles", "services", "network", "tasks", "software", "storage", "certificates" ], "properties": { "roles": { "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" } } } }, "services": { "type": "array", "items": { "type": "object", "required": [ "name", "state" ], "properties": { "name": { "type": "string" }, "state": { "type": "string" } } } }, "network": { "type": "array", "items": { "type": "object", "required": [ "state", "local_address", "local_port", "remote_address", "remote_port" ], "properties": { "state": { "type": "string" }, "local_address": { "type": "string" }, "local_port": { "type": "integer" }, "remote_address": { "type": "string" }, "remote_port": { "type": "integer" } } } }, "tasks": { "type": "array", "items": { "type": "object", "required": [ "name", "enabled" ], "properties": { "name": { "type": "string" }, "enabled": { "type": "boolean" } } } }, "software": { "type": "array", "items": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" } } } }, "storage": { "type": "array", "items": { "type": "object", "required": [ "type", "name", "path" ], "properties": { "type": { "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" } } } }, "certificates": { "type": "array", "items": { "type": "object", "required": [ "subject" ], "properties": { "subject": { "type": "string" } } } } }, "additionalProperties": false } } }