Docs Menu

Docs HomeMongoDB Ops Manager

Update the Automation Configuration

On this page

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

Use PUT to update a project's automation configuration. Don't use PATCH.

To see a tutorial on how to update an automation configuration, see Update the Automation Configuration.

To make updates to the MongoDB Agent other than hostname, you must do so through a different endpoint.

When you submit updates, Ops Manager makes internal modifications to the data and then saves your new configuration version.

Example

Ops Manager might add a field to each specified community MongoDB version to indicate where the Agents download them from.

The MongoDB Agents continuously poll Ops Manager for changes to the configuration and fetch configuration updates when they occur. The Agents then adjust the states of their live processes to match.

Warning

There is no protection in the Ops Manager Administration API to prevent concurrent modifications. If two administrators both start with a configuration based on the current version, make their own modifications, and then submit their modifications, the later modification wins.

Warning

Update Agent Username before Enabling Authentication

The automation configuration provides the sole means to enabling authentication on your clusters using the API. To enable authentication, first call the following endpoints with "username": "mms-automation":

This resource requires the Project Automation Admin role.

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

PUT /groups/{PROJECT-ID}/automationConfig
Name
Type
Necessity
Description
PROJECT-ID
string
Required
Unique identifier of the group that owns the automation configuration.

The following query parameters are optional:

Name
Type
Necessity
Description
Default
pretty
boolean
Optional
false
envelope
boolean
Optional

Flag that 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, the response body includes:

Name
Description
status
HTTP response code
envelope
Expected response body
false

To review these parameters, see Automation Configuration Parameters.

To review these parameters, see Automation Configuration Parameters.

The following replaces the automation configuration with the updated configuration saved in /Users/admin/updated-conf.json. For an example of an updated configuration document, see Example Automation Configuration.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request PUT "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \
--data-binary "@/Users/admin/updated-conf.json"
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}

To review an example of this configuration, see Example Automation Configuration.

←  Get the Automation ConfigurationAutomation Configuration Parameters →