{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/ti8m-cdk-concrete-environments.json",
  "title": "Concrete Environments Lists",
  "description": "List of concrete instances (stages) of an environment",
  "type": "object",
  "properties": {
    "$schema": {
      "type": "string"
    },
    "all": {
      "$ref": "https://json.schemastore.org/ti8m-cdk-concrete-environment-config.json#/definitions/concrete-environment-spec",
      "type": "object",
      "description": "Common default definitions for all environments which may be overridden by individual environments"
    }
  },
  "additionalProperties": {
    "type": "object",
    "description": "definitions for one specific environment",
    "anyOf": [
      {
        "$ref": "https://json.schemastore.org/ti8m-cdk-concrete-environment-config.json#/definitions/concrete-environment-spec"
      },
      {
        "type": "object",
        "description": "Reference to a concrete environment definition defined in a separate json file",
        "properties": {
          "$ref": {
            "oneOf": [
              { "type": "string" },
              { "type": "array", "items": { "type": "string" } }
            ],
            "examples": [
              "environments/local.json",
              "[\"environments/common.json\",\n\"environments/local.json\"]"
            ]
          }
        }
      }
    ]
  }
}
