Модуль Ansible apt — неподдерживаемый параметр для модуля: «имя

Ansible версии 2.1.2.0 (homebrew, macOS — все предыдущие версии удалены)

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

возвращает эту ошибку:

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

Это кажется правильным синтаксисом в соответствии с примерами:

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

Я пробовал заключить значения для name и state в одинарные кавычки, также используя пробел между параметрами (это не нравится — «ОШИБКА! Отсутствуют целевые хосты»).

Любые идеи?


person William Turrell    schedule 12.10.2016    source источник


Ответы (2)


Необязательные аргументы разделяются пробелами, как командная строка, а не вызов функции.

Пытаться:

ansible myserver -m apt -a “name=backup2l state=present” --ask-pass
person Allen Buck    schedule 12.10.2016
comment
Это была проблема с цитатой. Спасибо, в любом случае. - person William Turrell; 13.10.2016

Из-за использования умных кавычек, а не «обычных кавычек», что было вызвано вводом команды в моем приложении для заметок, а затем копированием и вставкой в ​​​​iTerm.

NB: сообщение об ошибке, которое вы получаете, зависит от того, что вы пытаетесь сделать — если вы запускаете одну команду с -a, Ansible скажет «Нет такого файла или каталога».

Решение для пользователей Mac:

Системные настройки> Клавиатура> Текст> снимите флажок «Использовать умные кавычки и тире».

Если хотите, проголосуйте за: запрос функции iTerm2

person William Turrell    schedule 12.10.2016