小编Tod*_*wis的帖子

ansible 扁平化地图过滤结果

我正在使用 Ansible 的地图过滤器来提取数据,但输出是一个列表列表;我需要的是一个扁平化的列表。下面的“energy.yml”剧本说明了我最接近的情况。调用为

ansible-playbook ./energy.yml --extra-vars='src=solar'

---
- hosts: localhost
  vars:
    region: [ 'east', 'west' ]
    sources:   
      wind:
        east:
          filenames:
            - noreaster.txt
            - gusts.txt
            - drafty.txt
        west:
          filenames:
            - zephyr.txt
            - jetstream.txt
      solar:
        east:
          filenames:
            - sunny.txt
            - cloudy.txt
        west:
          filenames:
            - blazing.txt
            - frybaby.txt
            - skynuke.txt
    src: wind
  tasks:
  - name: Do the {{ src }} data
    debug:
      msg: "tweak file '/energy/{{src}}/{{ item[0] }}/{{ item[1] }}'."
    with_nested:
      - "{{ region }}"
      - "{{ 
            (region|map('extract',sources[src],'filenames')|list)[0] +
            (region|map('extract',sources[src],'filenames')|list)[1]
         }}"
    when: "item[1] …
Run Code Online (Sandbox Code Playgroud)

dictionary jinja2 ansible

2
推荐指数
1
解决办法
2725
查看次数

标签 统计

ansible ×1

dictionary ×1

jinja2 ×1