summaryrefslogtreecommitdiffstats
path: root/src/ansiblelint/schemas/tasks.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/ansiblelint/schemas/tasks.json')
-rw-r--r--src/ansiblelint/schemas/tasks.json588
1 files changed, 588 insertions, 0 deletions
diff --git a/src/ansiblelint/schemas/tasks.json b/src/ansiblelint/schemas/tasks.json
new file mode 100644
index 0000000..ec7f85d
--- /dev/null
+++ b/src/ansiblelint/schemas/tasks.json
@@ -0,0 +1,588 @@
+{
+ "$comment": "Generated from ansible.json, do not edit.",
+ "$defs": {
+ "become_method": {
+ "anyOf": [
+ {
+ "enum": [
+ "ansible.builtin.sudo",
+ "ansible.builtin.su",
+ "community.general.pbrun",
+ "community.general.pfexec",
+ "ansible.builtin.runas",
+ "community.general.dzdo",
+ "community.general.ksu",
+ "community.general.doas",
+ "community.general.machinectl",
+ "community.general.pmrun",
+ "community.general.sesu",
+ "community.general.sudosu"
+ ],
+ "type": "string"
+ },
+ {
+ "$ref": "#/$defs/full-jinja"
+ },
+ {
+ "pattern": "[A-Za-z0-9_\\.]+",
+ "type": "string"
+ }
+ ],
+ "markdownDescription": "See [become](https://docs.ansible.com/ansible/latest/user_guide/become.html)",
+ "title": "Become Method"
+ },
+ "block": {
+ "properties": {
+ "always": {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/task"
+ },
+ {
+ "$ref": "#/$defs/block"
+ }
+ ]
+ },
+ "title": "Always",
+ "type": "array"
+ },
+ "any_errors_fatal": {
+ "$ref": "#/$defs/templated-boolean",
+ "title": "Any Errors Fatal"
+ },
+ "become": {
+ "$ref": "#/$defs/templated-boolean",
+ "title": "Become"
+ },
+ "become_exe": {
+ "title": "Become Exe",
+ "type": "string"
+ },
+ "become_flags": {
+ "title": "Become Flags",
+ "type": "string"
+ },
+ "become_method": {
+ "$ref": "#/$defs/become_method"
+ },
+ "become_user": {
+ "title": "Become User",
+ "type": "string"
+ },
+ "block": {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/task"
+ },
+ {
+ "$ref": "#/$defs/block"
+ }
+ ]
+ },
+ "markdownDescription": "Blocks create logical groups of tasks. Blocks also offer ways to handle task errors, similar to exception handling in many programming languages. See [blocks](https://docs.ansible.com/ansible/latest/user_guide/playbooks_blocks.html)",
+ "title": "Block",
+ "type": "array"
+ },
+ "check_mode": {
+ "$ref": "#/$defs/complex_conditional",
+ "title": "Check Mode"
+ },
+ "collections": {
+ "items": {
+ "type": "string"
+ },
+ "title": "Collections",
+ "type": "array"
+ },
+ "connection": {
+ "title": "Connection",
+ "type": "string"
+ },
+ "debugger": {
+ "title": "Debugger",
+ "type": "string"
+ },
+ "delegate_facts": {
+ "title": "Delegate Facts",
+ "type": "boolean"
+ },
+ "delegate_to": {
+ "title": "Delegate To",
+ "type": "string"
+ },
+ "diff": {
+ "$ref": "#/$defs/templated-boolean",
+ "title": "Diff"
+ },
+ "environment": {
+ "$ref": "#/$defs/environment"
+ },
+ "ignore_errors": {
+ "$ref": "#/$defs/ignore_errors"
+ },
+ "ignore_unreachable": {
+ "title": "Ignore Unreachable",
+ "type": "boolean"
+ },
+ "module_defaults": {
+ "title": "Module Defaults"
+ },
+ "name": {
+ "title": "Name",
+ "type": "string"
+ },
+ "no_log": {
+ "$ref": "#/$defs/templated-boolean"
+ },
+ "port": {
+ "$ref": "#/$defs/templated-integer"
+ },
+ "remote_user": {
+ "title": "Remote User",
+ "type": "string"
+ },
+ "rescue": {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/task"
+ },
+ {
+ "$ref": "#/$defs/block"
+ }
+ ]
+ },
+ "title": "Rescue",
+ "type": "array"
+ },
+ "run_once": {
+ "$ref": "#/$defs/templated-boolean",
+ "title": "Run Once"
+ },
+ "tags": {
+ "$ref": "#/$defs/tags",
+ "title": "Tags"
+ },
+ "throttle": {
+ "$ref": "#/$defs/templated-integer",
+ "title": "Throttle"
+ },
+ "timeout": {
+ "$ref": "#/$defs/templated-integer",
+ "title": "Timeout"
+ },
+ "vars": {
+ "title": "Vars",
+ "type": "object"
+ },
+ "when": {
+ "$ref": "#/$defs/complex_conditional",
+ "title": "When"
+ }
+ },
+ "required": [
+ "block"
+ ],
+ "type": "object"
+ },
+ "complex_conditional": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "string"
+ },
+ {
+ "items": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "string"
+ }
+ ]
+ },
+ "type": "array"
+ }
+ ]
+ },
+ "environment": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "$ref": "#/$defs/full-jinja"
+ }
+ ],
+ "title": "Environment"
+ },
+ "full-jinja": {
+ "pattern": "^\\{[\\{%](.|[\r\n])*[\\}%]\\}$",
+ "type": "string"
+ },
+ "ignore_errors": {
+ "$ref": "#/$defs/templated-boolean",
+ "markdownDescription": "See [ignore_errors](https://docs.ansible.com/ansible/latest/user_guide/playbooks_error_handling.html#ignoring-failed-commands)",
+ "title": "Ignore Errors"
+ },
+ "no_log": {
+ "$ref": "#/$defs/templated-boolean",
+ "markdownDescription": "Use for protecting sensitive data. See [no_log](https://docs.ansible.com/ansible/latest/reference_appendices/logging.html)",
+ "title": "no_log"
+ },
+ "tags": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ ],
+ "title": "Tags"
+ },
+ "task": {
+ "additionalProperties": true,
+ "allOf": [
+ {
+ "not": {
+ "required": [
+ "hosts"
+ ]
+ }
+ },
+ {
+ "not": {
+ "required": [
+ "tasks"
+ ]
+ }
+ },
+ {
+ "not": {
+ "required": [
+ "import_playbook"
+ ]
+ }
+ },
+ {
+ "not": {
+ "required": [
+ "block"
+ ]
+ }
+ }
+ ],
+ "properties": {
+ "action": {
+ "title": "Action",
+ "type": "string"
+ },
+ "any_errors_fatal": {
+ "$ref": "#/$defs/templated-boolean",
+ "title": "Any Errors Fatal"
+ },
+ "args": {
+ "$ref": "#/$defs/templated-object",
+ "title": "Args"
+ },
+ "async": {
+ "$ref": "#/$defs/templated-integer",
+ "title": "Async"
+ },
+ "become": {
+ "$ref": "#/$defs/templated-boolean",
+ "title": "Become"
+ },
+ "become_exe": {
+ "title": "Become Exe",
+ "type": "string"
+ },
+ "become_flags": {
+ "title": "Become Flags",
+ "type": "string"
+ },
+ "become_method": {
+ "$ref": "#/$defs/become_method"
+ },
+ "become_user": {
+ "title": "Become User",
+ "type": "string"
+ },
+ "changed_when": {
+ "$ref": "#/$defs/complex_conditional",
+ "markdownDescription": "See [changed_when](https://docs.ansible.com/ansible/latest/user_guide/playbooks_error_handling.html#defining-changed)",
+ "title": "Changed When"
+ },
+ "check_mode": {
+ "$ref": "#/$defs/complex_conditional",
+ "title": "Check Mode"
+ },
+ "collections": {
+ "items": {
+ "type": "string"
+ },
+ "title": "Collections",
+ "type": "array"
+ },
+ "connection": {
+ "title": "Connection",
+ "type": "string"
+ },
+ "debugger": {
+ "title": "Debugger",
+ "type": "string"
+ },
+ "delay": {
+ "$ref": "#/$defs/templated-integer",
+ "title": "Delay"
+ },
+ "delegate_facts": {
+ "title": "Delegate Facts",
+ "type": "boolean"
+ },
+ "delegate_to": {
+ "title": "Delegate To",
+ "type": "string"
+ },
+ "diff": {
+ "$ref": "#/$defs/templated-boolean",
+ "title": "Diff"
+ },
+ "environment": {
+ "$ref": "#/$defs/environment"
+ },
+ "failed_when": {
+ "$ref": "#/$defs/complex_conditional",
+ "title": "Failed When"
+ },
+ "ignore_errors": {
+ "$ref": "#/$defs/ignore_errors"
+ },
+ "ignore_unreachable": {
+ "title": "Ignore Unreachable",
+ "type": "boolean"
+ },
+ "listen": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ ],
+ "markdownDescription": "Applies only to handlers. See [listen](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_handlers.html)",
+ "title": "Listen"
+ },
+ "local_action": {
+ "title": "Local Action",
+ "type": [
+ "string",
+ "object"
+ ]
+ },
+ "loop": {
+ "title": "Loop",
+ "type": [
+ "string",
+ "array"
+ ]
+ },
+ "loop_control": {
+ "title": "Loop Control"
+ },
+ "module_defaults": {
+ "title": "Module Defaults"
+ },
+ "name": {
+ "title": "Name",
+ "type": "string"
+ },
+ "no_log": {
+ "$ref": "#/$defs/no_log"
+ },
+ "notify": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ ],
+ "title": "Notify"
+ },
+ "poll": {
+ "$ref": "#/$defs/templated-integer",
+ "title": "Poll"
+ },
+ "port": {
+ "$ref": "#/$defs/templated-integer",
+ "title": "Port"
+ },
+ "register": {
+ "title": "Register",
+ "type": "string"
+ },
+ "remote_user": {
+ "title": "Remote User",
+ "type": "string"
+ },
+ "retries": {
+ "$ref": "#/$defs/templated-integer",
+ "title": "Retries"
+ },
+ "run_once": {
+ "$ref": "#/$defs/templated-boolean",
+ "title": "Run Once"
+ },
+ "tags": {
+ "$ref": "#/$defs/tags",
+ "title": "Tags"
+ },
+ "throttle": {
+ "$ref": "#/$defs/templated-integer",
+ "title": "Throttle"
+ },
+ "timeout": {
+ "$ref": "#/$defs/templated-integer",
+ "title": "Timeout"
+ },
+ "until": {
+ "$ref": "#/$defs/complex_conditional",
+ "title": "Until"
+ },
+ "vars": {
+ "title": "Vars",
+ "type": "object"
+ },
+ "when": {
+ "$ref": "#/$defs/complex_conditional",
+ "title": "When"
+ },
+ "with_dict": {
+ "title": "With Dict"
+ },
+ "with_fileglob": {
+ "title": "With Fileglob"
+ },
+ "with_filetree": {
+ "title": "With Filetree"
+ },
+ "with_first_found": {
+ "title": "With First Found"
+ },
+ "with_indexed_items": {
+ "title": "With Indexed Items"
+ },
+ "with_ini": {
+ "title": "With Ini"
+ },
+ "with_inventory_hostnames": {
+ "title": "With Inventory Hostnames"
+ },
+ "with_items": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/full-jinja"
+ },
+ {
+ "type": "array"
+ }
+ ],
+ "markdownDescription": "See [loops](https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#loops)",
+ "title": "With Items"
+ },
+ "with_lines": {
+ "title": "With Lines"
+ },
+ "with_random_choice": {
+ "title": "With Random Choice"
+ },
+ "with_sequence": {
+ "title": "With Sequence"
+ },
+ "with_subelements": {
+ "title": "With Subelements"
+ },
+ "with_together": {
+ "title": "With Together"
+ }
+ },
+ "title": "task",
+ "type": "object"
+ },
+ "templated-boolean": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/$defs/full-jinja",
+ "type": "string"
+ }
+ ]
+ },
+ "templated-integer": {
+ "oneOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "#/$defs/full-jinja",
+ "type": "string"
+ }
+ ]
+ },
+ "templated-object": {
+ "oneOf": [
+ {
+ "type": "object"
+ },
+ {
+ "$ref": "#/$defs/full-jinja",
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "$id": "https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/tasks.json",
+ "$schema": "http://json-schema.org/draft-07/schema",
+ "examples": [
+ "tasks/*.yml",
+ "handlers/*.yml"
+ ],
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/block"
+ },
+ {
+ "$ref": "#/$defs/task"
+ }
+ ]
+ },
+ "title": "Ansible Tasks Schema",
+ "type": [
+ "array",
+ "null"
+ ]
+}