ansible - 在 Ansible 中组合字符串列表
问题描述
我在 Ansible 中有两个字符串列表:
vars:
pre:
- one
- two
post:
- alpha
- beta
我可以很容易地得到这些列表的笛卡尔积:
set_fact: prods="{{pre|product(post)|list}}"
然后我如何组合各个部分以获得这样的列表:
prods:
- one-alpha
- one-beta
- two-alpha
- two-beta
解决方案
带循环!
---
- hosts: localhost
gather_facts: false
vars:
pre:
- one
- two
post:
- alpha
- beta
tasks:
- set_fact:
prods: "{{ prods|default([]) + ['{}-{}'.format(item.0, item.1)] }}"
loop: "{{ pre|product(post)|list }}"
- debug:
var: prods
这将产生输出:
TASK [debug] **********************************************************************************
ok: [localhost] => {
"prods": [
"one-alpha",
"one-beta",
"two-alpha",
"two-beta"
]
}
推荐阅读
- mysql - 解决以下代码中 mysql #1064 错误的方法?
- python - 当满足某些条件时,你能打破过滤功能吗?例如,如果 x == 237 我想打破过滤器功能
- python - Apache Airflow 的 hive thrift 或 HiveMetastore 的问题
- glsl - Vulkan Uniform 中的数组问题
- kubernetes - 获取有关 AKS 中的污点控制器事件的通知
- 3d - Yaw-Roll-Pitch 变换
- sql - 如何在 SQL 中返回分多天的事件持续时间?
- pytorch - 在 Pytorch 中构建和训练自动编码器以降低向量输入的维度
- c# - 尝试安装 Emgu.CV.runtime.windows VS 2019 winforms,框架 4.8 时出现 EMGU 错误
- elasticsearch - 如何执行此弹性搜索查询