1# Copyright (c) 2017 Ansible Project 2# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) 3--- 4ALLOW_WORLD_READABLE_TMPFILES: 5 name: Allow world-readable temporary files 6 description: 7 - This setting has been moved to the individual shell plugins as a plugin option :ref:`shell_plugins`. 8 - The existing configuration settings are still accepted with the shell plugin adding additional options, like variables. 9 - This message will be removed in 2.14. 10 type: boolean 11 default: False 12 deprecated: # (kept for autodetection and removal, deprecation is irrelevant since w/o settings this can never show runtime msg) 13 why: moved to shell plugins 14 version: "2.14" 15 alternatives: 'world_readable_tmp' 16ANSIBLE_CONNECTION_PATH: 17 name: Path of ansible-connection script 18 default: null 19 description: 20 - Specify where to look for the ansible-connection script. This location will be checked before searching $PATH. 21 - If null, ansible will start with the same directory as the ansible script. 22 type: path 23 env: [{name: ANSIBLE_CONNECTION_PATH}] 24 ini: 25 - {key: ansible_connection_path, section: persistent_connection} 26 yaml: {key: persistent_connection.ansible_connection_path} 27 version_added: "2.8" 28ANSIBLE_COW_SELECTION: 29 name: Cowsay filter selection 30 default: default 31 description: This allows you to chose a specific cowsay stencil for the banners or use 'random' to cycle through them. 32 env: [{name: ANSIBLE_COW_SELECTION}] 33 ini: 34 - {key: cow_selection, section: defaults} 35ANSIBLE_COW_ACCEPTLIST: 36 name: Cowsay filter acceptance list 37 default: ['bud-frogs', 'bunny', 'cheese', 'daemon', 'default', 'dragon', 'elephant-in-snake', 'elephant', 'eyes', 'hellokitty', 'kitty', 'luke-koala', 'meow', 'milk', 'moofasa', 'moose', 'ren', 'sheep', 'small', 'stegosaurus', 'stimpy', 'supermilker', 'three-eyes', 'turkey', 'turtle', 'tux', 'udder', 'vader-koala', 'vader', 'www'] 38 description: White list of cowsay templates that are 'safe' to use, set to empty list if you want to enable all installed templates. 39 env: 40 - name: ANSIBLE_COW_WHITELIST 41 deprecated: 42 why: normalizing names to new standard 43 version: "2.15" 44 alternatives: 'ANSIBLE_COW_ACCEPTLIST' 45 - name: ANSIBLE_COW_ACCEPTLIST 46 version_added: '2.11' 47 ini: 48 - key: cow_whitelist 49 section: defaults 50 deprecated: 51 why: normalizing names to new standard 52 version: "2.15" 53 alternatives: 'cowsay_enabled_stencils' 54 - key: cowsay_enabled_stencils 55 section: defaults 56 version_added: '2.11' 57 type: list 58ANSIBLE_FORCE_COLOR: 59 name: Force color output 60 default: False 61 description: This option forces color mode even when running without a TTY or the "nocolor" setting is True. 62 env: [{name: ANSIBLE_FORCE_COLOR}] 63 ini: 64 - {key: force_color, section: defaults} 65 type: boolean 66 yaml: {key: display.force_color} 67ANSIBLE_NOCOLOR: 68 name: Suppress color output 69 default: False 70 description: This setting allows suppressing colorizing output, which is used to give a better indication of failure and status information. 71 env: 72 - name: ANSIBLE_NOCOLOR 73 # this is generic convention for CLI programs 74 - name: NO_COLOR 75 version_added: '2.11' 76 ini: 77 - {key: nocolor, section: defaults} 78 type: boolean 79 yaml: {key: display.nocolor} 80ANSIBLE_NOCOWS: 81 name: Suppress cowsay output 82 default: False 83 description: If you have cowsay installed but want to avoid the 'cows' (why????), use this. 84 env: [{name: ANSIBLE_NOCOWS}] 85 ini: 86 - {key: nocows, section: defaults} 87 type: boolean 88 yaml: {key: display.i_am_no_fun} 89ANSIBLE_COW_PATH: 90 name: Set path to cowsay command 91 default: null 92 description: Specify a custom cowsay path or swap in your cowsay implementation of choice 93 env: [{name: ANSIBLE_COW_PATH}] 94 ini: 95 - {key: cowpath, section: defaults} 96 type: string 97 yaml: {key: display.cowpath} 98ANSIBLE_PIPELINING: 99 name: Connection pipelining 100 default: False 101 description: 102 - Pipelining, if supported by the connection plugin, reduces the number of network operations required to execute a module on the remote server, 103 by executing many Ansible modules without actual file transfer. 104 - This can result in a very significant performance improvement when enabled. 105 - "However this conflicts with privilege escalation (become). For example, when using 'sudo:' operations you must first 106 disable 'requiretty' in /etc/sudoers on all managed hosts, which is why it is disabled by default." 107 - This option is disabled if ``ANSIBLE_KEEP_REMOTE_FILES`` is enabled. 108 - This is a global option, each connection plugin can override either by having more specific options or not supporting pipelining at all. 109 env: 110 - name: ANSIBLE_PIPELINING 111 ini: 112 - section: defaults 113 key: pipelining 114 - section: connection 115 key: pipelining 116 type: boolean 117ANY_ERRORS_FATAL: 118 name: Make Task failures fatal 119 default: False 120 description: Sets the default value for the any_errors_fatal keyword, if True, Task failures will be considered fatal errors. 121 env: 122 - name: ANSIBLE_ANY_ERRORS_FATAL 123 ini: 124 - section: defaults 125 key: any_errors_fatal 126 type: boolean 127 yaml: {key: errors.any_task_errors_fatal} 128 version_added: "2.4" 129BECOME_ALLOW_SAME_USER: 130 name: Allow becoming the same user 131 default: False 132 description: This setting controls if become is skipped when remote user and become user are the same. I.E root sudo to root. 133 env: [{name: ANSIBLE_BECOME_ALLOW_SAME_USER}] 134 ini: 135 - {key: become_allow_same_user, section: privilege_escalation} 136 type: boolean 137 yaml: {key: privilege_escalation.become_allow_same_user} 138AGNOSTIC_BECOME_PROMPT: 139 name: Display an agnostic become prompt 140 default: True 141 type: boolean 142 description: Display an agnostic become prompt instead of displaying a prompt containing the command line supplied become method 143 env: [{name: ANSIBLE_AGNOSTIC_BECOME_PROMPT}] 144 ini: 145 - {key: agnostic_become_prompt, section: privilege_escalation} 146 yaml: {key: privilege_escalation.agnostic_become_prompt} 147 version_added: "2.5" 148CACHE_PLUGIN: 149 name: Persistent Cache plugin 150 default: memory 151 description: Chooses which cache plugin to use, the default 'memory' is ephemeral. 152 env: [{name: ANSIBLE_CACHE_PLUGIN}] 153 ini: 154 - {key: fact_caching, section: defaults} 155 yaml: {key: facts.cache.plugin} 156CACHE_PLUGIN_CONNECTION: 157 name: Cache Plugin URI 158 default: ~ 159 description: Defines connection or path information for the cache plugin 160 env: [{name: ANSIBLE_CACHE_PLUGIN_CONNECTION}] 161 ini: 162 - {key: fact_caching_connection, section: defaults} 163 yaml: {key: facts.cache.uri} 164CACHE_PLUGIN_PREFIX: 165 name: Cache Plugin table prefix 166 default: ansible_facts 167 description: Prefix to use for cache plugin files/tables 168 env: [{name: ANSIBLE_CACHE_PLUGIN_PREFIX}] 169 ini: 170 - {key: fact_caching_prefix, section: defaults} 171 yaml: {key: facts.cache.prefix} 172CACHE_PLUGIN_TIMEOUT: 173 name: Cache Plugin expiration timeout 174 default: 86400 175 description: Expiration timeout for the cache plugin data 176 env: [{name: ANSIBLE_CACHE_PLUGIN_TIMEOUT}] 177 ini: 178 - {key: fact_caching_timeout, section: defaults} 179 type: integer 180 yaml: {key: facts.cache.timeout} 181COLLECTIONS_SCAN_SYS_PATH: 182 name: Scan PYTHONPATH for installed collections 183 description: A boolean to enable or disable scanning the sys.path for installed collections 184 default: true 185 type: boolean 186 env: 187 - {name: ANSIBLE_COLLECTIONS_SCAN_SYS_PATH} 188 ini: 189 - {key: collections_scan_sys_path, section: defaults} 190COLLECTIONS_PATHS: 191 name: ordered list of root paths for loading installed Ansible collections content 192 description: > 193 Colon separated paths in which Ansible will search for collections content. 194 Collections must be in nested *subdirectories*, not directly in these directories. 195 For example, if ``COLLECTIONS_PATHS`` includes ``~/.ansible/collections``, 196 and you want to add ``my.collection`` to that directory, it must be saved as 197 ``~/.ansible/collections/ansible_collections/my/collection``. 198 default: ~/.ansible/collections:/usr/local/share/py38-ansible/collections 199 type: pathspec 200 env: 201 - name: ANSIBLE_COLLECTIONS_PATHS # TODO: Deprecate this and ini once PATH has been in a few releases. 202 - name: ANSIBLE_COLLECTIONS_PATH 203 version_added: '2.10' 204 ini: 205 - key: collections_paths 206 section: defaults 207 - key: collections_path 208 section: defaults 209 version_added: '2.10' 210COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH: 211 name: Defines behavior when loading a collection that does not support the current Ansible version 212 description: 213 - When a collection is loaded that does not support the running Ansible version (via the collection metadata key 214 `requires_ansible`), the default behavior is to issue a warning and continue anyway. Setting this value to `ignore` 215 skips the warning entirely, while setting it to `fatal` will immediately halt Ansible execution. 216 env: [{name: ANSIBLE_COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH}] 217 ini: [{key: collections_on_ansible_version_mismatch, section: defaults}] 218 choices: [error, warning, ignore] 219 default: warning 220_COLOR_DEFAULTS: &color 221 name: placeholder for color settings' defaults 222 choices: ['black', 'bright gray', 'blue', 'white', 'green', 'bright blue', 'cyan', 'bright green', 'red', 'bright cyan', 'purple', 'bright red', 'yellow', 'bright purple', 'dark gray', 'bright yellow', 'magenta', 'bright magenta', 'normal'] 223COLOR_CHANGED: 224 <<: *color 225 name: Color for 'changed' task status 226 default: yellow 227 description: Defines the color to use on 'Changed' task status 228 env: [{name: ANSIBLE_COLOR_CHANGED}] 229 ini: 230 - {key: changed, section: colors} 231COLOR_CONSOLE_PROMPT: 232 <<: *color 233 name: "Color for ansible-console's prompt task status" 234 default: white 235 description: Defines the default color to use for ansible-console 236 env: [{name: ANSIBLE_COLOR_CONSOLE_PROMPT}] 237 ini: 238 - {key: console_prompt, section: colors} 239 version_added: "2.7" 240COLOR_DEBUG: 241 <<: *color 242 name: Color for debug statements 243 default: dark gray 244 description: Defines the color to use when emitting debug messages 245 env: [{name: ANSIBLE_COLOR_DEBUG}] 246 ini: 247 - {key: debug, section: colors} 248COLOR_DEPRECATE: 249 <<: *color 250 name: Color for deprecation messages 251 default: purple 252 description: Defines the color to use when emitting deprecation messages 253 env: [{name: ANSIBLE_COLOR_DEPRECATE}] 254 ini: 255 - {key: deprecate, section: colors} 256COLOR_DIFF_ADD: 257 <<: *color 258 name: Color for diff added display 259 default: green 260 description: Defines the color to use when showing added lines in diffs 261 env: [{name: ANSIBLE_COLOR_DIFF_ADD}] 262 ini: 263 - {key: diff_add, section: colors} 264 yaml: {key: display.colors.diff.add} 265COLOR_DIFF_LINES: 266 <<: *color 267 name: Color for diff lines display 268 default: cyan 269 description: Defines the color to use when showing diffs 270 env: [{name: ANSIBLE_COLOR_DIFF_LINES}] 271 ini: 272 - {key: diff_lines, section: colors} 273COLOR_DIFF_REMOVE: 274 <<: *color 275 name: Color for diff removed display 276 default: red 277 description: Defines the color to use when showing removed lines in diffs 278 env: [{name: ANSIBLE_COLOR_DIFF_REMOVE}] 279 ini: 280 - {key: diff_remove, section: colors} 281COLOR_ERROR: 282 <<: *color 283 name: Color for error messages 284 default: red 285 description: Defines the color to use when emitting error messages 286 env: [{name: ANSIBLE_COLOR_ERROR}] 287 ini: 288 - {key: error, section: colors} 289 yaml: {key: colors.error} 290COLOR_HIGHLIGHT: 291 <<: *color 292 name: Color for highlighting 293 default: white 294 description: Defines the color to use for highlighting 295 env: [{name: ANSIBLE_COLOR_HIGHLIGHT}] 296 ini: 297 - {key: highlight, section: colors} 298COLOR_OK: 299 <<: *color 300 name: Color for 'ok' task status 301 default: green 302 description: Defines the color to use when showing 'OK' task status 303 env: [{name: ANSIBLE_COLOR_OK}] 304 ini: 305 - {key: ok, section: colors} 306COLOR_SKIP: 307 <<: *color 308 name: Color for 'skip' task status 309 default: cyan 310 description: Defines the color to use when showing 'Skipped' task status 311 env: [{name: ANSIBLE_COLOR_SKIP}] 312 ini: 313 - {key: skip, section: colors} 314COLOR_UNREACHABLE: 315 <<: *color 316 name: Color for 'unreachable' host state 317 default: bright red 318 description: Defines the color to use on 'Unreachable' status 319 env: [{name: ANSIBLE_COLOR_UNREACHABLE}] 320 ini: 321 - {key: unreachable, section: colors} 322COLOR_VERBOSE: 323 <<: *color 324 name: Color for verbose messages 325 default: blue 326 description: Defines the color to use when emitting verbose messages. i.e those that show with '-v's. 327 env: [{name: ANSIBLE_COLOR_VERBOSE}] 328 ini: 329 - {key: verbose, section: colors} 330COLOR_WARN: 331 <<: *color 332 name: Color for warning messages 333 default: bright purple 334 description: Defines the color to use when emitting warning messages 335 env: [{name: ANSIBLE_COLOR_WARN}] 336 ini: 337 - {key: warn, section: colors} 338CONDITIONAL_BARE_VARS: 339 name: Allow bare variable evaluation in conditionals 340 default: False 341 type: boolean 342 description: 343 - With this setting on (True), running conditional evaluation 'var' is treated differently than 'var.subkey' as the first is evaluated 344 directly while the second goes through the Jinja2 parser. But 'false' strings in 'var' get evaluated as booleans. 345 - With this setting off they both evaluate the same but in cases in which 'var' was 'false' (a string) it won't get evaluated as a boolean anymore. 346 - Currently this setting defaults to 'True' but will soon change to 'False' and the setting itself will be removed in the future. 347 - Expect that this setting eventually will be deprecated after 2.12 348 env: [{name: ANSIBLE_CONDITIONAL_BARE_VARS}] 349 ini: 350 - {key: conditional_bare_variables, section: defaults} 351 version_added: "2.8" 352COVERAGE_REMOTE_OUTPUT: 353 name: Sets the output directory and filename prefix to generate coverage run info. 354 description: 355 - Sets the output directory on the remote host to generate coverage reports to. 356 - Currently only used for remote coverage on PowerShell modules. 357 - This is for internal use only. 358 env: 359 - {name: _ANSIBLE_COVERAGE_REMOTE_OUTPUT} 360 vars: 361 - {name: _ansible_coverage_remote_output} 362 type: str 363 version_added: '2.9' 364COVERAGE_REMOTE_PATHS: 365 name: Sets the list of paths to run coverage for. 366 description: 367 - A list of paths for files on the Ansible controller to run coverage for when executing on the remote host. 368 - Only files that match the path glob will have its coverage collected. 369 - Multiple path globs can be specified and are separated by ``:``. 370 - Currently only used for remote coverage on PowerShell modules. 371 - This is for internal use only. 372 default: '*' 373 env: 374 - {name: _ANSIBLE_COVERAGE_REMOTE_PATH_FILTER} 375 type: str 376 version_added: '2.9' 377ACTION_WARNINGS: 378 name: Toggle action warnings 379 default: True 380 description: 381 - By default Ansible will issue a warning when received from a task action (module or action plugin) 382 - These warnings can be silenced by adjusting this setting to False. 383 env: [{name: ANSIBLE_ACTION_WARNINGS}] 384 ini: 385 - {key: action_warnings, section: defaults} 386 type: boolean 387 version_added: "2.5" 388COMMAND_WARNINGS: 389 name: Command module warnings 390 default: False 391 description: 392 - Ansible can issue a warning when the shell or command module is used and the command appears to be similar to an existing Ansible module. 393 - These warnings can be silenced by adjusting this setting to False. You can also control this at the task level with the module option ``warn``. 394 - As of version 2.11, this is disabled by default. 395 env: [{name: ANSIBLE_COMMAND_WARNINGS}] 396 ini: 397 - {key: command_warnings, section: defaults} 398 type: boolean 399 version_added: "1.8" 400 deprecated: 401 why: the command warnings feature is being removed 402 version: "2.14" 403LOCALHOST_WARNING: 404 name: Warning when using implicit inventory with only localhost 405 default: True 406 description: 407 - By default Ansible will issue a warning when there are no hosts in the 408 inventory. 409 - These warnings can be silenced by adjusting this setting to False. 410 env: [{name: ANSIBLE_LOCALHOST_WARNING}] 411 ini: 412 - {key: localhost_warning, section: defaults} 413 type: boolean 414 version_added: "2.6" 415DOC_FRAGMENT_PLUGIN_PATH: 416 name: documentation fragment plugins path 417 default: ~/.ansible/plugins/doc_fragments:/usr/local/share/py38-ansible/plugins/doc_fragments 418 description: Colon separated paths in which Ansible will search for Documentation Fragments Plugins. 419 env: [{name: ANSIBLE_DOC_FRAGMENT_PLUGINS}] 420 ini: 421 - {key: doc_fragment_plugins, section: defaults} 422 type: pathspec 423DEFAULT_ACTION_PLUGIN_PATH: 424 name: Action plugins path 425 default: ~/.ansible/plugins/action:/usr/local/share/py38-ansible/plugins/action 426 description: Colon separated paths in which Ansible will search for Action Plugins. 427 env: [{name: ANSIBLE_ACTION_PLUGINS}] 428 ini: 429 - {key: action_plugins, section: defaults} 430 type: pathspec 431 yaml: {key: plugins.action.path} 432DEFAULT_ALLOW_UNSAFE_LOOKUPS: 433 name: Allow unsafe lookups 434 default: False 435 description: 436 - "When enabled, this option allows lookup plugins (whether used in variables as ``{{lookup('foo')}}`` or as a loop as with_foo) 437 to return data that is not marked 'unsafe'." 438 - By default, such data is marked as unsafe to prevent the templating engine from evaluating any jinja2 templating language, 439 as this could represent a security risk. This option is provided to allow for backwards-compatibility, 440 however users should first consider adding allow_unsafe=True to any lookups which may be expected to contain data which may be run 441 through the templating engine late 442 env: [] 443 ini: 444 - {key: allow_unsafe_lookups, section: defaults} 445 type: boolean 446 version_added: "2.2.3" 447DEFAULT_ASK_PASS: 448 name: Ask for the login password 449 default: False 450 description: 451 - This controls whether an Ansible playbook should prompt for a login password. 452 If using SSH keys for authentication, you probably do not needed to change this setting. 453 env: [{name: ANSIBLE_ASK_PASS}] 454 ini: 455 - {key: ask_pass, section: defaults} 456 type: boolean 457 yaml: {key: defaults.ask_pass} 458DEFAULT_ASK_VAULT_PASS: 459 name: Ask for the vault password(s) 460 default: False 461 description: 462 - This controls whether an Ansible playbook should prompt for a vault password. 463 env: [{name: ANSIBLE_ASK_VAULT_PASS}] 464 ini: 465 - {key: ask_vault_pass, section: defaults} 466 type: boolean 467DEFAULT_BECOME: 468 name: Enable privilege escalation (become) 469 default: False 470 description: Toggles the use of privilege escalation, allowing you to 'become' another user after login. 471 env: [{name: ANSIBLE_BECOME}] 472 ini: 473 - {key: become, section: privilege_escalation} 474 type: boolean 475DEFAULT_BECOME_ASK_PASS: 476 name: Ask for the privilege escalation (become) password 477 default: False 478 description: Toggle to prompt for privilege escalation password. 479 env: [{name: ANSIBLE_BECOME_ASK_PASS}] 480 ini: 481 - {key: become_ask_pass, section: privilege_escalation} 482 type: boolean 483DEFAULT_BECOME_METHOD: 484 name: Choose privilege escalation method 485 default: 'sudo' 486 description: Privilege escalation method to use when `become` is enabled. 487 env: [{name: ANSIBLE_BECOME_METHOD}] 488 ini: 489 - {section: privilege_escalation, key: become_method} 490DEFAULT_BECOME_EXE: 491 name: Choose 'become' executable 492 default: ~ 493 description: 'executable to use for privilege escalation, otherwise Ansible will depend on PATH' 494 env: [{name: ANSIBLE_BECOME_EXE}] 495 ini: 496 - {key: become_exe, section: privilege_escalation} 497DEFAULT_BECOME_FLAGS: 498 name: Set 'become' executable options 499 default: '' 500 description: Flags to pass to the privilege escalation executable. 501 env: [{name: ANSIBLE_BECOME_FLAGS}] 502 ini: 503 - {key: become_flags, section: privilege_escalation} 504BECOME_PLUGIN_PATH: 505 name: Become plugins path 506 default: ~/.ansible/plugins/become:/usr/local/share/py38-ansible/plugins/become 507 description: Colon separated paths in which Ansible will search for Become Plugins. 508 env: [{name: ANSIBLE_BECOME_PLUGINS}] 509 ini: 510 - {key: become_plugins, section: defaults} 511 type: pathspec 512 version_added: "2.8" 513DEFAULT_BECOME_USER: 514 # FIXME: should really be blank and make -u passing optional depending on it 515 name: Set the user you 'become' via privilege escalation 516 default: root 517 description: The user your login/remote user 'becomes' when using privilege escalation, most systems will use 'root' when no user is specified. 518 env: [{name: ANSIBLE_BECOME_USER}] 519 ini: 520 - {key: become_user, section: privilege_escalation} 521 yaml: {key: become.user} 522DEFAULT_CACHE_PLUGIN_PATH: 523 name: Cache Plugins Path 524 default: ~/.ansible/plugins/cache:/usr/local/share/py38-ansible/plugins/cache 525 description: Colon separated paths in which Ansible will search for Cache Plugins. 526 env: [{name: ANSIBLE_CACHE_PLUGINS}] 527 ini: 528 - {key: cache_plugins, section: defaults} 529 type: pathspec 530CALLABLE_ACCEPT_LIST: 531 name: Template 'callable' accept list 532 default: [] 533 description: Whitelist of callable methods to be made available to template evaluation 534 env: 535 - name: ANSIBLE_CALLABLE_WHITELIST 536 deprecated: 537 why: normalizing names to new standard 538 version: "2.15" 539 alternatives: 'ANSIBLE_CALLABLE_ENABLED' 540 - name: ANSIBLE_CALLABLE_ENABLED 541 version_added: '2.11' 542 ini: 543 - key: callable_whitelist 544 section: defaults 545 deprecated: 546 why: normalizing names to new standard 547 version: "2.15" 548 alternatives: 'callable_enabled' 549 - key: callable_enabled 550 section: defaults 551 version_added: '2.11' 552 type: list 553CONTROLLER_PYTHON_WARNING: 554 name: Running Older than Python 3.8 Warning 555 default: True 556 description: Toggle to control showing warnings related to running a Python version 557 older than Python 3.8 on the controller 558 env: [{name: ANSIBLE_CONTROLLER_PYTHON_WARNING}] 559 ini: 560 - {key: controller_python_warning, section: defaults} 561 type: boolean 562DEFAULT_CALLBACK_PLUGIN_PATH: 563 name: Callback Plugins Path 564 default: ~/.ansible/plugins/callback:/usr/local/share/py38-ansible/plugins/callback 565 description: Colon separated paths in which Ansible will search for Callback Plugins. 566 env: [{name: ANSIBLE_CALLBACK_PLUGINS}] 567 ini: 568 - {key: callback_plugins, section: defaults} 569 type: pathspec 570 yaml: {key: plugins.callback.path} 571CALLBACKS_ENABLED: 572 name: Enable callback plugins that require it. 573 default: [] 574 description: 575 - "List of enabled callbacks, not all callbacks need enabling, 576 but many of those shipped with Ansible do as we don't want them activated by default." 577 env: 578 - name: ANSIBLE_CALLBACK_WHITELIST 579 deprecated: 580 why: normalizing names to new standard 581 version: "2.15" 582 alternatives: 'ANSIBLE_CALLBACKS_ENABLED' 583 - name: ANSIBLE_CALLBACKS_ENABLED 584 version_added: '2.11' 585 ini: 586 - key: callback_whitelist 587 section: defaults 588 deprecated: 589 why: normalizing names to new standard 590 version: "2.15" 591 alternatives: 'callbacks_enabled' 592 - key: callbacks_enabled 593 section: defaults 594 version_added: '2.11' 595 type: list 596DEFAULT_CLICONF_PLUGIN_PATH: 597 name: Cliconf Plugins Path 598 default: ~/.ansible/plugins/cliconf:/usr/local/share/py38-ansible/plugins/cliconf 599 description: Colon separated paths in which Ansible will search for Cliconf Plugins. 600 env: [{name: ANSIBLE_CLICONF_PLUGINS}] 601 ini: 602 - {key: cliconf_plugins, section: defaults} 603 type: pathspec 604DEFAULT_CONNECTION_PLUGIN_PATH: 605 name: Connection Plugins Path 606 default: ~/.ansible/plugins/connection:/usr/local/share/py38-ansible/plugins/connection 607 description: Colon separated paths in which Ansible will search for Connection Plugins. 608 env: [{name: ANSIBLE_CONNECTION_PLUGINS}] 609 ini: 610 - {key: connection_plugins, section: defaults} 611 type: pathspec 612 yaml: {key: plugins.connection.path} 613DEFAULT_DEBUG: 614 name: Debug mode 615 default: False 616 description: 617 - "Toggles debug output in Ansible. This is *very* verbose and can hinder 618 multiprocessing. Debug output can also include secret information 619 despite no_log settings being enabled, which means debug mode should not be used in 620 production." 621 env: [{name: ANSIBLE_DEBUG}] 622 ini: 623 - {key: debug, section: defaults} 624 type: boolean 625DEFAULT_EXECUTABLE: 626 name: Target shell executable 627 default: /bin/sh 628 description: 629 - "This indicates the command to use to spawn a shell under for Ansible's execution needs on a target. 630 Users may need to change this in rare instances when shell usage is constrained, but in most cases it may be left as is." 631 env: [{name: ANSIBLE_EXECUTABLE}] 632 ini: 633 - {key: executable, section: defaults} 634DEFAULT_FACT_PATH: 635 name: local fact path 636 default: ~ 637 description: 638 - "This option allows you to globally configure a custom path for 'local_facts' for the implied M(ansible.builtin.setup) task when using fact gathering." 639 - "If not set, it will fallback to the default from the M(ansible.builtin.setup) module: ``/usr/local/etc/ansible/facts.d``." 640 - "This does **not** affect user defined tasks that use the M(ansible.builtin.setup) module." 641 env: [{name: ANSIBLE_FACT_PATH}] 642 ini: 643 - {key: fact_path, section: defaults} 644 type: string 645 yaml: {key: facts.gathering.fact_path} 646DEFAULT_FILTER_PLUGIN_PATH: 647 name: Jinja2 Filter Plugins Path 648 default: ~/.ansible/plugins/filter:/usr/local/share/py38-ansible/plugins/filter 649 description: Colon separated paths in which Ansible will search for Jinja2 Filter Plugins. 650 env: [{name: ANSIBLE_FILTER_PLUGINS}] 651 ini: 652 - {key: filter_plugins, section: defaults} 653 type: pathspec 654DEFAULT_FORCE_HANDLERS: 655 name: Force handlers to run after failure 656 default: False 657 description: 658 - This option controls if notified handlers run on a host even if a failure occurs on that host. 659 - When false, the handlers will not run if a failure has occurred on a host. 660 - This can also be set per play or on the command line. See Handlers and Failure for more details. 661 env: [{name: ANSIBLE_FORCE_HANDLERS}] 662 ini: 663 - {key: force_handlers, section: defaults} 664 type: boolean 665 version_added: "1.9.1" 666DEFAULT_FORKS: 667 name: Number of task forks 668 default: 5 669 description: Maximum number of forks Ansible will use to execute tasks on target hosts. 670 env: [{name: ANSIBLE_FORKS}] 671 ini: 672 - {key: forks, section: defaults} 673 type: integer 674DEFAULT_GATHERING: 675 name: Gathering behaviour 676 default: 'implicit' 677 description: 678 - This setting controls the default policy of fact gathering (facts discovered about remote systems). 679 - "When 'implicit' (the default), the cache plugin will be ignored and facts will be gathered per play unless 'gather_facts: False' is set." 680 - "When 'explicit' the inverse is true, facts will not be gathered unless directly requested in the play." 681 - "The 'smart' value means each new host that has no facts discovered will be scanned, 682 but if the same host is addressed in multiple plays it will not be contacted again in the playbook run." 683 - "This option can be useful for those wishing to save fact gathering time. Both 'smart' and 'explicit' will use the cache plugin." 684 env: [{name: ANSIBLE_GATHERING}] 685 ini: 686 - key: gathering 687 section: defaults 688 version_added: "1.6" 689 choices: ['smart', 'explicit', 'implicit'] 690DEFAULT_GATHER_SUBSET: 691 name: Gather facts subset 692 default: ['all'] 693 description: 694 - Set the `gather_subset` option for the M(ansible.builtin.setup) task in the implicit fact gathering. 695 See the module documentation for specifics. 696 - "It does **not** apply to user defined M(ansible.builtin.setup) tasks." 697 env: [{name: ANSIBLE_GATHER_SUBSET}] 698 ini: 699 - key: gather_subset 700 section: defaults 701 version_added: "2.1" 702 type: list 703DEFAULT_GATHER_TIMEOUT: 704 name: Gather facts timeout 705 default: 10 706 description: 707 - Set the timeout in seconds for the implicit fact gathering. 708 - "It does **not** apply to user defined M(ansible.builtin.setup) tasks." 709 env: [{name: ANSIBLE_GATHER_TIMEOUT}] 710 ini: 711 - {key: gather_timeout, section: defaults} 712 type: integer 713 yaml: {key: defaults.gather_timeout} 714DEFAULT_HANDLER_INCLUDES_STATIC: 715 name: Make handler M(ansible.builtin.include) static 716 default: False 717 description: 718 - "Since 2.0 M(ansible.builtin.include) can be 'dynamic', this setting (if True) forces that if the include appears in a ``handlers`` section to be 'static'." 719 env: [{name: ANSIBLE_HANDLER_INCLUDES_STATIC}] 720 ini: 721 - {key: handler_includes_static, section: defaults} 722 type: boolean 723 deprecated: 724 why: include itself is deprecated and this setting will not matter in the future 725 version: "2.12" 726 alternatives: none as its already built into the decision between include_tasks and import_tasks 727DEFAULT_HASH_BEHAVIOUR: 728 name: Hash merge behaviour 729 default: replace 730 type: string 731 choices: 732 replace: Any variable that is defined more than once is overwritten using the order from variable precedence rules (highest wins). 733 merge: Any dictionary variable will be recursively merged with new definitions across the different variable definition sources. 734 description: 735 - This setting controls how duplicate definitions of dictionary variables (aka hash, map, associative array) are handled in Ansible. 736 - This does not affect variables whose values are scalars (integers, strings) or arrays. 737 - "**WARNING**, changing this setting is not recommended as this is fragile and makes your content (plays, roles, collections) non portable, 738 leading to continual confusion and misuse. Don't change this setting unless you think you have an absolute need for it." 739 - We recommend avoiding reusing variable names and relying on the ``combine`` filter and ``vars`` and ``varnames`` lookups 740 to create merged versions of the individual variables. In our experience this is rarely really needed and a sign that too much 741 complexity has been introduced into the data structures and plays. 742 - For some uses you can also look into custom vars_plugins to merge on input, even substituting the default ``host_group_vars`` 743 that is in charge of parsing the ``host_vars/`` and ``group_vars/`` directories. Most users of this setting are only interested in inventory scope, 744 but the setting itself affects all sources and makes debugging even harder. 745 - All playbooks and roles in the official examples repos assume the default for this setting. 746 - Changing the setting to ``merge`` applies across variable sources, but many sources will internally still overwrite the variables. 747 For example ``include_vars`` will dedupe variables internally before updating Ansible, with 'last defined' overwriting previous definitions in same file. 748 - The Ansible project recommends you **avoid ``merge`` for new projects.** 749 - It is the intention of the Ansible developers to eventually deprecate and remove this setting, but it is being kept as some users do heavily rely on it. 750 New projects should **avoid 'merge'**. 751 env: [{name: ANSIBLE_HASH_BEHAVIOUR}] 752 ini: 753 - {key: hash_behaviour, section: defaults} 754DEFAULT_HOST_LIST: 755 name: Inventory Source 756 default: /usr/local/etc/ansible/hosts 757 description: Comma separated list of Ansible inventory sources 758 env: 759 - name: ANSIBLE_INVENTORY 760 expand_relative_paths: True 761 ini: 762 - key: inventory 763 section: defaults 764 type: pathlist 765 yaml: {key: defaults.inventory} 766DEFAULT_HTTPAPI_PLUGIN_PATH: 767 name: HttpApi Plugins Path 768 default: ~/.ansible/plugins/httpapi:/usr/local/share/py38-ansible/plugins/httpapi 769 description: Colon separated paths in which Ansible will search for HttpApi Plugins. 770 env: [{name: ANSIBLE_HTTPAPI_PLUGINS}] 771 ini: 772 - {key: httpapi_plugins, section: defaults} 773 type: pathspec 774DEFAULT_INTERNAL_POLL_INTERVAL: 775 name: Internal poll interval 776 default: 0.001 777 env: [] 778 ini: 779 - {key: internal_poll_interval, section: defaults} 780 type: float 781 version_added: "2.2" 782 description: 783 - This sets the interval (in seconds) of Ansible internal processes polling each other. 784 Lower values improve performance with large playbooks at the expense of extra CPU load. 785 Higher values are more suitable for Ansible usage in automation scenarios, 786 when UI responsiveness is not required but CPU usage might be a concern. 787 - "The default corresponds to the value hardcoded in Ansible <= 2.1" 788DEFAULT_INVENTORY_PLUGIN_PATH: 789 name: Inventory Plugins Path 790 default: ~/.ansible/plugins/inventory:/usr/local/share/py38-ansible/plugins/inventory 791 description: Colon separated paths in which Ansible will search for Inventory Plugins. 792 env: [{name: ANSIBLE_INVENTORY_PLUGINS}] 793 ini: 794 - {key: inventory_plugins, section: defaults} 795 type: pathspec 796DEFAULT_JINJA2_EXTENSIONS: 797 name: Enabled Jinja2 extensions 798 default: [] 799 description: 800 - This is a developer-specific feature that allows enabling additional Jinja2 extensions. 801 - "See the Jinja2 documentation for details. If you do not know what these do, you probably don't need to change this setting :)" 802 env: [{name: ANSIBLE_JINJA2_EXTENSIONS}] 803 ini: 804 - {key: jinja2_extensions, section: defaults} 805DEFAULT_JINJA2_NATIVE: 806 name: Use Jinja2's NativeEnvironment for templating 807 default: False 808 description: This option preserves variable types during template operations. This requires Jinja2 >= 2.10. 809 env: [{name: ANSIBLE_JINJA2_NATIVE}] 810 ini: 811 - {key: jinja2_native, section: defaults} 812 type: boolean 813 yaml: {key: jinja2_native} 814 version_added: 2.7 815DEFAULT_KEEP_REMOTE_FILES: 816 name: Keep remote files 817 default: False 818 description: 819 - Enables/disables the cleaning up of the temporary files Ansible used to execute the tasks on the remote. 820 - If this option is enabled it will disable ``ANSIBLE_PIPELINING``. 821 env: [{name: ANSIBLE_KEEP_REMOTE_FILES}] 822 ini: 823 - {key: keep_remote_files, section: defaults} 824 type: boolean 825DEFAULT_LIBVIRT_LXC_NOSECLABEL: 826 # TODO: move to plugin 827 name: No security label on Lxc 828 default: False 829 description: 830 - "This setting causes libvirt to connect to lxc containers by passing --noseclabel to virsh. 831 This is necessary when running on systems which do not have SELinux." 832 env: 833 - name: LIBVIRT_LXC_NOSECLABEL 834 deprecated: 835 why: environment variables without ``ANSIBLE_`` prefix are deprecated 836 version: "2.12" 837 alternatives: the ``ANSIBLE_LIBVIRT_LXC_NOSECLABEL`` environment variable 838 - name: ANSIBLE_LIBVIRT_LXC_NOSECLABEL 839 ini: 840 - {key: libvirt_lxc_noseclabel, section: selinux} 841 type: boolean 842 version_added: "2.1" 843DEFAULT_LOAD_CALLBACK_PLUGINS: 844 name: Load callbacks for adhoc 845 default: False 846 description: 847 - Controls whether callback plugins are loaded when running /usr/bin/ansible. 848 This may be used to log activity from the command line, send notifications, and so on. 849 Callback plugins are always loaded for ``ansible-playbook``. 850 env: [{name: ANSIBLE_LOAD_CALLBACK_PLUGINS}] 851 ini: 852 - {key: bin_ansible_callbacks, section: defaults} 853 type: boolean 854 version_added: "1.8" 855DEFAULT_LOCAL_TMP: 856 name: Controller temporary directory 857 default: ~/.ansible/tmp 858 description: Temporary directory for Ansible to use on the controller. 859 env: [{name: ANSIBLE_LOCAL_TEMP}] 860 ini: 861 - {key: local_tmp, section: defaults} 862 type: tmppath 863DEFAULT_LOG_PATH: 864 name: Ansible log file path 865 default: ~ 866 description: File to which Ansible will log on the controller. When empty logging is disabled. 867 env: [{name: ANSIBLE_LOG_PATH}] 868 ini: 869 - {key: log_path, section: defaults} 870 type: path 871DEFAULT_LOG_FILTER: 872 name: Name filters for python logger 873 default: [] 874 description: List of logger names to filter out of the log file 875 env: [{name: ANSIBLE_LOG_FILTER}] 876 ini: 877 - {key: log_filter, section: defaults} 878 type: list 879DEFAULT_LOOKUP_PLUGIN_PATH: 880 name: Lookup Plugins Path 881 description: Colon separated paths in which Ansible will search for Lookup Plugins. 882 default: ~/.ansible/plugins/lookup:/usr/local/share/py38-ansible/plugins/lookup 883 env: [{name: ANSIBLE_LOOKUP_PLUGINS}] 884 ini: 885 - {key: lookup_plugins, section: defaults} 886 type: pathspec 887 yaml: {key: defaults.lookup_plugins} 888DEFAULT_MANAGED_STR: 889 name: Ansible managed 890 default: 'Ansible managed' 891 description: Sets the macro for the 'ansible_managed' variable available for M(ansible.builtin.template) and M(ansible.windows.win_template) modules. This is only relevant for those two modules. 892 env: [] 893 ini: 894 - {key: ansible_managed, section: defaults} 895 yaml: {key: defaults.ansible_managed} 896DEFAULT_MODULE_ARGS: 897 name: Adhoc default arguments 898 default: '' 899 description: 900 - This sets the default arguments to pass to the ``ansible`` adhoc binary if no ``-a`` is specified. 901 env: [{name: ANSIBLE_MODULE_ARGS}] 902 ini: 903 - {key: module_args, section: defaults} 904DEFAULT_MODULE_COMPRESSION: 905 name: Python module compression 906 default: ZIP_DEFLATED 907 description: Compression scheme to use when transferring Python modules to the target. 908 env: [] 909 ini: 910 - {key: module_compression, section: defaults} 911# vars: 912# - name: ansible_module_compression 913DEFAULT_MODULE_NAME: 914 name: Default adhoc module 915 default: command 916 description: "Module to use with the ``ansible`` AdHoc command, if none is specified via ``-m``." 917 env: [] 918 ini: 919 - {key: module_name, section: defaults} 920DEFAULT_MODULE_PATH: 921 name: Modules Path 922 description: Colon separated paths in which Ansible will search for Modules. 923 default: ~/.ansible/plugins/modules:/usr/local/share/py38-ansible/plugins/modules 924 env: [{name: ANSIBLE_LIBRARY}] 925 ini: 926 - {key: library, section: defaults} 927 type: pathspec 928DEFAULT_MODULE_UTILS_PATH: 929 name: Module Utils Path 930 description: Colon separated paths in which Ansible will search for Module utils files, which are shared by modules. 931 default: ~/.ansible/plugins/module_utils:/usr/local/share/py38-ansible/plugins/module_utils 932 env: [{name: ANSIBLE_MODULE_UTILS}] 933 ini: 934 - {key: module_utils, section: defaults} 935 type: pathspec 936DEFAULT_NETCONF_PLUGIN_PATH: 937 name: Netconf Plugins Path 938 default: ~/.ansible/plugins/netconf:/usr/local/share/py38-ansible/plugins/netconf 939 description: Colon separated paths in which Ansible will search for Netconf Plugins. 940 env: [{name: ANSIBLE_NETCONF_PLUGINS}] 941 ini: 942 - {key: netconf_plugins, section: defaults} 943 type: pathspec 944DEFAULT_NO_LOG: 945 name: No log 946 default: False 947 description: "Toggle Ansible's display and logging of task details, mainly used to avoid security disclosures." 948 env: [{name: ANSIBLE_NO_LOG}] 949 ini: 950 - {key: no_log, section: defaults} 951 type: boolean 952DEFAULT_NO_TARGET_SYSLOG: 953 name: No syslog on target 954 default: False 955 description: 956 - Toggle Ansible logging to syslog on the target when it executes tasks. On Windows hosts this will disable a newer 957 style PowerShell modules from writting to the event log. 958 env: [{name: ANSIBLE_NO_TARGET_SYSLOG}] 959 ini: 960 - {key: no_target_syslog, section: defaults} 961 vars: 962 - name: ansible_no_target_syslog 963 version_added: '2.10' 964 type: boolean 965 yaml: {key: defaults.no_target_syslog} 966DEFAULT_NULL_REPRESENTATION: 967 name: Represent a null 968 default: ~ 969 description: What templating should return as a 'null' value. When not set it will let Jinja2 decide. 970 env: [{name: ANSIBLE_NULL_REPRESENTATION}] 971 ini: 972 - {key: null_representation, section: defaults} 973 type: none 974DEFAULT_POLL_INTERVAL: 975 name: Async poll interval 976 default: 15 977 description: 978 - For asynchronous tasks in Ansible (covered in Asynchronous Actions and Polling), 979 this is how often to check back on the status of those tasks when an explicit poll interval is not supplied. 980 The default is a reasonably moderate 15 seconds which is a tradeoff between checking in frequently and 981 providing a quick turnaround when something may have completed. 982 env: [{name: ANSIBLE_POLL_INTERVAL}] 983 ini: 984 - {key: poll_interval, section: defaults} 985 type: integer 986DEFAULT_PRIVATE_KEY_FILE: 987 name: Private key file 988 default: ~ 989 description: 990 - Option for connections using a certificate or key file to authenticate, rather than an agent or passwords, 991 you can set the default value here to avoid re-specifying --private-key with every invocation. 992 env: [{name: ANSIBLE_PRIVATE_KEY_FILE}] 993 ini: 994 - {key: private_key_file, section: defaults} 995 type: path 996DEFAULT_PRIVATE_ROLE_VARS: 997 name: Private role variables 998 default: False 999 description: 1000 - Makes role variables inaccessible from other roles. 1001 - This was introduced as a way to reset role variables to default values if 1002 a role is used more than once in a playbook. 1003 env: [{name: ANSIBLE_PRIVATE_ROLE_VARS}] 1004 ini: 1005 - {key: private_role_vars, section: defaults} 1006 type: boolean 1007 yaml: {key: defaults.private_role_vars} 1008DEFAULT_REMOTE_PORT: 1009 name: Remote port 1010 default: ~ 1011 description: Port to use in remote connections, when blank it will use the connection plugin default. 1012 env: [{name: ANSIBLE_REMOTE_PORT}] 1013 ini: 1014 - {key: remote_port, section: defaults} 1015 type: integer 1016 yaml: {key: defaults.remote_port} 1017DEFAULT_REMOTE_USER: 1018 name: Login/Remote User 1019 default: 1020 description: 1021 - Sets the login user for the target machines 1022 - "When blank it uses the connection plugin's default, normally the user currently executing Ansible." 1023 env: [{name: ANSIBLE_REMOTE_USER}] 1024 ini: 1025 - {key: remote_user, section: defaults} 1026DEFAULT_ROLES_PATH: 1027 name: Roles path 1028 default: ~/.ansible/roles:/usr/local/share/py38-ansible/roles:/usr/local/etc/ansible/roles 1029 description: Colon separated paths in which Ansible will search for Roles. 1030 env: [{name: ANSIBLE_ROLES_PATH}] 1031 expand_relative_paths: True 1032 ini: 1033 - {key: roles_path, section: defaults} 1034 type: pathspec 1035 yaml: {key: defaults.roles_path} 1036DEFAULT_SELINUX_SPECIAL_FS: 1037 name: Problematic file systems 1038 default: fuse, nfs, vboxsf, ramfs, 9p, vfat 1039 description: 1040 - "Some filesystems do not support safe operations and/or return inconsistent errors, 1041 this setting makes Ansible 'tolerate' those in the list w/o causing fatal errors." 1042 - Data corruption may occur and writes are not always verified when a filesystem is in the list. 1043 env: 1044 - name: ANSIBLE_SELINUX_SPECIAL_FS 1045 version_added: "2.9" 1046 ini: 1047 - {key: special_context_filesystems, section: selinux} 1048 type: list 1049DEFAULT_STDOUT_CALLBACK: 1050 name: Main display callback plugin 1051 default: default 1052 description: 1053 - "Set the main callback used to display Ansible output, you can only have one at a time." 1054 - You can have many other callbacks, but just one can be in charge of stdout. 1055 env: [{name: ANSIBLE_STDOUT_CALLBACK}] 1056 ini: 1057 - {key: stdout_callback, section: defaults} 1058ENABLE_TASK_DEBUGGER: 1059 name: Whether to enable the task debugger 1060 default: False 1061 description: 1062 - Whether or not to enable the task debugger, this previously was done as a strategy plugin. 1063 - Now all strategy plugins can inherit this behavior. The debugger defaults to activating when 1064 - a task is failed on unreachable. Use the debugger keyword for more flexibility. 1065 type: boolean 1066 env: [{name: ANSIBLE_ENABLE_TASK_DEBUGGER}] 1067 ini: 1068 - {key: enable_task_debugger, section: defaults} 1069 version_added: "2.5" 1070TASK_DEBUGGER_IGNORE_ERRORS: 1071 name: Whether a failed task with ignore_errors=True will still invoke the debugger 1072 default: True 1073 description: 1074 - This option defines whether the task debugger will be invoked on a failed task when ignore_errors=True 1075 is specified. 1076 - True specifies that the debugger will honor ignore_errors, False will not honor ignore_errors. 1077 type: boolean 1078 env: [{name: ANSIBLE_TASK_DEBUGGER_IGNORE_ERRORS}] 1079 ini: 1080 - {key: task_debugger_ignore_errors, section: defaults} 1081 version_added: "2.7" 1082DEFAULT_STRATEGY: 1083 name: Implied strategy 1084 default: 'linear' 1085 description: Set the default strategy used for plays. 1086 env: [{name: ANSIBLE_STRATEGY}] 1087 ini: 1088 - {key: strategy, section: defaults} 1089 version_added: "2.3" 1090DEFAULT_STRATEGY_PLUGIN_PATH: 1091 name: Strategy Plugins Path 1092 description: Colon separated paths in which Ansible will search for Strategy Plugins. 1093 default: ~/.ansible/plugins/strategy:/usr/local/share/py38-ansible/plugins/strategy 1094 env: [{name: ANSIBLE_STRATEGY_PLUGINS}] 1095 ini: 1096 - {key: strategy_plugins, section: defaults} 1097 type: pathspec 1098DEFAULT_SU: 1099 default: False 1100 description: 'Toggle the use of "su" for tasks.' 1101 env: [{name: ANSIBLE_SU}] 1102 ini: 1103 - {key: su, section: defaults} 1104 type: boolean 1105 yaml: {key: defaults.su} 1106DEFAULT_SYSLOG_FACILITY: 1107 name: syslog facility 1108 default: LOG_USER 1109 description: Syslog facility to use when Ansible logs to the remote target 1110 env: [{name: ANSIBLE_SYSLOG_FACILITY}] 1111 ini: 1112 - {key: syslog_facility, section: defaults} 1113DEFAULT_TASK_INCLUDES_STATIC: 1114 name: Task include static 1115 default: False 1116 description: 1117 - The `include` tasks can be static or dynamic, this toggles the default expected behaviour if autodetection fails and it is not explicitly set in task. 1118 env: [{name: ANSIBLE_TASK_INCLUDES_STATIC}] 1119 ini: 1120 - {key: task_includes_static, section: defaults} 1121 type: boolean 1122 version_added: "2.1" 1123 deprecated: 1124 why: include itself is deprecated and this setting will not matter in the future 1125 version: "2.12" 1126 alternatives: None, as its already built into the decision between include_tasks and import_tasks 1127DEFAULT_TERMINAL_PLUGIN_PATH: 1128 name: Terminal Plugins Path 1129 default: ~/.ansible/plugins/terminal:/usr/local/share/py38-ansible/plugins/terminal 1130 description: Colon separated paths in which Ansible will search for Terminal Plugins. 1131 env: [{name: ANSIBLE_TERMINAL_PLUGINS}] 1132 ini: 1133 - {key: terminal_plugins, section: defaults} 1134 type: pathspec 1135DEFAULT_TEST_PLUGIN_PATH: 1136 name: Jinja2 Test Plugins Path 1137 description: Colon separated paths in which Ansible will search for Jinja2 Test Plugins. 1138 default: ~/.ansible/plugins/test:/usr/local/share/py38-ansible/plugins/test 1139 env: [{name: ANSIBLE_TEST_PLUGINS}] 1140 ini: 1141 - {key: test_plugins, section: defaults} 1142 type: pathspec 1143DEFAULT_TIMEOUT: 1144 name: Connection timeout 1145 default: 10 1146 description: This is the default timeout for connection plugins to use. 1147 env: [{name: ANSIBLE_TIMEOUT}] 1148 ini: 1149 - {key: timeout, section: defaults} 1150 type: integer 1151DEFAULT_TRANSPORT: 1152 # note that ssh_utils refs this and needs to be updated if removed 1153 name: Connection plugin 1154 default: smart 1155 description: "Default connection plugin to use, the 'smart' option will toggle between 'ssh' and 'paramiko' depending on controller OS and ssh versions" 1156 env: [{name: ANSIBLE_TRANSPORT}] 1157 ini: 1158 - {key: transport, section: defaults} 1159DEFAULT_UNDEFINED_VAR_BEHAVIOR: 1160 name: Jinja2 fail on undefined 1161 default: True 1162 version_added: "1.3" 1163 description: 1164 - When True, this causes ansible templating to fail steps that reference variable names that are likely typoed. 1165 - "Otherwise, any '{{ template_expression }}' that contains undefined variables will be rendered in a template or ansible action line exactly as written." 1166 env: [{name: ANSIBLE_ERROR_ON_UNDEFINED_VARS}] 1167 ini: 1168 - {key: error_on_undefined_vars, section: defaults} 1169 type: boolean 1170DEFAULT_VARS_PLUGIN_PATH: 1171 name: Vars Plugins Path 1172 default: ~/.ansible/plugins/vars:/usr/local/share/py38-ansible/plugins/vars 1173 description: Colon separated paths in which Ansible will search for Vars Plugins. 1174 env: [{name: ANSIBLE_VARS_PLUGINS}] 1175 ini: 1176 - {key: vars_plugins, section: defaults} 1177 type: pathspec 1178# TODO: unused? 1179#DEFAULT_VAR_COMPRESSION_LEVEL: 1180# default: 0 1181# description: 'TODO: write it' 1182# env: [{name: ANSIBLE_VAR_COMPRESSION_LEVEL}] 1183# ini: 1184# - {key: var_compression_level, section: defaults} 1185# type: integer 1186# yaml: {key: defaults.var_compression_level} 1187DEFAULT_VAULT_ID_MATCH: 1188 name: Force vault id match 1189 default: False 1190 description: 'If true, decrypting vaults with a vault id will only try the password from the matching vault-id' 1191 env: [{name: ANSIBLE_VAULT_ID_MATCH}] 1192 ini: 1193 - {key: vault_id_match, section: defaults} 1194 yaml: {key: defaults.vault_id_match} 1195DEFAULT_VAULT_IDENTITY: 1196 name: Vault id label 1197 default: default 1198 description: 'The label to use for the default vault id label in cases where a vault id label is not provided' 1199 env: [{name: ANSIBLE_VAULT_IDENTITY}] 1200 ini: 1201 - {key: vault_identity, section: defaults} 1202 yaml: {key: defaults.vault_identity} 1203DEFAULT_VAULT_ENCRYPT_IDENTITY: 1204 name: Vault id to use for encryption 1205 default: 1206 description: 'The vault_id to use for encrypting by default. If multiple vault_ids are provided, this specifies which to use for encryption. The --encrypt-vault-id cli option overrides the configured value.' 1207 env: [{name: ANSIBLE_VAULT_ENCRYPT_IDENTITY}] 1208 ini: 1209 - {key: vault_encrypt_identity, section: defaults} 1210 yaml: {key: defaults.vault_encrypt_identity} 1211DEFAULT_VAULT_IDENTITY_LIST: 1212 name: Default vault ids 1213 default: [] 1214 description: 'A list of vault-ids to use by default. Equivalent to multiple --vault-id args. Vault-ids are tried in order.' 1215 env: [{name: ANSIBLE_VAULT_IDENTITY_LIST}] 1216 ini: 1217 - {key: vault_identity_list, section: defaults} 1218 type: list 1219 yaml: {key: defaults.vault_identity_list} 1220DEFAULT_VAULT_PASSWORD_FILE: 1221 name: Vault password file 1222 default: ~ 1223 description: 'The vault password file to use. Equivalent to --vault-password-file or --vault-id' 1224 env: [{name: ANSIBLE_VAULT_PASSWORD_FILE}] 1225 ini: 1226 - {key: vault_password_file, section: defaults} 1227 type: path 1228 yaml: {key: defaults.vault_password_file} 1229DEFAULT_VERBOSITY: 1230 name: Verbosity 1231 default: 0 1232 description: Sets the default verbosity, equivalent to the number of ``-v`` passed in the command line. 1233 env: [{name: ANSIBLE_VERBOSITY}] 1234 ini: 1235 - {key: verbosity, section: defaults} 1236 type: integer 1237DEPRECATION_WARNINGS: 1238 name: Deprecation messages 1239 default: True 1240 description: "Toggle to control the showing of deprecation warnings" 1241 env: [{name: ANSIBLE_DEPRECATION_WARNINGS}] 1242 ini: 1243 - {key: deprecation_warnings, section: defaults} 1244 type: boolean 1245DEVEL_WARNING: 1246 name: Running devel warning 1247 default: True 1248 description: Toggle to control showing warnings related to running devel 1249 env: [{name: ANSIBLE_DEVEL_WARNING}] 1250 ini: 1251 - {key: devel_warning, section: defaults} 1252 type: boolean 1253DIFF_ALWAYS: 1254 name: Show differences 1255 default: False 1256 description: Configuration toggle to tell modules to show differences when in 'changed' status, equivalent to ``--diff``. 1257 env: [{name: ANSIBLE_DIFF_ALWAYS}] 1258 ini: 1259 - {key: always, section: diff} 1260 type: bool 1261DIFF_CONTEXT: 1262 name: Difference context 1263 default: 3 1264 description: How many lines of context to show when displaying the differences between files. 1265 env: [{name: ANSIBLE_DIFF_CONTEXT}] 1266 ini: 1267 - {key: context, section: diff} 1268 type: integer 1269DISPLAY_ARGS_TO_STDOUT: 1270 name: Show task arguments 1271 default: False 1272 description: 1273 - "Normally ``ansible-playbook`` will print a header for each task that is run. 1274 These headers will contain the name: field from the task if you specified one. 1275 If you didn't then ``ansible-playbook`` uses the task's action to help you tell which task is presently running. 1276 Sometimes you run many of the same action and so you want more information about the task to differentiate it from others of the same action. 1277 If you set this variable to True in the config then ``ansible-playbook`` will also include the task's arguments in the header." 1278 - "This setting defaults to False because there is a chance that you have sensitive values in your parameters and 1279 you do not want those to be printed." 1280 - "If you set this to True you should be sure that you have secured your environment's stdout 1281 (no one can shoulder surf your screen and you aren't saving stdout to an insecure file) or 1282 made sure that all of your playbooks explicitly added the ``no_log: True`` parameter to tasks which have sensitive values 1283 See How do I keep secret data in my playbook? for more information." 1284 env: [{name: ANSIBLE_DISPLAY_ARGS_TO_STDOUT}] 1285 ini: 1286 - {key: display_args_to_stdout, section: defaults} 1287 type: boolean 1288 version_added: "2.1" 1289DISPLAY_SKIPPED_HOSTS: 1290 name: Show skipped results 1291 default: True 1292 description: "Toggle to control displaying skipped task/host entries in a task in the default callback" 1293 env: 1294 - name: DISPLAY_SKIPPED_HOSTS 1295 deprecated: 1296 why: environment variables without ``ANSIBLE_`` prefix are deprecated 1297 version: "2.12" 1298 alternatives: the ``ANSIBLE_DISPLAY_SKIPPED_HOSTS`` environment variable 1299 - name: ANSIBLE_DISPLAY_SKIPPED_HOSTS 1300 ini: 1301 - {key: display_skipped_hosts, section: defaults} 1302 type: boolean 1303DOCSITE_ROOT_URL: 1304 name: Root docsite URL 1305 default: https://docs.ansible.com/ansible-core/ 1306 description: Root docsite URL used to generate docs URLs in warning/error text; 1307 must be an absolute URL with valid scheme and trailing slash. 1308 ini: 1309 - {key: docsite_root_url, section: defaults} 1310 version_added: "2.8" 1311DUPLICATE_YAML_DICT_KEY: 1312 name: Controls ansible behaviour when finding duplicate keys in YAML. 1313 default: warn 1314 description: 1315 - By default Ansible will issue a warning when a duplicate dict key is encountered in YAML. 1316 - These warnings can be silenced by adjusting this setting to False. 1317 env: [{name: ANSIBLE_DUPLICATE_YAML_DICT_KEY}] 1318 ini: 1319 - {key: duplicate_dict_key, section: defaults} 1320 type: string 1321 choices: ['warn', 'error', 'ignore'] 1322 version_added: "2.9" 1323ERROR_ON_MISSING_HANDLER: 1324 name: Missing handler error 1325 default: True 1326 description: "Toggle to allow missing handlers to become a warning instead of an error when notifying." 1327 env: [{name: ANSIBLE_ERROR_ON_MISSING_HANDLER}] 1328 ini: 1329 - {key: error_on_missing_handler, section: defaults} 1330 type: boolean 1331CONNECTION_FACTS_MODULES: 1332 name: Map of connections to fact modules 1333 default: 1334 # use ansible.legacy names on unqualified facts modules to allow library/ overrides 1335 asa: ansible.legacy.asa_facts 1336 cisco.asa.asa: cisco.asa.asa_facts 1337 eos: ansible.legacy.eos_facts 1338 arista.eos.eos: arista.eos.eos_facts 1339 frr: ansible.legacy.frr_facts 1340 frr.frr.frr: frr.frr.frr_facts 1341 ios: ansible.legacy.ios_facts 1342 cisco.ios.ios: cisco.ios.ios_facts 1343 iosxr: ansible.legacy.iosxr_facts 1344 cisco.iosxr.iosxr: cisco.iosxr.iosxr_facts 1345 junos: ansible.legacy.junos_facts 1346 junipernetworks.junos.junos: junipernetworks.junos.junos_facts 1347 nxos: ansible.legacy.nxos_facts 1348 cisco.nxos.nxos: cisco.nxos.nxos_facts 1349 vyos: ansible.legacy.vyos_facts 1350 vyos.vyos.vyos: vyos.vyos.vyos_facts 1351 exos: ansible.legacy.exos_facts 1352 extreme.exos.exos: extreme.exos.exos_facts 1353 slxos: ansible.legacy.slxos_facts 1354 extreme.slxos.slxos: extreme.slxos.slxos_facts 1355 voss: ansible.legacy.voss_facts 1356 extreme.voss.voss: extreme.voss.voss_facts 1357 ironware: ansible.legacy.ironware_facts 1358 community.network.ironware: community.network.ironware_facts 1359 description: "Which modules to run during a play's fact gathering stage based on connection" 1360 type: dict 1361FACTS_MODULES: 1362 name: Gather Facts Modules 1363 default: 1364 - smart 1365 description: "Which modules to run during a play's fact gathering stage, using the default of 'smart' will try to figure it out based on connection type." 1366 env: [{name: ANSIBLE_FACTS_MODULES}] 1367 ini: 1368 - {key: facts_modules, section: defaults} 1369 type: list 1370 vars: 1371 - name: ansible_facts_modules 1372GALAXY_IGNORE_CERTS: 1373 name: Galaxy validate certs 1374 default: False 1375 description: 1376 - If set to yes, ansible-galaxy will not validate TLS certificates. 1377 This can be useful for testing against a server with a self-signed certificate. 1378 env: [{name: ANSIBLE_GALAXY_IGNORE}] 1379 ini: 1380 - {key: ignore_certs, section: galaxy} 1381 type: boolean 1382GALAXY_ROLE_SKELETON: 1383 name: Galaxy role or collection skeleton directory 1384 default: 1385 description: Role or collection skeleton directory to use as a template for the ``init`` action in ``ansible-galaxy``, same as ``--role-skeleton``. 1386 env: [{name: ANSIBLE_GALAXY_ROLE_SKELETON}] 1387 ini: 1388 - {key: role_skeleton, section: galaxy} 1389 type: path 1390GALAXY_ROLE_SKELETON_IGNORE: 1391 name: Galaxy skeleton ignore 1392 default: ["^.git$", "^.*/.git_keep$"] 1393 description: patterns of files to ignore inside a Galaxy role or collection skeleton directory 1394 env: [{name: ANSIBLE_GALAXY_ROLE_SKELETON_IGNORE}] 1395 ini: 1396 - {key: role_skeleton_ignore, section: galaxy} 1397 type: list 1398# TODO: unused? 1399#GALAXY_SCMS: 1400# name: Galaxy SCMS 1401# default: git, hg 1402# description: Available galaxy source control management systems. 1403# env: [{name: ANSIBLE_GALAXY_SCMS}] 1404# ini: 1405# - {key: scms, section: galaxy} 1406# type: list 1407GALAXY_SERVER: 1408 default: https://galaxy.ansible.com 1409 description: "URL to prepend when roles don't specify the full URI, assume they are referencing this server as the source." 1410 env: [{name: ANSIBLE_GALAXY_SERVER}] 1411 ini: 1412 - {key: server, section: galaxy} 1413 yaml: {key: galaxy.server} 1414GALAXY_SERVER_LIST: 1415 description: 1416 - A list of Galaxy servers to use when installing a collection. 1417 - The value corresponds to the config ini header ``[galaxy_server.{{item}}]`` which defines the server details. 1418 - 'See :ref:`galaxy_server_config` for more details on how to define a Galaxy server.' 1419 - The order of servers in this list is used to as the order in which a collection is resolved. 1420 - Setting this config option will ignore the :ref:`galaxy_server` config option. 1421 env: [{name: ANSIBLE_GALAXY_SERVER_LIST}] 1422 ini: 1423 - {key: server_list, section: galaxy} 1424 type: list 1425 version_added: "2.9" 1426GALAXY_TOKEN_PATH: 1427 default: ~/.ansible/galaxy_token 1428 description: "Local path to galaxy access token file" 1429 env: [{name: ANSIBLE_GALAXY_TOKEN_PATH}] 1430 ini: 1431 - {key: token_path, section: galaxy} 1432 type: path 1433 version_added: "2.9" 1434GALAXY_DISPLAY_PROGRESS: 1435 default: ~ 1436 description: 1437 - Some steps in ``ansible-galaxy`` display a progress wheel which can cause issues on certain displays or when 1438 outputing the stdout to a file. 1439 - This config option controls whether the display wheel is shown or not. 1440 - The default is to show the display wheel if stdout has a tty. 1441 env: [{name: ANSIBLE_GALAXY_DISPLAY_PROGRESS}] 1442 ini: 1443 - {key: display_progress, section: galaxy} 1444 type: bool 1445 version_added: "2.10" 1446GALAXY_CACHE_DIR: 1447 default: ~/.ansible/galaxy_cache 1448 description: 1449 - The directory that stores cached responses from a Galaxy server. 1450 - This is only used by the ``ansible-galaxy collection install`` and ``download`` commands. 1451 - Cache files inside this dir will be ignored if they are world writable. 1452 env: 1453 - name: ANSIBLE_GALAXY_CACHE_DIR 1454 ini: 1455 - section: galaxy 1456 key: cache_dir 1457 type: path 1458 version_added: '2.11' 1459HOST_KEY_CHECKING: 1460 # note: constant not in use by ssh plugin anymore 1461 # TODO: check non ssh connection plugins for use/migration 1462 name: Check host keys 1463 default: True 1464 description: 'Set this to "False" if you want to avoid host key checking by the underlying tools Ansible uses to connect to the host' 1465 env: [{name: ANSIBLE_HOST_KEY_CHECKING}] 1466 ini: 1467 - {key: host_key_checking, section: defaults} 1468 type: boolean 1469HOST_PATTERN_MISMATCH: 1470 name: Control host pattern mismatch behaviour 1471 default: 'warning' 1472 description: This setting changes the behaviour of mismatched host patterns, it allows you to force a fatal error, a warning or just ignore it 1473 env: [{name: ANSIBLE_HOST_PATTERN_MISMATCH}] 1474 ini: 1475 - {key: host_pattern_mismatch, section: inventory} 1476 choices: ['warning', 'error', 'ignore'] 1477 version_added: "2.8" 1478INTERPRETER_PYTHON: 1479 name: Python interpreter path (or automatic discovery behavior) used for module execution 1480 default: auto_legacy 1481 env: [{name: ANSIBLE_PYTHON_INTERPRETER}] 1482 ini: 1483 - {key: interpreter_python, section: defaults} 1484 vars: 1485 - {name: ansible_python_interpreter} 1486 version_added: "2.8" 1487 description: 1488 - Path to the Python interpreter to be used for module execution on remote targets, or an automatic discovery mode. 1489 Supported discovery modes are ``auto``, ``auto_silent``, and ``auto_legacy`` (the default). All discovery modes 1490 employ a lookup table to use the included system Python (on distributions known to include one), falling back to a 1491 fixed ordered list of well-known Python interpreter locations if a platform-specific default is not available. The 1492 fallback behavior will issue a warning that the interpreter should be set explicitly (since interpreters installed 1493 later may change which one is used). This warning behavior can be disabled by setting ``auto_silent``. The default 1494 value of ``auto_legacy`` provides all the same behavior, but for backwards-compatibility with older Ansible releases 1495 that always defaulted to ``/usr/bin/python``, will use that interpreter if present (and issue a warning that the 1496 default behavior will change to that of ``auto`` in a future Ansible release. 1497INTERPRETER_PYTHON_DISTRO_MAP: 1498 name: Mapping of known included platform pythons for various Linux distros 1499 default: 1500 centos: &rhelish 1501 '6': /usr/bin/python 1502 '8': /usr/libexec/platform-python 1503 debian: 1504 '8': /usr/bin/python 1505 '10': /usr/bin/python3 1506 fedora: 1507 '23': /usr/bin/python3 1508 oracle: *rhelish 1509 redhat: *rhelish 1510 rhel: *rhelish 1511 ubuntu: 1512 '14': /usr/bin/python 1513 '16': /usr/bin/python3 1514 version_added: "2.8" 1515 # FUTURE: add inventory override once we're sure it can't be abused by a rogue target 1516 # FUTURE: add a platform layer to the map so we could use for, eg, freebsd/macos/etc? 1517INTERPRETER_PYTHON_FALLBACK: 1518 name: Ordered list of Python interpreters to check for in discovery 1519 default: 1520 - /usr/bin/python 1521 - python3.9 1522 - python3.8 1523 - python3.7 1524 - python3.6 1525 - python3.5 1526 - python2.7 1527 - python2.6 1528 - /usr/libexec/platform-python 1529 - /usr/bin/python3 1530 - python 1531 # FUTURE: add inventory override once we're sure it can't be abused by a rogue target 1532 version_added: "2.8" 1533TRANSFORM_INVALID_GROUP_CHARS: 1534 name: Transform invalid characters in group names 1535 default: 'never' 1536 description: 1537 - Make ansible transform invalid characters in group names supplied by inventory sources. 1538 - If 'never' it will allow for the group name but warn about the issue. 1539 - When 'ignore', it does the same as 'never', without issuing a warning. 1540 - When 'always' it will replace any invalid characters with '_' (underscore) and warn the user 1541 - When 'silently', it does the same as 'always', without issuing a warning. 1542 env: [{name: ANSIBLE_TRANSFORM_INVALID_GROUP_CHARS}] 1543 ini: 1544 - {key: force_valid_group_names, section: defaults} 1545 type: string 1546 choices: ['always', 'never', 'ignore', 'silently'] 1547 version_added: '2.8' 1548INVALID_TASK_ATTRIBUTE_FAILED: 1549 name: Controls whether invalid attributes for a task result in errors instead of warnings 1550 default: True 1551 description: If 'false', invalid attributes for a task will result in warnings instead of errors 1552 type: boolean 1553 env: 1554 - name: ANSIBLE_INVALID_TASK_ATTRIBUTE_FAILED 1555 ini: 1556 - key: invalid_task_attribute_failed 1557 section: defaults 1558 version_added: "2.7" 1559INVENTORY_ANY_UNPARSED_IS_FAILED: 1560 name: Controls whether any unparseable inventory source is a fatal error 1561 default: False 1562 description: > 1563 If 'true', it is a fatal error when any given inventory source 1564 cannot be successfully parsed by any available inventory plugin; 1565 otherwise, this situation only attracts a warning. 1566 type: boolean 1567 env: [{name: ANSIBLE_INVENTORY_ANY_UNPARSED_IS_FAILED}] 1568 ini: 1569 - {key: any_unparsed_is_failed, section: inventory} 1570 version_added: "2.7" 1571INVENTORY_CACHE_ENABLED: 1572 name: Inventory caching enabled 1573 default: False 1574 description: Toggle to turn on inventory caching 1575 env: [{name: ANSIBLE_INVENTORY_CACHE}] 1576 ini: 1577 - {key: cache, section: inventory} 1578 type: bool 1579INVENTORY_CACHE_PLUGIN: 1580 name: Inventory cache plugin 1581 description: The plugin for caching inventory. If INVENTORY_CACHE_PLUGIN is not provided CACHE_PLUGIN can be used instead. 1582 env: [{name: ANSIBLE_INVENTORY_CACHE_PLUGIN}] 1583 ini: 1584 - {key: cache_plugin, section: inventory} 1585INVENTORY_CACHE_PLUGIN_CONNECTION: 1586 name: Inventory cache plugin URI to override the defaults section 1587 description: The inventory cache connection. If INVENTORY_CACHE_PLUGIN_CONNECTION is not provided CACHE_PLUGIN_CONNECTION can be used instead. 1588 env: [{name: ANSIBLE_INVENTORY_CACHE_CONNECTION}] 1589 ini: 1590 - {key: cache_connection, section: inventory} 1591INVENTORY_CACHE_PLUGIN_PREFIX: 1592 name: Inventory cache plugin table prefix 1593 description: The table prefix for the cache plugin. If INVENTORY_CACHE_PLUGIN_PREFIX is not provided CACHE_PLUGIN_PREFIX can be used instead. 1594 env: [{name: ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX}] 1595 default: ansible_facts 1596 ini: 1597 - {key: cache_prefix, section: inventory} 1598INVENTORY_CACHE_TIMEOUT: 1599 name: Inventory cache plugin expiration timeout 1600 description: Expiration timeout for the inventory cache plugin data. If INVENTORY_CACHE_TIMEOUT is not provided CACHE_TIMEOUT can be used instead. 1601 default: 3600 1602 env: [{name: ANSIBLE_INVENTORY_CACHE_TIMEOUT}] 1603 ini: 1604 - {key: cache_timeout, section: inventory} 1605INVENTORY_ENABLED: 1606 name: Active Inventory plugins 1607 default: ['host_list', 'script', 'auto', 'yaml', 'ini', 'toml'] 1608 description: List of enabled inventory plugins, it also determines the order in which they are used. 1609 env: [{name: ANSIBLE_INVENTORY_ENABLED}] 1610 ini: 1611 - {key: enable_plugins, section: inventory} 1612 type: list 1613INVENTORY_EXPORT: 1614 name: Set ansible-inventory into export mode 1615 default: False 1616 description: Controls if ansible-inventory will accurately reflect Ansible's view into inventory or its optimized for exporting. 1617 env: [{name: ANSIBLE_INVENTORY_EXPORT}] 1618 ini: 1619 - {key: export, section: inventory} 1620 type: bool 1621INVENTORY_IGNORE_EXTS: 1622 name: Inventory ignore extensions 1623 default: "{{(REJECT_EXTS + ('.orig', '.ini', '.cfg', '.retry'))}}" 1624 description: List of extensions to ignore when using a directory as an inventory source 1625 env: [{name: ANSIBLE_INVENTORY_IGNORE}] 1626 ini: 1627 - {key: inventory_ignore_extensions, section: defaults} 1628 - {key: ignore_extensions, section: inventory} 1629 type: list 1630INVENTORY_IGNORE_PATTERNS: 1631 name: Inventory ignore patterns 1632 default: [] 1633 description: List of patterns to ignore when using a directory as an inventory source 1634 env: [{name: ANSIBLE_INVENTORY_IGNORE_REGEX}] 1635 ini: 1636 - {key: inventory_ignore_patterns, section: defaults} 1637 - {key: ignore_patterns, section: inventory} 1638 type: list 1639INVENTORY_UNPARSED_IS_FAILED: 1640 name: Unparsed Inventory failure 1641 default: False 1642 description: > 1643 If 'true' it is a fatal error if every single potential inventory 1644 source fails to parse, otherwise this situation will only attract a 1645 warning. 1646 env: [{name: ANSIBLE_INVENTORY_UNPARSED_FAILED}] 1647 ini: 1648 - {key: unparsed_is_failed, section: inventory} 1649 type: bool 1650MAX_FILE_SIZE_FOR_DIFF: 1651 name: Diff maximum file size 1652 default: 104448 1653 description: Maximum size of files to be considered for diff display 1654 env: [{name: ANSIBLE_MAX_DIFF_SIZE}] 1655 ini: 1656 - {key: max_diff_size, section: defaults} 1657 type: int 1658NETWORK_GROUP_MODULES: 1659 name: Network module families 1660 default: [eos, nxos, ios, iosxr, junos, enos, ce, vyos, sros, dellos9, dellos10, dellos6, asa, aruba, aireos, bigip, ironware, onyx, netconf, exos, voss, slxos] 1661 description: 'TODO: write it' 1662 env: 1663 - name: NETWORK_GROUP_MODULES 1664 deprecated: 1665 why: environment variables without ``ANSIBLE_`` prefix are deprecated 1666 version: "2.12" 1667 alternatives: the ``ANSIBLE_NETWORK_GROUP_MODULES`` environment variable 1668 - name: ANSIBLE_NETWORK_GROUP_MODULES 1669 ini: 1670 - {key: network_group_modules, section: defaults} 1671 type: list 1672 yaml: {key: defaults.network_group_modules} 1673INJECT_FACTS_AS_VARS: 1674 default: True 1675 description: 1676 - Facts are available inside the `ansible_facts` variable, this setting also pushes them as their own vars in the main namespace. 1677 - Unlike inside the `ansible_facts` dictionary, these will have an `ansible_` prefix. 1678 env: [{name: ANSIBLE_INJECT_FACT_VARS}] 1679 ini: 1680 - {key: inject_facts_as_vars, section: defaults} 1681 type: boolean 1682 version_added: "2.5" 1683MODULE_IGNORE_EXTS: 1684 name: Module ignore extensions 1685 default: "{{(REJECT_EXTS + ('.yaml', '.yml', '.ini'))}}" 1686 description: 1687 - List of extensions to ignore when looking for modules to load 1688 - This is for rejecting script and binary module fallback extensions 1689 env: [{name: ANSIBLE_MODULE_IGNORE_EXTS}] 1690 ini: 1691 - {key: module_ignore_exts, section: defaults} 1692 type: list 1693OLD_PLUGIN_CACHE_CLEARING: 1694 description: Previouslly Ansible would only clear some of the plugin loading caches when loading new roles, this led to some behaviours in which a plugin loaded in prevoius plays would be unexpectedly 'sticky'. This setting allows to return to that behaviour. 1695 env: [{name: ANSIBLE_OLD_PLUGIN_CACHE_CLEAR}] 1696 ini: 1697 - {key: old_plugin_cache_clear, section: defaults} 1698 type: boolean 1699 default: False 1700 version_added: "2.8" 1701PARAMIKO_HOST_KEY_AUTO_ADD: 1702 # TODO: move to plugin 1703 default: False 1704 description: 'TODO: write it' 1705 env: [{name: ANSIBLE_PARAMIKO_HOST_KEY_AUTO_ADD}] 1706 ini: 1707 - {key: host_key_auto_add, section: paramiko_connection} 1708 type: boolean 1709PARAMIKO_LOOK_FOR_KEYS: 1710 name: look for keys 1711 default: True 1712 description: 'TODO: write it' 1713 env: [{name: ANSIBLE_PARAMIKO_LOOK_FOR_KEYS}] 1714 ini: 1715 - {key: look_for_keys, section: paramiko_connection} 1716 type: boolean 1717PERSISTENT_CONTROL_PATH_DIR: 1718 name: Persistence socket path 1719 default: ~/.ansible/pc 1720 description: Path to socket to be used by the connection persistence system. 1721 env: [{name: ANSIBLE_PERSISTENT_CONTROL_PATH_DIR}] 1722 ini: 1723 - {key: control_path_dir, section: persistent_connection} 1724 type: path 1725PERSISTENT_CONNECT_TIMEOUT: 1726 name: Persistence timeout 1727 default: 30 1728 description: This controls how long the persistent connection will remain idle before it is destroyed. 1729 env: [{name: ANSIBLE_PERSISTENT_CONNECT_TIMEOUT}] 1730 ini: 1731 - {key: connect_timeout, section: persistent_connection} 1732 type: integer 1733PERSISTENT_CONNECT_RETRY_TIMEOUT: 1734 name: Persistence connection retry timeout 1735 default: 15 1736 description: This controls the retry timeout for persistent connection to connect to the local domain socket. 1737 env: [{name: ANSIBLE_PERSISTENT_CONNECT_RETRY_TIMEOUT}] 1738 ini: 1739 - {key: connect_retry_timeout, section: persistent_connection} 1740 type: integer 1741PERSISTENT_COMMAND_TIMEOUT: 1742 name: Persistence command timeout 1743 default: 30 1744 description: This controls the amount of time to wait for response from remote device before timing out persistent connection. 1745 env: [{name: ANSIBLE_PERSISTENT_COMMAND_TIMEOUT}] 1746 ini: 1747 - {key: command_timeout, section: persistent_connection} 1748 type: int 1749PLAYBOOK_DIR: 1750 name: playbook dir override for non-playbook CLIs (ala --playbook-dir) 1751 version_added: "2.9" 1752 description: 1753 - A number of non-playbook CLIs have a ``--playbook-dir`` argument; this sets the default value for it. 1754 env: [{name: ANSIBLE_PLAYBOOK_DIR}] 1755 ini: [{key: playbook_dir, section: defaults}] 1756 type: path 1757PLAYBOOK_VARS_ROOT: 1758 name: playbook vars files root 1759 default: top 1760 version_added: "2.4.1" 1761 description: 1762 - This sets which playbook dirs will be used as a root to process vars plugins, which includes finding host_vars/group_vars 1763 - The ``top`` option follows the traditional behaviour of using the top playbook in the chain to find the root directory. 1764 - The ``bottom`` option follows the 2.4.0 behaviour of using the current playbook to find the root directory. 1765 - The ``all`` option examines from the first parent to the current playbook. 1766 env: [{name: ANSIBLE_PLAYBOOK_VARS_ROOT}] 1767 ini: 1768 - {key: playbook_vars_root, section: defaults} 1769 choices: [ top, bottom, all ] 1770PLUGIN_FILTERS_CFG: 1771 name: Config file for limiting valid plugins 1772 default: null 1773 version_added: "2.5.0" 1774 description: 1775 - "A path to configuration for filtering which plugins installed on the system are allowed to be used." 1776 - "See :ref:`plugin_filtering_config` for details of the filter file's format." 1777 - " The default is /usr/local/etc/ansible/plugin_filters.yml" 1778 ini: 1779 - key: plugin_filters_cfg 1780 section: default 1781 deprecated: 1782 why: specifying "plugin_filters_cfg" under the "default" section is deprecated 1783 version: "2.12" 1784 alternatives: the "defaults" section instead 1785 - key: plugin_filters_cfg 1786 section: defaults 1787 type: path 1788PYTHON_MODULE_RLIMIT_NOFILE: 1789 name: Adjust maximum file descriptor soft limit during Python module execution 1790 description: 1791 - Attempts to set RLIMIT_NOFILE soft limit to the specified value when executing Python modules (can speed up subprocess usage on 1792 Python 2.x. See https://bugs.python.org/issue11284). The value will be limited by the existing hard limit. Default 1793 value of 0 does not attempt to adjust existing system-defined limits. 1794 default: 0 1795 env: 1796 - {name: ANSIBLE_PYTHON_MODULE_RLIMIT_NOFILE} 1797 ini: 1798 - {key: python_module_rlimit_nofile, section: defaults} 1799 vars: 1800 - {name: ansible_python_module_rlimit_nofile} 1801 version_added: '2.8' 1802RETRY_FILES_ENABLED: 1803 name: Retry files 1804 default: False 1805 description: This controls whether a failed Ansible playbook should create a .retry file. 1806 env: [{name: ANSIBLE_RETRY_FILES_ENABLED}] 1807 ini: 1808 - {key: retry_files_enabled, section: defaults} 1809 type: bool 1810RETRY_FILES_SAVE_PATH: 1811 name: Retry files path 1812 default: ~ 1813 description: 1814 - This sets the path in which Ansible will save .retry files when a playbook fails and retry files are enabled. 1815 - This file will be overwritten after each run with the list of failed hosts from all plays. 1816 env: [{name: ANSIBLE_RETRY_FILES_SAVE_PATH}] 1817 ini: 1818 - {key: retry_files_save_path, section: defaults} 1819 type: path 1820RUN_VARS_PLUGINS: 1821 name: When should vars plugins run relative to inventory 1822 default: demand 1823 description: 1824 - This setting can be used to optimize vars_plugin usage depending on user's inventory size and play selection. 1825 - Setting to C(demand) will run vars_plugins relative to inventory sources anytime vars are 'demanded' by tasks. 1826 - Setting to C(start) will run vars_plugins relative to inventory sources after importing that inventory source. 1827 env: [{name: ANSIBLE_RUN_VARS_PLUGINS}] 1828 ini: 1829 - {key: run_vars_plugins, section: defaults} 1830 type: str 1831 choices: ['demand', 'start'] 1832 version_added: "2.10" 1833SHOW_CUSTOM_STATS: 1834 name: Display custom stats 1835 default: False 1836 description: 'This adds the custom stats set via the set_stats plugin to the default output' 1837 env: [{name: ANSIBLE_SHOW_CUSTOM_STATS}] 1838 ini: 1839 - {key: show_custom_stats, section: defaults} 1840 type: bool 1841STRING_TYPE_FILTERS: 1842 name: Filters to preserve strings 1843 default: [string, to_json, to_nice_json, to_yaml, to_nice_yaml, ppretty, json] 1844 description: 1845 - "This list of filters avoids 'type conversion' when templating variables" 1846 - Useful when you want to avoid conversion into lists or dictionaries for JSON strings, for example. 1847 env: [{name: ANSIBLE_STRING_TYPE_FILTERS}] 1848 ini: 1849 - {key: dont_type_filters, section: jinja2} 1850 type: list 1851SYSTEM_WARNINGS: 1852 name: System warnings 1853 default: True 1854 description: 1855 - Allows disabling of warnings related to potential issues on the system running ansible itself (not on the managed hosts) 1856 - These may include warnings about 3rd party packages or other conditions that should be resolved if possible. 1857 env: [{name: ANSIBLE_SYSTEM_WARNINGS}] 1858 ini: 1859 - {key: system_warnings, section: defaults} 1860 type: boolean 1861TAGS_RUN: 1862 name: Run Tags 1863 default: [] 1864 type: list 1865 description: default list of tags to run in your plays, Skip Tags has precedence. 1866 env: [{name: ANSIBLE_RUN_TAGS}] 1867 ini: 1868 - {key: run, section: tags} 1869 version_added: "2.5" 1870TAGS_SKIP: 1871 name: Skip Tags 1872 default: [] 1873 type: list 1874 description: default list of tags to skip in your plays, has precedence over Run Tags 1875 env: [{name: ANSIBLE_SKIP_TAGS}] 1876 ini: 1877 - {key: skip, section: tags} 1878 version_added: "2.5" 1879TASK_TIMEOUT: 1880 name: Task Timeout 1881 default: 0 1882 description: 1883 - Set the maximum time (in seconds) that a task can run for. 1884 - If set to 0 (the default) there is no timeout. 1885 env: [{name: ANSIBLE_TASK_TIMEOUT}] 1886 ini: 1887 - {key: task_timeout, section: defaults} 1888 type: integer 1889 version_added: '2.10' 1890WORKER_SHUTDOWN_POLL_COUNT: 1891 name: Worker Shutdown Poll Count 1892 default: 0 1893 description: 1894 - The maximum number of times to check Task Queue Manager worker processes to verify they have exited cleanly. 1895 - After this limit is reached any worker processes still running will be terminated. 1896 - This is for internal use only. 1897 env: [{name: ANSIBLE_WORKER_SHUTDOWN_POLL_COUNT}] 1898 type: integer 1899 version_added: '2.10' 1900WORKER_SHUTDOWN_POLL_DELAY: 1901 name: Worker Shutdown Poll Delay 1902 default: 0.1 1903 description: 1904 - The number of seconds to sleep between polling loops when checking Task Queue Manager worker processes to verify they have exited cleanly. 1905 - This is for internal use only. 1906 env: [{name: ANSIBLE_WORKER_SHUTDOWN_POLL_DELAY}] 1907 type: float 1908 version_added: '2.10' 1909USE_PERSISTENT_CONNECTIONS: 1910 name: Persistence 1911 default: False 1912 description: Toggles the use of persistence for connections. 1913 env: [{name: ANSIBLE_USE_PERSISTENT_CONNECTIONS}] 1914 ini: 1915 - {key: use_persistent_connections, section: defaults} 1916 type: boolean 1917VARIABLE_PLUGINS_ENABLED: 1918 name: Vars plugin enabled list 1919 default: ['host_group_vars'] 1920 description: Whitelist for variable plugins that require it. 1921 env: [{name: ANSIBLE_VARS_ENABLED}] 1922 ini: 1923 - {key: vars_plugins_enabled, section: defaults} 1924 type: list 1925 version_added: "2.10" 1926VARIABLE_PRECEDENCE: 1927 name: Group variable precedence 1928 default: ['all_inventory', 'groups_inventory', 'all_plugins_inventory', 'all_plugins_play', 'groups_plugins_inventory', 'groups_plugins_play'] 1929 description: Allows to change the group variable precedence merge order. 1930 env: [{name: ANSIBLE_PRECEDENCE}] 1931 ini: 1932 - {key: precedence, section: defaults} 1933 type: list 1934 version_added: "2.4" 1935WIN_ASYNC_STARTUP_TIMEOUT: 1936 name: Windows Async Startup Timeout 1937 default: 5 1938 description: 1939 - For asynchronous tasks in Ansible (covered in Asynchronous Actions and Polling), 1940 this is how long, in seconds, to wait for the task spawned by Ansible to connect back to the named pipe used 1941 on Windows systems. The default is 5 seconds. This can be too low on slower systems, or systems under heavy load. 1942 - This is not the total time an async command can run for, but is a separate timeout to wait for an async command to 1943 start. The task will only start to be timed against its async_timeout once it has connected to the pipe, so the 1944 overall maximum duration the task can take will be extended by the amount specified here. 1945 env: [{name: ANSIBLE_WIN_ASYNC_STARTUP_TIMEOUT}] 1946 ini: 1947 - {key: win_async_startup_timeout, section: defaults} 1948 type: integer 1949 vars: 1950 - {name: ansible_win_async_startup_timeout} 1951 version_added: '2.10' 1952YAML_FILENAME_EXTENSIONS: 1953 name: Valid YAML extensions 1954 default: [".yml", ".yaml", ".json"] 1955 description: 1956 - "Check all of these extensions when looking for 'variable' files which should be YAML or JSON or vaulted versions of these." 1957 - 'This affects vars_files, include_vars, inventory and vars plugins among others.' 1958 env: 1959 - name: ANSIBLE_YAML_FILENAME_EXT 1960 ini: 1961 - section: defaults 1962 key: yaml_valid_extensions 1963 type: list 1964NETCONF_SSH_CONFIG: 1965 description: This variable is used to enable bastion/jump host with netconf connection. If set to True the bastion/jump 1966 host ssh settings should be present in ~/.ssh/config file, alternatively it can be set 1967 to custom ssh configuration file path to read the bastion/jump host settings. 1968 env: [{name: ANSIBLE_NETCONF_SSH_CONFIG}] 1969 ini: 1970 - {key: ssh_config, section: netconf_connection} 1971 yaml: {key: netconf_connection.ssh_config} 1972 default: null 1973STRING_CONVERSION_ACTION: 1974 version_added: '2.8' 1975 description: 1976 - Action to take when a module parameter value is converted to a string (this does not affect variables). 1977 For string parameters, values such as '1.00', "['a', 'b',]", and 'yes', 'y', etc. 1978 will be converted by the YAML parser unless fully quoted. 1979 - Valid options are 'error', 'warn', and 'ignore'. 1980 - Since 2.8, this option defaults to 'warn' but will change to 'error' in 2.12. 1981 default: 'warn' 1982 env: 1983 - name: ANSIBLE_STRING_CONVERSION_ACTION 1984 ini: 1985 - section: defaults 1986 key: string_conversion_action 1987 type: string 1988VERBOSE_TO_STDERR: 1989 version_added: '2.8' 1990 description: 1991 - Force 'verbose' option to use stderr instead of stdout 1992 default: False 1993 env: 1994 - name: ANSIBLE_VERBOSE_TO_STDERR 1995 ini: 1996 - section: defaults 1997 key: verbose_to_stderr 1998 type: bool 1999... 2000