如果您拥有适当的 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 团队联系。