如果您具有相应的 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 团队联系。