/*
* 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.Ecdn.V20191012.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class AddEcdnDomainRequest : AbstractModel
{
///
/// 域名。
///
[JsonProperty("Domain")]
public string Domain{ get; set; }
///
/// 源站配置。
///
[JsonProperty("Origin")]
public Origin Origin{ get; set; }
///
/// 域名加速区域,mainland,overseas或global,分别表示中国境内加速,海外加速或全球加速。
///
[JsonProperty("Area")]
public string Area{ get; set; }
///
/// 项目id,默认0。
///
[JsonProperty("ProjectId")]
public long? ProjectId{ get; set; }
///
/// IP黑白名单配置。
///
[JsonProperty("IpFilter")]
public IpFilter IpFilter{ get; set; }
///
/// IP限频配置。
///
[JsonProperty("IpFreqLimit")]
public IpFreqLimit IpFreqLimit{ get; set; }
///
/// 源站响应头部配置。
///
[JsonProperty("ResponseHeader")]
public ResponseHeader ResponseHeader{ get; set; }
///
/// 节点缓存配置。
///
[JsonProperty("CacheKey")]
public CacheKey CacheKey{ get; set; }
///
/// 缓存规则配置。
///
[JsonProperty("Cache")]
public Cache Cache{ get; set; }
///
/// Https配置。
///
[JsonProperty("Https")]
public Https Https{ get; set; }
///
/// 访问协议强制跳转配置。
///
[JsonProperty("ForceRedirect")]
public ForceRedirect ForceRedirect{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "Domain", this.Domain);
this.SetParamObj(map, prefix + "Origin.", this.Origin);
this.SetParamSimple(map, prefix + "Area", this.Area);
this.SetParamSimple(map, prefix + "ProjectId", this.ProjectId);
this.SetParamObj(map, prefix + "IpFilter.", this.IpFilter);
this.SetParamObj(map, prefix + "IpFreqLimit.", this.IpFreqLimit);
this.SetParamObj(map, prefix + "ResponseHeader.", this.ResponseHeader);
this.SetParamObj(map, prefix + "CacheKey.", this.CacheKey);
this.SetParamObj(map, prefix + "Cache.", this.Cache);
this.SetParamObj(map, prefix + "Https.", this.Https);
this.SetParamObj(map, prefix + "ForceRedirect.", this.ForceRedirect);
}
}
}