func()

in gke-deploy/core/gcs/gcs.go [42:66]


func (s *GCS) copyWithRetry(ctx context.Context, src, dst string, recursive bool) error {
	var err error
	delay := s.Delay
	if delay == 0 {
		delay = defaultDelay
	}
	for retryNum := 0; retryNum <= s.Retries; retryNum++ {
		if retryNum > 0 {
			time.Sleep(delay)
		}
		timeout := s.timeout()
		e := s.copyWithTimeout(ctx, src, dst, recursive, timeout)
		if e != nil {
			err = e
			if strings.Contains(err.Error(), "AccessDeniedException") {
				return err
			}
			continue
		}
		return nil
	}

	return err

}