From ff66c67ffd7632894c0ccedaaa492c4a37bba36c Mon Sep 17 00:00:00 2001 From: vodyako Date: Sun, 7 Jul 2024 06:22:56 +0800 Subject: [PATCH] fix:On update failure, clear zoneID and recordIDs. --- updater/cloudflare/cloudflare.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/updater/cloudflare/cloudflare.go b/updater/cloudflare/cloudflare.go index be9754b..4ad26b8 100644 --- a/updater/cloudflare/cloudflare.go +++ b/updater/cloudflare/cloudflare.go @@ -123,6 +123,7 @@ func (c *Cloudflare) updateDNSRecord(ctx context.Context, recordType, ip string) _, err := c.client.UpdateDNSRecord(ctx, cloudflare.ZoneIdentifier(c.zoneID), updateParams) if err != nil { slog.Error("[CloudFlare] failed to update DNS record:", "error", err, "type", recordType) + delete(c.recordIDs, recordType) return err } slog.Info("[CloudFlare] DNS record updated successfully", "type", recordType, "ip", ip) @@ -133,6 +134,7 @@ func (c *Cloudflare) updateDNSRecord(ctx context.Context, recordType, ip string) dnsRecords, _, err := c.client.ListDNSRecords(ctx, cloudflare.ZoneIdentifier(c.zoneID), params) if err != nil { slog.Error("[CloudFlare] failed to list DNS records:", "error", err, "type", recordType) + c.zoneID = "" return err } @@ -151,6 +153,7 @@ func (c *Cloudflare) updateDNSRecord(ctx context.Context, recordType, ip string) _, err := c.client.UpdateDNSRecord(ctx, cloudflare.ZoneIdentifier(c.zoneID), updateParams) if err != nil { slog.Error("[CloudFlare] failed to update DNS record:", "error", err, "type", recordType) + delete(c.recordIDs, recordType) return err } slog.Info("[CloudFlare] DNS record updated successfully", "type", recordType, "ip", ip)