/*
* 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.Cdn.V20180606.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class AddCdnDomainRequest : AbstractModel
{
///
/// 域名
///
[JsonProperty("Domain")]
public string Domain{ get; set; }
///
/// 加速域名业务类型
/// web:静态加速
/// download:下载加速
/// media:流媒体点播加速
///
[JsonProperty("ServiceType")]
public string ServiceType{ get; set; }
///
/// 源站配置
///
[JsonProperty("Origin")]
public Origin Origin{ 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("StatusCodeCache")]
public StatusCodeCache StatusCodeCache{ get; set; }
///
/// 智能压缩配置
///
[JsonProperty("Compression")]
public Compression Compression{ get; set; }
///
/// 带宽封顶配置
///
[JsonProperty("BandwidthAlert")]
public BandwidthAlert BandwidthAlert{ get; set; }
///
/// Range 回源配置
///
[JsonProperty("RangeOriginPull")]
public RangeOriginPull RangeOriginPull{ get; set; }
///
/// 301/302 回源跟随配置。
///
[JsonProperty("FollowRedirect")]
public FollowRedirect FollowRedirect{ get; set; }
///
/// 错误码重定向配置(功能灰度中,尚未全量)
///
[JsonProperty("ErrorPage")]
public ErrorPage ErrorPage{ get; set; }
///
/// 请求头部配置
///
[JsonProperty("RequestHeader")]
public RequestHeader RequestHeader{ get; set; }
///
/// 响应头部配置
///
[JsonProperty("ResponseHeader")]
public ResponseHeader ResponseHeader{ get; set; }
///
/// 下载速度配置
///
[JsonProperty("DownstreamCapping")]
public DownstreamCapping DownstreamCapping{ get; set; }
///
/// 节点缓存键配置
///
[JsonProperty("CacheKey")]
public CacheKey CacheKey{ get; set; }
///
/// 头部缓存配置
///
[JsonProperty("ResponseHeaderCache")]
public ResponseHeaderCache ResponseHeaderCache{ get; set; }
///
/// 视频拖拽配置
///
[JsonProperty("VideoSeek")]
public VideoSeek VideoSeek{ get; set; }
///
/// 缓存过期时间配置
///
[JsonProperty("Cache")]
public Cache Cache{ get; set; }
///
/// 跨国链路优化配置
///
[JsonProperty("OriginPullOptimization")]
public OriginPullOptimization OriginPullOptimization{ get; set; }
///
/// Https 加速配置
///
[JsonProperty("Https")]
public Https Https{ get; set; }
///
/// 时间戳防盗链配置
///
[JsonProperty("Authentication")]
public Authentication Authentication{ get; set; }
///
/// SEO 优化配置
///
[JsonProperty("Seo")]
public Seo Seo{ get; set; }
///
/// 访问协议强制跳转配置
///
[JsonProperty("ForceRedirect")]
public ForceRedirect ForceRedirect{ get; set; }
///
/// Referer 防盗链配置
///
[JsonProperty("Referer")]
public Referer Referer{ get; set; }
///
/// 浏览器缓存配置(功能灰度中,尚未全量)
///
[JsonProperty("MaxAge")]
public MaxAge MaxAge{ get; set; }
///
/// Ipv6 配置(功能灰度中,尚未全量)
///
[JsonProperty("Ipv6")]
public Ipv6 Ipv6{ get; set; }
///
/// 地域属性特殊配置
/// 适用于域名境内加速、境外加速配置不一致场景
///
[JsonProperty("SpecificConfig")]
public SpecificConfig SpecificConfig{ get; set; }
///
/// 域名加速区域
/// mainland:中国境内加速
/// overseas:中国境外加速
/// global:全球加速
/// 使用中国境外加速、全球加速时,需要先开通中国境外加速服务
///
[JsonProperty("Area")]
public string Area{ get; set; }
///
/// 回源超时配置
///
[JsonProperty("OriginPullTimeout")]
public OriginPullTimeout OriginPullTimeout{ 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.SetParamSimple(map, prefix + "ServiceType", this.ServiceType);
this.SetParamObj(map, prefix + "Origin.", this.Origin);
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 + "StatusCodeCache.", this.StatusCodeCache);
this.SetParamObj(map, prefix + "Compression.", this.Compression);
this.SetParamObj(map, prefix + "BandwidthAlert.", this.BandwidthAlert);
this.SetParamObj(map, prefix + "RangeOriginPull.", this.RangeOriginPull);
this.SetParamObj(map, prefix + "FollowRedirect.", this.FollowRedirect);
this.SetParamObj(map, prefix + "ErrorPage.", this.ErrorPage);
this.SetParamObj(map, prefix + "RequestHeader.", this.RequestHeader);
this.SetParamObj(map, prefix + "ResponseHeader.", this.ResponseHeader);
this.SetParamObj(map, prefix + "DownstreamCapping.", this.DownstreamCapping);
this.SetParamObj(map, prefix + "CacheKey.", this.CacheKey);
this.SetParamObj(map, prefix + "ResponseHeaderCache.", this.ResponseHeaderCache);
this.SetParamObj(map, prefix + "VideoSeek.", this.VideoSeek);
this.SetParamObj(map, prefix + "Cache.", this.Cache);
this.SetParamObj(map, prefix + "OriginPullOptimization.", this.OriginPullOptimization);
this.SetParamObj(map, prefix + "Https.", this.Https);
this.SetParamObj(map, prefix + "Authentication.", this.Authentication);
this.SetParamObj(map, prefix + "Seo.", this.Seo);
this.SetParamObj(map, prefix + "ForceRedirect.", this.ForceRedirect);
this.SetParamObj(map, prefix + "Referer.", this.Referer);
this.SetParamObj(map, prefix + "MaxAge.", this.MaxAge);
this.SetParamObj(map, prefix + "Ipv6.", this.Ipv6);
this.SetParamObj(map, prefix + "SpecificConfig.", this.SpecificConfig);
this.SetParamSimple(map, prefix + "Area", this.Area);
this.SetParamObj(map, prefix + "OriginPullTimeout.", this.OriginPullTimeout);
}
}
}