Skip to content

Commit e550718

Browse files
WeiMengXSWeiMengXS
andauthored
feat: dlc attach (#2233)
* feat: dlc attach * feat: dlc doc * feat: dlc doc * feat: dlc doc * feat: changelog --------- Co-authored-by: WeiMengXS <nickcchen@tencent.com>
1 parent d56d786 commit e550718

19 files changed

+8085
-2001
lines changed

.changelog/2233.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
```release-note:new-resource
2+
tencentcloud_dlc_store_location_config
3+
```
4+
5+
```release-note:new-resource
6+
tencentcloud_dlc_add_users_to_work_group_attachment
7+
```
8+
9+
```release-note:new-data-source
10+
tencentcloud_dlc_check_data_engine_image_can_be_rollback
11+
```

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ require (
5353
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dbbrain v1.0.652
5454
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.633
5555
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dcdb v1.0.673
56-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.0.726
56+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.0.768
5757
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.765
5858
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/domain v1.0.414
5959
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dts v1.0.628

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -870,6 +870,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.764 h1:EAvb
870870
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.764/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
871871
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.765 h1:Du0gzA7g0eBDbw8bxBqecm8eSuJacWSkjBCI2Lc3ry8=
872872
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.765/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
873+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.768 h1:CCxqJCqPSidXzAf2utBSIYLqqqbTXymMsNlUjhP76+s=
874+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.768/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
873875
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.770 h1:5Nl8q6VJxfgZt/ockI9jwTzJIghxkw+NaG8DANkOMyU=
874876
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.770/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
875877
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
@@ -888,6 +890,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dcdb v1.0.673 h1:YyjGLj
888890
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dcdb v1.0.673/go.mod h1:hXPMop1kJFqAvHj+7TyxxxXS/HGUP4SuKx5gGoAl0Zc=
889891
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.0.726 h1:oedM2JwRAt8pYJVHZUW15TiGpzyHDWVMPfoCmckLQJQ=
890892
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.0.726/go.mod h1:zwU0EY443AsQt95XFgnzT1GbldP/CahRchSM0oo1xX8=
893+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.0.768 h1:iLKkurl27Znu0MjMpWK6miP+4L6E/tPflRzGv2dVDCU=
894+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc v1.0.768/go.mod h1:RAxl/gvd0vEXPlwESmyv7XgfKFKPKQkGksumwX4aLvU=
891895
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.539 h1:V+oo20w9aLxAoSSEGVplke2kq72MdUA4OuagCv4gsiY=
892896
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.539/go.mod h1:gtPd3Hy8DA/4EErHNJliWeJB1sxZ9DhqenWiYZ3PF6g=
893897
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.765 h1:46VxMLFcM3mWr+GdOHmMCXsQM8Mle7pOip1z2RWmubU=
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
/*
2+
Use this data source to query detailed information of dlc check_data_engine_image_can_be_rollback
3+
4+
Example Usage
5+
6+
```hcl
7+
data "tencentcloud_dlc_check_data_engine_image_can_be_rollback" "check_data_engine_image_can_be_rollback" {
8+
data_engine_id = "DataEngine-public-1308919341"
9+
}
10+
```
11+
*/
12+
package tencentcloud
13+
14+
import (
15+
"context"
16+
17+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
18+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
19+
dlc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc/v20210125"
20+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
21+
)
22+
23+
func dataSourceTencentCloudDlcCheckDataEngineImageCanBeRollback() *schema.Resource {
24+
return &schema.Resource{
25+
Read: dataSourceTencentCloudDlcCheckDataEngineImageCanBeRollbackRead,
26+
Schema: map[string]*schema.Schema{
27+
"data_engine_id": {
28+
Required: true,
29+
Type: schema.TypeString,
30+
Description: "Engine unique id.",
31+
},
32+
33+
"to_record_id": {
34+
Computed: true,
35+
Type: schema.TypeString,
36+
Description: "Log record id after rollback.",
37+
},
38+
39+
"from_record_id": {
40+
Computed: true,
41+
Type: schema.TypeString,
42+
Description: "Log record id before rollback.",
43+
},
44+
45+
"is_rollback": {
46+
Computed: true,
47+
Type: schema.TypeBool,
48+
Description: "Is it possible to roll back.",
49+
},
50+
51+
"result_output_file": {
52+
Type: schema.TypeString,
53+
Optional: true,
54+
Description: "Used to save results.",
55+
},
56+
},
57+
}
58+
}
59+
60+
func dataSourceTencentCloudDlcCheckDataEngineImageCanBeRollbackRead(d *schema.ResourceData, meta interface{}) error {
61+
defer logElapsed("data_source.tencentcloud_dlc_check_data_engine_image_can_be_rollback.read")()
62+
defer inconsistentCheck(d, meta)()
63+
64+
logId := getLogId(contextNil)
65+
66+
ctx := context.WithValue(context.TODO(), logIdKey, logId)
67+
var dataEngineId string
68+
paramMap := make(map[string]interface{})
69+
if v, ok := d.GetOk("data_engine_id"); ok {
70+
dataEngineId = v.(string)
71+
paramMap["DataEngineId"] = helper.String(v.(string))
72+
}
73+
74+
service := DlcService{client: meta.(*TencentCloudClient).apiV3Conn}
75+
response := &dlc.CheckDataEngineImageCanBeRollbackResponseParams{}
76+
err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
77+
result, e := service.DescribeDlcCheckDataEngineImageCanBeRollbackByFilter(ctx, paramMap)
78+
if e != nil {
79+
return retryError(e)
80+
}
81+
response = result
82+
return nil
83+
})
84+
if err != nil {
85+
return err
86+
}
87+
var data = make(map[string]interface{}, 0)
88+
if response.ToRecordId != nil {
89+
_ = d.Set("to_record_id", response.ToRecordId)
90+
data["to_record_id"] = response.ToRecordId
91+
}
92+
93+
if response.FromRecordId != nil {
94+
_ = d.Set("from_record_id", response.FromRecordId)
95+
data["from_record_id"] = response.FromRecordId
96+
}
97+
98+
if response.IsRollback != nil {
99+
_ = d.Set("is_rollback", response.IsRollback)
100+
data["is_rollback"] = response.IsRollback
101+
}
102+
103+
d.SetId(dataEngineId)
104+
output, ok := d.GetOk("result_output_file")
105+
if ok && output.(string) != "" {
106+
if e := writeToFile(output.(string), data); e != nil {
107+
return e
108+
}
109+
}
110+
return nil
111+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package tencentcloud
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
)
8+
9+
func TestAccTencentCloudDlcCheckDataEngineImageCanBeRollbackDataSource_basic(t *testing.T) {
10+
t.Parallel()
11+
resource.Test(t, resource.TestCase{
12+
PreCheck: func() {
13+
testAccPreCheck(t)
14+
},
15+
Providers: testAccProviders,
16+
Steps: []resource.TestStep{
17+
{
18+
Config: testAccDlcCheckDataEngineImageCanBeRollbackDataSource,
19+
Check: resource.ComposeTestCheckFunc(testAccCheckTencentCloudDataSourceID("data.tencentcloud_dlc_check_data_engine_image_can_be_rollback.check_data_engine_image_can_be_rollback"),
20+
resource.TestCheckResourceAttr("data.tencentcloud_dlc_check_data_engine_image_can_be_rollback.check_data_engine_image_can_be_rollback", "data_engine_id", "DataEngine-public-1308919341")),
21+
},
22+
},
23+
})
24+
}
25+
26+
const testAccDlcCheckDataEngineImageCanBeRollbackDataSource = `
27+
28+
data "tencentcloud_dlc_check_data_engine_image_can_be_rollback" "check_data_engine_image_can_be_rollback" {
29+
data_engine_id = "DataEngine-public-1308919341"
30+
}
31+
32+
`

