Skip to content

Commit a3c4a72

Browse files
authored
Merge branch 'master' into master
2 parents 8933265 + 1b802af commit a3c4a72

File tree

3 files changed

+409
-1089
lines changed

3 files changed

+409
-1089
lines changed

internal/services/domain/record.go

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -495,51 +495,5 @@ func resourceDomainRecordDelete(ctx context.Context, d *schema.ResourceData, m a
495495

496496
d.SetId("")
497497

498-
// for non-root zone, if the zone have only NS records, then delete the zone
499-
if d.Get("root_zone").(bool) {
500-
return nil
501-
}
502-
503-
res, err := domainAPI.ListDNSZoneRecords(&domain.ListDNSZoneRecordsRequest{
504-
DNSZone: d.Get("dns_zone").(string),
505-
})
506-
if err != nil {
507-
if httperrors.Is404(err) || httperrors.Is403(err) {
508-
return nil
509-
}
510-
511-
return diag.FromErr(err)
512-
}
513-
514-
for _, r := range res.Records {
515-
if r.Type != domain.RecordTypeNS {
516-
// The zone isn't empty, keep it
517-
return nil
518-
}
519-
520-
tflog.Debug(ctx, fmt.Sprintf("record [%s], type [%s]", r.Name, r.Type))
521-
}
522-
523-
_, err = waitForDNSZone(ctx, domainAPI, d.Get("dns_zone").(string), d.Timeout(schema.TimeoutDelete))
524-
if err != nil {
525-
if httperrors.Is404(err) || httperrors.Is403(err) {
526-
return nil
527-
}
528-
529-
return diag.FromErr(err)
530-
}
531-
532-
_, err = domainAPI.DeleteDNSZone(&domain.DeleteDNSZoneRequest{
533-
DNSZone: d.Get("dns_zone").(string),
534-
ProjectID: d.Get("project_id").(string),
535-
})
536-
if err != nil {
537-
if httperrors.Is404(err) || httperrors.Is403(err) {
538-
return nil
539-
}
540-
541-
return diag.FromErr(err)
542-
}
543-
544498
return nil
545499
}

internal/services/domain/record_test.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -831,8 +831,11 @@ func testAccCheckDomainRecordDestroy(tt *acctest.TestTools) resource.TestCheckFu
831831
return fmt.Errorf("failed to check if domain zone exists: %w", err)
832832
}
833833

834-
if listDNSZones.TotalCount > 0 {
835-
return fmt.Errorf("zone %s still exist", rs.Primary.Attributes["dns_zone"])
834+
// Check if the specific record still exists
835+
for _, record := range listDNSZones.Records {
836+
if record.ID == rs.Primary.ID {
837+
return fmt.Errorf("record %s still exists in zone %s", rs.Primary.ID, rs.Primary.Attributes["dns_zone"])
838+
}
836839
}
837840

838841
return nil

0 commit comments

Comments
 (0)