{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/bosh-cpi-config/latest.json",
  "x-lintel": {
    "source": "https://www.schemastore.org/bosh-cpi-config.json",
    "sourceSha256": "3af77efa0d60b6313ac7da8e5221e0725d38e647e2992d0eb495011bf9899732"
  },
  "$ref": "#/$defs/CPIConfig",
  "$defs": {
    "CPIConfig": {
      "type": "object",
      "title": "BOSH Director CPI Config",
      "description": "To define CPIs and CPI-specific properties for a BOSH Director.\n\nIntroduced in: v261",
      "properties": {
        "cpis": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CPIs"
          }
        }
      }
    },
    "CPIs": {
      "type": "object",
      "required": [
        "name",
        "type"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "exec_path": {
          "type": "string"
        },
        "migrated_from": {
          "$ref": "#/$defs/MigratedFrom"
        },
        "properties": {
          "type": "object"
        }
      }
    },
    "MigratedFrom": {
      "type": "array",
      "description": "Allows for reusing IaaS resources from existing CPI configurations (such as pre-CPI config by using the special \"\" CPI name) without needing to re-upload stemcells or recreate all resources immediately.\n\nIntroduced in: v262.8.0 (https://github.com/cloudfoundry/bosh/commit/1a98a964f9c0238ba6a9b330e20a266cde9370c0)",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          }
        }
      }
    }
  },
  "$comment": "This schema was built from information on https://bosh.io/docs/cpi-config/ and https://github.com/cloudfoundry/bosh/blob/0bb56927d04d3ce2b7f9d4283a9acd5ee2d6aaf3/src/bosh-director/lib/bosh/director/cpi_config/cpi.rb."
}
