[英]how to read all lines from a file in ansible playbook
我有一個名為 packages.txt 的文件,其中包含一個包列表。 我必須通過我的 ansible 文件 rpm.yml 閱讀 package.txt 的每一行。 這是我的代碼
- hosts: myhost
tasks:
- name: RPM Filter
theforeman.foreman.content_view_filter:
username: "admin"
password: "admin"
server_url: "myhost"
name: "rpm filter"
organization: "myorg"
content_view: "My content view"
filter_type: "rpm"
package_name: "{{ item }}"
inclusion: True
loop:
- packages.txt
我的 packages.txt 包含這些
open-ssh
nginx
grafana
vim
任何幫助,將不勝感激
查詢線路插件。 例如
- debug:
var: item
loop: "{{ query('lines', 'cat packages.txt') }}"
給出(刪節)
item: open-ssh
item: nginx
item: grafana
item: vim
查看有關插件的詳細信息
shell> ansible-doc -t lookup lines
您將需要一個額外的任務來讀取文件。 最簡單的方法是cat
文件並register
到變量中。 然后這個變量可以用於下一個任務。
就像是:
- name: get contents of package.txt
command: "cat packages.txt"
register: _packages
- name: RPM Filter
theforeman.foreman.content_view_filter:
username: "admin"
password: "admin"
server_url: "myhost"
name: "rpm filter"
organization: "myorg"
content_view: "My content view"
filter_type: "rpm"
package_name: "{{ item }}"
inclusion: True
loop: "{{ _packages.stdout_lines }}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.