The OpenAPI v3.0 spec (OAS) describes the BOSH deployment manifests.
It can be used for validation, as well as documentation and code generation.
go build
./bosh-deployment-schema openapi.yml manifest.yml
- Some fields allow multiple types, like an integer or a range. The spec lists those fields as
string
. Thus using an integer in a deployment manifest will result in an validation error. YAML unmarshals unquoted numbers to integers. Example: usinginstances: "1"
instead ofinstances: 1
passes validation. - For compatibility reasons some fields are allowed or might be missing.
Example:
instance_groups: { azs: [] }
. create-env
manifests, might not validate because of IaaS dependent sections, likedisk_pools
.- OpenAPI v3.0 uses JSON schema. JSON schema does not allow any sibling nodes next to a
$ref
. The spec usesallOf
to work around this limitation and add descriptions directly to the node. This might not work with all tooling.