Files
goodBaby/drivers/alidns/alidns.go
T

34 lines
811 B
Go
Raw Normal View History

2026-08-28 13:51:51 +08:00
package alidns
import (
"context"
2026-08-30 16:03:32 +08:00
"fmt"
2026-08-28 13:51:51 +08:00
2026-08-30 09:13:15 +08:00
"github.com/alibabacloud-go/alidns-20150109/v5/client"
2026-08-30 16:03:32 +08:00
"github.com/ssdomei232/goodBaby/internal/retry"
2026-08-28 13:51:51 +08:00
"github.com/ssdomei232/goodBaby/model"
)
2026-08-30 16:03:32 +08:00
// deleteAliDNSRecord deletes a DNS record from Alibaba Cloud DNS based on the provided rule.
2026-08-30 09:13:15 +08:00
func deleteAliDNSRecord(ctx context.Context, rule *model.Rule) error {
2026-08-30 16:03:32 +08:00
aliDNSClient, err := getAliDNSClientFromRule(rule)
2026-08-30 09:13:15 +08:00
if err != nil {
return err
}
deleteRecordConfig, err := getDeleteRecordConfig(rule)
if err != nil {
return err
}
2026-08-30 16:03:32 +08:00
if err := retry.Do(ctx, func() error {
_, err := aliDNSClient.DeleteDomainRecord(&client.DeleteDomainRecordRequest{
RecordId: &deleteRecordConfig.RecordID,
})
2026-08-30 09:13:15 +08:00
return err
2026-08-30 16:03:32 +08:00
}); err != nil {
return fmt.Errorf("删除阿里云DNS记录失败: %w", err)
2026-08-30 09:13:15 +08:00
}
2026-08-30 16:03:32 +08:00
2026-08-30 09:13:15 +08:00
return nil
2026-08-28 13:51:51 +08:00
}