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

Ansible中无法从列表筛选含GCC的元素问题求助

Ansible列表筛选错误解决:生成器对象转换问题

问题根源

select过滤器返回的是生成器迭代器,而非直接可用的列表,Ansible无法将这种迭代器作为变量值存储,因此抛出错误。

修正代码

- name: set route 
  set_fact: 
    route: "GCC"

- name: filter pool name
  set_fact:
    filtered_pool: "{{ pool | select('search', route) | list }}"

关键说明

  • 添加| list过滤器,把select返回的生成器转换为标准列表,此时filtered_pool会得到预期的匹配结果:["P-GCC.COM_443"]。
  • 若仅需简单子串匹配(而非正则),Ansible 2.10+版本可使用更直观的contains过滤器替代search:
    filtered_pool: "{{ pool | select('contains', route) | list }}"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 12:24:08