-1
remote_address_phase2:
  - 192.168.88.0/24
  - 192.168.1.0/24

仕事:

i have to create a firewall group 

  - name: "addrgrp"
    fortios_firewall_addrgrp:
      vdom:  "{{ vdom }}"
      state: "present"
      firewall_addrgrp:
        allow_routing: "disable"
        #category: "default"
        color: "21"
        comment: "try"
        exclude: "disable"
        fabric_object: "disable"
        member:
          - name: "NET-{{ item}}"
      
        name: "try"

        type: "default"

    with_items:  "{{  remote_address_phase2 }}"

このアクティビティを作成した場合、2 つの異なるタスクがありますが、最後の操作で最初の操作が上書きされます

何か案が?

4

1 に答える 1

0

moduleのドキュメントの例を見ると、member:パラメーターは辞書のリストを取るようです。

モジュールのドキュメントからの例:

        member:
         -
            name: "default_name_7 (source firewall.address.name firewall.addrgrp.name)"

テストしていませんが、"addrgrp"タスクの前に同様の構造を作成set_factし、新しく作成した変数を使用できます。

    - set_fact:
        fw_members: "{{ fw_members | default([]) + [{'name': 'NET-' ~ item}] }}"
      loop: "{{ remote_address_phase2 }}"

これは与える:

    "fw_members": [
        {
            "name": "NET-192.168.88.0/24"
        },
        {
            "name": "NET-192.168.1.0/24"
        }
    ]

その後、この変数を値としてパラメーターに渡すことができるはずmember:です。例:

  - set_fact:
      fw_members: "{{ fw_members | default([]) + [{'name': 'NET-' ~ item}] }}"
    loop: "{{ remote_address_phase2 }}"

  - name: "addrgrp"
    fortios_firewall_addrgrp:
      vdom:  "{{ vdom }}"
      state: "present"
      firewall_addrgrp:
        allow_routing: "disable"
        #category: "default"
        color: "21"
        comment: "try"
        exclude: "disable"
        fabric_object: "disable"
        member: "{{ fw_members }}"
        name: "try"
        type: "default"
于 2021-10-12T18:18:55.463 に答える