Skip to content

Commit 35c1200

Browse files
committed
add
1 parent 34c96dd commit 35c1200

16 files changed

+354
-119
lines changed

.changelog/2690.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,15 @@ resource/tencentcloud_tdmq_role: Fix the issue of returning multiple return valu
55
```release-note:enhancement
66
resource/tencentcloud_tdmq_namespace_role_attachment: Fix the issue of returning multiple return values
77
```
8+
9+
```release-note:enhancement
10+
resource/tencentcloud_tdmq_instance: Fix the issue of returning multiple return values
11+
```
12+
13+
```release-note:enhancement
14+
resource/tencentcloud_tdmq_namespace: Fix the issue of returning multiple return values
15+
```
16+
17+
```release-note:enhancement
18+
resource/tencentcloud_tdmq_topic: Fix the issue of returning multiple return values
19+
```

tencentcloud/services/tdmq/service_tencentcloud_tdmq.go

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ func (me *TdmqService) DescribeTdmqInstanceById(ctx context.Context,
4040
logId, request.GetAction(), request.ToJsonString(), errRet.Error())
4141
}
4242
}()
43+
4344
request.ClusterIdList = []*string{&clusterId}
4445

4546
var response *tdmq.DescribeClustersResponse
46-
4747
var iacExtInfo connectivity.IacExtInfo
4848
iacExtInfo.InstanceId = clusterId
4949
if err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
@@ -52,6 +52,7 @@ func (me *TdmqService) DescribeTdmqInstanceById(ctx context.Context,
5252
if err != nil {
5353
return tccommon.RetryError(err, tccommon.InternalError)
5454
}
55+
5556
response = result
5657
return nil
5758
}); err != nil {
@@ -62,6 +63,7 @@ func (me *TdmqService) DescribeTdmqInstanceById(ctx context.Context,
6263
if len(response.Response.ClusterSet) < 1 {
6364
return
6465
}
66+
6567
has = true
6668
info = response.Response.ClusterSet[0]
6769
return
@@ -104,14 +106,17 @@ func (me *TdmqService) DeleteTdmqInstance(ctx context.Context, clusterId string)
104106
logId, request.GetAction(), request.ToJsonString(), errRet.Error())
105107
}
106108
}()
109+
107110
request.ClusterId = &clusterId
108111
response, err := me.client.UseTdmqClient().DeleteCluster(request)
109112
if err != nil {
110113
errRet = err
111114
return err
112115
}
116+
113117
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
114118
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
119+
115120
return
116121
}
117122

@@ -140,13 +145,15 @@ func (me *TdmqService) CreateTdmqNamespace(ctx context.Context, environName stri
140145
if err != nil {
141146
return tccommon.RetryError(err)
142147
}
148+
143149
response = result
144150
return nil
145151
}); err != nil {
146152
log.Printf("[CRITAL]%s create tdmq namespace failed, reason: %v", logId, err)
147153
errRet = err
148154
return
149155
}
156+
150157
environId = *response.Response.EnvironmentId
151158
return
152159
}
@@ -161,27 +168,34 @@ func (me *TdmqService) DescribeTdmqNamespaceById(ctx context.Context,
161168
logId, request.GetAction(), request.ToJsonString(), errRet.Error())
162169
}
163170
}()
164-
request.EnvironmentId = &environId
171+
165172
request.ClusterId = &clusterId
173+
request.Filters = []*tdmq.Filter{
174+
{
175+
Name: common.StringPtr("EnvironmentId"),
176+
Values: common.StringPtrs([]string{environId}),
177+
},
178+
}
166179

167180
var response *tdmq.DescribeEnvironmentsResponse
168-
169181
if err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
170182
ratelimit.Check(request.GetAction())
171183
result, err := me.client.UseTdmqClient().DescribeEnvironments(request)
172184
if err != nil {
173185
return tccommon.RetryError(err, tccommon.InternalError)
174186
}
187+
175188
response = result
176189
return nil
177190
}); err != nil {
178-
log.Printf("[CRITAL]%s read tdmq failed, reason: %v", logId, err)
191+
log.Printf("[CRITAL]%s read tdmq namespace failed, reason: %v", logId, err)
179192
return nil, false, err
180193
}
181194

182195
if len(response.Response.EnvironmentSet) < 1 {
183196
return
184197
}
198+
185199
has = true
186200
info = response.Response.EnvironmentSet[0]
187201
return
@@ -209,11 +223,13 @@ func (me *TdmqService) ModifyTdmqNamespaceAttribute(ctx context.Context, environ
209223
if err != nil {
210224
return tccommon.RetryError(err, tccommon.InternalError)
211225
}
226+
212227
return nil
213228
}); err != nil {
214229
log.Printf("[CRITAL]%s modify tdmq namespace failed, reason: %v", logId, err)
215230
return err
216231
}
232+
217233
return
218234
}
219235

