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

如何通过动态键遍历Ansible中VMware DVPG结果获取portgroup_name

Ansible批量获取DVPG所有portgroup_name的方法

针对community.vmware.vmware_dvs_portgroup_info模块返回的dvs_portgroup_info字典(含动态键),可以用两种方法批量提取所有portgroup_name:

方法一:通过loop遍历字典值合并列表

利用loop遍历字典的所有值(每个值对应包含portgroup信息的数组),逐个提取portgroup_name并合并到统一列表:

- name: 批量提取所有DVPG的portgroup_name
  set_fact:
    all_portgroup_names: "{{ all_portgroup_names | default([]) + item | map(attribute='portgroup_name') | list }}"
  loop: "{{ dvpg_var.dvs_portgroup_info.values() }}"

方法二:用json_query一次性提取(更简洁)

先通过dict2items把字典转成键值对列表,再用json_query直接筛选出所有portgroup_name:

- name: 用json_query批量提取portgroup_name
  set_fact:
    all_portgroup_names: "{{ dvpg_var.dvs_portgroup_info | dict2items | json_query('[].value[].portgroup_name') }}"

验证结果

可以用debug模块查看提取到的所有portgroup名称:

- name: 打印所有portgroup_name
  debug:
    var: all_portgroup_names

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 13:52:05