Files
g.hnyhua.cn/TencentCloud/Clb/V20180317/Models/RuleInput.cs

129 lines
4.7 KiB
C#
Raw Normal View History

/*
* 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 RuleInput : AbstractModel
{
/// <summary>
/// 转发规则的域名。长度限制为1~80。
/// </summary>
[JsonProperty("Domain")]
public string Domain{ get; set; }
/// <summary>
/// 转发规则的路径。长度限制为1~200。
/// </summary>
[JsonProperty("Url")]
public string Url{ get; set; }
/// <summary>
/// 会话保持时间。设置为0表示关闭会话保持开启会话保持可取值30~3600单位秒。
/// </summary>
[JsonProperty("SessionExpireTime")]
public long? SessionExpireTime{ get; set; }
/// <summary>
/// 健康检查信息
/// </summary>
[JsonProperty("HealthCheck")]
public HealthCheck HealthCheck{ get; set; }
/// <summary>
/// 证书信息
/// </summary>
[JsonProperty("Certificate")]
public CertificateInput Certificate{ get; set; }
/// <summary>
/// 规则的请求转发方式可选值WRR、LEAST_CONN、IP_HASH
/// 分别表示按权重轮询、最小连接数、按IP哈希 默认为 WRR。
/// </summary>
[JsonProperty("Scheduler")]
public string Scheduler{ get; set; }
/// <summary>
/// 负载均衡与后端服务之间的转发协议,目前支持 HTTP/HTTPS/TRPC
/// </summary>
[JsonProperty("ForwardType")]
public string ForwardType{ get; set; }
/// <summary>
/// 是否将该域名设为默认域名,注意,一个监听器下只能设置一个默认域名。
/// </summary>
[JsonProperty("DefaultServer")]
public bool? DefaultServer{ get; set; }
/// <summary>
/// 是否开启Http2注意只有HTTPS域名才能开启Http2。
/// </summary>
[JsonProperty("Http2")]
public bool? Http2{ get; set; }
/// <summary>
/// 后端目标类型NODE表示绑定普通节点TARGETGROUP表示绑定目标组
/// </summary>
[JsonProperty("TargetType")]
public string TargetType{ get; set; }
/// <summary>
/// TRPC被调服务器路由ForwardType为TRPC时必填
/// </summary>
[JsonProperty("TrpcCallee")]
public string TrpcCallee{ get; set; }
/// <summary>
/// TRPC调用服务接口ForwardType为TRPC时必填
/// </summary>
[JsonProperty("TrpcFunc")]
public string TrpcFunc{ get; set; }
/// <summary>
/// 是否开启QUIC注意只有HTTPS域名才能开启QUIC
/// </summary>
[JsonProperty("Quic")]
public bool? Quic{ get; set; }
/// <summary>
/// For internal usage only. DO NOT USE IT.
/// </summary>
internal override void ToMap(Dictionary<string, string> map, string prefix)
{
this.SetParamSimple(map, prefix + "Domain", this.Domain);
this.SetParamSimple(map, prefix + "Url", this.Url);
this.SetParamSimple(map, prefix + "SessionExpireTime", this.SessionExpireTime);
this.SetParamObj(map, prefix + "HealthCheck.", this.HealthCheck);
this.SetParamObj(map, prefix + "Certificate.", this.Certificate);
this.SetParamSimple(map, prefix + "Scheduler", this.Scheduler);
this.SetParamSimple(map, prefix + "ForwardType", this.ForwardType);
this.SetParamSimple(map, prefix + "DefaultServer", this.DefaultServer);
this.SetParamSimple(map, prefix + "Http2", this.Http2);
this.SetParamSimple(map, prefix + "TargetType", this.TargetType);
this.SetParamSimple(map, prefix + "TrpcCallee", this.TrpcCallee);
this.SetParamSimple(map, prefix + "TrpcFunc", this.TrpcFunc);
this.SetParamSimple(map, prefix + "Quic", this.Quic);
}
}
}