参数化ansible任务包括-';参数未定义';

参数化ansible任务包括-';参数未定义';,ansible,ansible-playbook,Ansible,Ansible Playbook,我在使用参数化ansible include时遇到问题 我创建了以下文件,名为tasks/haproxy.xml 我将此文件包括在playbook.yml中,传递状态参数的值 - include: tasks/haproxy.yml state=enabled 我得到以下错误 TASK [include] ***************************************************************** included: /home/bb/tasks/ha

我在使用参数化ansible include时遇到问题

我创建了以下文件,名为tasks/haproxy.xml

我将此文件包括在playbook.yml中,传递状态参数的值

  - include: tasks/haproxy.yml state=enabled
我得到以下错误

TASK [include] *****************************************************************
included: /home/bb/tasks/haproxy.yml for 172.16.224.68, 172.16.224.69
ERROR! 'state' is undefined
state是我的参数,在执行include时传递(如中所述) 怎么了

我使用的是Ansible 2.0.2.0

编辑: 使用替代语法传递参数

 - include: tasks/haproxy.yml
    vars:
     state: enabled

给出完全相同的错误消息。

在使用替代语法(
vars
)时,通过删除单个前导空格(!!)解决

所以正确的参数化包含是必要的

 - include: tasks/haproxy.yml
   vars:
    state: enabled
vars
关键字必须与
include
关键字处于同一级别。 否则它将不工作,并显示消息
ERROR!'“状态”未定义


缩短的语法(
-include:tasks/haproxy.yml state=enabled
)仍然不起作用。

使用链接文档中描述的可选(
vars
)语法是否会得到相同的结果?vars语法会给出相同的错误消息。引用“enabled”如何?我正在尝试执行“playbook include”而不是“task include”这似乎不支持变量的传递?
 - include: tasks/haproxy.yml
   vars:
    state: enabled