Navigation

Get Automation Status of Latest Plan

Note

Groups and projects are synonymous terms. Your {PROJECT-ID} is the same as your project id. For existing groups, your group/project id remains the same. This page uses the more familiar term group when referring to descriptions. The endpoint remains as stated in the document.

Overview

Retrieves the latest plan for MongoDB processes. Plans are a set of actions required to get a MongoDB deployment to the goalVersion.

The endpoint returns the goalVersion field to report the current version of the automation configuration and the lastGoalVersionAchieved field to report the versions of the configuration running on each server.

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

Resource

GET /groups/{PROJECT-ID}/automationStatus

Request Parameters

Request Path Parameters

Parameter Type Description
PROJECT-ID string (Required.) The unique identifier for the project.

Request Query Parameters

The following query parameters are optional:

Name Type Description Default
pretty boolean Flag that indicates whether the response body should be in a prettyprint format. false
envelope boolean

Flag that indicates whether or not to wrap the response in a JSON 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

Request Body Parameters

This endpoint does not use HTTP request body parameters.

Response

Name Type Description
goalVersion number The version of the most recently submitted automation configuration. If there is a conflict in submissions of automation configurations, this field lists the winning configuration.
processes array The project’s deployed MongoDB instances.
process.errorCode integer The error code. Returns 0 if the process has no errors.
process.errorCodeDescription string Detailed error description. Returns an empty string if the process has no errors.
process.errorCodeHumanReadable string Short error description. Returns an empty string if the process has no errors.
process.errorString string Output of the log line that contains the error. Examine this field for additional error context. Returns an empty string if the process has no errors.
processes.hostname string The fully qualified domain name (retrieved by issuing hostname -f) of the server on which the MongoDB process and Automation are hosted.
processes.name string The process name as specified in the automation configuration.
processes.lastGoalVersionAchieved number The last version of the automation configuration with which this process had deployed as configured. If the processes.lastGoalVersionAchieved number is not equal to the goalVersion number, the process has not yet deployed according to the current configuration.
processes.plan array Describes how a process that is not yet up-to-date with the configuration will achieve the goal state.

Example Request

curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \
 --header 'Accept: application/json' \
 --include \
 --request GET -i "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/automationStatus"

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

{
     "goalVersion": 11,
     "processes": [{
             "errorCode": 0,
             "errorCodeDescription": "",
             "errorCodeHumanReadable": "",
             "errorString": "",
             "hostname": "example.net",
             "lastGoalVersionAchieved": 11,
             "name": "myReplicaSet_3",
             "plan": ["Download",
                     "WaitRsInit",
                     "WaitFeatureCompatibilityVersionCorrect"
             ]
     }, {
             "errorCode": 100,
             "errorCodeDescription": "There is an issue with file permissions for this process",
             "errorCodeHumanReadable": "File Permissions Error",
             "errorString": "<myReplicaSet_1> [13:11:33.348] Failed to compute states : <myReplicaSet_1> [13:11:33.348] Error calling ComputeState : <myReplicaSet_1> [13:11:33.348] Error getting fickle state for current state : <myReplicaSet_1> [13:11:33.348] Error checking if process is running from dbpath = /data/0 : <myReplicaSet_1> [13:11:33.348] Error getting file contents of /data/0/mongod.lock as string : <myReplicaSet_1> [13:11:33.348] Error reading file from /data/0/mongod.lock : open /data/0/mongod.lock: permission denied",
             "hostname": "example.net",
             "lastGoalVersionAchieved": 1,
             "name": "myReplicaSet_1",
             "plan": ["Download"]
     }, {
             "errorCode": 0,
             "errorCodeDescription": "",
             "errorCodeHumanReadable": "",
             "errorString": "",
             "hostname": "example.net",
             "lastGoalVersionAchieved": 11,
             "name": "myReplicaSet_2",
             "plan": ["WaitRsInit",
                     "WaitFeatureCompatibilityVersionCorrect"
             ]
     }]
}