Skip to content

Commit 8e353ee

Browse files
author
mikatong
committed
add tencentcloud_mongodb_instance_transparent_data_encryption && tencentcloud_mongodb_instance_backup_rule
1 parent ff283f2 commit 8e353ee

18 files changed

+2416
-746
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ require (
4646
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.860
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.860
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.932
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.949
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692
@@ -66,7 +66,7 @@ require (
6666
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.729
6767
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.777
6868
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672
69-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.828
69+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.949
7070
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844
7171
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853
7272
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.910

go.sum

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -924,17 +924,18 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.888 h1:FqVc
924924
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.888/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
925925
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.910 h1:u+rAnHhLixQaNYy8vtnuClj4kYWs77VAHEbi9jl8k/4=
926926
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.910/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
927-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.910/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
928927
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.912 h1:BDqRmR+2vLLHqKWYdgfUl0CDr9+augDBOEOEScLyQ80=
929928
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.912/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
930929
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.916 h1:30u2fFUGxaPB0VFpVtomiziXATxm/MjG53HCobM8KGI=
931930
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.916/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
932931
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.920 h1:Kmm4rJrdI7D29IMOTT2oNp70h0TGsZ3obaekS8hvYkU=
933932
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.920/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
934-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.932 h1:MB1+Ll6JxWTpZw/v0dMRvMEJhlcDKxK/JMQ8O5owRVc=
935-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.932/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
936933
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.921 h1:xB4iO1xX84bVhHIizPC27txPJIN7cmKYvZmuSiGShxM=
937934
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.921/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
935+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.932 h1:MB1+Ll6JxWTpZw/v0dMRvMEJhlcDKxK/JMQ8O5owRVc=
936+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.932/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
937+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.949 h1:Eo56/nwLf2QGvezn9z7Ap1DnHxeKXAdBz2uWppp84n4=
938+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.949/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
938939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
939940
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860/go.mod h1:NZo1WplQcC314kMlCRUoy8NQju2BnolIJj7NAWgsuhY=
940941
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
@@ -979,6 +980,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672 h1:sR3
979980
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672/go.mod h1:o3rBKhtfIJfw4BG22M0CQVLQAc0WqIsbyRI/EW52Ka0=
980981
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.828 h1:ck4fIo8e7HlMQmIh77r8rbUjZCiCuO4DJ7KYAjHQ/Ws=
981982
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.828/go.mod h1:pnGYJR0EUzVMjcGdecYwsU+UUKrrHBM8kDgJHAwCOK4=
983+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.949 h1:GZGGul+VBoU6Ont/8/S5Ot0wXVrSYBDtk79tFSdvWQ0=
984+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.949/go.mod h1:75i/x1XqkqqqOgEBj31PdpnSeehsscgI5aj6aNgcsXE=
982985
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844 h1:ZR7FSnv4k1j0BpJHg6JDbJ6YJ2YfLhX2xVIUcuweKm4=
983986
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844/go.mod h1:a7PfDWl0B3QV+g99asQHumDNScEEMl+7lkXP0KXt8Xg=
984987
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853 h1:abGpWsAtEuF2QIYKm2m9/hv9OqyHwWNLsd5+67z86BE=
@@ -1194,6 +1197,7 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu
11941197
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
11951198
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
11961199
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
1200+
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
11971201
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
11981202
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
11991203
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=

tencentcloud/provider.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,6 +1217,8 @@ func Provider() *schema.Provider {
12171217
"tencentcloud_mongodb_instance_account": mongodb.ResourceTencentCloudMongodbInstanceAccount(),
12181218
"tencentcloud_mongodb_instance_backup": mongodb.ResourceTencentCloudMongodbInstanceBackup(),
12191219
"tencentcloud_mongodb_instance_backup_download_task": mongodb.ResourceTencentCloudMongodbInstanceBackupDownloadTask(),
1220+
"tencentcloud_mongodb_instance_transparent_data_encryption": mongodb.ResourceTencentCloudMongodbInstanceTransparentDataEncryption(),
1221+
"tencentcloud_mongodb_instance_backup_rule": mongodb.ResourceTencentCloudMongodbInstanceBackupRule(),
12201222
"tencentcloud_dayu_cc_http_policy": dayu.ResourceTencentCloudDayuCCHttpPolicy(),
12211223
"tencentcloud_dayu_cc_https_policy": dayu.ResourceTencentCloudDayuCCHttpsPolicy(),
12221224
"tencentcloud_dayu_ddos_policy": dayu.ResourceTencentCloudDayuDdosPolicy(),

tencentcloud/provider.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -707,6 +707,8 @@ TencentDB for MongoDB(mongodb)
707707
tencentcloud_mongodb_standby_instance
708708
tencentcloud_mongodb_instance_account
709709
tencentcloud_mongodb_instance_backup
710+
tencentcloud_mongodb_instance_transparent_data_encryption
711+
tencentcloud_mongodb_instance_backup_rule
710712

711713
TencentDB for MySQL(cdb)
712714
Data Source
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
package mongodb
2+
3+
import (
4+
"log"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
8+
mongodb "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb/v20190725"
9+
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
10+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
11+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/ratelimit"
12+
)
13+
14+
func ResourceTencentCloudMongodbInstanceBackupRule() *schema.Resource {
15+
return &schema.Resource{
16+
Create: resourceTencentCloudMongodbInstanceBackupRuleCreate,
17+
Read: resourceTencentCloudMongodbInstanceBackupRuleRead,
18+
Update: resourceTencentCloudMongodbInstanceBackupRuleUpdate,
19+
Delete: resourceTencentCloudMongodbInstanceBackupRuleDelete,
20+
Importer: &schema.ResourceImporter{
21+
State: schema.ImportStatePassthrough,
22+
},
23+
Schema: map[string]*schema.Schema{
24+
"instance_id": {
25+
Required: true,
26+
Type: schema.TypeString,
27+
Description: "Instance id.",
28+
},
29+
30+
"backup_method": {
31+
Required: true,
32+
Type: schema.TypeInt,
33+
Description: "Set automatic backup method. Valid values:\n" +
34+
"- 0: Logical backup;\n" +
35+
"- 1: Physical backup;\n" +
36+
"- 3: Snapshot backup (supported only in cloud disk version).",
37+
},
38+
39+
"backup_time": {
40+
Required: true,
41+
Type: schema.TypeInt,
42+
Description: "Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00.",
43+
},
44+
45+
"backup_retention_period": {
46+
Optional: true,
47+
Computed: true,
48+
Type: schema.TypeInt,
49+
Description: "Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365.",
50+
},
51+
},
52+
}
53+
}
54+
55+
func resourceTencentCloudMongodbInstanceBackupRuleCreate(d *schema.ResourceData, meta interface{}) error {
56+
defer tccommon.LogElapsed("resource.tencentcloud_mongodb_instance_backup_rule.create")()
57+
defer tccommon.InconsistentCheck(d, meta)()
58+
59+
logId := tccommon.GetLogId(tccommon.ContextNil)
60+
var (
61+
request = mongodb.NewSetBackupRulesRequest()
62+
)
63+
instanceId := d.Get("instance_id").(string)
64+
request.InstanceId = helper.String(instanceId)
65+
66+
if v, _ := d.GetOk("backup_method"); v != nil {
67+
request.BackupMethod = helper.IntUint64(v.(int))
68+
}
69+
70+
if v, _ := d.GetOk("backup_time"); v != nil {
71+
request.BackupTime = helper.IntUint64(v.(int))
72+
}
73+
74+
if v, ok := d.GetOkExists("backup_retention_period"); ok {
75+
request.BackupRetentionPeriod = helper.IntUint64(v.(int))
76+
}
77+
78+
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
79+
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseMongodbClient().SetBackupRules(request)
80+
if e != nil {
81+
return tccommon.RetryError(e)
82+
} else {
83+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
84+
}
85+
return nil
86+
})
87+
if err != nil {
88+
log.Printf("[CRITAL]%s operate mongodb backupRule failed, reason:%+v", logId, err)
89+
return err
90+
}
91+
92+
d.SetId(instanceId)
93+
94+
return resourceTencentCloudMongodbInstanceBackupRuleRead(d, meta)
95+
}
96+
97+
func resourceTencentCloudMongodbInstanceBackupRuleRead(d *schema.ResourceData, meta interface{}) error {
98+
defer tccommon.LogElapsed("resource.tencentcloud_mongodb_instance_backup_rule.read")()
99+
defer tccommon.InconsistentCheck(d, meta)()
100+
101+
request := mongodb.NewDescribeBackupRulesRequest()
102+
request.InstanceId = helper.String(d.Id())
103+
ratelimit.Check(request.GetAction())
104+
response, err := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseMongodbClient().DescribeBackupRules(request)
105+
if err != nil {
106+
return err
107+
}
108+
_ = d.Set("instance_id", d.Id())
109+
_ = d.Set("backup_method", response.Response.BackupMethod)
110+
_ = d.Set("backup_time", response.Response.BackupTime)
111+
_ = d.Set("backup_retention_period", response.Response.BackupSaveTime)
112+
return nil
113+
}
114+
115+
func resourceTencentCloudMongodbInstanceBackupRuleUpdate(d *schema.ResourceData, meta interface{}) error {
116+
defer tccommon.LogElapsed("resource.tencentcloud_mongodb_instance_transparent_data_encryption.update")()
117+
defer tccommon.InconsistentCheck(d, meta)()
118+
119+
return resourceTencentCloudMongodbInstanceBackupRuleCreate(d, meta)
120+
}
121+
122+
func resourceTencentCloudMongodbInstanceBackupRuleDelete(d *schema.ResourceData, meta interface{}) error {
123+
defer tccommon.LogElapsed("resource.tencentcloud_mongodb_instance_backup_rule.delete")()
124+
defer tccommon.InconsistentCheck(d, meta)()
125+
126+
return nil
127+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Provides a resource to create mongodb backup rule
2+
3+
Example Usage
4+
5+
```hcl
6+
resource "tencentcloud_mongodb_backup_rule" "backup_rule" {
7+
instance_id = "cmgo-xxxxxx"
8+
backup_method = 0
9+
backup_time = 10
10+
}
11+
```
12+
13+
Import
14+
15+
mongodb backup_rule can be imported using the id, e.g.
16+
17+
```
18+
terraform import tencentcloud_mongodb_backup_rule.backup_rule ${instanceId}
19+
```
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
package mongodb_test
2+
3+
import (
4+
"testing"
5+
6+
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
7+
8+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
9+
)
10+
11+
func TestAccTencentCloudMongodbInstanceBackupRuleResource_basic(t *testing.T) {
12+
t.Parallel()
13+
resource.Test(t, resource.TestCase{
14+
PreCheck: func() {
15+
tcacctest.AccPreCheck(t)
16+
},
17+
Providers: tcacctest.AccProviders,
18+
Steps: []resource.TestStep{
19+
{
20+
Config: testAccMongodbInstanceBackupRule,
21+
Check: resource.ComposeTestCheckFunc(
22+
resource.TestCheckResourceAttrSet("tencentcloud_mongodb_instance_backup_rule.backup_rule", "id"),
23+
resource.TestCheckResourceAttrSet("tencentcloud_mongodb_instance_backup_rule.backup_rule", "instance_id"),
24+
resource.TestCheckResourceAttrSet("tencentcloud_mongodb_instance_backup_rule.backup_rule", "backup_method"),
25+
resource.TestCheckResourceAttr("tencentcloud_mongodb_instance_backup_rule.backup_rule", "backup_time", "10"),
26+
resource.TestCheckResourceAttrSet("tencentcloud_mongodb_instance_backup_rule.backup_rule", "backup_retention_period"),
27+
),
28+
},
29+
{
30+
Config: testAccMongodbInstanceBackupRuleUpdate,
31+
Check: resource.ComposeTestCheckFunc(
32+
resource.TestCheckResourceAttr("tencentcloud_mongodb_instance_backup_rule.backup_rule", "backup_time", "14"),
33+
),
34+
},
35+
{
36+
ResourceName: "tencentcloud_mongodb_instance_backup_rule.backup_rule",
37+
ImportState: true,
38+
},
39+
},
40+
})
41+
}
42+
43+
const testAccMongodbInstanceBackupRule = tcacctest.DefaultMongoDBSpec + `
44+
resource "tencentcloud_vpc" "vpc" {
45+
name = "mongodb-instance-vpc"
46+
cidr_block = "10.0.0.0/16"
47+
}
48+
49+
resource "tencentcloud_subnet" "subnet" {
50+
vpc_id = tencentcloud_vpc.vpc.id
51+
name = "mongodb-instance-subnet"
52+
cidr_block = "10.0.0.0/16"
53+
availability_zone = "ap-guangzhou-3"
54+
}
55+
56+
resource "tencentcloud_mongodb_instance" "mongodb" {
57+
instance_name = "tf-mongodb-encryption-test"
58+
memory = local.memory
59+
volume = local.volume
60+
engine_version = local.engine_version
61+
machine_type = local.machine_type
62+
security_groups = [local.security_group_id]
63+
available_zone = "ap-guangzhou-3"
64+
project_id = 0
65+
password = "test1234"
66+
vpc_id = tencentcloud_vpc.vpc.id
67+
subnet_id = tencentcloud_subnet.subnet.id
68+
}
69+
70+
resource "tencentcloud_mongodb_instance_backup_rule" "backup_rule" {
71+
instance_id = tencentcloud_mongodb_instance.mongodb.id
72+
backup_method = 0
73+
backup_time = 10
74+
}
75+
`
76+
77+
const testAccMongodbInstanceBackupRuleUpdate = tcacctest.DefaultMongoDBSpec + `
78+
resource "tencentcloud_vpc" "vpc" {
79+
name = "mongodb-instance-vpc"
80+
cidr_block = "10.0.0.0/16"
81+
}
82+
83+
resource "tencentcloud_subnet" "subnet" {
84+
vpc_id = tencentcloud_vpc.vpc.id
85+
name = "mongodb-instance-subnet"
86+
cidr_block = "10.0.0.0/16"
87+
availability_zone = "ap-guangzhou-3"
88+
}
89+
90+
resource "tencentcloud_mongodb_instance" "mongodb" {
91+
instance_name = "tf-mongodb-encryption-test"
92+
memory = local.memory
93+
volume = local.volume
94+
engine_version = local.engine_version
95+
machine_type = local.machine_type
96+
security_groups = [local.security_group_id]
97+
available_zone = "ap-guangzhou-3"
98+
project_id = 0
99+
password = "test1234"
100+
vpc_id = tencentcloud_vpc.vpc.id
101+
subnet_id = tencentcloud_subnet.subnet.id
102+
}
103+
104+
resource "tencentcloud_mongodb_instance_backup_rule" "backup_rule" {
105+
instance_id = tencentcloud_mongodb_instance.mongodb.id
106+
backup_method = 0
107+
backup_time = 14
108+
}
109+
`

0 commit comments

Comments
 (0)