/*
* 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.
*/
namespace TencentCloud.Clb.V20180317.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class DescribeLoadBalancersRequest : AbstractModel
{
///
/// 负载均衡实例 ID。
///
[JsonProperty("LoadBalancerIds")]
public string[] LoadBalancerIds{ get; set; }
///
/// 负载均衡实例的网络类型:
/// OPEN:公网属性, INTERNAL:内网属性。
///
[JsonProperty("LoadBalancerType")]
public string LoadBalancerType{ get; set; }
///
/// 负载均衡实例的类型。1:通用的负载均衡实例,0:传统型负载均衡实例。如果不传此参数,则查询所有类型的负载均衡实例。
///
[JsonProperty("Forward")]
public long? Forward{ get; set; }
///
/// 负载均衡实例的名称。
///
[JsonProperty("LoadBalancerName")]
public string LoadBalancerName{ get; set; }
///
/// 腾讯云为负载均衡实例分配的域名,本参数仅对传统型公网负载均衡才有意义。
///
[JsonProperty("Domain")]
public string Domain{ get; set; }
///
/// 负载均衡实例的 VIP 地址,支持多个。
///
[JsonProperty("LoadBalancerVips")]
public string[] LoadBalancerVips{ get; set; }
///
/// 负载均衡绑定的后端服务的外网 IP。
///
[JsonProperty("BackendPublicIps")]
public string[] BackendPublicIps{ get; set; }
///
/// 负载均衡绑定的后端服务的内网 IP。
///
[JsonProperty("BackendPrivateIps")]
public string[] BackendPrivateIps{ get; set; }
///
/// 数据偏移量,默认为 0。
///
[JsonProperty("Offset")]
public long? Offset{ get; set; }
///
/// 返回负载均衡实例的数量,默认为20,最大值为100。
///
[JsonProperty("Limit")]
public long? Limit{ get; set; }
///
/// 排序参数,支持以下字段:LoadBalancerName,CreateTime,Domain,LoadBalancerType。
///
[JsonProperty("OrderBy")]
public string OrderBy{ get; set; }
///
/// 1:倒序,0:顺序,默认按照创建时间倒序。
///
[JsonProperty("OrderType")]
public long? OrderType{ get; set; }
///
/// 搜索字段,模糊匹配名称、域名、VIP。
///
[JsonProperty("SearchKey")]
public string SearchKey{ get; set; }
///
/// 负载均衡实例所属的项目 ID,可以通过 DescribeProject 接口获取。
///
[JsonProperty("ProjectId")]
public long? ProjectId{ get; set; }
///
/// 负载均衡是否绑定后端服务,0:没有绑定后端服务,1:绑定后端服务,-1:查询全部。
///
[JsonProperty("WithRs")]
public long? WithRs{ get; set; }
///
/// 负载均衡实例所属私有网络唯一ID,如 vpc-bhqkbhdx,
/// 基础网络可传入'0'。
///
[JsonProperty("VpcId")]
public string VpcId{ get; set; }
///
/// 安全组ID,如 sg-m1cc9123
///
[JsonProperty("SecurityGroup")]
public string SecurityGroup{ get; set; }
///
/// 主可用区ID,如 :"100001" (对应的是广州一区)
///
[JsonProperty("MasterZone")]
public string MasterZone{ get; set; }
///
/// 每次请求的`Filters`的上限为10,`Filter.Values`的上限为100。详细的过滤条件如下:
/// 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 标签的键过滤。
///
[JsonProperty("Filters")]
public Filter[] Filters{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamArraySimple(map, prefix + "LoadBalancerIds.", this.LoadBalancerIds);
this.SetParamSimple(map, prefix + "LoadBalancerType", this.LoadBalancerType);
this.SetParamSimple(map, prefix + "Forward", this.Forward);
this.SetParamSimple(map, prefix + "LoadBalancerName", this.LoadBalancerName);
this.SetParamSimple(map, prefix + "Domain", this.Domain);
this.SetParamArraySimple(map, prefix + "LoadBalancerVips.", this.LoadBalancerVips);
this.SetParamArraySimple(map, prefix + "BackendPublicIps.", this.BackendPublicIps);
this.SetParamArraySimple(map, prefix + "BackendPrivateIps.", this.BackendPrivateIps);
this.SetParamSimple(map, prefix + "Offset", this.Offset);
this.SetParamSimple(map, prefix + "Limit", this.Limit);
this.SetParamSimple(map, prefix + "OrderBy", this.OrderBy);
this.SetParamSimple(map, prefix + "OrderType", this.OrderType);
this.SetParamSimple(map, prefix + "SearchKey", this.SearchKey);
this.SetParamSimple(map, prefix + "ProjectId", this.ProjectId);
this.SetParamSimple(map, prefix + "WithRs", this.WithRs);
this.SetParamSimple(map, prefix + "VpcId", this.VpcId);
this.SetParamSimple(map, prefix + "SecurityGroup", this.SecurityGroup);
this.SetParamSimple(map, prefix + "MasterZone", this.MasterZone);
this.SetParamArrayObj(map, prefix + "Filters.", this.Filters);
}
}
}