Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .changelog/3619.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:enhancement
resource/tencentcloud_tdmq_rabbitmq_vip_instance: update doc
```
37 changes: 29 additions & 8 deletions tencentcloud/services/tdmq/service_tencentcloud_tdmq.go
Original file line number Diff line number Diff line change
Expand Up @@ -1672,6 +1672,7 @@ func (me *TdmqService) DescribeTdmqRabbitmqVipInstanceById(ctx context.Context,
logId := tccommon.GetLogId(ctx)

request := tdmq.NewDescribeRabbitMQVipInstanceRequest()
response := tdmq.NewDescribeRabbitMQVipInstanceResponse()
request.ClusterId = &instanceId

defer func() {
Expand All @@ -1680,17 +1681,30 @@ func (me *TdmqService) DescribeTdmqRabbitmqVipInstanceById(ctx context.Context,
}
}()

ratelimit.Check(request.GetAction())
var iacExtInfo connectivity.IacExtInfo
iacExtInfo.InstanceId = instanceId
response, err := me.client.UseTdmqClient(iacExtInfo).DescribeRabbitMQVipInstance(request)
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
ratelimit.Check(request.GetAction())
result, e := me.client.UseTdmqClient(iacExtInfo).DescribeRabbitMQVipInstance(request)
if e != nil {
return tccommon.RetryError(e)
} else {
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
}

if result == nil || result.Response == nil {
return resource.NonRetryableError(fmt.Errorf("Describe rabbitmq vip instance failed, Response is nil."))
}

response = result
return nil
})

if err != nil {
errRet = err
return
}

log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())

rabbitmqVipInstance = response.Response
return
}
Expand All @@ -1709,16 +1723,23 @@ func (me *TdmqService) DeleteTdmqRabbitmqVipInstanceById(ctx context.Context, in
}
}()

ratelimit.Check(request.GetAction())
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
ratelimit.Check(request.GetAction())
result, e := me.client.UseTdmqClient().DeleteRabbitMQVipInstance(request)
if e != nil {
return tccommon.RetryError(e)
} else {
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
}

return nil
})

response, err := me.client.UseTdmqClient().DeleteRabbitMQVipInstance(request)
if err != nil {
errRet = err
return
}

log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())

return
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func ResourceTencentCloudTdmqRabbitmqVipInstance() *schema.Resource {
Optional: true,
Type: schema.TypeString,
Computed: true,
Description: "Cluster version, the default is `3.8.30`, valid values: `3.8.30` and `3.11.8`.",
Description: "Cluster version, the default is `3.8.30`, valid values: `3.8.30`, `3.11.8` and `3.13.7`.",
},
"public_access_endpoint": {
Type: schema.TypeString,
Expand Down Expand Up @@ -199,6 +199,10 @@ func resourceTencentCloudTdmqRabbitmqVipInstanceCreate(d *schema.ResourceData, m
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
}

if result == nil || result.Response == nil {
return resource.NonRetryableError(fmt.Errorf("Create tdmq rabbitmqVipInstance failed, Response is nil."))
}

response = result
return nil
})
Expand All @@ -208,7 +212,12 @@ func resourceTencentCloudTdmqRabbitmqVipInstanceCreate(d *schema.ResourceData, m
return err
}

if response.Response.InstanceId == nil {
return fmt.Errorf("InstanceId is nil.")
}

instanceId = *response.Response.InstanceId
d.SetId(instanceId)

// wait
paramMap := make(map[string]interface{})
Expand Down Expand Up @@ -246,8 +255,6 @@ func resourceTencentCloudTdmqRabbitmqVipInstanceCreate(d *schema.ResourceData, m
return err
}

d.SetId(instanceId)

return resourceTencentCloudTdmqRabbitmqVipInstanceRead(d, meta)
}

Expand All @@ -268,8 +275,8 @@ func resourceTencentCloudTdmqRabbitmqVipInstanceRead(d *schema.ResourceData, met
}

if rabbitmqVipInstance == nil {
log.Printf("[WARN]%s resource `tencentcloud_tdmq_rabbitmq_vip_instance` [%s] not found, please check if it has been deleted.\n", logId, d.Id())
d.SetId("")
log.Printf("[WARN]%s resource `TdmqRabbitmqVipInstance` [%s] not found, please check if it has been deleted.\n", logId, d.Id())
return nil
}

Expand Down Expand Up @@ -356,8 +363,8 @@ func resourceTencentCloudTdmqRabbitmqVipInstanceRead(d *schema.ResourceData, met
})

if err != nil {
d.SetId("")
log.Printf("[WARN]%s resource `TdmqRabbitmqVipInstance` [%s] not found, please check if it has been deleted.\n", logId, d.Id())
d.SetId("")
return nil
}

Expand Down Expand Up @@ -386,28 +393,27 @@ func resourceTencentCloudTdmqRabbitmqVipInstanceUpdate(d *schema.ResourceData, m
}
}

request.InstanceId = &instanceId

if d.HasChange("cluster_name") {
if v, ok := d.GetOk("cluster_name"); ok {
request.ClusterName = helper.String(v.(string))
}
}

err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTdmqClient().ModifyRabbitMQVipInstance(request)
if e != nil {
return tccommon.RetryError(e)
} else {
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
}
request.InstanceId = &instanceId
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTdmqClient().ModifyRabbitMQVipInstance(request)
if e != nil {
return tccommon.RetryError(e)
} else {
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
}

return nil
})
return nil
})

if err != nil {
log.Printf("[CRITAL]%s update tdmq rabbitmqVipInstance failed, reason:%+v", logId, err)
return err
if err != nil {
log.Printf("[CRITAL]%s update tdmq rabbitmqVipInstance failed, reason:%+v", logId, err)
return err
}
}

return resourceTencentCloudTdmqRabbitmqVipInstanceRead(d, meta)
Expand Down
2 changes: 1 addition & 1 deletion website/docs/r/tdmq_rabbitmq_vip_instance.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ The following arguments are supported:
* `vpc_id` - (Required, String) Private network VpcId.
* `zone_ids` - (Required, Set: [`Int`]) availability zone.
* `auto_renew_flag` - (Optional, Bool) Automatic renewal, the default is true.
* `cluster_version` - (Optional, String) Cluster version, the default is `3.8.30`, valid values: `3.8.30` and `3.11.8`.
* `cluster_version` - (Optional, String) Cluster version, the default is `3.8.30`, valid values: `3.8.30`, `3.11.8` and `3.13.7`.
* `enable_create_default_ha_mirror_queue` - (Optional, Bool) Mirrored queue, the default is false.
* `node_num` - (Optional, Int) The number of nodes, a minimum of 3 nodes for a multi-availability zone. If not passed, the default single availability zone is 1, and the multi-availability zone is 3.
* `node_spec` - (Optional, String) Node specifications. Valid values: rabbit-vip-basic-5 (for 2C4G), rabbit-vip-profession-2c8g (for 2C8G), rabbit-vip-basic-1 (for 4C8G), rabbit-vip-profession-4c16g (for 4C16G), rabbit-vip-basic-2 (for 8C16G), rabbit-vip-profession-8c32g (for 8C32G), rabbit-vip-basic-4 (for 16C32G), rabbit-vip-profession-16c64g (for 16C64G). The default is rabbit-vip-basic-1. NOTE: The above specifications may be sold out or removed from the shelves.
Expand Down
Loading