{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/bosh-cpi-config.json",
  "$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.",
  "$ref": "#/definitions/CPIConfig",
  "definitions": {
    "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": "#/definitions/CPIs"
          }
        }
      }
    },
    "CPIs": {
      "type": "object",
      "required": ["name", "type"],
      "properties": {
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "exec_path": {
          "type": "string"
        },
        "migrated_from": {
          "$ref": "#/definitions/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"
          }
        }
      }
    }
  }
}