@@ -226,6 +242,7 @@ func (me *TdmqService) DeleteTdmqNamespace(ctx context.Context, environId string
226242
logId, request.GetAction(), request.ToJsonString(), errRet.Error())
227243
}
228244
}()
245+
229246
request.EnvironmentIds = []*string{&environId}
230247
request.ClusterId = &clusterId
231248
if err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
@@ -234,11 +251,13 @@ func (me *TdmqService) DeleteTdmqNamespace(ctx context.Context, environId string
234251
if err != nil {
235252
return tccommon.RetryError(err, tccommon.InternalError)
236253
}
254+
237255
return nil
238256
}); err != nil {
239257
log.Printf("[CRITAL]%s delete tdmq namespace failed, reason: %v", logId, err)
240258
return err
241259
}
260+
242261
return
243262
}
244263

@@ -291,18 +310,24 @@ func (me *TdmqService) DescribeTdmqTopicById(ctx context.Context,
291310
logId, request.GetAction(), request.ToJsonString(), errRet.Error())
292311
}
293312
}()
313+
294314
request.EnvironmentId = &environId
295-
request.TopicName = &topicName
296315
request.ClusterId = &clusterId
316+
request.Filters = []*tdmq.Filter{
317+
{
318+
Name: common.StringPtr("TopicName"),
319+
Values: common.StringPtrs([]string{topicName}),
320+
},
321+
}
297322

298323
var response *tdmq.DescribeTopicsResponse
299-
300324
if err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
301325
ratelimit.Check(request.GetAction())
302326
result, err := me.client.UseTdmqClient().DescribeTopics(request)
303327
if err != nil {
304328
return tccommon.RetryError(err, tccommon.InternalError)
305329
}
330+
306331
response = result
307332
return nil
308333
}); err != nil {
@@ -313,6 +338,7 @@ func (me *TdmqService) DescribeTdmqTopicById(ctx context.Context,
313338
if len(response.Response.TopicSets) < 1 {
314339
return
315340
}
341+
316342
has = true
317343
info = response.Response.TopicSets[0]
318344
return
@@ -328,6 +354,7 @@ func (me *TdmqService) ModifyTdmqTopicAttribute(ctx context.Context, environId s
328354
logId, request.GetAction(), request.ToJsonString(), errRet.Error())
329355
}
330356
}()
357+
331358
request.EnvironmentId = &environId
332359
request.TopicName = &topicName
333360
request.Partitions = &partitions
@@ -340,11 +367,13 @@ func (me *TdmqService) ModifyTdmqTopicAttribute(ctx context.Context, environId s
340367
if err != nil {
341368
return tccommon.RetryError(err, tccommon.InternalError)
342369
}
370+
343371
return nil
344372
}); err != nil {
345373
log.Printf("[CRITAL]%s modify tdmq topic failed, reason: %v", logId, err)
346374
return err
347375
}
376+
348377
return
349378
}
350379

@@ -357,11 +386,11 @@ func (me *TdmqService) DeleteTdmqTopic(ctx context.Context, environId string, to
357386
logId, request.GetAction(), request.ToJsonString(), errRet.Error())
358387
}
359388
}()
360-
var (
361-
topicRecord tdmq.TopicRecord
362-
)
389+
390+
var topicRecord tdmq.TopicRecord
363391
topicRecord.TopicName = &topicName
364392
topicRecord.EnvironmentId = &environId
393+
365394
request.TopicSets = []*tdmq.TopicRecord{&topicRecord}
366395
request.ClusterId = &clusterId
367396

@@ -371,11 +400,13 @@ func (me *TdmqService) DeleteTdmqTopic(ctx context.Context, environId string, to
371400
if err != nil {
372401
return tccommon.RetryError(err, tccommon.InternalError)
373402
}
403+
374404
return nil
375405
}); err != nil {
376406
log.Printf("[CRITAL]%s delete tdmq topic failed, reason: %v", logId, err)
377407
return err
378408
}
409+
379410
return
380411
}
381412

tencentcloud/services/tpulsar/resource_tc_tdmq_instance.go

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,16 @@ func ResourceTencentCloudTdmqInstance() *schema.Resource {
5757
func resourceTencentCloudTdmqCreate(d *schema.ResourceData, meta interface{}) error {
5858
defer tccommon.LogElapsed("resource.tencentcloud_tdmq_instance.create")()
5959

60-
logId := tccommon.GetLogId(tccommon.ContextNil)
61-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
62-
6360
//internal version: replace client begin, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation.
6461
//internal version: replace client end, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation.
6562

6663
var (
64+
logId = tccommon.GetLogId(tccommon.ContextNil)
65+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
6766
request = tdmq.NewCreateClusterRequest()
6867
response *tdmq.CreateClusterResponse
6968
)
69+
7070
if v, ok := d.GetOk("cluster_name"); ok {
7171
request.ClusterName = helper.String(v.(string))
7272
}
@@ -87,6 +87,7 @@ func resourceTencentCloudTdmqCreate(d *schema.ResourceData, meta interface{}) er
8787
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
8888
logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
8989
}
90+
9091
response = result
9192
return nil
9293
})
@@ -122,18 +123,19 @@ func resourceTencentCloudTdmqRead(d *schema.ResourceData, meta interface{}) erro
122123
defer tccommon.LogElapsed("resource.tencentcloud_tdmq_instance.read")()
123124
defer tccommon.InconsistentCheck(d, meta)()
124125

