Docs 菜单
Docs 主页
/
MongoDB Cloud Manager
/ / /

更新一个项目的功能策略

在此页面上

  • 所需角色
  • Resource
  • 请求路径参数
  • 请求查询参数
  • 请求正文参数
  • 响应
  • 请求示例
  • 响应示例
  • 响应标头
  • 响应体

基本 URL: https://cloud.mongodb.com/api/public/v 1.0

此资源需要 Project Owner

PUT /groups/{PROJECT-ID}/controlledFeature

重要

您必须包含要包含和维护的每项策略。 此资源将覆盖任何现有策略。 如果在使用此资源时省略策略,则更新后不会执行该策略。该政策已被删除。

名称
类型
必要性
说明
PROJECT-ID
字符串
必需
具有受控功能的项目的唯一标识符。

以下查询参数为可选参数:

名称
类型
说明
默认
pageNum
整型
页码(从 1 开始)。
1
itemsPerPage
整型
每页要返回的项目数,最多 500 个。
100
pretty
布尔
false
envelope
布尔

指示是否要将响应封装在信封中。

某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,在查询中设置 "envelope" : true

对于返回一个结果的终结点,响应体包括:

名称
说明
status
HTTP 响应代码
content
预期响应正文

对于返回结果列表的端点,results 对象是一个信封。Cloud Manager 将 status 字段添加到响应正文。

名称
类型
说明
externalManagementSystem
对象
识别托管此 Ops Manager 项目的外部系统的参数。
externalManagementSystem
.name
字符串
托管此 Ops Manager 项目的外部系统的标识标签。
externalManagementSystem
.systemId
字符串
托管此 Ops Manager 项目的外部系统的唯一标识符。
externalManagementSystem
.version
字符串
托管此 Ops Manager 项目的外部系统的活动版本。
policies
阵列
外部系统应用于此 Ops Manager 项目的策略列表。
policies
.policy[n]
对象

为此 Ops Manager 项目设置的单个策略。该参数可在policies数组中设置一次或多次。

接受的值为:

用途
EXTERNALLY_MANAGED_LOCK
用户无法使用 Ops Manager 托管policies.policy[n]数组中给出的其他设置。这些用户可以使用已配置的外部系统(例如 Kubernetes 操作符)来托管这些设置。
DISABLE_USER_MANAGEMENT
用户无法托管用户或角色。
DISABLE_AUTHENTICATION_
MECHANISMS
用户无法更改身份验证设置。
DISABLE_SET_MONGOD_
CONFIG
用户无法更改policies[n].disabledParams数组中列出的任何mongod设置。
DISABLE_SET_MONGOD_
VERSION
用户无法更改任何mongodmongos的版本。
DISABLE_BACKUP_AGENT
用户无法启用或禁用备份代理。
DISABLE_MONGOD_LOG_
MANAGEMENT
用户无法更改日志管理设置。
DISABLE_IMPORT_TO_
AUTOMATION
用户无法使用自动化来托管部署。
DISABLE_AGENT_API_KEY_
MANAGEMENT
用户无法创建或更新代理API密钥。
DISABLE_MONGOD_HOST_
MANAGEMENT
用户无法更改主机的服务器类型。
policies[n]
.disabledParams
阵列
应用DISABLE_SET_MONGOD_CONFIG策略时要禁用的mongod设置列表。 自动化并不支持所有MongoDB选项,这可能会导致导入尝试失败。 要学习;了解更多信息,请参阅MongoDB设置和自动化支持。
名称
类型
说明
_id
字符串
您为其设置此策略的项目的唯一标识符。
created
字符串
ISO8601 格式的时间戳 创建此功能控制策略时的日期和时间格式( UTC 格式)。
updated
字符串
ISO8601 格式的时间戳 更新此功能控制策略时的日期和时间格式( UTC 格式)。
externalManagementSystem
对象
识别托管此 Cloud Manager 项目的外部系统的参数。
externalManagementSystem
.name
字符串
识别托管此 Cloud Manager 项目的外部系统的标签。
externalManagementSystem
.systemId
字符串
此Cloud Manager项目的托管外部系统的唯一标识符。
externalManagementSystem
.version
字符串
托管此 Cloud Manager 项目的外部系统的有效版本。
policies
阵列
外部系统应用于此 Cloud Manager 项目的策略列表。
policies
.policy[n]
对象

为此 Cloud Manager 项目设置的单个策略。该参数可在policies数组中设置一次或多次。

可能的值为:

用途
EXTERNALLY_MANAGED_LOCK
用户无法使用 Cloud Manager 托管policies.policy[n]数组中给出的其他设置。这些用户可以使用已配置的外部系统(例如 Kubernetes 操作符)来托管这些设置。
DISABLE_USER_MANAGEMENT
用户无法托管用户或角色。
DISABLE_AUTHENTICATION_
MECHANISMS
用户无法更改身份验证设置。
DISABLE_SET_MONGOD_
CONFIG
用户无法更改policies[n].disabledParams数组中列出的任何mongod设置。
DISABLE_SET_MONGOD_
VERSION
用户无法更改任何mongodmongos的版本。
DISABLE_BACKUP_AGENT
用户无法启用或禁用备份代理。
DISABLE_MONGOD_LOG_
MANAGEMENT
用户无法更改日志管理设置。
DISABLE_IMPORT_TO_
AUTOMATION
用户无法使用自动化来托管部署。
DISABLE_AGENT_API_KEY_
MANAGEMENT
用户无法创建或更新代理API密钥。
DISABLE_MONGOD_HOST_
MANAGEMENT
用户无法更改主机的服务器类型。
policies[n]
.disabledParams
阵列
应用DISABLE_SET_MONGOD_CONFIG策略时要禁用的mongod设置列表。 自动化并不支持所有MongoDB选项,这可能会导致导入尝试失败。 要学习;了解更多信息,请参阅MongoDB设置和自动化支持。
1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2 --header "Accept: application/json" \
3 --header "Content-Type: application/json" \
4 --include \
5 --request PUT "https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/groups/{PROJECT-ID}/controlledFeature?pretty=true" \
6 --data '{
7 "externalManagementSystem":
8 {
9 "name": "Operator",
10 "systemId": "6d6c139ae5528707b6e8e3b2",
11 "version": "0.2.1"
12 },
13 "policies": [
14 {"policy": "ExternallyManagedLock"},
15 {"policy": "DisableUserManagement"},
16 {"policy": "DisableAuthenticationMechanisms"},
17 {"policy": "DisableSetMongodVersion"},
18 {
19 "policy": "DisableSetMongodConfig",
20 "disabledParams": ["net.tls.CAFile"]
21 }
22 ]
23 }'
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}
X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
1{
2 "_id": "{PROJECT-ID}",
3 "created": "2019-08-29T15:03:24Z",
4 "updated": "2019-08-29T15:03:24Z",
5 "externalManagementSystem":
6 {
7 "name": "Operator",
8 "systemId": "6d6c139ae5528707b6e8e3b2",
9 "version": "0.2.1"
10 },
11 "policies": [
12 {"policy": "ExternallyManagedLock"},
13 {"policy": "DisableUserManagement"},
14 {"policy": "DisableAuthenticationMechanisms"},
15 {"policy": "DisableSetMongodVersion"},
16 {
17 "policy": "DisableSetMongodConfig",
18 "disabledParams": ["net.tls.CAFile"]
19 }
20 ]
21}

后退

检索一个项目的功能策略