如果您有适当的 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。