2017-09-12 1 views
-1

J'essaie de faire une liste à l'intérieur d'un uribody. Mais l'utilisation de |list n'ajoute pas les éléments de la liste à la nouvelle liste.Ansible - Créer une liste avec des éléments et | liste

Ma tâche:

uri: 
    url: "{{ URL }}" 
    method: "POST" 
    body: 
    policies: 
     - "default" 
     - "{{ item | selectattr('policy', 'defined') | map(attribute='policy') | list }}" 
    body_format: json 
    with_items: 
    - "{{ policy_config }}" 

Mais cela me donne:

policies: 
    - \"default\" 
    - \"[u'app1', u'app2']\" 

Il n'est pas le apposent app1 & App2 comme éléments de liste séparés à la nouvelle. Comment puis-je résoudre ce problème?

Merci beaucoup d'avance!

Répondre

0

Construire une seule liste. L'un des exemples possibles:

policies: "{{ ['default'] + item | selectattr('policy', 'defined') | map(attribute='policy') | list }}" 

Si json_query est disponible dans votre configuration, encore plus court:

policies: "{{ ['default'] + item | json_query('[].policy') }}" 
+0

grâce KONSTANTIN. ça l'a fait. – Crypto