code: func (s *StartQueryExecutionInput) Validate() error {
  	invalidParams := request.ErrInvalidParams{Context: "StartQueryExecutionInput"}
  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 32 {
  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 32))
  	}
  	if s.QueryString == nil {
  		invalidParams.Add(request.NewErrParamRequired("QueryString"))
  	}
  	if s.QueryString != nil && len(*s.QueryString) < 1 {
  		invalidParams.Add(request.NewErrParamMinLen("QueryString", 1))
  	}
  	if s.QueryExecutionContext != nil {
  		if err := s.QueryExecutionContext.Validate(); err != nil {
  			invalidParams.AddNested("QueryExecutionContext", err.(request.ErrInvalidParams))
  		}
  	}
  	if s.ResultConfiguration != nil {
  		if err := s.ResultConfiguration.Validate(); err != nil {
  			invalidParams.AddNested("ResultConfiguration", 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.