一部のサイトでループするプレイブックを設定しようとしています。サイト内には、ルータとスイッチがあります。一般に1台のルータと少なくとも1台のスイッチがあります。今のところ、私は両方のサイトで1つのルータが動作するようにロジックを設定しようとしています。私は "with_nested"する必要があると信じていますが、勝利したコードを思いつくことはできません。これは私が今持っているものです。今のところAnecessでネストされたループを実行できません
hosts: local
vars:
data_vlan: 10
voice_vlan: 20
sites:
- site1:
routers:
- hostname: router1
loopback0: 192.168.1.1
wan_ip: 10.0.0.2
lan_ip: 172.16.1.1
- site2:
routers:
- hostname: router1
loopback0: 192.168.2.1
wan_ip: 10.0.0.4
lan_ip: 172.16.2.1
tasks:
- name: Generate router configs
template: src=templates/router.j2 dest=scripts/{{ item [1] }}/{{ item[1] }}-{{ item[1] }}.txt
with_nested:
- "{{ sites }}"
私はアイテムDESTセクションの[1]、第3の時間を持っていますが、最終的に私はそれをホスト名になりたいです。だからscripts/site1/site1-router1.txtなど。このコードでは、site1とsite2が正しく取得されますが、ホスト名varsに到達する方法を把握することはできません。
with_nestedで複数の変数を試しましたが、取得できませんでした。最終結果は次のようになります
SITE1、ルータ1
SITE1、1
SITE1スイッチ、N
SITE2、ルータ1
SITE2、1
SITE2スイッチを切り替えます、スイッチN
ありがとうございます。私は最初、オプション3でどのように構成されているかを構造化しましたが、それは犠牲にされた多くのものを試しました。今度はJinja2の部分を理解してください。 – mikey