Navigation

Update the Automation Configuration

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, Cloud Manager makes internal modifications to the data and then saves your new configuration version.

Example

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

The MongoDB Agents continuously poll Cloud 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 Public 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.

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”:

Required Roles

This resource requires the Project Automation Admin role.

Resource

Base URL: https://cloud.mongodb.com/api/public/v1.0

PUT /groups/{PROJECT-ID}/automationConfig

Request

Path Parameters

Name Type Necessity Description
PROJECT-ID string Required Unique identifier of the group that owns the automation configuration.

Query Parameters

The following query parameters are optional:

Name Type Necessity Description Default
pretty boolean Optional Flag indicating whether the response body should be in a prettyprint format. 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

Body Parameters

To review these parameters, see Automation Configuration Parameters.

Response

To review these parameters, see Automation Configuration Parameters.

Example Request

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://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \
 --data-binary "@/Users/admin/updated-conf.json"

Example Response

Response Header

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}

Response Body

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