如何访问其他主机的变量?我想在working_host上访问我的localhost的slack_token变量。
- hosts: localhost
vars:
slack_token: 123123123
tasks:
- block:
- name: test
debug: msg="{{ slack_token }}"
- hosts: "{{ working_host }}"
vars:
slack_token: "{{ hostvars['localhost']['slack_token'] }}"
tasks:
- block:
- name: test2
debug: msg={{ slack_token }}
错误消息:
致命:[localhost]:失败! => {"失败":是的," msg":"该字段 ' ARGS'具有无效值,似乎包含一个变量 未定义。错误是:{{hostvars [' localhost'] [' slack_token'] }}:' dict object'没有属性' slack_token'
有什么想法吗?
答案 0 :(得分:2)
在我之前的帖子中回答了一个相同的问题。
这是我使用的:
set_fact:
myVar: "{{ hostvars[groups['all'][0]]['slack_token'] | default(False) }}"
但是你在剧本中使用了两个剧本。 您也可以尝试将文件复制到说明事实的机器上。
答案 1 :(得分:1)
要从任何地方访问slack_token
,请执行以下操作:
-e slack_token=zzzz
all
群组