Ansible apt模块 - “模块不支持的参数:”name“

时间:2016-10-12 19:53:21

标签: ansible

Ansible版本2.1.2.0(自制软件,macOS - 删除了以前的任何版本)

ansible myserver -m apt -a “name=backup2l,state=present” --ask-pass

返回此错误:

myserver | FAILED! => {
    "changed": false,
    "failed": true,
    "msg": "unsupported parameter for module: “name"
}

根据the examples,这似乎是正确的语法:

# Install the package "foo"
- apt: name=foo state=present

我尝试用单引号包装namestate的值,也使用参数之间的空格(它不喜欢它 - “ERROR!Missing target hosts”)。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

ansible参数由空格分隔,如命令行,而不是函数调用。

尝试:

ansible myserver -m apt -a “name=backup2l state=present” --ask-pass

答案 1 :(得分:0)

由于使用了“智能引号”而不是"常规引号",这是因为首先在我的笔记应用程序中输入命令然后复制并粘贴到iTerm中。

注意:您收到的错误消息取决于您尝试执行的操作 - 如果您使用-a运行单个命令,Ansible会说"没有此类文件或目录"

Mac用户解决方案:

系统偏好设置>键盘>文字>取消选中"使用智能引号和短划线"。

如果您愿意,可以投票:iTerm2 feature request