Skip to content

Commit 80c583f

Browse files
author
brickzzhang
committed
[enhancement testacc, example and description]
1. enhancement testacc, example and description for both db resource and data source
1 parent d317895 commit 80c583f

13 files changed

+168
-54
lines changed

examples/tencentcloud-sqlserver/main.tf

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,14 @@ resource "tencentcloud_sqlserver_instance" "example" {
2626
storage = 10
2727
}
2828

29-
resource "tencentcloud_sqlserver_db" "mysqlserver_db" {
29+
resource "tencentcloud_sqlserver_db" "example" {
3030
instance_id = tencentcloud_sqlserver_instance.example.id
31-
name = "db_brickzzhang_update"
31+
name = "example"
3232
charset = "Chinese_PRC_BIN"
33-
remark = "test-remark-update"
33+
remark = "test-remark"
34+
}
35+
36+
data "tencentcloud_sqlserver_db" "example" {
37+
instance_id = tencentcloud_sqlserver_db.example.instance_id
38+
name = tencentcloud_sqlserver_db.example.name
39+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
variable "availability_zone" {
2+
default = "ap-guangzhou-3"
3+
}

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,8 @@ github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2 h1:Xr9gkxfOP0K
456456
github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM=
457457
github.com/tencentcloud/tencentcloud-sdk-go v3.0.187+incompatible h1:9hr93p945INwxa67N68EUJuIkUE2iGnMq/YZ6x3JHik=
458458
github.com/tencentcloud/tencentcloud-sdk-go v3.0.187+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4=
459+
github.com/tencentcloud/tencentcloud-sdk-go v3.0.189+incompatible h1:eLVHwxLW2HFvr48l5sqROircYlq6Lp39EXhyCkK6Jlw=
460+
github.com/tencentcloud/tencentcloud-sdk-go v3.0.189+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4=
459461
github.com/tencentcloud/tencentcloud-sdk-go v3.0.191+incompatible h1:cycv0fIQDSo9sjWkupzKnKMc+ZT8cKAfoq2WX3b8ozk=
460462
github.com/tencentcloud/tencentcloud-sdk-go v3.0.191+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4=
461463
github.com/tetafro/godot v0.3.7 h1:+mecr7RKrUKB5UQ1gwqEMn13sDKTyDR8KNIquB9mm+8=

tencentcloud/data_source_tc_sqlserver_db.go

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,45 @@ Use this data source to query DB resources for the specific SQLServer instance.
44
Example Usage
55
66
```hcl
7-
resource "tencentcloud_sqlserver_db" "mysqlserver_db" {
8-
instance_id = "mssql-XXXXXX"
9-
name = "sqlserver_db_terraform"
7+
variable "availability_zone"{
8+
default = "ap-guangzhou-2"
9+
}
10+
11+
resource "tencentcloud_vpc" "foo" {
12+
name = "example"
13+
cidr_block = "10.0.0.0/16"
14+
}
15+
16+
resource "tencentcloud_subnet" "foo" {
17+
name = "example"
18+
availability_zone = var.availability_zone
19+
vpc_id = tencentcloud_vpc.foo.id
20+
cidr_block = "10.0.0.0/24"
21+
is_multicast = false
22+
}
23+
24+
resource "tencentcloud_sqlserver_instance" "example" {
25+
name = "example"
26+
availability_zone = var.availability_zone
27+
charge_type = "POSTPAID_BY_HOUR"
28+
vpc_id = tencentcloud_vpc.foo.id
29+
subnet_id = tencentcloud_subnet.foo.id
30+
engine_version = "2008R2"
31+
project_id = 0
32+
memory = 2
33+
storage = 10
34+
}
35+
36+
resource "tencentcloud_sqlserver_db" "example" {
37+
instance_id = tencentcloud_sqlserver_instance.example.id
38+
name = "example"
1039
charset = "Chinese_PRC_BIN"
1140
remark = "test-remark"
1241
}
1342
14-
data "tencentcloud_sqlserver_db" "mysqlserver" {
15-
instance_id = tencentcloud_sqlserver_db.mysqlserver_db.instance_id
16-
name = tencentcloud_sqlserver_db.mysqlserver_db.name
43+
data "tencentcloud_sqlserver_db" "example" {
44+
instance_id = tencentcloud_sqlserver_db.example.instance_id
45+
name = tencentcloud_sqlserver_db.example.name
1746
}
1847
```
1948
*/

tencentcloud/data_source_tc_sqlserver_db_test.go

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,9 @@ func TestAccDataSourceTencentCloudSqlserverDB_basic(t *testing.T) {
2727
})
2828
}
2929

