{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "CertOnlySite": { "properties": { "subdomain": { "type": "string" }, "type": { "enum": [ "cert-only" ], "type": "string" } }, "type": "object" }, "RedirectSite": { "properties": { "subdomain": { "type": "string" }, "type": { "enum": [ "redirect" ], "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "ReverseProxySite": { "properties": { "subdomain": { "type": "string" }, "type": { "enum": [ "reverse-proxy" ], "type": "string" }, "upstream": { "type": "string" } }, "type": "object" }, "StaticFileSite": { "properties": { "root": { "type": "string" }, "subdomain": { "type": "string" }, "type": { "enum": [ "static-file" ], "type": "string" } }, "type": "object" } }, "properties": { "sites": { "items": { "anyOf": [ { "$ref": "#/definitions/ReverseProxySite" }, { "$ref": "#/definitions/StaticFileSite" }, { "$ref": "#/definitions/RedirectSite" }, { "$ref": "#/definitions/CertOnlySite" } ] }, "type": "array" } }, "type": "object" }