2017-09-30 4 views
0

私のサーバのセカンダリIPに入力する必要があるジンジャーテンプレートがあります。可能なipv4セカンダリIPフィルタリング

私が必要とするものよりも少し多く私に提供する以下を実行しようとしました。私は、次の

tasks: 
    - name: debug2 
    debug: msg={{ ansible_enp0s8_iface1.ipv4_secondaries.address }} 

を実行したときに

tasks: 
    - name: debug2 
    debug: msg={{ ansible_enp0s8_iface1.ipv4_secondaries }} 

結果

ok: [localhost] => { 
"msg": [ 
    { 
     "address": "172.16.2.20", 
     "broadcast": "172.16.2.255", 
     "netmask": "255.255.255.0", 
     "network": "172.16.2.0" 
    } 
] 
} 

は、しかし、私は、 "住所" を示す、次の致命的なエラーが発生します未定義です。それはプライマリインターフェイス

fatal: [localhost]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'list object' has no attribute 'address'\n\nThe error appears to have been in '/root/test.yml': line 15, column 5, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n #debug: msg={{ ansible_enp0s8_iface1.ipv4_secondaries.address }}\n - name: debug1\n ^here\n"} 

答えて

1

ipv4_secondariesは角括弧内に表示されることに注意してください、あなたはそれがリストだということを知っているこの方法で完璧に動作しますので、なぜこれが起こっている私にはわかりません。

ですから、例えば、リストから要素を選択する必要があります。:

ansible_enp0s8_iface1.ipv4_secondaries[0].address 
+0

ありがとうございました。まさに私が探していたもの。私は要素の先端の精神ノートを作成します。 – crusadecoder

関連する問題