Docs Menu
Docs Home
/
MongoDB Ops Manager
/ / /

Update Feature Policies for One Project

On this page

  • Required Roles
  • Resource
  • Request Path Parameters
  • Request Query Parameters
  • Request Body Parameters
  • Response
  • Example Request
  • Example Response
  • Response Header
  • Response Body

Base URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0

This resource requires the Project Owner.

PUT /groups/{PROJECT-ID}/controlledFeature

Important

You must include every policy that you want to include and maintain. This resource overwrites any existing policy. If you omit a policy when using this resource, that policy isn't enforced after the update. That policy has been removed.

Name
Type
Necessity
Description

PROJECT-ID

string

Required

Unique identifier of the project that has the controlled features.

The following query parameters are optional:

Name
Type
Description
Default

pageNum

integer

Page number (1-index based).

1

itemsPerPage

integer

Number of items to return per page, up to a maximum of 500.

100

pretty

boolean

Indicates whether the response body should be in a prettyprint format.

false

envelope

boolean

Indicates whether or not to wrap the response in an envelope.

Some API clients cannot access the HTTP response headers or status code. To remediate this, set "envelope" : true in the query.

For endpoints that return one result, response body includes:

Name
Description

status

HTTP response code

content

Expected response body

For endpoints that return a list of results, the results object is an envelope. Ops Manager adds the status field to the response body.

None

Name
Type
Description

externalManagementSystem

object

Identifying parameters for the external system that manages this Ops Manager Project.

externalManagementSystem
.name

string

Identifying label for the external system that manages this Ops Manager Project.

externalManagementSystem
.systemId

string

Unique identifier of the external system that manages this Ops Manager Project.

externalManagementSystem
.version

string

Active release of the external system that manages this Ops Manager Project.

policies

array

List of policies that the external system applies to this Ops Manager Project.

policies
.policy[n]

object

Single policy set for this Ops Manager Project. This parameter can be set one or more times in the policies array.

Accepted values are:

Value
Purpose

EXTERNALLY_MANAGED_LOCK

Users can't use Ops Manager to manage other settings given in the policies.policy[n] array. These same users may use a configured external system, like the Kubernetes Operator to manage these settings.

DISABLE_USER_MANAGEMENT

Users can't manage users or roles.

DISABLE_AUTHENTICATION_
MECHANISMS

Users can't change authentication settings.

DISABLE_SET_MONGOD_
CONFIG

Users can't change any mongod settings listed in the policies[n].disabledParams array.

DISABLE_SET_MONGOD_
VERSION

Users can't change the version of any mongod or mongos.

DISABLE_BACKUP_AGENT

Users can't enable or disable the Backup agent.

DISABLE_MONGOD_LOG_
MANAGEMENT

Users can't change log management settings.

DISABLE_IMPORT_TO_
AUTOMATION

Users can't manage deployments using Automation.

DISABLE_AGENT_API_KEY_
MANAGEMENT

Users can't create or update Agent API keys.

DISABLE_MONGOD_HOST_
MANAGEMENT

Users can't change the server type of hosts.

policies[n]
.disabledParams

array

List of mongod settings to disable when you apply the DISABLE_SET_MONGOD_CONFIG policy. Automation doesn't support all MongoDB options, which can result in failed import attempts. To learn more, see MongoDB Settings and Automation Support.

Name
Type
Description

_id

string

Unique identifier of the Project for which you are setting this policy.

created

string

Timestamp in ISO 8601 date and time format in UTC when this feature control policy was created.

updated

string

Timestamp in ISO 8601 date and time format in UTC when this feature control policy was updated.

externalManagementSystem

object

Identifying parameters for the external system that manages this Ops Manager Project.

externalManagementSystem
.name

string

Identifying label for the external system that manages this Ops Manager Project.

externalManagementSystem
.systemId

string

Unique identifier of the external system that manages this Ops Manager Project.

externalManagementSystem
.version

string

Active release of the external system that manages this Ops Manager Project.

policies

array

List of policies that the external system applies to this Ops Manager Project.

policies
.policy[n]

object

Single policy set for this Ops Manager Project. This parameter can be set one or more times in the policies array.

Possible values are:

Value
Purpose

EXTERNALLY_MANAGED_LOCK

Users can't use Ops Manager to manage other settings given in the policies.policy[n] array. These same users may use a configured external system, like the Kubernetes Operator to manage these settings.

DISABLE_USER_MANAGEMENT

Users can't manage users or roles.

DISABLE_AUTHENTICATION_
MECHANISMS

Users can't change authentication settings.

DISABLE_SET_MONGOD_
CONFIG

Users can't change any mongod settings listed in the policies[n].disabledParams array.

DISABLE_SET_MONGOD_
VERSION

Users can't change the version of any mongod or mongos.

DISABLE_BACKUP_AGENT

Users can't enable or disable the Backup agent.

DISABLE_MONGOD_LOG_
MANAGEMENT

Users can't change log management settings.

DISABLE_IMPORT_TO_
AUTOMATION

Users can't manage deployments using Automation.

DISABLE_AGENT_API_KEY_
MANAGEMENT

Users can't create or update Agent API keys.

DISABLE_MONGOD_HOST_
MANAGEMENT

Users can't change the server type of hosts.

policies[n]
.disabledParams

array

List of mongod settings to disable if you apply the DISABLE_SET_MONGOD_CONFIG policy. Automation doesn't support all MongoDB options, which can result in failed import attempts. To learn more, see MongoDB Settings and Automation Support.

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}

Back

Retrieve for One Project