30-
const TestAccDataSourceTencentCloudSqlserverDB = `
31-
resource "tencentcloud_sqlserver_db" "foo" {
32-
instance_id = "mssql-3cdq7kx5"
33-
name = "testAccDatasourceSqlserverDB"
34-
charset = "Chinese_PRC_BIN"
35-
remark = "test-remark"
36-
}
37-
30+
const TestAccDataSourceTencentCloudSqlserverDB = testAccSqlserverDB_basic + `
3831
data "tencentcloud_sqlserver_db" "foo" {
39-
instance_id = tencentcloud_sqlserver_db.foo.instance_id
40-
name = tencentcloud_sqlserver_db.foo.name
32+
instance_id = tencentcloud_sqlserver_db.mysqlserver_db.instance_id
33+
name = tencentcloud_sqlserver_db.mysqlserver_db.name
4134
}
4235
`

tencentcloud/extension_sqlserver.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,3 @@ var SQLSERVER_DB_STATUS = map[int64]string{
5454
SQLSERVER_DB_MODIFYING: "modifying",
5555
SQLSERVER_DB_DELETING: "deleting",
5656
}
57-

tencentcloud/resource_tc_sqlserver_db.go

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,38 @@ Provides a SQLServer DB resource belongs to SQLServer instance.
44
Example Usage
55
66
```hcl
7-
resource "tencentcloud_sqlserver_db" "mysqlserver_db" {
8-
instance_id = "mssql-XXXXXX"
9-
name = "sqlserver_db_terraform"
7+
variable "availability_zone"{
8+
default = "ap-guangzhou-2"
9+
}
10+
11+
resource "tencentcloud_vpc" "foo" {
12+
name = "example"
13+
cidr_block = "10.0.0.0/16"
14+
}
15+
16+
resource "tencentcloud_subnet" "foo" {
17+
name = "example"
18+
availability_zone = var.availability_zone
19+
vpc_id = tencentcloud_vpc.foo.id
20+
cidr_block = "10.0.0.0/24"
21+
is_multicast = false
22+
}
23+
24+
resource "tencentcloud_sqlserver_instance" "example" {
25+
name = "example"
26+
availability_zone = var.availability_zone
27+
charge_type = "POSTPAID_BY_HOUR"
28+
vpc_id = tencentcloud_vpc.foo.id
29+
subnet_id = tencentcloud_subnet.foo.id
30+
engine_version = "2008R2"
31+
project_id = 0
32+
memory = 2
33+
storage = 10
34+
}
35+
36+
resource "tencentcloud_sqlserver_db" "example" {
37+
instance_id = tencentcloud_sqlserver_instance.example.id
38+
name = "example"
1039
charset = "Chinese_PRC_BIN"
1140
remark = "test-remark"
1241
}

tencentcloud/resource_tc_sqlserver_db_test.go

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,14 @@ func TestAccTencentCloudSqlserverDB_basic_and_update(t *testing.T) {
1616
CheckDestroy: testAccCheckSqlserverDBDestroy,
1717
Steps: []resource.TestStep{
1818
{
19-
Config: testAccSqlserverDB_basic(),
19+
Config: testAccSqlserverDB_basic,
2020
Check: resource.ComposeAggregateTestCheckFunc(
21-
testAccCheckSqlserverDBExists("tencentcloud_sqlserver_db.mysqlserver_db"),
22-
resource.TestCheckResourceAttr("tencentcloud_sqlserver_db.mysqlserver_db", "instance_id", "mssql-3cdq7kx5"),
2321
resource.TestCheckResourceAttr("tencentcloud_sqlserver_db.mysqlserver_db", "name", "testAccSqlserverDB"),
2422
resource.TestCheckResourceAttr("tencentcloud_sqlserver_db.mysqlserver_db", "charset", "Chinese_PRC_BIN"),
2523
resource.TestCheckResourceAttr("tencentcloud_sqlserver_db.mysqlserver_db", "remark", "testACC-remark"),
2624
resource.TestCheckResourceAttrSet("tencentcloud_sqlserver_db.mysqlserver_db", "create_time"),
2725
resource.TestCheckResourceAttrSet("tencentcloud_sqlserver_db.mysqlserver_db", "status"),
26+
resource.TestCheckResourceAttrSet("tencentcloud_sqlserver_db.mysqlserver_db", "instance_id"),
2827
),
2928
Destroy: false,
3029
},
@@ -34,7 +33,7 @@ func TestAccTencentCloudSqlserverDB_basic_and_update(t *testing.T) {
3433
ImportStateVerify: true,
3534
},
3635
{
37-
Config: testAccSqlserverDB_basic_update_remark(),
36+
Config: testAccSqlserverDB_basic_update_remark,
3837
Check: resource.ComposeAggregateTestCheckFunc(
3938
testAccCheckSqlserverDBExists("tencentcloud_sqlserver_db.mysqlserver_db"),
4039
resource.TestCheckResourceAttr("tencentcloud_sqlserver_db.mysqlserver_db", "remark", "testACC-remark_update"),
@@ -89,22 +88,18 @@ func testAccCheckSqlserverDBExists(n string) resource.TestCheckFunc {
8988
}
9089
}
9190

92-
func testAccSqlserverDB_basic() string {
93-
return `
91+
const testAccSqlserverDB_basic = testAccSqlserverInstance + `
9492
resource "tencentcloud_sqlserver_db" "mysqlserver_db" {
95-
instance_id = "mssql-3cdq7kx5"
93+
instance_id = tencentcloud_sqlserver_instance.test.id
9694
name = "testAccSqlserverDB"
9795
charset = "Chinese_PRC_BIN"
9896
remark = "testACC-remark"
9997
}`
100-
}
10198

102-
func testAccSqlserverDB_basic_update_remark() string {
103-
return `
99+
const testAccSqlserverDB_basic_update_remark = testAccSqlserverInstance + `
104100
resource "tencentcloud_sqlserver_db" "mysqlserver_db" {
105-
instance_id = "mssql-3cdq7kx5"
101+
instance_id = tencentcloud_sqlserver_instance.test.id
106102
name = "testAccSqlserverDB"
107103
charset = "Chinese_PRC_BIN"
108104
remark = "testACC-remark_update"
109105
}`
110-
}

tencentcloud/resource_tc_sqlserver_instance_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,13 @@ func testAccCheckSqlserverInstanceExists(n string) resource.TestCheckFunc {
120120

121121
const testAccSqlserverInstanceBasic = `
122122
variable "availability_zone"{
123-
default = "ap-guangzhou-2"
123+
default = "ap-guangzhou-2"
124124
}
125125
`
126126

127127
const testAccSqlserverInstance string = testAccSqlserverInstanceBasic + `
128128
resource "tencentcloud_sqlserver_instance" "test" {
129-
name = "tf_postsql_instance"
129+
name = "tf_sqlserver_instance"
130130
availability_zone = var.availability_zone
131131
charge_type = "POSTPAID_BY_HOUR"
132132
vpc_id = "` + defaultVpcId + `"
@@ -139,7 +139,7 @@ resource "tencentcloud_sqlserver_instance" "test" {
139139

140140
const testAccSqlserverInstanceUpdate string = testAccSqlserverInstanceBasic + `
141141
resource "tencentcloud_sqlserver_instance" "test" {
142-
name = "tf_postsql_instance_update"
142+
name = "tf_sqlserver_instance_update"
143143
availability_zone = var.availability_zone
144144
charge_type = "POSTPAID_BY_HOUR"
145145
vpc_id = "` + defaultVpcId + `"

tencentcloud/service_tencentcloud_sqlserver.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,16 @@ import (
88

99
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
1010
"github.com/pkg/errors"
11-
"github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/internal/helper"
12-
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
13-
"github.com/pkg/errors"
14-
"github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/internal/helper"
1511
sqlserver "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328"
1612
"github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/connectivity"
13+
"github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/internal/helper"
1714
"github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/ratelimit"
1815
)
1916

2017
type SqlserverService struct {
2118
client *connectivity.TencentCloudClient
2219
}
2320

24-
2521
func (me *SqlserverService) DescribeZones(ctx context.Context) (zoneInfoList []*sqlserver.ZoneInfo, errRet error) {
2622
logId := getLogId(ctx)
2723
request := sqlserver.NewDescribeZonesRequest()
@@ -355,7 +351,8 @@ func (me *SqlserverService) WaitForTaskFinish(ctx context.Context, flowId int64)
355351
})
356352
return
357353
}
358-
func (me *SqlserverService) CreateSqlserverDB(ctx context.Context, instanceID string, dbname string, charset string, remark string) (errRet error) {
354+
355+
func (me *SqlserverService) CreateSqlserverDB(ctx context.Context, instanceID string, dbname string, charset string, remark string) (errRet error) {
359356
logId := getLogId(ctx)
360357
request := sqlserver.NewCreateDBRequest()
361358

@@ -538,4 +535,4 @@ func (me *SqlserverService) DeleteSqlserverDB(ctx context.Context, instanceId st
538535
return me.WaitForTaskFinish(ctx, *response.Response.FlowId)
539536
}
540537
return
541-
}
538+
}

website/docs/d/sqlserver_db.html.markdown

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,45 @@ Use this data source to query DB resources for the specific SQLServer instance.
1313
## Example Usage
1414

1515
```hcl
16-
resource "tencentcloud_sqlserver_db" "mysqlserver_db" {
17-
instance_id = "mssql-XXXXXX"
18-
name = "sqlserver_db_terraform"
16+
variable "availability_zone" {
17+
default = "ap-guangzhou-2"
18+
}
19+
20+
resource "tencentcloud_vpc" "foo" {
21+
name = "example"
22+
cidr_block = "10.0.0.0/16"
23+
}
24+
25+
resource "tencentcloud_subnet" "foo" {
26+
name = "example"
27+
availability_zone = var.availability_zone
28+
vpc_id = tencentcloud_vpc.foo.id
29+
cidr_block = "10.0.0.0/24"
30+
is_multicast = false
31+
}
32+
33+
resource "tencentcloud_sqlserver_instance" "example" {
34+
name = "example"
35+
availability_zone = var.availability_zone
36+
charge_type = "POSTPAID_BY_HOUR"
37+
vpc_id = tencentcloud_vpc.foo.id
38+
subnet_id = tencentcloud_subnet.foo.id
39+
engine_version = "2008R2"
40+
project_id = 0
41+
memory = 2
42+
storage = 10
43+
}
44+
45+
resource "tencentcloud_sqlserver_db" "example" {
46+
instance_id = tencentcloud_sqlserver_instance.example.id
47+
name = "example"
1948
charset = "Chinese_PRC_BIN"
2049
remark = "test-remark"
2150
}
2251
23-
data "tencentcloud_sqlserver_db" "mysqlserver" {
24-
instance_id = tencentcloud_sqlserver_db.mysqlserver_db.instance_id
25-
name = tencentcloud_sqlserver_db.mysqlserver_db.name
52+
data "tencentcloud_sqlserver_db" "example" {
53+
instance_id = tencentcloud_sqlserver_db.example.instance_id
54+
name = tencentcloud_sqlserver_db.example.name
2655
}
2756
```
2857

website/docs/r/sqlserver_db.html.markdown

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,38 @@ Provides a SQLServer DB resource belongs to SQLServer instance.
1313
## Example Usage
1414

1515
```hcl
16-
resource "tencentcloud_sqlserver_db" "mysqlserver_db" {
17-
instance_id = "mssql-XXXXXX"
18-
name = "sqlserver_db_terraform"
16+
variable "availability_zone" {
17+
default = "ap-guangzhou-2"
18+
}
19+
20+
resource "tencentcloud_vpc" "foo" {
21+
name = "example"
22+
cidr_block = "10.0.0.0/16"
23+
}
24+
25+
resource "tencentcloud_subnet" "foo" {
26+
name = "example"
27+
availability_zone = var.availability_zone
28+
vpc_id = tencentcloud_vpc.foo.id
29+
cidr_block = "10.0.0.0/24"
30+
is_multicast = false
31+
}
32+
33+
resource "tencentcloud_sqlserver_instance" "example" {
34+
name = "example"
35+
availability_zone = var.availability_zone
36+
charge_type = "POSTPAID_BY_HOUR"
37+
vpc_id = tencentcloud_vpc.foo.id
38+
subnet_id = tencentcloud_subnet.foo.id
39+
engine_version = "2008R2"
40+
project_id = 0
41+
memory = 2
42+
storage = 10
43+
}
44+
45+
resource "tencentcloud_sqlserver_db" "example" {
46+
instance_id = tencentcloud_sqlserver_instance.example.id
47+
name = "example"
1948
charset = "Chinese_PRC_BIN"
2049
remark = "test-remark"
2150
}

website/tencentcloud.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -835,6 +835,9 @@
835835
<li>
836836
<a href="#">Resources</a>
837837
<ul class="nav nav-auto-expand">
838+
<li>
839+
<a href="/docs/providers/tencentcloud/r/sqlserver_db.html">tencentcloud_sqlserver_db</a>
840+
</li>
838841
<li>
839842
<a href="/docs/providers/tencentcloud/r/sqlserver_instance.html">tencentcloud_sqlserver_instance</a>
840843
</li>

0 commit comments

Comments
 (0)