Skip to content

Commit dd37fa5

Browse files
WeiMengXSWeiMengXS
andauthored
Feat/dlc operation (#2251)
* feat: operation * feat: operation * feat: operation * feat: operation --------- Co-authored-by: WeiMengXS <nickcchen@tencent.com>
1 parent a17a67c commit dd37fa5

12 files changed

+648
-0
lines changed

.changelog/2251.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
```release-note:new-resource
2+
tencentcloud_dlc_modify_data_engine_description_operation
3+
```
4+
5+
```release-note:new-resource
6+
tencentcloud_dlc_modify_user_typ_operation
7+
```
8+
9+
```release-note:new-resource
10+
tencentcloud_dlc_renew_data_engine_operation
11+
```
12+
13+
14+

tencentcloud/provider.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1842,6 +1842,9 @@ Data Lake Compute(DLC)
18421842
tencentcloud_dlc_add_users_to_work_group_attachment
18431843
tencentcloud_dlc_store_location_config
18441844
tencentcloud_dlc_suspend_resume_data_engine
1845+
tencentcloud_dlc_modify_data_engine_description_operation
1846+
tencentcloud_dlc_modify_user_typ_operation
1847+
tencentcloud_dlc_renew_data_engine_operation
18451848
18461849
WeData
18471850
Data Source
@@ -3513,6 +3516,9 @@ func Provider() *schema.Provider {
35133516
"tencentcloud_dlc_rollback_data_engine_image_operation": resourceTencentCloudDlcRollbackDataEngineImageOperation(),
35143517
"tencentcloud_dlc_add_users_to_work_group_attachment": resourceTencentCloudDlcAddUsersToWorkGroupAttachment(),
35153518
"tencentcloud_dlc_store_location_config": resourceTencentCloudDlcStoreLocationConfig(),
3519+
"tencentcloud_dlc_modify_data_engine_description_operation": resourceTencentCloudDlcModifyDataEngineDescriptionOperation(),
3520+
"tencentcloud_dlc_modify_user_typ_operation": resourceTencentCloudDlcModifyUserTypOperation(),
3521+
"tencentcloud_dlc_renew_data_engine_operation": resourceTencentCloudDlcRenewDataEngineOperation(),
35163522
"tencentcloud_wedata_rule_template": resourceTencentCloudWedataRuleTemplate(),
35173523
"tencentcloud_waf_custom_rule": resourceTencentCloudWafCustomRule(),
35183524
"tencentcloud_waf_custom_white_rule": resourceTencentCloudWafCustomWhiteRule(),
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
/*
2+
Provides a resource to create a dlc modify_data_engine_description_operation
3+
4+
Example Usage
5+
6+
```hcl
7+
resource "tencentcloud_dlc_modify_data_engine_description_operation" "modify_data_engine_description_operation" {
8+
data_engine_name = "testEngine"
9+
message = "test"
10+
}
11+
```
12+
13+
Import
14+
15+
dlc modify_data_engine_description_operation can be imported using the id, e.g.
16+
17+
```
18+
terraform import tencentcloud_dlc_modify_data_engine_description_operation.modify_data_engine_description_operation modify_data_engine_description_operation_id
19+
```
20+
*/
21+
package tencentcloud
22+
23+
import (
24+
"log"
25+
26+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
27+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
28+
dlc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc/v20210125"
29+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
30+
)
31+
32+
func resourceTencentCloudDlcModifyDataEngineDescriptionOperation() *schema.Resource {
33+
return &schema.Resource{
34+
Create: resourceTencentCloudDlcModifyDataEngineDescriptionOperationCreate,
35+
Read: resourceTencentCloudDlcModifyDataEngineDescriptionOperationRead,
36+
Delete: resourceTencentCloudDlcModifyDataEngineDescriptionOperationDelete,
37+
Importer: &schema.ResourceImporter{
38+
State: schema.ImportStatePassthrough,
39+
},
40+
Schema: map[string]*schema.Schema{
41+
"data_engine_name": {
42+
Required: true,
43+
ForceNew: true,
44+
Type: schema.TypeString,
45+
Description: "The name of the engine to modify.",
46+
},
47+
48+
"message": {
49+
Required: true,
50+
ForceNew: true,
51+
Type: schema.TypeString,
52+
Description: "Engine description information, the maximum length is 250.",
53+
},
54+
},
55+
}
56+
}
57+
58+
func resourceTencentCloudDlcModifyDataEngineDescriptionOperationCreate(d *schema.ResourceData, meta interface{}) error {
59+
defer logElapsed("resource.tencentcloud_dlc_modify_data_engine_description_operation.create")()
60+
defer inconsistentCheck(d, meta)()
61+
62+
logId := getLogId(contextNil)
63+
64+
var (
65+
request = dlc.NewModifyDataEngineDescriptionRequest()
66+
dataEngineName string
67+
)
68+
if v, ok := d.GetOk("data_engine_name"); ok {
69+
dataEngineName = v.(string)
70+
request.DataEngineName = helper.String(v.(string))
71+
}
72+
73+
if v, ok := d.GetOk("message"); ok {
74+
request.Message = helper.String(v.(string))
75+
}
76+
77+
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
78+
result, e := meta.(*TencentCloudClient).apiV3Conn.UseDlcClient().ModifyDataEngineDescription(request)
79+
if e != nil {
80+
return retryError(e)
81+
} else {
82+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
83+
}
84+
return nil
85+
})
86+
if err != nil {
87+
log.Printf("[CRITAL]%s operate dlc modifyDataEngineDescriptionOperation failed, reason:%+v", logId, err)
88+
return err
89+
}
90+
91+
d.SetId(dataEngineName)
92+
93+
return resourceTencentCloudDlcModifyDataEngineDescriptionOperationRead(d, meta)
94+
}
95+
96+
func resourceTencentCloudDlcModifyDataEngineDescriptionOperationRead(d *schema.ResourceData, meta interface{}) error {
97+
defer logElapsed("resource.tencentcloud_dlc_modify_data_engine_description_operation.read")()
98+
defer inconsistentCheck(d, meta)()
99+
100+
return nil
101+
}
102+
103+
func resourceTencentCloudDlcModifyDataEngineDescriptionOperationDelete(d *schema.ResourceData, meta interface{}) error {
104+
defer logElapsed("resource.tencentcloud_dlc_modify_data_engine_description_operation.delete")()
105+
defer inconsistentCheck(d, meta)()
106+
107+
return nil
108+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package tencentcloud
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
)
8+
9+
func TestAccTencentCloudDlcModifyDataEngineDescriptionOperationResource_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: testAccDlcModifyDataEngineDescriptionOperation,
19+
Check: resource.ComposeTestCheckFunc(
20+
resource.TestCheckResourceAttrSet("tencentcloud_dlc_modify_data_engine_description_operation.modify_data_engine_description_operation", "id"),
21+
resource.TestCheckResourceAttr("tencentcloud_dlc_modify_data_engine_description_operation.modify_data_engine_description_operation", "data_engine_name", "iac-test-spark"),
22+
resource.TestCheckResourceAttr("tencentcloud_dlc_modify_data_engine_description_operation.modify_data_engine_description_operation", "message", "test")),
23+
},
24+
},
25+
})
26+
}
27+
28+
const testAccDlcModifyDataEngineDescriptionOperation = `
29+
30+
resource "tencentcloud_dlc_modify_data_engine_description_operation" "modify_data_engine_description_operation" {
31+
data_engine_name = "iac-test-spark"
32+
message = "test"
33+
}
34+
35+
`
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
/*
2+
Provides a resource to create a dlc modify_user_typ_operation
3+
4+
Example Usage
5+
6+
```hcl
7+
resource "tencentcloud_dlc_modify_user_typ_operation" "modify_user_typ_operation" {
8+
user_id = "127382378"
9+
user_type = "ADMIN"
10+
}
11+
```
12+
13+
Import
14+
15+
dlc modify_user_typ_operation can be imported using the id, e.g.
16+
17+
```
18+
terraform import tencentcloud_dlc_modify_user_typ_operation.modify_user_typ_operation modify_user_typ_operation_id
19+
```
20+
*/
21+
package tencentcloud
22+
23+
import (
24+
"log"
25+
26+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
27+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
28+
dlc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dlc/v20210125"
29+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
30+
)
31+
32+
func resourceTencentCloudDlcModifyUserTypOperation() *schema.Resource {
33+
return &schema.Resource{
34+
Create: resourceTencentCloudDlcModifyUserTypOperationCreate,
35+
Read: resourceTencentCloudDlcModifyUserTypOperationRead,
36+
Delete: resourceTencentCloudDlcModifyUserTypOperationDelete,
37+
Importer: &schema.ResourceImporter{
38+
State: schema.ImportStatePassthrough,
39+
},
40+
Schema: map[string]*schema.Schema{
41+
"user_id": {
42+
Required: true,
43+
ForceNew: true,
44+
Type: schema.TypeString,
45+
Description: "User id (uin), if left blank, it defaults to the caller's sub-uin.",
46+
},
47+
48+
"user_type": {
49+
Required: true,
50+
ForceNew: true,
51+
Type: schema.TypeString,
52+
Description: "User type, only support: ADMIN: ddministrator/COMMON: ordinary user.",
53+
},
54+
},
55+
}
56+
}
57+
58+
func resourceTencentCloudDlcModifyUserTypOperationCreate(d *schema.ResourceData, meta interface{}) error {
59+
defer logElapsed("resource.tencentcloud_dlc_modify_user_typ_operation.create")()
60+
defer inconsistentCheck(d, meta)()
61+
62+
logId := getLogId(contextNil)
63+
64+
var (
65+
request = dlc.NewModifyUserTypeRequest()
66+
userId string
67+
)
68+
if v, ok := d.GetOk("user_id"); ok {
69+
userId = v.(string)
70+
request.UserId = helper.String(v.(string))
71+
}
72+
73+
if v, ok := d.GetOk("user_type"); ok {
74+
request.UserType = helper.String(v.(string))
75+
}
76+
77+
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
78+
result, e := meta.(*TencentCloudClient).apiV3Conn.UseDlcClient().ModifyUserType(request)
79+
if e != nil {
80+
return retryError(e)
81+
} else {
82+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
83+
}
84+
return nil
85+
})
86+
if err != nil {
87+
log.Printf("[CRITAL]%s operate dlc modifyUserTypOperation failed, reason:%+v", logId, err)
88+
return err
89+
}
90+
91+
d.SetId(userId)
92+
93+
return resourceTencentCloudDlcModifyUserTypOperationRead(d, meta)
94+
}
95+
96+
func resourceTencentCloudDlcModifyUserTypOperationRead(d *schema.ResourceData, meta interface{}) error {
97+
defer logElapsed("resource.tencentcloud_dlc_modify_user_typ_operation.read")()
98+
defer inconsistentCheck(d, meta)()
99+
100+
return nil
101+
}
102+
103+
func resourceTencentCloudDlcModifyUserTypOperationDelete(d *schema.ResourceData, meta interface{}) error {
104+
defer logElapsed("resource.tencentcloud_dlc_modify_user_typ_operation.delete")()
105+
defer inconsistentCheck(d, meta)()
106+
107+
return nil
108+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package tencentcloud
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
)
8+
9+
func TestAccTencentCloudDlcModifyUserTypOperationResource_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: testAccDlcModifyUserTypOperation,
19+
Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_dlc_modify_user_typ_operation.modify_user_typ_operation", "id"),
20+
resource.TestCheckResourceAttr("tencentcloud_dlc_modify_user_typ_operation.modify_user_typ_operation", "user_id", "100032676511"),
21+
resource.TestCheckResourceAttr("tencentcloud_dlc_modify_user_typ_operation.modify_user_typ_operation", "user_type", "ADMIN")),
22+
},
23+
{
24+
Config: testAccDlcModifyUserTypOperationRecover,
25+
Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_dlc_modify_user_typ_operation.modify_user_typ_operation", "id"),
26+
resource.TestCheckResourceAttr("tencentcloud_dlc_modify_user_typ_operation.modify_user_typ_operation", "user_id", "100032676511"),
27+
resource.TestCheckResourceAttr("tencentcloud_dlc_modify_user_typ_operation.modify_user_typ_operation", "user_type", "COMMON")),
28+
},
29+
},
30+
})
31+
}
32+
33+
const testAccDlcModifyUserTypOperation = `
34+
35+
resource "tencentcloud_dlc_modify_user_typ_operation" "modify_user_typ_operation" {
36+
user_id = "100032676511"
37+
user_type = "ADMIN"
38+
}
39+
40+
`
41+
const testAccDlcModifyUserTypOperationRecover = `
42+
43+
resource "tencentcloud_dlc_modify_user_typ_operation" "modify_user_typ_operation" {
44+
user_id = "100032676511"
45+
user_type = "COMMON"
46+
}
47+
48+
`

0 commit comments

Comments
 (0)