interop/doc/source/schema/2.0.json
Martin Kopec 4b0c80a4ef Edit interop repo links and source in guidelines
interop repository has been moved from openstack/ namespace
to osf/ one and now it's moved to openinfra/ by [1].
This commit fixes the links pointing to interop repository
so that they point to the current source.

We also reorganized the guidelines recently by [2] and moved
them to a specific directory. This commit fixes the links
within the guidelines so that they point to the current
guideline location.

[1] https://review.opendev.org/c/openstack/project-config/+/808479
[2] https://review.opendev.org/c/osf/interop/+/796413

Depends-On: https://review.opendev.org/c/openinfra/ansible-role-refstack-client/+/814383
Change-Id: I3193252181758bde9da6c4c69f927055b64f902d
2021-10-18 09:29:26 +00:00

354 lines
9.6 KiB
JSON

{
"$schema": "http://json-schema.org/draft-06/schema#",
"id": "https://opendev.org/openinfra/interop/raw/branch/master/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"
}
}
}
}
}
}