Запретить пользователю указывать звездочку * в приглашении ansible awx

Я пытаюсь создать шаблон задания самообслуживания для наших пользователей с помощью Ansible AWX и хочу ограничить пользователей указанием точных деталей хоста, на которых они хотят запустить задание.

Во время тестирования я заметил, что если на пределе (я включил подсказку при запуске) указывается «*», он выполняется на каждом узле в инвентаре, чего я хочу избежать и не допустить.

Итак, позвольте мне сначала объяснить вам мое требование

  1. Пользователь войдет в систему под своим именем и запустит шаблон задания. Этот шаблон задания необходимо запустить на узле или шаблоне узла или группы, упомянутых этим пользователем.
  2. Поэтому я не хочу ограничивать выполнение этого сценария одной группой или несколькими группами, я хотел бы предложить пользователю указать имя хоста, на котором он хочет выполнить этот сценарий.

Как я пытаюсь достичь этого

  1. Это моя инструкция (снова просто пример)
---
- hosts: "{{ target }}"
  gather_facts: no

  tasks:

  - name: Gather Hostname information
    shell: hostname
    register: hostname_result

  - debug: var=hostname_result.stdout_lines
  1. Я создал один шаблон задания, с Survey, чтобы указать имя хоста, на котором они хотят запустить это задание.

Я вижу, когда мы помещаем * в этот опрос, этот шаблон задания выполняется на всех хостах, а мы этого не хотим.

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

Благодарю за вашу помощь.

0
задан 24 January 2019 в 11:01
1 ответ

Решение ниже сработало для меня ....

---
- hosts: "{{ target }}"
  gather_facts: no

  tasks:

  - name: You cannot pass asterisk as target hosts
    meta: end_play
    when: target == '*'

  - name: Gather Hostname information
    shell: hostname
    register: hostname_result

  - debug: var=hostname_result.stdout_lines
1
ответ дан 4 December 2019 в 15:46

Теги

Похожие вопросы