首页 > 解决方案 > 在 Ansible 任务中动态输出 YAML 列表

问题描述

我正在寻找一种在 Ansible 任务中动态输出 YAML 列表的方法。我正在查看 Jinja 模板,但 AFAIK 它创建了要部署的文件。所以我的用例是:确保一个或多个触发器win_sched_task基于一个包含一个列表的变量triggers

# main.yaml
- name: Create task with multiple triggers
  win_scheduled_task:
    name: TriggerTask
    path: \Custom
    actions:
    - path: cmd.exe
    triggers:
    {{ list_triggers }}
    username: SYSTEM

其中list_triggers是包含该任务的一个或多个触发器的列表:

# vars.yaml
list_triggers:
- type: daily
  start_boundary: '2020-04-28T09:00:00'
- type: daily
  start_boundary: '2020-04-28T19:00:00'

这给了我想要的输出:

- name: Create task with multiple triggers
  win_scheduled_task:
    name: TriggerTask
    path: \Custom
    actions:
    - path: cmd.exe
    triggers:
    - type: daily
      start_boundary: '2020-04-28T09:00:00'
    - type: daily
      start_boundary: '2020-04-28T19:00:00'
    username: SYSTEM

标签: ansible

解决方案


好吧,我想多了。它适用于:触发器:“{{ list_triggers }}”


推荐阅读