如何在ansible-console中注册变量?

时间:2019-05-29 08:20:11

标签: ansible

好吧,标题几乎说明了一切。

运行剧本时,您始终可以:

- name: my task
  register: variable_name
  some_module:
    some_args: true

但是,在运行ansible-console时,如何在变量中注册模块执行的结果?

2 个答案:

答案 0 :(得分:1)

创建一个 vars 文件并将您的变量添加到其中

---
somevar: somevalue
  • 启动 ansible 控制台
  • 设置您要为其工作的主持人或群组cd hostgroup
  • 在控制台提示符处:include_vars myvarsfile.yml
  • 您会看到它为您指定的组/主机中的每个主机设置了 var。

根据文档 Ansible v4 似乎在命令行上使用 --extra-vars

答案 1 :(得分:0)

register仅在使用ansible-playbook发行的剧本中可用。 ansible-console只是基础ansible的包装,用于启动ad_hoc命令。您必须自己解析返回的json,然后调用set_fact并返回结果。我没有看到控制台中可用的任何命令。

同时,您可以查看this similar question,其中有一个有趣的可能的解决方法是使用可以在控制台上使用的回调插件。

相关问题