{
  "$schema" : "https://json-schema.org/draft/2019-09/schema",
  "$defs" : {
    "Database" : {
      "type" : "object",
      "properties" : {
        "Url" : {
          "type" : "string",
          "description" : "JDBC Url to use for connections. E.g. 'jdbc:{vendor}://{host}:{port}/{dbName}' "
        },
        "Driver" : {
          "type" : "string",
          "description" : "JDBC driver Name: e.g. 'org.postgresql.Driver'"
        },
        "Icon" : {
          "type" : "string",
          "description" : "Reference to a custom image. E.g. 'res:/webContent/myIcon.png'"
        },
        "UserName" : {
          "type" : "string"
        },
        "Password" : {
          "type" : "string",
          "description" : "Secret password, should be stored encrypted. Encrypted values have a ${decrypt:} prefix",
          "format" : "password"
        },
        "MaxConnections" : {
          "type" : "integer"
        },
        "Properties" : {
          "$ref" : "#/$defs/Map(String,String)",
          "description" : "Driver specific custom properties"
        }
      },
      "additionalProperties" : false
    },
    "Map(String,DatabaseSchema)" : {
      "type" : "object",
      "additionalProperties" : {
        "$ref" : "#/$defs/Database"
      }
    },
    "Map(String,String)" : {
      "type" : "object",
      "additionalProperties" : {
        "type" : "string"
      }
    }
  },
  "type" : "object",
  "properties" : {
    "Databases" : {
      "$ref" : "#/$defs/Map(String,DatabaseSchema)"
    }
  },
  "additionalProperties" : false
}
