/* * 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.Gaap.V20180529.Models { using Newtonsoft.Json; using System.Collections.Generic; using TencentCloud.Common; public class CreateRuleRequest : AbstractModel { /// /// 7层监听器ID /// [JsonProperty("ListenerId")] public string ListenerId{ get; set; } /// /// 转发规则的域名 /// [JsonProperty("Domain")] public string Domain{ get; set; } /// /// 转发规则的路径 /// [JsonProperty("Path")] public string Path{ get; set; } /// /// 转发规则对应源站的类型,支持IP和DOMAIN类型。 /// [JsonProperty("RealServerType")] public string RealServerType{ get; set; } /// /// 规则转发源站调度策略,支持轮询(rr),加权轮询(wrr),最小连接数(lc)。 /// [JsonProperty("Scheduler")] public string Scheduler{ get; set; } /// /// 规则是否开启健康检查,1开启,0关闭。 /// [JsonProperty("HealthCheck")] public ulong? HealthCheck{ get; set; } /// /// 源站健康检查相关参数 /// [JsonProperty("CheckParams")] public RuleCheckParams CheckParams{ get; set; } /// /// 加速通道转发到源站的协议类型:支持HTTP或HTTPS。 /// 不传递该字段时表示使用对应监听器的ForwardProtocol。 /// [JsonProperty("ForwardProtocol")] public string ForwardProtocol{ get; set; } /// /// 加速通道转发到远照的host,不设置该参数时,使用默认的host设置,即客户端发起的http请求的host。 /// [JsonProperty("ForwardHost")] public string ForwardHost{ get; set; } /// /// For internal usage only. DO NOT USE IT. /// internal override void ToMap(Dictionary map, string prefix) { this.SetParamSimple(map, prefix + "ListenerId", this.ListenerId); this.SetParamSimple(map, prefix + "Domain", this.Domain); this.SetParamSimple(map, prefix + "Path", this.Path); this.SetParamSimple(map, prefix + "RealServerType", this.RealServerType); this.SetParamSimple(map, prefix + "Scheduler", this.Scheduler); this.SetParamSimple(map, prefix + "HealthCheck", this.HealthCheck); this.SetParamObj(map, prefix + "CheckParams.", this.CheckParams); this.SetParamSimple(map, prefix + "ForwardProtocol", this.ForwardProtocol); this.SetParamSimple(map, prefix + "ForwardHost", this.ForwardHost); } } }