Назад | Перейти на главную страницу

Возможные варианты «Да» и «Нет» для установки

можно ли задать пользователю вопрос «Да» и «Нет»? Я уверен, что он есть, но он мне нужен, чтобы установить пакет при ответе «да», а при «нет» просто пропустить пакет. Как это сделать эффективно? Спасибо.

Плейбуки Ansible не должны работать в интерактивном режиме.

Вы хотите использовать переменную для такого рода решений.

Можно задать вопрос пользователю во время запуска playbook. Использовать vars_prompt.

---
- hosts: all

  vars_prompt:
    - name: username
      prompt: "What is your username?"
      private: no

    - name: password
      prompt: "What is your password?"

  tasks:
    - debug:
        msg: 'Logging in as {{ username }}'

Пример с логическим значением:

---
- hosts: all

  vars_prompt:
    - name: install_apache
      prompt: "Install Apache?"
      private: no

  tasks:
    - apt:
        name: apache2
        state: present
      when: install_apache

В зависимости от варианта использования этого конкретного примера может оказаться, что динамический инвентарь с конкретной определенной переменной - лучшее решение.

Я не согласен с этим каждый раз playbook должен не работать в интерактивном режиме. Пример с установкой пакета может быть не так актуален, потому что он строго связан с Инфраструктура как код, подходить.

У нас есть множество других случаи использования:

  • Автоматизируйте повседневные задачи.
  • Подготовка к нагрузочному тестированию.
  • Непрерывная интеграция / непрерывное развертывание.
  • [...]