ansible - 有条件的 with_items
问题描述
我有两个项目清单:
list1:
- element1
- element2
list2:
- element1
- element2
和定义在group_vars
env: x #can be either dev or stg
我想要执行的是:
- name: Create database
influxdb_database:
hostname: xyz
database_name: "{{ item }}"
.
.
with_items: list1 if env is stg
with_items: list2 if env is dev
如果上面不清楚,我基本上想为 list1 中定义的项目运行此任务,如果给定主机的 var 设置为 ,如果给定env
主机的 var 设置为stg
,ELSE 为 list2 中定义的项目运行它。env
dev
我怎样才能达到这样的结果?
解决方案
你可以像这样使用 if 条件,
- name: Create database
influxdb_database:
hostname: xyz
database_name: "{{ item }}"
.
.
with_items: "{{ list1 if env == 'stg' else list2 }}"
推荐阅读
- debugging - 如何将 Graphene-Django / Graphene-Python 异常打印到控制台进行调试?
- java - 在 SQLite 中使用 DATETIME 列时如何避免 NumberFormatException?
- c++ - 为什么我在这两个分配中得到不同的输出,一个在函数中,另一个在指针的 main 中?
- html - 在发送到 sql server 之前从 html 输入元素中提取值
- sql - 一个月的最后一天/时间
- java - 仅使用一种方法与 switch 或 4 种不同方法哪个更好?
- python - 为什么我的查询变成布尔值,我该如何防止这种情况,所以我可以迭代它?
- c# - 如何使用插入语句从 foreach 获取值
- outlook-web-addins - 通过 Office 365 发送 Outlook
- numpy - 如何组合两列并应用二值化器?