in cli_tools/common/utils/param/populator.go [51:83]
func (p *populator) PopulateMissingParameters(project *string, clientID string, zone *string,
region *string, scratchBucketGcsPath *string, file string, storageLocation, network, subnet *string) error {
if err := PopulateProjectIfMissing(p.metadataClient, project); err != nil {
return err
}
scratchBucketRegion, err := populateScratchBucketGcsPath(scratchBucketGcsPath, *zone, p.metadataClient,
p.scratchBucketClient, file, project, p.storageClient, clientID == "gcloud")
if err != nil {
return err
}
if storageLocation != nil && *storageLocation == "" {
*storageLocation = p.locationClient.GetLargestStorageLocation(scratchBucketRegion)
}
if *zone == "" {
if *zone, err = p.locationClient.GetZone(scratchBucketRegion, *project); err != nil {
return err
}
}
if err := PopulateRegion(region, *zone); err != nil {
return err
}
if *network, *subnet, err = p.NetworkResolver.Resolve(*network, *subnet, *region, *project); err != nil {
return err
}
return nil
}