Note
This plugin is part of the community.mongodb collection (version 1.3.1).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.mongodb
.
To use it in a playbook, specify: community.mongodb.mongodb_schema
.
New in version 1.3.0: of community.mongodb
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
action string |
| The validation action for MongoDB to perform when handling invalid documents. |
auth_mechanism string |
| Authentication type. |
collection string / required | The collection to work with. | |
connection_options list / elements=raw | Additional connection options. Supply as a list of dicts or strings containing key value pairs seperated with '='. | |
db string / required | The database to work with. | |
debug boolean |
| Enable additional debugging output. |
level string |
| The validation level MongoDB should apply when updating existing documents. |
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. | |
properties dictionary | Individual property specification. | |
required list / elements=string | List of fields that are required. | |
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. | |
state string |
| The state of the validator. |
Note
- name: Require that an email address field is in every document community.mongodb.mongodb_schema: db: "rhys" collection: "contacts" required: - "email" - name: More advanced example using properties community.mongodb.mongodb_schema: db: "rhys" collection: "contacts" state: "absent" - name: Test with debuging option - Without check mode community.mongodb.mongodb_schema: <<: *mongo_parameters db: "rhys" collection: "contacts" required: - "email" - "first_name" - "last_name" properties: status: bsonType: "string" enum: ["ACTIVE", "DISABLED"] description: "can only be ACTIVE or DISABLED" year: bsonType: "int" minimum: 2021 maximum: 3020 exclusiveMaximum: false description: "must be an integer from 2021 to 3020" options: bsonType: "array" maxItems: 10 minItems: 5 uniqueItems: yes email: maxLength: 150 minLength: 5
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
changed boolean | on success | If the module caused a change. |
module_config dictionary | when debug is true | The validator document as indicated by the module invocation. |
msg string | always | Status message. |
validator dictionary | when debug is true | The validator document as read from the instance. |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/mongodb/mongodb_schema_module.html