/*
* 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.Dayu.V20180709.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class ModifyDDoSPolicyCaseRequest : AbstractModel
{
///
/// 大禹子产品代号(bgpip表示高防IP;bgp表示独享包;bgp-multip表示共享包;net表示高防IP专业版)
///
[JsonProperty("Business")]
public string Business{ get; set; }
///
/// 策略场景ID
///
[JsonProperty("SceneId")]
public string SceneId{ get; set; }
///
/// 开发平台,取值[PC(PC客户端), MOBILE(移动端), TV(电视端), SERVER(主机)]
///
[JsonProperty("PlatformTypes")]
public string[] PlatformTypes{ get; set; }
///
/// 细分品类,取值[WEB(网站), GAME(游戏), APP(应用), OTHER(其他)]
///
[JsonProperty("AppType")]
public string AppType{ get; set; }
///
/// 应用协议,取值[tcp(TCP协议),udp(UDP协议),icmp(ICMP协议),all(其他协议)]
///
[JsonProperty("AppProtocols")]
public string[] AppProtocols{ get; set; }
///
/// TCP业务起始端口,取值(0, 65535]
///
[JsonProperty("TcpSportStart")]
public string TcpSportStart{ get; set; }
///
/// TCP业务结束端口,取值(0, 65535],必须大于等于TCP业务起始端口
///
[JsonProperty("TcpSportEnd")]
public string TcpSportEnd{ get; set; }
///
/// UDP业务起始端口,取值范围(0, 65535]
///
[JsonProperty("UdpSportStart")]
public string UdpSportStart{ get; set; }
///
/// UDP业务结束端口,取值范围(0, 65535),必须大于等于UDP业务起始端口
///
[JsonProperty("UdpSportEnd")]
public string UdpSportEnd{ get; set; }
///
/// 是否有海外客户,取值[no(没有), yes(有)]
///
[JsonProperty("HasAbroad")]
public string HasAbroad{ get; set; }
///
/// 是否会主动对外发起TCP请求,取值[no(不会), yes(会)]
///
[JsonProperty("HasInitiateTcp")]
public string HasInitiateTcp{ get; set; }
///
/// 是否会主动对外发起UDP业务请求,取值[no(不会), yes(会)]
///
[JsonProperty("HasInitiateUdp")]
public string HasInitiateUdp{ get; set; }
///
/// 主动发起TCP请求的端口,取值范围(0, 65535]
///
[JsonProperty("PeerTcpPort")]
public string PeerTcpPort{ get; set; }
///
/// 主动发起UDP请求的端口,取值范围(0, 65535]
///
[JsonProperty("PeerUdpPort")]
public string PeerUdpPort{ get; set; }
///
/// TCP载荷的固定特征码,字符串长度小于512
///
[JsonProperty("TcpFootprint")]
public string TcpFootprint{ get; set; }
///
/// UDP载荷的固定特征码,字符串长度小于512
///
[JsonProperty("UdpFootprint")]
public string UdpFootprint{ get; set; }
///
/// Web业务的API的URL
///
[JsonProperty("WebApiUrl")]
public string[] WebApiUrl{ get; set; }
///
/// TCP业务报文长度最小值,取值范围(0, 1500)
///
[JsonProperty("MinTcpPackageLen")]
public string MinTcpPackageLen{ get; set; }
///
/// TCP业务报文长度最大值,取值范围(0, 1500),必须大于等于TCP业务报文长度最小值
///
[JsonProperty("MaxTcpPackageLen")]
public string MaxTcpPackageLen{ get; set; }
///
/// UDP业务报文长度最小值,取值范围(0, 1500)
///
[JsonProperty("MinUdpPackageLen")]
public string MinUdpPackageLen{ get; set; }
///
/// UDP业务报文长度最大值,取值范围(0, 1500),必须大于等于UDP业务报文长度最小值
///
[JsonProperty("MaxUdpPackageLen")]
public string MaxUdpPackageLen{ get; set; }
///
/// 是否有VPN业务,取值[no(没有), yes(有)]
///
[JsonProperty("HasVPN")]
public string HasVPN{ get; set; }
///
/// TCP业务端口列表,同时支持单个端口和端口段,字符串格式,例如:80,443,700-800,53,1000-3000
///
[JsonProperty("TcpPortList")]
public string TcpPortList{ get; set; }
///
/// UDP业务端口列表,同时支持单个端口和端口段,字符串格式,例如:80,443,700-800,53,1000-3000
///
[JsonProperty("UdpPortList")]
public string UdpPortList{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "Business", this.Business);
this.SetParamSimple(map, prefix + "SceneId", this.SceneId);
this.SetParamArraySimple(map, prefix + "PlatformTypes.", this.PlatformTypes);
this.SetParamSimple(map, prefix + "AppType", this.AppType);
this.SetParamArraySimple(map, prefix + "AppProtocols.", this.AppProtocols);
this.SetParamSimple(map, prefix + "TcpSportStart", this.TcpSportStart);
this.SetParamSimple(map, prefix + "TcpSportEnd", this.TcpSportEnd);
this.SetParamSimple(map, prefix + "UdpSportStart", this.UdpSportStart);
this.SetParamSimple(map, prefix + "UdpSportEnd", this.UdpSportEnd);
this.SetParamSimple(map, prefix + "HasAbroad", this.HasAbroad);
this.SetParamSimple(map, prefix + "HasInitiateTcp", this.HasInitiateTcp);
this.SetParamSimple(map, prefix + "HasInitiateUdp", this.HasInitiateUdp);
this.SetParamSimple(map, prefix + "PeerTcpPort", this.PeerTcpPort);
this.SetParamSimple(map, prefix + "PeerUdpPort", this.PeerUdpPort);
this.SetParamSimple(map, prefix + "TcpFootprint", this.TcpFootprint);
this.SetParamSimple(map, prefix + "UdpFootprint", this.UdpFootprint);
this.SetParamArraySimple(map, prefix + "WebApiUrl.", this.WebApiUrl);
this.SetParamSimple(map, prefix + "MinTcpPackageLen", this.MinTcpPackageLen);
this.SetParamSimple(map, prefix + "MaxTcpPackageLen", this.MaxTcpPackageLen);
this.SetParamSimple(map, prefix + "MinUdpPackageLen", this.MinUdpPackageLen);
this.SetParamSimple(map, prefix + "MaxUdpPackageLen", this.MaxUdpPackageLen);
this.SetParamSimple(map, prefix + "HasVPN", this.HasVPN);
this.SetParamSimple(map, prefix + "TcpPortList", this.TcpPortList);
this.SetParamSimple(map, prefix + "UdpPortList", this.UdpPortList);
}
}
}