community.mongodb.mongodb_schema 模块 – 管理 MongoDB 文档模式验证器。
注意
此模块是 community.mongodb 集合(版本 1.7.8)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。 它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.mongodb
。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:community.mongodb.mongodb_schema
。
community.mongodb 1.3.0 中的新增功能
概要
管理 MongoDB 文档模式验证器。
在集合上创建、更新和删除验证器。
支持 jsonSchema 关键字的全部范围。
有关详细信息,请参阅 [jsonSchema 可用关键字](https://docs.mongodb.com/manual/reference/operator/query/jsonSchema/#available-keywords)。
要求
执行此模块的主机上需要以下要求。
pymongo
参数
参数 |
注释 |
---|---|
MongoDB 在处理无效文档时执行的验证操作。 选择
|
|
用于 MongoDB Atlas 实例的身份验证路径 选择
|
|
身份验证类型。 选择
|
|
要使用的集合。 |
|
其他连接选项。 以字典列表或包含用“=”分隔的键值对的字符串列表的形式提供。 |
|
要使用的数据库。 |
|
启用其他调试输出。 选择
|
|
MongoDB 在更新现有文档时应应用的验证级别。 选择
|
|
存储登录凭据的数据库。 默认: |
|
要登录的运行 MongoDB 实例的主机。 默认: |
|
用于身份验证的密码。 当指定 login_user 时是必需的。 |
|
要登录的 MongoDB 服务器端口。 默认: |
|
用于登录的 MongoDB 用户。 当指定 login_password 时是必需的。 |
|
单独的属性规范。 默认: |
|
副本集名称。 |
|
必需字段的列表。 |
|
在连接到数据库时是否使用 SSL 连接。 选择
|
|
ssl_ca_certs 选项采用 CA 文件的路径。 |
|
指定是否需要来自连接另一端的证书,以及如果提供证书是否会对其进行验证。 选择
|
|
使用 ssl_certfile 选项提供客户端证书。 |
|
ssl_crlfile 选项采用 CRL 文件的路径。 |
|
客户端证书的私钥。 |
|
用于解密加密私钥的密码。 |
|
验证器的状态。 选择
|
|
强制执行 pymongo 和 MongoDB 软件版本的严格要求 选择
|
说明
注意
远程主机上需要 pymongo Python 包,版本 4+。
示例
---
- 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
返回值
常见的返回值记录在 此处,以下是此模块独有的字段
键 |
描述 |
---|---|
如果模块导致更改。 返回: 成功时 |
|
由模块调用指示的验证器文档。 返回: 当 debug 为 true 时 |
|
状态消息。 返回: 总是 |
|
从实例读取的验证器文档。 返回: 当 debug 为 true 时 |