meta – Выполнение Ansible ‘действий’
Описание
- Задачи мета-типа — это особый вид задач, которые могут влиять на внутреннее выполнение или состояние Ansible.
- Задачи мета-типа могут использоваться в любом месте вашего плейбука.
- Этот модуль также поддерживается для целей Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| free_form - / обязательно |
| Этот модуль принимает команду свободного формата в виде строки. Нет фактического параметра "свободной формы". Обратитесь к примерам! flush_handlers заставляет Ansible выполнить все задачи обработчиков, о которых он был уведомлен. Ansible вставляет эти задачи в определённые моменты для неявного запуска обработчиков (после задач pre/post, выполнения последнего роли, и основного раздела задач в ваших плейбуках).refresh_inventory (добавлен в Ansible 2.0) принудительно перезагружает инвентарь, что в случае динамических скриптов инвентаризации означает, что они будут повторно выполнены. Если скрипт динамической инвентаризации использует кеш, Ansible не может знать об этом и не может его обновить (вы можете отключить кеш или, если доступно для вашего источника инвентаризации (например, aws), использовать плагин инвентаризации вместо скрипта инвентаризации). Это полезно в основном, когда создаются дополнительные хосты, и пользователи хотят использовать их вместо использования модуля add_host.noop (добавлен в Ansible 2.0) Буквально ничего не делает. В основном используется внутри и не рекомендуется для общего использования.clear_facts (добавлен в Ansible 2.1) очищает собранные факты для хостов, указанных в списке хостов плейбука, включая кеш фактов.clear_host_errors (добавлен в Ansible 2.1) очищает состояние ошибки (если есть) у хостов, указанных в списке хостов плейбука.end_play (добавлен в Ansible 2.2) завершает выполнение плейбука для хоста(ов) без ошибки. Обратите внимание, что это влияет на все хосты.reset_connection (добавлен в Ansible 2.3) прерывает постоянное соединение (например, ssh + сохранение соединения).end_host (добавлен в Ansible 2.8) является вариантом по хосту для end_play. Завершает выполнение плейбука для текущего хоста без ошибки. |
Примечания
Примечание
-
metaна самом деле не является модулем или плагином действия, поэтому его нельзя перезаписать. -
clear_factsудалит постоянные факты из set_fact с использованиемcacheable=True, но не текущую переменную хоста, созданную для текущего выполнения. - Использование циклов с задачами мета-типа не поддерживается.
- Этот модуль также поддерживается для целей Windows.
См. также
См. также
- assert – Проверяет, что заданные выражения истинны
- Официальная документация модуля assert.
- fail – Выдает ошибку с пользовательским сообщением
- Официальная документация модуля fail.
Примеры
# Example showing flushing handlers on demand, not at end of play
- template:
src: new.j2
dest: /etc/config.txt
notify: myhandler
- name: Force all notified handlers to run at this point, not waiting for normal sync points
meta: flush_handlers
# Example showing how to refresh inventory during play
- name: Reload inventory, useful with dynamic inventories when play makes changes to the existing hosts
cloud_guest: # this is fake module
name: newhost
state: present
- name: Refresh inventory to ensure new instances exist in inventory
meta: refresh_inventory
# Example showing how to clear all existing facts of targetted hosts
- name: Clear gathered facts from all currently targeted hosts
meta: clear_facts
# Example showing how to continue using a failed target
- name: Bring host back to play after failure
copy:
src: file
dest: /etc/file
remote_user: imightnothavepermission
- meta: clear_host_errors
# Example showing how to reset an existing connection
- user:
name: '{{ ansible_user }}'
groups: input
- name: Reset ssh connection to allow user changes to affect 'current login user'
meta: reset_connection
# Example showing how to end the play for specific targets
- name: End the play for hosts that run CentOS 6
meta: end_host
when:
- ansible_distribution == 'CentOS'
- ansible_distribution_major_version == '6'
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается командой разработчиков Ansible. [ядро]
Поддержка Red Hat
Дополнительную информацию о поддержке Red Hat этого модуля можно найти в этой статье базы знаний Red Hat.
Авторы
- Команда разработчиков Ansible
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/meta_module.html