docs: func (s *UpdateApplicationInput) Validate() error {
  	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
  	if s.ApplicationName == nil {
  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  	}
  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  	}
  	if s.CurrentApplicationVersionId == nil {
  		invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId"))
  	}
  	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
  		invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1))
  	}
  	if s.ServiceExecutionRoleUpdate != nil && len(*s.ServiceExecutionRoleUpdate) < 1 {
  		invalidParams.Add(request.NewErrParamMinLen("ServiceExecutionRoleUpdate", 1))
  	}
  	if s.ApplicationConfigurationUpdate != nil {
  		if err := s.ApplicationConfigurationUpdate.Validate(); err != nil {
  			invalidParams.AddNested("ApplicationConfigurationUpdate", err.(request.ErrInvalidParams))
  		}
  	}
  	if s.CloudWatchLoggingOptionUpdates != nil {
  		for i, v := range s.CloudWatchLoggingOptionUpdates {
  			if v == nil {
  				continue
  			}
  			if err := v.Validate(); err != nil {
  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CloudWatchLoggingOptionUpdates", i), err.(request.ErrInvalidParams))
  			}
  		}
  	}
  	if s.RunConfigurationUpdate != nil {
  		if err := s.RunConfigurationUpdate.Validate(); err != nil {
  			invalidParams.AddNested("RunConfigurationUpdate", err.(request.ErrInvalidParams))
  		}
  	}
  
  	if invalidParams.Len() > 0 {
  		return invalidParams
  	}
  	return nil
  }