You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Ansible任务仅执行一次并传递整个列表参数?

解决Ansible任务仅执行一次并传递整个列表参数的问题

直接将完整列表赋值给some_attribute即可,不需要使用loop——你的需求是一次性传递整个列表,而非遍历列表逐个执行任务。

正确写法

- name: Create something that has an attribute with more than one values
  some_module:
    some_attribute:
      - a
      - b
  run_once: true

如果列表是通过变量定义的,直接引用变量即可:

- name: Create something with list variable
  some_module:
    some_attribute: "{{ my_list_variable }}"
  run_once: true

原写法问题说明

你之前用loop配合run_once的写法会执行两次,是因为run_once的作用范围是每个循环迭代,而非整个任务。循环里的每个item都会触发一次带run_once: true的任务执行,最终变成两次独立的任务调用。

内容的提问来源于stack exchange,提问作者reisub83

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:05:55