1 つの移行リクエストを検証

POST /api/atlas/v2/groups/{groupId}/liveMigrations/validate

提供された認証情報、使用可能なディスク容量、MongoDB のバージョンなどが移行リクエストの要件を満たしているかどうかを確認します。確認に合格すると、移行を続行できます。このリソースを正常に呼び出すには、API キーに組織オーナー ロールが必要です。非推奨のバージョン: v2-{2023-01-01}

path パラメータ

  • グループ ID string 必須

    プロジェクトを識別する一意の 24 桁の 16 進数文字列。 認証済みユーザーがアクセスできるすべてのプロジェクトを取得するには、 /groups エンドポイントを使用します。

    : グループとプロジェクトは同義語です。そのため、グループ ID はプロジェクト ID と同じです。既存のグループの場合、グループ/プロジェクト ID は同じままです。リソースおよび対応するエンドポイントでは、グループという用語が使用されます。

    形式は次のパターンと一致する必要があります: ^([a-f0-9]{24})$

クエリ パラメータ

  • envelope ブール値

    アプリケーションがレスポンスを envelope JSON オブジェクトにラップするかどうかを示すフラグ。一部の API クライアントは、HTTP レスポンス ヘッダーまたはステータス コードにアクセスできません。これを修正するには、クエリで envelope=true を設定します。結果のリストを返すエンドポイントは、結果オブジェクトをエンベロープとして使用します。アプリケーションは、レスポンス本体にステータス パラメータを追加します。

    デフォルト値はfalseです。

  • pretty ブール値

    レスポンス本体を pretty-print 形式にするかどうかを示すフラグ。

    デフォルト値はfalseです。

    Prettyprint
application/vnd.atlas.2024-05-30+json

body 必須

1 つの移行が検証されます。

  • destination オブジェクト 必須

    移行の宛先を説明するドキュメント。

    宛先属性の非表示 宛先属性の表示 オブジェクト
    • clusterName string 必須

      宛先クラスターを識別するラベル。

      最小長は 1 です。

    • グループ ID string 必須

      宛先プロジェクトを識別する一意の 24 桁の 16 進数文字列。

      形式は次のパターンと一致する必要があります: ^([a-f0-9]{24})$

    • hostnameSchemaType string 必須

      移行ホストと宛先クラスター間で使用するネットワークのタイプ。

      最小長は 1 です。値は、PUBLICPRIVATE_LINK、または VPC_PEERING です。

    • privateLinkId string

      ホストスキーマタイプが PRIVATE_LINK の場合に使用するエンドポイントを表します。

  • dropDestinationData ブール値

    移行を開始する前に、移行プロセスが宛先クラスターからすべてのコレクションを削除するかどうかを示すフラグ。

    デフォルト値はfalseです。

  • migrationHosts array[string]

    この移行に使用された移行ホストのリスト。

    以上かつ 1 以上、1 以下の要素。各 の最小長は 1 です。

  • シャーディング オブジェクト

    レプリカセット ソースから MongoDB 6.0 以降のシャーディングされたクラスターの宛先に移行する場合に、宛先クラスターでシャーディングを構成するドキュメント。宛先クラスターでコレクションをシャーディングしない場合は、これを空のままにします。

    シャーディング属性の非表示 シャーディング属性の表示 オブジェクト
    • createSupportIndexes ブール値 必須

      指定されたシャードキーと互換性のあるインデックスも必要であるため、移行によってシャードキーのサポート用インデックスを作成できるようにするフラグ(存在しない場合)。

    • shardingEntries array[オブジェクト]

      シャード先コレクションへのシャード構成のリスト。 Atlas は、シャーディングエントリ配列に含まれるコレクションのみをシャーディングします。

      宛先クラスターでシャーディングされるコレクションのシャーディング構成。

      shardingEntries 属性を非表示にする shardingEntries 属性を表示する オブジェクト
      • コレクション string 必須

        宛先クラスターでシャーディングするコレクションを識別する、人間が判読可能なラベル。

      • database string 必須

        宛先クラスターでシャーディングするコレクションを含むデータベースを識別する、人間が判読可能なラベル。

      • shardCollection オブジェクト 必須

        宛先クラスターのシャードキーを構成するドキュメント。

        shardCollection 属性を非表示 shardCollection 属性の表示 オブジェクト
        • キー array[オブジェクト]

          シャードキーに使用するフィールドのリスト。

          キー属性を非表示 キー属性を表示 オブジェクト
          • * オブジェクト additionalProperties
  • ソース オブジェクト 必須

    移行の移行元を説明するドキュメント。

    ソース属性の非表示 ソース属性の表示 オブジェクト
    • caCertificatePath string

      ソースクラスターへの認証に使用される SSL 証明書で署名された CA 証明書へのパス。

    • clusterName string 必須

      ソースクラスター名を識別するラベル。

      最小長は 1 です。

    • グループ ID string 必須

      ソース プロジェクトを識別する一意な 24 桁の 16 進数のstring 。

      形式は次のパターンと一致する必要があります: ^([a-f0-9]{24})$

    • ManagedAuthentication ブール値 必須

      MongoDB Automation がソースクラスターへの認証を管理するかどうかを示すフラグ。 true の場合、ユーザー名とパスワードの値を指定しないでください。

    • パスワード string

      ソースクラスターに対してユーザー名を認証するパスワード。

    • ssl ブール値 必須

      SSL が有効になっているかどうかを示すフラグ。

    • username string

      ソースクラスターに接続する SCRAM-SHA ユーザーを識別するラベル。

