Skip to content

Commit 91dc1b2

Browse files
committed
chore(cloudflare): migrate DeleteDNSRecord() to new lib
1 parent 5181b3f commit 91dc1b2

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

provider/cloudflare/cloudflare.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ type cloudFlareDNS interface {
112112
GetZone(ctx context.Context, zoneID string) (*zones.Zone, error)
113113
ListDNSRecords(ctx context.Context, rc *cloudflarev0.ResourceContainer, rp cloudflarev0.ListDNSRecordsParams) ([]dns.RecordResponse, *cloudflarev0.ResultInfo, error)
114114
CreateDNSRecord(ctx context.Context, rc *cloudflarev0.ResourceContainer, rp cloudflarev0.CreateDNSRecordParams) (dns.RecordResponse, error)
115-
DeleteDNSRecord(ctx context.Context, rc *cloudflarev0.ResourceContainer, recordID string) error
115+
DeleteDNSRecord(ctx context.Context, recordID string, params dns.RecordDeleteParams) error
116116
UpdateDNSRecord(ctx context.Context, rc *cloudflarev0.ResourceContainer, rp cloudflarev0.UpdateDNSRecordParams) error
117117
ListDataLocalizationRegionalHostnames(ctx context.Context, params addressing.RegionalHostnameListParams) autoPager[addressing.RegionalHostnameListResponse]
118118
CreateDataLocalizationRegionalHostname(ctx context.Context, params addressing.RegionalHostnameNewParams) error
@@ -167,8 +167,9 @@ func (z zoneService) UpdateDNSRecord(ctx context.Context, rc *cloudflarev0.Resou
167167
return err
168168
}
169169

170-
func (z zoneService) DeleteDNSRecord(ctx context.Context, rc *cloudflarev0.ResourceContainer, recordID string) error {
171-
return z.serviceV0.DeleteDNSRecord(ctx, rc, recordID)
170+
func (z zoneService) DeleteDNSRecord(ctx context.Context, recordID string, params dns.RecordDeleteParams) error {
171+
_, err := z.service.DNS.Records.Delete(ctx, recordID, params)
172+
return err
172173
}
173174

174175
func (z zoneService) ListZones(ctx context.Context, params zones.ZoneListParams) autoPager[zones.Zone] {
@@ -302,6 +303,13 @@ func getCreateDNSRecordParam(cfc cloudFlareChange) cloudflarev0.CreateDNSRecordP
302303
return params
303304
}
304305

306+
// getDeleteDNSRecordParam is a function that returns the appropriate Record Delete Param based on the zoneID passed in
307+
func getDeleteDNSRecordParam(zoneID string) dns.RecordDeleteParams {
308+
return dns.RecordDeleteParams{
309+
ZoneID: cloudflare.F(zoneID),
310+
}
311+
}
312+
305313
func convertCloudflareError(err error) error {
306314
var apiErr *cloudflarev0.Error
307315
if errors.As(err, &apiErr) {
@@ -675,7 +683,8 @@ func (p *CloudFlareProvider) submitChanges(ctx context.Context, changes []*cloud
675683
log.WithFields(logFields).Errorf("failed to find previous record: %v", change.ResourceRecord)
676684
continue
677685
}
678-
err := p.Client.DeleteDNSRecord(ctx, resourceContainer, recordID)
686+
recordParam := getDeleteDNSRecordParam(zoneID)
687+
err := p.Client.DeleteDNSRecord(ctx, recordID, recordParam)
679688
if err != nil {
680689
failedChange = true
681690
log.WithFields(logFields).Errorf("failed to delete record: %v", err)

provider/cloudflare/cloudflare_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ func (m *mockCloudFlareClient) ListDNSRecords(ctx context.Context, rc *cloudflar
184184
if zone, ok := m.Records[rc.Identifier]; ok {
185185
for _, record := range zone {
186186
if strings.HasPrefix(record.Name, "newerror-list-") {
187-
m.DeleteDNSRecord(ctx, rc, record.ID)
187+
m.DeleteDNSRecord(ctx, record.ID, getDeleteDNSRecordParam(rc.Identifier))
188188
return nil, &cloudflarev0.ResultInfo{}, errors.New("failed to list erroring DNS record")
189189
}
190190
result = append(result, record)
@@ -240,13 +240,14 @@ func (m *mockCloudFlareClient) UpdateDNSRecord(ctx context.Context, rc *cloudfla
240240
return nil
241241
}
242242

243-
func (m *mockCloudFlareClient) DeleteDNSRecord(ctx context.Context, rc *cloudflarev0.ResourceContainer, recordID string) error {
243+
func (m *mockCloudFlareClient) DeleteDNSRecord(ctx context.Context, recordID string, params dns.RecordDeleteParams) error {
244+
zoneID := params.ZoneID.String()
244245
m.Actions = append(m.Actions, MockAction{
245246
Name: "Delete",
246-
ZoneId: rc.Identifier,
247+
ZoneId: zoneID,
247248
RecordId: recordID,
248249
})
249-
if zone, ok := m.Records[rc.Identifier]; ok {
250+
if zone, ok := m.Records[zoneID]; ok {
250251
if _, ok := zone[recordID]; ok {
251252
name := zone[recordID].Name
252253
delete(zone, recordID)

0 commit comments

Comments
 (0)