Ansible 플레이북에서 jinja 스크립트를 작성할 때 해당 스크립트가 표시하는 변수를 플레이북 외부에서 사용할 수 있나요?

Ansible 플레이북에서 jinja 스크립트를 작성할 때 해당 스크립트가 표시하는 변수를 플레이북 외부에서 사용할 수 있나요?

이게 스크립트야

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 플레이북과 함께 사용하여 나중에 사용할 수 있는 yaml 목록을 구축할 수 있습니까?

관련 정보