Skip to content

Commit 64f8528

Browse files
tongyimingmikatong
and
mikatong
authored
fix(dnspod): [123456789] dns-record weight update to 0 (#2770)
* fix dns record weight update to 0 * add changelog --------- Co-authored-by: mikatong <[email protected]>
1 parent c8b0352 commit 64f8528

File tree

3 files changed

+44
-12
lines changed

3 files changed

+44
-12
lines changed

.changelog/2770.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
resource/tencentcloud_dnspod_record: fix weight auto update to 0 when update value
3+
```

tencentcloud/services/dnspod/resource_tc_dnspod_record.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -235,19 +235,19 @@ func resourceTencentCloudDnspodRecordUpdate(d *schema.ResourceData, meta interfa
235235
request.Value = &value
236236
request.SubDomain = &subDomain
237237

238-
if d.HasChange("status") {
239-
status := d.Get("status").(string)
238+
if v, ok := d.GetOk("status"); ok {
239+
status := v.(string)
240240
request.Status = &status
241241
}
242242
if v, ok := d.GetOk("mx"); ok {
243243
request.MX = helper.IntUint64(v.(int))
244244
}
245-
if d.HasChange("ttl") {
246-
ttl := d.Get("ttl").(int)
245+
if v, ok := d.GetOk("ttl"); ok {
246+
ttl := v.(int)
247247
request.TTL = helper.IntUint64(ttl)
248248
}
249-
if d.HasChange("weight") {
250-
weight := d.Get("weight").(int)
249+
if v, ok := d.GetOk("weight"); ok {
250+
weight := v.(int)
251251
request.Weight = helper.IntUint64(weight)
252252
}
253253
d.Partial(true)

tencentcloud/services/dnspod/resource_tc_dnspod_record_test.go

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
func TestAccTencentCloudDnspodRecordResource_basic(t *testing.T) {
2121
t.Parallel()
2222
resource.Test(t, resource.TestCase{
23-
PreCheck: func() { tcacctest.AccPreCheckCommon(t, tcacctest.ACCOUNT_TYPE_PREPAY) },
23+
PreCheck: func() { tcacctest.AccPreCheck(t) },
2424
Providers: tcacctest.AccProviders,
2525
CheckDestroy: testAccCheckDnspodRecordDestroy,
2626
Steps: []resource.TestStep{
@@ -35,6 +35,7 @@ func TestAccTencentCloudDnspodRecordResource_basic(t *testing.T) {
3535
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "record_type", "A"),
3636
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "record_line", "默认"),
3737
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "remark", "terraform-test"),
38+
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "weight", "100"),
3839
),
3940
},
4041
{
@@ -48,6 +49,21 @@ func TestAccTencentCloudDnspodRecordResource_basic(t *testing.T) {
4849
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "record_type", "A"),
4950
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "record_line", "默认"),
5051
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "remark", "terraform-test1"),
52+
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "weight", "100"),
53+
),
54+
},
55+
{
56+
Config: testAccTencentCloudDnspodRecordValueUpdate,
57+
Check: resource.ComposeTestCheckFunc(
58+
testAccCheckDnspodRecordExists("tencentcloud_dnspod_record.demo"),
59+
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "domain", "iac-tf.cloud"),
60+
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "value", "1.2.3.10"),
61+
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "sub_domain", "demo"),
62+
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "status", "ENABLE"),
63+
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "record_type", "A"),
64+
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "record_line", "默认"),
65+
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "remark", "terraform-test1"),
66+
resource.TestCheckResourceAttr("tencentcloud_dnspod_record.demo", "weight", "100"),
5167
),
5268
},
5369
{
@@ -62,7 +78,7 @@ func TestAccTencentCloudDnspodRecordResource_basic(t *testing.T) {
6278
func TestAccTencentCloudDnspodRecordResource_MX(t *testing.T) {
6379
t.Parallel()
6480
resource.Test(t, resource.TestCase{
65-
PreCheck: func() { tcacctest.AccPreCheckCommon(t, tcacctest.ACCOUNT_TYPE_PREPAY) },
81+
PreCheck: func() { tcacctest.AccPreCheck(t) },
6682
Providers: tcacctest.AccProviders,
6783
CheckDestroy: testAccCheckDnspodRecordDestroy,
6884
Steps: []resource.TestStep{
@@ -182,24 +198,37 @@ func testAccCheckDnspodRecordDestroy(s *terraform.State) error {
182198
}
183199

184200
const testAccTencentCloudDnspodRecord = `
185-
resource "tencentcloud_dnspod_record" "demo" {
201+
resource "tencentcloud_dnspod_record" "demo" {
186202
domain="iac-tf.cloud"
187203
record_type="A"
188204
record_line="默认"
189205
value="1.2.3.9"
190206
sub_domain="demo"
191207
remark="terraform-test"
192-
}
208+
weight=100
209+
}
193210
`
194211
const testAccTencentCloudDnspodRecordRemarkUp = `
195-
resource "tencentcloud_dnspod_record" "demo" {
212+
resource "tencentcloud_dnspod_record" "demo" {
196213
domain="iac-tf.cloud"
197214
record_type="A"
198215
record_line="默认"
199216
value="1.2.3.9"
200217
sub_domain="demo"
201218
remark="terraform-test1"
202-
}
219+
weight=100
220+
}
221+
`
222+
const testAccTencentCloudDnspodRecordValueUpdate = `
223+
resource "tencentcloud_dnspod_record" "demo" {
224+
domain="iac-tf.cloud"
225+
record_type="A"
226+
record_line="默认"
227+
value="1.2.3.10"
228+
sub_domain="demo"
229+
remark="terraform-test1"
230+
weight=100
231+
}
203232
`
204233

205234
const testAccTencentCloudDnspodRecordMx = `

0 commit comments

Comments
 (0)