Skip to content

Commit c5b7ec1

Browse files
authored
feat/sqlserver (#2383)
* feat/sqlserver * feat/sqlserver * feat/sqlserver * feat/sqlserver * feat/sqlserver * feat/sqlserver * add * add
1 parent 696d22c commit c5b7ec1

File tree

14 files changed

+8128
-2807
lines changed

14 files changed

+8128
-2807
lines changed

.changelog/2383.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_sqlserver_basic_instance: Support set `collect` param.
3+
```
4+
5+
```release-note:enhancement
6+
resource/tencentcloud_sqlserver_general_cloud_instance: Support more db version.
7+
```

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ require (
7878
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.0.807
7979
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ses v1.0.748
8080
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.486
81-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.689
81+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.812
8282
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.0.750
8383
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssm v1.0.691
8484
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts v1.0.524

go.sum

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -922,6 +922,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.807/go.mod
922922
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.810/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
923923
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.811 h1:h2IyLDwqrgyN31RwRXVX99ZhwPZYMXEzvW+MGlRXH44=
924924
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.811/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
925+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.812/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
925926
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.814 h1:U1BAjbwmFNg5d9K5syyZh/ELL/70yTNPYQgTuCEmuxk=
926927
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.814/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
927928
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
@@ -996,6 +997,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.486 h1:eHLaL+h
996997
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.486/go.mod h1:MSsho0YlAsoPCOMqdBfwqGd/SMQ0FTGh0a6emBy2X+g=
997998
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.689 h1:SWmtQo+FO+QneHfwcl7u/4YnSwgxVjXNyJMn9+WlzmI=
998999
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.689/go.mod h1:nRLv9M2dJm5gH5xlwg8KSJ30g5qOO07mkAePzXoEGVM=
1000+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.812 h1:h44sPNTOANpDZBkZa+q2hIwdQ5Vssyu+/l+GXcSjEps=
1001+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.812/go.mod h1:vyz0nZzrITns1px7/uCVilUSkUoBvic8unIxOXGygus=
9991002
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.0.750 h1:NjStL4fGljYfdmlvUxAROKmZFiagWXKNo4KOMWwxUag=
10001003
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.0.750/go.mod h1:Z/ycmVll9kddil+V9p5QFtQTcwKycwr3C8AagDjZ9Gk=
10011004
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssm v1.0.691 h1:UE55TqueOP889MDcJ+cBW+MBjtzvWUw5fuOBWGCBIjs=

tencentcloud/extension_sqlserver.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,14 @@ const (
163163
SQLSERVER_CLOUD_DB_VERSION_201402 = "201402"
164164
SQLSERVER_CLOUD_DB_VERSION_2016SP1 = "2016SP1"
165165
SQLSERVER_CLOUD_DB_VERSION_201602 = "201602"
166+
SQLSERVER_CLOUD_DB_VERSION_201603 = "201603"
166167
SQLSERVER_CLOUD_DB_VERSION_2017 = "2017"
167168
SQLSERVER_CLOUD_DB_VERSION_201702 = "201702"
169+
SQLSERVER_CLOUD_DB_VERSION_201703 = "201703"
168170
SQLSERVER_CLOUD_DB_VERSION_2019 = "2019"
169171
SQLSERVER_CLOUD_DB_VERSION_201902 = "201902"
172+
SQLSERVER_CLOUD_DB_VERSION_201903 = "201903"
173+
SQLSERVER_CLOUD_DB_VERSION_2022 = "2022"
170174
)
171175

172176
const (
@@ -177,10 +181,14 @@ const (
177181
SQLSERVER_CLOUD_DB_VERSION_NAME_201402 = "SQL Server 2014 Standard"
178182
SQLSERVER_CLOUD_DB_VERSION_NAME_2016SP1 = "SQL Server 2016 Enterprise"
179183
SQLSERVER_CLOUD_DB_VERSION_NAME_201602 = "SQL Server 2016 Standard"
184+
SQLSERVER_CLOUD_DB_VERSION_NAME_201603 = "SQL Server 2016 Integration Services"
180185
SQLSERVER_CLOUD_DB_VERSION_NAME_2017 = "SQL Server 2017 Enterprise"
181186
SQLSERVER_CLOUD_DB_VERSION_NAME_201702 = "SQL Server 2017 Standard"
187+
SQLSERVER_CLOUD_DB_VERSION_NAME_201703 = "SQL Server 2017 Integration Services"
182188
SQLSERVER_CLOUD_DB_VERSION_NAME_2019 = "SQL Server 2019 Enterprise"
183189
SQLSERVER_CLOUD_DB_VERSION_NAME_201902 = "SQL Server 2019 Standard"
190+
SQLSERVER_CLOUD_DB_VERSION_NAME_201903 = "SQL Server 2019 Integration Services"
191+
SQLSERVER_CLOUD_DB_VERSION_NAME_2022 = "SQL Server 2022 Enterprise"
184192
)
185193

186194
const (

tencentcloud/resource_tc_postgresql_instance_ha_config.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ package tencentcloud
22

33
import (
44
"context"
5-
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
65
"log"
76

7+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
8+
89
postgresql "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312"
910

1011
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"

tencentcloud/resource_tc_sqlserver_basic_instance.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,12 @@ func resourceTencentCloudSqlserverBasicInstance() *schema.Resource {
141141
Computed: true,
142142
Description: "Availability zone.",
143143
},
144+
"collation": {
145+
Type: schema.TypeString,
146+
Optional: true,
147+
Default: "Chinese_PRC_CI_AS",
148+
Description: "System character set sorting rule, default: Chinese_PRC_CI_AS.",
149+
},
144150
"vip": {
145151
Type: schema.TypeString,
146152
Computed: true,
@@ -208,6 +214,7 @@ func resourceTencentCloudSqlserverBasicInstanceCreate(d *schema.ResourceData, me
208214
paramMap["period"] = d.Get("period").(int)
209215
paramMap["autoVoucher"] = d.Get("auto_voucher").(int)
210216
paramMap["availabilityZone"] = d.Get("availability_zone").(string)
217+
paramMap["collation"] = d.Get("collation").(string)
211218

212219
if v, ok := d.GetOk("project_id"); ok {
213220
paramMap["projectId"] = v.(int)
@@ -375,6 +382,14 @@ func resourceTencentCloudSqlserverBasicInstanceUpdate(d *schema.ResourceData, me
375382
region := client.Region
376383
payType := d.Get("charge_type").(string)
377384

385+
immutableArgs := []string{"collation"}
386+
387+
for _, v := range immutableArgs {
388+
if d.HasChange(v) {
389+
return fmt.Errorf("argument `%s` cannot be changed", v)
390+
}
391+
}
392+
378393
var outErr, inErr error
379394
instanceId := d.Id()
380395
d.Partial(true)

tencentcloud/resource_tc_sqlserver_general_cloud_instance.go

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -374,34 +374,7 @@ func resourceTencentCloudSqlserverGeneralCloudInstanceRead(d *schema.ResourceDat
374374
}
375375

376376
if generalCloudInstance.Version != nil {
377-
var dbVersion string
378-
if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_2008R2 {
379-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_2008R2
380-
} else if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_2012SP3 {
381-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_2012SP3
382-
} else if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_201202 {
383-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_201202
384-
} else if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_2014SP2 {
385-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_2014SP2
386-
} else if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_201402 {
387-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_201402
388-
} else if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_2016SP1 {
389-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_2016SP1
390-
} else if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_201602 {
391-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_201602
392-
} else if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_2017 {
393-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_2017
394-
} else if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_201702 {
395-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_201702
396-
} else if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_2019 {
397-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_2019
398-
} else if *generalCloudInstance.VersionName == SQLSERVER_CLOUD_DB_VERSION_NAME_201902 {
399-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_201902
400-
} else {
401-
dbVersion = SQLSERVER_CLOUD_DB_VERSION_2008R2
402-
}
403-
404-
_ = d.Set("db_version", dbVersion)
377+
_ = d.Set("db_version", generalCloudInstance.Version)
405378
}
406379

407380
if generalCloudInstance.RenewFlag != nil {

tencentcloud/resource_tc_sqlserver_general_cloud_instance_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func TestAccTencentCloudSqlserverGeneralCloudInstanceResource_basic(t *testing.T
2424
),
2525
},
2626
{
27-
ResourceName: "tencentcloud_sqlserver_general_cloud_instance.general_cloud_instance",
27+
ResourceName: "tencentcloud_sqlserver_general_cloud_instance.example",
2828
ImportState: true,
2929
ImportStateVerify: true,
3030
ImportStateVerifyIgnore: []string{"period"},
@@ -54,8 +54,8 @@ resource "tencentcloud_sqlserver_general_cloud_instance" "example" {
5454
machine_type = "CLOUD_HSSD"
5555
instance_charge_type = "POSTPAID"
5656
project_id = 0
57-
subnet_id = local.vpc_id
58-
vpc_id = local.subnet_id
57+
subnet_id = local.subnet_id
58+
vpc_id = local.vpc_id
5959
db_version = "2008R2"
6060
security_group_list = [local.sg_id]
6161
weekly = [1, 2, 3, 5, 6, 7]
@@ -84,8 +84,8 @@ resource "tencentcloud_sqlserver_general_cloud_instance" "example" {
8484
machine_type = "CLOUD_HSSD"
8585
instance_charge_type = "POSTPAID"
8686
project_id = 0
87-
subnet_id = local.vpc_id
88-
vpc_id = local.subnet_id
87+
subnet_id = local.subnet_id
88+
vpc_id = local.vpc_id
8989
db_version = "2008R2"
9090
security_group_list = [local.sg_id]
9191
weekly = [1, 2, 3, 5, 6, 7]

tencentcloud/service_tencentcloud_sqlserver.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1360,6 +1360,7 @@ func (me *SqlserverService) CreateSqlserverBasicInstance(ctx context.Context, pa
13601360
autoRenew = paramMap["autoRenew"].(int)
13611361
autoVoucher = paramMap["autoVoucher"].(int)
13621362
zone = paramMap["availabilityZone"].(string)
1363+
collation = paramMap["collation"].(string)
13631364
)
13641365
request.Cpu = helper.IntUint64(cpu)
13651366
request.Memory = helper.IntUint64(memory)
@@ -1375,6 +1376,7 @@ func (me *SqlserverService) CreateSqlserverBasicInstance(ctx context.Context, pa
13751376

13761377
request.AutoVoucher = helper.IntInt64(autoVoucher)
13771378
request.Zone = &zone
1379+
request.Collation = &collation
13781380
if v, ok := paramMap["projectId"]; ok {
13791381
projectId := v.(int)
13801382
request.ProjectId = helper.IntUint64(projectId)

0 commit comments

Comments
 (0)