Skip to content

Commit 70ed542

Browse files
authored
feat/support-mariadb-resource (#1864)
* feat/support-mariadb-resource * feat/support-mariadb-resource * feat/support-mariadb-resource * feat/support-mariadb-resource * feat/support-mariadb-resource * feat/support-mariadb-resource * feat/support-mariadb-resource
1 parent 04addb6 commit 70ed542

File tree

63 files changed

+4152
-262
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+4152
-262
lines changed

.changelog/1864.txt

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
```release-note:new-resource
2+
tencentcloud_mariadb_account_privileges
3+
```
4+
5+
```release-note:new-resource
6+
tencentcloud_mariadb_backup_time
7+
```
8+
9+
```release-note:new-resource
10+
tencentcloud_mariadb_cancel_dcn_job
11+
```
12+
13+
```release-note:new-resource
14+
tencentcloud_mariadb_flush_binlog
15+
```
16+
17+
```release-note:new-resource
18+
tencentcloud_mariadb_restart_instance
19+
```
20+
21+
```release-note:new-resource
22+
tencentcloud_mariadb_renew_instance
23+
```
24+
25+
```release-note:new-resource
26+
tencentcloud_sqlserver_start_backup_full_migration
27+
```
28+
29+
```release-note:new-resource
30+
tencentcloud_sqlserver_start_backup_incremental_migration
31+
```
32+
33+
```release-note:enhancement
34+
resource/tencentcloud_mariadb_account: support to update `password`
35+
```
36+
37+
```release-note:enhancement
38+
resource/tencentcloud_mariadb_hour_db_instance: support to update `project_id`, `vip`
39+
```
40+
41+
```release-note:enhancement
42+
resource/tencentcloud_mariadb_instance: support to update `project_id`, `vip`
43+
```
44+
45+
```release-note:enhancement
46+
resource/tencentcloud_mariadb_dedicatedcluster_db_instance: support to update `project_id`, `vip`
47+
```
48+
49+
```release-note:new-resource
50+
tencentcloud_mariadb_instance_config
51+
```

examples/tencentcloud-address-template/main.tf

Lines changed: 0 additions & 16 deletions
This file was deleted.

examples/tencentcloud-address-template/version.tf

Lines changed: 0 additions & 3 deletions
This file was deleted.

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ require (
3838
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.659
3939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
4040
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.663
41-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.670
41+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.672
4242
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624
4343
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.589
4444
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.572
@@ -55,7 +55,7 @@ require (
5555
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.199
5656
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.656
5757
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.535
58-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.644
58+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672
5959
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651
6060
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.616
6161
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.584

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -848,6 +848,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.667/go.mod
848848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.669/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
849849
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.670 h1:R9CG671JplBwoVLbOHeSvgBC5tKeVp/dk7edwWqVEoA=
850850
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.670/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
851+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.672 h1:gZni64RUa1JANIGJExJfu3qgo7k/fapU98OHOSC+Y6I=
852+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.672/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
851853
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
852854
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624/go.mod h1:+TXSVyeKwt1IhZRqKPbTREteBcP+K07Q846/ilNzLWA=
853855
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.589 h1:LZihgirMH0vsaGScYexxwY0fTss9vHaSZs/YOQUVESg=
@@ -883,6 +885,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.535 h1:hSwG4Z
883885
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.535/go.mod h1:mYKqy56uKaI0aPySeUByymvwDerPTmdMJQPQKC/NU1s=
884886
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.644 h1:Pg2jtUqTwAkxtKsFiqWZfIfkdoSUAiKl7r63BmN6qa8=
885887
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.644/go.mod h1:Nxt/FMhbwsiXxSxut2ilhYzDmhLmjWYCt4IwquXohYc=
888+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672 h1:sR3MyM9RBw1PNRdWoBrtK+2M9Qbb0i6DfQSrvZ4/4os=
889+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672/go.mod h1:o3rBKhtfIJfw4BG22M0CQVLQAc0WqIsbyRI/EW52Ka0=
886890
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651 h1:Ohb58H6gIlTcd73CF+goUlEdNJ2CYkYUHTYxV/M4UL4=
887891
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651/go.mod h1:HLqsSgUnwgkE+XecQajekinjz1B7S+1U1J66puH4jpQ=
888892
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.616 h1:+4NM1Repe514qc4H9qFuDS0IEe0TBmC5snea//YL7Kk=

tencentcloud/extension_mariadb.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package tencentcloud
2+
3+
const (
4+
MARIADB_TASK_SUCCESS = 0
5+
MARIADB_TASK_FAIL = 1
6+
MARIADB_TASK_RUNNING = 2
7+
)
8+
9+
const (
10+
MODIFY_BACKUPTIME_SUCCESS = 0
11+
)
12+
13+
const (
14+
MARIADB_STATUS_ISOLATE = -1
15+
MARIADB_STATUS_FLOW = 1
16+
MARIADB_STATUS_RUNNING = 2
17+
)
18+
19+
const (
20+
RSACCESSSTRATEGY_ENABLE = 1
21+
)
22+
23+
const (
24+
ExtranetAccess_ENABLE = 1
25+
)
26+
27+
const (
28+
NONE_FLOW_TASK = 0
29+
)

tencentcloud/provider.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,8 @@ SQLServer
772772
tencentcloud_sqlserver_config_terminate_db_instance
773773
tencentcloud_sqlserver_restore_instance
774774
tencentcloud_sqlserver_rollback_instance
775+
tencentcloud_sqlserver_start_backup_full_migration
776+
tencentcloud_sqlserver_start_backup_incremental_migration
775777
776778
SSL Certificates
777779
Data Source
@@ -1148,6 +1150,15 @@ TencentDB for MariaDB(MariaDB)
11481150
tencentcloud_mariadb_parameters
11491151
tencentcloud_mariadb_log_file_retention_period
11501152
tencentcloud_mariadb_security_groups
1153+
tencentcloud_mariadb_account_privileges
1154+
tencentcloud_mariadb_operate_hour_db_instance
1155+
tencentcloud_mariadb_backup_time
1156+
tencentcloud_mariadb_cancel_dcn_job
1157+
tencentcloud_mariadb_flush_binlog
1158+
tencentcloud_mariadb_switch_ha
1159+
tencentcloud_mariadb_restart_instance
1160+
tencentcloud_mariadb_renew_instance
1161+
tencentcloud_mariadb_instance_config
11511162
11521163
Real User Monitoring(RUM)
11531164
Data Source
@@ -2305,6 +2316,8 @@ func Provider() *schema.Provider {
23052316
"tencentcloud_sqlserver_config_terminate_db_instance": resourceTencentCloudSqlserverConfigTerminateDBInstance(),
23062317
"tencentcloud_sqlserver_restore_instance": resourceTencentCloudSqlserverRestoreInstance(),
23072318
"tencentcloud_sqlserver_rollback_instance": resourceTencentCloudSqlserverRollbackInstance(),
2319+
"tencentcloud_sqlserver_start_backup_full_migration": resourceTencentCloudSqlserverStartBackupFullMigration(),
2320+
"tencentcloud_sqlserver_start_backup_incremental_migration": resourceTencentCloudSqlserverStartBackupIncrementalMigration(),
23082321
"tencentcloud_ckafka_instance": resourceTencentCloudCkafkaInstance(),
23092322
"tencentcloud_ckafka_user": resourceTencentCloudCkafkaUser(),
23102323
"tencentcloud_ckafka_acl": resourceTencentCloudCkafkaAcl(),
@@ -2441,6 +2454,15 @@ func Provider() *schema.Provider {
24412454
"tencentcloud_mariadb_log_file_retention_period": resourceTencentCloudMariadbLogFileRetentionPeriod(),
24422455
"tencentcloud_mariadb_security_groups": resourceTencentCloudMariadbSecurityGroups(),
24432456
"tencentcloud_mariadb_encrypt_attributes": resourceTencentCloudMariadbEncryptAttributes(),
2457+
"tencentcloud_mariadb_account_privileges": resourceTencentCloudMariadbAccountPrivileges(),
2458+
"tencentcloud_mariadb_operate_hour_db_instance": resourceTencentCloudMariadbOperateHourDbInstance(),
2459+
"tencentcloud_mariadb_backup_time": resourceTencentCloudMariadbBackupTime(),
2460+
"tencentcloud_mariadb_cancel_dcn_job": resourceTencentCloudMariadbCancelDcnJob(),
2461+
"tencentcloud_mariadb_flush_binlog": resourceTencentCloudMariadbFlushBinlog(),
2462+
"tencentcloud_mariadb_switch_ha": resourceTencentCloudMariadbSwitchHA(),
2463+
"tencentcloud_mariadb_restart_instance": resourceTencentCloudMariadbRestartInstance(),
2464+
"tencentcloud_mariadb_renew_instance": resourceTencentCloudMariadbRenewInstance(),
2465+
"tencentcloud_mariadb_instance_config": resourceTencentCloudMariadbInstanceConfig(),
24442466
"tencentcloud_tdcpg_cluster": resourceTencentCloudTdcpgCluster(),
24452467
"tencentcloud_tdcpg_instance": resourceTencentCloudTdcpgInstance(),
24462468
"tencentcloud_css_watermark": resourceTencentCloudCssWatermark(),

tencentcloud/resource_tc_mariadb_account.go

Lines changed: 47 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,6 @@ func resourceTencentCloudMariadbAccountUpdate(d *schema.ResourceData, meta inter
224224
return fmt.Errorf("`host` do not support change now.")
225225
}
226226

227-
if d.HasChange("password") {
228-
return fmt.Errorf("`password` do not support change now.")
229-
}
230-
231227
if d.HasChange("read_only") {
232228
return fmt.Errorf("`read_only` do not support change now.")
233229
}
@@ -236,22 +232,57 @@ func resourceTencentCloudMariadbAccountUpdate(d *schema.ResourceData, meta inter
236232
if v, ok := d.GetOk("description"); ok {
237233
request.Description = helper.String(v.(string))
238234
}
235+
236+
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
237+
result, e := meta.(*TencentCloudClient).apiV3Conn.UseMariadbClient().ModifyAccountDescription(request)
238+
if e != nil {
239+
return retryError(e)
240+
} else {
241+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
242+
logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
243+
}
244+
return nil
245+
})
246+
247+
if err != nil {
248+
log.Printf("[CRITAL]%s create mariadb account failed, reason:%+v", logId, err)
249+
return err
250+
}
239251
}
240252

241-
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
242-
result, e := meta.(*TencentCloudClient).apiV3Conn.UseMariadbClient().ModifyAccountDescription(request)
243-
if e != nil {
244-
return retryError(e)
245-
} else {
246-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
247-
logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
253+
// update pwd
254+
if d.HasChange("password") {
255+
PwdRequest := mariadb.NewResetAccountPasswordRequest()
256+
if v, ok := d.GetOk("password"); ok {
257+
PwdRequest.Password = helper.String(v.(string))
258+
}
259+
260+
if v, ok := d.GetOk("user_name"); ok {
261+
PwdRequest.UserName = helper.String(v.(string))
262+
}
263+
264+
if v, ok := d.GetOk("host"); ok {
265+
PwdRequest.Host = helper.String(v.(string))
266+
}
267+
268+
PwdRequest.InstanceId = &instanceId
269+
270+
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
271+
result, e := meta.(*TencentCloudClient).apiV3Conn.UseMariadbClient().ResetAccountPassword(PwdRequest)
272+
if e != nil {
273+
return retryError(e)
274+
} else {
275+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
276+
}
277+
278+
return nil
279+
})
280+
281+
if err != nil {
282+
log.Printf("[CRITAL]%s operate mariadb resetPassword failed, reason:%+v", logId, err)
283+
return err
248284
}
249-
return nil
250-
})
251285

252-
if err != nil {
253-
log.Printf("[CRITAL]%s create mariadb account failed, reason:%+v", logId, err)
254-
return err
255286
}
256287

257288
return resourceTencentCloudMariadbAccountRead(d, meta)

0 commit comments

Comments
 (0)