sshpoke/internal/server/driver/ssh/params.go

27 lines
1.1 KiB
Go
Raw Normal View History

2023-11-17 20:39:00 +03:00
package ssh
import (
"github.com/Neur0toxine/sshpoke/internal/server/driver/ssh/types"
2023-11-17 20:39:00 +03:00
"github.com/Neur0toxine/sshpoke/internal/server/driver/util"
)
type Params struct {
2023-11-18 21:23:29 +03:00
Address string `mapstructure:"address" validate:"required"`
DefaultHost *string `mapstructure:"default_host,omitempty"`
ForwardPort uint16 `mapstructure:"forward_port"`
Auth types.Auth `mapstructure:"auth"`
KeepAlive types.KeepAlive `mapstructure:"keepalive"`
Domain string `mapstructure:"domain"`
DomainProto string `mapstructure:"domain_proto"`
DomainExtractRegex string `mapstructure:"domain_extract_regex" validate:"validregexp"`
Mode types.DomainMode `mapstructure:"mode" validate:"required,oneof=single multi"`
DisableRemoteHostResolve bool `mapstructure:"disable_remote_host_resolve"`
2023-11-17 20:39:00 +03:00
}
func (p *Params) Validate() error {
if err := util.Validator.Struct(p); err != nil {
return err
}
return p.Auth.Validate()
2023-11-17 20:39:00 +03:00
}