如何创建启用了服务管理 API 的 Google 云项目?

How to create a Google Cloud project with service management API enabled?

我们正在 Google 云上代表用户 (OAuth2) 部署我们的软件。我们已经设法实现了大部分自动化,但还缺少一点。

  1. 创建项目已完成 https://godoc.org/google.golang.org/api/cloudresourcemanager/v1#ProjectsService.Create
  2. 启用所需的 APIs(计算、存储等)是通过 google.golang 完成的。org/api/servicemanagement/v1#ServicesService.Enable(不能 post由于非常明亮的 SO 限制,完整 link)
  3. 实例创建完成 google.golang.org/api/compute/v1#InstancesService.Insert

第 1 步和第 2 步之间缺少一点:为了使用 Service Management API to enable the needed APIs,我们需要在项目上启用服务管理 API 本身(多么讽刺) .我希望一定有一种方法可以创建一个从一开始就启用一些 API 的项目,也许是用 cloudresourcemanager,或者也许是 https://godoc.org/google.golang.org/api/deploymentmanager/v2,但到目前为止我还没有找到它。

所以,重申一下:有谁知道是否有可能(在 Go 中)创建一个 Google 云项目,其中某些特定的 Google 云 API 已启用 [=31] =]创作?

Google Cloud Resource Manager API 允许您执行的操作非常有限。

虽然它有一个 projects.update 方法,但它不支持启用 API。您将不得不手动编辑项目。

使用服务用法API: https://cloud.google.com/service-usage/docs/reference/rest/

(更新)