带_子元素的Ansible剧本
带有_子元素的Ansible playbook错误为3级 我的配置看起来像带_子元素的Ansible剧本,ansible,ansible-playbook,Ansible,Ansible Playbook,带有_子元素的Ansible playbook错误为3级 我的配置看起来像 --- Firstlevel: - fl_number: fln1 fl_data: fld1 Secondlevel: - sl_number: sln_f1_1 sl_data: sld_f1_1 Thirdlevel: - tl_number: tln_s1_f1_1 tl_data: tld_s1_f
---
Firstlevel:
- fl_number: fln1
fl_data: fld1
Secondlevel:
- sl_number: sln_f1_1
sl_data: sld_f1_1
Thirdlevel:
- tl_number: tln_s1_f1_1
tl_data: tld_s1_f1_1
- tl_number: tln_s2_f1_2
tl_data: tld_s2_f1_2
Ansible的剧本是
>cat test_threelevels.yml
---
- hosts: localhost
gather_facts: no
vars_files:
- ../vars/testConfig-var.yml
tasks:
- name: DebugWorks
debug: msg="{{ item.1.Thirdlevel }}"
with_subelements:
- Firstlevel
- Secondlevel
- name: DebugDoesNotWork
debug: msg=" Sub element Thirdlevel test"
with_subelements:
- Firstlevel
- Secondlevel
- Thirdlevel
当它以
ansible playbook-v测试三级.yml
任务“DebugWorks”工作,但任务“debugdoesnoworks”不工作
输出
任务:[调试不工作]******************************************************
致命:[localhost]=>子元素查找需要包含两个项目的列表,第一个是dict或列表,第二个是字符串
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
需要帮助了解这是否是正确的方法以及为什么不起作用
欢迎任何建议
谢谢。错误描述至少含糊地说明了它的意思。:) 准确地看到错误意味着这里<代码>术语是您传递的列表
if not isinstance(terms, list) or not 2 <= len(terms) <= 3:
如果不存在(术语、列表)或不存在2