2017-06-21 2 views
1

Je voudrais ajouter une valeur entière à une liste dans Ansible (pour créer une nouvelle variable). Par exemple, j'ai la variable suivante:Ansible: Ajouter une valeur entière à une liste

list: 
    - 80 
    - 81 
    - 82 

Je voudrais faire quelque chose comme:

list2: "{{ list + 100 }}" 

pour obtenir:

list2: 
    - 180 
    - 181 
    - 182 

J'ai essayé avec

list2: "{{ list|int+100 }}" 

ou

list2: "{{ list+100|int }}" 

mais sans succès jusqu'à présent. Merci pour l'aide.

Répondre

2

Vous devez écrire un plugin filtre personnalisé ou utilisation en boucle set_fact:

- set_fact: 
    list2: "{{ list2 | default([]) + [item+100] }}" 
    with_items: "{{ list1 }}" 
0

Merci pour la réponse. J'essaye de faire ceci dans un fichier variable. Je comprends qu'il n'y a pas de moyen simple de le faire. J'ai utilisé:

list2: "[ {% for port in list1 %}{{ port+100 }}{% if not loop.last %},{% endif %}{% endfor %} ]"