Skip to content

Commit 2e94650

Browse files
committed
add
1 parent 6ad5a3a commit 2e94650

File tree

8 files changed

+1518
-1248
lines changed

8 files changed

+1518
-1248
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ require (
4343
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600
4444
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695
4545
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.1073
46-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1107
46+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.1.55
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1148
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.50
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.55
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1206
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.1161

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -875,6 +875,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.1073 h1:+nT
875875
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.1073/go.mod h1:D9xdyB3utAtgGwTExSGxHSVQMfVHEUo/bfaBTxjHkao=
876876
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1107 h1:sUiyGfYHzNpHKJx6DlRu1K8xBEGaWlOQT+8W5Ws0v4U=
877877
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1107/go.mod h1:L1r6mc7XjFlyLlOVqRvPEhjXneHywnyjyv9EoiGBRvM=
878+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.1.55 h1:+Ev7tV+pjE/RZqHiopmYPKChF30OjRGn6KS8ubBByq8=
879+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.1.55/go.mod h1:EL80jbu+ubwrNnTZHsp+jaWat2fKGkS/B9MYB/42exA=
878880
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 h1:dIr+MVsZeUBiKZELfJh5HRJdI+BI6lCp5pv/2oXekuk=
879881
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033/go.mod h1:7oFlNimGSTHFy6JV7W/IZKuJWr+NUjCnGLTvb9MWNrY=
880882
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1148 h1:tPQHJE07DGCJWrQJklrkrF0CasB86M7AEb0PrkXNjAM=
@@ -981,6 +983,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.49 h1:BQwUw
981983
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.49/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
982984
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.50 h1:wZGiUXmzr4L0S1coFhnjddkyNrO5ZTtfxBDrbeR+1d8=
983985
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.50/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
986+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.55 h1:8kT5ktFibG46S7WImjNkHx6N5b6vNFIVxPuj6rDMgb8=
987+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.1.55/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
984988
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ=
985989
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY=
986990
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=

tencentcloud/services/clb/resource_tc_clb_listener.go

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,36 @@ func ResourceTencentCloudClbListener() *schema.Resource {
293293
Optional: true,
294294
Description: "Connection idle timeout period (in seconds). It's only available to TCP listeners. Value range: 300-900 for shared and dedicated instances; 300-2000 for LCU-supported CLB instances. It defaults to 900. To set a period longer than 2000 seconds (up to 3600 seconds). Please submit a work order for processing.",
295295
},
296+
"reschedule_target_zero_weight": {
297+
Type: schema.TypeBool,
298+
Computed: true,
299+
Optional: true,
300+
Description: "The rescheduling function, with a weight of 0 as a switch, triggers rescheduling when the weight of the backend server is set to 0. Only supported by TCP/UDP listeners.",
301+
},
302+
"reschedule_unhealthy": {
303+
Type: schema.TypeBool,
304+
Computed: true,
305+
Optional: true,
306+
Description: "Rescheduling function, health check exception switch. Enabling this switch triggers rescheduling when a backend server fails a health check. Supported only by TCP/UDP listeners.",
307+
},
308+
"reschedule_expand_target": {
309+
Type: schema.TypeBool,
310+
Computed: true,
311+
Optional: true,
312+
Description: "The rescheduling function, a switch for scaling backend services, triggers rescheduling when backend servers are added or removed. Only supported by TCP/UDP listeners.",
313+
},
314+
"reschedule_start_time": {
315+
Type: schema.TypeInt,
316+
Computed: true,
317+
Optional: true,
318+
Description: "Reschedule the trigger start time, with a value ranging from 0 to 3600 seconds. Only supported by TCP/UDP listeners.",
319+
},
320+
"reschedule_interval": {
321+
Type: schema.TypeInt,
322+
Computed: true,
323+
Optional: true,
324+
Description: "Rescheduled trigger duration, ranging from 0 to 3600 seconds. Supported only by TCP/UDP listeners.",
325+
},
296326
//computed
297327
"listener_id": {
298328
Type: schema.TypeString,
@@ -431,6 +461,26 @@ func resourceTencentCloudClbListenerCreate(d *schema.ResourceData, meta interfac
431461
request.IdleConnectTimeout = helper.IntInt64(v.(int))
432462
}
433463

464+
if v, ok := d.GetOkExists("reschedule_target_zero_weight"); ok {
465+
request.RescheduleTargetZeroWeight = helper.Bool(v.(bool))
466+
}
467+
468+
if v, ok := d.GetOkExists("reschedule_unhealthy"); ok {
469+
request.RescheduleUnhealthy = helper.Bool(v.(bool))
470+
}
471+
472+
if v, ok := d.GetOkExists("reschedule_expand_target"); ok {
473+
request.RescheduleExpandTarget = helper.Bool(v.(bool))
474+
}
475+
476+
if v, ok := d.GetOkExists("reschedule_start_time"); ok {
477+
request.RescheduleStartTime = helper.IntInt64(v.(int))
478+
}
479+
480+
if v, ok := d.GetOkExists("reschedule_interval"); ok {
481+
request.RescheduleInterval = helper.IntInt64(v.(int))
482+
}
483+
434484
var response *clb.CreateListenerResponse
435485
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
436486
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClbClient().CreateListener(request)
@@ -652,6 +702,33 @@ func resourceTencentCloudClbListenerRead(d *schema.ResourceData, meta interface{
652702
_ = d.Set("idle_connect_timeout", instance.IdleConnectTimeout)
653703
}
654704

705+
if instance.RescheduleInterval != nil {
706+
_ = d.Set("reschedule_interval", instance.RescheduleInterval)
707+
}
708+
709+
if instance.RescheduleStartTime != nil {
710+
_ = d.Set("reschedule_start_time", instance.RescheduleStartTime)
711+
}
712+
713+
_ = d.Set("reschedule_target_zero_weight", false)
714+
_ = d.Set("reschedule_unhealthy", false)
715+
_ = d.Set("reschedule_expand_target", false)
716+
if instance.AttrFlags != nil {
717+
for _, item := range instance.AttrFlags {
718+
if item != nil && *item == "RescheduleTargetZeroWeight" {
719+
_ = d.Set("reschedule_target_zero_weight", true)
720+
}
721+
722+
if item != nil && *item == "RescheduleUnhealthy" {
723+
_ = d.Set("reschedule_unhealthy", true)
724+
}
725+
726+
if item != nil && *item == "RescheduleExpandTarget" {
727+
_ = d.Set("reschedule_expand_target", true)
728+
}
729+
}
730+
}
731+
655732
return nil
656733
}
657734

@@ -777,6 +854,41 @@ func resourceTencentCloudClbListenerUpdate(d *schema.ResourceData, meta interfac
777854
}
778855
}
779856

857+
if d.HasChange("reschedule_target_zero_weight") {
858+
changed = true
859+
if v, ok := d.GetOkExists("reschedule_target_zero_weight"); ok {
860+
request.RescheduleTargetZeroWeight = helper.Bool(v.(bool))
861+
}
862+
}
863+
864+
if d.HasChange("reschedule_unhealthy") {
865+
changed = true
866+
if v, ok := d.GetOkExists("reschedule_unhealthy"); ok {
867+
request.RescheduleUnhealthy = helper.Bool(v.(bool))
868+
}
869+
}
870+
871+
if d.HasChange("reschedule_expand_target") {
872+
changed = true
873+
if v, ok := d.GetOkExists("reschedule_expand_target"); ok {
874+
request.RescheduleExpandTarget = helper.Bool(v.(bool))
875+
}
876+
}
877+
878+
if d.HasChange("reschedule_start_time") {
879+
changed = true
880+
if v, ok := d.GetOkExists("reschedule_start_time"); ok {
881+
request.RescheduleStartTime = helper.IntInt64(v.(int))
882+
}
883+
}
884+
885+
if d.HasChange("reschedule_interval") {
886+
changed = true
887+
if v, ok := d.GetOkExists("reschedule_interval"); ok {
888+
request.RescheduleInterval = helper.IntInt64(v.(int))
889+
}
890+
}
891+
780892
if changed {
781893
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
782894
response, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClbClient().ModifyListener(request)

0 commit comments

Comments
 (0)