首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实战手册中的Vars_prompt

实战手册中的Vars_prompt
EN

Stack Overflow用户
提问于 2017-07-14 18:12:05
回答 1查看 14.7K关注 0票数 2

这是我的剧本,

代码语言:javascript
复制
---
- hosts: alpha
  vars:
  company: vogo
  tasks:
     - name: debugging
       debug:
         msg: "{{ansible_hostname}}"
  vars_prompt:
     - name: "company"
       prompt: "Where do you work"
       private: no

- hosts: webservers
  vars_prompt:
     - name: "fathercompany"
       prompt: "Where your father works"
       private: no
  tasks:
     - name: test
       debug:
         msg: just testing "{{company2}}"

以下是我运行攻略时执行流程的步骤,

1-提示1(您在哪里工作)

2-任务调试

3-提示2(你父亲工作的地方)

4-任务测试

我有几个问题要问。

首先,当我运行这个剧本时,“调试”任务应该首先运行,然后提示符应该要求输入公司名称。但是,当我运行这本剧本时,在第一步,它会问“你在哪里工作?”为什么要先提示?我是不是遗漏了一些我应该通过的参数?

其次,我在这里放了两个提示,

我想在webservers主机块中使用提示值company。但当我尝试这样做时,它会给我错误。

我不能使用提示值从一个主机块到另一个主机块?

第三,

如何在角色中使用提示?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-14 18:23:19

vars_prompt绑定了特定的播放,不能直接在其他播放中使用。虽然您可以在第一个播放中使用set_fact设置某个主机的事实,然后在后续播放中通过hostvars访问它。

提示在每个游戏开始时执行,无论您将YAML块放在tasks区段之前还是之后(毕竟它是一个YAML字典,其中键的顺序没有任何意义)。

我建议不要使用提示符,如果你需要一些外部数据,可以通过extra variables传递。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45100377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档