{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Grading Queue Message",
    "description": "A message describing a grading job to be run.",
    "type": "object",
    "additionalProperties": true,
    "required": [
        "jobId",
        "image",
        "entrypoint",
        "s3Bucket",
        "s3RootKey"
    ],
    "properties": {
        "jobId": {
            "description": "The unique ID for this job.",
            "type": [
                "string",
                "integer"
            ]
        },
        "image": {
            "description": "The image that this job will be executed in.",
            "type": "string"
        },
        "entrypoint": {
            "description": "The script that will be run to start this job.",
            "type": "string"
        },
        "timeout": {
            "description": "The number of seconds after which the grading job will timeout.",
            "type": "integer"
        },
        "s3Bucket": {
            "description": "The AWS S3 bucket containing this job's files.",
            "type": "string"
        },
        "s3RootKey": {
            "description": "The root key for th job's files.",
            "type": "string"
        }
    }
}