{
  "type": "object",
  "required" : [
    "status",
    "applications"
  ],
  "properties" : {
    "status": { "type": "string" },
    "status_reason": { "type": ["string", "null"] },
    "applications": {
      "type": "array",
      "items": { "$ref": "#/definitions/application_status" }
    }
  },
  "additionalProperties": false,
  "definitions": {
    "application_status": {
      "type": "object",
      "additionalProperties": false,
      "properties" : {
        "name": { "type": "string" },
        "status": {
          "type": {
            "enum": [
              "installable",
              "scheduled",
              "installing",
              "installed",
              "errored"
            ]
          }
        },
        "version": { "type": "string" },
        "status_reason": { "type": ["string", "null"] },
        "external_ip": { "type": ["string", "null"] },
        "hostname": { "type": ["string", "null"] },
        "email": { "type": ["string", "null"] },
        "update_available": { "type": ["boolean", "null"] }
      },
      "required" : [ "name", "status" ]
    }
  }
}