tencentcloud/provider.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1821,9 +1821,13 @@ EventBridge(EB)
18211821
tencentcloud_eb_event_connector
18221822
18231823
Data Lake Compute(DLC)
1824+
Data Source
1825+
tencentcloud_dlc_check_data_engine_image_can_be_rollback
18241826
Resource
18251827
tencentcloud_dlc_work_group
18261828
tencentcloud_dlc_user
1829+
tencentcloud_dlc_add_users_to_work_group_attachment
1830+
tencentcloud_dlc_store_location_config
18271831
18281832
WeData
18291833
Data Source
@@ -2657,6 +2661,7 @@ func Provider() *schema.Provider {
26572661
"tencentcloud_cam_list_attached_user_policy": dataSourceTencentCloudCamListAttachedUserPolicy(),
26582662
"tencentcloud_cam_secret_last_used_time": dataSourceTencentCloudCamSecretLastUsedTime(),
26592663
"tencentcloud_cam_policy_granting_service_access": dataSourceTencentCloudCamPolicyGrantingServiceAccess(),
2664+
"tencentcloud_dlc_check_data_engine_image_can_be_rollback": dataSourceTencentCloudDlcCheckDataEngineImageCanBeRollback(),
26602665
},
26612666

26622667
ResourcesMap: map[string]*schema.Resource{
@@ -3459,6 +3464,8 @@ func Provider() *schema.Provider {
34593464
"tencentcloud_eb_event_connector": resourceTencentCloudEbEventConnector(),
34603465
"tencentcloud_dlc_work_group": resourceTencentCloudDlcWorkGroup(),
34613466
"tencentcloud_dlc_user": resourceTencentCloudDlcUser(),
3467+
"tencentcloud_dlc_add_users_to_work_group_attachment": resourceTencentCloudDlcAddUsersToWorkGroupAttachment(),
3468+
"tencentcloud_dlc_store_location_config": resourceTencentCloudDlcStoreLocationConfig(),
34623469
"tencentcloud_wedata_rule_template": resourceTencentCloudWedataRuleTemplate(),
34633470
"tencentcloud_waf_custom_rule": resourceTencentCloudWafCustomRule(),
34643471
"tencentcloud_waf_custom_white_rule": resourceTencentCloudWafCustomWhiteRule(),

0 commit comments

Comments
 (0)