diff --git a/.changelog/3260.txt b/.changelog/3260.txt new file mode 100644 index 0000000000..633528c9fb --- /dev/null +++ b/.changelog/3260.txt @@ -0,0 +1,15 @@ +```release-note:enhancement +resource/tencentcloud_clb_listener: support `full_end_ports` +``` + +```release-note:enhancement +resource/tencentcloud_clb_target_group: support new fields +``` + +```release-note:enhancement +resource/tencentcloud_clb_target_group_attachment: support `weight` +``` + +```release-note:enhancement +resource/tencentcloud_clb_target_group_attachments: support `weight` +``` \ No newline at end of file diff --git a/go.mod b/go.mod index 327807f73d..7c062bca75 100644 --- a/go.mod +++ b/go.mod @@ -43,10 +43,10 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.1073 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1107 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1188 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1148 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1182 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1188 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1153 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.1161 diff --git a/go.sum b/go.sum index a5897e1890..d60906eedd 100644 --- a/go.sum +++ b/go.sum @@ -875,6 +875,12 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.1073 h1:+nT github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.1073/go.mod h1:D9xdyB3utAtgGwTExSGxHSVQMfVHEUo/bfaBTxjHkao= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1107 h1:sUiyGfYHzNpHKJx6DlRu1K8xBEGaWlOQT+8W5Ws0v4U= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1107/go.mod h1:L1r6mc7XjFlyLlOVqRvPEhjXneHywnyjyv9EoiGBRvM= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1132 h1:dXKq4d4zTZYV0q1uyf7AJM+u00dd5ndL7lqGfjkmQW0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1132/go.mod h1:nwCB78ZVNC6VC+rd31yxhUeff/Ve7z4+yrL3A2B+/dg= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1184 h1:FXG6AtnA+jSUZ4GquFlRhso6SNSTyksQozT97IfH0Ds= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1184/go.mod h1:CtYhxx30ljC4PyxMfG8dWe6a0hse5kkQIcHSXLrgb0g= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1188 h1:zzaIE12soTfyAgRvBYhb5bYxFXRCelvYXDEfvtkT5Y4= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1188/go.mod h1:qIWFhWbmMuUaWCCKVSkdJ1BzKEOqkMeo+uKYS6jJimQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 h1:dIr+MVsZeUBiKZELfJh5HRJdI+BI6lCp5pv/2oXekuk= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033/go.mod h1:7oFlNimGSTHFy6JV7W/IZKuJWr+NUjCnGLTvb9MWNrY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1078 h1:6yf63sgR2q1ikVedWTXldtrArDHXG01yIdcWSSI5e5Y= @@ -987,6 +993,12 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1170 h1:67T github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1170/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1182 h1:it8gutbUhh2l68CzKt0W3OAEytReLg4H9Wq1/ahkzmg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1182/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1132 h1:ecdDh9up1kMKSZtEpvRHGF6BsIlfBtdCSBZm3SK5/Xk= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1132/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1184 h1:HYVyUfze24rRgaB8hOZeAJ+XNsPO/jhxYTpGmR0xwNQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1184/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1188 h1:cU9Phfaym7taAUgGrEQ/0Y+w3r5+kWwGROhaL3hIYnY= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1188/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU= diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index 83bb02f44c..8dc1ab482a 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -1364,6 +1364,7 @@ func Provider() *schema.Provider { "tencentcloud_clb_target_group": clb.ResourceTencentCloudClbTargetGroup(), "tencentcloud_clb_target_group_instance_attachment": clb.ResourceTencentCloudClbTGAttachmentInstance(), "tencentcloud_clb_target_group_attachment": clb.ResourceTencentCloudClbTargetGroupAttachment(), + "tencentcloud_clb_target_group_attachments": clb.ResourceTencentCloudClbTargetGroupAttachments(), "tencentcloud_clb_log_set": clb.ResourceTencentCloudClbLogSet(), "tencentcloud_clb_log_topic": clb.ResourceTencentCloudClbLogTopic(), "tencentcloud_clb_customized_config": clb.ResourceTencentCloudClbCustomizedConfig(), @@ -2317,7 +2318,6 @@ func Provider() *schema.Provider { "tencentcloud_cdwpg_userhba": cdwpg.ResourceTencentCloudCdwpgUserhba(), "tencentcloud_clickhouse_keyval_config": cdwch.ResourceTencentCloudClickhouseKeyvalConfig(), "tencentcloud_clickhouse_xml_config": cdwch.ResourceTencentCloudClickhouseXmlConfig(), - "tencentcloud_clb_target_group_attachments": clb.ResourceTencentCloudClbTargetGroupAttachments(), "tencentcloud_vpc_peer_connect_manager": vpc.ResourceTencentCloudVpcPeerConnectManager(), "tencentcloud_vpc_peer_connect_accept_operation": vpc.ResourceTencentCloudVpcPeerConnectAcceptOperation(), "tencentcloud_vpc_peer_connect_reject_operation": vpc.ResourceTencentCloudVpcPeerConnectRejectOperation(), diff --git a/tencentcloud/services/clb/resource_tc_clb_listener.go b/tencentcloud/services/clb/resource_tc_clb_listener.go index b5f4da9051..343a25bbad 100644 --- a/tencentcloud/services/clb/resource_tc_clb_listener.go +++ b/tencentcloud/services/clb/resource_tc_clb_listener.go @@ -281,6 +281,13 @@ func ResourceTencentCloudClbListener() *schema.Resource { Optional: true, Description: "Whether to enable SNAT.", }, + "full_end_ports": { + Type: schema.TypeList, + Optional: true, + ForceNew: true, + Description: "End port of the full port segment listener.", + Elem: &schema.Schema{Type: schema.TypeInt}, + }, //computed "listener_id": { Type: schema.TypeString, @@ -411,6 +418,15 @@ func resourceTencentCloudClbListenerCreate(d *schema.ResourceData, meta interfac request.SnatEnable = helper.Bool(v.(bool)) } + if v, ok := d.GetOk("full_end_ports"); ok { + fullEndPorts := v.([]interface{}) + request.FullEndPorts = make([]*int64, 0, len(fullEndPorts)) + for i := range fullEndPorts { + item := fullEndPorts[i].(int) + request.FullEndPorts = append(request.FullEndPorts, helper.IntInt64(item)) + } + } + var response *clb.CreateListenerResponse err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClbClient().CreateListener(request) diff --git a/tencentcloud/services/clb/resource_tc_clb_target_group.go b/tencentcloud/services/clb/resource_tc_clb_target_group.go index 27bdf1e826..5aa6b49628 100644 --- a/tencentcloud/services/clb/resource_tc_clb_target_group.go +++ b/tencentcloud/services/clb/resource_tc_clb_target_group.go @@ -2,9 +2,13 @@ package clb import ( "context" + "fmt" + "log" tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" clb "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317" ) @@ -36,14 +40,13 @@ func ResourceTencentCloudClbTargetGroup() *schema.Resource { Type: schema.TypeInt, Optional: true, ValidateFunc: tccommon.ValidatePort, - Description: "The default port of target group, add server after can use it.", + Description: "The default port of target group, add server after can use it. If `full_listen_switch` is true, setting this parameter is not supported.", }, "target_group_instances": { Type: schema.TypeList, Optional: true, Description: "The backend server of target group bind.", - Deprecated: "It has been deprecated from version 1.77.3. " + - "please use `tencentcloud_clb_target_group_instance_attachment` instead.", + Deprecated: "It has been deprecated from version 1.77.3. Please use `tencentcloud_clb_target_group_instance_attachment` instead.", Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "bind_ip": { @@ -72,6 +75,49 @@ func ResourceTencentCloudClbTargetGroup() *schema.Resource { }, }, }, + "type": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ValidateFunc: tccommon.ValidateAllowedStringValue([]string{"v1", "v2"}), + Description: "Target group type, currently supports v1 (old version target group), v2 (new version target group), defaults to v1 (old version target group).", + }, + "protocol": { + Type: schema.TypeString, + Optional: true, + ValidateFunc: tccommon.ValidateAllowedStringValue([]string{"TCP", "UDP"}), + Description: "Target group backend forwarding protocol. This item is required for the v2 new version target group. Currently supports `TCP`, `UDP`.", + }, + "tags": { + Optional: true, + Type: schema.TypeList, + Description: "Label.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "tag_key": { + Type: schema.TypeString, + Required: true, + Description: "Tag key.", + }, + "tag_value": { + Type: schema.TypeString, + Required: true, + Description: "Tag value.", + }, + }, + }, + }, + "weight": { + Type: schema.TypeInt, + Optional: true, + ValidateFunc: tccommon.ValidateIntegerInRange(0, 100), + Description: "Default weights for backend services. Value range [0, 100]. After setting this value, when adding backend services to the target group, if the backend services do not have separate weights set, the default weights here will be used.", + }, + "full_listen_switch": { + Type: schema.TypeBool, + Optional: true, + Description: "Full listening target group identifier, true indicates full listening target group, false indicates not full listening target group.", + }, }, } } @@ -80,43 +126,82 @@ func resourceTencentCloudClbTargetCreate(d *schema.ResourceData, meta interface{ defer tccommon.LogElapsed("resource.tencentcloud_clb_target_group.create")() var ( - logId = tccommon.GetLogId(tccommon.ContextNil) - ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId) - clbService = ClbService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} - vpcId = d.Get("vpc_id").(string) - targetGroupName = d.Get("target_group_name").(string) - port = uint64(d.Get("port").(int)) - insAttachments = make([]*clb.TargetGroupInstance, 0) - targetGroupId string - err error + logId = tccommon.GetLogId(tccommon.ContextNil) + request = clb.NewCreateTargetGroupRequest() + response = clb.NewCreateTargetGroupResponse() ) - if v, ok := d.GetOk("target_group_instances"); ok { - targetGroupInstances := v.([]interface{}) - for _, v1 := range targetGroupInstances { - value := v1.(map[string]interface{}) - bindIP := value["bind_ip"].(string) - port := uint64(value["port"].(int)) - weight := uint64(value["weight"].(int)) - newPort := uint64(value["new_port"].(int)) - tgtGrp := &clb.TargetGroupInstance{ - BindIP: &bindIP, - Port: &port, - Weight: &weight, - NewPort: &newPort, + if v, ok := d.GetOk("target_group_name"); ok { + request.TargetGroupName = helper.String(v.(string)) + } + + if v, ok := d.GetOk("vpc_id"); ok { + request.VpcId = helper.String(v.(string)) + } + + if v, ok := d.GetOkExists("port"); ok { + request.Port = helper.IntUint64(v.(int)) + } + + if v, ok := d.GetOk("type"); ok { + request.Type = helper.String(v.(string)) + } + + if v, ok := d.GetOk("protocol"); ok { + request.Protocol = helper.String(v.(string)) + } + + if v, ok := d.GetOk("tags"); ok { + for _, item := range v.([]interface{}) { + dMap := item.(map[string]interface{}) + clbTags := clb.TagInfo{} + if v, ok := dMap["tag_key"]; ok { + clbTags.TagKey = helper.String(v.(string)) } - insAttachments = append(insAttachments, tgtGrp) + + if v, ok := dMap["tag_value"]; ok { + clbTags.TagValue = helper.String(v.(string)) + } + + request.Tags = append(request.Tags, &clbTags) } } - targetGroupId, err = clbService.CreateTargetGroup(ctx, targetGroupName, vpcId, port, insAttachments) + if v, ok := d.GetOkExists("weight"); ok { + request.Weight = helper.IntUint64(v.(int)) + } + + if v, ok := d.GetOkExists("full_listen_switch"); ok { + request.FullListenSwitch = helper.Bool(v.(bool)) + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClbClient().CreateTargetGroup(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()) + } + + if result == nil || result.Response == nil { + return resource.NonRetryableError(fmt.Errorf("Create target group failed, Response is nil.")) + } + + response = result + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s create target group failed, reason:%+v", logId, err) return err } - d.SetId(targetGroupId) - return resourceTencentCloudClbTargetRead(d, meta) + if response.Response.TargetGroupId == nil { + return fmt.Errorf("TargetGroupId is nil.") + } + d.SetId(*response.Response.TargetGroupId) + return resourceTencentCloudClbTargetRead(d, meta) } func resourceTencentCloudClbTargetRead(d *schema.ResourceData, meta interface{}) error { @@ -124,23 +209,64 @@ func resourceTencentCloudClbTargetRead(d *schema.ResourceData, meta interface{}) defer tccommon.InconsistentCheck(d, meta)() var ( - logId = tccommon.GetLogId(tccommon.ContextNil) - ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId) - clbService = ClbService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} - id = d.Id() + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId) + clbService = ClbService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + targetGroupId = d.Id() ) + filters := make(map[string]string) - targetGroupInfos, err := clbService.DescribeTargetGroups(ctx, id, filters) + targetGroupInfos, err := clbService.DescribeTargetGroups(ctx, targetGroupId, filters) if err != nil { return err } + if len(targetGroupInfos) < 1 { d.SetId("") return nil } - _ = d.Set("target_group_name", targetGroupInfos[0].TargetGroupName) - _ = d.Set("vpc_id", targetGroupInfos[0].VpcId) - _ = d.Set("port", targetGroupInfos[0].Port) + + if targetGroupInfos[0].TargetGroupName != nil { + _ = d.Set("target_group_name", targetGroupInfos[0].TargetGroupName) + } + + if targetGroupInfos[0].VpcId != nil { + _ = d.Set("vpc_id", targetGroupInfos[0].VpcId) + } + + if targetGroupInfos[0].Port != nil { + _ = d.Set("port", targetGroupInfos[0].Port) + } + + if targetGroupInfos[0].TargetGroupType != nil { + _ = d.Set("type", targetGroupInfos[0].TargetGroupType) + } + + if targetGroupInfos[0].Tag != nil { + tagsList := make([]interface{}, 0, len(targetGroupInfos[0].Tag)) + for _, tags := range targetGroupInfos[0].Tag { + tagsMap := map[string]interface{}{} + if tags.TagKey != nil { + tagsMap["tag_key"] = tags.TagKey + } + + if tags.TagValue != nil { + tagsMap["tag_value"] = tags.TagValue + } + + tagsList = append(tagsList, tagsMap) + } + + _ = d.Set("tags", tagsList) + } + + if targetGroupInfos[0].Weight != nil { + _ = d.Set("weight", targetGroupInfos[0].Weight) + } + + if targetGroupInfos[0].FullListenSwitch != nil { + _ = d.Set("full_listen_switch", targetGroupInfos[0].FullListenSwitch) + } return nil } @@ -150,23 +276,44 @@ func resourceTencentCloudClbTargetUpdate(d *schema.ResourceData, meta interface{ var ( logId = tccommon.GetLogId(tccommon.ContextNil) - ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId) - clbService = ClbService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} targetGroupId = d.Id() - port uint64 - tgtGroupName string ) - isChanged := false - if d.HasChange("port") || d.HasChange("target_group_name") { - isChanged = true - port = uint64(d.Get("port").(int)) - tgtGroupName = d.Get("target_group_name").(string) + immutableArgs := []string{"type", "protocol", "tags", "full_listen_switch"} + for _, v := range immutableArgs { + if d.HasChange(v) { + return fmt.Errorf("argument `%s` cannot be changed", v) + } } - if isChanged { - err := clbService.ModifyTargetGroup(ctx, targetGroupId, tgtGroupName, port) + if d.HasChange("target_group_name") || d.HasChange("port") || d.HasChange("weight") { + request := clb.NewModifyTargetGroupAttributeRequest() + if v, ok := d.GetOk("target_group_name"); ok { + request.TargetGroupName = helper.String(v.(string)) + } + + if v, ok := d.GetOkExists("port"); ok { + request.Port = helper.IntUint64(v.(int)) + } + + if v, ok := d.GetOkExists("weight"); ok { + request.Weight = helper.IntUint64(v.(int)) + } + + request.TargetGroupId = &targetGroupId + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClbClient().ModifyTargetGroupAttribute(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 + }) + if err != nil { + log.Printf("[CRITAL]%s modify target group failed, reason:%+v", logId, err) return err } } @@ -184,10 +331,5 @@ func resourceTencentCloudClbTargetDelete(d *schema.ResourceData, meta interface{ targetGroupId = d.Id() ) - err := clbService.DeleteTarget(ctx, targetGroupId) - - if err != nil { - return err - } - return nil + return clbService.DeleteTarget(ctx, targetGroupId) } diff --git a/tencentcloud/services/clb/resource_tc_clb_target_group.md b/tencentcloud/services/clb/resource_tc_clb_target_group.md index 4b73493049..5bb0765da4 100644 --- a/tencentcloud/services/clb/resource_tc_clb_target_group.md +++ b/tencentcloud/services/clb/resource_tc_clb_target_group.md @@ -2,10 +2,55 @@ Provides a resource to create a CLB target group. Example Usage +If type is v1 + +```hcl +resource "tencentcloud_clb_target_group" "example" { + target_group_name = "tf-example" + vpc_id = "vpc-jy6pwoy2" + port = 8090 + type = "v1" + + tags { + tag_key = "tagKey" + tag_value = "tagValue" + } +} +``` + +If type is v2 + ```hcl -resource "tencentcloud_clb_target_group" "test"{ - target_group_name = "test" - port = 33 +resource "tencentcloud_clb_target_group" "example" { + target_group_name = "tf-example" + vpc_id = "vpc-jy6pwoy2" + port = 8090 + type = "v2" + protocol = "TCP" + weight = 60 + + tags { + tag_key = "tagKey" + tag_value = "tagValue" + } +} +``` + +Or full_listen_switch is true + +```hcl +resource "tencentcloud_clb_target_group" "example" { + target_group_name = "tf-example" + vpc_id = "vpc-jy6pwoy2" + type = "v2" + protocol = "TCP" + weight = 60 + full_listen_switch = true + + tags { + tag_key = "tagKey" + tag_value = "tagValue" + } } ``` @@ -14,5 +59,5 @@ Import CLB target group can be imported using the id, e.g. ``` -$ terraform import tencentcloud_clb_target_group.test lbtg-3k3io0i0 -``` \ No newline at end of file +$ terraform import tencentcloud_clb_target_group.example lbtg-3k3io0i0 +``` diff --git a/tencentcloud/services/clb/resource_tc_clb_target_group_attachment.go b/tencentcloud/services/clb/resource_tc_clb_target_group_attachment.go index 85d59d957a..4461fd0c1a 100644 --- a/tencentcloud/services/clb/resource_tc_clb_target_group_attachment.go +++ b/tencentcloud/services/clb/resource_tc_clb_target_group_attachment.go @@ -49,6 +49,13 @@ func ResourceTencentCloudClbTargetGroupAttachment() *schema.Resource { ForceNew: true, Description: "ID of the CLB listener rule.", }, + "weight": { + Type: schema.TypeInt, + Optional: true, + ForceNew: true, + ValidateFunc: tccommon.ValidateIntegerInRange(0, 100), + Description: "Target group weight, range [0, 100]. It only takes effect when binding to the v2 target group. If it does not exist, it defaults to 10.", + }, }, } } @@ -89,6 +96,10 @@ func resourceTencentCloudClbTargetGroupAttachmentCreate(d *schema.ResourceData, locationId = v.(string) } + if v, ok := d.GetOkExists("weight"); ok { + targetGroupAssociation.Weight = helper.IntInt64(v.(int)) + } + //check listenerId checkErr := ListenerIdCheck(listenerId) if checkErr != nil { @@ -195,7 +206,7 @@ func resourceTencentCloudClbTargetGroupAttachmentRead(d *schema.ResourceData, me return fmt.Errorf("CLB target group attachment id is clb_id#listener_id#target_group_id#rule_id(only required for 7 layer CLB)") } - has, err := clbService.DescribeAssociateTargetGroups(ctx, ids) + targetInfo, has, err := clbService.DescribeAssociateTargetGroups(ctx, ids) if err != nil { return err } @@ -212,6 +223,10 @@ func resourceTencentCloudClbTargetGroupAttachmentRead(d *schema.ResourceData, me _ = d.Set("rule_id", ids[3]) } + if targetInfo.Weight != nil { + _ = d.Set("weight", targetInfo.Weight) + } + return nil } diff --git a/tencentcloud/services/clb/resource_tc_clb_target_group_attachment.md b/tencentcloud/services/clb/resource_tc_clb_target_group_attachment.md index 6151f766f6..a9d137edd9 100644 --- a/tencentcloud/services/clb/resource_tc_clb_target_group_attachment.md +++ b/tencentcloud/services/clb/resource_tc_clb_target_group_attachment.md @@ -53,6 +53,13 @@ resource "tencentcloud_clb_listener_rule" "example" { resource "tencentcloud_clb_target_group" "example" { target_group_name = "tf-example" vpc_id = tencentcloud_vpc.vpc.id + port = 8090 + type = "v1" + + tags { + tag_key = "tagKey" + tag_value = "tagValue" + } } // create clb target group attachment diff --git a/tencentcloud/services/clb/resource_tc_clb_target_group_attachment_test.go b/tencentcloud/services/clb/resource_tc_clb_target_group_attachment_test.go index 0de3babf64..e29ac84827 100644 --- a/tencentcloud/services/clb/resource_tc_clb_target_group_attachment_test.go +++ b/tencentcloud/services/clb/resource_tc_clb_target_group_attachment_test.go @@ -125,7 +125,7 @@ func testAccCheckClbTargetGroupAttachmentExists(n string) resource.TestCheckFunc return fmt.Errorf("CLB target group attachment id is clb_id#listener_id#target_group_id#rule_id(only required for 7 layer CLB)") } - has, err := clbService.DescribeAssociateTargetGroups(ctx, ids) + _, has, err := clbService.DescribeAssociateTargetGroups(ctx, ids) if err != nil { return err } diff --git a/tencentcloud/services/clb/resource_tc_clb_target_group_attachments.go b/tencentcloud/services/clb/resource_tc_clb_target_group_attachments.go index e9a18e59ec..e6cc27c673 100644 --- a/tencentcloud/services/clb/resource_tc_clb_target_group_attachments.go +++ b/tencentcloud/services/clb/resource_tc_clb_target_group_attachments.go @@ -5,6 +5,7 @@ import ( "fmt" "log" "regexp" + "strconv" "strings" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" @@ -71,6 +72,13 @@ func ResourceTencentCloudClbTargetGroupAttachments() *schema.Resource { Optional: true, Description: "Forwarding rule ID.", }, + "weight": { + // why int to string? (fix map int zero value) + Type: schema.TypeString, + Optional: true, + ForceNew: true, + Description: "Target group weight, range ['0', '100']. It only takes effect when binding to the v2 target group.", + }, }, }, }, @@ -189,15 +197,15 @@ func resourceTencentCloudClbTargetGroupAttachmentsRead(d *schema.ResourceData, m } if len(targetGroupAttachments) < 1 { - d.SetId("") log.Printf("[WARN]%s resource `ClbTargetGroupAttachments` [%s] not found, please check if it has been deleted.\n", logId, d.Id()) + d.SetId("") return nil } var associationsList []interface{} for _, attachment := range targetGroupAttachments { info := strings.Split(attachment, tccommon.FILED_SP) - if len(info) != 4 { + if len(info) != 5 { return fmt.Errorf("id is broken,%s", info) } associationsMap := map[string]interface{}{} @@ -215,6 +223,9 @@ func resourceTencentCloudClbTargetGroupAttachmentsRead(d *schema.ResourceData, m if info[3] != "" && info[3] != "null" { associationsMap["location_id"] = info[3] } + if info[4] != "" && info[4] != "null" { + associationsMap["weight"] = info[4] + } associationsList = append(associationsList, associationsMap) } @@ -269,8 +280,10 @@ func parseParamToRequest(d *schema.ResourceData, param string, id string) (assoc targetGroupAssociation := clb.TargetGroupAssociation{} dMap[param] = id for name := range dMap { - if dMap[name] != nil && dMap[name].(string) != "" { - setString(name, dMap[name].(string), &targetGroupAssociation) + if dMap[name] != nil { + if v, ok := dMap[name].(string); ok && v != "" { + setString(name, v, &targetGroupAssociation) + } } } associations = append(associations, &targetGroupAssociation) @@ -288,10 +301,14 @@ func setString(fieldName string, value string, request *clb.TargetGroupAssociati request.ListenerId = helper.String(value) case "location_id": request.LocationId = helper.String(value) + case "weight": + valueInt, _ := strconv.Atoi(value) + request.Weight = helper.IntInt64(valueInt) default: log.Printf("Invalid field name: %s\n", fieldName) } } + func isBindFromClb(id string) bool { re := regexp.MustCompile(`^(.*?)-`) match := re.FindStringSubmatch(id) @@ -315,9 +332,10 @@ func margeReadRequest(d *schema.ResourceData) ([]string, map[string]struct{}) { processIds(resourceId, dMap, "target_group_id", isBindFromClb(resourceId), &ids) processIds(resourceId, dMap, "listener_id", isBindFromClb(resourceId), &ids) processIds(resourceId, dMap, "location_id", isBindFromClb(resourceId), &ids) + processIds(resourceId, dMap, "weight", isBindFromClb(resourceId), &ids) - if groupId, ok := dMap["target_group_id"]; ok && groupId.(string) != "" { - targetGroupList = append(targetGroupList, groupId.(string)) + if groupId, ok := dMap["target_group_id"].(string); ok && groupId != "" { + targetGroupList = append(targetGroupList, groupId) } associationsSet[strings.Join(ids, tccommon.FILED_SP)] = struct{}{} @@ -334,11 +352,10 @@ func processIds(id string, dMap map[string]interface{}, key string, clbFlag bool } else if !clbFlag && key == "target_group_id" { *ids = append(*ids, id) } else { - if v, ok := dMap[key]; ok && v.(string) != "" { - *ids = append(*ids, v.(string)) + if v, ok := dMap[key].(string); ok && v != "" { + *ids = append(*ids, v) } else { *ids = append(*ids, "null") } - } } diff --git a/tencentcloud/services/clb/resource_tc_clb_target_group_attachments.md b/tencentcloud/services/clb/resource_tc_clb_target_group_attachments.md index 07fb8e1f5e..0976b2e847 100644 --- a/tencentcloud/services/clb/resource_tc_clb_target_group_attachments.md +++ b/tencentcloud/services/clb/resource_tc_clb_target_group_attachments.md @@ -1,31 +1,33 @@ -Provides a resource to create a clb target_group_attachments +Provides a resource to create a CLB target group attachments -This resource supports bidirectional binding (target group binding to the load balancer, load balancer binding to the target group). When choosing either the load balancer or the target group as the binding target, up to 20 combinations can be bound at most. +~> **NOTE:** This resource supports bidirectional binding (target group binding to the load balancer, load balancer binding to the target group). When choosing either the load balancer or the target group as the binding target, up to 20 combinations can be bound at most. Example Usage Load balancer binding to the target group ```hcl -resource "tencentcloud_clb_target_group_attachments" "target_group_attachments" { - load_balancer_id = "lb-phbx2420" +resource "tencentcloud_clb_target_group_attachments" "example" { + load_balancer_id = "lb-lmgp1eis" associations { - listener_id = "lbl-m2q6sp9m" - target_group_id = "lbtg-5xunivs0" - location_id = "loc-jjqr0ric" + listener_id = "lbl-jbdfcswy" + target_group_id = "lbtg-bjosq37w" + location_id = "loc-bjl41tpc" + weight = "10" } } - ``` + Target group binding to the load balancer + ```hcl -resource "tencentcloud_clb_target_group_attachments" "target_group_attachments" { - target_group_id = "lbtg-5xunivs0" - associations { - listener_id = "lbl-m2q6sp9m" +resource "tencentcloud_clb_target_group_attachments" "example" { + load_balancer_id = "lb-lmgp1eis" + associations { + listener_id = "lbl-jbdfcswy" load_balancer_id = "lb-phbx2420" - location_id = "loc-jjqr0ric" + location_id = "loc-bjl41tpc" + weight = "10" } } - -``` \ No newline at end of file +``` diff --git a/tencentcloud/services/clb/resource_tc_clb_target_group_instance_attachment.go b/tencentcloud/services/clb/resource_tc_clb_target_group_instance_attachment.go index a01c892579..97b0724188 100644 --- a/tencentcloud/services/clb/resource_tc_clb_target_group_instance_attachment.go +++ b/tencentcloud/services/clb/resource_tc_clb_target_group_instance_attachment.go @@ -3,10 +3,11 @@ package clb import ( "context" "fmt" + "log" "strconv" "strings" - "time" + "github.com/pkg/errors" tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" @@ -29,27 +30,27 @@ func ResourceTencentCloudClbTGAttachmentInstance() *schema.Resource { "target_group_id": { Type: schema.TypeString, Required: true, - ValidateFunc: tccommon.ValidateNotEmpty, ForceNew: true, + ValidateFunc: tccommon.ValidateNotEmpty, Description: "Target group ID.", }, "bind_ip": { Type: schema.TypeString, Required: true, - ValidateFunc: tccommon.ValidateNotEmpty, ForceNew: true, + ValidateFunc: tccommon.ValidateNotEmpty, Description: "The Intranet IP of the target group instance.", }, "port": { Type: schema.TypeInt, Required: true, ForceNew: true, - Description: "Port of the target group instance.", + Description: "The port of the target group instance, fully listening to the target group does not support passing this field.", }, "weight": { Type: schema.TypeInt, Required: true, - Description: "The weight of the target group instance.", + Description: "Weight of target group instance v2 target group needs to be configured with weight. When calling CreateTargetGroup interface to create target group, either this parameter or Weight parameter in the creation interface must be filled in. Value range: 0-100.", }, }, } @@ -60,24 +61,60 @@ func resourceTencentCloudClbTGAttachmentInstanceCreate(d *schema.ResourceData, m var ( logId = tccommon.GetLogId(tccommon.ContextNil) - ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId) - clbService = ClbService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} - targetGroupId = d.Get("target_group_id").(string) - bindIp = d.Get("bind_ip").(string) - port = d.Get("port").(int) - weight = d.Get("weight").(int) - err error + request = clb.NewRegisterTargetGroupInstancesRequest() + targetGroupId string + bindIp string + port int ) - err = clbService.RegisterTargetInstances(ctx, targetGroupId, bindIp, uint64(port), uint64(weight)) + if v, ok := d.GetOk("target_group_id"); ok { + request.TargetGroupId = helper.String(v.(string)) + targetGroupId = v.(string) + } + + targetGroupInstances := clb.TargetGroupInstance{} + if v, ok := d.GetOk("bind_ip"); ok { + targetGroupInstances.BindIP = helper.String(v.(string)) + bindIp = v.(string) + } + + if v, ok := d.GetOkExists("port"); ok { + targetGroupInstances.Port = helper.IntUint64(v.(int)) + port = v.(int) + } + + if v, ok := d.GetOkExists("weight"); ok { + targetGroupInstances.Weight = helper.IntUint64(v.(int)) + } + + request.TargetGroupInstances = append(request.TargetGroupInstances, &targetGroupInstances) + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClbClient().RegisterTargetGroupInstances(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()) + } + + if result == nil || result.Response == nil || result.Response.RequestId == nil { + return resource.NonRetryableError(fmt.Errorf("Register target group instance failed, Response is nil.")) + } + + requestId := *result.Response.RequestId + retryErr := waitForTaskFinish(requestId, meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseClbClient()) + if retryErr != nil { + return resource.NonRetryableError(errors.WithStack(retryErr)) + } + + return nil + }) if err != nil { + log.Printf("[CRITAL]%s register target group instance failed, reason:%+v", logId, err) return err } - time.Sleep(time.Duration(3) * time.Second) d.SetId(strings.Join([]string{targetGroupId, bindIp, strconv.Itoa(port)}, tccommon.FILED_SP)) - return resourceTencentCloudClbTGAttachmentInstanceRead(d, meta) } @@ -91,10 +128,12 @@ func resourceTencentCloudClbTGAttachmentInstanceRead(d *schema.ResourceData, met id = d.Id() targetGroupInstances []*clb.TargetGroupBackend ) + idSplit := strings.Split(id, tccommon.FILED_SP) if len(idSplit) != 3 { return fmt.Errorf("target group instance attachment id is not set") } + targetGroupId := idSplit[0] bindIp := idSplit[1] port, err := strconv.ParseUint(idSplit[2], 0, 64) @@ -110,11 +149,14 @@ func resourceTencentCloudClbTGAttachmentInstanceRead(d *schema.ResourceData, met if err != nil { return tccommon.RetryError(err, tccommon.InternalError) } + return nil }) + if err != nil { return err } + for _, tgInstance := range targetGroupInstances { if *tgInstance.Port == port { _ = d.Set("target_group_id", idSplit[0]) @@ -123,9 +165,11 @@ func resourceTencentCloudClbTGAttachmentInstanceRead(d *schema.ResourceData, met if tgInstance.Weight != nil { _ = d.Set("weight", *tgInstance.Weight) } + return nil } } + d.SetId("") return nil } @@ -142,10 +186,12 @@ func resourceTencentCloudClbTGAttachmentInstanceUpdate(d *schema.ResourceData, m bindIp, targetGroupId string err error ) + idSplit := strings.Split(id, tccommon.FILED_SP) if len(idSplit) != 3 { return fmt.Errorf("target group instance attachment id is not set") } + targetGroupId = idSplit[0] bindIp = idSplit[1] port, err = strconv.Atoi(idSplit[2]) @@ -160,6 +206,7 @@ func resourceTencentCloudClbTGAttachmentInstanceUpdate(d *schema.ResourceData, m return err } } + return resourceTencentCloudClbTGAttachmentInstanceRead(d, meta) } @@ -172,10 +219,12 @@ func resourceTencentCloudClbTGAttachmentInstanceDelete(d *schema.ResourceData, m clbService = ClbService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} id = d.Id() ) + idSplit := strings.Split(id, tccommon.FILED_SP) if len(idSplit) != 3 { return fmt.Errorf("target group instance attachment id is not set") } + targetGroupId := idSplit[0] bindIp := idSplit[1] port, err := strconv.ParseUint(idSplit[2], 0, 64) @@ -183,10 +232,5 @@ func resourceTencentCloudClbTGAttachmentInstanceDelete(d *schema.ResourceData, m return err } - err = clbService.DeregisterTargetInstances(ctx, targetGroupId, bindIp, port) - - if err != nil { - return err - } - return nil + return clbService.DeregisterTargetInstances(ctx, targetGroupId, bindIp, port) } diff --git a/tencentcloud/services/clb/resource_tc_clb_target_group_instance_attachment.md b/tencentcloud/services/clb/resource_tc_clb_target_group_instance_attachment.md index b6da0d3925..fd2f8a40f4 100644 --- a/tencentcloud/services/clb/resource_tc_clb_target_group_instance_attachment.md +++ b/tencentcloud/services/clb/resource_tc_clb_target_group_instance_attachment.md @@ -62,13 +62,19 @@ data "tencentcloud_instances" "instances" { resource "tencentcloud_clb_target_group" "example" { target_group_name = "tf-example" vpc_id = tencentcloud_vpc.vpc.id + port = 8090 + type = "v1" + + tags { + tag_key = "tagKey" + tag_value = "tagValue" + } } resource "tencentcloud_clb_target_group_instance_attachment" "example" { target_group_id = tencentcloud_clb_target_group.example.id - bind_ip = data.tencentcloud_instances.instances.instance_list[0].private_ip + bind_ip = tencentcloud_instance.example.private_ip port = 8080 - weight = 10 } ``` @@ -77,5 +83,5 @@ Import CLB target group instance attachment can be imported using the id, e.g. ``` -$ terraform import tencentcloud_clb_target_group_instance_attachment.example lbtg-3k3io0i0#172.16.48.18#8080 +$ terraform import tencentcloud_clb_target_group_instance_attachment.example lbtg-3k3io0i0#10.0.30.25#8080 ``` \ No newline at end of file diff --git a/tencentcloud/services/clb/service_tencentcloud_clb.go b/tencentcloud/services/clb/service_tencentcloud_clb.go index 7c946aea04..a9dd4c91af 100644 --- a/tencentcloud/services/clb/service_tencentcloud_clb.go +++ b/tencentcloud/services/clb/service_tencentcloud_clb.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "log" + "strconv" "strings" tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" @@ -1378,25 +1379,31 @@ func (me *ClbService) DeleteTarget(ctx context.Context, targetGroupId string) er if err != nil { return tccommon.RetryError(err, tccommon.InternalError) } + return nil }) + if err != nil { return err } + return nil } func (me *ClbService) DescribeTargetGroups(ctx context.Context, targetGroupId string, filters map[string]string) (targetGroupInfos []*clb.TargetGroupInfo, errRet error) { logId := tccommon.GetLogId(ctx) request := clb.NewDescribeTargetGroupsRequest() + response := clb.NewDescribeTargetGroupsResponse() if targetGroupId != "" { request.TargetGroupIds = []*string{&targetGroupId} } + for k, v := range filters { tmpFilter := clb.Filter{ Name: helper.String(k), Values: []*string{helper.String(v)}, } + request.Filters = append(request.Filters, &tmpFilter) } @@ -1405,26 +1412,43 @@ func (me *ClbService) DescribeTargetGroups(ctx context.Context, targetGroupId st for { request.Offset = &offset request.Limit = &pageSize - ratelimit.Check(request.GetAction()) - response, err := me.client.UseClbClient().DescribeTargetGroups(request) + + err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + ratelimit.Check(request.GetAction()) + result, e := me.client.UseClbClient().DescribeTargetGroups(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()) + } + + if result == nil || result.Response == nil { + return resource.NonRetryableError(fmt.Errorf("Describe target group failed, Response is nil.")) + } + + response = result + return nil + }) + if err != nil { log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]", logId, request.GetAction(), request.ToJsonString(), err.Error()) errRet = err return } - log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]", - logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) - if response == nil || response.Response == nil || len(response.Response.TargetGroupSet) < 1 { + if len(response.Response.TargetGroupSet) < 1 { break } + targetGroupInfos = append(targetGroupInfos, response.Response.TargetGroupSet...) if len(response.Response.TargetGroupSet) < int(pageSize) { break } + offset += pageSize } + return } @@ -1510,7 +1534,7 @@ func (me *ClbService) AssociateTargetGroups(ctx context.Context, listenerId, clb return } -func (me *ClbService) DescribeAssociateTargetGroups(ctx context.Context, ids []string) (has bool, err error) { +func (me *ClbService) DescribeAssociateTargetGroups(ctx context.Context, ids []string) (targetInfo *clb.TargetGroupInfo, has bool, err error) { var ( logId = tccommon.GetLogId(ctx) targetInfos []*clb.TargetGroupInfo @@ -1540,15 +1564,17 @@ func (me *ClbService) DescribeAssociateTargetGroups(ctx context.Context, ids []s if *rule.Protocol == CLB_LISTENER_PROTOCOL_TCP || *rule.Protocol == CLB_LISTENER_PROTOCOL_UDP || *rule.Protocol == CLB_LISTENER_PROTOCOL_TCPSSL || *rule.Protocol == CLB_LISTENER_PROTOCOL_QUIC { if originListenerId == ids[1] && originClbId == ids[2] { - return true, nil + targetInfo = info + return targetInfo, true, nil } } else if originListenerId == ids[1] && originClbId == ids[2] && originLocationId == ids[3] { - return true, nil + targetInfo = info + return targetInfo, true, nil } } } - return false, nil + return nil, false, nil } func (me *ClbService) DisassociateTargetGroups(ctx context.Context, targetGroupId, listenerId, clbId, locationId string) (errRet error) { @@ -2513,7 +2539,20 @@ func (me *ClbService) DescribeClbTargetGroupAttachmentsById(ctx context.Context, info = append(info, "null") } + if associations.Weight != nil { + weight := *associations.Weight + info = append(info, strconv.FormatUint(weight, 10)) + } else { + info = append(info, "null") + } + key := strings.Join(info, tccommon.FILED_SP) + fmt.Println(11111111) + fmt.Println(11111111) + fmt.Println(key) + fmt.Println(associationsSet) + fmt.Println(11111111) + fmt.Println(11111111) if _, ok := associationsSet[key]; ok { result = append(result, key) } diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/client.go index dc956f4f7d..29eebffa46 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/client.go @@ -189,7 +189,15 @@ func NewAssociateTargetGroupsResponse() (response *AssociateTargetGroupsResponse // AssociateTargetGroups // 本接口(AssociateTargetGroups)用来将目标组绑定到负载均衡的监听器(四层协议)或转发规则(七层协议)上。 // -// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 +// +// 限制说明: +// +// - 四层监听器绑定旧版目标组需要监听器开启后端目标组。 +// +// - 七层绑定目标组,数据结构 TargetGroupAssociation 中 LocationId 为必填项。 +// +// - 负载均衡的 VPC 需要和目标组的 VPC 一致。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -206,7 +214,15 @@ func (c *Client) AssociateTargetGroups(request *AssociateTargetGroupsRequest) (r // AssociateTargetGroups // 本接口(AssociateTargetGroups)用来将目标组绑定到负载均衡的监听器(四层协议)或转发规则(七层协议)上。 // -// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 +// +// 限制说明: +// +// - 四层监听器绑定旧版目标组需要监听器开启后端目标组。 +// +// - 七层绑定目标组,数据结构 TargetGroupAssociation 中 LocationId 为必填项。 +// +// - 负载均衡的 VPC 需要和目标组的 VPC 一致。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -631,9 +647,9 @@ func NewCloneLoadBalancerResponse() (response *CloneLoadBalancerResponse) { // // 实例属性维度限制: // -// - 支持克隆网络计费模式为按量计费与包年包月的实例,包年包月实例克隆后的新实例网络计费模式会转换为按小时带宽计费,其带宽、规格与原实例设置保持一致。 +// - 支持克隆实例计费模式为按量计费与包年包月的实例,包年包月实例克隆后的新实例网络计费模式会转换为按小时带宽计费,其带宽、规格与原实例设置保持一致。 // -// - 不支持克隆未关联实例计费项的 CLB。 +// - 不支持克隆未关联实例计费项的 CLB(历史免费活动创建)。 // // - 不支持克隆传统型负载均衡实例和高防 CLB。 // @@ -700,9 +716,9 @@ func (c *Client) CloneLoadBalancer(request *CloneLoadBalancerRequest) (response // // 实例属性维度限制: // -// - 支持克隆网络计费模式为按量计费与包年包月的实例,包年包月实例克隆后的新实例网络计费模式会转换为按小时带宽计费,其带宽、规格与原实例设置保持一致。 +// - 支持克隆实例计费模式为按量计费与包年包月的实例,包年包月实例克隆后的新实例网络计费模式会转换为按小时带宽计费,其带宽、规格与原实例设置保持一致。 // -// - 不支持克隆未关联实例计费项的 CLB。 +// - 不支持克隆未关联实例计费项的 CLB(历史免费活动创建)。 // // - 不支持克隆传统型负载均衡实例和高防 CLB。 // @@ -855,7 +871,7 @@ func NewCreateListenerResponse() (response *CreateListenerResponse) { // CreateListener // 在一个负载均衡实例下创建监听器。 // -// 本接口为异步接口,接口返回成功后,需以返回的 RequestId 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以返回的 RequestId 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -877,7 +893,7 @@ func (c *Client) CreateListener(request *CreateListenerRequest) (response *Creat // CreateListener // 在一个负载均衡实例下创建监听器。 // -// 本接口为异步接口,接口返回成功后,需以返回的 RequestId 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以返回的 RequestId 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -928,11 +944,11 @@ func NewCreateLoadBalancerResponse() (response *CreateLoadBalancerResponse) { } // CreateLoadBalancer -// 本接口(CreateLoadBalancer)用来创建负载均衡实例(本接口只支持购买按量计费的负载均衡,包年包月的负载均衡请通过控制台购买)。为了使用负载均衡服务,您必须购买一个或多个负载均衡实例。成功调用该接口后,会返回负载均衡实例的唯一 ID。负载均衡实例的类型分为:公网、内网。详情可参考产品说明中的产品类型。 +// 本接口(CreateLoadBalancer)用来创建负载均衡实例。为了使用负载均衡服务,您必须购买一个或多个负载均衡实例。成功调用该接口后,会返回负载均衡实例的唯一 ID。负载均衡实例的类型分为:公网、内网。详情可参考产品说明中的产品类型。 // // 注意:(1)可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域是否支持创建IPv6实例;(2)一个账号在每个地域的默认购买配额为:公网100个,内网100个。 // -// 本接口为异步接口,接口成功返回后,可使用 DescribeLoadBalancers 接口查询负载均衡实例的状态(如创建中、正常),以确定是否创建成功。 +// 本接口为异步接口,接口成功返回后,可使用 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询负载均衡实例的状态(如创建中、正常),以确定是否创建成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -953,11 +969,11 @@ func (c *Client) CreateLoadBalancer(request *CreateLoadBalancerRequest) (respons } // CreateLoadBalancer -// 本接口(CreateLoadBalancer)用来创建负载均衡实例(本接口只支持购买按量计费的负载均衡,包年包月的负载均衡请通过控制台购买)。为了使用负载均衡服务,您必须购买一个或多个负载均衡实例。成功调用该接口后,会返回负载均衡实例的唯一 ID。负载均衡实例的类型分为:公网、内网。详情可参考产品说明中的产品类型。 +// 本接口(CreateLoadBalancer)用来创建负载均衡实例。为了使用负载均衡服务,您必须购买一个或多个负载均衡实例。成功调用该接口后,会返回负载均衡实例的唯一 ID。负载均衡实例的类型分为:公网、内网。详情可参考产品说明中的产品类型。 // // 注意:(1)可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域是否支持创建IPv6实例;(2)一个账号在每个地域的默认购买配额为:公网100个,内网100个。 // -// 本接口为异步接口,接口成功返回后,可使用 DescribeLoadBalancers 接口查询负载均衡实例的状态(如创建中、正常),以确定是否创建成功。 +// 本接口为异步接口,接口成功返回后,可使用 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询负载均衡实例的状态(如创建中、正常),以确定是否创建成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1011,10 +1027,11 @@ func NewCreateLoadBalancerSnatIpsResponse() (response *CreateLoadBalancerSnatIps // CreateLoadBalancerSnatIps // 针对SnatPro负载均衡,这个接口用于添加SnatIp,如果负载均衡没有开启SnatPro,添加SnatIp后会自动开启。 // -// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -1030,10 +1047,11 @@ func (c *Client) CreateLoadBalancerSnatIps(request *CreateLoadBalancerSnatIpsReq // CreateLoadBalancerSnatIps // 针对SnatPro负载均衡,这个接口用于添加SnatIp,如果负载均衡没有开启SnatPro,添加SnatIp后会自动开启。 // -// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -1080,10 +1098,11 @@ func NewCreateRuleResponse() (response *CreateRuleResponse) { // CreateRule // CreateRule 接口用于在一个已存在的负载均衡七层监听器下创建转发规则,七层监听器中,后端服务必须绑定到规则上而非监听器上。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -1100,10 +1119,11 @@ func (c *Client) CreateRule(request *CreateRuleRequest) (response *CreateRuleRes // CreateRule // CreateRule 接口用于在一个已存在的负载均衡七层监听器下创建转发规则,七层监听器中,后端服务必须绑定到规则上而非监听器上。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -1352,7 +1372,7 @@ func NewDeleteListenerResponse() (response *DeleteListenerResponse) { // DeleteListener // 本接口用来删除负载均衡实例下的监听器(四层和七层)。 // -// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1369,7 +1389,7 @@ func (c *Client) DeleteListener(request *DeleteListenerRequest) (response *Delet // DeleteListener // 本接口用来删除负载均衡实例下的监听器(四层和七层)。 // -// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1417,7 +1437,7 @@ func NewDeleteLoadBalancerResponse() (response *DeleteLoadBalancerResponse) { // DeleteLoadBalancer // DeleteLoadBalancer 接口用以删除指定的一个或多个负载均衡实例。成功删除后,会把负载均衡实例下的监听器、转发规则一起删除,并把后端服务解绑。 // -// 本接口为异步接口,接口返回成功后,需以返回的 RequestId 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以返回的 RequestId 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1437,7 +1457,7 @@ func (c *Client) DeleteLoadBalancer(request *DeleteLoadBalancerRequest) (respons // DeleteLoadBalancer // DeleteLoadBalancer 接口用以删除指定的一个或多个负载均衡实例。成功删除后,会把负载均衡实例下的监听器、转发规则一起删除,并把后端服务解绑。 // -// 本接口为异步接口,接口返回成功后,需以返回的 RequestId 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以返回的 RequestId 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1488,7 +1508,7 @@ func NewDeleteLoadBalancerListenersResponse() (response *DeleteLoadBalancerListe // DeleteLoadBalancerListeners // 该接口支持删除负载均衡的多个监听器。 // -// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1507,7 +1527,7 @@ func (c *Client) DeleteLoadBalancerListeners(request *DeleteLoadBalancerListener // DeleteLoadBalancerListeners // 该接口支持删除负载均衡的多个监听器。 // -// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1557,10 +1577,11 @@ func NewDeleteLoadBalancerSnatIpsResponse() (response *DeleteLoadBalancerSnatIps // DeleteLoadBalancerSnatIps // 这个接口用于删除SnatPro的负载均衡的SnatIp。 // -// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -1574,10 +1595,11 @@ func (c *Client) DeleteLoadBalancerSnatIps(request *DeleteLoadBalancerSnatIpsReq // DeleteLoadBalancerSnatIps // 这个接口用于删除SnatPro的负载均衡的SnatIp。 // -// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -1697,7 +1719,7 @@ func NewDeleteRuleResponse() (response *DeleteRuleResponse) { // DeleteRule // DeleteRule 接口用来删除负载均衡实例七层监听器下的转发规则。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1715,7 +1737,7 @@ func (c *Client) DeleteRule(request *DeleteRuleRequest) (response *DeleteRuleRes // DeleteRule // DeleteRule 接口用来删除负载均衡实例七层监听器下的转发规则。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1762,7 +1784,7 @@ func NewDeleteTargetGroupsResponse() (response *DeleteTargetGroupsResponse) { } // DeleteTargetGroups -// 删除目标组 +// 删除目标组,支持批量删除目标组,单次最多批量删除 20 个目标组。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1775,7 +1797,7 @@ func (c *Client) DeleteTargetGroups(request *DeleteTargetGroupsRequest) (respons } // DeleteTargetGroups -// 删除目标组 +// 删除目标组,支持批量删除目标组,单次最多批量删除 20 个目标组。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1827,7 +1849,7 @@ func NewDeregisterFunctionTargetsResponse() (response *DeregisterFunctionTargets // // // -// - 仅广州、深圳金融、上海、上海金融、北京、成都、中国香港、新加坡、孟买、东京、硅谷地域支持绑定 SCF。 +// - 仅广州、深圳金融、上海、上海金融、北京、成都、中国香港、新加坡、东京、硅谷地域支持绑定 SCF。 // // - 仅标准账户类型支持绑定 SCF,传统账户类型不支持。建议升级为标准账户类型,详情可参见 [账户类型升级说明](https://cloud.tencent.com/document/product/1199/49090)。 // @@ -1868,7 +1890,7 @@ func (c *Client) DeregisterFunctionTargets(request *DeregisterFunctionTargetsReq // // // -// - 仅广州、深圳金融、上海、上海金融、北京、成都、中国香港、新加坡、孟买、东京、硅谷地域支持绑定 SCF。 +// - 仅广州、深圳金融、上海、上海金融、北京、成都、中国香港、新加坡、东京、硅谷地域支持绑定 SCF。 // // - 仅标准账户类型支持绑定 SCF,传统账户类型不支持。建议升级为标准账户类型,详情可参见 [账户类型升级说明](https://cloud.tencent.com/document/product/1199/49090)。 // @@ -1934,7 +1956,7 @@ func NewDeregisterTargetGroupInstancesResponse() (response *DeregisterTargetGrou // DeregisterTargetGroupInstances // 从目标组中解绑服务器。 // -// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -1950,7 +1972,7 @@ func (c *Client) DeregisterTargetGroupInstances(request *DeregisterTargetGroupIn // DeregisterTargetGroupInstances // 从目标组中解绑服务器。 // -// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -3025,6 +3047,73 @@ func (c *Client) DescribeLBListenersWithContext(ctx context.Context, request *De return } +func NewDescribeLBOperateProtectRequest() (request *DescribeLBOperateProtectRequest) { + request = &DescribeLBOperateProtectRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("clb", APIVersion, "DescribeLBOperateProtect") + + + return +} + +func NewDescribeLBOperateProtectResponse() (response *DescribeLBOperateProtectResponse) { + response = &DescribeLBOperateProtectResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeLBOperateProtect +// 查询负载均衡的操作保护信息。 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" +// INVALIDPARAMETER_LBIDNOTFOUND = "InvalidParameter.LBIdNotFound" +// INVALIDPARAMETER_REGIONNOTFOUND = "InvalidParameter.RegionNotFound" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_LENGTH = "InvalidParameterValue.Length" +// OPERATIONDENIED = "OperationDenied" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +func (c *Client) DescribeLBOperateProtect(request *DescribeLBOperateProtectRequest) (response *DescribeLBOperateProtectResponse, err error) { + return c.DescribeLBOperateProtectWithContext(context.Background(), request) +} + +// DescribeLBOperateProtect +// 查询负载均衡的操作保护信息。 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" +// INVALIDPARAMETER_LBIDNOTFOUND = "InvalidParameter.LBIdNotFound" +// INVALIDPARAMETER_REGIONNOTFOUND = "InvalidParameter.RegionNotFound" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_LENGTH = "InvalidParameterValue.Length" +// OPERATIONDENIED = "OperationDenied" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +func (c *Client) DescribeLBOperateProtectWithContext(ctx context.Context, request *DescribeLBOperateProtectRequest) (response *DescribeLBOperateProtectResponse, err error) { + if request == nil { + request = NewDescribeLBOperateProtectRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeLBOperateProtect require credential") + } + + request.SetContext(ctx) + + response = NewDescribeLBOperateProtectResponse() + err = c.Send(request, response) + return +} + func NewDescribeListenersRequest() (request *DescribeListenersRequest) { request = &DescribeListenersRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -4033,6 +4122,8 @@ func NewDisassociateTargetGroupsResponse() (response *DisassociateTargetGroupsRe // // 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 // +// 当解绑七层转发规则时,LocationId 为必填项。 +// // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" // FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" @@ -4049,6 +4140,8 @@ func (c *Client) DisassociateTargetGroups(request *DisassociateTargetGroupsReque // // 本接口为异步接口,本接口返回成功后需以返回的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 // +// 当解绑七层转发规则时,LocationId 为必填项。 +// // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" // FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" @@ -4206,7 +4299,7 @@ func NewInquiryPriceRefundLoadBalancerResponse() (response *InquiryPriceRefundLo } // InquiryPriceRefundLoadBalancer -// InquiryPriceRefundLoadBalancer接口查询负载均衡退费价格。 +// InquiryPriceRefundLoadBalancer接口查询负载均衡退费价格,只支持预付费类型的负载均衡实例。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -4219,7 +4312,7 @@ func (c *Client) InquiryPriceRefundLoadBalancer(request *InquiryPriceRefundLoadB } // InquiryPriceRefundLoadBalancer -// InquiryPriceRefundLoadBalancer接口查询负载均衡退费价格。 +// InquiryPriceRefundLoadBalancer接口查询负载均衡退费价格,只支持预付费类型的负载均衡实例。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -4596,10 +4689,11 @@ func NewModifyDomainResponse() (response *ModifyDomainResponse) { // ModifyDomain // ModifyDomain接口用来修改负载均衡七层监听器下的域名。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -4613,10 +4707,11 @@ func (c *Client) ModifyDomain(request *ModifyDomainRequest) (response *ModifyDom // ModifyDomain // ModifyDomain接口用来修改负载均衡七层监听器下的域名。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -4659,9 +4754,9 @@ func NewModifyDomainAttributesResponse() (response *ModifyDomainAttributesRespon } // ModifyDomainAttributes -// ModifyDomainAttributes接口用于修改负载均衡7层监听器转发规则的域名级别属性,如修改域名、修改DefaultServer、开启/关闭Http2、修改证书。 +// ModifyDomainAttributes接口用于修改负载均衡7层监听器转发规则的域名级别属性,如修改域名、修改DefaultServer、开启/关闭Http2、修改证书 // -// 本接口为异步接口,本接口返回成功后,需以返回的RequestId为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后,需以返回的RequestId为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -4679,9 +4774,9 @@ func (c *Client) ModifyDomainAttributes(request *ModifyDomainAttributesRequest) } // ModifyDomainAttributes -// ModifyDomainAttributes接口用于修改负载均衡7层监听器转发规则的域名级别属性,如修改域名、修改DefaultServer、开启/关闭Http2、修改证书。 +// ModifyDomainAttributes接口用于修改负载均衡7层监听器转发规则的域名级别属性,如修改域名、修改DefaultServer、开启/关闭Http2、修改证书 // -// 本接口为异步接口,本接口返回成功后,需以返回的RequestId为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后,需以返回的RequestId为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -4732,6 +4827,10 @@ func NewModifyFunctionTargetsResponse() (response *ModifyFunctionTargetsResponse // ModifyFunctionTargets // 修改负载均衡转发规则上所绑定的云函数。 // +// 限制说明: +// +// - 仅支持绑定“Event 函数”类型的云函数。 +// // 可能返回的错误码: // AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" @@ -4750,6 +4849,10 @@ func (c *Client) ModifyFunctionTargets(request *ModifyFunctionTargetsRequest) (r // ModifyFunctionTargets // 修改负载均衡转发规则上所绑定的云函数。 // +// 限制说明: +// +// - 仅支持绑定“Event 函数”类型的云函数。 +// // 可能返回的错误码: // AUTHFAILURE = "AuthFailure" // FAILEDOPERATION = "FailedOperation" @@ -4799,7 +4902,7 @@ func NewModifyListenerResponse() (response *ModifyListenerResponse) { // ModifyListener // ModifyListener接口用来修改负载均衡监听器的属性,包括监听器名称、健康检查参数、证书信息、转发策略等。本接口不支持传统型负载均衡。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -4818,7 +4921,7 @@ func (c *Client) ModifyListener(request *ModifyListenerRequest) (response *Modif // ModifyListener // ModifyListener接口用来修改负载均衡监听器的属性,包括监听器名称、健康检查参数、证书信息、转发策略等。本接口不支持传统型负载均衡。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -4868,9 +4971,9 @@ func NewModifyLoadBalancerAttributesResponse() (response *ModifyLoadBalancerAttr // ModifyLoadBalancerAttributes // 修改负载均衡实例的属性。支持修改负载均衡实例的名称、设置负载均衡的跨域属性。 // -// 注意:非带宽上移用户的 CLB 实例必须加入带宽包才可以设置跨域属性。 +// 注意:非带宽上移用户的 CLB 实例必须加入带宽包才可以设置跨域属性。修改网络计费模式请到控制台操作。 // -// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -4894,9 +4997,9 @@ func (c *Client) ModifyLoadBalancerAttributes(request *ModifyLoadBalancerAttribu // ModifyLoadBalancerAttributes // 修改负载均衡实例的属性。支持修改负载均衡实例的名称、设置负载均衡的跨域属性。 // -// 注意:非带宽上移用户的 CLB 实例必须加入带宽包才可以设置跨域属性。 +// 注意:非带宽上移用户的 CLB 实例必须加入带宽包才可以设置跨域属性。修改网络计费模式请到控制台操作。 // -// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -5018,13 +5121,13 @@ func NewModifyLoadBalancerSlaResponse() (response *ModifyLoadBalancerSlaResponse } // ModifyLoadBalancerSla -// 本接口(ModifyLoadBalancerSla)用于将按量计费模式的共享型实例升级为性能容量型实例。
+// 本接口(ModifyLoadBalancerSla)用于调整按量计费模式实例的性能容量型规格,如共享型升级性能容量型,性能容量型实例规格调整。
// // 限制条件: // -// - 本接口只支持升级按量计费的CLB实例,包年包月的CLB实例升级请通过控制台进行升级。 +// - 本接口只支持调整按量计费的CLB实例,包年包月的CLB实例升级请通过控制台进行调整。 // -// - 升级为性能容量型实例后,不支持再回退到共享型实例。 +// - 共享型升级为性能容量型实例后,不支持再回退到共享型实例。 // // - 传统型负载均衡实例不支持升级为性能容量型实例。 // @@ -5042,13 +5145,13 @@ func (c *Client) ModifyLoadBalancerSla(request *ModifyLoadBalancerSlaRequest) (r } // ModifyLoadBalancerSla -// 本接口(ModifyLoadBalancerSla)用于将按量计费模式的共享型实例升级为性能容量型实例。
+// 本接口(ModifyLoadBalancerSla)用于调整按量计费模式实例的性能容量型规格,如共享型升级性能容量型,性能容量型实例规格调整。
// // 限制条件: // -// - 本接口只支持升级按量计费的CLB实例,包年包月的CLB实例升级请通过控制台进行升级。 +// - 本接口只支持调整按量计费的CLB实例,包年包月的CLB实例升级请通过控制台进行调整。 // -// - 升级为性能容量型实例后,不支持再回退到共享型实例。 +// - 共享型升级为性能容量型实例后,不支持再回退到共享型实例。 // // - 传统型负载均衡实例不支持升级为性能容量型实例。 // @@ -5164,7 +5267,7 @@ func NewModifyRuleResponse() (response *ModifyRuleResponse) { // ModifyRule // ModifyRule 接口用来修改负载均衡七层监听器下的转发规则的各项属性,包括转发路径、健康检查属性、转发策略等。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -5183,7 +5286,7 @@ func (c *Client) ModifyRule(request *ModifyRuleRequest) (response *ModifyRuleRes // ModifyRule // ModifyRule 接口用来修改负载均衡七层监听器下的转发规则的各项属性,包括转发路径、健康检查属性、转发策略等。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" @@ -5422,6 +5525,7 @@ func NewModifyTargetPortResponse() (response *ModifyTargetPortResponse) { // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -5440,6 +5544,7 @@ func (c *Client) ModifyTargetPort(request *ModifyTargetPortRequest) (response *M // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -5485,10 +5590,11 @@ func NewModifyTargetWeightResponse() (response *ModifyTargetWeightResponse) { // ModifyTargetWeight // ModifyTargetWeight 接口用于修改负载均衡绑定的后端服务的转发权重。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -5503,10 +5609,11 @@ func (c *Client) ModifyTargetWeight(request *ModifyTargetWeightRequest) (respons // ModifyTargetWeight // ModifyTargetWeight 接口用于修改负载均衡绑定的后端服务的转发权重。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -5556,7 +5663,7 @@ func NewRegisterFunctionTargetsResponse() (response *RegisterFunctionTargetsResp // // 限制说明: // -// - 仅广州、深圳金融、上海、上海金融、北京、成都、中国香港、新加坡、孟买、东京、硅谷地域支持绑定 SCF。 +// - 仅广州、深圳金融、上海、上海金融、北京、成都、中国香港、新加坡、东京、硅谷地域支持绑定 SCF。 // // - 仅标准账户类型支持绑定 SCF,传统账户类型不支持。建议升级为标准账户类型,详情可参见 [账户类型升级说明](https://cloud.tencent.com/document/product/1199/49090)。 // @@ -5572,6 +5679,8 @@ func NewRegisterFunctionTargetsResponse() (response *RegisterFunctionTargetsResp // // - CLB 绑定 SCF 仅支持绑定“Event 函数”类型的云函数。 // +// - 一个转发规则只支持绑定一个云函数。 +// // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" // FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" @@ -5600,7 +5709,7 @@ func (c *Client) RegisterFunctionTargets(request *RegisterFunctionTargetsRequest // // 限制说明: // -// - 仅广州、深圳金融、上海、上海金融、北京、成都、中国香港、新加坡、孟买、东京、硅谷地域支持绑定 SCF。 +// - 仅广州、深圳金融、上海、上海金融、北京、成都、中国香港、新加坡、东京、硅谷地域支持绑定 SCF。 // // - 仅标准账户类型支持绑定 SCF,传统账户类型不支持。建议升级为标准账户类型,详情可参见 [账户类型升级说明](https://cloud.tencent.com/document/product/1199/49090)。 // @@ -5616,6 +5725,8 @@ func (c *Client) RegisterFunctionTargets(request *RegisterFunctionTargetsRequest // // - CLB 绑定 SCF 仅支持绑定“Event 函数”类型的云函数。 // +// - 一个转发规则只支持绑定一个云函数。 +// // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" // FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" @@ -5736,10 +5847,11 @@ func NewRegisterTargetsResponse() (response *RegisterTargetsResponse) { // RegisterTargets // RegisterTargets 接口用来将一台或多台后端服务绑定到负载均衡的监听器(或7层转发规则),在此之前您需要先行创建相关的4层监听器或7层转发规则。对于四层监听器(TCP、UDP),只需指定监听器ID即可,对于七层监听器(HTTP、HTTPS),还需通过LocationId或者Domain+Url指定转发规则。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -5757,10 +5869,11 @@ func (c *Client) RegisterTargets(request *RegisterTargetsRequest) (response *Reg // RegisterTargets // RegisterTargets 接口用来将一台或多台后端服务绑定到负载均衡的监听器(或7层转发规则),在此之前您需要先行创建相关的4层监听器或7层转发规则。对于四层监听器(TCP、UDP),只需指定监听器ID即可,对于七层监听器(HTTP、HTTPS),还需通过LocationId或者Domain+Url指定转发规则。 // -// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用DescribeTaskStatus接口查询本次任务是否成功。 +// 本接口为异步接口,本接口返回成功后需以返回的RequestID为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -5947,6 +6060,7 @@ func NewSetCustomizedConfigForLoadBalancerResponse() (response *SetCustomizedCon // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINCLONING = "FailedOperation.ResourceInCloning" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -5965,6 +6079,7 @@ func (c *Client) SetCustomizedConfigForLoadBalancer(request *SetCustomizedConfig // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINCLONING = "FailedOperation.ResourceInCloning" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -6077,7 +6192,7 @@ func NewSetLoadBalancerSecurityGroupsResponse() (response *SetLoadBalancerSecuri } // SetLoadBalancerSecurityGroups -// SetLoadBalancerSecurityGroups 接口支持对一个公网负载均衡实例执行设置(绑定、解绑)安全组操作。查询一个负载均衡实例目前已绑定的安全组,可使用 DescribeLoadBalancers 接口。本接口是set语义, +// SetLoadBalancerSecurityGroups 接口支持对一个公网负载均衡实例执行设置(绑定、解绑)安全组操作。查询一个负载均衡实例目前已绑定的安全组,可使用 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口。本接口是set语义, // // 绑定操作时,入参需要传入负载均衡实例要绑定的所有安全组(已绑定的+新增绑定的)。 // @@ -6098,7 +6213,7 @@ func (c *Client) SetLoadBalancerSecurityGroups(request *SetLoadBalancerSecurityG } // SetLoadBalancerSecurityGroups -// SetLoadBalancerSecurityGroups 接口支持对一个公网负载均衡实例执行设置(绑定、解绑)安全组操作。查询一个负载均衡实例目前已绑定的安全组,可使用 DescribeLoadBalancers 接口。本接口是set语义, +// SetLoadBalancerSecurityGroups 接口支持对一个公网负载均衡实例执行设置(绑定、解绑)安全组操作。查询一个负载均衡实例目前已绑定的安全组,可使用 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口。本接口是set语义, // // 绑定操作时,入参需要传入负载均衡实例要绑定的所有安全组(已绑定的+新增绑定的)。 // @@ -6152,7 +6267,7 @@ func NewSetLoadBalancerStartStatusResponse() (response *SetLoadBalancerStartStat // SetLoadBalancerStartStatus // 启停负载均衡实例或者监听器。 // -// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 该功能正在内测中,如需使用,请通过[工单申请](https://console.cloud.tencent.com/workorder/category?level1_id=6&level2_id=163&source=0&data_title=%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%20LB&step=1)。 // @@ -6174,7 +6289,7 @@ func (c *Client) SetLoadBalancerStartStatus(request *SetLoadBalancerStartStatusR // SetLoadBalancerStartStatus // 启停负载均衡实例或者监听器。 // -// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。 +// 本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 [DescribeTaskStatus](https://cloud.tencent.com/document/product/214/30683) 接口查询本次任务是否成功。 // // 该功能正在内测中,如需使用,请通过[工单申请](https://console.cloud.tencent.com/workorder/category?level1_id=6&level2_id=163&source=0&data_title=%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%20LB&step=1)。 // @@ -6225,10 +6340,11 @@ func NewSetSecurityGroupForLoadbalancersResponse() (response *SetSecurityGroupFo } // SetSecurityGroupForLoadbalancers -// 绑定或解绑一个安全组到多个公网负载均衡实例。注意:内网负载均衡不支持绑定安全组。 +// 绑定或解绑一个安全组到多个公网负载均衡实例。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" @@ -6241,10 +6357,11 @@ func (c *Client) SetSecurityGroupForLoadbalancers(request *SetSecurityGroupForLo } // SetSecurityGroupForLoadbalancers -// 绑定或解绑一个安全组到多个公网负载均衡实例。注意:内网负载均衡不支持绑定安全组。 +// 绑定或解绑一个安全组到多个公网负载均衡实例。 // // 可能返回的错误码: // FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" // INTERNALERROR = "InternalError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETER_FORMATERROR = "InvalidParameter.FormatError" diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/errors.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/errors.go index 367707b260..1f7ad867c5 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/errors.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/errors.go @@ -35,6 +35,9 @@ const ( // 没有监听器的实例不允许停止。 FAILEDOPERATION_NOLISTENERINLB = "FailedOperation.NoListenerInLB" + // 指定的资源正在克隆中,请稍后重试。 + FAILEDOPERATION_RESOURCEINCLONING = "FailedOperation.ResourceInCloning" + // 正在操作指定的资源,请稍后重试。 FAILEDOPERATION_RESOURCEINOPERATING = "FailedOperation.ResourceInOperating" diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/models.go index 7d319a9fbd..ac82560939 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317/models.go @@ -154,14 +154,16 @@ func (r *AssociateCustomizedConfigResponse) FromJsonString(s string) error { // Predefined struct for user type AssociateTargetGroupsRequestParams struct { - // 绑定的关系数组。一次请求最多支持20个。 + // 绑定的关系数组,目标组类型需要一致。 + // 一次请求最多支持20个。 Associations []*TargetGroupAssociation `json:"Associations,omitnil,omitempty" name:"Associations"` } type AssociateTargetGroupsRequest struct { *tchttp.BaseRequest - // 绑定的关系数组。一次请求最多支持20个。 + // 绑定的关系数组,目标组类型需要一致。 + // 一次请求最多支持20个。 Associations []*TargetGroupAssociation `json:"Associations,omitnil,omitempty" name:"Associations"` } @@ -238,7 +240,6 @@ type AssociationItem struct { ListenerName *string `json:"ListenerName,omitnil,omitempty" name:"ListenerName"` // 关联目标组的权重, 该参数只有v2新版目标组生效。 - // 注意:此字段可能返回 null,表示取不到有效值。 Weight *uint64 `json:"Weight,omitnil,omitempty" name:"Weight"` } @@ -331,7 +332,7 @@ type Backend struct { // 后端服务的唯一 ID,如 ins-abcd1234 InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` - // 后端服务的监听端口 + // 后端服务的监听端口,如果是全端口段监听器绑定的全监听目标组场景,此端口返回0,表示无效端口,绑定的后端服务的端口随监听器端口。 Port *int64 `json:"Port,omitnil,omitempty" name:"Port"` // 后端服务的转发权重,取值范围:[0, 100],默认为 10。 @@ -342,7 +343,6 @@ type Backend struct { PublicIpAddresses []*string `json:"PublicIpAddresses,omitnil,omitempty" name:"PublicIpAddresses"` // 后端服务的内网 IP - // 注意:此字段可能返回 null,表示取不到有效值。 PrivateIpAddresses []*string `json:"PrivateIpAddresses,omitnil,omitempty" name:"PrivateIpAddresses"` // 后端服务的实例名称 @@ -350,7 +350,6 @@ type Backend struct { InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"` // 后端服务被绑定的时间 - // 注意:此字段可能返回 null,表示取不到有效值。 RegisteredTime *string `json:"RegisteredTime,omitnil,omitempty" name:"RegisteredTime"` // 弹性网卡唯一ID,如 eni-1234abcd @@ -358,7 +357,6 @@ type Backend struct { EniId *string `json:"EniId,omitnil,omitempty" name:"EniId"` // 标签。 - // 注意:此字段可能返回 null,表示取不到有效值。 Tag *string `json:"Tag,omitnil,omitempty" name:"Tag"` } @@ -369,7 +367,7 @@ type BasicTargetGroupInfo struct { // 目标组名称 TargetGroupName *string `json:"TargetGroupName,omitnil,omitempty" name:"TargetGroupName"` - // 权重 + // 目标组权重 Weight *uint64 `json:"Weight,omitnil,omitempty" name:"Weight"` } @@ -418,7 +416,6 @@ type BatchDeregisterTargetsResponseParams struct { FailListenerIdSet []*string `json:"FailListenerIdSet,omitnil,omitempty" name:"FailListenerIdSet"` // 解绑失败错误原因信息。 - // 注意:此字段可能返回 null,表示取不到有效值。 Message *string `json:"Message,omitnil,omitempty" name:"Message"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -659,27 +656,21 @@ type BindDetailItem struct { LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 配置绑定的监听器ID - // 注意:此字段可能返回 null,表示取不到有效值。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` // 配置绑定的域名 - // 注意:此字段可能返回 null,表示取不到有效值。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 配置绑定的规则 - // 注意:此字段可能返回 null,表示取不到有效值。 LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"` // 监听器名字 - // 注意:此字段可能返回 null,表示取不到有效值。 ListenerName *string `json:"ListenerName,omitnil,omitempty" name:"ListenerName"` // 监听器协议 - // 注意:此字段可能返回 null,表示取不到有效值。 Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"` // 监听器端口 - // 注意:此字段可能返回 null,表示取不到有效值。 Vport *int64 `json:"Vport,omitnil,omitempty" name:"Vport"` // location的url @@ -687,7 +678,6 @@ type BindDetailItem struct { Url *string `json:"Url,omitnil,omitempty" name:"Url"` // 配置ID - // 注意:此字段可能返回 null,表示取不到有效值。 UconfigId *string `json:"UconfigId,omitnil,omitempty" name:"UconfigId"` } @@ -696,15 +686,12 @@ type BindItem struct { LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 配置绑定的监听器ID - // 注意:此字段可能返回 null,表示取不到有效值。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` // 配置绑定的域名 - // 注意:此字段可能返回 null,表示取不到有效值。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 配置绑定的规则 - // 注意:此字段可能返回 null,表示取不到有效值。 LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"` } @@ -724,7 +711,6 @@ type CertIdRelatedWithLoadBalancers struct { CertId *string `json:"CertId,omitnil,omitempty" name:"CertId"` // 与证书关联的负载均衡实例列表 - // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancers []*LoadBalancer `json:"LoadBalancers,omitnil,omitempty" name:"LoadBalancers"` } @@ -743,10 +729,14 @@ type CertInfo struct { } type CertificateInput struct { - // 认证类型,UNIDIRECTIONAL:单向认证,MUTUAL:双向认证 + // 认证类型,UNIDIRECTIONAL:单向认证,MUTUAL:双向认证。 + // 默认为 UNIDIRECTIONAL。 SSLMode *string `json:"SSLMode,omitnil,omitempty" name:"SSLMode"` - // 服务端证书的 ID,如果不填写此项则必须上传证书,包括 CertContent,CertKey,CertName。 + // 双向认证时,是否开启客户端认证,ON:开启,OPTIONAL:自适应,默认ON。 + SSLVerifyClient *string `json:"SSLVerifyClient,omitnil,omitempty" name:"SSLVerifyClient"` + + // 服务端证书的 ID,如果不填写此项则必须上传证书,包括 CertContent(服务端证书内容),CertKey(服务端证书密钥),CertName(服务端证书名称)。 CertId *string `json:"CertId,omitnil,omitempty" name:"CertId"` // 客户端证书的 ID,当监听器采用双向认证,即 SSLMode=MUTUAL 时,如果不填写此项则必须上传客户端证书,包括 CertCaContent,CertCaName。 @@ -761,10 +751,10 @@ type CertificateInput struct { // 上传服务端证书的内容,如果没有 CertId,则此项必传。 CertContent *string `json:"CertContent,omitnil,omitempty" name:"CertContent"` - // 上传客户端 CA 证书的名称,如果 SSLMode=mutual,如果没有 CertCaId,则此项必传。 + // 上传客户端 CA 证书的名称,如果 SSLMode=MUTUAL,如果没有 CertCaId,则此项必传。 CertCaName *string `json:"CertCaName,omitnil,omitempty" name:"CertCaName"` - // 上传客户端证书的内容,如果 SSLMode=mutual,如果没有 CertCaId,则此项必传。 + // 上传客户端证书的内容,如果 SSLMode=MUTUAL,如果没有 CertCaId,则此项必传。 CertCaContent *string `json:"CertCaContent,omitnil,omitempty" name:"CertCaContent"` } @@ -772,15 +762,16 @@ type CertificateOutput struct { // 认证类型,UNIDIRECTIONAL:单向认证,MUTUAL:双向认证 SSLMode *string `json:"SSLMode,omitnil,omitempty" name:"SSLMode"` + // 是否开启客户端证书验证,只在双向认证时生效。 + SSLVerifyClient *string `json:"SSLVerifyClient,omitnil,omitempty" name:"SSLVerifyClient"` + // 服务端证书的ID。 CertId *string `json:"CertId,omitnil,omitempty" name:"CertId"` // 客户端证书的 ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 CertCaId *string `json:"CertCaId,omitnil,omitempty" name:"CertCaId"` // 多本服务器证书场景扩展的服务器证书ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 ExtCertIds []*string `json:"ExtCertIds,omitnil,omitempty" name:"ExtCertIds"` } @@ -862,7 +853,6 @@ type ClassicalLoadBalancerInfo struct { InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` // 负载均衡实例ID列表 - // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` } @@ -877,20 +867,16 @@ type ClassicalTarget struct { Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` // 后端服务的外网 IP - // 注意:此字段可能返回 null,表示取不到有效值。 PublicIpAddresses []*string `json:"PublicIpAddresses,omitnil,omitempty" name:"PublicIpAddresses"` // 后端服务的内网 IP - // 注意:此字段可能返回 null,表示取不到有效值。 PrivateIpAddresses []*string `json:"PrivateIpAddresses,omitnil,omitempty" name:"PrivateIpAddresses"` // 后端服务的实例名称 - // 注意:此字段可能返回 null,表示取不到有效值。 InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"` // 后端服务的状态 // 1:故障,2:运行中,3:创建中,4:已关机,5:已退还,6:退还中, 7:重启中,8:开机中,9:关机中,10:密码重置中,11:格式化中,12:镜像制作中,13:带宽设置中,14:重装系统中,19:升级中,21:热迁移中 - // 注意:此字段可能返回 null,表示取不到有效值。 RunFlag *int64 `json:"RunFlag,omitnil,omitempty" name:"RunFlag"` } @@ -904,25 +890,25 @@ type ClassicalTargetInfo struct { // Predefined struct for user type CloneLoadBalancerRequestParams struct { - // 负载均衡ID。 + // 负载均衡ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 克隆出负载均衡实例的名称,规则:1-60 个英文、汉字、数字、连接线“-”或下划线“_”。 // 注意:如果名称与系统中已有负载均衡实例的名称相同,则系统将会自动生成此次创建的负载均衡实例的名称。 LoadBalancerName *string `json:"LoadBalancerName,omitnil,omitempty" name:"LoadBalancerName"` - // 负载均衡实例所属的项目 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。不传此参数则视为默认项目。 + // 负载均衡实例所属的项目 ID,默认项目 ID 为0,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。不传此参数则视为默认项目。 ProjectId *int64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"` - // 仅适用于公网负载均衡。设置跨可用区容灾时的主可用区ID,例如 100001 或 ap-guangzhou-1 + // 仅适用于公网负载均衡。设置跨可用区容灾时的主可用区ID,可用区 ID 和名称均支持,例如 100001 或 ap-guangzhou-1。 // 注:主可用区是需要承载流量的可用区,备可用区默认不承载流量,主可用区不可用时才使用备可用区,平台将为您自动选择最佳备可用区。可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域的主可用区的列表。 MasterZoneId *string `json:"MasterZoneId,omitnil,omitempty" name:"MasterZoneId"` - // 仅适用于公网负载均衡。设置跨可用区容灾时的备可用区ID,例如 100001 或 ap-guangzhou-1 + // 仅适用于公网负载均衡。设置跨可用区容灾时的备可用区ID,可用区 ID 和名称均支持,例如 100001 或 ap-guangzhou-1。 // 注:备可用区是主可用区故障后,需要承载流量的可用区。可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域的主/备可用区的列表。 SlaveZoneId *string `json:"SlaveZoneId,omitnil,omitempty" name:"SlaveZoneId"` - // 仅适用于公网负载均衡。可用区ID,指定可用区以创建负载均衡实例。如:ap-guangzhou-1。不传则查询所有可用区的 CVM 实例。如需指定可用区,可调用查询可用区列表[DescribeZones](https://cloud.tencent.com/document/product/213/15707)接口查询。 + // 仅适用于公网负载均衡。可用区ID,可用区 ID 和名称均支持,指定可用区以创建负载均衡实例。如:100001 或 ap-guangzhou-1。不传则查询所有可用区的 CVM 实例。如需指定可用区,可调用查询可用区列表 [DescribeZones](https://cloud.tencent.com/document/product/213/15707) 接口查询。 ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 仅适用于公网负载均衡。负载均衡的网络计费模式。 @@ -940,7 +926,7 @@ type CloneLoadBalancerRequestParams struct { // 独占集群信息。 ExclusiveCluster *ExclusiveCluster `json:"ExclusiveCluster,omitnil,omitempty" name:"ExclusiveCluster"` - // 带宽包ID,指定此参数时,网络计费方式(InternetAccessible.InternetChargeType)只支持按带宽包计费(BANDWIDTH_PACKAGE)。 + // 带宽包ID,可以通过 [DescribeBandwidthPackages](https://cloud.tencent.com/document/api/215/19209) 接口获取。指定此参数时,网络计费方式(InternetAccessible.InternetChargeType)只支持按带宽包计费(BANDWIDTH_PACKAGE)。 BandwidthPackageId *string `json:"BandwidthPackageId,omitnil,omitempty" name:"BandwidthPackageId"` // 是否支持绑定跨地域/跨Vpc绑定IP的功能。 @@ -949,7 +935,7 @@ type CloneLoadBalancerRequestParams struct { // 开启绑定跨地域/跨Vpc绑定IP的功能后,创建SnatIp。 SnatIps []*SnatIp `json:"SnatIps,omitnil,omitempty" name:"SnatIps"` - // 公网独占集群ID或者CDCId。 + // 公网独占集群ID或者CDCId,可以通过 [DescribeExclusiveClusters](https://cloud.tencent.com/document/product/214/49278) 接口获取。 ClusterIds []*string `json:"ClusterIds,omitnil,omitempty" name:"ClusterIds"` // 性能容量型规格。
  • clb.c2.medium(标准型)
  • clb.c3.small(高阶型1)
  • clb.c3.medium(高阶型2)
  • clb.c4.small(超强型1)
  • clb.c4.medium(超强型2)
  • clb.c4.large(超强型3)
  • clb.c4.xlarge(超强型4)
  • @@ -961,32 +947,32 @@ type CloneLoadBalancerRequestParams struct { // 仅适用于私有网络内网负载均衡。内网就近接入时,选择可用区下发。可调用[DescribeZones](https://cloud.tencent.com/document/product/213/15707)接口查询可用区列表。 Zones []*string `json:"Zones,omitnil,omitempty" name:"Zones"` - // EIP 的唯一 ID,形如:eip-11112222,仅适用于内网负载均衡绑定EIP。 + // EIP 的唯一 ID,形如:eip-qhx8udkc,仅适用于内网负载均衡绑定EIP,可以通过 [DescribeAddresses](https://cloud.tencent.com/document/product/215/16702) 接口查询。 EipAddressId *string `json:"EipAddressId,omitnil,omitempty" name:"EipAddressId"` } type CloneLoadBalancerRequest struct { *tchttp.BaseRequest - // 负载均衡ID。 + // 负载均衡ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 克隆出负载均衡实例的名称,规则:1-60 个英文、汉字、数字、连接线“-”或下划线“_”。 // 注意:如果名称与系统中已有负载均衡实例的名称相同,则系统将会自动生成此次创建的负载均衡实例的名称。 LoadBalancerName *string `json:"LoadBalancerName,omitnil,omitempty" name:"LoadBalancerName"` - // 负载均衡实例所属的项目 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。不传此参数则视为默认项目。 + // 负载均衡实例所属的项目 ID,默认项目 ID 为0,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。不传此参数则视为默认项目。 ProjectId *int64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"` - // 仅适用于公网负载均衡。设置跨可用区容灾时的主可用区ID,例如 100001 或 ap-guangzhou-1 + // 仅适用于公网负载均衡。设置跨可用区容灾时的主可用区ID,可用区 ID 和名称均支持,例如 100001 或 ap-guangzhou-1。 // 注:主可用区是需要承载流量的可用区,备可用区默认不承载流量,主可用区不可用时才使用备可用区,平台将为您自动选择最佳备可用区。可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域的主可用区的列表。 MasterZoneId *string `json:"MasterZoneId,omitnil,omitempty" name:"MasterZoneId"` - // 仅适用于公网负载均衡。设置跨可用区容灾时的备可用区ID,例如 100001 或 ap-guangzhou-1 + // 仅适用于公网负载均衡。设置跨可用区容灾时的备可用区ID,可用区 ID 和名称均支持,例如 100001 或 ap-guangzhou-1。 // 注:备可用区是主可用区故障后,需要承载流量的可用区。可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域的主/备可用区的列表。 SlaveZoneId *string `json:"SlaveZoneId,omitnil,omitempty" name:"SlaveZoneId"` - // 仅适用于公网负载均衡。可用区ID,指定可用区以创建负载均衡实例。如:ap-guangzhou-1。不传则查询所有可用区的 CVM 实例。如需指定可用区,可调用查询可用区列表[DescribeZones](https://cloud.tencent.com/document/product/213/15707)接口查询。 + // 仅适用于公网负载均衡。可用区ID,可用区 ID 和名称均支持,指定可用区以创建负载均衡实例。如:100001 或 ap-guangzhou-1。不传则查询所有可用区的 CVM 实例。如需指定可用区,可调用查询可用区列表 [DescribeZones](https://cloud.tencent.com/document/product/213/15707) 接口查询。 ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 仅适用于公网负载均衡。负载均衡的网络计费模式。 @@ -1004,7 +990,7 @@ type CloneLoadBalancerRequest struct { // 独占集群信息。 ExclusiveCluster *ExclusiveCluster `json:"ExclusiveCluster,omitnil,omitempty" name:"ExclusiveCluster"` - // 带宽包ID,指定此参数时,网络计费方式(InternetAccessible.InternetChargeType)只支持按带宽包计费(BANDWIDTH_PACKAGE)。 + // 带宽包ID,可以通过 [DescribeBandwidthPackages](https://cloud.tencent.com/document/api/215/19209) 接口获取。指定此参数时,网络计费方式(InternetAccessible.InternetChargeType)只支持按带宽包计费(BANDWIDTH_PACKAGE)。 BandwidthPackageId *string `json:"BandwidthPackageId,omitnil,omitempty" name:"BandwidthPackageId"` // 是否支持绑定跨地域/跨Vpc绑定IP的功能。 @@ -1013,7 +999,7 @@ type CloneLoadBalancerRequest struct { // 开启绑定跨地域/跨Vpc绑定IP的功能后,创建SnatIp。 SnatIps []*SnatIp `json:"SnatIps,omitnil,omitempty" name:"SnatIps"` - // 公网独占集群ID或者CDCId。 + // 公网独占集群ID或者CDCId,可以通过 [DescribeExclusiveClusters](https://cloud.tencent.com/document/product/214/49278) 接口获取。 ClusterIds []*string `json:"ClusterIds,omitnil,omitempty" name:"ClusterIds"` // 性能容量型规格。
  • clb.c2.medium(标准型)
  • clb.c3.small(高阶型1)
  • clb.c3.medium(高阶型2)
  • clb.c4.small(超强型1)
  • clb.c4.medium(超强型2)
  • clb.c4.large(超强型3)
  • clb.c4.xlarge(超强型4)
  • @@ -1025,7 +1011,7 @@ type CloneLoadBalancerRequest struct { // 仅适用于私有网络内网负载均衡。内网就近接入时,选择可用区下发。可调用[DescribeZones](https://cloud.tencent.com/document/product/213/15707)接口查询可用区列表。 Zones []*string `json:"Zones,omitnil,omitempty" name:"Zones"` - // EIP 的唯一 ID,形如:eip-11112222,仅适用于内网负载均衡绑定EIP。 + // EIP 的唯一 ID,形如:eip-qhx8udkc,仅适用于内网负载均衡绑定EIP,可以通过 [DescribeAddresses](https://cloud.tencent.com/document/product/215/16702) 接口查询。 EipAddressId *string `json:"EipAddressId,omitnil,omitempty" name:"EipAddressId"` } @@ -1172,19 +1158,15 @@ type Cluster struct { ClustersVersion *string `json:"ClustersVersion,omitnil,omitempty" name:"ClustersVersion"` // 集群容灾类型,如SINGLE-ZONE,DISASTER-RECOVERY,MUTUAL-DISASTER-RECOVERY - // 注意:此字段可能返回 null,表示取不到有效值。 DisasterRecoveryType *string `json:"DisasterRecoveryType,omitnil,omitempty" name:"DisasterRecoveryType"` // 网络出口 - // 注意:此字段可能返回 null,表示取不到有效值。 Egress *string `json:"Egress,omitnil,omitempty" name:"Egress"` // IP版本 - // 注意:此字段可能返回 null,表示取不到有效值。 IPVersion *string `json:"IPVersion,omitnil,omitempty" name:"IPVersion"` // 标签信息 - // 注意:此字段可能返回 null,表示取不到有效值。 Tag []*TagInfo `json:"Tag,omitnil,omitempty" name:"Tag"` } @@ -1193,7 +1175,6 @@ type ClusterItem struct { ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"` // 集群名称 - // 注意:此字段可能返回 null,表示取不到有效值。 ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"` // 集群所在可用区,如ap-guangzhou-1 @@ -1213,14 +1194,12 @@ type ClusterResource struct { LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 资源是否闲置。 - // 注意:此字段可能返回 null,表示取不到有效值。 Idle *string `json:"Idle,omitnil,omitempty" name:"Idle"` // 集群名称。 ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"` // 集群的Isp属性,如:"BGP","CMCC","CUCC","CTCC","INTERNAL"。 - // 注意:此字段可能返回 null,表示取不到有效值。 Isp *string `json:"Isp,omitnil,omitempty" name:"Isp"` // 集群所在的可用区 @@ -1230,11 +1209,9 @@ type ClusterResource struct { type ClustersZone struct { // 集群所在的主可用区。 - // 注意:此字段可能返回 null,表示取不到有效值。 MasterZone []*string `json:"MasterZone,omitnil,omitempty" name:"MasterZone"` // 集群所在的备可用区。 - // 注意:此字段可能返回 null,表示取不到有效值。 SlaveZone []*string `json:"SlaveZone,omitnil,omitempty" name:"SlaveZone"` } @@ -1242,20 +1219,21 @@ type ConfigListItem struct { // 配置ID UconfigId *string `json:"UconfigId,omitnil,omitempty" name:"UconfigId"` - // 配置类型 + // 配置类型, 可选值:CLB(实例维度配置), SERVER(服务维度配置),LOCATION(规则维度配置) ConfigType *string `json:"ConfigType,omitnil,omitempty" name:"ConfigType"` // 配置名字 - // 注意:此字段可能返回 null,表示取不到有效值。 ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"` // 配置内容 ConfigContent *string `json:"ConfigContent,omitnil,omitempty" name:"ConfigContent"` - // 增加配置时间 + // 配置的创建时间。 + // 格式:YYYY-MM-DD HH:mm:ss CreateTimestamp *string `json:"CreateTimestamp,omitnil,omitempty" name:"CreateTimestamp"` - // 修改配置时间 + // 配置的修改时间。 + // 格式:YYYY-MM-DD HH:mm:ss UpdateTimestamp *string `json:"UpdateTimestamp,omitnil,omitempty" name:"UpdateTimestamp"` } @@ -1334,10 +1312,11 @@ func (r *CreateClsLogSetResponse) FromJsonString(s string) error { // Predefined struct for user type CreateListenerRequestParams struct { - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 要将监听器创建到哪些端口,每个端口对应一个新的监听器。 + // 端口范围:1~65535 Ports []*int64 `json:"Ports,omitnil,omitempty" name:"Ports"` // 监听器协议: TCP | UDP | HTTP | HTTPS | TCP_SSL | QUIC。 @@ -1350,19 +1329,15 @@ type CreateListenerRequestParams struct { HealthCheck *HealthCheck `json:"HealthCheck,omitnil,omitempty" name:"HealthCheck"` // 证书相关信息。参数限制如下: - //
  • - // 此参数仅适用于TCP_SSL监听器和未开启SNI特性的HTTPS监听器。 - //
  • - //
  • - // 创建TCP_SSL监听器和未开启SNI特性的HTTPS监听器时,此参数和参数MultiCertInfo至少需要传一个, 但不能同时传入。 - //
  • + //
  • 此参数仅适用于TCP_SSL监听器和未开启SNI特性的HTTPS监听器。
  • + //
  • 创建TCP_SSL监听器和未开启SNI特性的HTTPS监听器时,此参数和参数MultiCertInfo至少需要传一个, 但不能同时传入。
  • Certificate *CertificateInput `json:"Certificate,omitnil,omitempty" name:"Certificate"` - // 会话保持时间,单位:秒。可选值:30~3600,默认 0,表示不开启。此参数仅适用于TCP/UDP监听器。 + // 会话保持时间,单位:秒。可选值:30~3600,默认为0,默认不开启。此参数仅适用于TCP/UDP监听器。 SessionExpireTime *int64 `json:"SessionExpireTime,omitnil,omitempty" name:"SessionExpireTime"` - // 监听器转发的方式。可选值:WRR、LEAST_CONN - // 分别表示按权重轮询、最小连接数, 默认为 WRR。此参数仅适用于TCP/UDP/TCP_SSL/QUIC监听器。 + // 监听器转发的方式。可选值:WRR(按权重轮询)、LEAST_CONN(按最小连接数)、IP_HASH(按 IP 地址哈希) + // 默认为 WRR。此参数仅适用于TCP/UDP/TCP_SSL/QUIC监听器。 Scheduler *string `json:"Scheduler,omitnil,omitempty" name:"Scheduler"` // 是否开启SNI特性,此参数仅适用于HTTPS监听器。0表示未开启,1表示开启。 @@ -1375,6 +1350,7 @@ type CreateListenerRequestParams struct { SessionType *string `json:"SessionType,omitnil,omitempty" name:"SessionType"` // 是否开启长连接,此参数仅适用于HTTP/HTTPS监听器,0:关闭;1:开启, 默认关闭。 + // 若后端服务对连接数上限有限制,则建议谨慎开启。此功能目前处于内测中,如需使用,请提交 [内测申请](https://cloud.tencent.com/apply/p/tsodp6qm21)。 KeepaliveEnable *int64 `json:"KeepaliveEnable,omitnil,omitempty" name:"KeepaliveEnable"` // 创建端口段监听器时必须传入此参数,用以标识结束端口。同时,入参Ports只允许传入一个成员,用以标识开始端口。【如果您需要体验端口段功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)】。 @@ -1384,12 +1360,8 @@ type CreateListenerRequestParams struct { DeregisterTargetRst *bool `json:"DeregisterTargetRst,omitnil,omitempty" name:"DeregisterTargetRst"` // 证书信息,支持同时传入不同算法类型的多本服务端证书,参数限制如下: - //
  • - // 此参数仅适用于TCP_SSL监听器和未开启SNI特性的HTTPS监听器。 - //
  • - //
  • - // 创建TCP_SSL监听器和未开启SNI特性的HTTPS监听器时,此参数和参数Certificate至少需要传一个, 但不能同时传入。 - //
  • + //
  • 此参数仅适用于TCP_SSL监听器和未开启SNI特性的HTTPS监听器。
  • + //
  • 创建TCP_SSL监听器和未开启SNI特性的HTTPS监听器时,此参数和参数Certificate至少需要传一个, 但不能同时传入。
  • MultiCertInfo *MultiCertInfo `json:"MultiCertInfo,omitnil,omitempty" name:"MultiCertInfo"` // 监听器最大连接数,当前仅性能容量型实例且仅TCP/UDP/TCP_SSL/QUIC监听器支持,不传或者传-1表示监听器维度不限速。基础网络实例不支持该参数。 @@ -1398,29 +1370,39 @@ type CreateListenerRequestParams struct { // 监听器最大新增连接数,当前仅性能容量型实例且仅TCP/UDP/TCP_SSL/QUIC监听器支持,不传或者传-1表示监听器维度不限速。基础网络实例不支持该参数。 MaxCps *int64 `json:"MaxCps,omitnil,omitempty" name:"MaxCps"` - // 空闲连接超时时间,此参数仅适用于TCP监听器,单位:秒。取值范围:共享型实例和独占型实例支持:300-900,性能容量型实例支持:300-2000。如需设置请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)。 + // 空闲连接超时时间,此参数仅适用于TCP监听器,单位:秒。取值范围:共享型实例和独占型实例支持:300-900,性能容量型实例支持:300-1980。如需设置请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)。 IdleConnectTimeout *int64 `json:"IdleConnectTimeout,omitnil,omitempty" name:"IdleConnectTimeout"` - // 是否开启SNAT。 + // TCP_SSL和QUIC是否支持PP + ProxyProtocol *bool `json:"ProxyProtocol,omitnil,omitempty" name:"ProxyProtocol"` + + // 是否开启SNAT,True(开启)、False(关闭)。 + // 默认为关闭。 SnatEnable *bool `json:"SnatEnable,omitnil,omitempty" name:"SnatEnable"` - // 全端口段监听器的结束端口 + // 全端口段监听器的结束端口,端口范围:2 - 65535 FullEndPorts []*int64 `json:"FullEndPorts,omitnil,omitempty" name:"FullEndPorts"` - // 内网http监听器开启h2c开关 + // 内网http监听器开启h2c开关,True(开启)、False(关闭)。 + // 默认为关闭。 H2cSwitch *bool `json:"H2cSwitch,omitnil,omitempty" name:"H2cSwitch"` - // TCP_SSL监听器支持关闭SSL后仍然支持混绑,此参数为关闭开关 + // TCP_SSL监听器支持关闭SSL后仍然支持混绑,此参数为关闭开关。True(关闭)、False(开启). + // 默认为关闭。 SslCloseSwitch *bool `json:"SslCloseSwitch,omitnil,omitempty" name:"SslCloseSwitch"` + + // 数据压缩模式。可选值:transparent(透传模式)、compatibility(兼容模式) + DataCompressMode *string `json:"DataCompressMode,omitnil,omitempty" name:"DataCompressMode"` } type CreateListenerRequest struct { *tchttp.BaseRequest - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 要将监听器创建到哪些端口,每个端口对应一个新的监听器。 + // 端口范围:1~65535 Ports []*int64 `json:"Ports,omitnil,omitempty" name:"Ports"` // 监听器协议: TCP | UDP | HTTP | HTTPS | TCP_SSL | QUIC。 @@ -1433,19 +1415,15 @@ type CreateListenerRequest struct { HealthCheck *HealthCheck `json:"HealthCheck,omitnil,omitempty" name:"HealthCheck"` // 证书相关信息。参数限制如下: - //
  • - // 此参数仅适用于TCP_SSL监听器和未开启SNI特性的HTTPS监听器。 - //
  • - //
  • - // 创建TCP_SSL监听器和未开启SNI特性的HTTPS监听器时,此参数和参数MultiCertInfo至少需要传一个, 但不能同时传入。 - //
  • + //
  • 此参数仅适用于TCP_SSL监听器和未开启SNI特性的HTTPS监听器。
  • + //
  • 创建TCP_SSL监听器和未开启SNI特性的HTTPS监听器时,此参数和参数MultiCertInfo至少需要传一个, 但不能同时传入。
  • Certificate *CertificateInput `json:"Certificate,omitnil,omitempty" name:"Certificate"` - // 会话保持时间,单位:秒。可选值:30~3600,默认 0,表示不开启。此参数仅适用于TCP/UDP监听器。 + // 会话保持时间,单位:秒。可选值:30~3600,默认为0,默认不开启。此参数仅适用于TCP/UDP监听器。 SessionExpireTime *int64 `json:"SessionExpireTime,omitnil,omitempty" name:"SessionExpireTime"` - // 监听器转发的方式。可选值:WRR、LEAST_CONN - // 分别表示按权重轮询、最小连接数, 默认为 WRR。此参数仅适用于TCP/UDP/TCP_SSL/QUIC监听器。 + // 监听器转发的方式。可选值:WRR(按权重轮询)、LEAST_CONN(按最小连接数)、IP_HASH(按 IP 地址哈希) + // 默认为 WRR。此参数仅适用于TCP/UDP/TCP_SSL/QUIC监听器。 Scheduler *string `json:"Scheduler,omitnil,omitempty" name:"Scheduler"` // 是否开启SNI特性,此参数仅适用于HTTPS监听器。0表示未开启,1表示开启。 @@ -1458,6 +1436,7 @@ type CreateListenerRequest struct { SessionType *string `json:"SessionType,omitnil,omitempty" name:"SessionType"` // 是否开启长连接,此参数仅适用于HTTP/HTTPS监听器,0:关闭;1:开启, 默认关闭。 + // 若后端服务对连接数上限有限制,则建议谨慎开启。此功能目前处于内测中,如需使用,请提交 [内测申请](https://cloud.tencent.com/apply/p/tsodp6qm21)。 KeepaliveEnable *int64 `json:"KeepaliveEnable,omitnil,omitempty" name:"KeepaliveEnable"` // 创建端口段监听器时必须传入此参数,用以标识结束端口。同时,入参Ports只允许传入一个成员,用以标识开始端口。【如果您需要体验端口段功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)】。 @@ -1467,12 +1446,8 @@ type CreateListenerRequest struct { DeregisterTargetRst *bool `json:"DeregisterTargetRst,omitnil,omitempty" name:"DeregisterTargetRst"` // 证书信息,支持同时传入不同算法类型的多本服务端证书,参数限制如下: - //
  • - // 此参数仅适用于TCP_SSL监听器和未开启SNI特性的HTTPS监听器。 - //
  • - //
  • - // 创建TCP_SSL监听器和未开启SNI特性的HTTPS监听器时,此参数和参数Certificate至少需要传一个, 但不能同时传入。 - //
  • + //
  • 此参数仅适用于TCP_SSL监听器和未开启SNI特性的HTTPS监听器。
  • + //
  • 创建TCP_SSL监听器和未开启SNI特性的HTTPS监听器时,此参数和参数Certificate至少需要传一个, 但不能同时传入。
  • MultiCertInfo *MultiCertInfo `json:"MultiCertInfo,omitnil,omitempty" name:"MultiCertInfo"` // 监听器最大连接数,当前仅性能容量型实例且仅TCP/UDP/TCP_SSL/QUIC监听器支持,不传或者传-1表示监听器维度不限速。基础网络实例不支持该参数。 @@ -1481,20 +1456,29 @@ type CreateListenerRequest struct { // 监听器最大新增连接数,当前仅性能容量型实例且仅TCP/UDP/TCP_SSL/QUIC监听器支持,不传或者传-1表示监听器维度不限速。基础网络实例不支持该参数。 MaxCps *int64 `json:"MaxCps,omitnil,omitempty" name:"MaxCps"` - // 空闲连接超时时间,此参数仅适用于TCP监听器,单位:秒。取值范围:共享型实例和独占型实例支持:300-900,性能容量型实例支持:300-2000。如需设置请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)。 + // 空闲连接超时时间,此参数仅适用于TCP监听器,单位:秒。取值范围:共享型实例和独占型实例支持:300-900,性能容量型实例支持:300-1980。如需设置请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)。 IdleConnectTimeout *int64 `json:"IdleConnectTimeout,omitnil,omitempty" name:"IdleConnectTimeout"` - // 是否开启SNAT。 + // TCP_SSL和QUIC是否支持PP + ProxyProtocol *bool `json:"ProxyProtocol,omitnil,omitempty" name:"ProxyProtocol"` + + // 是否开启SNAT,True(开启)、False(关闭)。 + // 默认为关闭。 SnatEnable *bool `json:"SnatEnable,omitnil,omitempty" name:"SnatEnable"` - // 全端口段监听器的结束端口 + // 全端口段监听器的结束端口,端口范围:2 - 65535 FullEndPorts []*int64 `json:"FullEndPorts,omitnil,omitempty" name:"FullEndPorts"` - // 内网http监听器开启h2c开关 + // 内网http监听器开启h2c开关,True(开启)、False(关闭)。 + // 默认为关闭。 H2cSwitch *bool `json:"H2cSwitch,omitnil,omitempty" name:"H2cSwitch"` - // TCP_SSL监听器支持关闭SSL后仍然支持混绑,此参数为关闭开关 + // TCP_SSL监听器支持关闭SSL后仍然支持混绑,此参数为关闭开关。True(关闭)、False(开启). + // 默认为关闭。 SslCloseSwitch *bool `json:"SslCloseSwitch,omitnil,omitempty" name:"SslCloseSwitch"` + + // 数据压缩模式。可选值:transparent(透传模式)、compatibility(兼容模式) + DataCompressMode *string `json:"DataCompressMode,omitnil,omitempty" name:"DataCompressMode"` } func (r *CreateListenerRequest) ToJsonString() string { @@ -1527,10 +1511,12 @@ func (r *CreateListenerRequest) FromJsonString(s string) error { delete(f, "MaxConn") delete(f, "MaxCps") delete(f, "IdleConnectTimeout") + delete(f, "ProxyProtocol") delete(f, "SnatEnable") delete(f, "FullEndPorts") delete(f, "H2cSwitch") delete(f, "SslCloseSwitch") + delete(f, "DataCompressMode") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateListenerRequest has unknown keys!", "") } @@ -1581,23 +1567,23 @@ type CreateLoadBalancerRequestParams struct { // 在私有网络内购买内网负载均衡实例的情况下,必须指定子网 ID,内网负载均衡实例的 VIP 将从这个子网中产生。创建内网负载均衡实例时,此参数必填,创建公网IPv4负载均衡实例时,不支持指定该参数。 SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` - // 负载均衡实例所属的项目 ID,可以通过 [DescribeProject](https://cloud.tencent.com/document/api/651/78725) 接口获取。不填此参数则视为默认项目。 + // 负载均衡实例所属的项目 ID,默认项目 ID 为0。可以通过 [DescribeProject](https://cloud.tencent.com/document/api/651/78725) 接口获取。不填此参数则视为默认项目。 ProjectId *int64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"` // 仅适用于公网负载均衡。IP版本,可取值:IPV4、IPV6、IPv6FullChain,不区分大小写,默认值 IPV4。说明:取值为IPV6表示为IPV6 NAT64版本;取值为IPv6FullChain,表示为IPv6版本。 AddressIPVersion *string `json:"AddressIPVersion,omitnil,omitempty" name:"AddressIPVersion"` - // 创建负载均衡的个数,默认值 1。 + // 创建负载均衡的个数,默认值 1。创建个数不能超过帐号所能创建的最大值,默认创建最大值为20。 Number *uint64 `json:"Number,omitnil,omitempty" name:"Number"` - // 仅适用于公网且IP版本为IPv4的负载均衡。设置跨可用区容灾时的主可用区ID,例如 100001 或 ap-guangzhou-1 - // 注:主可用区是需要承载流量的可用区,备可用区默认不承载流量,主可用区不可用时才使用备可用区。目前仅广州、上海、南京、北京、成都、深圳金融、中国香港、首尔、法兰克福、新加坡地域的 IPv4 版本的 CLB 支持主备可用区。可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域的主可用区的列表。【如果您需要体验该功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)】 + // 仅适用于公网且IP版本为IPv4的负载均衡。设置跨可用区容灾时的主可用区ID, 可用区 ID 和名称均支持,例如 100001 或 ap-guangzhou-1 + // 注:主可用区是需要承载流量的可用区,备可用区默认不承载流量,主可用区不可用时才使用备可用区。 MasterZoneId *string `json:"MasterZoneId,omitnil,omitempty" name:"MasterZoneId"` - // 仅适用于公网且IP版本为IPv4的负载均衡。可用区ID,指定可用区以创建负载均衡实例。如:ap-guangzhou-1。 + // 仅适用于公网且IP版本为IPv4的负载均衡。可用区ID,可用区 ID 和名称均支持,指定可用区以创建负载均衡实例。如:100001 或 ap-guangzhou-1。 ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` - // 网络计费模式,最大出带宽。仅对内网属性的性能容量型实例和公网属性的所有实例生效。 + // 网络计费模式,最大出带宽。仅对内网属性的性能容量型实例和公网属性的所有实例生效。API接口购买包年包月实例还在灰度中,如您需要体验该功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category) InternetAccessible *InternetAccessible `json:"InternetAccessible,omitnil,omitempty" name:"InternetAccessible"` // 仅适用于公网负载均衡。目前仅广州、上海、南京、济南、杭州、福州、北京、石家庄、武汉、长沙、成都、重庆地域支持静态单线 IP 线路类型,如需体验,请联系商务经理申请。申请通过后,即可选择中国移动(CMCC)、中国联通(CUCC)或中国电信(CTCC)的运营商类型,网络计费模式只能使用按带宽包计费(BANDWIDTH_PACKAGE)。 如果不指定本参数,则默认使用BGP。可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域所支持的Isp。 @@ -1610,7 +1596,7 @@ type CreateLoadBalancerRequestParams struct { // 注意:当指定VIP创建内网实例、或公网IPv6 BGP实例时,若VIP不属于指定VPC子网的网段内时,会创建失败;若VIP已被占用,也会创建失败。 Vip *string `json:"Vip,omitnil,omitempty" name:"Vip"` - // 带宽包ID,指定此参数时,网络计费方式(InternetAccessible.InternetChargeType)只支持按带宽包计费(BANDWIDTH_PACKAGE),带宽包的属性即为其结算方式。非上移用户购买的 IPv6 负载均衡实例,且运营商类型非 BGP 时 ,不支持指定具体带宽包id。 + // 带宽包ID,可以通过 [DescribeBandwidthPackages](https://cloud.tencent.com/document/api/215/19209) 接口获取。指定此参数时,网络计费方式(InternetAccessible.InternetChargeType)只支持按带宽包计费(BANDWIDTH_PACKAGE),带宽包的属性即为其结算方式。非上移用户购买的 IPv6 负载均衡实例,且运营商类型非 BGP 时 ,不支持指定具体带宽包id。 BandwidthPackageId *string `json:"BandwidthPackageId,omitnil,omitempty" name:"BandwidthPackageId"` // 独占型实例信息。若创建独占型的内网负载均衡实例,则此参数必填。 @@ -1635,11 +1621,11 @@ type CreateLoadBalancerRequestParams struct { // Stgw独占集群的标签。 ClusterTag *string `json:"ClusterTag,omitnil,omitempty" name:"ClusterTag"` - // 仅适用于公网且IP版本为IPv4的负载均衡。设置跨可用区容灾时的备可用区ID,例如 100001 或 ap-guangzhou-1 + // 仅适用于公网且IP版本为IPv4的负载均衡。设置跨可用区容灾时的备可用区ID,可用区 ID 和名称均支持,例如 100001 或 ap-guangzhou-1 // 注:备可用区是主可用区故障后,需要承载流量的可用区。可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域的主/备可用区的列表。【如果您需要体验该功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)】 SlaveZoneId *string `json:"SlaveZoneId,omitnil,omitempty" name:"SlaveZoneId"` - // EIP 的唯一 ID,形如:eip-11112222,仅适用于内网负载均衡绑定EIP。 + // EIP 的唯一 ID,可以通过 [DescribeAddresses](https://cloud.tencent.com/document/product/215/16702) 接口查询。形如:eip-qhx8udkc,仅适用于内网负载均衡绑定EIP。 EipAddressId *string `json:"EipAddressId,omitnil,omitempty" name:"EipAddressId"` // Target是否放通来自CLB的流量。开启放通(true):只验证CLB上的安全组;不开启放通(false):需同时验证CLB和后端实例上的安全组。 @@ -1651,10 +1637,10 @@ type CreateLoadBalancerRequestParams struct { // 网络出口 Egress *string `json:"Egress,omitnil,omitempty" name:"Egress"` - // 负载均衡实例的预付费相关属性 + // 负载均衡实例的预付费相关属性,API接口购买包年包月实例还在灰度中,如您需要体验该功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category) LBChargePrepaid *LBChargePrepaid `json:"LBChargePrepaid,omitnil,omitempty" name:"LBChargePrepaid"` - // 负载均衡实例计费类型,取值:POSTPAID_BY_HOUR,PREPAID,默认是POSTPAID_BY_HOUR。 + // 负载均衡实例计费类型,取值:POSTPAID_BY_HOUR,PREPAID,默认是POSTPAID_BY_HOUR。API接口购买包年包月实例还在灰度中,如您需要体验该功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category) LBChargeType *string `json:"LBChargeType,omitnil,omitempty" name:"LBChargeType"` // 七层访问日志主题ID @@ -1681,23 +1667,23 @@ type CreateLoadBalancerRequest struct { // 在私有网络内购买内网负载均衡实例的情况下,必须指定子网 ID,内网负载均衡实例的 VIP 将从这个子网中产生。创建内网负载均衡实例时,此参数必填,创建公网IPv4负载均衡实例时,不支持指定该参数。 SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` - // 负载均衡实例所属的项目 ID,可以通过 [DescribeProject](https://cloud.tencent.com/document/api/651/78725) 接口获取。不填此参数则视为默认项目。 + // 负载均衡实例所属的项目 ID,默认项目 ID 为0。可以通过 [DescribeProject](https://cloud.tencent.com/document/api/651/78725) 接口获取。不填此参数则视为默认项目。 ProjectId *int64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"` // 仅适用于公网负载均衡。IP版本,可取值:IPV4、IPV6、IPv6FullChain,不区分大小写,默认值 IPV4。说明:取值为IPV6表示为IPV6 NAT64版本;取值为IPv6FullChain,表示为IPv6版本。 AddressIPVersion *string `json:"AddressIPVersion,omitnil,omitempty" name:"AddressIPVersion"` - // 创建负载均衡的个数,默认值 1。 + // 创建负载均衡的个数,默认值 1。创建个数不能超过帐号所能创建的最大值,默认创建最大值为20。 Number *uint64 `json:"Number,omitnil,omitempty" name:"Number"` - // 仅适用于公网且IP版本为IPv4的负载均衡。设置跨可用区容灾时的主可用区ID,例如 100001 或 ap-guangzhou-1 - // 注:主可用区是需要承载流量的可用区,备可用区默认不承载流量,主可用区不可用时才使用备可用区。目前仅广州、上海、南京、北京、成都、深圳金融、中国香港、首尔、法兰克福、新加坡地域的 IPv4 版本的 CLB 支持主备可用区。可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域的主可用区的列表。【如果您需要体验该功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)】 + // 仅适用于公网且IP版本为IPv4的负载均衡。设置跨可用区容灾时的主可用区ID, 可用区 ID 和名称均支持,例如 100001 或 ap-guangzhou-1 + // 注:主可用区是需要承载流量的可用区,备可用区默认不承载流量,主可用区不可用时才使用备可用区。 MasterZoneId *string `json:"MasterZoneId,omitnil,omitempty" name:"MasterZoneId"` - // 仅适用于公网且IP版本为IPv4的负载均衡。可用区ID,指定可用区以创建负载均衡实例。如:ap-guangzhou-1。 + // 仅适用于公网且IP版本为IPv4的负载均衡。可用区ID,可用区 ID 和名称均支持,指定可用区以创建负载均衡实例。如:100001 或 ap-guangzhou-1。 ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` - // 网络计费模式,最大出带宽。仅对内网属性的性能容量型实例和公网属性的所有实例生效。 + // 网络计费模式,最大出带宽。仅对内网属性的性能容量型实例和公网属性的所有实例生效。API接口购买包年包月实例还在灰度中,如您需要体验该功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category) InternetAccessible *InternetAccessible `json:"InternetAccessible,omitnil,omitempty" name:"InternetAccessible"` // 仅适用于公网负载均衡。目前仅广州、上海、南京、济南、杭州、福州、北京、石家庄、武汉、长沙、成都、重庆地域支持静态单线 IP 线路类型,如需体验,请联系商务经理申请。申请通过后,即可选择中国移动(CMCC)、中国联通(CUCC)或中国电信(CTCC)的运营商类型,网络计费模式只能使用按带宽包计费(BANDWIDTH_PACKAGE)。 如果不指定本参数,则默认使用BGP。可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域所支持的Isp。 @@ -1710,7 +1696,7 @@ type CreateLoadBalancerRequest struct { // 注意:当指定VIP创建内网实例、或公网IPv6 BGP实例时,若VIP不属于指定VPC子网的网段内时,会创建失败;若VIP已被占用,也会创建失败。 Vip *string `json:"Vip,omitnil,omitempty" name:"Vip"` - // 带宽包ID,指定此参数时,网络计费方式(InternetAccessible.InternetChargeType)只支持按带宽包计费(BANDWIDTH_PACKAGE),带宽包的属性即为其结算方式。非上移用户购买的 IPv6 负载均衡实例,且运营商类型非 BGP 时 ,不支持指定具体带宽包id。 + // 带宽包ID,可以通过 [DescribeBandwidthPackages](https://cloud.tencent.com/document/api/215/19209) 接口获取。指定此参数时,网络计费方式(InternetAccessible.InternetChargeType)只支持按带宽包计费(BANDWIDTH_PACKAGE),带宽包的属性即为其结算方式。非上移用户购买的 IPv6 负载均衡实例,且运营商类型非 BGP 时 ,不支持指定具体带宽包id。 BandwidthPackageId *string `json:"BandwidthPackageId,omitnil,omitempty" name:"BandwidthPackageId"` // 独占型实例信息。若创建独占型的内网负载均衡实例,则此参数必填。 @@ -1735,11 +1721,11 @@ type CreateLoadBalancerRequest struct { // Stgw独占集群的标签。 ClusterTag *string `json:"ClusterTag,omitnil,omitempty" name:"ClusterTag"` - // 仅适用于公网且IP版本为IPv4的负载均衡。设置跨可用区容灾时的备可用区ID,例如 100001 或 ap-guangzhou-1 + // 仅适用于公网且IP版本为IPv4的负载均衡。设置跨可用区容灾时的备可用区ID,可用区 ID 和名称均支持,例如 100001 或 ap-guangzhou-1 // 注:备可用区是主可用区故障后,需要承载流量的可用区。可通过 [DescribeResources](https://cloud.tencent.com/document/api/214/70213) 接口查询一个地域的主/备可用区的列表。【如果您需要体验该功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category)】 SlaveZoneId *string `json:"SlaveZoneId,omitnil,omitempty" name:"SlaveZoneId"` - // EIP 的唯一 ID,形如:eip-11112222,仅适用于内网负载均衡绑定EIP。 + // EIP 的唯一 ID,可以通过 [DescribeAddresses](https://cloud.tencent.com/document/product/215/16702) 接口查询。形如:eip-qhx8udkc,仅适用于内网负载均衡绑定EIP。 EipAddressId *string `json:"EipAddressId,omitnil,omitempty" name:"EipAddressId"` // Target是否放通来自CLB的流量。开启放通(true):只验证CLB上的安全组;不开启放通(false):需同时验证CLB和后端实例上的安全组。 @@ -1751,10 +1737,10 @@ type CreateLoadBalancerRequest struct { // 网络出口 Egress *string `json:"Egress,omitnil,omitempty" name:"Egress"` - // 负载均衡实例的预付费相关属性 + // 负载均衡实例的预付费相关属性,API接口购买包年包月实例还在灰度中,如您需要体验该功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category) LBChargePrepaid *LBChargePrepaid `json:"LBChargePrepaid,omitnil,omitempty" name:"LBChargePrepaid"` - // 负载均衡实例计费类型,取值:POSTPAID_BY_HOUR,PREPAID,默认是POSTPAID_BY_HOUR。 + // 负载均衡实例计费类型,取值:POSTPAID_BY_HOUR,PREPAID,默认是POSTPAID_BY_HOUR。API接口购买包年包月实例还在灰度中,如您需要体验该功能,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category) LBChargeType *string `json:"LBChargeType,omitnil,omitempty" name:"LBChargeType"` // 七层访问日志主题ID @@ -1842,10 +1828,10 @@ func (r *CreateLoadBalancerResponse) FromJsonString(s string) error { // Predefined struct for user type CreateLoadBalancerSnatIpsRequestParams struct { - // 负载均衡唯一性ID,例如:lb-12345678。 + // 负载均衡唯一性ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。例如:lb-12345678。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 添加的SnatIp信息,可指定IP申请,或者指定子网自动申请。单个CLB实例可申请的默认上限为10个。 + // 添加的SnatIp信息,可指定IP申请,或者指定子网自动申请。可以通过 [DescribeSubnets](https://cloud.tencent.com/document/api/215/15784) 查询获取,单个CLB实例可申请的默认上限为10个。 SnatIps []*SnatIp `json:"SnatIps,omitnil,omitempty" name:"SnatIps"` // 添加的SnatIp的个数,可与SnatIps一起使用,但若指定IP时,则不能指定创建的SnatIp个数。默认值为1,数量上限与用户配置有关,默认上限为10。 @@ -1855,10 +1841,10 @@ type CreateLoadBalancerSnatIpsRequestParams struct { type CreateLoadBalancerSnatIpsRequest struct { *tchttp.BaseRequest - // 负载均衡唯一性ID,例如:lb-12345678。 + // 负载均衡唯一性ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。例如:lb-12345678。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 添加的SnatIp信息,可指定IP申请,或者指定子网自动申请。单个CLB实例可申请的默认上限为10个。 + // 添加的SnatIp信息,可指定IP申请,或者指定子网自动申请。可以通过 [DescribeSubnets](https://cloud.tencent.com/document/api/215/15784) 查询获取,单个CLB实例可申请的默认上限为10个。 SnatIps []*SnatIp `json:"SnatIps,omitnil,omitempty" name:"SnatIps"` // 添加的SnatIp的个数,可与SnatIps一起使用,但若指定IP时,则不能指定创建的SnatIp个数。默认值为1,数量上限与用户配置有关,默认上限为10。 @@ -1910,10 +1896,10 @@ func (r *CreateLoadBalancerSnatIpsResponse) FromJsonString(s string) error { // Predefined struct for user type CreateRuleRequestParams struct { - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 监听器 ID。 + // 监听器 ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口获取 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` // 新建转发规则的信息。 @@ -1923,10 +1909,10 @@ type CreateRuleRequestParams struct { type CreateRuleRequest struct { *tchttp.BaseRequest - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 监听器 ID。 + // 监听器 ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口获取 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` // 新建转发规则的信息。 @@ -1987,15 +1973,18 @@ type CreateTargetGroupRequestParams struct { // 目标组的vpcid属性,不填则使用默认vpc VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` - // 目标组的默认端口, 后续添加服务器时可使用该默认端口。Port和TargetGroupInstances.N中的port二者必填其一。 + // 目标组的默认端口, 后续添加服务器时可使用该默认端口。全监听目标组不支持此参数,非全监听目标组Port和TargetGroupInstances.N中的port二者必填其一。 Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"` - // 目标组绑定的后端服务器 + // 目标组绑定的后端服务器,单次最多支持50个。 TargetGroupInstances []*TargetGroupInstance `json:"TargetGroupInstances,omitnil,omitempty" name:"TargetGroupInstances"` // 目标组类型,当前支持v1(旧版目标组), v2(新版目标组), 默认为v1(旧版目标组)。 Type *string `json:"Type,omitnil,omitempty" name:"Type"` + // 目标组后端转发协议。v2新版目标组该项必填。目前支持tcp、udp。 + Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"` + // 标签。 Tags []*TagInfo `json:"Tags,omitnil,omitempty" name:"Tags"` @@ -2004,7 +1993,17 @@ type CreateTargetGroupRequestParams struct { //
  • 取值范围[0, 100]
  • //
  • 设置该值后,添加后端服务到目标组时, 若后端服务不单独设置权重, 则使用这里的默认权重。
  • // + // v1 目标组类型不支持设置 Weight 参数。 Weight *uint64 `json:"Weight,omitnil,omitempty" name:"Weight"` + + // 全监听目标组标识,为true表示是全监听目标组,false表示不是全监听目标组。 + FullListenSwitch *bool `json:"FullListenSwitch,omitnil,omitempty" name:"FullListenSwitch"` + + // 是否开启长连接,此参数仅适用于HTTP/HTTPS目标组,0:关闭;1:开启, 默认关闭。 + KeepaliveEnable *bool `json:"KeepaliveEnable,omitnil,omitempty" name:"KeepaliveEnable"` + + // 会话保持时间,单位:秒。可选值:30~3600,默认 0,表示不开启。TCP/UDP目标组不支持该参数。 + SessionExpireTime *uint64 `json:"SessionExpireTime,omitnil,omitempty" name:"SessionExpireTime"` } type CreateTargetGroupRequest struct { @@ -2016,15 +2015,18 @@ type CreateTargetGroupRequest struct { // 目标组的vpcid属性,不填则使用默认vpc VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` - // 目标组的默认端口, 后续添加服务器时可使用该默认端口。Port和TargetGroupInstances.N中的port二者必填其一。 + // 目标组的默认端口, 后续添加服务器时可使用该默认端口。全监听目标组不支持此参数,非全监听目标组Port和TargetGroupInstances.N中的port二者必填其一。 Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"` - // 目标组绑定的后端服务器 + // 目标组绑定的后端服务器,单次最多支持50个。 TargetGroupInstances []*TargetGroupInstance `json:"TargetGroupInstances,omitnil,omitempty" name:"TargetGroupInstances"` // 目标组类型,当前支持v1(旧版目标组), v2(新版目标组), 默认为v1(旧版目标组)。 Type *string `json:"Type,omitnil,omitempty" name:"Type"` + // 目标组后端转发协议。v2新版目标组该项必填。目前支持tcp、udp。 + Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"` + // 标签。 Tags []*TagInfo `json:"Tags,omitnil,omitempty" name:"Tags"` @@ -2033,7 +2035,17 @@ type CreateTargetGroupRequest struct { //
  • 取值范围[0, 100]
  • //
  • 设置该值后,添加后端服务到目标组时, 若后端服务不单独设置权重, 则使用这里的默认权重。
  • // + // v1 目标组类型不支持设置 Weight 参数。 Weight *uint64 `json:"Weight,omitnil,omitempty" name:"Weight"` + + // 全监听目标组标识,为true表示是全监听目标组,false表示不是全监听目标组。 + FullListenSwitch *bool `json:"FullListenSwitch,omitnil,omitempty" name:"FullListenSwitch"` + + // 是否开启长连接,此参数仅适用于HTTP/HTTPS目标组,0:关闭;1:开启, 默认关闭。 + KeepaliveEnable *bool `json:"KeepaliveEnable,omitnil,omitempty" name:"KeepaliveEnable"` + + // 会话保持时间,单位:秒。可选值:30~3600,默认 0,表示不开启。TCP/UDP目标组不支持该参数。 + SessionExpireTime *uint64 `json:"SessionExpireTime,omitnil,omitempty" name:"SessionExpireTime"` } func (r *CreateTargetGroupRequest) ToJsonString() string { @@ -2053,8 +2065,12 @@ func (r *CreateTargetGroupRequest) FromJsonString(s string) error { delete(f, "Port") delete(f, "TargetGroupInstances") delete(f, "Type") + delete(f, "Protocol") delete(f, "Tags") delete(f, "Weight") + delete(f, "FullListenSwitch") + delete(f, "KeepaliveEnable") + delete(f, "SessionExpireTime") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateTargetGroupRequest has unknown keys!", "") } @@ -2097,7 +2113,9 @@ type CreateTopicRequestParams struct { // 日志类型,ACCESS:访问日志,HEALTH:健康检查日志,默认ACCESS。 TopicType *string `json:"TopicType,omitnil,omitempty" name:"TopicType"` - // 日志集的保存周期,单位:天,默认30天,范围[1, 3600]。 + // 存储时间,单位天,默认为 30。 + // - 日志接入标准存储时,支持1至3600天,值为3640时代表永久保存。 + // - 日志接入低频存储时,支持7至3600天,值为3640时代表永久保存。 Period *uint64 `json:"Period,omitnil,omitempty" name:"Period"` // 日志主题的存储类型,可选值 HOT(标准存储),COLD(低频存储);默认为HOT。 @@ -2116,7 +2134,9 @@ type CreateTopicRequest struct { // 日志类型,ACCESS:访问日志,HEALTH:健康检查日志,默认ACCESS。 TopicType *string `json:"TopicType,omitnil,omitempty" name:"TopicType"` - // 日志集的保存周期,单位:天,默认30天,范围[1, 3600]。 + // 存储时间,单位天,默认为 30。 + // - 日志接入标准存储时,支持1至3600天,值为3640时代表永久保存。 + // - 日志接入低频存储时,支持7至3600天,值为3640时代表永久保存。 Period *uint64 `json:"Period,omitnil,omitempty" name:"Period"` // 日志主题的存储类型,可选值 HOT(标准存储),COLD(低频存储);默认为HOT。 @@ -2188,11 +2208,9 @@ type CrossTargets struct { EniId *string `json:"EniId,omitnil,omitempty" name:"EniId"` // 子机实例ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` // 子机实例名称。 - // 注意:此字段可能返回 null,表示取不到有效值。 InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"` // 子机或者网卡所属的地域。 @@ -2255,20 +2273,20 @@ func (r *DeleteCustomizedConfigResponse) FromJsonString(s string) error { // Predefined struct for user type DeleteListenerRequestParams struct { - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 要删除的监听器ID。 + // 要删除的监听器ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` } type DeleteListenerRequest struct { *tchttp.BaseRequest - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 要删除的监听器ID。 + // 要删除的监听器ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` } @@ -2316,20 +2334,20 @@ func (r *DeleteListenerResponse) FromJsonString(s string) error { // Predefined struct for user type DeleteLoadBalancerListenersRequestParams struct { - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 指定删除的监听器ID数组,最大为20个。若不填则删除负载均衡的所有监听器。 + // 指定删除的监听器ID数组,最大为20个。若不填则删除负载均衡的所有监听器,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerIds []*string `json:"ListenerIds,omitnil,omitempty" name:"ListenerIds"` } type DeleteLoadBalancerListenersRequest struct { *tchttp.BaseRequest - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 指定删除的监听器ID数组,最大为20个。若不填则删除负载均衡的所有监听器。 + // 指定删除的监听器ID数组,最大为20个。若不填则删除负载均衡的所有监听器,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerIds []*string `json:"ListenerIds,omitnil,omitempty" name:"ListenerIds"` } @@ -2377,15 +2395,31 @@ func (r *DeleteLoadBalancerListenersResponse) FromJsonString(s string) error { // Predefined struct for user type DeleteLoadBalancerRequestParams struct { - // 要删除的负载均衡实例 ID数组,数组大小最大支持20。 + // 要删除的负载均衡实例 ID 数组,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取,数组大小最大支持20。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` + + // 是否强制删除clb。True表示强制删除,False表示不是强制删除,需要做拦截校验。 + // 默认为 False。 + // 以下几种情况会默认拦截删除操作,如果确认强制删除则需要传强制校验参数ForceDelete为True。 + // 1、删除后端绑定大于等于 20 个 RS 的实例时。 + // 2、删除后端有 RS 且 5 分钟 内“出/入带宽”峰值取大 > 10Mbps 的实例时。 + // 3、单地域内 5 分钟 内删除大于等于 30 个实例时。 + ForceDelete *bool `json:"ForceDelete,omitnil,omitempty" name:"ForceDelete"` } type DeleteLoadBalancerRequest struct { *tchttp.BaseRequest - // 要删除的负载均衡实例 ID数组,数组大小最大支持20。 + // 要删除的负载均衡实例 ID 数组,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取,数组大小最大支持20。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` + + // 是否强制删除clb。True表示强制删除,False表示不是强制删除,需要做拦截校验。 + // 默认为 False。 + // 以下几种情况会默认拦截删除操作,如果确认强制删除则需要传强制校验参数ForceDelete为True。 + // 1、删除后端绑定大于等于 20 个 RS 的实例时。 + // 2、删除后端有 RS 且 5 分钟 内“出/入带宽”峰值取大 > 10Mbps 的实例时。 + // 3、单地域内 5 分钟 内删除大于等于 30 个实例时。 + ForceDelete *bool `json:"ForceDelete,omitnil,omitempty" name:"ForceDelete"` } func (r *DeleteLoadBalancerRequest) ToJsonString() string { @@ -2401,6 +2435,7 @@ func (r *DeleteLoadBalancerRequest) FromJsonString(s string) error { return err } delete(f, "LoadBalancerIds") + delete(f, "ForceDelete") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteLoadBalancerRequest has unknown keys!", "") } @@ -2431,20 +2466,20 @@ func (r *DeleteLoadBalancerResponse) FromJsonString(s string) error { // Predefined struct for user type DeleteLoadBalancerSnatIpsRequestParams struct { - // 负载均衡唯一ID,例如:lb-12345678。 + // 负载均衡唯一ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。例如:lb-12345678。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 删除SnatIp地址数组。 + // 删除SnatIp地址数组,最大支持删除数量为20个。 Ips []*string `json:"Ips,omitnil,omitempty" name:"Ips"` } type DeleteLoadBalancerSnatIpsRequest struct { *tchttp.BaseRequest - // 负载均衡唯一ID,例如:lb-12345678。 + // 负载均衡唯一ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。例如:lb-12345678。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 删除SnatIp地址数组。 + // 删除SnatIp地址数组,最大支持删除数量为20个。 Ips []*string `json:"Ips,omitnil,omitempty" name:"Ips"` } @@ -2567,44 +2602,44 @@ func (r *DeleteRewriteResponse) FromJsonString(s string) error { // Predefined struct for user type DeleteRuleRequestParams struct { - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡监听器ID。 + // 负载均衡监听器ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 要删除的转发规则的ID组成的数组。 + // 要删除的转发规则的ID组成的数组,可以通过 [DescribeLoadBalancersDetail](https://cloud.tencent.com/document/api/214/46916) 接口查询。 LocationIds []*string `json:"LocationIds,omitnil,omitempty" name:"LocationIds"` - // 要删除的转发规则的域名,如果是多域名,可以指定多域名列表中的任意一个。 + // 要删除的转发规则的域名,如果是多域名,可以指定多域名列表中的任意一个,可以通过 [DescribeLoadBalancersDetail](https://cloud.tencent.com/document/api/214/46916) 接口查询。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` - // 要删除的转发规则的转发路径。 + // 要删除的转发规则的转发路径,可以通过 [DescribeLoadBalancersDetail](https://cloud.tencent.com/document/api/214/46916) 接口查询。 Url *string `json:"Url,omitnil,omitempty" name:"Url"` - // 监听器下必须配置一个默认域名,当需要删除默认域名时,可以指定另一个域名作为新的默认域名,如果新的默认域名是多域名,可以指定多域名列表中的任意一个。 + // 监听器下必须配置一个默认域名,当需要删除默认域名时,可以指定另一个域名作为新的默认域名,如果新的默认域名是多域名,可以指定多域名列表中的任意一个,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 NewDefaultServerDomain *string `json:"NewDefaultServerDomain,omitnil,omitempty" name:"NewDefaultServerDomain"` } type DeleteRuleRequest struct { *tchttp.BaseRequest - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡监听器ID。 + // 负载均衡监听器ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 要删除的转发规则的ID组成的数组。 + // 要删除的转发规则的ID组成的数组,可以通过 [DescribeLoadBalancersDetail](https://cloud.tencent.com/document/api/214/46916) 接口查询。 LocationIds []*string `json:"LocationIds,omitnil,omitempty" name:"LocationIds"` - // 要删除的转发规则的域名,如果是多域名,可以指定多域名列表中的任意一个。 + // 要删除的转发规则的域名,如果是多域名,可以指定多域名列表中的任意一个,可以通过 [DescribeLoadBalancersDetail](https://cloud.tencent.com/document/api/214/46916) 接口查询。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` - // 要删除的转发规则的转发路径。 + // 要删除的转发规则的转发路径,可以通过 [DescribeLoadBalancersDetail](https://cloud.tencent.com/document/api/214/46916) 接口查询。 Url *string `json:"Url,omitnil,omitempty" name:"Url"` - // 监听器下必须配置一个默认域名,当需要删除默认域名时,可以指定另一个域名作为新的默认域名,如果新的默认域名是多域名,可以指定多域名列表中的任意一个。 + // 监听器下必须配置一个默认域名,当需要删除默认域名时,可以指定另一个域名作为新的默认域名,如果新的默认域名是多域名,可以指定多域名列表中的任意一个,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 NewDefaultServerDomain *string `json:"NewDefaultServerDomain,omitnil,omitempty" name:"NewDefaultServerDomain"` } @@ -2656,14 +2691,14 @@ func (r *DeleteRuleResponse) FromJsonString(s string) error { // Predefined struct for user type DeleteTargetGroupsRequestParams struct { - // 目标组的ID数组。 + // 目标组的ID数组,单次最多支持删除20个。 TargetGroupIds []*string `json:"TargetGroupIds,omitnil,omitempty" name:"TargetGroupIds"` } type DeleteTargetGroupsRequest struct { *tchttp.BaseRequest - // 目标组的ID数组。 + // 目标组的ID数组,单次最多支持删除20个。 TargetGroupIds []*string `json:"TargetGroupIds,omitnil,omitempty" name:"TargetGroupIds"` } @@ -2802,7 +2837,8 @@ type DeregisterTargetGroupInstancesRequestParams struct { // 目标组ID。 TargetGroupId *string `json:"TargetGroupId,omitnil,omitempty" name:"TargetGroupId"` - // 待解绑的服务器信息。 + // 待解绑的服务器信息,支持批量解除绑定,单次批量解除数量最多为20个。 + // 在这个接口 Port 参数为必填项。 TargetGroupInstances []*TargetGroupInstance `json:"TargetGroupInstances,omitnil,omitempty" name:"TargetGroupInstances"` } @@ -2812,7 +2848,8 @@ type DeregisterTargetGroupInstancesRequest struct { // 目标组ID。 TargetGroupId *string `json:"TargetGroupId,omitnil,omitempty" name:"TargetGroupId"` - // 待解绑的服务器信息。 + // 待解绑的服务器信息,支持批量解除绑定,单次批量解除数量最多为20个。 + // 在这个接口 Port 参数为必填项。 TargetGroupInstances []*TargetGroupInstance `json:"TargetGroupInstances,omitnil,omitempty" name:"TargetGroupInstances"` } @@ -3241,7 +3278,6 @@ func (r *DescribeClassicalLBHealthStatusRequest) FromJsonString(s string) error // Predefined struct for user type DescribeClassicalLBHealthStatusResponseParams struct { // 后端健康状态列表。 - // 注意:此字段可能返回 null,表示取不到有效值。 HealthList []*ClassicalHealth `json:"HealthList,omitnil,omitempty" name:"HealthList"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -3327,7 +3363,6 @@ func (r *DescribeClassicalLBListenersRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeClassicalLBListenersResponseParams struct { // 监听器列表。 - // 注意:此字段可能返回 null,表示取不到有效值。 Listeners []*ClassicalListener `json:"Listeners,omitnil,omitempty" name:"Listeners"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -3385,7 +3420,6 @@ func (r *DescribeClassicalLBTargetsRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeClassicalLBTargetsResponseParams struct { // 后端服务列表。 - // 注意:此字段可能返回 null,表示取不到有效值。 Targets []*ClassicalTarget `json:"Targets,omitnil,omitempty" name:"Targets"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -3631,7 +3665,7 @@ func (r *DescribeCrossTargetsResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeCustomizedConfigAssociateListRequestParams struct { - // 配置ID + // 配置ID,可以通过 [DescribeCustomizedConfigList](https://cloud.tencent.com/document/product/214/60009) 接口获取。 UconfigId *string `json:"UconfigId,omitnil,omitempty" name:"UconfigId"` // 拉取绑定关系列表开始位置,默认值 0 @@ -3640,14 +3674,14 @@ type DescribeCustomizedConfigAssociateListRequestParams struct { // 拉取绑定关系列表数目,默认值 20 Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` - // 搜索域名 + // 搜索域名,可以通过 [DescribeLoadBalancersDetail](https://cloud.tencent.com/document/product/214/46916) 接口返回值的 `Domain` 字段查询。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` } type DescribeCustomizedConfigAssociateListRequest struct { *tchttp.BaseRequest - // 配置ID + // 配置ID,可以通过 [DescribeCustomizedConfigList](https://cloud.tencent.com/document/product/214/60009) 接口获取。 UconfigId *string `json:"UconfigId,omitnil,omitempty" name:"UconfigId"` // 拉取绑定关系列表开始位置,默认值 0 @@ -3656,7 +3690,7 @@ type DescribeCustomizedConfigAssociateListRequest struct { // 拉取绑定关系列表数目,默认值 20 Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` - // 搜索域名 + // 搜索域名,可以通过 [DescribeLoadBalancersDetail](https://cloud.tencent.com/document/product/214/46916) 接口返回值的 `Domain` 字段查询。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` } @@ -3715,21 +3749,29 @@ type DescribeCustomizedConfigListRequestParams struct { // 配置类型:CLB 负载均衡维度。 SERVER 域名维度。 LOCATION 规则维度。 ConfigType *string `json:"ConfigType,omitnil,omitempty" name:"ConfigType"` - // 拉取页偏移,默认值0 + // 拉取页偏移,默认值0。 Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` - // 拉取数目,默认值20 + // 拉取数目,默认值20。 Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` // 拉取指定配置名字,模糊匹配。 ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"` - // 配置ID + // 配置ID,可以通过 [DescribeCustomizedConfigList](https://cloud.tencent.com/document/api/214/60009) 接口查询。 UconfigIds []*string `json:"UconfigIds,omitnil,omitempty" name:"UconfigIds"` // 过滤条件如下: - //
  • loadbalancer-id - String - 是否必填:否 - (过滤条件)按照 负载均衡ID 过滤,如:"lb-12345678"。
  • - //
  • vip - String - 是否必填:否 - (过滤条件)按照 负载均衡Vip 过滤,如:"1.1.1.1","2204::22:3"。
  • + // - loadbalancer-id + // 按照【负载均衡 ID】进行过滤。实例计费模式例如:lb-9vxezxza。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) + // - vip + // 按照【负载均衡VIP】进行过滤。网络计费模式例如:"1.1.1.1","2204::22:3"。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } @@ -3739,21 +3781,29 @@ type DescribeCustomizedConfigListRequest struct { // 配置类型:CLB 负载均衡维度。 SERVER 域名维度。 LOCATION 规则维度。 ConfigType *string `json:"ConfigType,omitnil,omitempty" name:"ConfigType"` - // 拉取页偏移,默认值0 + // 拉取页偏移,默认值0。 Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` - // 拉取数目,默认值20 + // 拉取数目,默认值20。 Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` // 拉取指定配置名字,模糊匹配。 ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"` - // 配置ID + // 配置ID,可以通过 [DescribeCustomizedConfigList](https://cloud.tencent.com/document/api/214/60009) 接口查询。 UconfigIds []*string `json:"UconfigIds,omitnil,omitempty" name:"UconfigIds"` // 过滤条件如下: - //
  • loadbalancer-id - String - 是否必填:否 - (过滤条件)按照 负载均衡ID 过滤,如:"lb-12345678"。
  • - //
  • vip - String - 是否必填:否 - (过滤条件)按照 负载均衡Vip 过滤,如:"1.1.1.1","2204::22:3"。
  • + // - loadbalancer-id + // 按照【负载均衡 ID】进行过滤。实例计费模式例如:lb-9vxezxza。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) + // - vip + // 按照【负载均衡VIP】进行过滤。网络计费模式例如:"1.1.1.1","2204::22:3"。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } @@ -3909,7 +3959,7 @@ type DescribeIdleLoadBalancersRequestParams struct { // 返回负载均衡实例的数量,默认为20,最大值为100。 Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"` - // 负载均衡所在地域。 + // 负载均衡所在地域,可以通过 [DescribeRegions](https://cloud.tencent.com/document/product/1596/77930) 接口返回值 `RegionSet.Region` 字段获取。 LoadBalancerRegion *string `json:"LoadBalancerRegion,omitnil,omitempty" name:"LoadBalancerRegion"` } @@ -3922,7 +3972,7 @@ type DescribeIdleLoadBalancersRequest struct { // 返回负载均衡实例的数量,默认为20,最大值为100。 Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"` - // 负载均衡所在地域。 + // 负载均衡所在地域,可以通过 [DescribeRegions](https://cloud.tencent.com/document/product/1596/77930) 接口返回值 `RegionSet.Region` 字段获取。 LoadBalancerRegion *string `json:"LoadBalancerRegion,omitnil,omitempty" name:"LoadBalancerRegion"` } @@ -3950,7 +4000,6 @@ func (r *DescribeIdleLoadBalancersRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeIdleLoadBalancersResponseParams struct { // 闲置实例列表 - // 注意:此字段可能返回 null,表示取不到有效值。 IdleLoadBalancers []*IdleLoadBalancer `json:"IdleLoadBalancers,omitnil,omitempty" name:"IdleLoadBalancers"` // 所有闲置实例数目 @@ -4033,34 +4082,91 @@ func (r *DescribeLBListenersResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeLBOperateProtectRequestParams struct { + // 负载均衡实例ID。 + LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` +} + +type DescribeLBOperateProtectRequest struct { + *tchttp.BaseRequest + + // 负载均衡实例ID。 + LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` +} + +func (r *DescribeLBOperateProtectRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeLBOperateProtectRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "LoadBalancerIds") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLBOperateProtectRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeLBOperateProtectResponseParams struct { + // 返回的负载均衡操作保护信息数组。 + LoadBalancerSet []*LBOperateProtectInfo `json:"LoadBalancerSet,omitnil,omitempty" name:"LoadBalancerSet"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeLBOperateProtectResponse struct { + *tchttp.BaseResponse + Response *DescribeLBOperateProtectResponseParams `json:"Response"` +} + +func (r *DescribeLBOperateProtectResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeLBOperateProtectResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribeListenersRequestParams struct { - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/api/214/30685) 接口获取。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 要查询的负载均衡监听器 ID 数组,最大为100个。 + // 要查询的负载均衡监听器 ID 数组,最大为100个,可以通过 [DescribeListeners](https://cloud.tencent.com/document/api/214/30686) 接口获取。 ListenerIds []*string `json:"ListenerIds,omitnil,omitempty" name:"ListenerIds"` // 要查询的监听器协议类型,取值 TCP | UDP | HTTP | HTTPS | TCP_SSL | QUIC。 Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"` - // 要查询的监听器的端口。 + // 要查询的监听器的端口,端口范围:1-65535 Port *int64 `json:"Port,omitnil,omitempty" name:"Port"` } type DescribeListenersRequest struct { *tchttp.BaseRequest - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/api/214/30685) 接口获取。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 要查询的负载均衡监听器 ID 数组,最大为100个。 + // 要查询的负载均衡监听器 ID 数组,最大为100个,可以通过 [DescribeListeners](https://cloud.tencent.com/document/api/214/30686) 接口获取。 ListenerIds []*string `json:"ListenerIds,omitnil,omitempty" name:"ListenerIds"` // 要查询的监听器协议类型,取值 TCP | UDP | HTTP | HTTPS | TCP_SSL | QUIC。 Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"` - // 要查询的监听器的端口。 + // 要查询的监听器的端口,端口范围:1-65535 Port *int64 `json:"Port,omitnil,omitempty" name:"Port"` } @@ -4092,7 +4198,6 @@ type DescribeListenersResponseParams struct { Listeners []*Listener `json:"Listeners,omitnil,omitempty" name:"Listeners"` // 总的监听器个数(根据端口、协议、监听器ID过滤后)。 - // 注意:此字段可能返回 null,表示取不到有效值。 TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -4117,14 +4222,16 @@ func (r *DescribeListenersResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeLoadBalancerListByCertIdRequestParams struct { - // 服务端证书的ID,或客户端证书的ID + // 服务端证书的ID,或客户端证书的ID。可以通过 [DescribeCertificate](https://cloud.tencent.com/document/api/400/41674) 接口查询。 + // 数组最大长度为20。 CertIds []*string `json:"CertIds,omitnil,omitempty" name:"CertIds"` } type DescribeLoadBalancerListByCertIdRequest struct { *tchttp.BaseRequest - // 服务端证书的ID,或客户端证书的ID + // 服务端证书的ID,或客户端证书的ID。可以通过 [DescribeCertificate](https://cloud.tencent.com/document/api/400/41674) 接口查询。 + // 数组最大长度为20。 CertIds []*string `json:"CertIds,omitnil,omitempty" name:"CertIds"` } @@ -4270,7 +4377,6 @@ func (r *DescribeLoadBalancerTrafficRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeLoadBalancerTrafficResponseParams struct { // 按出带宽从高到低排序后的负载均衡信息。 - // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancerTraffic []*LoadBalancerTraffic `json:"LoadBalancerTraffic,omitnil,omitempty" name:"LoadBalancerTraffic"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -4308,16 +4414,53 @@ type DescribeLoadBalancersDetailRequestParams struct { TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"` // 查询负载均衡详细信息列表条件,详细的过滤条件如下: - //
  • loadbalancer-id - String - 是否必填:否 - (过滤条件)按照 负载均衡ID 过滤,如:"lb-12345678"。
  • - //
  • project-id - String - 是否必填:否 - (过滤条件)按照 项目ID 过滤,如:"0","123"。
  • - //
  • network - String - 是否必填:否 - (过滤条件)按照 负载均衡网络类型 过滤,如:"Public","Private"。
  • - //
  • vip - String - 是否必填:否 - (过滤条件)按照 负载均衡Vip 过滤,如:"1.1.1.1","2204::22:3"。
  • - //
  • target-ip - String - 是否必填:否 - (过滤条件)按照 后端目标内网Ip 过滤,如:"1.1.1.1","2203::214:4"。
  • - //
  • vpcid - String - 是否必填:否 - (过滤条件)按照 负载均衡所属vpcId 过滤,如:"vpc-12345678"。
  • - //
  • zone - String - 是否必填:否 - (过滤条件)按照 负载均衡所属的可用区 过滤,如:"ap-guangzhou-1"。
  • - //
  • tag-key - String - 是否必填:否 - (过滤条件)按照 负载均衡标签的标签键 过滤,如:"name"。
  • - //
  • tag:* - String - 是否必填:否 - (过滤条件)按照 负载均衡的标签 过滤,':' 后面跟的是标签键。如:过滤标签键name,标签值zhangsan,lisi,{"Name": "tag:name","Values": ["zhangsan", "lisi"]}。
  • - //
  • fuzzy-search - String - 是否必填:否 - (过滤条件)按照 负载均衡Vip,负载均衡名称 模糊搜索,如:"1.1"。
  • + // - loadbalancer-id + // 按照【负载均衡ID】进行过滤。例如:lb-rbw5skde。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) + // - project-id + // 按照【项目ID】进行过滤。例如: "0"、"123"。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeProject](https://cloud.tencent.com/document/api/651/78725) + // - network + // 按照【负载均衡网络类型】进行过滤。例如:Public。 + // 类型:String + // 必选:否 + // 可选值:Private(内网)、Public(公网) + // - vip + // 按照【负载均衡 VIP】进行过滤。例如:"1.1.1.1","2204::22:3"。 + // 类型:String + // 必选:否 + // - vpcid + // 按照【负载均衡所属 VPCID】进行过滤。例如:"vpc-12345678"。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeZones](https://cloud.tencent.com/document/product/213/15707) + // - target-ip + // 按照【后端目标内网 IP】进行过滤。例如:"1.1.1.1","2203::214:4"。 + // 类型:String + // 必选:否 + // - zone + // 按照【负载均衡所属的可用区】进行过滤。例如:"ap-guangzhou-1"。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeZones](https://cloud.tencent.com/document/product/213/15707) + // - tag-key + // 按照【负载均衡标签的标签键】进行过滤,例如:"name"。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeTags](https://cloud.tencent.com/document/api/651/35316) + // - tag:* + // 按照【负载均衡的标签】进行过滤,':' 后面跟的是标签键。如过滤标签键name,标签值zhangsan,lisi,{"Name": "tag:name","Values": ["zhangsan", "lisi"]}。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeTagKeys](https://cloud.tencent.com/document/api/651/35318) + // - fuzzy-search + // 按照【负载均衡VIP,负载均衡名称】模糊搜索,例如:"1.1"。 + // 类型:String + // 必选:否 Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } @@ -4337,16 +4480,53 @@ type DescribeLoadBalancersDetailRequest struct { TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"` // 查询负载均衡详细信息列表条件,详细的过滤条件如下: - //
  • loadbalancer-id - String - 是否必填:否 - (过滤条件)按照 负载均衡ID 过滤,如:"lb-12345678"。
  • - //
  • project-id - String - 是否必填:否 - (过滤条件)按照 项目ID 过滤,如:"0","123"。
  • - //
  • network - String - 是否必填:否 - (过滤条件)按照 负载均衡网络类型 过滤,如:"Public","Private"。
  • - //
  • vip - String - 是否必填:否 - (过滤条件)按照 负载均衡Vip 过滤,如:"1.1.1.1","2204::22:3"。
  • - //
  • target-ip - String - 是否必填:否 - (过滤条件)按照 后端目标内网Ip 过滤,如:"1.1.1.1","2203::214:4"。
  • - //
  • vpcid - String - 是否必填:否 - (过滤条件)按照 负载均衡所属vpcId 过滤,如:"vpc-12345678"。
  • - //
  • zone - String - 是否必填:否 - (过滤条件)按照 负载均衡所属的可用区 过滤,如:"ap-guangzhou-1"。
  • - //
  • tag-key - String - 是否必填:否 - (过滤条件)按照 负载均衡标签的标签键 过滤,如:"name"。
  • - //
  • tag:* - String - 是否必填:否 - (过滤条件)按照 负载均衡的标签 过滤,':' 后面跟的是标签键。如:过滤标签键name,标签值zhangsan,lisi,{"Name": "tag:name","Values": ["zhangsan", "lisi"]}。
  • - //
  • fuzzy-search - String - 是否必填:否 - (过滤条件)按照 负载均衡Vip,负载均衡名称 模糊搜索,如:"1.1"。
  • + // - loadbalancer-id + // 按照【负载均衡ID】进行过滤。例如:lb-rbw5skde。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) + // - project-id + // 按照【项目ID】进行过滤。例如: "0"、"123"。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeProject](https://cloud.tencent.com/document/api/651/78725) + // - network + // 按照【负载均衡网络类型】进行过滤。例如:Public。 + // 类型:String + // 必选:否 + // 可选值:Private(内网)、Public(公网) + // - vip + // 按照【负载均衡 VIP】进行过滤。例如:"1.1.1.1","2204::22:3"。 + // 类型:String + // 必选:否 + // - vpcid + // 按照【负载均衡所属 VPCID】进行过滤。例如:"vpc-12345678"。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeZones](https://cloud.tencent.com/document/product/213/15707) + // - target-ip + // 按照【后端目标内网 IP】进行过滤。例如:"1.1.1.1","2203::214:4"。 + // 类型:String + // 必选:否 + // - zone + // 按照【负载均衡所属的可用区】进行过滤。例如:"ap-guangzhou-1"。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeZones](https://cloud.tencent.com/document/product/213/15707) + // - tag-key + // 按照【负载均衡标签的标签键】进行过滤,例如:"name"。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeTags](https://cloud.tencent.com/document/api/651/35316) + // - tag:* + // 按照【负载均衡的标签】进行过滤,':' 后面跟的是标签键。如过滤标签键name,标签值zhangsan,lisi,{"Name": "tag:name","Values": ["zhangsan", "lisi"]}。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeTagKeys](https://cloud.tencent.com/document/api/651/35318) + // - fuzzy-search + // 按照【负载均衡VIP,负载均衡名称】模糊搜索,例如:"1.1"。 + // 类型:String + // 必选:否 Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } @@ -4379,7 +4559,6 @@ type DescribeLoadBalancersDetailResponseParams struct { TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` // 负载均衡详情列表。 - // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancerDetailSet []*LoadBalancerDetail `json:"LoadBalancerDetailSet,omitnil,omitempty" name:"LoadBalancerDetailSet"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -4414,10 +4593,10 @@ type DescribeLoadBalancersRequestParams struct { // 负载均衡实例的类型。1:通用的负载均衡实例,0:传统型负载均衡实例。如果不传此参数,则查询所有类型的负载均衡实例。 Forward *int64 `json:"Forward,omitnil,omitempty" name:"Forward"` - // 负载均衡实例的名称。 + // 负载均衡实例的名称,支持模糊查询。 LoadBalancerName *string `json:"LoadBalancerName,omitnil,omitempty" name:"LoadBalancerName"` - // 腾讯云为负载均衡实例分配的域名。 + // 腾讯云为负载均衡实例分配的域名,支持模糊查询。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 负载均衡实例的 VIP 地址,支持多个。 @@ -4435,32 +4614,85 @@ type DescribeLoadBalancersRequestParams struct { // 返回负载均衡实例的数量,默认为20,最大值为100。 Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` - // 排序参数,支持以下字段:LoadBalancerName,CreateTime,Domain,LoadBalancerType。 + // 排序参数,支持以下字段: + // - LoadBalancerName + // - CreateTime + // - Domain + // - LoadBalancerType + // + // 默认为 CreateTime。 OrderBy *string `json:"OrderBy,omitnil,omitempty" name:"OrderBy"` - // 1:倒序,0:顺序,默认按照创建时间倒序。 + // 1:倒序,0:顺序,默认为1,按照创建时间倒序。 OrderType *int64 `json:"OrderType,omitnil,omitempty" name:"OrderType"` - // 搜索字段,模糊匹配名称、域名、VIP。 + // 模糊搜索字段,模糊匹配负载均衡实例的名称、域名、负载均衡实例的 VIP 地址,负载均衡实例ID。 SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"` - // 负载均衡实例所属的项目 ID,可以通过 DescribeProject 接口获取。 + // 负载均衡实例所属的项目 ID,可以通过[DescribeProject](https://cloud.tencent.com/document/api/651/78725)接口获取,不传默认所有项目。 ProjectId *int64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"` // 负载均衡是否绑定后端服务,0:没有绑定后端服务,1:绑定后端服务,-1:查询全部。 WithRs *int64 `json:"WithRs,omitnil,omitempty" name:"WithRs"` - // 负载均衡实例所属私有网络唯一ID,如 vpc-bhqkbhdx, - // 基础网络可传入'0'。 + // 负载均衡实例所属私有网络唯一ID,如 vpc-bhqkbhdx,可以通过[DescribeVpcs](https://cloud.tencent.com/document/api/215/15778)接口获取。 + // 查找基础网络类型的负载均衡可传入'0'。 VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` - // 安全组ID,如 sg-m1cc****。 + // 安全组ID,如 sg-m1cc****,可以通过接口[DescribeSecurityGroups](https://cloud.tencent.com/document/product/215/15808)获取。 SecurityGroup *string `json:"SecurityGroup,omitnil,omitempty" name:"SecurityGroup"` // 主可用区ID,如 :"100001" (对应的是广州一区)。可通过[DescribeZones](https://cloud.tencent.com/document/product/213/15707)获取可用区列表。 MasterZone *string `json:"MasterZone,omitnil,omitempty" name:"MasterZone"` - // 每次请求的`Filters`的上限为10,`Filter.Values`的上限为100。
    `Filter.Name`和`Filter.Values`皆为必填项。详细的过滤条件如下:
  • charge-type - String - 是否必填:否 - (过滤条件)按照 CLB 的实例计费模式过滤,包括"PREPAID","POSTPAID_BY_HOUR"。
  • internet-charge-type - String - 是否必填:否 - (过滤条件)按照 CLB 的网络计费模式过滤,包括"BANDWIDTH_PREPAID","TRAFFIC_POSTPAID_BY_HOUR","BANDWIDTH_POSTPAID_BY_HOUR","BANDWIDTH_PACKAGE"。
  • master-zone-id - String - 是否必填:否 - (过滤条件)按照 CLB 的主可用区ID过滤,如 :"100001" (对应的是广州一区)。
  • tag-key - String - 是否必填:否 - (过滤条件)按照 CLB 标签的键过滤。
  • tag:tag-key - String - 是否必填:否 - (过滤条件)按照CLB标签键值对进行过滤,tag-key使用具体的标签键进行替换。
  • function-name - String - 是否必填:否 - (过滤条件)按照 CLB 后端绑定的SCF云函数的函数名称过滤。
  • vip-isp - String - 是否必填:否 - (过滤条件)按照 CLB VIP的运营商类型过滤,如:"BGP","INTERNAL","CMCC","CTCC","CUCC"等。
  • sla-type - String - 是否必填:否 - (过滤条件)按照 CLB 的性能容量型规格过滤,包括"clb.c1.small","clb.c2.medium","clb.c3.small","clb.c3.medium","clb.c4.small","clb.c4.medium","clb.c4.large","clb.c4.xlarge","others"。
  • exclusive - uint64 - 是否必填:否 - (过滤条件)按照独占实例进行过滤。
  • + // 每次请求的`Filters`的上限为10,`Filter.Values`的上限为100。
    `Filter.Name`和`Filter.Values`皆为必填项。详细的过滤条件如下: + // - charge-type + // 按照【实例计费模式】进行过滤。实例计费模式例如:PREPAID。 + // 类型:String + // 必选:否 + // 可选项:PREPAID(预付费)、POSTPAID_BY_HOUR(后付费) + // - internet-charge-type + // 按照【网络计费模式】进行过滤。网络计费模式例如:BANDWIDTH_PREPAID。 + // 类型:String + // 必选:否 + // 可选项:BANDWIDTH_PREPAID(预付费按带宽结算)、 TRAFFIC_POSTPAID_BY_HOUR(流量按小时后付费)、BANDWIDTH_POSTPAID_BY_HOUR(带宽按小时后付费)、BANDWIDTH_PACKAGE(带宽包用户) + // - master-zone-id + // 按照【CLB主可用区ID】进行过滤。例如:100001(对应的是广州一区)。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeZones](https://cloud.tencent.com/document/product/213/15707) + // - tag-key + // 按照【CLB 标签的键】进行过滤,例如:tag-key。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeTags](https://cloud.tencent.com/document/api/651/35316) + // - tag:tag-key + // 按照【CLB标签键值】进行过滤,例如:tag-test。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeTagKeys](https://cloud.tencent.com/document/api/651/35318) + // - function-name + // 按照【后端绑定SCF云函数的函数名称】进行过滤,例如:helloworld-1744958255。 + // 类型:String + // 必选:否 + // 获取方式:[ListFunctions](https://cloud.tencent.com/document/api/583/18582) + // - vip-isp + // 按照【CLB VIP的运营商类型】进行过滤,例如:BGP。 + // 类型:String + // 必选:否 + // 公网类型可选项:BGP(多线)、CMCC(中国移动)、CTCC(中国电信)、CUCC(中国联通) + // 内网类型可选项:INTERNAL(内网) + // - sla-type + // 按照【CLB 的性能容量型规格】进行过滤,例如:clb.c4.xlarge。 + // 类型:String + // 必选:否 + // 可选项:clb.c2.medium(标准型)、clb.c3.small(高阶型1)、clb.c3.medium(高阶型2)、clb.c4.small(超强型1)、clb.c4.medium(超强型2)、clb.c4.large(超强型3)、clb.c4.xlarge(超强型4) + // 具体规格参数参考: + // - exclusive + // 按照【独占实例】进行过滤。例如:1,代表筛选独占型实例。 + // 类型:String + // 必选:否 + // 可选项:0、1 Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 选择返回的扩充字段,不指定时,扩充字段默认不返回。详细支持的扩充字段如下: @@ -4481,10 +4713,10 @@ type DescribeLoadBalancersRequest struct { // 负载均衡实例的类型。1:通用的负载均衡实例,0:传统型负载均衡实例。如果不传此参数,则查询所有类型的负载均衡实例。 Forward *int64 `json:"Forward,omitnil,omitempty" name:"Forward"` - // 负载均衡实例的名称。 + // 负载均衡实例的名称,支持模糊查询。 LoadBalancerName *string `json:"LoadBalancerName,omitnil,omitempty" name:"LoadBalancerName"` - // 腾讯云为负载均衡实例分配的域名。 + // 腾讯云为负载均衡实例分配的域名,支持模糊查询。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 负载均衡实例的 VIP 地址,支持多个。 @@ -4502,32 +4734,85 @@ type DescribeLoadBalancersRequest struct { // 返回负载均衡实例的数量,默认为20,最大值为100。 Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` - // 排序参数,支持以下字段:LoadBalancerName,CreateTime,Domain,LoadBalancerType。 + // 排序参数,支持以下字段: + // - LoadBalancerName + // - CreateTime + // - Domain + // - LoadBalancerType + // + // 默认为 CreateTime。 OrderBy *string `json:"OrderBy,omitnil,omitempty" name:"OrderBy"` - // 1:倒序,0:顺序,默认按照创建时间倒序。 + // 1:倒序,0:顺序,默认为1,按照创建时间倒序。 OrderType *int64 `json:"OrderType,omitnil,omitempty" name:"OrderType"` - // 搜索字段,模糊匹配名称、域名、VIP。 + // 模糊搜索字段,模糊匹配负载均衡实例的名称、域名、负载均衡实例的 VIP 地址,负载均衡实例ID。 SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"` - // 负载均衡实例所属的项目 ID,可以通过 DescribeProject 接口获取。 + // 负载均衡实例所属的项目 ID,可以通过[DescribeProject](https://cloud.tencent.com/document/api/651/78725)接口获取,不传默认所有项目。 ProjectId *int64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"` // 负载均衡是否绑定后端服务,0:没有绑定后端服务,1:绑定后端服务,-1:查询全部。 WithRs *int64 `json:"WithRs,omitnil,omitempty" name:"WithRs"` - // 负载均衡实例所属私有网络唯一ID,如 vpc-bhqkbhdx, - // 基础网络可传入'0'。 + // 负载均衡实例所属私有网络唯一ID,如 vpc-bhqkbhdx,可以通过[DescribeVpcs](https://cloud.tencent.com/document/api/215/15778)接口获取。 + // 查找基础网络类型的负载均衡可传入'0'。 VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` - // 安全组ID,如 sg-m1cc****。 + // 安全组ID,如 sg-m1cc****,可以通过接口[DescribeSecurityGroups](https://cloud.tencent.com/document/product/215/15808)获取。 SecurityGroup *string `json:"SecurityGroup,omitnil,omitempty" name:"SecurityGroup"` // 主可用区ID,如 :"100001" (对应的是广州一区)。可通过[DescribeZones](https://cloud.tencent.com/document/product/213/15707)获取可用区列表。 MasterZone *string `json:"MasterZone,omitnil,omitempty" name:"MasterZone"` - // 每次请求的`Filters`的上限为10,`Filter.Values`的上限为100。
    `Filter.Name`和`Filter.Values`皆为必填项。详细的过滤条件如下:
  • charge-type - String - 是否必填:否 - (过滤条件)按照 CLB 的实例计费模式过滤,包括"PREPAID","POSTPAID_BY_HOUR"。
  • internet-charge-type - String - 是否必填:否 - (过滤条件)按照 CLB 的网络计费模式过滤,包括"BANDWIDTH_PREPAID","TRAFFIC_POSTPAID_BY_HOUR","BANDWIDTH_POSTPAID_BY_HOUR","BANDWIDTH_PACKAGE"。
  • master-zone-id - String - 是否必填:否 - (过滤条件)按照 CLB 的主可用区ID过滤,如 :"100001" (对应的是广州一区)。
  • tag-key - String - 是否必填:否 - (过滤条件)按照 CLB 标签的键过滤。
  • tag:tag-key - String - 是否必填:否 - (过滤条件)按照CLB标签键值对进行过滤,tag-key使用具体的标签键进行替换。
  • function-name - String - 是否必填:否 - (过滤条件)按照 CLB 后端绑定的SCF云函数的函数名称过滤。
  • vip-isp - String - 是否必填:否 - (过滤条件)按照 CLB VIP的运营商类型过滤,如:"BGP","INTERNAL","CMCC","CTCC","CUCC"等。
  • sla-type - String - 是否必填:否 - (过滤条件)按照 CLB 的性能容量型规格过滤,包括"clb.c1.small","clb.c2.medium","clb.c3.small","clb.c3.medium","clb.c4.small","clb.c4.medium","clb.c4.large","clb.c4.xlarge","others"。
  • exclusive - uint64 - 是否必填:否 - (过滤条件)按照独占实例进行过滤。
  • + // 每次请求的`Filters`的上限为10,`Filter.Values`的上限为100。
    `Filter.Name`和`Filter.Values`皆为必填项。详细的过滤条件如下: + // - charge-type + // 按照【实例计费模式】进行过滤。实例计费模式例如:PREPAID。 + // 类型:String + // 必选:否 + // 可选项:PREPAID(预付费)、POSTPAID_BY_HOUR(后付费) + // - internet-charge-type + // 按照【网络计费模式】进行过滤。网络计费模式例如:BANDWIDTH_PREPAID。 + // 类型:String + // 必选:否 + // 可选项:BANDWIDTH_PREPAID(预付费按带宽结算)、 TRAFFIC_POSTPAID_BY_HOUR(流量按小时后付费)、BANDWIDTH_POSTPAID_BY_HOUR(带宽按小时后付费)、BANDWIDTH_PACKAGE(带宽包用户) + // - master-zone-id + // 按照【CLB主可用区ID】进行过滤。例如:100001(对应的是广州一区)。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeZones](https://cloud.tencent.com/document/product/213/15707) + // - tag-key + // 按照【CLB 标签的键】进行过滤,例如:tag-key。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeTags](https://cloud.tencent.com/document/api/651/35316) + // - tag:tag-key + // 按照【CLB标签键值】进行过滤,例如:tag-test。 + // 类型:String + // 必选:否 + // 获取方式:[DescribeTagKeys](https://cloud.tencent.com/document/api/651/35318) + // - function-name + // 按照【后端绑定SCF云函数的函数名称】进行过滤,例如:helloworld-1744958255。 + // 类型:String + // 必选:否 + // 获取方式:[ListFunctions](https://cloud.tencent.com/document/api/583/18582) + // - vip-isp + // 按照【CLB VIP的运营商类型】进行过滤,例如:BGP。 + // 类型:String + // 必选:否 + // 公网类型可选项:BGP(多线)、CMCC(中国移动)、CTCC(中国电信)、CUCC(中国联通) + // 内网类型可选项:INTERNAL(内网) + // - sla-type + // 按照【CLB 的性能容量型规格】进行过滤,例如:clb.c4.xlarge。 + // 类型:String + // 必选:否 + // 可选项:clb.c2.medium(标准型)、clb.c3.small(高阶型1)、clb.c3.medium(高阶型2)、clb.c4.small(超强型1)、clb.c4.medium(超强型2)、clb.c4.large(超强型3)、clb.c4.xlarge(超强型4) + // 具体规格参数参考: + // - exclusive + // 按照【独占实例】进行过滤。例如:1,代表筛选独占型实例。 + // 类型:String + // 必选:否 + // 可选项:0、1 Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 选择返回的扩充字段,不指定时,扩充字段默认不返回。详细支持的扩充字段如下: @@ -4664,8 +4949,20 @@ type DescribeResourcesRequestParams struct { Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 查询可用区资源列表条件,详细的过滤条件如下: - //
  • master-zone -- String - 是否必填:否 - (过滤条件)按照 地区 类型过滤,如:"ap-guangzhou-2"。
  • ip-version -- String - 是否必填:否 - (过滤条件)按照 IP 类型过滤,可选值:"IPv4"、"IPv6"、"IPv6_Nat"。
  • - //
  • isp -- String - 是否必填:否 - (过滤条件)按照 Isp 类型过滤,如:"BGP","CMCC","CUCC","CTCC"。
  • + // - master-zone + // 按照【地域可用区】进行过滤,例如:ap-guangzhou-2。 + // 类型:String + // 必选:否 + // - ip-version + // 按照【IP 类型】进行过滤,例如:IPv4。 + // 类型:String + // 必选:否 + // 可选项:IPv4、IPv6、IPv6_Nat + // - isp + // 按照【ISP 类型】进行过滤,例如:BGP。 + // 类型:String + // 必选:否 + // 可选项:BGP、CMCC(中国移动)、CUCC(中国联通)、CTCC(中国电信)、BGP_PRO、INTERNAL(内网) Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } @@ -4679,8 +4976,20 @@ type DescribeResourcesRequest struct { Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 查询可用区资源列表条件,详细的过滤条件如下: - //
  • master-zone -- String - 是否必填:否 - (过滤条件)按照 地区 类型过滤,如:"ap-guangzhou-2"。
  • ip-version -- String - 是否必填:否 - (过滤条件)按照 IP 类型过滤,可选值:"IPv4"、"IPv6"、"IPv6_Nat"。
  • - //
  • isp -- String - 是否必填:否 - (过滤条件)按照 Isp 类型过滤,如:"BGP","CMCC","CUCC","CTCC"。
  • + // - master-zone + // 按照【地域可用区】进行过滤,例如:ap-guangzhou-2。 + // 类型:String + // 必选:否 + // - ip-version + // 按照【IP 类型】进行过滤,例如:IPv4。 + // 类型:String + // 必选:否 + // 可选项:IPv4、IPv6、IPv6_Nat + // - isp + // 按照【ISP 类型】进行过滤,例如:BGP。 + // 类型:String + // 必选:否 + // 可选项:BGP、CMCC(中国移动)、CUCC(中国联通)、CTCC(中国电信)、BGP_PRO、INTERNAL(内网) Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } @@ -4806,7 +5115,7 @@ func (r *DescribeRewriteResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeTargetGroupInstancesRequestParams struct { - // 过滤条件,当前仅支持TargetGroupId,BindIP,InstanceId过滤。 + // 过滤条件,当前支持按照 TargetGroupId,BindIP,InstanceId 多个条件组合过滤。 Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 显示数量限制,默认20。 @@ -4819,7 +5128,7 @@ type DescribeTargetGroupInstancesRequestParams struct { type DescribeTargetGroupInstancesRequest struct { *tchttp.BaseRequest - // 过滤条件,当前仅支持TargetGroupId,BindIP,InstanceId过滤。 + // 过滤条件,当前支持按照 TargetGroupId,BindIP,InstanceId 多个条件组合过滤。 Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 显示数量限制,默认20。 @@ -4973,7 +5282,7 @@ type DescribeTargetGroupsRequestParams struct { // 显示的偏移起始量。 Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` - // 过滤条件数组,与TargetGroupIds互斥,支持TargetGroupVpcId和TargetGroupName。 + // 过滤条件数组,与TargetGroupIds互斥,支持 TargetGroupVpcId(私有网络 ID)和 TargetGroupName(目标组名称)以及 Tag(标签)。 Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } @@ -4989,7 +5298,7 @@ type DescribeTargetGroupsRequest struct { // 显示的偏移起始量。 Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` - // 过滤条件数组,与TargetGroupIds互斥,支持TargetGroupVpcId和TargetGroupName。 + // 过滤条件数组,与TargetGroupIds互斥,支持 TargetGroupVpcId(私有网络 ID)和 TargetGroupName(目标组名称)以及 Tag(标签)。 Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } @@ -5047,6 +5356,12 @@ func (r *DescribeTargetGroupsResponse) FromJsonString(s string) error { type DescribeTargetHealthRequestParams struct { // 要查询的负载均衡实例ID列表。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` + + // 要查询的监听器ID列表。 + ListenerIds []*string `json:"ListenerIds,omitnil,omitempty" name:"ListenerIds"` + + // 要查询的转发规则ID列表。 + LocationIds []*string `json:"LocationIds,omitnil,omitempty" name:"LocationIds"` } type DescribeTargetHealthRequest struct { @@ -5054,6 +5369,12 @@ type DescribeTargetHealthRequest struct { // 要查询的负载均衡实例ID列表。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` + + // 要查询的监听器ID列表。 + ListenerIds []*string `json:"ListenerIds,omitnil,omitempty" name:"ListenerIds"` + + // 要查询的转发规则ID列表。 + LocationIds []*string `json:"LocationIds,omitnil,omitempty" name:"LocationIds"` } func (r *DescribeTargetHealthRequest) ToJsonString() string { @@ -5069,6 +5390,8 @@ func (r *DescribeTargetHealthRequest) FromJsonString(s string) error { return err } delete(f, "LoadBalancerIds") + delete(f, "ListenerIds") + delete(f, "LocationIds") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTargetHealthRequest has unknown keys!", "") } @@ -5078,7 +5401,6 @@ func (r *DescribeTargetHealthRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeTargetHealthResponseParams struct { // 负载均衡实例列表。 - // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancers []*LoadBalancerHealth `json:"LoadBalancers,omitnil,omitempty" name:"LoadBalancers"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -5170,7 +5492,6 @@ func (r *DescribeTargetsRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeTargetsResponseParams struct { // 监听器后端绑定的机器信息。 - // 注意:此字段可能返回 null,表示取不到有效值。 Listeners []*ListenerBackend `json:"Listeners,omitnil,omitempty" name:"Listeners"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -5330,14 +5651,14 @@ func (r *DisassociateCustomizedConfigResponse) FromJsonString(s string) error { // Predefined struct for user type DisassociateTargetGroupsRequestParams struct { - // 待解绑的规则关系数组。 + // 待解绑的规则关系数组,支持批量解绑多个监听器,单次批量解除最多20个。 Associations []*TargetGroupAssociation `json:"Associations,omitnil,omitempty" name:"Associations"` } type DisassociateTargetGroupsRequest struct { *tchttp.BaseRequest - // 待解绑的规则关系数组。 + // 待解绑的规则关系数组,支持批量解绑多个监听器,单次批量解除最多20个。 Associations []*TargetGroupAssociation `json:"Associations,omitnil,omitempty" name:"Associations"` } @@ -5398,11 +5719,9 @@ type ExclusiveCluster struct { type ExtraInfo struct { // 是否开通VIP直通 - // 注意:此字段可能返回 null,表示取不到有效值。 ZhiTong *bool `json:"ZhiTong,omitnil,omitempty" name:"ZhiTong"` // TgwGroup名称 - // 注意:此字段可能返回 null,表示取不到有效值。 TgwGroupName *string `json:"TgwGroupName,omitnil,omitempty" name:"TgwGroupName"` } @@ -5431,7 +5750,6 @@ type FunctionInfo struct { type FunctionTarget struct { // 云函数相关信息 - // 注意:此字段可能返回 null,表示取不到有效值。 Function *FunctionInfo `json:"Function,omitnil,omitempty" name:"Function"` // 权重 @@ -5440,23 +5758,20 @@ type FunctionTarget struct { type HealthCheck struct { // 是否开启健康检查:1(开启)、0(关闭)。 + // 默认为开启。 HealthSwitch *int64 `json:"HealthSwitch,omitnil,omitempty" name:"HealthSwitch"` // 健康检查的响应超时时间,可选值:2~60,默认值:2,单位:秒。响应超时时间要小于检查间隔时间。 - // 注意:此字段可能返回 null,表示取不到有效值。 TimeOut *int64 `json:"TimeOut,omitnil,omitempty" name:"TimeOut"` // 健康检查探测间隔时间,默认值:5,IPv4 CLB实例的取值范围为:2-300,IPv6 CLB 实例的取值范围为:5-300。单位:秒。 // 说明:部分老旧 IPv4 CLB实例的取值范围为:5-300。 - // 注意:此字段可能返回 null,表示取不到有效值。 IntervalTime *int64 `json:"IntervalTime,omitnil,omitempty" name:"IntervalTime"` // 健康阈值,默认值:3,表示当连续探测三次健康则表示该转发正常,可选值:2~10,单位:次。 - // 注意:此字段可能返回 null,表示取不到有效值。 HealthNum *int64 `json:"HealthNum,omitnil,omitempty" name:"HealthNum"` // 不健康阈值,默认值:3,表示当连续探测三次不健康则表示该转发异常,可选值:2~10,单位:次。 - // 注意:此字段可能返回 null,表示取不到有效值。 UnHealthNum *int64 `json:"UnHealthNum,omitnil,omitempty" name:"UnHealthNum"` // 健康检查状态码(仅适用于HTTP/HTTPS转发规则、TCP监听器的HTTP健康检查方式)。可选值:1~31,默认 31。 @@ -5468,7 +5783,7 @@ type HealthCheck struct { // 注意:此字段可能返回 null,表示取不到有效值。 HttpCheckPath *string `json:"HttpCheckPath,omitnil,omitempty" name:"HttpCheckPath"` - // 健康检查域名(仅适用于HTTP/HTTPS监听器和TCP监听器的HTTP健康检查方式。针对TCP监听器,当使用HTTP健康检查方式时,该参数为必填项)。 + // 健康检查域名,将在HTTP协议 Host 头字段中携带。(仅适用于HTTP/HTTPS监听器和TCP监听器的HTTP健康检查方式。针对TCP监听器,当使用HTTP健康检查方式时,该参数为必填项)。 // 注意:此字段可能返回 null,表示取不到有效值。 HttpCheckDomain *string `json:"HttpCheckDomain,omitnil,omitempty" name:"HttpCheckDomain"` @@ -5476,7 +5791,7 @@ type HealthCheck struct { // 注意:此字段可能返回 null,表示取不到有效值。 HttpCheckMethod *string `json:"HttpCheckMethod,omitnil,omitempty" name:"HttpCheckMethod"` - // 自定义探测相关参数。健康检查端口,默认为后端服务的端口,除非您希望指定特定端口,否则建议留空。(仅适用于TCP/UDP监听器)。 + // 自定义探测相关参数。健康检查端口,默认为后端服务的端口,除非您希望指定特定端口,否则建议留空。传参数值-1可恢复默认设置。(仅适用于TCP/UDP监听器)。 // 注意:此字段可能返回 null,表示取不到有效值。 CheckPort *int64 `json:"CheckPort,omitnil,omitempty" name:"CheckPort"` @@ -5493,7 +5808,6 @@ type HealthCheck struct { RecvContext *string `json:"RecvContext,omitnil,omitempty" name:"RecvContext"` // 健康检查使用的协议。取值 TCP | HTTP | HTTPS | GRPC | PING | CUSTOM,UDP监听器支持PING/CUSTOM,TCP监听器支持TCP/HTTP/CUSTOM,TCP_SSL/QUIC监听器支持TCP/HTTP,HTTP规则支持HTTP/GRPC,HTTPS规则支持HTTP/HTTPS/GRPC。HTTP监听器默认值为HTTP;TCP、TCP_SSL、QUIC监听器默认值为TCP;UDP监听器默认为PING;HTTPS监听器的CheckType默认值与后端转发协议一致。 - // 注意:此字段可能返回 null,表示取不到有效值。 CheckType *string `json:"CheckType,omitnil,omitempty" name:"CheckType"` // HTTP版本。健康检查协议CheckType的值取HTTP时,必传此字段,代表后端服务的HTTP版本:HTTP/1.0、HTTP/1.1;(仅适用于TCP监听器) @@ -5501,7 +5815,6 @@ type HealthCheck struct { HttpVersion *string `json:"HttpVersion,omitnil,omitempty" name:"HttpVersion"` // 健康检查源IP类型:0(使用LB的VIP作为源IP),1(使用100.64网段IP作为源IP)。 - // 注意:此字段可能返回 null,表示取不到有效值。 SourceIpType *int64 `json:"SourceIpType,omitnil,omitempty" name:"SourceIpType"` // GRPC健康检查状态码(仅适用于后端转发协议为GRPC的规则)。默认值为 12,可输入值为数值、多个数值、或者范围,例如 20 或 20,25 或 0-99 @@ -5533,7 +5846,6 @@ type IdleLoadBalancer struct { Forward *uint64 `json:"Forward,omitnil,omitempty" name:"Forward"` // 负载均衡域名 - // 注意:此字段可能返回 null,表示取不到有效值。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` } @@ -5656,7 +5968,7 @@ func (r *InquiryPriceCreateLoadBalancerResponse) FromJsonString(s string) error // Predefined struct for user type InquiryPriceModifyLoadBalancerRequestParams struct { - // 负载均衡实例ID + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 修改后的网络带宽信息 @@ -5666,7 +5978,7 @@ type InquiryPriceModifyLoadBalancerRequestParams struct { type InquiryPriceModifyLoadBalancerRequest struct { *tchttp.BaseRequest - // 负载均衡实例ID + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 修改后的网络带宽信息 @@ -5720,14 +6032,14 @@ func (r *InquiryPriceModifyLoadBalancerResponse) FromJsonString(s string) error // Predefined struct for user type InquiryPriceRefundLoadBalancerRequestParams struct { - // 负载均衡实例ID + // 负载均衡实例ID。可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` } type InquiryPriceRefundLoadBalancerRequest struct { *tchttp.BaseRequest - // 负载均衡实例ID + // 负载均衡实例ID。可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` } @@ -5777,7 +6089,7 @@ func (r *InquiryPriceRefundLoadBalancerResponse) FromJsonString(s string) error // Predefined struct for user type InquiryPriceRenewLoadBalancerRequestParams struct { - // 负载均衡实例ID + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 续费周期 @@ -5787,7 +6099,7 @@ type InquiryPriceRenewLoadBalancerRequestParams struct { type InquiryPriceRenewLoadBalancerRequest struct { *tchttp.BaseRequest - // 负载均衡实例ID + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 续费周期 @@ -5840,18 +6152,23 @@ func (r *InquiryPriceRenewLoadBalancerResponse) FromJsonString(s string) error { } type InternetAccessible struct { - // TRAFFIC_POSTPAID_BY_HOUR 按流量按小时后计费 ; BANDWIDTH_POSTPAID_BY_HOUR 按带宽按小时后计费; BANDWIDTH_PACKAGE 按带宽包计费;BANDWIDTH_PREPAID按带宽预付费。 - // 注意:此字段可能返回 null,表示取不到有效值。 + // TRAFFIC_POSTPAID_BY_HOUR 按流量按小时后计费 ; BANDWIDTH_POSTPAID_BY_HOUR 按带宽按小时后计费,国际站用户不支持该计费模式; BANDWIDTH_PACKAGE 按带宽包计费;BANDWIDTH_PREPAID按带宽预付费。 InternetChargeType *string `json:"InternetChargeType,omitnil,omitempty" name:"InternetChargeType"` // 最大出带宽,单位Mbps,仅对公网属性的共享型、性能容量型和独占型 CLB 实例、以及内网属性的性能容量型 CLB 实例生效。 // - 对于公网属性的共享型和独占型 CLB 实例,最大出带宽的范围为1Mbps-2048Mbps。 // - 对于公网属性和内网属性的性能容量型 CLB实例,最大出带宽的范围为1Mbps-61440Mbps。 // (调用CreateLoadBalancer创建LB时不指定此参数则设置为默认值10Mbps。此上限可调整) - // 注意:此字段可能返回 null,表示取不到有效值。 InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitnil,omitempty" name:"InternetMaxBandwidthOut"` - // 带宽包的类型,如SINGLEISP(单线)、BGP(多线)。 + // 带宽包的类型,如 BGP(多线)。 + // 类型如下: + // SINGLEISP: 单线 + // BGP: 多线 + // HIGH_QUALITY_BGP: 精品BGP共享带宽包 + // SINGLEISP_CMCC: 中国移动共享带宽包 + // SINGLEISP_CTCC: 中国电信共享带宽包 + // SINGLEISP_CUCC: 中国联通共享带宽包 // 注意:此字段可能返回 null,表示取不到有效值。 BandwidthpkgSubType *string `json:"BandwidthpkgSubType,omitnil,omitempty" name:"BandwidthpkgSubType"` } @@ -5886,11 +6203,9 @@ type ItemPrice struct { type LBChargePrepaid struct { // 续费类型:AUTO_RENEW 自动续费, MANUAL_RENEW 手动续费 - // 注意:此字段可能返回 null,表示取不到有效值。 RenewFlag *string `json:"RenewFlag,omitnil,omitempty" name:"RenewFlag"` // 购买时长,单位:月 - // 注意:此字段可能返回 null,表示取不到有效值。 Period *int64 `json:"Period,omitnil,omitempty" name:"Period"` } @@ -5908,11 +6223,33 @@ type LBItem struct { Region *string `json:"Region,omitnil,omitempty" name:"Region"` } +type LBOperateProtectInfo struct { + // 负载均衡实例 ID。 + LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` + + // 保护状态,true:表示开启了操作保护,false:表示未开启操作保护。 + ProtectState *bool `json:"ProtectState,omitnil,omitempty" name:"ProtectState"` + + // 操作保护的设置uin。 + // 注意:此字段可能返回 null,表示取不到有效值。 + OperatorUin *string `json:"OperatorUin,omitnil,omitempty" name:"OperatorUin"` + + // 设置操作保护时的描述信息。 + // 注意:此字段可能返回 null,表示取不到有效值。 + Description *string `json:"Description,omitnil,omitempty" name:"Description"` + + // 最后修改时间。 + // 注意:此字段可能返回 null,表示取不到有效值。 + ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"` +} + type LbRsItem struct { // vpc的字符串id,只支持字符串id。 + // 可以通过 [DescribeVpcs](https://cloud.tencent.com/document/api/215/15778) 接口查询。 VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` - // 需要查询后端的内网ip,可以是cvm和弹性网卡。 + // 需要查询后端的内网 IP,可以是 CVM 和弹性网卡。 + // 可以通过 [DescribeAddresses](https://cloud.tencent.com/document/product/215/16702) 接口查询。 PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"` } @@ -5927,11 +6264,9 @@ type LbRsTargets struct { Port *int64 `json:"Port,omitnil,omitempty" name:"Port"` // rs的vpcId - // 注意:此字段可能返回 null,表示取不到有效值。 VpcId *int64 `json:"VpcId,omitnil,omitempty" name:"VpcId"` // rs的权重 - // 注意:此字段可能返回 null,表示取不到有效值。 Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` } @@ -5939,10 +6274,10 @@ type Listener struct { // 负载均衡监听器 ID ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 监听器协议 + // 监听器协议,可选值:TCP、UDP、HTTP、HTTPS、TCP_SSL、QUIC Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"` - // 监听器端口 + // 监听器端口,端口范围:1-65535 Port *int64 `json:"Port,omitnil,omitempty" name:"Port"` // 监听器绑定的证书信息 @@ -5957,12 +6292,11 @@ type Listener struct { // 注意:此字段可能返回 null,表示取不到有效值。 Scheduler *string `json:"Scheduler,omitnil,omitempty" name:"Scheduler"` - // 会话保持时间 + // 会话保持时间,单位:秒。可选值:30~3600,默认 0,默认不开启。此参数仅适用于TCP/UDP监听器。 // 注意:此字段可能返回 null,表示取不到有效值。 SessionExpireTime *int64 `json:"SessionExpireTime,omitnil,omitempty" name:"SessionExpireTime"` // 是否开启SNI特性,1:表示开启,0:表示不开启(本参数仅对于HTTPS监听器有意义) - // 注意:此字段可能返回 null,表示取不到有效值。 SniSwitch *int64 `json:"SniSwitch,omitnil,omitempty" name:"SniSwitch"` // 监听器下的全部转发规则(本参数仅对于HTTP/HTTPS监听器有意义) @@ -5970,18 +6304,15 @@ type Listener struct { Rules []*RuleOutput `json:"Rules,omitnil,omitempty" name:"Rules"` // 监听器的名称 - // 注意:此字段可能返回 null,表示取不到有效值。 ListenerName *string `json:"ListenerName,omitnil,omitempty" name:"ListenerName"` // 监听器的创建时间。 - // 注意:此字段可能返回 null,表示取不到有效值。 CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"` - // 端口段结束端口 - // 注意:此字段可能返回 null,表示取不到有效值。 + // 端口段结束端口,端口范围:2-65535 EndPort *int64 `json:"EndPort,omitnil,omitempty" name:"EndPort"` - // 后端服务器类型 + // 后端服务器类型,可选值:NODE、POLARIS、TARGETGROUP、TARGETGROUP-V2 // 注意:此字段可能返回 null,表示取不到有效值。 TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"` @@ -5990,7 +6321,6 @@ type Listener struct { TargetGroup *BasicTargetGroupInfo `json:"TargetGroup,omitnil,omitempty" name:"TargetGroup"` // 会话保持类型。NORMAL表示默认会话保持类型。QUIC_CID 表示根据Quic Connection ID做会话保持。 - // 注意:此字段可能返回 null,表示取不到有效值。 SessionType *string `json:"SessionType,omitnil,omitempty" name:"SessionType"` // 是否开启长连接,1开启,0关闭,(本参数仅对于HTTP/HTTPS监听器有意义) @@ -5998,15 +6328,12 @@ type Listener struct { KeepaliveEnable *int64 `json:"KeepaliveEnable,omitnil,omitempty" name:"KeepaliveEnable"` // 仅支持Nat64 CLB TCP监听器 - // 注意:此字段可能返回 null,表示取不到有效值。 Toa *bool `json:"Toa,omitnil,omitempty" name:"Toa"` // 解绑后端目标时,是否发RST给客户端,(此参数仅对于TCP监听器有意义)。 - // 注意:此字段可能返回 null,表示取不到有效值。 DeregisterTargetRst *bool `json:"DeregisterTargetRst,omitnil,omitempty" name:"DeregisterTargetRst"` // 监听器的属性 - // 注意:此字段可能返回 null,表示取不到有效值。 AttrFlags []*string `json:"AttrFlags,omitnil,omitempty" name:"AttrFlags"` // 绑定的目标组列表 @@ -6014,11 +6341,9 @@ type Listener struct { TargetGroupList []*BasicTargetGroupInfo `json:"TargetGroupList,omitnil,omitempty" name:"TargetGroupList"` // 监听器最大连接数,-1表示监听器维度不限速。 - // 注意:此字段可能返回 null,表示取不到有效值。 MaxConn *int64 `json:"MaxConn,omitnil,omitempty" name:"MaxConn"` // 监听器最大新增连接数,-1表示监听器维度不限速。 - // 注意:此字段可能返回 null,表示取不到有效值。 MaxCps *int64 `json:"MaxCps,omitnil,omitempty" name:"MaxCps"` // 空闲连接超时时间,仅支持TCP监听器。默认值:900;共享型实例和独占型实例取值范围:300~900,性能容量型实例取值范围:300~1980。 @@ -6026,8 +6351,10 @@ type Listener struct { IdleConnectTimeout *int64 `json:"IdleConnectTimeout,omitnil,omitempty" name:"IdleConnectTimeout"` // 调度时间。触发强制重新调度后,长连接将会在设置的调度时间内断开并完成重新分配 - // 注意:此字段可能返回 null,表示取不到有效值。 RescheduleInterval *uint64 `json:"RescheduleInterval,omitnil,omitempty" name:"RescheduleInterval"` + + // 数据压缩模式 + DataCompressMode *string `json:"DataCompressMode,omitnil,omitempty" name:"DataCompressMode"` } type ListenerBackend struct { @@ -6041,15 +6368,12 @@ type ListenerBackend struct { Port *int64 `json:"Port,omitnil,omitempty" name:"Port"` // 监听器下的规则信息(仅适用于HTTP/HTTPS监听器) - // 注意:此字段可能返回 null,表示取不到有效值。 Rules []*RuleTargets `json:"Rules,omitnil,omitempty" name:"Rules"` // 监听器上绑定的后端服务列表(仅适用于TCP/UDP/TCP_SSL监听器) - // 注意:此字段可能返回 null,表示取不到有效值。 Targets []*Backend `json:"Targets,omitnil,omitempty" name:"Targets"` // 若支持端口段,则为端口段结束端口;若不支持端口段,则为0 - // 注意:此字段可能返回 null,表示取不到有效值。 EndPort *int64 `json:"EndPort,omitnil,omitempty" name:"EndPort"` } @@ -6058,7 +6382,6 @@ type ListenerHealth struct { ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` // 监听器名称 - // 注意:此字段可能返回 null,表示取不到有效值。 ListenerName *string `json:"ListenerName,omitnil,omitempty" name:"ListenerName"` // 监听器的协议 @@ -6068,7 +6391,6 @@ type ListenerHealth struct { Port *int64 `json:"Port,omitnil,omitempty" name:"Port"` // 监听器的转发规则列表 - // 注意:此字段可能返回 null,表示取不到有效值。 Rules []*RuleHealth `json:"Rules,omitnil,omitempty" name:"Rules"` } @@ -6091,7 +6413,6 @@ type ListenerItem struct { Targets []*LbRsTargets `json:"Targets,omitnil,omitempty" name:"Targets"` // 端口段监听器的结束端口 - // 注意:此字段可能返回 null,表示取不到有效值。 EndPort *int64 `json:"EndPort,omitnil,omitempty" name:"EndPort"` } @@ -6103,50 +6424,43 @@ type LoadBalancer struct { LoadBalancerName *string `json:"LoadBalancerName,omitnil,omitempty" name:"LoadBalancerName"` // 负载均衡实例的网络类型: - // OPEN:公网属性, INTERNAL:内网属性;对于内网属性的负载均衡,可通过绑定EIP出公网,具体可参考EIP文档。 + // OPEN:公网属性, INTERNAL:内网属性;对于内网属性的负载均衡,可通过绑定EIP出公网,具体可参考EIP文档[绑定弹性公网IP](https://cloud.tencent.com/document/product/215/16700)。 LoadBalancerType *string `json:"LoadBalancerType,omitnil,omitempty" name:"LoadBalancerType"` // 负载均衡类型标识,1:负载均衡,0:传统型负载均衡。 Forward *uint64 `json:"Forward,omitnil,omitempty" name:"Forward"` // 负载均衡实例的域名,仅公网传统型和域名型负载均衡实例才提供该字段。逐步下线中,建议用LoadBalancerDomain替代。 - // 注意:此字段可能返回 null,表示取不到有效值。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 负载均衡实例的 VIP 列表。 - // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancerVips []*string `json:"LoadBalancerVips,omitnil,omitempty" name:"LoadBalancerVips"` // 负载均衡实例的状态,包括 // 0:创建中,1:正常运行。 - // 注意:此字段可能返回 null,表示取不到有效值。 Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"` // 负载均衡实例的创建时间。 - // 注意:此字段可能返回 null,表示取不到有效值。 + // 格式:YYYY-MM-DD HH:mm:ss CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"` // 负载均衡实例的上次状态转换时间。 - // 注意:此字段可能返回 null,表示取不到有效值。 + // 格式:YYYY-MM-DD HH:mm:ss StatusTime *string `json:"StatusTime,omitnil,omitempty" name:"StatusTime"` // 负载均衡实例所属的项目 ID, 0 表示默认项目。 ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"` // 私有网络的 ID - // 注意:此字段可能返回 null,表示取不到有效值。 VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` // 高防 LB 的标识,1:高防负载均衡 0:非高防负载均衡。 - // 注意:此字段可能返回 null,表示取不到有效值。 OpenBgp *uint64 `json:"OpenBgp,omitnil,omitempty" name:"OpenBgp"` - // 在 2016 年 12 月份之前的传统型内网负载均衡都是开启了 snat 的。 - // 注意:此字段可能返回 null,表示取不到有效值。 + // 是否开启 SNAT,在 2016 年 12 月份之前的传统型内网负载均衡都是开启了 SNAT 的。 Snat *bool `json:"Snat,omitnil,omitempty" name:"Snat"` - // 0:表示未被隔离,1:表示被隔离。 - // 注意:此字段可能返回 null,表示取不到有效值。 + // 是否被隔离,0:表示未被隔离,1:表示被隔离。 Isolation *uint64 `json:"Isolation,omitnil,omitempty" name:"Isolation"` // 用户开启日志的信息,日志只有公网属性创建了 HTTP 、HTTPS 监听器的负载均衡才会有日志。 @@ -6156,34 +6470,32 @@ type LoadBalancer struct { Log *string `json:"Log,omitnil,omitempty" name:"Log"` // 负载均衡实例所在的子网(仅对内网VPC型LB有意义) - // 注意:此字段可能返回 null,表示取不到有效值。 SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` // 负载均衡实例的标签信息 - // 注意:此字段可能返回 null,表示取不到有效值。 Tags []*TagInfo `json:"Tags,omitnil,omitempty" name:"Tags"` // 负载均衡实例的安全组 - // 注意:此字段可能返回 null,表示取不到有效值。 SecureGroups []*string `json:"SecureGroups,omitnil,omitempty" name:"SecureGroups"` // 负载均衡实例绑定的后端设备的基本信息 - // 注意:此字段可能返回 null,表示取不到有效值。 TargetRegionInfo *TargetRegionInfo `json:"TargetRegionInfo,omitnil,omitempty" name:"TargetRegionInfo"` // anycast负载均衡的发布域,对于非anycast的负载均衡,此字段返回为空字符串 - // 注意:此字段可能返回 null,表示取不到有效值。 AnycastZone *string `json:"AnycastZone,omitnil,omitempty" name:"AnycastZone"` // IP版本,ipv4 | ipv6 - // 注意:此字段可能返回 null,表示取不到有效值。 AddressIPVersion *string `json:"AddressIPVersion,omitnil,omitempty" name:"AddressIPVersion"` - // 数值形式的私有网络 ID - // 注意:此字段可能返回 null,表示取不到有效值。 + // 数值形式的私有网络 ID,可以通过[DescribeVpcs](https://cloud.tencent.com/document/product/215/15778)接口获取。 NumericalVpcId *uint64 `json:"NumericalVpcId,omitnil,omitempty" name:"NumericalVpcId"` - // 负载均衡IP地址所属的运营商。取值范围(BGP、CMCC、CTCC、CUCC) + // 负载均衡IP地址所属的运营商。 + // + // - BGP : BGP(多线) + // - CMCC:中国移动单线 + // - CTCC:中国电信单线 + // - CUCC:中国联通单线 // 注意:此字段可能返回 null,表示取不到有效值。 VipIsp *string `json:"VipIsp,omitnil,omitempty" name:"VipIsp"` @@ -6195,11 +6507,13 @@ type LoadBalancer struct { // 注意:此字段可能返回 null,表示取不到有效值。 BackupZoneSet []*ZoneInfo `json:"BackupZoneSet,omitnil,omitempty" name:"BackupZoneSet"` - // 负载均衡实例被隔离的时间 + // 负载均衡实例被隔离的时间。 + // 格式:YYYY-MM-DD HH:mm:ss // 注意:此字段可能返回 null,表示取不到有效值。 IsolatedTime *string `json:"IsolatedTime,omitnil,omitempty" name:"IsolatedTime"` - // 负载均衡实例的过期时间,仅对预付费负载均衡生效 + // 负载均衡实例的过期时间,仅对预付费负载均衡生效。 + // 格式:YYYY-MM-DD HH:mm:ss // 注意:此字段可能返回 null,表示取不到有效值。 ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"` @@ -6211,16 +6525,14 @@ type LoadBalancer struct { // 注意:此字段可能返回 null,表示取不到有效值。 NetworkAttributes *InternetAccessible `json:"NetworkAttributes,omitnil,omitempty" name:"NetworkAttributes"` - // 负载均衡实例的预付费相关属性 + // 负载均衡实例的预付费相关属性,仅在 ChargeType=PREPAID 时显示。 // 注意:此字段可能返回 null,表示取不到有效值。 PrepaidAttributes *LBChargePrepaid `json:"PrepaidAttributes,omitnil,omitempty" name:"PrepaidAttributes"` // 负载均衡日志服务(CLS)的日志集ID - // 注意:此字段可能返回 null,表示取不到有效值。 LogSetId *string `json:"LogSetId,omitnil,omitempty" name:"LogSetId"` // 负载均衡日志服务(CLS)的日志主题ID - // 注意:此字段可能返回 null,表示取不到有效值。 LogTopicId *string `json:"LogTopicId,omitnil,omitempty" name:"LogTopicId"` // 负载均衡实例的IPv6地址 @@ -6232,47 +6544,40 @@ type LoadBalancer struct { ExtraInfo *ExtraInfo `json:"ExtraInfo,omitnil,omitempty" name:"ExtraInfo"` // 是否可绑定高防包 - // 注意:此字段可能返回 null,表示取不到有效值。 IsDDos *bool `json:"IsDDos,omitnil,omitempty" name:"IsDDos"` // 负载均衡维度的个性化配置ID - // 注意:此字段可能返回 null,表示取不到有效值。 ConfigId *string `json:"ConfigId,omitnil,omitempty" name:"ConfigId"` // 后端服务是否放通来自LB的流量 - // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancerPassToTarget *bool `json:"LoadBalancerPassToTarget,omitnil,omitempty" name:"LoadBalancerPassToTarget"` // 内网独占集群 - // 注意:此字段可能返回 null,表示取不到有效值。 ExclusiveCluster *ExclusiveCluster `json:"ExclusiveCluster,omitnil,omitempty" name:"ExclusiveCluster"` - // IP地址版本为ipv6时此字段有意义, IPv6Nat64 | IPv6FullChain + // IP地址版本为ipv6时此字段有意义,IPv6Nat64 | IPv6FullChain。 + // IPv6Nat64: 基于 NAT64 IPv6 过渡技术实现的负载均衡器。 + // IPv6FullChain:基于 IPv6 单栈技术实现的负载均衡。 // 注意:此字段可能返回 null,表示取不到有效值。 IPv6Mode *string `json:"IPv6Mode,omitnil,omitempty" name:"IPv6Mode"` // 是否开启SnatPro。 - // 注意:此字段可能返回 null,表示取不到有效值。 SnatPro *bool `json:"SnatPro,omitnil,omitempty" name:"SnatPro"` // 开启SnatPro负载均衡后,SnatIp列表。 - // 注意:此字段可能返回 null,表示取不到有效值。 SnatIps []*SnatIp `json:"SnatIps,omitnil,omitempty" name:"SnatIps"` // 性能容量型规格。 - // 注意:此字段可能返回 null,表示取不到有效值。 SlaType *string `json:"SlaType,omitnil,omitempty" name:"SlaType"` // vip是否被封堵 - // 注意:此字段可能返回 null,表示取不到有效值。 IsBlock *bool `json:"IsBlock,omitnil,omitempty" name:"IsBlock"` - // 封堵或解封时间 - // 注意:此字段可能返回 null,表示取不到有效值。 + // 封堵或解封时间。 + // 格式:YYYY-MM-DD HH:mm:ss。 IsBlockTime *string `json:"IsBlockTime,omitnil,omitempty" name:"IsBlockTime"` // IP类型是否是本地BGP - // 注意:此字段可能返回 null,表示取不到有效值。 LocalBgp *bool `json:"LocalBgp,omitnil,omitempty" name:"LocalBgp"` // 7层独占标签。 @@ -6280,7 +6585,6 @@ type LoadBalancer struct { ClusterTag *string `json:"ClusterTag,omitnil,omitempty" name:"ClusterTag"` // 开启IPv6FullChain负载均衡7层监听器支持混绑IPv4/IPv6目标功能。 - // 注意:此字段可能返回 null,表示取不到有效值。 MixIpTarget *bool `json:"MixIpTarget,omitnil,omitempty" name:"MixIpTarget"` // 私有网络内网负载均衡,就近接入模式下规则所落在的可用区 @@ -6292,27 +6596,43 @@ type LoadBalancer struct { NfvInfo *string `json:"NfvInfo,omitnil,omitempty" name:"NfvInfo"` // 负载均衡日志服务(CLS)的健康检查日志集ID - // 注意:此字段可能返回 null,表示取不到有效值。 HealthLogSetId *string `json:"HealthLogSetId,omitnil,omitempty" name:"HealthLogSetId"` // 负载均衡日志服务(CLS)的健康检查日志主题ID - // 注意:此字段可能返回 null,表示取不到有效值。 HealthLogTopicId *string `json:"HealthLogTopicId,omitnil,omitempty" name:"HealthLogTopicId"` // 集群ID // 注意:此字段可能返回 null,表示取不到有效值。 ClusterIds []*string `json:"ClusterIds,omitnil,omitempty" name:"ClusterIds"` - // 负载均衡的属性 - // 注意:此字段可能返回 null,表示取不到有效值。 + // 负载均衡的属性,传入字符串数组来决定是否开启 + // DeleteProtect: 删除保护,开启后防止负载均衡被误删除。 + // UserInVisible: 用户不可见,控制负载均衡对用户的可见性。 + // BlockStatus: 阻塞状态,用于限制负载均衡的某些操作或流量。 + // NoLBNat: 禁用负载均衡的NAT功能,用于特定场景下的流量直接转发。 + // BanStatus: 封禁状态,用于暂停负载均衡服务或限制访问。 + // ShiftupFlag: 升配标志,用于标识负载均衡需要升级配置或性能。 + // Stop: 停止状态,开启后负载均衡暂停服务。 + // NoVpcGw: 不使用VPC网关,用于绕过VPC网关直接处理流量。 + // SgInTgw: 安全组在TGW(Transit Gateway)中,涉及网络安全策略配置。 + // SharedLimitFlag: 共享限制标志,用于控制负载均衡的共享资源限制。 + // WafFlag: Web应用防火墙(WAF)标志,开启后启用WAF保护。 + // IsDomainCLB: 域名型负载均衡,标识负载均衡是否基于域名进行流量分发。 + // IPv6Snat: IPv6源地址转换(SNAT),用于IPv6网络的源地址处理。 + // HideDomain: 隐藏域名,用于隐私保护或特定场景下不暴露域名。 + // JumboFrame: 巨型帧支持,开启后支持更大的数据帧以提高网络效率。 + // NoLBNatL4IPdc: 四层IP直连无NAT,用于四层负载均衡直接转发IP流量。 + // VpcGwL3Service: VPC网关三层服务,涉及三层网络服务的网关功能。 + // Ipv62Flag: IPv6扩展标志,用于特定的IPv6功能支持。 + // Ipv62ExclusiveFlag: IPv6独占标志,用于专属IPv6流量处理。 + // BgpPro: BGP Pro 支持。 + // ToaClean: TOA(TCP Option Address)清理,清除TCP选项中的地址信息。 AttributeFlags []*string `json:"AttributeFlags,omitnil,omitempty" name:"AttributeFlags"` // 负载均衡实例的域名。 - // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancerDomain *string `json:"LoadBalancerDomain,omitnil,omitempty" name:"LoadBalancerDomain"` // 网络出口 - // 注意:此字段可能返回 null,表示取不到有效值。 Egress *string `json:"Egress,omitnil,omitempty" name:"Egress"` // 实例类型是否为独占型。1:独占型实例。0:非独占型实例。 @@ -6331,7 +6651,7 @@ type LoadBalancerDetail struct { LoadBalancerName *string `json:"LoadBalancerName,omitnil,omitempty" name:"LoadBalancerName"` // 负载均衡实例的网络类型: - // OPEN:公网属性,INTERNAL:内网属性;对于内网属性的负载均衡,可通过绑定EIP出公网,具体可参考EIP文档。 + // Public:公网属性,Private:内网属性;对于内网属性的负载均衡,可通过绑定EIP出公网,具体可参考EIP文档。 // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancerType *string `json:"LoadBalancerType,omitnil,omitempty" name:"LoadBalancerType"` @@ -6473,11 +6793,9 @@ type LoadBalancerDetail struct { SniSwitch *int64 `json:"SniSwitch,omitnil,omitempty" name:"SniSwitch"` // 负载均衡实例的域名。 - // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancerDomain *string `json:"LoadBalancerDomain,omitnil,omitempty" name:"LoadBalancerDomain"` // 网络出口 - // 注意:此字段可能返回 null,表示取不到有效值。 Egress *string `json:"Egress,omitnil,omitempty" name:"Egress"` // 负载均衡的属性 @@ -6499,11 +6817,9 @@ type LoadBalancerHealth struct { LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 负载均衡实例名称 - // 注意:此字段可能返回 null,表示取不到有效值。 LoadBalancerName *string `json:"LoadBalancerName,omitnil,omitempty" name:"LoadBalancerName"` // 监听器列表 - // 注意:此字段可能返回 null,表示取不到有效值。 Listeners []*ListenerHealth `json:"Listeners,omitnil,omitempty" name:"Listeners"` } @@ -6524,7 +6840,6 @@ type LoadBalancerTraffic struct { OutBandwidth *float64 `json:"OutBandwidth,omitnil,omitempty" name:"OutBandwidth"` // CLB域名 - // 注意:此字段可能返回 null,表示取不到有效值。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` } @@ -6838,13 +7153,13 @@ func (r *ModifyCustomizedConfigResponse) FromJsonString(s string) error { // Predefined struct for user type ModifyDomainAttributesRequestParams struct { - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡监听器ID。 + // 负载均衡监听器ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 域名(必须是已经创建的转发规则下的域名),如果是多域名,可以指定多域名列表中的任意一个。 + // 域名(必须是已经创建的转发规则下的域名),如果是多域名,可以指定多域名列表中的任意一个,可以通过[DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 要修改的新域名。NewDomain和NewDomains只能传一个。 @@ -6853,13 +7168,16 @@ type ModifyDomainAttributesRequestParams struct { // 域名相关的证书信息,注意,仅对启用SNI的监听器适用,不可和MultiCertInfo 同时传入。 Certificate *CertificateInput `json:"Certificate,omitnil,omitempty" name:"Certificate"` - // 是否开启Http2,注意,只有HTTPS域名才能开启Http2。 + // 是否开启HTTP2,注意,只有HTTPS域名才能开启HTTP2。 + // True: 开启HTTP2,Fasle: 不开启HTTP2。 Http2 *bool `json:"Http2,omitnil,omitempty" name:"Http2"` // 是否设为默认域名,注意,一个监听器下只能设置一个默认域名。 + // True: 设为默认域名,Fasle: 不设置为默认域名。 DefaultServer *bool `json:"DefaultServer,omitnil,omitempty" name:"DefaultServer"` - // 是否开启Quic,注意,只有HTTPS域名才能开启Quic + // 是否开启 QUIC,注意,只有 HTTPS 域名才能开启 QUIC。 + // True: 开启 QUIC,False: 不开启QUIC。 Quic *bool `json:"Quic,omitnil,omitempty" name:"Quic"` // 监听器下必须配置一个默认域名,若要关闭原默认域名,必须同时指定另一个域名作为新的默认域名,如果新的默认域名是多域名,可以指定多域名列表中的任意一个。 @@ -6875,13 +7193,13 @@ type ModifyDomainAttributesRequestParams struct { type ModifyDomainAttributesRequest struct { *tchttp.BaseRequest - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡监听器ID。 + // 负载均衡监听器ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 域名(必须是已经创建的转发规则下的域名),如果是多域名,可以指定多域名列表中的任意一个。 + // 域名(必须是已经创建的转发规则下的域名),如果是多域名,可以指定多域名列表中的任意一个,可以通过[DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 要修改的新域名。NewDomain和NewDomains只能传一个。 @@ -6890,13 +7208,16 @@ type ModifyDomainAttributesRequest struct { // 域名相关的证书信息,注意,仅对启用SNI的监听器适用,不可和MultiCertInfo 同时传入。 Certificate *CertificateInput `json:"Certificate,omitnil,omitempty" name:"Certificate"` - // 是否开启Http2,注意,只有HTTPS域名才能开启Http2。 + // 是否开启HTTP2,注意,只有HTTPS域名才能开启HTTP2。 + // True: 开启HTTP2,Fasle: 不开启HTTP2。 Http2 *bool `json:"Http2,omitnil,omitempty" name:"Http2"` // 是否设为默认域名,注意,一个监听器下只能设置一个默认域名。 + // True: 设为默认域名,Fasle: 不设置为默认域名。 DefaultServer *bool `json:"DefaultServer,omitnil,omitempty" name:"DefaultServer"` - // 是否开启Quic,注意,只有HTTPS域名才能开启Quic + // 是否开启 QUIC,注意,只有 HTTPS 域名才能开启 QUIC。 + // True: 开启 QUIC,False: 不开启QUIC。 Quic *bool `json:"Quic,omitnil,omitempty" name:"Quic"` // 监听器下必须配置一个默认域名,若要关闭原默认域名,必须同时指定另一个域名作为新的默认域名,如果新的默认域名是多域名,可以指定多域名列表中的任意一个。 @@ -6962,13 +7283,13 @@ func (r *ModifyDomainAttributesResponse) FromJsonString(s string) error { // Predefined struct for user type ModifyDomainRequestParams struct { - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡监听器 ID。 + // 负载均衡监听器 ID, 可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 监听器下的某个旧域名。 + // 监听器下的某个旧域名, 可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 查询。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 新域名, 长度限制为:1-120。有三种使用格式:非正则表达式格式,通配符格式,正则表达式格式。非正则表达式格式只能使用字母、数字、‘-’、‘.’。通配符格式的使用 ‘*’ 只能在开头或者结尾。正则表达式以'~'开头。 @@ -6978,13 +7299,13 @@ type ModifyDomainRequestParams struct { type ModifyDomainRequest struct { *tchttp.BaseRequest - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡监听器 ID。 + // 负载均衡监听器 ID, 可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 监听器下的某个旧域名。 + // 监听器下的某个旧域名, 可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 查询。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 新域名, 长度限制为:1-120。有三种使用格式:非正则表达式格式,通配符格式,正则表达式格式。非正则表达式格式只能使用字母、数字、‘-’、‘.’。通配符格式的使用 ‘*’ 只能在开头或者结尾。正则表达式以'~'开头。 @@ -7043,7 +7364,7 @@ type ModifyFunctionTargetsRequestParams struct { // 负载均衡监听器ID。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 要修改的后端云函数服务列表。 + // 要修改的后端云函数服务列表,仅支持 Event 函数类型。 FunctionTargets []*FunctionTarget `json:"FunctionTargets,omitnil,omitempty" name:"FunctionTargets"` // 转发规则的ID,当绑定机器到七层转发规则时,必须提供此参数或Domain+Url两者之一。 @@ -7065,7 +7386,7 @@ type ModifyFunctionTargetsRequest struct { // 负载均衡监听器ID。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 要修改的后端云函数服务列表。 + // 要修改的后端云函数服务列表,仅支持 Event 函数类型。 FunctionTargets []*FunctionTarget `json:"FunctionTargets,omitnil,omitempty" name:"FunctionTargets"` // 转发规则的ID,当绑定机器到七层转发规则时,必须提供此参数或Domain+Url两者之一。 @@ -7126,13 +7447,13 @@ func (r *ModifyFunctionTargetsResponse) FromJsonString(s string) error { // Predefined struct for user type ModifyListenerRequestParams struct { - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡监听器ID。 + // 负载均衡监听器ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 新的监听器名称。 + // 新的监听器名称,最大长度255。 ListenerName *string `json:"ListenerName,omitnil,omitempty" name:"ListenerName"` // 会话保持时间,单位:秒。可选值:30~3600,默认 0,表示不开启。此参数仅适用于TCP/UDP监听器。 @@ -7144,7 +7465,7 @@ type ModifyListenerRequestParams struct { // 证书相关信息,此参数仅适用于HTTPS/TCP_SSL/QUIC监听器;此参数和MultiCertInfo不能同时传入。 Certificate *CertificateInput `json:"Certificate,omitnil,omitempty" name:"Certificate"` - // 监听器转发的方式。可选值:WRR、LEAST_CONN + // 监听器转发的方式。可选值:WRR(按权重轮询)、LEAST_CONN(按最小连接数)、IP_HASH(按 IP 地址哈希) // 分别表示按权重轮询、最小连接数, 默认为 WRR。 // 使用场景:适用于TCP/UDP/TCP_SSL/QUIC监听器。七层监听器的均衡方式应在转发规则中修改。 Scheduler *string `json:"Scheduler,omitnil,omitempty" name:"Scheduler"` @@ -7157,41 +7478,54 @@ type ModifyListenerRequestParams struct { // 是否开启长连接,此参数仅适用于HTTP/HTTPS监听器。 // 默认值0表示不开启,1表示开启。 + // 若后端服务对连接数上限有限制,则建议谨慎开启。此功能目前处于内测中,如需使用,请提交 [内测申请](https://cloud.tencent.com/apply/p/tsodp6qm21)。 KeepaliveEnable *int64 `json:"KeepaliveEnable,omitnil,omitempty" name:"KeepaliveEnable"` // 解绑后端目标时,是否发RST给客户端,此参数仅适用于TCP监听器。 + // True表示发送 RST 给客户端,False表示不发送 RST 给客户端。 + // 不传则表示不修改。 DeregisterTargetRst *bool `json:"DeregisterTargetRst,omitnil,omitempty" name:"DeregisterTargetRst"` // 会话保持类型。NORMAL表示默认会话保持类型。QUIC_CID表示根据Quic Connection ID做会话保持。QUIC_CID只支持UDP协议。 // 使用场景:适用于TCP/UDP/TCP_SSL/QUIC监听器。 + // 默认为 NORMAL。 SessionType *string `json:"SessionType,omitnil,omitempty" name:"SessionType"` // 证书信息,支持同时传入不同算法类型的多本服务端证书;此参数仅适用于未开启SNI特性的HTTPS监听器。此参数和Certificate不能同时传入。 MultiCertInfo *MultiCertInfo `json:"MultiCertInfo,omitnil,omitempty" name:"MultiCertInfo"` // 监听器粒度并发连接数上限,当前仅性能容量型实例且仅TCP/UDP/TCP_SSL/QUIC监听器支持。取值范围:1-实例规格并发连接上限,其中-1表示关闭监听器粒度并发连接数限速。基础网络实例不支持该参数。 + // 默认为 -1,表示不限速。 MaxConn *int64 `json:"MaxConn,omitnil,omitempty" name:"MaxConn"` // 监听器粒度新建连接数上限,当前仅性能容量型实例且仅TCP/UDP/TCP_SSL/QUIC监听器支持。取值范围:1-实例规格新建连接上限,其中-1表示关闭监听器粒度新建连接数限速。基础网络实例不支持该参数。 + // 默认为 -1 表示不限速。 MaxCps *int64 `json:"MaxCps,omitnil,omitempty" name:"MaxCps"` - // 空闲连接超时时间,此参数仅适用于TCP监听器,单位:秒。默认值:900,取值范围:共享型实例和独占型实例支持:300~900,性能容量型实例支持:300~2000。如需设置超过2000s,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category),最大可设置到3600s。 + // 空闲连接超时时间,此参数仅适用于TCP监听器,单位:秒。默认值:900,取值范围:共享型实例和独占型实例支持:300~900,性能容量型实例支持:300~1980。如需设置超过2000s,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category),最大可设置到3600s。 IdleConnectTimeout *int64 `json:"IdleConnectTimeout,omitnil,omitempty" name:"IdleConnectTimeout"` - // 是否开启SNAT。 + // TCP_SSL和QUIC是否支持PP + ProxyProtocol *bool `json:"ProxyProtocol,omitnil,omitempty" name:"ProxyProtocol"` + + // 是否开启SNAT, True 表示开启 SNAT,False 表示不开启 SNAT。 + // 不传则表示不修改。 SnatEnable *bool `json:"SnatEnable,omitnil,omitempty" name:"SnatEnable"` + + // 数据压缩模式 + DataCompressMode *string `json:"DataCompressMode,omitnil,omitempty" name:"DataCompressMode"` } type ModifyListenerRequest struct { *tchttp.BaseRequest - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡监听器ID。 + // 负载均衡监听器ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口查询。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 新的监听器名称。 + // 新的监听器名称,最大长度255。 ListenerName *string `json:"ListenerName,omitnil,omitempty" name:"ListenerName"` // 会话保持时间,单位:秒。可选值:30~3600,默认 0,表示不开启。此参数仅适用于TCP/UDP监听器。 @@ -7203,7 +7537,7 @@ type ModifyListenerRequest struct { // 证书相关信息,此参数仅适用于HTTPS/TCP_SSL/QUIC监听器;此参数和MultiCertInfo不能同时传入。 Certificate *CertificateInput `json:"Certificate,omitnil,omitempty" name:"Certificate"` - // 监听器转发的方式。可选值:WRR、LEAST_CONN + // 监听器转发的方式。可选值:WRR(按权重轮询)、LEAST_CONN(按最小连接数)、IP_HASH(按 IP 地址哈希) // 分别表示按权重轮询、最小连接数, 默认为 WRR。 // 使用场景:适用于TCP/UDP/TCP_SSL/QUIC监听器。七层监听器的均衡方式应在转发规则中修改。 Scheduler *string `json:"Scheduler,omitnil,omitempty" name:"Scheduler"` @@ -7216,29 +7550,42 @@ type ModifyListenerRequest struct { // 是否开启长连接,此参数仅适用于HTTP/HTTPS监听器。 // 默认值0表示不开启,1表示开启。 + // 若后端服务对连接数上限有限制,则建议谨慎开启。此功能目前处于内测中,如需使用,请提交 [内测申请](https://cloud.tencent.com/apply/p/tsodp6qm21)。 KeepaliveEnable *int64 `json:"KeepaliveEnable,omitnil,omitempty" name:"KeepaliveEnable"` // 解绑后端目标时,是否发RST给客户端,此参数仅适用于TCP监听器。 + // True表示发送 RST 给客户端,False表示不发送 RST 给客户端。 + // 不传则表示不修改。 DeregisterTargetRst *bool `json:"DeregisterTargetRst,omitnil,omitempty" name:"DeregisterTargetRst"` // 会话保持类型。NORMAL表示默认会话保持类型。QUIC_CID表示根据Quic Connection ID做会话保持。QUIC_CID只支持UDP协议。 // 使用场景:适用于TCP/UDP/TCP_SSL/QUIC监听器。 + // 默认为 NORMAL。 SessionType *string `json:"SessionType,omitnil,omitempty" name:"SessionType"` // 证书信息,支持同时传入不同算法类型的多本服务端证书;此参数仅适用于未开启SNI特性的HTTPS监听器。此参数和Certificate不能同时传入。 MultiCertInfo *MultiCertInfo `json:"MultiCertInfo,omitnil,omitempty" name:"MultiCertInfo"` // 监听器粒度并发连接数上限,当前仅性能容量型实例且仅TCP/UDP/TCP_SSL/QUIC监听器支持。取值范围:1-实例规格并发连接上限,其中-1表示关闭监听器粒度并发连接数限速。基础网络实例不支持该参数。 + // 默认为 -1,表示不限速。 MaxConn *int64 `json:"MaxConn,omitnil,omitempty" name:"MaxConn"` // 监听器粒度新建连接数上限,当前仅性能容量型实例且仅TCP/UDP/TCP_SSL/QUIC监听器支持。取值范围:1-实例规格新建连接上限,其中-1表示关闭监听器粒度新建连接数限速。基础网络实例不支持该参数。 + // 默认为 -1 表示不限速。 MaxCps *int64 `json:"MaxCps,omitnil,omitempty" name:"MaxCps"` - // 空闲连接超时时间,此参数仅适用于TCP监听器,单位:秒。默认值:900,取值范围:共享型实例和独占型实例支持:300~900,性能容量型实例支持:300~2000。如需设置超过2000s,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category),最大可设置到3600s。 + // 空闲连接超时时间,此参数仅适用于TCP监听器,单位:秒。默认值:900,取值范围:共享型实例和独占型实例支持:300~900,性能容量型实例支持:300~1980。如需设置超过2000s,请通过 [工单申请](https://console.cloud.tencent.com/workorder/category),最大可设置到3600s。 IdleConnectTimeout *int64 `json:"IdleConnectTimeout,omitnil,omitempty" name:"IdleConnectTimeout"` - // 是否开启SNAT。 + // TCP_SSL和QUIC是否支持PP + ProxyProtocol *bool `json:"ProxyProtocol,omitnil,omitempty" name:"ProxyProtocol"` + + // 是否开启SNAT, True 表示开启 SNAT,False 表示不开启 SNAT。 + // 不传则表示不修改。 SnatEnable *bool `json:"SnatEnable,omitnil,omitempty" name:"SnatEnable"` + + // 数据压缩模式 + DataCompressMode *string `json:"DataCompressMode,omitnil,omitempty" name:"DataCompressMode"` } func (r *ModifyListenerRequest) ToJsonString() string { @@ -7269,7 +7616,9 @@ func (r *ModifyListenerRequest) FromJsonString(s string) error { delete(f, "MaxConn") delete(f, "MaxCps") delete(f, "IdleConnectTimeout") + delete(f, "ProxyProtocol") delete(f, "SnatEnable") + delete(f, "DataCompressMode") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyListenerRequest has unknown keys!", "") } @@ -7300,10 +7649,10 @@ func (r *ModifyListenerResponse) FromJsonString(s string) error { // Predefined struct for user type ModifyLoadBalancerAttributesRequestParams struct { - // 负载均衡的唯一ID + // 负载均衡的唯一ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡实例名称 + // 负载均衡实例名称,规则:1-60 个英文、汉字、数字、连接线“-”或下划线“_”。 LoadBalancerName *string `json:"LoadBalancerName,omitnil,omitempty" name:"LoadBalancerName"` // 设置负载均衡跨地域绑定1.0的后端服务信息 @@ -7312,26 +7661,29 @@ type ModifyLoadBalancerAttributesRequestParams struct { // 网络计费相关参数 InternetChargeInfo *InternetAccessible `json:"InternetChargeInfo,omitnil,omitempty" name:"InternetChargeInfo"` - // Target是否放通来自CLB的流量。开启放通(true):只验证CLB上的安全组;不开启放通(false):需同时验证CLB和后端实例上的安全组。 + // Target是否放通来自CLB的流量。 + // 开启放通(true):只验证CLB上的安全组; + // 不开启放通(false):需同时验证CLB和后端实例上的安全组。 + // 不填则不修改。 LoadBalancerPassToTarget *bool `json:"LoadBalancerPassToTarget,omitnil,omitempty" name:"LoadBalancerPassToTarget"` - // 是否开启跨地域绑定2.0功能 + // 是否开启跨地域绑定2.0功能。不填则不修改。 SnatPro *bool `json:"SnatPro,omitnil,omitempty" name:"SnatPro"` - // 是否开启删除保护 + // 是否开启删除保护,不填则不修改。 DeleteProtect *bool `json:"DeleteProtect,omitnil,omitempty" name:"DeleteProtect"` - // 将负载均衡二级域名由mycloud.com改为tencentclb.com,子域名也会变换。修改后mycloud.com域名将失效。 + // 将负载均衡二级域名由mycloud.com改为tencentclb.com,子域名也会变换,修改后mycloud.com域名将失效。不填则不修改。 ModifyClassicDomain *bool `json:"ModifyClassicDomain,omitnil,omitempty" name:"ModifyClassicDomain"` } type ModifyLoadBalancerAttributesRequest struct { *tchttp.BaseRequest - // 负载均衡的唯一ID + // 负载均衡的唯一ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡实例名称 + // 负载均衡实例名称,规则:1-60 个英文、汉字、数字、连接线“-”或下划线“_”。 LoadBalancerName *string `json:"LoadBalancerName,omitnil,omitempty" name:"LoadBalancerName"` // 设置负载均衡跨地域绑定1.0的后端服务信息 @@ -7340,16 +7692,19 @@ type ModifyLoadBalancerAttributesRequest struct { // 网络计费相关参数 InternetChargeInfo *InternetAccessible `json:"InternetChargeInfo,omitnil,omitempty" name:"InternetChargeInfo"` - // Target是否放通来自CLB的流量。开启放通(true):只验证CLB上的安全组;不开启放通(false):需同时验证CLB和后端实例上的安全组。 + // Target是否放通来自CLB的流量。 + // 开启放通(true):只验证CLB上的安全组; + // 不开启放通(false):需同时验证CLB和后端实例上的安全组。 + // 不填则不修改。 LoadBalancerPassToTarget *bool `json:"LoadBalancerPassToTarget,omitnil,omitempty" name:"LoadBalancerPassToTarget"` - // 是否开启跨地域绑定2.0功能 + // 是否开启跨地域绑定2.0功能。不填则不修改。 SnatPro *bool `json:"SnatPro,omitnil,omitempty" name:"SnatPro"` - // 是否开启删除保护 + // 是否开启删除保护,不填则不修改。 DeleteProtect *bool `json:"DeleteProtect,omitnil,omitempty" name:"DeleteProtect"` - // 将负载均衡二级域名由mycloud.com改为tencentclb.com,子域名也会变换。修改后mycloud.com域名将失效。 + // 将负载均衡二级域名由mycloud.com改为tencentclb.com,子域名也会变换,修改后mycloud.com域名将失效。不填则不修改。 ModifyClassicDomain *bool `json:"ModifyClassicDomain,omitnil,omitempty" name:"ModifyClassicDomain"` } @@ -7407,7 +7762,8 @@ func (r *ModifyLoadBalancerAttributesResponse) FromJsonString(s string) error { // Predefined struct for user type ModifyLoadBalancerMixIpTargetRequestParams struct { - // 负载均衡实例ID数组。 + // 负载均衡实例ID数组,默认支持20个负载均衡实例ID。 + // 可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` // 开启/关闭IPv6FullChain负载均衡7层监听器支持混绑IPv4/IPv6目标特性。 @@ -7417,7 +7773,8 @@ type ModifyLoadBalancerMixIpTargetRequestParams struct { type ModifyLoadBalancerMixIpTargetRequest struct { *tchttp.BaseRequest - // 负载均衡实例ID数组。 + // 负载均衡实例ID数组,默认支持20个负载均衡实例ID。 + // 可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` // 开启/关闭IPv6FullChain负载均衡7层监听器支持混绑IPv4/IPv6目标特性。 @@ -7529,7 +7886,8 @@ func (r *ModifyLoadBalancerSlaResponse) FromJsonString(s string) error { // Predefined struct for user type ModifyLoadBalancersProjectRequestParams struct { - // 一个或多个待操作的负载均衡实例ID。 + // 一个或多个待操作的负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 + // 列表支持最大长度为20。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` // 项目ID。可以通过 [DescribeProject](https://cloud.tencent.com/document/api/651/78725) 接口获取。 @@ -7539,7 +7897,8 @@ type ModifyLoadBalancersProjectRequestParams struct { type ModifyLoadBalancersProjectRequest struct { *tchttp.BaseRequest - // 一个或多个待操作的负载均衡实例ID。 + // 一个或多个待操作的负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 + // 列表支持最大长度为20。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` // 项目ID。可以通过 [DescribeProject](https://cloud.tencent.com/document/api/651/78725) 接口获取。 @@ -7590,13 +7949,13 @@ func (r *ModifyLoadBalancersProjectResponse) FromJsonString(s string) error { // Predefined struct for user type ModifyRuleRequestParams struct { - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡监听器 ID。 + // 负载均衡监听器 ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口获取。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 要修改的转发规则的 ID。 + // 要修改的转发规则的 ID, 可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口获取。 LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"` // 转发规则的新的转发路径,如不需修改Url,则不需提供此参数。 @@ -7610,6 +7969,7 @@ type ModifyRuleRequestParams struct { Scheduler *string `json:"Scheduler,omitnil,omitempty" name:"Scheduler"` // 会话保持时间。取值范围0或30-86400(单位:秒)。 + // 默认为0。 SessionExpireTime *int64 `json:"SessionExpireTime,omitnil,omitempty" name:"SessionExpireTime"` // 负载均衡实例与后端服务之间的转发协议,默认HTTP,可取值:HTTP、HTTPS、GRPC。仅HTTPS监听器该参数有效。 @@ -7628,13 +7988,13 @@ type ModifyRuleRequestParams struct { type ModifyRuleRequest struct { *tchttp.BaseRequest - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/214/30685) 接口获取。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` - // 负载均衡监听器 ID。 + // 负载均衡监听器 ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口获取。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` - // 要修改的转发规则的 ID。 + // 要修改的转发规则的 ID, 可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口获取。 LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"` // 转发规则的新的转发路径,如不需修改Url,则不需提供此参数。 @@ -7648,6 +8008,7 @@ type ModifyRuleRequest struct { Scheduler *string `json:"Scheduler,omitnil,omitempty" name:"Scheduler"` // 会话保持时间。取值范围0或30-86400(单位:秒)。 + // 默认为0。 SessionExpireTime *int64 `json:"SessionExpireTime,omitnil,omitempty" name:"SessionExpireTime"` // 负载均衡实例与后端服务之间的转发协议,默认HTTP,可取值:HTTP、HTTPS、GRPC。仅HTTPS监听器该参数有效。 @@ -7722,7 +8083,7 @@ type ModifyTargetGroupAttributeRequestParams struct { // 目标组的新名称。 TargetGroupName *string `json:"TargetGroupName,omitnil,omitempty" name:"TargetGroupName"` - // 目标组的新默认端口。 + // 目标组的新默认端口。全监听目标组不支持此参数。 Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"` // 后端服务默认权重。 @@ -7730,7 +8091,14 @@ type ModifyTargetGroupAttributeRequestParams struct { //
  • 取值范围[0, 100]
  • //
  • 设置该值后,添加后端服务到目标组时, 若后端服务不单独设置权重, 则使用这里的默认权重。
  • // + // v1目标组类型不支持设置Weight参数。 Weight *uint64 `json:"Weight,omitnil,omitempty" name:"Weight"` + + // 是否开启长连接,此参数仅适用于HTTP/HTTPS目标组,true:关闭;false:开启, 默认关闭。 + KeepaliveEnable *bool `json:"KeepaliveEnable,omitnil,omitempty" name:"KeepaliveEnable"` + + // 会话保持时间,单位:秒。可选值:30~3600,默认 0,表示不开启。TCP/UDP目标组不支持该参数。 + SessionExpireTime *uint64 `json:"SessionExpireTime,omitnil,omitempty" name:"SessionExpireTime"` } type ModifyTargetGroupAttributeRequest struct { @@ -7742,7 +8110,7 @@ type ModifyTargetGroupAttributeRequest struct { // 目标组的新名称。 TargetGroupName *string `json:"TargetGroupName,omitnil,omitempty" name:"TargetGroupName"` - // 目标组的新默认端口。 + // 目标组的新默认端口。全监听目标组不支持此参数。 Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"` // 后端服务默认权重。 @@ -7750,7 +8118,14 @@ type ModifyTargetGroupAttributeRequest struct { //
  • 取值范围[0, 100]
  • //
  • 设置该值后,添加后端服务到目标组时, 若后端服务不单独设置权重, 则使用这里的默认权重。
  • // + // v1目标组类型不支持设置Weight参数。 Weight *uint64 `json:"Weight,omitnil,omitempty" name:"Weight"` + + // 是否开启长连接,此参数仅适用于HTTP/HTTPS目标组,true:关闭;false:开启, 默认关闭。 + KeepaliveEnable *bool `json:"KeepaliveEnable,omitnil,omitempty" name:"KeepaliveEnable"` + + // 会话保持时间,单位:秒。可选值:30~3600,默认 0,表示不开启。TCP/UDP目标组不支持该参数。 + SessionExpireTime *uint64 `json:"SessionExpireTime,omitnil,omitempty" name:"SessionExpireTime"` } func (r *ModifyTargetGroupAttributeRequest) ToJsonString() string { @@ -7769,6 +8144,8 @@ func (r *ModifyTargetGroupAttributeRequest) FromJsonString(s string) error { delete(f, "TargetGroupName") delete(f, "Port") delete(f, "Weight") + delete(f, "KeepaliveEnable") + delete(f, "SessionExpireTime") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyTargetGroupAttributeRequest has unknown keys!", "") } @@ -7802,7 +8179,7 @@ type ModifyTargetGroupInstancesPortRequestParams struct { // 目标组ID。 TargetGroupId *string `json:"TargetGroupId,omitnil,omitempty" name:"TargetGroupId"` - // 待修改端口的服务器数组。 + // 待修改端口的服务器数组,在这个接口 NewPort 和 Port 为必填项。 TargetGroupInstances []*TargetGroupInstance `json:"TargetGroupInstances,omitnil,omitempty" name:"TargetGroupInstances"` } @@ -7812,7 +8189,7 @@ type ModifyTargetGroupInstancesPortRequest struct { // 目标组ID。 TargetGroupId *string `json:"TargetGroupId,omitnil,omitempty" name:"TargetGroupId"` - // 待修改端口的服务器数组。 + // 待修改端口的服务器数组,在这个接口 NewPort 和 Port 为必填项。 TargetGroupInstances []*TargetGroupInstance `json:"TargetGroupInstances,omitnil,omitempty" name:"TargetGroupInstances"` } @@ -7863,7 +8240,7 @@ type ModifyTargetGroupInstancesWeightRequestParams struct { // 目标组ID。 TargetGroupId *string `json:"TargetGroupId,omitnil,omitempty" name:"TargetGroupId"` - // 待修改权重的服务器数组。 + // 待修改权重的服务器数组,在这个接口 Port 为必填项。 TargetGroupInstances []*TargetGroupInstance `json:"TargetGroupInstances,omitnil,omitempty" name:"TargetGroupInstances"` } @@ -7873,7 +8250,7 @@ type ModifyTargetGroupInstancesWeightRequest struct { // 目标组ID。 TargetGroupId *string `json:"TargetGroupId,omitnil,omitempty" name:"TargetGroupId"` - // 待修改权重的服务器数组。 + // 待修改权重的服务器数组,在这个接口 Port 为必填项。 TargetGroupInstances []*TargetGroupInstance `json:"TargetGroupInstances,omitnil,omitempty" name:"TargetGroupInstances"` } @@ -8023,6 +8400,9 @@ type ModifyTargetWeightRequestParams struct { // 负载均衡监听器ID。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` + // 要修改权重的后端服务列表。 + Targets []*Target `json:"Targets,omitnil,omitempty" name:"Targets"` + // 转发规则的ID,当绑定机器到七层转发规则时,必须提供此参数或Domain+Url两者之一。 LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"` @@ -8032,9 +8412,6 @@ type ModifyTargetWeightRequestParams struct { // 目标规则的URL,提供LocationId参数时本参数不生效。 Url *string `json:"Url,omitnil,omitempty" name:"Url"` - // 要修改权重的后端服务列表。 - Targets []*Target `json:"Targets,omitnil,omitempty" name:"Targets"` - // 后端服务新的转发权重,取值范围:0~100,默认值10。如果设置了 Targets.Weight 参数,则此参数不生效。 Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` } @@ -8048,6 +8425,9 @@ type ModifyTargetWeightRequest struct { // 负载均衡监听器ID。 ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` + // 要修改权重的后端服务列表。 + Targets []*Target `json:"Targets,omitnil,omitempty" name:"Targets"` + // 转发规则的ID,当绑定机器到七层转发规则时,必须提供此参数或Domain+Url两者之一。 LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"` @@ -8057,9 +8437,6 @@ type ModifyTargetWeightRequest struct { // 目标规则的URL,提供LocationId参数时本参数不生效。 Url *string `json:"Url,omitnil,omitempty" name:"Url"` - // 要修改权重的后端服务列表。 - Targets []*Target `json:"Targets,omitnil,omitempty" name:"Targets"` - // 后端服务新的转发权重,取值范围:0~100,默认值10。如果设置了 Targets.Weight 参数,则此参数不生效。 Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` } @@ -8078,10 +8455,10 @@ func (r *ModifyTargetWeightRequest) FromJsonString(s string) error { } delete(f, "LoadBalancerId") delete(f, "ListenerId") + delete(f, "Targets") delete(f, "LocationId") delete(f, "Domain") delete(f, "Url") - delete(f, "Targets") delete(f, "Weight") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyTargetWeightRequest has unknown keys!", "") @@ -8117,24 +8494,27 @@ type MultiCertInfo struct { // 监听器或规则证书列表,单双向认证,多本服务端证书算法类型不能重复;若SSLMode为双向认证,证书列表必须包含一本ca证书。 CertList []*CertInfo `json:"CertList,omitnil,omitempty" name:"CertList"` + + // 双向认证时,是否开启客户端认证,ON:开启,OPTIONAL:自适应,默认ON + SSLVerifyClient *string `json:"SSLVerifyClient,omitnil,omitempty" name:"SSLVerifyClient"` } type OAuth struct { // 开启或关闭鉴权。 // True: 开启; // False: 关闭 - // 注意:此字段可能返回 null,表示取不到有效值。 + // 默认为关闭。 OAuthEnable *bool `json:"OAuthEnable,omitnil,omitempty" name:"OAuthEnable"` - // IAP全部故障后,拒绝请求还是放行。BYPASS:通过, + // IAP全部故障后,拒绝请求还是放行。 + // BYPASS: 通过 // REJECT: 拒绝 - // 注意:此字段可能返回 null,表示取不到有效值。 + // 默认为 BYPASS OAuthFailureStatus *string `json:"OAuthFailureStatus,omitnil,omitempty" name:"OAuthFailureStatus"` } type Price struct { // 描述了实例价格。 - // 注意:此字段可能返回 null,表示取不到有效值。 InstancePrice *ItemPrice `json:"InstancePrice,omitnil,omitempty" name:"InstancePrice"` // 描述了网络价格。 @@ -8153,8 +8533,9 @@ type Quota struct { //
  • TOTAL_LISTENER_QUOTA:一个CLB下的监听器配额
  • //
  • TOTAL_LISTENER_RULE_QUOTA:一个监听器下的转发规则配额
  • //
  • TOTAL_TARGET_BIND_QUOTA:一条转发规则下可绑定设备的配额
  • - //
  • TOTAL_SNAP_IP_QUOTA: 一个CLB实例下跨地域2.0的SNAT IP配额
  • + //
  • TOTAL_SNAT_IP_QUOTA: 一个CLB实例下跨地域2.0的SNAT IP配额
  • //
  • TOTAL_ISP_CLB_QUOTA:用户当前地域下的三网CLB配额
  • + //
  • TOTAL_FULL_PORT_RANGE_LISTENER_QUOTA:一个CLB实例下的单个协议全端口段监听器配额
  • QuotaId *string `json:"QuotaId,omitnil,omitempty" name:"QuotaId"` // 当前使用数量,为 null 时表示无意义。 @@ -8259,7 +8640,7 @@ type RegisterTargetGroupInstancesRequestParams struct { // 目标组ID TargetGroupId *string `json:"TargetGroupId,omitnil,omitempty" name:"TargetGroupId"` - // 服务器实例数组 + // 服务器实例数组,服务器和目标组的 VPC 需相同。 TargetGroupInstances []*TargetGroupInstance `json:"TargetGroupInstances,omitnil,omitempty" name:"TargetGroupInstances"` } @@ -8269,7 +8650,7 @@ type RegisterTargetGroupInstancesRequest struct { // 目标组ID TargetGroupId *string `json:"TargetGroupId,omitnil,omitempty" name:"TargetGroupId"` - // 服务器实例数组 + // 服务器实例数组,服务器和目标组的 VPC 需相同。 TargetGroupInstances []*TargetGroupInstance `json:"TargetGroupInstances,omitnil,omitempty" name:"TargetGroupInstances"` } @@ -8326,7 +8707,7 @@ type RegisterTargetsRequestParams struct { // 待绑定的后端服务列表,数组长度最大支持20。 Targets []*Target `json:"Targets,omitnil,omitempty" name:"Targets"` - // 转发规则的ID,当绑定后端服务到七层转发规则时,必须提供此参数或Domain+Url两者之一。 + // 转发规则的ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口获取,当绑定后端服务到七层转发规则时,必须提供此参数或Domain+Url两者之一。 LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"` // 目标转发规则的域名,提供LocationId参数时本参数不生效。 @@ -8348,7 +8729,7 @@ type RegisterTargetsRequest struct { // 待绑定的后端服务列表,数组长度最大支持20。 Targets []*Target `json:"Targets,omitnil,omitempty" name:"Targets"` - // 转发规则的ID,当绑定后端服务到七层转发规则时,必须提供此参数或Domain+Url两者之一。 + // 转发规则的ID,可以通过 [DescribeListeners](https://cloud.tencent.com/document/product/214/30686) 接口获取,当绑定后端服务到七层转发规则时,必须提供此参数或Domain+Url两者之一。 LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"` // 目标转发规则的域名,提供LocationId参数时本参数不生效。 @@ -8534,11 +8915,9 @@ type Resource struct { Isp *string `json:"Isp,omitnil,omitempty" name:"Isp"` // 可用资源。 - // 注意:此字段可能返回 null,表示取不到有效值。 AvailabilitySet []*ResourceAvailability `json:"AvailabilitySet,omitnil,omitempty" name:"AvailabilitySet"` // 运营商类型信息 - // 注意:此字段可能返回 null,表示取不到有效值。 TypeSet []*TypeInfo `json:"TypeSet,omitnil,omitempty" name:"TypeSet"` } @@ -8568,26 +8947,21 @@ type RewriteLocationMap struct { } type RewriteTarget struct { - // 重定向目标的监听器ID - // 注意:此字段可能返回 null,表示无重定向。 + // 重定向目标的监听器ID,该字段仅配置了重定向时有效。 // 注意:此字段可能返回 null,表示取不到有效值。 TargetListenerId *string `json:"TargetListenerId,omitnil,omitempty" name:"TargetListenerId"` - // 重定向目标的转发规则ID - // 注意:此字段可能返回 null,表示无重定向。 + // 重定向目标的转发规则ID,该字段仅配置了重定向时有效。 // 注意:此字段可能返回 null,表示取不到有效值。 TargetLocationId *string `json:"TargetLocationId,omitnil,omitempty" name:"TargetLocationId"` // 重定向状态码 - // 注意:此字段可能返回 null,表示取不到有效值。 RewriteCode *int64 `json:"RewriteCode,omitnil,omitempty" name:"RewriteCode"` // 重定向是否携带匹配的url - // 注意:此字段可能返回 null,表示取不到有效值。 TakeUrl *bool `json:"TakeUrl,omitnil,omitempty" name:"TakeUrl"` // 重定向类型,Manual: 手动重定向,Auto: 自动重定向 - // 注意:此字段可能返回 null,表示取不到有效值。 RewriteType *string `json:"RewriteType,omitnil,omitempty" name:"RewriteType"` } @@ -8642,7 +9016,6 @@ type RuleHealth struct { Url *string `json:"Url,omitnil,omitempty" name:"Url"` // 本规则上绑定的后端服务的健康检查状态 - // 注意:此字段可能返回 null,表示取不到有效值。 Targets []*TargetHealth `json:"Targets,omitnil,omitempty" name:"Targets"` } @@ -8666,7 +9039,7 @@ type RuleInput struct { // 分别表示按权重轮询、最小连接数、按IP哈希, 默认为 WRR。 Scheduler *string `json:"Scheduler,omitnil,omitempty" name:"Scheduler"` - // 负载均衡与后端服务之间的转发协议,目前支持 HTTP/HTTPS/GRPC/TRPC,TRPC暂未对外开放,默认HTTP。 + // 负载均衡与后端服务之间的转发协议,目前支持 HTTP/HTTPS/GRPC/GRPCS/TRPC,TRPC暂未对外开放,默认HTTP。 ForwardType *string `json:"ForwardType,omitnil,omitempty" name:"ForwardType"` // 是否将该域名设为默认域名,注意,一个监听器下只能设置一个默认域名。 @@ -8699,18 +9072,15 @@ type RuleOutput struct { LocationId *string `json:"LocationId,omitnil,omitempty" name:"LocationId"` // 转发规则的域名。 - // 注意:此字段可能返回 null,表示取不到有效值。 Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 转发规则的路径。 - // 注意:此字段可能返回 null,表示取不到有效值。 Url *string `json:"Url,omitnil,omitempty" name:"Url"` // 会话保持时间 SessionExpireTime *int64 `json:"SessionExpireTime,omitnil,omitempty" name:"SessionExpireTime"` // 健康检查信息 - // 注意:此字段可能返回 null,表示取不到有效值。 HealthCheck *HealthCheck `json:"HealthCheck,omitnil,omitempty" name:"HealthCheck"` // 证书信息 @@ -8725,7 +9095,6 @@ type RuleOutput struct { ListenerId *string `json:"ListenerId,omitnil,omitempty" name:"ListenerId"` // 转发规则的重定向目标信息 - // 注意:此字段可能返回 null,表示取不到有效值。 RewriteTarget *RewriteTarget `json:"RewriteTarget,omitnil,omitempty" name:"RewriteTarget"` // 是否开启gzip @@ -8754,23 +9123,18 @@ type RuleOutput struct { TargetGroup *BasicTargetGroupInfo `json:"TargetGroup,omitnil,omitempty" name:"TargetGroup"` // WAF实例ID - // 注意:此字段可能返回 null,表示取不到有效值。 WafDomainId *string `json:"WafDomainId,omitnil,omitempty" name:"WafDomainId"` // TRPC被调服务器路由,ForwardType为TRPC时有效。目前暂未对外开放。 - // 注意:此字段可能返回 null,表示取不到有效值。 TrpcCallee *string `json:"TrpcCallee,omitnil,omitempty" name:"TrpcCallee"` // TRPC调用服务接口,ForwardType为TRPC时有效。目前暂未对外开放。 - // 注意:此字段可能返回 null,表示取不到有效值。 TrpcFunc *string `json:"TrpcFunc,omitnil,omitempty" name:"TrpcFunc"` // QUIC状态。QUIC_ACTIVE表示开启,QUIC_INACTIVE表示未开启。注意,只有HTTPS域名才能开启QUIC。 - // 注意:此字段可能返回 null,表示取不到有效值。 QuicStatus *string `json:"QuicStatus,omitnil,omitempty" name:"QuicStatus"` // 转发规则的域名列表。 - // 注意:此字段可能返回 null,表示取不到有效值。 Domains []*string `json:"Domains,omitnil,omitempty" name:"Domains"` // 绑定的目标组列表 @@ -8778,7 +9142,6 @@ type RuleOutput struct { TargetGroupList []*BasicTargetGroupInfo `json:"TargetGroupList,omitnil,omitempty" name:"TargetGroupList"` // OAuth配置状态信息。 - // 注意:此字段可能返回 null,表示取不到有效值。 OAuth *OAuth `json:"OAuth,omitnil,omitempty" name:"OAuth"` } @@ -8793,11 +9156,9 @@ type RuleTargets struct { Url *string `json:"Url,omitnil,omitempty" name:"Url"` // 后端服务的信息 - // 注意:此字段可能返回 null,表示取不到有效值。 Targets []*Backend `json:"Targets,omitnil,omitempty" name:"Targets"` // 后端云函数的信息 - // 注意:此字段可能返回 null,表示取不到有效值。 FunctionTargets []*FunctionTarget `json:"FunctionTargets,omitnil,omitempty" name:"FunctionTargets"` } @@ -8818,7 +9179,7 @@ type RulesItems struct { // Predefined struct for user type SetCustomizedConfigForLoadBalancerRequestParams struct { // 操作类型。 - // - ADD:添加 + // - ADD:创建 // - DELETE:删除 // - UPDATE:修改 // - BIND:绑定 @@ -8828,13 +9189,15 @@ type SetCustomizedConfigForLoadBalancerRequestParams struct { // 个性化配置ID。除了创建个性化配置外,必传此字段,如:pz-1234abcd UconfigId *string `json:"UconfigId,omitnil,omitempty" name:"UconfigId"` - // 个性化配置内容。创建个性化配置或修改个性化配置的内容时,必传此字段 + // 个性化配置内容。创建个性化配置或修改个性化配置的内容时,必传此字段。 + // 具体限制查看 [七层个性化配置](https://cloud.tencent.com/document/product/214/15171) ConfigContent *string `json:"ConfigContent,omitnil,omitempty" name:"ConfigContent"` - // 个性化配置名称。创建个性化配置或修改个性化配置的名字时,必传此字段 + // 个性化配置名称。创建个性化配置或修改个性化配置的名字时,必传此字段。 ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"` - // 负载均衡实例ID。绑定解绑时,必传此字段 + // 负载均衡实例ID。绑定解绑时,必传此字段。 + // 可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` } @@ -8842,7 +9205,7 @@ type SetCustomizedConfigForLoadBalancerRequest struct { *tchttp.BaseRequest // 操作类型。 - // - ADD:添加 + // - ADD:创建 // - DELETE:删除 // - UPDATE:修改 // - BIND:绑定 @@ -8852,13 +9215,15 @@ type SetCustomizedConfigForLoadBalancerRequest struct { // 个性化配置ID。除了创建个性化配置外,必传此字段,如:pz-1234abcd UconfigId *string `json:"UconfigId,omitnil,omitempty" name:"UconfigId"` - // 个性化配置内容。创建个性化配置或修改个性化配置的内容时,必传此字段 + // 个性化配置内容。创建个性化配置或修改个性化配置的内容时,必传此字段。 + // 具体限制查看 [七层个性化配置](https://cloud.tencent.com/document/product/214/15171) ConfigContent *string `json:"ConfigContent,omitnil,omitempty" name:"ConfigContent"` - // 个性化配置名称。创建个性化配置或修改个性化配置的名字时,必传此字段 + // 个性化配置名称。创建个性化配置或修改个性化配置的名字时,必传此字段。 ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"` - // 负载均衡实例ID。绑定解绑时,必传此字段 + // 负载均衡实例ID。绑定解绑时,必传此字段。 + // 可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` } @@ -8912,17 +9277,17 @@ func (r *SetCustomizedConfigForLoadBalancerResponse) FromJsonString(s string) er // Predefined struct for user type SetLoadBalancerClsLogRequestParams struct { - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 日志服务(CLS)的日志集 ID。 //
  • 增加和更新日志主题时可调用 [DescribeLogsets](https://cloud.tencent.com/document/product/614/58624) 接口获取日志集 ID。
  • - //
  • 删除日志主题时,此参数填写为null即可。
  • + //
  • 删除日志主题时,此参数填写为**空字符串**即可。
  • LogSetId *string `json:"LogSetId,omitnil,omitempty" name:"LogSetId"` // 日志服务(CLS)的日志主题 ID。 //
  • 增加和更新日志主题时可调用 [DescribeTopics](https://cloud.tencent.com/document/product/614/56454) 接口获取日志主题 ID。
  • - //
  • 删除日志主题时,此参数填写为null即可。
  • + //
  • 删除日志主题时,此参数填写为**空字符串**即可。
  • LogTopicId *string `json:"LogTopicId,omitnil,omitempty" name:"LogTopicId"` // 日志类型: @@ -8935,17 +9300,17 @@ type SetLoadBalancerClsLogRequestParams struct { type SetLoadBalancerClsLogRequest struct { *tchttp.BaseRequest - // 负载均衡实例 ID。 + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 日志服务(CLS)的日志集 ID。 //
  • 增加和更新日志主题时可调用 [DescribeLogsets](https://cloud.tencent.com/document/product/614/58624) 接口获取日志集 ID。
  • - //
  • 删除日志主题时,此参数填写为null即可。
  • + //
  • 删除日志主题时,此参数填写为**空字符串**即可。
  • LogSetId *string `json:"LogSetId,omitnil,omitempty" name:"LogSetId"` // 日志服务(CLS)的日志主题 ID。 //
  • 增加和更新日志主题时可调用 [DescribeTopics](https://cloud.tencent.com/document/product/614/56454) 接口获取日志主题 ID。
  • - //
  • 删除日志主题时,此参数填写为null即可。
  • + //
  • 删除日志主题时,此参数填写为**空字符串**即可。
  • LogTopicId *string `json:"LogTopicId,omitnil,omitempty" name:"LogTopicId"` // 日志类型: @@ -9001,20 +9366,22 @@ func (r *SetLoadBalancerClsLogResponse) FromJsonString(s string) error { // Predefined struct for user type SetLoadBalancerSecurityGroupsRequestParams struct { - // 负载均衡实例 ID + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 安全组ID构成的数组,一个负载均衡实例最多可绑定50个安全组,如果要解绑所有安全组,可不传此参数。 + // 可以通过 [DescribeSecurityGroups](https://cloud.tencent.com/document/product/215/15808) 接口查询。 SecurityGroups []*string `json:"SecurityGroups,omitnil,omitempty" name:"SecurityGroups"` } type SetLoadBalancerSecurityGroupsRequest struct { *tchttp.BaseRequest - // 负载均衡实例 ID + // 负载均衡实例 ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 安全组ID构成的数组,一个负载均衡实例最多可绑定50个安全组,如果要解绑所有安全组,可不传此参数。 + // 可以通过 [DescribeSecurityGroups](https://cloud.tencent.com/document/product/215/15808) 接口查询。 SecurityGroups []*string `json:"SecurityGroups,omitnil,omitempty" name:"SecurityGroups"` } @@ -9065,7 +9432,7 @@ type SetLoadBalancerStartStatusRequestParams struct { // 操作类型。Start:启动实例,Stop:停止实例。 OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 监听器ID。如果该字段为空,则表示操作负载均衡实例,如果不为空,则表示操作监听器。 @@ -9078,7 +9445,7 @@ type SetLoadBalancerStartStatusRequest struct { // 操作类型。Start:启动实例,Stop:停止实例。 OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` - // 负载均衡实例ID。 + // 负载均衡实例ID,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 监听器ID。如果该字段为空,则表示操作负载均衡实例,如果不为空,则表示操作监听器。 @@ -9130,28 +9497,30 @@ func (r *SetLoadBalancerStartStatusResponse) FromJsonString(s string) error { // Predefined struct for user type SetSecurityGroupForLoadbalancersRequestParams struct { - // 安全组ID,如 sg-12345678 + // 安全组ID,如 sg-12345678。可以通过 [DescribeSecurityGroups](https://cloud.tencent.com/document/product/215/15808) 接口获取。 SecurityGroup *string `json:"SecurityGroup,omitnil,omitempty" name:"SecurityGroup"` // ADD 绑定安全组; // DEL 解绑安全组 OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` - // 负载均衡实例ID数组 + // 负载均衡实例ID数组,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 + // 列表支持的最大长度为20。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` } type SetSecurityGroupForLoadbalancersRequest struct { *tchttp.BaseRequest - // 安全组ID,如 sg-12345678 + // 安全组ID,如 sg-12345678。可以通过 [DescribeSecurityGroups](https://cloud.tencent.com/document/product/215/15808) 接口获取。 SecurityGroup *string `json:"SecurityGroup,omitnil,omitempty" name:"SecurityGroup"` // ADD 绑定安全组; // DEL 解绑安全组 OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` - // 负载均衡实例ID数组 + // 负载均衡实例ID数组,可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 + // 列表支持的最大长度为20。 LoadBalancerIds []*string `json:"LoadBalancerIds,omitnil,omitempty" name:"LoadBalancerIds"` } @@ -9199,7 +9568,8 @@ func (r *SetSecurityGroupForLoadbalancersResponse) FromJsonString(s string) erro } type SlaUpdateParam struct { - // lb的字符串ID + // 负载均衡实例 ID。 + // 可以通过 [DescribeLoadBalancers](https://cloud.tencent.com/document/product/1108/48459) 接口查询。 LoadBalancerId *string `json:"LoadBalancerId,omitnil,omitempty" name:"LoadBalancerId"` // 性能容量型规格,取值范围: @@ -9225,12 +9595,9 @@ type SpecAvailability struct { // 规格类型。 //
  • clb.c2.medium(标准型)
  • clb.c3.small(高阶型1)
  • clb.c3.medium(高阶型2)
  • //
  • clb.c4.small(超强型1)
  • clb.c4.medium(超强型2)
  • clb.c4.large(超强型3)
  • clb.c4.xlarge(超强型4)
  • shared(共享型)
  • - // - // 注意:此字段可能返回 null,表示取不到有效值。 SpecType *string `json:"SpecType,omitnil,omitempty" name:"SpecType"` // 规格可用性。资源可用性,"Available":可用,"Unavailable":不可用 - // 注意:此字段可能返回 null,表示取不到有效值。 Availability *string `json:"Availability,omitnil,omitempty" name:"Availability"` } @@ -9245,16 +9612,13 @@ type TagInfo struct { type Target struct { // 后端服务的监听端口。 // 注意:绑定CVM(云服务器)或ENI(弹性网卡)时必传此参数 - // 注意:此字段可能返回 null,表示取不到有效值。 Port *int64 `json:"Port,omitnil,omitempty" name:"Port"` // 后端服务的类型,可取:CVM(云服务器)、ENI(弹性网卡);作为入参时,目前本参数暂不生效。 - // 注意:此字段可能返回 null,表示取不到有效值。 Type *string `json:"Type,omitnil,omitempty" name:"Type"` // 绑定CVM时需要传入此参数,代表CVM的唯一 ID,可通过 DescribeInstances 接口返回字段中的 InstanceId 字段获取。表示绑定主网卡主IPv4地址;以下场景都不支持指定InstanceId:绑定非CVM,绑定CVM上的辅助网卡IP,通过跨域2.0绑定CVM,以及绑定CVM的IPv6地址等。 // 注意:参数 InstanceId、EniIp 有且只能传入其中一个参数。 - // 注意:此字段可能返回 null,表示取不到有效值。 InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` // 后端服务修改后的转发权重,取值范围:[0, 100],默认为 10。此参数的优先级高于[RsWeightRule](https://cloud.tencent.com/document/api/214/30694#RsWeightRule)中的Weight参数,即最终的权重值以此Weight参数值为准,仅当此Weight参数为空时,才以RsWeightRule中的Weight参数为准。 @@ -9262,11 +9626,9 @@ type Target struct { // 绑定IP时需要传入此参数,支持弹性网卡的IP和其他内网IP,如果是弹性网卡则必须先绑定至CVM,然后才能绑定到负载均衡实例。 // 注意:参数 InstanceId、EniIp 有且只能传入其中一个参数。如果绑定双栈IPV6子机,则必须传该参数。如果是跨地域绑定,则必须传该参数,不支持传InstanceId参数。 - // 注意:此字段可能返回 null,表示取不到有效值。 EniIp *string `json:"EniIp,omitnil,omitempty" name:"EniIp"` // 标签。 - // 注意:此字段可能返回 null,表示取不到有效值。 Tag *string `json:"Tag,omitnil,omitempty" name:"Tag"` } @@ -9297,22 +9659,19 @@ type TargetGroupBackend struct { // 后端服务的唯一 ID InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` - // 后端服务的监听端口 + // 后端服务的监听端口,全端口段监听器此字段返回0,代表无效端口,即不支持设置。 Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"` // 后端服务的转发权重,取值范围:[0, 100],默认为 10。 Weight *uint64 `json:"Weight,omitnil,omitempty" name:"Weight"` // 后端服务的外网 IP - // 注意:此字段可能返回 null,表示取不到有效值。 PublicIpAddresses []*string `json:"PublicIpAddresses,omitnil,omitempty" name:"PublicIpAddresses"` // 后端服务的内网 IP - // 注意:此字段可能返回 null,表示取不到有效值。 PrivateIpAddresses []*string `json:"PrivateIpAddresses,omitnil,omitempty" name:"PrivateIpAddresses"` // 后端服务的实例名称 - // 注意:此字段可能返回 null,表示取不到有效值。 InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"` // 后端服务被绑定的时间 @@ -9320,11 +9679,9 @@ type TargetGroupBackend struct { RegisteredTime *string `json:"RegisteredTime,omitnil,omitempty" name:"RegisteredTime"` // 弹性网卡唯一ID - // 注意:此字段可能返回 null,表示取不到有效值。 EniId *string `json:"EniId,omitnil,omitempty" name:"EniId"` // 后端服务的可用区ID - // 注意:此字段可能返回 null,表示取不到有效值。 ZoneId *uint64 `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` } @@ -9338,7 +9695,7 @@ type TargetGroupInfo struct { // 目标组的名字 TargetGroupName *string `json:"TargetGroupName,omitnil,omitempty" name:"TargetGroupName"` - // 目标组的默认端口 + // 目标组的默认端口,全监听目标组此字段返回0,表示无效端口。 // 注意:此字段可能返回 null,表示取不到有效值。 Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"` @@ -9352,37 +9709,43 @@ type TargetGroupInfo struct { // 注意:此字段可能返回 null,表示取不到有效值。 AssociatedRule []*AssociationItem `json:"AssociatedRule,omitnil,omitempty" name:"AssociatedRule"` - // 目标组类型,当前支持v1(旧版目标组), v2(新版目标组), gwlb(全局负载均衡目标组)。 + // 后端转发协议类型,支持类型TCP, UDP。仅V2新版目标组支持返回该参数。 + // // 注意:此字段可能返回 null,表示取不到有效值。 + Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"` + + // 目标组类型,当前支持v1(旧版目标组), v2(新版目标组), gwlb(全局负载均衡目标组)。 TargetGroupType *string `json:"TargetGroupType,omitnil,omitempty" name:"TargetGroupType"` // 目标组已关联的规则数。 - // 注意:此字段可能返回 null,表示取不到有效值。 AssociatedRuleCount *int64 `json:"AssociatedRuleCount,omitnil,omitempty" name:"AssociatedRuleCount"` // 目标组内的实例数量。 - // 注意:此字段可能返回 null,表示取不到有效值。 RegisteredInstancesCount *int64 `json:"RegisteredInstancesCount,omitnil,omitempty" name:"RegisteredInstancesCount"` // 标签。 Tag []*TagInfo `json:"Tag,omitnil,omitempty" name:"Tag"` // 默认权重。只有v2类型目标组返回该字段。当返回为NULL时, 表示未设置默认权重。 - // 注意:此字段可能返回 null,表示取不到有效值。 Weight *uint64 `json:"Weight,omitnil,omitempty" name:"Weight"` + + // 是否全监听目标组 + FullListenSwitch *bool `json:"FullListenSwitch,omitnil,omitempty" name:"FullListenSwitch"` } type TargetGroupInstance struct { // 目标组实例的内网IP BindIP *string `json:"BindIP,omitnil,omitempty" name:"BindIP"` - // 目标组实例的端口 + // 目标组实例的端口,全监听目标组不支持传此字段。 Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"` // 目标组实例的权重 + // v2目标组需要配置权重,调用CreateTargetGroup接口创建目标组时该参数与创建接口中的Weight参数必填其一。 + // 取值范围:0-100 Weight *uint64 `json:"Weight,omitnil,omitempty" name:"Weight"` - // 目标组实例的新端口 + // 目标组实例的新端口,全监听目标组不支持传此字段。 NewPort *uint64 `json:"NewPort,omitnil,omitempty" name:"NewPort"` } @@ -9408,8 +9771,10 @@ type TargetHealth struct { HealthStatusDetial *string `json:"HealthStatusDetial,omitnil,omitempty" name:"HealthStatusDetial"` // 目标组唯一ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 TargetGroupId *string `json:"TargetGroupId,omitnil,omitempty" name:"TargetGroupId"` + + // Target的权重。 + Weight *uint64 `json:"Weight,omitnil,omitempty" name:"Weight"` } type TargetRegionInfo struct { @@ -9418,41 +9783,36 @@ type TargetRegionInfo struct { // Target所属网络,私有网络格式如 vpc-abcd1234,如果是基础网络,则为"0" VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` + + // Target所属网络,私有网络格式如86323,如果是基础网络,则为0 + NumericalVpcId *int64 `json:"NumericalVpcId,omitnil,omitempty" name:"NumericalVpcId"` } type TypeInfo struct { // 运营商类型 - // 注意:此字段可能返回 null,表示取不到有效值。 Type *string `json:"Type,omitnil,omitempty" name:"Type"` // 规格可用性 - // 注意:此字段可能返回 null,表示取不到有效值。 SpecAvailabilitySet []*SpecAvailability `json:"SpecAvailabilitySet,omitnil,omitempty" name:"SpecAvailabilitySet"` } type ZoneInfo struct { // 可用区数值形式的唯一ID,如:100001 - // 注意:此字段可能返回 null,表示取不到有效值。 ZoneId *uint64 `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 可用区字符串形式的唯一ID,如:ap-guangzhou-1 - // 注意:此字段可能返回 null,表示取不到有效值。 Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` // 可用区名称,如:广州一区 - // 注意:此字段可能返回 null,表示取不到有效值。 ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"` // 可用区所属地域,如:ap-guangzhou - // 注意:此字段可能返回 null,表示取不到有效值。 ZoneRegion *string `json:"ZoneRegion,omitnil,omitempty" name:"ZoneRegion"` // 可用区是否是LocalZone可用区,如:false - // 注意:此字段可能返回 null,表示取不到有效值。 LocalZone *bool `json:"LocalZone,omitnil,omitempty" name:"LocalZone"` // 可用区是否是EdgeZone可用区,如:false - // 注意:此字段可能返回 null,表示取不到有效值。 EdgeZone *bool `json:"EdgeZone,omitnil,omitempty" name:"EdgeZone"` } @@ -9461,7 +9821,6 @@ type ZoneResource struct { MasterZone *string `json:"MasterZone,omitnil,omitempty" name:"MasterZone"` // 资源列表。 - // 注意:此字段可能返回 null,表示取不到有效值。 ResourceSet []*Resource `json:"ResourceSet,omitnil,omitempty" name:"ResourceSet"` // 备可用区,如"ap-guangzhou-2",单可用区时,备可用区为null。 @@ -9484,6 +9843,5 @@ type ZoneResource struct { EdgeZone *bool `json:"EdgeZone,omitnil,omitempty" name:"EdgeZone"` // 网络出口 - // 注意:此字段可能返回 null,表示取不到有效值。 Egress *string `json:"Egress,omitnil,omitempty" name:"Egress"` } \ No newline at end of file diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go index e5ee237932..7c6696d344 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go @@ -265,7 +265,7 @@ func CompleteCommonParams(request Request, region string, requestClient string) params["Action"] = request.GetAction() params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10) params["Nonce"] = strconv.Itoa(rand.Int()) - params["RequestClient"] = "SDK_GO_1.0.1182" + params["RequestClient"] = "SDK_GO_1.0.1188" if requestClient != "" { params["RequestClient"] += ": " + requestClient } diff --git a/vendor/modules.txt b/vendor/modules.txt index e21eb0d09a..a24532eb5c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1157,7 +1157,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam/v20220331 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.1073 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka/v20190819 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1107 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1188 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb/v20180317 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 @@ -1166,7 +1166,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1148 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1182 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1188 ## explicit; go 1.11 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors diff --git a/website/docs/r/clb_listener.html.markdown b/website/docs/r/clb_listener.html.markdown index ee908076fc..e2d08e6998 100644 --- a/website/docs/r/clb_listener.html.markdown +++ b/website/docs/r/clb_listener.html.markdown @@ -201,6 +201,7 @@ The following arguments are supported: * `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. * `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. * `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). +* `full_end_ports` - (Optional, List: [`Int`], ForceNew) End port of the full port segment listener. * `h2c_switch` - (Optional, Bool, ForceNew) Enable H2C switch for intranet HTTP listener. * `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`. * `health_check_health_num` - (Optional, Int) Health threshold of health check, and the default is `3`. If a success result is returned for the health check for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. diff --git a/website/docs/r/clb_target_group.html.markdown b/website/docs/r/clb_target_group.html.markdown index 3e4922ad7e..d89a7070b9 100644 --- a/website/docs/r/clb_target_group.html.markdown +++ b/website/docs/r/clb_target_group.html.markdown @@ -13,10 +13,55 @@ Provides a resource to create a CLB target group. ## Example Usage +### If type is v1 + ```hcl -resource "tencentcloud_clb_target_group" "test" { - target_group_name = "test" - port = 33 +resource "tencentcloud_clb_target_group" "example" { + target_group_name = "tf-example" + vpc_id = "vpc-jy6pwoy2" + port = 8090 + type = "v1" + + tags { + tag_key = "tagKey" + tag_value = "tagValue" + } +} +``` + +### If type is v2 + +```hcl +resource "tencentcloud_clb_target_group" "example" { + target_group_name = "tf-example" + vpc_id = "vpc-jy6pwoy2" + port = 8090 + type = "v2" + protocol = "TCP" + weight = 60 + + tags { + tag_key = "tagKey" + tag_value = "tagValue" + } +} +``` + +### Or full_listen_switch is true + +```hcl +resource "tencentcloud_clb_target_group" "example" { + target_group_name = "tf-example" + vpc_id = "vpc-jy6pwoy2" + type = "v2" + protocol = "TCP" + weight = 60 + full_listen_switch = true + + tags { + tag_key = "tagKey" + tag_value = "tagValue" + } } ``` @@ -24,10 +69,20 @@ resource "tencentcloud_clb_target_group" "test" { The following arguments are supported: -* `port` - (Optional, Int) The default port of target group, add server after can use it. -* `target_group_instances` - (Optional, List, **Deprecated**) It has been deprecated from version 1.77.3. please use `tencentcloud_clb_target_group_instance_attachment` instead. The backend server of target group bind. +* `full_listen_switch` - (Optional, Bool) Full listening target group identifier, true indicates full listening target group, false indicates not full listening target group. +* `port` - (Optional, Int) The default port of target group, add server after can use it. If `full_listen_switch` is true, setting this parameter is not supported. +* `protocol` - (Optional, String) Target group backend forwarding protocol. This item is required for the v2 new version target group. Currently supports `TCP`, `UDP`. +* `tags` - (Optional, List) Label. +* `target_group_instances` - (Optional, List, **Deprecated**) It has been deprecated from version 1.77.3. Please use `tencentcloud_clb_target_group_instance_attachment` instead. The backend server of target group bind. * `target_group_name` - (Optional, String) Target group name. +* `type` - (Optional, String) Target group type, currently supports v1 (old version target group), v2 (new version target group), defaults to v1 (old version target group). * `vpc_id` - (Optional, String, ForceNew) VPC ID, default is based on the network. +* `weight` - (Optional, Int) Default weights for backend services. Value range [0, 100]. After setting this value, when adding backend services to the target group, if the backend services do not have separate weights set, the default weights here will be used. + +The `tags` object supports the following: + +* `tag_key` - (Required, String) Tag key. +* `tag_value` - (Required, String) Tag value. The `target_group_instances` object supports the following: @@ -49,6 +104,6 @@ In addition to all arguments above, the following attributes are exported: CLB target group can be imported using the id, e.g. ``` -$ terraform import tencentcloud_clb_target_group.test lbtg-3k3io0i0 +$ terraform import tencentcloud_clb_target_group.example lbtg-3k3io0i0 ``` diff --git a/website/docs/r/clb_target_group_attachment.html.markdown b/website/docs/r/clb_target_group_attachment.html.markdown index a5725ae0d5..69f7c62335 100644 --- a/website/docs/r/clb_target_group_attachment.html.markdown +++ b/website/docs/r/clb_target_group_attachment.html.markdown @@ -64,6 +64,13 @@ resource "tencentcloud_clb_listener_rule" "example" { resource "tencentcloud_clb_target_group" "example" { target_group_name = "tf-example" vpc_id = tencentcloud_vpc.vpc.id + port = 8090 + type = "v1" + + tags { + tag_key = "tagKey" + tag_value = "tagValue" + } } // create clb target group attachment @@ -83,6 +90,7 @@ The following arguments are supported: * `target_group_id` - (Required, String, ForceNew) ID of the CLB target group. * `listener_id` - (Optional, String, ForceNew) ID of the CLB listener. * `rule_id` - (Optional, String, ForceNew) ID of the CLB listener rule. +* `weight` - (Optional, Int, ForceNew) Target group weight, range [0, 100]. It only takes effect when binding to the v2 target group. If it does not exist, it defaults to 10. ## Attributes Reference diff --git a/website/docs/r/clb_target_group_attachments.html.markdown b/website/docs/r/clb_target_group_attachments.html.markdown index 1a96726de8..49879980a5 100644 --- a/website/docs/r/clb_target_group_attachments.html.markdown +++ b/website/docs/r/clb_target_group_attachments.html.markdown @@ -4,26 +4,27 @@ layout: "tencentcloud" page_title: "TencentCloud: tencentcloud_clb_target_group_attachments" sidebar_current: "docs-tencentcloud-resource-clb_target_group_attachments" description: |- - Provides a resource to create a clb target_group_attachments + Provides a resource to create a CLB target group attachments --- # tencentcloud_clb_target_group_attachments -Provides a resource to create a clb target_group_attachments +Provides a resource to create a CLB target group attachments -This resource supports bidirectional binding (target group binding to the load balancer, load balancer binding to the target group). When choosing either the load balancer or the target group as the binding target, up to 20 combinations can be bound at most. +~> **NOTE:** This resource supports bidirectional binding (target group binding to the load balancer, load balancer binding to the target group). When choosing either the load balancer or the target group as the binding target, up to 20 combinations can be bound at most. ## Example Usage ### Load balancer binding to the target group ```hcl -resource "tencentcloud_clb_target_group_attachments" "target_group_attachments" { - load_balancer_id = "lb-phbx2420" +resource "tencentcloud_clb_target_group_attachments" "example" { + load_balancer_id = "lb-lmgp1eis" associations { - listener_id = "lbl-m2q6sp9m" - target_group_id = "lbtg-5xunivs0" - location_id = "loc-jjqr0ric" + listener_id = "lbl-jbdfcswy" + target_group_id = "lbtg-bjosq37w" + location_id = "loc-bjl41tpc" + weight = "10" } } ``` @@ -31,12 +32,13 @@ resource "tencentcloud_clb_target_group_attachments" "target_group_attachments" ### Target group binding to the load balancer ```hcl -resource "tencentcloud_clb_target_group_attachments" "target_group_attachments" { - target_group_id = "lbtg-5xunivs0" +resource "tencentcloud_clb_target_group_attachments" "example" { + load_balancer_id = "lb-lmgp1eis" associations { - listener_id = "lbl-m2q6sp9m" + listener_id = "lbl-jbdfcswy" load_balancer_id = "lb-phbx2420" - location_id = "loc-jjqr0ric" + location_id = "loc-bjl41tpc" + weight = "10" } } ``` @@ -55,6 +57,7 @@ The `associations` object supports the following: * `load_balancer_id` - (Optional, String, ForceNew) CLB instance ID, when the binding target is target group, load_balancer_id in associations is required. * `location_id` - (Optional, String, ForceNew) Forwarding rule ID. * `target_group_id` - (Optional, String, ForceNew) Target group ID, when the binding target is clb, the target_group_id in associations is required. +* `weight` - (Optional, String, ForceNew) Target group weight, range ['0', '100']. It only takes effect when binding to the v2 target group. ## Attributes Reference diff --git a/website/docs/r/clb_target_group_instance_attachment.html.markdown b/website/docs/r/clb_target_group_instance_attachment.html.markdown index a01155dbbd..78acfd9c2f 100644 --- a/website/docs/r/clb_target_group_instance_attachment.html.markdown +++ b/website/docs/r/clb_target_group_instance_attachment.html.markdown @@ -73,13 +73,19 @@ data "tencentcloud_instances" "instances" { resource "tencentcloud_clb_target_group" "example" { target_group_name = "tf-example" vpc_id = tencentcloud_vpc.vpc.id + port = 8090 + type = "v1" + + tags { + tag_key = "tagKey" + tag_value = "tagValue" + } } resource "tencentcloud_clb_target_group_instance_attachment" "example" { target_group_id = tencentcloud_clb_target_group.example.id - bind_ip = data.tencentcloud_instances.instances.instance_list[0].private_ip + bind_ip = tencentcloud_instance.example.private_ip port = 8080 - weight = 10 } ``` @@ -88,9 +94,9 @@ resource "tencentcloud_clb_target_group_instance_attachment" "example" { The following arguments are supported: * `bind_ip` - (Required, String, ForceNew) The Intranet IP of the target group instance. -* `port` - (Required, Int, ForceNew) Port of the target group instance. +* `port` - (Required, Int, ForceNew) The port of the target group instance, fully listening to the target group does not support passing this field. * `target_group_id` - (Required, String, ForceNew) Target group ID. -* `weight` - (Required, Int) The weight of the target group instance. +* `weight` - (Required, Int) Weight of target group instance v2 target group needs to be configured with weight. When calling CreateTargetGroup interface to create target group, either this parameter or Weight parameter in the creation interface must be filled in. Value range: 0-100. ## Attributes Reference @@ -105,6 +111,6 @@ In addition to all arguments above, the following attributes are exported: CLB target group instance attachment can be imported using the id, e.g. ``` -$ terraform import tencentcloud_clb_target_group_instance_attachment.example lbtg-3k3io0i0#172.16.48.18#8080 +$ terraform import tencentcloud_clb_target_group_instance_attachment.example lbtg-3k3io0i0#10.0.30.25#8080 ```