Files
g.hnyhua.cn/TencentCloud/Clb/V20180317/Models/RuleInput.cs
2026-02-07 15:48:27 +08:00

129 lines
4.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* 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);
}
}
}