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-09-12 15:32:27 +08:00
|
|
|
alidns "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
|
|
|
)
|
|
|
|
|
|
2026-09-12 15:32:27 +08:00
|
|
|
// DeleteRecord 用给定账号删除一条阿里云 DNS 解析记录
|
|
|
|
|
func DeleteRecord(ctx context.Context, account *AliDNSAccount, config *DeleteRecordConfig) error {
|
|
|
|
|
client, err := newClient(account.AK, account.SK)
|
2026-08-30 09:13:15 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2026-08-30 16:03:32 +08:00
|
|
|
if err := retry.Do(ctx, func() error {
|
2026-09-12 15:32:27 +08:00
|
|
|
_, err := client.DeleteDomainRecord(&alidns.DeleteDomainRecordRequest{
|
|
|
|
|
RecordId: &config.RecordID,
|
2026-08-30 16:03:32 +08:00
|
|
|
})
|
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
|
|
|
}
|