feat(drivers): add alidns delete record
Quality check / Web UI (push) Successful in 9m14s

This commit is contained in:
mei
2026-08-30 16:03:32 +08:00
parent 74ff904598
commit 59cf99ae22
15 changed files with 1412 additions and 48 deletions
+11 -5
View File
@@ -2,13 +2,16 @@ package alidns
import (
"context"
"fmt"
"github.com/alibabacloud-go/alidns-20150109/v5/client"
"github.com/ssdomei232/goodBaby/internal/retry"
"github.com/ssdomei232/goodBaby/model"
)
// deleteAliDNSRecord deletes a DNS record from Alibaba Cloud DNS based on the provided rule.
func deleteAliDNSRecord(ctx context.Context, rule *model.Rule) error {
aliDNSClient, err := getAliDNSClient(rule)
aliDNSClient, err := getAliDNSClientFromRule(rule)
if err != nil {
return err
}
@@ -17,11 +20,14 @@ func deleteAliDNSRecord(ctx context.Context, rule *model.Rule) error {
return err
}
_, err = aliDNSClient.DeleteDomainRecord(&client.DeleteDomainRecordRequest{
RecordId: &deleteRecordConfig.RecordID,
})
if err != nil {
if err := retry.Do(ctx, func() error {
_, err := aliDNSClient.DeleteDomainRecord(&client.DeleteDomainRecordRequest{
RecordId: &deleteRecordConfig.RecordID,
})
return err
}); err != nil {
return fmt.Errorf("删除阿里云DNS记录失败: %w", err)
}
return nil
}