community.mongodb.mongodb_index – Создаёт или удаляет индексы в коллекциях MongoDB.
Примечание
Этот плагин входит в состав коллекции community.mongodb (версия 1.2.0).
Для его установки используйте: ansible-galaxy collection install community.mongodb.
Чтобы использовать его в книге задач, укажите: community.mongodb.mongodb_index.
Добавлен в версии 1.0.0: плагина community.mongodb
Описание
- Создаёт или удаляет индексы в коллекциях MongoDB.
- Поддерживает несколько вариантов индексов, например, уникальные, разреженные и частичные.
- Проверяет существование индексов только по имени.
Требования
Ниже перечислены требования, необходимые на узле, на котором выполняется этот модуль.
- pymongo
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth_mechanism строка |
| Тип аутентификации. |
| connection_options список / элементы=сырые | Дополнительные параметры подключения. Указывать в виде списка словарей или строк, содержащих пары ключ-значение, разделенные знаком «=». | |
| indexes список / элементы=сырые / обязательно | Список индексов для создания или удаления | |
| login_database строка | Значение по умолчанию: "admin" | База данных, в которой хранятся учетные данные для входа. |
| login_host строка | Значение по умолчанию: "localhost" | Хост, на котором работает экземпляр MongoDB, для входа. |
| login_password строка | Пароль для аутентификации. Требуется, когда указан параметр login_user. | |
| login_port целое число | Значение по умолчанию: 27017 | Порт сервера MongoDB для входа. |
| login_user строка | Пользователь MongoDB для входа. Требуется, когда указан параметр login_password. | |
| replica_set строка | Реплицируемый набор для подключения (автоматически подключается к первичному для записи). | |
| ssl логическое |
| Использовать ли SSL-соединение при подключении к базе данных. |
| ssl_ca_certs строка | Параметр ssl_ca_certs принимает путь к файлу CA. | |
| ssl_cert_reqs строка |
| Указывает, требуется ли сертификат от другой стороны соединения и будет ли он проверен, если предоставлен. |
| ssl_certfile строка | Предоставить сертификат клиента с помощью параметра ssl_certfile. | |
| ssl_crlfile строка | Параметр ssl_crlfile принимает путь к файлу CRL. | |
| ssl_keyfile строка | Приватный ключ для сертификата клиента. | |
| ssl_pem_passphrase строка | Пароль для расшифровки зашифрованных приватных ключей. |
Примечания
Примечание
- Требуется пакет pymongo Python на удалённом хосте, версия 2.4.2+.
Примеры
- name: Create a single index on a collection
community.mongodb.mongodb_index:
login_user: admin
login_password: secret
indexes:
- database: mydb
collection: test
keys:
- username: 1
last_login: -1
options:
name: myindex
state: present
- name: Drop an index on a collection
community.mongodb.mongodb_index:
login_user: admin
login_password: secret
indexes:
- database: mydb
collection: test
options:
name: myindex
state: absent
- name: Create multiple indexes
community.mongodb.mongodb_index:
login_user: admin
login_password: secret
indexes:
- database: mydb
collection: test
keys:
- username: 1
last_login: -1
options:
name: myindex
state: present
- database: mydb
collection: test
keys:
- email: 1
last_login: -1
options:
name: myindex2
state: present
- name: Add a unique index
community.mongodb.mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "rhys"
keys:
username: 1
options:
name: myuniqueindex
unique: true
state: present
- name: Add a ttl index
community.mongodb.mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "rhys"
keys:
created: 1
options:
name: myttlindex
expireAfterSeconds: 3600
state: present
- name: Add a sparse index
community.mongodb.mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "rhys"
keys:
last_login: -1
options:
name: mysparseindex
sparse: true
state: present
- name: Add a partial index
community.mongodb.mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "rhys"
keys:
last_login: -1
options:
name: mypartialindex
partialFilterExpression:
rating:
$gt: 5
state: present
- name: Add a index in the background (background option is deprecated from 4.2+)
community.mongodb.mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "rhys"
options:
name: idxbackground
keys:
username: -1
backgroud: true
state: present
- name: Check creating 5 index all with multiple options specified
community.mongodb.mongodb_index:
login_port: 27017
login_user: admin
login_password: secret
login_database: "admin"
indexes:
- database: "test"
collection: "indextest"
options:
name: "idx_unq_username"
unique: true
keys:
username: -1
state: present
- database: "test"
collection: "indextest"
options:
name: "idx_last_login"
sparse: true
keys:
last_login: -1
state: present
- database: "test"
collection: "indextest"
options:
name: "myindex"
keys:
first_name: 1
last_name: -1
city: 1
state: present
- database: "test"
collection: partialtest
options:
name: "idx_partialtest"
partialFilterExpression:
rating:
$gt: 5
keys:
rating: -1
title: 1
state: present
- database: "test"
collection: "wideindex"
options:
name: "mywideindex"
keys:
email: -1
username: 1
first_name: 1
last_name: 1
dob: -1
city: 1
last_login: -1
review_count: 1
rating_count: 1
last_post: -1
state: present
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| changed логическое | Когда модуль что-то изменил. | Указывает, что модуль что-то изменил. |
| failed логическое | Когда модуль столкнулся с ошибкой. | Указывает, что модуль завершился с ошибкой. |
| indexes_created список / элементы=строка | всегда | Список созданных индексов. Пример: ['myindex', 'myindex2'] |
| indexes_dropped список / элементы=строка | всегда | Список удалённых индексов. Пример: ['myindex', 'myindex2'] |
Авторы
- Rhys Campbell (@rhysmeister)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/mongodb/mongodb_index_module.html