ansible 配置文件设置

一、ansible configuration settings

ansible支持多种形式,对它进行配置,其中包括命令行配置、配置文件配置(ansible.cfg)、直接修改linux环境变量、以及playbook中使用变量去修改ansible配置。总共4种表现形式。

二、ansible 配置文件查找顺序(从上到下,依次查找)

  1. ANSIBLE_CONFIG用来设置配置文件所在位置
  2. ansible.cfg (在当前执行命令的目录下,是否有ansible.cfg)
  3. ~/.ansible.cfg(查找家目录下是否有.ansible.cfg文件)
  4. /etc/ansible/ansible.cfg(查找etc下面是否有ansible.cfg配置文件)

ansible 将使用第一个查找到的配置文件,其他的将被忽略。

ansible配置文件使用 #;来进行注释;如果是内联注释,只允许使用 ;

  1. # some basic default values...
  2. inventory = /etc/ansible/hosts ; This points to the file that lists your hosts

三、附录ansible配置参数

官网所有可配置参数:

https://docs.ansible.com/ansible/latest/reference_appendices/config.html

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

ansible 配置文件设置的更多相关文章

  1. ansible配置文件详解

    # ansible配置文件配置 配置项介绍 , 配置文件ansible.cfg, 运行playbook时,默认时在yaml文件所在路径寻找,然后再去/etc/ansible/下寻找 [defaults ...

  2. Ansible配置文件

    官方配置文件文档 Ansible安装完成之后默认配置文件为:/etc/asnible/ansible.cfg Ansible配置文件内容: cat ansible.cfg # config file ...

  3. log4net配置文件设置

    windows服务执行cmd命令 最长公共子字符串 log4net配置文件设置 2011-11-16 13:15:41|  分类: Notes |  标签: |字号大中小 订阅     log4net ...

  4. nginx 流媒体 flv 播放 以及上传大小 配置文件设置

    nginx 流媒体 flv 播放 以及上传大小 配置文件设置   server {listen 80;server_name localhost;root /www/web/default;index ...

  5. ansible配置文件 ansible.cfg的一点说明

    ansible配置文件 ansible.cfg的一点说明 > ansible --version ansible 2.1.1.0 config file = /etc/ansible/ansib ...

  6. 2、Ansible配置文件详解

    0.配置文件 两个核心文件:ansible.cfg和hosts文件,默认都存放在/etc/ansible目录下. ansible.cfg:主要设置一些ansible初始化的信息,比如日志存放路径.模块 ...

  7. Ubuntu1404+Django1.9+Apache2.4部署配置2配置文件设置

    转载注明出处,个人博客:http://www.cnblogs.com/wdfwolf3/ Django首要的部署平台是WSGI,它是Python Web服务器和应用的标准.使用Apache和mod_w ...

  8. Config File Settings Of EF——实体框架的配置文件设置

    我亦MSDN 原文地址 http://msdn.microsoft.com/en-us/data/jj556606 Entity Framework allows a number of settin ...

  9. Entity Framework——配置文件设置

    可以使用配置文件或代码(EF6起)配置EF框架. 一.使用配置文件 安装Entity Framework自动生成的配置 当使用VS的NuGet自动安装Entity Framework(本文使用6.2. ...

随机推荐

  1. 部署k8s时容器中ping不通

    192.168.42.120 | UNREACHABLE! => {    "changed": false,     "msg": "Fail ...

  2. DELPHI ClientData使用详解

    在三层结构中,TClientDataSet的地位是不可估量的,她的使用正确与否,是十分关键的,本文从以下几个方面阐述她的使用,希望对你有所帮助. 1.动态索引procedure TForm1.DBGr ...

  3. Nginx教程[归档]

    前言 其一,Nginx不是随随便便一篇博文就能讲清楚的,严谨地说,笔者连入门者都算不上:其二,此文系前段日子里,学习Nginx时的笔记归档类博文,还有诸多不完整处,仅供参考. 写这篇博文的时间点:20 ...

  4. 用js的方式运行c程序之webassemly

    在这里就不科普webassemly的作用以及好处了,请自行百度. 那么,怎么通过js的方式在浏览器中运行c程序呢,其中原理如下: 可能另一张图会更详细: 1.安装emscripten 说明文档地址:h ...

  5. vue ts ,vue使用typescript,三种组件传值方式

    参考链接:https://juejin.im/post/5c55156f6fb9a049ef270541

  6. Elasticsearch基础入门,详情可见官方文档

    索引文档: 对于员工目录,我们将做如下操作: 每个员工索引一个文档,文档包含该员工的所有信息. 每个文档都将是 employee 类型 . 该类型位于 索引 megacorp 内. 该索引保存在我们的 ...

  7. C++调用windowsAPI

    1.需要#include <windows.h>http://zhidao.baidu.com/link?url=yOeEGkhe3-kVI6rCqyNp14IjTyXBkQhLeNt-X ...

  8. 【Python】【demo实验24】【练习实例】【打印图样】

    原题: 打印出如下图案(菱形): * *** ***** ******* ***** *** * 我的源码: #!/usr/bin/python # encoding=utf-8 # -*- codi ...

  9. Android控制UI界面

    ⒈使用XML布局文件控制UI界面[推荐] Android推荐使用XML布局文件来控制视图,这样不仅简单.明了,而且可以将应用的视图控制逻辑从Java或Kotlin代码中分离出来,放入XML文件中控制, ...

  10. 数值优化(Numerical Optimization)学习系列-目录

    数值优化(Numerical Optimization)学习系列-目录 置顶 2015年12月27日 19:07:11 下一步 阅读数 12291更多 分类专栏: 数值优化   版权声明:本文为博主原 ...