On this page
community.mongodb.mongodb_schema – Manages MongoDB Document Schema Validators.
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
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.
Requirements
The below requirements are needed on the host that executes this module.
- pymongo
Parameters
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.
|
Notes
Note
- Requires the pymongo Python package on the remote host, version 2.4.2+.
Examples
- 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
Return Values
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.
|
Authors
- 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/latest/collections/community/mongodb/mongodb_schema_module.html