Ansible 获取索引列表

曼索皮埃尔-亚历山大

我正在使用 ansible 创建一个剧本来根据提示参数安装我的项目。

我可以用这个脚本安装 2 个应用程序,我在开始时提示只有一个,然后我需要获得好的 ssh 端口,因为应用程序有不同的端口。

ssh_smx_ports:
  - pds: 8103
  - activemq: 8102

脚本启动时:

vars_prompt:
- name: "type_smx"
  prompt: "cible? (pds,activemq)"
  private: no

在我需要创建后,将此端口传递给另一个命令:

 name: install bundle on {{ type_smx }}
 tags: ssh
 command: sudo /servicemix/servicemix/bin/client -h {{ inventory_hostname }} -a {{ ssh_smx_ports[type_smx]  }} -u smx -p {{ ssh_smx_pass }} 'install mybundle'

但是有了这个我得到了这个错误:

致命:[n2.qlf.canaltrain.sncf.fr]:失败!=> {"failed": true, "msg": "the field 'args' has an invalid value, 它似乎包含一个未定义的变量。错误是:'list object' has no attribute u'pds'\ n\n错误似乎在“/home/ansible/env/install_version.yml”:第 60 行,第 6 列,但可能\n在文件中的其他位置,具体取决于确切的语法问题。\n\n出现违规行为:\n\n - \"{{ type_smx }}\"\n - name: Add url on servicemix {{ type_smx }}\n ^ here\n我们可能错了,但这个看起来可能是一个缺少引号的问题。当模板表达式括号\n开始一个值时,总是引用它们。例如:\n\n with_items:\n - {{ foo }}\n\n应该写成:\n\n with_items:\ n - \"{{ foo }}\"\n"}

如何访问正确的端口元素?

技术员

您定义了一个包含两个元素的列表:

ssh_smx_ports:
  - pds: 8103
  - activemq: 8102

你把它ssh_smx_ports[type_smx]当作一本字典来引用

ssh_smx_ports:
  pds: 8103
  activemq: 8102

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

Ansible:按属性过滤列表

来自分类Dev

如何从Ansible库存文件中获取主机列表?

来自分类Dev

如何获取Ansible库存并填充Ansible变量?

来自分类Dev

使用Ansible从JSON内容获取字典的特定列表

来自分类Dev

Ansible with_subelements(列表)

来自分类Dev

当语句遍历列表时是ansible

来自分类Dev

json文件中的Ansible列表

来自分类Dev

Ansible split返回多个索引

来自分类Dev

从ansible列表中获取最新字典

来自分类Dev

Ansible:如何从列表中获取重复项?

来自分类Dev

Ansible:如何修改字典列表

来自分类Dev

Ansible中的JSON文件列表

来自分类Dev

Ansible:如何获取列表的值(stdout_lines)?

来自分类Dev

在Ansible中以字符串形式从列表中获取项目

来自分类Dev

目录中的ansible列表文件

来自分类Dev

Ansible模板:尝试索引到两级列表

来自分类Dev

Ansible搜索子列表以获取价值

来自分类Dev

Ansible列表未订购

来自分类Dev

Ansible-从字典中获取列表值(Regsiter变量)

来自分类Dev

ansible从角色获取结果并追加到列表

来自分类Dev

字典中的Ansible解析列表

来自分类Dev

如何获取Ansible库存并填充Ansible变量?

来自分类Dev

用字符串替换Ansible列表的空索引

来自分类Dev

Ansible:如何通过Ansible获取服务状态?

来自分类Dev

Ansible循环遍历列表var

来自分类Dev

Ansible 列表变量引用

来自分类Dev

Ansible 列表默认值

来自分类Dev

在 Ansible 中过滤 unicode 列表

来自分类Dev

Ansible 从列表中删除项目