community.mongodb.mongodb_schema module – Manages MongoDB Document Schema Validators.
Note
This module is part of the community.mongodb collection (version 1.4.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
Synopsis
Manages MongoDB Document Schema Validators.
Create, update and remove Validators on a collection.
Supports the entire range of jsonSchema keywords.
See [jsonSchema Available Keywords](https://docs.mongodb.com/manual/reference/operator/query/jsonSchema/#available-keywords) for details.
Parameters
Parameter |
Comments |
---|---|
The validation action for MongoDB to perform when handling invalid documents. Choices:
|
|
Authentication type. Choices:
|
|
The collection to work with. |
|
Additional connection options. Supply as a list of dicts or strings containing key value pairs seperated with ‘=’. |
|
The database to work with. |
|
Enable additional debugging output. Choices:
|
|
The validation level MongoDB should apply when updating existing documents. Choices:
|
|
The database where login credentials are stored. Default: “admin” |
|
The host running MongoDB instance to login to. Default: “localhost” |
|
The password used to authenticate with. Required when login_user is specified. |
|
The MongoDB server port to login to. Default: 27017 |
|
The MongoDB user to login with. Required when login_password is specified. |
|
Individual property specification. |
|
Replicaset name. |
|
List of fields that are required. |
|
Whether to use an SSL connection when connecting to the database. Choices:
|
|
The ssl_ca_certs option takes a path to a CA file. |
|
Specifies whether a certificate is required from the other side of the connection, and whether it will be validated if provided. Choices:
|
|
Present a client certificate using the ssl_certfile option. |
|
The ssl_crlfile option takes a path to a CRL file. |
|
Private key for the client certificate. |
|
Passphrase to decrypt encrypted private keys. |
|
The state of the validator. Choices:
|
|
Enforce strict requirements for pymongo and MongoDB software versions Choices:
|
Examples
---
- name: Require that an email address field is in every document
community.mongodb.mongodb_schema:
collection: contacts
db: rhys
required:
- email
- name: Remove a schema rule
community.mongodb.mongodb_schema:
collection: contacts
db: rhys
state: absent
- name: More advanced example using properties
community.mongodb.mongodb_schema:
collection: contacts
db: rhys
properties:
email:
maxLength: 150
minLength: 5
options:
bsonType: array
maxItems: 10
minItems: 5
uniqueItems: true
status:
bsonType: string
description: "can only be ACTIVE or DISABLED"
enum:
- ACTIVE
- DISABLED
year:
bsonType: int
description: "must be an integer from 2021 to 3020"
exclusiveMaximum: false
maximum: 3020
minimum: 2021
required:
- email
- first_name
- last_name
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
If the module caused a change. Returned: on success |
|
The validator document as indicated by the module invocation. Returned: when debug is true |
|
Status message. Returned: always |
|
The validator document as read from the instance. Returned: when debug is true |
Authors
Rhys Campbell (@rhysmeister)