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

Запретить пользователю указывать звездочку * в приглашении 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, чтобы указать имя хоста, на котором они хотят запустить это задание.

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

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

Ценю вашу помощь.

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

---
- 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