{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://hwlab.pikastech.local/protocol/schemas/box-resource.schema.json",
  "title": "HWLAB Box Resource",
  "type": "object",
  "required": [
    "resourceId",
    "projectId",
    "gatewaySessionId",
    "boxId",
    "resourceType",
    "state",
    "environment",
    "createdAt",
    "updatedAt"
  ],
  "properties": {
    "resourceId": {
      "$ref": "common.json#/$defs/id"
    },
    "projectId": {
      "$ref": "common.json#/$defs/id"
    },
    "gatewaySessionId": {
      "$ref": "common.json#/$defs/id"
    },
    "boxId": {
      "$ref": "common.json#/$defs/id"
    },
    "resourceType": {
      "type": "string",
      "enum": [
        "board",
        "power_supply",
        "serial_port",
        "network_port",
        "relay",
        "sensor",
        "simulator_endpoint"
      ]
    },
    "name": {
      "type": "string",
      "maxLength": 160
    },
    "state": {
      "$ref": "common.json#/$defs/resourceState"
    },
    "environment": {
      "$ref": "common.json#/$defs/environment"
    },
    "metadata": {
      "$ref": "common.json#/$defs/jsonObject"
    },
    "createdAt": {
      "$ref": "common.json#/$defs/timestamp"
    },
    "updatedAt": {
      "$ref": "common.json#/$defs/timestamp"
    }
  },
  "additionalProperties": false
}
