如果您具有相应的 IAM 权限并且执行所需的组织政策,则可以使用 Resource Manager API 在组织资源之间迁移项目资源。
gcloud
如需将项目迁移到其他组织资源,请运行以下命令:
gcloud beta projects move PROJECT_ID \ --organization ORGANIZATION_ID
您还可以使用以下命令将文件夹指定为目标资源:
gcloud beta projects move PROJECT_ID \ --folder FOLDER_ID
替换以下字段:
- PROJECT_ID 是您要迁移的项目的 ID 或编号。
- ORGANIZATION_ID 是您要将项目迁移到的组织资源的 ID。您只能指定一个目标(即组织资源或文件夹)。
- FOLDER_ID 是项目要移动到的文件夹的 ID。您只能指定一个目标(即文件夹或组织资源)。
API
借助 v1 Resource Manager API,您可以将项目从一个组织资源迁移到另一个组织资源,只需将项目的 parent
字段设置为目标资源的 ID 即可。
如需迁移项目,请执行以下操作:
- 使用
projects.get()
方法获取project
对象。 - 将其
parent
字段设置为组织资源的组织资源 ID,或是该字段要移动到的文件夹的 ID。 - 使用
projects.update()
方法更新project
对象。
以下代码段展示了上述步骤:
project = crm.projects().get(projectId=flags.projectId).execute()
project['parent'] = {
'type': 'organization',
'id': flags.organizationId
}
project = crm.projects().update(
projectId=flags.projectId, body=project).execute()
回滚迁移
如果您错误地迁移了项目,则可以将旧来源用作新目的地,将旧目的地作为新来源,再次执行迁移来回滚该操作。为此,您必须拥有必要的 IAM 权限并执行组织政策,就好像这是全新的迁移。
如需回滚将项目从无组织迁移到组织资源的迁移,请与 Google Cloud Customer Care 团队联系。