2017-10-20 34 views
-2

Dire que j'ai 20-25 des variables comme le dictionnaire 3 affichés ci-dessous dans mesComment faire une boucle sur 2 éléments de dictionnaire ou plus dans l'ansible?

rôles/défaut/main.yml

severName: 
    server1: ngrt008 
    server2: ngrt009 

hostName_North: 
    host1: northwest 
    host2: northeast 

hostName_South: 
    host1: southwest 
    host2: southeast 

Maintenant, j'ai un autre fichier énumérant ces variables dict que je veux boucle plus de.

argument list.yml

required_dict_vars: 
    - hostName_North 
    - severName 

Je veux boucler sur ces dict valeurs variables (c.-à-ngrt008, ngrt009, au nord-ouest et nord-est) dans un pretask pour valider ce sont des chaînes. J'utilise assert pour valider son une chaîne, mais je ne suis pas capable de faire une boucle sur eux.

- name: Check if values are of type string 
    assert: 
    that: "{{ item }} is string" 
    msg: "The value is not of type string" 
    with_items: 
    - "{{ required_dict_vars.values() | list }}" 

Répondre

-1

Essayez le filtre combine:

"{{ hostName_North | combine(severName) }}"