func()

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
}