Skip to content

Commit 5ec7bb7

Browse files
authored
fix(cls): [121643520] tencentcloud_cls_logset update code (#3074)
* add * add
1 parent 61e7e84 commit 5ec7bb7

File tree

5 files changed

+83
-61
lines changed

5 files changed

+83
-61
lines changed

.changelog/3074.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_cls_logset: update code
3+
```

tencentcloud/services/cls/resource_tc_cls_logset.go

Lines changed: 53 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ func ResourceTencentCloudClsLogset() *schema.Resource {
3131
Description: "Logset name, which must be unique.",
3232
},
3333

34+
"tags": {
35+
Type: schema.TypeMap,
36+
Optional: true,
37+
Description: "Tag description list.",
38+
},
39+
3440
"create_time": {
3541
Type: schema.TypeString,
3642
Computed: true,
@@ -48,12 +54,6 @@ func ResourceTencentCloudClsLogset() *schema.Resource {
4854
Computed: true,
4955
Description: "If assumer_uin is not empty, it indicates the service provider who creates the logset.",
5056
},
51-
52-
"tags": {
53-
Type: schema.TypeMap,
54-
Optional: true,
55-
Description: "Tag description list.",
56-
},
5757
},
5858
}
5959
}
@@ -62,11 +62,11 @@ func resourceTencentCloudClsLogsetCreate(d *schema.ResourceData, meta interface{
6262
defer tccommon.LogElapsed("resource.tencentcloud_cls_logset.create")()
6363
defer tccommon.InconsistentCheck(d, meta)()
6464

65-
logId := tccommon.GetLogId(tccommon.ContextNil)
66-
6765
var (
66+
logId = tccommon.GetLogId(tccommon.ContextNil)
67+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
6868
request = cls.NewCreateLogsetRequest()
69-
response *cls.CreateLogsetResponse
69+
response = cls.NewCreateLogsetResponse()
7070
)
7171

7272
if v, ok := d.GetOk("logset_name"); ok {
@@ -81,6 +81,11 @@ func resourceTencentCloudClsLogsetCreate(d *schema.ResourceData, meta interface{
8181
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
8282
logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
8383
}
84+
85+
if result == nil || result.Response == nil {
86+
return resource.NonRetryableError(fmt.Errorf("Create cls logset failed, Response is nil."))
87+
}
88+
8489
response = result
8590
return nil
8691
})
@@ -90,9 +95,13 @@ func resourceTencentCloudClsLogsetCreate(d *schema.ResourceData, meta interface{
9095
return err
9196
}
9297

98+
if response.Response.LogsetId == nil {
99+
return fmt.Errorf("LogsetId is nil.")
100+
}
101+
93102
logsetId := *response.Response.LogsetId
103+
d.SetId(logsetId)
94104

95-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
96105
if tags := helper.GetTags(d, "tags"); len(tags) > 0 {
97106
tagService := svctag.NewTagService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
98107
region := meta.(tccommon.ProviderMeta).GetAPIV3Conn().Region
@@ -101,23 +110,22 @@ func resourceTencentCloudClsLogsetCreate(d *schema.ResourceData, meta interface{
101110
return err
102111
}
103112
}
104-
d.SetId(logsetId)
113+
105114
return resourceTencentCloudClsLogsetRead(d, meta)
106115
}
107116

108117
func resourceTencentCloudClsLogsetRead(d *schema.ResourceData, meta interface{}) error {
109118
defer tccommon.LogElapsed("resource.tencentcloud_cls_logset.read")()
110119
defer tccommon.InconsistentCheck(d, meta)()
111120

112-
logId := tccommon.GetLogId(tccommon.ContextNil)
113-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
114-
115-
service := ClsService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
116-
117-
logsetId := d.Id()
121+
var (
122+
logId = tccommon.GetLogId(tccommon.ContextNil)
123+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
124+
service = ClsService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
125+
logsetId = d.Id()
126+
)
118127

119128
logset, err := service.DescribeClsLogset(ctx, logsetId)
120-
121129
if err != nil {
122130
return err
123131
}
@@ -149,6 +157,7 @@ func resourceTencentCloudClsLogsetRead(d *schema.ResourceData, meta interface{})
149157
if err != nil {
150158
return err
151159
}
160+
152161
_ = d.Set("tags", tags)
153162

154163
return nil
@@ -158,32 +167,33 @@ func resourceTencentCloudClsLogsetUpdate(d *schema.ResourceData, meta interface{
158167
defer tccommon.LogElapsed("resource.tencentcloud_cls_logset.update")()
159168
defer tccommon.InconsistentCheck(d, meta)()
160169

161-
logId := tccommon.GetLogId(tccommon.ContextNil)
162-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
163-
164-
request := cls.NewModifyLogsetRequest()
165-
166-
request.LogsetId = helper.String(d.Id())
170+
var (
171+
logId = tccommon.GetLogId(tccommon.ContextNil)
172+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
173+
)
167174

168175
if d.HasChange("logset_name") {
176+
request := cls.NewModifyLogsetRequest()
177+
request.LogsetId = helper.String(d.Id())
169178
if v, ok := d.GetOk("logset_name"); ok {
170179
request.LogsetName = helper.String(v.(string))
171180
}
172-
}
173181

174-
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
175-
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClsClient().ModifyLogset(request)
176-
if e != nil {
177-
return tccommon.RetryError(e)
178-
} else {
179-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
180-
logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
181-
}
182-
return nil
183-
})
182+
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
183+
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClsClient().ModifyLogset(request)
184+
if e != nil {
185+
return tccommon.RetryError(e)
186+
} else {
187+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
188+
logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
189+
}
184190

185-
if err != nil {
186-
return err
191+
return nil
192+
})
193+
194+
if err != nil {
195+
return err
196+
}
187197
}
188198

189199
if d.HasChange("tags") {
@@ -204,11 +214,12 @@ func resourceTencentCloudClsLogsetDelete(d *schema.ResourceData, meta interface{
204214
defer tccommon.LogElapsed("resource.tencentcloud_cls_logset.delete")()
205215
defer tccommon.InconsistentCheck(d, meta)()
206216

207-
logId := tccommon.GetLogId(tccommon.ContextNil)
208-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
209-
210-
service := ClsService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
211-
logsetId := d.Id()
217+
var (
218+
logId = tccommon.GetLogId(tccommon.ContextNil)
219+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
220+
service = ClsService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
221+
logsetId = d.Id()
222+
)
212223

213224
if err := service.DeleteClsLogsetById(ctx, logsetId); err != nil {
214225
return err
Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
Provides a resource to create a cls logset
1+
Provides a resource to create a CLS logset
22

33
Example Usage
44

55
```hcl
6-
resource "tencentcloud_cls_logset" "logset" {
7-
logset_name = "demo"
6+
resource "tencentcloud_cls_logset" "example" {
7+
logset_name = "tf-example"
88
tags = {
9-
"createdBy" = "terraform"
9+
createdBy = "Terraform"
1010
}
1111
}
12-
1312
```
1413
Import
1514

16-
cls logset can be imported using the id, e.g.
15+
CLS logset can be imported using the id, e.g.
1716
```
18-
$ terraform import tencentcloud_cls_logset.logset logset_id
17+
$ terraform import tencentcloud_cls_logset.example 698902ff-8b5a-4c65-824b-d8956f366351
1918
```

tencentcloud/services/cls/service_tencentcloud_cls.go

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"log"
66

7+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
78
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
89

910
cls "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016"
@@ -97,14 +98,22 @@ func (me *ClsService) DeleteClsLogsetById(ctx context.Context, logsetId string)
9798
}
9899
}()
99100

100-
ratelimit.Check(request.GetAction())
101-
response, err := me.client.UseClsClient().DeleteLogset(request)
101+
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
102+
ratelimit.Check(request.GetAction())
103+
result, e := me.client.UseClsClient().DeleteLogset(request)
104+
if e != nil {
105+
return tccommon.RetryError(e)
106+
} else {
107+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
108+
logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
109+
}
110+
111+
return nil
112+
})
113+
102114
if err != nil {
103-
errRet = err
104115
return err
105116
}
106-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
107-
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
108117

109118
return
110119
}

website/docs/r/cls_logset.html.markdown

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@ layout: "tencentcloud"
44
page_title: "TencentCloud: tencentcloud_cls_logset"
55
sidebar_current: "docs-tencentcloud-resource-cls_logset"
66
description: |-
7-
Provides a resource to create a cls logset
7+
Provides a resource to create a CLS logset
88
---
99

1010
# tencentcloud_cls_logset
1111

12-
Provides a resource to create a cls logset
12+
Provides a resource to create a CLS logset
1313

1414
## Example Usage
1515

1616
```hcl
17-
resource "tencentcloud_cls_logset" "logset" {
18-
logset_name = "demo"
17+
resource "tencentcloud_cls_logset" "example" {
18+
logset_name = "tf-example"
1919
tags = {
20-
"createdBy" = "terraform"
20+
createdBy = "Terraform"
2121
}
2222
}
2323
```
@@ -41,8 +41,8 @@ In addition to all arguments above, the following attributes are exported:
4141

4242
## Import
4343

44-
cls logset can be imported using the id, e.g.
44+
CLS logset can be imported using the id, e.g.
4545
```
46-
$ terraform import tencentcloud_cls_logset.logset logset_id
46+
$ terraform import tencentcloud_cls_logset.example 698902ff-8b5a-4c65-824b-d8956f366351
4747
```
4848

0 commit comments

Comments
 (0)