応答

  • 200 application/vnd.atlas.2024-05-30+json

    OK

    応答属性の非表示 応答属性の表示 オブジェクト
    • _id string

      検証を識別する一意な 24 桁の 16 進数の文字列。

      形式は次のパターンと一致する必要があります: ^([a-f0-9]{24})$

    • errorsMessage string | null

      検証ジョブが失敗した理由。

    • グループ ID string

      検証するプロジェクトを識別する一意な 24 桁の 16 進数の文字列。

      形式は次のパターンと一致する必要があります: ^([a-f0-9]{24})$

    • sourceGroupId string

      ソース プロジェクトを識別する一意な 24 桁の 16 進数のstring 。

      形式は次のパターンと一致する必要があります: ^([a-f0-9]{24})$

    • 状態 string | null

      リクエストの時点で返された指定された検証ジョブの状態。

      値は PENDINGSUCCESS、または FAILED です。

  • 400 application/ JSON

    無効なリクエストです。

    応答属性の非表示 応答属性の表示 オブジェクト
    • validRequestDetail オブジェクト

      無効なリクエストの詳細。

      validRequestDetail 属性を非表示にする validRequestDetail 属性の表示 オブジェクト
      • フィールド array[オブジェクト]

        クライアントリクエストにおけるすべての違反を説明します。

        フィールド属性を非表示にする フィールド属性の表示 オブジェクト
        • 説明 string 必須

          リクエスト要素が禁止されている理由の説明。

        • フィールド string 必須

          リクエスト本文内のフィールドにつながるパス。

    • 詳細 string

      各タイプのエラーの原因となる特定の条件または理由について説明します。

    • エラー integer(int32) 必須

      このエラーで返された HTTP ステータス コード。

      外部ドキュメント
    • errorCode string 必須

      このエラーで返されたアプリケーション エラー コード。

    • パラメーター array[オブジェクト]

      エラーに関する詳細情報を提供するために使用されるパラメーター。

    • 理由 string

      このエラーで返されたアプリケーション エラー メッセージ。

  • 401 application/ JSON

    許可されていません。

    応答属性の非表示 応答属性の表示 オブジェクト
    • validRequestDetail オブジェクト

      無効なリクエストの詳細。

      validRequestDetail 属性を非表示にする validRequestDetail 属性の表示 オブジェクト
      • フィールド array[オブジェクト]

        クライアントリクエストにおけるすべての違反を説明します。

        フィールド属性を非表示にする フィールド属性の表示 オブジェクト
        • 説明 string 必須

          リクエスト要素が禁止されている理由の説明。

        • フィールド string 必須

          リクエスト本文内のフィールドにつながるパス。

    • 詳細 string

      各タイプのエラーの原因となる特定の条件または理由について説明します。

    • エラー integer(int32) 必須

      このエラーで返された HTTP ステータス コード。

      外部ドキュメント
    • errorCode string 必須

      このエラーで返されたアプリケーション エラー コード。

    • パラメーター array[オブジェクト]

      エラーに関する詳細情報を提供するために使用されるパラメーター。

    • 理由 string

      このエラーで返されたアプリケーション エラー メッセージ。

  • 403 application/ JSON

    Forbidden.

    応答属性の非表示 応答属性の表示 オブジェクト
    • validRequestDetail オブジェクト

      無効なリクエストの詳細。

      validRequestDetail 属性を非表示にする validRequestDetail 属性の表示 オブジェクト
      • フィールド array[オブジェクト]

        クライアントリクエストにおけるすべての違反を説明します。

        フィールド属性を非表示にする フィールド属性の表示 オブジェクト
        • 説明 string 必須

          リクエスト要素が禁止されている理由の説明。

        • フィールド string 必須

          リクエスト本文内のフィールドにつながるパス。

    • 詳細 string

      各タイプのエラーの原因となる特定の条件または理由について説明します。

    • エラー integer(int32) 必須

      このエラーで返された HTTP ステータス コード。

      外部ドキュメント
    • errorCode string 必須

      このエラーで返されたアプリケーション エラー コード。

    • パラメーター array[オブジェクト]

      エラーに関する詳細情報を提供するために使用されるパラメーター。

    • 理由 string

      このエラーで返されたアプリケーション エラー メッセージ。

  • 404 application/ JSON

    見つかりません。

    応答属性の非表示 応答属性の表示 オブジェクト
    • validRequestDetail オブジェクト

      無効なリクエストの詳細。

      validRequestDetail 属性を非表示にする validRequestDetail 属性の表示 オブジェクト
      • フィールド array[オブジェクト]

        クライアントリクエストにおけるすべての違反を説明します。

        フィールド属性を非表示にする フィールド属性の表示 オブジェクト
        • 説明 string 必須

          リクエスト要素が禁止されている理由の説明。

        • フィールド string 必須

          リクエスト本文内のフィールドにつながるパス。

    • 詳細 string

      各タイプのエラーの原因となる特定の条件または理由について説明します。

    • エラー integer(int32) 必須

      このエラーで返された HTTP ステータス コード。

      外部ドキュメント
    • errorCode string 必須

      このエラーで返されたアプリケーション エラー コード。

    • パラメーター array[オブジェクト]

      エラーに関する詳細情報を提供するために使用されるパラメーター。

    • 理由 string

      このエラーで返されたアプリケーション エラー メッセージ。

  • 500 application/ JSON

    内部サーバーエラー。

    応答属性の非表示 応答属性の表示 オブジェクト
    • validRequestDetail オブジェクト

      無効なリクエストの詳細。

      validRequestDetail 属性を非表示にする validRequestDetail 属性の表示 オブジェクト
      • フィールド array[オブジェクト]

        クライアントリクエストにおけるすべての違反を説明します。

        フィールド属性を非表示にする フィールド属性の表示 オブジェクト
        • 説明 string 必須

          リクエスト要素が禁止されている理由の説明。

        • フィールド string 必須

          リクエスト本文内のフィールドにつながるパス。

    • 詳細 string

      各タイプのエラーの原因となる特定の条件または理由について説明します。

    • エラー integer(int32) 必須

      このエラーで返された HTTP ステータス コード。

      外部ドキュメント
    • errorCode string 必須

      このエラーで返されたアプリケーション エラー コード。

    • パラメーター array[オブジェクト]

      エラーに関する詳細情報を提供するために使用されるパラメーター。

    • 理由 string

      このエラーで返されたアプリケーション エラー メッセージ。

