Files
goodBaby/drivers/alidns/tool.go
T

50 lines
1.3 KiB
Go
Raw Normal View History

2026-08-28 13:51:51 +08:00
package alidns
import (
2026-08-30 09:13:15 +08:00
"encoding/json"
2026-08-28 13:51:51 +08:00
alidns "github.com/alibabacloud-go/alidns-20150109/v5/client"
2026-08-30 09:13:15 +08:00
openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
2026-08-28 13:51:51 +08:00
"github.com/alibabacloud-go/tea/tea"
"github.com/aliyun/credentials-go/credentials"
"github.com/ssdomei232/goodBaby/handler/db"
"github.com/ssdomei232/goodBaby/model"
)
2026-08-30 09:13:15 +08:00
func getAliDNSClient(rule *model.Rule) (client *alidns.Client, err error) {
2026-08-28 13:51:51 +08:00
var accountConfig AliDNSAccount
// get config
if err := db.LoadAccountConfig(rule.AccountID, &accountConfig); err != nil {
return nil, err
}
// init aliyun account config
credentialsConfig := new(credentials.Config).
SetType("access_key").
SetAccessKeyId(accountConfig.AK).
SetAccessKeySecret(accountConfig.SK)
akCredential, err := credentials.NewCredential(credentialsConfig)
if err != nil {
return nil, err
}
config := &openapi.Config{}
config.Credential = akCredential
config.Endpoint = tea.String("alidns.aliyuncs.com")
// create aliyun account client
client, _ = alidns.NewClient(config)
return client, nil
}
2026-08-30 09:13:15 +08:00
func getDeleteRecordConfig(rule *model.Rule) (*DeleteRecordConfig, error) {
var deleteRecordConfig DeleteRecordConfig
if err := json.Unmarshal([]byte(rule.ConfigJson), &deleteRecordConfig); err != nil {
return nil, err
}
return &deleteRecordConfig, nil
}