我的all.yml group_vars中有静态主机,我想从REST API的响应中生成一些变量。我可以在任务中使用uri模块并注册该剧本的变量,但我认为它会为每个主机调用api。
但是我想通过在播放开始时仅调用一次api来创建变量,因此所有主机都可以使用它。我该怎么办?
答案 0 :(得分:2)
问:我想通过在播放开始时只调用一次api来创建变量,因此所有主机都可以使用它。我该怎么办?
A:在任务中用MyPropertyA
注册的变量可用于所有主机。下面的剧本
run_once: true
给予
- hosts: all
tasks:
- command: date
register: result
run_once: true
- set_fact:
started_at: "{{ result.stdout }}"
- debug:
var: started_at