Skip to content

Commit a878df0

Browse files
tongyimingmikatong
and
mikatong
authoredApr 11, 2025
add retry (#3289)
Co-authored-by: mikatong <mikatong@tencent.com>
1 parent 550259a commit a878df0

4 files changed

+82
-60
lines changed
 

‎tencentcloud/services/eb/resource_tc_eb_event_bus_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ func testAccTencentCloudEbEventBusDestroy(s *terraform.State) error {
9191

9292
securityGroup, err := service.DescribeEbEventBusById(ctx, rs.Primary.ID)
9393
if err != nil {
94-
if err.(*sdkErrors.TencentCloudSDKError).Code == "ResourceNotFound.EventBus" {
94+
if err.(*sdkErrors.TencentCloudSDKError).Code == "ResourceNotFound" {
9595
return nil
9696
}
9797
return err

‎tencentcloud/services/eb/resource_tc_eb_event_connector_test.go

+6-15
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,14 @@ func TestAccTencentCloudEbEventConnectorResource_basic(t *testing.T) {
3232
resource.TestCheckResourceAttr("tencentcloud_eb_event_connector.event_connector", "connection_name", "tf-event-connector"),
3333
resource.TestCheckResourceAttr("tencentcloud_eb_event_connector.event_connector", "description", "event connector desc"),
3434
resource.TestCheckResourceAttr("tencentcloud_eb_event_connector.event_connector", "enable", "true"),
35-
resource.TestCheckResourceAttr("tencentcloud_eb_event_connector.event_connector", "type", "ckafka"),
35+
resource.TestCheckResourceAttr("tencentcloud_eb_event_connector.event_connector", "type", "tdmq"),
3636
resource.TestCheckResourceAttr("tencentcloud_eb_event_connector.event_connector", "connection_description.#", "1"),
3737
resource.TestCheckResourceAttrSet("tencentcloud_eb_event_connector.event_connector", "connection_description.0.resource_description"),
38-
resource.TestCheckResourceAttr("tencentcloud_eb_event_connector.event_connector", "connection_description.0.ckafka_params.#", "1"),
39-
resource.TestCheckResourceAttr("tencentcloud_eb_event_connector.event_connector", "connection_description.0.ckafka_params.0.offset", "latest"),
40-
resource.TestCheckResourceAttr("tencentcloud_eb_event_connector.event_connector", "connection_description.0.ckafka_params.0.topic_name", "dasdasd"),
4138
),
4239
},
4340
{
44-
ResourceName: "tencentcloud_eb_event_connector.event_connector",
45-
ImportState: true,
46-
ImportStateVerify: true,
41+
ResourceName: "tencentcloud_eb_event_connector.event_connector",
42+
ImportState: true,
4743
},
4844
},
4945
})
@@ -69,7 +65,7 @@ func testAccCheckEbEventConnectorDestroy(s *terraform.State) error {
6965

7066
connector, err := service.DescribeEbEventConnectorById(ctx, connectionId, eventBusId)
7167
if err != nil {
72-
if err.(*sdkErrors.TencentCloudSDKError).Code == "ResourceNotFound.EventBus" {
68+
if err.(*sdkErrors.TencentCloudSDKError).Code == "ResourceNotFound" {
7369
return nil
7470
}
7571
return err
@@ -130,7 +126,6 @@ resource "tencentcloud_eb_event_bus" "foo" {
130126
}
131127
132128
locals {
133-
ckafka_id = "ckafka-qzoeaqx8"
134129
uin = data.tencentcloud_user_info.foo.owner_uin
135130
}
136131
@@ -139,14 +134,10 @@ resource "tencentcloud_eb_event_connector" "event_connector" {
139134
connection_name = "tf-event-connector"
140135
description = "event connector desc"
141136
enable = true
142-
type = "ckafka"
137+
type = "tdmq"
143138
144139
connection_description {
145-
resource_description = "qcs::ckafka:ap-guangzhou:uin/${local.uin}:ckafkaId/uin/${local.uin}/${local.ckafka_id}"
146-
ckafka_params {
147-
offset = "latest"
148-
topic_name = "dasdasd"
149-
}
140+
resource_description = "qcs::tdmq:ap-guangzhou:uin/${local.uin}:subscriptionName/pulsar-pb5xp2wwxepd/keep-tdmq-ns/keep-tdmq-topic1/test"
150141
}
151142
}
152143

‎tencentcloud/services/eb/resource_tc_eb_event_rule_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ func testAccCheckEbEventRuleDestroy(s *terraform.State) error {
7676

7777
rule, err := service.DescribeEbEventRuleById(ctx, eventBusId, ruleId)
7878
if err != nil {
79-
if err.(*sdkErrors.TencentCloudSDKError).Code == "ResourceNotFound.Rule" {
79+
if err.(*sdkErrors.TencentCloudSDKError).Code == "ResourceNotFound" {
8080
return nil
8181
}
8282
return err

‎tencentcloud/services/eb/service_tencentcloud_eb.go

+74-43
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
eb "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/eb/v20210416"
@@ -155,20 +156,22 @@ func (me *EbService) DescribeEbEventBusById(ctx context.Context, eventBusId stri
155156
}
156157
}()
157158

158-
ratelimit.Check(request.GetAction())
159-
160-
response, err := me.client.UseEbClient().GetEventBus(request)
159+
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
160+
ratelimit.Check(request.GetAction())
161+
response, e := me.client.UseEbClient().GetEventBus(request)
162+
if e != nil {
163+
return tccommon.RetryError(e)
164+
} else {
165+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
166+
}
167+
event = response.Response
168+
return nil
169+
})
161170
if err != nil {
162171
errRet = err
163172
return
164173
}
165-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
166-
167-
if response.Response == nil {
168-
return
169-
}
170174

171-
event = response.Response
172175
return
173176
}
174177

@@ -184,14 +187,20 @@ func (me *EbService) DeleteEbEventBusById(ctx context.Context, eventBusId string
184187
}
185188
}()
186189

187-
ratelimit.Check(request.GetAction())
188-
189-
response, err := me.client.UseEbClient().DeleteEventBus(request)
190+
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
191+
ratelimit.Check(request.GetAction())
192+
response, e := me.client.UseEbClient().DeleteEventBus(request)
193+
if e != nil {
194+
return tccommon.RetryError(e)
195+
} else {
196+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
197+
}
198+
return nil
199+
})
190200
if err != nil {
191201
errRet = err
192202
return
193203
}
194-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
195204

