Skip to content

Commit 651abc1

Browse files
committed
add
1 parent 8b051d9 commit 651abc1

20 files changed

+764
-24
lines changed

.changelog/3539.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,11 @@ tencentcloud_wedata_code_folder
1717
```release-note:new-resource
1818
tencentcloud_wedata_code_file
1919
```
20+
21+
```release-note:new-resource
22+
tencentcloud_wedata_run_sql_script_operation
23+
```
24+
25+
```release-note:new-resource
26+
tencentcloud_wedata_stop_sql_script_run_operation
27+
```

tencentcloud/provider.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2328,6 +2328,8 @@ func Provider() *schema.Provider {
23282328
"tencentcloud_wedata_sql_script": wedata.ResourceTencentCloudWedataSqlScript(),
23292329
"tencentcloud_wedata_code_folder": wedata.ResourceTencentCloudWedataCodeFolder(),
23302330
"tencentcloud_wedata_code_file": wedata.ResourceTencentCloudWedataCodeFile(),
2331+
"tencentcloud_wedata_run_sql_script_operation": wedata.ResourceTencentCloudWedataRunSqlScriptOperation(),
2332+
"tencentcloud_wedata_stop_sql_script_run_operation": wedata.ResourceTencentCloudWedataStopSqlScriptRunOperation(),
23312333
"tencentcloud_cfw_address_template": cfw.ResourceTencentCloudCfwAddressTemplate(),
23322334
"tencentcloud_cfw_block_ignore": cfw.ResourceTencentCloudCfwBlockIgnore(),
23332335
"tencentcloud_cfw_edge_policy": cfw.ResourceTencentCloudCfwEdgePolicy(),

tencentcloud/provider.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2248,6 +2248,7 @@ tencentcloud_wedata_upstream_task_instances
22482248
tencentcloud_wedata_downstream_task_instances
22492249
tencentcloud_wedata_task_instance_executions
22502250
tencentcloud_wedata_data_source_list
2251+
tencentcloud_wedata_sql_script_runs
22512252

22522253
Resource
22532254
tencentcloud_wedata_submit_task_operation
@@ -2271,6 +2272,12 @@ tencentcloud_wedata_ops_task
22712272
tencentcloud_wedata_integration_offline_task
22722273
tencentcloud_wedata_integration_realtime_task
22732274
tencentcloud_wedata_integration_task_node
2275+
tencentcloud_wedata_sql_folder
2276+
tencentcloud_wedata_sql_script
2277+
tencentcloud_wedata_code_folder
2278+
tencentcloud_wedata_code_file
2279+
tencentcloud_wedata_run_sql_script_operation
2280+
tencentcloud_wedata_stop_sql_script_run_operation
22742281

22752282
Cloud Firewall(CFW)
22762283
Data Source
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
package wedata
2+
3+
import (
4+
"context"
5+
"fmt"
6+
"log"
7+
"strings"
8+
9+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
10+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
11+
wedatav20250806 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata/v20250806"
12+
13+
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
14+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
15+
)
16+
17+
func ResourceTencentCloudWedataRunSqlScriptOperation() *schema.Resource {
18+
return &schema.Resource{
19+
Create: resourceTencentCloudWedataRunSqlScriptOperationCreate,
20+
Read: resourceTencentCloudWedataRunSqlScriptOperationRead,
21+
Delete: resourceTencentCloudWedataRunSqlScriptOperationDelete,
22+
Schema: map[string]*schema.Schema{
23+
"script_id": {
24+
Type: schema.TypeString,
25+
Required: true,
26+
ForceNew: true,
27+
Description: "Script id.",
28+
},
29+
30+
"project_id": {
31+
Type: schema.TypeString,
32+
Required: true,
33+
ForceNew: true,
34+
Description: "Project ID.",
35+
},
36+
37+
"script_content": {
38+
Type: schema.TypeString,
39+
Optional: true,
40+
ForceNew: true,
41+
Description: "Script content. executed by default if not transmitted.",
42+
},
43+
44+
"params": {
45+
Type: schema.TypeString,
46+
Optional: true,
47+
ForceNew: true,
48+
Description: "Advanced running parameter.",
49+
},
50+
51+
// computed
52+
"job_id": {
53+
Type: schema.TypeString,
54+
Computed: true,
55+
Description: "Job ID of the SQL script operation.",
56+
},
57+
},
58+
}
59+
}
60+
61+
func resourceTencentCloudWedataRunSqlScriptOperationCreate(d *schema.ResourceData, meta interface{}) error {
62+
defer tccommon.LogElapsed("resource.tencentcloud_wedata_run_sql_script_operation.create")()
63+
defer tccommon.InconsistentCheck(d, meta)()
64+
65+
var (
66+
logId = tccommon.GetLogId(tccommon.ContextNil)
67+
ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
68+
request = wedatav20250806.NewRunSQLScriptRequest()
69+
response = wedatav20250806.NewRunSQLScriptResponse()
70+
projectId string
71+
scriptId string
72+
)
73+
74+
if v, ok := d.GetOk("script_id"); ok {
75+
request.ScriptId = helper.String(v.(string))
76+
scriptId = v.(string)
77+
}
78+
79+
if v, ok := d.GetOk("project_id"); ok {
80+
request.ProjectId = helper.String(v.(string))
81+
projectId = v.(string)
82+
}
83+
84+
if v, ok := d.GetOk("script_content"); ok {
85+
request.ScriptContent = helper.String(tccommon.StringToBase64(v.(string)))
86+
}
87+
88+
if v, ok := d.GetOk("params"); ok {
89+
request.Params = helper.String(tccommon.StringToBase64(v.(string)))
90+
}
91+
92+
reqErr := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
93+
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseWedataV20250806Client().RunSQLScriptWithContext(ctx, request)
94+
if e != nil {
95+
return tccommon.RetryError(e)
96+
} else {
97+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
98+
}
99+
100+
if result == nil || result.Response == nil || result.Response.Data == nil {
101+
return resource.NonRetryableError(fmt.Errorf("Create wedata run sql script operation failed, Response is nil."))
102+
}
103+
104+
response = result
105+
return nil
106+
})
107+
108+
if reqErr != nil {
109+
log.Printf("[CRITAL]%s create wedata run sql script operation failed, reason:%+v", logId, reqErr)
110+
return reqErr
111+
}
112+
113+
if response.Response.Data.JobId != nil {
114+
_ = d.Set("job_id", *response.Response.Data.JobId)
115+
}
116+
117+
d.SetId(strings.Join([]string{projectId, scriptId}, tccommon.FILED_SP))
118+
return resourceTencentCloudWedataRunSqlScriptOperationRead(d, meta)
119+
}
120+
121+
func resourceTencentCloudWedataRunSqlScriptOperationRead(d *schema.ResourceData, meta interface{}) error {
122+
defer tccommon.LogElapsed("resource.tencentcloud_wedata_run_sql_script_operation.read")()
123+
defer tccommon.InconsistentCheck(d, meta)()
124+
125+
return nil
126+
}
127+
128+
func resourceTencentCloudWedataRunSqlScriptOperationDelete(d *schema.ResourceData, meta interface{}) error {
129+
defer tccommon.LogElapsed("resource.tencentcloud_wedata_run_sql_script_operation.delete")()
130+
defer tccommon.InconsistentCheck(d, meta)()
131+
132+
return nil
133+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Provides a resource to create a WeData run sql script operation
2+
3+
Example Usage
4+
5+
```hcl
6+
resource "tencentcloud_wedata_run_sql_script_operation" "example" {
7+
script_id = "195a5f49-8e43-4e05-8b42-cecdfb6349f8"
8+
project_id = "2983848457986924544"
9+
}
10+
```
11+
12+
Or
13+
14+
```hcl
15+
resource "tencentcloud_wedata_run_sql_script_operation" "example" {
16+
script_id = "195a5f49-8e43-4e05-8b42-cecdfb6349f8"
17+
project_id = "2983848457986924544"
18+
script_content = "SHOW DATABASES;"
19+
}
20+
```
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package wedata_test
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
8+
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
9+
)
10+
11+
func TestAccTencentCloudWedataRunSqlScriptOperationResource_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: testAccWedataRunSqlScriptOperation,
21+
Check: resource.ComposeTestCheckFunc(
22+
resource.TestCheckResourceAttrSet("tencentcloud_wedata_run_sql_script_operation.example", "id"),
23+
resource.TestCheckResourceAttrSet("tencentcloud_wedata_run_sql_script_operation.example", "script_id"),
24+
resource.TestCheckResourceAttrSet("tencentcloud_wedata_run_sql_script_operation.example", "project_id"),
25+
),
26+
},
27+
},
28+
})
29+
}
30+
31+
const testAccWedataRunSqlScriptOperation = `
32+
resource "tencentcloud_wedata_run_sql_script_operation" "example" {
33+
script_id = "195a5f49-8e43-4e05-8b42-cecdfb6349f8"
34+
project_id = "2983848457986924544"
35+
}
36+
`
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
package wedata
2+
3+
import (
4+
"context"
5+
"log"
6+
"strings"
7+
8+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
9+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
10+
wedatav20250806 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata/v20250806"
11+
12+
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
13+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
14+
)
15+
16+
func ResourceTencentCloudWedataStopSqlScriptRunOperation() *schema.Resource {
17+
return &schema.Resource{
18+
Create: resourceTencentCloudWedataStopSqlScriptRunOperationCreate,
19+
Read: resourceTencentCloudWedataStopSqlScriptRunOperationRead,
20+
Delete: resourceTencentCloudWedataStopSqlScriptRunOperationDelete,
21+
Schema: map[string]*schema.Schema{
22+
"job_id": {
23+
Type: schema.TypeString,
24+
Required: true,
25+
ForceNew: true,
26+
Description: "Specifies the query id.",
27+
},
28+
29+
"project_id": {
30+
Type: schema.TypeString,
31+
Required: true,
32+
ForceNew: true,
33+
Description: "Project ID.",
34+
},
35+
},
36+
}
37+
}
38+
39+
func resourceTencentCloudWedataStopSqlScriptRunOperationCreate(d *schema.ResourceData, meta interface{}) error {
40+
defer tccommon.LogElapsed("resource.tencentcloud_wedata_stop_sql_script_run_operation.create")()
41+
defer tccommon.InconsistentCheck(d, meta)()
42+
43+
var (
44+
logId = tccommon.GetLogId(tccommon.ContextNil)
45+
ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta)
46+
request = wedatav20250806.NewStopSQLScriptRunRequest()
47+
projectId string
48+
jobId string
49+
)
50+
51+
if v, ok := d.GetOk("job_id"); ok {
52+
request.JobId = helper.String(v.(string))
53+
jobId = v.(string)
54+
}
55+
56+
if v, ok := d.GetOk("project_id"); ok {
57+
request.ProjectId = helper.String(v.(string))
58+
projectId = v.(string)
59+
}
60+
61+
reqErr := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
62+
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseWedataV20250806Client().StopSQLScriptRunWithContext(ctx, request)
63+
if e != nil {
64+
return tccommon.RetryError(e)
65+
} else {
66+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
67+
}
68+
69+
return nil
70+
})
71+
72+
if reqErr != nil {
73+
log.Printf("[CRITAL]%s create wedata stop sql script run operation failed, reason:%+v", logId, reqErr)
74+
return reqErr
75+
}
76+
77+
d.SetId(strings.Join([]string{projectId, jobId}, tccommon.FILED_SP))
78+
return resourceTencentCloudWedataStopSqlScriptRunOperationRead(d, meta)
79+
}
80+
81+
func resourceTencentCloudWedataStopSqlScriptRunOperationRead(d *schema.ResourceData, meta interface{}) error {
82+
defer tccommon.LogElapsed("resource.tencentcloud_wedata_stop_sql_script_run_operation.read")()
83+
defer tccommon.InconsistentCheck(d, meta)()
84+
85+
return nil
86+
}
87+
88+
func resourceTencentCloudWedataStopSqlScriptRunOperationDelete(d *schema.ResourceData, meta interface{}) error {
89+
defer tccommon.LogElapsed("resource.tencentcloud_wedata_stop_sql_script_run_operation.delete")()
90+
defer tccommon.InconsistentCheck(d, meta)()
91+
92+
return nil
93+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Provides a resource to create a WeData stop sql script run operation
2+
3+
Example Usage
4+
5+
```hcl
6+
resource "tencentcloud_wedata_stop_sql_script_run_operation" "example" {
7+
job_id = "ac13aceb-7a30-4414-91c0-6504f177462f"
8+
project_id = "2983848457986924544"
9+
}
10+
```
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package wedata_test
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
8+
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
9+
)
10+
11+
func TestAccTencentCloudWedataStopSqlScriptRunOperationResource_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: testAccWedataStopSqlScriptRunOperation,
21+
Check: resource.ComposeTestCheckFunc(
22+
resource.TestCheckResourceAttrSet("tencentcloud_wedata_stop_sql_script_run_operation.example", "id"),
23+
resource.TestCheckResourceAttrSet("tencentcloud_wedata_stop_sql_script_run_operation.example", "job_id"),
24+
resource.TestCheckResourceAttrSet("tencentcloud_wedata_stop_sql_script_run_operation.example", "project_id"),
25+
),
26+
},
27+
},
28+
})
29+
}
30+
31+
const testAccWedataStopSqlScriptRunOperation = `
32+
resource "tencentcloud_wedata_stop_sql_script_run_operation" "example" {
33+
job_id = "ac13aceb-7a30-4414-91c0-6504f177462f"
34+
project_id = "2983848457986924544"
35+
}
36+
`

tencentcloud/services/wedata/service_tencentcloud_wedata.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2007,6 +2007,7 @@ func (me *WedataService) DescribeWedataCodeFileById(ctx context.Context, project
20072007
response := wedatav20250806.NewGetCodeFileResponse()
20082008
request.ProjectId = &projectId
20092009
request.CodeFileId = &codeFileId
2010+
request.IncludeContent = helper.Bool(true)
20102011

20112012
defer func() {
20122013
if errRet != nil {

0 commit comments

Comments
 (0)