code: func (s *EventDestinationDefinition) Validate() error {
  	invalidParams := request.ErrInvalidParams{Context: "EventDestinationDefinition"}
  	if s.CloudWatchDestination != nil {
  		if err := s.CloudWatchDestination.Validate(); err != nil {
  			invalidParams.AddNested("CloudWatchDestination", err.(request.ErrInvalidParams))
  		}
  	}
  	if s.KinesisFirehoseDestination != nil {
  		if err := s.KinesisFirehoseDestination.Validate(); err != nil {
  			invalidParams.AddNested("KinesisFirehoseDestination", err.(request.ErrInvalidParams))
  		}
  	}
  	if s.SnsDestination != nil {
  		if err := s.SnsDestination.Validate(); err != nil {
  			invalidParams.AddNested("SnsDestination", err.(request.ErrInvalidParams))
  		}
  	}
  
  	if invalidParams.Len() > 0 {
  		return invalidParams
  	}
  	return nil
  }
docs: // Validate inspects the fields of the type to determine if they are valid.