Skip to content

Commit e869aba

Browse files
WeiMengXSWeiMengXS
and
WeiMengXS
authored
feat: engine (#2245)
* feat: engine * feat: fmt and doc * feat: changelog * feat: changelog * feat: changelog --------- Co-authored-by: WeiMengXS <[email protected]>
1 parent f39a69e commit e869aba

13 files changed

+1567
-3
lines changed

.changelog/2245.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
```release-note:new-data-source
2+
tencentcloud_dlc_check_data_engine_image_can_be_upgrade
3+
```
4+
5+
```release-note:new-resource
6+
tencentcloud_dlc_data_engine
7+
```
8+
9+
```release-note:new-resource
10+
tencentcloud_dlc_rollback_data_engine_image_operation
11+
```
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
/*
2+
Use this data source to query detailed information of dlc check_data_engine_image_can_be_upgrade
3+
4+
Example Usage
5+
6+
```hcl
7+
data "tencentcloud_dlc_check_data_engine_image_can_be_upgrade" "check_data_engine_image_can_be_upgrade" {
8+
data_engine_id = "DataEngine-cgkvbas6"
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 dataSourceTencentCloudDlcCheckDataEngineImageCanBeUpgrade() *schema.Resource {
24+
return &schema.Resource{
25+
Read: dataSourceTencentCloudDlcCheckDataEngineImageCanBeUpgradeRead,
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+
"child_image_version_id": {
34+
Computed: true,
35+
Type: schema.TypeString,
36+
Description: "The latest image version id that can be upgraded.",
37+
},
38+
39+
"is_upgrade": {
40+
Computed: true,
41+
Type: schema.TypeBool,
42+
Description: "Is it possible to upgrade.",
43+
},
44+
45+
"result_output_file": {
46+
Type: schema.TypeString,
47+
Optional: true,
48+
Description: "Used to save results.",
49+
},
50+
},
51+
}
52+
}
53+
54+
func dataSourceTencentCloudDlcCheckDataEngineImageCanBeUpgradeRead(d *schema.ResourceData, meta interface{}) error {
55+
defer logElapsed("data_source.tencentcloud_dlc_check_data_engine_image_can_be_upgrade.read")()
56+
defer inconsistentCheck(d, meta)()
57+
58+
logId := getLogId(contextNil)
59+
60+
ctx := context.WithValue(context.TODO(), logIdKey, logId)
61+
var dataEngineId string
62+
paramMap := make(map[string]interface{})
63+
if v, ok := d.GetOk("data_engine_id"); ok {
64+
dataEngineId = v.(string)
65+
paramMap["DataEngineId"] = helper.String(v.(string))
66+
}
67+
68+
service := DlcService{client: meta.(*TencentCloudClient).apiV3Conn}
69+
var checkResult *dlc.CheckDataEngineImageCanBeUpgradeResponseParams
70+
71+
err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
72+
result, e := service.DescribeDlcCheckDataEngineImageCanBeUpgradeByFilter(ctx, paramMap)
73+
if e != nil {
74+
return retryError(e)
75+
}
76+
checkResult = result
77+
return nil
78+
})
79+
if err != nil {
80+
return err
81+
}
82+
var data = make(map[string]interface{}, 0)
83+
84+
if checkResult.ChildImageVersionId != nil {
85+
_ = d.Set("child_image_version_id", checkResult.ChildImageVersionId)
86+
data["child_image_version_id"] = checkResult.ChildImageVersionId
87+
}
88+
89+
if checkResult.IsUpgrade != nil {
90+
_ = d.Set("is_upgrade", checkResult.IsUpgrade)
91+
data["is_upgrade"] = checkResult.IsUpgrade
92+
93+
}
94+
95+
d.SetId(dataEngineId)
96+
output, ok := d.GetOk("result_output_file")
97+
if ok && output.(string) != "" {
98+
if e := writeToFile(output.(string), data); e != nil {
99+
return e
100+
}
101+
}
102+
return nil
103+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package tencentcloud
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
)
8+
9+
func TestAccTencentCloudDlcCheckDataEngineImageCanBeUpgradeDataSource_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: testAccDlcCheckDataEngineImageCanBeUpgradeDataSource,
19+
Check: resource.ComposeTestCheckFunc(testAccCheckTencentCloudDataSourceID("data.tencentcloud_dlc_check_data_engine_image_can_be_upgrade.check_data_engine_image_can_be_upgrade")),
20+
},
21+
},
22+
})
23+
}
24+
25+
const testAccDlcCheckDataEngineImageCanBeUpgradeDataSource = `
26+
27+
data "tencentcloud_dlc_check_data_engine_image_can_be_upgrade" "check_data_engine_image_can_be_upgrade" {
28+
data_engine_id = "DataEngine-cgkvbas6"
29+
}
30+
31+
`

tencentcloud/provider.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1514,8 +1514,8 @@ Tencent Cloud Organization (TCO)
15141514
tencentcloud_organization_org_identity
15151515
tencentcloud_organization_org_member_email
15161516
tencentcloud_organization_org_member_auth_identity_attachment
1517-
tencentcloud_organization_policy_sub_account_attachment
15181517
tencentcloud_organization_org_member_policy_attachment
1518+
tencentcloud_organization_policy_sub_account_attachment
15191519
tencentcloud_organization_quit_organization_operation
15201520
15211521
TDSQL-C for PostgreSQL(TDCPG)
@@ -1832,10 +1832,13 @@ Data Lake Compute(DLC)
18321832
tencentcloud_dlc_describe_user_info
18331833
tencentcloud_dlc_describe_user_roles
18341834
tencentcloud_dlc_check_data_engine_image_can_be_rollback
1835+
tencentcloud_dlc_check_data_engine_image_can_be_upgrade
18351836
18361837
Resource
18371838
tencentcloud_dlc_work_group
18381839
tencentcloud_dlc_user
1840+
tencentcloud_dlc_data_engine
1841+
tencentcloud_dlc_rollback_data_engine_image_operation
18391842
tencentcloud_dlc_add_users_to_work_group_attachment
18401843
tencentcloud_dlc_store_location_config
18411844
tencentcloud_dlc_suspend_resume_data_engine
@@ -2692,6 +2695,7 @@ func Provider() *schema.Provider {
26922695
"tencentcloud_cam_secret_last_used_time": dataSourceTencentCloudCamSecretLastUsedTime(),
26932696
"tencentcloud_cam_policy_granting_service_access": dataSourceTencentCloudCamPolicyGrantingServiceAccess(),
26942697
"tencentcloud_dlc_check_data_engine_image_can_be_rollback": dataSourceTencentCloudDlcCheckDataEngineImageCanBeRollback(),
2698+
"tencentcloud_dlc_check_data_engine_image_can_be_upgrade": dataSourceTencentCloudDlcCheckDataEngineImageCanBeUpgrade(),
26952699
"tencentcloud_dlc_describe_user_type": dataSourceTencentCloudDlcDescribeUserType(),
26962700
"tencentcloud_dlc_describe_user_info": dataSourceTencentCloudDlcDescribeUserInfo(),
26972701
"tencentcloud_dlc_describe_user_roles": dataSourceTencentCloudDlcDescribeUserRoles(),
@@ -3499,10 +3503,12 @@ func Provider() *schema.Provider {
34993503
"tencentcloud_eb_put_events": resourceTencentCloudEbPutEvents(),
35003504
"tencentcloud_eb_event_connector": resourceTencentCloudEbEventConnector(),
35013505
"tencentcloud_dlc_user": resourceTencentCloudDlcUser(),
3502-
"tencentcloud_dlc_add_users_to_work_group_attachment": resourceTencentCloudDlcAddUsersToWorkGroupAttachment(),
3503-
"tencentcloud_dlc_store_location_config": resourceTencentCloudDlcStoreLocationConfig(),
35043506
"tencentcloud_dlc_work_group": resourceTencentCloudDlcWorkGroup(),
3507+
"tencentcloud_dlc_data_engine": resourceTencentCloudDlcDataEngine(),
35053508
"tencentcloud_dlc_suspend_resume_data_engine": resourceTencentCloudDlcSuspendResumeDataEngine(),
3509+
"tencentcloud_dlc_rollback_data_engine_image_operation": resourceTencentCloudDlcRollbackDataEngineImageOperation(),
3510+
"tencentcloud_dlc_add_users_to_work_group_attachment": resourceTencentCloudDlcAddUsersToWorkGroupAttachment(),
3511+
"tencentcloud_dlc_store_location_config": resourceTencentCloudDlcStoreLocationConfig(),
35063512
"tencentcloud_wedata_rule_template": resourceTencentCloudWedataRuleTemplate(),
35073513
"tencentcloud_waf_custom_rule": resourceTencentCloudWafCustomRule(),
35083514
"tencentcloud_waf_custom_white_rule": resourceTencentCloudWafCustomWhiteRule(),

0 commit comments

Comments
 (0)