2017-05-09 1 views
0

J'ai un argument qui est passé sous la forme de foobar-aAnsible variable gsub manipuler

ansible-PlayBook test.yml -e "argument = foobar-a"

- name: whatever 
    hosts: whatever 
    tasks: 
    - name: echo 
     shell: echo {{ argument }} 
     #should return foobar-b 

Je dois manipuler cette information pour être sous la forme de foobar-b Quelle est la manière Ansible de le faire?

En chef, je voudrais simplement utiliser gsub rubis pour ce faire

argument.gsub!('-a', '-b') 

Répondre

2

Vous devez utiliser le filtre regex_replace, comme dans le livre de jeux ci-dessous.

- name: whatever 
    hosts: whatever 
    tasks: 
    - name: echo 
     shell: echo {{ argument | regex_replace('-a','-b') }} 

Voir la documentation filters

+0

Exactement ce que je cherchais. Merci. Je ne suis pas particulièrement friands de la documentation d'Ansible par rapport à Chef. –