Как правило, как только вы set_fact
для хоста, вы не можете go вернуться назад, если не сохраните копию исходного значения и set_fact
позже или повторно соберете слой фактов (используя например, различные игры в вашей книге игр.
Если можете, используйте специальный факт (и, возможно, значения по умолчанию) для достижения аналогичной цели.
Например:
- name: conditionally set fact
set_fact:
special_name: "overridden value"
when: my_condition
- name: use fact or default
debug:
msg: "Name is {{ special_name | default(name)}}"
Если вы хотите использовать переопределенное значение чаще, вы можете использовать вторую переменную для обработки присваивания:
- name: conditionally set fact
set_fact:
special_name: "overridden value"
when: my_condition
- name: use default globally
set_fact:
special_name: "{{ special_name | default(name) }}"
- name: use fact or default
debug:
msg: "Name is {{ special_name }}"
Это немного длиннее, но дает вам значение, на которое вы можете рассчитывать в нескольких местах без необходимости установки значения по умолчанию в нескольких местах.