community.mongodb.mongodb_shell – Выполнение команд через MongoDB shell.
Примечание
Этот плагин входит в коллекцию community.mongodb (версия 1.1.1).
Для его установки используйте: ansible-galaxy collection install community.mongodb.
Чтобы использовать его в playbook, укажите: community.mongodb.mongodb_shell.
Описание
- Выполнение команд через MongoDB shell.
- Команды предоставляются с параметром eval или содержатся в файле Javascript.
- Попытка распарсить возвращаемые данные в формат, используемый Ansible.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- mongo
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| additional_args raw | Дополнительные аргументы для передачи команде mongo. Указывать в формате ключ-значение. Если параметр представляет собой флаг без значения, укажите пустую строку в качестве значения. | |
| db string | Значение по умолчанию: "test" | База данных для выполнения команд. |
| debug boolean |
| отображать дополнительную отладочную информацию. |
| eval string | Команда MongoDB для выполнения. | |
| file string | Путь к файлу, содержащему команды MongoDB. | |
| login_database string | Значение по умолчанию: "admin" | База данных, где хранятся учетные данные для входа. |
| login_host string | Значение по умолчанию: "localhost" | Хост, на котором работает экземпляр MongoDB для входа. |
| login_password string | Пароль, используемый для аутентификации. Требуется, когда указан login_user. | |
| login_port integer | Значение по умолчанию: 27017 | Порт сервера MongoDB для входа. |
| login_user string | Пользователь MongoDB для входа. Требуется, когда указан login_password. | |
| mongo_cmd string | Значение по умолчанию: "mongo" | Команда MongoDB shell. |
| nodb boolean |
| Указать кодировку вывода, отличную от стандартной. |
| norc boolean |
| Запрещает shell'у подключаться и оценивать ~/.mongorc.js при запуске. |
| quiet boolean |
| Заглушает вывод shell во время процесса подключения. |
| split_char string | Значение по умолчанию: " " | Используется действием split на стадии преобразования. |
| stringify boolean |
| Оборачивает команду в eval в JSON.stringify(<js cmd>). Полезно для экранирования документов, возвращаемых в формате Extended JSON. |
| transform string |
| Преобразовать возвращаемый пользователю вывод. авто - Попытка автоматически определить лучшее преобразование. разделить - Разбить вывод по символу. json - парсить как json. сырые - Вернуть исходный вывод. |
Примеры
- name: Run the listDatabases command
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
eval: "db.adminCommand('listDatabases')"
- name: List collections and stringify the output
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
eval: "db.adminCommand('listCollections')"
stringify: yes
- name: Run the showBuiltinRoles command
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
eval: "db.getRoles({showBuiltinRoles: true})"
- name: Run a js file containing MongoDB commands
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
file: "/path/to/mongo/file.js"
- name: Provide a couple of additional cmd args
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
eval: "db.adminCommand('listDatabases')"
additional_args:
verbose: True
networkMessageCompressors: "snappy"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| changed boolean | всегда | Статус изменения. |
| err string | при debug=true | Необработанная stderr от mongo. |
| failed boolean | при ошибке | Произошла ошибка. |
| file string | Когда используется js-файл. | JS-файл, который был успешно выполнен. |
| msg string | всегда | Сообщение, указывающее, что произошло. |
| out string | при debug=true | Необработанный stdout от mongo. |
| rc integer | при debug=true | Код возврата от mongo. |
| transformed_output list / elements=string | при успехе | Вывод от команды mongo. Мы пытаемся распарсить это в список или json, где это возможно. |
Авторы
- Rhys Campbell (@rhysmeister)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/mongodb/mongodb_shell_module.html