/*
* 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);
}
}
}