6a5adfc915
Change-Id: I16040e384b553ffb7d19dcda2363f3f07ce7855e
354 lines
9.6 KiB
JSON
354 lines
9.6 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-06/schema#",
|
|
"id": "http://opendev.org/openstack/interop/doc/source/schema/2.0.json",
|
|
"type": "object",
|
|
"properties": {
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"reference": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"scoring": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cutoff_score": {
|
|
"type": "integer"
|
|
},
|
|
"criteria": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^[A-Za-z0-9_-]+": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"weight": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"description",
|
|
"weight"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"os_trademark_approval": {
|
|
"type": "object",
|
|
"properties": {
|
|
"target_approval": {
|
|
"type": "string",
|
|
"pattern": "\\d\\d\\d\\d.\\d\\d"
|
|
},
|
|
"replaces": {
|
|
"type": "string",
|
|
"pattern": "\\d\\d\\d\\d.\\d\\d"
|
|
},
|
|
"releases": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true
|
|
},
|
|
"status": {
|
|
"enum": ["draft", "advisory", "approved", "superseded"]
|
|
}
|
|
},
|
|
"required": [
|
|
"target_approval",
|
|
"releases",
|
|
"status"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"schema",
|
|
"reference",
|
|
"source"
|
|
],
|
|
"additionalProperties": true
|
|
},
|
|
"platforms": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^\\w+$": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [ "components" ],
|
|
"properties": {
|
|
"description": { "type": "string" },
|
|
"components": {
|
|
"$ref": "#/definitions/component_reference",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["name"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"add-ons": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^\\w+$": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"description": { "type": "string" },
|
|
"components": {
|
|
"$ref": "#/definitions/component_reference",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["name"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required_platform_components": {
|
|
"$ref": "#/definitions/component_reference",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["name"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"optional_platform_components": {
|
|
"$ref": "#/definitions/component_reference",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["name"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^\\w+$": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"capabilities|designated_sections": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"patternProperties": {
|
|
"required|advisory|deprecated|removed": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"capabilities": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^\\w+$": {
|
|
"type": "object",
|
|
"properties": {
|
|
"achievements": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"uniqueItems": true
|
|
},
|
|
"admin": { "type": "boolean" },
|
|
"required_since": {
|
|
"type": "string",
|
|
"pattern": "\\d\\d\\d\\d.\\d\\d"
|
|
},
|
|
"description": { "type": "string" },
|
|
"tests": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^\\w+$": {
|
|
"type": "object",
|
|
"required": [ "idempotent_id" ],
|
|
"properties": {
|
|
"idempotent_id": { "type": "string" },
|
|
"aliases": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
},
|
|
"flag": {
|
|
"type": "object",
|
|
"required": [ "reason", "action", "date" ],
|
|
"properties": {
|
|
"reason": {
|
|
"type": "string",
|
|
"pattern": "^D\\d{3} \\w+"
|
|
},
|
|
"action": {
|
|
"type": "string"
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"pattern": "\\d{4}-\\d{2}-\\d{2}"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"project": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"achievements",
|
|
"admin",
|
|
"description",
|
|
"project",
|
|
"tests"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"designated_sections": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^\\w+$": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"required|advisory|deprecated|removed|informational": {
|
|
"type": "object",
|
|
"required": [ "guidance", "sections"],
|
|
"properties": {
|
|
"guidance": {
|
|
"type": "string"
|
|
},
|
|
"comment": {
|
|
"type": "string"
|
|
},
|
|
"sections": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^\\w+$": {
|
|
"type": "object",
|
|
"required": ["description", "designated"],
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"designated": {
|
|
"type": "boolean"
|
|
},
|
|
"comment": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"test_repositories": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^\\w+$": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [ "repository" ],
|
|
"properties": {
|
|
"repository": { "type": "string" },
|
|
"reference": { "type": "string" },
|
|
"description": { "type": "string" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"metadata",
|
|
"components",
|
|
"capabilities",
|
|
"designated_sections",
|
|
"test_repositories"
|
|
],
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"component_reference": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [ "name" ],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": { "type": "string" },
|
|
"source": { "type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|