{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "virtual-machine.schema.json",
  "type": "array",
  "items": {
    "type": "object",
    "required": ["id", "name", "status", "hypervisor_host", "virtualization_stack", "docs", "last_reviewed"],
    "properties": {
      "id": { "type": "string" },
      "name": { "type": "string" },
      "status": { "type": "string", "enum": ["running", "shut_off", "paused", "unknown"] },
      "uuid": { "type": "string" },
      "hypervisor_host": { "type": "string" },
      "virtualization_stack": { "type": "string" },
      "libvirt_connection": { "type": "string" },
      "os_type": { "type": "string" },
      "vcpus": { "type": "integer", "minimum": 0 },
      "memory_mib": { "type": "integer", "minimum": 0 },
      "autostart": { "type": "boolean" },
      "addresses": { "type": "array", "items": { "type": "string" } },
      "runs_services": { "type": "array", "items": { "type": "string" } },
      "docs": { "type": "string" },
      "last_reviewed": { "type": "string" },
      "source_of_truth": { "type": "string" }
    },
    "additionalProperties": true
  }
}
