Ansible, не указывайте хосты в playbook и не указывайте хосты через командную строку - PullRequest
1 голос
/ 24 февраля 2020

Проблема

У меня есть книга воспроизведения для восстановления данных из резервной копии. Это разрушительная операция, которая потенциально может выполняться на hosts: all. Так что в настоящее время в моей пьесе hosts: all. Я хотел бы заставить пользователя указать хосты, для которых он хочет восстановить резервную копию, чтобы при запуске playbook без опции --limit он не работал.

Вопрос

Есть ли какой-нибудь способ защитить книгу игр, чтобы вам пришлось вручную указывать хосты для таргетинга, а не all?

1 Ответ

1 голос
/ 24 февраля 2020

Конечно.

Просто напишите в своей пьесе (example.yml)

---
 - name: Limited playbook
   hosts: "{{ target }}"
   tasks:
    - debug:
      msg: "Running on {{ inventory_hostname }}"

Запуск плейбука будет выглядеть как

ansible example.yml -e target=host1

Вы также можете добавить значение по умолчанию для цели, если вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...