|
- {
- "$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"
- }
- }
- }
- }
- }
|