tencentcloud-sdk-nodejs-intl-en
Version:
1,574 lines (1,327 loc) • 390 kB
JavaScript
/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
const AbstractModel = require("../../common/abstract_model");
/**
* DeleteRewrite request structure.
* @class
*/
class DeleteRewriteRequest extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancerId = null;
/**
* Source listener ID
* @type {string || null}
*/
this.SourceListenerId = null;
/**
* Target listener ID
* @type {string || null}
*/
this.TargetListenerId = null;
/**
* Redirection relationship between forwarding rules
* @type {Array.<RewriteLocationMap> || null}
*/
this.RewriteInfos = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancerId = 'LoadBalancerId' in params ? params.LoadBalancerId : null;
this.SourceListenerId = 'SourceListenerId' in params ? params.SourceListenerId : null;
this.TargetListenerId = 'TargetListenerId' in params ? params.TargetListenerId : null;
if (params.RewriteInfos) {
this.RewriteInfos = new Array();
for (let z in params.RewriteInfos) {
let obj = new RewriteLocationMap();
obj.deserialize(params.RewriteInfos[z]);
this.RewriteInfos.push(obj);
}
}
}
}
/**
* DescribeTargetGroupList response structure.
* @class
*/
class DescribeTargetGroupListResponse extends AbstractModel {
constructor(){
super();
/**
* Number of displayed results
* @type {number || null}
*/
this.TotalCount = null;
/**
* Information set of displayed target groups
* @type {Array.<TargetGroupInfo> || null}
*/
this.TargetGroupSet = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
if (params.TargetGroupSet) {
this.TargetGroupSet = new Array();
for (let z in params.TargetGroupSet) {
let obj = new TargetGroupInfo();
obj.deserialize(params.TargetGroupSet[z]);
this.TargetGroupSet.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeQuota request structure.
* @class
*/
class DescribeQuotaRequest extends AbstractModel {
constructor(){
super();
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
}
}
/**
* DescribeTargetGroupList request structure.
* @class
*/
class DescribeTargetGroupListRequest extends AbstractModel {
constructor(){
super();
/**
* Target group ID array
* @type {Array.<string> || null}
*/
this.TargetGroupIds = null;
/**
* Filter array, which is exclusive of `TargetGroupIds`. Valid values: `TargetGroupVpcId` and `TargetGroupName`. Target group ID will be used first.
* @type {Array.<Filter> || null}
*/
this.Filters = null;
/**
* Starting display offset
* @type {number || null}
*/
this.Offset = null;
/**
* Limit of the number of displayed results. Default value: 20.
* @type {number || null}
*/
this.Limit = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TargetGroupIds = 'TargetGroupIds' in params ? params.TargetGroupIds : null;
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
}
}
/**
* BatchDeregisterTargets response structure.
* @class
*/
class BatchDeregisterTargetsResponse extends AbstractModel {
constructor(){
super();
/**
* IDs of the listeners failed to unbind
* @type {Array.<string> || null}
*/
this.FailListenerIdSet = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.FailListenerIdSet = 'FailListenerIdSet' in params ? params.FailListenerIdSet : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* SetLoadBalancerSecurityGroups response structure.
* @class
*/
class SetLoadBalancerSecurityGroupsResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Object bound to the layer-7 listener rule
* @class
*/
class RulesItems extends AbstractModel {
constructor(){
super();
/**
* Rule ID.
* @type {string || null}
*/
this.LocationId = null;
/**
* Domain name.
* @type {string || null}
*/
this.Domain = null;
/**
* Uri
* @type {string || null}
*/
this.Url = null;
/**
* Object bound to the real server.
* @type {Array.<LbRsTargets> || null}
*/
this.Targets = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LocationId = 'LocationId' in params ? params.LocationId : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.Url = 'Url' in params ? params.Url : null;
if (params.Targets) {
this.Targets = new Array();
for (let z in params.Targets) {
let obj = new LbRsTargets();
obj.deserialize(params.Targets[z]);
this.Targets.push(obj);
}
}
}
}
/**
* Reserved field which can be ignored generally.
* @class
*/
class ExtraInfo extends AbstractModel {
constructor(){
super();
/**
* Whether to enable VIP direct connection
Note: This field may return null, indicating that no valid values can be obtained.
* @type {boolean || null}
*/
this.ZhiTong = null;
/**
* TgwGroup name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TgwGroupName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ZhiTong = 'ZhiTong' in params ? params.ZhiTong : null;
this.TgwGroupName = 'TgwGroupName' in params ? params.TgwGroupName : null;
}
}
/**
* BatchModifyTargetWeight response structure.
* @class
*/
class BatchModifyTargetWeightResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* SetSecurityGroupForLoadbalancers request structure.
* @class
*/
class SetSecurityGroupForLoadbalancersRequest extends AbstractModel {
constructor(){
super();
/**
* Security group ID, such as sg-12345678
* @type {string || null}
*/
this.SecurityGroup = null;
/**
* ADD: bind a security group;
DEL: unbind a security group
* @type {string || null}
*/
this.OperationType = null;
/**
* Array of CLB instance IDs
* @type {Array.<string> || null}
*/
this.LoadBalancerIds = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.SecurityGroup = 'SecurityGroup' in params ? params.SecurityGroup : null;
this.OperationType = 'OperationType' in params ? params.OperationType : null;
this.LoadBalancerIds = 'LoadBalancerIds' in params ? params.LoadBalancerIds : null;
}
}
/**
* CreateLoadBalancer request structure.
* @class
*/
class CreateLoadBalancerRequest extends AbstractModel {
constructor(){
super();
/**
* CLB instance network type:
OPEN: public network; INTERNAL: private network.
* @type {string || null}
*/
this.LoadBalancerType = null;
/**
* CLB instance type. Valid value: 1 (generic CLB instance).
* @type {number || null}
*/
this.Forward = null;
/**
* CLB instance name, which takes effect only when only one instance is to be created in the request. It can consist 1 to 60 letters, digits, hyphens (-), or underscores (_).
Note: if the name of the new CLB instance already exists, a default name will be generated automatically.
* @type {string || null}
*/
this.LoadBalancerName = null;
/**
* Network ID of the target device on the CLB backend, such as `vpc-12345678`, which can be obtained through the `DescribeVpcEx` API. If this parameter is not entered, `DefaultVPC` is used by default. This parameter is required when creating a private network instance.
* @type {string || null}
*/
this.VpcId = null;
/**
* A subnet ID must be specified when you purchase a private network CLB instance in a VPC, and the VIP of this instance will be generated in this subnet. This parameter is required for creating a CLB instance.
* @type {string || null}
*/
this.SubnetId = null;
/**
* ID of the project to which a CLB instance belongs, which can be obtained through the `DescribeProject` API. If this parameter is not entered, the default project will be used.
* @type {number || null}
*/
this.ProjectId = null;
/**
* It's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: `IPV6` indicates IPv6 NAT64, while `IPv6FullChain` indicates IPv6.
* @type {string || null}
*/
this.AddressIPVersion = null;
/**
* Number of CLBs to be created. Default value: 1.
* @type {number || null}
*/
this.Number = null;
/**
* ID of the primary availability zone configured for cross-availability zone disaster recovery, such as 100001 or ap-guangzhou-1. It applies only to public network CLB.Note: The primary availability zone is the one that carries traffic. The replica availability zone does not carry traffic by default and is only used when the primary availability zone is unavailable. Currently, primary and replica availability zones are supported only for the IPv4 CLB instances in the regions of Guangzhou, Shanghai, Nanjing, Beijing, Chengdu, Shenzhen Finance Zone, Hong Kong (China), Seoul, Frankfurt, and Singapore. You can query the list of primary availability zones in a region through the [DescribeResources](https://intl.cloud.tencent.com/document/api/214/70213?from_cn_redirect=1) API.
* @type {string || null}
*/
this.MasterZoneId = null;
/**
* Specifies an AZ ID for creating a CLB instance, such as `ap-guangzhou-1`, which is applicable only to public network CLB instances.
* @type {string || null}
*/
this.ZoneId = null;
/**
* Maximum outbound bandwidth under the network billing mode. It applies only to LCU-supported instances of the private network type and all instances of the public network type.
* @type {InternetAccessible || null}
*/
this.InternetAccessible = null;
/**
* ISP of VIP. Values: `CMCC` (China Mobile), `CUCC` (China Unicom) and `CTCC` (China Telecom). You need to activate static single-line IPs. This feature is in beta and is only available in Guangzhou, Shanghai, Nanjing, Jinan, Hangzhou, Fuzhou, Beijing, Shijiazhuang, Wuhan, Changsha, Chengdu and Chongqing regions. To try it out, please contact your sales rep. If it's specified, the network billing mode must be `BANDWIDTH_PACKAGE`. If it's not specified, BGP is used by default. To query ISPs supported in a region, please use [DescribeResources](https://intl.cloud.tencent.com/document/api/214/70213?from_cn_redirect=1).
* @type {string || null}
*/
this.VipIsp = null;
/**
* Tags the CLB instance when purchasing it. Up to 20 tag key value pairs are supported.
* @type {Array.<TagInfo> || null}
*/
this.Tags = null;
/**
* Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not.
Note: If the specified VIP is occupied or is not within the IP range of the specified VPC subnet, you cannot use the VIP to create a CLB instance in a private network or an IPv6 BGP CLB instance in a public network.
* @type {string || null}
*/
this.Vip = null;
/**
* Bandwidth package ID. If this parameter is specified, the network billing mode (InternetAccessible.InternetChargeType) will only support billing by bandwidth package (BANDWIDTH_PACKAGE). The attributes of the bandwidth package determine the settlement method. For IPv6 CLB instances purchased by bill-by-CVM users, if the ISP type is not BGP, the bandwidth package ID cannot be specified.
* @type {string || null}
*/
this.BandwidthPackageId = null;
/**
* Information about the dedicated CLB instance. You must specify this parameter when you create a dedicated CLB instance in a private network.
* @type {ExclusiveCluster || null}
*/
this.ExclusiveCluster = null;
/**
* Specification of the LCU-supported instance.<ul><li>If you need to create an LCU-supported instance, this parameter is required. Valid values:<ul><li> clb.c2.medium: Standard </li><li> clb.c3.small: Advanced 1 </li><li> clb.c3.medium: Advanced 2 </li><li> clb.c4.small: Super Large 1 </li><li> clb.c4.medium: Super Large 2 </li><li> clb.c4.large: Super Large 3 </li><li> clb.c4.xlarge: Super Large 4 </li></ul></li><li>If you need to create a shared instance, this parameter is not required.</li></ul> For specification details, see [Instance Specifications Comparison](https://intl.cloud.tencent.com/document/product/214/84689?from_cn_redirect=1).
* @type {string || null}
*/
this.SlaType = null;
/**
* Cluster ID. This cluster identifier is used for configuring a public cloud exclusive cluster or a cloud dedicated cluster. To apply for a public cloud exclusive cluster, [submit a ticket](https://console.cloud.tencent.com/workorder/category). For cloud dedicated clusters, see the descriptions in [Cloud Dedicated Cluster](https://intl.cloud.tencent.com/document/product/1346?from_cn_redirect=1).
* @type {Array.<string> || null}
*/
this.ClusterIds = null;
/**
* A unique string supplied by the client to ensure that the request is idempotent. Its maximum length is 64 ASCII characters. If this parameter is not specified, the idempotency of the request cannot be guaranteed.
* @type {string || null}
*/
this.ClientToken = null;
/**
* Whether Binding IPs of other VPCs feature switch
* @type {boolean || null}
*/
this.SnatPro = null;
/**
* Creates `SnatIp` when the binding IPs of other VPCs feature is enabled
* @type {Array.<SnatIp> || null}
*/
this.SnatIps = null;
/**
* Tag for the STGW exclusive cluster.
* @type {string || null}
*/
this.ClusterTag = null;
/**
* Specifies the secondary AZ ID for cross-AZ disaster recovery, such as `100001` or `ap-guangzhou-1`. It is applicable only to public network CLB.
Note: The traffic only goes to the secondary AZ when the primary AZ is unavailable. You can query the list of primary and secondary AZ of a region by calling [DescribeResources](https://intl.cloud.tencent.com/document/api/214/70213?from_cn_redirect=1).
* @type {string || null}
*/
this.SlaveZoneId = null;
/**
* Unique ID of an EIP, which can only be used when binding the EIP of a private network CLB instance. E.g., `eip-11112222`.
* @type {string || null}
*/
this.EipAddressId = null;
/**
* Whether to allow CLB traffic to the target group. `true`: allows CLB traffic to the target group and verifies security groups only on CLB; `false`: denies CLB traffic to the target group and verifies security groups on both CLB and backend instances.
* @type {boolean || null}
*/
this.LoadBalancerPassToTarget = null;
/**
* Upgrades to domain name-based CLB
* @type {boolean || null}
*/
this.DynamicVip = null;
/**
* Network egress point
* @type {string || null}
*/
this.Egress = null;
/**
* Prepaid billing attributes of a CLB instance
* @type {LBChargePrepaid || null}
*/
this.LBChargePrepaid = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancerType = 'LoadBalancerType' in params ? params.LoadBalancerType : null;
this.Forward = 'Forward' in params ? params.Forward : null;
this.LoadBalancerName = 'LoadBalancerName' in params ? params.LoadBalancerName : null;
this.VpcId = 'VpcId' in params ? params.VpcId : null;
this.SubnetId = 'SubnetId' in params ? params.SubnetId : null;
this.ProjectId = 'ProjectId' in params ? params.ProjectId : null;
this.AddressIPVersion = 'AddressIPVersion' in params ? params.AddressIPVersion : null;
this.Number = 'Number' in params ? params.Number : null;
this.MasterZoneId = 'MasterZoneId' in params ? params.MasterZoneId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
if (params.InternetAccessible) {
let obj = new InternetAccessible();
obj.deserialize(params.InternetAccessible)
this.InternetAccessible = obj;
}
this.VipIsp = 'VipIsp' in params ? params.VipIsp : null;
if (params.Tags) {
this.Tags = new Array();
for (let z in params.Tags) {
let obj = new TagInfo();
obj.deserialize(params.Tags[z]);
this.Tags.push(obj);
}
}
this.Vip = 'Vip' in params ? params.Vip : null;
this.BandwidthPackageId = 'BandwidthPackageId' in params ? params.BandwidthPackageId : null;
if (params.ExclusiveCluster) {
let obj = new ExclusiveCluster();
obj.deserialize(params.ExclusiveCluster)
this.ExclusiveCluster = obj;
}
this.SlaType = 'SlaType' in params ? params.SlaType : null;
this.ClusterIds = 'ClusterIds' in params ? params.ClusterIds : null;
this.ClientToken = 'ClientToken' in params ? params.ClientToken : null;
this.SnatPro = 'SnatPro' in params ? params.SnatPro : null;
if (params.SnatIps) {
this.SnatIps = new Array();
for (let z in params.SnatIps) {
let obj = new SnatIp();
obj.deserialize(params.SnatIps[z]);
this.SnatIps.push(obj);
}
}
this.ClusterTag = 'ClusterTag' in params ? params.ClusterTag : null;
this.SlaveZoneId = 'SlaveZoneId' in params ? params.SlaveZoneId : null;
this.EipAddressId = 'EipAddressId' in params ? params.EipAddressId : null;
this.LoadBalancerPassToTarget = 'LoadBalancerPassToTarget' in params ? params.LoadBalancerPassToTarget : null;
this.DynamicVip = 'DynamicVip' in params ? params.DynamicVip : null;
this.Egress = 'Egress' in params ? params.Egress : null;
if (params.LBChargePrepaid) {
let obj = new LBChargePrepaid();
obj.deserialize(params.LBChargePrepaid)
this.LBChargePrepaid = obj;
}
}
}
/**
* DescribeLoadBalancerOverview response structure.
* @class
*/
class DescribeLoadBalancerOverviewResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of CLB instances
* @type {number || null}
*/
this.TotalCount = null;
/**
* Number of CLB instances that are running
* @type {number || null}
*/
this.RunningCount = null;
/**
* Number of CLB instances that are isolated
* @type {number || null}
*/
this.IsolationCount = null;
/**
* Number of CLB instances that are about to expire
* @type {number || null}
*/
this.WillExpireCount = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
this.RunningCount = 'RunningCount' in params ? params.RunningCount : null;
this.IsolationCount = 'IsolationCount' in params ? params.IsolationCount : null;
this.WillExpireCount = 'WillExpireCount' in params ? params.WillExpireCount : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteRule request structure.
* @class
*/
class DeleteRuleRequest extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancerId = null;
/**
* CLB listener ID
* @type {string || null}
*/
this.ListenerId = null;
/**
* Array of IDs of the forwarding rules to be deleted
* @type {Array.<string> || null}
*/
this.LocationIds = null;
/**
* The domain name associated with the forwarding rule to delete. If the rule is associated with multiple domain names, specify any one of them.
* @type {string || null}
*/
this.Domain = null;
/**
* The forwarding path of the forwarding rule to delete.
* @type {string || null}
*/
this.Url = null;
/**
* Specifies a new default domain name for the listener. This field is used when the original default domain name is disabled. If there are multiple domain names, specify one of them.
* @type {string || null}
*/
this.NewDefaultServerDomain = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancerId = 'LoadBalancerId' in params ? params.LoadBalancerId : null;
this.ListenerId = 'ListenerId' in params ? params.ListenerId : null;
this.LocationIds = 'LocationIds' in params ? params.LocationIds : null;
this.Domain = 'Domain' in params ? params.Domain : null;
this.Url = 'Url' in params ? params.Url : null;
this.NewDefaultServerDomain = 'NewDefaultServerDomain' in params ? params.NewDefaultServerDomain : null;
}
}
/**
* CloneLoadBalancer request structure.
* @class
*/
class CloneLoadBalancerRequest extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancerId = null;
/**
* Clones the name of the CLB instance. The name must be 1-60 characters containing letters, numbers, "-" or "_".
Note: if the name of a new CLB instance already exists, a default name will be generated automatically.
* @type {string || null}
*/
this.LoadBalancerName = null;
/**
* ID of the project to which a CLB instance belongs, which can be obtained through the `DescribeProject` API. If this parameter is not passed in, the default project will be used.
* @type {number || null}
*/
this.ProjectId = null;
/**
* Sets the primary AZ ID for cross-AZ disaster recovery, such as `100001` or `ap-guangzhou-1`, which is applicable only to public network CLB.
Note: A primary AZ loads traffic, while a secondary AZ does not load traffic by default and will be used only if the primary AZ becomes unavailable. The platform will automatically select the optimal secondary AZ. You can use the `DescribeResource` API to query the primary AZ list of a region.
* @type {string || null}
*/
this.MasterZoneId = null;
/**
* Specifies the secondary AZ ID for cross-AZ disaster recovery, such as `100001` or `ap-guangzhou-1`. It is applicable only to public network CLB.
Note: A secondary AZ will load traffic if the primary AZ is faulty. You can use the `DescribeMasterZones` API to query the primary and secondary AZ list of a region.
* @type {string || null}
*/
this.SlaveZoneId = null;
/**
* Specifies an AZ ID for creating a CLB instance, such as `ap-guangzhou-1`, which is applicable only to public network CLB instances.
* @type {string || null}
*/
this.ZoneId = null;
/**
* CLB network billing mode. This parameter is applicable only to public network CLB instances.
* @type {InternetAccessible || null}
*/
this.InternetAccessible = null;
/**
* ISP of VIP. Values: `CMCC` (China Mobile), `CUCC` (China Unicom) and `CTCC` (China Telecom). You need to activate static single-line IPs. This feature is in beta and is only available in Guangzhou, Shanghai, Nanjing, Jinan, Hangzhou, Fuzhou, Beijing, Shijiazhuang, Wuhan, Changsha, Chengdu and Chongqing regions. To try it out, please contact your sales rep. If it's specified, the network billing mode must be `BANDWIDTH_PACKAGE`. If it's not specified, BGP is used by default. To query ISPs supported in a region, please use [DescribeResources](https://intl.cloud.tencent.com/document/api/214/70213?from_cn_redirect=1).
* @type {string || null}
*/
this.VipIsp = null;
/**
* Applies for CLB instances for a specified VIP
* @type {string || null}
*/
this.Vip = null;
/**
* Tags a CLB instance when purchasing it
* @type {Array.<TagInfo> || null}
*/
this.Tags = null;
/**
* Dedicated cluster information
* @type {ExclusiveCluster || null}
*/
this.ExclusiveCluster = null;
/**
* Bandwidth package ID. If this parameter is specified, the network billing mode (`InternetAccessible.InternetChargeType`) will only support bill-by-bandwidth package (`BANDWIDTH_PACKAGE`).
* @type {string || null}
*/
this.BandwidthPackageId = null;
/**
* Whether to support binding cross-VPC IPs or cross-region IPs
* @type {boolean || null}
*/
this.SnatPro = null;
/**
* Creates `SnatIp` when the binding IPs of other VPCs feature is enabled
* @type {Array.<SnatIp> || null}
*/
this.SnatIps = null;
/**
* ID of the public network CLB dedicated cluster
* @type {Array.<string> || null}
*/
this.ClusterIds = null;
/**
* Specification of the LCU-supported instance.
* @type {string || null}
*/
this.SlaType = null;
/**
* Tag of the STGW dedicated cluster
* @type {string || null}
*/
this.ClusterTag = null;
/**
* Availability zones for nearby access of private network CLB instances to distribute traffic
* @type {Array.<string> || null}
*/
this.Zones = null;
/**
* Unique ID of an EIP, which can only be used when binding the EIP of a private network CLB instance (e.g., `eip-11112222`)
* @type {string || null}
*/
this.EipAddressId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancerId = 'LoadBalancerId' in params ? params.LoadBalancerId : null;
this.LoadBalancerName = 'LoadBalancerName' in params ? params.LoadBalancerName : null;
this.ProjectId = 'ProjectId' in params ? params.ProjectId : null;
this.MasterZoneId = 'MasterZoneId' in params ? params.MasterZoneId : null;
this.SlaveZoneId = 'SlaveZoneId' in params ? params.SlaveZoneId : null;
this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
if (params.InternetAccessible) {
let obj = new InternetAccessible();
obj.deserialize(params.InternetAccessible)
this.InternetAccessible = obj;
}
this.VipIsp = 'VipIsp' in params ? params.VipIsp : null;
this.Vip = 'Vip' in params ? params.Vip : null;
if (params.Tags) {
this.Tags = new Array();
for (let z in params.Tags) {
let obj = new TagInfo();
obj.deserialize(params.Tags[z]);
this.Tags.push(obj);
}
}
if (params.ExclusiveCluster) {
let obj = new ExclusiveCluster();
obj.deserialize(params.ExclusiveCluster)
this.ExclusiveCluster = obj;
}
this.BandwidthPackageId = 'BandwidthPackageId' in params ? params.BandwidthPackageId : null;
this.SnatPro = 'SnatPro' in params ? params.SnatPro : null;
if (params.SnatIps) {
this.SnatIps = new Array();
for (let z in params.SnatIps) {
let obj = new SnatIp();
obj.deserialize(params.SnatIps[z]);
this.SnatIps.push(obj);
}
}
this.ClusterIds = 'ClusterIds' in params ? params.ClusterIds : null;
this.SlaType = 'SlaType' in params ? params.SlaType : null;
this.ClusterTag = 'ClusterTag' in params ? params.ClusterTag : null;
this.Zones = 'Zones' in params ? params.Zones : null;
this.EipAddressId = 'EipAddressId' in params ? params.EipAddressId : null;
}
}
/**
* DisassociateTargetGroups response structure.
* @class
*/
class DisassociateTargetGroupsResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* SetLoadBalancerStartStatus response structure.
* @class
*/
class SetLoadBalancerStartStatusResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* SetLoadBalancerClsLog response structure.
* @class
*/
class SetLoadBalancerClsLogResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeLoadBalancerTraffic response structure.
* @class
*/
class DescribeLoadBalancerTrafficResponse extends AbstractModel {
constructor(){
super();
/**
* Information of CLB instances sorted by outbound bandwidth from highest to lowest
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {Array.<LoadBalancerTraffic> || null}
*/
this.LoadBalancerTraffic = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.LoadBalancerTraffic) {
this.LoadBalancerTraffic = new Array();
for (let z in params.LoadBalancerTraffic) {
let obj = new LoadBalancerTraffic();
obj.deserialize(params.LoadBalancerTraffic[z]);
this.LoadBalancerTraffic.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Information of multiple certificates bound with the load balancer listener or rule.
* @class
*/
class MultiCertInfo extends AbstractModel {
constructor(){
super();
/**
* Authentication type. Values: `UNIDIRECTIONAL` (one-way authentication), `MUTUAL` (two-way authentication)
* @type {string || null}
*/
this.SSLMode = null;
/**
* List of listener or rule certificates. One-way and two-way authentication are supported. Only one certificate can be specified for one algorithm. If `SSLMode` is `MUTUAL` (two-way authentication), at least one CA certificate is required.
* @type {Array.<CertInfo> || null}
*/
this.CertList = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.SSLMode = 'SSLMode' in params ? params.SSLMode : null;
if (params.CertList) {
this.CertList = new Array();
for (let z in params.CertList) {
let obj = new CertInfo();
obj.deserialize(params.CertList[z]);
this.CertList.push(obj);
}
}
}
}
/**
* Data type of the modified node tag.
* @class
*/
class RsTagRule extends AbstractModel {
constructor(){
super();
/**
* CLB listener ID.
* @type {string || null}
*/
this.ListenerId = null;
/**
* List of real servers with tags to be modified.
* @type {Array.<Target> || null}
*/
this.Targets = null;
/**
* Forwarding rule ID, which is required only for Layer-7 rules but not for Layer-4 rules.
* @type {string || null}
*/
this.LocationId = null;
/**
* Modified tag of the real server. This parameter has a lower priority than the Tag parameter in the aforementioned [Target](https://intl.cloud.tencent.com/document/api/214/30694?from_cn_redirect=1#Target). The final tag value is based on the Tag parameter in the Target. The Tag parameter in RsTagRule will be used only when the Weight parameter in the Target is empty.
* @type {string || null}
*/
this.Tag = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ListenerId = 'ListenerId' in params ? params.ListenerId : null;
if (params.Targets) {
this.Targets = new Array();
for (let z in params.Targets) {
let obj = new Target();
obj.deserialize(params.Targets[z]);
this.Targets.push(obj);
}
}
this.LocationId = 'LocationId' in params ? params.LocationId : null;
this.Tag = 'Tag' in params ? params.Tag : null;
}
}
/**
* ModifyRule request structure.
* @class
*/
class ModifyRuleRequest extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancerId = null;
/**
* CLB listener ID
* @type {string || null}
*/
this.ListenerId = null;
/**
* ID of the forwarding rule to be modified.
* @type {string || null}
*/
this.LocationId = null;
/**
* New forwarding path of the forwarding rule. This parameter is not required if the URL does not need to be modified.
* @type {string || null}
*/
this.Url = null;
/**
* Health check information
* @type {HealthCheck || null}
*/
this.HealthCheck = null;
/**
* Request forwarding method of the rule. Value range: WRR, LEAST_CONN, IP_HASH
They represent weighted round robin, least connections, and IP hash, respectively. Default value: WRR.
* @type {string || null}
*/
this.Scheduler = null;
/**
* Session persistence duration, in seconds. Value range: 0 or 30-86400.
* @type {number || null}
*/
this.SessionExpireTime = null;
/**
* Forwarding protocol between a CLB instance and the real server. Default value: HTTP. Valid values: HTTP, HTTPS, GRPC. This parameter is valid only for HTTPS listeners.
* @type {string || null}
*/
this.ForwardType = null;
/**
* TRPC callee server route, which is required when `ForwardType` is "TRPC". This is now only for internal usage.
* @type {string || null}
*/
this.TrpcCallee = null;
/**
* TRPC calling service API, which is required when `ForwardType` is "TRPC". This is now only for internal usage.
* @type {string || null}
*/
this.TrpcFunc = null;
/**
* OAuth configuration information.
* @type {OAuth || null}
*/
this.OAuth = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancerId = 'LoadBalancerId' in params ? params.LoadBalancerId : null;
this.ListenerId = 'ListenerId' in params ? params.ListenerId : null;
this.LocationId = 'LocationId' in params ? params.LocationId : null;
this.Url = 'Url' in params ? params.Url : null;
if (params.HealthCheck) {
let obj = new HealthCheck();
obj.deserialize(params.HealthCheck)
this.HealthCheck = obj;
}
this.Scheduler = 'Scheduler' in params ? params.Scheduler : null;
this.SessionExpireTime = 'SessionExpireTime' in params ? params.SessionExpireTime : null;
this.ForwardType = 'ForwardType' in params ? params.ForwardType : null;
this.TrpcCallee = 'TrpcCallee' in params ? params.TrpcCallee : null;
this.TrpcFunc = 'TrpcFunc' in params ? params.TrpcFunc : null;
if (params.OAuth) {
let obj = new OAuth();
obj.deserialize(params.OAuth)
this.OAuth = obj;
}
}
}
/**
* DescribeCustomizedConfigList response structure.
* @class
*/
class DescribeCustomizedConfigListResponse extends AbstractModel {
constructor(){
super();
/**
* Configuration list.
* @type {Array.<ConfigListItem> || null}
*/
this.ConfigList = null;
/**
* Number of configurations.
* @type {number || null}
*/
this.TotalCount = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.ConfigList) {
this.ConfigList = new Array();
for (let z in params.ConfigList) {
let obj = new ConfigListItem();
obj.deserialize(params.ConfigList[z]);
this.ConfigList.push(obj);
}
}
this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeBlockIPList response structure.
* @class
*/
class DescribeBlockIPListResponse extends AbstractModel {
constructor(){
super();
/**
* Number of returned IPs
* @type {number || null}
*/
this.BlockedIPCount = null;
/**
* Field for getting real client IP
* @type {string || null}
*/
this.ClientIPField = null;
/**
* List of IPs added to blocklist 12360
* @type {Array.<BlockedIP> || null}
*/
this.BlockedIPList = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BlockedIPCount = 'BlockedIPCount' in params ? params.BlockedIPCount : null;
this.ClientIPField = 'ClientIPField' in params ? params.ClientIPField : null;
if (params.BlockedIPList) {
this.BlockedIPList = new Array();
for (let z in params.BlockedIPList) {
let obj = new BlockedIP();
obj.deserialize(params.BlockedIPList[z]);
this.BlockedIPList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeRewrite request structure.
* @class
*/
class DescribeRewriteRequest extends AbstractModel {
constructor(){
super();
/**
* CLB instance ID
* @type {string || null}
*/
this.LoadBalancerId = null;
/**
* Array of CLB listener IDs
* @type {Array.<string> || null}
*/
this.SourceListenerIds = null;
/**
* Array of CLB forwarding rule IDs
* @type {Array.<string> || null}
*/
this.SourceLocationIds = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.LoadBalancerId = 'LoadBalancerId' in params ? params.LoadBalancerId : null;
this.SourceListenerIds = 'SourceListenerIds' in params ? params.SourceListenerIds : null;
this.SourceLocationIds = 'SourceLocationIds' in params ? params.SourceLocationIds : null;
}
}
/**
* ModifyLoadBalancerAttributes response structure.
* @class
*/
class ModifyLoadBalancerAttributesResponse extends AbstractModel {
constructor(){
super();
/**
* This parameter can be used to query whether CLB billing mode switch is successful.
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.DealName = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DealName = 'DealName' in params ? params.DealName : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeTargetGroupInstances request structure.
* @class
*/
class DescribeTargetGroupInstancesRequest extends AbstractModel {
constructor(){
super();
/**
* Filter. Currently, only filtering by `TargetGroupId`, `BindIP`, or `InstanceId` is supported.
* @type {Array.<Filter> || null}
*/
this.Filters = null;
/**
* Number of displayed results. Default value: 20
* @type {number || null}
*/
this.Limit = null;
/**
* Display offset. Default value: 0
* @type {number || null}
*/
this.Offset = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Filters) {
this.Filters = new Array();
for (let z in params.Filters) {
let obj = new Filter();
obj.deserialize(params.Filters[z]);
this.Filters.push(obj);
}
}
this.Limit = 'Limit' in params ? params.Limit : null;
this.Offset = 'Offset' in params ? params.Offset : null;
}
}
/**
* DescribeIdleLoadBalancers response structure.
* @class
*/
class DescribeIdleLoadBalancersResponse extends AbstractModel {
constructor(){
super();
/**
* List of idle CLBs
Note: This field may return `null`, indicating that no valid values can be obtained.
* @type {Array.<IdleLoadBalancer> || null}
*/
this.IdleLoadBalancers = null;
/**
* Total number of idle CLB instances