code: func versionAwareS3KeyName(s3DefaultKey string, s3VersioningEnabled bool, logger *logrus.Logger) (string, error) {
  	versionKeyName := s3DefaultKey
  	if !s3VersioningEnabled {
  		var extension = path.Ext(s3DefaultKey)
  		var prefixString = strings.TrimSuffix(s3DefaultKey, extension)
  
  		hash := sha1.New()
  		salt := fmt.Sprintf("%s-%d", s3DefaultKey, time.Now().UnixNano())
  		_, writeErr := hash.Write([]byte(salt))
  		if writeErr != nil {
  			return "", errors.Wrapf(writeErr, "Failed to update hash digest")
  		}
  		versionKeyName = fmt.Sprintf("%s-%s%s",
  			prefixString,
  			hex.EncodeToString(hash.Sum(nil)),
  			extension)
  
  		logger.WithFields(logrus.Fields{
  			"Default":      s3DefaultKey,
  			"Extension":    extension,
  			"PrefixString": prefixString,
  			"Unique":       versionKeyName,
  		}).Debug("Created unique S3 keyname")
  	}
  	return versionKeyName, nil
  }
docs: // versionAwareS3KeyName returns a keyname that provides the correct cache
  // invalidation semantics based on whether the target bucket
  // has versioning enabled