code: func (a *Plugin) Validate(attr admission.Attributes, o admission.ObjectInterfaces) (err error) {
  	// ignore all operations that do not correspond to an Event kind
  	if attr.GetKind().GroupKind() != api.Kind("Event") {
  		return nil
  	}
  
  	// ignore all requests that specify dry-run
  	// because they don't correspond to any calls to etcd,
  	// they should not be affected by the ratelimit
  	if attr.IsDryRun() {
  		return nil
  	}
  
  	var errors []error
  	// give each limit enforcer a chance to reject the event
  	for _, enforcer := range a.limitEnforcers {
  		if err := enforcer.accept(attr); err != nil {
  			errors = append(errors, err)
  		}
  	}
  
  	if aggregatedErr := utilerrors.NewAggregate(errors); aggregatedErr != nil {
  		return apierrors.NewTooManyRequestsError(aggregatedErr.Error())
  	}
  
  	return nil
  }
docs: // Validate makes admission decisions while enforcing event rate limits