@@ -13,7 +13,6 @@ import (
1313 " time"
1414
1515 " github.com/hashicorp/terraform-provider-google/google/registry"
16- compute_tpg " github.com/hashicorp/terraform-provider-google/google/services/compute"
1716 " github.com/hashicorp/terraform-provider-google/google/tpgresource"
1817 transport_tpg " github.com/hashicorp/terraform-provider-google/google/transport"
1918 " github.com/hashicorp/terraform-provider-google/google/verify"
@@ -2484,13 +2483,22 @@ func setStorageBucket(d *schema.ResourceData, config *transport_tpg.Config, res
24842483 // from the projectNumber which is included in the bucket API response
24852484 if d.Get (" project" ) == " " {
24862485 projectName, _ := tpgresource.GetProject (d, config)
2487- proj, err := compute_tpg.NewClient (config, userAgent).Projects.Get (strconv.FormatUint (res.ProjectNumber , 10)).Do ()
2486+ // Resolve the Compute base URL through the registry so that storage does not
2487+ // depend on the compute service package. BaseUrl(Product, ... ) would resolve
2488+ // the storage base URL here.
2489+ projectUrl := fmt.Sprintf (" %s projects/%d " , transport_tpg.BaseUrl (registry.GetProduct (" compute" ), config), res.ProjectNumber )
2490+ proj, err := transport_tpg.SendRequest (transport_tpg.SendRequestOptions {
2491+ Config: config,
2492+ Method: " GET" ,
2493+ RawURL: projectUrl,
2494+ UserAgent: userAgent,
2495+ })
24882496 if err != nil {
24892497 log.Printf (" [ERROR] Missing Compute API permissions, fallback to provider/resource default" )
24902498 }
24912499
2492- if proj ! = nil && projectName != " " && projectName != proj .Name {
2493- projectName = proj .Name
2500+ if projectID, ok := proj[ " name " ] . (string); ok && projectName != " " && projectName != projectID {
2501+ projectName = projectID
24942502 }
24952503 if err := d.Set (" project" , projectName); err != nil {
24962504 return fmt.Errorf (" Error setting project: %s " , err)
0 commit comments