Skip to content

Commit 070966a

Browse files
authored
Merge pull request #1512 from tencentcloudstack/feat/add_cdb_resource
add cdb resource
2 parents 07c7236 + 9cce24b commit 070966a

26 files changed

+6571
-1990
lines changed

.changelog/1512.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
```release-note:new-resource
2+
tencentcloud_mysql_local_binlog_config
3+
```
4+
5+
```release-note:new-resource
6+
tencentcloud_mysql_security_groups_attachment
7+
```
8+
9+
```release-note:new-resource
10+
tencentcloud_mysql_deploy_group
11+
```
12+
13+
```release-note:new-resource
14+
tencentcloud_mysql_param_template
15+
```
16+
17+
```release-note:enhancement
18+
datasource/tencentcloud_mysql_zone_config: update the called api
19+
```

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ require (
2828
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam v1.0.409
2929
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.520
3030
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.493
31-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.409
31+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.576
3232
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539
3333
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.562
3434
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.403
3535
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.445
3636
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
3737
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412
38-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.573
38+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.576
3939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.553
4040
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.572
4141
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335

go.sum

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.493 h1:CDH65MO
470470
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.493/go.mod h1:Dzo3Z7Ln3bJ9jsgTIH1GslwuW+D6hbEJ1f1Ju4x/dcU=
471471
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.409 h1:fKFSxvMzS8T+z2z2qm67dgTClnkryeVTykclVkHh3qE=
472472
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.409/go.mod h1:q89YBv3T1bzENpcovtwnjxfVn9vx9pCYAssp0HPuivU=
473+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.576 h1:0Ob8XAXco+lp19HE3CCH/oQBxq6SdhUB/5O842dJ9Ec=
474+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.576/go.mod h1:kbILC5/kqFl+0UK8X9PGP3ubvZi8VReQLQYxhVw8ZH0=
473475
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539 h1:0L6nZhT2bToTc/n1z3HOpNgdu5VX5ulmqIuPY+8UozA=
474476
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539/go.mod h1:6Syk7W5fdDf0BLvX+RXL5obQ6unkt3Id4aN2QqVrV6U=
475477
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.199 h1:VyOKZOlgTXW0szboWhI1N35khPsaHE4CyH9pf42o7P8=
@@ -547,9 +549,13 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.572/go.mod
547549
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.571 h1:V4JQJTavl2X8aRBRBBh4vTOInuzrbqQzHlFitmu782U=
548550
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.571/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
549551
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.572 h1:xbcb/bC/cSWpfLB3TW+GBUdIcY/x+T+VrBgsz/jxv5Q=
552+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.572 h1:xbcb/bC/cSWpfLB3TW+GBUdIcY/x+T+VrBgsz/jxv5Q=
553+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.572/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
550554
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.572/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
551555
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.573 h1:H2p5AhpSC9BVc5+bLsB5v/ktDx1tLw+SAChHHTpKzfY=
552556
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.573/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
557+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.576 h1:6L4MeAnCk1NkuKoSfJvNPxqOrXq/HG9FqV3jl6i5t+w=
558+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.576/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
553559
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 h1:Bh7XD0ypNMHYyBOM8hhKsSu+y0VVKUnJVS+YKKhfpGg=
554560
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445/go.mod h1:jMDD351efCFpT1+KVFbcpu6SbmP4TYmp4qkoCfr63nQ=
555561
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.553 h1:Pl1kYgFhJp0QSoVFSzRsiGk+HfEAkBTQg7+O60tytNA=

tencentcloud/data_source_tc_mysql_zone_config.go

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -187,22 +187,22 @@ func dataSourceTencentMysqlZoneConfigRead(d *schema.ResourceData, meta interface
187187
if err != nil {
188188
return fmt.Errorf("api[DescribeBackups]fail, return %s", err.Error())
189189
}
190-
var regionItem *cdb.RegionSellConf
191-
for _, regionItem = range sellConfigures {
190+
var regionItem *cdb.CdbRegionSellConf
191+
192+
for _, regionItem = range sellConfigures.Regions {
192193
if *regionItem.Region == region {
193194
break
194195
}
195196
}
196197
if regionItem == nil {
197198
return nil
198199
}
200+
199201
var zoneConfigs []interface{}
200-
for _, sellItem := range regionItem.ZonesConf {
201-
if *sellItem.Status != ZONE_SELL_STATUS_ONLINE && *sellItem.Status != ZONE_SELL_STATUS_NEW {
202-
continue
203-
}
204-
var zoneConfig = make(map[string]interface{})
205-
zoneConfig["name"] = *sellItem.Zone
202+
var zoneConfig = make(map[string]interface{})
203+
204+
for _, sellItem := range regionItem.RegionConfig {
205+
zoneConfig["name"] = regionItem.RegionName
206206
if sellItem.HourInstanceSaleMaxNum != nil {
207207
zoneConfig["hour_instance_sale_max_num"] = *sellItem.HourInstanceSaleMaxNum
208208
}
@@ -256,9 +256,8 @@ func dataSourceTencentMysqlZoneConfigRead(d *schema.ResourceData, meta interface
256256
zoneConfig["disaster_recovery_zones"] = disasterRecoveryZones
257257

258258
var (
259-
slaveDeployModes []int
260-
firstSlaveZones, secondSlaveZones, engineVersions, remoteRoZones []string
261-
sells []interface{}
259+
slaveDeployModes []int
260+
firstSlaveZones, secondSlaveZones, remoteRoZones []string
262261
)
263262
if sellItem.ZoneConf != nil {
264263
for _, mode := range sellItem.ZoneConf.DeployMode {
@@ -278,22 +277,28 @@ func dataSourceTencentMysqlZoneConfigRead(d *schema.ResourceData, meta interface
278277
zoneConfig["first_slave_zones"] = firstSlaveZones
279278
zoneConfig["second_slave_zones"] = secondSlaveZones
280279
zoneConfig["remote_ro_zones"] = remoteRoZones
280+
}
281281

282-
for _, mysqlConfigs := range sellItem.SellType {
283-
for _, strPtr := range mysqlConfigs.EngineVersion {
284-
engineVersions = append(engineVersions, *strPtr)
285-
}
286-
for _, mysqlConfig := range mysqlConfigs.Configs {
287-
var showConfigMap = make(map[string]interface{})
288-
showConfigMap["cdb_type"] = *mysqlConfig.CdbType
289-
showConfigMap["mem_size"] = int(*mysqlConfig.Memory)
290-
showConfigMap["max_volume_size"] = int(*mysqlConfig.VolumeMax)
291-
showConfigMap["min_volume_size"] = int(*mysqlConfig.VolumeMin)
292-
showConfigMap["volume_step"] = int(*mysqlConfig.VolumeStep)
293-
showConfigMap["qps"] = int(*mysqlConfig.Qps)
294-
sells = append(sells, showConfigMap)
295-
}
282+
var (
283+
engineVersions []string
284+
sells []interface{}
285+
)
286+
287+
for _, sellItem := range sellConfigures.Configs {
288+
if *sellItem.Status != ZONE_SELL_STATUS_ONLINE {
289+
continue
296290
}
291+
engineVersions = append(engineVersions, *sellItem.EngineType)
292+
293+
var showConfigMap = make(map[string]interface{})
294+
showConfigMap["cdb_type"] = *sellItem.DeviceType
295+
showConfigMap["mem_size"] = int(*sellItem.Memory)
296+
showConfigMap["max_volume_size"] = int(*sellItem.VolumeMax)
297+
showConfigMap["min_volume_size"] = int(*sellItem.VolumeMin)
298+
showConfigMap["volume_step"] = int(*sellItem.VolumeStep)
299+
showConfigMap["qps"] = int(*sellItem.Iops)
300+
sells = append(sells, showConfigMap)
301+
297302
zoneConfig["engine_versions"] = engineVersions
298303
zoneConfig["sells"] = sells
299304

tencentcloud/extension_mysql.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package tencentcloud
22

33
const (
4-
ZONE_SELL_STATUS_ONLINE = 1
5-
ZONE_SELL_STATUS_NEW = 2
4+
ZONE_SELL_STATUS_ONLINE = 0
65
)
76

87
var MYSQL_ALLOW_BACKUP_TIME = []string{"02:00-06:00", "06:00-10:00", "10:00-14:00", "14:00-18:00", "18:00-22:00", "22:00-02:00"}

tencentcloud/provider.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,10 @@ TencentDB for MySQL(cdb)
428428
tencentcloud_mysql_account_privilege
429429
tencentcloud_mysql_backup_policy
430430
tencentcloud_mysql_time_window
431+
tencentcloud_mysql_param_template
432+
tencentcloud_mysql_deploy_group
433+
tencentcloud_mysql_security_groups_attachment
434+
tencentcloud_mysql_local_binlog_config
431435
432436
Cloud Monitor(Monitor)
433437
Data Source
@@ -1338,6 +1342,10 @@ func Provider() terraform.ResourceProvider {
13381342
"tencentcloud_mysql_instance": resourceTencentCloudMysqlInstance(),
13391343
"tencentcloud_mysql_readonly_instance": resourceTencentCloudMysqlReadonlyInstance(),
13401344
"tencentcloud_mysql_time_window": resourceTencentCloudMysqlTimeWindow(),
1345+
"tencentcloud_mysql_param_template": resourceTencentCloudMysqlParamTemplate(),
1346+
"tencentcloud_mysql_security_groups_attachment": resourceTencentCloudMysqlSecurityGroupsAttachment(),
1347+
"tencentcloud_mysql_deploy_group": resourceTencentCloudMysqlDeployGroup(),
1348+
"tencentcloud_mysql_local_binlog_config": resourceTencentCloudMysqlLocalBinlogConfig(),
13411349
"tencentcloud_cos_bucket": resourceTencentCloudCosBucket(),
13421350
"tencentcloud_cos_bucket_object": resourceTencentCloudCosBucketObject(),
13431351
"tencentcloud_cfs_file_system": resourceTencentCloudCfsFileSystem(),

0 commit comments

Comments
 (0)