Update the Automation Configuration
On this page
- OAuth 2.0 authentication for programmatic access to Cloud Manager is available as a Preview feature.
- The feature and the corresponding documentation might change at any time during the Preview period. To use OAuth 2.0 authentication, create a service account to use in your requests to the Cloud Manager Public API.
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 Cloud 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":
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. |
| ||||||
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:
|
|
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
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
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.