在Ansible中,可以使用type_debug
过滤器和when
条件语句来检查变量是否包含列表或字典。以下是一个示例解决方法:
- name: Check variable for list or dict
hosts: localhost
gather_facts: false
vars:
my_variable: [1, 2, 3] # 变量为列表
tasks:
- name: Debug variable type
debug:
msg: "Variable is a list"
when: my_variable | type_debug == 'list'
- name: Debug variable type
debug:
msg: "Variable is a dictionary"
when: my_variable | type_debug == 'dict'
在上面的示例中,my_variable
变量被定义为一个列表[1, 2, 3]
。首先,使用type_debug
过滤器来检查变量的类型。如果变量是列表,则输出"Variable is a list"。如果变量是字典,则输出"Variable is a dictionary"。
你可以根据需要修改my_variable
的值,并使用类似的方法来检查变量是否包含列表或字典。