我通过多级 yaml 找到了一些 ansible 循环示例,但是,我似乎无法再深入一层。我有一个要在 xenserver 池上创建的机器或虚拟机列表,我需要选择主机名、CPU 数量等。#Requires ansible dev version 2.8. 2.8 will be release summer 2019.- hosts: xenservers vars: Machines: Connectors: Connector1: hostname: CCConn-0001 num_cpus: 4 num_cpu_cores_per_socket: 2 memory_mb: 8192 Connector2: hostname: CCConn-0002 num_cpus: 4 num_cpu_cores_per_socket: 2 memory_mb: 8192 #Storefronts: # Storefront1: # hostname: SFPrinci-0001 # num_cpus: 4 # num_cpu_cores_per_socket: 2 # memory_mb: 8192 tasks: # - name: Create VMs from a template # xenserver_guest: # hostname: 10.8.47.11 # username: # password: # validate_certs: no # #folder: /home/testvms # name: '{{Need a hostname here}}' # state: poweredon # template: W2K16_RTM_64_EN_ans # disks: # - size_gb: 100 # name: '' # sr: XenRTVol # linked_clone: yes # hardware: # num_cpus: 'Need number of cpus here' # num_cpu_cores_per_socket: 'Need cores per socket here' # memory_mb: 'Need memory here' # cdrom: # type: iso # iso_name: guest-tools.iso # networks: # - name: vlan40 # wait_for_ip_address: no # delegate_to: localhost # register: deploy # with_subelements: '{{Machines}}' - name: debug: msg: "{{ item.key }} - {{ item.value }}" loop: "{{ Machines | dict2items }}"我一直在玩 dict2items,但是,我不知道如何获得我需要低一级的值。如果这是有道理的。
2 回答

慕丝7291255
TA贡献1859条经验 获得超6个赞
Python 嵌套字典查找可以按如下方式完成:
# Create test dictionary
test_dict = {'level_one': {'level_two': 'test'}}
# Print the nested value
print(test_dict['level_one']['level_two'])
添加回答
举报
0/150
提交
取消