gpt4 book ai didi

ansible with_items 从外部文件传递变量

转载 作者:行者123 更新时间:2023-12-02 14:14:33 24 4
gpt4 key购买 nike

我只想传递 yml 文件中的 rpm 包列表,并在我的任务中的 with_items 中调用它。yml 文件应该是什么格式。请帮我。我用谷歌搜索了很多,仍然很困惑。我需要实现这样我就可以只更改外部文件中的包名称,而不更改主文件。

例如:files.yaml

---
- vars:
modules:
- firmware-system-p89-2.56_2018_01_22-1.1.i386.rpm
- firmware-smartarray-ea3138d8e8-6.30-1.1.x86_64.rpm

=> 传递到另一个文件中的 with_items

---
- name: List required packages
include_vars:
-files.yml
set_fact: pkglist="{{ item}}"
with_items:
- "{{ modules }}"
register: pkglist_result


Comment:

非常感谢。这有帮助。我这样做就是为了最终完成。我没有尝试正确。但我只在 files.yml 中提到了包的名称,并将真正的包放置在tasks目录所在的files目录中。

- name: List required packages
include_vars: files.yml
register: pkglist_result

- name: make a list
set_fact: pkg_list="{{ pkglist_result.ansible_facts.modules}}"

- debug: var=pkg_list

最佳答案

files.yml:

---
modules:
- firmware-system-p89-2.56_2018_01_22-1.1.i386.rpm
- firmware-smartarray-ea3138d8e8-6.30-1.1.x86_64.rpm

示例剧本:

---
- hosts: my_hosts
vars_files:
- files.yml
tasks:
- name: print module name one by one
debug:
msg: "{{ item }}"
with_items: "{{ modules }}"

关于ansible with_items 从外部文件传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49869323/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com