This commit is contained in:
@@ -3,18 +3,29 @@ package ionosDnsProvider
|
||||
import (
|
||||
"errors"
|
||||
"net"
|
||||
|
||||
"realdnydns/model/common"
|
||||
"realdnydns/pkg/dnsProvider"
|
||||
ionosAPI "realdnydns/pkg/dnsProvider/ionos/api"
|
||||
|
||||
redis "github.com/redis/go-redis/v9"
|
||||
)
|
||||
|
||||
type IONOS struct {
|
||||
API ionosAPI.IonosAPI
|
||||
API ionosAPI.IonosAPI
|
||||
Redis *redis.Client
|
||||
}
|
||||
|
||||
type IONOSConfig struct {
|
||||
APIKey string `yaml:"api_key"`
|
||||
BaseURL string `yaml:"base_url"`
|
||||
Redis *IONOSRedisConfig
|
||||
}
|
||||
|
||||
type IONOSRedisConfig struct {
|
||||
Address string `yaml:"host"`
|
||||
Password string `yaml:"password"`
|
||||
DB int `yaml:"db"`
|
||||
}
|
||||
|
||||
func NewIonos(config *IONOSConfig) (dnsProvider.DNSProvider, error) {
|
||||
@@ -26,8 +37,18 @@ func NewIonos(config *IONOSConfig) (dnsProvider.DNSProvider, error) {
|
||||
return nil, errors.New("base_url is required")
|
||||
}
|
||||
|
||||
var redisClient *redis.Client = nil
|
||||
if config.Redis != nil {
|
||||
redisClient = redis.NewClient(&redis.Options{
|
||||
Addr: config.Redis.Address,
|
||||
Password: config.Redis.Password,
|
||||
DB: config.Redis.DB,
|
||||
})
|
||||
}
|
||||
|
||||
return &IONOS{
|
||||
ionosAPI.New(config.APIKey, config.BaseURL),
|
||||
redisClient,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user