【发布时间】:2019-05-31 06:03:58
【问题描述】:
我需要创建一个单一的 ansible playbook,它将遍历单个目录中的多个 vars 文件,并在 rest API POST 中单独使用每个配置。
理想情况下,使用以下 vars 文件...
/my/vars/dir
- my_pen.yml
pen:
color: "blue"
- her_pen.yml
pen:
color: "red"
- his_pen.yml
pen:
color: "green"
...我的剧本将为每支笔执行一个 POST。不幸的是,所有文件都包含相同对象类型的配置,因此 include_vars 任务只会保留“his_pen”的配置。
我已经能够使用 find 获得目录中所有文件的列表:
- name: "find config files"
find:
paths: /path/to/config/files
patterns: '*.yml'
register: config_files
我有一个可以做 POST 的任务:
- name: Do post
uri:
url: "{{ rest_api_endpoint }}"
method: POST
user: "{{ username }}"
password: "{{ password }}"
body: "{{ pen }}"
body_format: json
return_content: yes
status_code: 200
register: post_result
现在我只需要将两者融合。这可能吗?我无法更改文件结构,所以我必须使用现有的。
想法?
【问题讨论】:
标签: ansible