POST /API/Atlas/v2/groups/{groupId}/liveMigrations/validate
atlas api cloudMigrationService validateGroupLiveMigrations --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20240805001/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.ValidateGroupLiveMigrationsApiParams{}
	sdkResp, httpResp, err := client.CloudMigrationServiceApi.
		ValidateGroupLiveMigrationsWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2024-08-05+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/liveMigrations/validate" \
  -d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2024-08-05+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/liveMigrations/validate" \
  -d '{ <Payload> }'
リクエスト例
{
  "destination": {
    "clusterName": "string",
    "groupId": "32b6e34b3d91647abb20e7b8",
    "hostnameSchemaType": "PUBLIC",
    "privateLinkId": "string"
  },
  "dropDestinationData": false,
  "migrationHosts": [
    "vm001.example.com"
  ],
  "sharding": {
    "createSupportingIndexes": true,
    "shardingEntries": [
      {
        "collection": "string",
        "database": "string",
        "shardCollection": {
          "key": [
            {
              "additionalProperty1": {},
              "additionalProperty2": {}
            }
          ]
        }
      }
    ]
  },
  "source": {
    "caCertificatePath": "string",
    "clusterName": "string",
    "groupId": "32b6e34b3d91647abb20e7b8",
    "managedAuthentication": true,
    "password": "string",
    "ssl": true,
    "username": "string"
  }
}
応答の例(200)
{
  "_id": "32b6e34b3d91647abb20e7b8",
  "errorMessage": "string",
  "groupId": "32b6e34b3d91647abb20e7b8",
  "sourceGroupId": "32b6e34b3d91647abb20e7b8",
  "status": "PENDING"
}
応答の例(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"
}
応答の例(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"
}
応答の例(403)
{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
応答の例(404)
{
  "error": 404,
  "detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
  "reason": "Not Found",
  "errorCode": "RESOURCE_NOT_FOUND"
}
応答の例(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"
}