Skip to content

Commit 0dcc12c

Browse files
committed
fix(domain): ensure scaleway_domain_record updates on apply
1 parent b715e75 commit 0dcc12c

14 files changed

+3786
-3495
lines changed

internal/services/domain/record.go

+2-6
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,6 @@ func resourceDomainRecordRead(ctx context.Context, d *schema.ResourceData, m int
327327

328328
var err error
329329

330-
currentData := d.Get("data")
331330
// check if this is an inline import. Like: "terraform import scaleway_domain_record.www subdomain.domain.tld/11111111-1111-1111-1111-111111111111"
332331
if strings.Contains(d.Id(), "/") {
333332
tab := strings.Split(d.Id(), "/")
@@ -410,16 +409,13 @@ func resourceDomainRecordRead(ctx context.Context, d *schema.ResourceData, m int
410409

411410
// get the default first record
412411
projectID = dnsZones.DNSZones[0].ProjectID
413-
_ = d.Set("root_zone", dnsZones.DNSZones[0].Subdomain == "")
414-
415-
// retrieve data from record
416-
currentData = flattenDomainData(record.Data, record.Type).(string)
417412

413+
_ = d.Set("root_zone", dnsZones.DNSZones[0].Subdomain == "")
418414
d.SetId(record.ID)
419415
_ = d.Set("dns_zone", dnsZone)
420416
_ = d.Set("name", record.Name)
421417
_ = d.Set("type", record.Type.String())
422-
_ = d.Set("data", currentData.(string))
418+
_ = d.Set("data", flattenDomainData(record.Data, record.Type).(string))
423419
_ = d.Set("ttl", int(record.TTL))
424420
_ = d.Set("priority", int(record.Priority))
425421
_ = d.Set("geo_ip", flattenDomainGeoIP(record.GeoIPConfig))

internal/services/domain/record_test.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ func TestAccDomainRecord_Basic(t *testing.T) {
141141
dns_zone = %[1]q
142142
name = "record_mx"
143143
type = "MX"
144-
data = "ASPMX.L.GOOGLE.COM."
144+
data = "aspmx.l.google.com."
145145
ttl = 600
146146
priority = 1
147147
}
@@ -151,7 +151,7 @@ func TestAccDomainRecord_Basic(t *testing.T) {
151151
resource.TestCheckResourceAttr("scaleway_domain_record.tf_MX", "dns_zone", testDNSZone),
152152
resource.TestCheckResourceAttr("scaleway_domain_record.tf_MX", "name", "record_mx"),
153153
resource.TestCheckResourceAttr("scaleway_domain_record.tf_MX", "type", "MX"),
154-
resource.TestCheckResourceAttr("scaleway_domain_record.tf_MX", "data", "ASPMX.L.GOOGLE.COM."),
154+
resource.TestCheckResourceAttr("scaleway_domain_record.tf_MX", "data", "aspmx.l.google.com."),
155155
resource.TestCheckResourceAttr("scaleway_domain_record.tf_MX", "ttl", "600"),
156156
resource.TestCheckResourceAttr("scaleway_domain_record.tf_MX", "priority", "1"),
157157
resource.TestCheckResourceAttr("scaleway_domain_record.tf_MX", "fqdn", "record_mx."+testDNSZone),
@@ -194,15 +194,16 @@ func TestAccDomainRecord_Basic2(t *testing.T) {
194194
dns_zone = %[1]q
195195
name = ""
196196
type = "MX"
197-
data = "10 feedback-smtp.eu-west-1.amazonses.com."
197+
data = "feedback-smtp.eu-west-1.amazonses.com."
198+
priority = 10
198199
ttl = 300
199200
}
200201
201202
resource "scaleway_domain_record" "mx" {
202203
dns_zone = %[1]q
203204
name = ""
204205
type = "MX"
205-
data = "0 mail.scaleway.com."
206+
data = "mail.scaleway.com."
206207
ttl = 300
207208
}
208209
@@ -229,7 +230,7 @@ func TestAccDomainRecord_Basic2(t *testing.T) {
229230
resource.TestCheckResourceAttr("scaleway_domain_record.aws_mx", "dns_zone", testDNSZone),
230231
resource.TestCheckResourceAttr("scaleway_domain_record.aws_mx", "name", ""),
231232
resource.TestCheckResourceAttr("scaleway_domain_record.aws_mx", "type", "MX"),
232-
resource.TestCheckResourceAttr("scaleway_domain_record.aws_mx", "data", "10 feedback-smtp.eu-west-1.amazonses.com."),
233+
resource.TestCheckResourceAttr("scaleway_domain_record.aws_mx", "data", "feedback-smtp.eu-west-1.amazonses.com."),
233234
resource.TestCheckResourceAttr("scaleway_domain_record.aws_mx", "ttl", "300"),
234235
resource.TestCheckResourceAttr("scaleway_domain_record.aws_mx", "priority", "10"),
235236
acctest.CheckResourceAttrUUID("scaleway_domain_record.aws_mx", "id"),
@@ -728,8 +729,8 @@ func TestAccDomainRecord_CNAME(t *testing.T) {
728729

729730
name := "tf"
730731
recordType := "CNAME"
731-
data := "xxx.scw.cloud"
732-
dataUpdated := "yyy.scw.cloud"
732+
data := "xxx.scw.cloud."
733+
dataUpdated := "yyy.scw.cloud."
733734
ttl := 3600
734735
ttlUpdated := 43200
735736
priority := 0

0 commit comments

Comments
 (0)