summaryrefslogtreecommitdiffstats
path: root/src/ansiblelint/schemas/requirements.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/ansiblelint/schemas/requirements.json')
-rw-r--r--src/ansiblelint/schemas/requirements.json135
1 files changed, 135 insertions, 0 deletions
diff --git a/src/ansiblelint/schemas/requirements.json b/src/ansiblelint/schemas/requirements.json
new file mode 100644
index 0000000..73c8a85
--- /dev/null
+++ b/src/ansiblelint/schemas/requirements.json
@@ -0,0 +1,135 @@
+{
+ "$defs": {
+ "CollectionModel": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "title": "Name",
+ "type": "string"
+ },
+ "source": {
+ "title": "Source",
+ "type": "string"
+ },
+ "type": {
+ "enum": ["galaxy", "url", "file", "git", "dir", "subdirs"],
+ "title": "Type",
+ "type": "string"
+ },
+ "version": {
+ "title": "Version",
+ "type": "string"
+ }
+ },
+ "title": "CollectionModel",
+ "type": "object"
+ },
+ "CollectionStringModel": {
+ "title": "CollectionStringModel",
+ "type": "string"
+ },
+ "IncludeModel": {
+ "properties": {
+ "include": {
+ "title": "Include",
+ "type": "string"
+ }
+ },
+ "required": ["include"],
+ "title": "IncludeModel",
+ "type": "object"
+ },
+ "RequirementsV2Model": {
+ "additionalProperties": false,
+ "anyOf": [
+ {
+ "required": ["collections"]
+ },
+ {
+ "required": ["roles"]
+ }
+ ],
+ "properties": {
+ "collections": {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/CollectionModel"
+ },
+ {
+ "$ref": "#/$defs/CollectionStringModel"
+ }
+ ]
+ },
+ "title": "Collections",
+ "type": "array"
+ },
+ "roles": {
+ "items": {
+ "$ref": "#/$defs/RoleModel"
+ },
+ "title": "Roles",
+ "type": "array"
+ }
+ },
+ "title": "Requirements v2",
+ "type": "object"
+ },
+ "RoleModel": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "title": "Name",
+ "type": "string"
+ },
+ "scm": {
+ "anyOf": [
+ {
+ "enum": ["git"],
+ "type": "string"
+ },
+ {
+ "enum": ["hg"],
+ "type": "string"
+ }
+ ],
+ "default": "git",
+ "title": "Scm"
+ },
+ "src": {
+ "title": "Src",
+ "type": "string"
+ },
+ "version": {
+ "default": "master",
+ "title": "Version",
+ "type": "string"
+ }
+ },
+ "title": "Role",
+ "type": "object"
+ }
+ },
+ "$id": "https://raw.githubusercontent.com/ansible-lint/main/src/ansiblelint/schemas/ansible-requirements.json",
+ "$schema": "http://json-schema.org/draft-07/schema",
+ "anyOf": [
+ {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/RoleModel"
+ },
+ {
+ "$ref": "#/$defs/IncludeModel"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ {
+ "$ref": "#/$defs/RequirementsV2Model"
+ }
+ ],
+ "examples": ["requirements.yml"],
+ "title": "Ansible Requirements Schema"
+}