Запустите скрипт powershell из Ansible - PullRequest
0 голосов
/ 19 июня 2019

У меня есть скрипт powershell, который принимает несколько пользовательских входных данных для файла ex.- "C: \ temp \ foo.ps1", затем он запускается.Я пытаюсь интегрировать этот скрипт с Ansible с помощью модуля win_shell.Как я могу передать пользовательские входные данные для скрипта powershell: -

  - name: windows test command
    win_shell: C:\temp\Snapshots.ps1
    args:
     stdin: C:\temp\test3.csv

Script (powershell): -

$CONumber = Read-Host "Enter the CO Number"

ТАК, что это требует ввода от пользователя, как я могу редактировать это, используяпеременная vars_prompt?

1 Ответ

1 голос
/ 20 июня 2019

Чтобы передать содержимое вашего test3.csv в качестве входных данных для вашего скрипта, вот способ сделать это:

- name: windows test command
  win_shell: C:\temp\Snapshots.ps1
  args:
    stdin: "{{ lookup('file', C:\temp\test3.csv) }}"

Чтобы передать содержимое переменных, запрошенных пользователю из playbook,Вы можете сделать так:

#playbook_snapshot.yml
- hosts: "my_host"
  gather_facts: no
  vars_prompt:
    # co_number will be set to user input, and available in your role
    - name: co_number
      prompt: "Enter the CO Number"
    - name: other_value
      prompt: "Enter what is needed"
  role:
    - { role: wintest }

#role wintest
- name: windows test command
  win_shell: C:\temp\Snapshots.ps1
  args:
    stdin: "{{ co_number}}\n
      {{ other_value }}"
...