Docs Menu

Docs HomeMongoDB Ops Manager

Update the Automation Configuration

On this page

  • Prerequisites
  • Variables for Automation Config API Resources
  • Procedure

A project's automation configuration determines the goal state of its MongoDB processes and agents. The MongoDB Agent builds the deployment according to the goals specified.

To update the configuration:

  1. Retrieve the current configuration.

  2. Make changes as needed, changing only those items you want modified.

  3. Replace the entire configuration using PUT. You must use PUT. Do not use PATCH.

Note

Some parameters cannot be updated through the automationConfig endpoint. To learn more, see:

You must have access to the API. To learn more, see Configure API Access.

The API resources use one or more of these variables. Replace these variables with your desired values before calling these API resources.

Name
Type
Description
PUBLIC-KEY
string
Your public API Key for your API credentials.
PRIVATE-KEY
string
Your private API Key for your API credentials.
<OpsManagerHost>:<Port>
string
URL of your Ops Manager instance.
GROUP-ID
string
Unique identifier of your project from your project settings.
CLUSTER-ID
string
Unique identifier of your cluster.
1
  1. Use the automationConfig resource to retrieve the configuration. Issue the following command, replacing the placeholders with the Variables for Automation Config API Resources.

    curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
    --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \
    --output currentAutomationConfig.json
  2. Validate the downloaded Automation Configuration file.

    Compare the version field of the currentAutomationConfig.json with that of the Automation Configuration backup file, mms-cluster-config-backup.json. The version value is the last element in both JSON documents. You can find this file on any host running the MongoDB Agent at:

    • Linux and macOS: /var/lib/mongodb-mms-automation/mms-cluster-config-backup.json

    • Windows: %SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json

    If the version values match, you are working with the current version of the Automation Configuration file.

2

Open currentAutomationConfig.json in your preferred text editor.

To learn more about the automation configuration options, see Automation Configuration.

If you're updating the MongoDB Agent, see Update Agent Versions before continuing with this procedure.

3

Use the automationConfig resource to send the updated automation configuration.

Issue the following command with path to the updated configuration document and replace the placeholders with the Variables for Automation Config API Resources.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Content-Type: application/json"
--request PUT "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \
--data @currentAutomationConfig.json

Upon successful update of the configuration, the API returns the HTTP 200 OK status code to indicate the request has succeeded.

4

Retrieve the automation configuration from Ops Manager and confirm it contains the changes. To retrieve the configuration, issue the following command, replacing the placeholders with the Variables for Automation Config API Resources.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true"
5

Use the automationStatus resource to retrieve the deployment status. Issue the following command, replacing the placeholders with the Variables for Automation Config API Resources.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationStatus?pretty=true"

Confirm that the values of all the lastGoalVersionAchieved fields in the processes array match the goalVersion field. To learn about deployment status, see Get Automation Status of Latest Plan.

←  Deploy a Cluster through the APIRotate a Key File with the API →