Note
This plugin is part of the community.mongodb collection.
To install it use: ansible-galaxy collection install community.mongodb
.
To use it in a playbook, specify: community.mongodb.mongodb_index
.
New in version 1.0.0: of community.mongodb
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
auth_mechanism string |
| Authentication type. |
connection_options list / elements=raw | Additional connection options. Supply as a list of dicts or strings containing key value pairs seperated with '='. | |
indexes list / elements=raw / required | List of indexes to create or drop | |
login_database string | Default: "admin" | The database where login credentials are stored. |
login_host string | Default: "localhost" | The host running MongoDB instance to login to. |
login_password string | The password used to authenticate with. Required when login_user is specified. | |
login_port integer | Default: 27017 | The MongoDB server port to login to. |
login_user string | The MongoDB user to login with. Required when login_password is specified. | |
ssl boolean |
| Whether to use an SSL connection when connecting to the database. |
ssl_ca_certs string | The ssl_ca_certs option takes a path to a CA file. | |
ssl_cert_reqs string |
| Specifies whether a certificate is required from the other side of the connection, and whether it will be validated if provided. |
ssl_certfile string | Present a client certificate using the ssl_certfile option. | |
ssl_crlfile string | The ssl_crlfile option takes a path to a CRL file. | |
ssl_keyfile string | Private key for the client certificate. | |
ssl_pem_passphrase string | Passphrase to decrypt encrypted private keys. |
Note
- 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: index_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
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
changed boolean | When the module has changed something. | Indicates the module has changed something. |
failed boolean | When the module has encountered an error. | Indicates the module has failed. |
indexes_created list / elements=string | always | List of indexes created. Sample: ['myindex', 'myindex2'] |
indexes_dropped list / elements=string | always | List of indexes dropped. Sample: ['myindex', 'myindex2'] |
© 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_index_module.html