현재 조직에서 다른 조직으로 프로젝트를 마이그레이션합니다. 모든 프로젝트 사용자와 해당 역할이 대상 조직의 동일한 프로젝트에 복사됩니다. 프로그래밍 방식 API 키로 인증할 때 대상 조직에 대한 액세스를 확인하려면 대상 조직에 대한 조직 소유자 역할과 함께 조직 API 키를 포함해야 합니다. 그렇지 않은 경우 요청하는 사용자는 두 조직 모두에서 조직 소유자 역할을 가지고 있어야 합니다. 이 리소스를 사용하려면, 요청하는 서비스 계정 또는 API 키에 조직 소유자 역할이 있어야 합니다.
프로젝트 식별하는 고유한 24-16진수 문자열입니다. 인증된 사용자가 액세스 할 수 있는 모든 프로젝트를 조회 하려면 /groups 엔드포인트를 사용합니다.
참고: 그룹과 프로젝트는 동의어입니다. 그룹 ID는 프로젝트 ID와 동일합니다. 기존 그룹의 경우, 그룹/프로젝트 ID는 동일하게 유지됩니다. 리소스 및 해당 엔드포인트는 그룹이라는 용어를 사용합니다.
형식은 ^([a-f0-9]{24})$ 패턴 과 일치해야 합니다.
애플리케이션이 응답을 envelope JSON 객체로 래핑할지 여부를 나타내는 플래그입니다. 일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 envelope=true를 설정합니다. 결과 목록을 반환하는 엔드포인트는 결과 객체를 엔벨로프로 사용합니다. 애플리케이션은 응답 본문에 상태 매개변수를 추가합니다.
기본값은 false 입니다.
현재 조직에서 다른 조직으로 프로젝트를 마이그레이션합니다.
지정된 프로젝트를 이동할 조직을 식별하는 고유한 24-16진수 문자열입니다.
형식은 ^([a-f0-9]{24})$ 패턴 과 일치해야 합니다.
대상 조직에 대한 액세스를 확인하는 데 사용되는 API 키의 비공개 부분을 식별하는 고유 문자열입니다. 이 매개변수는 프로그래밍 방식 API 키로 인증하는 경우에만 필요합니다.
대상 조직에 대한 액세스를 확인하는 데 사용되는 API 키의 공개 부분을 식별하는 고유한 문자열입니다. 이 매개변수는 프로그래밍 방식 API 키로 인증하는 경우에만 필요합니다.
최소 길이는 8, 최대 길이는 8입니다.
atlas api projects migrateGroup --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250312001/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.MigrateGroupApiParams{}
sdkResp, httpResp, err := client.ProjectsApi.
MigrateGroupWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}:migrate" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}:migrate" \
-d '{ <Payload> }'
{
"destinationOrgId": "32b6e34b3d91647abb20e7b8",
"destinationOrgPrivateApiKey": "55c3bbb6-b4bb-0be1-e66d20841f3e",
"destinationOrgPublicApiKey": "zmmrboas"
}
{
"clusterCount": 42,
"created": "2025-05-04T09:42:00Z",
"id": "32b6e34b3d91647abb20e7b8",
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
],
"name": "string",
"orgId": "32b6e34b3d91647abb20e7b8",
"regionUsageRestrictions": "COMMERCIAL_FEDRAMP_REGIONS_ONLY",
"tags": [
{
"key": "string",
"value": "string"
}
],
"withDefaultAlertsSettings": true
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"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"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}