0

私は私のようなVPC内のサブネットについての事実に登録するec2_vpc_subnet_factsを使用Ansibleの脚本に取り組んでいます:ので(削除無関係な属性)のような構造を取り戻す複雑な構造からのルックアップ値はありますか?

- ec2_vpc_subnet_facts: 
    region: "{{ ec2_region }}" 
    filters: 
     vpc-id: "{{ vpc.vpc.id }}" 
    register: vpc_subnet_facts 

を:

"vpc_subnet_facts": { 
    "changed": false, 
    "subnets": [ 
     { 
      ... 
      "id": "subnet-0bb50753", 
      ... 
      "tags": { 
       "Name": "mytag1" 
      }, 
      ... 
     }, 
     { 
      ... 
      "id": "subnet-0bb50754", 
      ... 
      "tags": { 
       "Name": "mytag2" 
      }, 
      ... 
     } 
    ] 
} 

プレイブックの後半に、ec2モジュールvpc_subnet_idアトリビュートのタグ値に基づいてサブネットIDを検索すること、つまりmytag1に関連付けられたサブネットID subnet-0bb50753をルックアップすることが考えられます。

私の現在のアプローチはec2_vpc_subnet_facts結果からset_factsを使用してtag => subnet-ID辞書を作成することですが、私は代替案に興味があります。ここで行われる何

- debug: msg="{{ (vpc_subnet_facts.subnets | selectattr('tags.Name','equalto','mytag1') | first).id }}" 

は::、最初の要素を取る、vpc_subnet_facts.subnetstags.Name=='mytag1'から要素のサブセットを作るidフィールドを取る

よろしく

、オラ

答えて

3

selectattr神社フィルタは、ここではあなたの友達です。

+0

こんにちはコンスタンチン、解決に感謝します。非常に素晴らしい。 –

関連する問題