{
  "$defs": {
    "EnvironmentDef": {
      "additionalProperties": false,
      "properties": {
        "envName": {
          "minLength": 1,
          "type": "string",
          "x-jsonld-id": "https://w3id.org/cwl/cwl#EnvironmentDef/envName"
        },
        "envValue": {
          "$ref": "https://ogcincubator.github.io/bblocks-cwl/build/annotated/cwl/v1_2_1/CWLExpression/schema.json",
          "x-jsonld-id": "https://w3id.org/cwl/cwl#EnvironmentDef/envValue"
        }
      },
      "required": [
        "envName",
        "envValue"
      ],
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "class": {
      "enum": [
        "EnvVarRequirement"
      ],
      "type": "string"
    },
    "envDef": {
      "oneOf": [
        {
          "items": {
            "$ref": "#/$defs/EnvironmentDef"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "oneOf": [
              {
                "$ref": "https://ogcincubator.github.io/bblocks-cwl/build/annotated/cwl/v1_2_1/CWLExpression/schema.json",
                "description": "The 'envValue' specified directly"
              },
              {
                "$ref": "#/$defs/EnvironmentDef"
              }
            ]
          },
          "description": "Mapping of 'envName' to environment value or definition.",
          "type": "object"
        }
      ]
    }
  },
  "required": [
    "envDef"
  ],
  "type": "object",
  "x-jsonld-prefixes": {
    "cwl": "https://w3id.org/cwl/cwl#"
  }
}