title: How to create a Google Cloud project with service management API enabled?
body: <p>We're deploying our software on behalf (OAuth2) of users on Google Cloud. We've managed to automate most of it, but there's one bit that's missing.</p>
  
  <ol>
  <li>Creating the project is done with <a href="https://godoc.org/google.golang.org/api/cloudresourcemanager/v1#ProjectsService.Create" rel="nofollow noreferrer">https://godoc.org/google.golang.org/api/cloudresourcemanager/v1#ProjectsService.Create</a>  </li>
  <li>Enabling the required APIs (compute, storage, etc) is done with google.golang.org/api/servicemanagement/v1#ServicesService.Enable (can't post as full link thanks to the very bright SO limitations)  </li>
  <li>Creating the instance is done with google.golang.org/api/compute/v1#InstancesService.Insert  </li>
  </ol>
  
  <p>The missing bit is between step 1 and step 2: in order to make use of the <code>Service Management API to enable the needed APIs</code>, we need the Service Management API itself to be enabled on the project (how ironic). I'm hoping there must be a way to create a project with some APIs enabled from the start, maybe with cloudresourcemanager, or maybe with <a href="https://godoc.org/google.golang.org/api/deploymentmanager/v2" rel="nofollow noreferrer">https://godoc.org/google.golang.org/api/deploymentmanager/v2</a>, but I haven't found it so far.</p>
  
  <p>So, to restate: does anyone know if it's possible (in Go) to create a Google Cloud project with some specific Google Cloud APIs enabled right on/after creation?</p>