Как использовать ansible для запуска скрипта, который запрашивает ввод данных пользователем? - PullRequest
0 голосов
/ 13 мая 2019

Я хочу запустить сценарий оболочки с использованием ansible, но для успешного выполнения сценария оболочки требуется ввод данных пользователем,

Например, : мой сценарий оболочки запрашивает уникальный идентификатор ossec agent, через ansible я могу предопределить мой unique id (user input).

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Вам необходимо использовать модуль EXPECT: https://docs.ansible.com/ansible/latest/modules/expect_module.html

- name: Case insensitive unique id string match
  expect:
    command: ./myscript.sh
    responses:
      "Please enter your uniqueid": "myID"
      # Your input in myscript.sh
  no_log: true

Требования

Для хоста, на котором выполняется этот модуль, необходимы следующие требования.

питон> = 2,6

pexpect> = 3.3

0 голосов
/ 13 мая 2019

Это может помочь вам в качестве отправной точки:

- hosts: localhost
  connection: local

  vars_prompt:
  - name: your_name
    prompt: "Enter your name"
    private: no

  tasks:
  - name: print name
    assert: that="your_name.strip()"
    args:
      msg: "The your_name argument shouldn't be empty!"

  - debug:
        var: your_name

Узнайте больше о prompts, vars_prompt здесь: https://docs.ansible.com/ansible/latest/user_guide/playbooks_prompts.html

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