changed: "false"
clusters:
ADC_CORE4:
hosts:
- name: "b125.abc.com"
folder: "/ADC_3C/host/ADC_CORE4"
enable_ha: "true"
ha_failover_level: "2"
resource_summary:
cpuCapacityMHz: "2183328"
cpuUsedMHz: "71374"
moid: "test"
datacenter: "ADC_AI"
从这个 yaml 输出中,我需要获取变量中的数据中心值。但是 ADC_CORE4 值不稳定,当集群发生变化时,它会随着我获得的每个输出而变化。我喜欢从这个输出中获取数据中心值并尝试在虚拟机部署中使用它。
假设您的示例 YAML 数据是变量
myvariable
的内容,您可以像这样获取 datacenter
值:
(myvariable.clusters.values()|list).0.datacenter
values()
方法返回值列表;由于只有一个值,我们只需获取列表中的第一项,然后请求 datacenter
属性。
例如:
- hosts: localhost
gather_facts: false
vars:
myvariable:
changed: "false"
clusters:
ADC_CORE4:
hosts:
- name: "b125.abc.com"
folder: "/ADC_3C/host/ADC_CORE4"
enable_ha: "true"
ha_failover_level: "2"
resource_summary:
cpuCapacityMHz: "2183328"
cpuUsedMHz: "71374"
moid: "test"
datacenter: "ADC_AI"
tasks:
- debug:
msg: "datacenter: {{ (myvariable.clusters.values()|list).0.datacenter }}"