2017-10-20 5 views
-1

私は最近、Anoysを使っていくつかのタスクを自動化したいので、python/YAMLとJINJA(ソフトウェアの経験なし)を使い始めました。リストのリストにある要素にアクセスする

YAMLの表現はこれです。理解できるように、いくつかの値を持つ2つの他のリストを含むリストがあります。

YAMLファイル

VARIABLE_NAME: 
    - LIST_1.1: 
    - VALUE1 
    - VALUE2 

    - LIST_1.2: 
    - VALUE3 
    - VALUE4 

私の理解は正しい、これは次のことを表している場合:、神社のテンプレートに

VARIABLE_NAME=[LIST1.1[VALUE1, VALUE2],LIST1.2[VALUE3, VALUE4]] 

私はループにしたいとLIST 1つのVALUESを使用して取得2番目のステートメントの最初のステートメントとリスト2の値。このような何か:

神社テンプレート:YAMLの値にアクセスするには、この神社のテンプレートで正しい構文になり何

{%for values in List1.List_1.1%} 
Statement1 {values} 
{% endfor%} 

{%for values in List1.List_1.2%} 
Statement2 {values} 
{% endfor%} 

?。さらに、これを行うためのより良い方法がありますか? ご協力いただきありがとうございます。

答えて

0

あなたのテンプレートでこの1を試すことができます:これはあなたを助けるかもしれない

Statement1 VALUE1 
Statement1 VALUE2 

Statement2 VALUE3 
Statement2 VALUE4 

ホープ:

{%for values in LIST1['LIST_1.1']%} 
Statement1 {{values}} 
{% endfor%} 

{%for values in LIST1['LIST_1.2']%} 
Statement2 {{values}} 
{% endfor%} 

はあなたにこのような結果が得られます。

+0

こんにちは、Arbab、あなたの答えをありがとう。実際の問題を反映していないので、私はちょうど私の質問を編集しました。私はあなたのソリューションが前のケースで動作することを確認しましたが、このケースではまだネストされたリストの値にアクセスできません。私は次のことをしようとしている神社テンプレートで :
'{VARIABLE_NAMEでipため%[RANGES] [IP]%}'
「文1 {{IP}} '
' {%ENDFOR%} '
しかし、私はまだAnsibleで次のエラーを返す: '' AnsibleUndefinedVariable:リストオブジェクトに要素がありません " –

関連する問題