Ansible: команда сборки с переменными - PullRequest
0 голосов
/ 30 мая 2019

Я хотел бы построить сборник рассказов, и на данный момент мне нужна помощь.

У меня есть значения по умолчанию:

variables:
  module1: true
  module2: false
  module3: true
  module4: true

Теперь мне нужно выяснить, какой ключ модуля имеет истинное значение, и ввести имя ключа в мою команду

- name: Install Packages
  command: {{ item }}
  with_items:
   - ./configure

Вывод должен быть примерно таким:

- name: Install Packages
  command: {{ item }}
  with_items:
   - ./configure --module1 **--no**-module2 --module3 --module4

Как я могу получить все эти модули и собрать команду configure?

Спасибо!

1 Ответ

0 голосов
/ 31 мая 2019

Игра ниже

- hosts: localhost
  gather_facts: no
  vars:
    command: ""
    my_variables:
      module1: true
      module2: false
      module3: true
      module4: true
  tasks:
    - set_fact:
        command: "{{ command ~ item.value|ternary(' --' ~ item.key,
                                                  ' **--no**-' ~ item.key) }}"
      loop: "{{ my_variables|dict2items }}"
    - debug:
        var: command

дает (сокращенно):

"command": " --module4 --module3 **--no**-module2 --module1"

Примечания:

  • dict2items работает с доступной версией> = 2.6
...