func()

in cli_tools/common/utils/compute/zone_validator.go [30:46]


func (zv *ZoneValidator) ZoneValid(project string, zone string) error {
	zl, err := zv.ComputeClient.ListZones(project)
	if err != nil {
		// Check for Compute Engine API disabled
		gAPIErr, isGAPIErr := err.(*googleapi.Error)
		if isGAPIErr && gAPIErr.Code == 403 && len(gAPIErr.Errors) > 0 && gAPIErr.Errors[0].Reason == "accessNotConfigured" {
			return daisy.Errf("Compute Engine API not configured: %v", gAPIErr)
		}
		return daisy.Errf("Couldn't validate zone `%v`: %v", zone, gAPIErr)
	}
	for _, z := range zl {
		if z.Name == zone {
			return nil
		}
	}
	return daisy.Errf("%v is not a valid zone", zone)
}