Ansible Playbookでjinjaスクリプトを作成するときに、そのスクリプトが表示する変数をPlayBookの外部で使用できますか?

Ansible Playbookでjinjaスクリプトを作成するときに、そのスクリプトが表示する変数をPlayBookの外部で使用できますか?

これはスクリプトです。

j2
 tasks:
    - name: template script
      set_fact:
        servers: |
          {% for node_type in item.node_type %}
            {% for individial_desk in node_type.desc %} 
              {% for count_of_desc in range(0, individial_desk.count) %}
            - node_type: {{ node_type.name }}
                  server_kind: {{ individial_desk.kind }}
                  server_name: {{ node_type.node_names[count_of_desc] }}
                  server_number: {{ count_of_desc + 1 }}
              {% endfor %}
            {% endfor %}
          {% endfor %}
      loop: "{{ clusters }}"

各繰り返しごとに出力する4つの値を含むyamlリストを作成したいと思います。しかし、出力自体が奇妙で出力を正しいyamlに変換してからプレイブックに再挿入しようとすると、意図しない非常に大きな解決策であるため、数時間かかります。

それでは、j2またはAnsibleでyamlオブジェクトを作成してプロパティを添付する方法はありますか?

または、表示された4つの変数(node_type、server_kind、server_name、およびserver_number)をansible Playbookで使用して、後で使用できるyamlリストを構築できますか?

ベストアンサー1

おすすめ記事