В примере:
# Example setting host facts using complex arguments
- set_fact:
one_fact: something
other_fact: "{{ local_var * 2 }}"
another_fact: "{{ some_registered_var.results | map(attribute='ansible_facts.some_fact') | list }}"
map
на самом деле является фильтром Jinja2, и более подробная информация может быть найдена в официальной документации Jinja2 :
map()
Applies a filter on a sequence of objects or looks up an attribute.
This is useful when dealing with lists of objects but you are really
only interested in a certain value of it.
Фактически, во всех конструкциях, таких как {{ variable_name | something_here }}
, мы фактически говорим «pass variable_name
в фильтр с именем something_here
» и возвращаем результат.