多个yaml文件包含一个键为id
的值,我需要将其附加到列表变量中。
---
name: somename
group: somegroup
id: someid
字符串
我尝试过使用ansible.builtin.command
来cat和注册文件的内容,但是没有成功地找到一种方法来过滤返回的stdout_lines
以获得我想要的值。我的尝试看起来像下面这样,但是在这一点上有太多的迭代,所以它有点混乱。
- name: Store job definition content
local_action:
module: ansible.builtin.command
cmd: "cat {{ item.path }}"
loop:
"{{ definition_files.files }}"
register:
job_definitions
- name: Get a list of existing jobs ids
ansible.builtin.set_fact:
existing_jobs: "{{ existing_jobs + (item.stdout | to_yaml | map(attribute='id')}}"
loop:
"{{ job_definitions.results }}"
型
另一个例子也是不正确的,不工作,但演示了我一直在尝试得到我的结果:
- name: Define empty list
ansible.builtin.set_fact:
uuid_list: []
- name: Create a list of job ids from template files
ansible.builtin.set_fact:
uuid_list: "{{uuid_list + lookup('file', item.path | to_yaml).id }}"
loop:
"{{ definition_files.files }}"
型
1条答案
按热度按时间watbbzwu1#
给定以下测试目录布局
字符串
测试定义文件的内容
第一个月
型
definition_files/def2.yaml
个型
以下
test.yaml
行动手册型
提供:
型
最新的测试是使用以下ansible版本进行的:
型