{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "required": ["status", "data"],
    "oneOf": [
        {
            "properties": {
                "status": {
                    "type": "string",
                    "const": "STARTING"
                },
                "data": {
                    "type": "object",
                    "properties": {
                        "pid": { "type": "number" }
                    },
                    "required": ["pid"]
                }
            }
        },
        {
            "properties": {
                "status": {
                    "type": "string",
                    "const": "LIVE"
                },
                "data": {
                    "type": "object",
                    "properties": {
                        "pid": { "type": "number" },
                        "nodeId": { "type": "object" },
                        "clientHost": { "type": "string" },
                        "clientPort": { "type": "number" },
                        "agentHost": { "type": "string" },
                        "agentPort": { "type": "number" }
                    },
                    "required": [
                        "pid",
                        "nodeId",
                        "clientHost",
                        "clientPort",
                        "agentHost",
                        "agentPort"
                    ]
                }
            }
        },
        {
            "properties": {
                "status": {
                    "type": "string",
                    "const": "STOPPING"
                },
                "data": {
                    "type": "object",
                    "properties": {
                        "pid": { "type": "number" }
                    },
                    "required": ["pid"]
                }
            }
        },
        {
            "properties": {
                "status": {
                    "type": "string",
                    "const": "DEAD"
                },
                "data": {
                    "type": "object",
                    "required": []
                }
            }
        }
    ]
}
