{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/ansible-navigator-configuration/latest.json",
  "title": "ansible-navigator settings v26",
  "description": "See <https://ansible.readthedocs.io/projects/navigator/settings/>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/ansible/ansible-navigator/main/src/ansible_navigator/data/ansible-navigator.json",
    "sourceSha256": "bedd3b2ceef8a222f04d4787d5b9b60d599bc5f57d8091890614d8d70ef0f4f6",
    "fileMatch": [
      ".ansible-navigator.json",
      ".ansible-navigator.yaml",
      ".ansible-navigator.yml",
      "ansible-navigator.json",
      "ansible-navigator.yaml",
      "ansible-navigator.yml"
    ],
    "parsers": [
      "json",
      "yaml"
    ]
  },
  "type": "object",
  "properties": {
    "ansible-navigator": {
      "properties": {
        "ansible": {
          "type": "object",
          "properties": {
            "cmdline": {
              "description": "Extra parameters passed to the underlying ansible command (e.g. ansible-playbook, ansible-doc, etc)",
              "type": "string"
            },
            "config": {
              "properties": {
                "help": {
                  "default": false,
                  "description": "Help options for ansible-config command in stdout mode",
                  "enum": [
                    true,
                    false
                  ],
                  "type": "boolean"
                },
                "path": {
                  "description": "Specify the path to the ansible configuration file",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "type": "object"
            },
            "doc": {
              "type": "object",
              "properties": {
                "help": {
                  "default": false,
                  "description": "Help options for ansible-doc command in stdout mode",
                  "enum": [
                    true,
                    false
                  ],
                  "type": "boolean"
                },
                "plugin": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "description": "Specify the plugin name",
                      "type": "string"
                    },
                    "type": {
                      "default": "module",
                      "description": "Specify the plugin type, 'become', 'cache', 'callback', 'cliconf', 'connection', 'filter', 'httpapi', 'inventory', 'keyword', 'lookup', 'module', 'netconf', 'role', 'shell', 'strategy', 'test' or 'vars'",
                      "enum": [
                        "become",
                        "cache",
                        "callback",
                        "cliconf",
                        "connection",
                        "filter",
                        "httpapi",
                        "inventory",
                        "keyword",
                        "lookup",
                        "module",
                        "netconf",
                        "role",
                        "shell",
                        "strategy",
                        "test",
                        "vars"
                      ],
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "inventory": {
              "properties": {
                "entries": {
                  "description": "Specify an inventory file path or comma separated host list",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "help": {
                  "default": false,
                  "description": "Help options for ansible-inventory command in stdout mode",
                  "enum": [
                    true,
                    false
                  ],
                  "type": "boolean"
                }
              },
              "additionalProperties": false,
              "type": "object"
            },
            "playbook": {
              "properties": {
                "help": {
                  "default": false,
                  "description": "Help options for ansible-playbook command in stdout mode",
                  "enum": [
                    true,
                    false
                  ],
                  "type": "boolean"
                },
                "path": {
                  "description": "Specify the playbook name",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "type": "object"
            }
          },
          "additionalProperties": false
        },
        "ansible-builder": {
          "type": "object",
          "properties": {
            "help": {
              "default": false,
              "description": "Help options for ansible-builder command in stdout mode",
              "enum": [
                true,
                false
              ],
              "type": "boolean"
            },
            "workdir": {
              "default": ".",
              "description": "Specify the path that contains ansible-builder manifest files",
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "ansible-lint": {
          "type": "object",
          "properties": {
            "config": {
              "description": "Specify the path to the ansible-lint configuration file",
              "type": "string"
            },
            "lintables": {
              "description": "Path to files on which to run ansible-lint",
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "ansible-runner": {
          "type": "object",
          "properties": {
            "artifact-dir": {
              "description": "The directory path to store artifacts generated by ansible-runner",
              "type": "string"
            },
            "job-events": {
              "default": false,
              "description": "Write ansible-runner job_events in the artifact directory",
              "enum": [
                true,
                false
              ],
              "type": "boolean"
            },
            "rotate-artifacts-count": {
              "description": "Keep ansible-runner artifact directories, for last n runs, if set to 0 artifact directories won't be deleted",
              "type": "integer"
            },
            "timeout": {
              "description": "The timeout value after which ansible-runner will forcefully stop the execution",
              "type": "integer"
            }
          },
          "additionalProperties": false
        },
        "app": {
          "default": "welcome",
          "description": "Subcommands",
          "enum": [
            "builder",
            "collections",
            "config",
            "doc",
            "exec",
            "images",
            "inventory",
            "lint",
            "replay",
            "run",
            "settings",
            "welcome"
          ],
          "type": "string"
        },
        "collection-doc-cache-path": {
          "default": "~/.cache/ansible-navigator/collection_doc_cache.db",
          "description": "The path to collection doc cache",
          "type": "string"
        },
        "color": {
          "type": "object",
          "properties": {
            "enable": {
              "default": true,
              "description": "Enable the use of color for mode interactive and stdout",
              "enum": [
                true,
                false
              ],
              "type": "boolean"
            },
            "osc4": {
              "default": true,
              "description": "Enable or disable terminal color changing support with OSC 4",
              "enum": [
                true,
                false
              ],
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        "editor": {
          "type": "object",
          "properties": {
            "command": {
              "default": "vi +{line_number} {filename}",
              "description": "Specify the editor command",
              "type": "string"
            },
            "console": {
              "default": true,
              "description": "Specify if the editor is console based",
              "enum": [
                true,
                false
              ],
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        "enable-prompts": {
          "default": false,
          "description": "Enable prompts for password and in playbooks. This will set mode to stdout and disable playbook artifact creation",
          "enum": [
            true,
            false
          ],
          "type": "boolean"
        },
        "exec": {
          "type": "object",
          "properties": {
            "command": {
              "default": "/bin/bash",
              "description": "Specify the command to run within the execution environment",
              "type": "string"
            },
            "shell": {
              "default": true,
              "description": "Specify the exec command should be run in a shell",
              "enum": [
                true,
                false
              ],
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        "execution-environment": {
          "type": "object",
          "properties": {
            "container-engine": {
              "default": "auto",
              "description": "Specify the container engine (auto=podman then docker)",
              "enum": [
                "auto",
                "podman",
                "docker"
              ],
              "type": "string"
            },
            "container-options": {
              "description": "Extra parameters passed to the container engine command",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "enabled": {
              "default": true,
              "description": "Enable or disable the use of an execution environment",
              "enum": [
                true,
                false
              ],
              "type": "boolean"
            },
            "environment-variables": {
              "type": "object",
              "properties": {
                "pass": {
                  "description": "Specify an existing environment variable to be passed through to and set within the execution environment (--penv MY_VAR)",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "set": {
                  "description": "Specify an environment variable and a value to be set within the execution environment (--senv MY_VAR=42)",
                  "type": "object"
                }
              },
              "additionalProperties": false
            },
            "image": {
              "description": "Specify the name of the execution environment image",
              "type": "string"
            },
            "pull": {
              "properties": {
                "arguments": {
                  "description": "Specify any additional parameters that should be added to the pull command when pulling an execution environment from a container registry. e.g. --pa='--tls-verify=false'",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "policy": {
                  "default": "tag",
                  "description": "Specify the image pull policy always:Always pull the image, missing:Pull if not locally available, never:Never pull the image, tag:if the image tag is 'latest', always pull the image, otherwise pull if not locally available",
                  "enum": [
                    "always",
                    "missing",
                    "never",
                    "tag"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "type": "object"
            },
            "volume-mounts": {
              "type": "array",
              "description": "Specify volume to be bind mounted within an execution environment (--eev /home/user/test:/home/user/test:Z)",
              "items": {
                "type": "object",
                "properties": {
                  "dest": {
                    "type": "string"
                  },
                  "options": {
                    "type": "string"
                  },
                  "src": {
                    "type": "string"
                  }
                },
                "required": [
                  "src",
                  "dest"
                ],
                "additionalProperties": false
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        },
        "format": {
          "default": "yaml",
          "description": "Specify the format for stdout output.",
          "enum": [
            "json",
            "yaml"
          ],
          "type": "string"
        },
        "images": {
          "properties": {
            "details": {
              "default": [
                "everything"
              ],
              "description": "Provide detailed information about the selected execution environment image",
              "items": {
                "enum": [
                  "ansible_collections",
                  "ansible_version",
                  "everything",
                  "os_release",
                  "python_packages",
                  "python_version",
                  "redhat_release",
                  "system_packages"
                ],
                "type": "string"
              },
              "type": "array"
            }
          },
          "additionalProperties": false,
          "type": "object"
        },
        "inventory-columns": {
          "description": "Specify a host attribute to show in the inventory view",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "logging": {
          "type": "object",
          "properties": {
            "append": {
              "default": true,
              "description": "Specify if log messages should be appended to an existing log file, otherwise a new log file will be created per session",
              "enum": [
                true,
                false
              ],
              "type": "boolean"
            },
            "file": {
              "default": "./ansible-navigator.log",
              "description": "Specify the full path for the ansible-navigator log file",
              "type": "string"
            },
            "level": {
              "default": "warning",
              "description": "Specify the ansible-navigator log level",
              "enum": [
                "debug",
                "info",
                "warning",
                "error",
                "critical"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "mode": {
          "default": "interactive",
          "description": "Specify the user-interface mode",
          "enum": [
            "stdout",
            "interactive"
          ],
          "type": "string"
        },
        "playbook-artifact": {
          "type": "object",
          "properties": {
            "enable": {
              "default": true,
              "description": "Enable or disable the creation of artifacts for completed playbooks. Note: not compatible with '--mode stdout' when playbooks require user input",
              "enum": [
                true,
                false
              ],
              "type": "boolean"
            },
            "replay": {
              "description": "Specify the path for the playbook artifact to replay",
              "type": "string"
            },
            "save-as": {
              "default": "{playbook_dir}/{playbook_name}-artifact-{time_stamp}.json",
              "description": "Specify the name for artifacts created from completed playbooks. The following placeholders are available: {playbook_dir}, {playbook_name}, {playbook_status}, and {time_stamp}",
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "settings": {
          "properties": {
            "effective": {
              "default": false,
              "description": "Show the effective settings. Defaults, CLI parameters, environment variables, and the settings file will be combined",
              "type": "boolean"
            },
            "sample": {
              "default": false,
              "description": "Generate a sample settings file",
              "type": "boolean"
            },
            "schema": {
              "default": "json",
              "description": "Generate a schema for the settings file ('json'= draft-07 JSON Schema)",
              "enum": [
                "json"
              ],
              "type": "string"
            },
            "sources": {
              "default": false,
              "description": "Show the source of each current settings entry",
              "type": "boolean"
            }
          },
          "additionalProperties": false,
          "type": "object"
        },
        "time-zone": {
          "default": "UTC",
          "description": "Specify the IANA time zone to use or 'local' to use the system time zone",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    }
  },
  "version": "26",
  "additionalProperties": false,
  "required": [
    "ansible-navigator"
  ]
}