125-
logId := tccommon.GetLogId(tccommon.ContextNil)
126-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
127-
128-
id := d.Id()
129-
130-
tdmqService := svctdmq.NewTdmqService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
126+
var (
127+
logId = tccommon.GetLogId(tccommon.ContextNil)
128+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
129+
tdmqService = svctdmq.NewTdmqService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
130+
id = d.Id()
131+
)
131132

132133
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
133134
info, has, e := tdmqService.DescribeTdmqInstanceById(ctx, id)
134135
if e != nil {
135136
return tccommon.RetryError(e)
136137
}
138+
137139
if !has {
138140
d.SetId("")
139141
return nil
@@ -143,6 +145,7 @@ func resourceTencentCloudTdmqRead(d *schema.ResourceData, meta interface{}) erro
143145
_ = d.Set("remark", info.Remark)
144146
return nil
145147
})
148+
146149
if err != nil {
147150
return err
148151
}
@@ -161,20 +164,26 @@ func resourceTencentCloudTdmqRead(d *schema.ResourceData, meta interface{}) erro
161164
func resourceTencentCloudTdmqUpdate(d *schema.ResourceData, meta interface{}) error {
162165
defer tccommon.LogElapsed("resource.tencentcloud_tdmq_instance.update")()
163166

164-
logId := tccommon.GetLogId(tccommon.ContextNil)
165-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
167+
var (
168+
logId = tccommon.GetLogId(tccommon.ContextNil)
169+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
170+
service = svctdmq.NewTdmqService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
171+
id = d.Id()
172+
clusterName string
173+
remark string
174+
)
166175

167-
id := d.Id()
176+
immutableArgs := []string{"bind_cluster_id"}
168177

169-
service := svctdmq.NewTdmqService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
178+
for _, v := range immutableArgs {
179+
if d.HasChange(v) {
180+
return fmt.Errorf("argument `%s` cannot be changed", v)
181+
}
182+
}
170183

171184
//internal version: replace var begin, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation.
172185
//internal version: replace var end, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation.
173186

174-
var (
175-
clusterName string
176-
remark string
177-
)
178187
old, now := d.GetChange("cluster_name")
179188
if d.HasChange("cluster_name") {
180189
clusterName = now.(string)
@@ -203,19 +212,22 @@ func resourceTencentCloudTdmqUpdate(d *schema.ResourceData, meta interface{}) er
203212
if err := tagService.ModifyTags(ctx, resourceName, replaceTags, deleteTags); err != nil {
204213
return err
205214
}
215+
206216
//internal version: replace setTag end, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation.
207217
}
218+
208219
return resourceTencentCloudTdmqRead(d, meta)
209220
}
210221

211222
func resourceTencentCloudTdmqDelete(d *schema.ResourceData, meta interface{}) error {
212223
defer tccommon.LogElapsed("resource.tencentcloud_tdmq_instance.delete")()
213224

214-
logId := tccommon.GetLogId(tccommon.ContextNil)
215-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
216-
217-
service := svctdmq.NewTdmqService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
218-
clusterId := d.Id()
225+
var (
226+
logId = tccommon.GetLogId(tccommon.ContextNil)
227+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
228+
service = svctdmq.NewTdmqService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
229+
clusterId = d.Id()
230+
)
219231

220232
if err := service.DeleteTdmqInstance(ctx, clusterId); err != nil {
221233
return err

tencentcloud/services/tpulsar/resource_tc_tdmq_instance.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ Provide a resource to create a TDMQ instance.
33
Example Usage
44

55
```hcl
6-
resource "tencentcloud_tdmq_instance" "foo" {
7-
cluster_name = "example"
8-
remark = "this is description."
6+
resource "tencentcloud_tdmq_instance" "example" {
7+
cluster_name = "tf_example"
8+
remark = "remark."
99
tags = {
1010
"createdBy" = "terraform"
1111
}
@@ -17,5 +17,5 @@ Import
1717
Tdmq instance can be imported, e.g.
1818

1919
```
20-
$ terraform import tencentcloud_tdmq_instance.test tdmq_id
20+
$ terraform import tencentcloud_tdmq_instance.example pulsar-78bwjaj8epxv
2121
```

0 commit comments

Comments
 (0)