Data/project.schema.json
|
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "TenantConverge project", "type": "object", "required": ["schemaVersion", "name", "target", "sources", "access", "output"], "additionalProperties": false, "properties": { "schemaVersion": { "const": 1 }, "name": { "type": "string", "minLength": 1 }, "target": { "type": "object", "required": ["displayName", "primaryDomain", "state"], "additionalProperties": false, "properties": { "displayName": { "type": "string", "minLength": 1, "maxLength": 64 }, "primaryDomain": { "type": "string", "minLength": 4, "maxLength": 253 }, "tenantId": { "type": ["string", "null"], "format": "uuid" }, "state": { "enum": ["Production", "New"] } } }, "sources": { "type": "array", "minItems": 1, "maxItems": 3, "items": { "type": "object", "required": ["role", "displayName", "primaryDomain", "wave"], "additionalProperties": false, "properties": { "role": { "enum": ["S1", "S2", "S3"] }, "displayName": { "type": "string", "minLength": 1, "maxLength": 64 }, "primaryDomain": { "type": "string", "minLength": 4, "maxLength": 253 }, "tenantId": { "type": ["string", "null"], "format": "uuid" }, "wave": { "type": "integer", "minimum": 1 } } } }, "access": { "type": "object", "required": ["mode"], "additionalProperties": false, "properties": { "mode": { "enum": ["Browser", "Application"] } } }, "output": { "type": "object", "required": ["path"], "additionalProperties": false, "properties": { "path": { "type": "string", "minLength": 1 } } }, "team": { "type": "array", "items": { "type": "string" } } } } |