Skip to content

Commit d75bf1c

Browse files
authored
fix(clb): [126253672] tencentcloud_clb_listener support deregister_target_rst (#3459)
* add * add
1 parent 572b3db commit d75bf1c

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

.changelog/3459.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_clb_listener: support `deregister_target_rst`
3+
```

tencentcloud/services/clb/resource_tc_clb_listener.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,12 @@ func ResourceTencentCloudClbListener() *schema.Resource {
281281
Optional: true,
282282
Description: "Whether to enable SNAT.",
283283
},
284+
"deregister_target_rst": {
285+
Type: schema.TypeBool,
286+
Computed: true,
287+
Optional: true,
288+
Description: "Whether to send the TCP RST packet to the client when unbinding a real server. This parameter is applicable to TCP listeners only.",
289+
},
284290
//computed
285291
"listener_id": {
286292
Type: schema.TypeString,
@@ -411,6 +417,10 @@ func resourceTencentCloudClbListenerCreate(d *schema.ResourceData, meta interfac
411417
request.SnatEnable = helper.Bool(v.(bool))
412418
}
413419

420+
if v, ok := d.GetOkExists("deregister_target_rst"); ok {
421+
request.DeregisterTargetRst = helper.Bool(v.(bool))
422+
}
423+
414424
var response *clb.CreateListenerResponse
415425
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
416426
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClbClient().CreateListener(request)
@@ -624,6 +634,10 @@ func resourceTencentCloudClbListenerRead(d *schema.ResourceData, meta interface{
624634
_ = d.Set("snat_enable", false)
625635
}
626636

637+
if instance.DeregisterTargetRst != nil {
638+
_ = d.Set("deregister_target_rst", instance.DeregisterTargetRst)
639+
}
640+
627641
return nil
628642
}
629643

@@ -735,6 +749,13 @@ func resourceTencentCloudClbListenerUpdate(d *schema.ResourceData, meta interfac
735749
}
736750
}
737751

752+
if d.HasChange("deregister_target_rst") {
753+
changed = true
754+
if v, ok := d.GetOkExists("deregister_target_rst"); ok {
755+
request.DeregisterTargetRst = helper.Bool(v.(bool))
756+
}
757+
}
758+
738759
if changed {
739760
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
740761
response, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClbClient().ModifyListener(request)

website/docs/r/clb_listener.html.markdown

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ The following arguments are supported:
200200
* `certificate_ca_id` - (Optional, String) ID of the client certificate. NOTES: Only supports listeners of `HTTPS` and `TCP_SSL` protocol and must be set when the ssl mode is `MUTUAL`.
201201
* `certificate_id` - (Optional, String) ID of the server certificate. NOTES: Only supports listeners of `HTTPS` and `TCP_SSL` protocol and must be set when it is available.
202202
* `certificate_ssl_mode` - (Optional, String) Type of certificate. Valid values: `UNIDIRECTIONAL`, `MUTUAL`. NOTES: Only supports listeners of `HTTPS` and `TCP_SSL` protocol and must be set when it is available.
203+
* `deregister_target_rst` - (Optional, Bool) Whether to send the TCP RST packet to the client when unbinding a real server. This parameter is applicable to TCP listeners only.
203204
* `end_port` - (Optional, Int, ForceNew) This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category).
204205
* `h2c_switch` - (Optional, Bool, ForceNew) Enable H2C switch for intranet HTTP listener.
205206
* `health_check_context_type` - (Optional, String) Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`.

0 commit comments

Comments
 (0)