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

Ansible vmware_vm_inventory清单插件获取首个连接网络名的正确写法

问题原因

vmware_vm_inventory 插件的 properties 配置项仅支持传入 vSphere API 返回的原生属性名,不支持直接通过数组下标、多级点索引语法直接提取数组内的嵌套字段,你尝试填写的 guest.net.0.network、guest.net[0].network 均不符合该参数的格式要求,因此配置校验失败直接返回帮助信息。

正确配置方法

不需要修改 properties 中的 guest.net 配置,通过插件自带的 keyed_groups 或 compose 配置项就可以实现首个网卡网络名的提取、分组需求:

  1. 保留 properties 中的 guest.net 配置,拉取完整的网卡数组属性
  2. 新增分组/变量提取规则,直接通过Jinja2语法访问首个网卡的network字段

完整配置示例

plugin: vmware_vm_inventory
strict: False
hostname: 10.10.10.1
username: user
password: password
validate_certs: False
with_tags: False
hostnames:
  - config.name
properties:
- 'config.name'
- 'config.guestId'
- 'guest.ipAddress'
- 'guest.net'
- 'summary.runtime.powerState'
# 新增:基于首个网卡网络名自动分组
keyed_groups:
  - prefix: vm_net
    key: guest.net[0].network
# 可选:把首个网络名单独提取为顶级主机变量
compose:
  first_nic_network: guest.net[0].network

配置完成后执行ansible-inventory --list即可看到所有主机会按照首个网卡的网络名自动分到vm_net_<网络名>的分组下,也可以通过first_nic_network变量直接调用首个网卡的网络名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:36:02