196205
return
197206
}
@@ -271,20 +280,26 @@ func (me *EbService) DescribeEbEventRuleById(ctx context.Context, eventBusId str
271280
}
272281
}()
273282

274-
ratelimit.Check(request.GetAction())
283+
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
284+
ratelimit.Check(request.GetAction())
285+
response, e := me.client.UseEbClient().GetRule(request)
286+
if e != nil {
287+
return tccommon.RetryError(e)
288+
} else {
289+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
290+
}
291+
if response.Response == nil {
292+
return nil
293+
}
275294

276-
response, err := me.client.UseEbClient().GetRule(request)
295+
rule = response.Response
296+
return nil
297+
})
277298
if err != nil {
278299
errRet = err
279300
return
280301
}
281-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
282302

283-
if response.Response == nil {
284-
return
285-
}
286-
287-
rule = response.Response
288303
return
289304
}
290305

@@ -301,14 +316,20 @@ func (me *EbService) DeleteEbEventRuleById(ctx context.Context, eventBusId strin
301316
}
302317
}()
303318

304-
ratelimit.Check(request.GetAction())
305-
306-
response, err := me.client.UseEbClient().DeleteRule(request)
319+
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
320+
ratelimit.Check(request.GetAction())
321+
response, e := me.client.UseEbClient().DeleteRule(request)
322+
if e != nil {
323+
return tccommon.RetryError(e)
324+
} else {
325+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
326+
}
327+
return nil
328+
})
307329
if err != nil {
308330
errRet = err
309331
return
310332
}
311-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
312333

313334
return
314335
}
@@ -436,24 +457,28 @@ func (me *EbService) DescribeEbEventConnectorById(ctx context.Context, connectio
436457
}
437458
}()
438459

439-
ratelimit.Check(request.GetAction())
440-
441-
response, err := me.client.UseEbClient().ListConnections(request)
460+
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
461+
ratelimit.Check(request.GetAction())
462+
response, e := me.client.UseEbClient().ListConnections(request)
463+
if e != nil {
464+
return tccommon.RetryError(e)
465+
} else {
466+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
467+
}
468+
if len(response.Response.Connections) < 1 {
469+
return nil
470+
}
471+
for _, v := range response.Response.Connections {
472+
if *v.ConnectionId == connectionId {
473+
eventConnector = v
474+
}
475+
}
476+
return nil
477+
})
442478
if err != nil {
443479
errRet = err
444480
return
445481
}
446-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
447-
448-
if len(response.Response.Connections) < 1 {
449-
return
450-
}
451-
452-
for _, v := range response.Response.Connections {
453-
if *v.ConnectionId == connectionId {
454-
eventConnector = v
455-
}
456-
}
457482

458483
return
459484
}
@@ -471,14 +496,20 @@ func (me *EbService) DeleteEbEventConnectorById(ctx context.Context, connectionI
471496
}
472497
}()
473498

474-
ratelimit.Check(request.GetAction())
475-
476-
response, err := me.client.UseEbClient().DeleteConnection(request)
499+
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
500+
ratelimit.Check(request.GetAction())
501+
response, e := me.client.UseEbClient().DeleteConnection(request)
502+
if e != nil {
503+
return tccommon.RetryError(e)
504+
} else {
505+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
506+
}
507+
return nil
508+
})
477509
if err != nil {
478510
errRet = err
479511
return
480512
}
481-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
482513

483514
return
484515
}

0 commit comments

Comments
 (0)
Please sign in to comment.