/*
* 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 ModifyCCIpAllowDenyRequest : AbstractModel
{
///
/// 大禹子产品代号(bgpip表示高防IP;bgp表示独享包;bgp-multip表示共享包;net表示高防IP专业版)
///
[JsonProperty("Business")]
public string Business{ get; set; }
///
/// 资源ID
///
[JsonProperty("Id")]
public string Id{ get; set; }
///
/// add表示添加,delete表示删除
///
[JsonProperty("Method")]
public string Method{ get; set; }
///
/// 黑/白名单类型;取值[white(白名单),black(黑名单)]
///
[JsonProperty("Type")]
public string Type{ get; set; }
///
/// 黑/白名单的IP数组
///
[JsonProperty("IpList")]
public string[] IpList{ get; set; }
///
/// 可选字段,代表CC防护类型,取值[http(HTTP协议的CC防护),https(HTTPS协议的CC防护)];当不填时,默认为HTTP协议的CC防护;当填写https时还需要填写Domain和RuleId字段;
///
[JsonProperty("Protocol")]
public string Protocol{ get; set; }
///
/// 可选字段,表示HTTPS协议的7层转发规则域名(通过获取7层转发规则接口可以获取域名),只有当Protocol字段为https时才必须填写此字段;
///
[JsonProperty("Domain")]
public string Domain{ get; set; }
///
/// 可选字段,表示HTTPS协议的7层转发规则ID(通过获取7层转发规则接口可以获取规则ID),
/// 当Method为delete时,不用填写此字段;
///
[JsonProperty("RuleId")]
public string RuleId{ 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 + "Id", this.Id);
this.SetParamSimple(map, prefix + "Method", this.Method);
this.SetParamSimple(map, prefix + "Type", this.Type);
this.SetParamArraySimple(map, prefix + "IpList.", this.IpList);
this.SetParamSimple(map, prefix + "Protocol", this.Protocol);
this.SetParamSimple(map, prefix + "Domain", this.Domain);
this.SetParamSimple(map, prefix + "RuleId", this.RuleId);
}
}
}