Skip to content

Commit 1508e8b

Browse files
author
brickzzhang
committed
[modify tencentcloud_sqlserver_zone_configs and tencentcloud_sqlserver_dbs]
1. modify name of tencentcloud_sqlserver_zone_configs 2. adjust field format of tencentcloud_sqlserver_dbs
1 parent 80c583f commit 1508e8b

9 files changed

+95
-87
lines changed

examples/tencentcloud-sqlserver/main.tf

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
data "tencentcloud_sqlserver_zone_config" "foo" {
1+
data "tencentcloud_sqlserver_zone_configs" "foo" {
22
}
33

44
resource "tencentcloud_vpc" "foo" {
@@ -35,5 +35,4 @@ resource "tencentcloud_sqlserver_db" "example" {
3535

3636
data "tencentcloud_sqlserver_db" "example" {
3737
instance_id = tencentcloud_sqlserver_db.example.instance_id
38-
name = tencentcloud_sqlserver_db.example.name
3938
}

tencentcloud/data_source_tc_sqlserver_db.go renamed to tencentcloud/data_source_tc_sqlserver_dbs.go

Lines changed: 48 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ resource "tencentcloud_sqlserver_db" "example" {
4242
4343
data "tencentcloud_sqlserver_db" "example" {
4444
instance_id = tencentcloud_sqlserver_db.example.instance_id
45-
name = tencentcloud_sqlserver_db.example.name
4645
}
4746
```
4847
*/
@@ -56,7 +55,7 @@ import (
5655
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
5756
)
5857

59-
func dataSourceTencentSqlserverDB() *schema.Resource {
58+
func dataSourceTencentSqlserverDBs() *schema.Resource {
6059
return &schema.Resource{
6160
Read: dataSourceTencentSqlserverDBRead,
6261
Schema: map[string]*schema.Schema{
@@ -70,31 +69,40 @@ func dataSourceTencentSqlserverDB() *schema.Resource {
7069
Required: true,
7170
Description: "SQLServer instance ID which DB belongs to.",
7271
},
73-
"name": {
74-
Type: schema.TypeString,
75-
Required: true,
76-
Description: "Name of DB.",
77-
},
7872
// Computed
79-
"charset": {
80-
Type: schema.TypeString,
73+
"db_list": {
74+
Type: schema.TypeList,
8175
Computed: true,
82-
Description: "Character set DB uses, could be `Chinese_PRC_CI_AS`, `Chinese_PRC_CS_AS`, `Chinese_PRC_BIN`, `Chinese_Taiwan_Stroke_CI_AS`, `SQL_Latin1_General_CP1_CI_AS`, and `SQL_Latin1_General_CP1_CS_AS`. Default value is `Chinese_PRC_CI_AS`.",
83-
},
84-
"remark": {
85-
Type: schema.TypeString,
86-
Computed: true,
87-
Description: "Remark of the DB.",
88-
},
89-
"create_time": {
90-
Type: schema.TypeString,
91-
Computed: true,
92-
Description: "Database creation time.",
93-
},
94-
"status": {
95-
Type: schema.TypeString,
96-
Computed: true,
97-
Description: "Database status. Valid values are `creating`, `running`, `modifying`, `dropping`.",
76+
Description: "A list of dbs belong to the specific instance. Each element contains the following attributes:",
77+
Elem: &schema.Resource{
78+
Schema: map[string]*schema.Schema{
79+
"name": {
80+
Type: schema.TypeString,
81+
Computed: true,
82+
Description: "Name of DB.",
83+
},
84+
"charset": {
85+
Type: schema.TypeString,
86+
Computed: true,
87+
Description: "Character set DB uses, could be `Chinese_PRC_CI_AS`, `Chinese_PRC_CS_AS`, `Chinese_PRC_BIN`, `Chinese_Taiwan_Stroke_CI_AS`, `SQL_Latin1_General_CP1_CI_AS`, and `SQL_Latin1_General_CP1_CS_AS`. Default value is `Chinese_PRC_CI_AS`.",
88+
},
89+
"remark": {
90+
Type: schema.TypeString,
91+
Computed: true,
92+
Description: "Remark of the DB.",
93+
},
94+
"create_time": {
95+
Type: schema.TypeString,
96+
Computed: true,
97+
Description: "Database creation time.",
98+
},
99+
"status": {
100+
Type: schema.TypeString,
101+
Computed: true,
102+
Description: "Database status. Valid values are `creating`, `running`, `modifying`, `dropping`.",
103+
},
104+
},
105+
},
98106
},
99107
},
100108
}
@@ -116,26 +124,28 @@ func dataSourceTencentSqlserverDBRead(d *schema.ResourceData, meta interface{})
116124
if !has {
117125
return fmt.Errorf("[CRITAL]%s SQLServer instance %s dose not exist", logId, instanceId)
118126
}
127+
_ = d.Set("instance_id", instanceId)
119128

120-
dbName := d.Get("name").(string)
121-
id := instanceId + FILED_SP + dbName
122-
dbInfo, has, err := sqlserverService.DescribeDBDetailsById(ctx, id)
129+
dbInfos, err := sqlserverService.DescribeDBsOfInstance(ctx, instanceId)
123130
if err != nil {
124131
return err
125132
}
126-
if !has {
127-
return fmt.Errorf("[CRITAL]%s DB %s doesn't exist for SQLServer instance %s", logId, dbName, instanceId)
133+
134+
var dbList []map[string]interface{}
135+
for _, item := range dbInfos {
136+
var dbInfo = make(map[string]interface{})
137+
dbInfo["name"] = item.Name
138+
dbInfo["charset"] = item.Charset
139+
dbInfo["remark"] = item.Remark
140+
dbInfo["create_time"] = item.CreateTime
141+
dbInfo["status"] = SQLSERVER_DB_STATUS[*item.Status]
142+
dbList = append(dbList, dbInfo)
128143
}
129-
_ = d.Set("instance_id", instanceId)
130-
_ = d.Set("name", dbName)
131-
_ = d.Set("charset", dbInfo.Charset)
132-
_ = d.Set("remark", dbInfo.Remark)
133-
_ = d.Set("create_time", dbInfo.CreateTime)
134-
_ = d.Set("status", SQLSERVER_DB_STATUS[*dbInfo.Status])
135-
d.SetId(id)
144+
_ = d.Set("db_list", dbList)
145+
d.SetId(instanceId)
136146

137147
if output, ok := d.GetOk("result_output_file"); ok && output.(string) != "" {
138-
if err := writeToFile(output.(string), id); err != nil {
148+
if err := writeToFile(output.(string), dbList); err != nil {
139149
log.Printf("[CRITAL]%s output file[%s] fail, reason[%s]\n",
140150
logId, output.(string), err.Error())
141151
}

tencentcloud/data_source_tc_sqlserver_db_test.go renamed to tencentcloud/data_source_tc_sqlserver_dbs_test.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,29 @@ import (
66
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
77
)
88

9-
func TestAccDataSourceTencentCloudSqlserverDB_basic(t *testing.T) {
9+
func TestAccDataSourceTencentCloudSqlserverDBs_basic(t *testing.T) {
1010
resource.Test(t, resource.TestCase{
1111
PreCheck: func() { testAccPreCheck(t) },
1212
Providers: testAccProviders,
1313
Steps: []resource.TestStep{
1414
{
1515
Config: TestAccDataSourceTencentCloudSqlserverDB,
1616
Check: resource.ComposeTestCheckFunc(
17-
testAccCheckTencentCloudDataSourceID("data.tencentcloud_sqlserver_db.foo"),
18-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_db.foo", "instance_id"),
19-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_db.foo", "name"),
20-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_db.foo", "charset"),
21-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_db.foo", "remark"),
22-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_db.foo", "create_time"),
23-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_db.foo", "status"),
17+
testAccCheckTencentCloudDataSourceID("data.tencentcloud_sqlserver_dbs.foo"),
18+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_dbs.foo", "instance_id"),
19+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_dbs.foo", "db_list.0.name"),
20+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_dbs.foo", "db_list.0.charset"),
21+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_dbs.foo", "db_list.0.remark"),
22+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_dbs.foo", "db_list.0.create_time"),
23+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_dbs.foo", "db_list.0.status"),
2424
),
2525
},
2626
},
2727
})
2828
}
2929

3030
const TestAccDataSourceTencentCloudSqlserverDB = testAccSqlserverDB_basic + `
31-
data "tencentcloud_sqlserver_db" "foo" {
31+
data "tencentcloud_sqlserver_dbs" "foo" {
3232
instance_id = tencentcloud_sqlserver_db.mysqlserver_db.instance_id
33-
name = tencentcloud_sqlserver_db.mysqlserver_db.name
3433
}
3534
`

tencentcloud/data_source_tc_sqlserver_zone_config.go renamed to tencentcloud/data_source_tc_sqlserver_zone_configs.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Use this data source to query purchasable specification configuration for each a
44
Example Usage
55
66
```hcl
7-
data "tencentcloud_sqlserver_zone_config" "mysqlserver" {
7+
data "tencentcloud_sqlserver_zone_configs" "mysqlserver" {
88
}
99
```
1010
*/
@@ -18,7 +18,7 @@ import (
1818
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
1919
)
2020

21-
func dataSourceTencentSqlserverZoneConfig() *schema.Resource {
21+
func dataSourceTencentSqlserverZoneConfigs() *schema.Resource {
2222
return &schema.Resource{
2323
Read: dataSourceTencentSqlserverZoneConfigRead,
2424
Schema: map[string]*schema.Schema{

tencentcloud/data_source_tc_sqlserver_zone_config_test.go renamed to tencentcloud/data_source_tc_sqlserver_zone_configs_test.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,34 @@ import (
66
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
77
)
88

9-
func TestAccDataSourceTencentCloudSqlserverZoneConfig_basic(t *testing.T) {
9+
func TestAccDataSourceTencentCloudSqlserverZoneConfigs_basic(t *testing.T) {
1010
resource.Test(t, resource.TestCase{
1111
PreCheck: func() { testAccPreCheck(t) },
1212
Providers: testAccProviders,
1313
Steps: []resource.TestStep{
1414
{
1515
Config: TestAccDataSourceTencentCloudSqlserverZoneConfig,
1616
Check: resource.ComposeTestCheckFunc(
17-
testAccCheckTencentCloudDataSourceID("data.tencentcloud_sqlserver_zone_config.foo"),
18-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.availability_zone"),
19-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.zone_id"),
20-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.spec_id"),
21-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.machine_type"),
22-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.db_version"),
23-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.db_version_name"),
24-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.memory"),
25-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.cpu"),
26-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.min_storage_size"),
27-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.max_storage_size"),
28-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.qps"),
29-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.charge_type"),
17+
testAccCheckTencentCloudDataSourceID("data.tencentcloud_sqlserver_zone_configs.foo"),
18+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.availability_zone"),
19+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.zone_id"),
20+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.specinfo_list.0.spec_id"),
21+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.specinfo_list.0.machine_type"),
22+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.specinfo_list.0.db_version"),
23+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.specinfo_list.0.db_version_name"),
24+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.specinfo_list.0.memory"),
25+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.specinfo_list.0.cpu"),
26+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.specinfo_list.0.min_storage_size"),
27+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.specinfo_list.0.max_storage_size"),
28+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.specinfo_list.0.qps"),
29+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_configs.foo", "zone_list.0.specinfo_list.0.charge_type"),
3030
),
3131
},
3232
},
3333
})
3434
}
3535

3636
const TestAccDataSourceTencentCloudSqlserverZoneConfig = `
37-
data "tencentcloud_sqlserver_zone_config" "foo" {
37+
data "tencentcloud_sqlserver_zone_configs" "foo" {
3838
}
3939
`

tencentcloud/provider.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -313,11 +313,11 @@ Serverless Cloud Function(SCF)
313313
314314
SQLServer
315315
Data Source
316-
tencentcloud_sqlserver_zone_config
317-
tencentcloud_sqlserver_db
316+
tencentcloud_sqlserver_zone_configs
317+
tencentcloud_sqlserver_dbs
318318
319319
Resource
320-
tencentcloud_sqlserver_instance
320+
tencentcloud_sqlserver_instance
321321
tencentcloud_sqlserver_db
322322
323323
@@ -602,8 +602,8 @@ func Provider() terraform.ResourceProvider {
602602
"tencentcloud_elasticsearch_instances": dataSourceTencentCloudElasticsearchInstances(),
603603
"tencentcloud_postgresql_instances": dataSourceTencentCloudPostgresqlInstances(),
604604
"tencentcloud_postgresql_specinfos": dataSourceTencentCloudPostgresqlSpecinfos(),
605-
"tencentcloud_sqlserver_zone_config": dataSourceTencentSqlserverZoneConfig(),
606-
"tencentcloud_sqlserver_db": dataSourceTencentSqlserverDB(),
605+
"tencentcloud_sqlserver_zone_configs": dataSourceTencentSqlserverZoneConfigs(),
606+
"tencentcloud_sqlserver_dbs": dataSourceTencentSqlserverDBs(),
607607
},
608608

609609
ResourcesMap: map[string]*schema.Resource{

website/docs/d/sqlserver_db.html.markdown renamed to website/docs/d/sqlserver_dbs.html.markdown

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
22
layout: "tencentcloud"
3-
page_title: "TencentCloud: tencentcloud_sqlserver_db"
4-
sidebar_current: "docs-tencentcloud-datasource-sqlserver_db"
3+
page_title: "TencentCloud: tencentcloud_sqlserver_dbs"
4+
sidebar_current: "docs-tencentcloud-datasource-sqlserver_dbs"
55
description: |-
66
Use this data source to query DB resources for the specific SQLServer instance.
77
---
88

9-
# tencentcloud_sqlserver_db
9+
# tencentcloud_sqlserver_dbs
1010

1111
Use this data source to query DB resources for the specific SQLServer instance.
1212

@@ -51,7 +51,6 @@ resource "tencentcloud_sqlserver_db" "example" {
5151
5252
data "tencentcloud_sqlserver_db" "example" {
5353
instance_id = tencentcloud_sqlserver_db.example.instance_id
54-
name = tencentcloud_sqlserver_db.example.name
5554
}
5655
```
5756

@@ -60,16 +59,17 @@ data "tencentcloud_sqlserver_db" "example" {
6059
The following arguments are supported:
6160

6261
* `instance_id` - (Required) SQLServer instance ID which DB belongs to.
63-
* `name` - (Required) Name of DB.
6462
* `result_output_file` - (Optional) Used to store results.
6563

6664
## Attributes Reference
6765

6866
In addition to all arguments above, the following attributes are exported:
6967

70-
* `charset` - Character set DB uses, could be `Chinese_PRC_CI_AS`, `Chinese_PRC_CS_AS`, `Chinese_PRC_BIN`, `Chinese_Taiwan_Stroke_CI_AS`, `SQL_Latin1_General_CP1_CI_AS`, and `SQL_Latin1_General_CP1_CS_AS`. Default value is `Chinese_PRC_CI_AS`.
71-
* `create_time` - Database creation time.
72-
* `remark` - Remark of the DB.
73-
* `status` - Database status. Valid values are `creating`, `running`, `modifying`, `dropping`.
68+
* `db_list` - A list of dbs belong to the specific instance. Each element contains the following attributes:
69+
* `charset` - Character set DB uses, could be `Chinese_PRC_CI_AS`, `Chinese_PRC_CS_AS`, `Chinese_PRC_BIN`, `Chinese_Taiwan_Stroke_CI_AS`, `SQL_Latin1_General_CP1_CI_AS`, and `SQL_Latin1_General_CP1_CS_AS`. Default value is `Chinese_PRC_CI_AS`.
70+
* `create_time` - Database creation time.
71+
* `name` - Name of DB.
72+
* `remark` - Remark of the DB.
73+
* `status` - Database status. Valid values are `creating`, `running`, `modifying`, `dropping`.
7474

7575

website/docs/d/sqlserver_zone_config.html.markdown renamed to website/docs/d/sqlserver_zone_configs.html.markdown

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
---
22
layout: "tencentcloud"
3-
page_title: "TencentCloud: tencentcloud_sqlserver_zone_config"
4-
sidebar_current: "docs-tencentcloud-datasource-sqlserver_zone_config"
3+
page_title: "TencentCloud: tencentcloud_sqlserver_zone_configs"
4+
sidebar_current: "docs-tencentcloud-datasource-sqlserver_zone_configs"
55
description: |-
66
Use this data source to query purchasable specification configuration for each availability zone in this specific region.
77
---
88

9-
# tencentcloud_sqlserver_zone_config
9+
# tencentcloud_sqlserver_zone_configs
1010

1111
Use this data source to query purchasable specification configuration for each availability zone in this specific region.
1212

1313
## Example Usage
1414

1515
```hcl
16-
data "tencentcloud_sqlserver_zone_config" "mysqlserver" {
16+
data "tencentcloud_sqlserver_zone_configs" "mysqlserver" {
1717
}
1818
```
1919

website/tencentcloud.erb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -825,10 +825,10 @@
825825
<a href="#">Data Sources</a>
826826
<ul class="nav nav-auto-expand">
827827
<li>
828-
<a href="/docs/providers/tencentcloud/d/sqlserver_db.html">tencentcloud_sqlserver_db</a>
828+
<a href="/docs/providers/tencentcloud/d/sqlserver_dbs.html">tencentcloud_sqlserver_dbs</a>
829829
</li>
830830
<li>
831-
<a href="/docs/providers/tencentcloud/d/sqlserver_zone_config.html">tencentcloud_sqlserver_zone_config</a>
831+
<a href="/docs/providers/tencentcloud/d/sqlserver_zone_configs.html">tencentcloud_sqlserver_zone_configs</a>
832832
</li>
833833
</ul>
834834
</li>

0 commit comments

Comments
 (0)