Start an Outage Simulation

POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/outageSimulation

Starts a cluster outage simulation.

Cluster Outage Simulation

Path parameters

  • groupId string Required

    Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.

    NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups.

    Minimum length is 24, maximum length is 24. Format should match the following pattern: ^([a-f0-9]{24})$.

  • clusterName string Required

    Human-readable label that identifies the cluster to undergo an outage simulation.

    Minimum length is 1, maximum length is 64. Format should match the following pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]*$.

Query parameters

  • envelope boolean

    Flag that indicates whether Application wraps the response in an envelope JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body.

    Default value is false.

  • pretty boolean

    Flag that indicates whether the response body should be in the prettyprint format.

    Default value is false.

application/vnd.atlas.2023-01-01+json

Body Required

Describes the outage simulation.

  • outageFilters array[object]

    List of settings that specify the type of cluster outage simulation.

    At least 1 element.

    Hide outageFilters attributes Show outageFilters attributes object
    • cloudProvider string

      The cloud provider of the region that undergoes the outage simulation.

      Values are AWS, GCP, or AZURE.

    • regionName string

      The name of the region to undergo an outage simulation.

    • type string

      The type of cluster outage to simulate.

      Type Description
      REGION Simulates a cluster outage for a region.

      Value is REGION.

Responses

  • 200 application/vnd.atlas.2023-01-01+json

    OK

    Hide response attributes Show response attributes object
    • clusterName string

      Human-readable label that identifies the cluster that undergoes outage simulation.

      Minimum length is 1, maximum length is 64. Format should match the following pattern: ^[a-zA-Z0-9][a-zA-Z0-9-]*$.

    • groupId string

      Unique 24-hexadecimal character string that identifies the project that contains the cluster to undergo outage simulation.

      Minimum length is 24, maximum length is 24. Format should match the following pattern: ^([a-f0-9]{24})$.

    • id string

      Unique 24-hexadecimal character string that identifies the outage simulation.

      Minimum length is 24, maximum length is 24. Format should match the following pattern: ^([a-f0-9]{24})$.

    • outageFilters array[object]

      List of settings that specify the type of cluster outage simulation.

      At least 1 element.

      Hide outageFilters attributes Show outageFilters attributes object
      • cloudProvider string

        The cloud provider of the region that undergoes the outage simulation.

        Values are AWS, GCP, or AZURE.

      • regionName string

        The name of the region to undergo an outage simulation.

      • type string

        The type of cluster outage to simulate.

        Type Description
        REGION Simulates a cluster outage for a region.

        Value is REGION.

    • startRequestDate string(date-time)

      Date and time when MongoDB Cloud started the regional outage simulation.

    • state string

      Phase of the outage simulation.

      State Indication
      START_REQUESTED User has requested cluster outage simulation.
      STARTING MongoDB Cloud is starting cluster outage simulation.
      SIMULATING MongoDB Cloud is simulating cluster outage.
      RECOVERY_REQUESTED User has requested recovery from the simulated outage.
      RECOVERING MongoDB Cloud is recovering the cluster from the simulated outage.
      COMPLETE MongoDB Cloud has completed the cluster outage simulation.

      Values are START_REQUESTED, STARTING, SIMULATING, RECOVERY_REQUESTED, RECOVERING, or COMPLETE.

  • 400 application/json

    Bad Request.

    Hide response attributes Show response attributes object
    • detail string

      Describes the specific conditions or reasons that cause each type of error.

    • error integer(int32)

      HTTP status code returned with this error.

      External documentation
    • errorCode string

      Application error code returned with this error.

    • parameters array[object]

      Parameters used to give more information about the error.

    • reason string

      Application error message returned with this error.

  • 401 application/json

    Unauthorized.

    Hide response attributes Show response attributes object
    • detail string

      Describes the specific conditions or reasons that cause each type of error.

    • error integer(int32)

      HTTP status code returned with this error.

      External documentation
    • errorCode string

      Application error code returned with this error.

    • parameters array[object]

      Parameters used to give more information about the error.

    • reason string

      Application error message returned with this error.

  • 500 application/json

    Internal Server Error.

    Hide response attributes Show response attributes object
    • detail string

      Describes the specific conditions or reasons that cause each type of error.

    • error integer(int32)

      HTTP status code returned with this error.

      External documentation
    • errorCode string

      Application error code returned with this error.

    • parameters array[object]

      Parameters used to give more information about the error.

    • reason string

      Application error message returned with this error.

POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/outageSimulation
atlas api clusterOutageSimulation startOutageSimulation --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20230101001/admin"
)

func main() {
	ctx := context.Background()
	clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
	clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")

	// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
	client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))

	if err != nil {
		log.Fatalf("Error: %v", err)
	}

	params = &sdk.StartOutageSimulationApiParams{}
	sdkResp, httpResp, err := client.ClusterOutageSimulationApi.
		StartOutageSimulationWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2023-01-01+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/outageSimulation" \
  -d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2023-01-01+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/outageSimulation" \
  -d '{ <Payload> }'
Request examples
{
  "outageFilters": [
    {
      "cloudProvider": "AWS",
      "regionName": "string",
      "type": "REGION"
    }
  ]
}
Response examples (200)
{
  "clusterName": "string",
  "groupId": "32b6e34b3d91647abb20e7b8",
  "id": "32b6e34b3d91647abb20e7b8",
  "outageFilters": [
    {
      "cloudProvider": "AWS",
      "regionName": "string",
      "type": "REGION"
    }
  ],
  "startRequestDate": "2022-01-01T00:00:00Z",
  "state": "START_REQUESTED"
}
Response examples (400)
{
  "error": 400,
  "detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
  "reason": "Bad Request",
  "errorCode": "VALIDATION_ERROR"
}
Response examples (401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
Response examples (500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}