Spec-Zone.ru › Ansible

Модуль 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

Варианты:

  • false ← (по умолчанию)
  • true

auth_mechanism

string

Тип аутентификации.

Варианты:

  • "SCRAM-SHA-256"
  • "SCRAM-SHA-1"
  • "MONGODB-X509"
  • "GSSAPI"
  • "PLAIN"

connection_options

list / elements=any

Дополнительные параметры подключения.

Указывайте их в виде списка словарей или строк с парами ключ-значение, разделёнными символом «=».

db

string

База данных, для которой выполняются команды

По умолчанию: "test"

debug

boolean

Показывать дополнительную отладочную информацию.

Варианты:

  • false ← (по умолчанию)
  • true

eval

string

Команда MongoDB для выполнения.

file

string

Путь к файлу, содержащему команды MongoDB.

idempotent

boolean

Обеспечивает модулю подобие идемпотентности.

Вычисляется хеш содержимого параметра eval или имени файла, указанного в параметре file.

При первом выполнении команды создаётся файл с именем <hash>.success.

Если этот файл существует и для idempotent задано значение true, модуль не будет повторно выполнять команду.

Варианты:

  • false ← (по умолчанию)
  • true

login_database

string

База данных, в которой хранятся учётные данные для входа.

По умолчанию: "admin"

login_host

string

Хост с экземпляром MongoDB, к которому выполняется подключение.

По умолчанию: "localhost"

login_password

string

Пароль для аутентификации.

Обязателен, если указан login_user.

login_port

integer

Порт сервера MongoDB, к которому выполняется подключение.

По умолчанию: 27017

login_user

string

Пользователь MongoDB для входа.

Обязателен, если указан login_password.

mongo_cmd

string

Команда оболочки MongoDB.

auto — автоматически определять используемую команду оболочки MongoDB. Если доступна команда «mongosh», использовать её; в противном случае использовать команду «mongo».

mongo — в большинстве случаев этот вариант всё ещё должен работать, но могут возникнуть проблемы с разбором JSON. Если столкнётесь с проблемами, используйте transform_type со значением «raw».

По умолчанию: "mongosh"

nodb

boolean

Указать кодировку вывода, отличную от используемой по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

norc

boolean

Запрещает оболочке загружать и выполнять ~/.mongorc.js при запуске.

Варианты:

  • false ← (по умолчанию)
  • true

omit

list / elements=string

Параметры, которые следует исключить из командной строки.

Здесь следует указывать имена параметров, принимаемые оболочкой MongoDB, а не имена параметров модуля.

По умолчанию: []

quiet

boolean

Отключает вывод сообщений оболочки во время подключения.

Варианты:

  • false
  • true ← (по умолчанию)

split_char

string

Используется действием split на этапе преобразования.

По умолчанию: " "

ssl

псевдонимы: tls

boolean

Использовать ли SSL-подключение при подключении к базе данных.

Варианты:

  • false ← (по умолчанию)
  • true

ssl_ca_certs

псевдонимы: tlsCAFile

string

Параметр ssl_ca_certs принимает путь к файлу CA.

ssl_cert_reqs

псевдонимы: tlsAllowInvalidCertificates

string

Определяет, требуется ли сертификат от другой стороны соединения и следует ли проверять его, если он предоставлен.

Варианты:

  • "CERT_NONE"
  • "CERT_OPTIONAL"
  • "CERT_REQUIRED" ← (по умолчанию)

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

Варианты:

  • false
  • true ← (по умолчанию)

stringify

boolean

Оборачивает команду в eval в JSON.stringify(<js cmd>) (mongo) или EJSON.stringify(<js cmd>) (mongosh).

Полезно для экранирования документов, возвращаемых в формате Extended JSON.

Автоматически устанавливается в false при использовании mongo.

Автоматически устанавливается в true при использовании mongosh.

Задайте значение явно, чтобы переопределить автоматический выбор.

Варианты:

  • false
  • true

transform

string

Преобразовать вывод, возвращаемый пользователю.

auto — попытаться автоматически выбрать оптимальный способ преобразования.

split — разделить вывод по символу.

json — разобрать как JSON.

raw — вернуть необработанный вывод.

Варианты:

  • "auto" ← (по умолчанию)
  • "split"
  • "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.

Возвращается: при успешном выполнении

Авторы

  • Rhys Campbell (@rhysmeister)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API