Как использовать переменные в Ansible Playbook - PullRequest
0 голосов
/ 07 апреля 2020

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

my-main.yml

---
 - include: validation-and-download-tasks.yml

validation-and-download-tasks.yml

---
- hosts: localhost
  connection: local
  gather_facts: no
  roles:
     - role: valanddownload
       tags:
         - valanddownload

valanddownload main.yml

---
 - name: Validating the input variables
   #hosts: localhost
   #gather_facts: false

   vars:
     _allowed_envs:
       - dev
       - preprod
       - prod

 - name: Ensuring that directory exists to download the artifacts
   file:
     path: "{{ release_location }}/{{my_release_version}}"
     state: directory

Что-то не так с моим отступом? Ошибка ниже

ERROR: vars is not a legal parameter in an Ansible task or handler

1 Ответ

0 голосов
/ 08 апреля 2020

как написано, вы должны определить vars на уровне воспроизведения, вот пример, как вы просили:

---
- hosts: localhost
  connection: local
  gather_facts: no
  roles:
     - role: valanddownload
       tags:
         - valanddownload
  vars:
    _allowed_envs:
      - dev
      - preprod
      - prod

Вы не можете прикрепить часть vars к уровню задачи. Это должно работать для вас.

Подсказка: я бы использовал файл vars. Определите все свои переменные там. Гораздо удобнее и удобнее управлять всеми вашими переменными в одном файле.

...