Модуль community.mongodb.mongodb_shell — выполнение команд через оболочку MongoDB.
Примечание
Этот модуль входит в коллекцию community.mongodb (версия 1.7.12).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.mongodb. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.mongodb.mongodb_shell.
Добавлено в community.mongodb 1.1.0
Краткое описание
- Выполнение команд через оболочку MongoDB.
- Команды задаются параметром eval или указываются в файле Javascript.
- Предпринимаются попытки преобразовать возвращаемые данные в формат, пригодный для использования в Ansible.
- По умолчанию модуль использует оболочку mongosh.
- Поддержка mongo устарела.
Требования
На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.
- mongosh
Параметры
Параметр | Комментарии |
|---|---|
additional_args any | Дополнительные аргументы, передаваемые команде mongo. Указывайте их в виде пар ключ-значение. Если параметр является флагом без значения, укажите в качестве значения пустую строку. |
atlas_auth boolean | Способ аутентификации, предназначенный для экземпляров MongoDB Atlas Варианты:
|
auth_mechanism string | Тип аутентификации. Варианты:
|
connection_options list / elements=any | Дополнительные параметры подключения. Указывайте их в виде списка словарей или строк с парами ключ-значение, разделёнными символом «=». |
db string | База данных, для которой выполняются команды По умолчанию: |
debug boolean | Показывать дополнительную отладочную информацию. Варианты:
|
eval string | Команда MongoDB для выполнения. |
file string | Путь к файлу, содержащему команды MongoDB. |
idempotent boolean | Обеспечивает модулю подобие идемпотентности. Вычисляется хеш содержимого параметра eval или имени файла, указанного в параметре file. При первом выполнении команды создаётся файл с именем <hash>.success. Если этот файл существует и для idempotent задано значение true, модуль не будет повторно выполнять команду. Варианты:
|
login_database string | База данных, в которой хранятся учётные данные для входа. По умолчанию: |
login_host string | Хост с экземпляром MongoDB, к которому выполняется подключение. По умолчанию: |
login_password string | Пароль для аутентификации. Обязателен, если указан login_user. |
login_port integer | Порт сервера MongoDB, к которому выполняется подключение. По умолчанию: |
login_user string | Пользователь MongoDB для входа. Обязателен, если указан login_password. |
mongo_cmd string | Команда оболочки MongoDB. auto — автоматически определять используемую команду оболочки MongoDB. Если доступна команда «mongosh», использовать её; в противном случае использовать команду «mongo». mongo — в большинстве случаев этот вариант всё ещё должен работать, но могут возникнуть проблемы с разбором JSON. Если столкнётесь с проблемами, используйте transform_type со значением «raw». По умолчанию: |
nodb boolean | Указать кодировку вывода, отличную от используемой по умолчанию. Варианты:
|
norc boolean | Запрещает оболочке загружать и выполнять ~/.mongorc.js при запуске. Варианты:
|
omit list / elements=string | Параметры, которые следует исключить из командной строки. Здесь следует указывать имена параметров, принимаемые оболочкой MongoDB, а не имена параметров модуля. По умолчанию: |
quiet boolean | Отключает вывод сообщений оболочки во время подключения. Варианты:
|
split_char string | Используется действием split на этапе преобразования. По умолчанию: |
ssl псевдонимы: tls boolean | Использовать ли SSL-подключение при подключении к базе данных. Варианты:
|
ssl_ca_certs псевдонимы: tlsCAFile string | Параметр ssl_ca_certs принимает путь к файлу CA. |
ssl_cert_reqs псевдонимы: tlsAllowInvalidCertificates string | Определяет, требуется ли сертификат от другой стороны соединения и следует ли проверять его, если он предоставлен. Варианты:
|
ssl_certfile псевдонимы: tlsCertificateKeyFile string | Предоставить сертификат клиента с помощью параметра ssl_certfile. |
ssl_crlfile string | Параметр ssl_crlfile принимает путь к файлу CRL. |
ssl_keyfile string | Закрытый ключ сертификата клиента. |
ssl_pem_passphrase псевдонимы: tlsCertificateKeyFilePassword string | Парольная фраза для расшифровки зашифрованных закрытых ключей. |
strict_compatibility boolean | Строго проверять требования к версиям pymongo и программного обеспечения MongoDB Варианты:
|
stringify boolean | Оборачивает команду в eval в JSON.stringify(<js cmd>) (mongo) или EJSON.stringify(<js cmd>) (mongosh). Полезно для экранирования документов, возвращаемых в формате Extended JSON. Автоматически устанавливается в false при использовании mongo. Автоматически устанавливается в true при использовании mongosh. Задайте значение явно, чтобы переопределить автоматический выбор. Варианты:
|
transform string | Преобразовать вывод, возвращаемый пользователю. auto — попытаться автоматически выбрать оптимальный способ преобразования. split — разделить вывод по символу. json — разобрать как JSON. raw — вернуть необработанный вывод. Варианты:
|
Примеры
- 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 with pseudo-idempotency
community.mongodb.mongodb_shell:
login_user: user
login_password: secret
file: "/path/to/mongo/file.js"
idempotent: yes
- 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 | Необработанный stderr от mongo. Возвращается: если для debug задано значение true |
failed boolean | Произошла ошибка. Возвращается: при сбое |
file string | JS-файл, успешно выполненный модулем. Возвращается: если используется js-файл. |
msg string | Сообщение с описанием произошедшего. Возвращается: всегда |
out string | Необработанный stdout от mongo. Возвращается: если для debug задано значение true |
rc integer | Код возврата mongo. Возвращается: если для debug задано значение true |
transformed_output list / elements=string | Вывод команды mongo. По возможности выполняется попытка преобразовать его в список или JSON. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/mongodb/mongodb_shell_module.html