2020-11-13 18:22:22 +08:00
|
|
|
package dnsclients
|
|
|
|
|
|
|
|
|
|
import "github.com/iwind/TeaGo/maps"
|
|
|
|
|
|
2021-04-15 17:02:01 +08:00
|
|
|
// ProviderInterface DNS操作接口
|
2020-11-13 18:22:22 +08:00
|
|
|
type ProviderInterface interface {
|
2021-04-15 17:02:01 +08:00
|
|
|
// Auth 认证
|
2020-11-13 18:22:22 +08:00
|
|
|
Auth(params maps.Map) error
|
|
|
|
|
|
2021-04-15 17:02:01 +08:00
|
|
|
// GetRecords 获取域名解析记录列表
|
2020-11-13 18:22:22 +08:00
|
|
|
GetRecords(domain string) (records []*Record, err error)
|
|
|
|
|
|
2021-04-15 17:02:01 +08:00
|
|
|
// GetRoutes 读取域名支持的线路数据
|
2020-11-15 11:57:49 +08:00
|
|
|
GetRoutes(domain string) (routes []*Route, err error)
|
2020-11-13 18:22:22 +08:00
|
|
|
|
2021-04-15 17:02:01 +08:00
|
|
|
// QueryRecord 查询单个记录
|
2020-11-26 16:39:06 +08:00
|
|
|
QueryRecord(domain string, name string, recordType RecordType) (*Record, error)
|
|
|
|
|
|
2021-04-15 17:02:01 +08:00
|
|
|
// AddRecord 设置记录
|
2020-11-13 18:22:22 +08:00
|
|
|
AddRecord(domain string, newRecord *Record) error
|
|
|
|
|
|
2021-04-15 17:02:01 +08:00
|
|
|
// UpdateRecord 修改记录
|
2020-11-13 18:22:22 +08:00
|
|
|
UpdateRecord(domain string, record *Record, newRecord *Record) error
|
|
|
|
|
|
2021-04-15 17:02:01 +08:00
|
|
|
// DeleteRecord 删除记录
|
2020-11-13 18:22:22 +08:00
|
|
|
DeleteRecord(domain string, record *Record) error
|
2020-11-14 21:28:07 +08:00
|
|
|
|
2021-04-15 17:02:01 +08:00
|
|
|
// DefaultRoute 默认线路
|
2020-11-14 21:28:07 +08:00
|
|
|
DefaultRoute() string
|
2020-11-13 18:22:22 +08:00
|
|
|
}
|