{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "https://specs.openstack.org/openstack/service-types-authority/_downloads/published-schema.json#", "type": "object", "required": ["services", "version", "sha", "forward", "reverse"], "additionalProperties": false, "properties": { "version": { "type": "string", "description": "DateTime based version in ISO Format (https://tools.ietf.org/html/rfc3339#section-5.6", "format": "date-time" }, "sha": { "type": "string", "description": "sha of the git commit from which the file was generated", "pattern": "^[a-f0-9]{40}" }, "services": { "type": "array", "items": { "$ref": "https://specs.openstack.org/openstack/service-types-authority/_downloads/schema.json#/definitions/service" } }, "forward": { "type": "object", "description": "Mapping of official service-type to historical aliases", "patternProperties": { "^([a-z][a-z-]*[a-z]+|ec2-api)$": { "type": "array", "items": { "type": "string" }, "description": "Ordered list of historical aliases" } }, "additionalProperties": false }, "reverse": { "type": "object", "description": "Reverse mapping of historical alias to official service-type", "patternProperties": { "^.*$": { "type": "string", "pattern": "^([a-z][a-z-]*[a-z]+|ec2-api)$", "description": "Official service-type" } } }, "primary_service_by_project": { "type": "object", "description": "Mapping of project name to the service data for the primary service", "patternProperties": { "^.*$": { "$ref": "https://specs.openstack.org/openstack/service-types-authority/_downloads/schema.json#/definitions/service" } } }, "all_types_by_service_type": { "type": "object", "description": "Mapping of official service-type to official type and aliases", "patternProperties": { "^([a-z][a-z-]*[a-z]+|ec2-api)$": { "type": "array", "items": { "type": "string" }, "description": "Ordered list of official type and historical aliases." } }, "additionalProperties": false }, "service_types_by_project": { "type": "object", "description": "Mapping of project name to list of service-types for the project", "patternProperties": { "^([a-z][a-z-]*[a-z]+|ec2-api)$": { "type": "array", "items": { "type": "string" }, "description": "List of service types associated with a project" } } } } }