2017-11-27 17 views
0

テンプレート内のクラスタ変数を埋めるために、ホストグループの下にあるすべてのノードを取得しようとしています。マイansibleホスト10.0.0.1のための私の脚本を起動すると、私はグループ[「des_cns」]このグループ内のすべてのノードを取得することができ、このリーフホストグループ内のノードを取得

[des_cns] 
10.0.0.1 
10.0.0.2 

[des_rtc] 
10.0.0.11 
10.0.0.12 

[des_ogl] 
10.0.0.21 
10.0.0.22 

[des:children] 
des_cns 
des_rtc 
des_ogl 

[clustered:children] 
des 

のようなものです(これは私が欲しいものである)が、私のように思えます変数ではできません。 Whith group_names私はこのIPが一致するすべてのグループを取得しますが、私は葉グループだけを必要とします。私は、フィルタリングの目的ですべてのリーフグループで_を使用することができました。

{{groups[group_names|list|join(' ')|regex_findall('[a-z]*_[a_z]*')|to_json]}} 

しかし、それは辞書オブジェクトは「[\ 『des_cns \』]」は属性を持っていないというエラーが返されます。

近い私が得ることができるが(イムは、この行であまりいじりイム確認してください)です。 ..

私の悪い英語を助けてくれてありがとうございました。

答えて

1

使用selectフィルタとsearchテスト:

{{ groups[ group_names | select('search','_') | first ] }} 

インナー式は:group_namesから_文字でグループのみを選択し、それからだけ最初の項目を取ります。

関連する問題