ansible - 在 Ansible 中使用带有两个变量的 Jinja 过滤器
问题描述
我正在尝试在包含 IP 列表的组中获取一个随机主机。我们遇到了一些问题,因为我们的组名使用了一个变量,但是{{
由于 Jinjarandom
调用,该行已经在 's 中。
- hosts: "{{ {{ env }}_as_group | random }}"
ERROR! template error while templating string: expected token 'end of print statement', got '{'. String: {{ {{ env }}_as_group | random }}
env 变量在执行时被传递到剧本中ansible-playbook "-e env=stage" myplaybook.yml
在网上环顾四周,大多数人用 来解决这个问题vars[env]
,但这似乎对我们不太有效 -
- hosts: "{{ vars[env]_as_group | random }}"
ERROR! template error while templating string: expected token 'end of print statement', got '_as_group'. String: {{ tag_aws_autoscaling_groupName_[ env ]_as_group | random }}
如果我成功了- hosts: "{{ stage_as_group | random }}"
,它会按预期工作。
如何设置主机以在组中提取随机值{{ env }}_as_group
?
解决方案
推荐阅读
- swift - 为什么参数标签在这个 Swift 代码中变得无关紧要?
- yii - YII2中视图文件中未定义的变量
- emacs - 使用 swank/slime 在远程 Lisp 中加载本地文件
- python - 需要从python opencv代码中找出哪个形状大哪个形状小
- react-native - 当withRepeat isFinished时如何设置状态
- latex - 在 Stata 中创建表:创建多行变量标题
- python - Python命名管道在KeyboardInterrupt期间读取堆栈跟踪文件的完整模块代码
- sql-server-2012 - 对于 SQL Server 2012,我将如何创建一个 SQL 报告,其中一个列名更改为另一个表中数据列的值?
- c# - getPixel() 的奇怪交互(可能是异步问题?)
- django - 无法在 DjangoCassandraModel 中对分区进行排序,“仅当分区键受 EQ 或 IN 限制时才支持 ORDER BY。”