Usando templates / jinja2 filter no Ansible playbook para condicionalmente executar certos

2

Estou criando um manual de instruções para orquestração de dispositivos de rede. Eu preciso executar certos comandos, dependendo da entrada de vars booleanos que recebo.

É possível usar a entrada booleana para preencher os comandos que precisam ser executados em uma tarefa? Eu prefiro usar 1 tarefa, se possível.

Para explicar melhor o que estou tentando alcançar, forneça este exemplo:

---

task: foo_netw_task
ios_config:
  provider: "{{ router_provider }}"
  lines:
    - "{{if bool_val_1 then 'command_1'}}"
    - "{{if bool_val_2 then 'command_2'}}"
    - "{{if bool_val_3 then 'command_3'}}"

Então, dê a entrada abaixo:

bool_val_1 = true, bool_val_2 = true, bool_val_3 = false

Espero que o manual de execução esteja assim:

task: foo_netw_task
ios_config:
  provider: "{{ router_provider }}"
  lines:
    - 'command_1'
    - 'command_2'

Obrigado pela sua ajuda!

    
por jonatzin 30.08.2017 / 11:57

0 respostas