Как разделить параметры между несколькими задачами в Ansible

#ansible #ansible-playbook #ansible-awx

#ansible #ansible-сборник задач #ansible-awx

Вопрос:

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

 tasks:                                 
   - name: test1                         
     test1:                       
       param1=value1
       ...
       param99=value99
     ...
   - name: test10                         
     test10:                       
       param1=value1
       ...
       param99=value99
 

Ответ №1:

В сборнике заданий вы можете добавить vars раздел.

 - hosts: all
  vars:
    param1: value1
    param99: value99
  tasks:
     - name: hello world
  roles:
     - some_role
 

Комментарии:

1. Я на самом деле разрабатываю несколько новых модулей, и я не думаю, что есть способ получить доступ к переменным из кода модуля (без необходимости передавать их в качестве параметров).

2. вам следует переформулировать свой вопрос. Модули Ansible избегают использования неявных параметров, вероятно, потому, что побочные эффекты — это запах кода. Однако вы можете передать структуру данных каждому модулю.