docs: func (s *CreateGameSessionInput) Validate() error {
  	invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionInput"}
  	if s.CreatorId != nil && len(*s.CreatorId) < 1 {
  		invalidParams.Add(request.NewErrParamMinLen("CreatorId", 1))
  	}
  	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
  		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
  	}
  	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
  		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
  	}
  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
  	}
  	if s.MaximumPlayerSessionCount == nil {
  		invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount"))
  	}
  	if s.Name != nil && len(*s.Name) < 1 {
  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  	}
  	if s.GameProperties != nil {
  		for i, v := range s.GameProperties {
  			if v == nil {
  				continue
  			}
  			if err := v.Validate(); err != nil {
  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
  			}
  		}
  	}
  
  	if invalidParams.Len() > 0 {
  		return invalidParams
  	}
  	return nil
  }