# -*- coding: utf8 -*- # Copyright (c) 2017-2021 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. import warnings from tencentcloud.common.abstract_model import AbstractModel class AccessControl(AbstractModel): """请求头部及请求url访问控制 """ def __init__(self): r""" :param _Switch: 启用请求头部及请求url访问控制开关,取值有: on:开启 off:关闭 :type Switch: str :param _AccessControlRules: 请求头部及请求url访问规则 注意:此字段可能返回 null,表示取不到有效值。 :type AccessControlRules: list of AccessControlRule :param _ReturnCode: 返回状态码 注意:此字段可能返回 null,表示取不到有效值。 :type ReturnCode: int """ self._Switch = None self._AccessControlRules = None self._ReturnCode = None @property def Switch(self): """启用请求头部及请求url访问控制开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def AccessControlRules(self): """请求头部及请求url访问规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of AccessControlRule """ return self._AccessControlRules @AccessControlRules.setter def AccessControlRules(self, AccessControlRules): self._AccessControlRules = AccessControlRules @property def ReturnCode(self): """返回状态码 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._ReturnCode @ReturnCode.setter def ReturnCode(self, ReturnCode): self._ReturnCode = ReturnCode def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("AccessControlRules") is not None: self._AccessControlRules = [] for item in params.get("AccessControlRules"): obj = AccessControlRule() obj._deserialize(item) self._AccessControlRules.append(obj) self._ReturnCode = params.get("ReturnCode") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AccessControlRule(AbstractModel): """访问控制规则 """ def __init__(self): r""" :param _RuleType: requestHeader :对请求头部进行访问控制 url : 对访问url进行访问控制 注意:此字段可能返回 null,表示取不到有效值。 :type RuleType: str :param _RuleContent: 封禁内容 注意:此字段可能返回 null,表示取不到有效值。 :type RuleContent: str :param _Regex: on :正则匹配 off :字面匹配 注意:此字段可能返回 null,表示取不到有效值。 :type Regex: str :param _RuleHeader: RuleType为requestHeader时必填,否则不需要填 注意:此字段可能返回 null,表示取不到有效值。 :type RuleHeader: str """ self._RuleType = None self._RuleContent = None self._Regex = None self._RuleHeader = None @property def RuleType(self): """requestHeader :对请求头部进行访问控制 url : 对访问url进行访问控制 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RuleContent(self): """封禁内容 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleContent @RuleContent.setter def RuleContent(self, RuleContent): self._RuleContent = RuleContent @property def Regex(self): """on :正则匹配 off :字面匹配 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Regex @Regex.setter def Regex(self, Regex): self._Regex = Regex @property def RuleHeader(self): """RuleType为requestHeader时必填,否则不需要填 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleHeader @RuleHeader.setter def RuleHeader(self, RuleHeader): self._RuleHeader = RuleHeader def _deserialize(self, params): self._RuleType = params.get("RuleType") self._RuleContent = params.get("RuleContent") self._Regex = params.get("Regex") self._RuleHeader = params.get("RuleHeader") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AddCLSTopicDomainsRequest(AbstractModel): """AddCLSTopicDomains请求参数结构体 """ def __init__(self): r""" :param _LogsetId: 日志集ID :type LogsetId: str :param _TopicId: 日志主题ID :type TopicId: str :param _DomainAreaConfigs: 域名区域配置 :type DomainAreaConfigs: list of DomainAreaConfig :param _Channel: 接入渠道,cdn或者ecdn,默认值为cdn :type Channel: str """ self._LogsetId = None self._TopicId = None self._DomainAreaConfigs = None self._Channel = None @property def LogsetId(self): """日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def TopicId(self): """日志主题ID :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def DomainAreaConfigs(self): """域名区域配置 :rtype: list of DomainAreaConfig """ return self._DomainAreaConfigs @DomainAreaConfigs.setter def DomainAreaConfigs(self, DomainAreaConfigs): self._DomainAreaConfigs = DomainAreaConfigs @property def Channel(self): """接入渠道,cdn或者ecdn,默认值为cdn :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel def _deserialize(self, params): self._LogsetId = params.get("LogsetId") self._TopicId = params.get("TopicId") if params.get("DomainAreaConfigs") is not None: self._DomainAreaConfigs = [] for item in params.get("DomainAreaConfigs"): obj = DomainAreaConfig() obj._deserialize(item) self._DomainAreaConfigs.append(obj) self._Channel = params.get("Channel") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AddCLSTopicDomainsResponse(AbstractModel): """AddCLSTopicDomains返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class AddCdnDomainRequest(AbstractModel): """AddCdnDomain请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _ServiceType: 加速域名业务类型 web:网页小文件 download:下载大文件 media:音视频点播 hybrid: 动静加速 dynamic: 动态加速 :type ServiceType: str :param _Origin: 源站配置 :type Origin: :class:`tencentcloud.cdn.v20180606.models.Origin` :param _ProjectId: 项目 ID,默认为 0,代表【默认项目】 :type ProjectId: int :param _IpFilter: IP 黑白名单配置 :type IpFilter: :class:`tencentcloud.cdn.v20180606.models.IpFilter` :param _IpFreqLimit: IP 限频配置 :type IpFreqLimit: :class:`tencentcloud.cdn.v20180606.models.IpFreqLimit` :param _StatusCodeCache: 状态码缓存配置 :type StatusCodeCache: :class:`tencentcloud.cdn.v20180606.models.StatusCodeCache` :param _Compression: 智能压缩配置 :type Compression: :class:`tencentcloud.cdn.v20180606.models.Compression` :param _BandwidthAlert: 带宽封顶配置 :type BandwidthAlert: :class:`tencentcloud.cdn.v20180606.models.BandwidthAlert` :param _RangeOriginPull: Range 回源配置 :type RangeOriginPull: :class:`tencentcloud.cdn.v20180606.models.RangeOriginPull` :param _FollowRedirect: 301/302 回源跟随配置。 :type FollowRedirect: :class:`tencentcloud.cdn.v20180606.models.FollowRedirect` :param _ErrorPage: 错误码重定向配置(功能灰度中,尚未全量) :type ErrorPage: :class:`tencentcloud.cdn.v20180606.models.ErrorPage` :param _RequestHeader: 请求头部配置 :type RequestHeader: :class:`tencentcloud.cdn.v20180606.models.RequestHeader` :param _ResponseHeader: 响应头部配置 :type ResponseHeader: :class:`tencentcloud.cdn.v20180606.models.ResponseHeader` :param _DownstreamCapping: 下载速度配置 :type DownstreamCapping: :class:`tencentcloud.cdn.v20180606.models.DownstreamCapping` :param _CacheKey: 节点缓存键配置 :type CacheKey: :class:`tencentcloud.cdn.v20180606.models.CacheKey` :param _ResponseHeaderCache: 头部缓存配置 :type ResponseHeaderCache: :class:`tencentcloud.cdn.v20180606.models.ResponseHeaderCache` :param _VideoSeek: 视频拖拽配置 :type VideoSeek: :class:`tencentcloud.cdn.v20180606.models.VideoSeek` :param _Cache: 缓存过期时间配置 :type Cache: :class:`tencentcloud.cdn.v20180606.models.Cache` :param _OriginPullOptimization: 跨国链路优化配置 :type OriginPullOptimization: :class:`tencentcloud.cdn.v20180606.models.OriginPullOptimization` :param _Https: Https 加速配置 :type Https: :class:`tencentcloud.cdn.v20180606.models.Https` :param _Authentication: 时间戳防盗链配置 :type Authentication: :class:`tencentcloud.cdn.v20180606.models.Authentication` :param _Seo: SEO 优化配置 :type Seo: :class:`tencentcloud.cdn.v20180606.models.Seo` :param _ForceRedirect: 访问协议强制跳转配置 :type ForceRedirect: :class:`tencentcloud.cdn.v20180606.models.ForceRedirect` :param _Referer: Referer 防盗链配置 :type Referer: :class:`tencentcloud.cdn.v20180606.models.Referer` :param _MaxAge: 浏览器缓存配置(功能灰度中,尚未全量) :type MaxAge: :class:`tencentcloud.cdn.v20180606.models.MaxAge` :param _Ipv6: Ipv6 配置(功能灰度中,尚未全量) :type Ipv6: :class:`tencentcloud.cdn.v20180606.models.Ipv6` :param _SpecificConfig: 地域属性特殊配置 适用于域名境内加速、境外加速配置不一致场景 :type SpecificConfig: :class:`tencentcloud.cdn.v20180606.models.SpecificConfig` :param _Area: 域名加速区域 mainland:中国境内加速 overseas:中国境外加速 global:全球加速 使用中国境外加速、全球加速时,需要先开通中国境外加速服务 :type Area: str :param _OriginPullTimeout: 回源超时配置 :type OriginPullTimeout: :class:`tencentcloud.cdn.v20180606.models.OriginPullTimeout` :param _Tag: 标签配置 :type Tag: list of Tag :param _Ipv6Access: Ipv6 访问配置 :type Ipv6Access: :class:`tencentcloud.cdn.v20180606.models.Ipv6Access` :param _OfflineCache: 离线缓存 :type OfflineCache: :class:`tencentcloud.cdn.v20180606.models.OfflineCache` :param _Quic: Quic访问(收费服务,详见计费说明和产品文档) :type Quic: :class:`tencentcloud.cdn.v20180606.models.Quic` :param _AwsPrivateAccess: 回源S3私有鉴权 :type AwsPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.AwsPrivateAccess` :param _OssPrivateAccess: 回源OSS私有鉴权 :type OssPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.OssPrivateAccess` :param _HwPrivateAccess: 华为云对象存储回源鉴权 :type HwPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.HwPrivateAccess` :param _QnPrivateAccess: 七牛云对象存储回源鉴权 :type QnPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.QnPrivateAccess` :param _OthersPrivateAccess: 其他厂商对象存储回源鉴权 :type OthersPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.OthersPrivateAccess` :param _HttpsBilling: HTTPS服务,默认开启(收费服务,详见计费说明和产品文档) :type HttpsBilling: :class:`tencentcloud.cdn.v20180606.models.HttpsBilling` """ self._Domain = None self._ServiceType = None self._Origin = None self._ProjectId = None self._IpFilter = None self._IpFreqLimit = None self._StatusCodeCache = None self._Compression = None self._BandwidthAlert = None self._RangeOriginPull = None self._FollowRedirect = None self._ErrorPage = None self._RequestHeader = None self._ResponseHeader = None self._DownstreamCapping = None self._CacheKey = None self._ResponseHeaderCache = None self._VideoSeek = None self._Cache = None self._OriginPullOptimization = None self._Https = None self._Authentication = None self._Seo = None self._ForceRedirect = None self._Referer = None self._MaxAge = None self._Ipv6 = None self._SpecificConfig = None self._Area = None self._OriginPullTimeout = None self._Tag = None self._Ipv6Access = None self._OfflineCache = None self._Quic = None self._AwsPrivateAccess = None self._OssPrivateAccess = None self._HwPrivateAccess = None self._QnPrivateAccess = None self._OthersPrivateAccess = None self._HttpsBilling = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def ServiceType(self): """加速域名业务类型 web:网页小文件 download:下载大文件 media:音视频点播 hybrid: 动静加速 dynamic: 动态加速 :rtype: str """ return self._ServiceType @ServiceType.setter def ServiceType(self, ServiceType): self._ServiceType = ServiceType @property def Origin(self): """源站配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Origin` """ return self._Origin @Origin.setter def Origin(self, Origin): self._Origin = Origin @property def ProjectId(self): """项目 ID,默认为 0,代表【默认项目】 :rtype: int """ return self._ProjectId @ProjectId.setter def ProjectId(self, ProjectId): self._ProjectId = ProjectId @property def IpFilter(self): """IP 黑白名单配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.IpFilter` """ return self._IpFilter @IpFilter.setter def IpFilter(self, IpFilter): self._IpFilter = IpFilter @property def IpFreqLimit(self): """IP 限频配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.IpFreqLimit` """ return self._IpFreqLimit @IpFreqLimit.setter def IpFreqLimit(self, IpFreqLimit): self._IpFreqLimit = IpFreqLimit @property def StatusCodeCache(self): """状态码缓存配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.StatusCodeCache` """ return self._StatusCodeCache @StatusCodeCache.setter def StatusCodeCache(self, StatusCodeCache): self._StatusCodeCache = StatusCodeCache @property def Compression(self): """智能压缩配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Compression` """ return self._Compression @Compression.setter def Compression(self, Compression): self._Compression = Compression @property def BandwidthAlert(self): """带宽封顶配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.BandwidthAlert` """ return self._BandwidthAlert @BandwidthAlert.setter def BandwidthAlert(self, BandwidthAlert): self._BandwidthAlert = BandwidthAlert @property def RangeOriginPull(self): """Range 回源配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.RangeOriginPull` """ return self._RangeOriginPull @RangeOriginPull.setter def RangeOriginPull(self, RangeOriginPull): self._RangeOriginPull = RangeOriginPull @property def FollowRedirect(self): """301/302 回源跟随配置。 :rtype: :class:`tencentcloud.cdn.v20180606.models.FollowRedirect` """ return self._FollowRedirect @FollowRedirect.setter def FollowRedirect(self, FollowRedirect): self._FollowRedirect = FollowRedirect @property def ErrorPage(self): """错误码重定向配置(功能灰度中,尚未全量) :rtype: :class:`tencentcloud.cdn.v20180606.models.ErrorPage` """ return self._ErrorPage @ErrorPage.setter def ErrorPage(self, ErrorPage): self._ErrorPage = ErrorPage @property def RequestHeader(self): """请求头部配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.RequestHeader` """ return self._RequestHeader @RequestHeader.setter def RequestHeader(self, RequestHeader): self._RequestHeader = RequestHeader @property def ResponseHeader(self): """响应头部配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ResponseHeader` """ return self._ResponseHeader @ResponseHeader.setter def ResponseHeader(self, ResponseHeader): self._ResponseHeader = ResponseHeader @property def DownstreamCapping(self): """下载速度配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.DownstreamCapping` """ return self._DownstreamCapping @DownstreamCapping.setter def DownstreamCapping(self, DownstreamCapping): self._DownstreamCapping = DownstreamCapping @property def CacheKey(self): """节点缓存键配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheKey` """ return self._CacheKey @CacheKey.setter def CacheKey(self, CacheKey): self._CacheKey = CacheKey @property def ResponseHeaderCache(self): """头部缓存配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ResponseHeaderCache` """ return self._ResponseHeaderCache @ResponseHeaderCache.setter def ResponseHeaderCache(self, ResponseHeaderCache): self._ResponseHeaderCache = ResponseHeaderCache @property def VideoSeek(self): """视频拖拽配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.VideoSeek` """ return self._VideoSeek @VideoSeek.setter def VideoSeek(self, VideoSeek): self._VideoSeek = VideoSeek @property def Cache(self): """缓存过期时间配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Cache` """ return self._Cache @Cache.setter def Cache(self, Cache): self._Cache = Cache @property def OriginPullOptimization(self): """跨国链路优化配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginPullOptimization` """ return self._OriginPullOptimization @OriginPullOptimization.setter def OriginPullOptimization(self, OriginPullOptimization): self._OriginPullOptimization = OriginPullOptimization @property def Https(self): """Https 加速配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Https` """ return self._Https @Https.setter def Https(self, Https): self._Https = Https @property def Authentication(self): """时间戳防盗链配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Authentication` """ return self._Authentication @Authentication.setter def Authentication(self, Authentication): self._Authentication = Authentication @property def Seo(self): """SEO 优化配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Seo` """ return self._Seo @Seo.setter def Seo(self, Seo): self._Seo = Seo @property def ForceRedirect(self): """访问协议强制跳转配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ForceRedirect` """ return self._ForceRedirect @ForceRedirect.setter def ForceRedirect(self, ForceRedirect): self._ForceRedirect = ForceRedirect @property def Referer(self): """Referer 防盗链配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Referer` """ return self._Referer @Referer.setter def Referer(self, Referer): self._Referer = Referer @property def MaxAge(self): """浏览器缓存配置(功能灰度中,尚未全量) :rtype: :class:`tencentcloud.cdn.v20180606.models.MaxAge` """ return self._MaxAge @MaxAge.setter def MaxAge(self, MaxAge): self._MaxAge = MaxAge @property def Ipv6(self): """Ipv6 配置(功能灰度中,尚未全量) :rtype: :class:`tencentcloud.cdn.v20180606.models.Ipv6` """ return self._Ipv6 @Ipv6.setter def Ipv6(self, Ipv6): self._Ipv6 = Ipv6 @property def SpecificConfig(self): """地域属性特殊配置 适用于域名境内加速、境外加速配置不一致场景 :rtype: :class:`tencentcloud.cdn.v20180606.models.SpecificConfig` """ return self._SpecificConfig @SpecificConfig.setter def SpecificConfig(self, SpecificConfig): self._SpecificConfig = SpecificConfig @property def Area(self): """域名加速区域 mainland:中国境内加速 overseas:中国境外加速 global:全球加速 使用中国境外加速、全球加速时,需要先开通中国境外加速服务 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def OriginPullTimeout(self): """回源超时配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginPullTimeout` """ return self._OriginPullTimeout @OriginPullTimeout.setter def OriginPullTimeout(self, OriginPullTimeout): self._OriginPullTimeout = OriginPullTimeout @property def Tag(self): """标签配置 :rtype: list of Tag """ return self._Tag @Tag.setter def Tag(self, Tag): self._Tag = Tag @property def Ipv6Access(self): """Ipv6 访问配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Ipv6Access` """ return self._Ipv6Access @Ipv6Access.setter def Ipv6Access(self, Ipv6Access): self._Ipv6Access = Ipv6Access @property def OfflineCache(self): """离线缓存 :rtype: :class:`tencentcloud.cdn.v20180606.models.OfflineCache` """ return self._OfflineCache @OfflineCache.setter def OfflineCache(self, OfflineCache): self._OfflineCache = OfflineCache @property def Quic(self): """Quic访问(收费服务,详见计费说明和产品文档) :rtype: :class:`tencentcloud.cdn.v20180606.models.Quic` """ return self._Quic @Quic.setter def Quic(self, Quic): self._Quic = Quic @property def AwsPrivateAccess(self): """回源S3私有鉴权 :rtype: :class:`tencentcloud.cdn.v20180606.models.AwsPrivateAccess` """ return self._AwsPrivateAccess @AwsPrivateAccess.setter def AwsPrivateAccess(self, AwsPrivateAccess): self._AwsPrivateAccess = AwsPrivateAccess @property def OssPrivateAccess(self): """回源OSS私有鉴权 :rtype: :class:`tencentcloud.cdn.v20180606.models.OssPrivateAccess` """ return self._OssPrivateAccess @OssPrivateAccess.setter def OssPrivateAccess(self, OssPrivateAccess): self._OssPrivateAccess = OssPrivateAccess @property def HwPrivateAccess(self): """华为云对象存储回源鉴权 :rtype: :class:`tencentcloud.cdn.v20180606.models.HwPrivateAccess` """ return self._HwPrivateAccess @HwPrivateAccess.setter def HwPrivateAccess(self, HwPrivateAccess): self._HwPrivateAccess = HwPrivateAccess @property def QnPrivateAccess(self): """七牛云对象存储回源鉴权 :rtype: :class:`tencentcloud.cdn.v20180606.models.QnPrivateAccess` """ return self._QnPrivateAccess @QnPrivateAccess.setter def QnPrivateAccess(self, QnPrivateAccess): self._QnPrivateAccess = QnPrivateAccess @property def OthersPrivateAccess(self): """其他厂商对象存储回源鉴权 :rtype: :class:`tencentcloud.cdn.v20180606.models.OthersPrivateAccess` """ return self._OthersPrivateAccess @OthersPrivateAccess.setter def OthersPrivateAccess(self, OthersPrivateAccess): self._OthersPrivateAccess = OthersPrivateAccess @property def HttpsBilling(self): """HTTPS服务,默认开启(收费服务,详见计费说明和产品文档) :rtype: :class:`tencentcloud.cdn.v20180606.models.HttpsBilling` """ return self._HttpsBilling @HttpsBilling.setter def HttpsBilling(self, HttpsBilling): self._HttpsBilling = HttpsBilling def _deserialize(self, params): self._Domain = params.get("Domain") self._ServiceType = params.get("ServiceType") if params.get("Origin") is not None: self._Origin = Origin() self._Origin._deserialize(params.get("Origin")) self._ProjectId = params.get("ProjectId") if params.get("IpFilter") is not None: self._IpFilter = IpFilter() self._IpFilter._deserialize(params.get("IpFilter")) if params.get("IpFreqLimit") is not None: self._IpFreqLimit = IpFreqLimit() self._IpFreqLimit._deserialize(params.get("IpFreqLimit")) if params.get("StatusCodeCache") is not None: self._StatusCodeCache = StatusCodeCache() self._StatusCodeCache._deserialize(params.get("StatusCodeCache")) if params.get("Compression") is not None: self._Compression = Compression() self._Compression._deserialize(params.get("Compression")) if params.get("BandwidthAlert") is not None: self._BandwidthAlert = BandwidthAlert() self._BandwidthAlert._deserialize(params.get("BandwidthAlert")) if params.get("RangeOriginPull") is not None: self._RangeOriginPull = RangeOriginPull() self._RangeOriginPull._deserialize(params.get("RangeOriginPull")) if params.get("FollowRedirect") is not None: self._FollowRedirect = FollowRedirect() self._FollowRedirect._deserialize(params.get("FollowRedirect")) if params.get("ErrorPage") is not None: self._ErrorPage = ErrorPage() self._ErrorPage._deserialize(params.get("ErrorPage")) if params.get("RequestHeader") is not None: self._RequestHeader = RequestHeader() self._RequestHeader._deserialize(params.get("RequestHeader")) if params.get("ResponseHeader") is not None: self._ResponseHeader = ResponseHeader() self._ResponseHeader._deserialize(params.get("ResponseHeader")) if params.get("DownstreamCapping") is not None: self._DownstreamCapping = DownstreamCapping() self._DownstreamCapping._deserialize(params.get("DownstreamCapping")) if params.get("CacheKey") is not None: self._CacheKey = CacheKey() self._CacheKey._deserialize(params.get("CacheKey")) if params.get("ResponseHeaderCache") is not None: self._ResponseHeaderCache = ResponseHeaderCache() self._ResponseHeaderCache._deserialize(params.get("ResponseHeaderCache")) if params.get("VideoSeek") is not None: self._VideoSeek = VideoSeek() self._VideoSeek._deserialize(params.get("VideoSeek")) if params.get("Cache") is not None: self._Cache = Cache() self._Cache._deserialize(params.get("Cache")) if params.get("OriginPullOptimization") is not None: self._OriginPullOptimization = OriginPullOptimization() self._OriginPullOptimization._deserialize(params.get("OriginPullOptimization")) if params.get("Https") is not None: self._Https = Https() self._Https._deserialize(params.get("Https")) if params.get("Authentication") is not None: self._Authentication = Authentication() self._Authentication._deserialize(params.get("Authentication")) if params.get("Seo") is not None: self._Seo = Seo() self._Seo._deserialize(params.get("Seo")) if params.get("ForceRedirect") is not None: self._ForceRedirect = ForceRedirect() self._ForceRedirect._deserialize(params.get("ForceRedirect")) if params.get("Referer") is not None: self._Referer = Referer() self._Referer._deserialize(params.get("Referer")) if params.get("MaxAge") is not None: self._MaxAge = MaxAge() self._MaxAge._deserialize(params.get("MaxAge")) if params.get("Ipv6") is not None: self._Ipv6 = Ipv6() self._Ipv6._deserialize(params.get("Ipv6")) if params.get("SpecificConfig") is not None: self._SpecificConfig = SpecificConfig() self._SpecificConfig._deserialize(params.get("SpecificConfig")) self._Area = params.get("Area") if params.get("OriginPullTimeout") is not None: self._OriginPullTimeout = OriginPullTimeout() self._OriginPullTimeout._deserialize(params.get("OriginPullTimeout")) if params.get("Tag") is not None: self._Tag = [] for item in params.get("Tag"): obj = Tag() obj._deserialize(item) self._Tag.append(obj) if params.get("Ipv6Access") is not None: self._Ipv6Access = Ipv6Access() self._Ipv6Access._deserialize(params.get("Ipv6Access")) if params.get("OfflineCache") is not None: self._OfflineCache = OfflineCache() self._OfflineCache._deserialize(params.get("OfflineCache")) if params.get("Quic") is not None: self._Quic = Quic() self._Quic._deserialize(params.get("Quic")) if params.get("AwsPrivateAccess") is not None: self._AwsPrivateAccess = AwsPrivateAccess() self._AwsPrivateAccess._deserialize(params.get("AwsPrivateAccess")) if params.get("OssPrivateAccess") is not None: self._OssPrivateAccess = OssPrivateAccess() self._OssPrivateAccess._deserialize(params.get("OssPrivateAccess")) if params.get("HwPrivateAccess") is not None: self._HwPrivateAccess = HwPrivateAccess() self._HwPrivateAccess._deserialize(params.get("HwPrivateAccess")) if params.get("QnPrivateAccess") is not None: self._QnPrivateAccess = QnPrivateAccess() self._QnPrivateAccess._deserialize(params.get("QnPrivateAccess")) if params.get("OthersPrivateAccess") is not None: self._OthersPrivateAccess = OthersPrivateAccess() self._OthersPrivateAccess._deserialize(params.get("OthersPrivateAccess")) if params.get("HttpsBilling") is not None: self._HttpsBilling = HttpsBilling() self._HttpsBilling._deserialize(params.get("HttpsBilling")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AddCdnDomainResponse(AbstractModel): """AddCdnDomain返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class AdvanceCacheRule(AbstractModel): """缓存配置高级版本规则 """ def __init__(self): r""" :param _CacheType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 default:源站未返回 max-age 情况下的缓存规则 注意:此字段可能返回 null,表示取不到有效值。 :type CacheType: str :param _CacheContents: 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html default 时填充 "no max-age" 注意:此字段可能返回 null,表示取不到有效值。 :type CacheContents: list of str :param _CacheTime: 缓存过期时间 单位为秒,最大可设置为 365 天 注意:此字段可能返回 null,表示取不到有效值。 :type CacheTime: int """ self._CacheType = None self._CacheContents = None self._CacheTime = None @property def CacheType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 default:源站未返回 max-age 情况下的缓存规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CacheType @CacheType.setter def CacheType(self, CacheType): self._CacheType = CacheType @property def CacheContents(self): """对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html default 时填充 "no max-age" 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._CacheContents @CacheContents.setter def CacheContents(self, CacheContents): self._CacheContents = CacheContents @property def CacheTime(self): """缓存过期时间 单位为秒,最大可设置为 365 天 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._CacheTime @CacheTime.setter def CacheTime(self, CacheTime): self._CacheTime = CacheTime def _deserialize(self, params): self._CacheType = params.get("CacheType") self._CacheContents = params.get("CacheContents") self._CacheTime = params.get("CacheTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvanceConfig(AbstractModel): """高级配置集合 """ def __init__(self): r""" :param _Name: 高级配置名称。 注意:此字段可能返回 null,表示取不到有效值。 :type Name: str :param _Value: 是否支持高级配置, on:支持 off:不支持 注意:此字段可能返回 null,表示取不到有效值。 :type Value: str """ self._Name = None self._Value = None @property def Name(self): """高级配置名称。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def Value(self): """是否支持高级配置, on:支持 off:不支持 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Name = params.get("Name") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvanceHttps(AbstractModel): """回源的自定义Https配置 """ def __init__(self): r""" :param _CustomTlsStatus: 自定义Tls数据开关 注意:此字段可能返回 null,表示取不到有效值。 :type CustomTlsStatus: str :param _TlsVersion: Tls版本列表,支持设置 TLSv1, TLSV1.1, TLSV1.2, TLSv1.3,修改时必须开启连续的版本 注意:此字段可能返回 null,表示取不到有效值。 :type TlsVersion: list of str :param _Cipher: 自定义加密套件 注意:此字段可能返回 null,表示取不到有效值。 :type Cipher: str :param _VerifyOriginType: 回源双向校验开启状态 off - 关闭校验 oneWay - 校验源站 twoWay - 双向校验 注意:此字段可能返回 null,表示取不到有效值。 :type VerifyOriginType: str :param _CertInfo: 回源层证书配置信息 注意:此字段可能返回 null,表示取不到有效值。 :type CertInfo: :class:`tencentcloud.cdn.v20180606.models.ServerCert` :param _OriginCertInfo: 源站证书配置信息 注意:此字段可能返回 null,表示取不到有效值。 :type OriginCertInfo: :class:`tencentcloud.cdn.v20180606.models.ClientCert` """ self._CustomTlsStatus = None self._TlsVersion = None self._Cipher = None self._VerifyOriginType = None self._CertInfo = None self._OriginCertInfo = None @property def CustomTlsStatus(self): """自定义Tls数据开关 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CustomTlsStatus @CustomTlsStatus.setter def CustomTlsStatus(self, CustomTlsStatus): self._CustomTlsStatus = CustomTlsStatus @property def TlsVersion(self): """Tls版本列表,支持设置 TLSv1, TLSV1.1, TLSV1.2, TLSv1.3,修改时必须开启连续的版本 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._TlsVersion @TlsVersion.setter def TlsVersion(self, TlsVersion): self._TlsVersion = TlsVersion @property def Cipher(self): """自定义加密套件 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Cipher @Cipher.setter def Cipher(self, Cipher): self._Cipher = Cipher @property def VerifyOriginType(self): """回源双向校验开启状态 off - 关闭校验 oneWay - 校验源站 twoWay - 双向校验 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._VerifyOriginType @VerifyOriginType.setter def VerifyOriginType(self, VerifyOriginType): self._VerifyOriginType = VerifyOriginType @property def CertInfo(self): """回源层证书配置信息 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ServerCert` """ return self._CertInfo @CertInfo.setter def CertInfo(self, CertInfo): self._CertInfo = CertInfo @property def OriginCertInfo(self): """源站证书配置信息 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ClientCert` """ return self._OriginCertInfo @OriginCertInfo.setter def OriginCertInfo(self, OriginCertInfo): self._OriginCertInfo = OriginCertInfo def _deserialize(self, params): self._CustomTlsStatus = params.get("CustomTlsStatus") self._TlsVersion = params.get("TlsVersion") self._Cipher = params.get("Cipher") self._VerifyOriginType = params.get("VerifyOriginType") if params.get("CertInfo") is not None: self._CertInfo = ServerCert() self._CertInfo._deserialize(params.get("CertInfo")) if params.get("OriginCertInfo") is not None: self._OriginCertInfo = ClientCert() self._OriginCertInfo._deserialize(params.get("OriginCertInfo")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedAuthentication(AbstractModel): """时间戳防盗链高级版配置,白名单功能 """ def __init__(self): r""" :param _Switch: 防盗链配置开关,取值有: on:开启 off:关闭 开启时必须且只配置一种模式,其余模式需要设置为 null :type Switch: str :param _TypeA: 时间戳防盗链高级版模式A配置。 注意:此字段可能返回 null,表示取不到有效值。 :type TypeA: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeA` :param _TypeB: 时间戳防盗链高级版模式B配置。 注意:此字段可能返回 null,表示取不到有效值。 :type TypeB: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeB` :param _TypeC: 时间戳防盗链高级版模式C配置。 注意:此字段可能返回 null,表示取不到有效值。 :type TypeC: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeC` :param _TypeD: 时间戳防盗链高级版模式D配置。 注意:此字段可能返回 null,表示取不到有效值。 :type TypeD: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeD` :param _TypeE: 时间戳防盗链高级版模式E配置。 注意:此字段可能返回 null,表示取不到有效值。 :type TypeE: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeE` :param _TypeF: 时间戳防盗链高级版模式F配置。 注意:此字段可能返回 null,表示取不到有效值。 :type TypeF: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeF` """ self._Switch = None self._TypeA = None self._TypeB = None self._TypeC = None self._TypeD = None self._TypeE = None self._TypeF = None @property def Switch(self): """防盗链配置开关,取值有: on:开启 off:关闭 开启时必须且只配置一种模式,其余模式需要设置为 null :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def TypeA(self): """时间戳防盗链高级版模式A配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeA` """ return self._TypeA @TypeA.setter def TypeA(self, TypeA): self._TypeA = TypeA @property def TypeB(self): """时间戳防盗链高级版模式B配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeB` """ return self._TypeB @TypeB.setter def TypeB(self, TypeB): self._TypeB = TypeB @property def TypeC(self): """时间戳防盗链高级版模式C配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeC` """ return self._TypeC @TypeC.setter def TypeC(self, TypeC): self._TypeC = TypeC @property def TypeD(self): """时间戳防盗链高级版模式D配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeD` """ return self._TypeD @TypeD.setter def TypeD(self, TypeD): self._TypeD = TypeD @property def TypeE(self): """时间戳防盗链高级版模式E配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeE` """ return self._TypeE @TypeE.setter def TypeE(self, TypeE): self._TypeE = TypeE @property def TypeF(self): """时间戳防盗链高级版模式F配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthenticationTypeF` """ return self._TypeF @TypeF.setter def TypeF(self, TypeF): self._TypeF = TypeF def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("TypeA") is not None: self._TypeA = AdvancedAuthenticationTypeA() self._TypeA._deserialize(params.get("TypeA")) if params.get("TypeB") is not None: self._TypeB = AdvancedAuthenticationTypeB() self._TypeB._deserialize(params.get("TypeB")) if params.get("TypeC") is not None: self._TypeC = AdvancedAuthenticationTypeC() self._TypeC._deserialize(params.get("TypeC")) if params.get("TypeD") is not None: self._TypeD = AdvancedAuthenticationTypeD() self._TypeD._deserialize(params.get("TypeD")) if params.get("TypeE") is not None: self._TypeE = AdvancedAuthenticationTypeE() self._TypeE._deserialize(params.get("TypeE")) if params.get("TypeF") is not None: self._TypeF = AdvancedAuthenticationTypeF() self._TypeF._deserialize(params.get("TypeF")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedAuthenticationTypeA(AbstractModel): """时间戳防盗链高级版模式A配置。 """ def __init__(self): r""" :param _SecretKey: 用于计算签名的密钥,只允许字母和数字,长度6-32字节。 :type SecretKey: str :param _SignParam: uri串中签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 :type SignParam: str :param _TimeParam: uri串中时间的字段名,字母,数字或下划线构成,同时必须以字母开头。 :type TimeParam: str :param _ExpireTime: 过期时间,单位秒。 :type ExpireTime: int :param _ExpireTimeRequired: 是否必须提供过期时间参数。 :type ExpireTimeRequired: bool :param _Format: URL 组成格式,如:${private_key}${schema}${host}${full_uri}。 :type Format: str :param _TimeFormat: 时间格式,dec,hex分别表示十进制,十六进制。 :type TimeFormat: str :param _FailCode: 鉴权失败时返回的状态码。 :type FailCode: int :param _ExpireCode: 链接过期时返回的状态码。 :type ExpireCode: int :param _RulePaths: 需要鉴权的url路径列表。 :type RulePaths: list of str :param _Transformation: 保留字段。 :type Transformation: int """ self._SecretKey = None self._SignParam = None self._TimeParam = None self._ExpireTime = None self._ExpireTimeRequired = None self._Format = None self._TimeFormat = None self._FailCode = None self._ExpireCode = None self._RulePaths = None self._Transformation = None @property def SecretKey(self): """用于计算签名的密钥,只允许字母和数字,长度6-32字节。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def SignParam(self): """uri串中签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 :rtype: str """ return self._SignParam @SignParam.setter def SignParam(self, SignParam): self._SignParam = SignParam @property def TimeParam(self): """uri串中时间的字段名,字母,数字或下划线构成,同时必须以字母开头。 :rtype: str """ return self._TimeParam @TimeParam.setter def TimeParam(self, TimeParam): self._TimeParam = TimeParam @property def ExpireTime(self): """过期时间,单位秒。 :rtype: int """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def ExpireTimeRequired(self): """是否必须提供过期时间参数。 :rtype: bool """ return self._ExpireTimeRequired @ExpireTimeRequired.setter def ExpireTimeRequired(self, ExpireTimeRequired): self._ExpireTimeRequired = ExpireTimeRequired @property def Format(self): """URL 组成格式,如:${private_key}${schema}${host}${full_uri}。 :rtype: str """ return self._Format @Format.setter def Format(self, Format): self._Format = Format @property def TimeFormat(self): """时间格式,dec,hex分别表示十进制,十六进制。 :rtype: str """ return self._TimeFormat @TimeFormat.setter def TimeFormat(self, TimeFormat): self._TimeFormat = TimeFormat @property def FailCode(self): """鉴权失败时返回的状态码。 :rtype: int """ return self._FailCode @FailCode.setter def FailCode(self, FailCode): self._FailCode = FailCode @property def ExpireCode(self): """链接过期时返回的状态码。 :rtype: int """ return self._ExpireCode @ExpireCode.setter def ExpireCode(self, ExpireCode): self._ExpireCode = ExpireCode @property def RulePaths(self): """需要鉴权的url路径列表。 :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths @property def Transformation(self): """保留字段。 :rtype: int """ return self._Transformation @Transformation.setter def Transformation(self, Transformation): self._Transformation = Transformation def _deserialize(self, params): self._SecretKey = params.get("SecretKey") self._SignParam = params.get("SignParam") self._TimeParam = params.get("TimeParam") self._ExpireTime = params.get("ExpireTime") self._ExpireTimeRequired = params.get("ExpireTimeRequired") self._Format = params.get("Format") self._TimeFormat = params.get("TimeFormat") self._FailCode = params.get("FailCode") self._ExpireCode = params.get("ExpireCode") self._RulePaths = params.get("RulePaths") self._Transformation = params.get("Transformation") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedAuthenticationTypeB(AbstractModel): """时间戳防盗链高级版模式B配置。 """ def __init__(self): r""" :param _KeyAlpha: alpha键名。 :type KeyAlpha: str :param _KeyBeta: beta键名。 :type KeyBeta: str :param _KeyGamma: gamma键名。 :type KeyGamma: str :param _SignParam: uri串中签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 :type SignParam: str :param _TimeParam: uri串中时间的字段名,字母,数字或下划线构成,同时必须以字母开头。 :type TimeParam: str :param _ExpireTime: 过期时间,单位秒。 :type ExpireTime: int :param _TimeFormat: 时间格式,dec,hex分别表示十进制,十六进制。 :type TimeFormat: str :param _FailCode: 鉴权失败时返回的状态码。 :type FailCode: int :param _ExpireCode: 链接过期时返回的状态码。 :type ExpireCode: int :param _RulePaths: 需要鉴权的url路径列表。 :type RulePaths: list of str """ self._KeyAlpha = None self._KeyBeta = None self._KeyGamma = None self._SignParam = None self._TimeParam = None self._ExpireTime = None self._TimeFormat = None self._FailCode = None self._ExpireCode = None self._RulePaths = None @property def KeyAlpha(self): """alpha键名。 :rtype: str """ return self._KeyAlpha @KeyAlpha.setter def KeyAlpha(self, KeyAlpha): self._KeyAlpha = KeyAlpha @property def KeyBeta(self): """beta键名。 :rtype: str """ return self._KeyBeta @KeyBeta.setter def KeyBeta(self, KeyBeta): self._KeyBeta = KeyBeta @property def KeyGamma(self): """gamma键名。 :rtype: str """ return self._KeyGamma @KeyGamma.setter def KeyGamma(self, KeyGamma): self._KeyGamma = KeyGamma @property def SignParam(self): """uri串中签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 :rtype: str """ return self._SignParam @SignParam.setter def SignParam(self, SignParam): self._SignParam = SignParam @property def TimeParam(self): """uri串中时间的字段名,字母,数字或下划线构成,同时必须以字母开头。 :rtype: str """ return self._TimeParam @TimeParam.setter def TimeParam(self, TimeParam): self._TimeParam = TimeParam @property def ExpireTime(self): """过期时间,单位秒。 :rtype: int """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def TimeFormat(self): """时间格式,dec,hex分别表示十进制,十六进制。 :rtype: str """ return self._TimeFormat @TimeFormat.setter def TimeFormat(self, TimeFormat): self._TimeFormat = TimeFormat @property def FailCode(self): """鉴权失败时返回的状态码。 :rtype: int """ return self._FailCode @FailCode.setter def FailCode(self, FailCode): self._FailCode = FailCode @property def ExpireCode(self): """链接过期时返回的状态码。 :rtype: int """ return self._ExpireCode @ExpireCode.setter def ExpireCode(self, ExpireCode): self._ExpireCode = ExpireCode @property def RulePaths(self): """需要鉴权的url路径列表。 :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths def _deserialize(self, params): self._KeyAlpha = params.get("KeyAlpha") self._KeyBeta = params.get("KeyBeta") self._KeyGamma = params.get("KeyGamma") self._SignParam = params.get("SignParam") self._TimeParam = params.get("TimeParam") self._ExpireTime = params.get("ExpireTime") self._TimeFormat = params.get("TimeFormat") self._FailCode = params.get("FailCode") self._ExpireCode = params.get("ExpireCode") self._RulePaths = params.get("RulePaths") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedAuthenticationTypeC(AbstractModel): """时间戳防盗链高级版模式C配置。 """ def __init__(self): r""" :param _AccessKey: 访问密钥。 :type AccessKey: str :param _SecretKey: 鉴权密钥。 :type SecretKey: str """ self._AccessKey = None self._SecretKey = None @property def AccessKey(self): """访问密钥。 :rtype: str """ return self._AccessKey @AccessKey.setter def AccessKey(self, AccessKey): self._AccessKey = AccessKey @property def SecretKey(self): """鉴权密钥。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey def _deserialize(self, params): self._AccessKey = params.get("AccessKey") self._SecretKey = params.get("SecretKey") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedAuthenticationTypeD(AbstractModel): """时间戳防盗链高级版模式D配置。 """ def __init__(self): r""" :param _SecretKey: 用于计算签名的密钥,只允许字母和数字,长度6-32字节。 :type SecretKey: str :param _BackupSecretKey: 备份密钥,当使用SecretKey鉴权失败时会使用该密钥重新鉴权。 :type BackupSecretKey: str :param _SignParam: uri串中签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 :type SignParam: str :param _TimeParam: uri串中时间的字段名,字母,数字或下划线构成,同时必须以字母开头。 :type TimeParam: str :param _ExpireTime: 过期时间,单位秒。 :type ExpireTime: int :param _TimeFormat: 时间格式,dec,hex分别表示十进制,十六进制。 :type TimeFormat: str """ self._SecretKey = None self._BackupSecretKey = None self._SignParam = None self._TimeParam = None self._ExpireTime = None self._TimeFormat = None @property def SecretKey(self): """用于计算签名的密钥,只允许字母和数字,长度6-32字节。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def BackupSecretKey(self): """备份密钥,当使用SecretKey鉴权失败时会使用该密钥重新鉴权。 :rtype: str """ return self._BackupSecretKey @BackupSecretKey.setter def BackupSecretKey(self, BackupSecretKey): self._BackupSecretKey = BackupSecretKey @property def SignParam(self): """uri串中签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 :rtype: str """ return self._SignParam @SignParam.setter def SignParam(self, SignParam): self._SignParam = SignParam @property def TimeParam(self): """uri串中时间的字段名,字母,数字或下划线构成,同时必须以字母开头。 :rtype: str """ return self._TimeParam @TimeParam.setter def TimeParam(self, TimeParam): self._TimeParam = TimeParam @property def ExpireTime(self): """过期时间,单位秒。 :rtype: int """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def TimeFormat(self): """时间格式,dec,hex分别表示十进制,十六进制。 :rtype: str """ return self._TimeFormat @TimeFormat.setter def TimeFormat(self, TimeFormat): self._TimeFormat = TimeFormat def _deserialize(self, params): self._SecretKey = params.get("SecretKey") self._BackupSecretKey = params.get("BackupSecretKey") self._SignParam = params.get("SignParam") self._TimeParam = params.get("TimeParam") self._ExpireTime = params.get("ExpireTime") self._TimeFormat = params.get("TimeFormat") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedAuthenticationTypeE(AbstractModel): """时间戳防盗链高级版模式E配置。 """ def __init__(self): r""" :param _SecretKey: 用于计算签名的密钥,只允许字母和数字,长度6-32字节。 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str :param _SignParam: uri串中签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :type SignParam: str :param _AclSignParam: uri串中Acl签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :type AclSignParam: str :param _StartTimeParam: uri串中开始时间字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :type StartTimeParam: str :param _ExpireTimeParam: uri串中过期时间字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :type ExpireTimeParam: str :param _TimeFormat: 时间格式,dec 注意:此字段可能返回 null,表示取不到有效值。 :type TimeFormat: str """ self._SecretKey = None self._SignParam = None self._AclSignParam = None self._StartTimeParam = None self._ExpireTimeParam = None self._TimeFormat = None @property def SecretKey(self): """用于计算签名的密钥,只允许字母和数字,长度6-32字节。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def SignParam(self): """uri串中签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SignParam @SignParam.setter def SignParam(self, SignParam): self._SignParam = SignParam @property def AclSignParam(self): """uri串中Acl签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._AclSignParam @AclSignParam.setter def AclSignParam(self, AclSignParam): self._AclSignParam = AclSignParam @property def StartTimeParam(self): """uri串中开始时间字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._StartTimeParam @StartTimeParam.setter def StartTimeParam(self, StartTimeParam): self._StartTimeParam = StartTimeParam @property def ExpireTimeParam(self): """uri串中过期时间字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ExpireTimeParam @ExpireTimeParam.setter def ExpireTimeParam(self, ExpireTimeParam): self._ExpireTimeParam = ExpireTimeParam @property def TimeFormat(self): """时间格式,dec 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TimeFormat @TimeFormat.setter def TimeFormat(self, TimeFormat): self._TimeFormat = TimeFormat def _deserialize(self, params): self._SecretKey = params.get("SecretKey") self._SignParam = params.get("SignParam") self._AclSignParam = params.get("AclSignParam") self._StartTimeParam = params.get("StartTimeParam") self._ExpireTimeParam = params.get("ExpireTimeParam") self._TimeFormat = params.get("TimeFormat") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedAuthenticationTypeF(AbstractModel): """时间戳防盗链高级鉴权模式TypeF配置 """ def __init__(self): r""" :param _SignParam: uri串中签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :type SignParam: str :param _TimeParam: uri串中时间的字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :type TimeParam: str :param _TransactionParam: uri串中Transaction字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :type TransactionParam: str :param _SecretKey: 用于计算签名的主密钥,只允许字母和数字,长度6-32字节。 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str :param _BackupSecretKey: 用于计算签名的备选密钥,主密钥校验失败后再次尝试备选密钥,只允许字母和数字,长度6-32字节。 注意:此字段可能返回 null,表示取不到有效值。 :type BackupSecretKey: str """ self._SignParam = None self._TimeParam = None self._TransactionParam = None self._SecretKey = None self._BackupSecretKey = None @property def SignParam(self): """uri串中签名的字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SignParam @SignParam.setter def SignParam(self, SignParam): self._SignParam = SignParam @property def TimeParam(self): """uri串中时间的字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TimeParam @TimeParam.setter def TimeParam(self, TimeParam): self._TimeParam = TimeParam @property def TransactionParam(self): """uri串中Transaction字段名,字母,数字或下划线构成,同时必须以字母开头。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TransactionParam @TransactionParam.setter def TransactionParam(self, TransactionParam): self._TransactionParam = TransactionParam @property def SecretKey(self): """用于计算签名的主密钥,只允许字母和数字,长度6-32字节。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def BackupSecretKey(self): """用于计算签名的备选密钥,主密钥校验失败后再次尝试备选密钥,只允许字母和数字,长度6-32字节。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._BackupSecretKey @BackupSecretKey.setter def BackupSecretKey(self, BackupSecretKey): self._BackupSecretKey = BackupSecretKey def _deserialize(self, params): self._SignParam = params.get("SignParam") self._TimeParam = params.get("TimeParam") self._TransactionParam = params.get("TransactionParam") self._SecretKey = params.get("SecretKey") self._BackupSecretKey = params.get("BackupSecretKey") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedCCRules(AbstractModel): """scdn 的自定义 cc 规则 """ def __init__(self): r""" :param _RuleName: 规则名称 :type RuleName: str :param _DetectionTime: 探测时长 注意:此字段可能返回 null,表示取不到有效值。 :type DetectionTime: int :param _FrequencyLimit: 限频阈值 注意:此字段可能返回 null,表示取不到有效值。 :type FrequencyLimit: int :param _PunishmentSwitch: IP 惩罚配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type PunishmentSwitch: str :param _PunishmentTime: IP 惩罚时长 注意:此字段可能返回 null,表示取不到有效值。 :type PunishmentTime: int :param _Action: 执行动作,intercept|redirect 注意:此字段可能返回 null,表示取不到有效值。 :type Action: str :param _RedirectUrl: 动作为 redirect 时,重定向的url 注意:此字段可能返回 null,表示取不到有效值。 :type RedirectUrl: str :param _Configure: 七层限频具体配置 注意:此字段可能返回 null,表示取不到有效值。 :type Configure: list of ScdnSevenLayerRules :param _Switch: 自定义cc规则配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str """ self._RuleName = None self._DetectionTime = None self._FrequencyLimit = None self._PunishmentSwitch = None self._PunishmentTime = None self._Action = None self._RedirectUrl = None self._Configure = None self._Switch = None @property def RuleName(self): """规则名称 :rtype: str """ return self._RuleName @RuleName.setter def RuleName(self, RuleName): self._RuleName = RuleName @property def DetectionTime(self): """探测时长 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._DetectionTime @DetectionTime.setter def DetectionTime(self, DetectionTime): self._DetectionTime = DetectionTime @property def FrequencyLimit(self): """限频阈值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._FrequencyLimit @FrequencyLimit.setter def FrequencyLimit(self, FrequencyLimit): self._FrequencyLimit = FrequencyLimit @property def PunishmentSwitch(self): """IP 惩罚配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._PunishmentSwitch @PunishmentSwitch.setter def PunishmentSwitch(self, PunishmentSwitch): self._PunishmentSwitch = PunishmentSwitch @property def PunishmentTime(self): """IP 惩罚时长 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._PunishmentTime @PunishmentTime.setter def PunishmentTime(self, PunishmentTime): self._PunishmentTime = PunishmentTime @property def Action(self): """执行动作,intercept|redirect 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Action @Action.setter def Action(self, Action): self._Action = Action @property def RedirectUrl(self): """动作为 redirect 时,重定向的url 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RedirectUrl @RedirectUrl.setter def RedirectUrl(self, RedirectUrl): self._RedirectUrl = RedirectUrl @property def Configure(self): """七层限频具体配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ScdnSevenLayerRules """ return self._Configure @Configure.setter def Configure(self, Configure): self._Configure = Configure @property def Switch(self): """自定义cc规则配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._RuleName = params.get("RuleName") self._DetectionTime = params.get("DetectionTime") self._FrequencyLimit = params.get("FrequencyLimit") self._PunishmentSwitch = params.get("PunishmentSwitch") self._PunishmentTime = params.get("PunishmentTime") self._Action = params.get("Action") self._RedirectUrl = params.get("RedirectUrl") if params.get("Configure") is not None: self._Configure = [] for item in params.get("Configure"): obj = ScdnSevenLayerRules() obj._deserialize(item) self._Configure.append(obj) self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedCache(AbstractModel): """缓存过期配置高级版,注意:此字段已经弃用,请使用RuleCache """ def __init__(self): r""" :param _CacheRules: 缓存过期规则 注意:此字段可能返回 null,表示取不到有效值。 :type CacheRules: list of AdvanceCacheRule :param _IgnoreCacheControl: 强制缓存配置 on:开启 off:关闭 开启时,源站返回 no-cache、no-store 头部时,仍按照缓存过期规则进行节点缓存 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :type IgnoreCacheControl: str :param _IgnoreSetCookie: 当源站返回Set-Cookie头部时,节点是否缓存该头部及body on:开启,不缓存该头部及body off:关闭,遵循用户自定义的节点缓存规则 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :type IgnoreSetCookie: str """ self._CacheRules = None self._IgnoreCacheControl = None self._IgnoreSetCookie = None @property def CacheRules(self): """缓存过期规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of AdvanceCacheRule """ return self._CacheRules @CacheRules.setter def CacheRules(self, CacheRules): self._CacheRules = CacheRules @property def IgnoreCacheControl(self): """强制缓存配置 on:开启 off:关闭 开启时,源站返回 no-cache、no-store 头部时,仍按照缓存过期规则进行节点缓存 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IgnoreCacheControl @IgnoreCacheControl.setter def IgnoreCacheControl(self, IgnoreCacheControl): self._IgnoreCacheControl = IgnoreCacheControl @property def IgnoreSetCookie(self): """当源站返回Set-Cookie头部时,节点是否缓存该头部及body on:开启,不缓存该头部及body off:关闭,遵循用户自定义的节点缓存规则 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IgnoreSetCookie @IgnoreSetCookie.setter def IgnoreSetCookie(self, IgnoreSetCookie): self._IgnoreSetCookie = IgnoreSetCookie def _deserialize(self, params): if params.get("CacheRules") is not None: self._CacheRules = [] for item in params.get("CacheRules"): obj = AdvanceCacheRule() obj._deserialize(item) self._CacheRules.append(obj) self._IgnoreCacheControl = params.get("IgnoreCacheControl") self._IgnoreSetCookie = params.get("IgnoreSetCookie") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedScdnAclGroup(AbstractModel): """SCDN精准访问控制配置 """ def __init__(self): r""" :param _RuleName: 规则名称 :type RuleName: str :param _Configure: 具体配置 :type Configure: list of AdvancedScdnAclRule :param _Result: 执行动作,intercept|redirect :type Result: str :param _Status: 规则是否生效,active|inactive :type Status: str :param _ErrorPage: 错误页面配置 :type ErrorPage: :class:`tencentcloud.cdn.v20180606.models.ScdnErrorPage` """ self._RuleName = None self._Configure = None self._Result = None self._Status = None self._ErrorPage = None @property def RuleName(self): """规则名称 :rtype: str """ return self._RuleName @RuleName.setter def RuleName(self, RuleName): self._RuleName = RuleName @property def Configure(self): """具体配置 :rtype: list of AdvancedScdnAclRule """ return self._Configure @Configure.setter def Configure(self, Configure): self._Configure = Configure @property def Result(self): """执行动作,intercept|redirect :rtype: str """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def Status(self): """规则是否生效,active|inactive :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def ErrorPage(self): """错误页面配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnErrorPage` """ return self._ErrorPage @ErrorPage.setter def ErrorPage(self, ErrorPage): self._ErrorPage = ErrorPage def _deserialize(self, params): self._RuleName = params.get("RuleName") if params.get("Configure") is not None: self._Configure = [] for item in params.get("Configure"): obj = AdvancedScdnAclRule() obj._deserialize(item) self._Configure.append(obj) self._Result = params.get("Result") self._Status = params.get("Status") if params.get("ErrorPage") is not None: self._ErrorPage = ScdnErrorPage() self._ErrorPage._deserialize(params.get("ErrorPage")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AdvancedScdnAclRule(AbstractModel): """精准访问控制匹配规则 """ def __init__(self): r""" :param _MatchKey: 匹配关键字,可取值有: <li>protocol:HTTP协议</li> <li>httpVersion:HTTP版本</li> <li>method:请求方法</li> <li>ip:请求源IP</li> <li>ipAsn:请求源IP自治域号</li> <li>ipCountry:请求源IP所在国家</li> <li>ipArea:请求源IP所在大区</li> <li>xForwardFor:请求头X-Forwarded-For</li> <li>directory:路径</li> <li>index:首页</li> <li>path:文件全路径</li> <li>file:文件扩展名</li> <li>param:请求参数</li> <li>referer:请求头Referer</li> <li>cookie:请求头Cookie</li> <li>userAgent:请求头User-Agent</li> <li>head:自定义请求头</li> :type MatchKey: str :param _LogicOperator: 逻辑操作符,取值如下: 不包含:exclude 包含:include 不等于:notequal 等于:equal 前缀匹配:matching 内容为空或不存在:null :type LogicOperator: str :param _MatchValue: 匹配值。 当MatchKey为protocol时 取值:HTTP、HTTPS 当MatchKey为httpVersion时 取值:HTTP/1.0、HTTP/1.1、HTTP/1.2、HTTP/2、HTTP/3 当MatchKey为method时 取值:HEAD、GET、POST、PUT、OPTIONS、TRACE、DELETE、PATCH、CONNECT 当MatchKey为ipCountry时,取值为: 其他:OTHER 委内瑞拉:VE 乌拉圭:UY 苏里南:SR 巴拉圭:PY 秘鲁:PE 圭亚那:GY 厄瓜多尔:EC 哥伦比亚:CO 智利:CL 巴西:BR 玻利维亚:BO 阿根廷:AR 新西兰:NZ 萨摩亚:WS 瓦努阿图:VU 图瓦卢:TV 汤加:TO 托克劳:TK 帕劳:PW 纽埃:NU 瑙鲁:NR 基里巴斯:KI 关岛:GU 密克罗尼西亚:FM 澳大利亚:AU 美国:US 波多黎各:PR 多米尼加共和国:DO 哥斯达黎加:CR 东萨摩亚:AS 安提瓜和巴布达:AG 巴拿马:PA 尼加拉瓜:NI 墨西哥:MX 牙买加:JM 海地:HT 洪都拉斯:HN 危地马拉:GT 瓜德罗普岛:GP 格陵兰:GL 格林纳达:GD 古巴:CU 加拿大:CA 伯利兹:BZ 巴哈马:BS 百慕大:BM 巴巴多斯:BB 阿鲁巴:AW 安圭拉:AI 梵蒂冈:VA 斯洛伐克:SK 英国:GB 捷克共和国:CZ 乌克兰:UA 土耳其:TR 斯洛文尼亚:SI 瑞典:SE 塞尔维亚:RS 罗马尼亚:RO 葡萄牙:PT 波兰:PL 挪威:NO 荷兰:NL 马耳他:MT 马其顿:MK 黑山:ME 摩尔多瓦:MD 摩纳哥:MC 拉脱维亚:LV 卢森堡:LU 立陶宛:LT 列支敦士登:LI 哈萨克斯坦:KZ 意大利:IT 冰岛:IS 爱尔兰:IE 匈牙利:HU 克罗地亚:HR 希腊:GR 直布罗陀:GI 根西岛:GG 格鲁吉亚:GE 法国:FR 芬兰:FI 西班牙:ES 爱沙尼亚:EE 丹麦:DK 德国:DE 塞浦路斯:CY 瑞士:CH 白俄罗斯:BY 保加利亚:BG 比利时:BE 阿塞拜疆:AZ 奥地利:AT 亚美尼亚:AM 阿尔巴尼亚:AL 安道尔:AD 东帝汶:TL 叙利亚:SY 沙特阿拉伯:SA 巴勒斯坦:PS 斯里兰卡:LK 斯里兰卡:LK 朝鲜:KP 吉尔吉斯斯坦:KG 中国香港:HK 文莱:BN 孟加拉:BD 阿联酋:AE 也门:YE 越南:VN 乌兹别克斯坦:UZ 中国台湾:TW 土库曼斯坦:TM 塔吉克斯坦:TJ 泰国:TH 新加坡:SG 卡塔尔:QA 巴基斯坦:PK 菲律宾:PH 阿曼:OM 尼泊尔:NP 马来西亚:MY 马尔代夫:MV 中国澳门:MO 蒙古:MN 缅甸:MM 黎巴嫩:LB 科威特:KW 韩国:KR 柬埔寨:KH 日本:JP 约旦:JO 伊朗:IR 伊拉克:IQ 印度:IN 以色列:IL 印度尼西亚:ID 中国:CN 不丹:BT 巴林:BH 阿富汗:AF 利比亚:LY 刚果金:CG 留尼汪岛:RE 斯威士兰:SZ 津巴布韦:ZW 赞比亚:ZM 马约特:YT 乌干达:UG 坦桑尼亚:TZ 突尼斯:TN 多哥:TG 乍得:TD 索马里:SO 塞内加尔:SN 苏丹:SD 塞舌尔:SC 卢旺达:RW 尼日利亚:NG 尼日尔:NE 纳米比亚:NA 莫桑比克:MZ 马拉维:MW 毛里求斯:MU 毛里塔尼亚:MR 马里:ML 马达加斯加:MG 摩洛哥:MA 莱索托:LS 利比里亚:LR 科摩罗:KM 肯尼亚:KE 几内亚:GN 冈比亚:GM 加纳:GH 加蓬:GA 埃塞俄比亚:ET 厄立特里亚:ER 埃及:EG 阿尔及利亚:DZ 吉布提:DJ 喀麦隆:CM 刚果:CG 博茨瓦纳:BW 贝宁:BJ 布隆迪:BI 安哥拉:AO 当MatchKey为ipArea时,取值为: 其他:OTHER 亚洲:AS 欧洲:EU 南极洲:AN 非洲:AF 大洋洲:OC 北美洲:NA 南美洲:SA 当MatchKey为index时 取值为:/;/index.html :type MatchValue: list of str :param _CaseSensitive: 是否区分大小写 true:区分 false:不区分 :type CaseSensitive: bool :param _MatchKeyParam: 当MatchKey为param时必填:表示请求参数Key 当MatchKey为cookie时必填:表示请求头Cookie中参数的 :type MatchKeyParam: str """ self._MatchKey = None self._LogicOperator = None self._MatchValue = None self._CaseSensitive = None self._MatchKeyParam = None @property def MatchKey(self): """匹配关键字,可取值有: <li>protocol:HTTP协议</li> <li>httpVersion:HTTP版本</li> <li>method:请求方法</li> <li>ip:请求源IP</li> <li>ipAsn:请求源IP自治域号</li> <li>ipCountry:请求源IP所在国家</li> <li>ipArea:请求源IP所在大区</li> <li>xForwardFor:请求头X-Forwarded-For</li> <li>directory:路径</li> <li>index:首页</li> <li>path:文件全路径</li> <li>file:文件扩展名</li> <li>param:请求参数</li> <li>referer:请求头Referer</li> <li>cookie:请求头Cookie</li> <li>userAgent:请求头User-Agent</li> <li>head:自定义请求头</li> :rtype: str """ return self._MatchKey @MatchKey.setter def MatchKey(self, MatchKey): self._MatchKey = MatchKey @property def LogicOperator(self): """逻辑操作符,取值如下: 不包含:exclude 包含:include 不等于:notequal 等于:equal 前缀匹配:matching 内容为空或不存在:null :rtype: str """ return self._LogicOperator @LogicOperator.setter def LogicOperator(self, LogicOperator): self._LogicOperator = LogicOperator @property def MatchValue(self): """匹配值。 当MatchKey为protocol时 取值:HTTP、HTTPS 当MatchKey为httpVersion时 取值:HTTP/1.0、HTTP/1.1、HTTP/1.2、HTTP/2、HTTP/3 当MatchKey为method时 取值:HEAD、GET、POST、PUT、OPTIONS、TRACE、DELETE、PATCH、CONNECT 当MatchKey为ipCountry时,取值为: 其他:OTHER 委内瑞拉:VE 乌拉圭:UY 苏里南:SR 巴拉圭:PY 秘鲁:PE 圭亚那:GY 厄瓜多尔:EC 哥伦比亚:CO 智利:CL 巴西:BR 玻利维亚:BO 阿根廷:AR 新西兰:NZ 萨摩亚:WS 瓦努阿图:VU 图瓦卢:TV 汤加:TO 托克劳:TK 帕劳:PW 纽埃:NU 瑙鲁:NR 基里巴斯:KI 关岛:GU 密克罗尼西亚:FM 澳大利亚:AU 美国:US 波多黎各:PR 多米尼加共和国:DO 哥斯达黎加:CR 东萨摩亚:AS 安提瓜和巴布达:AG 巴拿马:PA 尼加拉瓜:NI 墨西哥:MX 牙买加:JM 海地:HT 洪都拉斯:HN 危地马拉:GT 瓜德罗普岛:GP 格陵兰:GL 格林纳达:GD 古巴:CU 加拿大:CA 伯利兹:BZ 巴哈马:BS 百慕大:BM 巴巴多斯:BB 阿鲁巴:AW 安圭拉:AI 梵蒂冈:VA 斯洛伐克:SK 英国:GB 捷克共和国:CZ 乌克兰:UA 土耳其:TR 斯洛文尼亚:SI 瑞典:SE 塞尔维亚:RS 罗马尼亚:RO 葡萄牙:PT 波兰:PL 挪威:NO 荷兰:NL 马耳他:MT 马其顿:MK 黑山:ME 摩尔多瓦:MD 摩纳哥:MC 拉脱维亚:LV 卢森堡:LU 立陶宛:LT 列支敦士登:LI 哈萨克斯坦:KZ 意大利:IT 冰岛:IS 爱尔兰:IE 匈牙利:HU 克罗地亚:HR 希腊:GR 直布罗陀:GI 根西岛:GG 格鲁吉亚:GE 法国:FR 芬兰:FI 西班牙:ES 爱沙尼亚:EE 丹麦:DK 德国:DE 塞浦路斯:CY 瑞士:CH 白俄罗斯:BY 保加利亚:BG 比利时:BE 阿塞拜疆:AZ 奥地利:AT 亚美尼亚:AM 阿尔巴尼亚:AL 安道尔:AD 东帝汶:TL 叙利亚:SY 沙特阿拉伯:SA 巴勒斯坦:PS 斯里兰卡:LK 斯里兰卡:LK 朝鲜:KP 吉尔吉斯斯坦:KG 中国香港:HK 文莱:BN 孟加拉:BD 阿联酋:AE 也门:YE 越南:VN 乌兹别克斯坦:UZ 中国台湾:TW 土库曼斯坦:TM 塔吉克斯坦:TJ 泰国:TH 新加坡:SG 卡塔尔:QA 巴基斯坦:PK 菲律宾:PH 阿曼:OM 尼泊尔:NP 马来西亚:MY 马尔代夫:MV 中国澳门:MO 蒙古:MN 缅甸:MM 黎巴嫩:LB 科威特:KW 韩国:KR 柬埔寨:KH 日本:JP 约旦:JO 伊朗:IR 伊拉克:IQ 印度:IN 以色列:IL 印度尼西亚:ID 中国:CN 不丹:BT 巴林:BH 阿富汗:AF 利比亚:LY 刚果金:CG 留尼汪岛:RE 斯威士兰:SZ 津巴布韦:ZW 赞比亚:ZM 马约特:YT 乌干达:UG 坦桑尼亚:TZ 突尼斯:TN 多哥:TG 乍得:TD 索马里:SO 塞内加尔:SN 苏丹:SD 塞舌尔:SC 卢旺达:RW 尼日利亚:NG 尼日尔:NE 纳米比亚:NA 莫桑比克:MZ 马拉维:MW 毛里求斯:MU 毛里塔尼亚:MR 马里:ML 马达加斯加:MG 摩洛哥:MA 莱索托:LS 利比里亚:LR 科摩罗:KM 肯尼亚:KE 几内亚:GN 冈比亚:GM 加纳:GH 加蓬:GA 埃塞俄比亚:ET 厄立特里亚:ER 埃及:EG 阿尔及利亚:DZ 吉布提:DJ 喀麦隆:CM 刚果:CG 博茨瓦纳:BW 贝宁:BJ 布隆迪:BI 安哥拉:AO 当MatchKey为ipArea时,取值为: 其他:OTHER 亚洲:AS 欧洲:EU 南极洲:AN 非洲:AF 大洋洲:OC 北美洲:NA 南美洲:SA 当MatchKey为index时 取值为:/;/index.html :rtype: list of str """ return self._MatchValue @MatchValue.setter def MatchValue(self, MatchValue): self._MatchValue = MatchValue @property def CaseSensitive(self): """是否区分大小写 true:区分 false:不区分 :rtype: bool """ return self._CaseSensitive @CaseSensitive.setter def CaseSensitive(self, CaseSensitive): self._CaseSensitive = CaseSensitive @property def MatchKeyParam(self): """当MatchKey为param时必填:表示请求参数Key 当MatchKey为cookie时必填:表示请求头Cookie中参数的 :rtype: str """ return self._MatchKeyParam @MatchKeyParam.setter def MatchKeyParam(self, MatchKeyParam): self._MatchKeyParam = MatchKeyParam def _deserialize(self, params): self._MatchKey = params.get("MatchKey") self._LogicOperator = params.get("LogicOperator") self._MatchValue = params.get("MatchValue") self._CaseSensitive = params.get("CaseSensitive") self._MatchKeyParam = params.get("MatchKeyParam") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Authentication(AbstractModel): """时间戳防盗链配置 """ def __init__(self): r""" :param _Switch: 防盗链配置开关,取值有: on:开启 off:关闭 开启时必须且只配置一种模式,其余模式需要设置为 null :type Switch: str :param _AuthAlgorithm: 鉴权算法,取值有: md5:按MD5算法取hash值 sha256:按SHA-256算法取hash值 默认为 md5 注意:此字段可能返回 null,表示取不到有效值。 :type AuthAlgorithm: str :param _TypeA: 时间戳防盗链模式 A 配置 注意:此字段可能返回 null,表示取不到有效值。 :type TypeA: :class:`tencentcloud.cdn.v20180606.models.AuthenticationTypeA` :param _TypeB: 时间戳防盗链模式 B 配置(模式 B 后台升级中,暂时不支持配置) 注意:此字段可能返回 null,表示取不到有效值。 :type TypeB: :class:`tencentcloud.cdn.v20180606.models.AuthenticationTypeB` :param _TypeC: 时间戳防盗链模式 C 配置 注意:此字段可能返回 null,表示取不到有效值。 :type TypeC: :class:`tencentcloud.cdn.v20180606.models.AuthenticationTypeC` :param _TypeD: 时间戳防盗链模式 D 配置 注意:此字段可能返回 null,表示取不到有效值。 :type TypeD: :class:`tencentcloud.cdn.v20180606.models.AuthenticationTypeD` """ self._Switch = None self._AuthAlgorithm = None self._TypeA = None self._TypeB = None self._TypeC = None self._TypeD = None @property def Switch(self): """防盗链配置开关,取值有: on:开启 off:关闭 开启时必须且只配置一种模式,其余模式需要设置为 null :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def AuthAlgorithm(self): """鉴权算法,取值有: md5:按MD5算法取hash值 sha256:按SHA-256算法取hash值 默认为 md5 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._AuthAlgorithm @AuthAlgorithm.setter def AuthAlgorithm(self, AuthAlgorithm): self._AuthAlgorithm = AuthAlgorithm @property def TypeA(self): """时间戳防盗链模式 A 配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AuthenticationTypeA` """ return self._TypeA @TypeA.setter def TypeA(self, TypeA): self._TypeA = TypeA @property def TypeB(self): """时间戳防盗链模式 B 配置(模式 B 后台升级中,暂时不支持配置) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AuthenticationTypeB` """ return self._TypeB @TypeB.setter def TypeB(self, TypeB): self._TypeB = TypeB @property def TypeC(self): """时间戳防盗链模式 C 配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AuthenticationTypeC` """ return self._TypeC @TypeC.setter def TypeC(self, TypeC): self._TypeC = TypeC @property def TypeD(self): """时间戳防盗链模式 D 配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AuthenticationTypeD` """ return self._TypeD @TypeD.setter def TypeD(self, TypeD): self._TypeD = TypeD def _deserialize(self, params): self._Switch = params.get("Switch") self._AuthAlgorithm = params.get("AuthAlgorithm") if params.get("TypeA") is not None: self._TypeA = AuthenticationTypeA() self._TypeA._deserialize(params.get("TypeA")) if params.get("TypeB") is not None: self._TypeB = AuthenticationTypeB() self._TypeB._deserialize(params.get("TypeB")) if params.get("TypeC") is not None: self._TypeC = AuthenticationTypeC() self._TypeC._deserialize(params.get("TypeC")) if params.get("TypeD") is not None: self._TypeD = AuthenticationTypeD() self._TypeD._deserialize(params.get("TypeD")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AuthenticationTypeA(AbstractModel): """时间戳防盗链模式 A 配置 时间戳防盗链模式 A 的访问 URL 格式为:http://DomainName/Filename?sign=timestamp-rand-uid-md5hash 其中 timestamp 为十进制 UNIX 时间戳; rand 为随机字符串,0 ~ 100 位大小写字母与数字组成; uid 为 0; md5hash:MD5(文件路径-timestamp-rand-uid-自定义密钥) """ def __init__(self): r""" :param _SecretKey: 计算签名的密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str :param _SignParam: 签名参数名设置 仅允许大小写字母、数字或下划线,长度 1~100 位,不能以数字开头 :type SignParam: str :param _ExpireTime: 签名过期时间设置 单位为秒,最大可设置为 630720000 :type ExpireTime: int :param _FileExtensions: 鉴权/不做鉴权的文件扩展名列表设置 如果包含字符 * 则表示所有文件 :type FileExtensions: list of str :param _FilterType: whitelist:白名单,表示对除了 FileExtensions 列表之外的所有类型进行鉴权 blacklist:黑名单,表示仅对 FileExtensions 中的类型进行鉴权 :type FilterType: str :param _BackupSecretKey: 计算签名的备用密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :type BackupSecretKey: str """ self._SecretKey = None self._SignParam = None self._ExpireTime = None self._FileExtensions = None self._FilterType = None self._BackupSecretKey = None @property def SecretKey(self): """计算签名的密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def SignParam(self): """签名参数名设置 仅允许大小写字母、数字或下划线,长度 1~100 位,不能以数字开头 :rtype: str """ return self._SignParam @SignParam.setter def SignParam(self, SignParam): self._SignParam = SignParam @property def ExpireTime(self): """签名过期时间设置 单位为秒,最大可设置为 630720000 :rtype: int """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def FileExtensions(self): """鉴权/不做鉴权的文件扩展名列表设置 如果包含字符 * 则表示所有文件 :rtype: list of str """ return self._FileExtensions @FileExtensions.setter def FileExtensions(self, FileExtensions): self._FileExtensions = FileExtensions @property def FilterType(self): """whitelist:白名单,表示对除了 FileExtensions 列表之外的所有类型进行鉴权 blacklist:黑名单,表示仅对 FileExtensions 中的类型进行鉴权 :rtype: str """ return self._FilterType @FilterType.setter def FilterType(self, FilterType): self._FilterType = FilterType @property def BackupSecretKey(self): """计算签名的备用密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._BackupSecretKey @BackupSecretKey.setter def BackupSecretKey(self, BackupSecretKey): self._BackupSecretKey = BackupSecretKey def _deserialize(self, params): self._SecretKey = params.get("SecretKey") self._SignParam = params.get("SignParam") self._ExpireTime = params.get("ExpireTime") self._FileExtensions = params.get("FileExtensions") self._FilterType = params.get("FilterType") self._BackupSecretKey = params.get("BackupSecretKey") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AuthenticationTypeB(AbstractModel): """时间戳防盗链模式 B 配置(B 模式正在进行平台升级,暂不支持配置) """ def __init__(self): r""" :param _SecretKey: 计算签名的密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str :param _ExpireTime: 签名过期时间设置 单位为秒,最大可设置为 630720000 :type ExpireTime: int :param _FileExtensions: 鉴权/不做鉴权的文件扩展名列表设置 如果包含字符 * 则表示所有文件 :type FileExtensions: list of str :param _FilterType: whitelist:白名单,表示对除了 FileExtensions 列表之外的所有类型进行鉴权 blacklist:黑名单,表示仅对 FileExtensions 中的类型进行鉴权 :type FilterType: str :param _BackupSecretKey: 计算签名的备用密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :type BackupSecretKey: str """ self._SecretKey = None self._ExpireTime = None self._FileExtensions = None self._FilterType = None self._BackupSecretKey = None @property def SecretKey(self): """计算签名的密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def ExpireTime(self): """签名过期时间设置 单位为秒,最大可设置为 630720000 :rtype: int """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def FileExtensions(self): """鉴权/不做鉴权的文件扩展名列表设置 如果包含字符 * 则表示所有文件 :rtype: list of str """ return self._FileExtensions @FileExtensions.setter def FileExtensions(self, FileExtensions): self._FileExtensions = FileExtensions @property def FilterType(self): """whitelist:白名单,表示对除了 FileExtensions 列表之外的所有类型进行鉴权 blacklist:黑名单,表示仅对 FileExtensions 中的类型进行鉴权 :rtype: str """ return self._FilterType @FilterType.setter def FilterType(self, FilterType): self._FilterType = FilterType @property def BackupSecretKey(self): """计算签名的备用密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._BackupSecretKey @BackupSecretKey.setter def BackupSecretKey(self, BackupSecretKey): self._BackupSecretKey = BackupSecretKey def _deserialize(self, params): self._SecretKey = params.get("SecretKey") self._ExpireTime = params.get("ExpireTime") self._FileExtensions = params.get("FileExtensions") self._FilterType = params.get("FilterType") self._BackupSecretKey = params.get("BackupSecretKey") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AuthenticationTypeC(AbstractModel): """时间戳防盗链模式 C 配置 时间戳防盗链模式 C 的访问 URL 格式为:http://DomainName/md5hash/timestamp/FileName 其中 timestamp 为十六进制 UNIX 时间戳; md5hash:MD5(自定义密钥 + 文件路径 + timestamp) """ def __init__(self): r""" :param _SecretKey: 计算签名的密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str :param _ExpireTime: 签名过期时间设置 单位为秒,最大可设置为 630720000 :type ExpireTime: int :param _FileExtensions: 鉴权/不做鉴权的文件扩展名列表设置 如果包含字符 * 则表示所有文件 :type FileExtensions: list of str :param _FilterType: whitelist:白名单,表示对除了 FileExtensions 列表之外的所有类型进行鉴权 blacklist:黑名单,表示仅对 FileExtensions 中的类型进行鉴权 :type FilterType: str :param _TimeFormat: 时间戳进制设置 dec:十进制 hex:十六进制 注意:此字段可能返回 null,表示取不到有效值。 :type TimeFormat: str :param _BackupSecretKey: 计算签名的备用密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :type BackupSecretKey: str """ self._SecretKey = None self._ExpireTime = None self._FileExtensions = None self._FilterType = None self._TimeFormat = None self._BackupSecretKey = None @property def SecretKey(self): """计算签名的密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def ExpireTime(self): """签名过期时间设置 单位为秒,最大可设置为 630720000 :rtype: int """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def FileExtensions(self): """鉴权/不做鉴权的文件扩展名列表设置 如果包含字符 * 则表示所有文件 :rtype: list of str """ return self._FileExtensions @FileExtensions.setter def FileExtensions(self, FileExtensions): self._FileExtensions = FileExtensions @property def FilterType(self): """whitelist:白名单,表示对除了 FileExtensions 列表之外的所有类型进行鉴权 blacklist:黑名单,表示仅对 FileExtensions 中的类型进行鉴权 :rtype: str """ return self._FilterType @FilterType.setter def FilterType(self, FilterType): self._FilterType = FilterType @property def TimeFormat(self): """时间戳进制设置 dec:十进制 hex:十六进制 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TimeFormat @TimeFormat.setter def TimeFormat(self, TimeFormat): self._TimeFormat = TimeFormat @property def BackupSecretKey(self): """计算签名的备用密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._BackupSecretKey @BackupSecretKey.setter def BackupSecretKey(self, BackupSecretKey): self._BackupSecretKey = BackupSecretKey def _deserialize(self, params): self._SecretKey = params.get("SecretKey") self._ExpireTime = params.get("ExpireTime") self._FileExtensions = params.get("FileExtensions") self._FilterType = params.get("FilterType") self._TimeFormat = params.get("TimeFormat") self._BackupSecretKey = params.get("BackupSecretKey") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AuthenticationTypeD(AbstractModel): """时间戳防盗链模式 D 配置 时间戳防盗链模式 D 的访问 URL 格式为:http://DomainName/FileName?sign=md5hash&t=timestamp 其中 timestamp 为十进制或十六进制 UNIX 时间戳; md5hash:MD5(自定义密钥 + 文件路径 + timestamp) """ def __init__(self): r""" :param _SecretKey: 计算签名的密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str :param _ExpireTime: 签名过期时间设置 单位为秒,最大可设置为 630720000 :type ExpireTime: int :param _FileExtensions: 鉴权/不做鉴权的文件扩展名列表设置 如果包含字符 * 则表示所有文件 :type FileExtensions: list of str :param _FilterType: whitelist:白名单,表示对除了 FileExtensions 列表之外的所有类型进行鉴权 blacklist:黑名单,表示仅对 FileExtensions 中的类型进行鉴权 :type FilterType: str :param _SignParam: 签名参数名设置 仅允许大小写字母、数字或下划线,长度 1~100 位,不能以数字开头 :type SignParam: str :param _TimeParam: 时间戳参数名设置 仅允许大小写字母、数字或下划线,长度 1~100 位,不能以数字开头 :type TimeParam: str :param _TimeFormat: 时间戳进制设置 dec:十进制 hex:十六进制 :type TimeFormat: str :param _BackupSecretKey: 计算签名的备用密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :type BackupSecretKey: str """ self._SecretKey = None self._ExpireTime = None self._FileExtensions = None self._FilterType = None self._SignParam = None self._TimeParam = None self._TimeFormat = None self._BackupSecretKey = None @property def SecretKey(self): """计算签名的密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def ExpireTime(self): """签名过期时间设置 单位为秒,最大可设置为 630720000 :rtype: int """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def FileExtensions(self): """鉴权/不做鉴权的文件扩展名列表设置 如果包含字符 * 则表示所有文件 :rtype: list of str """ return self._FileExtensions @FileExtensions.setter def FileExtensions(self, FileExtensions): self._FileExtensions = FileExtensions @property def FilterType(self): """whitelist:白名单,表示对除了 FileExtensions 列表之外的所有类型进行鉴权 blacklist:黑名单,表示仅对 FileExtensions 中的类型进行鉴权 :rtype: str """ return self._FilterType @FilterType.setter def FilterType(self, FilterType): self._FilterType = FilterType @property def SignParam(self): """签名参数名设置 仅允许大小写字母、数字或下划线,长度 1~100 位,不能以数字开头 :rtype: str """ return self._SignParam @SignParam.setter def SignParam(self, SignParam): self._SignParam = SignParam @property def TimeParam(self): """时间戳参数名设置 仅允许大小写字母、数字或下划线,长度 1~100 位,不能以数字开头 :rtype: str """ return self._TimeParam @TimeParam.setter def TimeParam(self, TimeParam): self._TimeParam = TimeParam @property def TimeFormat(self): """时间戳进制设置 dec:十进制 hex:十六进制 :rtype: str """ return self._TimeFormat @TimeFormat.setter def TimeFormat(self, TimeFormat): self._TimeFormat = TimeFormat @property def BackupSecretKey(self): """计算签名的备用密钥 仅允许大小写字母与数字,长度 6~32 位 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._BackupSecretKey @BackupSecretKey.setter def BackupSecretKey(self, BackupSecretKey): self._BackupSecretKey = BackupSecretKey def _deserialize(self, params): self._SecretKey = params.get("SecretKey") self._ExpireTime = params.get("ExpireTime") self._FileExtensions = params.get("FileExtensions") self._FilterType = params.get("FilterType") self._SignParam = params.get("SignParam") self._TimeParam = params.get("TimeParam") self._TimeFormat = params.get("TimeFormat") self._BackupSecretKey = params.get("BackupSecretKey") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AvifAdapter(AbstractModel): """图片优化-AvifAdapter配置 """ def __init__(self): r""" :param _Switch: 图片优化AvifAdapter配置项开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _FallbackFormats: 当原图是 avif 且客户端 Accept 头包含 image/avif 时,直接返回原图。 当原图是 avif 且客户端 Accept 头不包含 image/avif 时但包含 image/webp,将 avif 转 webp 格式返回。如果 Accept 头不包含 image/webp, 则转 jpeg 返回。 可用的枚举值: - [] - ["webp"] - ["jpeg"] - ["webp", "jpeg"] "webp":是否开启 avif 转 webp,"jpeg": 是否开启 avif 转 jpeg。如果 webp 和 jpeg 都开启的情况下,webp 必须在 jpeg 前面。 注意:此字段可能返回 null,表示取不到有效值。 :type FallbackFormats: list of str """ self._Switch = None self._FallbackFormats = None @property def Switch(self): """图片优化AvifAdapter配置项开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def FallbackFormats(self): """当原图是 avif 且客户端 Accept 头包含 image/avif 时,直接返回原图。 当原图是 avif 且客户端 Accept 头不包含 image/avif 时但包含 image/webp,将 avif 转 webp 格式返回。如果 Accept 头不包含 image/webp, 则转 jpeg 返回。 可用的枚举值: - [] - ["webp"] - ["jpeg"] - ["webp", "jpeg"] "webp":是否开启 avif 转 webp,"jpeg": 是否开启 avif 转 jpeg。如果 webp 和 jpeg 都开启的情况下,webp 必须在 jpeg 前面。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._FallbackFormats @FallbackFormats.setter def FallbackFormats(self, FallbackFormats): self._FallbackFormats = FallbackFormats def _deserialize(self, params): self._Switch = params.get("Switch") self._FallbackFormats = params.get("FallbackFormats") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AwsPrivateAccess(AbstractModel): """s3源站回源鉴权。 """ def __init__(self): r""" :param _Switch: s3源站回源鉴权配置项开关,取值有: on:开启 off:关闭 :type Switch: str :param _AccessKey: 访问ID。 注意:此字段可能返回 null,表示取不到有效值。 :type AccessKey: str :param _SecretKey: 密钥,字段为脱敏返回。 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str :param _Region: 地域 注意:此字段可能返回 null,表示取不到有效值。 :type Region: str :param _Bucket: Bucketname 注意:此字段可能返回 null,表示取不到有效值。 :type Bucket: str """ self._Switch = None self._AccessKey = None self._SecretKey = None self._Region = None self._Bucket = None @property def Switch(self): """s3源站回源鉴权配置项开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def AccessKey(self): """访问ID。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._AccessKey @AccessKey.setter def AccessKey(self, AccessKey): self._AccessKey = AccessKey @property def SecretKey(self): """密钥,字段为脱敏返回。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def Region(self): """地域 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Region @Region.setter def Region(self, Region): self._Region = Region @property def Bucket(self): """Bucketname 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Bucket @Bucket.setter def Bucket(self, Bucket): self._Bucket = Bucket def _deserialize(self, params): self._Switch = params.get("Switch") self._AccessKey = params.get("AccessKey") self._SecretKey = params.get("SecretKey") self._Region = params.get("Region") self._Bucket = params.get("Bucket") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class BandwidthAlert(AbstractModel): """带宽封顶配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: 用量封顶配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _BpsThreshold: 用量封顶阈值,带宽单位为bps,流量单位byte 注意:此字段可能返回 null,表示取不到有效值。 :type BpsThreshold: int :param _CounterMeasure: 达到阈值后的操作 RETURN_404:全部请求返回 404 注意:此字段可能返回 null,表示取不到有效值。 :type CounterMeasure: str :param _LastTriggerTime: 境内区域上次触发用量封顶阈值的时间 注意:此字段可能返回 null,表示取不到有效值。 :type LastTriggerTime: str :param _AlertSwitch: 用量封顶提醒配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type AlertSwitch: str :param _AlertPercentage: 用量封顶阈值提醒百分比 注意:此字段可能返回 null,表示取不到有效值。 :type AlertPercentage: int :param _LastTriggerTimeOverseas: 海外区域上次触发用量封顶阈值的时间 注意:此字段可能返回 null,表示取不到有效值。 :type LastTriggerTimeOverseas: str :param _Metric: 用量阈值触发的维度 带宽:bandwidth 流量:flux 注意:此字段可能返回 null,表示取不到有效值。 :type Metric: str :param _StatisticItems: 累计用量配置 注意:此字段可能返回 null,表示取不到有效值。 :type StatisticItems: list of StatisticItem """ self._Switch = None self._BpsThreshold = None self._CounterMeasure = None self._LastTriggerTime = None self._AlertSwitch = None self._AlertPercentage = None self._LastTriggerTimeOverseas = None self._Metric = None self._StatisticItems = None @property def Switch(self): """用量封顶配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def BpsThreshold(self): """用量封顶阈值,带宽单位为bps,流量单位byte 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._BpsThreshold @BpsThreshold.setter def BpsThreshold(self, BpsThreshold): self._BpsThreshold = BpsThreshold @property def CounterMeasure(self): """达到阈值后的操作 RETURN_404:全部请求返回 404 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CounterMeasure @CounterMeasure.setter def CounterMeasure(self, CounterMeasure): self._CounterMeasure = CounterMeasure @property def LastTriggerTime(self): """境内区域上次触发用量封顶阈值的时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._LastTriggerTime @LastTriggerTime.setter def LastTriggerTime(self, LastTriggerTime): self._LastTriggerTime = LastTriggerTime @property def AlertSwitch(self): """用量封顶提醒配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._AlertSwitch @AlertSwitch.setter def AlertSwitch(self, AlertSwitch): self._AlertSwitch = AlertSwitch @property def AlertPercentage(self): """用量封顶阈值提醒百分比 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._AlertPercentage @AlertPercentage.setter def AlertPercentage(self, AlertPercentage): self._AlertPercentage = AlertPercentage @property def LastTriggerTimeOverseas(self): """海外区域上次触发用量封顶阈值的时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._LastTriggerTimeOverseas @LastTriggerTimeOverseas.setter def LastTriggerTimeOverseas(self, LastTriggerTimeOverseas): self._LastTriggerTimeOverseas = LastTriggerTimeOverseas @property def Metric(self): """用量阈值触发的维度 带宽:bandwidth 流量:flux 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def StatisticItems(self): """累计用量配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of StatisticItem """ return self._StatisticItems @StatisticItems.setter def StatisticItems(self, StatisticItems): self._StatisticItems = StatisticItems def _deserialize(self, params): self._Switch = params.get("Switch") self._BpsThreshold = params.get("BpsThreshold") self._CounterMeasure = params.get("CounterMeasure") self._LastTriggerTime = params.get("LastTriggerTime") self._AlertSwitch = params.get("AlertSwitch") self._AlertPercentage = params.get("AlertPercentage") self._LastTriggerTimeOverseas = params.get("LastTriggerTimeOverseas") self._Metric = params.get("Metric") if params.get("StatisticItems") is not None: self._StatisticItems = [] for item in params.get("StatisticItems"): obj = StatisticItem() obj._deserialize(item) self._StatisticItems.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class BotCookie(AbstractModel): """Bot cookie策略 """ def __init__(self): r""" :param _Switch: Bot cookie策略配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _RuleType: 规则类型,当前只有all :type RuleType: str :param _RuleValue: 规则值,['*'] :type RuleValue: list of str :param _Action: 执行动作,monitor|intercept|redirect|captcha :type Action: str :param _RedirectUrl: 重定向时设置的重定向页面 注意:此字段可能返回 null,表示取不到有效值。 :type RedirectUrl: str :param _UpdateTime: 更新时间 注意:此字段可能返回 null,表示取不到有效值。 :type UpdateTime: str """ self._Switch = None self._RuleType = None self._RuleValue = None self._Action = None self._RedirectUrl = None self._UpdateTime = None @property def Switch(self): """Bot cookie策略配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def RuleType(self): """规则类型,当前只有all :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RuleValue(self): """规则值,['*'] :rtype: list of str """ return self._RuleValue @RuleValue.setter def RuleValue(self, RuleValue): self._RuleValue = RuleValue @property def Action(self): """执行动作,monitor|intercept|redirect|captcha :rtype: str """ return self._Action @Action.setter def Action(self, Action): self._Action = Action @property def RedirectUrl(self): """重定向时设置的重定向页面 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RedirectUrl @RedirectUrl.setter def RedirectUrl(self, RedirectUrl): self._RedirectUrl = RedirectUrl @property def UpdateTime(self): """更新时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._UpdateTime @UpdateTime.setter def UpdateTime(self, UpdateTime): self._UpdateTime = UpdateTime def _deserialize(self, params): self._Switch = params.get("Switch") self._RuleType = params.get("RuleType") self._RuleValue = params.get("RuleValue") self._Action = params.get("Action") self._RedirectUrl = params.get("RedirectUrl") self._UpdateTime = params.get("UpdateTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class BotJavaScript(AbstractModel): """Bot js策略 """ def __init__(self): r""" :param _Switch: Bot js策略配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _RuleType: 规则类型,当前只有file :type RuleType: str :param _RuleValue: 规则值,['html', 'htm'] :type RuleValue: list of str :param _Action: 执行动作,monitor|intercept|redirect|captcha :type Action: str :param _RedirectUrl: 重定向时设置的重定向页面 注意:此字段可能返回 null,表示取不到有效值。 :type RedirectUrl: str :param _UpdateTime: 更新时间 注意:此字段可能返回 null,表示取不到有效值。 :type UpdateTime: str """ self._Switch = None self._RuleType = None self._RuleValue = None self._Action = None self._RedirectUrl = None self._UpdateTime = None @property def Switch(self): """Bot js策略配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def RuleType(self): """规则类型,当前只有file :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RuleValue(self): """规则值,['html', 'htm'] :rtype: list of str """ return self._RuleValue @RuleValue.setter def RuleValue(self, RuleValue): self._RuleValue = RuleValue @property def Action(self): """执行动作,monitor|intercept|redirect|captcha :rtype: str """ return self._Action @Action.setter def Action(self, Action): self._Action = Action @property def RedirectUrl(self): """重定向时设置的重定向页面 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RedirectUrl @RedirectUrl.setter def RedirectUrl(self, RedirectUrl): self._RedirectUrl = RedirectUrl @property def UpdateTime(self): """更新时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._UpdateTime @UpdateTime.setter def UpdateTime(self, UpdateTime): self._UpdateTime = UpdateTime def _deserialize(self, params): self._Switch = params.get("Switch") self._RuleType = params.get("RuleType") self._RuleValue = params.get("RuleValue") self._Action = params.get("Action") self._RedirectUrl = params.get("RedirectUrl") self._UpdateTime = params.get("UpdateTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class BotRecord(AbstractModel): """BOT记录详细内容 """ def __init__(self): r""" :param _Action: 动作,取值为以为3个类型中的一个:"intercept","permit","monitor",分别表示: 拦截, 放行,监控 :type Action: str :param _Nums: 会话总次数 :type Nums: int :param _RuleName: BotType=UB时,表示预测标签,取值如下: "crawler_unregular", "crawler_regular", "request_repeat", "credential_miss_user", "credential_without_user", "credential_only_action", "credential_user_password", "credential_cracking", "credential_stuffing", "brush_sms", "brush_captcha", "reg_malicious" BotType=TCB时,表示Bot分类,取值如下: "Uncategorised", "Search engine bot", "Site monitor", "Screenshot creator", "Link checker", "Web scraper", "Vulnerability scanner", "Virus scanner", "Speed tester", "Feed Fetcher", "Tool", "Marketing" BotType=UCB时,为二期接口,暂时未定义内容 :type RuleName: str :param _SessionDuration: 会话持续时间 :type SessionDuration: float :param _SrcIp: 访问源IP :type SrcIp: str :param _BotFeature: 异常特征 :type BotFeature: list of str :param _Time: 最新检测时间 :type Time: str :param _Score: BOT得分 :type Score: int :param _AvgSpeed: 平均速率 :type AvgSpeed: float :param _TcbDetail: BotType=TCB,表示TCB名称 注意:此字段可能返回 null,表示取不到有效值。 :type TcbDetail: str :param _Id: BOT记录唯一ID,用于查询访问详情 :type Id: str :param _Domain: 域名 注意:此字段可能返回 null,表示取不到有效值。 :type Domain: str """ self._Action = None self._Nums = None self._RuleName = None self._SessionDuration = None self._SrcIp = None self._BotFeature = None self._Time = None self._Score = None self._AvgSpeed = None self._TcbDetail = None self._Id = None self._Domain = None @property def Action(self): """动作,取值为以为3个类型中的一个:"intercept","permit","monitor",分别表示: 拦截, 放行,监控 :rtype: str """ return self._Action @Action.setter def Action(self, Action): self._Action = Action @property def Nums(self): """会话总次数 :rtype: int """ return self._Nums @Nums.setter def Nums(self, Nums): self._Nums = Nums @property def RuleName(self): """BotType=UB时,表示预测标签,取值如下: "crawler_unregular", "crawler_regular", "request_repeat", "credential_miss_user", "credential_without_user", "credential_only_action", "credential_user_password", "credential_cracking", "credential_stuffing", "brush_sms", "brush_captcha", "reg_malicious" BotType=TCB时,表示Bot分类,取值如下: "Uncategorised", "Search engine bot", "Site monitor", "Screenshot creator", "Link checker", "Web scraper", "Vulnerability scanner", "Virus scanner", "Speed tester", "Feed Fetcher", "Tool", "Marketing" BotType=UCB时,为二期接口,暂时未定义内容 :rtype: str """ return self._RuleName @RuleName.setter def RuleName(self, RuleName): self._RuleName = RuleName @property def SessionDuration(self): """会话持续时间 :rtype: float """ return self._SessionDuration @SessionDuration.setter def SessionDuration(self, SessionDuration): self._SessionDuration = SessionDuration @property def SrcIp(self): """访问源IP :rtype: str """ return self._SrcIp @SrcIp.setter def SrcIp(self, SrcIp): self._SrcIp = SrcIp @property def BotFeature(self): """异常特征 :rtype: list of str """ return self._BotFeature @BotFeature.setter def BotFeature(self, BotFeature): self._BotFeature = BotFeature @property def Time(self): """最新检测时间 :rtype: str """ return self._Time @Time.setter def Time(self, Time): self._Time = Time @property def Score(self): """BOT得分 :rtype: int """ return self._Score @Score.setter def Score(self, Score): self._Score = Score @property def AvgSpeed(self): """平均速率 :rtype: float """ return self._AvgSpeed @AvgSpeed.setter def AvgSpeed(self, AvgSpeed): self._AvgSpeed = AvgSpeed @property def TcbDetail(self): """BotType=TCB,表示TCB名称 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TcbDetail @TcbDetail.setter def TcbDetail(self, TcbDetail): self._TcbDetail = TcbDetail @property def Id(self): """BOT记录唯一ID,用于查询访问详情 :rtype: str """ return self._Id @Id.setter def Id(self, Id): self._Id = Id @property def Domain(self): """域名 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Action = params.get("Action") self._Nums = params.get("Nums") self._RuleName = params.get("RuleName") self._SessionDuration = params.get("SessionDuration") self._SrcIp = params.get("SrcIp") self._BotFeature = params.get("BotFeature") self._Time = params.get("Time") self._Score = params.get("Score") self._AvgSpeed = params.get("AvgSpeed") self._TcbDetail = params.get("TcbDetail") self._Id = params.get("Id") self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class BotSortBy(AbstractModel): """Bot记录的排序选项 """ def __init__(self): r""" :param _Key: 排序参数名称, 取值为:timestamp, nums, session_duration,score.total,stat.avg_speed分别表示按照:最新检测时间,会话总次数,会话持续时间,BOT得分,平均速率排序 :type Key: str :param _Sequence: asc/desc :type Sequence: str """ self._Key = None self._Sequence = None @property def Key(self): """排序参数名称, 取值为:timestamp, nums, session_duration,score.total,stat.avg_speed分别表示按照:最新检测时间,会话总次数,会话持续时间,BOT得分,平均速率排序 :rtype: str """ return self._Key @Key.setter def Key(self, Key): self._Key = Key @property def Sequence(self): """asc/desc :rtype: str """ return self._Sequence @Sequence.setter def Sequence(self, Sequence): self._Sequence = Sequence def _deserialize(self, params): self._Key = params.get("Key") self._Sequence = params.get("Sequence") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class BotStatisticsCount(AbstractModel): """session/ip维度的bot统计复杂对象 """ def __init__(self): r""" :param _Count: BOT次数 :type Count: int :param _Value: Top指标值,如果是ip维度就是ip如果是session维度就是域名 :type Value: str :param _Country: ip所在国家 :type Country: str :param _Province: ip所在省份 :type Province: str :param _Isp: ip归属的idc :type Isp: str """ self._Count = None self._Value = None self._Country = None self._Province = None self._Isp = None @property def Count(self): """BOT次数 :rtype: int """ return self._Count @Count.setter def Count(self, Count): self._Count = Count @property def Value(self): """Top指标值,如果是ip维度就是ip如果是session维度就是域名 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Country(self): """ip所在国家 :rtype: str """ return self._Country @Country.setter def Country(self, Country): self._Country = Country @property def Province(self): """ip所在省份 :rtype: str """ return self._Province @Province.setter def Province(self, Province): self._Province = Province @property def Isp(self): """ip归属的idc :rtype: str """ return self._Isp @Isp.setter def Isp(self, Isp): self._Isp = Isp def _deserialize(self, params): self._Count = params.get("Count") self._Value = params.get("Value") self._Country = params.get("Country") self._Province = params.get("Province") self._Isp = params.get("Isp") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class BotStats(AbstractModel): """BOT统计结果数据 """ def __init__(self): r""" :param _Metric: 指标名称 :type Metric: str :param _DetailData: 指标详细数据 :type DetailData: list of BotStatsDetailData """ self._Metric = None self._DetailData = None @property def Metric(self): """指标名称 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def DetailData(self): """指标详细数据 :rtype: list of BotStatsDetailData """ return self._DetailData @DetailData.setter def DetailData(self, DetailData): self._DetailData = DetailData def _deserialize(self, params): self._Metric = params.get("Metric") if params.get("DetailData") is not None: self._DetailData = [] for item in params.get("DetailData"): obj = BotStatsDetailData() obj._deserialize(item) self._DetailData.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class BotStatsDetailData(AbstractModel): """BOT统计结果数据详细数据 """ def __init__(self): r""" :param _Time: 时间 :type Time: str :param _Value: 数据值 :type Value: int """ self._Time = None self._Value = None @property def Time(self): """时间 :rtype: str """ return self._Time @Time.setter def Time(self, Time): self._Time = Time @property def Value(self): """数据值 :rtype: int """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Time = params.get("Time") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class BriefDomain(AbstractModel): """域名基础配置信息,含 CNAME、状态、业务类型、加速区域、创建时间、更新时间、源站配置等。 """ def __init__(self): r""" :param _ResourceId: 域名 ID :type ResourceId: str :param _AppId: 腾讯云账号 ID :type AppId: int :param _Domain: 加速域名 :type Domain: str :param _Cname: 域名对应的 CNAME 地址 :type Cname: str :param _Status: 加速服务状态 rejected:域名审核未通过,域名备案过期/被注销导致 processing:部署中 closing:关闭中 online:已启动 offline:已关闭 :type Status: str :param _ProjectId: 项目 ID,可前往腾讯云项目管理页面查看 :type ProjectId: int :param _ServiceType: 域名业务类型 web:静态加速 download:下载加速 media:流媒体点播加速 :type ServiceType: str :param _CreateTime: 域名创建时间 :type CreateTime: str :param _UpdateTime: 域名更新时间 :type UpdateTime: str :param _Origin: 源站配置详情 :type Origin: :class:`tencentcloud.cdn.v20180606.models.Origin` :param _Disable: 域名封禁状态 normal:正常状态 overdue:账号欠费导致域名关闭,充值完成后可自行启动加速服务 malicious:域名出现恶意行为,强制关闭加速服务 ddos:域名被大规模 DDoS 攻击,关闭加速服务 idle:域名超过 90 天内无任何操作、数据产生,判定为不活跃域名自动关闭加速服务,可自行启动加速服务 unlicensed:域名未备案/备案注销,自动关闭加速服务,备案完成后可自行启动加速服务 capping:触发配置的带宽阈值上限 readonly:域名存在特殊配置,被锁定 :type Disable: str :param _Area: 加速区域 mainland:中国境内加速 overseas:中国境外加速 global:全球加速 :type Area: str :param _Readonly: 域名锁定状态 normal:未锁定 mainland:中国境内锁定 overseas:中国境外锁定 global:全球锁定 :type Readonly: str :param _Product: 域名所属产品,cdn/ecdn :type Product: str :param _ParentHost: 主域名 :type ParentHost: str """ self._ResourceId = None self._AppId = None self._Domain = None self._Cname = None self._Status = None self._ProjectId = None self._ServiceType = None self._CreateTime = None self._UpdateTime = None self._Origin = None self._Disable = None self._Area = None self._Readonly = None self._Product = None self._ParentHost = None @property def ResourceId(self): """域名 ID :rtype: str """ return self._ResourceId @ResourceId.setter def ResourceId(self, ResourceId): self._ResourceId = ResourceId @property def AppId(self): """腾讯云账号 ID :rtype: int """ return self._AppId @AppId.setter def AppId(self, AppId): self._AppId = AppId @property def Domain(self): """加速域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Cname(self): """域名对应的 CNAME 地址 :rtype: str """ return self._Cname @Cname.setter def Cname(self, Cname): self._Cname = Cname @property def Status(self): """加速服务状态 rejected:域名审核未通过,域名备案过期/被注销导致 processing:部署中 closing:关闭中 online:已启动 offline:已关闭 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def ProjectId(self): """项目 ID,可前往腾讯云项目管理页面查看 :rtype: int """ return self._ProjectId @ProjectId.setter def ProjectId(self, ProjectId): self._ProjectId = ProjectId @property def ServiceType(self): """域名业务类型 web:静态加速 download:下载加速 media:流媒体点播加速 :rtype: str """ return self._ServiceType @ServiceType.setter def ServiceType(self, ServiceType): self._ServiceType = ServiceType @property def CreateTime(self): """域名创建时间 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def UpdateTime(self): """域名更新时间 :rtype: str """ return self._UpdateTime @UpdateTime.setter def UpdateTime(self, UpdateTime): self._UpdateTime = UpdateTime @property def Origin(self): """源站配置详情 :rtype: :class:`tencentcloud.cdn.v20180606.models.Origin` """ return self._Origin @Origin.setter def Origin(self, Origin): self._Origin = Origin @property def Disable(self): """域名封禁状态 normal:正常状态 overdue:账号欠费导致域名关闭,充值完成后可自行启动加速服务 malicious:域名出现恶意行为,强制关闭加速服务 ddos:域名被大规模 DDoS 攻击,关闭加速服务 idle:域名超过 90 天内无任何操作、数据产生,判定为不活跃域名自动关闭加速服务,可自行启动加速服务 unlicensed:域名未备案/备案注销,自动关闭加速服务,备案完成后可自行启动加速服务 capping:触发配置的带宽阈值上限 readonly:域名存在特殊配置,被锁定 :rtype: str """ return self._Disable @Disable.setter def Disable(self, Disable): self._Disable = Disable @property def Area(self): """加速区域 mainland:中国境内加速 overseas:中国境外加速 global:全球加速 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Readonly(self): """域名锁定状态 normal:未锁定 mainland:中国境内锁定 overseas:中国境外锁定 global:全球锁定 :rtype: str """ return self._Readonly @Readonly.setter def Readonly(self, Readonly): self._Readonly = Readonly @property def Product(self): """域名所属产品,cdn/ecdn :rtype: str """ return self._Product @Product.setter def Product(self, Product): self._Product = Product @property def ParentHost(self): """主域名 :rtype: str """ return self._ParentHost @ParentHost.setter def ParentHost(self, ParentHost): self._ParentHost = ParentHost def _deserialize(self, params): self._ResourceId = params.get("ResourceId") self._AppId = params.get("AppId") self._Domain = params.get("Domain") self._Cname = params.get("Cname") self._Status = params.get("Status") self._ProjectId = params.get("ProjectId") self._ServiceType = params.get("ServiceType") self._CreateTime = params.get("CreateTime") self._UpdateTime = params.get("UpdateTime") if params.get("Origin") is not None: self._Origin = Origin() self._Origin._deserialize(params.get("Origin")) self._Disable = params.get("Disable") self._Area = params.get("Area") self._Readonly = params.get("Readonly") self._Product = params.get("Product") self._ParentHost = params.get("ParentHost") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Cache(AbstractModel): """节点缓存过期时间配置,分为以下两种: + 基础版缓存过期规则配置 + 高级版缓存过期规则配置 """ def __init__(self): r""" :param _SimpleCache: 基础缓存过期时间配置 注意:此字段可能返回 null,表示取不到有效值。 :type SimpleCache: :class:`tencentcloud.cdn.v20180606.models.SimpleCache` :param _AdvancedCache: 高级缓存过期时间配置(已弃用) 注意:此字段可能返回 null,表示取不到有效值。 :type AdvancedCache: :class:`tencentcloud.cdn.v20180606.models.AdvancedCache` :param _RuleCache: 高级路径缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :type RuleCache: list of RuleCache """ self._SimpleCache = None self._AdvancedCache = None self._RuleCache = None @property def SimpleCache(self): """基础缓存过期时间配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.SimpleCache` """ return self._SimpleCache @SimpleCache.setter def SimpleCache(self, SimpleCache): self._SimpleCache = SimpleCache @property def AdvancedCache(self): """高级缓存过期时间配置(已弃用) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AdvancedCache` """ return self._AdvancedCache @AdvancedCache.setter def AdvancedCache(self, AdvancedCache): self._AdvancedCache = AdvancedCache @property def RuleCache(self): """高级路径缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of RuleCache """ return self._RuleCache @RuleCache.setter def RuleCache(self, RuleCache): self._RuleCache = RuleCache def _deserialize(self, params): if params.get("SimpleCache") is not None: self._SimpleCache = SimpleCache() self._SimpleCache._deserialize(params.get("SimpleCache")) if params.get("AdvancedCache") is not None: self._AdvancedCache = AdvancedCache() self._AdvancedCache._deserialize(params.get("AdvancedCache")) if params.get("RuleCache") is not None: self._RuleCache = [] for item in params.get("RuleCache"): obj = RuleCache() obj._deserialize(item) self._RuleCache.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CacheConfig(AbstractModel): """启发式自定义时间缓存配置 """ def __init__(self): r""" :param _HeuristicCacheTimeSwitch: 启发式自定义时间缓存配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type HeuristicCacheTimeSwitch: str :param _HeuristicCacheTime: 单位 秒. 注意:此字段可能返回 null,表示取不到有效值。 :type HeuristicCacheTime: int """ self._HeuristicCacheTimeSwitch = None self._HeuristicCacheTime = None @property def HeuristicCacheTimeSwitch(self): """启发式自定义时间缓存配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._HeuristicCacheTimeSwitch @HeuristicCacheTimeSwitch.setter def HeuristicCacheTimeSwitch(self, HeuristicCacheTimeSwitch): self._HeuristicCacheTimeSwitch = HeuristicCacheTimeSwitch @property def HeuristicCacheTime(self): """单位 秒. 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._HeuristicCacheTime @HeuristicCacheTime.setter def HeuristicCacheTime(self, HeuristicCacheTime): self._HeuristicCacheTime = HeuristicCacheTime def _deserialize(self, params): self._HeuristicCacheTimeSwitch = params.get("HeuristicCacheTimeSwitch") self._HeuristicCacheTime = params.get("HeuristicCacheTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CacheConfigCache(AbstractModel): """路径缓存缓存配置 """ def __init__(self): r""" :param _Switch: 路径缓存配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _CacheTime: 缓存过期时间设置 单位为秒,最大可设置为 365 天 注意:此字段可能返回 null,表示取不到有效值。 :type CacheTime: int :param _CompareMaxAge: 高级缓存过期配置,开启时会对比源站返回的 max-age 值与 CacheRules 中设置的缓存过期时间,取最小值在节点进行缓存 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :type CompareMaxAge: str :param _IgnoreCacheControl: 强制缓存 on:开启 off:关闭 默认为关闭状态,开启后,源站返回的 no-store、no-cache 资源,也将按照 CacheRules 规则进行缓存 注意:此字段可能返回 null,表示取不到有效值。 :type IgnoreCacheControl: str :param _IgnoreSetCookie: 当源站返回Set-Cookie头部时,节点是否缓存该头部及body on:开启,不缓存该头部及body off:关闭,遵循用户自定义的节点缓存规则 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :type IgnoreSetCookie: str :param _OriginMtimeCheckType: 当缓存过期后,是否开启源站 mtime 校验,配置值为equal、since、none 和 null。默认配置值为equal,会校验源站文件的mtime与长度。2024-09-12 18:00 之前创建的域名默认值 null,行为保持不变。 equal:源站响应mtime必须和缓存mtime一致,若mtime值不一致,清除缓存。 since:若源站响应mtime大于缓存mtime,清除缓存。 none: 缓存过期回源重新获取文件mtime和长度后,不会校验源站响应mtime,若源站响应携带Content-Length头部,只有文件大小改变时才会更新缓存;若源站响应不携带Content-Length头部,会更新缓存。 注意:此字段可能返回 null,表示取不到有效值。 :type OriginMtimeCheckType: str """ self._Switch = None self._CacheTime = None self._CompareMaxAge = None self._IgnoreCacheControl = None self._IgnoreSetCookie = None self._OriginMtimeCheckType = None @property def Switch(self): """路径缓存配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def CacheTime(self): """缓存过期时间设置 单位为秒,最大可设置为 365 天 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._CacheTime @CacheTime.setter def CacheTime(self, CacheTime): self._CacheTime = CacheTime @property def CompareMaxAge(self): """高级缓存过期配置,开启时会对比源站返回的 max-age 值与 CacheRules 中设置的缓存过期时间,取最小值在节点进行缓存 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CompareMaxAge @CompareMaxAge.setter def CompareMaxAge(self, CompareMaxAge): self._CompareMaxAge = CompareMaxAge @property def IgnoreCacheControl(self): """强制缓存 on:开启 off:关闭 默认为关闭状态,开启后,源站返回的 no-store、no-cache 资源,也将按照 CacheRules 规则进行缓存 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IgnoreCacheControl @IgnoreCacheControl.setter def IgnoreCacheControl(self, IgnoreCacheControl): self._IgnoreCacheControl = IgnoreCacheControl @property def IgnoreSetCookie(self): """当源站返回Set-Cookie头部时,节点是否缓存该头部及body on:开启,不缓存该头部及body off:关闭,遵循用户自定义的节点缓存规则 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IgnoreSetCookie @IgnoreSetCookie.setter def IgnoreSetCookie(self, IgnoreSetCookie): self._IgnoreSetCookie = IgnoreSetCookie @property def OriginMtimeCheckType(self): """当缓存过期后,是否开启源站 mtime 校验,配置值为equal、since、none 和 null。默认配置值为equal,会校验源站文件的mtime与长度。2024-09-12 18:00 之前创建的域名默认值 null,行为保持不变。 equal:源站响应mtime必须和缓存mtime一致,若mtime值不一致,清除缓存。 since:若源站响应mtime大于缓存mtime,清除缓存。 none: 缓存过期回源重新获取文件mtime和长度后,不会校验源站响应mtime,若源站响应携带Content-Length头部,只有文件大小改变时才会更新缓存;若源站响应不携带Content-Length头部,会更新缓存。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._OriginMtimeCheckType @OriginMtimeCheckType.setter def OriginMtimeCheckType(self, OriginMtimeCheckType): self._OriginMtimeCheckType = OriginMtimeCheckType def _deserialize(self, params): self._Switch = params.get("Switch") self._CacheTime = params.get("CacheTime") self._CompareMaxAge = params.get("CompareMaxAge") self._IgnoreCacheControl = params.get("IgnoreCacheControl") self._IgnoreSetCookie = params.get("IgnoreSetCookie") self._OriginMtimeCheckType = params.get("OriginMtimeCheckType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CacheConfigFollowOrigin(AbstractModel): """路径缓存遵循源站配置 """ def __init__(self): r""" :param _Switch: 路径缓存遵循源站配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _HeuristicCache: 启发式缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :type HeuristicCache: :class:`tencentcloud.cdn.v20180606.models.HeuristicCache` :param _OriginMtimeCheckType: 当缓存过期后,是否开启源站 mtime 校验,配置值为equal、since、none 和 null。默认配置值为equal,会校验源站文件的mtime与长度。2024-09-12 18:00 之前创建的域名默认值 null,行为保持不变。 equal:源站响应mtime必须和缓存mtime一致,若mtime值不一致,清除缓存。 since:若源站响应mtime大于缓存mtime,清除缓存。 none: 缓存过期回源重新获取文件mtime和长度后,不会校验源站响应mtime,若源站响应携带Content-Length头部,只有文件大小改变时才会更新缓存;若源站响应不携带Content-Length头部,会更新缓存。 注意:此字段可能返回 null,表示取不到有效值。 :type OriginMtimeCheckType: str """ self._Switch = None self._HeuristicCache = None self._OriginMtimeCheckType = None @property def Switch(self): """路径缓存遵循源站配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def HeuristicCache(self): """启发式缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.HeuristicCache` """ return self._HeuristicCache @HeuristicCache.setter def HeuristicCache(self, HeuristicCache): self._HeuristicCache = HeuristicCache @property def OriginMtimeCheckType(self): """当缓存过期后,是否开启源站 mtime 校验,配置值为equal、since、none 和 null。默认配置值为equal,会校验源站文件的mtime与长度。2024-09-12 18:00 之前创建的域名默认值 null,行为保持不变。 equal:源站响应mtime必须和缓存mtime一致,若mtime值不一致,清除缓存。 since:若源站响应mtime大于缓存mtime,清除缓存。 none: 缓存过期回源重新获取文件mtime和长度后,不会校验源站响应mtime,若源站响应携带Content-Length头部,只有文件大小改变时才会更新缓存;若源站响应不携带Content-Length头部,会更新缓存。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._OriginMtimeCheckType @OriginMtimeCheckType.setter def OriginMtimeCheckType(self, OriginMtimeCheckType): self._OriginMtimeCheckType = OriginMtimeCheckType def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("HeuristicCache") is not None: self._HeuristicCache = HeuristicCache() self._HeuristicCache._deserialize(params.get("HeuristicCache")) self._OriginMtimeCheckType = params.get("OriginMtimeCheckType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CacheConfigNoCache(AbstractModel): """路径缓存不缓存配置 """ def __init__(self): r""" :param _Switch: 路径缓存不缓存配置配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _Revalidate: 总是回源站校验 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :type Revalidate: str """ self._Switch = None self._Revalidate = None @property def Switch(self): """路径缓存不缓存配置配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Revalidate(self): """总是回源站校验 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Revalidate @Revalidate.setter def Revalidate(self, Revalidate): self._Revalidate = Revalidate def _deserialize(self, params): self._Switch = params.get("Switch") self._Revalidate = params.get("Revalidate") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CacheKey(AbstractModel): """缓存键配置(忽略参数配置) """ def __init__(self): r""" :param _FullUrlCache: 是否开启全路径缓存 on:开启全路径缓存(即关闭参数忽略) off:关闭全路径缓存(即开启参数忽略) :type FullUrlCache: str :param _IgnoreCase: 是否忽略大小写缓存 注意:此字段可能返回 null,表示取不到有效值。 :type IgnoreCase: str :param _QueryString: CacheKey中包含请求参数 注意:此字段可能返回 null,表示取不到有效值。 :type QueryString: :class:`tencentcloud.cdn.v20180606.models.QueryStringKey` :param _Cookie: CacheKey中包含Cookie 注意:此字段可能返回 null,表示取不到有效值。 :type Cookie: :class:`tencentcloud.cdn.v20180606.models.CookieKey` :param _Header: CacheKey中包含请求头部 注意:此字段可能返回 null,表示取不到有效值。 :type Header: :class:`tencentcloud.cdn.v20180606.models.HeaderKey` :param _CacheTag: CacheKey中包含自定义字符串 注意:此字段可能返回 null,表示取不到有效值。 :type CacheTag: :class:`tencentcloud.cdn.v20180606.models.CacheTagKey` :param _Scheme: CacheKey中包含请求协议 注意:此字段可能返回 null,表示取不到有效值。 :type Scheme: :class:`tencentcloud.cdn.v20180606.models.SchemeKey` :param _KeyRules: 分路径缓存键配置 注意:此字段可能返回 null,表示取不到有效值。 :type KeyRules: list of KeyRule """ self._FullUrlCache = None self._IgnoreCase = None self._QueryString = None self._Cookie = None self._Header = None self._CacheTag = None self._Scheme = None self._KeyRules = None @property def FullUrlCache(self): """是否开启全路径缓存 on:开启全路径缓存(即关闭参数忽略) off:关闭全路径缓存(即开启参数忽略) :rtype: str """ return self._FullUrlCache @FullUrlCache.setter def FullUrlCache(self, FullUrlCache): self._FullUrlCache = FullUrlCache @property def IgnoreCase(self): """是否忽略大小写缓存 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IgnoreCase @IgnoreCase.setter def IgnoreCase(self, IgnoreCase): self._IgnoreCase = IgnoreCase @property def QueryString(self): """CacheKey中包含请求参数 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.QueryStringKey` """ return self._QueryString @QueryString.setter def QueryString(self, QueryString): self._QueryString = QueryString @property def Cookie(self): """CacheKey中包含Cookie 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CookieKey` """ return self._Cookie @Cookie.setter def Cookie(self, Cookie): self._Cookie = Cookie @property def Header(self): """CacheKey中包含请求头部 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.HeaderKey` """ return self._Header @Header.setter def Header(self, Header): self._Header = Header @property def CacheTag(self): """CacheKey中包含自定义字符串 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheTagKey` """ return self._CacheTag @CacheTag.setter def CacheTag(self, CacheTag): self._CacheTag = CacheTag @property def Scheme(self): """CacheKey中包含请求协议 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.SchemeKey` """ return self._Scheme @Scheme.setter def Scheme(self, Scheme): self._Scheme = Scheme @property def KeyRules(self): """分路径缓存键配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of KeyRule """ return self._KeyRules @KeyRules.setter def KeyRules(self, KeyRules): self._KeyRules = KeyRules def _deserialize(self, params): self._FullUrlCache = params.get("FullUrlCache") self._IgnoreCase = params.get("IgnoreCase") if params.get("QueryString") is not None: self._QueryString = QueryStringKey() self._QueryString._deserialize(params.get("QueryString")) if params.get("Cookie") is not None: self._Cookie = CookieKey() self._Cookie._deserialize(params.get("Cookie")) if params.get("Header") is not None: self._Header = HeaderKey() self._Header._deserialize(params.get("Header")) if params.get("CacheTag") is not None: self._CacheTag = CacheTagKey() self._CacheTag._deserialize(params.get("CacheTag")) if params.get("Scheme") is not None: self._Scheme = SchemeKey() self._Scheme._deserialize(params.get("Scheme")) if params.get("KeyRules") is not None: self._KeyRules = [] for item in params.get("KeyRules"): obj = KeyRule() obj._deserialize(item) self._KeyRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CacheOptResult(AbstractModel): """违规资源封禁/解封返回类型 """ def __init__(self): r""" :param _SuccessUrls: 成功的url列表 注意:此字段可能返回 null,表示取不到有效值。 :type SuccessUrls: list of str :param _FailUrls: 失败的url列表 注意:此字段可能返回 null,表示取不到有效值。 :type FailUrls: list of str """ self._SuccessUrls = None self._FailUrls = None @property def SuccessUrls(self): """成功的url列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._SuccessUrls @SuccessUrls.setter def SuccessUrls(self, SuccessUrls): self._SuccessUrls = SuccessUrls @property def FailUrls(self): """失败的url列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._FailUrls @FailUrls.setter def FailUrls(self, FailUrls): self._FailUrls = FailUrls def _deserialize(self, params): self._SuccessUrls = params.get("SuccessUrls") self._FailUrls = params.get("FailUrls") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CacheTagKey(AbstractModel): """组成CacheKey的一部分 """ def __init__(self): r""" :param _Switch: 使用CacheTag作为CacheKey的一部分配置开关,取值有 on:开启,使用CacheTag作为CacheKey的一部分 off:关闭,不使用CacheTag作为CacheKey的一部分 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _Value: 自定义CacheTag的值 注意:此字段可能返回 null,表示取不到有效值。 :type Value: str """ self._Switch = None self._Value = None @property def Switch(self): """使用CacheTag作为CacheKey的一部分配置开关,取值有 on:开启,使用CacheTag作为CacheKey的一部分 off:关闭,不使用CacheTag作为CacheKey的一部分 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Value(self): """自定义CacheTag的值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Switch = params.get("Switch") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CappingRule(AbstractModel): """下行限速配置规则,最多可配置 100 条 """ def __init__(self): r""" :param _RuleType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 :type RuleType: str :param _RulePaths: RuleType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html :type RulePaths: list of str :param _KBpsThreshold: 下行速度值设置,单位为 KB/s :type KBpsThreshold: int """ self._RuleType = None self._RulePaths = None self._KBpsThreshold = None @property def RuleType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RulePaths(self): """RuleType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths @property def KBpsThreshold(self): """下行速度值设置,单位为 KB/s :rtype: int """ return self._KBpsThreshold @KBpsThreshold.setter def KBpsThreshold(self, KBpsThreshold): self._KBpsThreshold = KBpsThreshold def _deserialize(self, params): self._RuleType = params.get("RuleType") self._RulePaths = params.get("RulePaths") self._KBpsThreshold = params.get("KBpsThreshold") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CcTopData(AbstractModel): """CC攻击Top数据 """ def __init__(self): r""" :param _Ip: 客户端Ip 注意:此字段可能返回 null,表示取不到有效值。 :type Ip: str :param _Url: 访问URL 注意:此字段可能返回 null,表示取不到有效值。 :type Url: str :param _UserAgent: 客户端UserAgent 注意:此字段可能返回 null,表示取不到有效值。 :type UserAgent: str :param _Value: 请求数 注意:此字段可能返回 null,表示取不到有效值。 :type Value: int :param _Domain: 域名 注意:此字段可能返回 null,表示取不到有效值。 :type Domain: str """ self._Ip = None self._Url = None self._UserAgent = None self._Value = None self._Domain = None @property def Ip(self): """客户端Ip 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Ip @Ip.setter def Ip(self, Ip): self._Ip = Ip @property def Url(self): """访问URL 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Url @Url.setter def Url(self, Url): self._Url = Url @property def UserAgent(self): """客户端UserAgent 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._UserAgent @UserAgent.setter def UserAgent(self, UserAgent): self._UserAgent = UserAgent @property def Value(self): """请求数 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Domain(self): """域名 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Ip = params.get("Ip") self._Url = params.get("Url") self._UserAgent = params.get("UserAgent") self._Value = params.get("Value") self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CdnData(AbstractModel): """访问明细数据类型 """ def __init__(self): r""" :param _Metric: 查询指定的指标名称: flux:流量,单位为 byte bandwidth:带宽,单位为 bps request:请求数,单位为 次 fluxHitRate:流量命中率,单位为 % statusCode:状态码,返回 2XX、3XX、4XX、5XX 汇总数据,单位为 个 2XX:返回 2XX 状态码汇总及各 2 开头状态码数据,单位为 个 3XX:返回 3XX 状态码汇总及各 3 开头状态码数据,单位为 个 4XX:返回 4XX 状态码汇总及各 4 开头状态码数据,单位为 个 5XX:返回 5XX 状态码汇总及各 5 开头状态码数据,单位为 个 或指定查询的某一具体状态码 :type Metric: str :param _DetailData: 明细数据组合 :type DetailData: list of TimestampData :param _SummarizedData: 汇总数据组合 :type SummarizedData: :class:`tencentcloud.cdn.v20180606.models.SummarizedData` """ self._Metric = None self._DetailData = None self._SummarizedData = None @property def Metric(self): """查询指定的指标名称: flux:流量,单位为 byte bandwidth:带宽,单位为 bps request:请求数,单位为 次 fluxHitRate:流量命中率,单位为 % statusCode:状态码,返回 2XX、3XX、4XX、5XX 汇总数据,单位为 个 2XX:返回 2XX 状态码汇总及各 2 开头状态码数据,单位为 个 3XX:返回 3XX 状态码汇总及各 3 开头状态码数据,单位为 个 4XX:返回 4XX 状态码汇总及各 4 开头状态码数据,单位为 个 5XX:返回 5XX 状态码汇总及各 5 开头状态码数据,单位为 个 或指定查询的某一具体状态码 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def DetailData(self): """明细数据组合 :rtype: list of TimestampData """ return self._DetailData @DetailData.setter def DetailData(self, DetailData): self._DetailData = DetailData @property def SummarizedData(self): """汇总数据组合 :rtype: :class:`tencentcloud.cdn.v20180606.models.SummarizedData` """ return self._SummarizedData @SummarizedData.setter def SummarizedData(self, SummarizedData): self._SummarizedData = SummarizedData def _deserialize(self, params): self._Metric = params.get("Metric") if params.get("DetailData") is not None: self._DetailData = [] for item in params.get("DetailData"): obj = TimestampData() obj._deserialize(item) self._DetailData.append(obj) if params.get("SummarizedData") is not None: self._SummarizedData = SummarizedData() self._SummarizedData._deserialize(params.get("SummarizedData")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CdnIp(AbstractModel): """IP 属性信息 """ def __init__(self): r""" :param _Ip: 指定查询的 IP :type Ip: str :param _Platform: IP 归属: yes:节点归属于腾讯云 CDN no:节点不属于腾讯云 CDN :type Platform: str :param _Location: 节点所处的省份/国家 unknown 表示节点位置未知 :type Location: str :param _History: 节点上下线历史记录 :type History: list of CdnIpHistory :param _Area: 节点的所在区域 mainland:中国境内加速节点 overseas:中国境外加速节点 unknown:服务地域无法获取 :type Area: str :param _City: 节点的所在城市 注意:此字段可能返回 null,表示取不到有效值。 :type City: str """ self._Ip = None self._Platform = None self._Location = None self._History = None self._Area = None self._City = None @property def Ip(self): """指定查询的 IP :rtype: str """ return self._Ip @Ip.setter def Ip(self, Ip): self._Ip = Ip @property def Platform(self): """IP 归属: yes:节点归属于腾讯云 CDN no:节点不属于腾讯云 CDN :rtype: str """ return self._Platform @Platform.setter def Platform(self, Platform): self._Platform = Platform @property def Location(self): """节点所处的省份/国家 unknown 表示节点位置未知 :rtype: str """ return self._Location @Location.setter def Location(self, Location): self._Location = Location @property def History(self): """节点上下线历史记录 :rtype: list of CdnIpHistory """ return self._History @History.setter def History(self, History): self._History = History @property def Area(self): """节点的所在区域 mainland:中国境内加速节点 overseas:中国境外加速节点 unknown:服务地域无法获取 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def City(self): """节点的所在城市 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._City @City.setter def City(self, City): self._City = City def _deserialize(self, params): self._Ip = params.get("Ip") self._Platform = params.get("Platform") self._Location = params.get("Location") if params.get("History") is not None: self._History = [] for item in params.get("History"): obj = CdnIpHistory() obj._deserialize(item) self._History.append(obj) self._Area = params.get("Area") self._City = params.get("City") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CdnIpHistory(AbstractModel): """CDN 节点上下线历史记录 """ def __init__(self): r""" :param _Status: 操作类型 online:节点上线 offline:节点下线 :type Status: str :param _Datetime: 操作类型对应的操作时间 当该值为 null 时表示无历史状态变更记录 注意:此字段可能返回 null,表示取不到有效值。 :type Datetime: str """ self._Status = None self._Datetime = None @property def Status(self): """操作类型 online:节点上线 offline:节点下线 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def Datetime(self): """操作类型对应的操作时间 当该值为 null 时表示无历史状态变更记录 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Datetime @Datetime.setter def Datetime(self, Datetime): self._Datetime = Datetime def _deserialize(self, params): self._Status = params.get("Status") self._Datetime = params.get("Datetime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ClientCert(AbstractModel): """https 客户端证书配置 """ def __init__(self): r""" :param _Certificate: 客户端证书 PEM 格式,需要进行 Base 64 编码 注意:此字段可能返回 null,表示取不到有效值。 :type Certificate: str :param _CertName: 客户端证书名称 注意:此字段可能返回 null,表示取不到有效值。 :type CertName: str :param _ExpireTime: 证书过期时间 作为入参时无需填充 注意:此字段可能返回 null,表示取不到有效值。 :type ExpireTime: str :param _DeployTime: 证书颁发时间 作为入参时无需填充 注意:此字段可能返回 null,表示取不到有效值。 :type DeployTime: str """ self._Certificate = None self._CertName = None self._ExpireTime = None self._DeployTime = None @property def Certificate(self): """客户端证书 PEM 格式,需要进行 Base 64 编码 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Certificate @Certificate.setter def Certificate(self, Certificate): self._Certificate = Certificate @property def CertName(self): """客户端证书名称 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CertName @CertName.setter def CertName(self, CertName): self._CertName = CertName @property def ExpireTime(self): """证书过期时间 作为入参时无需填充 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def DeployTime(self): """证书颁发时间 作为入参时无需填充 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._DeployTime @DeployTime.setter def DeployTime(self, DeployTime): self._DeployTime = DeployTime def _deserialize(self, params): self._Certificate = params.get("Certificate") self._CertName = params.get("CertName") self._ExpireTime = params.get("ExpireTime") self._DeployTime = params.get("DeployTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ClientInfo(AbstractModel): """客户端信息 """ def __init__(self): r""" :param _ProvName: 省份。 注意:此字段可能返回 null,表示取不到有效值。 :type ProvName: str :param _Country: 国家。 注意:此字段可能返回 null,表示取不到有效值。 :type Country: str :param _IspName: 运营商。 注意:此字段可能返回 null,表示取不到有效值。 :type IspName: str :param _Ip: 客户端IP 注意:此字段可能返回 null,表示取不到有效值。 :type Ip: str """ self._ProvName = None self._Country = None self._IspName = None self._Ip = None @property def ProvName(self): """省份。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ProvName @ProvName.setter def ProvName(self, ProvName): self._ProvName = ProvName @property def Country(self): """国家。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Country @Country.setter def Country(self, Country): self._Country = Country @property def IspName(self): """运营商。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IspName @IspName.setter def IspName(self, IspName): self._IspName = IspName @property def Ip(self): """客户端IP 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Ip @Ip.setter def Ip(self, Ip): self._Ip = Ip def _deserialize(self, params): self._ProvName = params.get("ProvName") self._Country = params.get("Country") self._IspName = params.get("IspName") self._Ip = params.get("Ip") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ClsLogIpData(AbstractModel): """通过Cls日志,计算出来的IP每秒访问数量 """ def __init__(self): r""" :param _ClientIp: IP :type ClientIp: str :param _Request: 在给定的时间段中,1秒内的最大请求量 :type Request: int :param _Count: 在获取的Top信息中,IP出现的次数 :type Count: int :param _Time: 在给定的时间段中,1秒内的最大请求量对应的时间 :type Time: str """ self._ClientIp = None self._Request = None self._Count = None self._Time = None @property def ClientIp(self): """IP :rtype: str """ return self._ClientIp @ClientIp.setter def ClientIp(self, ClientIp): self._ClientIp = ClientIp @property def Request(self): """在给定的时间段中,1秒内的最大请求量 :rtype: int """ return self._Request @Request.setter def Request(self, Request): self._Request = Request @property def Count(self): """在获取的Top信息中,IP出现的次数 :rtype: int """ return self._Count @Count.setter def Count(self, Count): self._Count = Count @property def Time(self): """在给定的时间段中,1秒内的最大请求量对应的时间 :rtype: str """ return self._Time @Time.setter def Time(self, Time): self._Time = Time def _deserialize(self, params): self._ClientIp = params.get("ClientIp") self._Request = params.get("Request") self._Count = params.get("Count") self._Time = params.get("Time") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ClsLogObject(AbstractModel): """CLS日志搜索对象 """ def __init__(self): r""" :param _TopicId: 主题ID :type TopicId: str :param _TopicName: 主题名字 :type TopicName: str :param _Timestamp: 日志时间 :type Timestamp: str :param _Content: 日志内容 :type Content: str :param _Filename: 采集路径 :type Filename: str :param _Source: 日志来源设备 :type Source: str """ self._TopicId = None self._TopicName = None self._Timestamp = None self._Content = None self._Filename = None self._Source = None @property def TopicId(self): """主题ID :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def TopicName(self): """主题名字 :rtype: str """ return self._TopicName @TopicName.setter def TopicName(self, TopicName): self._TopicName = TopicName @property def Timestamp(self): """日志时间 :rtype: str """ return self._Timestamp @Timestamp.setter def Timestamp(self, Timestamp): self._Timestamp = Timestamp @property def Content(self): """日志内容 :rtype: str """ return self._Content @Content.setter def Content(self, Content): self._Content = Content @property def Filename(self): """采集路径 :rtype: str """ return self._Filename @Filename.setter def Filename(self, Filename): self._Filename = Filename @property def Source(self): """日志来源设备 :rtype: str """ return self._Source @Source.setter def Source(self, Source): self._Source = Source def _deserialize(self, params): self._TopicId = params.get("TopicId") self._TopicName = params.get("TopicName") self._Timestamp = params.get("Timestamp") self._Content = params.get("Content") self._Filename = params.get("Filename") self._Source = params.get("Source") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ClsSearchLogs(AbstractModel): """Cls日志搜索结果 """ def __init__(self): r""" :param _Context: 获取更多检索结果的游标 :type Context: str :param _Listover: 搜索结果是否已经全部返回 :type Listover: bool :param _Results: 日志内容信息 :type Results: list of ClsLogObject """ self._Context = None self._Listover = None self._Results = None @property def Context(self): """获取更多检索结果的游标 :rtype: str """ return self._Context @Context.setter def Context(self, Context): self._Context = Context @property def Listover(self): """搜索结果是否已经全部返回 :rtype: bool """ return self._Listover @Listover.setter def Listover(self, Listover): self._Listover = Listover @property def Results(self): """日志内容信息 :rtype: list of ClsLogObject """ return self._Results @Results.setter def Results(self, Results): self._Results = Results def _deserialize(self, params): self._Context = params.get("Context") self._Listover = params.get("Listover") if params.get("Results") is not None: self._Results = [] for item in params.get("Results"): obj = ClsLogObject() obj._deserialize(item) self._Results.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Compatibility(AbstractModel): """是否兼容旧版配置 """ def __init__(self): r""" :param _Code: 兼容标志状态码。 注意:此字段可能返回 null,表示取不到有效值。 :type Code: int """ self._Code = None @property def Code(self): """兼容标志状态码。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Code @Code.setter def Code(self, Code): self._Code = Code def _deserialize(self, params): self._Code = params.get("Code") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Compression(AbstractModel): """智能压缩配置,默认对 js、html、css、xml、json、shtml、htm 后缀且大小为 256 ~ 2097152 字节的文件进行 GZIP 压缩 """ def __init__(self): r""" :param _Switch: 智能压缩配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _CompressionRules: 压缩规则数组 注意:此字段可能返回 null,表示取不到有效值。 :type CompressionRules: list of CompressionRule """ self._Switch = None self._CompressionRules = None @property def Switch(self): """智能压缩配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def CompressionRules(self): """压缩规则数组 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of CompressionRule """ return self._CompressionRules @CompressionRules.setter def CompressionRules(self, CompressionRules): self._CompressionRules = CompressionRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("CompressionRules") is not None: self._CompressionRules = [] for item in params.get("CompressionRules"): obj = CompressionRule() obj._deserialize(item) self._CompressionRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CompressionRule(AbstractModel): """智能压缩规则配置 """ def __init__(self): r""" :param _Compress: true:需要设置为 ture,启用压缩 注意:此字段可能返回 null,表示取不到有效值。 :type Compress: bool :param _MinLength: 触发压缩的文件长度最小值,单位为字节数 注意:此字段可能返回 null,表示取不到有效值。 :type MinLength: int :param _MaxLength: 触发压缩的文件长度最大值,单位为字节数 最大可设置为 30MB 注意:此字段可能返回 null,表示取不到有效值。 :type MaxLength: int :param _Algorithms: 文件压缩算法 gzip:指定 GZIP 压缩 brotli:指定Brotli压缩 注意:此字段可能返回 null,表示取不到有效值。 :type Algorithms: list of str :param _FileExtensions: 根据文件后缀类型压缩 例如 jpg、txt 注意:此字段可能返回 null,表示取不到有效值。 :type FileExtensions: list of str :param _RuleType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 contentType:指定Content-Type头为特定值时生效 当指定了此字段时,FileExtensions字段不生效 注意:此字段可能返回 null,表示取不到有效值。 :type RuleType: str :param _RulePaths: CacheType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html contentType 时填充 text/html 注意:此字段可能返回 null,表示取不到有效值。 :type RulePaths: list of str """ self._Compress = None self._MinLength = None self._MaxLength = None self._Algorithms = None self._FileExtensions = None self._RuleType = None self._RulePaths = None @property def Compress(self): """true:需要设置为 ture,启用压缩 注意:此字段可能返回 null,表示取不到有效值。 :rtype: bool """ return self._Compress @Compress.setter def Compress(self, Compress): self._Compress = Compress @property def MinLength(self): """触发压缩的文件长度最小值,单位为字节数 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MinLength @MinLength.setter def MinLength(self, MinLength): self._MinLength = MinLength @property def MaxLength(self): """触发压缩的文件长度最大值,单位为字节数 最大可设置为 30MB 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MaxLength @MaxLength.setter def MaxLength(self, MaxLength): self._MaxLength = MaxLength @property def Algorithms(self): """文件压缩算法 gzip:指定 GZIP 压缩 brotli:指定Brotli压缩 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._Algorithms @Algorithms.setter def Algorithms(self, Algorithms): self._Algorithms = Algorithms @property def FileExtensions(self): """根据文件后缀类型压缩 例如 jpg、txt 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._FileExtensions @FileExtensions.setter def FileExtensions(self, FileExtensions): self._FileExtensions = FileExtensions @property def RuleType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 contentType:指定Content-Type头为特定值时生效 当指定了此字段时,FileExtensions字段不生效 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RulePaths(self): """CacheType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html contentType 时填充 text/html 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths def _deserialize(self, params): self._Compress = params.get("Compress") self._MinLength = params.get("MinLength") self._MaxLength = params.get("MaxLength") self._Algorithms = params.get("Algorithms") self._FileExtensions = params.get("FileExtensions") self._RuleType = params.get("RuleType") self._RulePaths = params.get("RulePaths") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CookieKey(AbstractModel): """组成CacheKey的一部分 """ def __init__(self): r""" :param _Switch: 使用Cookie作为Cache的一部分配置开关,取值有: on:开启,使用Cookie作为Cache的一部分 off:关闭,不使用Cookie作为Cache的一部分 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _Value: 使用的cookie,';' 分割 注意:此字段可能返回 null,表示取不到有效值。 :type Value: str """ self._Switch = None self._Value = None @property def Switch(self): """使用Cookie作为Cache的一部分配置开关,取值有: on:开启,使用Cookie作为Cache的一部分 off:关闭,不使用Cookie作为Cache的一部分 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Value(self): """使用的cookie,';' 分割 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Switch = params.get("Switch") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateClsLogTopicRequest(AbstractModel): """CreateClsLogTopic请求参数结构体 """ def __init__(self): r""" :param _TopicName: 日志主题名称 :type TopicName: str :param _LogsetId: 日志集ID :type LogsetId: str :param _Channel: 接入渠道,cdn或者ecdn,默认值为cdn :type Channel: str :param _DomainAreaConfigs: 域名区域信息 :type DomainAreaConfigs: list of DomainAreaConfig """ self._TopicName = None self._LogsetId = None self._Channel = None self._DomainAreaConfigs = None @property def TopicName(self): """日志主题名称 :rtype: str """ return self._TopicName @TopicName.setter def TopicName(self, TopicName): self._TopicName = TopicName @property def LogsetId(self): """日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def Channel(self): """接入渠道,cdn或者ecdn,默认值为cdn :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def DomainAreaConfigs(self): """域名区域信息 :rtype: list of DomainAreaConfig """ return self._DomainAreaConfigs @DomainAreaConfigs.setter def DomainAreaConfigs(self, DomainAreaConfigs): self._DomainAreaConfigs = DomainAreaConfigs def _deserialize(self, params): self._TopicName = params.get("TopicName") self._LogsetId = params.get("LogsetId") self._Channel = params.get("Channel") if params.get("DomainAreaConfigs") is not None: self._DomainAreaConfigs = [] for item in params.get("DomainAreaConfigs"): obj = DomainAreaConfig() obj._deserialize(item) self._DomainAreaConfigs.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateClsLogTopicResponse(AbstractModel): """CreateClsLogTopic返回参数结构体 """ def __init__(self): r""" :param _TopicId: 主题ID 注意:此字段可能返回 null,表示取不到有效值。 :type TopicId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TopicId = None self._RequestId = None @property def TopicId(self): """主题ID 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TopicId = params.get("TopicId") self._RequestId = params.get("RequestId") class CreateDiagnoseUrlRequest(AbstractModel): """CreateDiagnoseUrl请求参数结构体 """ def __init__(self): r""" :param _Url: 需诊断的url,形如:http://www.test.com/test.txt。 :type Url: str :param _Origin: 请求源带协议头,形如:https://console.cloud.tencent.com :type Origin: str """ self._Url = None self._Origin = None @property def Url(self): """需诊断的url,形如:http://www.test.com/test.txt。 :rtype: str """ return self._Url @Url.setter def Url(self, Url): self._Url = Url @property def Origin(self): """请求源带协议头,形如:https://console.cloud.tencent.com :rtype: str """ return self._Origin @Origin.setter def Origin(self, Origin): self._Origin = Origin def _deserialize(self, params): self._Url = params.get("Url") self._Origin = params.get("Origin") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateDiagnoseUrlResponse(AbstractModel): """CreateDiagnoseUrl返回参数结构体 """ def __init__(self): r""" :param _DiagnoseLink: 系统生成的诊断链接,一个诊断链接最多可访问10次,有效期为24h。 :type DiagnoseLink: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._DiagnoseLink = None self._RequestId = None @property def DiagnoseLink(self): """系统生成的诊断链接,一个诊断链接最多可访问10次,有效期为24h。 :rtype: str """ return self._DiagnoseLink @DiagnoseLink.setter def DiagnoseLink(self, DiagnoseLink): self._DiagnoseLink = DiagnoseLink @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._DiagnoseLink = params.get("DiagnoseLink") self._RequestId = params.get("RequestId") class CreateEdgePackTaskRequest(AbstractModel): """CreateEdgePackTask请求参数结构体 """ def __init__(self): r""" :param _CosBucket: apk 所在的 cos 存储桶, 如 edgepack-xxxxxxxx :type CosBucket: str :param _CosUriFrom: apk 源文件的存储路径, 如 /apk/xxxx.apk :type CosUriFrom: str :param _BlockID: BlockID 的值, WALLE为1903654775(0x71777777),VasDolly为2282837503(0x881155ff),传0或不传时默认为 WALLE 方案 :type BlockID: int :param _CosUriTo: 拓展之后的 apk 目标存储路径,如 /out/xxxx.apk :type CosUriTo: str """ self._CosBucket = None self._CosUriFrom = None self._BlockID = None self._CosUriTo = None @property def CosBucket(self): """apk 所在的 cos 存储桶, 如 edgepack-xxxxxxxx :rtype: str """ return self._CosBucket @CosBucket.setter def CosBucket(self, CosBucket): self._CosBucket = CosBucket @property def CosUriFrom(self): """apk 源文件的存储路径, 如 /apk/xxxx.apk :rtype: str """ return self._CosUriFrom @CosUriFrom.setter def CosUriFrom(self, CosUriFrom): self._CosUriFrom = CosUriFrom @property def BlockID(self): """BlockID 的值, WALLE为1903654775(0x71777777),VasDolly为2282837503(0x881155ff),传0或不传时默认为 WALLE 方案 :rtype: int """ return self._BlockID @BlockID.setter def BlockID(self, BlockID): self._BlockID = BlockID @property def CosUriTo(self): """拓展之后的 apk 目标存储路径,如 /out/xxxx.apk :rtype: str """ return self._CosUriTo @CosUriTo.setter def CosUriTo(self, CosUriTo): self._CosUriTo = CosUriTo def _deserialize(self, params): self._CosBucket = params.get("CosBucket") self._CosUriFrom = params.get("CosUriFrom") self._BlockID = params.get("BlockID") self._CosUriTo = params.get("CosUriTo") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateEdgePackTaskResponse(AbstractModel): """CreateEdgePackTask返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class CreateScdnDomainRequest(AbstractModel): """CreateScdnDomain请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _Waf: Web 攻击防护(WAF)配置 :type Waf: :class:`tencentcloud.cdn.v20180606.models.ScdnWafConfig` :param _Acl: 自定义防护策略配置 :type Acl: :class:`tencentcloud.cdn.v20180606.models.ScdnAclConfig` :param _CC: CC 防护配置,目前 CC 防护默认开启 :type CC: :class:`tencentcloud.cdn.v20180606.models.ScdnConfig` :param _Ddos: DDOS 防护配置,目前 DDoS 防护默认开启 :type Ddos: :class:`tencentcloud.cdn.v20180606.models.ScdnDdosConfig` :param _Bot: BOT 防护配置 :type Bot: :class:`tencentcloud.cdn.v20180606.models.ScdnBotConfig` """ self._Domain = None self._Waf = None self._Acl = None self._CC = None self._Ddos = None self._Bot = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Waf(self): """Web 攻击防护(WAF)配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnWafConfig` """ return self._Waf @Waf.setter def Waf(self, Waf): self._Waf = Waf @property def Acl(self): """自定义防护策略配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnAclConfig` """ return self._Acl @Acl.setter def Acl(self, Acl): self._Acl = Acl @property def CC(self): """CC 防护配置,目前 CC 防护默认开启 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnConfig` """ return self._CC @CC.setter def CC(self, CC): self._CC = CC @property def Ddos(self): """DDOS 防护配置,目前 DDoS 防护默认开启 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnDdosConfig` """ return self._Ddos @Ddos.setter def Ddos(self, Ddos): self._Ddos = Ddos @property def Bot(self): """BOT 防护配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnBotConfig` """ return self._Bot @Bot.setter def Bot(self, Bot): self._Bot = Bot def _deserialize(self, params): self._Domain = params.get("Domain") if params.get("Waf") is not None: self._Waf = ScdnWafConfig() self._Waf._deserialize(params.get("Waf")) if params.get("Acl") is not None: self._Acl = ScdnAclConfig() self._Acl._deserialize(params.get("Acl")) if params.get("CC") is not None: self._CC = ScdnConfig() self._CC._deserialize(params.get("CC")) if params.get("Ddos") is not None: self._Ddos = ScdnDdosConfig() self._Ddos._deserialize(params.get("Ddos")) if params.get("Bot") is not None: self._Bot = ScdnBotConfig() self._Bot._deserialize(params.get("Bot")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateScdnDomainResponse(AbstractModel): """CreateScdnDomain返回参数结构体 """ def __init__(self): r""" :param _Result: 创建结果,Success表示成功 :type Result: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Result = None self._RequestId = None @property def Result(self): """创建结果,Success表示成功 :rtype: str """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Result = params.get("Result") self._RequestId = params.get("RequestId") class CreateScdnFailedLogTaskRequest(AbstractModel): """CreateScdnFailedLogTask请求参数结构体 """ def __init__(self): r""" :param _TaskId: 重试失败任务的taskID :type TaskId: str :param _Area: 地域:mainland或overseas :type Area: str """ self._TaskId = None self._Area = None @property def TaskId(self): """重试失败任务的taskID :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def Area(self): """地域:mainland或overseas :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._TaskId = params.get("TaskId") self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateScdnFailedLogTaskResponse(AbstractModel): """CreateScdnFailedLogTask返回参数结构体 """ def __init__(self): r""" :param _Result: 创建结果, "0" -> 创建成功 :type Result: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Result = None self._RequestId = None @property def Result(self): """创建结果, "0" -> 创建成功 :rtype: str """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Result = params.get("Result") self._RequestId = params.get("RequestId") class CreateScdnLogTaskRequest(AbstractModel): """CreateScdnLogTask请求参数结构体 """ def __init__(self): r""" :param _Mode: 防护类型 Mode 映射如下: waf = "Web攻击" cc = "CC攻击" bot = "Bot攻击" :type Mode: str :param _StartTime: 查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :type EndTime: str :param _Domain: 指定域名查询, 不填默认查询全部域名 :type Domain: str :param _AttackType: 指定攻击类型, 不填默认查询全部攻击类型 AttackType 映射如下: other = '未知类型' malicious_scan = "恶意扫描" sql_inject = "SQL注入攻击" xss = "XSS攻击" cmd_inject = "命令注入攻击" ldap_inject = "LDAP注入攻击" ssi_inject = "SSI注入攻击" xml_inject = "XML注入攻击" web_service = "WEB服务漏洞攻击" web_app = "WEB应用漏洞攻击" path_traversal = "路径跨越攻击" illegal_access_core_file = "核心文件非法访问" trojan_horse = "木马后门攻击" csrf = "CSRF攻击" malicious_file_upload= '恶意文件上传' js = "JS主动探测" cookie = "Cookie指纹" :type AttackType: str :param _DefenceMode: 指定执行动作, 不填默认查询全部执行动作 DefenceMode 映射如下: observe = '观察模式' intercept = '拦截模式' captcha = "验证码" redirect = "重定向" :type DefenceMode: str :param _Ip: 不填为全部ip :type Ip: str :param _Domains: 指定域名查询, 与 Domain 参数同时有值时使用 Domains 参数,不填默认查询全部域名,指定域名查询时最多支持同时选择 5 个域名查询 :type Domains: list of str :param _AttackTypes: 指定攻击类型查询, 与 AttackType 参数同时有值时使用 AttackTypes 参数,不填默认查询全部攻击类型 :type AttackTypes: list of str :param _Conditions: 查询条件 :type Conditions: list of ScdnEventLogConditions :param _Source: 来源产品 cdn ecdn :type Source: str :param _Area: 地域:mainland 或 overseas :type Area: str """ self._Mode = None self._StartTime = None self._EndTime = None self._Domain = None self._AttackType = None self._DefenceMode = None self._Ip = None self._Domains = None self._AttackTypes = None self._Conditions = None self._Source = None self._Area = None @property def Mode(self): """防护类型 Mode 映射如下: waf = "Web攻击" cc = "CC攻击" bot = "Bot攻击" :rtype: str """ return self._Mode @Mode.setter def Mode(self, Mode): self._Mode = Mode @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Domain(self): """指定域名查询, 不填默认查询全部域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def AttackType(self): """指定攻击类型, 不填默认查询全部攻击类型 AttackType 映射如下: other = '未知类型' malicious_scan = "恶意扫描" sql_inject = "SQL注入攻击" xss = "XSS攻击" cmd_inject = "命令注入攻击" ldap_inject = "LDAP注入攻击" ssi_inject = "SSI注入攻击" xml_inject = "XML注入攻击" web_service = "WEB服务漏洞攻击" web_app = "WEB应用漏洞攻击" path_traversal = "路径跨越攻击" illegal_access_core_file = "核心文件非法访问" trojan_horse = "木马后门攻击" csrf = "CSRF攻击" malicious_file_upload= '恶意文件上传' js = "JS主动探测" cookie = "Cookie指纹" :rtype: str """ return self._AttackType @AttackType.setter def AttackType(self, AttackType): self._AttackType = AttackType @property def DefenceMode(self): """指定执行动作, 不填默认查询全部执行动作 DefenceMode 映射如下: observe = '观察模式' intercept = '拦截模式' captcha = "验证码" redirect = "重定向" :rtype: str """ return self._DefenceMode @DefenceMode.setter def DefenceMode(self, DefenceMode): self._DefenceMode = DefenceMode @property def Ip(self): """不填为全部ip :rtype: str """ return self._Ip @Ip.setter def Ip(self, Ip): self._Ip = Ip @property def Domains(self): """指定域名查询, 与 Domain 参数同时有值时使用 Domains 参数,不填默认查询全部域名,指定域名查询时最多支持同时选择 5 个域名查询 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def AttackTypes(self): """指定攻击类型查询, 与 AttackType 参数同时有值时使用 AttackTypes 参数,不填默认查询全部攻击类型 :rtype: list of str """ return self._AttackTypes @AttackTypes.setter def AttackTypes(self, AttackTypes): self._AttackTypes = AttackTypes @property def Conditions(self): """查询条件 :rtype: list of ScdnEventLogConditions """ return self._Conditions @Conditions.setter def Conditions(self, Conditions): self._Conditions = Conditions @property def Source(self): """来源产品 cdn ecdn :rtype: str """ return self._Source @Source.setter def Source(self, Source): self._Source = Source @property def Area(self): """地域:mainland 或 overseas :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._Mode = params.get("Mode") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Domain = params.get("Domain") self._AttackType = params.get("AttackType") self._DefenceMode = params.get("DefenceMode") self._Ip = params.get("Ip") self._Domains = params.get("Domains") self._AttackTypes = params.get("AttackTypes") if params.get("Conditions") is not None: self._Conditions = [] for item in params.get("Conditions"): obj = ScdnEventLogConditions() obj._deserialize(item) self._Conditions.append(obj) self._Source = params.get("Source") self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateScdnLogTaskResponse(AbstractModel): """CreateScdnLogTask返回参数结构体 """ def __init__(self): r""" :param _Result: 创建结果, "0" -> 创建成功 :type Result: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Result = None self._RequestId = None @property def Result(self): """创建结果, "0" -> 创建成功 :rtype: str """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Result = params.get("Result") self._RequestId = params.get("RequestId") class CreateVerifyRecordRequest(AbstractModel): """CreateVerifyRecord请求参数结构体 """ def __init__(self): r""" :param _Domain: 要取回的域名 :type Domain: str """ self._Domain = None @property def Domain(self): """要取回的域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateVerifyRecordResponse(AbstractModel): """CreateVerifyRecord返回参数结构体 """ def __init__(self): r""" :param _SubDomain: 子解析 :type SubDomain: str :param _Record: 解析值 :type Record: str :param _RecordType: 解析类型 :type RecordType: str :param _FileVerifyUrl: 文件验证 URL 指引 注意:此字段可能返回 null,表示取不到有效值。 :type FileVerifyUrl: str :param _FileVerifyDomains: 文件校验域名列表 注意:此字段可能返回 null,表示取不到有效值。 :type FileVerifyDomains: list of str :param _FileVerifyName: 文件校验文件名 注意:此字段可能返回 null,表示取不到有效值。 :type FileVerifyName: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._SubDomain = None self._Record = None self._RecordType = None self._FileVerifyUrl = None self._FileVerifyDomains = None self._FileVerifyName = None self._RequestId = None @property def SubDomain(self): """子解析 :rtype: str """ return self._SubDomain @SubDomain.setter def SubDomain(self, SubDomain): self._SubDomain = SubDomain @property def Record(self): """解析值 :rtype: str """ return self._Record @Record.setter def Record(self, Record): self._Record = Record @property def RecordType(self): """解析类型 :rtype: str """ return self._RecordType @RecordType.setter def RecordType(self, RecordType): self._RecordType = RecordType @property def FileVerifyUrl(self): """文件验证 URL 指引 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._FileVerifyUrl @FileVerifyUrl.setter def FileVerifyUrl(self, FileVerifyUrl): self._FileVerifyUrl = FileVerifyUrl @property def FileVerifyDomains(self): """文件校验域名列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._FileVerifyDomains @FileVerifyDomains.setter def FileVerifyDomains(self, FileVerifyDomains): self._FileVerifyDomains = FileVerifyDomains @property def FileVerifyName(self): """文件校验文件名 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._FileVerifyName @FileVerifyName.setter def FileVerifyName(self, FileVerifyName): self._FileVerifyName = FileVerifyName @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._SubDomain = params.get("SubDomain") self._Record = params.get("Record") self._RecordType = params.get("RecordType") self._FileVerifyUrl = params.get("FileVerifyUrl") self._FileVerifyDomains = params.get("FileVerifyDomains") self._FileVerifyName = params.get("FileVerifyName") self._RequestId = params.get("RequestId") class DDoSAttackBandwidthData(AbstractModel): """ddos攻击带宽峰值数据 """ def __init__(self): r""" :param _AttackType: ddos攻击类型,当值为all的时候表示所有的攻击类型的总带宽峰值 :type AttackType: str :param _Value: ddos攻击带宽大小 :type Value: float :param _Time: 攻击时间点 :type Time: str """ self._AttackType = None self._Value = None self._Time = None @property def AttackType(self): """ddos攻击类型,当值为all的时候表示所有的攻击类型的总带宽峰值 :rtype: str """ return self._AttackType @AttackType.setter def AttackType(self, AttackType): self._AttackType = AttackType @property def Value(self): """ddos攻击带宽大小 :rtype: float """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Time(self): """攻击时间点 :rtype: str """ return self._Time @Time.setter def Time(self, Time): self._Time = Time def _deserialize(self, params): self._AttackType = params.get("AttackType") self._Value = params.get("Value") self._Time = params.get("Time") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DDoSAttackIPTopData(AbstractModel): """攻击ip数据详细数据 """ def __init__(self): r""" :param _AttackIP: 攻击ip :type AttackIP: str :param _Province: 攻击ip所在省份 :type Province: str :param _Country: 攻击ip所在国家 :type Country: str :param _Isp: 红果电信 :type Isp: str :param _AttackCount: 攻击次数 :type AttackCount: float """ self._AttackIP = None self._Province = None self._Country = None self._Isp = None self._AttackCount = None @property def AttackIP(self): """攻击ip :rtype: str """ return self._AttackIP @AttackIP.setter def AttackIP(self, AttackIP): self._AttackIP = AttackIP @property def Province(self): """攻击ip所在省份 :rtype: str """ return self._Province @Province.setter def Province(self, Province): self._Province = Province @property def Country(self): """攻击ip所在国家 :rtype: str """ return self._Country @Country.setter def Country(self, Country): self._Country = Country @property def Isp(self): """红果电信 :rtype: str """ return self._Isp @Isp.setter def Isp(self, Isp): self._Isp = Isp @property def AttackCount(self): """攻击次数 :rtype: float """ return self._AttackCount @AttackCount.setter def AttackCount(self, AttackCount): self._AttackCount = AttackCount def _deserialize(self, params): self._AttackIP = params.get("AttackIP") self._Province = params.get("Province") self._Country = params.get("Country") self._Isp = params.get("Isp") self._AttackCount = params.get("AttackCount") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DDoSStatsData(AbstractModel): """DDoS统计数据 """ def __init__(self): r""" :param _Time: 时间 :type Time: str :param _Value: 带宽数值,单位bps :type Value: float """ self._Time = None self._Value = None @property def Time(self): """时间 :rtype: str """ return self._Time @Time.setter def Time(self, Time): self._Time = Time @property def Value(self): """带宽数值,单位bps :rtype: float """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Time = params.get("Time") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DDoSTopData(AbstractModel): """DDoS攻击Top数据 """ def __init__(self): r""" :param _AttackType: 攻击类型 :type AttackType: str :param _Value: 攻击带宽,单位:bps :type Value: int """ self._AttackType = None self._Value = None @property def AttackType(self): """攻击类型 :rtype: str """ return self._AttackType @AttackType.setter def AttackType(self, AttackType): self._AttackType = AttackType @property def Value(self): """攻击带宽,单位:bps :rtype: int """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._AttackType = params.get("AttackType") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DeleteCdnDomainRequest(AbstractModel): """DeleteCdnDomain请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 域名状态需要为【已停用】 :type Domain: str """ self._Domain = None @property def Domain(self): """域名 域名状态需要为【已停用】 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DeleteCdnDomainResponse(AbstractModel): """DeleteCdnDomain返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class DeleteClsLogTopicRequest(AbstractModel): """DeleteClsLogTopic请求参数结构体 """ def __init__(self): r""" :param _TopicId: 日志主题ID :type TopicId: str :param _LogsetId: 日志集ID :type LogsetId: str :param _Channel: 接入渠道,cdn或者ecdn,默认值为cdn :type Channel: str """ self._TopicId = None self._LogsetId = None self._Channel = None @property def TopicId(self): """日志主题ID :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def LogsetId(self): """日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def Channel(self): """接入渠道,cdn或者ecdn,默认值为cdn :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel def _deserialize(self, params): self._TopicId = params.get("TopicId") self._LogsetId = params.get("LogsetId") self._Channel = params.get("Channel") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DeleteClsLogTopicResponse(AbstractModel): """DeleteClsLogTopic返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class DeleteScdnDomainRequest(AbstractModel): """DeleteScdnDomain请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str """ self._Domain = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DeleteScdnDomainResponse(AbstractModel): """DeleteScdnDomain返回参数结构体 """ def __init__(self): r""" :param _Result: 创建结果,Success表示成功 :type Result: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Result = None self._RequestId = None @property def Result(self): """创建结果,Success表示成功 :rtype: str """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Result = params.get("Result") self._RequestId = params.get("RequestId") class DescribeBillingDataRequest(AbstractModel): """DescribeBillingData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 根据指定时间粒度参数不同,会进行向前取整,如指定起始时间为 2018-09-04 10:40:00 按小时粒度查询,返回的第一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 根据指定时间粒度参数不同,会进行向前取整,如指定结束时间为 2018-09-04 10:40:00 按小时粒度查询时,返回的最后一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :type EndTime: str :param _Interval: 时间粒度,支持模式如下: min:1 分钟粒度,查询区间需要小于等于 24 小时 5min:5 分钟粒度,查询区间需要小于等于 31 天(计费数据粒度) hour:1 小时粒度,查询区间需要小于等于 31 天内 day:天粒度,查询区间需要大于 31 天 Area 字段为 overseas 时暂不支持1分钟粒度数据查询 :type Interval: str :param _Domain: 指定域名查询计费数据 :type Domain: str :param _Project: 指定项目 ID 查询,[前往查看项目 ID](https://console.cloud.tencent.com/project) 若 Domain 参数填充了具体域名信息,则返回该域名的计费数据,而非指定项目计费数据 :type Project: int :param _Area: 指定加速区域查询计费数据: mainland:中国境内 overseas:中国境外 不填充时,默认为 mainland :type Area: str :param _District: Area 为 overseas 时,指定国家/地区查询 省份、国家/地区编码可以查看 [省份编码映射](https://cloud.tencent.com/document/product/228/6316#.E7.9C.81.E4.BB.BD.E6.98.A0.E5.B0.84) 不填充时,查询所有国家/地区 :type District: int :param _Metric: 计费统计类型 flux:计费流量 bandwidth:计费带宽 默认为 bandwidth :type Metric: str :param _Product: 指定查询的产品数据,可选为cdn或者ecdn,默认为cdn :type Product: str :param _TimeZone: 指定查询时间的时区,默认UTC+08:00 :type TimeZone: str """ self._StartTime = None self._EndTime = None self._Interval = None self._Domain = None self._Project = None self._Area = None self._District = None self._Metric = None self._Product = None self._TimeZone = None @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 根据指定时间粒度参数不同,会进行向前取整,如指定起始时间为 2018-09-04 10:40:00 按小时粒度查询,返回的第一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 根据指定时间粒度参数不同,会进行向前取整,如指定结束时间为 2018-09-04 10:40:00 按小时粒度查询时,返回的最后一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Interval(self): """时间粒度,支持模式如下: min:1 分钟粒度,查询区间需要小于等于 24 小时 5min:5 分钟粒度,查询区间需要小于等于 31 天(计费数据粒度) hour:1 小时粒度,查询区间需要小于等于 31 天内 day:天粒度,查询区间需要大于 31 天 Area 字段为 overseas 时暂不支持1分钟粒度数据查询 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Domain(self): """指定域名查询计费数据 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Project(self): """指定项目 ID 查询,[前往查看项目 ID](https://console.cloud.tencent.com/project) 若 Domain 参数填充了具体域名信息,则返回该域名的计费数据,而非指定项目计费数据 :rtype: int """ return self._Project @Project.setter def Project(self, Project): self._Project = Project @property def Area(self): """指定加速区域查询计费数据: mainland:中国境内 overseas:中国境外 不填充时,默认为 mainland :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def District(self): """Area 为 overseas 时,指定国家/地区查询 省份、国家/地区编码可以查看 [省份编码映射](https://cloud.tencent.com/document/product/228/6316#.E7.9C.81.E4.BB.BD.E6.98.A0.E5.B0.84) 不填充时,查询所有国家/地区 :rtype: int """ return self._District @District.setter def District(self, District): self._District = District @property def Metric(self): """计费统计类型 flux:计费流量 bandwidth:计费带宽 默认为 bandwidth :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Product(self): """指定查询的产品数据,可选为cdn或者ecdn,默认为cdn :rtype: str """ return self._Product @Product.setter def Product(self, Product): self._Product = Product @property def TimeZone(self): """指定查询时间的时区,默认UTC+08:00 :rtype: str """ return self._TimeZone @TimeZone.setter def TimeZone(self, TimeZone): self._TimeZone = TimeZone def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Interval = params.get("Interval") self._Domain = params.get("Domain") self._Project = params.get("Project") self._Area = params.get("Area") self._District = params.get("District") self._Metric = params.get("Metric") self._Product = params.get("Product") self._TimeZone = params.get("TimeZone") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeBillingDataResponse(AbstractModel): """DescribeBillingData返回参数结构体 """ def __init__(self): r""" :param _Interval: 时间粒度,根据查询时传递参数指定: min:1 分钟粒度 5min:5 分钟粒度 hour:1 小时粒度 day:天粒度 :type Interval: str :param _Data: 数据明细 :type Data: list of ResourceBillingData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Interval = None self._Data = None self._RequestId = None @property def Interval(self): """时间粒度,根据查询时传递参数指定: min:1 分钟粒度 5min:5 分钟粒度 hour:1 小时粒度 day:天粒度 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Data(self): """数据明细 :rtype: list of ResourceBillingData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Interval = params.get("Interval") if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = ResourceBillingData() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class DescribeCcDataRequest(AbstractModel): """DescribeCcData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :type EndTime: str :param _Interval: 时间粒度,支持以下几种模式: min:1 分钟粒度,指定查询区间 24 小时内(含 24 小时),可返回 1 分钟粒度明细数据 5min:5 分钟粒度,指定查询区间 31 天内(含 31 天),可返回 5 分钟粒度明细数据 hour:1 小时粒度,指定查询区间 31 天内(含 31 天),可返回 1 小时粒度明细数据 day:天粒度,指定查询区间大于 31 天,可返回天粒度明细数据 :type Interval: str :param _Domain: 指定域名查询,为空时,表示查询账号级别数据 :type Domain: str :param _ActionName: 执行动作,取值为:intercept/redirect/observe 分别表示:拦截/重定向/观察 为空时,表示所有执行动作 :type ActionName: str :param _Domains: 指定域名列表查询,为空时,表示查询账号级别数据 :type Domains: list of str :param _Source: cdn表示CDN数据,默认值 ecdn表示ECDN数据 :type Source: str :param _Area: 地域:mainland或overseas,表示国内或海外,不填写默认表示国内 :type Area: str """ self._StartTime = None self._EndTime = None self._Interval = None self._Domain = None self._ActionName = None self._Domains = None self._Source = None self._Area = None @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Interval(self): """时间粒度,支持以下几种模式: min:1 分钟粒度,指定查询区间 24 小时内(含 24 小时),可返回 1 分钟粒度明细数据 5min:5 分钟粒度,指定查询区间 31 天内(含 31 天),可返回 5 分钟粒度明细数据 hour:1 小时粒度,指定查询区间 31 天内(含 31 天),可返回 1 小时粒度明细数据 day:天粒度,指定查询区间大于 31 天,可返回天粒度明细数据 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Domain(self): """指定域名查询,为空时,表示查询账号级别数据 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def ActionName(self): """执行动作,取值为:intercept/redirect/observe 分别表示:拦截/重定向/观察 为空时,表示所有执行动作 :rtype: str """ return self._ActionName @ActionName.setter def ActionName(self, ActionName): self._ActionName = ActionName @property def Domains(self): """指定域名列表查询,为空时,表示查询账号级别数据 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def Source(self): """cdn表示CDN数据,默认值 ecdn表示ECDN数据 :rtype: str """ return self._Source @Source.setter def Source(self, Source): self._Source = Source @property def Area(self): """地域:mainland或overseas,表示国内或海外,不填写默认表示国内 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Interval = params.get("Interval") self._Domain = params.get("Domain") self._ActionName = params.get("ActionName") self._Domains = params.get("Domains") self._Source = params.get("Source") self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeCcDataResponse(AbstractModel): """DescribeCcData返回参数结构体 """ def __init__(self): r""" :param _Data: 指定执行动作的请求数数据,如果指定类型为空,表示所有类型的请求总数 :type Data: list of TimestampData :param _Interval: 粒度 :type Interval: str :param _InterceptQpsData: 执行动作为拦截类型QPS统计数据 注意:此字段可能返回 null,表示取不到有效值。 :type InterceptQpsData: list of TimestampData :param _RedirectQpsData: 执行动作为重定向类型QPS统计数据 注意:此字段可能返回 null,表示取不到有效值。 :type RedirectQpsData: list of TimestampData :param _ObserveQpsData: 执行动作为观察类型QPS统计数据 注意:此字段可能返回 null,表示取不到有效值。 :type ObserveQpsData: list of TimestampData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._Interval = None self._InterceptQpsData = None self._RedirectQpsData = None self._ObserveQpsData = None self._RequestId = None @property def Data(self): """指定执行动作的请求数数据,如果指定类型为空,表示所有类型的请求总数 :rtype: list of TimestampData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def Interval(self): """粒度 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def InterceptQpsData(self): """执行动作为拦截类型QPS统计数据 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of TimestampData """ return self._InterceptQpsData @InterceptQpsData.setter def InterceptQpsData(self, InterceptQpsData): self._InterceptQpsData = InterceptQpsData @property def RedirectQpsData(self): """执行动作为重定向类型QPS统计数据 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of TimestampData """ return self._RedirectQpsData @RedirectQpsData.setter def RedirectQpsData(self, RedirectQpsData): self._RedirectQpsData = RedirectQpsData @property def ObserveQpsData(self): """执行动作为观察类型QPS统计数据 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of TimestampData """ return self._ObserveQpsData @ObserveQpsData.setter def ObserveQpsData(self, ObserveQpsData): self._ObserveQpsData = ObserveQpsData @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = TimestampData() obj._deserialize(item) self._Data.append(obj) self._Interval = params.get("Interval") if params.get("InterceptQpsData") is not None: self._InterceptQpsData = [] for item in params.get("InterceptQpsData"): obj = TimestampData() obj._deserialize(item) self._InterceptQpsData.append(obj) if params.get("RedirectQpsData") is not None: self._RedirectQpsData = [] for item in params.get("RedirectQpsData"): obj = TimestampData() obj._deserialize(item) self._RedirectQpsData.append(obj) if params.get("ObserveQpsData") is not None: self._ObserveQpsData = [] for item in params.get("ObserveQpsData"): obj = TimestampData() obj._deserialize(item) self._ObserveQpsData.append(obj) self._RequestId = params.get("RequestId") class DescribeCdnDataRequest(AbstractModel): """DescribeCdnData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:00 在按 1 小时的时间粒度查询时,返回的第一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:00 在按 1 小时的时间粒度查询时,返回的最后一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :type EndTime: str :param _Metric: 指定查询指标,支持的类型有: flux:流量,单位为 byte fluxIn:上行流量,单位为 byte,该指标仅ecdn支持查询 fluxOut:下行流量,单位为 byte,该指标仅ecdn支持查询 bandwidth:带宽,单位为 bps bandwidthIn:上行带宽,单位为 bps,该指标仅ecdn支持查询 bandwidthOut:下行带宽,单位为 bps,该指标仅ecdn支持查询 request:请求数,单位为 次 hitRequest:命中请求数,单位为 次 requestHitRate:请求命中率,单位为 %,保留小数点后两位 hitFlux:命中流量,单位为byte fluxHitRate:流量命中率,单位为 %,保留小数点后两位 statusCode:状态码,返回 2xx、3xx、4xx、5xx 汇总数据,单位为 个 2xx:返回 2xx 状态码汇总及各 2 开头状态码数据,单位为 个 3xx:返回 3xx 状态码汇总及各 3 开头状态码数据,单位为 个 4xx:返回 4xx 状态码汇总及各 4 开头状态码数据,单位为 个 5xx:返回 5xx 状态码汇总及各 5 开头状态码数据,单位为 个 支持指定具体状态码查询,若未产生过,则返回为空 :type Metric: str :param _Domains: 指定查询域名列表 查询单域名:指定单个域名 查询多个域名:指定多个域名,最多可一次性查询 30 个 查询账号下所有域名:不传参,默认查询账号维度 :type Domains: list of str :param _Project: 指定要查询的项目 ID,[前往查看项目 ID](https://console.cloud.tencent.com/project) 未填充域名情况下,指定项目查询,若填充了具体域名信息,以域名为主 :type Project: int :param _Interval: 时间粒度,支持以下几种模式: min:1 分钟粒度,指定查询区间 24 小时内(含 24 小时),可返回 1 分钟粒度明细数据(指定查询服务地域为中国境外时不支持 1 分钟粒度) 5min:5 分钟粒度,指定查询区间 31 天内(含 31 天),可返回 5 分钟粒度明细数据 hour:1 小时粒度,指定查询区间 31 天内(含 31 天),可返回 1 小时粒度明细数据 day:天粒度,指定查询区间大于 31 天,可返回天粒度明细数据 :type Interval: str :param _Detail: 多域名查询时,默认(false)返回多个域名的汇总数据 可按需指定为 true,返回每一个 Domain 的明细数据(statusCode、2xx、3xx、4xx、5xx 指标暂不支持) :type Detail: bool :param _Isp: 查询中国境内CDN数据时,指定运营商查询,不填充表示查询所有运营商 运营商编码可以查看 [运营商编码映射](https://cloud.tencent.com/document/product/228/6316#.E5.8C.BA.E5.9F.9F-.2F-.E8.BF.90.E8.90.A5.E5.95.86.E6.98.A0.E5.B0.84.E8.A1.A8) 指定运营商查询时,不可同时指定省份、IP协议查询 :type Isp: int :param _District: 查询中国境内CDN数据时,指定省份查询,不填充表示查询所有省份 查询中国境外CDN数据时,指定国家/地区查询,不填充表示查询所有国家/地区 省份、国家/地区编码可以查看 [省份编码映射](https://cloud.tencent.com/document/product/228/6316#.E5.8C.BA.E5.9F.9F-.2F-.E8.BF.90.E8.90.A5.E5.95.86.E6.98.A0.E5.B0.84.E8.A1.A8) 指定(中国境内)省份查询时,不可同时指定运营商、IP协议查询 :type District: int :param _Protocol: 指定协议查询,不填充表示查询所有协议 all:所有协议 http:指定查询 HTTP 对应指标 https:指定查询 HTTPS 对应指标 :type Protocol: str :param _DataSource: 指定数据源查询,白名单功能 :type DataSource: str :param _IpProtocol: 指定IP协议查询,不填充表示查询所有协议 all:所有协议 ipv4:指定查询 ipv4 对应指标 ipv6:指定查询 ipv6 对应指标 指定IP协议查询时,不可同时指定省份、运营商查询 注意:非IPv6白名单用户不可指定ipv4、ipv6进行查询 :type IpProtocol: str :param _Area: 指定服务地域查询,不填充表示查询中国境内CDN数据 mainland:指定查询中国境内 CDN 数据 overseas:指定查询中国境外 CDN 数据 :type Area: str :param _AreaType: 查询中国境外CDN数据时,可指定地区类型查询,不填充表示查询服务地区数据(仅在 Area 为 overseas 时可用) server:指定查询服务地区(腾讯云 CDN 节点服务器所在地区)数据 client:指定查询客户端地区(用户请求终端所在地区)数据 :type AreaType: str :param _Product: 指定查询的产品数据,可选为cdn或者ecdn,默认为cdn :type Product: str :param _TimeZone: 指定查询时间的时区,默认UTC+08:00 :type TimeZone: str """ self._StartTime = None self._EndTime = None self._Metric = None self._Domains = None self._Project = None self._Interval = None self._Detail = None self._Isp = None self._District = None self._Protocol = None self._DataSource = None self._IpProtocol = None self._Area = None self._AreaType = None self._Product = None self._TimeZone = None @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:00 在按 1 小时的时间粒度查询时,返回的第一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:00 在按 1 小时的时间粒度查询时,返回的最后一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Metric(self): """指定查询指标,支持的类型有: flux:流量,单位为 byte fluxIn:上行流量,单位为 byte,该指标仅ecdn支持查询 fluxOut:下行流量,单位为 byte,该指标仅ecdn支持查询 bandwidth:带宽,单位为 bps bandwidthIn:上行带宽,单位为 bps,该指标仅ecdn支持查询 bandwidthOut:下行带宽,单位为 bps,该指标仅ecdn支持查询 request:请求数,单位为 次 hitRequest:命中请求数,单位为 次 requestHitRate:请求命中率,单位为 %,保留小数点后两位 hitFlux:命中流量,单位为byte fluxHitRate:流量命中率,单位为 %,保留小数点后两位 statusCode:状态码,返回 2xx、3xx、4xx、5xx 汇总数据,单位为 个 2xx:返回 2xx 状态码汇总及各 2 开头状态码数据,单位为 个 3xx:返回 3xx 状态码汇总及各 3 开头状态码数据,单位为 个 4xx:返回 4xx 状态码汇总及各 4 开头状态码数据,单位为 个 5xx:返回 5xx 状态码汇总及各 5 开头状态码数据,单位为 个 支持指定具体状态码查询,若未产生过,则返回为空 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Domains(self): """指定查询域名列表 查询单域名:指定单个域名 查询多个域名:指定多个域名,最多可一次性查询 30 个 查询账号下所有域名:不传参,默认查询账号维度 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def Project(self): """指定要查询的项目 ID,[前往查看项目 ID](https://console.cloud.tencent.com/project) 未填充域名情况下,指定项目查询,若填充了具体域名信息,以域名为主 :rtype: int """ return self._Project @Project.setter def Project(self, Project): self._Project = Project @property def Interval(self): """时间粒度,支持以下几种模式: min:1 分钟粒度,指定查询区间 24 小时内(含 24 小时),可返回 1 分钟粒度明细数据(指定查询服务地域为中国境外时不支持 1 分钟粒度) 5min:5 分钟粒度,指定查询区间 31 天内(含 31 天),可返回 5 分钟粒度明细数据 hour:1 小时粒度,指定查询区间 31 天内(含 31 天),可返回 1 小时粒度明细数据 day:天粒度,指定查询区间大于 31 天,可返回天粒度明细数据 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Detail(self): """多域名查询时,默认(false)返回多个域名的汇总数据 可按需指定为 true,返回每一个 Domain 的明细数据(statusCode、2xx、3xx、4xx、5xx 指标暂不支持) :rtype: bool """ return self._Detail @Detail.setter def Detail(self, Detail): self._Detail = Detail @property def Isp(self): """查询中国境内CDN数据时,指定运营商查询,不填充表示查询所有运营商 运营商编码可以查看 [运营商编码映射](https://cloud.tencent.com/document/product/228/6316#.E5.8C.BA.E5.9F.9F-.2F-.E8.BF.90.E8.90.A5.E5.95.86.E6.98.A0.E5.B0.84.E8.A1.A8) 指定运营商查询时,不可同时指定省份、IP协议查询 :rtype: int """ return self._Isp @Isp.setter def Isp(self, Isp): self._Isp = Isp @property def District(self): """查询中国境内CDN数据时,指定省份查询,不填充表示查询所有省份 查询中国境外CDN数据时,指定国家/地区查询,不填充表示查询所有国家/地区 省份、国家/地区编码可以查看 [省份编码映射](https://cloud.tencent.com/document/product/228/6316#.E5.8C.BA.E5.9F.9F-.2F-.E8.BF.90.E8.90.A5.E5.95.86.E6.98.A0.E5.B0.84.E8.A1.A8) 指定(中国境内)省份查询时,不可同时指定运营商、IP协议查询 :rtype: int """ return self._District @District.setter def District(self, District): self._District = District @property def Protocol(self): """指定协议查询,不填充表示查询所有协议 all:所有协议 http:指定查询 HTTP 对应指标 https:指定查询 HTTPS 对应指标 :rtype: str """ return self._Protocol @Protocol.setter def Protocol(self, Protocol): self._Protocol = Protocol @property def DataSource(self): """指定数据源查询,白名单功能 :rtype: str """ return self._DataSource @DataSource.setter def DataSource(self, DataSource): self._DataSource = DataSource @property def IpProtocol(self): """指定IP协议查询,不填充表示查询所有协议 all:所有协议 ipv4:指定查询 ipv4 对应指标 ipv6:指定查询 ipv6 对应指标 指定IP协议查询时,不可同时指定省份、运营商查询 注意:非IPv6白名单用户不可指定ipv4、ipv6进行查询 :rtype: str """ return self._IpProtocol @IpProtocol.setter def IpProtocol(self, IpProtocol): self._IpProtocol = IpProtocol @property def Area(self): """指定服务地域查询,不填充表示查询中国境内CDN数据 mainland:指定查询中国境内 CDN 数据 overseas:指定查询中国境外 CDN 数据 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def AreaType(self): """查询中国境外CDN数据时,可指定地区类型查询,不填充表示查询服务地区数据(仅在 Area 为 overseas 时可用) server:指定查询服务地区(腾讯云 CDN 节点服务器所在地区)数据 client:指定查询客户端地区(用户请求终端所在地区)数据 :rtype: str """ return self._AreaType @AreaType.setter def AreaType(self, AreaType): self._AreaType = AreaType @property def Product(self): """指定查询的产品数据,可选为cdn或者ecdn,默认为cdn :rtype: str """ return self._Product @Product.setter def Product(self, Product): self._Product = Product @property def TimeZone(self): """指定查询时间的时区,默认UTC+08:00 :rtype: str """ return self._TimeZone @TimeZone.setter def TimeZone(self, TimeZone): self._TimeZone = TimeZone def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Metric = params.get("Metric") self._Domains = params.get("Domains") self._Project = params.get("Project") self._Interval = params.get("Interval") self._Detail = params.get("Detail") self._Isp = params.get("Isp") self._District = params.get("District") self._Protocol = params.get("Protocol") self._DataSource = params.get("DataSource") self._IpProtocol = params.get("IpProtocol") self._Area = params.get("Area") self._AreaType = params.get("AreaType") self._Product = params.get("Product") self._TimeZone = params.get("TimeZone") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeCdnDataResponse(AbstractModel): """DescribeCdnData返回参数结构体 """ def __init__(self): r""" :param _Interval: 返回数据的时间粒度,查询时指定: min:1 分钟粒度 5min:5 分钟粒度 hour:1 小时粒度 day:天粒度 :type Interval: str :param _Data: 指定条件查询得到的数据明细 :type Data: list of ResourceData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Interval = None self._Data = None self._RequestId = None @property def Interval(self): """返回数据的时间粒度,查询时指定: min:1 分钟粒度 5min:5 分钟粒度 hour:1 小时粒度 day:天粒度 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Data(self): """指定条件查询得到的数据明细 :rtype: list of ResourceData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Interval = params.get("Interval") if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = ResourceData() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class DescribeCdnDomainLogsRequest(AbstractModel): """DescribeCdnDomainLogs请求参数结构体 """ def __init__(self): r""" :param _Domain: 指定域名查询 :type Domain: str :param _StartTime: 开始时间 :type StartTime: str :param _EndTime: 结束时间 :type EndTime: str :param _Offset: 分页查询偏移量,默认为 0 :type Offset: int :param _Limit: 分页查询限制数目,默认为 100,最大为 1000 :type Limit: int :param _Area: 指定区域下载日志,默认为 mainland,可取值有: <li>mainland:获取境内加速日志包下载链接</li> <li>overseas:获取境外加速日志包下载链接</li> <li>global:同时获取境内、境外加速日志包下载链接(分开打包)</li> :type Area: str :param _LogType: 指定下载日志的类型,可取值有: <li>access:访问日志</li> :type LogType: str """ self._Domain = None self._StartTime = None self._EndTime = None self._Offset = None self._Limit = None self._Area = None self._LogType = None @property def Domain(self): """指定域名查询 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def StartTime(self): """开始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Offset(self): """分页查询偏移量,默认为 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """分页查询限制数目,默认为 100,最大为 1000 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Area(self): """指定区域下载日志,默认为 mainland,可取值有: <li>mainland:获取境内加速日志包下载链接</li> <li>overseas:获取境外加速日志包下载链接</li> <li>global:同时获取境内、境外加速日志包下载链接(分开打包)</li> :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def LogType(self): """指定下载日志的类型,可取值有: <li>access:访问日志</li> :rtype: str """ return self._LogType @LogType.setter def LogType(self, LogType): self._LogType = LogType def _deserialize(self, params): self._Domain = params.get("Domain") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Offset = params.get("Offset") self._Limit = params.get("Limit") self._Area = params.get("Area") self._LogType = params.get("LogType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeCdnDomainLogsResponse(AbstractModel): """DescribeCdnDomainLogs返回参数结构体 """ def __init__(self): r""" :param _DomainLogs: 日志包下载链接。 下载内容是gz后缀的压缩包,解压后是无扩展名的文本文件。链接有效期1天。 :type DomainLogs: list of DomainLog :param _TotalCount: 查询到的总条数 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._DomainLogs = None self._TotalCount = None self._RequestId = None @property def DomainLogs(self): """日志包下载链接。 下载内容是gz后缀的压缩包,解压后是无扩展名的文本文件。链接有效期1天。 :rtype: list of DomainLog """ return self._DomainLogs @DomainLogs.setter def DomainLogs(self, DomainLogs): self._DomainLogs = DomainLogs @property def TotalCount(self): """查询到的总条数 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("DomainLogs") is not None: self._DomainLogs = [] for item in params.get("DomainLogs"): obj = DomainLog() obj._deserialize(item) self._DomainLogs.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class DescribeCdnIpRequest(AbstractModel): """DescribeCdnIp请求参数结构体 """ def __init__(self): r""" :param _Ips: 需要查询的 IP 列表,单次可支持1-20个IP查询。 :type Ips: list of str """ self._Ips = None @property def Ips(self): """需要查询的 IP 列表,单次可支持1-20个IP查询。 :rtype: list of str """ return self._Ips @Ips.setter def Ips(self, Ips): self._Ips = Ips def _deserialize(self, params): self._Ips = params.get("Ips") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeCdnIpResponse(AbstractModel): """DescribeCdnIp返回参数结构体 """ def __init__(self): r""" :param _Ips: 查询的节点归属详情。 :type Ips: list of CdnIp :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Ips = None self._RequestId = None @property def Ips(self): """查询的节点归属详情。 :rtype: list of CdnIp """ return self._Ips @Ips.setter def Ips(self, Ips): self._Ips = Ips @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Ips") is not None: self._Ips = [] for item in params.get("Ips"): obj = CdnIp() obj._deserialize(item) self._Ips.append(obj) self._RequestId = params.get("RequestId") class DescribeCdnOriginIpRequest(AbstractModel): """DescribeCdnOriginIp请求参数结构体 """ class DescribeCdnOriginIpResponse(AbstractModel): """DescribeCdnOriginIp返回参数结构体 """ def __init__(self): r""" :param _Ips: 回源节点IP详情。 :type Ips: list of OriginIp :param _TotalCount: 回源节点IP总个数。 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Ips = None self._TotalCount = None self._RequestId = None @property def Ips(self): """回源节点IP详情。 :rtype: list of OriginIp """ return self._Ips @Ips.setter def Ips(self, Ips): self._Ips = Ips @property def TotalCount(self): """回源节点IP总个数。 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Ips") is not None: self._Ips = [] for item in params.get("Ips"): obj = OriginIp() obj._deserialize(item) self._Ips.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class DescribeCertDomainsRequest(AbstractModel): """DescribeCertDomains请求参数结构体 """ def __init__(self): r""" :param _Cert: PEM格式证书Base64编码后的字符串 :type Cert: str :param _CertId: 托管证书ID,Cert和CertId不能均未空,都填写时以CerId为准。 :type CertId: str :param _Product: 域名所属产品,cdn或ecdn,默认cdn。 :type Product: str """ self._Cert = None self._CertId = None self._Product = None @property def Cert(self): """PEM格式证书Base64编码后的字符串 :rtype: str """ return self._Cert @Cert.setter def Cert(self, Cert): self._Cert = Cert @property def CertId(self): """托管证书ID,Cert和CertId不能均未空,都填写时以CerId为准。 :rtype: str """ return self._CertId @CertId.setter def CertId(self, CertId): self._CertId = CertId @property def Product(self): """域名所属产品,cdn或ecdn,默认cdn。 :rtype: str """ return self._Product @Product.setter def Product(self, Product): self._Product = Product def _deserialize(self, params): self._Cert = params.get("Cert") self._CertId = params.get("CertId") self._Product = params.get("Product") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeCertDomainsResponse(AbstractModel): """DescribeCertDomains返回参数结构体 """ def __init__(self): r""" :param _Domains: 已接入CDN的域名列表 注意:此字段可能返回 null,表示取不到有效值。 :type Domains: list of str :param _CertifiedDomains: 已配置证书的CDN域名列表 注意:此字段可能返回 null,表示取不到有效值。 :type CertifiedDomains: list of str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Domains = None self._CertifiedDomains = None self._RequestId = None @property def Domains(self): """已接入CDN的域名列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def CertifiedDomains(self): """已配置证书的CDN域名列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._CertifiedDomains @CertifiedDomains.setter def CertifiedDomains(self, CertifiedDomains): self._CertifiedDomains = CertifiedDomains @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Domains = params.get("Domains") self._CertifiedDomains = params.get("CertifiedDomains") self._RequestId = params.get("RequestId") class DescribeDDoSDataRequest(AbstractModel): """DescribeDDoSData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :type EndTime: str :param _Interval: 时间粒度,支持以下几种模式: min:1 分钟粒度,指定查询区间 24 小时内(含 24 小时),可返回 1 分钟粒度明细数据 5min:5 分钟粒度,指定查询区间 31 天内(含 31 天),可返回 5 分钟粒度明细数据 hour:1 小时粒度,指定查询区间 31 天内(含 31 天),可返回 1 小时粒度明细数据 day:天粒度,指定查询区间大于 31 天,可返回天粒度明细数据 :type Interval: str """ self._StartTime = None self._EndTime = None self._Interval = None @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Interval(self): """时间粒度,支持以下几种模式: min:1 分钟粒度,指定查询区间 24 小时内(含 24 小时),可返回 1 分钟粒度明细数据 5min:5 分钟粒度,指定查询区间 31 天内(含 31 天),可返回 5 分钟粒度明细数据 hour:1 小时粒度,指定查询区间 31 天内(含 31 天),可返回 1 小时粒度明细数据 day:天粒度,指定查询区间大于 31 天,可返回天粒度明细数据 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Interval = params.get("Interval") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeDDoSDataResponse(AbstractModel): """DescribeDDoSData返回参数结构体 """ def __init__(self): r""" :param _Data: DDoS统计数据数组 :type Data: list of DDoSStatsData :param _Interval: 时间粒度: min:1 分钟粒度 5min:5 分钟粒度 hour:1 小时粒度 day:天粒度 :type Interval: str :param _AttackBandwidthData: DDoS统计攻击带宽峰值数组 :type AttackBandwidthData: list of DDoSAttackBandwidthData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._Interval = None self._AttackBandwidthData = None self._RequestId = None @property def Data(self): """DDoS统计数据数组 :rtype: list of DDoSStatsData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def Interval(self): """时间粒度: min:1 分钟粒度 5min:5 分钟粒度 hour:1 小时粒度 day:天粒度 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def AttackBandwidthData(self): """DDoS统计攻击带宽峰值数组 :rtype: list of DDoSAttackBandwidthData """ return self._AttackBandwidthData @AttackBandwidthData.setter def AttackBandwidthData(self, AttackBandwidthData): self._AttackBandwidthData = AttackBandwidthData @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = DDoSStatsData() obj._deserialize(item) self._Data.append(obj) self._Interval = params.get("Interval") if params.get("AttackBandwidthData") is not None: self._AttackBandwidthData = [] for item in params.get("AttackBandwidthData"): obj = DDoSAttackBandwidthData() obj._deserialize(item) self._AttackBandwidthData.append(obj) self._RequestId = params.get("RequestId") class DescribeDiagnoseReportRequest(AbstractModel): """DescribeDiagnoseReport请求参数结构体 """ def __init__(self): r""" :param _ReportId: 报告ID :type ReportId: str """ self._ReportId = None @property def ReportId(self): """报告ID :rtype: str """ return self._ReportId @ReportId.setter def ReportId(self, ReportId): self._ReportId = ReportId def _deserialize(self, params): self._ReportId = params.get("ReportId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeDiagnoseReportResponse(AbstractModel): """DescribeDiagnoseReport返回参数结构体 """ def __init__(self): r""" :param _BaskInfo: 诊断报告基础信息 :type BaskInfo: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` :param _CnameInfo: CNAME检测信息 :type CnameInfo: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` :param _ClientInfo: 客户端检测信息 :type ClientInfo: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` :param _DnsInfo: DNS检测信息 :type DnsInfo: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` :param _NetworkInfo: 网络检测信息 :type NetworkInfo: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` :param _OcNodeInfo: 边缘节点检测信息 :type OcNodeInfo: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` :param _MidNodeInfo: 中间源节点检测信息 :type MidNodeInfo: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` :param _OriginInfo: 源站检测信息 :type OriginInfo: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` :param _PurgeInfo: 刷新检测信息 注意:此字段可能返回 null,表示取不到有效值。 :type PurgeInfo: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._BaskInfo = None self._CnameInfo = None self._ClientInfo = None self._DnsInfo = None self._NetworkInfo = None self._OcNodeInfo = None self._MidNodeInfo = None self._OriginInfo = None self._PurgeInfo = None self._RequestId = None @property def BaskInfo(self): """诊断报告基础信息 :rtype: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` """ return self._BaskInfo @BaskInfo.setter def BaskInfo(self, BaskInfo): self._BaskInfo = BaskInfo @property def CnameInfo(self): """CNAME检测信息 :rtype: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` """ return self._CnameInfo @CnameInfo.setter def CnameInfo(self, CnameInfo): self._CnameInfo = CnameInfo @property def ClientInfo(self): """客户端检测信息 :rtype: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` """ return self._ClientInfo @ClientInfo.setter def ClientInfo(self, ClientInfo): self._ClientInfo = ClientInfo @property def DnsInfo(self): """DNS检测信息 :rtype: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` """ return self._DnsInfo @DnsInfo.setter def DnsInfo(self, DnsInfo): self._DnsInfo = DnsInfo @property def NetworkInfo(self): """网络检测信息 :rtype: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` """ return self._NetworkInfo @NetworkInfo.setter def NetworkInfo(self, NetworkInfo): self._NetworkInfo = NetworkInfo @property def OcNodeInfo(self): """边缘节点检测信息 :rtype: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` """ return self._OcNodeInfo @OcNodeInfo.setter def OcNodeInfo(self, OcNodeInfo): self._OcNodeInfo = OcNodeInfo @property def MidNodeInfo(self): """中间源节点检测信息 :rtype: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` """ return self._MidNodeInfo @MidNodeInfo.setter def MidNodeInfo(self, MidNodeInfo): self._MidNodeInfo = MidNodeInfo @property def OriginInfo(self): """源站检测信息 :rtype: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` """ return self._OriginInfo @OriginInfo.setter def OriginInfo(self, OriginInfo): self._OriginInfo = OriginInfo @property def PurgeInfo(self): """刷新检测信息 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.DiagnoseData` """ return self._PurgeInfo @PurgeInfo.setter def PurgeInfo(self, PurgeInfo): self._PurgeInfo = PurgeInfo @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("BaskInfo") is not None: self._BaskInfo = DiagnoseData() self._BaskInfo._deserialize(params.get("BaskInfo")) if params.get("CnameInfo") is not None: self._CnameInfo = DiagnoseData() self._CnameInfo._deserialize(params.get("CnameInfo")) if params.get("ClientInfo") is not None: self._ClientInfo = DiagnoseData() self._ClientInfo._deserialize(params.get("ClientInfo")) if params.get("DnsInfo") is not None: self._DnsInfo = DiagnoseData() self._DnsInfo._deserialize(params.get("DnsInfo")) if params.get("NetworkInfo") is not None: self._NetworkInfo = DiagnoseData() self._NetworkInfo._deserialize(params.get("NetworkInfo")) if params.get("OcNodeInfo") is not None: self._OcNodeInfo = DiagnoseData() self._OcNodeInfo._deserialize(params.get("OcNodeInfo")) if params.get("MidNodeInfo") is not None: self._MidNodeInfo = DiagnoseData() self._MidNodeInfo._deserialize(params.get("MidNodeInfo")) if params.get("OriginInfo") is not None: self._OriginInfo = DiagnoseData() self._OriginInfo._deserialize(params.get("OriginInfo")) if params.get("PurgeInfo") is not None: self._PurgeInfo = DiagnoseData() self._PurgeInfo._deserialize(params.get("PurgeInfo")) self._RequestId = params.get("RequestId") class DescribeDistrictIspDataRequest(AbstractModel): """DescribeDistrictIspData请求参数结构体 """ def __init__(self): r""" :param _Domains: 域名列表,最多支持20个域名 :type Domains: list of str :param _StartTime: 查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 支持近 60 天内的数据查询,每次查询时间区间为 3 小时 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 结束时间与起始时间区间最大为 3 小时 :type EndTime: str :param _Metric: 指定查询指标,支持: bandwidth:带宽,单位为 bps flux:流量,单位为 byte request:请求数,单位为 次 statusCode:状态码,返回 0、2xx、3xx、4xx、5xx 汇总数据,单位为 次 2xx:返回 2xx 状态码汇总及各 2 开头状态码数据,单位为 次 3xx:返回 3xx 状态码汇总及各 3 开头状态码数据,单位为 次 4xx:返回 4xx 状态码汇总及各 4 开头状态码数据,单位为 次 5xx:返回 5xx 状态码汇总及各 5 开头状态码数据,单位为 次 支持指定具体状态码查询,若未产生过,则返回为空 :type Metric: str :param _Districts: 指定省份查询,不填充表示查询所有省份 省份、国家/地区编码可以查看 [省份编码映射](https://cloud.tencent.com/document/product/228/6316#.E5.8C.BA.E5.9F.9F-.2F-.E8.BF.90.E8.90.A5.E5.95.86.E6.98.A0.E5.B0.84.E8.A1.A8) :type Districts: list of int :param _Isps: 指定运营商查询,不填充表示查询所有运营商 运营商编码可以查看 [运营商编码映射](https://cloud.tencent.com/document/product/228/6316#.E5.8C.BA.E5.9F.9F-.2F-.E8.BF.90.E8.90.A5.E5.95.86.E6.98.A0.E5.B0.84.E8.A1.A8) :type Isps: list of int :param _Protocol: 指定协议查询,不填充表示查询所有协议 all:所有协议 http:指定查询 HTTP 对应指标 https:指定查询 HTTPS 对应指标 :type Protocol: str :param _IpProtocol: 指定IP协议查询,不填充表示查询所有协议 all:所有协议 ipv4:指定查询 ipv4 对应指标 ipv6:指定查询 ipv6 对应指标 指定IP协议查询时,不可同时指定省份、运营商查询 :type IpProtocol: str :param _Interval: 时间粒度,支持以下几种模式(默认5min): min:1 分钟粒度,支持近 60 天内的数据查询,每次查询时间区间不超过10分钟,可返回 1 分钟粒度明细数据 5min:5 分钟粒度,支持近 60 天内的数据查询,每次查询时间区间不超过3 小时,可返回 5 分钟粒度明细数据 :type Interval: str """ self._Domains = None self._StartTime = None self._EndTime = None self._Metric = None self._Districts = None self._Isps = None self._Protocol = None self._IpProtocol = None self._Interval = None @property def Domains(self): """域名列表,最多支持20个域名 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 支持近 60 天内的数据查询,每次查询时间区间为 3 小时 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 结束时间与起始时间区间最大为 3 小时 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Metric(self): """指定查询指标,支持: bandwidth:带宽,单位为 bps flux:流量,单位为 byte request:请求数,单位为 次 statusCode:状态码,返回 0、2xx、3xx、4xx、5xx 汇总数据,单位为 次 2xx:返回 2xx 状态码汇总及各 2 开头状态码数据,单位为 次 3xx:返回 3xx 状态码汇总及各 3 开头状态码数据,单位为 次 4xx:返回 4xx 状态码汇总及各 4 开头状态码数据,单位为 次 5xx:返回 5xx 状态码汇总及各 5 开头状态码数据,单位为 次 支持指定具体状态码查询,若未产生过,则返回为空 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Districts(self): """指定省份查询,不填充表示查询所有省份 省份、国家/地区编码可以查看 [省份编码映射](https://cloud.tencent.com/document/product/228/6316#.E5.8C.BA.E5.9F.9F-.2F-.E8.BF.90.E8.90.A5.E5.95.86.E6.98.A0.E5.B0.84.E8.A1.A8) :rtype: list of int """ return self._Districts @Districts.setter def Districts(self, Districts): self._Districts = Districts @property def Isps(self): """指定运营商查询,不填充表示查询所有运营商 运营商编码可以查看 [运营商编码映射](https://cloud.tencent.com/document/product/228/6316#.E5.8C.BA.E5.9F.9F-.2F-.E8.BF.90.E8.90.A5.E5.95.86.E6.98.A0.E5.B0.84.E8.A1.A8) :rtype: list of int """ return self._Isps @Isps.setter def Isps(self, Isps): self._Isps = Isps @property def Protocol(self): """指定协议查询,不填充表示查询所有协议 all:所有协议 http:指定查询 HTTP 对应指标 https:指定查询 HTTPS 对应指标 :rtype: str """ return self._Protocol @Protocol.setter def Protocol(self, Protocol): self._Protocol = Protocol @property def IpProtocol(self): """指定IP协议查询,不填充表示查询所有协议 all:所有协议 ipv4:指定查询 ipv4 对应指标 ipv6:指定查询 ipv6 对应指标 指定IP协议查询时,不可同时指定省份、运营商查询 :rtype: str """ return self._IpProtocol @IpProtocol.setter def IpProtocol(self, IpProtocol): self._IpProtocol = IpProtocol @property def Interval(self): """时间粒度,支持以下几种模式(默认5min): min:1 分钟粒度,支持近 60 天内的数据查询,每次查询时间区间不超过10分钟,可返回 1 分钟粒度明细数据 5min:5 分钟粒度,支持近 60 天内的数据查询,每次查询时间区间不超过3 小时,可返回 5 分钟粒度明细数据 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval def _deserialize(self, params): self._Domains = params.get("Domains") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Metric = params.get("Metric") self._Districts = params.get("Districts") self._Isps = params.get("Isps") self._Protocol = params.get("Protocol") self._IpProtocol = params.get("IpProtocol") self._Interval = params.get("Interval") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeDistrictIspDataResponse(AbstractModel): """DescribeDistrictIspData返回参数结构体 """ def __init__(self): r""" :param _Data: 地区运营商数据明细 注意:此字段可能返回 null,表示取不到有效值。 :type Data: list of DistrictIspInfo :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """地区运营商数据明细 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of DistrictIspInfo """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = DistrictIspInfo() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class DescribeDomainsConfigRequest(AbstractModel): """DescribeDomainsConfig请求参数结构体 """ def __init__(self): r""" :param _Offset: 分页查询偏移量,默认为 0 :type Offset: int :param _Limit: 分页查询限制数目,默认为 100,最大可设置为 1000 :type Limit: int :param _Filters: 查询条件过滤器,复杂类型 :type Filters: list of DomainFilter :param _Sort: 排序规则 :type Sort: :class:`tencentcloud.cdn.v20180606.models.Sort` """ self._Offset = None self._Limit = None self._Filters = None self._Sort = None @property def Offset(self): """分页查询偏移量,默认为 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """分页查询限制数目,默认为 100,最大可设置为 1000 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Filters(self): """查询条件过滤器,复杂类型 :rtype: list of DomainFilter """ return self._Filters @Filters.setter def Filters(self, Filters): self._Filters = Filters @property def Sort(self): """排序规则 :rtype: :class:`tencentcloud.cdn.v20180606.models.Sort` """ return self._Sort @Sort.setter def Sort(self, Sort): self._Sort = Sort def _deserialize(self, params): self._Offset = params.get("Offset") self._Limit = params.get("Limit") if params.get("Filters") is not None: self._Filters = [] for item in params.get("Filters"): obj = DomainFilter() obj._deserialize(item) self._Filters.append(obj) if params.get("Sort") is not None: self._Sort = Sort() self._Sort._deserialize(params.get("Sort")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeDomainsConfigResponse(AbstractModel): """DescribeDomainsConfig返回参数结构体 """ def __init__(self): r""" :param _Domains: 域名列表 :type Domains: list of DetailDomain :param _TotalNumber: 符合查询条件的域名总数 用于分页查询 :type TotalNumber: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Domains = None self._TotalNumber = None self._RequestId = None @property def Domains(self): """域名列表 :rtype: list of DetailDomain """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def TotalNumber(self): """符合查询条件的域名总数 用于分页查询 :rtype: int """ return self._TotalNumber @TotalNumber.setter def TotalNumber(self, TotalNumber): self._TotalNumber = TotalNumber @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Domains") is not None: self._Domains = [] for item in params.get("Domains"): obj = DetailDomain() obj._deserialize(item) self._Domains.append(obj) self._TotalNumber = params.get("TotalNumber") self._RequestId = params.get("RequestId") class DescribeDomainsRequest(AbstractModel): """DescribeDomains请求参数结构体 """ def __init__(self): r""" :param _Offset: 分页查询偏移量,默认为 0 :type Offset: int :param _Limit: 分页查询限制数目,默认为 100,最大可设置为 1000 :type Limit: int :param _Filters: 查询条件过滤器,复杂类型 :type Filters: list of DomainFilter """ self._Offset = None self._Limit = None self._Filters = None @property def Offset(self): """分页查询偏移量,默认为 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """分页查询限制数目,默认为 100,最大可设置为 1000 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Filters(self): """查询条件过滤器,复杂类型 :rtype: list of DomainFilter """ return self._Filters @Filters.setter def Filters(self, Filters): self._Filters = Filters def _deserialize(self, params): self._Offset = params.get("Offset") self._Limit = params.get("Limit") if params.get("Filters") is not None: self._Filters = [] for item in params.get("Filters"): obj = DomainFilter() obj._deserialize(item) self._Filters.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeDomainsResponse(AbstractModel): """DescribeDomains返回参数结构体 """ def __init__(self): r""" :param _Domains: 域名列表 :type Domains: list of BriefDomain :param _TotalNumber: 符合查询条件的域名总数 用于分页查询 :type TotalNumber: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Domains = None self._TotalNumber = None self._RequestId = None @property def Domains(self): """域名列表 :rtype: list of BriefDomain """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def TotalNumber(self): """符合查询条件的域名总数 用于分页查询 :rtype: int """ return self._TotalNumber @TotalNumber.setter def TotalNumber(self, TotalNumber): self._TotalNumber = TotalNumber @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Domains") is not None: self._Domains = [] for item in params.get("Domains"): obj = BriefDomain() obj._deserialize(item) self._Domains.append(obj) self._TotalNumber = params.get("TotalNumber") self._RequestId = params.get("RequestId") class DescribeEdgePackTaskStatusRequest(AbstractModel): """DescribeEdgePackTaskStatus请求参数结构体 """ def __init__(self): r""" :param _StartTime: 开始时间 :type StartTime: str :param _EndTime: 结束时间 :type EndTime: str :param _Limit: 分页查询限制数目,默认为 100,最大可设置为 1000 :type Limit: int :param _Offset: 分页查询偏移量,默认为 0 :type Offset: int :param _Filters: 查询条件过滤器 :type Filters: list of EdgePackTaskFilter """ self._StartTime = None self._EndTime = None self._Limit = None self._Offset = None self._Filters = None @property def StartTime(self): """开始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Limit(self): """分页查询限制数目,默认为 100,最大可设置为 1000 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Offset(self): """分页查询偏移量,默认为 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Filters(self): """查询条件过滤器 :rtype: list of EdgePackTaskFilter """ return self._Filters @Filters.setter def Filters(self, Filters): self._Filters = Filters def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Limit = params.get("Limit") self._Offset = params.get("Offset") if params.get("Filters") is not None: self._Filters = [] for item in params.get("Filters"): obj = EdgePackTaskFilter() obj._deserialize(item) self._Filters.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeEdgePackTaskStatusResponse(AbstractModel): """DescribeEdgePackTaskStatus返回参数结构体 """ def __init__(self): r""" :param _EdgePackTaskStatusSet: 动态打包任务状态列表 :type EdgePackTaskStatusSet: list of EdgePackTaskStatus :param _TotalCount: 总数,用于分页查询 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._EdgePackTaskStatusSet = None self._TotalCount = None self._RequestId = None @property def EdgePackTaskStatusSet(self): """动态打包任务状态列表 :rtype: list of EdgePackTaskStatus """ return self._EdgePackTaskStatusSet @EdgePackTaskStatusSet.setter def EdgePackTaskStatusSet(self, EdgePackTaskStatusSet): self._EdgePackTaskStatusSet = EdgePackTaskStatusSet @property def TotalCount(self): """总数,用于分页查询 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("EdgePackTaskStatusSet") is not None: self._EdgePackTaskStatusSet = [] for item in params.get("EdgePackTaskStatusSet"): obj = EdgePackTaskStatus() obj._deserialize(item) self._EdgePackTaskStatusSet.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class DescribeEventLogDataRequest(AbstractModel): """DescribeEventLogData请求参数结构体 """ def __init__(self): r""" :param _Mode: 防护类型,映射如下: waf = "Web攻击" cc = "CC攻击" :type Mode: str :param _StartTime: 开始时间 :type StartTime: str :param _EndTime: 结束时间,最长跨度为30分钟 :type EndTime: str :param _Domain: 域名 :type Domain: str :param _ActionName: 执行动作,取值为:intercept/redirect/observe 分别表示:拦截/重定向/观察 参数放空,表示查询全部动作数据 :type ActionName: str :param _Url: 请求URL,支持URL开头和结尾使用\*表示通配 如: /files/* 表示所有以/files/开头的请求 *.jpg 表示所有以.jpg结尾的请求 :type Url: str :param _Area: 地域 mainland 或者 overseas,为空时默认 mainland :type Area: str :param _Source: 来源产品,cdn 或者 ecdn,为空时默认 cdn :type Source: str """ self._Mode = None self._StartTime = None self._EndTime = None self._Domain = None self._ActionName = None self._Url = None self._Area = None self._Source = None @property def Mode(self): """防护类型,映射如下: waf = "Web攻击" cc = "CC攻击" :rtype: str """ return self._Mode @Mode.setter def Mode(self, Mode): self._Mode = Mode @property def StartTime(self): """开始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间,最长跨度为30分钟 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def ActionName(self): """执行动作,取值为:intercept/redirect/observe 分别表示:拦截/重定向/观察 参数放空,表示查询全部动作数据 :rtype: str """ return self._ActionName @ActionName.setter def ActionName(self, ActionName): self._ActionName = ActionName @property def Url(self): """请求URL,支持URL开头和结尾使用\*表示通配 如: /files/* 表示所有以/files/开头的请求 *.jpg 表示所有以.jpg结尾的请求 :rtype: str """ return self._Url @Url.setter def Url(self, Url): self._Url = Url @property def Area(self): """地域 mainland 或者 overseas,为空时默认 mainland :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Source(self): """来源产品,cdn 或者 ecdn,为空时默认 cdn :rtype: str """ return self._Source @Source.setter def Source(self, Source): self._Source = Source def _deserialize(self, params): self._Mode = params.get("Mode") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Domain = params.get("Domain") self._ActionName = params.get("ActionName") self._Url = params.get("Url") self._Area = params.get("Area") self._Source = params.get("Source") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeEventLogDataResponse(AbstractModel): """DescribeEventLogData返回参数结构体 """ def __init__(self): r""" :param _Results: 统计曲线结果 :type Results: list of EventLogStatsData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Results = None self._RequestId = None @property def Results(self): """统计曲线结果 :rtype: list of EventLogStatsData """ return self._Results @Results.setter def Results(self, Results): self._Results = Results @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Results") is not None: self._Results = [] for item in params.get("Results"): obj = EventLogStatsData() obj._deserialize(item) self._Results.append(obj) self._RequestId = params.get("RequestId") class DescribeHttpsPackagesRequest(AbstractModel): """DescribeHttpsPackages请求参数结构体 """ def __init__(self): r""" :param _Offset: 分页查询起始地址,默认 0 :type Offset: int :param _Limit: 分页查询记录个数,默认100,最大1000 :type Limit: int """ self._Offset = None self._Limit = None @property def Offset(self): """分页查询起始地址,默认 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """分页查询记录个数,默认100,最大1000 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit def _deserialize(self, params): self._Offset = params.get("Offset") self._Limit = params.get("Limit") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeHttpsPackagesResponse(AbstractModel): """DescribeHttpsPackages返回参数结构体 """ def __init__(self): r""" :param _TotalCount: HTTPS请求包总个数 :type TotalCount: int :param _HttpsPackages: HTTPS请求包详情 :type HttpsPackages: list of HttpsPackage :param _ExpiringCount: 即将过期的HTTPS请求包个数(7天内) :type ExpiringCount: int :param _EnabledCount: 有效HTTPS请求包个数 :type EnabledCount: int :param _PaidCount: 付费HTTPS请求包个数 :type PaidCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TotalCount = None self._HttpsPackages = None self._ExpiringCount = None self._EnabledCount = None self._PaidCount = None self._RequestId = None @property def TotalCount(self): """HTTPS请求包总个数 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def HttpsPackages(self): """HTTPS请求包详情 :rtype: list of HttpsPackage """ return self._HttpsPackages @HttpsPackages.setter def HttpsPackages(self, HttpsPackages): self._HttpsPackages = HttpsPackages @property def ExpiringCount(self): """即将过期的HTTPS请求包个数(7天内) :rtype: int """ return self._ExpiringCount @ExpiringCount.setter def ExpiringCount(self, ExpiringCount): self._ExpiringCount = ExpiringCount @property def EnabledCount(self): """有效HTTPS请求包个数 :rtype: int """ return self._EnabledCount @EnabledCount.setter def EnabledCount(self, EnabledCount): self._EnabledCount = EnabledCount @property def PaidCount(self): """付费HTTPS请求包个数 :rtype: int """ return self._PaidCount @PaidCount.setter def PaidCount(self, PaidCount): self._PaidCount = PaidCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TotalCount = params.get("TotalCount") if params.get("HttpsPackages") is not None: self._HttpsPackages = [] for item in params.get("HttpsPackages"): obj = HttpsPackage() obj._deserialize(item) self._HttpsPackages.append(obj) self._ExpiringCount = params.get("ExpiringCount") self._EnabledCount = params.get("EnabledCount") self._PaidCount = params.get("PaidCount") self._RequestId = params.get("RequestId") class DescribeImageConfigRequest(AbstractModel): """DescribeImageConfig请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str """ self._Domain = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeImageConfigResponse(AbstractModel): """DescribeImageConfig返回参数结构体 """ def __init__(self): r""" :param _WebpAdapter: WebpAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :type WebpAdapter: :class:`tencentcloud.cdn.v20180606.models.WebpAdapter` :param _TpgAdapter: TpgAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :type TpgAdapter: :class:`tencentcloud.cdn.v20180606.models.TpgAdapter` :param _GuetzliAdapter: GuetzliAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :type GuetzliAdapter: :class:`tencentcloud.cdn.v20180606.models.GuetzliAdapter` :param _AvifAdapter: AvifAdapter配置项 注意:此字段可能返回 null,表示取不到有效值。 :type AvifAdapter: :class:`tencentcloud.cdn.v20180606.models.AvifAdapter` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._WebpAdapter = None self._TpgAdapter = None self._GuetzliAdapter = None self._AvifAdapter = None self._RequestId = None @property def WebpAdapter(self): """WebpAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.WebpAdapter` """ return self._WebpAdapter @WebpAdapter.setter def WebpAdapter(self, WebpAdapter): self._WebpAdapter = WebpAdapter @property def TpgAdapter(self): """TpgAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.TpgAdapter` """ return self._TpgAdapter @TpgAdapter.setter def TpgAdapter(self, TpgAdapter): self._TpgAdapter = TpgAdapter @property def GuetzliAdapter(self): """GuetzliAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.GuetzliAdapter` """ return self._GuetzliAdapter @GuetzliAdapter.setter def GuetzliAdapter(self, GuetzliAdapter): self._GuetzliAdapter = GuetzliAdapter @property def AvifAdapter(self): """AvifAdapter配置项 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AvifAdapter` """ return self._AvifAdapter @AvifAdapter.setter def AvifAdapter(self, AvifAdapter): self._AvifAdapter = AvifAdapter @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("WebpAdapter") is not None: self._WebpAdapter = WebpAdapter() self._WebpAdapter._deserialize(params.get("WebpAdapter")) if params.get("TpgAdapter") is not None: self._TpgAdapter = TpgAdapter() self._TpgAdapter._deserialize(params.get("TpgAdapter")) if params.get("GuetzliAdapter") is not None: self._GuetzliAdapter = GuetzliAdapter() self._GuetzliAdapter._deserialize(params.get("GuetzliAdapter")) if params.get("AvifAdapter") is not None: self._AvifAdapter = AvifAdapter() self._AvifAdapter._deserialize(params.get("AvifAdapter")) self._RequestId = params.get("RequestId") class DescribeIpStatusRequest(AbstractModel): """DescribeIpStatus请求参数结构体 """ def __init__(self): r""" :param _Domain: 加速域名 :type Domain: str :param _Layer: 节点类型: edge:表示边缘节点 last:表示回源层节点 不填充情况下,默认返回边缘节点信息 :type Layer: str :param _Area: 查询区域: mainland: 国内节点 overseas: 海外节点 global: 全球节点 :type Area: str :param _Segment: 是否以IP段的格式返回。 :type Segment: bool :param _ShowIpv6: 是否查询节点 IPV6 信息。 :type ShowIpv6: bool :param _AbbreviationIpv6: 是否对IPV6进行缩写。 :type AbbreviationIpv6: bool """ self._Domain = None self._Layer = None self._Area = None self._Segment = None self._ShowIpv6 = None self._AbbreviationIpv6 = None @property def Domain(self): """加速域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Layer(self): """节点类型: edge:表示边缘节点 last:表示回源层节点 不填充情况下,默认返回边缘节点信息 :rtype: str """ return self._Layer @Layer.setter def Layer(self, Layer): self._Layer = Layer @property def Area(self): """查询区域: mainland: 国内节点 overseas: 海外节点 global: 全球节点 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Segment(self): """是否以IP段的格式返回。 :rtype: bool """ return self._Segment @Segment.setter def Segment(self, Segment): self._Segment = Segment @property def ShowIpv6(self): """是否查询节点 IPV6 信息。 :rtype: bool """ return self._ShowIpv6 @ShowIpv6.setter def ShowIpv6(self, ShowIpv6): self._ShowIpv6 = ShowIpv6 @property def AbbreviationIpv6(self): """是否对IPV6进行缩写。 :rtype: bool """ return self._AbbreviationIpv6 @AbbreviationIpv6.setter def AbbreviationIpv6(self, AbbreviationIpv6): self._AbbreviationIpv6 = AbbreviationIpv6 def _deserialize(self, params): self._Domain = params.get("Domain") self._Layer = params.get("Layer") self._Area = params.get("Area") self._Segment = params.get("Segment") self._ShowIpv6 = params.get("ShowIpv6") self._AbbreviationIpv6 = params.get("AbbreviationIpv6") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeIpStatusResponse(AbstractModel): """DescribeIpStatus返回参数结构体 """ def __init__(self): r""" :param _Ips: 节点列表 :type Ips: list of IpStatus :param _TotalCount: 节点总个数 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Ips = None self._TotalCount = None self._RequestId = None @property def Ips(self): """节点列表 :rtype: list of IpStatus """ return self._Ips @Ips.setter def Ips(self, Ips): self._Ips = Ips @property def TotalCount(self): """节点总个数 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Ips") is not None: self._Ips = [] for item in params.get("Ips"): obj = IpStatus() obj._deserialize(item) self._Ips.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class DescribeIpVisitRequest(AbstractModel): """DescribeIpVisit请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间,如:2018-09-04 10:40:10,返回结果大于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:10 在按 5 分钟的时间粒度查询时,返回的第一个数据对应时间点为 2018-09-04 10:40:00 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:10,返回结果小于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:10 在按 5 分钟的时间粒度查询时,返回的最后一个数据对应时间点为 2018-09-04 10:40:00 :type EndTime: str :param _Domains: 指定查询域名列表,最多可一次性查询 30 个加速域名明细 :type Domains: list of str :param _Project: 指定要查询的项目 ID,[前往查看项目 ID](https://console.cloud.tencent.com/project) 未填充域名情况下,指定项目查询,若填充了具体域名信息,以域名为主 :type Project: int :param _Interval: 时间粒度,支持以下几种模式: 5min:5 分钟粒度,查询时间区间 24 小时内,默认返回 5 分钟粒度活跃用户数 day:天粒度,查询时间区间大于 1 天时,默认返回天粒度活跃用户数 :type Interval: str """ self._StartTime = None self._EndTime = None self._Domains = None self._Project = None self._Interval = None @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:10,返回结果大于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:10 在按 5 分钟的时间粒度查询时,返回的第一个数据对应时间点为 2018-09-04 10:40:00 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:10,返回结果小于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:10 在按 5 分钟的时间粒度查询时,返回的最后一个数据对应时间点为 2018-09-04 10:40:00 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Domains(self): """指定查询域名列表,最多可一次性查询 30 个加速域名明细 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def Project(self): """指定要查询的项目 ID,[前往查看项目 ID](https://console.cloud.tencent.com/project) 未填充域名情况下,指定项目查询,若填充了具体域名信息,以域名为主 :rtype: int """ return self._Project @Project.setter def Project(self, Project): self._Project = Project @property def Interval(self): """时间粒度,支持以下几种模式: 5min:5 分钟粒度,查询时间区间 24 小时内,默认返回 5 分钟粒度活跃用户数 day:天粒度,查询时间区间大于 1 天时,默认返回天粒度活跃用户数 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Domains = params.get("Domains") self._Project = params.get("Project") self._Interval = params.get("Interval") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeIpVisitResponse(AbstractModel): """DescribeIpVisit返回参数结构体 """ def __init__(self): r""" :param _Interval: 数据统计的时间粒度,支持5min, day,分别表示5分钟,1天的时间粒度。 :type Interval: str :param _Data: 各个资源的回源数据详情。 :type Data: list of ResourceData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Interval = None self._Data = None self._RequestId = None @property def Interval(self): """数据统计的时间粒度,支持5min, day,分别表示5分钟,1天的时间粒度。 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Data(self): """各个资源的回源数据详情。 :rtype: list of ResourceData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Interval = params.get("Interval") if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = ResourceData() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class DescribeMapInfoRequest(AbstractModel): """DescribeMapInfo请求参数结构体 """ def __init__(self): r""" :param _Name: 映射查询类别: isp:运营商映射查询 district:省份(中国境内)、国家/地区(中国境外)映射查询 :type Name: str """ self._Name = None @property def Name(self): """映射查询类别: isp:运营商映射查询 district:省份(中国境内)、国家/地区(中国境外)映射查询 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name def _deserialize(self, params): self._Name = params.get("Name") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeMapInfoResponse(AbstractModel): """DescribeMapInfo返回参数结构体 """ def __init__(self): r""" :param _MapInfoList: 映射关系数组。 :type MapInfoList: list of MapInfo :param _ServerRegionRelation: 服务端区域id和子区域id的映射关系。 注意:此字段可能返回 null,表示取不到有效值。 :type ServerRegionRelation: list of RegionMapRelation :param _ClientRegionRelation: 客户端区域id和子区域id的映射关系。 注意:此字段可能返回 null,表示取不到有效值。 :type ClientRegionRelation: list of RegionMapRelation :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._MapInfoList = None self._ServerRegionRelation = None self._ClientRegionRelation = None self._RequestId = None @property def MapInfoList(self): """映射关系数组。 :rtype: list of MapInfo """ return self._MapInfoList @MapInfoList.setter def MapInfoList(self, MapInfoList): self._MapInfoList = MapInfoList @property def ServerRegionRelation(self): """服务端区域id和子区域id的映射关系。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of RegionMapRelation """ return self._ServerRegionRelation @ServerRegionRelation.setter def ServerRegionRelation(self, ServerRegionRelation): self._ServerRegionRelation = ServerRegionRelation @property def ClientRegionRelation(self): """客户端区域id和子区域id的映射关系。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of RegionMapRelation """ return self._ClientRegionRelation @ClientRegionRelation.setter def ClientRegionRelation(self, ClientRegionRelation): self._ClientRegionRelation = ClientRegionRelation @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("MapInfoList") is not None: self._MapInfoList = [] for item in params.get("MapInfoList"): obj = MapInfo() obj._deserialize(item) self._MapInfoList.append(obj) if params.get("ServerRegionRelation") is not None: self._ServerRegionRelation = [] for item in params.get("ServerRegionRelation"): obj = RegionMapRelation() obj._deserialize(item) self._ServerRegionRelation.append(obj) if params.get("ClientRegionRelation") is not None: self._ClientRegionRelation = [] for item in params.get("ClientRegionRelation"): obj = RegionMapRelation() obj._deserialize(item) self._ClientRegionRelation.append(obj) self._RequestId = params.get("RequestId") class DescribeOriginDataRequest(AbstractModel): """DescribeOriginData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:00 在按 1 小时的时间粒度查询时,返回的第一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:00 在按 1 小时的时间粒度查询时,返回的最后一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :type EndTime: str :param _Metric: 指定查询指标,支持的类型有: flux:回源流量,单位为 byte bandwidth:回源带宽,单位为 bps request:回源请求数,单位为 次 failRequest:回源失败请求数,单位为 次 failRate:回源失败率,单位为 % statusCode:回源状态码,返回 2xx、3xx、4xx、5xx 汇总数据,单位为 个 2xx:返回 2xx 回源状态码汇总及各 2 开头回源状态码数据,单位为 个 3xx:返回 3xx 回源状态码汇总及各 3 开头回源状态码数据,单位为 个 4xx:返回 4xx 回源状态码汇总及各 4 开头回源状态码数据,单位为 个 5xx:返回 5xx 回源状态码汇总及各 5 开头回源状态码数据,单位为 个 支持指定具体状态码查询,若未产生过,则返回为空 :type Metric: str :param _Domains: 指定查询域名列表,最多可一次性查询 30 个加速域名明细 :type Domains: list of str :param _Project: 指定要查询的项目 ID,[前往查看项目 ID](https://console.cloud.tencent.com/project) 未填充域名情况下,指定项目查询,最多可一次性查询 30 个加速域名明细 若填充了具体域名信息,以域名为主 :type Project: int :param _Interval: 时间粒度,支持以下几种模式: min:1 分钟粒度,指定查询区间 24 小时内(含 24 小时),可返回 1 分钟粒度明细数据(指定查询服务地域为中国境外时不支持 1 分钟粒度) 5min:5 分钟粒度,指定查询区间 31 天内(含 31 天),可返回 5 分钟粒度明细数据 hour:1 小时粒度,指定查询区间 31 天内(含 31 天),可返回 1 小时粒度明细数据 day:天粒度,指定查询区间大于 31 天,可返回天粒度明细数据 :type Interval: str :param _Detail: Domains 传入多个时,默认(false)返回多个域名的汇总数据 可按需指定为 true,返回每一个 Domain 的明细数据(statusCode、2xx、3xx、4xx、5xx 指标暂不支持) :type Detail: bool :param _Area: 指定服务地域查询,不填充表示查询中国境内 CDN 数据 mainland:指定查询中国境内 CDN 数据 overseas:指定查询中国境外 CDN 数据 :type Area: str :param _TimeZone: 指定查询时间的时区,默认UTC+08:00 :type TimeZone: str """ self._StartTime = None self._EndTime = None self._Metric = None self._Domains = None self._Project = None self._Interval = None self._Detail = None self._Area = None self._TimeZone = None @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:00 在按 1 小时的时间粒度查询时,返回的第一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 根据指定时间粒度不同,会进行向前归整,如 2018-09-04 10:40:00 在按 1 小时的时间粒度查询时,返回的最后一个数据对应时间点为 2018-09-04 10:00:00 起始时间与结束时间间隔小于等于 90 天 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Metric(self): """指定查询指标,支持的类型有: flux:回源流量,单位为 byte bandwidth:回源带宽,单位为 bps request:回源请求数,单位为 次 failRequest:回源失败请求数,单位为 次 failRate:回源失败率,单位为 % statusCode:回源状态码,返回 2xx、3xx、4xx、5xx 汇总数据,单位为 个 2xx:返回 2xx 回源状态码汇总及各 2 开头回源状态码数据,单位为 个 3xx:返回 3xx 回源状态码汇总及各 3 开头回源状态码数据,单位为 个 4xx:返回 4xx 回源状态码汇总及各 4 开头回源状态码数据,单位为 个 5xx:返回 5xx 回源状态码汇总及各 5 开头回源状态码数据,单位为 个 支持指定具体状态码查询,若未产生过,则返回为空 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Domains(self): """指定查询域名列表,最多可一次性查询 30 个加速域名明细 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def Project(self): """指定要查询的项目 ID,[前往查看项目 ID](https://console.cloud.tencent.com/project) 未填充域名情况下,指定项目查询,最多可一次性查询 30 个加速域名明细 若填充了具体域名信息,以域名为主 :rtype: int """ return self._Project @Project.setter def Project(self, Project): self._Project = Project @property def Interval(self): """时间粒度,支持以下几种模式: min:1 分钟粒度,指定查询区间 24 小时内(含 24 小时),可返回 1 分钟粒度明细数据(指定查询服务地域为中国境外时不支持 1 分钟粒度) 5min:5 分钟粒度,指定查询区间 31 天内(含 31 天),可返回 5 分钟粒度明细数据 hour:1 小时粒度,指定查询区间 31 天内(含 31 天),可返回 1 小时粒度明细数据 day:天粒度,指定查询区间大于 31 天,可返回天粒度明细数据 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Detail(self): """Domains 传入多个时,默认(false)返回多个域名的汇总数据 可按需指定为 true,返回每一个 Domain 的明细数据(statusCode、2xx、3xx、4xx、5xx 指标暂不支持) :rtype: bool """ return self._Detail @Detail.setter def Detail(self, Detail): self._Detail = Detail @property def Area(self): """指定服务地域查询,不填充表示查询中国境内 CDN 数据 mainland:指定查询中国境内 CDN 数据 overseas:指定查询中国境外 CDN 数据 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def TimeZone(self): """指定查询时间的时区,默认UTC+08:00 :rtype: str """ return self._TimeZone @TimeZone.setter def TimeZone(self, TimeZone): self._TimeZone = TimeZone def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Metric = params.get("Metric") self._Domains = params.get("Domains") self._Project = params.get("Project") self._Interval = params.get("Interval") self._Detail = params.get("Detail") self._Area = params.get("Area") self._TimeZone = params.get("TimeZone") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeOriginDataResponse(AbstractModel): """DescribeOriginData返回参数结构体 """ def __init__(self): r""" :param _Interval: 数据统计的时间粒度,支持min, 5min, hour, day,分别表示1分钟,5分钟,1小时和1天的时间粒度。 :type Interval: str :param _Data: 各个资源的回源数据详情。 :type Data: list of ResourceOriginData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Interval = None self._Data = None self._RequestId = None @property def Interval(self): """数据统计的时间粒度,支持min, 5min, hour, day,分别表示1分钟,5分钟,1小时和1天的时间粒度。 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Data(self): """各个资源的回源数据详情。 :rtype: list of ResourceOriginData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Interval = params.get("Interval") if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = ResourceOriginData() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class DescribePayTypeRequest(AbstractModel): """DescribePayType请求参数结构体 """ def __init__(self): r""" :param _Area: 指定服务地域查询 mainland:境内计费方式查询 overseas:境外计费方式查询 global:全球计费方式查询 未填充时,默认为 mainland :type Area: str :param _Product: 指定查询的产品数据,可选为cdn或者ecdn,默认为cdn :type Product: str :param _Type: 指定资源包查询 flux:流量包 https:HTTPS请求包 未填充时,默认为 flux :type Type: str """ self._Area = None self._Product = None self._Type = None @property def Area(self): """指定服务地域查询 mainland:境内计费方式查询 overseas:境外计费方式查询 global:全球计费方式查询 未填充时,默认为 mainland :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Product(self): """指定查询的产品数据,可选为cdn或者ecdn,默认为cdn :rtype: str """ return self._Product @Product.setter def Product(self, Product): self._Product = Product @property def Type(self): """指定资源包查询 flux:流量包 https:HTTPS请求包 未填充时,默认为 flux :rtype: str """ return self._Type @Type.setter def Type(self, Type): self._Type = Type def _deserialize(self, params): self._Area = params.get("Area") self._Product = params.get("Product") self._Type = params.get("Type") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribePayTypeResponse(AbstractModel): """DescribePayType返回参数结构体 """ def __init__(self): r""" :param _PayType: 计费类型 flux:流量计费 bandwidth:带宽计费 request:请求数计费 flux_sep:动静分离流量计费 bandwidth_sep:动静分离带宽计费 日结计费方式切换时,若当日产生消耗,则此字段表示第二天即将生效的计费方式,若未产生消耗,则表示已经生效的计费方式。 :type PayType: str :param _BillingCycle: 计费周期 day:日结计费 month:月结计费 hour:小时结计费 :type BillingCycle: str :param _StatType: 统计类型 monthMax:日峰值月平均,月结模式 day95:日 95 带宽,月结模式 month95:月95带宽,月结模式 sum:总流量/总请求数,日结或月结模式 max:峰值带宽,日结模式 :type StatType: str :param _RegionType: 计费区域 all:全地区统一计费 multiple:分地区计费 :type RegionType: str :param _CurrentPayType: 当前生效计费类型 flux:流量计费 bandwidth:带宽计费 request:请求数计费 flux_sep:动静分离流量计费 bandwidth_sep:动静分离带宽计费 :type CurrentPayType: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._PayType = None self._BillingCycle = None self._StatType = None self._RegionType = None self._CurrentPayType = None self._RequestId = None @property def PayType(self): """计费类型 flux:流量计费 bandwidth:带宽计费 request:请求数计费 flux_sep:动静分离流量计费 bandwidth_sep:动静分离带宽计费 日结计费方式切换时,若当日产生消耗,则此字段表示第二天即将生效的计费方式,若未产生消耗,则表示已经生效的计费方式。 :rtype: str """ return self._PayType @PayType.setter def PayType(self, PayType): self._PayType = PayType @property def BillingCycle(self): """计费周期 day:日结计费 month:月结计费 hour:小时结计费 :rtype: str """ return self._BillingCycle @BillingCycle.setter def BillingCycle(self, BillingCycle): self._BillingCycle = BillingCycle @property def StatType(self): """统计类型 monthMax:日峰值月平均,月结模式 day95:日 95 带宽,月结模式 month95:月95带宽,月结模式 sum:总流量/总请求数,日结或月结模式 max:峰值带宽,日结模式 :rtype: str """ return self._StatType @StatType.setter def StatType(self, StatType): self._StatType = StatType @property def RegionType(self): """计费区域 all:全地区统一计费 multiple:分地区计费 :rtype: str """ return self._RegionType @RegionType.setter def RegionType(self, RegionType): self._RegionType = RegionType @property def CurrentPayType(self): """当前生效计费类型 flux:流量计费 bandwidth:带宽计费 request:请求数计费 flux_sep:动静分离流量计费 bandwidth_sep:动静分离带宽计费 :rtype: str """ return self._CurrentPayType @CurrentPayType.setter def CurrentPayType(self, CurrentPayType): self._CurrentPayType = CurrentPayType @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._PayType = params.get("PayType") self._BillingCycle = params.get("BillingCycle") self._StatType = params.get("StatType") self._RegionType = params.get("RegionType") self._CurrentPayType = params.get("CurrentPayType") self._RequestId = params.get("RequestId") class DescribePurgeQuotaRequest(AbstractModel): """DescribePurgeQuota请求参数结构体 """ class DescribePurgeQuotaResponse(AbstractModel): """DescribePurgeQuota返回参数结构体 """ def __init__(self): r""" :param _UrlPurge: URL刷新用量及配额。 :type UrlPurge: list of Quota :param _PathPurge: 目录刷新用量及配额。 :type PathPurge: list of Quota :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._UrlPurge = None self._PathPurge = None self._RequestId = None @property def UrlPurge(self): """URL刷新用量及配额。 :rtype: list of Quota """ return self._UrlPurge @UrlPurge.setter def UrlPurge(self, UrlPurge): self._UrlPurge = UrlPurge @property def PathPurge(self): """目录刷新用量及配额。 :rtype: list of Quota """ return self._PathPurge @PathPurge.setter def PathPurge(self, PathPurge): self._PathPurge = PathPurge @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("UrlPurge") is not None: self._UrlPurge = [] for item in params.get("UrlPurge"): obj = Quota() obj._deserialize(item) self._UrlPurge.append(obj) if params.get("PathPurge") is not None: self._PathPurge = [] for item in params.get("PathPurge"): obj = Quota() obj._deserialize(item) self._PathPurge.append(obj) self._RequestId = params.get("RequestId") class DescribePurgeTasksRequest(AbstractModel): """DescribePurgeTasks请求参数结构体 """ def __init__(self): r""" :param _PurgeType: 指定刷新类型查询 url:url 刷新记录 path:目录刷新记录 :type PurgeType: str :param _StartTime: 根据时间区间查询时,填充开始时间,如 2018-08-08 00:00:00 :type StartTime: str :param _EndTime: 根据时间区间查询时,填充结束时间,如 2018-08-08 23:59:59 :type EndTime: str :param _TaskId: 根据任务 ID 查询时,填充任务 ID 查询时任务 ID 与起始时间必须填充一项 :type TaskId: str :param _Offset: 分页查询偏移量,默认为 0 :type Offset: int :param _Limit: 分页查询限制数目,默认为 20 :type Limit: int :param _Keyword: 支持域名过滤,或 http(s):// 开头完整 URL 过滤 :type Keyword: str :param _Status: 指定任务状态查询 fail:刷新失败 done:刷新成功 process:刷新中 :type Status: str :param _Area: 指定刷新地域查询 mainland:境内 overseas:境外 global:全球 :type Area: str """ self._PurgeType = None self._StartTime = None self._EndTime = None self._TaskId = None self._Offset = None self._Limit = None self._Keyword = None self._Status = None self._Area = None @property def PurgeType(self): """指定刷新类型查询 url:url 刷新记录 path:目录刷新记录 :rtype: str """ return self._PurgeType @PurgeType.setter def PurgeType(self, PurgeType): self._PurgeType = PurgeType @property def StartTime(self): """根据时间区间查询时,填充开始时间,如 2018-08-08 00:00:00 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """根据时间区间查询时,填充结束时间,如 2018-08-08 23:59:59 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def TaskId(self): """根据任务 ID 查询时,填充任务 ID 查询时任务 ID 与起始时间必须填充一项 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def Offset(self): """分页查询偏移量,默认为 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """分页查询限制数目,默认为 20 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Keyword(self): """支持域名过滤,或 http(s):// 开头完整 URL 过滤 :rtype: str """ return self._Keyword @Keyword.setter def Keyword(self, Keyword): self._Keyword = Keyword @property def Status(self): """指定任务状态查询 fail:刷新失败 done:刷新成功 process:刷新中 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def Area(self): """指定刷新地域查询 mainland:境内 overseas:境外 global:全球 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._PurgeType = params.get("PurgeType") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._TaskId = params.get("TaskId") self._Offset = params.get("Offset") self._Limit = params.get("Limit") self._Keyword = params.get("Keyword") self._Status = params.get("Status") self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribePurgeTasksResponse(AbstractModel): """DescribePurgeTasks返回参数结构体 """ def __init__(self): r""" :param _PurgeLogs: 详细刷新记录 注意:此字段可能返回 null,表示取不到有效值。 :type PurgeLogs: list of PurgeTask :param _TotalCount: 任务总数,用于分页 注意:此字段可能返回 null,表示取不到有效值。 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._PurgeLogs = None self._TotalCount = None self._RequestId = None @property def PurgeLogs(self): """详细刷新记录 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of PurgeTask """ return self._PurgeLogs @PurgeLogs.setter def PurgeLogs(self, PurgeLogs): self._PurgeLogs = PurgeLogs @property def TotalCount(self): """任务总数,用于分页 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("PurgeLogs") is not None: self._PurgeLogs = [] for item in params.get("PurgeLogs"): obj = PurgeTask() obj._deserialize(item) self._PurgeLogs.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class DescribePushQuotaRequest(AbstractModel): """DescribePushQuota请求参数结构体 """ class DescribePushQuotaResponse(AbstractModel): """DescribePushQuota返回参数结构体 """ def __init__(self): r""" :param _UrlPush: Url预热用量及配额。 :type UrlPush: list of Quota :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._UrlPush = None self._RequestId = None @property def UrlPush(self): """Url预热用量及配额。 :rtype: list of Quota """ return self._UrlPush @UrlPush.setter def UrlPush(self, UrlPush): self._UrlPush = UrlPush @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("UrlPush") is not None: self._UrlPush = [] for item in params.get("UrlPush"): obj = Quota() obj._deserialize(item) self._UrlPush.append(obj) self._RequestId = params.get("RequestId") class DescribePushTasksRequest(AbstractModel): """DescribePushTasks请求参数结构体 """ def __init__(self): r""" :param _StartTime: 开始时间,如2018-08-08 00:00:00。 :type StartTime: str :param _EndTime: 结束时间,如2018-08-08 23:59:59。 :type EndTime: str :param _TaskId: 指定任务 ID 查询 TaskId 和起始时间必须指定一项 :type TaskId: str :param _Keyword: 查询关键字,请输入域名或 http(s):// 开头完整 URL :type Keyword: str :param _Offset: 分页查询偏移量,默认为 0 :type Offset: int :param _Limit: 分页查询限制数目,默认为 20 :type Limit: int :param _Area: 指定地区查询预热记录 mainland:境内 overseas:境外 global:全球 :type Area: str :param _Status: 指定任务状态查询 fail:预热失败 done:预热成功 process:预热中 invalid: 预热无效(源站返回4xx或5xx状态码) :type Status: str """ self._StartTime = None self._EndTime = None self._TaskId = None self._Keyword = None self._Offset = None self._Limit = None self._Area = None self._Status = None @property def StartTime(self): """开始时间,如2018-08-08 00:00:00。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间,如2018-08-08 23:59:59。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def TaskId(self): """指定任务 ID 查询 TaskId 和起始时间必须指定一项 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def Keyword(self): """查询关键字,请输入域名或 http(s):// 开头完整 URL :rtype: str """ return self._Keyword @Keyword.setter def Keyword(self, Keyword): self._Keyword = Keyword @property def Offset(self): """分页查询偏移量,默认为 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """分页查询限制数目,默认为 20 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Area(self): """指定地区查询预热记录 mainland:境内 overseas:境外 global:全球 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Status(self): """指定任务状态查询 fail:预热失败 done:预热成功 process:预热中 invalid: 预热无效(源站返回4xx或5xx状态码) :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._TaskId = params.get("TaskId") self._Keyword = params.get("Keyword") self._Offset = params.get("Offset") self._Limit = params.get("Limit") self._Area = params.get("Area") self._Status = params.get("Status") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribePushTasksResponse(AbstractModel): """DescribePushTasks返回参数结构体 """ def __init__(self): r""" :param _PushLogs: 预热历史记录 注意:此字段可能返回 null,表示取不到有效值。 :type PushLogs: list of PushTask :param _TotalCount: 任务总数,用于分页 注意:此字段可能返回 null,表示取不到有效值。 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._PushLogs = None self._TotalCount = None self._RequestId = None @property def PushLogs(self): """预热历史记录 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of PushTask """ return self._PushLogs @PushLogs.setter def PushLogs(self, PushLogs): self._PushLogs = PushLogs @property def TotalCount(self): """任务总数,用于分页 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("PushLogs") is not None: self._PushLogs = [] for item in params.get("PushLogs"): obj = PushTask() obj._deserialize(item) self._PushLogs.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class DescribeReportDataRequest(AbstractModel): """DescribeReportData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间:yyyy-MM-dd 当报表类型为daily,起始时间和结束时间必须为同一天 当报表类型为weekly,起始时间须为周一,结束时间须为同一周的周日 当报表类型为monthly,起始时间须为自然月第一天,即1号,结束时间须为该自然月最后一天 :type StartTime: str :param _EndTime: 查询结束时间:yyyy-MM-dd 当报表类型为daily,起始时间和结束时间必须为同一天 当报表类型为weekly,起始时间须为周一,结束时间须为同一周的周日 当报表类型为monthly,起始时间须为自然月第一天,即1号,结束时间须为该自然月最后一天 :type EndTime: str :param _ReportType: 报表类型 daily:日报表 weekly:周报表(周一至周日) monthly:月报表(自然月) :type ReportType: str :param _Area: 域名加速区域 mainland:中国境内 overseas:中国境外 :type Area: str :param _Offset: 偏移量,默认0。 :type Offset: int :param _Limit: 数据个数,默认1000。 :type Limit: int :param _Project: 按项目ID筛选 :type Project: int """ self._StartTime = None self._EndTime = None self._ReportType = None self._Area = None self._Offset = None self._Limit = None self._Project = None @property def StartTime(self): """查询起始时间:yyyy-MM-dd 当报表类型为daily,起始时间和结束时间必须为同一天 当报表类型为weekly,起始时间须为周一,结束时间须为同一周的周日 当报表类型为monthly,起始时间须为自然月第一天,即1号,结束时间须为该自然月最后一天 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间:yyyy-MM-dd 当报表类型为daily,起始时间和结束时间必须为同一天 当报表类型为weekly,起始时间须为周一,结束时间须为同一周的周日 当报表类型为monthly,起始时间须为自然月第一天,即1号,结束时间须为该自然月最后一天 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def ReportType(self): """报表类型 daily:日报表 weekly:周报表(周一至周日) monthly:月报表(自然月) :rtype: str """ return self._ReportType @ReportType.setter def ReportType(self, ReportType): self._ReportType = ReportType @property def Area(self): """域名加速区域 mainland:中国境内 overseas:中国境外 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Offset(self): """偏移量,默认0。 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """数据个数,默认1000。 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Project(self): """按项目ID筛选 :rtype: int """ return self._Project @Project.setter def Project(self, Project): self._Project = Project def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._ReportType = params.get("ReportType") self._Area = params.get("Area") self._Offset = params.get("Offset") self._Limit = params.get("Limit") self._Project = params.get("Project") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeReportDataResponse(AbstractModel): """DescribeReportData返回参数结构体 """ def __init__(self): r""" :param _DomainReport: 域名维度数据详情 :type DomainReport: list of ReportData :param _ProjectReport: 项目维度数据详情 :type ProjectReport: list of ReportData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._DomainReport = None self._ProjectReport = None self._RequestId = None @property def DomainReport(self): """域名维度数据详情 :rtype: list of ReportData """ return self._DomainReport @DomainReport.setter def DomainReport(self, DomainReport): self._DomainReport = DomainReport @property def ProjectReport(self): """项目维度数据详情 :rtype: list of ReportData """ return self._ProjectReport @ProjectReport.setter def ProjectReport(self, ProjectReport): self._ProjectReport = ProjectReport @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("DomainReport") is not None: self._DomainReport = [] for item in params.get("DomainReport"): obj = ReportData() obj._deserialize(item) self._DomainReport.append(obj) if params.get("ProjectReport") is not None: self._ProjectReport = [] for item in params.get("ProjectReport"): obj = ReportData() obj._deserialize(item) self._ProjectReport.append(obj) self._RequestId = params.get("RequestId") class DescribeScdnBotDataRequest(AbstractModel): """DescribeScdnBotData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 开始时间 :type StartTime: str :param _EndTime: 结束时间 :type EndTime: str :param _Area: mainland 大陆地区 overseas境外地区 :type Area: str :param _Interval: 取值:"2min"或者"hour",表示查询2分钟或者1小时粒度的数据,如果查询时间范围>1天,则强制返回1小时粒度数据 :type Interval: str :param _Domains: 域名数组,多选域名时,使用此参数,不填写表示查询所有域名的数据(AppID维度数据) :type Domains: list of str """ self._StartTime = None self._EndTime = None self._Area = None self._Interval = None self._Domains = None @property def StartTime(self): """开始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Area(self): """mainland 大陆地区 overseas境外地区 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Interval(self): """取值:"2min"或者"hour",表示查询2分钟或者1小时粒度的数据,如果查询时间范围>1天,则强制返回1小时粒度数据 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Domains(self): """域名数组,多选域名时,使用此参数,不填写表示查询所有域名的数据(AppID维度数据) :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Area = params.get("Area") self._Interval = params.get("Interval") self._Domains = params.get("Domains") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeScdnBotDataResponse(AbstractModel): """DescribeScdnBotData返回参数结构体 """ def __init__(self): r""" :param _Data: 统计信息详细数据 :type Data: list of BotStats :param _Interval: 当前返回数据的粒度,取值:"2min"或者"hour",分别表示2分钟或者1小时粒度 :type Interval: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._Interval = None self._RequestId = None @property def Data(self): """统计信息详细数据 :rtype: list of BotStats """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def Interval(self): """当前返回数据的粒度,取值:"2min"或者"hour",分别表示2分钟或者1小时粒度 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = BotStats() obj._deserialize(item) self._Data.append(obj) self._Interval = params.get("Interval") self._RequestId = params.get("RequestId") class DescribeScdnBotRecordsRequest(AbstractModel): """DescribeScdnBotRecords请求参数结构体 """ def __init__(self): r""" :param _BotType: BOT类型,取值为"UB","UCB","TCB",分别表示:未知类型,自定义类型,公开类型 :type BotType: str :param _Domain: 域名 :type Domain: str :param _StartTime: 开始时间 :type StartTime: str :param _EndTime: 结束时间 :type EndTime: str :param _Offset: 分页参数 :type Offset: int :param _Limit: 分页参数 :type Limit: int :param _Area: mainland 大陆地区 overseas境外地区 :type Area: str :param _SortBy: 排序参数 :type SortBy: list of BotSortBy :param _FilterName: BotType=UB时,表示需要过滤的预测标签,取值如下: "crawler_unregular", "crawler_regular", "request_repeat", "credential_miss_user", "credential_without_user", "credential_only_action", "credential_user_password", "credential_cracking", "credential_stuffing", "brush_sms", "brush_captcha", "reg_malicious" BotType=TCB时,表示需要过滤的Bot分类,取值如下: "Uncategorised", "Search engine bot", "Site monitor", "Screenshot creator", "Link checker", "Web scraper", "Vulnerability scanner", "Virus scanner", "Speed tester", "Feed Fetcher", "Tool", "Marketing" BotType=UCB时,取值如下: User-Agent为空或不存在 User-Agent类型为BOT User-Agent类型为HTTP Library User-Agent类型为Framework User-Agent类型为Tools User-Agent类型为Unkonwn BOT User-Agent类型为Scanner Referer空或不存在 Referer滥用(多个UA使用相同Referer) Cookie滥用(多个UA使用相同Cookie) Cookie空或不存在 Connection空或不存在 Accept空或不存在 Accept-Language空或不存在 Accept-Enconding空或不存在 使用HTTP HEAD方法 HTTP协议为1.0或者更低 IDC-IP 腾讯云 IDC-IP 阿里云 IDC-IP 华为云 IDC-IP 金山云 IDC-IP UCloud IDC-IP 百度云 IDC-IP 京东云 IDC-IP 青云 IDC-IP Aws IDC-IP Azure IDC-IP Google 以上所有类型,FilterName为空时,表示不过滤,获取所有内容 :type FilterName: str :param _FilterAction: 目前支持的Action "intercept" 拦截 "monitor",监控 "permit" 放行 "redirect" 重定向 尚未支持的Action "captcha" 验证码 :type FilterAction: str :param _FilterIp: 过滤的IP :type FilterIp: str :param _Domains: 域名列表,为空表示查询AppID维度数据 :type Domains: list of str """ self._BotType = None self._Domain = None self._StartTime = None self._EndTime = None self._Offset = None self._Limit = None self._Area = None self._SortBy = None self._FilterName = None self._FilterAction = None self._FilterIp = None self._Domains = None @property def BotType(self): """BOT类型,取值为"UB","UCB","TCB",分别表示:未知类型,自定义类型,公开类型 :rtype: str """ return self._BotType @BotType.setter def BotType(self, BotType): self._BotType = BotType @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def StartTime(self): """开始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Offset(self): """分页参数 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """分页参数 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Area(self): """mainland 大陆地区 overseas境外地区 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def SortBy(self): """排序参数 :rtype: list of BotSortBy """ return self._SortBy @SortBy.setter def SortBy(self, SortBy): self._SortBy = SortBy @property def FilterName(self): """BotType=UB时,表示需要过滤的预测标签,取值如下: "crawler_unregular", "crawler_regular", "request_repeat", "credential_miss_user", "credential_without_user", "credential_only_action", "credential_user_password", "credential_cracking", "credential_stuffing", "brush_sms", "brush_captcha", "reg_malicious" BotType=TCB时,表示需要过滤的Bot分类,取值如下: "Uncategorised", "Search engine bot", "Site monitor", "Screenshot creator", "Link checker", "Web scraper", "Vulnerability scanner", "Virus scanner", "Speed tester", "Feed Fetcher", "Tool", "Marketing" BotType=UCB时,取值如下: User-Agent为空或不存在 User-Agent类型为BOT User-Agent类型为HTTP Library User-Agent类型为Framework User-Agent类型为Tools User-Agent类型为Unkonwn BOT User-Agent类型为Scanner Referer空或不存在 Referer滥用(多个UA使用相同Referer) Cookie滥用(多个UA使用相同Cookie) Cookie空或不存在 Connection空或不存在 Accept空或不存在 Accept-Language空或不存在 Accept-Enconding空或不存在 使用HTTP HEAD方法 HTTP协议为1.0或者更低 IDC-IP 腾讯云 IDC-IP 阿里云 IDC-IP 华为云 IDC-IP 金山云 IDC-IP UCloud IDC-IP 百度云 IDC-IP 京东云 IDC-IP 青云 IDC-IP Aws IDC-IP Azure IDC-IP Google 以上所有类型,FilterName为空时,表示不过滤,获取所有内容 :rtype: str """ return self._FilterName @FilterName.setter def FilterName(self, FilterName): self._FilterName = FilterName @property def FilterAction(self): """目前支持的Action "intercept" 拦截 "monitor",监控 "permit" 放行 "redirect" 重定向 尚未支持的Action "captcha" 验证码 :rtype: str """ return self._FilterAction @FilterAction.setter def FilterAction(self, FilterAction): self._FilterAction = FilterAction @property def FilterIp(self): """过滤的IP :rtype: str """ return self._FilterIp @FilterIp.setter def FilterIp(self, FilterIp): self._FilterIp = FilterIp @property def Domains(self): """域名列表,为空表示查询AppID维度数据 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains def _deserialize(self, params): self._BotType = params.get("BotType") self._Domain = params.get("Domain") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Offset = params.get("Offset") self._Limit = params.get("Limit") self._Area = params.get("Area") if params.get("SortBy") is not None: self._SortBy = [] for item in params.get("SortBy"): obj = BotSortBy() obj._deserialize(item) self._SortBy.append(obj) self._FilterName = params.get("FilterName") self._FilterAction = params.get("FilterAction") self._FilterIp = params.get("FilterIp") self._Domains = params.get("Domains") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeScdnBotRecordsResponse(AbstractModel): """DescribeScdnBotRecords返回参数结构体 """ def __init__(self): r""" :param _Data: BOT拦截结果数组 :type Data: list of BotRecord :param _TotalCount: 记录数量 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._TotalCount = None self._RequestId = None @property def Data(self): """BOT拦截结果数组 :rtype: list of BotRecord """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def TotalCount(self): """记录数量 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = BotRecord() obj._deserialize(item) self._Data.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class DescribeScdnConfigRequest(AbstractModel): """DescribeScdnConfig请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str """ self._Domain = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeScdnConfigResponse(AbstractModel): """DescribeScdnConfig返回参数结构体 """ def __init__(self): r""" :param _Acl: 自定义防护策略配置 :type Acl: :class:`tencentcloud.cdn.v20180606.models.ScdnAclConfig` :param _Waf: Web 攻击防护(WAF)配置 :type Waf: :class:`tencentcloud.cdn.v20180606.models.ScdnWafConfig` :param _CC: CC 防护配置 :type CC: :class:`tencentcloud.cdn.v20180606.models.ScdnConfig` :param _Ddos: DDOS 防护配置 :type Ddos: :class:`tencentcloud.cdn.v20180606.models.ScdnDdosConfig` :param _Bot: BOT 防护配置 :type Bot: :class:`tencentcloud.cdn.v20180606.models.ScdnBotConfig` :param _Status: 当前状态,取值online | offline 注意:此字段可能返回 null,表示取不到有效值。 :type Status: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Acl = None self._Waf = None self._CC = None self._Ddos = None self._Bot = None self._Status = None self._RequestId = None @property def Acl(self): """自定义防护策略配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnAclConfig` """ return self._Acl @Acl.setter def Acl(self, Acl): self._Acl = Acl @property def Waf(self): """Web 攻击防护(WAF)配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnWafConfig` """ return self._Waf @Waf.setter def Waf(self, Waf): self._Waf = Waf @property def CC(self): """CC 防护配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnConfig` """ return self._CC @CC.setter def CC(self, CC): self._CC = CC @property def Ddos(self): """DDOS 防护配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnDdosConfig` """ return self._Ddos @Ddos.setter def Ddos(self, Ddos): self._Ddos = Ddos @property def Bot(self): """BOT 防护配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnBotConfig` """ return self._Bot @Bot.setter def Bot(self, Bot): self._Bot = Bot @property def Status(self): """当前状态,取值online | offline 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Acl") is not None: self._Acl = ScdnAclConfig() self._Acl._deserialize(params.get("Acl")) if params.get("Waf") is not None: self._Waf = ScdnWafConfig() self._Waf._deserialize(params.get("Waf")) if params.get("CC") is not None: self._CC = ScdnConfig() self._CC._deserialize(params.get("CC")) if params.get("Ddos") is not None: self._Ddos = ScdnDdosConfig() self._Ddos._deserialize(params.get("Ddos")) if params.get("Bot") is not None: self._Bot = ScdnBotConfig() self._Bot._deserialize(params.get("Bot")) self._Status = params.get("Status") self._RequestId = params.get("RequestId") class DescribeScdnIpStrategyRequest(AbstractModel): """DescribeScdnIpStrategy请求参数结构体 """ def __init__(self): r""" :param _Offset: 分页起始地址 :type Offset: int :param _Limit: 列表分页记录条数,最大1000 :type Limit: int :param _Filters: 查询条件过滤器 :type Filters: list of ScdnIpStrategyFilter :param _Order: 指定查询返回结果的排序字段,支持domain,update_time :type Order: str :param _Sequence: 排序方式,支持asc,desc :type Sequence: str """ self._Offset = None self._Limit = None self._Filters = None self._Order = None self._Sequence = None @property def Offset(self): """分页起始地址 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """列表分页记录条数,最大1000 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Filters(self): """查询条件过滤器 :rtype: list of ScdnIpStrategyFilter """ return self._Filters @Filters.setter def Filters(self, Filters): self._Filters = Filters @property def Order(self): """指定查询返回结果的排序字段,支持domain,update_time :rtype: str """ return self._Order @Order.setter def Order(self, Order): self._Order = Order @property def Sequence(self): """排序方式,支持asc,desc :rtype: str """ return self._Sequence @Sequence.setter def Sequence(self, Sequence): self._Sequence = Sequence def _deserialize(self, params): self._Offset = params.get("Offset") self._Limit = params.get("Limit") if params.get("Filters") is not None: self._Filters = [] for item in params.get("Filters"): obj = ScdnIpStrategyFilter() obj._deserialize(item) self._Filters.append(obj) self._Order = params.get("Order") self._Sequence = params.get("Sequence") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeScdnIpStrategyResponse(AbstractModel): """DescribeScdnIpStrategy返回参数结构体 """ def __init__(self): r""" :param _IpStrategyList: IP策略列表 注意:此字段可能返回 null,表示取不到有效值。 :type IpStrategyList: list of ScdnIpStrategy :param _TotalCount: 配置的策略条数 注意:此字段可能返回 null,表示取不到有效值。 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._IpStrategyList = None self._TotalCount = None self._RequestId = None @property def IpStrategyList(self): """IP策略列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ScdnIpStrategy """ return self._IpStrategyList @IpStrategyList.setter def IpStrategyList(self, IpStrategyList): self._IpStrategyList = IpStrategyList @property def TotalCount(self): """配置的策略条数 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("IpStrategyList") is not None: self._IpStrategyList = [] for item in params.get("IpStrategyList"): obj = ScdnIpStrategy() obj._deserialize(item) self._IpStrategyList.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class DescribeScdnTopDataRequest(AbstractModel): """DescribeScdnTopData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :type EndTime: str :param _Mode: 查询的SCDN TOP攻击数据类型: waf:Web 攻击防护TOP数据 :type Mode: str :param _Metric: 排序对象,支持以下几种形式: url:攻击目标 url 排序 ip:攻击源 IP 排序 attackType:攻击类型排序 :type Metric: str :param _Filter: 排序使用的指标名称: request:请求次数 :type Filter: str :param _Domain: 指定域名查询 :type Domain: str :param _AttackType: 指定攻击类型, 仅 Mode=waf 时有效 不填则查询所有攻击类型的数据总和 AttackType 映射如下: other = '未知类型' malicious_scan = "恶意扫描" sql_inject = "SQL注入攻击" xss = "XSS攻击" cmd_inject = "命令注入攻击" ldap_inject = "LDAP注入攻击" ssi_inject = "SSI注入攻击" xml_inject = "XML注入攻击" web_service = "WEB服务漏洞攻击" web_app = "WEB应用漏洞攻击" path_traversal = "路径跨越攻击" illegal_access_core_file = "核心文件非法访问" trojan_horse = "木马后门攻击" csrf = "CSRF攻击" malicious_file_upload= '恶意文件上传' :type AttackType: str :param _DefenceMode: 指定防御模式,仅 Mode=waf 时有效 不填则查询所有防御模式的数据总和 DefenceMode 映射如下: observe = '观察模式' intercept = '拦截模式' :type DefenceMode: str """ self._StartTime = None self._EndTime = None self._Mode = None self._Metric = None self._Filter = None self._Domain = None self._AttackType = None self._DefenceMode = None @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Mode(self): """查询的SCDN TOP攻击数据类型: waf:Web 攻击防护TOP数据 :rtype: str """ return self._Mode @Mode.setter def Mode(self, Mode): self._Mode = Mode @property def Metric(self): """排序对象,支持以下几种形式: url:攻击目标 url 排序 ip:攻击源 IP 排序 attackType:攻击类型排序 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Filter(self): """排序使用的指标名称: request:请求次数 :rtype: str """ return self._Filter @Filter.setter def Filter(self, Filter): self._Filter = Filter @property def Domain(self): """指定域名查询 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def AttackType(self): """指定攻击类型, 仅 Mode=waf 时有效 不填则查询所有攻击类型的数据总和 AttackType 映射如下: other = '未知类型' malicious_scan = "恶意扫描" sql_inject = "SQL注入攻击" xss = "XSS攻击" cmd_inject = "命令注入攻击" ldap_inject = "LDAP注入攻击" ssi_inject = "SSI注入攻击" xml_inject = "XML注入攻击" web_service = "WEB服务漏洞攻击" web_app = "WEB应用漏洞攻击" path_traversal = "路径跨越攻击" illegal_access_core_file = "核心文件非法访问" trojan_horse = "木马后门攻击" csrf = "CSRF攻击" malicious_file_upload= '恶意文件上传' :rtype: str """ return self._AttackType @AttackType.setter def AttackType(self, AttackType): self._AttackType = AttackType @property def DefenceMode(self): """指定防御模式,仅 Mode=waf 时有效 不填则查询所有防御模式的数据总和 DefenceMode 映射如下: observe = '观察模式' intercept = '拦截模式' :rtype: str """ return self._DefenceMode @DefenceMode.setter def DefenceMode(self, DefenceMode): self._DefenceMode = DefenceMode def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Mode = params.get("Mode") self._Metric = params.get("Metric") self._Filter = params.get("Filter") self._Domain = params.get("Domain") self._AttackType = params.get("AttackType") self._DefenceMode = params.get("DefenceMode") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeScdnTopDataResponse(AbstractModel): """DescribeScdnTopData返回参数结构体 """ def __init__(self): r""" :param _TopTypeData: WAF 攻击类型统计 注意:此字段可能返回 null,表示取不到有效值。 :type TopTypeData: list of ScdnTypeData :param _TopIpData: TOP 攻击源 IP 统计 注意:此字段可能返回 null,表示取不到有效值。 :type TopIpData: list of ScdnTopData :param _Mode: 查询的SCDN类型,当前仅支持 waf :type Mode: str :param _TopUrlData: TOP URL 统计 注意:此字段可能返回 null,表示取不到有效值。 :type TopUrlData: list of ScdnTopUrlData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TopTypeData = None self._TopIpData = None self._Mode = None self._TopUrlData = None self._RequestId = None @property def TopTypeData(self): """WAF 攻击类型统计 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ScdnTypeData """ return self._TopTypeData @TopTypeData.setter def TopTypeData(self, TopTypeData): self._TopTypeData = TopTypeData @property def TopIpData(self): """TOP 攻击源 IP 统计 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ScdnTopData """ return self._TopIpData @TopIpData.setter def TopIpData(self, TopIpData): self._TopIpData = TopIpData @property def Mode(self): """查询的SCDN类型,当前仅支持 waf :rtype: str """ return self._Mode @Mode.setter def Mode(self, Mode): self._Mode = Mode @property def TopUrlData(self): """TOP URL 统计 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ScdnTopUrlData """ return self._TopUrlData @TopUrlData.setter def TopUrlData(self, TopUrlData): self._TopUrlData = TopUrlData @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("TopTypeData") is not None: self._TopTypeData = [] for item in params.get("TopTypeData"): obj = ScdnTypeData() obj._deserialize(item) self._TopTypeData.append(obj) if params.get("TopIpData") is not None: self._TopIpData = [] for item in params.get("TopIpData"): obj = ScdnTopData() obj._deserialize(item) self._TopIpData.append(obj) self._Mode = params.get("Mode") if params.get("TopUrlData") is not None: self._TopUrlData = [] for item in params.get("TopUrlData"): obj = ScdnTopUrlData() obj._deserialize(item) self._TopUrlData.append(obj) self._RequestId = params.get("RequestId") class DescribeTopDataRequest(AbstractModel): """DescribeTopData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始日期:yyyy-MM-dd HH:mm:ss 仅支持按天粒度的数据查询,取入参中的天信息作为起始日期 返回大于等于起始日期当天 00:00:00 点产生的数据,如 StartTime为2018-09-04 10:40:00,返回数据的起始时间为2018-09-04 00:00:00 仅支持 90 天内数据查询 :type StartTime: str :param _EndTime: 查询结束日期:yyyy-MM-dd HH:mm:ss 仅支持按天粒度的数据查询,取入参中的天信息作为结束日期 返回小于等于结束日期当天 23:59:59 产生的数据,如EndTime为2018-09-05 22:40:00,返回数据的结束时间为2018-09-05 23:59:59 EndTime 需要大于等于 StartTime :type EndTime: str :param _Metric: 排序对象,支持以下几种形式: ip、ua_device、ua_browser、ua_os、referer :type Metric: str :param _Filter: 排序使用的指标名称: flux:Metric 为 host 时指代访问流量 request:Metric 为 host 时指代访问请求数 :type Filter: str :param _Domains: 指定查询域名列表,最多可一次性查询 30 个加速域名明细 :type Domains: list of str :param _Project: 未填充域名情况下,指定项目查询,若填充了具体域名信息,以域名为主 :type Project: int :param _Detail: 是否详细显示每个域名的的具体数值 :type Detail: bool :param _Area: 指定服务地域查询,不填充表示查询中国境内 CDN 数据 mainland:指定查询中国境内 CDN 数据 overseas:指定查询中国境外 CDN 数据 :type Area: str :param _Product: 指定查询的产品数据,目前仅可使用cdn :type Product: str """ self._StartTime = None self._EndTime = None self._Metric = None self._Filter = None self._Domains = None self._Project = None self._Detail = None self._Area = None self._Product = None @property def StartTime(self): """查询起始日期:yyyy-MM-dd HH:mm:ss 仅支持按天粒度的数据查询,取入参中的天信息作为起始日期 返回大于等于起始日期当天 00:00:00 点产生的数据,如 StartTime为2018-09-04 10:40:00,返回数据的起始时间为2018-09-04 00:00:00 仅支持 90 天内数据查询 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束日期:yyyy-MM-dd HH:mm:ss 仅支持按天粒度的数据查询,取入参中的天信息作为结束日期 返回小于等于结束日期当天 23:59:59 产生的数据,如EndTime为2018-09-05 22:40:00,返回数据的结束时间为2018-09-05 23:59:59 EndTime 需要大于等于 StartTime :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Metric(self): """排序对象,支持以下几种形式: ip、ua_device、ua_browser、ua_os、referer :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Filter(self): """排序使用的指标名称: flux:Metric 为 host 时指代访问流量 request:Metric 为 host 时指代访问请求数 :rtype: str """ return self._Filter @Filter.setter def Filter(self, Filter): self._Filter = Filter @property def Domains(self): """指定查询域名列表,最多可一次性查询 30 个加速域名明细 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def Project(self): """未填充域名情况下,指定项目查询,若填充了具体域名信息,以域名为主 :rtype: int """ return self._Project @Project.setter def Project(self, Project): self._Project = Project @property def Detail(self): """是否详细显示每个域名的的具体数值 :rtype: bool """ return self._Detail @Detail.setter def Detail(self, Detail): self._Detail = Detail @property def Area(self): """指定服务地域查询,不填充表示查询中国境内 CDN 数据 mainland:指定查询中国境内 CDN 数据 overseas:指定查询中国境外 CDN 数据 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Product(self): """指定查询的产品数据,目前仅可使用cdn :rtype: str """ return self._Product @Product.setter def Product(self, Product): self._Product = Product def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Metric = params.get("Metric") self._Filter = params.get("Filter") self._Domains = params.get("Domains") self._Project = params.get("Project") self._Detail = params.get("Detail") self._Area = params.get("Area") self._Product = params.get("Product") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTopDataResponse(AbstractModel): """DescribeTopData返回参数结构体 """ def __init__(self): r""" :param _Data: 各个资源的Top 访问数据详情。 :type Data: list of TopDataMore :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """各个资源的Top 访问数据详情。 :rtype: list of TopDataMore """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = TopDataMore() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class DescribeTrafficPackagesRequest(AbstractModel): """DescribeTrafficPackages请求参数结构体 """ def __init__(self): r""" :param _Offset: 分页查询起始地址,默认 0 :type Offset: int :param _Limit: 分页查询记录个数,默认100,最大1000 :type Limit: int :param _SortBy: 流量包排序方式,支持以下值: expireTimeDesc:默认值,按过期时间倒序 expireTimeAsc:按过期时间正序 createTimeDesc:按创建时间倒序 createTimeAsc:按创建时间正序 status:按状态排序,正常抵扣>未生效>已用尽>已过期 channel:按来源排序,主动购买>自动续订>CDN赠送 :type SortBy: str """ self._Offset = None self._Limit = None self._SortBy = None @property def Offset(self): """分页查询起始地址,默认 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """分页查询记录个数,默认100,最大1000 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def SortBy(self): """流量包排序方式,支持以下值: expireTimeDesc:默认值,按过期时间倒序 expireTimeAsc:按过期时间正序 createTimeDesc:按创建时间倒序 createTimeAsc:按创建时间正序 status:按状态排序,正常抵扣>未生效>已用尽>已过期 channel:按来源排序,主动购买>自动续订>CDN赠送 :rtype: str """ return self._SortBy @SortBy.setter def SortBy(self, SortBy): self._SortBy = SortBy def _deserialize(self, params): self._Offset = params.get("Offset") self._Limit = params.get("Limit") self._SortBy = params.get("SortBy") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTrafficPackagesResponse(AbstractModel): """DescribeTrafficPackages返回参数结构体 """ def __init__(self): r""" :param _TotalCount: 流量包总个数 :type TotalCount: int :param _TrafficPackages: 流量包详情 :type TrafficPackages: list of TrafficPackage :param _ExpiringCount: 即将过期的流量包个数(7天内) :type ExpiringCount: int :param _EnabledCount: 有效流量包个数 :type EnabledCount: int :param _PaidCount: 付费流量包个数 :type PaidCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TotalCount = None self._TrafficPackages = None self._ExpiringCount = None self._EnabledCount = None self._PaidCount = None self._RequestId = None @property def TotalCount(self): """流量包总个数 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def TrafficPackages(self): """流量包详情 :rtype: list of TrafficPackage """ return self._TrafficPackages @TrafficPackages.setter def TrafficPackages(self, TrafficPackages): self._TrafficPackages = TrafficPackages @property def ExpiringCount(self): """即将过期的流量包个数(7天内) :rtype: int """ return self._ExpiringCount @ExpiringCount.setter def ExpiringCount(self, ExpiringCount): self._ExpiringCount = ExpiringCount @property def EnabledCount(self): """有效流量包个数 :rtype: int """ return self._EnabledCount @EnabledCount.setter def EnabledCount(self, EnabledCount): self._EnabledCount = EnabledCount @property def PaidCount(self): """付费流量包个数 :rtype: int """ return self._PaidCount @PaidCount.setter def PaidCount(self, PaidCount): self._PaidCount = PaidCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TotalCount = params.get("TotalCount") if params.get("TrafficPackages") is not None: self._TrafficPackages = [] for item in params.get("TrafficPackages"): obj = TrafficPackage() obj._deserialize(item) self._TrafficPackages.append(obj) self._ExpiringCount = params.get("ExpiringCount") self._EnabledCount = params.get("EnabledCount") self._PaidCount = params.get("PaidCount") self._RequestId = params.get("RequestId") class DescribeUrlViolationsRequest(AbstractModel): """DescribeUrlViolations请求参数结构体 """ def __init__(self): r""" :param _Offset: 分页查询偏移量,默认为 0 :type Offset: int :param _Limit: 分页查询限制数目,默认为 100 :type Limit: int :param _Domains: 指定的域名查询 :type Domains: list of str """ self._Offset = None self._Limit = None self._Domains = None @property def Offset(self): """分页查询偏移量,默认为 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """分页查询限制数目,默认为 100 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Domains(self): """指定的域名查询 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains def _deserialize(self, params): self._Offset = params.get("Offset") self._Limit = params.get("Limit") self._Domains = params.get("Domains") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeUrlViolationsResponse(AbstractModel): """DescribeUrlViolations返回参数结构体 """ def __init__(self): r""" :param _UrlRecordList: 违规 URL 详情 注意:此字段可能返回 null,表示取不到有效值。 :type UrlRecordList: list of ViolationUrl :param _TotalCount: 记录总数,用于分页 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._UrlRecordList = None self._TotalCount = None self._RequestId = None @property def UrlRecordList(self): """违规 URL 详情 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ViolationUrl """ return self._UrlRecordList @UrlRecordList.setter def UrlRecordList(self, UrlRecordList): self._UrlRecordList = UrlRecordList @property def TotalCount(self): """记录总数,用于分页 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("UrlRecordList") is not None: self._UrlRecordList = [] for item in params.get("UrlRecordList"): obj = ViolationUrl() obj._deserialize(item) self._UrlRecordList.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class DescribeWafDataRequest(AbstractModel): """DescribeWafData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :type EndTime: str :param _Interval: 时间粒度,支持以下几种模式: min:1 分钟粒度,指定查询区间 24 小时内(含 24 小时),可返回 1 分钟粒度明细数据 5min:5 分钟粒度,指定查询区间 31 天内(含 31 天),可返回 5 分钟粒度明细数据 hour:1 小时粒度,指定查询区间 31 天内(含 31 天),可返回 1 小时粒度明细数据 day:天粒度,指定查询区间大于 31 天,可返回天粒度明细数据 仅支持30天内数据查询,且查询时间范围在 7 到 30 天最小粒度是 hour。 :type Interval: str :param _Domain: 指定域名查询 :type Domain: str :param _AttackType: 指定攻击类型 不填则查询所有攻击类型的数据分布 AttackType 映射如下: "webshell" : Webshell检测防护 "oa" : 常见OA漏洞防护 "xss" : XSS跨站脚本攻击防护 "xxe" : XXE攻击防护 "webscan" : 扫描器攻击漏洞防护 "cms" : 常见CMS漏洞防护 "upload" : 恶意文件上传攻击防护 "sql" : SQL注入攻击防护 "cmd_inject": 命令/代码注入攻击防护 "osc" : 开源组件漏洞防护 "file_read" : 任意文件读取 "ldap" : LDAP注入攻击防护 "other" : 其它漏洞防护 :type AttackType: str :param _DefenceMode: 指定防御模式 不填则查询所有防御模式的数据总和 DefenceMode映射如下: observe = '观察模式' intercept = '拦截模式' :type DefenceMode: str :param _Area: 地域:mainland 或 overseas :type Area: str :param _AttackTypes: 指定多个攻击类型,取值参考AttackType :type AttackTypes: list of str :param _Domains: 指定域名列表查询 :type Domains: list of str """ self._StartTime = None self._EndTime = None self._Interval = None self._Domain = None self._AttackType = None self._DefenceMode = None self._Area = None self._AttackTypes = None self._Domains = None @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Interval(self): """时间粒度,支持以下几种模式: min:1 分钟粒度,指定查询区间 24 小时内(含 24 小时),可返回 1 分钟粒度明细数据 5min:5 分钟粒度,指定查询区间 31 天内(含 31 天),可返回 5 分钟粒度明细数据 hour:1 小时粒度,指定查询区间 31 天内(含 31 天),可返回 1 小时粒度明细数据 day:天粒度,指定查询区间大于 31 天,可返回天粒度明细数据 仅支持30天内数据查询,且查询时间范围在 7 到 30 天最小粒度是 hour。 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Domain(self): """指定域名查询 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def AttackType(self): """指定攻击类型 不填则查询所有攻击类型的数据分布 AttackType 映射如下: "webshell" : Webshell检测防护 "oa" : 常见OA漏洞防护 "xss" : XSS跨站脚本攻击防护 "xxe" : XXE攻击防护 "webscan" : 扫描器攻击漏洞防护 "cms" : 常见CMS漏洞防护 "upload" : 恶意文件上传攻击防护 "sql" : SQL注入攻击防护 "cmd_inject": 命令/代码注入攻击防护 "osc" : 开源组件漏洞防护 "file_read" : 任意文件读取 "ldap" : LDAP注入攻击防护 "other" : 其它漏洞防护 :rtype: str """ return self._AttackType @AttackType.setter def AttackType(self, AttackType): self._AttackType = AttackType @property def DefenceMode(self): """指定防御模式 不填则查询所有防御模式的数据总和 DefenceMode映射如下: observe = '观察模式' intercept = '拦截模式' :rtype: str """ return self._DefenceMode @DefenceMode.setter def DefenceMode(self, DefenceMode): self._DefenceMode = DefenceMode @property def Area(self): """地域:mainland 或 overseas :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def AttackTypes(self): """指定多个攻击类型,取值参考AttackType :rtype: list of str """ return self._AttackTypes @AttackTypes.setter def AttackTypes(self, AttackTypes): self._AttackTypes = AttackTypes @property def Domains(self): """指定域名列表查询 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Interval = params.get("Interval") self._Domain = params.get("Domain") self._AttackType = params.get("AttackType") self._DefenceMode = params.get("DefenceMode") self._Area = params.get("Area") self._AttackTypes = params.get("AttackTypes") self._Domains = params.get("Domains") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeWafDataResponse(AbstractModel): """DescribeWafData返回参数结构体 """ def __init__(self): r""" :param _Data: 粒度数据 :type Data: list of TimestampData :param _Interval: 粒度 :type Interval: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._Interval = None self._RequestId = None @property def Data(self): """粒度数据 :rtype: list of TimestampData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def Interval(self): """粒度 :rtype: str """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = TimestampData() obj._deserialize(item) self._Data.append(obj) self._Interval = params.get("Interval") self._RequestId = params.get("RequestId") class DetailDomain(AbstractModel): """加速域名全量配置信息 """ def __init__(self): r""" :param _ResourceId: 域名 ID :type ResourceId: str :param _AppId: 腾讯云账号ID :type AppId: int :param _Domain: 加速域名 :type Domain: str :param _Cname: 域名对应的 CNAME 地址 注意:此字段可能返回 null,表示取不到有效值。 :type Cname: str :param _Status: 加速服务状态 rejected:域名审核未通过,域名备案过期/被注销导致 processing:部署中 closing:关闭中 online:已启动 offline:已关闭 :type Status: str :param _ProjectId: 项目 ID,可前往腾讯云项目管理页面查看 :type ProjectId: int :param _ServiceType: 加速域名业务类型 web:网页小文件 download:下载大文件 media:音视频点播 hybrid: 动静加速 dynamic: 动态加速 :type ServiceType: str :param _CreateTime: 域名创建时间 :type CreateTime: str :param _UpdateTime: 域名更新时间 :type UpdateTime: str :param _Origin: 源站配置 :type Origin: :class:`tencentcloud.cdn.v20180606.models.Origin` :param _IpFilter: IP 黑白名单配置 注意:此字段可能返回 null,表示取不到有效值。 :type IpFilter: :class:`tencentcloud.cdn.v20180606.models.IpFilter` :param _IpFreqLimit: IP 访问限频配置 注意:此字段可能返回 null,表示取不到有效值。 :type IpFreqLimit: :class:`tencentcloud.cdn.v20180606.models.IpFreqLimit` :param _StatusCodeCache: 状态码缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :type StatusCodeCache: :class:`tencentcloud.cdn.v20180606.models.StatusCodeCache` :param _Compression: 智能压缩配置 注意:此字段可能返回 null,表示取不到有效值。 :type Compression: :class:`tencentcloud.cdn.v20180606.models.Compression` :param _BandwidthAlert: 带宽封顶配置 注意:此字段可能返回 null,表示取不到有效值。 :type BandwidthAlert: :class:`tencentcloud.cdn.v20180606.models.BandwidthAlert` :param _RangeOriginPull: Range 回源配置 注意:此字段可能返回 null,表示取不到有效值。 :type RangeOriginPull: :class:`tencentcloud.cdn.v20180606.models.RangeOriginPull` :param _FollowRedirect: 301/302 回源自动跟随配置 注意:此字段可能返回 null,表示取不到有效值。 :type FollowRedirect: :class:`tencentcloud.cdn.v20180606.models.FollowRedirect` :param _ErrorPage: 自定义错误页面配置 注意:此字段可能返回 null,表示取不到有效值。 :type ErrorPage: :class:`tencentcloud.cdn.v20180606.models.ErrorPage` :param _RequestHeader: 自定义请求头部配置 注意:此字段可能返回 null,表示取不到有效值。 :type RequestHeader: :class:`tencentcloud.cdn.v20180606.models.RequestHeader` :param _ResponseHeader: 自定义响应头部配置 注意:此字段可能返回 null,表示取不到有效值。 :type ResponseHeader: :class:`tencentcloud.cdn.v20180606.models.ResponseHeader` :param _DownstreamCapping: 单链接下行限速配置 注意:此字段可能返回 null,表示取不到有效值。 :type DownstreamCapping: :class:`tencentcloud.cdn.v20180606.models.DownstreamCapping` :param _CacheKey: 带参/不带参缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :type CacheKey: :class:`tencentcloud.cdn.v20180606.models.CacheKey` :param _ResponseHeaderCache: 源站头部缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :type ResponseHeaderCache: :class:`tencentcloud.cdn.v20180606.models.ResponseHeaderCache` :param _VideoSeek: 视频拖拽配置 注意:此字段可能返回 null,表示取不到有效值。 :type VideoSeek: :class:`tencentcloud.cdn.v20180606.models.VideoSeek` :param _Cache: 节点缓存过期规则配置 注意:此字段可能返回 null,表示取不到有效值。 :type Cache: :class:`tencentcloud.cdn.v20180606.models.Cache` :param _OriginPullOptimization: 跨国链路优化配置(功能灰度中,敬请期待) 注意:此字段可能返回 null,表示取不到有效值。 :type OriginPullOptimization: :class:`tencentcloud.cdn.v20180606.models.OriginPullOptimization` :param _Https: Https 加速相关配置 注意:此字段可能返回 null,表示取不到有效值。 :type Https: :class:`tencentcloud.cdn.v20180606.models.Https` :param _Authentication: 时间戳防盗链配置 注意:此字段可能返回 null,表示取不到有效值。 :type Authentication: :class:`tencentcloud.cdn.v20180606.models.Authentication` :param _Seo: SEO 优化配置 注意:此字段可能返回 null,表示取不到有效值。 :type Seo: :class:`tencentcloud.cdn.v20180606.models.Seo` :param _Disable: 域名封禁状态 normal:正常状态 overdue:账号欠费导致域名关闭,充值完成后可自行启动加速服务 malicious:域名出现恶意行为,强制关闭加速服务 ddos:域名被大规模 DDoS 攻击,关闭加速服务 idle:域名超过 90 天内无任何操作、数据产生,判定为不活跃域名自动关闭加速服务,可自行启动加速服务 unlicensed:域名未备案/备案注销,自动关闭加速服务,备案完成后可自行启动加速服务 capping:触发配置的带宽阈值上限 readonly:域名存在特殊配置,被锁定 注意:此字段可能返回 null,表示取不到有效值。 :type Disable: str :param _ForceRedirect: 访问协议强制跳转配置 注意:此字段可能返回 null,表示取不到有效值。 :type ForceRedirect: :class:`tencentcloud.cdn.v20180606.models.ForceRedirect` :param _Referer: Referer 防盗链配置 注意:此字段可能返回 null,表示取不到有效值。 :type Referer: :class:`tencentcloud.cdn.v20180606.models.Referer` :param _MaxAge: 浏览器缓存过期规则配置(功能灰度中,敬请期待) 注意:此字段可能返回 null,表示取不到有效值。 :type MaxAge: :class:`tencentcloud.cdn.v20180606.models.MaxAge` :param _Ipv6: Ipv6 回源配置(功能灰度中,敬请期待) 注意:此字段可能返回 null,表示取不到有效值。 :type Ipv6: :class:`tencentcloud.cdn.v20180606.models.Ipv6` :param _Compatibility: 是否兼容旧版本配置(内部兼容性字段) 注意:此字段可能返回 null,表示取不到有效值。 :type Compatibility: :class:`tencentcloud.cdn.v20180606.models.Compatibility` :param _SpecificConfig: 区域特殊配置 注意:此字段可能返回 null,表示取不到有效值。 :type SpecificConfig: :class:`tencentcloud.cdn.v20180606.models.SpecificConfig` :param _Area: 加速区域 mainland:中国境内加速 overseas:中国境外加速 global:全球加速 注意:此字段可能返回 null,表示取不到有效值。 :type Area: str :param _Readonly: 域名锁定状态 normal:未锁定 mainland:中国境内锁定 overseas:中国境外锁定 global:全球锁定 注意:此字段可能返回 null,表示取不到有效值。 :type Readonly: str :param _OriginPullTimeout: 回源超时配置 注意:此字段可能返回 null,表示取不到有效值。 :type OriginPullTimeout: :class:`tencentcloud.cdn.v20180606.models.OriginPullTimeout` :param _AwsPrivateAccess: 回源S3鉴权配置 注意:此字段可能返回 null,表示取不到有效值。 :type AwsPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.AwsPrivateAccess` :param _SecurityConfig: Scdn配置 注意:此字段可能返回 null,表示取不到有效值。 :type SecurityConfig: :class:`tencentcloud.cdn.v20180606.models.SecurityConfig` :param _ImageOptimization: ImageOptimization配置 注意:此字段可能返回 null,表示取不到有效值。 :type ImageOptimization: :class:`tencentcloud.cdn.v20180606.models.ImageOptimization` :param _UserAgentFilter: UA黑白名单配置 注意:此字段可能返回 null,表示取不到有效值。 :type UserAgentFilter: :class:`tencentcloud.cdn.v20180606.models.UserAgentFilter` :param _AccessControl: 访问控制 注意:此字段可能返回 null,表示取不到有效值。 :type AccessControl: :class:`tencentcloud.cdn.v20180606.models.AccessControl` :param _Advance: 是否支持高级配置项 on:支持 off:不支持 注意:此字段可能返回 null,表示取不到有效值。 :type Advance: str :param _UrlRedirect: URL重定向配置 注意:此字段可能返回 null,表示取不到有效值。 :type UrlRedirect: :class:`tencentcloud.cdn.v20180606.models.UrlRedirect` :param _AccessPort: 访问端口配置 注意:此字段可能返回 null,表示取不到有效值。 :type AccessPort: list of int :param _Tag: 标签配置 注意:此字段可能返回 null,表示取不到有效值。 :type Tag: list of Tag :param _AdvancedAuthentication: 时间戳防盗链高级配置,白名单功能 注意:此字段可能返回 null,表示取不到有效值。 :type AdvancedAuthentication: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthentication` :param _OriginAuthentication: 回源鉴权高级配置,白名单功能 注意:此字段可能返回 null,表示取不到有效值。 :type OriginAuthentication: :class:`tencentcloud.cdn.v20180606.models.OriginAuthentication` :param _Ipv6Access: Ipv6访问配置 注意:此字段可能返回 null,表示取不到有效值。 :type Ipv6Access: :class:`tencentcloud.cdn.v20180606.models.Ipv6Access` :param _AdvanceSet: 高级配置集合 注意:此字段可能返回 null,表示取不到有效值。 :type AdvanceSet: list of AdvanceConfig :param _OfflineCache: 离线缓存(功能灰度中,尚未全量,请等待后续全量发布) 注意:此字段可能返回 null,表示取不到有效值。 :type OfflineCache: :class:`tencentcloud.cdn.v20180606.models.OfflineCache` :param _OriginCombine: 合并回源(白名单功能) 注意:此字段可能返回 null,表示取不到有效值。 :type OriginCombine: :class:`tencentcloud.cdn.v20180606.models.OriginCombine` :param _PostMaxSize: POST上传配置项 注意:此字段可能返回 null,表示取不到有效值。 :type PostMaxSize: :class:`tencentcloud.cdn.v20180606.models.PostSize` :param _Quic: Quic配置 注意:此字段可能返回 null,表示取不到有效值。 :type Quic: :class:`tencentcloud.cdn.v20180606.models.Quic` :param _OssPrivateAccess: 回源OSS私有鉴权 注意:此字段可能返回 null,表示取不到有效值。 :type OssPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.OssPrivateAccess` :param _WebSocket: WebSocket配置 注意:此字段可能返回 null,表示取不到有效值。 :type WebSocket: :class:`tencentcloud.cdn.v20180606.models.WebSocket` :param _RemoteAuthentication: 远程鉴权配置 注意:此字段可能返回 null,表示取不到有效值。 :type RemoteAuthentication: :class:`tencentcloud.cdn.v20180606.models.RemoteAuthentication` :param _ShareCname: 共享CNAME配置(白名单功能) 注意:此字段可能返回 null,表示取不到有效值。 :type ShareCname: :class:`tencentcloud.cdn.v20180606.models.ShareCname` :param _RuleEngine: 规则引擎 注意:此字段可能返回 null,表示取不到有效值。 :type RuleEngine: :class:`tencentcloud.cdn.v20180606.models.RuleEngine` :param _ParentHost: 主域名 注意:此字段可能返回 null,表示取不到有效值。 :type ParentHost: str :param _HwPrivateAccess: 华为云对象存储回源鉴权 注意:此字段可能返回 null,表示取不到有效值。 :type HwPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.HwPrivateAccess` :param _QnPrivateAccess: 七牛云对象存储回源鉴权 注意:此字段可能返回 null,表示取不到有效值。 :type QnPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.QnPrivateAccess` :param _HttpsBilling: HTTPS服务,缺省时默认开启 注意:此字段可能返回 null,表示取不到有效值。 :type HttpsBilling: :class:`tencentcloud.cdn.v20180606.models.HttpsBilling` :param _OthersPrivateAccess: 其他厂商对象存储回源鉴权 注意:此字段可能返回 null,表示取不到有效值。 :type OthersPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.OthersPrivateAccess` :param _ParamFilter: 参数黑名单 注意:此字段可能返回 null,表示取不到有效值。 :type ParamFilter: :class:`tencentcloud.cdn.v20180606.models.ParamFilter` """ self._ResourceId = None self._AppId = None self._Domain = None self._Cname = None self._Status = None self._ProjectId = None self._ServiceType = None self._CreateTime = None self._UpdateTime = None self._Origin = None self._IpFilter = None self._IpFreqLimit = None self._StatusCodeCache = None self._Compression = None self._BandwidthAlert = None self._RangeOriginPull = None self._FollowRedirect = None self._ErrorPage = None self._RequestHeader = None self._ResponseHeader = None self._DownstreamCapping = None self._CacheKey = None self._ResponseHeaderCache = None self._VideoSeek = None self._Cache = None self._OriginPullOptimization = None self._Https = None self._Authentication = None self._Seo = None self._Disable = None self._ForceRedirect = None self._Referer = None self._MaxAge = None self._Ipv6 = None self._Compatibility = None self._SpecificConfig = None self._Area = None self._Readonly = None self._OriginPullTimeout = None self._AwsPrivateAccess = None self._SecurityConfig = None self._ImageOptimization = None self._UserAgentFilter = None self._AccessControl = None self._Advance = None self._UrlRedirect = None self._AccessPort = None self._Tag = None self._AdvancedAuthentication = None self._OriginAuthentication = None self._Ipv6Access = None self._AdvanceSet = None self._OfflineCache = None self._OriginCombine = None self._PostMaxSize = None self._Quic = None self._OssPrivateAccess = None self._WebSocket = None self._RemoteAuthentication = None self._ShareCname = None self._RuleEngine = None self._ParentHost = None self._HwPrivateAccess = None self._QnPrivateAccess = None self._HttpsBilling = None self._OthersPrivateAccess = None self._ParamFilter = None @property def ResourceId(self): """域名 ID :rtype: str """ return self._ResourceId @ResourceId.setter def ResourceId(self, ResourceId): self._ResourceId = ResourceId @property def AppId(self): """腾讯云账号ID :rtype: int """ return self._AppId @AppId.setter def AppId(self, AppId): self._AppId = AppId @property def Domain(self): """加速域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Cname(self): """域名对应的 CNAME 地址 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Cname @Cname.setter def Cname(self, Cname): self._Cname = Cname @property def Status(self): """加速服务状态 rejected:域名审核未通过,域名备案过期/被注销导致 processing:部署中 closing:关闭中 online:已启动 offline:已关闭 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def ProjectId(self): """项目 ID,可前往腾讯云项目管理页面查看 :rtype: int """ return self._ProjectId @ProjectId.setter def ProjectId(self, ProjectId): self._ProjectId = ProjectId @property def ServiceType(self): """加速域名业务类型 web:网页小文件 download:下载大文件 media:音视频点播 hybrid: 动静加速 dynamic: 动态加速 :rtype: str """ return self._ServiceType @ServiceType.setter def ServiceType(self, ServiceType): self._ServiceType = ServiceType @property def CreateTime(self): """域名创建时间 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def UpdateTime(self): """域名更新时间 :rtype: str """ return self._UpdateTime @UpdateTime.setter def UpdateTime(self, UpdateTime): self._UpdateTime = UpdateTime @property def Origin(self): """源站配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Origin` """ return self._Origin @Origin.setter def Origin(self, Origin): self._Origin = Origin @property def IpFilter(self): """IP 黑白名单配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.IpFilter` """ return self._IpFilter @IpFilter.setter def IpFilter(self, IpFilter): self._IpFilter = IpFilter @property def IpFreqLimit(self): """IP 访问限频配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.IpFreqLimit` """ return self._IpFreqLimit @IpFreqLimit.setter def IpFreqLimit(self, IpFreqLimit): self._IpFreqLimit = IpFreqLimit @property def StatusCodeCache(self): """状态码缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.StatusCodeCache` """ return self._StatusCodeCache @StatusCodeCache.setter def StatusCodeCache(self, StatusCodeCache): self._StatusCodeCache = StatusCodeCache @property def Compression(self): """智能压缩配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Compression` """ return self._Compression @Compression.setter def Compression(self, Compression): self._Compression = Compression @property def BandwidthAlert(self): """带宽封顶配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.BandwidthAlert` """ return self._BandwidthAlert @BandwidthAlert.setter def BandwidthAlert(self, BandwidthAlert): self._BandwidthAlert = BandwidthAlert @property def RangeOriginPull(self): """Range 回源配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RangeOriginPull` """ return self._RangeOriginPull @RangeOriginPull.setter def RangeOriginPull(self, RangeOriginPull): self._RangeOriginPull = RangeOriginPull @property def FollowRedirect(self): """301/302 回源自动跟随配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.FollowRedirect` """ return self._FollowRedirect @FollowRedirect.setter def FollowRedirect(self, FollowRedirect): self._FollowRedirect = FollowRedirect @property def ErrorPage(self): """自定义错误页面配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ErrorPage` """ return self._ErrorPage @ErrorPage.setter def ErrorPage(self, ErrorPage): self._ErrorPage = ErrorPage @property def RequestHeader(self): """自定义请求头部配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RequestHeader` """ return self._RequestHeader @RequestHeader.setter def RequestHeader(self, RequestHeader): self._RequestHeader = RequestHeader @property def ResponseHeader(self): """自定义响应头部配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ResponseHeader` """ return self._ResponseHeader @ResponseHeader.setter def ResponseHeader(self, ResponseHeader): self._ResponseHeader = ResponseHeader @property def DownstreamCapping(self): """单链接下行限速配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.DownstreamCapping` """ return self._DownstreamCapping @DownstreamCapping.setter def DownstreamCapping(self, DownstreamCapping): self._DownstreamCapping = DownstreamCapping @property def CacheKey(self): """带参/不带参缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheKey` """ return self._CacheKey @CacheKey.setter def CacheKey(self, CacheKey): self._CacheKey = CacheKey @property def ResponseHeaderCache(self): """源站头部缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ResponseHeaderCache` """ return self._ResponseHeaderCache @ResponseHeaderCache.setter def ResponseHeaderCache(self, ResponseHeaderCache): self._ResponseHeaderCache = ResponseHeaderCache @property def VideoSeek(self): """视频拖拽配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.VideoSeek` """ return self._VideoSeek @VideoSeek.setter def VideoSeek(self, VideoSeek): self._VideoSeek = VideoSeek @property def Cache(self): """节点缓存过期规则配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Cache` """ return self._Cache @Cache.setter def Cache(self, Cache): self._Cache = Cache @property def OriginPullOptimization(self): """跨国链路优化配置(功能灰度中,敬请期待) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginPullOptimization` """ return self._OriginPullOptimization @OriginPullOptimization.setter def OriginPullOptimization(self, OriginPullOptimization): self._OriginPullOptimization = OriginPullOptimization @property def Https(self): """Https 加速相关配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Https` """ return self._Https @Https.setter def Https(self, Https): self._Https = Https @property def Authentication(self): """时间戳防盗链配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Authentication` """ return self._Authentication @Authentication.setter def Authentication(self, Authentication): self._Authentication = Authentication @property def Seo(self): """SEO 优化配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Seo` """ return self._Seo @Seo.setter def Seo(self, Seo): self._Seo = Seo @property def Disable(self): """域名封禁状态 normal:正常状态 overdue:账号欠费导致域名关闭,充值完成后可自行启动加速服务 malicious:域名出现恶意行为,强制关闭加速服务 ddos:域名被大规模 DDoS 攻击,关闭加速服务 idle:域名超过 90 天内无任何操作、数据产生,判定为不活跃域名自动关闭加速服务,可自行启动加速服务 unlicensed:域名未备案/备案注销,自动关闭加速服务,备案完成后可自行启动加速服务 capping:触发配置的带宽阈值上限 readonly:域名存在特殊配置,被锁定 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Disable @Disable.setter def Disable(self, Disable): self._Disable = Disable @property def ForceRedirect(self): """访问协议强制跳转配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ForceRedirect` """ return self._ForceRedirect @ForceRedirect.setter def ForceRedirect(self, ForceRedirect): self._ForceRedirect = ForceRedirect @property def Referer(self): """Referer 防盗链配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Referer` """ return self._Referer @Referer.setter def Referer(self, Referer): self._Referer = Referer @property def MaxAge(self): """浏览器缓存过期规则配置(功能灰度中,敬请期待) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.MaxAge` """ return self._MaxAge @MaxAge.setter def MaxAge(self, MaxAge): self._MaxAge = MaxAge @property def Ipv6(self): """Ipv6 回源配置(功能灰度中,敬请期待) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Ipv6` """ return self._Ipv6 @Ipv6.setter def Ipv6(self, Ipv6): self._Ipv6 = Ipv6 @property def Compatibility(self): """是否兼容旧版本配置(内部兼容性字段) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Compatibility` """ return self._Compatibility @Compatibility.setter def Compatibility(self, Compatibility): self._Compatibility = Compatibility @property def SpecificConfig(self): """区域特殊配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.SpecificConfig` """ return self._SpecificConfig @SpecificConfig.setter def SpecificConfig(self, SpecificConfig): self._SpecificConfig = SpecificConfig @property def Area(self): """加速区域 mainland:中国境内加速 overseas:中国境外加速 global:全球加速 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Readonly(self): """域名锁定状态 normal:未锁定 mainland:中国境内锁定 overseas:中国境外锁定 global:全球锁定 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Readonly @Readonly.setter def Readonly(self, Readonly): self._Readonly = Readonly @property def OriginPullTimeout(self): """回源超时配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginPullTimeout` """ return self._OriginPullTimeout @OriginPullTimeout.setter def OriginPullTimeout(self, OriginPullTimeout): self._OriginPullTimeout = OriginPullTimeout @property def AwsPrivateAccess(self): """回源S3鉴权配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AwsPrivateAccess` """ return self._AwsPrivateAccess @AwsPrivateAccess.setter def AwsPrivateAccess(self, AwsPrivateAccess): self._AwsPrivateAccess = AwsPrivateAccess @property def SecurityConfig(self): """Scdn配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.SecurityConfig` """ return self._SecurityConfig @SecurityConfig.setter def SecurityConfig(self, SecurityConfig): self._SecurityConfig = SecurityConfig @property def ImageOptimization(self): """ImageOptimization配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ImageOptimization` """ return self._ImageOptimization @ImageOptimization.setter def ImageOptimization(self, ImageOptimization): self._ImageOptimization = ImageOptimization @property def UserAgentFilter(self): """UA黑白名单配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.UserAgentFilter` """ return self._UserAgentFilter @UserAgentFilter.setter def UserAgentFilter(self, UserAgentFilter): self._UserAgentFilter = UserAgentFilter @property def AccessControl(self): """访问控制 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AccessControl` """ return self._AccessControl @AccessControl.setter def AccessControl(self, AccessControl): self._AccessControl = AccessControl @property def Advance(self): """是否支持高级配置项 on:支持 off:不支持 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Advance @Advance.setter def Advance(self, Advance): self._Advance = Advance @property def UrlRedirect(self): """URL重定向配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.UrlRedirect` """ return self._UrlRedirect @UrlRedirect.setter def UrlRedirect(self, UrlRedirect): self._UrlRedirect = UrlRedirect @property def AccessPort(self): """访问端口配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of int """ return self._AccessPort @AccessPort.setter def AccessPort(self, AccessPort): self._AccessPort = AccessPort @property def Tag(self): """标签配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of Tag """ return self._Tag @Tag.setter def Tag(self, Tag): self._Tag = Tag @property def AdvancedAuthentication(self): """时间戳防盗链高级配置,白名单功能 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthentication` """ return self._AdvancedAuthentication @AdvancedAuthentication.setter def AdvancedAuthentication(self, AdvancedAuthentication): self._AdvancedAuthentication = AdvancedAuthentication @property def OriginAuthentication(self): """回源鉴权高级配置,白名单功能 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginAuthentication` """ return self._OriginAuthentication @OriginAuthentication.setter def OriginAuthentication(self, OriginAuthentication): self._OriginAuthentication = OriginAuthentication @property def Ipv6Access(self): """Ipv6访问配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Ipv6Access` """ return self._Ipv6Access @Ipv6Access.setter def Ipv6Access(self, Ipv6Access): self._Ipv6Access = Ipv6Access @property def AdvanceSet(self): """高级配置集合 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of AdvanceConfig """ return self._AdvanceSet @AdvanceSet.setter def AdvanceSet(self, AdvanceSet): self._AdvanceSet = AdvanceSet @property def OfflineCache(self): """离线缓存(功能灰度中,尚未全量,请等待后续全量发布) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OfflineCache` """ return self._OfflineCache @OfflineCache.setter def OfflineCache(self, OfflineCache): self._OfflineCache = OfflineCache @property def OriginCombine(self): """合并回源(白名单功能) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginCombine` """ return self._OriginCombine @OriginCombine.setter def OriginCombine(self, OriginCombine): self._OriginCombine = OriginCombine @property def PostMaxSize(self): """POST上传配置项 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.PostSize` """ return self._PostMaxSize @PostMaxSize.setter def PostMaxSize(self, PostMaxSize): self._PostMaxSize = PostMaxSize @property def Quic(self): """Quic配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Quic` """ return self._Quic @Quic.setter def Quic(self, Quic): self._Quic = Quic @property def OssPrivateAccess(self): """回源OSS私有鉴权 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OssPrivateAccess` """ return self._OssPrivateAccess @OssPrivateAccess.setter def OssPrivateAccess(self, OssPrivateAccess): self._OssPrivateAccess = OssPrivateAccess @property def WebSocket(self): """WebSocket配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.WebSocket` """ return self._WebSocket @WebSocket.setter def WebSocket(self, WebSocket): self._WebSocket = WebSocket @property def RemoteAuthentication(self): """远程鉴权配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RemoteAuthentication` """ return self._RemoteAuthentication @RemoteAuthentication.setter def RemoteAuthentication(self, RemoteAuthentication): self._RemoteAuthentication = RemoteAuthentication @property def ShareCname(self): """共享CNAME配置(白名单功能) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ShareCname` """ return self._ShareCname @ShareCname.setter def ShareCname(self, ShareCname): self._ShareCname = ShareCname @property def RuleEngine(self): """规则引擎 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RuleEngine` """ return self._RuleEngine @RuleEngine.setter def RuleEngine(self, RuleEngine): self._RuleEngine = RuleEngine @property def ParentHost(self): """主域名 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ParentHost @ParentHost.setter def ParentHost(self, ParentHost): self._ParentHost = ParentHost @property def HwPrivateAccess(self): """华为云对象存储回源鉴权 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.HwPrivateAccess` """ return self._HwPrivateAccess @HwPrivateAccess.setter def HwPrivateAccess(self, HwPrivateAccess): self._HwPrivateAccess = HwPrivateAccess @property def QnPrivateAccess(self): """七牛云对象存储回源鉴权 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.QnPrivateAccess` """ return self._QnPrivateAccess @QnPrivateAccess.setter def QnPrivateAccess(self, QnPrivateAccess): self._QnPrivateAccess = QnPrivateAccess @property def HttpsBilling(self): """HTTPS服务,缺省时默认开启 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.HttpsBilling` """ return self._HttpsBilling @HttpsBilling.setter def HttpsBilling(self, HttpsBilling): self._HttpsBilling = HttpsBilling @property def OthersPrivateAccess(self): """其他厂商对象存储回源鉴权 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OthersPrivateAccess` """ return self._OthersPrivateAccess @OthersPrivateAccess.setter def OthersPrivateAccess(self, OthersPrivateAccess): self._OthersPrivateAccess = OthersPrivateAccess @property def ParamFilter(self): """参数黑名单 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ParamFilter` """ return self._ParamFilter @ParamFilter.setter def ParamFilter(self, ParamFilter): self._ParamFilter = ParamFilter def _deserialize(self, params): self._ResourceId = params.get("ResourceId") self._AppId = params.get("AppId") self._Domain = params.get("Domain") self._Cname = params.get("Cname") self._Status = params.get("Status") self._ProjectId = params.get("ProjectId") self._ServiceType = params.get("ServiceType") self._CreateTime = params.get("CreateTime") self._UpdateTime = params.get("UpdateTime") if params.get("Origin") is not None: self._Origin = Origin() self._Origin._deserialize(params.get("Origin")) if params.get("IpFilter") is not None: self._IpFilter = IpFilter() self._IpFilter._deserialize(params.get("IpFilter")) if params.get("IpFreqLimit") is not None: self._IpFreqLimit = IpFreqLimit() self._IpFreqLimit._deserialize(params.get("IpFreqLimit")) if params.get("StatusCodeCache") is not None: self._StatusCodeCache = StatusCodeCache() self._StatusCodeCache._deserialize(params.get("StatusCodeCache")) if params.get("Compression") is not None: self._Compression = Compression() self._Compression._deserialize(params.get("Compression")) if params.get("BandwidthAlert") is not None: self._BandwidthAlert = BandwidthAlert() self._BandwidthAlert._deserialize(params.get("BandwidthAlert")) if params.get("RangeOriginPull") is not None: self._RangeOriginPull = RangeOriginPull() self._RangeOriginPull._deserialize(params.get("RangeOriginPull")) if params.get("FollowRedirect") is not None: self._FollowRedirect = FollowRedirect() self._FollowRedirect._deserialize(params.get("FollowRedirect")) if params.get("ErrorPage") is not None: self._ErrorPage = ErrorPage() self._ErrorPage._deserialize(params.get("ErrorPage")) if params.get("RequestHeader") is not None: self._RequestHeader = RequestHeader() self._RequestHeader._deserialize(params.get("RequestHeader")) if params.get("ResponseHeader") is not None: self._ResponseHeader = ResponseHeader() self._ResponseHeader._deserialize(params.get("ResponseHeader")) if params.get("DownstreamCapping") is not None: self._DownstreamCapping = DownstreamCapping() self._DownstreamCapping._deserialize(params.get("DownstreamCapping")) if params.get("CacheKey") is not None: self._CacheKey = CacheKey() self._CacheKey._deserialize(params.get("CacheKey")) if params.get("ResponseHeaderCache") is not None: self._ResponseHeaderCache = ResponseHeaderCache() self._ResponseHeaderCache._deserialize(params.get("ResponseHeaderCache")) if params.get("VideoSeek") is not None: self._VideoSeek = VideoSeek() self._VideoSeek._deserialize(params.get("VideoSeek")) if params.get("Cache") is not None: self._Cache = Cache() self._Cache._deserialize(params.get("Cache")) if params.get("OriginPullOptimization") is not None: self._OriginPullOptimization = OriginPullOptimization() self._OriginPullOptimization._deserialize(params.get("OriginPullOptimization")) if params.get("Https") is not None: self._Https = Https() self._Https._deserialize(params.get("Https")) if params.get("Authentication") is not None: self._Authentication = Authentication() self._Authentication._deserialize(params.get("Authentication")) if params.get("Seo") is not None: self._Seo = Seo() self._Seo._deserialize(params.get("Seo")) self._Disable = params.get("Disable") if params.get("ForceRedirect") is not None: self._ForceRedirect = ForceRedirect() self._ForceRedirect._deserialize(params.get("ForceRedirect")) if params.get("Referer") is not None: self._Referer = Referer() self._Referer._deserialize(params.get("Referer")) if params.get("MaxAge") is not None: self._MaxAge = MaxAge() self._MaxAge._deserialize(params.get("MaxAge")) if params.get("Ipv6") is not None: self._Ipv6 = Ipv6() self._Ipv6._deserialize(params.get("Ipv6")) if params.get("Compatibility") is not None: self._Compatibility = Compatibility() self._Compatibility._deserialize(params.get("Compatibility")) if params.get("SpecificConfig") is not None: self._SpecificConfig = SpecificConfig() self._SpecificConfig._deserialize(params.get("SpecificConfig")) self._Area = params.get("Area") self._Readonly = params.get("Readonly") if params.get("OriginPullTimeout") is not None: self._OriginPullTimeout = OriginPullTimeout() self._OriginPullTimeout._deserialize(params.get("OriginPullTimeout")) if params.get("AwsPrivateAccess") is not None: self._AwsPrivateAccess = AwsPrivateAccess() self._AwsPrivateAccess._deserialize(params.get("AwsPrivateAccess")) if params.get("SecurityConfig") is not None: self._SecurityConfig = SecurityConfig() self._SecurityConfig._deserialize(params.get("SecurityConfig")) if params.get("ImageOptimization") is not None: self._ImageOptimization = ImageOptimization() self._ImageOptimization._deserialize(params.get("ImageOptimization")) if params.get("UserAgentFilter") is not None: self._UserAgentFilter = UserAgentFilter() self._UserAgentFilter._deserialize(params.get("UserAgentFilter")) if params.get("AccessControl") is not None: self._AccessControl = AccessControl() self._AccessControl._deserialize(params.get("AccessControl")) self._Advance = params.get("Advance") if params.get("UrlRedirect") is not None: self._UrlRedirect = UrlRedirect() self._UrlRedirect._deserialize(params.get("UrlRedirect")) self._AccessPort = params.get("AccessPort") if params.get("Tag") is not None: self._Tag = [] for item in params.get("Tag"): obj = Tag() obj._deserialize(item) self._Tag.append(obj) if params.get("AdvancedAuthentication") is not None: self._AdvancedAuthentication = AdvancedAuthentication() self._AdvancedAuthentication._deserialize(params.get("AdvancedAuthentication")) if params.get("OriginAuthentication") is not None: self._OriginAuthentication = OriginAuthentication() self._OriginAuthentication._deserialize(params.get("OriginAuthentication")) if params.get("Ipv6Access") is not None: self._Ipv6Access = Ipv6Access() self._Ipv6Access._deserialize(params.get("Ipv6Access")) if params.get("AdvanceSet") is not None: self._AdvanceSet = [] for item in params.get("AdvanceSet"): obj = AdvanceConfig() obj._deserialize(item) self._AdvanceSet.append(obj) if params.get("OfflineCache") is not None: self._OfflineCache = OfflineCache() self._OfflineCache._deserialize(params.get("OfflineCache")) if params.get("OriginCombine") is not None: self._OriginCombine = OriginCombine() self._OriginCombine._deserialize(params.get("OriginCombine")) if params.get("PostMaxSize") is not None: self._PostMaxSize = PostSize() self._PostMaxSize._deserialize(params.get("PostMaxSize")) if params.get("Quic") is not None: self._Quic = Quic() self._Quic._deserialize(params.get("Quic")) if params.get("OssPrivateAccess") is not None: self._OssPrivateAccess = OssPrivateAccess() self._OssPrivateAccess._deserialize(params.get("OssPrivateAccess")) if params.get("WebSocket") is not None: self._WebSocket = WebSocket() self._WebSocket._deserialize(params.get("WebSocket")) if params.get("RemoteAuthentication") is not None: self._RemoteAuthentication = RemoteAuthentication() self._RemoteAuthentication._deserialize(params.get("RemoteAuthentication")) if params.get("ShareCname") is not None: self._ShareCname = ShareCname() self._ShareCname._deserialize(params.get("ShareCname")) if params.get("RuleEngine") is not None: self._RuleEngine = RuleEngine() self._RuleEngine._deserialize(params.get("RuleEngine")) self._ParentHost = params.get("ParentHost") if params.get("HwPrivateAccess") is not None: self._HwPrivateAccess = HwPrivateAccess() self._HwPrivateAccess._deserialize(params.get("HwPrivateAccess")) if params.get("QnPrivateAccess") is not None: self._QnPrivateAccess = QnPrivateAccess() self._QnPrivateAccess._deserialize(params.get("QnPrivateAccess")) if params.get("HttpsBilling") is not None: self._HttpsBilling = HttpsBilling() self._HttpsBilling._deserialize(params.get("HttpsBilling")) if params.get("OthersPrivateAccess") is not None: self._OthersPrivateAccess = OthersPrivateAccess() self._OthersPrivateAccess._deserialize(params.get("OthersPrivateAccess")) if params.get("ParamFilter") is not None: self._ParamFilter = ParamFilter() self._ParamFilter._deserialize(params.get("ParamFilter")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DiagnoseData(AbstractModel): """诊断报告内容数据 """ def __init__(self): r""" :param _Data: 诊断报告内容 注意:此字段可能返回 null,表示取不到有效值。 :type Data: list of DiagnoseUnit :param _Status: 当前诊断项是否正常。 "ok":正常 "error":异常 "warning":"警告" 注意:此字段可能返回 null,表示取不到有效值。 :type Status: str """ self._Data = None self._Status = None @property def Data(self): """诊断报告内容 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of DiagnoseUnit """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def Status(self): """当前诊断项是否正常。 "ok":正常 "error":异常 "warning":"警告" 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = DiagnoseUnit() obj._deserialize(item) self._Data.append(obj) self._Status = params.get("Status") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DiagnoseInfo(AbstractModel): """诊断信息 """ def __init__(self): r""" :param _DiagnoseUrl: 待诊断的URL。 注意:此字段可能返回 null,表示取不到有效值。 :type DiagnoseUrl: str :param _DiagnoseLink: 由系统生成的诊断链接。 注意:此字段可能返回 null,表示取不到有效值。 :type DiagnoseLink: str :param _CreateTime: 诊断创建时间。 注意:此字段可能返回 null,表示取不到有效值。 :type CreateTime: str :param _ExpireDate: 诊断链接过期时间。 注意:此字段可能返回 null,表示取不到有效值。 :type ExpireDate: str :param _VisitCount: 诊断链接当前访问次数,一个诊断链接最多可访问10次。 注意:此字段可能返回 null,表示取不到有效值。 :type VisitCount: int :param _ClientList: 访问诊断链接的客户端简易信息 注意:此字段可能返回 null,表示取不到有效值。 :type ClientList: list of DiagnoseList :param _Area: 域名加速区域 注意:此字段可能返回 null,表示取不到有效值。 :type Area: str """ self._DiagnoseUrl = None self._DiagnoseLink = None self._CreateTime = None self._ExpireDate = None self._VisitCount = None self._ClientList = None self._Area = None @property def DiagnoseUrl(self): """待诊断的URL。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._DiagnoseUrl @DiagnoseUrl.setter def DiagnoseUrl(self, DiagnoseUrl): self._DiagnoseUrl = DiagnoseUrl @property def DiagnoseLink(self): """由系统生成的诊断链接。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._DiagnoseLink @DiagnoseLink.setter def DiagnoseLink(self, DiagnoseLink): self._DiagnoseLink = DiagnoseLink @property def CreateTime(self): """诊断创建时间。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def ExpireDate(self): """诊断链接过期时间。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ExpireDate @ExpireDate.setter def ExpireDate(self, ExpireDate): self._ExpireDate = ExpireDate @property def VisitCount(self): """诊断链接当前访问次数,一个诊断链接最多可访问10次。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._VisitCount @VisitCount.setter def VisitCount(self, VisitCount): self._VisitCount = VisitCount @property def ClientList(self): """访问诊断链接的客户端简易信息 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of DiagnoseList """ return self._ClientList @ClientList.setter def ClientList(self, ClientList): self._ClientList = ClientList @property def Area(self): """域名加速区域 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._DiagnoseUrl = params.get("DiagnoseUrl") self._DiagnoseLink = params.get("DiagnoseLink") self._CreateTime = params.get("CreateTime") self._ExpireDate = params.get("ExpireDate") self._VisitCount = params.get("VisitCount") if params.get("ClientList") is not None: self._ClientList = [] for item in params.get("ClientList"): obj = DiagnoseList() obj._deserialize(item) self._ClientList.append(obj) self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DiagnoseList(AbstractModel): """客户端访问诊断URL信息列表 """ def __init__(self): r""" :param _DiagnoseTag: 诊断任务标签。 注意:此字段可能返回 null,表示取不到有效值。 :type DiagnoseTag: str :param _ReportId: 报告ID,用于获取详细诊断报告。 注意:此字段可能返回 null,表示取不到有效值。 :type ReportId: str :param _ClientInfo: 客户端信息。 注意:此字段可能返回 null,表示取不到有效值。 :type ClientInfo: list of ClientInfo :param _FinalDiagnose: 最终诊断结果。 -1:已提交 0 :检测中 1 :检测正常 2 : 检测异常 3 : 诊断页面异常关闭 注意:此字段可能返回 null,表示取不到有效值。 :type FinalDiagnose: int :param _CreateTime: 诊断任务创建时间。 注意:此字段可能返回 null,表示取不到有效值。 :type CreateTime: str """ self._DiagnoseTag = None self._ReportId = None self._ClientInfo = None self._FinalDiagnose = None self._CreateTime = None @property def DiagnoseTag(self): """诊断任务标签。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._DiagnoseTag @DiagnoseTag.setter def DiagnoseTag(self, DiagnoseTag): self._DiagnoseTag = DiagnoseTag @property def ReportId(self): """报告ID,用于获取详细诊断报告。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ReportId @ReportId.setter def ReportId(self, ReportId): self._ReportId = ReportId @property def ClientInfo(self): """客户端信息。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ClientInfo """ return self._ClientInfo @ClientInfo.setter def ClientInfo(self, ClientInfo): self._ClientInfo = ClientInfo @property def FinalDiagnose(self): """最终诊断结果。 -1:已提交 0 :检测中 1 :检测正常 2 : 检测异常 3 : 诊断页面异常关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._FinalDiagnose @FinalDiagnose.setter def FinalDiagnose(self, FinalDiagnose): self._FinalDiagnose = FinalDiagnose @property def CreateTime(self): """诊断任务创建时间。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime def _deserialize(self, params): self._DiagnoseTag = params.get("DiagnoseTag") self._ReportId = params.get("ReportId") if params.get("ClientInfo") is not None: self._ClientInfo = [] for item in params.get("ClientInfo"): obj = ClientInfo() obj._deserialize(item) self._ClientInfo.append(obj) self._FinalDiagnose = params.get("FinalDiagnose") self._CreateTime = params.get("CreateTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DiagnoseUnit(AbstractModel): """诊断报告单元信息 """ def __init__(self): r""" :param _Key: 内容单元英文名称。 注意:此字段可能返回 null,表示取不到有效值。 :type Key: str :param _KeyText: 内容单元中文名称。 注意:此字段可能返回 null,表示取不到有效值。 :type KeyText: str :param _Value: 报告内容。 注意:此字段可能返回 null,表示取不到有效值。 :type Value: str :param _ValueText: 报告内容。 注意:此字段可能返回 null,表示取不到有效值。 :type ValueText: str """ self._Key = None self._KeyText = None self._Value = None self._ValueText = None @property def Key(self): """内容单元英文名称。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Key @Key.setter def Key(self, Key): self._Key = Key @property def KeyText(self): """内容单元中文名称。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._KeyText @KeyText.setter def KeyText(self, KeyText): self._KeyText = KeyText @property def Value(self): """报告内容。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def ValueText(self): """报告内容。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ValueText @ValueText.setter def ValueText(self, ValueText): self._ValueText = ValueText def _deserialize(self, params): self._Key = params.get("Key") self._KeyText = params.get("KeyText") self._Value = params.get("Value") self._ValueText = params.get("ValueText") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DisableCachesRequest(AbstractModel): """DisableCaches请求参数结构体 """ def __init__(self): r""" :param _Urls: 禁用的 URL 列表(分协议生效,必须包含http://或https://) 每次最多可提交 100 条,每日最多可提交 3000 条 :type Urls: list of str """ self._Urls = None @property def Urls(self): """禁用的 URL 列表(分协议生效,必须包含http://或https://) 每次最多可提交 100 条,每日最多可提交 3000 条 :rtype: list of str """ return self._Urls @Urls.setter def Urls(self, Urls): self._Urls = Urls def _deserialize(self, params): self._Urls = params.get("Urls") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DisableCachesResponse(AbstractModel): """DisableCaches返回参数结构体 """ def __init__(self): r""" :param _CacheOptResult: 提交结果 注意:此字段可能返回 null,表示取不到有效值。 :type CacheOptResult: :class:`tencentcloud.cdn.v20180606.models.CacheOptResult` :param _TaskId: 任务ID 注意:此字段可能返回 null,表示取不到有效值。 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._CacheOptResult = None self._TaskId = None self._RequestId = None @property def CacheOptResult(self): """提交结果 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheOptResult` """ return self._CacheOptResult @CacheOptResult.setter def CacheOptResult(self, CacheOptResult): self._CacheOptResult = CacheOptResult @property def TaskId(self): """任务ID 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("CacheOptResult") is not None: self._CacheOptResult = CacheOptResult() self._CacheOptResult._deserialize(params.get("CacheOptResult")) self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class DisableClsLogTopicRequest(AbstractModel): """DisableClsLogTopic请求参数结构体 """ def __init__(self): r""" :param _LogsetId: 日志集ID :type LogsetId: str :param _TopicId: 日志主题ID :type TopicId: str :param _Channel: 接入渠道,cdn或者ecdn,默认值为cdn :type Channel: str """ self._LogsetId = None self._TopicId = None self._Channel = None @property def LogsetId(self): """日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def TopicId(self): """日志主题ID :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def Channel(self): """接入渠道,cdn或者ecdn,默认值为cdn :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel def _deserialize(self, params): self._LogsetId = params.get("LogsetId") self._TopicId = params.get("TopicId") self._Channel = params.get("Channel") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DisableClsLogTopicResponse(AbstractModel): """DisableClsLogTopic返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class DistrictIspInfo(AbstractModel): """地区运营商明细数据 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _Protocol: 协议类型 :type Protocol: str :param _IpProtocol: IP协议类型 :type IpProtocol: str :param _StartTime: 起始时间 :type StartTime: str :param _EndTime: 结束时间 :type EndTime: str :param _Interval: 时间间隔,单位为分钟 :type Interval: int :param _Metric: 指标名称 :type Metric: str :param _District: 地区ID :type District: int :param _Isp: 运营商ID :type Isp: int :param _DataPoints: 指标数据点 :type DataPoints: list of int non-negative :param _DistrictName: 地区名称 :type DistrictName: str :param _IspName: 运营商名称 :type IspName: str """ self._Domain = None self._Protocol = None self._IpProtocol = None self._StartTime = None self._EndTime = None self._Interval = None self._Metric = None self._District = None self._Isp = None self._DataPoints = None self._DistrictName = None self._IspName = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Protocol(self): """协议类型 :rtype: str """ return self._Protocol @Protocol.setter def Protocol(self, Protocol): self._Protocol = Protocol @property def IpProtocol(self): """IP协议类型 :rtype: str """ return self._IpProtocol @IpProtocol.setter def IpProtocol(self, IpProtocol): self._IpProtocol = IpProtocol @property def StartTime(self): """起始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Interval(self): """时间间隔,单位为分钟 :rtype: int """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def Metric(self): """指标名称 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def District(self): """地区ID :rtype: int """ return self._District @District.setter def District(self, District): self._District = District @property def Isp(self): """运营商ID :rtype: int """ return self._Isp @Isp.setter def Isp(self, Isp): self._Isp = Isp @property def DataPoints(self): """指标数据点 :rtype: list of int non-negative """ return self._DataPoints @DataPoints.setter def DataPoints(self, DataPoints): self._DataPoints = DataPoints @property def DistrictName(self): """地区名称 :rtype: str """ return self._DistrictName @DistrictName.setter def DistrictName(self, DistrictName): self._DistrictName = DistrictName @property def IspName(self): """运营商名称 :rtype: str """ return self._IspName @IspName.setter def IspName(self, IspName): self._IspName = IspName def _deserialize(self, params): self._Domain = params.get("Domain") self._Protocol = params.get("Protocol") self._IpProtocol = params.get("IpProtocol") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Interval = params.get("Interval") self._Metric = params.get("Metric") self._District = params.get("District") self._Isp = params.get("Isp") self._DataPoints = params.get("DataPoints") self._DistrictName = params.get("DistrictName") self._IspName = params.get("IspName") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DomainAreaConfig(AbstractModel): """域名地区配置 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _Area: 地区列表,其中元素可为mainland/overseas :type Area: list of str """ self._Domain = None self._Area = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Area(self): """地区列表,其中元素可为mainland/overseas :rtype: list of str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._Domain = params.get("Domain") self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DomainBotCount(AbstractModel): """域名及其他指标Bot次数 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _Count: BOT次数 :type Count: int :param _Value: Top指标值 注意:此字段可能返回 null,表示取不到有效值。 :type Value: str :param _Country: 国家/地区 注意:此字段可能返回 null,表示取不到有效值。 :type Country: str :param _Province: 省份 注意:此字段可能返回 null,表示取不到有效值。 :type Province: str :param _Isp: 运营商 注意:此字段可能返回 null,表示取不到有效值。 :type Isp: str """ self._Domain = None self._Count = None self._Value = None self._Country = None self._Province = None self._Isp = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Count(self): """BOT次数 :rtype: int """ return self._Count @Count.setter def Count(self, Count): self._Count = Count @property def Value(self): """Top指标值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Country(self): """国家/地区 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Country @Country.setter def Country(self, Country): self._Country = Country @property def Province(self): """省份 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Province @Province.setter def Province(self, Province): self._Province = Province @property def Isp(self): """运营商 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Isp @Isp.setter def Isp(self, Isp): self._Isp = Isp def _deserialize(self, params): self._Domain = params.get("Domain") self._Count = params.get("Count") self._Value = params.get("Value") self._Country = params.get("Country") self._Province = params.get("Province") self._Isp = params.get("Isp") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DomainFilter(AbstractModel): """域名查询时过滤条件。 """ def __init__(self): r""" :param _Name: 过滤字段名,支持的列表如下: - origin:主源站。 - domain:域名。 - resourceId:域名id。 - status:域名状态,online,offline或processing,deleted。 - serviceType:业务类型,web,download,media,hybrid或dynamic。 - projectId:项目ID。 - domainType:主源站类型,cname表示自有源,cos表示cos接入,third_party表示第三方对象存储,igtm表示IGTM多活源。 - fullUrlCache:全路径缓存,on或off。 - https:是否配置https,on,off或processing。 - originPullProtocol:回源协议类型,支持http,follow或https。 - tagKey:标签键。 :type Name: str :param _Value: 过滤字段值,默认最多传 5 个。当 Name 是 origin/domain 且 Fuzzy 传 true,最多传 1 个。 :type Value: list of str :param _Fuzzy: 是否启用模糊查询,仅支持过滤字段名为origin,domain。 模糊查询时,Value长度最大为1,否则Value长度最大为5。 :type Fuzzy: bool """ self._Name = None self._Value = None self._Fuzzy = None @property def Name(self): """过滤字段名,支持的列表如下: - origin:主源站。 - domain:域名。 - resourceId:域名id。 - status:域名状态,online,offline或processing,deleted。 - serviceType:业务类型,web,download,media,hybrid或dynamic。 - projectId:项目ID。 - domainType:主源站类型,cname表示自有源,cos表示cos接入,third_party表示第三方对象存储,igtm表示IGTM多活源。 - fullUrlCache:全路径缓存,on或off。 - https:是否配置https,on,off或processing。 - originPullProtocol:回源协议类型,支持http,follow或https。 - tagKey:标签键。 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def Value(self): """过滤字段值,默认最多传 5 个。当 Name 是 origin/domain 且 Fuzzy 传 true,最多传 1 个。 :rtype: list of str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Fuzzy(self): """是否启用模糊查询,仅支持过滤字段名为origin,domain。 模糊查询时,Value长度最大为1,否则Value长度最大为5。 :rtype: bool """ return self._Fuzzy @Fuzzy.setter def Fuzzy(self, Fuzzy): self._Fuzzy = Fuzzy def _deserialize(self, params): self._Name = params.get("Name") self._Value = params.get("Value") self._Fuzzy = params.get("Fuzzy") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DomainLog(AbstractModel): """日志包下载链接详情 """ def __init__(self): r""" :param _StartTime: 日志包起始时间 :type StartTime: str :param _EndTime: 日志包结束时间 :type EndTime: str :param _LogPath: 日志包下载链接 :type LogPath: str :param _Area: 日志包对应加速区域 mainland:境内 overseas:境外 :type Area: str :param _LogName: 日志包文件名 :type LogName: str :param _FileSize: 文件大小,单位: Byte 注意:此字段可能返回 null,表示取不到有效值。 :type FileSize: int """ self._StartTime = None self._EndTime = None self._LogPath = None self._Area = None self._LogName = None self._FileSize = None @property def StartTime(self): """日志包起始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """日志包结束时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def LogPath(self): """日志包下载链接 :rtype: str """ return self._LogPath @LogPath.setter def LogPath(self, LogPath): self._LogPath = LogPath @property def Area(self): """日志包对应加速区域 mainland:境内 overseas:境外 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def LogName(self): """日志包文件名 :rtype: str """ return self._LogName @LogName.setter def LogName(self, LogName): self._LogName = LogName @property def FileSize(self): """文件大小,单位: Byte 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._FileSize @FileSize.setter def FileSize(self, FileSize): self._FileSize = FileSize def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._LogPath = params.get("LogPath") self._Area = params.get("Area") self._LogName = params.get("LogName") self._FileSize = params.get("FileSize") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DownstreamCapping(AbstractModel): """单链接下行限速配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: 下行速度配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _CappingRules: 下行限速规则 注意:此字段可能返回 null,表示取不到有效值。 :type CappingRules: list of CappingRule """ self._Switch = None self._CappingRules = None @property def Switch(self): """下行速度配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def CappingRules(self): """下行限速规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of CappingRule """ return self._CappingRules @CappingRules.setter def CappingRules(self, CappingRules): self._CappingRules = CappingRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("CappingRules") is not None: self._CappingRules = [] for item in params.get("CappingRules"): obj = CappingRule() obj._deserialize(item) self._CappingRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DuplicateDomainConfigRequest(AbstractModel): """DuplicateDomainConfig请求参数结构体 """ def __init__(self): r""" :param _Domain: 新增域名 :type Domain: str :param _ReferenceDomain: 被拷贝配置的域名 :type ReferenceDomain: str """ self._Domain = None self._ReferenceDomain = None @property def Domain(self): """新增域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def ReferenceDomain(self): """被拷贝配置的域名 :rtype: str """ return self._ReferenceDomain @ReferenceDomain.setter def ReferenceDomain(self, ReferenceDomain): self._ReferenceDomain = ReferenceDomain def _deserialize(self, params): self._Domain = params.get("Domain") self._ReferenceDomain = params.get("ReferenceDomain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DuplicateDomainConfigResponse(AbstractModel): """DuplicateDomainConfig返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class EdgePackTaskFilter(AbstractModel): """动态打包任务过滤器 """ def __init__(self): r""" :param _Name: 过滤字段名 apk: apk名称 status: 母包处理进度 done, failed, processing :type Name: str :param _Value: 过滤字段值 :type Value: list of str :param _Fuzzy: 是否启用模糊查询,仅支持过滤字段名为 apk。 模糊查询时,Value长度最大为1。 :type Fuzzy: bool """ self._Name = None self._Value = None self._Fuzzy = None @property def Name(self): """过滤字段名 apk: apk名称 status: 母包处理进度 done, failed, processing :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def Value(self): """过滤字段值 :rtype: list of str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Fuzzy(self): """是否启用模糊查询,仅支持过滤字段名为 apk。 模糊查询时,Value长度最大为1。 :rtype: bool """ return self._Fuzzy @Fuzzy.setter def Fuzzy(self, Fuzzy): self._Fuzzy = Fuzzy def _deserialize(self, params): self._Name = params.get("Name") self._Value = params.get("Value") self._Fuzzy = params.get("Fuzzy") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class EdgePackTaskStatus(AbstractModel): """动态打包任务状态 """ def __init__(self): r""" :param _Apk: APK 名称 :type Apk: str :param _DstDir: 输出目录 :type DstDir: str :param _UploadTime: 上传时间 :type UploadTime: str :param _Status: 任务状态 created: 创建成功 processing: 处理中 done: 处理完成 failed: 处理失败 :type Status: str :param _SrcDir: 上传目录 :type SrcDir: list of str :param _StatusDesc: 失败任务状态详情 :type StatusDesc: str """ self._Apk = None self._DstDir = None self._UploadTime = None self._Status = None self._SrcDir = None self._StatusDesc = None @property def Apk(self): """APK 名称 :rtype: str """ return self._Apk @Apk.setter def Apk(self, Apk): self._Apk = Apk @property def DstDir(self): """输出目录 :rtype: str """ return self._DstDir @DstDir.setter def DstDir(self, DstDir): self._DstDir = DstDir @property def UploadTime(self): """上传时间 :rtype: str """ return self._UploadTime @UploadTime.setter def UploadTime(self, UploadTime): self._UploadTime = UploadTime @property def Status(self): """任务状态 created: 创建成功 processing: 处理中 done: 处理完成 failed: 处理失败 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def SrcDir(self): """上传目录 :rtype: list of str """ return self._SrcDir @SrcDir.setter def SrcDir(self, SrcDir): self._SrcDir = SrcDir @property def StatusDesc(self): """失败任务状态详情 :rtype: str """ return self._StatusDesc @StatusDesc.setter def StatusDesc(self, StatusDesc): self._StatusDesc = StatusDesc def _deserialize(self, params): self._Apk = params.get("Apk") self._DstDir = params.get("DstDir") self._UploadTime = params.get("UploadTime") self._Status = params.get("Status") self._SrcDir = params.get("SrcDir") self._StatusDesc = params.get("StatusDesc") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class EnableCachesRequest(AbstractModel): """EnableCaches请求参数结构体 """ def __init__(self): r""" :param _Urls: 解封 URL 列表 :type Urls: list of str :param _Date: URL封禁日期 :type Date: str """ self._Urls = None self._Date = None @property def Urls(self): """解封 URL 列表 :rtype: list of str """ return self._Urls @Urls.setter def Urls(self, Urls): self._Urls = Urls @property def Date(self): """URL封禁日期 :rtype: str """ return self._Date @Date.setter def Date(self, Date): self._Date = Date def _deserialize(self, params): self._Urls = params.get("Urls") self._Date = params.get("Date") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class EnableCachesResponse(AbstractModel): """EnableCaches返回参数结构体 """ def __init__(self): r""" :param _CacheOptResult: 结果列表 注意:此字段可能返回 null,表示取不到有效值。 :type CacheOptResult: :class:`tencentcloud.cdn.v20180606.models.CacheOptResult` :param _TaskId: 任务ID 注意:此字段可能返回 null,表示取不到有效值。 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._CacheOptResult = None self._TaskId = None self._RequestId = None @property def CacheOptResult(self): """结果列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheOptResult` """ return self._CacheOptResult @CacheOptResult.setter def CacheOptResult(self, CacheOptResult): self._CacheOptResult = CacheOptResult @property def TaskId(self): """任务ID 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("CacheOptResult") is not None: self._CacheOptResult = CacheOptResult() self._CacheOptResult._deserialize(params.get("CacheOptResult")) self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class EnableClsLogTopicRequest(AbstractModel): """EnableClsLogTopic请求参数结构体 """ def __init__(self): r""" :param _LogsetId: 日志集ID :type LogsetId: str :param _TopicId: 日志主题ID :type TopicId: str :param _Channel: 接入渠道,cdn或者ecdn,默认值为cdn :type Channel: str """ self._LogsetId = None self._TopicId = None self._Channel = None @property def LogsetId(self): """日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def TopicId(self): """日志主题ID :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def Channel(self): """接入渠道,cdn或者ecdn,默认值为cdn :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel def _deserialize(self, params): self._LogsetId = params.get("LogsetId") self._TopicId = params.get("TopicId") self._Channel = params.get("Channel") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class EnableClsLogTopicResponse(AbstractModel): """EnableClsLogTopic返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class ErrorPage(AbstractModel): """状态码重定向配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: 状态码重定向配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _PageRules: 状态码重定向规则配置 注意:此字段可能返回 null,表示取不到有效值。 :type PageRules: list of ErrorPageRule """ self._Switch = None self._PageRules = None @property def Switch(self): """状态码重定向配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def PageRules(self): """状态码重定向规则配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ErrorPageRule """ return self._PageRules @PageRules.setter def PageRules(self, PageRules): self._PageRules = PageRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("PageRules") is not None: self._PageRules = [] for item in params.get("PageRules"): obj = ErrorPageRule() obj._deserialize(item) self._PageRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ErrorPageRule(AbstractModel): """状态码重定向规则配置 """ def __init__(self): r""" :param _StatusCode: 状态码 支持 400、403、404、500 :type StatusCode: int :param _RedirectCode: 重定向状态码设置 支持 301 或 302 :type RedirectCode: int :param _RedirectUrl: 重定向 URL 需要为完整跳转路径,如 https://www.test.com/error.html :type RedirectUrl: str """ self._StatusCode = None self._RedirectCode = None self._RedirectUrl = None @property def StatusCode(self): """状态码 支持 400、403、404、500 :rtype: int """ return self._StatusCode @StatusCode.setter def StatusCode(self, StatusCode): self._StatusCode = StatusCode @property def RedirectCode(self): """重定向状态码设置 支持 301 或 302 :rtype: int """ return self._RedirectCode @RedirectCode.setter def RedirectCode(self, RedirectCode): self._RedirectCode = RedirectCode @property def RedirectUrl(self): """重定向 URL 需要为完整跳转路径,如 https://www.test.com/error.html :rtype: str """ return self._RedirectUrl @RedirectUrl.setter def RedirectUrl(self, RedirectUrl): self._RedirectUrl = RedirectUrl def _deserialize(self, params): self._StatusCode = params.get("StatusCode") self._RedirectCode = params.get("RedirectCode") self._RedirectUrl = params.get("RedirectUrl") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class EventLogStatsData(AbstractModel): """事件日志统计数据结果 """ def __init__(self): r""" :param _Datetime: 时间 :type Datetime: str :param _Request: 请求数 :type Request: int """ self._Datetime = None self._Request = None @property def Datetime(self): """时间 :rtype: str """ return self._Datetime @Datetime.setter def Datetime(self, Datetime): self._Datetime = Datetime @property def Request(self): """请求数 :rtype: int """ return self._Request @Request.setter def Request(self, Request): self._Request = Request def _deserialize(self, params): self._Datetime = params.get("Datetime") self._Request = params.get("Request") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ExtraLogset(AbstractModel): """除上海外其他区域日志集和日志主题信息 """ def __init__(self): r""" :param _Logset: 日志集信息 注意:此字段可能返回 null,表示取不到有效值。 :type Logset: :class:`tencentcloud.cdn.v20180606.models.LogSetInfo` :param _Topics: 日志主题信息列表 注意:此字段可能返回 null,表示取不到有效值。 :type Topics: list of TopicInfo """ self._Logset = None self._Topics = None @property def Logset(self): """日志集信息 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.LogSetInfo` """ return self._Logset @Logset.setter def Logset(self, Logset): self._Logset = Logset @property def Topics(self): """日志主题信息列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of TopicInfo """ return self._Topics @Topics.setter def Topics(self, Topics): self._Topics = Topics def _deserialize(self, params): if params.get("Logset") is not None: self._Logset = LogSetInfo() self._Logset._deserialize(params.get("Logset")) if params.get("Topics") is not None: self._Topics = [] for item in params.get("Topics"): obj = TopicInfo() obj._deserialize(item) self._Topics.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class FollowRedirect(AbstractModel): """回源 301/302 状态码自动跟随配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: 回源跟随配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _RedirectConfig: 自定义回源302 follow请求host配置,该功能为白名单功能,需要开启请联系腾讯云工程师。 注意:此字段可能返回 null,表示取不到有效值。 :type RedirectConfig: :class:`tencentcloud.cdn.v20180606.models.RedirectConfig` """ self._Switch = None self._RedirectConfig = None @property def Switch(self): """回源跟随配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def RedirectConfig(self): """自定义回源302 follow请求host配置,该功能为白名单功能,需要开启请联系腾讯云工程师。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RedirectConfig` """ return self._RedirectConfig @RedirectConfig.setter def RedirectConfig(self, RedirectConfig): self._RedirectConfig = RedirectConfig def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("RedirectConfig") is not None: self._RedirectConfig = RedirectConfig() self._RedirectConfig._deserialize(params.get("RedirectConfig")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ForceRedirect(AbstractModel): """访问协议强制跳转配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: 访问强制跳转配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _RedirectType: 访问强制跳转类型 http:强制 http 跳转 https:强制 https 跳转 注意:此字段可能返回 null,表示取不到有效值。 :type RedirectType: str :param _RedirectStatusCode: 强制跳转时返回状态码 支持 301、302、307、308 注意:此字段可能返回 null,表示取不到有效值。 :type RedirectStatusCode: int :param _CarryHeaders: 强制跳转时是否返回增加的头部。 注意:此字段可能返回 null,表示取不到有效值。 :type CarryHeaders: str """ self._Switch = None self._RedirectType = None self._RedirectStatusCode = None self._CarryHeaders = None @property def Switch(self): """访问强制跳转配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def RedirectType(self): """访问强制跳转类型 http:强制 http 跳转 https:强制 https 跳转 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RedirectType @RedirectType.setter def RedirectType(self, RedirectType): self._RedirectType = RedirectType @property def RedirectStatusCode(self): """强制跳转时返回状态码 支持 301、302、307、308 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._RedirectStatusCode @RedirectStatusCode.setter def RedirectStatusCode(self, RedirectStatusCode): self._RedirectStatusCode = RedirectStatusCode @property def CarryHeaders(self): """强制跳转时是否返回增加的头部。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CarryHeaders @CarryHeaders.setter def CarryHeaders(self, CarryHeaders): self._CarryHeaders = CarryHeaders def _deserialize(self, params): self._Switch = params.get("Switch") self._RedirectType = params.get("RedirectType") self._RedirectStatusCode = params.get("RedirectStatusCode") self._CarryHeaders = params.get("CarryHeaders") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class GetDisableRecordsRequest(AbstractModel): """GetDisableRecords请求参数结构体 """ def __init__(self): r""" :param _Url: 指定 URL 查询 :type Url: str :param _StartTime: 开始时间,如:2018-12-12 10:24:00。 :type StartTime: str :param _EndTime: 结束时间,如:2018-12-14 10:24:00。 :type EndTime: str :param _Status: URL 当前状态 disable:当前仍为禁用状态,访问返回 403 enable:当前为可用状态,已解禁,可正常访问 :type Status: str :param _Offset: 分页查询偏移量,默认为 0 :type Offset: int :param _Limit: 分页查询限制数目,默认为20。 :type Limit: int :param _TaskId: 任务ID,任务ID和起始时间需要至少填写一项。 :type TaskId: str """ self._Url = None self._StartTime = None self._EndTime = None self._Status = None self._Offset = None self._Limit = None self._TaskId = None @property def Url(self): """指定 URL 查询 :rtype: str """ return self._Url @Url.setter def Url(self, Url): self._Url = Url @property def StartTime(self): """开始时间,如:2018-12-12 10:24:00。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间,如:2018-12-14 10:24:00。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Status(self): """URL 当前状态 disable:当前仍为禁用状态,访问返回 403 enable:当前为可用状态,已解禁,可正常访问 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def Offset(self): """分页查询偏移量,默认为 0 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """分页查询限制数目,默认为20。 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def TaskId(self): """任务ID,任务ID和起始时间需要至少填写一项。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId def _deserialize(self, params): self._Url = params.get("Url") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Status = params.get("Status") self._Offset = params.get("Offset") self._Limit = params.get("Limit") self._TaskId = params.get("TaskId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class GetDisableRecordsResponse(AbstractModel): """GetDisableRecords返回参数结构体 """ def __init__(self): r""" :param _UrlRecordList: 封禁历史记录 注意:此字段可能返回 null,表示取不到有效值。 :type UrlRecordList: list of UrlRecord :param _TotalCount: 任务总数,用于分页 注意:此字段可能返回 null,表示取不到有效值。 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._UrlRecordList = None self._TotalCount = None self._RequestId = None @property def UrlRecordList(self): """封禁历史记录 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of UrlRecord """ return self._UrlRecordList @UrlRecordList.setter def UrlRecordList(self, UrlRecordList): self._UrlRecordList = UrlRecordList @property def TotalCount(self): """任务总数,用于分页 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("UrlRecordList") is not None: self._UrlRecordList = [] for item in params.get("UrlRecordList"): obj = UrlRecord() obj._deserialize(item) self._UrlRecordList.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class GuetzliAdapter(AbstractModel): """图片优化-GuetzliAdapter配置 """ def __init__(self): r""" :param _Switch: 图片优化-GuetzliAdapter配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str """ self._Switch = None @property def Switch(self): """图片优化-GuetzliAdapter配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class HTTPHeader(AbstractModel): """HTTP 请求头 """ def __init__(self): r""" :param _Name: 请求头名称 :type Name: str :param _Value: 请求头值 :type Value: str """ self._Name = None self._Value = None @property def Name(self): """请求头名称 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def Value(self): """请求头值 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Name = params.get("Name") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class HeaderKey(AbstractModel): """组成CacheKey """ def __init__(self): r""" :param _Switch: 组成Cachekey配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _Value: 组成CacheKey的header数组,';' 分割 注意:此字段可能返回 null,表示取不到有效值。 :type Value: str """ self._Switch = None self._Value = None @property def Switch(self): """组成Cachekey配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Value(self): """组成CacheKey的header数组,';' 分割 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Switch = params.get("Switch") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class HeuristicCache(AbstractModel): """启发式缓存配置 """ def __init__(self): r""" :param _Switch: 启发式缓存配置开关,取值有: on:开启 off:关闭(默认) 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _CacheConfig: 自定义启发式缓存时间配置 注意:此字段可能返回 null,表示取不到有效值。 :type CacheConfig: :class:`tencentcloud.cdn.v20180606.models.CacheConfig` """ self._Switch = None self._CacheConfig = None @property def Switch(self): """启发式缓存配置开关,取值有: on:开启 off:关闭(默认) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def CacheConfig(self): """自定义启发式缓存时间配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheConfig` """ return self._CacheConfig @CacheConfig.setter def CacheConfig(self, CacheConfig): self._CacheConfig = CacheConfig def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("CacheConfig") is not None: self._CacheConfig = CacheConfig() self._CacheConfig._deserialize(params.get("CacheConfig")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Hsts(AbstractModel): """HSTS 配置。 """ def __init__(self): r""" :param _Switch: HSTS 配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _MaxAge: MaxAge数值。 注意:此字段可能返回 null,表示取不到有效值。 :type MaxAge: int :param _IncludeSubDomains: 是否包含子域名,on或off。 注意:此字段可能返回 null,表示取不到有效值。 :type IncludeSubDomains: str """ self._Switch = None self._MaxAge = None self._IncludeSubDomains = None @property def Switch(self): """HSTS 配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def MaxAge(self): """MaxAge数值。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MaxAge @MaxAge.setter def MaxAge(self, MaxAge): self._MaxAge = MaxAge @property def IncludeSubDomains(self): """是否包含子域名,on或off。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IncludeSubDomains @IncludeSubDomains.setter def IncludeSubDomains(self, IncludeSubDomains): self._IncludeSubDomains = IncludeSubDomains def _deserialize(self, params): self._Switch = params.get("Switch") self._MaxAge = params.get("MaxAge") self._IncludeSubDomains = params.get("IncludeSubDomains") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class HttpHeaderPathRule(AbstractModel): """Http 头部设置规则,最多可设置 100 条 """ def __init__(self): r""" :param _HeaderMode: http 头部设置方式 set:设置。变更指定头部参数的取值为设置后的值;若设置的头部不存在,则会增加该头部;若存在多个重复的头部参数,则会全部变更,同时合并为一个头部。 del:删除。删除指定的头部参数 add:增加。增加指定的头部参数,默认允许重复添加,即重复添加相同的头部(注:重复添加可能会影响浏览器响应,请优先使用set操作) 注意:此字段可能返回 null,表示取不到有效值。 :type HeaderMode: str :param _HeaderName: http 头部名称,最多可设置 100 个字符 注意:此字段可能返回 null,表示取不到有效值。 :type HeaderName: str :param _HeaderValue: http 头部值,最多可设置 1000 个字符 Mode 为 del 时非必填 Mode 为 add/set 时必填 注意:此字段可能返回 null,表示取不到有效值。 :type HeaderValue: str :param _RuleType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 注意:此字段可能返回 null,表示取不到有效值。 :type RuleType: str :param _RulePaths: RuleType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html 注意:此字段可能返回 null,表示取不到有效值。 :type RulePaths: list of str """ self._HeaderMode = None self._HeaderName = None self._HeaderValue = None self._RuleType = None self._RulePaths = None @property def HeaderMode(self): """http 头部设置方式 set:设置。变更指定头部参数的取值为设置后的值;若设置的头部不存在,则会增加该头部;若存在多个重复的头部参数,则会全部变更,同时合并为一个头部。 del:删除。删除指定的头部参数 add:增加。增加指定的头部参数,默认允许重复添加,即重复添加相同的头部(注:重复添加可能会影响浏览器响应,请优先使用set操作) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._HeaderMode @HeaderMode.setter def HeaderMode(self, HeaderMode): self._HeaderMode = HeaderMode @property def HeaderName(self): """http 头部名称,最多可设置 100 个字符 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._HeaderName @HeaderName.setter def HeaderName(self, HeaderName): self._HeaderName = HeaderName @property def HeaderValue(self): """http 头部值,最多可设置 1000 个字符 Mode 为 del 时非必填 Mode 为 add/set 时必填 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._HeaderValue @HeaderValue.setter def HeaderValue(self, HeaderValue): self._HeaderValue = HeaderValue @property def RuleType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RulePaths(self): """RuleType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths def _deserialize(self, params): self._HeaderMode = params.get("HeaderMode") self._HeaderName = params.get("HeaderName") self._HeaderValue = params.get("HeaderValue") self._RuleType = params.get("RuleType") self._RulePaths = params.get("RulePaths") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class HttpHeaderRule(AbstractModel): """http头部设置规则。 """ def __init__(self): r""" :param _HeaderMode: http头部设置方式,支持add,set或del,分别表示新增,设置或删除头部。 :type HeaderMode: str :param _HeaderName: http头部名称。 :type HeaderName: str :param _HeaderValue: http头部值。 :type HeaderValue: str """ self._HeaderMode = None self._HeaderName = None self._HeaderValue = None @property def HeaderMode(self): """http头部设置方式,支持add,set或del,分别表示新增,设置或删除头部。 :rtype: str """ return self._HeaderMode @HeaderMode.setter def HeaderMode(self, HeaderMode): self._HeaderMode = HeaderMode @property def HeaderName(self): """http头部名称。 :rtype: str """ return self._HeaderName @HeaderName.setter def HeaderName(self, HeaderName): self._HeaderName = HeaderName @property def HeaderValue(self): """http头部值。 :rtype: str """ return self._HeaderValue @HeaderValue.setter def HeaderValue(self, HeaderValue): self._HeaderValue = HeaderValue def _deserialize(self, params): self._HeaderMode = params.get("HeaderMode") self._HeaderName = params.get("HeaderName") self._HeaderValue = params.get("HeaderValue") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Https(AbstractModel): """域名 https 加速配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: https 配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _Http2: http2 配置开关 on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Http2: str :param _OcspStapling: OCSP 配置开关 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :type OcspStapling: str :param _VerifyClient: 客户端证书校验功能 on:开启 off:关闭 默认为关闭状态,开启时需要上传客户端证书信息,该配置项目前在灰度中,尚未全量 注意:此字段可能返回 null,表示取不到有效值。 :type VerifyClient: str :param _CertInfo: 服务端证书配置信息 注意:此字段可能返回 null,表示取不到有效值。 :type CertInfo: :class:`tencentcloud.cdn.v20180606.models.ServerCert` :param _ClientCertInfo: 客户端证书配置信息 注意:此字段可能返回 null,表示取不到有效值。 :type ClientCertInfo: :class:`tencentcloud.cdn.v20180606.models.ClientCert` :param _Spdy: Spdy 配置开关 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :type Spdy: str :param _SslStatus: https 证书部署状态 closed:已关闭 deploying:部署中 deployed:部署成功 failed:部署失败 注意:此字段可能返回 null,表示取不到有效值。 :type SslStatus: str :param _Hsts: Hsts配置 注意:此字段可能返回 null,表示取不到有效值。 :type Hsts: :class:`tencentcloud.cdn.v20180606.models.Hsts` :param _TlsVersion: Tls版本设置,仅支持部分Advance域名,支持设置 TLSv1, TLSv1.1, TLSv1.2, TLSv1.3,修改时必须开启连续的版本 注意:此字段可能返回 null,表示取不到有效值。 :type TlsVersion: list of str """ self._Switch = None self._Http2 = None self._OcspStapling = None self._VerifyClient = None self._CertInfo = None self._ClientCertInfo = None self._Spdy = None self._SslStatus = None self._Hsts = None self._TlsVersion = None @property def Switch(self): """https 配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Http2(self): """http2 配置开关 on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Http2 @Http2.setter def Http2(self, Http2): self._Http2 = Http2 @property def OcspStapling(self): """OCSP 配置开关 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._OcspStapling @OcspStapling.setter def OcspStapling(self, OcspStapling): self._OcspStapling = OcspStapling @property def VerifyClient(self): """客户端证书校验功能 on:开启 off:关闭 默认为关闭状态,开启时需要上传客户端证书信息,该配置项目前在灰度中,尚未全量 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._VerifyClient @VerifyClient.setter def VerifyClient(self, VerifyClient): self._VerifyClient = VerifyClient @property def CertInfo(self): """服务端证书配置信息 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ServerCert` """ return self._CertInfo @CertInfo.setter def CertInfo(self, CertInfo): self._CertInfo = CertInfo @property def ClientCertInfo(self): """客户端证书配置信息 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ClientCert` """ return self._ClientCertInfo @ClientCertInfo.setter def ClientCertInfo(self, ClientCertInfo): self._ClientCertInfo = ClientCertInfo @property def Spdy(self): """Spdy 配置开关 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Spdy @Spdy.setter def Spdy(self, Spdy): self._Spdy = Spdy @property def SslStatus(self): """https 证书部署状态 closed:已关闭 deploying:部署中 deployed:部署成功 failed:部署失败 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SslStatus @SslStatus.setter def SslStatus(self, SslStatus): self._SslStatus = SslStatus @property def Hsts(self): """Hsts配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Hsts` """ return self._Hsts @Hsts.setter def Hsts(self, Hsts): self._Hsts = Hsts @property def TlsVersion(self): """Tls版本设置,仅支持部分Advance域名,支持设置 TLSv1, TLSv1.1, TLSv1.2, TLSv1.3,修改时必须开启连续的版本 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._TlsVersion @TlsVersion.setter def TlsVersion(self, TlsVersion): self._TlsVersion = TlsVersion def _deserialize(self, params): self._Switch = params.get("Switch") self._Http2 = params.get("Http2") self._OcspStapling = params.get("OcspStapling") self._VerifyClient = params.get("VerifyClient") if params.get("CertInfo") is not None: self._CertInfo = ServerCert() self._CertInfo._deserialize(params.get("CertInfo")) if params.get("ClientCertInfo") is not None: self._ClientCertInfo = ClientCert() self._ClientCertInfo._deserialize(params.get("ClientCertInfo")) self._Spdy = params.get("Spdy") self._SslStatus = params.get("SslStatus") if params.get("Hsts") is not None: self._Hsts = Hsts() self._Hsts._deserialize(params.get("Hsts")) self._TlsVersion = params.get("TlsVersion") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class HttpsBilling(AbstractModel): """HTTPS服务,若关闭,下发配置拦截https请求,开启时会产生计费 """ def __init__(self): r""" :param _Switch: HTTPS服务配置开关,取值有: on:开启,缺省时默认开启,会产生计费 off:关闭,拦截https请求 :type Switch: str """ self._Switch = None @property def Switch(self): """HTTPS服务配置开关,取值有: on:开启,缺省时默认开启,会产生计费 off:关闭,拦截https请求 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class HttpsPackage(AbstractModel): """CDN HTTPS请求包。 """ def __init__(self): r""" :param _Id: HTTPS请求包 Id :type Id: int :param _Type: HTTPS请求包类型 :type Type: str :param _Size: HTTPS请求包大小(单位为:次) :type Size: int :param _SizeUsed: 已消耗HTTPS请求包(单位为:次) :type SizeUsed: int :param _Status: HTTPS请求包状态 enabled:已启用 expired:已过期 disabled:未启用 :type Status: str :param _CreateTime: HTTPS请求包发放时间 :type CreateTime: str :param _EnableTime: HTTPS请求包生效时间 :type EnableTime: str :param _ExpireTime: HTTPS请求包过期时间 :type ExpireTime: str :param _Channel: HTTPS请求包来源 :type Channel: str :param _LifeTimeMonth: HTTPS请求包生命周期月数 :type LifeTimeMonth: int :param _RefundAvailable: HTTPS请求包是否支持退费 :type RefundAvailable: bool :param _ConfigId: HTTPS请求包类型id :type ConfigId: int :param _TrueEnableTime: HTTPS请求包实际生效时间 :type TrueEnableTime: str :param _TrueExpireTime: HTTPS请求包实际过期时间 :type TrueExpireTime: str :param _Area: HTTPS请求包生效区域 global:全球 :type Area: str :param _ContractExtension: HTTPS请求包是否续订 :type ContractExtension: bool :param _ExtensionAvailable: HTTPS请求包是否支持续订 :type ExtensionAvailable: bool :param _ExtensionMode: HTTPS请求包当前续订模式 0:未续订 1:到期续订 2:用完续订 3:到期或用完续订 :type ExtensionMode: int :param _AutoExtension: HTTPS请求包是否自动续订 注意:此字段可能返回 null,表示取不到有效值。 :type AutoExtension: bool """ self._Id = None self._Type = None self._Size = None self._SizeUsed = None self._Status = None self._CreateTime = None self._EnableTime = None self._ExpireTime = None self._Channel = None self._LifeTimeMonth = None self._RefundAvailable = None self._ConfigId = None self._TrueEnableTime = None self._TrueExpireTime = None self._Area = None self._ContractExtension = None self._ExtensionAvailable = None self._ExtensionMode = None self._AutoExtension = None @property def Id(self): """HTTPS请求包 Id :rtype: int """ return self._Id @Id.setter def Id(self, Id): self._Id = Id @property def Type(self): """HTTPS请求包类型 :rtype: str """ return self._Type @Type.setter def Type(self, Type): self._Type = Type @property def Size(self): """HTTPS请求包大小(单位为:次) :rtype: int """ return self._Size @Size.setter def Size(self, Size): self._Size = Size @property def SizeUsed(self): """已消耗HTTPS请求包(单位为:次) :rtype: int """ return self._SizeUsed @SizeUsed.setter def SizeUsed(self, SizeUsed): self._SizeUsed = SizeUsed @property def Status(self): """HTTPS请求包状态 enabled:已启用 expired:已过期 disabled:未启用 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def CreateTime(self): """HTTPS请求包发放时间 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def EnableTime(self): """HTTPS请求包生效时间 :rtype: str """ return self._EnableTime @EnableTime.setter def EnableTime(self, EnableTime): self._EnableTime = EnableTime @property def ExpireTime(self): """HTTPS请求包过期时间 :rtype: str """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def Channel(self): """HTTPS请求包来源 :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def LifeTimeMonth(self): """HTTPS请求包生命周期月数 :rtype: int """ return self._LifeTimeMonth @LifeTimeMonth.setter def LifeTimeMonth(self, LifeTimeMonth): self._LifeTimeMonth = LifeTimeMonth @property def RefundAvailable(self): """HTTPS请求包是否支持退费 :rtype: bool """ return self._RefundAvailable @RefundAvailable.setter def RefundAvailable(self, RefundAvailable): self._RefundAvailable = RefundAvailable @property def ConfigId(self): """HTTPS请求包类型id :rtype: int """ return self._ConfigId @ConfigId.setter def ConfigId(self, ConfigId): self._ConfigId = ConfigId @property def TrueEnableTime(self): """HTTPS请求包实际生效时间 :rtype: str """ return self._TrueEnableTime @TrueEnableTime.setter def TrueEnableTime(self, TrueEnableTime): self._TrueEnableTime = TrueEnableTime @property def TrueExpireTime(self): """HTTPS请求包实际过期时间 :rtype: str """ return self._TrueExpireTime @TrueExpireTime.setter def TrueExpireTime(self, TrueExpireTime): self._TrueExpireTime = TrueExpireTime @property def Area(self): """HTTPS请求包生效区域 global:全球 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def ContractExtension(self): """HTTPS请求包是否续订 :rtype: bool """ return self._ContractExtension @ContractExtension.setter def ContractExtension(self, ContractExtension): self._ContractExtension = ContractExtension @property def ExtensionAvailable(self): """HTTPS请求包是否支持续订 :rtype: bool """ return self._ExtensionAvailable @ExtensionAvailable.setter def ExtensionAvailable(self, ExtensionAvailable): self._ExtensionAvailable = ExtensionAvailable @property def ExtensionMode(self): """HTTPS请求包当前续订模式 0:未续订 1:到期续订 2:用完续订 3:到期或用完续订 :rtype: int """ return self._ExtensionMode @ExtensionMode.setter def ExtensionMode(self, ExtensionMode): self._ExtensionMode = ExtensionMode @property def AutoExtension(self): """HTTPS请求包是否自动续订 注意:此字段可能返回 null,表示取不到有效值。 :rtype: bool """ return self._AutoExtension @AutoExtension.setter def AutoExtension(self, AutoExtension): self._AutoExtension = AutoExtension def _deserialize(self, params): self._Id = params.get("Id") self._Type = params.get("Type") self._Size = params.get("Size") self._SizeUsed = params.get("SizeUsed") self._Status = params.get("Status") self._CreateTime = params.get("CreateTime") self._EnableTime = params.get("EnableTime") self._ExpireTime = params.get("ExpireTime") self._Channel = params.get("Channel") self._LifeTimeMonth = params.get("LifeTimeMonth") self._RefundAvailable = params.get("RefundAvailable") self._ConfigId = params.get("ConfigId") self._TrueEnableTime = params.get("TrueEnableTime") self._TrueExpireTime = params.get("TrueExpireTime") self._Area = params.get("Area") self._ContractExtension = params.get("ContractExtension") self._ExtensionAvailable = params.get("ExtensionAvailable") self._ExtensionMode = params.get("ExtensionMode") self._AutoExtension = params.get("AutoExtension") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class HwPrivateAccess(AbstractModel): """华为云对象存储回源鉴权 """ def __init__(self): r""" :param _Switch: 华为云对象存储回源鉴权配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _AccessKey: 访问 ID 注意:此字段可能返回 null,表示取不到有效值。 :type AccessKey: str :param _SecretKey: 密钥,字段为脱敏返回。 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str :param _Bucket: bucketname 注意:此字段可能返回 null,表示取不到有效值。 :type Bucket: str """ self._Switch = None self._AccessKey = None self._SecretKey = None self._Bucket = None @property def Switch(self): """ 华为云对象存储回源鉴权配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def AccessKey(self): """访问 ID 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._AccessKey @AccessKey.setter def AccessKey(self, AccessKey): self._AccessKey = AccessKey @property def SecretKey(self): """密钥,字段为脱敏返回。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def Bucket(self): """bucketname 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Bucket @Bucket.setter def Bucket(self, Bucket): self._Bucket = Bucket def _deserialize(self, params): self._Switch = params.get("Switch") self._AccessKey = params.get("AccessKey") self._SecretKey = params.get("SecretKey") self._Bucket = params.get("Bucket") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ImageOptimization(AbstractModel): """ImageOptimization配置 """ def __init__(self): r""" :param _WebpAdapter: WebpAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :type WebpAdapter: :class:`tencentcloud.cdn.v20180606.models.WebpAdapter` :param _TpgAdapter: TpgAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :type TpgAdapter: :class:`tencentcloud.cdn.v20180606.models.TpgAdapter` :param _GuetzliAdapter: GuetzliAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :type GuetzliAdapter: :class:`tencentcloud.cdn.v20180606.models.GuetzliAdapter` :param _AvifAdapter: AvifAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :type AvifAdapter: :class:`tencentcloud.cdn.v20180606.models.AvifAdapter` """ self._WebpAdapter = None self._TpgAdapter = None self._GuetzliAdapter = None self._AvifAdapter = None @property def WebpAdapter(self): """WebpAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.WebpAdapter` """ return self._WebpAdapter @WebpAdapter.setter def WebpAdapter(self, WebpAdapter): self._WebpAdapter = WebpAdapter @property def TpgAdapter(self): """TpgAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.TpgAdapter` """ return self._TpgAdapter @TpgAdapter.setter def TpgAdapter(self, TpgAdapter): self._TpgAdapter = TpgAdapter @property def GuetzliAdapter(self): """GuetzliAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.GuetzliAdapter` """ return self._GuetzliAdapter @GuetzliAdapter.setter def GuetzliAdapter(self, GuetzliAdapter): self._GuetzliAdapter = GuetzliAdapter @property def AvifAdapter(self): """AvifAdapter配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AvifAdapter` """ return self._AvifAdapter @AvifAdapter.setter def AvifAdapter(self, AvifAdapter): self._AvifAdapter = AvifAdapter def _deserialize(self, params): if params.get("WebpAdapter") is not None: self._WebpAdapter = WebpAdapter() self._WebpAdapter._deserialize(params.get("WebpAdapter")) if params.get("TpgAdapter") is not None: self._TpgAdapter = TpgAdapter() self._TpgAdapter._deserialize(params.get("TpgAdapter")) if params.get("GuetzliAdapter") is not None: self._GuetzliAdapter = GuetzliAdapter() self._GuetzliAdapter._deserialize(params.get("GuetzliAdapter")) if params.get("AvifAdapter") is not None: self._AvifAdapter = AvifAdapter() self._AvifAdapter._deserialize(params.get("AvifAdapter")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class IpFilter(AbstractModel): """IP 黑白名单配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: IP 黑白名单配置开关,取值有 on:开启 off:关闭 :type Switch: str :param _FilterType: IP 黑白名单类型 whitelist:白名单 blacklist:黑名单 注意:此字段可能返回 null,表示取不到有效值。 :type FilterType: str :param _Filters: IP 黑白名单列表 支持 X.X.X.X 格式IPV4地址 或X:X:X:X:X:X:X:X 格式IPV6地址, 或网段格式/X(IPV4:1≤X≤32;IPV6:1≤X≤128) 最多可填充 200 个白名单或 200 个黑名单; 注意:此字段可能返回 null,表示取不到有效值。 :type Filters: list of str :param _FilterRules: IP 黑白名单分路径配置,白名单功能 注意:此字段可能返回 null,表示取不到有效值。 :type FilterRules: list of IpFilterPathRule :param _ReturnCode: IP 黑白名单验证失败时返回的 code <br><font color=red>已下线,参数失效,不支持自定义状态码,固定返回514</font> 注意:此字段可能返回 null,表示取不到有效值。 :type ReturnCode: int """ self._Switch = None self._FilterType = None self._Filters = None self._FilterRules = None self._ReturnCode = None @property def Switch(self): """IP 黑白名单配置开关,取值有 on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def FilterType(self): """IP 黑白名单类型 whitelist:白名单 blacklist:黑名单 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._FilterType @FilterType.setter def FilterType(self, FilterType): self._FilterType = FilterType @property def Filters(self): """IP 黑白名单列表 支持 X.X.X.X 格式IPV4地址 或X:X:X:X:X:X:X:X 格式IPV6地址, 或网段格式/X(IPV4:1≤X≤32;IPV6:1≤X≤128) 最多可填充 200 个白名单或 200 个黑名单; 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._Filters @Filters.setter def Filters(self, Filters): self._Filters = Filters @property def FilterRules(self): """IP 黑白名单分路径配置,白名单功能 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of IpFilterPathRule """ return self._FilterRules @FilterRules.setter def FilterRules(self, FilterRules): self._FilterRules = FilterRules @property def ReturnCode(self): """IP 黑白名单验证失败时返回的 code <br><font color=red>已下线,参数失效,不支持自定义状态码,固定返回514</font> 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._ReturnCode @ReturnCode.setter def ReturnCode(self, ReturnCode): self._ReturnCode = ReturnCode def _deserialize(self, params): self._Switch = params.get("Switch") self._FilterType = params.get("FilterType") self._Filters = params.get("Filters") if params.get("FilterRules") is not None: self._FilterRules = [] for item in params.get("FilterRules"): obj = IpFilterPathRule() obj._deserialize(item) self._FilterRules.append(obj) self._ReturnCode = params.get("ReturnCode") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class IpFilterPathRule(AbstractModel): """IP黑白名单分路径配置 """ def __init__(self): r""" :param _FilterType: IP 黑白名单类型 whitelist:白名单 blacklist:黑名单 注意:此字段可能返回 null,表示取不到有效值。 :type FilterType: str :param _Filters: IP 黑白名单列表 支持 X.X.X.X 格式IPV4地址 或X:X:X:X:X:X:X:X 格式IPV6地址, 或网段格式/X(IPV4:1≤X≤32;IPV6:1≤X≤128) 最多可填充 200 个白名单或 500 个黑名单; 注意:此字段可能返回 null,表示取不到有效值。 :type Filters: list of str :param _RuleType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 注意:此字段可能返回 null,表示取不到有效值。 :type RuleType: str :param _RulePaths: RuleType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html 注意:此字段可能返回 null,表示取不到有效值。 :type RulePaths: list of str """ self._FilterType = None self._Filters = None self._RuleType = None self._RulePaths = None @property def FilterType(self): """IP 黑白名单类型 whitelist:白名单 blacklist:黑名单 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._FilterType @FilterType.setter def FilterType(self, FilterType): self._FilterType = FilterType @property def Filters(self): """IP 黑白名单列表 支持 X.X.X.X 格式IPV4地址 或X:X:X:X:X:X:X:X 格式IPV6地址, 或网段格式/X(IPV4:1≤X≤32;IPV6:1≤X≤128) 最多可填充 200 个白名单或 500 个黑名单; 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._Filters @Filters.setter def Filters(self, Filters): self._Filters = Filters @property def RuleType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RulePaths(self): """RuleType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths def _deserialize(self, params): self._FilterType = params.get("FilterType") self._Filters = params.get("Filters") self._RuleType = params.get("RuleType") self._RulePaths = params.get("RulePaths") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class IpFreqLimit(AbstractModel): """单节点单 IP 访问限频配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: IP 限频配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _Qps: 设置每秒请求数限制 超出限制的请求会直接返回 514 注意:此字段可能返回 null,表示取不到有效值。 :type Qps: int """ self._Switch = None self._Qps = None @property def Switch(self): """IP 限频配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Qps(self): """设置每秒请求数限制 超出限制的请求会直接返回 514 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Qps @Qps.setter def Qps(self, Qps): self._Qps = Qps def _deserialize(self, params): self._Switch = params.get("Switch") self._Qps = params.get("Qps") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class IpStatus(AbstractModel): """节点 IP 信息 """ def __init__(self): r""" :param _Ip: 节点 IP :type Ip: str :param _District: 节点所属区域 :type District: str :param _Isp: 节点所属运营商 :type Isp: str :param _City: 节点所在城市 :type City: str :param _Status: 节点状态 online:上线状态,正常调度服务中 offline:下线状态 :type Status: str :param _Ipv6: 节点 IPV6 注意:此字段可能返回 null,表示取不到有效值。 :type Ipv6: str """ self._Ip = None self._District = None self._Isp = None self._City = None self._Status = None self._Ipv6 = None @property def Ip(self): """节点 IP :rtype: str """ return self._Ip @Ip.setter def Ip(self, Ip): self._Ip = Ip @property def District(self): """节点所属区域 :rtype: str """ return self._District @District.setter def District(self, District): self._District = District @property def Isp(self): """节点所属运营商 :rtype: str """ return self._Isp @Isp.setter def Isp(self, Isp): self._Isp = Isp @property def City(self): """节点所在城市 :rtype: str """ return self._City @City.setter def City(self, City): self._City = City @property def Status(self): """节点状态 online:上线状态,正常调度服务中 offline:下线状态 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def Ipv6(self): """节点 IPV6 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Ipv6 @Ipv6.setter def Ipv6(self, Ipv6): self._Ipv6 = Ipv6 def _deserialize(self, params): self._Ip = params.get("Ip") self._District = params.get("District") self._Isp = params.get("Isp") self._City = params.get("City") self._Status = params.get("Status") self._Ipv6 = params.get("Ipv6") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Ipv6(AbstractModel): """Ipv6源站启用配置,不可更改 """ def __init__(self): r""" :param _Switch: 域名开启源站ipv6配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str """ self._Switch = None @property def Switch(self): """域名开启源站ipv6配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Ipv6Access(AbstractModel): """Ipv6访问配置 """ def __init__(self): r""" :param _Switch: 域名开启ipv6访问配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str """ self._Switch = None @property def Switch(self): """域名开启ipv6访问配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class KeyRule(AbstractModel): """缓存键分路径配置 """ def __init__(self): r""" :param _RulePaths: CacheType 对应类型下的匹配内容: file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html index 时填充 / 注意:此字段可能返回 null,表示取不到有效值。 :type RulePaths: list of str :param _RuleType: 规则类型: file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index:首页 注意:此字段可能返回 null,表示取不到有效值。 :type RuleType: str :param _FullUrlCache: 是否开启全路径缓存 on:开启全路径缓存(即关闭参数忽略) off:关闭全路径缓存(即开启参数忽略) 注意:此字段可能返回 null,表示取不到有效值。 :type FullUrlCache: str :param _IgnoreCase: 是否忽略大小写缓存 注意:此字段可能返回 null,表示取不到有效值。 :type IgnoreCase: str :param _QueryString: CacheKey中包含请求参数 注意:此字段可能返回 null,表示取不到有效值。 :type QueryString: :class:`tencentcloud.cdn.v20180606.models.RuleQueryString` :param _RuleTag: 路径缓存键标签,传 user 注意:此字段可能返回 null,表示取不到有效值。 :type RuleTag: str """ self._RulePaths = None self._RuleType = None self._FullUrlCache = None self._IgnoreCase = None self._QueryString = None self._RuleTag = None @property def RulePaths(self): """CacheType 对应类型下的匹配内容: file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html index 时填充 / 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths @property def RuleType(self): """规则类型: file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index:首页 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def FullUrlCache(self): """是否开启全路径缓存 on:开启全路径缓存(即关闭参数忽略) off:关闭全路径缓存(即开启参数忽略) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._FullUrlCache @FullUrlCache.setter def FullUrlCache(self, FullUrlCache): self._FullUrlCache = FullUrlCache @property def IgnoreCase(self): """是否忽略大小写缓存 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IgnoreCase @IgnoreCase.setter def IgnoreCase(self, IgnoreCase): self._IgnoreCase = IgnoreCase @property def QueryString(self): """CacheKey中包含请求参数 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RuleQueryString` """ return self._QueryString @QueryString.setter def QueryString(self, QueryString): self._QueryString = QueryString @property def RuleTag(self): """路径缓存键标签,传 user 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleTag @RuleTag.setter def RuleTag(self, RuleTag): self._RuleTag = RuleTag def _deserialize(self, params): self._RulePaths = params.get("RulePaths") self._RuleType = params.get("RuleType") self._FullUrlCache = params.get("FullUrlCache") self._IgnoreCase = params.get("IgnoreCase") if params.get("QueryString") is not None: self._QueryString = RuleQueryString() self._QueryString._deserialize(params.get("QueryString")) self._RuleTag = params.get("RuleTag") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListClsLogTopicsRequest(AbstractModel): """ListClsLogTopics请求参数结构体 """ def __init__(self): r""" :param _Channel: 接入渠道,cdn或者ecdn,默认值为cdn :type Channel: str """ self._Channel = None @property def Channel(self): """接入渠道,cdn或者ecdn,默认值为cdn :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel def _deserialize(self, params): self._Channel = params.get("Channel") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListClsLogTopicsResponse(AbstractModel): """ListClsLogTopics返回参数结构体 """ def __init__(self): r""" :param _Logset: 上海区域日志集信息 :type Logset: :class:`tencentcloud.cdn.v20180606.models.LogSetInfo` :param _Topics: 上海区域日志主题信息列表 注意:此字段可能返回 null,表示取不到有效值。 :type Topics: list of TopicInfo :param _ExtraLogset: 其他区域日志集信息列表 注意:此字段可能返回 null,表示取不到有效值。 :type ExtraLogset: list of ExtraLogset :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Logset = None self._Topics = None self._ExtraLogset = None self._RequestId = None @property def Logset(self): """上海区域日志集信息 :rtype: :class:`tencentcloud.cdn.v20180606.models.LogSetInfo` """ return self._Logset @Logset.setter def Logset(self, Logset): self._Logset = Logset @property def Topics(self): """上海区域日志主题信息列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of TopicInfo """ return self._Topics @Topics.setter def Topics(self, Topics): self._Topics = Topics @property def ExtraLogset(self): """其他区域日志集信息列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ExtraLogset """ return self._ExtraLogset @ExtraLogset.setter def ExtraLogset(self, ExtraLogset): self._ExtraLogset = ExtraLogset @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Logset") is not None: self._Logset = LogSetInfo() self._Logset._deserialize(params.get("Logset")) if params.get("Topics") is not None: self._Topics = [] for item in params.get("Topics"): obj = TopicInfo() obj._deserialize(item) self._Topics.append(obj) if params.get("ExtraLogset") is not None: self._ExtraLogset = [] for item in params.get("ExtraLogset"): obj = ExtraLogset() obj._deserialize(item) self._ExtraLogset.append(obj) self._RequestId = params.get("RequestId") class ListClsTopicDomainsRequest(AbstractModel): """ListClsTopicDomains请求参数结构体 """ def __init__(self): r""" :param _LogsetId: 日志集ID :type LogsetId: str :param _TopicId: 日志主题ID :type TopicId: str :param _Channel: 接入渠道,cdn或者ecdn,默认值为cdn :type Channel: str """ self._LogsetId = None self._TopicId = None self._Channel = None @property def LogsetId(self): """日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def TopicId(self): """日志主题ID :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def Channel(self): """接入渠道,cdn或者ecdn,默认值为cdn :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel def _deserialize(self, params): self._LogsetId = params.get("LogsetId") self._TopicId = params.get("TopicId") self._Channel = params.get("Channel") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListClsTopicDomainsResponse(AbstractModel): """ListClsTopicDomains返回参数结构体 """ def __init__(self): r""" :param _AppId: 开发者ID :type AppId: int :param _Channel: 渠道 :type Channel: str :param _LogsetId: 日志集ID :type LogsetId: str :param _TopicId: 日志主题ID :type TopicId: str :param _DomainAreaConfigs: 域名区域配置,其中可能含有已删除的域名,如果要再传回ManageClsTopicDomains接口,需要结合ListCdnDomains接口排除掉已删除的域名 :type DomainAreaConfigs: list of DomainAreaConfig :param _TopicName: 日志主题名称 :type TopicName: str :param _UpdateTime: 日志主题最近更新时间 注意:此字段可能返回 null,表示取不到有效值。 :type UpdateTime: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._AppId = None self._Channel = None self._LogsetId = None self._TopicId = None self._DomainAreaConfigs = None self._TopicName = None self._UpdateTime = None self._RequestId = None @property def AppId(self): """开发者ID :rtype: int """ return self._AppId @AppId.setter def AppId(self, AppId): self._AppId = AppId @property def Channel(self): """渠道 :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def LogsetId(self): """日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def TopicId(self): """日志主题ID :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def DomainAreaConfigs(self): """域名区域配置,其中可能含有已删除的域名,如果要再传回ManageClsTopicDomains接口,需要结合ListCdnDomains接口排除掉已删除的域名 :rtype: list of DomainAreaConfig """ return self._DomainAreaConfigs @DomainAreaConfigs.setter def DomainAreaConfigs(self, DomainAreaConfigs): self._DomainAreaConfigs = DomainAreaConfigs @property def TopicName(self): """日志主题名称 :rtype: str """ return self._TopicName @TopicName.setter def TopicName(self, TopicName): self._TopicName = TopicName @property def UpdateTime(self): """日志主题最近更新时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._UpdateTime @UpdateTime.setter def UpdateTime(self, UpdateTime): self._UpdateTime = UpdateTime @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._AppId = params.get("AppId") self._Channel = params.get("Channel") self._LogsetId = params.get("LogsetId") self._TopicId = params.get("TopicId") if params.get("DomainAreaConfigs") is not None: self._DomainAreaConfigs = [] for item in params.get("DomainAreaConfigs"): obj = DomainAreaConfig() obj._deserialize(item) self._DomainAreaConfigs.append(obj) self._TopicName = params.get("TopicName") self._UpdateTime = params.get("UpdateTime") self._RequestId = params.get("RequestId") class ListDiagnoseReportRequest(AbstractModel): """ListDiagnoseReport请求参数结构体 """ def __init__(self): r""" :param _KeyWords: 用于搜索诊断URL的关键字,不填时返回用户所有的诊断任务。 :type KeyWords: str :param _DiagnoseLink: 用于搜索诊断系统返回的诊断链接,形如:http://cdn.cloud.tencent.com/self_diagnose/xxxxx :type DiagnoseLink: str :param _Origin: 请求源带协议头,形如:https://console.cloud.tencent.com :type Origin: str """ self._KeyWords = None self._DiagnoseLink = None self._Origin = None @property def KeyWords(self): """用于搜索诊断URL的关键字,不填时返回用户所有的诊断任务。 :rtype: str """ return self._KeyWords @KeyWords.setter def KeyWords(self, KeyWords): self._KeyWords = KeyWords @property def DiagnoseLink(self): """用于搜索诊断系统返回的诊断链接,形如:http://cdn.cloud.tencent.com/self_diagnose/xxxxx :rtype: str """ return self._DiagnoseLink @DiagnoseLink.setter def DiagnoseLink(self, DiagnoseLink): self._DiagnoseLink = DiagnoseLink @property def Origin(self): """请求源带协议头,形如:https://console.cloud.tencent.com :rtype: str """ return self._Origin @Origin.setter def Origin(self, Origin): self._Origin = Origin def _deserialize(self, params): self._KeyWords = params.get("KeyWords") self._DiagnoseLink = params.get("DiagnoseLink") self._Origin = params.get("Origin") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListDiagnoseReportResponse(AbstractModel): """ListDiagnoseReport返回参数结构体 """ def __init__(self): r""" :param _Data: 诊断信息。 :type Data: list of DiagnoseInfo :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """诊断信息。 :rtype: list of DiagnoseInfo """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = DiagnoseInfo() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class ListScdnDomainsRequest(AbstractModel): """ListScdnDomains请求参数结构体 """ def __init__(self): r""" :param _Offset: 分页起始地址 :type Offset: int :param _Limit: 列表分页记录条数,最大1000 :type Limit: int :param _Domain: 域名信息 :type Domain: str """ self._Offset = None self._Limit = None self._Domain = None @property def Offset(self): """分页起始地址 :rtype: int """ return self._Offset @Offset.setter def Offset(self, Offset): self._Offset = Offset @property def Limit(self): """列表分页记录条数,最大1000 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Domain(self): """域名信息 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Offset = params.get("Offset") self._Limit = params.get("Limit") self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListScdnDomainsResponse(AbstractModel): """ListScdnDomains返回参数结构体 """ def __init__(self): r""" :param _DomainList: 域名列表信息 注意:此字段可能返回 null,表示取不到有效值。 :type DomainList: list of ScdnDomain :param _TotalCount: 域名的总条数。 注意:此字段可能返回 null,表示取不到有效值。 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._DomainList = None self._TotalCount = None self._RequestId = None @property def DomainList(self): """域名列表信息 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ScdnDomain """ return self._DomainList @DomainList.setter def DomainList(self, DomainList): self._DomainList = DomainList @property def TotalCount(self): """域名的总条数。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("DomainList") is not None: self._DomainList = [] for item in params.get("DomainList"): obj = ScdnDomain() obj._deserialize(item) self._DomainList.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class ListScdnLogTasksRequest(AbstractModel): """ListScdnLogTasks请求参数结构体 """ def __init__(self): r""" :param _Source: 产品来源 cdn/ecdn :type Source: str :param _Area: 地域:mainland 或 overseas 为空表示查询所有地域 :type Area: str """ self._Source = None self._Area = None @property def Source(self): """产品来源 cdn/ecdn :rtype: str """ return self._Source @Source.setter def Source(self, Source): self._Source = Source @property def Area(self): """地域:mainland 或 overseas 为空表示查询所有地域 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._Source = params.get("Source") self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListScdnLogTasksResponse(AbstractModel): """ListScdnLogTasks返回参数结构体 """ def __init__(self): r""" :param _TaskList: 日志下载任务详情 :type TaskList: list of ScdnLogTaskDetail :param _TotalCount: 查询到的下载任务的总数 :type TotalCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskList = None self._TotalCount = None self._RequestId = None @property def TaskList(self): """日志下载任务详情 :rtype: list of ScdnLogTaskDetail """ return self._TaskList @TaskList.setter def TaskList(self, TaskList): self._TaskList = TaskList @property def TotalCount(self): """查询到的下载任务的总数 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("TaskList") is not None: self._TaskList = [] for item in params.get("TaskList"): obj = ScdnLogTaskDetail() obj._deserialize(item) self._TaskList.append(obj) self._TotalCount = params.get("TotalCount") self._RequestId = params.get("RequestId") class ListScdnTopBotDataRequest(AbstractModel): """ListScdnTopBotData请求参数结构体 """ def __init__(self): r""" :param _TopCount: 获取Top量,取值范围[1-10] :type TopCount: int :param _StartTime: 开始时间 :type StartTime: str :param _EndTime: 结束时间 :type EndTime: str :param _Area: mainland 大陆地区 overseas境外地区 :type Area: str :param _Metric: session表示查询BOT会话的Top信息 ip表示查询BOT客户端IP的Top信息 不填代表获取会话信息 :type Metric: str :param _Domains: 域名,仅当Metric=ip,并且Domain为空时有效,不填写表示获取AppID信息 :type Domains: list of str """ self._TopCount = None self._StartTime = None self._EndTime = None self._Area = None self._Metric = None self._Domains = None @property def TopCount(self): """获取Top量,取值范围[1-10] :rtype: int """ return self._TopCount @TopCount.setter def TopCount(self, TopCount): self._TopCount = TopCount @property def StartTime(self): """开始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Area(self): """mainland 大陆地区 overseas境外地区 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Metric(self): """session表示查询BOT会话的Top信息 ip表示查询BOT客户端IP的Top信息 不填代表获取会话信息 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Domains(self): """域名,仅当Metric=ip,并且Domain为空时有效,不填写表示获取AppID信息 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains def _deserialize(self, params): self._TopCount = params.get("TopCount") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Area = params.get("Area") self._Metric = params.get("Metric") self._Domains = params.get("Domains") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListScdnTopBotDataResponse(AbstractModel): """ListScdnTopBotData返回参数结构体 """ def __init__(self): r""" :param _Data: 域名BOT次数列表 :type Data: list of BotStatisticsCount :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """域名BOT次数列表 :rtype: list of BotStatisticsCount """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = BotStatisticsCount() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class ListTopBotDataRequest(AbstractModel): """ListTopBotData请求参数结构体 """ def __init__(self): r""" :param _TopCount: 获取Top量,取值范围[1-10] :type TopCount: int :param _StartTime: 开始时间 :type StartTime: str :param _EndTime: 结束时间 :type EndTime: str :param _Metric: session表示查询BOT会话的Top信息 ip表示查询BOT客户端IP的Top信息 不填代表获取会话信息 :type Metric: str :param _Domain: 域名,仅当Metric=ip时有效,不填写表示使用Domains参数 :type Domain: str :param _Domains: 域名,仅当Metric=ip,并且Domain为空时有效,不填写表示获取AppID信息 :type Domains: list of str """ self._TopCount = None self._StartTime = None self._EndTime = None self._Metric = None self._Domain = None self._Domains = None @property def TopCount(self): """获取Top量,取值范围[1-10] :rtype: int """ return self._TopCount @TopCount.setter def TopCount(self, TopCount): self._TopCount = TopCount @property def StartTime(self): """开始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Metric(self): """session表示查询BOT会话的Top信息 ip表示查询BOT客户端IP的Top信息 不填代表获取会话信息 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Domain(self): """域名,仅当Metric=ip时有效,不填写表示使用Domains参数 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Domains(self): """域名,仅当Metric=ip,并且Domain为空时有效,不填写表示获取AppID信息 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains def _deserialize(self, params): self._TopCount = params.get("TopCount") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Metric = params.get("Metric") self._Domain = params.get("Domain") self._Domains = params.get("Domains") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListTopBotDataResponse(AbstractModel): """ListTopBotData返回参数结构体 """ def __init__(self): r""" :param _Data: 域名BOT次数列表 :type Data: list of DomainBotCount :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """域名BOT次数列表 :rtype: list of DomainBotCount """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = DomainBotCount() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class ListTopCcDataRequest(AbstractModel): """ListTopCcData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询Top数据的开始时间,格式为:2020-01-01 00:00:00 :type StartTime: str :param _EndTime: 查询Top数据的结束时间,格式为:2020-01-01 23:59:59 支持 90 天内数据查询,不传此参数,表示查当天数据 时间跨度要小于等于7天 :type EndTime: str :param _Domain: 域名,不传此参数,表示查询账号级别数据 :type Domain: str :param _Metric: 统计指标: ip_url : Top IP+URL 默认值 ua : Top UA :type Metric: str :param _Source: cdn表示CDN数据,默认值 ecdn表示ECDN数据 :type Source: str :param _Domains: 域名列表,不传此参数,表示查询账号级别数据 :type Domains: list of str :param _ActionName: 执行动作,取值为:intercept/redirect/observe 分别表示:拦截/重定向/观察 为空表示查询所有执行动作数据 :type ActionName: str :param _Area: 地域:mainland或overseas,表示国内或海外,不填写默认表示国内 :type Area: str """ self._StartTime = None self._EndTime = None self._Domain = None self._Metric = None self._Source = None self._Domains = None self._ActionName = None self._Area = None @property def StartTime(self): """查询Top数据的开始时间,格式为:2020-01-01 00:00:00 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询Top数据的结束时间,格式为:2020-01-01 23:59:59 支持 90 天内数据查询,不传此参数,表示查当天数据 时间跨度要小于等于7天 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Domain(self): """域名,不传此参数,表示查询账号级别数据 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Metric(self): """统计指标: ip_url : Top IP+URL 默认值 ua : Top UA :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Source(self): """cdn表示CDN数据,默认值 ecdn表示ECDN数据 :rtype: str """ return self._Source @Source.setter def Source(self, Source): self._Source = Source @property def Domains(self): """域名列表,不传此参数,表示查询账号级别数据 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def ActionName(self): """执行动作,取值为:intercept/redirect/observe 分别表示:拦截/重定向/观察 为空表示查询所有执行动作数据 :rtype: str """ return self._ActionName @ActionName.setter def ActionName(self, ActionName): self._ActionName = ActionName @property def Area(self): """地域:mainland或overseas,表示国内或海外,不填写默认表示国内 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Domain = params.get("Domain") self._Metric = params.get("Metric") self._Source = params.get("Source") self._Domains = params.get("Domains") self._ActionName = params.get("ActionName") self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListTopCcDataResponse(AbstractModel): """ListTopCcData返回参数结构体 """ def __init__(self): r""" :param _Data: Top数据 注意:此字段可能返回 null,表示取不到有效值。 :type Data: list of CcTopData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """Top数据 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of CcTopData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = CcTopData() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class ListTopClsLogDataRequest(AbstractModel): """ListTopClsLogData请求参数结构体 """ def __init__(self): r""" :param _LogsetId: 需要查询的日志集ID :type LogsetId: str :param _TopicIds: 需要查询的日志主题ID组合,多个以逗号分隔 :type TopicIds: str :param _StartTime: 需要查询的日志的起始时间,格式 YYYY-mm-dd HH:MM:SS :type StartTime: str :param _EndTime: 需要查询的日志的结束时间,格式 YYYY-mm-dd HH:MM:SS,时间跨度应小于10分钟 :type EndTime: str :param _Domain: 指定域名查询 :type Domain: str :param _Url: 指定访问的URL查询,支持URL开头和结尾使用\*表示通配 如: /files/* 表示所有以/files/开头的请求 *.jpg 表示所有以.jpg结尾的请求 :type Url: str :param _Channel: 接入渠道,cdn或者ecdn,默认值为cdn :type Channel: str :param _Limit: 要查询的Top条数,最大值为100,默认为10 :type Limit: int :param _Sort: 按请求量排序, asc(升序)或者 desc(降序),默认为 desc :type Sort: str """ self._LogsetId = None self._TopicIds = None self._StartTime = None self._EndTime = None self._Domain = None self._Url = None self._Channel = None self._Limit = None self._Sort = None @property def LogsetId(self): """需要查询的日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def TopicIds(self): """需要查询的日志主题ID组合,多个以逗号分隔 :rtype: str """ return self._TopicIds @TopicIds.setter def TopicIds(self, TopicIds): self._TopicIds = TopicIds @property def StartTime(self): """需要查询的日志的起始时间,格式 YYYY-mm-dd HH:MM:SS :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """需要查询的日志的结束时间,格式 YYYY-mm-dd HH:MM:SS,时间跨度应小于10分钟 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Domain(self): """指定域名查询 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Url(self): """指定访问的URL查询,支持URL开头和结尾使用\*表示通配 如: /files/* 表示所有以/files/开头的请求 *.jpg 表示所有以.jpg结尾的请求 :rtype: str """ return self._Url @Url.setter def Url(self, Url): self._Url = Url @property def Channel(self): """接入渠道,cdn或者ecdn,默认值为cdn :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def Limit(self): """要查询的Top条数,最大值为100,默认为10 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Sort(self): """按请求量排序, asc(升序)或者 desc(降序),默认为 desc :rtype: str """ return self._Sort @Sort.setter def Sort(self, Sort): self._Sort = Sort def _deserialize(self, params): self._LogsetId = params.get("LogsetId") self._TopicIds = params.get("TopicIds") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Domain = params.get("Domain") self._Url = params.get("Url") self._Channel = params.get("Channel") self._Limit = params.get("Limit") self._Sort = params.get("Sort") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListTopClsLogDataResponse(AbstractModel): """ListTopClsLogData返回参数结构体 """ def __init__(self): r""" :param _Data: 数据列表 :type Data: list of ClsLogIpData :param _TotalCount: 获取到Top总记录数 :type TotalCount: int :param _IpCount: 获取到的不重复IP条数 :type IpCount: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._TotalCount = None self._IpCount = None self._RequestId = None @property def Data(self): """数据列表 :rtype: list of ClsLogIpData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def TotalCount(self): """获取到Top总记录数 :rtype: int """ return self._TotalCount @TotalCount.setter def TotalCount(self, TotalCount): self._TotalCount = TotalCount @property def IpCount(self): """获取到的不重复IP条数 :rtype: int """ return self._IpCount @IpCount.setter def IpCount(self, IpCount): self._IpCount = IpCount @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = ClsLogIpData() obj._deserialize(item) self._Data.append(obj) self._TotalCount = params.get("TotalCount") self._IpCount = params.get("IpCount") self._RequestId = params.get("RequestId") class ListTopDDoSDataRequest(AbstractModel): """ListTopDDoSData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询Top数据的开始时间,格式为:2020-01-01 00:00:00 :type StartTime: str :param _EndTime: 查询Top数据的结束时间,格式为:2020-01-01 23:59:59 支持 90 天内数据查询,时间跨度要小于等于7天 :type EndTime: str :param _TopCount: 查询Top的数量,不填默认值为10 :type TopCount: int :param _Metric: AttackIP表示查询攻击ip的top排行,AttackType表示攻击类型的top排行,为空默认为AttackType :type Metric: str """ self._StartTime = None self._EndTime = None self._TopCount = None self._Metric = None @property def StartTime(self): """查询Top数据的开始时间,格式为:2020-01-01 00:00:00 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询Top数据的结束时间,格式为:2020-01-01 23:59:59 支持 90 天内数据查询,时间跨度要小于等于7天 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def TopCount(self): """查询Top的数量,不填默认值为10 :rtype: int """ return self._TopCount @TopCount.setter def TopCount(self, TopCount): self._TopCount = TopCount @property def Metric(self): """AttackIP表示查询攻击ip的top排行,AttackType表示攻击类型的top排行,为空默认为AttackType :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._TopCount = params.get("TopCount") self._Metric = params.get("Metric") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListTopDDoSDataResponse(AbstractModel): """ListTopDDoSData返回参数结构体 """ def __init__(self): r""" :param _Data: DDoS 攻击类型的top数据,当Metric=AttackType的时候返回攻击类型的统计数据,IPData为空 :type Data: list of DDoSTopData :param _IPData: ddos攻击ip的top数据,Metric=AttackIP的时候返回IPData,Data为空 :type IPData: list of DDoSAttackIPTopData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._IPData = None self._RequestId = None @property def Data(self): """DDoS 攻击类型的top数据,当Metric=AttackType的时候返回攻击类型的统计数据,IPData为空 :rtype: list of DDoSTopData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def IPData(self): """ddos攻击ip的top数据,Metric=AttackIP的时候返回IPData,Data为空 :rtype: list of DDoSAttackIPTopData """ return self._IPData @IPData.setter def IPData(self, IPData): self._IPData = IPData @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = DDoSTopData() obj._deserialize(item) self._Data.append(obj) if params.get("IPData") is not None: self._IPData = [] for item in params.get("IPData"): obj = DDoSAttackIPTopData() obj._deserialize(item) self._IPData.append(obj) self._RequestId = params.get("RequestId") class ListTopDataRequest(AbstractModel): """ListTopData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间:yyyy-MM-dd HH:mm:ss 仅支持按分钟粒度的数据查询,按入参抹去秒位作为起始时间,如 StartTime为2018-09-04 10:40:23,返回数据的起始时间为2018-09-04 10:40:00 仅支持 90 天内数据查询 :type StartTime: str :param _EndTime: 查询结束时间:yyyy-MM-dd HH:mm:ss 仅支持按天粒度的数据查询,取入参中的天信息作为结束日期 返回小于等于结束日期当天 23:59:59 产生的数据,如EndTime为2018-09-05 22:40:00,返回数据的结束时间为2018-09-05 23:59:59 EndTime 需要大于等于 StartTime :type EndTime: str :param _Metric: 排序对象,支持以下几种形式: url:访问 URL 排序(无参数的URL),支持的 Filter 为 flux、request district:省份、国家/地区排序,支持的 Filter 为 flux、request isp:运营商排序,支持的 Filter 为 flux、request host:域名访问数据排序,支持的 Filter 为:flux、request、bandwidth、fluxHitRate、2XX、3XX、4XX、5XX、statusCode originHost:域名回源数据排序,支持的 Filter 为 flux、request、bandwidth、origin_2XX、origin_3XX、origin_4XX、origin_5XX、OriginStatusCode :type Metric: str :param _Filter: 排序使用的指标名称: flux:Metric 为 host 时指代访问流量,originHost 时指代回源流量 bandwidth:Metric 为 host 时指代访问带宽,originHost 时指代回源带宽 request:Metric 为 host 时指代访问请求数,originHost 时指代回源请求数 fluxHitRate:平均流量命中率 2XX:访问 2XX 状态码 3XX:访问 3XX 状态码 4XX:访问 4XX 状态码 5XX:访问 5XX 状态码 origin_2XX:回源 2XX 状态码 origin_3XX:回源 3XX 状态码 origin_4XX:回源 4XX 状态码 origin_5XX:回源 5XX 状态码 statusCode:指定访问状态码统计,在 Code 参数中填充指定状态码 OriginStatusCode:指定回源状态码统计,在 Code 参数中填充指定状态码 :type Filter: str :param _Domains: 指定查询域名列表,最多可一次性查询 30 个加速域名明细 :type Domains: list of str :param _Project: 指定要查询的项目 ID,[前往查看项目 ID](https://console.cloud.tencent.com/project) 未填充域名情况下,指定项目查询,若填充了具体域名信息,以域名为主 :type Project: int :param _Detail: 多域名查询时,默认(false)返回所有域名汇总排序结果 Metric 为 url、path、district、isp,Filter 为 flux、request 时,可设置为 true,返回每一个 Domain 的排序数据 :type Detail: bool :param _Code: Filter 为 statusCode、OriginStatusCode 时,填充指定状态码查询排序结果 :type Code: str :param _Area: 指定服务地域查询,不填充表示查询中国境内 CDN 数据 mainland:指定查询中国境内 CDN 数据 overseas:指定查询中国境外 CDN 数据,支持的 Metric 为 url、district、host、originHost,当 Metric 为 originHost 时仅支持 flux、request、bandwidth Filter :type Area: str :param _AreaType: 查询中国境外CDN数据,且仅当 Metric 为 district 或 host 时,可指定地区类型查询,不填充表示查询服务地区数据(仅在 Area 为 overseas,且 Metric 是 district 或 host 时可用) server:指定查询服务地区(腾讯云 CDN 节点服务器所在地区)数据 client:指定查询客户端地区(用户请求终端所在地区)数据,当 Metric 为 host 时仅支持 flux、request、bandwidth Filter :type AreaType: str :param _Product: 指定查询的产品数据,可选为cdn或者ecdn,默认为cdn :type Product: str :param _Limit: 只返回前N条数据,默认为最大值100,metric=url时默认为最大值1000 :type Limit: int """ self._StartTime = None self._EndTime = None self._Metric = None self._Filter = None self._Domains = None self._Project = None self._Detail = None self._Code = None self._Area = None self._AreaType = None self._Product = None self._Limit = None @property def StartTime(self): """查询起始时间:yyyy-MM-dd HH:mm:ss 仅支持按分钟粒度的数据查询,按入参抹去秒位作为起始时间,如 StartTime为2018-09-04 10:40:23,返回数据的起始时间为2018-09-04 10:40:00 仅支持 90 天内数据查询 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间:yyyy-MM-dd HH:mm:ss 仅支持按天粒度的数据查询,取入参中的天信息作为结束日期 返回小于等于结束日期当天 23:59:59 产生的数据,如EndTime为2018-09-05 22:40:00,返回数据的结束时间为2018-09-05 23:59:59 EndTime 需要大于等于 StartTime :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Metric(self): """排序对象,支持以下几种形式: url:访问 URL 排序(无参数的URL),支持的 Filter 为 flux、request district:省份、国家/地区排序,支持的 Filter 为 flux、request isp:运营商排序,支持的 Filter 为 flux、request host:域名访问数据排序,支持的 Filter 为:flux、request、bandwidth、fluxHitRate、2XX、3XX、4XX、5XX、statusCode originHost:域名回源数据排序,支持的 Filter 为 flux、request、bandwidth、origin_2XX、origin_3XX、origin_4XX、origin_5XX、OriginStatusCode :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Filter(self): """排序使用的指标名称: flux:Metric 为 host 时指代访问流量,originHost 时指代回源流量 bandwidth:Metric 为 host 时指代访问带宽,originHost 时指代回源带宽 request:Metric 为 host 时指代访问请求数,originHost 时指代回源请求数 fluxHitRate:平均流量命中率 2XX:访问 2XX 状态码 3XX:访问 3XX 状态码 4XX:访问 4XX 状态码 5XX:访问 5XX 状态码 origin_2XX:回源 2XX 状态码 origin_3XX:回源 3XX 状态码 origin_4XX:回源 4XX 状态码 origin_5XX:回源 5XX 状态码 statusCode:指定访问状态码统计,在 Code 参数中填充指定状态码 OriginStatusCode:指定回源状态码统计,在 Code 参数中填充指定状态码 :rtype: str """ return self._Filter @Filter.setter def Filter(self, Filter): self._Filter = Filter @property def Domains(self): """指定查询域名列表,最多可一次性查询 30 个加速域名明细 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains @property def Project(self): """指定要查询的项目 ID,[前往查看项目 ID](https://console.cloud.tencent.com/project) 未填充域名情况下,指定项目查询,若填充了具体域名信息,以域名为主 :rtype: int """ return self._Project @Project.setter def Project(self, Project): self._Project = Project @property def Detail(self): """多域名查询时,默认(false)返回所有域名汇总排序结果 Metric 为 url、path、district、isp,Filter 为 flux、request 时,可设置为 true,返回每一个 Domain 的排序数据 :rtype: bool """ return self._Detail @Detail.setter def Detail(self, Detail): self._Detail = Detail @property def Code(self): """Filter 为 statusCode、OriginStatusCode 时,填充指定状态码查询排序结果 :rtype: str """ return self._Code @Code.setter def Code(self, Code): self._Code = Code @property def Area(self): """指定服务地域查询,不填充表示查询中国境内 CDN 数据 mainland:指定查询中国境内 CDN 数据 overseas:指定查询中国境外 CDN 数据,支持的 Metric 为 url、district、host、originHost,当 Metric 为 originHost 时仅支持 flux、request、bandwidth Filter :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def AreaType(self): """查询中国境外CDN数据,且仅当 Metric 为 district 或 host 时,可指定地区类型查询,不填充表示查询服务地区数据(仅在 Area 为 overseas,且 Metric 是 district 或 host 时可用) server:指定查询服务地区(腾讯云 CDN 节点服务器所在地区)数据 client:指定查询客户端地区(用户请求终端所在地区)数据,当 Metric 为 host 时仅支持 flux、request、bandwidth Filter :rtype: str """ return self._AreaType @AreaType.setter def AreaType(self, AreaType): self._AreaType = AreaType @property def Product(self): """指定查询的产品数据,可选为cdn或者ecdn,默认为cdn :rtype: str """ return self._Product @Product.setter def Product(self, Product): self._Product = Product @property def Limit(self): """只返回前N条数据,默认为最大值100,metric=url时默认为最大值1000 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Metric = params.get("Metric") self._Filter = params.get("Filter") self._Domains = params.get("Domains") self._Project = params.get("Project") self._Detail = params.get("Detail") self._Code = params.get("Code") self._Area = params.get("Area") self._AreaType = params.get("AreaType") self._Product = params.get("Product") self._Limit = params.get("Limit") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListTopDataResponse(AbstractModel): """ListTopData返回参数结构体 """ def __init__(self): r""" :param _Data: 各个资源的Top 访问数据详情。 :type Data: list of TopData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """各个资源的Top 访问数据详情。 :rtype: list of TopData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = TopData() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class ListTopWafDataRequest(AbstractModel): """ListTopWafData请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :type StartTime: str :param _EndTime: 查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :type EndTime: str :param _Domain: 指定域名查询,不填写查询整个AppID下数据 :type Domain: str :param _AttackType: 指定攻击类型 不填则查询所有攻击类型的数据总和 AttackType 映射如下: "webshell" : Webshell检测防护 "oa" : 常见OA漏洞防护 "xss" : XSS跨站脚本攻击防护 "xxe" : XXE攻击防护 "webscan" : 扫描器攻击漏洞防护 "cms" : 常见CMS漏洞防护 "upload" : 恶意文件上传攻击防护 "sql" : SQL注入攻击防护 "cmd_inject": 命令/代码注入攻击防护 "osc" : 开源组件漏洞防护 "file_read" : 任意文件读取 "ldap" : LDAP注入攻击防护 "other" : 其它漏洞防护 :type AttackType: str :param _DefenceMode: 指定防御模式 不填则查询所有防御模式的数据总和 DefenceMode 映射如下: observe = '观察模式' intercept = '拦截模式' :type DefenceMode: str :param _Metric: 排序对象,支持以下几种形式: url:攻击目标 url 排序 ip:攻击源 IP 排序 attackType:攻击类型排序 domain:当查询整个AppID下数据时,按照域名请求量排序 :type Metric: str :param _Area: 地域:mainland 或 overseas :type Area: str :param _AttackTypes: 指定攻击类型列表,取值参考AttackType :type AttackTypes: list of str :param _Domains: 指定域名列表查询,不填写查询整个AppID下数据 :type Domains: list of str """ self._StartTime = None self._EndTime = None self._Domain = None self._AttackType = None self._DefenceMode = None self._Metric = None self._Area = None self._AttackTypes = None self._Domains = None @property def StartTime(self): """查询起始时间,如:2018-09-04 10:40:00,返回结果大于等于指定时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,如:2018-09-04 10:40:00,返回结果小于等于指定时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Domain(self): """指定域名查询,不填写查询整个AppID下数据 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def AttackType(self): """指定攻击类型 不填则查询所有攻击类型的数据总和 AttackType 映射如下: "webshell" : Webshell检测防护 "oa" : 常见OA漏洞防护 "xss" : XSS跨站脚本攻击防护 "xxe" : XXE攻击防护 "webscan" : 扫描器攻击漏洞防护 "cms" : 常见CMS漏洞防护 "upload" : 恶意文件上传攻击防护 "sql" : SQL注入攻击防护 "cmd_inject": 命令/代码注入攻击防护 "osc" : 开源组件漏洞防护 "file_read" : 任意文件读取 "ldap" : LDAP注入攻击防护 "other" : 其它漏洞防护 :rtype: str """ return self._AttackType @AttackType.setter def AttackType(self, AttackType): self._AttackType = AttackType @property def DefenceMode(self): """指定防御模式 不填则查询所有防御模式的数据总和 DefenceMode 映射如下: observe = '观察模式' intercept = '拦截模式' :rtype: str """ return self._DefenceMode @DefenceMode.setter def DefenceMode(self, DefenceMode): self._DefenceMode = DefenceMode @property def Metric(self): """排序对象,支持以下几种形式: url:攻击目标 url 排序 ip:攻击源 IP 排序 attackType:攻击类型排序 domain:当查询整个AppID下数据时,按照域名请求量排序 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Area(self): """地域:mainland 或 overseas :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def AttackTypes(self): """指定攻击类型列表,取值参考AttackType :rtype: list of str """ return self._AttackTypes @AttackTypes.setter def AttackTypes(self, AttackTypes): self._AttackTypes = AttackTypes @property def Domains(self): """指定域名列表查询,不填写查询整个AppID下数据 :rtype: list of str """ return self._Domains @Domains.setter def Domains(self, Domains): self._Domains = Domains def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Domain = params.get("Domain") self._AttackType = params.get("AttackType") self._DefenceMode = params.get("DefenceMode") self._Metric = params.get("Metric") self._Area = params.get("Area") self._AttackTypes = params.get("AttackTypes") self._Domains = params.get("Domains") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ListTopWafDataResponse(AbstractModel): """ListTopWafData返回参数结构体 """ def __init__(self): r""" :param _TopTypeData: 攻击类型统计 :type TopTypeData: list of ScdnTypeData :param _TopIpData: IP统计 :type TopIpData: list of ScdnTopData :param _TopUrlData: URL统计 :type TopUrlData: list of ScdnTopUrlData :param _TopDomainData: 域名统计 :type TopDomainData: list of ScdnTopDomainData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TopTypeData = None self._TopIpData = None self._TopUrlData = None self._TopDomainData = None self._RequestId = None @property def TopTypeData(self): """攻击类型统计 :rtype: list of ScdnTypeData """ return self._TopTypeData @TopTypeData.setter def TopTypeData(self, TopTypeData): self._TopTypeData = TopTypeData @property def TopIpData(self): """IP统计 :rtype: list of ScdnTopData """ return self._TopIpData @TopIpData.setter def TopIpData(self, TopIpData): self._TopIpData = TopIpData @property def TopUrlData(self): """URL统计 :rtype: list of ScdnTopUrlData """ return self._TopUrlData @TopUrlData.setter def TopUrlData(self, TopUrlData): self._TopUrlData = TopUrlData @property def TopDomainData(self): """域名统计 :rtype: list of ScdnTopDomainData """ return self._TopDomainData @TopDomainData.setter def TopDomainData(self, TopDomainData): self._TopDomainData = TopDomainData @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("TopTypeData") is not None: self._TopTypeData = [] for item in params.get("TopTypeData"): obj = ScdnTypeData() obj._deserialize(item) self._TopTypeData.append(obj) if params.get("TopIpData") is not None: self._TopIpData = [] for item in params.get("TopIpData"): obj = ScdnTopData() obj._deserialize(item) self._TopIpData.append(obj) if params.get("TopUrlData") is not None: self._TopUrlData = [] for item in params.get("TopUrlData"): obj = ScdnTopUrlData() obj._deserialize(item) self._TopUrlData.append(obj) if params.get("TopDomainData") is not None: self._TopDomainData = [] for item in params.get("TopDomainData"): obj = ScdnTopDomainData() obj._deserialize(item) self._TopDomainData.append(obj) self._RequestId = params.get("RequestId") class LogSetInfo(AbstractModel): """日志集信息 """ def __init__(self): r""" :param _AppId: 开发者ID :type AppId: int :param _Channel: 渠道 注意:此字段可能返回 null,表示取不到有效值。 :type Channel: str :param _LogsetId: 日志集ID :type LogsetId: str :param _LogsetName: 日志集名字 :type LogsetName: str :param _IsDefault: 是否默认日志集 :type IsDefault: int :param _LogsetSavePeriod: 日志保存时间,单位为天 :type LogsetSavePeriod: int :param _CreateTime: 创建日期 :type CreateTime: str :param _Region: 区域 :type Region: str :param _Deleted: cls侧是否已经被删除 注意:此字段可能返回 null,表示取不到有效值。 :type Deleted: str :param _RegionEn: 英文区域 注意:此字段可能返回 null,表示取不到有效值。 :type RegionEn: str """ self._AppId = None self._Channel = None self._LogsetId = None self._LogsetName = None self._IsDefault = None self._LogsetSavePeriod = None self._CreateTime = None self._Region = None self._Deleted = None self._RegionEn = None @property def AppId(self): """开发者ID :rtype: int """ return self._AppId @AppId.setter def AppId(self, AppId): self._AppId = AppId @property def Channel(self): """渠道 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def LogsetId(self): """日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def LogsetName(self): """日志集名字 :rtype: str """ return self._LogsetName @LogsetName.setter def LogsetName(self, LogsetName): self._LogsetName = LogsetName @property def IsDefault(self): """是否默认日志集 :rtype: int """ return self._IsDefault @IsDefault.setter def IsDefault(self, IsDefault): self._IsDefault = IsDefault @property def LogsetSavePeriod(self): """日志保存时间,单位为天 :rtype: int """ return self._LogsetSavePeriod @LogsetSavePeriod.setter def LogsetSavePeriod(self, LogsetSavePeriod): self._LogsetSavePeriod = LogsetSavePeriod @property def CreateTime(self): """创建日期 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def Region(self): """区域 :rtype: str """ return self._Region @Region.setter def Region(self, Region): self._Region = Region @property def Deleted(self): """cls侧是否已经被删除 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Deleted @Deleted.setter def Deleted(self, Deleted): self._Deleted = Deleted @property def RegionEn(self): """英文区域 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RegionEn @RegionEn.setter def RegionEn(self, RegionEn): self._RegionEn = RegionEn def _deserialize(self, params): self._AppId = params.get("AppId") self._Channel = params.get("Channel") self._LogsetId = params.get("LogsetId") self._LogsetName = params.get("LogsetName") self._IsDefault = params.get("IsDefault") self._LogsetSavePeriod = params.get("LogsetSavePeriod") self._CreateTime = params.get("CreateTime") self._Region = params.get("Region") self._Deleted = params.get("Deleted") self._RegionEn = params.get("RegionEn") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MainlandConfig(AbstractModel): """域名国内地区特殊配置。分地区特殊配置。UpdateDomainConfig接口只支持修改部分地区配置,为了兼容旧版本配置,本类型会列出旧版本所有可能存在差异的配置列表,支持修改的配置列表如下: + Authentication + BandwidthAlert + ErrorPage + IpFilter + Origin + Referer """ def __init__(self): r""" :param _Authentication: 时间戳防盗链配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Authentication: :class:`tencentcloud.cdn.v20180606.models.Authentication` :param _BandwidthAlert: 带宽封顶配置。 注意:此字段可能返回 null,表示取不到有效值。 :type BandwidthAlert: :class:`tencentcloud.cdn.v20180606.models.BandwidthAlert` :param _Cache: 缓存规则配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Cache: :class:`tencentcloud.cdn.v20180606.models.Cache` :param _CacheKey: 缓存相关配置。 注意:此字段可能返回 null,表示取不到有效值。 :type CacheKey: :class:`tencentcloud.cdn.v20180606.models.CacheKey` :param _Compression: 智能压缩配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Compression: :class:`tencentcloud.cdn.v20180606.models.Compression` :param _DownstreamCapping: 下载限速配置。 注意:此字段可能返回 null,表示取不到有效值。 :type DownstreamCapping: :class:`tencentcloud.cdn.v20180606.models.DownstreamCapping` :param _ErrorPage: 错误码重定向配置。 注意:此字段可能返回 null,表示取不到有效值。 :type ErrorPage: :class:`tencentcloud.cdn.v20180606.models.ErrorPage` :param _FollowRedirect: 301和302自动回源跟随配置。 注意:此字段可能返回 null,表示取不到有效值。 :type FollowRedirect: :class:`tencentcloud.cdn.v20180606.models.FollowRedirect` :param _ForceRedirect: 访问协议强制跳转配置。 注意:此字段可能返回 null,表示取不到有效值。 :type ForceRedirect: :class:`tencentcloud.cdn.v20180606.models.ForceRedirect` :param _Https: Https配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Https: :class:`tencentcloud.cdn.v20180606.models.Https` :param _IpFilter: IP黑白名单配置。 注意:此字段可能返回 null,表示取不到有效值。 :type IpFilter: :class:`tencentcloud.cdn.v20180606.models.IpFilter` :param _IpFreqLimit: IP限频配置。 注意:此字段可能返回 null,表示取不到有效值。 :type IpFreqLimit: :class:`tencentcloud.cdn.v20180606.models.IpFreqLimit` :param _MaxAge: 浏览器缓存规则配置。 注意:此字段可能返回 null,表示取不到有效值。 :type MaxAge: :class:`tencentcloud.cdn.v20180606.models.MaxAge` :param _Origin: 源站配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Origin: :class:`tencentcloud.cdn.v20180606.models.Origin` :param _OriginPullOptimization: 跨国优化配置。 注意:此字段可能返回 null,表示取不到有效值。 :type OriginPullOptimization: :class:`tencentcloud.cdn.v20180606.models.OriginPullOptimization` :param _RangeOriginPull: Range回源配置。 注意:此字段可能返回 null,表示取不到有效值。 :type RangeOriginPull: :class:`tencentcloud.cdn.v20180606.models.RangeOriginPull` :param _Referer: 防盗链配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Referer: :class:`tencentcloud.cdn.v20180606.models.Referer` :param _RequestHeader: 回源请求头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :type RequestHeader: :class:`tencentcloud.cdn.v20180606.models.RequestHeader` :param _ResponseHeader: 源站响应头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :type ResponseHeader: :class:`tencentcloud.cdn.v20180606.models.ResponseHeader` :param _ResponseHeaderCache: 遵循源站缓存头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :type ResponseHeaderCache: :class:`tencentcloud.cdn.v20180606.models.ResponseHeaderCache` :param _Seo: seo优化配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Seo: :class:`tencentcloud.cdn.v20180606.models.Seo` :param _ServiceType: 域名业务类型,web,download,media分别表示静态加速,下载加速和流媒体加速。 注意:此字段可能返回 null,表示取不到有效值。 :type ServiceType: str :param _StatusCodeCache: 状态码缓存配置。 注意:此字段可能返回 null,表示取不到有效值。 :type StatusCodeCache: :class:`tencentcloud.cdn.v20180606.models.StatusCodeCache` :param _VideoSeek: 视频拖拽配置。 注意:此字段可能返回 null,表示取不到有效值。 :type VideoSeek: :class:`tencentcloud.cdn.v20180606.models.VideoSeek` :param _AwsPrivateAccess: 回源S3私有鉴权。 注意:此字段可能返回 null,表示取不到有效值。 :type AwsPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.AwsPrivateAccess` :param _OssPrivateAccess: 回源OSS私有鉴权。 注意:此字段可能返回 null,表示取不到有效值。 :type OssPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.OssPrivateAccess` :param _HwPrivateAccess: 华为云对象存储回源鉴权 注意:此字段可能返回 null,表示取不到有效值。 :type HwPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.HwPrivateAccess` :param _QnPrivateAccess: 七牛云对象存储回源鉴权 注意:此字段可能返回 null,表示取不到有效值。 :type QnPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.QnPrivateAccess` """ self._Authentication = None self._BandwidthAlert = None self._Cache = None self._CacheKey = None self._Compression = None self._DownstreamCapping = None self._ErrorPage = None self._FollowRedirect = None self._ForceRedirect = None self._Https = None self._IpFilter = None self._IpFreqLimit = None self._MaxAge = None self._Origin = None self._OriginPullOptimization = None self._RangeOriginPull = None self._Referer = None self._RequestHeader = None self._ResponseHeader = None self._ResponseHeaderCache = None self._Seo = None self._ServiceType = None self._StatusCodeCache = None self._VideoSeek = None self._AwsPrivateAccess = None self._OssPrivateAccess = None self._HwPrivateAccess = None self._QnPrivateAccess = None @property def Authentication(self): """时间戳防盗链配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Authentication` """ return self._Authentication @Authentication.setter def Authentication(self, Authentication): self._Authentication = Authentication @property def BandwidthAlert(self): """带宽封顶配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.BandwidthAlert` """ return self._BandwidthAlert @BandwidthAlert.setter def BandwidthAlert(self, BandwidthAlert): self._BandwidthAlert = BandwidthAlert @property def Cache(self): """缓存规则配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Cache` """ return self._Cache @Cache.setter def Cache(self, Cache): self._Cache = Cache @property def CacheKey(self): """缓存相关配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheKey` """ return self._CacheKey @CacheKey.setter def CacheKey(self, CacheKey): self._CacheKey = CacheKey @property def Compression(self): """智能压缩配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Compression` """ return self._Compression @Compression.setter def Compression(self, Compression): self._Compression = Compression @property def DownstreamCapping(self): """下载限速配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.DownstreamCapping` """ return self._DownstreamCapping @DownstreamCapping.setter def DownstreamCapping(self, DownstreamCapping): self._DownstreamCapping = DownstreamCapping @property def ErrorPage(self): """错误码重定向配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ErrorPage` """ return self._ErrorPage @ErrorPage.setter def ErrorPage(self, ErrorPage): self._ErrorPage = ErrorPage @property def FollowRedirect(self): """301和302自动回源跟随配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.FollowRedirect` """ return self._FollowRedirect @FollowRedirect.setter def FollowRedirect(self, FollowRedirect): self._FollowRedirect = FollowRedirect @property def ForceRedirect(self): """访问协议强制跳转配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ForceRedirect` """ return self._ForceRedirect @ForceRedirect.setter def ForceRedirect(self, ForceRedirect): self._ForceRedirect = ForceRedirect @property def Https(self): """Https配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Https` """ return self._Https @Https.setter def Https(self, Https): self._Https = Https @property def IpFilter(self): """IP黑白名单配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.IpFilter` """ return self._IpFilter @IpFilter.setter def IpFilter(self, IpFilter): self._IpFilter = IpFilter @property def IpFreqLimit(self): """IP限频配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.IpFreqLimit` """ return self._IpFreqLimit @IpFreqLimit.setter def IpFreqLimit(self, IpFreqLimit): self._IpFreqLimit = IpFreqLimit @property def MaxAge(self): """浏览器缓存规则配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.MaxAge` """ return self._MaxAge @MaxAge.setter def MaxAge(self, MaxAge): self._MaxAge = MaxAge @property def Origin(self): """源站配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Origin` """ return self._Origin @Origin.setter def Origin(self, Origin): self._Origin = Origin @property def OriginPullOptimization(self): """跨国优化配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginPullOptimization` """ return self._OriginPullOptimization @OriginPullOptimization.setter def OriginPullOptimization(self, OriginPullOptimization): self._OriginPullOptimization = OriginPullOptimization @property def RangeOriginPull(self): """Range回源配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RangeOriginPull` """ return self._RangeOriginPull @RangeOriginPull.setter def RangeOriginPull(self, RangeOriginPull): self._RangeOriginPull = RangeOriginPull @property def Referer(self): """防盗链配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Referer` """ return self._Referer @Referer.setter def Referer(self, Referer): self._Referer = Referer @property def RequestHeader(self): """回源请求头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RequestHeader` """ return self._RequestHeader @RequestHeader.setter def RequestHeader(self, RequestHeader): self._RequestHeader = RequestHeader @property def ResponseHeader(self): """源站响应头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ResponseHeader` """ return self._ResponseHeader @ResponseHeader.setter def ResponseHeader(self, ResponseHeader): self._ResponseHeader = ResponseHeader @property def ResponseHeaderCache(self): """遵循源站缓存头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ResponseHeaderCache` """ return self._ResponseHeaderCache @ResponseHeaderCache.setter def ResponseHeaderCache(self, ResponseHeaderCache): self._ResponseHeaderCache = ResponseHeaderCache @property def Seo(self): """seo优化配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Seo` """ return self._Seo @Seo.setter def Seo(self, Seo): self._Seo = Seo @property def ServiceType(self): """域名业务类型,web,download,media分别表示静态加速,下载加速和流媒体加速。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ServiceType @ServiceType.setter def ServiceType(self, ServiceType): self._ServiceType = ServiceType @property def StatusCodeCache(self): """状态码缓存配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.StatusCodeCache` """ return self._StatusCodeCache @StatusCodeCache.setter def StatusCodeCache(self, StatusCodeCache): self._StatusCodeCache = StatusCodeCache @property def VideoSeek(self): """视频拖拽配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.VideoSeek` """ return self._VideoSeek @VideoSeek.setter def VideoSeek(self, VideoSeek): self._VideoSeek = VideoSeek @property def AwsPrivateAccess(self): """回源S3私有鉴权。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AwsPrivateAccess` """ return self._AwsPrivateAccess @AwsPrivateAccess.setter def AwsPrivateAccess(self, AwsPrivateAccess): self._AwsPrivateAccess = AwsPrivateAccess @property def OssPrivateAccess(self): """回源OSS私有鉴权。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OssPrivateAccess` """ return self._OssPrivateAccess @OssPrivateAccess.setter def OssPrivateAccess(self, OssPrivateAccess): self._OssPrivateAccess = OssPrivateAccess @property def HwPrivateAccess(self): """华为云对象存储回源鉴权 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.HwPrivateAccess` """ return self._HwPrivateAccess @HwPrivateAccess.setter def HwPrivateAccess(self, HwPrivateAccess): self._HwPrivateAccess = HwPrivateAccess @property def QnPrivateAccess(self): """七牛云对象存储回源鉴权 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.QnPrivateAccess` """ return self._QnPrivateAccess @QnPrivateAccess.setter def QnPrivateAccess(self, QnPrivateAccess): self._QnPrivateAccess = QnPrivateAccess def _deserialize(self, params): if params.get("Authentication") is not None: self._Authentication = Authentication() self._Authentication._deserialize(params.get("Authentication")) if params.get("BandwidthAlert") is not None: self._BandwidthAlert = BandwidthAlert() self._BandwidthAlert._deserialize(params.get("BandwidthAlert")) if params.get("Cache") is not None: self._Cache = Cache() self._Cache._deserialize(params.get("Cache")) if params.get("CacheKey") is not None: self._CacheKey = CacheKey() self._CacheKey._deserialize(params.get("CacheKey")) if params.get("Compression") is not None: self._Compression = Compression() self._Compression._deserialize(params.get("Compression")) if params.get("DownstreamCapping") is not None: self._DownstreamCapping = DownstreamCapping() self._DownstreamCapping._deserialize(params.get("DownstreamCapping")) if params.get("ErrorPage") is not None: self._ErrorPage = ErrorPage() self._ErrorPage._deserialize(params.get("ErrorPage")) if params.get("FollowRedirect") is not None: self._FollowRedirect = FollowRedirect() self._FollowRedirect._deserialize(params.get("FollowRedirect")) if params.get("ForceRedirect") is not None: self._ForceRedirect = ForceRedirect() self._ForceRedirect._deserialize(params.get("ForceRedirect")) if params.get("Https") is not None: self._Https = Https() self._Https._deserialize(params.get("Https")) if params.get("IpFilter") is not None: self._IpFilter = IpFilter() self._IpFilter._deserialize(params.get("IpFilter")) if params.get("IpFreqLimit") is not None: self._IpFreqLimit = IpFreqLimit() self._IpFreqLimit._deserialize(params.get("IpFreqLimit")) if params.get("MaxAge") is not None: self._MaxAge = MaxAge() self._MaxAge._deserialize(params.get("MaxAge")) if params.get("Origin") is not None: self._Origin = Origin() self._Origin._deserialize(params.get("Origin")) if params.get("OriginPullOptimization") is not None: self._OriginPullOptimization = OriginPullOptimization() self._OriginPullOptimization._deserialize(params.get("OriginPullOptimization")) if params.get("RangeOriginPull") is not None: self._RangeOriginPull = RangeOriginPull() self._RangeOriginPull._deserialize(params.get("RangeOriginPull")) if params.get("Referer") is not None: self._Referer = Referer() self._Referer._deserialize(params.get("Referer")) if params.get("RequestHeader") is not None: self._RequestHeader = RequestHeader() self._RequestHeader._deserialize(params.get("RequestHeader")) if params.get("ResponseHeader") is not None: self._ResponseHeader = ResponseHeader() self._ResponseHeader._deserialize(params.get("ResponseHeader")) if params.get("ResponseHeaderCache") is not None: self._ResponseHeaderCache = ResponseHeaderCache() self._ResponseHeaderCache._deserialize(params.get("ResponseHeaderCache")) if params.get("Seo") is not None: self._Seo = Seo() self._Seo._deserialize(params.get("Seo")) self._ServiceType = params.get("ServiceType") if params.get("StatusCodeCache") is not None: self._StatusCodeCache = StatusCodeCache() self._StatusCodeCache._deserialize(params.get("StatusCodeCache")) if params.get("VideoSeek") is not None: self._VideoSeek = VideoSeek() self._VideoSeek._deserialize(params.get("VideoSeek")) if params.get("AwsPrivateAccess") is not None: self._AwsPrivateAccess = AwsPrivateAccess() self._AwsPrivateAccess._deserialize(params.get("AwsPrivateAccess")) if params.get("OssPrivateAccess") is not None: self._OssPrivateAccess = OssPrivateAccess() self._OssPrivateAccess._deserialize(params.get("OssPrivateAccess")) if params.get("HwPrivateAccess") is not None: self._HwPrivateAccess = HwPrivateAccess() self._HwPrivateAccess._deserialize(params.get("HwPrivateAccess")) if params.get("QnPrivateAccess") is not None: self._QnPrivateAccess = QnPrivateAccess() self._QnPrivateAccess._deserialize(params.get("QnPrivateAccess")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ManageClsTopicDomainsRequest(AbstractModel): """ManageClsTopicDomains请求参数结构体 """ def __init__(self): r""" :param _LogsetId: 日志集ID :type LogsetId: str :param _TopicId: 日志主题ID :type TopicId: str :param _Channel: 接入渠道,cdn或者ecdn,默认值为cdn :type Channel: str :param _DomainAreaConfigs: 域名区域配置,注意:如果此字段为空,则表示解绑对应主题下的所有域名 :type DomainAreaConfigs: list of DomainAreaConfig """ self._LogsetId = None self._TopicId = None self._Channel = None self._DomainAreaConfigs = None @property def LogsetId(self): """日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def TopicId(self): """日志主题ID :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def Channel(self): """接入渠道,cdn或者ecdn,默认值为cdn :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def DomainAreaConfigs(self): """域名区域配置,注意:如果此字段为空,则表示解绑对应主题下的所有域名 :rtype: list of DomainAreaConfig """ return self._DomainAreaConfigs @DomainAreaConfigs.setter def DomainAreaConfigs(self, DomainAreaConfigs): self._DomainAreaConfigs = DomainAreaConfigs def _deserialize(self, params): self._LogsetId = params.get("LogsetId") self._TopicId = params.get("TopicId") self._Channel = params.get("Channel") if params.get("DomainAreaConfigs") is not None: self._DomainAreaConfigs = [] for item in params.get("DomainAreaConfigs"): obj = DomainAreaConfig() obj._deserialize(item) self._DomainAreaConfigs.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ManageClsTopicDomainsResponse(AbstractModel): """ManageClsTopicDomains返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class MapInfo(AbstractModel): """名称与ID映射关系 """ def __init__(self): r""" :param _Id: 对象 Id :type Id: int :param _Name: 对象名称 :type Name: str """ self._Id = None self._Name = None @property def Id(self): """对象 Id :rtype: int """ return self._Id @Id.setter def Id(self, Id): self._Id = Id @property def Name(self): """对象名称 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name def _deserialize(self, params): self._Id = params.get("Id") self._Name = params.get("Name") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MaxAge(AbstractModel): """浏览器缓存规则配置,用于设置 MaxAge 默认值,默认为关闭状态 """ def __init__(self): r""" :param _Switch: 浏览器缓存配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _MaxAgeRules: MaxAge 规则 注意:此字段可能返回 null,表示取不到有效值。 :type MaxAgeRules: list of MaxAgeRule :param _MaxAgeCodeRule: MaxAge 状态码相关规则 注意:此字段可能返回 null,表示取不到有效值。 :type MaxAgeCodeRule: :class:`tencentcloud.cdn.v20180606.models.MaxAgeCodeRule` """ self._Switch = None self._MaxAgeRules = None self._MaxAgeCodeRule = None @property def Switch(self): """浏览器缓存配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def MaxAgeRules(self): """MaxAge 规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of MaxAgeRule """ return self._MaxAgeRules @MaxAgeRules.setter def MaxAgeRules(self, MaxAgeRules): self._MaxAgeRules = MaxAgeRules @property def MaxAgeCodeRule(self): """MaxAge 状态码相关规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.MaxAgeCodeRule` """ return self._MaxAgeCodeRule @MaxAgeCodeRule.setter def MaxAgeCodeRule(self, MaxAgeCodeRule): self._MaxAgeCodeRule = MaxAgeCodeRule def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("MaxAgeRules") is not None: self._MaxAgeRules = [] for item in params.get("MaxAgeRules"): obj = MaxAgeRule() obj._deserialize(item) self._MaxAgeRules.append(obj) if params.get("MaxAgeCodeRule") is not None: self._MaxAgeCodeRule = MaxAgeCodeRule() self._MaxAgeCodeRule._deserialize(params.get("MaxAgeCodeRule")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MaxAgeCodeRule(AbstractModel): """MaxAge 状态码相关规则配置 """ def __init__(self): r""" :param _Action: 处理动作 clear:清除 cache-control 头部 :type Action: str :param _StatusCodes: 指定HTTP状态码生效,当前仅支持填写"400-599" :type StatusCodes: list of str """ self._Action = None self._StatusCodes = None @property def Action(self): """处理动作 clear:清除 cache-control 头部 :rtype: str """ return self._Action @Action.setter def Action(self, Action): self._Action = Action @property def StatusCodes(self): """指定HTTP状态码生效,当前仅支持填写"400-599" :rtype: list of str """ return self._StatusCodes @StatusCodes.setter def StatusCodes(self, StatusCodes): self._StatusCodes = StatusCodes def _deserialize(self, params): self._Action = params.get("Action") self._StatusCodes = params.get("StatusCodes") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MaxAgeRule(AbstractModel): """MagAge 规则配置 """ def __init__(self): r""" :param _MaxAgeType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index: 指定主页生效 :type MaxAgeType: str :param _MaxAgeContents: MaxAgeType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html index 时填充 / 注意:all规则不可删除,默认遵循源站,可修改。 :type MaxAgeContents: list of str :param _MaxAgeTime: MaxAge 时间设置,单位秒 注意:时间为0,即不缓存。 :type MaxAgeTime: int :param _FollowOrigin: 是否遵循源站,on或off,开启时忽略时间设置。 注意:此字段可能返回 null,表示取不到有效值。 :type FollowOrigin: str """ self._MaxAgeType = None self._MaxAgeContents = None self._MaxAgeTime = None self._FollowOrigin = None @property def MaxAgeType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index: 指定主页生效 :rtype: str """ return self._MaxAgeType @MaxAgeType.setter def MaxAgeType(self, MaxAgeType): self._MaxAgeType = MaxAgeType @property def MaxAgeContents(self): """MaxAgeType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html index 时填充 / 注意:all规则不可删除,默认遵循源站,可修改。 :rtype: list of str """ return self._MaxAgeContents @MaxAgeContents.setter def MaxAgeContents(self, MaxAgeContents): self._MaxAgeContents = MaxAgeContents @property def MaxAgeTime(self): """MaxAge 时间设置,单位秒 注意:时间为0,即不缓存。 :rtype: int """ return self._MaxAgeTime @MaxAgeTime.setter def MaxAgeTime(self, MaxAgeTime): self._MaxAgeTime = MaxAgeTime @property def FollowOrigin(self): """是否遵循源站,on或off,开启时忽略时间设置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._FollowOrigin @FollowOrigin.setter def FollowOrigin(self, FollowOrigin): self._FollowOrigin = FollowOrigin def _deserialize(self, params): self._MaxAgeType = params.get("MaxAgeType") self._MaxAgeContents = params.get("MaxAgeContents") self._MaxAgeTime = params.get("MaxAgeTime") self._FollowOrigin = params.get("FollowOrigin") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ModifyDomainConfigRequest(AbstractModel): """ModifyDomainConfig请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _Route: 配置路径 :type Route: str :param _Value: 配置路径值,使用 json 进行序列化,其中固定 update 作为 key :type Value: str """ self._Domain = None self._Route = None self._Value = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Route(self): """配置路径 :rtype: str """ return self._Route @Route.setter def Route(self, Route): self._Route = Route @property def Value(self): """配置路径值,使用 json 进行序列化,其中固定 update 作为 key :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Domain = params.get("Domain") self._Route = params.get("Route") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ModifyDomainConfigResponse(AbstractModel): """ModifyDomainConfig返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class ModifyPurgeFetchTaskStatusRequest(AbstractModel): """ModifyPurgeFetchTaskStatus请求参数结构体 """ def __init__(self): r""" :param _ExecutionTime: 执行时间 :type ExecutionTime: str :param _ExecutionStatus: 执行状态 success: 成功 failed: 失败 :type ExecutionStatus: str :param _Id: 任务 ID :type Id: str :param _ExecutionStatusDesc: 执行状态详情 :type ExecutionStatusDesc: str """ self._ExecutionTime = None self._ExecutionStatus = None self._Id = None self._ExecutionStatusDesc = None @property def ExecutionTime(self): """执行时间 :rtype: str """ return self._ExecutionTime @ExecutionTime.setter def ExecutionTime(self, ExecutionTime): self._ExecutionTime = ExecutionTime @property def ExecutionStatus(self): """执行状态 success: 成功 failed: 失败 :rtype: str """ return self._ExecutionStatus @ExecutionStatus.setter def ExecutionStatus(self, ExecutionStatus): self._ExecutionStatus = ExecutionStatus @property def Id(self): """任务 ID :rtype: str """ return self._Id @Id.setter def Id(self, Id): self._Id = Id @property def ExecutionStatusDesc(self): """执行状态详情 :rtype: str """ return self._ExecutionStatusDesc @ExecutionStatusDesc.setter def ExecutionStatusDesc(self, ExecutionStatusDesc): self._ExecutionStatusDesc = ExecutionStatusDesc def _deserialize(self, params): self._ExecutionTime = params.get("ExecutionTime") self._ExecutionStatus = params.get("ExecutionStatus") self._Id = params.get("Id") self._ExecutionStatusDesc = params.get("ExecutionStatusDesc") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ModifyPurgeFetchTaskStatusResponse(AbstractModel): """ModifyPurgeFetchTaskStatus返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class OfflineCache(AbstractModel): """离线缓存是否开启 """ def __init__(self): r""" :param _Switch: 离线缓存配置开关,取值有: on:开启 off:关闭 :type Switch: str """ self._Switch = None @property def Switch(self): """离线缓存配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Origin(AbstractModel): """源站配置复杂类型,支持以下配置: + 源站指定为单个域名 + 源站指定为多个 IP,可配置端口(1\~65535),可配置权重(1\~100),格式为 IP:端口:权重 + 回源域名配置 + 对象存储(COS)作为源站 + 热备源站指定为单个域名 + 热备源站指定为多个 IP,可配置端口(1\~65535),暂不支持权重配置 + 热备源站回源域名配置 """ def __init__(self): r""" :param _Origins: 主源站列表 <font color=red>修改源站时,需要同时填充对应的 OriginType</font> 注意:此字段可能返回 null,表示取不到有效值。 :type Origins: list of str :param _OriginType: 主源站类型 <font color=red>当源站列表 Origins 不为空时必填</font> 入参支持以下几种类型: domain:域名类型 domainv6:域名解析V6类型 cos:对象存储源站 third_party: 第三方存储源站 igtm: IGTM多活源 ip:IP 列表作为源站 ipv6:源站列表为一个单独的 IPv6 地址 ip_ipv6:源站列表为多个 IPv4 地址和IPv6 地址 ip_domain: 支持IP和域名形式源站混填(白名单功能) ip_domainv6:源站列表为多个 IPv4 地址以及域名解析v6地址 ipv6_domain: 源站列表为多个 IPv6 地址以及域名 ipv6_domainv6:源站列表为多个 IPv6 地址以及域名解析v6地址 domain_domainv6:源站列表为多个域名解析v4 地址以及域名解析v6地址 ip_ipv6_domain:源站列表为多个 IPv4 地址IPv6 地址以及域名 ip_ipv6_domainv6:源站列表为多个 IPv4 地址IPv6 地址以及域名解析v6地址 ip_domain_domainv6:源站列表为多个 IPv4 地址域名解析v4 地址以及域名解析v6地址 ipv6_domain_domainv6:源站列表为多个 域名解析v4 地址IPv6 地址以及域名解析v6地址 ip_ipv6_domain_domainv6:源站列表为多个 IPv4 地址IPv6 地址 域名解析v4 地址以及域名解析v6地址 出参增加以下几种类型: image:数据万象源站 ftp:历史 FTP 托管源源站,现已不维护 修改 Origins 时需要同时填充对应的 OriginType IPv6 功能目前尚未全量,需要先申请试用 注意:此字段可能返回 null,表示取不到有效值。 :type OriginType: str :param _ServerName: 回主源站时 Host 头部 <font color=red>当源站类型为cos或者第三方存储加速时,ServerName字段必填</font> 不填充则默认为加速域名 若接入的是泛域名,则回源 Host 默认为访问时的子域名 注意:此字段可能返回 null,表示取不到有效值。 :type ServerName: str :param _CosPrivateAccess: OriginType 为对象存储(COS)时,可以指定是否允许访问私有 bucket 注意:需要先授权 CDN 访问该私有 Bucket 的权限后,才可开启此配置。取值范围: on/off 注意:此字段可能返回 null,表示取不到有效值。 :type CosPrivateAccess: str :param _OriginPullProtocol: 回源协议配置 http:强制 http 回源 follow:协议跟随回源 https:强制 https 回源 注意:此字段可能返回 null,表示取不到有效值。 :type OriginPullProtocol: str :param _BackupOrigins: 备源站列表 <font color=red>修改备源站时,需要同时填充对应的 BackupOriginType</font> 注意:此字段可能返回 null,表示取不到有效值。 :type BackupOrigins: list of str :param _BackupOriginType: 备源站类型 <font color=red>备源站列表BackupOrigins 不为空时必填</font> 支持以下类型: domain:域名类型 ip:IP 列表作为源站 以下备源源站类型尚未全量支持,需要申请试用: ipv6_domain: 源站列表为多个 IPv6 地址以及域名 ip_ipv6:源站列表为多个 IPv4 地址和IPv6 地址 ipv6_domain: 源站列表为多个 IPv6 地址以及域名 ip_ipv6_domain:源站列表为多个 IPv4 地址IPv6 地址以及域名 注意:此字段可能返回 null,表示取不到有效值。 :type BackupOriginType: str :param _BackupServerName: 回备源站时 Host 头部,不填充则默认为主源站的 ServerName 注意:此字段可能返回 null,表示取不到有效值。 :type BackupServerName: str :param _BasePath: 回源路径 注意:此字段可能返回 null,表示取不到有效值。 :type BasePath: str :param _PathRules: 回源路径重写规则配置 注意:此字段可能返回 null,表示取不到有效值。 :type PathRules: list of PathRule :param _PathBasedOrigin: 分路径回源配置 注意:此字段可能返回 null,表示取不到有效值。 :type PathBasedOrigin: list of PathBasedOriginRule :param _Sni: HTTPS回源SNI配置 注意:此字段可能返回 null,表示取不到有效值。 :type Sni: :class:`tencentcloud.cdn.v20180606.models.OriginSni` :param _AdvanceHttps: HTTPS回源高级配置 注意:此字段可能返回 null,表示取不到有效值。 :type AdvanceHttps: :class:`tencentcloud.cdn.v20180606.models.AdvanceHttps` :param _OriginCompany: 对象存储回源厂商 <font color=red>当源站类型为第三方存储源站(third_party)时必填</font> 可选值包括以下: aws_s3: AWS S3 ali_oss: 阿里云 OSS hw_obs: 华为 OBS qiniu_kodo: 七牛云 kodo others: 其它厂商对象存储,仅支持兼容以AWS签名算法的对象存储,如腾讯云金融专区COS 注意:此字段可能返回 null,表示取不到有效值。 :type OriginCompany: str """ self._Origins = None self._OriginType = None self._ServerName = None self._CosPrivateAccess = None self._OriginPullProtocol = None self._BackupOrigins = None self._BackupOriginType = None self._BackupServerName = None self._BasePath = None self._PathRules = None self._PathBasedOrigin = None self._Sni = None self._AdvanceHttps = None self._OriginCompany = None @property def Origins(self): """主源站列表 <font color=red>修改源站时,需要同时填充对应的 OriginType</font> 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._Origins @Origins.setter def Origins(self, Origins): self._Origins = Origins @property def OriginType(self): """主源站类型 <font color=red>当源站列表 Origins 不为空时必填</font> 入参支持以下几种类型: domain:域名类型 domainv6:域名解析V6类型 cos:对象存储源站 third_party: 第三方存储源站 igtm: IGTM多活源 ip:IP 列表作为源站 ipv6:源站列表为一个单独的 IPv6 地址 ip_ipv6:源站列表为多个 IPv4 地址和IPv6 地址 ip_domain: 支持IP和域名形式源站混填(白名单功能) ip_domainv6:源站列表为多个 IPv4 地址以及域名解析v6地址 ipv6_domain: 源站列表为多个 IPv6 地址以及域名 ipv6_domainv6:源站列表为多个 IPv6 地址以及域名解析v6地址 domain_domainv6:源站列表为多个域名解析v4 地址以及域名解析v6地址 ip_ipv6_domain:源站列表为多个 IPv4 地址IPv6 地址以及域名 ip_ipv6_domainv6:源站列表为多个 IPv4 地址IPv6 地址以及域名解析v6地址 ip_domain_domainv6:源站列表为多个 IPv4 地址域名解析v4 地址以及域名解析v6地址 ipv6_domain_domainv6:源站列表为多个 域名解析v4 地址IPv6 地址以及域名解析v6地址 ip_ipv6_domain_domainv6:源站列表为多个 IPv4 地址IPv6 地址 域名解析v4 地址以及域名解析v6地址 出参增加以下几种类型: image:数据万象源站 ftp:历史 FTP 托管源源站,现已不维护 修改 Origins 时需要同时填充对应的 OriginType IPv6 功能目前尚未全量,需要先申请试用 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._OriginType @OriginType.setter def OriginType(self, OriginType): self._OriginType = OriginType @property def ServerName(self): """回主源站时 Host 头部 <font color=red>当源站类型为cos或者第三方存储加速时,ServerName字段必填</font> 不填充则默认为加速域名 若接入的是泛域名,则回源 Host 默认为访问时的子域名 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ServerName @ServerName.setter def ServerName(self, ServerName): self._ServerName = ServerName @property def CosPrivateAccess(self): """OriginType 为对象存储(COS)时,可以指定是否允许访问私有 bucket 注意:需要先授权 CDN 访问该私有 Bucket 的权限后,才可开启此配置。取值范围: on/off 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CosPrivateAccess @CosPrivateAccess.setter def CosPrivateAccess(self, CosPrivateAccess): self._CosPrivateAccess = CosPrivateAccess @property def OriginPullProtocol(self): """回源协议配置 http:强制 http 回源 follow:协议跟随回源 https:强制 https 回源 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._OriginPullProtocol @OriginPullProtocol.setter def OriginPullProtocol(self, OriginPullProtocol): self._OriginPullProtocol = OriginPullProtocol @property def BackupOrigins(self): """备源站列表 <font color=red>修改备源站时,需要同时填充对应的 BackupOriginType</font> 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._BackupOrigins @BackupOrigins.setter def BackupOrigins(self, BackupOrigins): self._BackupOrigins = BackupOrigins @property def BackupOriginType(self): """备源站类型 <font color=red>备源站列表BackupOrigins 不为空时必填</font> 支持以下类型: domain:域名类型 ip:IP 列表作为源站 以下备源源站类型尚未全量支持,需要申请试用: ipv6_domain: 源站列表为多个 IPv6 地址以及域名 ip_ipv6:源站列表为多个 IPv4 地址和IPv6 地址 ipv6_domain: 源站列表为多个 IPv6 地址以及域名 ip_ipv6_domain:源站列表为多个 IPv4 地址IPv6 地址以及域名 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._BackupOriginType @BackupOriginType.setter def BackupOriginType(self, BackupOriginType): self._BackupOriginType = BackupOriginType @property def BackupServerName(self): """回备源站时 Host 头部,不填充则默认为主源站的 ServerName 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._BackupServerName @BackupServerName.setter def BackupServerName(self, BackupServerName): self._BackupServerName = BackupServerName @property def BasePath(self): """回源路径 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._BasePath @BasePath.setter def BasePath(self, BasePath): self._BasePath = BasePath @property def PathRules(self): """回源路径重写规则配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of PathRule """ return self._PathRules @PathRules.setter def PathRules(self, PathRules): self._PathRules = PathRules @property def PathBasedOrigin(self): """分路径回源配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of PathBasedOriginRule """ return self._PathBasedOrigin @PathBasedOrigin.setter def PathBasedOrigin(self, PathBasedOrigin): self._PathBasedOrigin = PathBasedOrigin @property def Sni(self): """HTTPS回源SNI配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginSni` """ return self._Sni @Sni.setter def Sni(self, Sni): self._Sni = Sni @property def AdvanceHttps(self): """HTTPS回源高级配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AdvanceHttps` """ return self._AdvanceHttps @AdvanceHttps.setter def AdvanceHttps(self, AdvanceHttps): self._AdvanceHttps = AdvanceHttps @property def OriginCompany(self): """对象存储回源厂商 <font color=red>当源站类型为第三方存储源站(third_party)时必填</font> 可选值包括以下: aws_s3: AWS S3 ali_oss: 阿里云 OSS hw_obs: 华为 OBS qiniu_kodo: 七牛云 kodo others: 其它厂商对象存储,仅支持兼容以AWS签名算法的对象存储,如腾讯云金融专区COS 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._OriginCompany @OriginCompany.setter def OriginCompany(self, OriginCompany): self._OriginCompany = OriginCompany def _deserialize(self, params): self._Origins = params.get("Origins") self._OriginType = params.get("OriginType") self._ServerName = params.get("ServerName") self._CosPrivateAccess = params.get("CosPrivateAccess") self._OriginPullProtocol = params.get("OriginPullProtocol") self._BackupOrigins = params.get("BackupOrigins") self._BackupOriginType = params.get("BackupOriginType") self._BackupServerName = params.get("BackupServerName") self._BasePath = params.get("BasePath") if params.get("PathRules") is not None: self._PathRules = [] for item in params.get("PathRules"): obj = PathRule() obj._deserialize(item) self._PathRules.append(obj) if params.get("PathBasedOrigin") is not None: self._PathBasedOrigin = [] for item in params.get("PathBasedOrigin"): obj = PathBasedOriginRule() obj._deserialize(item) self._PathBasedOrigin.append(obj) if params.get("Sni") is not None: self._Sni = OriginSni() self._Sni._deserialize(params.get("Sni")) if params.get("AdvanceHttps") is not None: self._AdvanceHttps = AdvanceHttps() self._AdvanceHttps._deserialize(params.get("AdvanceHttps")) self._OriginCompany = params.get("OriginCompany") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OriginAuthentication(AbstractModel): """回源鉴权高级配置 """ def __init__(self): r""" :param _Switch: 回源鉴权高级配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _TypeA: 鉴权类型A配置 注意:此字段可能返回 null,表示取不到有效值。 :type TypeA: :class:`tencentcloud.cdn.v20180606.models.OriginAuthenticationTypeA` """ self._Switch = None self._TypeA = None @property def Switch(self): """回源鉴权高级配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def TypeA(self): """鉴权类型A配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginAuthenticationTypeA` """ return self._TypeA @TypeA.setter def TypeA(self, TypeA): self._TypeA = TypeA def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("TypeA") is not None: self._TypeA = OriginAuthenticationTypeA() self._TypeA._deserialize(params.get("TypeA")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OriginAuthenticationTypeA(AbstractModel): """回源鉴权高级配置TypeA """ def __init__(self): r""" :param _SecretKey: 用于计算签名的密钥,只允许字母和数字,长度6-32字节。 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str """ self._SecretKey = None @property def SecretKey(self): """用于计算签名的密钥,只允许字母和数字,长度6-32字节。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey def _deserialize(self, params): self._SecretKey = params.get("SecretKey") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OriginCombine(AbstractModel): """合并回源配置项 """ def __init__(self): r""" :param _Switch: 合并回源配置开关,取值有: on:开启 off:关闭 :type Switch: str """ self._Switch = None @property def Switch(self): """合并回源配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OriginIp(AbstractModel): """CDN回源节点IP信息 """ def __init__(self): r""" :param _Ip: 回源IP段/回源IP,默认返回IP段信息。 :type Ip: str """ self._Ip = None @property def Ip(self): """回源IP段/回源IP,默认返回IP段信息。 :rtype: str """ return self._Ip @Ip.setter def Ip(self, Ip): self._Ip = Ip def _deserialize(self, params): self._Ip = params.get("Ip") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OriginPullOptimization(AbstractModel): """跨国回源优化配置,默认为关闭状态 (已下线) """ def __init__(self): r""" :param _Switch: 跨国回源优化配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _OptimizationType: 跨国类型 OVToCN:境外回源境内 CNToOV:境内回源境外 注意:此字段可能返回 null,表示取不到有效值。 :type OptimizationType: str """ self._Switch = None self._OptimizationType = None @property def Switch(self): """跨国回源优化配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def OptimizationType(self): """跨国类型 OVToCN:境外回源境内 CNToOV:境内回源境外 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._OptimizationType @OptimizationType.setter def OptimizationType(self, OptimizationType): self._OptimizationType = OptimizationType def _deserialize(self, params): self._Switch = params.get("Switch") self._OptimizationType = params.get("OptimizationType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OriginPullTimeout(AbstractModel): """回源超时配置 """ def __init__(self): r""" :param _ConnectTimeout: 回源建连超时时间,单位为秒,要求5~60之间 注意:此字段可能返回 null,表示取不到有效值。 :type ConnectTimeout: int :param _ReceiveTimeout: 回源接收超时时间,单位为秒,要求10 ~ 300之间 注意:此字段可能返回 null,表示取不到有效值。 :type ReceiveTimeout: int """ self._ConnectTimeout = None self._ReceiveTimeout = None @property def ConnectTimeout(self): """回源建连超时时间,单位为秒,要求5~60之间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._ConnectTimeout @ConnectTimeout.setter def ConnectTimeout(self, ConnectTimeout): self._ConnectTimeout = ConnectTimeout @property def ReceiveTimeout(self): """回源接收超时时间,单位为秒,要求10 ~ 300之间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._ReceiveTimeout @ReceiveTimeout.setter def ReceiveTimeout(self, ReceiveTimeout): self._ReceiveTimeout = ReceiveTimeout def _deserialize(self, params): self._ConnectTimeout = params.get("ConnectTimeout") self._ReceiveTimeout = params.get("ReceiveTimeout") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OriginSni(AbstractModel): """HTTPS回源SNI """ def __init__(self): r""" :param _Switch: 是否开启HTTPS回源SNI。 开启:on, 关闭:off :type Switch: str :param _ServerName: 回源域名。 注意:此字段可能返回 null,表示取不到有效值。 :type ServerName: str """ self._Switch = None self._ServerName = None @property def Switch(self): """是否开启HTTPS回源SNI。 开启:on, 关闭:off :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def ServerName(self): """回源域名。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ServerName @ServerName.setter def ServerName(self, ServerName): self._ServerName = ServerName def _deserialize(self, params): self._Switch = params.get("Switch") self._ServerName = params.get("ServerName") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OssPrivateAccess(AbstractModel): """oss回源鉴权 """ def __init__(self): r""" :param _Switch: oss回源鉴权配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _AccessKey: 访问ID。 注意:此字段可能返回 null,表示取不到有效值。 :type AccessKey: str :param _SecretKey: 密钥,字段为脱敏返回。 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str :param _Region: 地域 注意:此字段可能返回 null,表示取不到有效值。 :type Region: str :param _Bucket: Bucketname 注意:此字段可能返回 null,表示取不到有效值。 :type Bucket: str """ self._Switch = None self._AccessKey = None self._SecretKey = None self._Region = None self._Bucket = None @property def Switch(self): """oss回源鉴权配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def AccessKey(self): """访问ID。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._AccessKey @AccessKey.setter def AccessKey(self, AccessKey): self._AccessKey = AccessKey @property def SecretKey(self): """密钥,字段为脱敏返回。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def Region(self): """地域 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Region @Region.setter def Region(self, Region): self._Region = Region @property def Bucket(self): """Bucketname 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Bucket @Bucket.setter def Bucket(self, Bucket): self._Bucket = Bucket def _deserialize(self, params): self._Switch = params.get("Switch") self._AccessKey = params.get("AccessKey") self._SecretKey = params.get("SecretKey") self._Region = params.get("Region") self._Bucket = params.get("Bucket") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OthersPrivateAccess(AbstractModel): """其他厂商对象存储回源鉴权 """ def __init__(self): r""" :param _Switch: 其他厂商对象存储回源鉴权配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _AccessKey: 访问ID。 注意:此字段可能返回 null,表示取不到有效值。 :type AccessKey: str :param _SecretKey: 密钥,字段位脱敏返回。 注意:此字段可能返回 null,表示取不到有效值。 :type SecretKey: str :param _Region: 地域。 注意:此字段可能返回 null,表示取不到有效值。 :type Region: str :param _Bucket: 存储桶名称。 注意:此字段可能返回 null,表示取不到有效值。 :type Bucket: str """ self._Switch = None self._AccessKey = None self._SecretKey = None self._Region = None self._Bucket = None @property def Switch(self): """其他厂商对象存储回源鉴权配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def AccessKey(self): """访问ID。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._AccessKey @AccessKey.setter def AccessKey(self, AccessKey): self._AccessKey = AccessKey @property def SecretKey(self): """密钥,字段位脱敏返回。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def Region(self): """地域。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Region @Region.setter def Region(self, Region): self._Region = Region @property def Bucket(self): """存储桶名称。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Bucket @Bucket.setter def Bucket(self, Bucket): self._Bucket = Bucket def _deserialize(self, params): self._Switch = params.get("Switch") self._AccessKey = params.get("AccessKey") self._SecretKey = params.get("SecretKey") self._Region = params.get("Region") self._Bucket = params.get("Bucket") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OverseaConfig(AbstractModel): """域名海外地区特殊配置。UpdateDomainConfig接口只支持修改部分地区配置,为了兼容旧版本配置,本类型会列出旧版本所有可能存在差异的配置列表,支持修改的配置列表如下: + Authentication + BandwidthAlert + ErrorPage + IpFilter + Origin + Referer """ def __init__(self): r""" :param _Authentication: 时间戳防盗链配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Authentication: :class:`tencentcloud.cdn.v20180606.models.Authentication` :param _BandwidthAlert: 带宽封顶配置。 注意:此字段可能返回 null,表示取不到有效值。 :type BandwidthAlert: :class:`tencentcloud.cdn.v20180606.models.BandwidthAlert` :param _Cache: 缓存规则配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Cache: :class:`tencentcloud.cdn.v20180606.models.Cache` :param _CacheKey: 缓存相关配置。 注意:此字段可能返回 null,表示取不到有效值。 :type CacheKey: :class:`tencentcloud.cdn.v20180606.models.CacheKey` :param _Compression: 智能压缩配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Compression: :class:`tencentcloud.cdn.v20180606.models.Compression` :param _DownstreamCapping: 下载限速配置。 注意:此字段可能返回 null,表示取不到有效值。 :type DownstreamCapping: :class:`tencentcloud.cdn.v20180606.models.DownstreamCapping` :param _ErrorPage: 错误码重定向配置。 注意:此字段可能返回 null,表示取不到有效值。 :type ErrorPage: :class:`tencentcloud.cdn.v20180606.models.ErrorPage` :param _FollowRedirect: 301和302自动回源跟随配置。 注意:此字段可能返回 null,表示取不到有效值。 :type FollowRedirect: :class:`tencentcloud.cdn.v20180606.models.FollowRedirect` :param _ForceRedirect: 访问协议强制跳转配置。 注意:此字段可能返回 null,表示取不到有效值。 :type ForceRedirect: :class:`tencentcloud.cdn.v20180606.models.ForceRedirect` :param _Https: Https配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Https: :class:`tencentcloud.cdn.v20180606.models.Https` :param _IpFilter: IP黑白名单配置。 注意:此字段可能返回 null,表示取不到有效值。 :type IpFilter: :class:`tencentcloud.cdn.v20180606.models.IpFilter` :param _IpFreqLimit: IP限频配置。 注意:此字段可能返回 null,表示取不到有效值。 :type IpFreqLimit: :class:`tencentcloud.cdn.v20180606.models.IpFreqLimit` :param _MaxAge: 浏览器缓存规则配置。 注意:此字段可能返回 null,表示取不到有效值。 :type MaxAge: :class:`tencentcloud.cdn.v20180606.models.MaxAge` :param _Origin: 源站配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Origin: :class:`tencentcloud.cdn.v20180606.models.Origin` :param _OriginPullOptimization: 跨国优化配置。 注意:此字段可能返回 null,表示取不到有效值。 :type OriginPullOptimization: :class:`tencentcloud.cdn.v20180606.models.OriginPullOptimization` :param _RangeOriginPull: Range回源配置。 注意:此字段可能返回 null,表示取不到有效值。 :type RangeOriginPull: :class:`tencentcloud.cdn.v20180606.models.RangeOriginPull` :param _Referer: 防盗链配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Referer: :class:`tencentcloud.cdn.v20180606.models.Referer` :param _RequestHeader: 回源请求头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :type RequestHeader: :class:`tencentcloud.cdn.v20180606.models.RequestHeader` :param _ResponseHeader: 源站响应头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :type ResponseHeader: :class:`tencentcloud.cdn.v20180606.models.ResponseHeader` :param _ResponseHeaderCache: 遵循源站缓存头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :type ResponseHeaderCache: :class:`tencentcloud.cdn.v20180606.models.ResponseHeaderCache` :param _Seo: seo优化配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Seo: :class:`tencentcloud.cdn.v20180606.models.Seo` :param _ServiceType: 域名业务类型,web,download,media分别表示静态加速,下载加速和流媒体加速。 注意:此字段可能返回 null,表示取不到有效值。 :type ServiceType: str :param _StatusCodeCache: 状态码缓存配置。 注意:此字段可能返回 null,表示取不到有效值。 :type StatusCodeCache: :class:`tencentcloud.cdn.v20180606.models.StatusCodeCache` :param _VideoSeek: 视频拖拽配置。 注意:此字段可能返回 null,表示取不到有效值。 :type VideoSeek: :class:`tencentcloud.cdn.v20180606.models.VideoSeek` :param _AwsPrivateAccess: 回源S3私有鉴权。 注意:此字段可能返回 null,表示取不到有效值。 :type AwsPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.AwsPrivateAccess` :param _OssPrivateAccess: 回源OSS私有鉴权。 注意:此字段可能返回 null,表示取不到有效值。 :type OssPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.OssPrivateAccess` :param _HwPrivateAccess: 华为云对象存储鉴权 注意:此字段可能返回 null,表示取不到有效值。 :type HwPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.HwPrivateAccess` :param _QnPrivateAccess: 七牛云对象存储鉴权 注意:此字段可能返回 null,表示取不到有效值。 :type QnPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.QnPrivateAccess` """ self._Authentication = None self._BandwidthAlert = None self._Cache = None self._CacheKey = None self._Compression = None self._DownstreamCapping = None self._ErrorPage = None self._FollowRedirect = None self._ForceRedirect = None self._Https = None self._IpFilter = None self._IpFreqLimit = None self._MaxAge = None self._Origin = None self._OriginPullOptimization = None self._RangeOriginPull = None self._Referer = None self._RequestHeader = None self._ResponseHeader = None self._ResponseHeaderCache = None self._Seo = None self._ServiceType = None self._StatusCodeCache = None self._VideoSeek = None self._AwsPrivateAccess = None self._OssPrivateAccess = None self._HwPrivateAccess = None self._QnPrivateAccess = None @property def Authentication(self): """时间戳防盗链配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Authentication` """ return self._Authentication @Authentication.setter def Authentication(self, Authentication): self._Authentication = Authentication @property def BandwidthAlert(self): """带宽封顶配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.BandwidthAlert` """ return self._BandwidthAlert @BandwidthAlert.setter def BandwidthAlert(self, BandwidthAlert): self._BandwidthAlert = BandwidthAlert @property def Cache(self): """缓存规则配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Cache` """ return self._Cache @Cache.setter def Cache(self, Cache): self._Cache = Cache @property def CacheKey(self): """缓存相关配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheKey` """ return self._CacheKey @CacheKey.setter def CacheKey(self, CacheKey): self._CacheKey = CacheKey @property def Compression(self): """智能压缩配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Compression` """ return self._Compression @Compression.setter def Compression(self, Compression): self._Compression = Compression @property def DownstreamCapping(self): """下载限速配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.DownstreamCapping` """ return self._DownstreamCapping @DownstreamCapping.setter def DownstreamCapping(self, DownstreamCapping): self._DownstreamCapping = DownstreamCapping @property def ErrorPage(self): """错误码重定向配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ErrorPage` """ return self._ErrorPage @ErrorPage.setter def ErrorPage(self, ErrorPage): self._ErrorPage = ErrorPage @property def FollowRedirect(self): """301和302自动回源跟随配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.FollowRedirect` """ return self._FollowRedirect @FollowRedirect.setter def FollowRedirect(self, FollowRedirect): self._FollowRedirect = FollowRedirect @property def ForceRedirect(self): """访问协议强制跳转配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ForceRedirect` """ return self._ForceRedirect @ForceRedirect.setter def ForceRedirect(self, ForceRedirect): self._ForceRedirect = ForceRedirect @property def Https(self): """Https配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Https` """ return self._Https @Https.setter def Https(self, Https): self._Https = Https @property def IpFilter(self): """IP黑白名单配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.IpFilter` """ return self._IpFilter @IpFilter.setter def IpFilter(self, IpFilter): self._IpFilter = IpFilter @property def IpFreqLimit(self): """IP限频配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.IpFreqLimit` """ return self._IpFreqLimit @IpFreqLimit.setter def IpFreqLimit(self, IpFreqLimit): self._IpFreqLimit = IpFreqLimit @property def MaxAge(self): """浏览器缓存规则配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.MaxAge` """ return self._MaxAge @MaxAge.setter def MaxAge(self, MaxAge): self._MaxAge = MaxAge @property def Origin(self): """源站配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Origin` """ return self._Origin @Origin.setter def Origin(self, Origin): self._Origin = Origin @property def OriginPullOptimization(self): """跨国优化配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginPullOptimization` """ return self._OriginPullOptimization @OriginPullOptimization.setter def OriginPullOptimization(self, OriginPullOptimization): self._OriginPullOptimization = OriginPullOptimization @property def RangeOriginPull(self): """Range回源配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RangeOriginPull` """ return self._RangeOriginPull @RangeOriginPull.setter def RangeOriginPull(self, RangeOriginPull): self._RangeOriginPull = RangeOriginPull @property def Referer(self): """防盗链配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Referer` """ return self._Referer @Referer.setter def Referer(self, Referer): self._Referer = Referer @property def RequestHeader(self): """回源请求头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RequestHeader` """ return self._RequestHeader @RequestHeader.setter def RequestHeader(self, RequestHeader): self._RequestHeader = RequestHeader @property def ResponseHeader(self): """源站响应头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ResponseHeader` """ return self._ResponseHeader @ResponseHeader.setter def ResponseHeader(self, ResponseHeader): self._ResponseHeader = ResponseHeader @property def ResponseHeaderCache(self): """遵循源站缓存头部配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ResponseHeaderCache` """ return self._ResponseHeaderCache @ResponseHeaderCache.setter def ResponseHeaderCache(self, ResponseHeaderCache): self._ResponseHeaderCache = ResponseHeaderCache @property def Seo(self): """seo优化配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Seo` """ return self._Seo @Seo.setter def Seo(self, Seo): self._Seo = Seo @property def ServiceType(self): """域名业务类型,web,download,media分别表示静态加速,下载加速和流媒体加速。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ServiceType @ServiceType.setter def ServiceType(self, ServiceType): self._ServiceType = ServiceType @property def StatusCodeCache(self): """状态码缓存配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.StatusCodeCache` """ return self._StatusCodeCache @StatusCodeCache.setter def StatusCodeCache(self, StatusCodeCache): self._StatusCodeCache = StatusCodeCache @property def VideoSeek(self): """视频拖拽配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.VideoSeek` """ return self._VideoSeek @VideoSeek.setter def VideoSeek(self, VideoSeek): self._VideoSeek = VideoSeek @property def AwsPrivateAccess(self): """回源S3私有鉴权。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.AwsPrivateAccess` """ return self._AwsPrivateAccess @AwsPrivateAccess.setter def AwsPrivateAccess(self, AwsPrivateAccess): self._AwsPrivateAccess = AwsPrivateAccess @property def OssPrivateAccess(self): """回源OSS私有鉴权。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OssPrivateAccess` """ return self._OssPrivateAccess @OssPrivateAccess.setter def OssPrivateAccess(self, OssPrivateAccess): self._OssPrivateAccess = OssPrivateAccess @property def HwPrivateAccess(self): """华为云对象存储鉴权 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.HwPrivateAccess` """ return self._HwPrivateAccess @HwPrivateAccess.setter def HwPrivateAccess(self, HwPrivateAccess): self._HwPrivateAccess = HwPrivateAccess @property def QnPrivateAccess(self): """七牛云对象存储鉴权 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.QnPrivateAccess` """ return self._QnPrivateAccess @QnPrivateAccess.setter def QnPrivateAccess(self, QnPrivateAccess): self._QnPrivateAccess = QnPrivateAccess def _deserialize(self, params): if params.get("Authentication") is not None: self._Authentication = Authentication() self._Authentication._deserialize(params.get("Authentication")) if params.get("BandwidthAlert") is not None: self._BandwidthAlert = BandwidthAlert() self._BandwidthAlert._deserialize(params.get("BandwidthAlert")) if params.get("Cache") is not None: self._Cache = Cache() self._Cache._deserialize(params.get("Cache")) if params.get("CacheKey") is not None: self._CacheKey = CacheKey() self._CacheKey._deserialize(params.get("CacheKey")) if params.get("Compression") is not None: self._Compression = Compression() self._Compression._deserialize(params.get("Compression")) if params.get("DownstreamCapping") is not None: self._DownstreamCapping = DownstreamCapping() self._DownstreamCapping._deserialize(params.get("DownstreamCapping")) if params.get("ErrorPage") is not None: self._ErrorPage = ErrorPage() self._ErrorPage._deserialize(params.get("ErrorPage")) if params.get("FollowRedirect") is not None: self._FollowRedirect = FollowRedirect() self._FollowRedirect._deserialize(params.get("FollowRedirect")) if params.get("ForceRedirect") is not None: self._ForceRedirect = ForceRedirect() self._ForceRedirect._deserialize(params.get("ForceRedirect")) if params.get("Https") is not None: self._Https = Https() self._Https._deserialize(params.get("Https")) if params.get("IpFilter") is not None: self._IpFilter = IpFilter() self._IpFilter._deserialize(params.get("IpFilter")) if params.get("IpFreqLimit") is not None: self._IpFreqLimit = IpFreqLimit() self._IpFreqLimit._deserialize(params.get("IpFreqLimit")) if params.get("MaxAge") is not None: self._MaxAge = MaxAge() self._MaxAge._deserialize(params.get("MaxAge")) if params.get("Origin") is not None: self._Origin = Origin() self._Origin._deserialize(params.get("Origin")) if params.get("OriginPullOptimization") is not None: self._OriginPullOptimization = OriginPullOptimization() self._OriginPullOptimization._deserialize(params.get("OriginPullOptimization")) if params.get("RangeOriginPull") is not None: self._RangeOriginPull = RangeOriginPull() self._RangeOriginPull._deserialize(params.get("RangeOriginPull")) if params.get("Referer") is not None: self._Referer = Referer() self._Referer._deserialize(params.get("Referer")) if params.get("RequestHeader") is not None: self._RequestHeader = RequestHeader() self._RequestHeader._deserialize(params.get("RequestHeader")) if params.get("ResponseHeader") is not None: self._ResponseHeader = ResponseHeader() self._ResponseHeader._deserialize(params.get("ResponseHeader")) if params.get("ResponseHeaderCache") is not None: self._ResponseHeaderCache = ResponseHeaderCache() self._ResponseHeaderCache._deserialize(params.get("ResponseHeaderCache")) if params.get("Seo") is not None: self._Seo = Seo() self._Seo._deserialize(params.get("Seo")) self._ServiceType = params.get("ServiceType") if params.get("StatusCodeCache") is not None: self._StatusCodeCache = StatusCodeCache() self._StatusCodeCache._deserialize(params.get("StatusCodeCache")) if params.get("VideoSeek") is not None: self._VideoSeek = VideoSeek() self._VideoSeek._deserialize(params.get("VideoSeek")) if params.get("AwsPrivateAccess") is not None: self._AwsPrivateAccess = AwsPrivateAccess() self._AwsPrivateAccess._deserialize(params.get("AwsPrivateAccess")) if params.get("OssPrivateAccess") is not None: self._OssPrivateAccess = OssPrivateAccess() self._OssPrivateAccess._deserialize(params.get("OssPrivateAccess")) if params.get("HwPrivateAccess") is not None: self._HwPrivateAccess = HwPrivateAccess() self._HwPrivateAccess._deserialize(params.get("HwPrivateAccess")) if params.get("QnPrivateAccess") is not None: self._QnPrivateAccess = QnPrivateAccess() self._QnPrivateAccess._deserialize(params.get("QnPrivateAccess")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ParamFilter(AbstractModel): """参数黑名单 """ def __init__(self): r""" :param _Switch: 参数黑名单开关 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _FilterRules: 参数黑名单规则 注意:此字段可能返回 null,表示取不到有效值。 :type FilterRules: list of ParamFilterRule """ self._Switch = None self._FilterRules = None @property def Switch(self): """ 参数黑名单开关 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def FilterRules(self): """参数黑名单规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ParamFilterRule """ return self._FilterRules @FilterRules.setter def FilterRules(self, FilterRules): self._FilterRules = FilterRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("FilterRules") is not None: self._FilterRules = [] for item in params.get("FilterRules"): obj = ParamFilterRule() obj._deserialize(item) self._FilterRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ParamFilterRule(AbstractModel): """参数黑名单规则 """ def __init__(self): r""" :param _Key: 参数名 注意:此字段可能返回 null,表示取不到有效值。 :type Key: str :param _Values: 参数值数组, 小于10个 注意:此字段可能返回 null,表示取不到有效值。 :type Values: list of str :param _ReturnCode: http 返回码 ( 暂仅支持403) 注意:此字段可能返回 null,表示取不到有效值。 :type ReturnCode: str """ self._Key = None self._Values = None self._ReturnCode = None @property def Key(self): """参数名 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Key @Key.setter def Key(self, Key): self._Key = Key @property def Values(self): """参数值数组, 小于10个 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._Values @Values.setter def Values(self, Values): self._Values = Values @property def ReturnCode(self): """http 返回码 ( 暂仅支持403) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ReturnCode @ReturnCode.setter def ReturnCode(self, ReturnCode): self._ReturnCode = ReturnCode def _deserialize(self, params): self._Key = params.get("Key") self._Values = params.get("Values") self._ReturnCode = params.get("ReturnCode") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PathBasedOriginRule(AbstractModel): """分路径回源规则 """ def __init__(self): r""" :param _RuleType: 规则类型: file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index: 指定主页生效 :type RuleType: str :param _RulePaths: RuleType 对应类型下的匹配内容: file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html index 时填充 / :type RulePaths: list of str :param _Origin: 源站列表,支持域名或ipv4地址 :type Origin: list of str """ self._RuleType = None self._RulePaths = None self._Origin = None @property def RuleType(self): """规则类型: file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index: 指定主页生效 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RulePaths(self): """RuleType 对应类型下的匹配内容: file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html index 时填充 / :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths @property def Origin(self): """源站列表,支持域名或ipv4地址 :rtype: list of str """ return self._Origin @Origin.setter def Origin(self, Origin): self._Origin = Origin def _deserialize(self, params): self._RuleType = params.get("RuleType") self._RulePaths = params.get("RulePaths") self._Origin = params.get("Origin") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PathRule(AbstractModel): """分路径回源配置规则。 """ def __init__(self): r""" :param _Regex: 是否开启通配符“*”匹配: false:关闭 true:开启 注意:此字段可能返回 null,表示取不到有效值。 :type Regex: bool :param _Path: 匹配的URL路径,仅支持Url路径,不支持参数。默认完全匹配,开启通配符“*”匹配后,最多支持5个通配符,最大长度为1024个字符。 注意:此字段可能返回 null,表示取不到有效值。 :type Path: str :param _Origin: 路径匹配时的回源源站。暂不支持开了私有读写的COS源。不填写时沿用默认源站。 注意:此字段可能返回 null,表示取不到有效值。 :type Origin: str :param _ServerName: 路径匹配时回源的Host头部。不填写时沿用默认ServerName。 注意:此字段可能返回 null,表示取不到有效值。 :type ServerName: str :param _OriginArea: 源站所属区域,支持CN,OV: CN:中国境内 OV:中国境外 默认为CN。 注意:此字段可能返回 null,表示取不到有效值。 :type OriginArea: str :param _ForwardUri: 路径匹配时回源的URI路径,必须以“/”开头,不包含参数部分。最大长度为1024个字符。可使用$1, $2, $3, $4, $5分别捕获匹配路径中的通配符号“*”,最多支持10个捕获值。 注意:此字段可能返回 null,表示取不到有效值。 :type ForwardUri: str :param _RequestHeaders: 路径匹配时回源的头部设置。 注意:此字段可能返回 null,表示取不到有效值。 :type RequestHeaders: list of HttpHeaderRule :param _FullMatch: 当Regex为false时,Path是否开启完全匹配。 false:关闭 true:开启 注意:此字段可能返回 null,表示取不到有效值。 :type FullMatch: bool """ self._Regex = None self._Path = None self._Origin = None self._ServerName = None self._OriginArea = None self._ForwardUri = None self._RequestHeaders = None self._FullMatch = None @property def Regex(self): """是否开启通配符“*”匹配: false:关闭 true:开启 注意:此字段可能返回 null,表示取不到有效值。 :rtype: bool """ return self._Regex @Regex.setter def Regex(self, Regex): self._Regex = Regex @property def Path(self): """匹配的URL路径,仅支持Url路径,不支持参数。默认完全匹配,开启通配符“*”匹配后,最多支持5个通配符,最大长度为1024个字符。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Path @Path.setter def Path(self, Path): self._Path = Path @property def Origin(self): """路径匹配时的回源源站。暂不支持开了私有读写的COS源。不填写时沿用默认源站。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Origin @Origin.setter def Origin(self, Origin): self._Origin = Origin @property def ServerName(self): """路径匹配时回源的Host头部。不填写时沿用默认ServerName。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ServerName @ServerName.setter def ServerName(self, ServerName): self._ServerName = ServerName @property def OriginArea(self): """源站所属区域,支持CN,OV: CN:中国境内 OV:中国境外 默认为CN。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._OriginArea @OriginArea.setter def OriginArea(self, OriginArea): self._OriginArea = OriginArea @property def ForwardUri(self): """路径匹配时回源的URI路径,必须以“/”开头,不包含参数部分。最大长度为1024个字符。可使用$1, $2, $3, $4, $5分别捕获匹配路径中的通配符号“*”,最多支持10个捕获值。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ForwardUri @ForwardUri.setter def ForwardUri(self, ForwardUri): self._ForwardUri = ForwardUri @property def RequestHeaders(self): """路径匹配时回源的头部设置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of HttpHeaderRule """ return self._RequestHeaders @RequestHeaders.setter def RequestHeaders(self, RequestHeaders): self._RequestHeaders = RequestHeaders @property def FullMatch(self): """当Regex为false时,Path是否开启完全匹配。 false:关闭 true:开启 注意:此字段可能返回 null,表示取不到有效值。 :rtype: bool """ return self._FullMatch @FullMatch.setter def FullMatch(self, FullMatch): self._FullMatch = FullMatch def _deserialize(self, params): self._Regex = params.get("Regex") self._Path = params.get("Path") self._Origin = params.get("Origin") self._ServerName = params.get("ServerName") self._OriginArea = params.get("OriginArea") self._ForwardUri = params.get("ForwardUri") if params.get("RequestHeaders") is not None: self._RequestHeaders = [] for item in params.get("RequestHeaders"): obj = HttpHeaderRule() obj._deserialize(item) self._RequestHeaders.append(obj) self._FullMatch = params.get("FullMatch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PostSize(AbstractModel): """POST请求上传文件流式传输最大限制 """ def __init__(self): r""" :param _Switch: POST请求上传文件流式传输最大限制配置开关,取值有: on:开启,平台默认为32MB off:关闭 :type Switch: str :param _MaxSize: 最大限制,取值在1MB和200MB之间。 :type MaxSize: int """ self._Switch = None self._MaxSize = None @property def Switch(self): """POST请求上传文件流式传输最大限制配置开关,取值有: on:开启,平台默认为32MB off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def MaxSize(self): """最大限制,取值在1MB和200MB之间。 :rtype: int """ return self._MaxSize @MaxSize.setter def MaxSize(self, MaxSize): self._MaxSize = MaxSize def _deserialize(self, params): self._Switch = params.get("Switch") self._MaxSize = params.get("MaxSize") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PurgePathCacheRequest(AbstractModel): """PurgePathCache请求参数结构体 """ def __init__(self): r""" :param _Paths: 目录列表,需要包含协议头部 http:// 或 https:// :type Paths: list of str :param _FlushType: 刷新类型 flush:刷新产生更新的资源 delete:刷新全部资源 :type FlushType: str :param _UrlEncode: 是否对中文字符进行编码后刷新 :type UrlEncode: bool :param _Area: 刷新区域 无此参数时,默认刷新加速域名所在加速区域 填充 mainland 时,仅刷新中国境内加速节点上缓存内容 填充 overseas 时,仅刷新中国境外加速节点上缓存内容 指定刷新区域时,需要与域名加速区域匹配 :type Area: str """ self._Paths = None self._FlushType = None self._UrlEncode = None self._Area = None @property def Paths(self): """目录列表,需要包含协议头部 http:// 或 https:// :rtype: list of str """ return self._Paths @Paths.setter def Paths(self, Paths): self._Paths = Paths @property def FlushType(self): """刷新类型 flush:刷新产生更新的资源 delete:刷新全部资源 :rtype: str """ return self._FlushType @FlushType.setter def FlushType(self, FlushType): self._FlushType = FlushType @property def UrlEncode(self): """是否对中文字符进行编码后刷新 :rtype: bool """ return self._UrlEncode @UrlEncode.setter def UrlEncode(self, UrlEncode): self._UrlEncode = UrlEncode @property def Area(self): """刷新区域 无此参数时,默认刷新加速域名所在加速区域 填充 mainland 时,仅刷新中国境内加速节点上缓存内容 填充 overseas 时,仅刷新中国境外加速节点上缓存内容 指定刷新区域时,需要与域名加速区域匹配 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._Paths = params.get("Paths") self._FlushType = params.get("FlushType") self._UrlEncode = params.get("UrlEncode") self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PurgePathCacheResponse(AbstractModel): """PurgePathCache返回参数结构体 """ def __init__(self): r""" :param _TaskId: 刷新任务 ID,同一批次提交的目录共用一个任务 ID :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """刷新任务 ID,同一批次提交的目录共用一个任务 ID :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class PurgeTask(AbstractModel): """刷新任务详情 """ def __init__(self): r""" :param _TaskId: 刷新任务 ID :type TaskId: str :param _Url: 刷新 URL :type Url: str :param _Status: 刷新任务状态 fail:刷新失败 done:刷新成功 process:刷新中 :type Status: str :param _PurgeType: 刷新类型 url:URL 刷新 path:目录刷新 :type PurgeType: str :param _FlushType: 刷新方式 flush:刷新更新资源(仅目录刷新时有此类型) delete:刷新全部资源 :type FlushType: str :param _CreateTime: 刷新任务提交时间 :type CreateTime: str """ self._TaskId = None self._Url = None self._Status = None self._PurgeType = None self._FlushType = None self._CreateTime = None @property def TaskId(self): """刷新任务 ID :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def Url(self): """刷新 URL :rtype: str """ return self._Url @Url.setter def Url(self, Url): self._Url = Url @property def Status(self): """刷新任务状态 fail:刷新失败 done:刷新成功 process:刷新中 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def PurgeType(self): """刷新类型 url:URL 刷新 path:目录刷新 :rtype: str """ return self._PurgeType @PurgeType.setter def PurgeType(self, PurgeType): self._PurgeType = PurgeType @property def FlushType(self): """刷新方式 flush:刷新更新资源(仅目录刷新时有此类型) delete:刷新全部资源 :rtype: str """ return self._FlushType @FlushType.setter def FlushType(self, FlushType): self._FlushType = FlushType @property def CreateTime(self): """刷新任务提交时间 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime def _deserialize(self, params): self._TaskId = params.get("TaskId") self._Url = params.get("Url") self._Status = params.get("Status") self._PurgeType = params.get("PurgeType") self._FlushType = params.get("FlushType") self._CreateTime = params.get("CreateTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PurgeUrlsCacheRequest(AbstractModel): """PurgeUrlsCache请求参数结构体 """ def __init__(self): r""" :param _Urls: URL 列表,需要包含协议头部 http:// 或 https:// :type Urls: list of str :param _Area: 刷新区域 无此参数时,默认刷新加速域名所在加速区域 填充 mainland 时,仅刷新中国境内加速节点上缓存内容 填充 overseas 时,仅刷新中国境外加速节点上缓存内容 指定刷新区域时,需要与域名加速区域匹配 :type Area: str :param _UrlEncode: 是否对中文字符进行编码后刷新 :type UrlEncode: bool """ self._Urls = None self._Area = None self._UrlEncode = None @property def Urls(self): """URL 列表,需要包含协议头部 http:// 或 https:// :rtype: list of str """ return self._Urls @Urls.setter def Urls(self, Urls): self._Urls = Urls @property def Area(self): """刷新区域 无此参数时,默认刷新加速域名所在加速区域 填充 mainland 时,仅刷新中国境内加速节点上缓存内容 填充 overseas 时,仅刷新中国境外加速节点上缓存内容 指定刷新区域时,需要与域名加速区域匹配 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def UrlEncode(self): """是否对中文字符进行编码后刷新 :rtype: bool """ return self._UrlEncode @UrlEncode.setter def UrlEncode(self, UrlEncode): self._UrlEncode = UrlEncode def _deserialize(self, params): self._Urls = params.get("Urls") self._Area = params.get("Area") self._UrlEncode = params.get("UrlEncode") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PurgeUrlsCacheResponse(AbstractModel): """PurgeUrlsCache返回参数结构体 """ def __init__(self): r""" :param _TaskId: 刷新任务 ID,同一批次提交的 URL 共用一个任务 ID :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """刷新任务 ID,同一批次提交的 URL 共用一个任务 ID :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class PushTask(AbstractModel): """预热任务详情 """ def __init__(self): r""" :param _TaskId: 预热任务 ID :type TaskId: str :param _Url: 预热 URL :type Url: str :param _Status: 预热任务状态 fail:预热失败 done:预热成功 process:预热中 invalid:预热无效(源站返回4xx或5xx状态码) :type Status: str :param _Percent: 预热进度百分比 :type Percent: int :param _CreateTime: 预热任务提交时间 :type CreateTime: str :param _Area: 预热区域 mainland:境内 overseas:境外 global:全球 :type Area: str :param _UpdateTime: 预热任务更新时间 注意:此字段可能返回 null,表示取不到有效值。 :type UpdateTime: str """ self._TaskId = None self._Url = None self._Status = None self._Percent = None self._CreateTime = None self._Area = None self._UpdateTime = None @property def TaskId(self): """预热任务 ID :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def Url(self): """预热 URL :rtype: str """ return self._Url @Url.setter def Url(self, Url): self._Url = Url @property def Status(self): """预热任务状态 fail:预热失败 done:预热成功 process:预热中 invalid:预热无效(源站返回4xx或5xx状态码) :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def Percent(self): """预热进度百分比 :rtype: int """ return self._Percent @Percent.setter def Percent(self, Percent): self._Percent = Percent @property def CreateTime(self): """预热任务提交时间 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def Area(self): """预热区域 mainland:境内 overseas:境外 global:全球 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def UpdateTime(self): """预热任务更新时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._UpdateTime @UpdateTime.setter def UpdateTime(self, UpdateTime): self._UpdateTime = UpdateTime def _deserialize(self, params): self._TaskId = params.get("TaskId") self._Url = params.get("Url") self._Status = params.get("Status") self._Percent = params.get("Percent") self._CreateTime = params.get("CreateTime") self._Area = params.get("Area") self._UpdateTime = params.get("UpdateTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PushUrlsCacheRequest(AbstractModel): """PushUrlsCache请求参数结构体 """ def __init__(self): r""" :param _Urls: URL 列表,需要包含协议头部 http:// 或 https:// :type Urls: list of str :param _UserAgent: 指定预热请求回源时 HTTP 请求的 User-Agent 头部 默认为 TencentCdn :type UserAgent: str :param _Area: 预热生效区域 mainland:预热至境内节点 overseas:预热至境外节点 global:预热全球节点 不填充情况下,默认为 mainland, URL 中域名必须在对应区域启用了加速服务才能提交对应区域的预热任务 :type Area: str :param _Layer: 中国境内区域默认预热至中间层节点,中国境外区域默认预热至边缘节点。预热至边缘产生的边缘层流量会计入计费流量。 填写"middle"或不填充时,可指定预热至中间层节点。 :type Layer: str :param _ParseM3U8: 是否递归解析m3u8文件中的ts分片预热 注意事项: 1. 该功能要求m3u8索引文件能直接请求获取 2. 当前只支持递归解析一级索引和子索引中的ts分片,递归深度不超过3层 3. 解析获取的ts分片会正常累加每日预热用量,当用量超出配额时,会静默处理,不再执行预热 :type ParseM3U8: bool :param _DisableRange: 是否关闭Range回源 注意事项: 此功能灰度发布中,敬请期待 :type DisableRange: bool :param _Headers: 自定义 HTTP 请求头。最多定义 20 个,Name 长度不超过 128 字节,Value 长度不超过 1024 字节 :type Headers: list of HTTPHeader :param _UrlEncode: 是否对URL进行编码 :type UrlEncode: bool """ self._Urls = None self._UserAgent = None self._Area = None self._Layer = None self._ParseM3U8 = None self._DisableRange = None self._Headers = None self._UrlEncode = None @property def Urls(self): """URL 列表,需要包含协议头部 http:// 或 https:// :rtype: list of str """ return self._Urls @Urls.setter def Urls(self, Urls): self._Urls = Urls @property def UserAgent(self): """指定预热请求回源时 HTTP 请求的 User-Agent 头部 默认为 TencentCdn :rtype: str """ return self._UserAgent @UserAgent.setter def UserAgent(self, UserAgent): self._UserAgent = UserAgent @property def Area(self): """预热生效区域 mainland:预热至境内节点 overseas:预热至境外节点 global:预热全球节点 不填充情况下,默认为 mainland, URL 中域名必须在对应区域启用了加速服务才能提交对应区域的预热任务 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def Layer(self): """中国境内区域默认预热至中间层节点,中国境外区域默认预热至边缘节点。预热至边缘产生的边缘层流量会计入计费流量。 填写"middle"或不填充时,可指定预热至中间层节点。 :rtype: str """ return self._Layer @Layer.setter def Layer(self, Layer): self._Layer = Layer @property def ParseM3U8(self): """是否递归解析m3u8文件中的ts分片预热 注意事项: 1. 该功能要求m3u8索引文件能直接请求获取 2. 当前只支持递归解析一级索引和子索引中的ts分片,递归深度不超过3层 3. 解析获取的ts分片会正常累加每日预热用量,当用量超出配额时,会静默处理,不再执行预热 :rtype: bool """ return self._ParseM3U8 @ParseM3U8.setter def ParseM3U8(self, ParseM3U8): self._ParseM3U8 = ParseM3U8 @property def DisableRange(self): """是否关闭Range回源 注意事项: 此功能灰度发布中,敬请期待 :rtype: bool """ return self._DisableRange @DisableRange.setter def DisableRange(self, DisableRange): self._DisableRange = DisableRange @property def Headers(self): """自定义 HTTP 请求头。最多定义 20 个,Name 长度不超过 128 字节,Value 长度不超过 1024 字节 :rtype: list of HTTPHeader """ return self._Headers @Headers.setter def Headers(self, Headers): self._Headers = Headers @property def UrlEncode(self): """是否对URL进行编码 :rtype: bool """ return self._UrlEncode @UrlEncode.setter def UrlEncode(self, UrlEncode): self._UrlEncode = UrlEncode def _deserialize(self, params): self._Urls = params.get("Urls") self._UserAgent = params.get("UserAgent") self._Area = params.get("Area") self._Layer = params.get("Layer") self._ParseM3U8 = params.get("ParseM3U8") self._DisableRange = params.get("DisableRange") if params.get("Headers") is not None: self._Headers = [] for item in params.get("Headers"): obj = HTTPHeader() obj._deserialize(item) self._Headers.append(obj) self._UrlEncode = params.get("UrlEncode") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PushUrlsCacheResponse(AbstractModel): """PushUrlsCache返回参数结构体 """ def __init__(self): r""" :param _TaskId: 此批提交的任务 ID :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """此批提交的任务 ID :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class QnPrivateAccess(AbstractModel): """七牛元对象存储回源鉴权配置 """ def __init__(self): r""" :param _Switch: 七牛元对象存储回源鉴权配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _AccessKey: 访问 ID 注意:此字段可能返回 null,表示取不到有效值。 :type AccessKey: str :param _SecretKey: 密钥,字段为脱敏返回。 :type SecretKey: str """ self._Switch = None self._AccessKey = None self._SecretKey = None @property def Switch(self): """七牛元对象存储回源鉴权配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def AccessKey(self): """访问 ID 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._AccessKey @AccessKey.setter def AccessKey(self, AccessKey): self._AccessKey = AccessKey @property def SecretKey(self): """密钥,字段为脱敏返回。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey def _deserialize(self, params): self._Switch = params.get("Switch") self._AccessKey = params.get("AccessKey") self._SecretKey = params.get("SecretKey") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class QueryStringKey(AbstractModel): """组成CacheKey的一部分 """ def __init__(self): r""" :param _Switch: CacheKey是否由QueryString组成配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _Reorder: 是否重新排序 注意:此字段可能返回 null,表示取不到有效值。 :type Reorder: str :param _Action: 使用/排除部分url参数,取值有: includeAll:包含所有 excludeAll:排除所有 includeCustom:自定义包含 excludeCustom:自定义排除 注意:此字段可能返回 null,表示取不到有效值。 :type Action: str :param _Value: 使用/排除的url参数数组,';' 分割 注意:此字段可能返回 null,表示取不到有效值。 :type Value: str """ self._Switch = None self._Reorder = None self._Action = None self._Value = None @property def Switch(self): """CacheKey是否由QueryString组成配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Reorder(self): """是否重新排序 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Reorder @Reorder.setter def Reorder(self, Reorder): self._Reorder = Reorder @property def Action(self): """使用/排除部分url参数,取值有: includeAll:包含所有 excludeAll:排除所有 includeCustom:自定义包含 excludeCustom:自定义排除 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Action @Action.setter def Action(self, Action): self._Action = Action @property def Value(self): """使用/排除的url参数数组,';' 分割 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Switch = params.get("Switch") self._Reorder = params.get("Reorder") self._Action = params.get("Action") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Quic(AbstractModel): """Quic配置项 """ def __init__(self): r""" :param _Switch: Quic功能配置开关,取值有: on:开启 off:关闭 :type Switch: str """ self._Switch = None @property def Switch(self): """Quic功能配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Quota(AbstractModel): """刷新/预热 可用量及配额 """ def __init__(self): r""" :param _Batch: 单次批量提交配额上限。 :type Batch: int :param _Total: 每日提交配额上限。 :type Total: int :param _Available: 每日剩余的可提交配额。 :type Available: int :param _Area: 配额的区域。 :type Area: str """ self._Batch = None self._Total = None self._Available = None self._Area = None @property def Batch(self): """单次批量提交配额上限。 :rtype: int """ return self._Batch @Batch.setter def Batch(self, Batch): self._Batch = Batch @property def Total(self): """每日提交配额上限。 :rtype: int """ return self._Total @Total.setter def Total(self, Total): self._Total = Total @property def Available(self): """每日剩余的可提交配额。 :rtype: int """ return self._Available @Available.setter def Available(self, Available): self._Available = Available @property def Area(self): """配额的区域。 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._Batch = params.get("Batch") self._Total = params.get("Total") self._Available = params.get("Available") self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RangeOriginPull(AbstractModel): """分片回源配置,默认为开启状态 """ def __init__(self): r""" :param _Switch: 分片回源配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _RangeRules: 分路径分片回源配置 注意:此字段可能返回 null,表示取不到有效值。 :type RangeRules: list of RangeOriginPullRule """ self._Switch = None self._RangeRules = None @property def Switch(self): """分片回源配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def RangeRules(self): """分路径分片回源配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of RangeOriginPullRule """ return self._RangeRules @RangeRules.setter def RangeRules(self, RangeRules): self._RangeRules = RangeRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("RangeRules") is not None: self._RangeRules = [] for item in params.get("RangeRules"): obj = RangeOriginPullRule() obj._deserialize(item) self._RangeRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RangeOriginPullRule(AbstractModel): """分路径分片回源配置 """ def __init__(self): r""" :param _Switch: 分片回源配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _RuleType: 规则类型: file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 注意:此字段可能返回 null,表示取不到有效值。 :type RuleType: str :param _RulePaths: RuleType 对应类型下的匹配内容: file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html 注意:此字段可能返回 null,表示取不到有效值。 :type RulePaths: list of str """ self._Switch = None self._RuleType = None self._RulePaths = None @property def Switch(self): """分片回源配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def RuleType(self): """规则类型: file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RulePaths(self): """RuleType 对应类型下的匹配内容: file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths def _deserialize(self, params): self._Switch = params.get("Switch") self._RuleType = params.get("RuleType") self._RulePaths = params.get("RulePaths") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RedirectConfig(AbstractModel): """自定义回源302 follow请求host配置 """ def __init__(self): r""" :param _Switch: 自定义回源302 follow请求host配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _FollowRedirectHost: 主源站follow302请求时带的自定义的host头部 :type FollowRedirectHost: str :param _FollowRedirectBackupHost: 备份源站follow302请求时带的自定义的host头部 :type FollowRedirectBackupHost: str """ self._Switch = None self._FollowRedirectHost = None self._FollowRedirectBackupHost = None @property def Switch(self): """自定义回源302 follow请求host配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def FollowRedirectHost(self): """主源站follow302请求时带的自定义的host头部 :rtype: str """ return self._FollowRedirectHost @FollowRedirectHost.setter def FollowRedirectHost(self, FollowRedirectHost): self._FollowRedirectHost = FollowRedirectHost @property def FollowRedirectBackupHost(self): """备份源站follow302请求时带的自定义的host头部 :rtype: str """ return self._FollowRedirectBackupHost @FollowRedirectBackupHost.setter def FollowRedirectBackupHost(self, FollowRedirectBackupHost): self._FollowRedirectBackupHost = FollowRedirectBackupHost def _deserialize(self, params): self._Switch = params.get("Switch") self._FollowRedirectHost = params.get("FollowRedirectHost") self._FollowRedirectBackupHost = params.get("FollowRedirectBackupHost") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Referer(AbstractModel): """Referer 黑白名单配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: referer 黑白名单配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _RefererRules: referer 黑白名单配置规则 注意:此字段可能返回 null,表示取不到有效值。 :type RefererRules: list of RefererRule """ self._Switch = None self._RefererRules = None @property def Switch(self): """referer 黑白名单配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def RefererRules(self): """referer 黑白名单配置规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of RefererRule """ return self._RefererRules @RefererRules.setter def RefererRules(self, RefererRules): self._RefererRules = RefererRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("RefererRules") is not None: self._RefererRules = [] for item in params.get("RefererRules"): obj = RefererRule() obj._deserialize(item) self._RefererRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RefererRule(AbstractModel): """Referer 黑白名单配置规则,针对特定资源生效 """ def __init__(self): r""" :param _RuleType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 :type RuleType: str :param _RulePaths: RuleType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html :type RulePaths: list of str :param _RefererType: referer 配置类型 whitelist:白名单 blacklist:黑名单 :type RefererType: str :param _Referers: referer 内容列表 :type Referers: list of str :param _AllowEmpty: 是否允许空 referer 防盗链类型为白名单时,true表示允许空 referer,false表示不允许空 referer; 防盗链类型为黑名单时,true表示拒绝空referer,false表示不拒绝空referer; :type AllowEmpty: bool """ self._RuleType = None self._RulePaths = None self._RefererType = None self._Referers = None self._AllowEmpty = None @property def RuleType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RulePaths(self): """RuleType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test/ path 时填充绝对路径,如 /xxx/test.html :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths @property def RefererType(self): """referer 配置类型 whitelist:白名单 blacklist:黑名单 :rtype: str """ return self._RefererType @RefererType.setter def RefererType(self, RefererType): self._RefererType = RefererType @property def Referers(self): """referer 内容列表 :rtype: list of str """ return self._Referers @Referers.setter def Referers(self, Referers): self._Referers = Referers @property def AllowEmpty(self): """是否允许空 referer 防盗链类型为白名单时,true表示允许空 referer,false表示不允许空 referer; 防盗链类型为黑名单时,true表示拒绝空referer,false表示不拒绝空referer; :rtype: bool """ return self._AllowEmpty @AllowEmpty.setter def AllowEmpty(self, AllowEmpty): self._AllowEmpty = AllowEmpty def _deserialize(self, params): self._RuleType = params.get("RuleType") self._RulePaths = params.get("RulePaths") self._RefererType = params.get("RefererType") self._Referers = params.get("Referers") self._AllowEmpty = params.get("AllowEmpty") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RegionMapRelation(AbstractModel): """区域映射id和子区域id的关联信息。 """ def __init__(self): r""" :param _RegionId: 区域ID。 :type RegionId: int :param _SubRegionIdList: 子区域ID列表 :type SubRegionIdList: list of int """ self._RegionId = None self._SubRegionIdList = None @property def RegionId(self): """区域ID。 :rtype: int """ return self._RegionId @RegionId.setter def RegionId(self, RegionId): self._RegionId = RegionId @property def SubRegionIdList(self): """子区域ID列表 :rtype: list of int """ return self._SubRegionIdList @SubRegionIdList.setter def SubRegionIdList(self, SubRegionIdList): self._SubRegionIdList = SubRegionIdList def _deserialize(self, params): self._RegionId = params.get("RegionId") self._SubRegionIdList = params.get("SubRegionIdList") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RemoteAuthentication(AbstractModel): """远程鉴权规则配置,可以包含多种规则配置。 RemoteAuthenticationRules和Server 互斥,只需要配置其中一个。 若只配置Server ,RemoteAuthenticationRules中详细规则参数将采用默认参数;默认参数值见各个配置项中说明; """ def __init__(self): r""" :param _Switch: 远程鉴权配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _RemoteAuthenticationRules: 远程鉴权规则配置 注意:此字段可能返回 null,表示取不到有效值。 :type RemoteAuthenticationRules: list of RemoteAuthenticationRule :param _Server: 远程鉴权Server 注意:此字段可能返回 null,表示取不到有效值。 :type Server: str """ self._Switch = None self._RemoteAuthenticationRules = None self._Server = None @property def Switch(self): """远程鉴权配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def RemoteAuthenticationRules(self): """远程鉴权规则配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of RemoteAuthenticationRule """ return self._RemoteAuthenticationRules @RemoteAuthenticationRules.setter def RemoteAuthenticationRules(self, RemoteAuthenticationRules): self._RemoteAuthenticationRules = RemoteAuthenticationRules @property def Server(self): """远程鉴权Server 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Server @Server.setter def Server(self, Server): self._Server = Server def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("RemoteAuthenticationRules") is not None: self._RemoteAuthenticationRules = [] for item in params.get("RemoteAuthenticationRules"): obj = RemoteAuthenticationRule() obj._deserialize(item) self._RemoteAuthenticationRules.append(obj) self._Server = params.get("Server") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RemoteAuthenticationRule(AbstractModel): """远程鉴权规则。 """ def __init__(self): r""" :param _Server: 远程鉴权Server。 默认值:和上层配置的"Server"一致; :type Server: str :param _AuthMethod: 请求远程鉴权服务器的http方法;取值范围[get,post,head,all]; all: 表示"遵循终端用户请求方法" 默认值: all :type AuthMethod: str :param _RuleType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定目录生效 path:指定文件绝对路径生效 默认值:all :type RuleType: str :param _RulePaths: 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html index 时填充 / 默认值:* :type RulePaths: list of str :param _AuthTimeout: 请求远程鉴权服务器超时时间,单位毫秒; 取值范围:[1,30 000] 默认值:20000 :type AuthTimeout: int :param _AuthTimeoutAction: 请求远程鉴权服务器超时后执行拦截或者放行; RETURN_200: 超时后放行; RETURN_403:超时拦截; 默认值:RETURN_200 :type AuthTimeoutAction: str """ self._Server = None self._AuthMethod = None self._RuleType = None self._RulePaths = None self._AuthTimeout = None self._AuthTimeoutAction = None @property def Server(self): """远程鉴权Server。 默认值:和上层配置的"Server"一致; :rtype: str """ return self._Server @Server.setter def Server(self, Server): self._Server = Server @property def AuthMethod(self): """请求远程鉴权服务器的http方法;取值范围[get,post,head,all]; all: 表示"遵循终端用户请求方法" 默认值: all :rtype: str """ return self._AuthMethod @AuthMethod.setter def AuthMethod(self, AuthMethod): self._AuthMethod = AuthMethod @property def RuleType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定目录生效 path:指定文件绝对路径生效 默认值:all :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RulePaths(self): """对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html index 时填充 / 默认值:* :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths @property def AuthTimeout(self): """请求远程鉴权服务器超时时间,单位毫秒; 取值范围:[1,30 000] 默认值:20000 :rtype: int """ return self._AuthTimeout @AuthTimeout.setter def AuthTimeout(self, AuthTimeout): self._AuthTimeout = AuthTimeout @property def AuthTimeoutAction(self): """请求远程鉴权服务器超时后执行拦截或者放行; RETURN_200: 超时后放行; RETURN_403:超时拦截; 默认值:RETURN_200 :rtype: str """ return self._AuthTimeoutAction @AuthTimeoutAction.setter def AuthTimeoutAction(self, AuthTimeoutAction): self._AuthTimeoutAction = AuthTimeoutAction def _deserialize(self, params): self._Server = params.get("Server") self._AuthMethod = params.get("AuthMethod") self._RuleType = params.get("RuleType") self._RulePaths = params.get("RulePaths") self._AuthTimeout = params.get("AuthTimeout") self._AuthTimeoutAction = params.get("AuthTimeoutAction") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ReportData(AbstractModel): """CDN报表数据 """ def __init__(self): r""" :param _ResourceId: 项目ID/域名ID。 :type ResourceId: str :param _Resource: 项目名称/域名。 :type Resource: str :param _Value: 流量总和/带宽最大值,单位分别为bytes,bps。 :type Value: int :param _Percentage: 单个资源占总体百分比。 :type Percentage: float :param _BillingValue: 计费流量总和/计费带宽最大值,单位分别为bytes,bps。 :type BillingValue: int :param _BillingPercentage: 计费数值占总体百分比。 :type BillingPercentage: float """ self._ResourceId = None self._Resource = None self._Value = None self._Percentage = None self._BillingValue = None self._BillingPercentage = None @property def ResourceId(self): """项目ID/域名ID。 :rtype: str """ return self._ResourceId @ResourceId.setter def ResourceId(self, ResourceId): self._ResourceId = ResourceId @property def Resource(self): """项目名称/域名。 :rtype: str """ return self._Resource @Resource.setter def Resource(self, Resource): self._Resource = Resource @property def Value(self): """流量总和/带宽最大值,单位分别为bytes,bps。 :rtype: int """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Percentage(self): """单个资源占总体百分比。 :rtype: float """ return self._Percentage @Percentage.setter def Percentage(self, Percentage): self._Percentage = Percentage @property def BillingValue(self): """计费流量总和/计费带宽最大值,单位分别为bytes,bps。 :rtype: int """ return self._BillingValue @BillingValue.setter def BillingValue(self, BillingValue): self._BillingValue = BillingValue @property def BillingPercentage(self): """计费数值占总体百分比。 :rtype: float """ return self._BillingPercentage @BillingPercentage.setter def BillingPercentage(self, BillingPercentage): self._BillingPercentage = BillingPercentage def _deserialize(self, params): self._ResourceId = params.get("ResourceId") self._Resource = params.get("Resource") self._Value = params.get("Value") self._Percentage = params.get("Percentage") self._BillingValue = params.get("BillingValue") self._BillingPercentage = params.get("BillingPercentage") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RequestHeader(AbstractModel): """自定义请求头配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: 自定义请求头配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _HeaderRules: 自定义请求头配置规则 注意:此字段可能返回 null,表示取不到有效值。 :type HeaderRules: list of HttpHeaderPathRule """ self._Switch = None self._HeaderRules = None @property def Switch(self): """自定义请求头配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def HeaderRules(self): """自定义请求头配置规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of HttpHeaderPathRule """ return self._HeaderRules @HeaderRules.setter def HeaderRules(self, HeaderRules): self._HeaderRules = HeaderRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("HeaderRules") is not None: self._HeaderRules = [] for item in params.get("HeaderRules"): obj = HttpHeaderPathRule() obj._deserialize(item) self._HeaderRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ResourceBillingData(AbstractModel): """计费数据明细 """ def __init__(self): r""" :param _Resource: 资源名称,根据查询条件不同分为以下几类: 某一个具体域名:表示该域名明细数据 multiDomains:表示多域名汇总明细数据 某一个项目 ID:指定项目查询时,显示为项目 ID all:账号维度数据明细 :type Resource: str :param _BillingData: 计费数据详情 :type BillingData: list of CdnData """ self._Resource = None self._BillingData = None @property def Resource(self): """资源名称,根据查询条件不同分为以下几类: 某一个具体域名:表示该域名明细数据 multiDomains:表示多域名汇总明细数据 某一个项目 ID:指定项目查询时,显示为项目 ID all:账号维度数据明细 :rtype: str """ return self._Resource @Resource.setter def Resource(self, Resource): self._Resource = Resource @property def BillingData(self): """计费数据详情 :rtype: list of CdnData """ return self._BillingData @BillingData.setter def BillingData(self, BillingData): self._BillingData = BillingData def _deserialize(self, params): self._Resource = params.get("Resource") if params.get("BillingData") is not None: self._BillingData = [] for item in params.get("BillingData"): obj = CdnData() obj._deserialize(item) self._BillingData.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ResourceData(AbstractModel): """查询对象及其对应的访问明细数据 """ def __init__(self): r""" :param _Resource: 资源名称,根据查询条件不同分为以下几类: 单域名:指定单域名查询,表示该域名明细数据,当传入参数 detail 指定为 true 时,显示该域名( detail 参数默认为 false ) 多域名:指定多个域名查询,表示多域名汇总明细数据,显示 multiDomains 项目 ID:指定项目查询时,表示该项目下的域名汇总明细数据,显示该项目 ID all:账号维度明细数据,即账号下所有域名的汇总明细数据 :type Resource: str :param _CdnData: 资源对应的数据明细 :type CdnData: list of CdnData """ self._Resource = None self._CdnData = None @property def Resource(self): """资源名称,根据查询条件不同分为以下几类: 单域名:指定单域名查询,表示该域名明细数据,当传入参数 detail 指定为 true 时,显示该域名( detail 参数默认为 false ) 多域名:指定多个域名查询,表示多域名汇总明细数据,显示 multiDomains 项目 ID:指定项目查询时,表示该项目下的域名汇总明细数据,显示该项目 ID all:账号维度明细数据,即账号下所有域名的汇总明细数据 :rtype: str """ return self._Resource @Resource.setter def Resource(self, Resource): self._Resource = Resource @property def CdnData(self): """资源对应的数据明细 :rtype: list of CdnData """ return self._CdnData @CdnData.setter def CdnData(self, CdnData): self._CdnData = CdnData def _deserialize(self, params): self._Resource = params.get("Resource") if params.get("CdnData") is not None: self._CdnData = [] for item in params.get("CdnData"): obj = CdnData() obj._deserialize(item) self._CdnData.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ResourceOriginData(AbstractModel): """查询对象及其对应的回源明细数据 """ def __init__(self): r""" :param _Resource: 资源名称,根据查询条件不同分为以下几类: 具体域名:表示该域名明细数据 multiDomains:表示多域名汇总明细数据 项目 ID:指定项目查询时,显示为项目 ID all:账号维度明细数据 :type Resource: str :param _OriginData: 回源数据详情 :type OriginData: list of CdnData """ self._Resource = None self._OriginData = None @property def Resource(self): """资源名称,根据查询条件不同分为以下几类: 具体域名:表示该域名明细数据 multiDomains:表示多域名汇总明细数据 项目 ID:指定项目查询时,显示为项目 ID all:账号维度明细数据 :rtype: str """ return self._Resource @Resource.setter def Resource(self, Resource): self._Resource = Resource @property def OriginData(self): """回源数据详情 :rtype: list of CdnData """ return self._OriginData @OriginData.setter def OriginData(self, OriginData): self._OriginData = OriginData def _deserialize(self, params): self._Resource = params.get("Resource") if params.get("OriginData") is not None: self._OriginData = [] for item in params.get("OriginData"): obj = CdnData() obj._deserialize(item) self._OriginData.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ResponseHeader(AbstractModel): """自定义响应头配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: 自定义响应头配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _HeaderRules: 自定义响应头规则 注意:此字段可能返回 null,表示取不到有效值。 :type HeaderRules: list of HttpHeaderPathRule """ self._Switch = None self._HeaderRules = None @property def Switch(self): """自定义响应头配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def HeaderRules(self): """自定义响应头规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of HttpHeaderPathRule """ return self._HeaderRules @HeaderRules.setter def HeaderRules(self, HeaderRules): self._HeaderRules = HeaderRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("HeaderRules") is not None: self._HeaderRules = [] for item in params.get("HeaderRules"): obj = HttpHeaderPathRule() obj._deserialize(item) self._HeaderRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ResponseHeaderCache(AbstractModel): """源站头部缓存配置,默认为开启状态,缓存所有头部信息 """ def __init__(self): r""" :param _Switch: 源站头部缓存配置开关,取值有: on:开启 off:关闭 :type Switch: str """ self._Switch = None @property def Switch(self): """源站头部缓存配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Revalidate(AbstractModel): """是否回源站校验 """ def __init__(self): r""" :param _Switch: 总是回源校验配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _Path: 只在特定请求路径回源站校验 注意:此字段可能返回 null,表示取不到有效值。 :type Path: str """ self._Switch = None self._Path = None @property def Switch(self): """总是回源校验配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Path(self): """只在特定请求路径回源站校验 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Path @Path.setter def Path(self, Path): self._Path = Path def _deserialize(self, params): self._Switch = params.get("Switch") self._Path = params.get("Path") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RuleCache(AbstractModel): """缓存配置分路径版本。 默认情况下所有文件缓存过期时间为 30 天 默认情况下静态加速类型的域名 .php;.jsp;.asp;.aspx 不缓存 """ def __init__(self): r""" :param _RulePaths: CacheType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html index 时填充 / 注意:此字段可能返回 null,表示取不到有效值。 :type RulePaths: list of str :param _RuleType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index:首页 注意:此字段可能返回 null,表示取不到有效值。 :type RuleType: str :param _CacheConfig: 缓存配置。 注意:此字段可能返回 null,表示取不到有效值。 :type CacheConfig: :class:`tencentcloud.cdn.v20180606.models.RuleCacheConfig` """ self._RulePaths = None self._RuleType = None self._CacheConfig = None @property def RulePaths(self): """CacheType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html index 时填充 / 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths @property def RuleType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index:首页 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def CacheConfig(self): """缓存配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.RuleCacheConfig` """ return self._CacheConfig @CacheConfig.setter def CacheConfig(self, CacheConfig): self._CacheConfig = CacheConfig def _deserialize(self, params): self._RulePaths = params.get("RulePaths") self._RuleType = params.get("RuleType") if params.get("CacheConfig") is not None: self._CacheConfig = RuleCacheConfig() self._CacheConfig._deserialize(params.get("CacheConfig")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RuleCacheConfig(AbstractModel): """路径缓存缓存配置(三种缓存模式中选取一种) """ def __init__(self): r""" :param _Cache: 缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :type Cache: :class:`tencentcloud.cdn.v20180606.models.CacheConfigCache` :param _NoCache: 不缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :type NoCache: :class:`tencentcloud.cdn.v20180606.models.CacheConfigNoCache` :param _FollowOrigin: 遵循源站配置 注意:此字段可能返回 null,表示取不到有效值。 :type FollowOrigin: :class:`tencentcloud.cdn.v20180606.models.CacheConfigFollowOrigin` """ self._Cache = None self._NoCache = None self._FollowOrigin = None @property def Cache(self): """缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheConfigCache` """ return self._Cache @Cache.setter def Cache(self, Cache): self._Cache = Cache @property def NoCache(self): """不缓存配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheConfigNoCache` """ return self._NoCache @NoCache.setter def NoCache(self, NoCache): self._NoCache = NoCache @property def FollowOrigin(self): """遵循源站配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheConfigFollowOrigin` """ return self._FollowOrigin @FollowOrigin.setter def FollowOrigin(self, FollowOrigin): self._FollowOrigin = FollowOrigin def _deserialize(self, params): if params.get("Cache") is not None: self._Cache = CacheConfigCache() self._Cache._deserialize(params.get("Cache")) if params.get("NoCache") is not None: self._NoCache = CacheConfigNoCache() self._NoCache._deserialize(params.get("NoCache")) if params.get("FollowOrigin") is not None: self._FollowOrigin = CacheConfigFollowOrigin() self._FollowOrigin._deserialize(params.get("FollowOrigin")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RuleEngine(AbstractModel): """规则引擎配置 """ def __init__(self): r""" :param _Switch: 规则引擎配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _Content: 规则 注意:此字段可能返回 null,表示取不到有效值。 :type Content: str """ self._Switch = None self._Content = None @property def Switch(self): """规则引擎配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Content(self): """规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Content @Content.setter def Content(self, Content): self._Content = Content def _deserialize(self, params): self._Switch = params.get("Switch") self._Content = params.get("Content") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RuleQueryString(AbstractModel): """路径保留参数配置 """ def __init__(self): r""" :param _Switch: 路径保留参数配置开关,取值有: on:开启,CacheKey由QueryString组成 off:关闭,CacheKey不由QueryString组成 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _Action: includeCustom 包含部分url参数 注意:此字段可能返回 null,表示取不到有效值。 :type Action: str :param _Value: 使用/排除的url参数数组,';' 分割 注意:此字段可能返回 null,表示取不到有效值。 :type Value: str """ self._Switch = None self._Action = None self._Value = None @property def Switch(self): """路径保留参数配置开关,取值有: on:开启,CacheKey由QueryString组成 off:关闭,CacheKey不由QueryString组成 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Action(self): """includeCustom 包含部分url参数 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Action @Action.setter def Action(self, Action): self._Action = Action @property def Value(self): """使用/排除的url参数数组,';' 分割 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Switch = params.get("Switch") self._Action = params.get("Action") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnAclConfig(AbstractModel): """SCDN访问控制 """ def __init__(self): r""" :param _Switch: SCDN访问控制配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _ScriptData: 新版本请使用AdvancedScriptData 注意:此字段可能返回 null,表示取不到有效值。 :type ScriptData: list of ScdnAclGroup :param _ErrorPage: 错误页面配置 注意:此字段可能返回 null,表示取不到有效值。 :type ErrorPage: :class:`tencentcloud.cdn.v20180606.models.ScdnErrorPage` :param _AdvancedScriptData: Acl规则组,switch为on时必填 注意:此字段可能返回 null,表示取不到有效值。 :type AdvancedScriptData: list of AdvancedScdnAclGroup """ self._Switch = None self._ScriptData = None self._ErrorPage = None self._AdvancedScriptData = None @property def Switch(self): """SCDN访问控制配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def ScriptData(self): """新版本请使用AdvancedScriptData 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ScdnAclGroup """ return self._ScriptData @ScriptData.setter def ScriptData(self, ScriptData): self._ScriptData = ScriptData @property def ErrorPage(self): """错误页面配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnErrorPage` """ return self._ErrorPage @ErrorPage.setter def ErrorPage(self, ErrorPage): self._ErrorPage = ErrorPage @property def AdvancedScriptData(self): """Acl规则组,switch为on时必填 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of AdvancedScdnAclGroup """ return self._AdvancedScriptData @AdvancedScriptData.setter def AdvancedScriptData(self, AdvancedScriptData): self._AdvancedScriptData = AdvancedScriptData def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("ScriptData") is not None: self._ScriptData = [] for item in params.get("ScriptData"): obj = ScdnAclGroup() obj._deserialize(item) self._ScriptData.append(obj) if params.get("ErrorPage") is not None: self._ErrorPage = ScdnErrorPage() self._ErrorPage._deserialize(params.get("ErrorPage")) if params.get("AdvancedScriptData") is not None: self._AdvancedScriptData = [] for item in params.get("AdvancedScriptData"): obj = AdvancedScdnAclGroup() obj._deserialize(item) self._AdvancedScriptData.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnAclGroup(AbstractModel): """SCDN精准访问控制配置 """ def __init__(self): r""" :param _RuleName: 规则名称 :type RuleName: str :param _Configure: 具体配置 :type Configure: list of ScdnAclRule :param _Result: 执行动作,intercept|redirect :type Result: str :param _Status: 规则是否生效,active|inactive :type Status: str :param _ErrorPage: 错误页面配置 注意:此字段可能返回 null,表示取不到有效值。 :type ErrorPage: :class:`tencentcloud.cdn.v20180606.models.ScdnErrorPage` """ self._RuleName = None self._Configure = None self._Result = None self._Status = None self._ErrorPage = None @property def RuleName(self): """规则名称 :rtype: str """ return self._RuleName @RuleName.setter def RuleName(self, RuleName): self._RuleName = RuleName @property def Configure(self): """具体配置 :rtype: list of ScdnAclRule """ return self._Configure @Configure.setter def Configure(self, Configure): self._Configure = Configure @property def Result(self): """执行动作,intercept|redirect :rtype: str """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def Status(self): """规则是否生效,active|inactive :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def ErrorPage(self): """错误页面配置 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnErrorPage` """ return self._ErrorPage @ErrorPage.setter def ErrorPage(self, ErrorPage): self._ErrorPage = ErrorPage def _deserialize(self, params): self._RuleName = params.get("RuleName") if params.get("Configure") is not None: self._Configure = [] for item in params.get("Configure"): obj = ScdnAclRule() obj._deserialize(item) self._Configure.append(obj) self._Result = params.get("Result") self._Status = params.get("Status") if params.get("ErrorPage") is not None: self._ErrorPage = ScdnErrorPage() self._ErrorPage._deserialize(params.get("ErrorPage")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnAclRule(AbstractModel): """精准访问控制匹配规则 """ def __init__(self): r""" :param _MatchKey: 匹配关键字 :type MatchKey: str :param _LogiOperator: 逻辑操作符,取值如下 :type LogiOperator: str :param _MatchValue: 匹配值。 :type MatchValue: str """ self._MatchKey = None self._LogiOperator = None self._MatchValue = None @property def MatchKey(self): """匹配关键字 :rtype: str """ return self._MatchKey @MatchKey.setter def MatchKey(self, MatchKey): self._MatchKey = MatchKey @property def LogiOperator(self): """逻辑操作符,取值如下 :rtype: str """ return self._LogiOperator @LogiOperator.setter def LogiOperator(self, LogiOperator): self._LogiOperator = LogiOperator @property def MatchValue(self): """匹配值。 :rtype: str """ return self._MatchValue @MatchValue.setter def MatchValue(self, MatchValue): self._MatchValue = MatchValue def _deserialize(self, params): self._MatchKey = params.get("MatchKey") self._LogiOperator = params.get("LogiOperator") self._MatchValue = params.get("MatchValue") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnBotConfig(AbstractModel): """bot配置类型 """ def __init__(self): r""" :param _Switch: Scdn bot配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _BotCookie: Bot cookie策略 注意:此字段可能返回 null,表示取不到有效值。 :type BotCookie: list of BotCookie :param _BotJavaScript: Bot Js策略 注意:此字段可能返回 null,表示取不到有效值。 :type BotJavaScript: list of BotJavaScript """ self._Switch = None self._BotCookie = None self._BotJavaScript = None @property def Switch(self): """Scdn bot配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def BotCookie(self): """Bot cookie策略 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of BotCookie """ return self._BotCookie @BotCookie.setter def BotCookie(self, BotCookie): self._BotCookie = BotCookie @property def BotJavaScript(self): """Bot Js策略 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of BotJavaScript """ return self._BotJavaScript @BotJavaScript.setter def BotJavaScript(self, BotJavaScript): self._BotJavaScript = BotJavaScript def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("BotCookie") is not None: self._BotCookie = [] for item in params.get("BotCookie"): obj = BotCookie() obj._deserialize(item) self._BotCookie.append(obj) if params.get("BotJavaScript") is not None: self._BotJavaScript = [] for item in params.get("BotJavaScript"): obj = BotJavaScript() obj._deserialize(item) self._BotJavaScript.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnCCRules(AbstractModel): """scdn 的自定义 cc 规则 """ def __init__(self): r""" :param _RuleType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index:首页 :type RuleType: str :param _RuleValue: 规则值 :type RuleValue: list of str :param _Qps: 规则限频 :type Qps: int :param _DetectionTime: 探测时长 注意:此字段可能返回 null,表示取不到有效值。 :type DetectionTime: int :param _FrequencyLimit: 限频阈值 注意:此字段可能返回 null,表示取不到有效值。 :type FrequencyLimit: int :param _PunishmentSwitch: IP 惩罚配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type PunishmentSwitch: str :param _PunishmentTime: IP 惩罚时长 注意:此字段可能返回 null,表示取不到有效值。 :type PunishmentTime: int :param _Action: 执行动作,intercept|redirect 注意:此字段可能返回 null,表示取不到有效值。 :type Action: str :param _RedirectUrl: 动作为 redirect 时,重定向的url 注意:此字段可能返回 null,表示取不到有效值。 :type RedirectUrl: str """ self._RuleType = None self._RuleValue = None self._Qps = None self._DetectionTime = None self._FrequencyLimit = None self._PunishmentSwitch = None self._PunishmentTime = None self._Action = None self._RedirectUrl = None @property def RuleType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index:首页 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RuleValue(self): """规则值 :rtype: list of str """ return self._RuleValue @RuleValue.setter def RuleValue(self, RuleValue): self._RuleValue = RuleValue @property def Qps(self): """规则限频 :rtype: int """ return self._Qps @Qps.setter def Qps(self, Qps): self._Qps = Qps @property def DetectionTime(self): """探测时长 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._DetectionTime @DetectionTime.setter def DetectionTime(self, DetectionTime): self._DetectionTime = DetectionTime @property def FrequencyLimit(self): """限频阈值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._FrequencyLimit @FrequencyLimit.setter def FrequencyLimit(self, FrequencyLimit): self._FrequencyLimit = FrequencyLimit @property def PunishmentSwitch(self): """IP 惩罚配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._PunishmentSwitch @PunishmentSwitch.setter def PunishmentSwitch(self, PunishmentSwitch): self._PunishmentSwitch = PunishmentSwitch @property def PunishmentTime(self): """IP 惩罚时长 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._PunishmentTime @PunishmentTime.setter def PunishmentTime(self, PunishmentTime): self._PunishmentTime = PunishmentTime @property def Action(self): """执行动作,intercept|redirect 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Action @Action.setter def Action(self, Action): self._Action = Action @property def RedirectUrl(self): """动作为 redirect 时,重定向的url 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RedirectUrl @RedirectUrl.setter def RedirectUrl(self, RedirectUrl): self._RedirectUrl = RedirectUrl def _deserialize(self, params): self._RuleType = params.get("RuleType") self._RuleValue = params.get("RuleValue") self._Qps = params.get("Qps") self._DetectionTime = params.get("DetectionTime") self._FrequencyLimit = params.get("FrequencyLimit") self._PunishmentSwitch = params.get("PunishmentSwitch") self._PunishmentTime = params.get("PunishmentTime") self._Action = params.get("Action") self._RedirectUrl = params.get("RedirectUrl") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnConfig(AbstractModel): """cc的配置类型 """ def __init__(self): r""" :param _Switch: scdn cc配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _Rules: 自定义 cc 防护规则 注意:此字段可能返回 null,表示取不到有效值。 :type Rules: list of ScdnCCRules :param _AdvancedRules: 增强自定义 cc 防护规则 注意:此字段可能返回 null,表示取不到有效值。 :type AdvancedRules: list of AdvancedCCRules :param _GlobalAdvancedRules: 增强自定义 cc 防护规则, 全局 注意:此字段可能返回 null,表示取不到有效值。 :type GlobalAdvancedRules: list of AdvancedCCRules """ self._Switch = None self._Rules = None self._AdvancedRules = None self._GlobalAdvancedRules = None @property def Switch(self): """scdn cc配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Rules(self): """自定义 cc 防护规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ScdnCCRules """ return self._Rules @Rules.setter def Rules(self, Rules): self._Rules = Rules @property def AdvancedRules(self): """增强自定义 cc 防护规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of AdvancedCCRules """ return self._AdvancedRules @AdvancedRules.setter def AdvancedRules(self, AdvancedRules): self._AdvancedRules = AdvancedRules @property def GlobalAdvancedRules(self): """增强自定义 cc 防护规则, 全局 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of AdvancedCCRules """ return self._GlobalAdvancedRules @GlobalAdvancedRules.setter def GlobalAdvancedRules(self, GlobalAdvancedRules): self._GlobalAdvancedRules = GlobalAdvancedRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("Rules") is not None: self._Rules = [] for item in params.get("Rules"): obj = ScdnCCRules() obj._deserialize(item) self._Rules.append(obj) if params.get("AdvancedRules") is not None: self._AdvancedRules = [] for item in params.get("AdvancedRules"): obj = AdvancedCCRules() obj._deserialize(item) self._AdvancedRules.append(obj) if params.get("GlobalAdvancedRules") is not None: self._GlobalAdvancedRules = [] for item in params.get("GlobalAdvancedRules"): obj = AdvancedCCRules() obj._deserialize(item) self._GlobalAdvancedRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnDdosConfig(AbstractModel): """ddos配置类型 """ def __init__(self): r""" :param _Switch: Scdn ddos配置开关,取值有: on:开启 off:关闭 :type Switch: str """ self._Switch = None @property def Switch(self): """Scdn ddos配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnDomain(AbstractModel): """聚合了SCDN域名的基本信息 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _Status: 当前状态,取值online | offline | process :type Status: str :param _Waf: Waf 状态默认为‘/’,取值 close | intercept | observe :type Waf: str :param _Acl: Acl 状态默认为‘/’,取值 close | open :type Acl: str :param _CC: CC 状态默认为‘/’,取值 close | open :type CC: str :param _Ddos: Ddos 状态默认为‘/’,取值 close | open :type Ddos: str :param _ProjectId: 项目ID :type ProjectId: str :param _AclRuleNumbers: Acl 规则数 :type AclRuleNumbers: int :param _Bot: Bot 状态默认为‘/’,取值 close | open :type Bot: str :param _Area: 域名加速区域,取值global | mainland | overseas 注意:此字段可能返回 null,表示取不到有效值。 :type Area: str :param _WafLevel: waf规则等级,可取100|200|300 注意:此字段可能返回 null,表示取不到有效值。 :type WafLevel: int """ self._Domain = None self._Status = None self._Waf = None self._Acl = None self._CC = None self._Ddos = None self._ProjectId = None self._AclRuleNumbers = None self._Bot = None self._Area = None self._WafLevel = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Status(self): """当前状态,取值online | offline | process :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def Waf(self): """Waf 状态默认为‘/’,取值 close | intercept | observe :rtype: str """ return self._Waf @Waf.setter def Waf(self, Waf): self._Waf = Waf @property def Acl(self): """Acl 状态默认为‘/’,取值 close | open :rtype: str """ return self._Acl @Acl.setter def Acl(self, Acl): self._Acl = Acl @property def CC(self): """CC 状态默认为‘/’,取值 close | open :rtype: str """ return self._CC @CC.setter def CC(self, CC): self._CC = CC @property def Ddos(self): """Ddos 状态默认为‘/’,取值 close | open :rtype: str """ return self._Ddos @Ddos.setter def Ddos(self, Ddos): self._Ddos = Ddos @property def ProjectId(self): """项目ID :rtype: str """ return self._ProjectId @ProjectId.setter def ProjectId(self, ProjectId): self._ProjectId = ProjectId @property def AclRuleNumbers(self): """Acl 规则数 :rtype: int """ return self._AclRuleNumbers @AclRuleNumbers.setter def AclRuleNumbers(self, AclRuleNumbers): self._AclRuleNumbers = AclRuleNumbers @property def Bot(self): """Bot 状态默认为‘/’,取值 close | open :rtype: str """ return self._Bot @Bot.setter def Bot(self, Bot): self._Bot = Bot @property def Area(self): """域名加速区域,取值global | mainland | overseas 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def WafLevel(self): """waf规则等级,可取100|200|300 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._WafLevel @WafLevel.setter def WafLevel(self, WafLevel): self._WafLevel = WafLevel def _deserialize(self, params): self._Domain = params.get("Domain") self._Status = params.get("Status") self._Waf = params.get("Waf") self._Acl = params.get("Acl") self._CC = params.get("CC") self._Ddos = params.get("Ddos") self._ProjectId = params.get("ProjectId") self._AclRuleNumbers = params.get("AclRuleNumbers") self._Bot = params.get("Bot") self._Area = params.get("Area") self._WafLevel = params.get("WafLevel") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnErrorPage(AbstractModel): """acl的错误页面 """ def __init__(self): r""" :param _RedirectCode: 状态码 执行动作为:intercept 默认传值 403 执行动作为:redirect 默认传值 301 :type RedirectCode: int :param _RedirectUrl: 重定向url :type RedirectUrl: str """ self._RedirectCode = None self._RedirectUrl = None @property def RedirectCode(self): """状态码 执行动作为:intercept 默认传值 403 执行动作为:redirect 默认传值 301 :rtype: int """ return self._RedirectCode @RedirectCode.setter def RedirectCode(self, RedirectCode): self._RedirectCode = RedirectCode @property def RedirectUrl(self): """重定向url :rtype: str """ return self._RedirectUrl @RedirectUrl.setter def RedirectUrl(self, RedirectUrl): self._RedirectUrl = RedirectUrl def _deserialize(self, params): self._RedirectCode = params.get("RedirectCode") self._RedirectUrl = params.get("RedirectUrl") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnEventLogConditions(AbstractModel): """SCDN 事件日志查询条件 """ def __init__(self): r""" :param _Key: 匹配关键字,ip, attack_location :type Key: str :param _Operator: 逻辑操作符,取值 exclude, include :type Operator: str :param _Value: 匹配值,允许使用通配符(*)查询,匹配零个、单个、多个字符,例如 1.2.* :type Value: str """ self._Key = None self._Operator = None self._Value = None @property def Key(self): """匹配关键字,ip, attack_location :rtype: str """ return self._Key @Key.setter def Key(self, Key): self._Key = Key @property def Operator(self): """逻辑操作符,取值 exclude, include :rtype: str """ return self._Operator @Operator.setter def Operator(self, Operator): self._Operator = Operator @property def Value(self): """匹配值,允许使用通配符(*)查询,匹配零个、单个、多个字符,例如 1.2.* :rtype: str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Key = params.get("Key") self._Operator = params.get("Operator") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnIpStrategy(AbstractModel): """scdn的IP白名单策略 """ def __init__(self): r""" :param _Domain: 域名|global表示全部域名 :type Domain: str :param _StrategyId: 策略ID :type StrategyId: str :param _IpList: IP白名单列表 :type IpList: list of str :param _UpdateTime: 更新时间 :type UpdateTime: str :param _Remark: 备注 :type Remark: str :param _RuleType: 规则类型 注意:此字段可能返回 null,表示取不到有效值。 :type RuleType: str :param _RuleValue: 规则值 注意:此字段可能返回 null,表示取不到有效值。 :type RuleValue: list of str """ self._Domain = None self._StrategyId = None self._IpList = None self._UpdateTime = None self._Remark = None self._RuleType = None self._RuleValue = None @property def Domain(self): """域名|global表示全部域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def StrategyId(self): """策略ID :rtype: str """ return self._StrategyId @StrategyId.setter def StrategyId(self, StrategyId): self._StrategyId = StrategyId @property def IpList(self): """IP白名单列表 :rtype: list of str """ return self._IpList @IpList.setter def IpList(self, IpList): self._IpList = IpList @property def UpdateTime(self): """更新时间 :rtype: str """ return self._UpdateTime @UpdateTime.setter def UpdateTime(self, UpdateTime): self._UpdateTime = UpdateTime @property def Remark(self): """备注 :rtype: str """ return self._Remark @Remark.setter def Remark(self, Remark): self._Remark = Remark @property def RuleType(self): """规则类型 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RuleValue(self): """规则值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._RuleValue @RuleValue.setter def RuleValue(self, RuleValue): self._RuleValue = RuleValue def _deserialize(self, params): self._Domain = params.get("Domain") self._StrategyId = params.get("StrategyId") self._IpList = params.get("IpList") self._UpdateTime = params.get("UpdateTime") self._Remark = params.get("Remark") self._RuleType = params.get("RuleType") self._RuleValue = params.get("RuleValue") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnIpStrategyFilter(AbstractModel): """IP策略查询过滤参数 """ def __init__(self): r""" :param _Name: 过滤字段名,支持domain, ip :type Name: str :param _Value: 过滤字段值 :type Value: list of str :param _Fuzzy: 是否启用模糊查询,仅支持过滤字段名为domain。 模糊查询时,Value长度最大为1 :type Fuzzy: bool """ self._Name = None self._Value = None self._Fuzzy = None @property def Name(self): """过滤字段名,支持domain, ip :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def Value(self): """过滤字段值 :rtype: list of str """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Fuzzy(self): """是否启用模糊查询,仅支持过滤字段名为domain。 模糊查询时,Value长度最大为1 :rtype: bool """ return self._Fuzzy @Fuzzy.setter def Fuzzy(self, Fuzzy): self._Fuzzy = Fuzzy def _deserialize(self, params): self._Name = params.get("Name") self._Value = params.get("Value") self._Fuzzy = params.get("Fuzzy") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnLogTaskDetail(AbstractModel): """SCDN日志事件详细信息 """ def __init__(self): r""" :param _Domain: scdn域名 :type Domain: str :param _Mode: 防护类型 :type Mode: str :param _StartTime: 查询任务开始时间 :type StartTime: str :param _EndTime: 查询任务结束时间 :type EndTime: str :param _CreateTime: 任务创建时间 :type CreateTime: str :param _DownloadUrl: 日志包下载链接 成功返回下载链接,其他情况返回'-' 注意:此字段可能返回 null,表示取不到有效值。 :type DownloadUrl: str :param _Status: 任务状态 created->任务已经创建 processing->任务正在执行 done->任务执行成功 failed->任务执行失败 no-log->没有日志产生 :type Status: str :param _TaskID: 日志任务唯一id :type TaskID: str :param _AttackType: 攻击类型, 可以为"all" AttackType映射如下: other = '未知类型' malicious_scan = "恶意扫描" sql_inject = "SQL注入攻击" xss = "XSS攻击" cmd_inject = "命令注入攻击" ldap_inject = "LDAP注入攻击" ssi_inject = "SSI注入攻击" xml_inject = "XML注入攻击" web_service = "WEB服务漏洞攻击" web_app = "WEB应用漏洞攻击" path_traversal = "路径跨越攻击" illegal_access_core_file = "核心文件非法访问" file_upload = "文件上传攻击" trojan_horse = "木马后门攻击" csrf = "CSRF攻击" custom_policy = "自定义策略" ai_engine= 'AI引擎检出' malicious_file_upload= '恶意文件上传' :type AttackType: str :param _DefenceMode: 防御模式,可以为"all" DefenceMode映射如下: observe = '观察模式' intercept = '防御模式' :type DefenceMode: str :param _Conditions: 查询条件 注意:此字段可能返回 null,表示取不到有效值。 :type Conditions: list of ScdnEventLogConditions :param _Area: mainland或overseas 注意:此字段可能返回 null,表示取不到有效值。 :type Area: str """ self._Domain = None self._Mode = None self._StartTime = None self._EndTime = None self._CreateTime = None self._DownloadUrl = None self._Status = None self._TaskID = None self._AttackType = None self._DefenceMode = None self._Conditions = None self._Area = None @property def Domain(self): """scdn域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Mode(self): """防护类型 :rtype: str """ return self._Mode @Mode.setter def Mode(self, Mode): self._Mode = Mode @property def StartTime(self): """查询任务开始时间 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询任务结束时间 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def CreateTime(self): """任务创建时间 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def DownloadUrl(self): """日志包下载链接 成功返回下载链接,其他情况返回'-' 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._DownloadUrl @DownloadUrl.setter def DownloadUrl(self, DownloadUrl): self._DownloadUrl = DownloadUrl @property def Status(self): """任务状态 created->任务已经创建 processing->任务正在执行 done->任务执行成功 failed->任务执行失败 no-log->没有日志产生 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def TaskID(self): """日志任务唯一id :rtype: str """ return self._TaskID @TaskID.setter def TaskID(self, TaskID): self._TaskID = TaskID @property def AttackType(self): """攻击类型, 可以为"all" AttackType映射如下: other = '未知类型' malicious_scan = "恶意扫描" sql_inject = "SQL注入攻击" xss = "XSS攻击" cmd_inject = "命令注入攻击" ldap_inject = "LDAP注入攻击" ssi_inject = "SSI注入攻击" xml_inject = "XML注入攻击" web_service = "WEB服务漏洞攻击" web_app = "WEB应用漏洞攻击" path_traversal = "路径跨越攻击" illegal_access_core_file = "核心文件非法访问" file_upload = "文件上传攻击" trojan_horse = "木马后门攻击" csrf = "CSRF攻击" custom_policy = "自定义策略" ai_engine= 'AI引擎检出' malicious_file_upload= '恶意文件上传' :rtype: str """ return self._AttackType @AttackType.setter def AttackType(self, AttackType): self._AttackType = AttackType @property def DefenceMode(self): """防御模式,可以为"all" DefenceMode映射如下: observe = '观察模式' intercept = '防御模式' :rtype: str """ return self._DefenceMode @DefenceMode.setter def DefenceMode(self, DefenceMode): self._DefenceMode = DefenceMode @property def Conditions(self): """查询条件 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ScdnEventLogConditions """ return self._Conditions @Conditions.setter def Conditions(self, Conditions): self._Conditions = Conditions @property def Area(self): """mainland或overseas 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area def _deserialize(self, params): self._Domain = params.get("Domain") self._Mode = params.get("Mode") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._CreateTime = params.get("CreateTime") self._DownloadUrl = params.get("DownloadUrl") self._Status = params.get("Status") self._TaskID = params.get("TaskID") self._AttackType = params.get("AttackType") self._DefenceMode = params.get("DefenceMode") if params.get("Conditions") is not None: self._Conditions = [] for item in params.get("Conditions"): obj = ScdnEventLogConditions() obj._deserialize(item) self._Conditions.append(obj) self._Area = params.get("Area") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnSevenLayerRules(AbstractModel): """Scdn的七层限频配置 """ def __init__(self): r""" :param _CaseSensitive: 区分大小写 :type CaseSensitive: bool :param _RuleType: 规则类型: protocol:协议,填写 HTTP/HTTPS method:请求方法,支持 HEAD、GET、POST、PUT、OPTIONS、TRACE、DELETE、PATCH、CONNECT all:域名 匹配内容固定为"*",不可编辑修改 ip:IP 填写 CIDR 表达式 directory:路径,以/开头,支持目录和具体路径,128字符以内 index:首页 默认固定值:/;/index.html,不可编辑修改 path:文件全路径,资源地址,如/acb/test.png,支持通配符,如/abc/*.jpg file:文件扩展名,填写具体扩展名,如 jpg;png;css param:请求参数,填写具体 value 值,512字符以内 referer:Referer,填写具体 value 值,512字符以内 cookie:Cookie,填写具体 value 值,512字符以内 user-agent:User-Agent,填写具体 value 值,512字符以内 head:自定义请求头,填写具体value值,512字符以内;内容为空或者不存在时,无匹配内容输入框,填写匹配参数即可 :type RuleType: str :param _LogicOperator: 逻辑操作符,取值 : 不包含:exclude, 包含:include, 不等于:notequal, 等于:equal, 前缀匹配:matching 内容为空或不存在:null :type LogicOperator: str :param _RuleValue: 规则值 注意:此字段可能返回 null,表示取不到有效值。 :type RuleValue: list of str :param _RuleParam: 匹配参数,只有请求参数、Cookie、自定义请求头 有值 注意:此字段可能返回 null,表示取不到有效值。 :type RuleParam: str """ self._CaseSensitive = None self._RuleType = None self._LogicOperator = None self._RuleValue = None self._RuleParam = None @property def CaseSensitive(self): """区分大小写 :rtype: bool """ return self._CaseSensitive @CaseSensitive.setter def CaseSensitive(self, CaseSensitive): self._CaseSensitive = CaseSensitive @property def RuleType(self): """规则类型: protocol:协议,填写 HTTP/HTTPS method:请求方法,支持 HEAD、GET、POST、PUT、OPTIONS、TRACE、DELETE、PATCH、CONNECT all:域名 匹配内容固定为"*",不可编辑修改 ip:IP 填写 CIDR 表达式 directory:路径,以/开头,支持目录和具体路径,128字符以内 index:首页 默认固定值:/;/index.html,不可编辑修改 path:文件全路径,资源地址,如/acb/test.png,支持通配符,如/abc/*.jpg file:文件扩展名,填写具体扩展名,如 jpg;png;css param:请求参数,填写具体 value 值,512字符以内 referer:Referer,填写具体 value 值,512字符以内 cookie:Cookie,填写具体 value 值,512字符以内 user-agent:User-Agent,填写具体 value 值,512字符以内 head:自定义请求头,填写具体value值,512字符以内;内容为空或者不存在时,无匹配内容输入框,填写匹配参数即可 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def LogicOperator(self): """逻辑操作符,取值 : 不包含:exclude, 包含:include, 不等于:notequal, 等于:equal, 前缀匹配:matching 内容为空或不存在:null :rtype: str """ return self._LogicOperator @LogicOperator.setter def LogicOperator(self, LogicOperator): self._LogicOperator = LogicOperator @property def RuleValue(self): """规则值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._RuleValue @RuleValue.setter def RuleValue(self, RuleValue): self._RuleValue = RuleValue @property def RuleParam(self): """匹配参数,只有请求参数、Cookie、自定义请求头 有值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleParam @RuleParam.setter def RuleParam(self, RuleParam): self._RuleParam = RuleParam def _deserialize(self, params): self._CaseSensitive = params.get("CaseSensitive") self._RuleType = params.get("RuleType") self._LogicOperator = params.get("LogicOperator") self._RuleValue = params.get("RuleValue") self._RuleParam = params.get("RuleParam") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnTopData(AbstractModel): """SCDN攻击数据Top展示 """ def __init__(self): r""" :param _Time: 时间 :type Time: str :param _Value: 数值 :type Value: int :param _Isp: 运营商 :type Isp: str :param _Ip: IP地址 :type Ip: str :param _District: 区域 :type District: str """ self._Time = None self._Value = None self._Isp = None self._Ip = None self._District = None @property def Time(self): """时间 :rtype: str """ return self._Time @Time.setter def Time(self, Time): self._Time = Time @property def Value(self): """数值 :rtype: int """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Isp(self): """运营商 :rtype: str """ return self._Isp @Isp.setter def Isp(self, Isp): self._Isp = Isp @property def Ip(self): """IP地址 :rtype: str """ return self._Ip @Ip.setter def Ip(self, Ip): self._Ip = Ip @property def District(self): """区域 :rtype: str """ return self._District @District.setter def District(self, District): self._District = District def _deserialize(self, params): self._Time = params.get("Time") self._Value = params.get("Value") self._Isp = params.get("Isp") self._Ip = params.get("Ip") self._District = params.get("District") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnTopDomainData(AbstractModel): """SCDN攻击数据Top展示 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _Value: 请求量 :type Value: int :param _Percent: 百分比 :type Percent: float """ self._Domain = None self._Value = None self._Percent = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Value(self): """请求量 :rtype: int """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Percent(self): """百分比 :rtype: float """ return self._Percent @Percent.setter def Percent(self, Percent): self._Percent = Percent def _deserialize(self, params): self._Domain = params.get("Domain") self._Value = params.get("Value") self._Percent = params.get("Percent") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnTopUrlData(AbstractModel): """SCDN攻击数据Top URL展示 """ def __init__(self): r""" :param _Url: Top数据的URL :type Url: str :param _Value: 数值 :type Value: int :param _Time: 时间 :type Time: str :param _Domain: 域名 注意:此字段可能返回 null,表示取不到有效值。 :type Domain: str """ self._Url = None self._Value = None self._Time = None self._Domain = None @property def Url(self): """Top数据的URL :rtype: str """ return self._Url @Url.setter def Url(self, Url): self._Url = Url @property def Value(self): """数值 :rtype: int """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Time(self): """时间 :rtype: str """ return self._Time @Time.setter def Time(self, Time): self._Time = Time @property def Domain(self): """域名 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Url = params.get("Url") self._Value = params.get("Value") self._Time = params.get("Time") self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnTypeData(AbstractModel): """Scdn饼图数据,waf仅有 """ def __init__(self): r""" :param _AttackType: 攻击类型 :type AttackType: str :param _Value: 攻击值 :type Value: int """ self._AttackType = None self._Value = None @property def AttackType(self): """攻击类型 :rtype: str """ return self._AttackType @AttackType.setter def AttackType(self, AttackType): self._AttackType = AttackType @property def Value(self): """攻击值 :rtype: int """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._AttackType = params.get("AttackType") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnWafConfig(AbstractModel): """waf配置类型 """ def __init__(self): r""" :param _Switch: Scdn waf配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _Mode: intercept|observe,默认intercept 注意:此字段可能返回 null,表示取不到有效值。 :type Mode: str :param _ErrorPage: 重定向的错误页面 注意:此字段可能返回 null,表示取不到有效值。 :type ErrorPage: :class:`tencentcloud.cdn.v20180606.models.ScdnErrorPage` :param _WebShellSwitch: webshell拦截配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type WebShellSwitch: str :param _Rules: 类型拦截规则 注意:此字段可能返回 null,表示取不到有效值。 :type Rules: list of ScdnWafRule :param _Level: waf规则等级,可取100|200|300 注意:此字段可能返回 null,表示取不到有效值。 :type Level: int :param _SubRuleSwitch: waf子规则配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type SubRuleSwitch: list of WafSubRuleStatus """ self._Switch = None self._Mode = None self._ErrorPage = None self._WebShellSwitch = None self._Rules = None self._Level = None self._SubRuleSwitch = None @property def Switch(self): """Scdn waf配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Mode(self): """intercept|observe,默认intercept 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Mode @Mode.setter def Mode(self, Mode): self._Mode = Mode @property def ErrorPage(self): """重定向的错误页面 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnErrorPage` """ return self._ErrorPage @ErrorPage.setter def ErrorPage(self, ErrorPage): self._ErrorPage = ErrorPage @property def WebShellSwitch(self): """webshell拦截配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._WebShellSwitch @WebShellSwitch.setter def WebShellSwitch(self, WebShellSwitch): self._WebShellSwitch = WebShellSwitch @property def Rules(self): """类型拦截规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of ScdnWafRule """ return self._Rules @Rules.setter def Rules(self, Rules): self._Rules = Rules @property def Level(self): """waf规则等级,可取100|200|300 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Level @Level.setter def Level(self, Level): self._Level = Level @property def SubRuleSwitch(self): """waf子规则配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of WafSubRuleStatus """ return self._SubRuleSwitch @SubRuleSwitch.setter def SubRuleSwitch(self, SubRuleSwitch): self._SubRuleSwitch = SubRuleSwitch def _deserialize(self, params): self._Switch = params.get("Switch") self._Mode = params.get("Mode") if params.get("ErrorPage") is not None: self._ErrorPage = ScdnErrorPage() self._ErrorPage._deserialize(params.get("ErrorPage")) self._WebShellSwitch = params.get("WebShellSwitch") if params.get("Rules") is not None: self._Rules = [] for item in params.get("Rules"): obj = ScdnWafRule() obj._deserialize(item) self._Rules.append(obj) self._Level = params.get("Level") if params.get("SubRuleSwitch") is not None: self._SubRuleSwitch = [] for item in params.get("SubRuleSwitch"): obj = WafSubRuleStatus() obj._deserialize(item) self._SubRuleSwitch.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScdnWafRule(AbstractModel): """Waf 规则信息 """ def __init__(self): r""" :param _AttackType: 攻击类型 :type AttackType: str :param _Operate: 防护措施,observe :type Operate: str """ self._AttackType = None self._Operate = None @property def AttackType(self): """攻击类型 :rtype: str """ return self._AttackType @AttackType.setter def AttackType(self, AttackType): self._AttackType = AttackType @property def Operate(self): """防护措施,observe :rtype: str """ return self._Operate @Operate.setter def Operate(self, Operate): self._Operate = Operate def _deserialize(self, params): self._AttackType = params.get("AttackType") self._Operate = params.get("Operate") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SchemeKey(AbstractModel): """作为CacheKey的一部分 """ def __init__(self): r""" :param _Switch: scheme作为cache key配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str """ self._Switch = None @property def Switch(self): """scheme作为cache key配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SearchClsLogRequest(AbstractModel): """SearchClsLog请求参数结构体 """ def __init__(self): r""" :param _LogsetId: 需要查询的日志集ID :type LogsetId: str :param _TopicIds: 需要查询的日志主题ID组合,以逗号分隔 :type TopicIds: str :param _StartTime: 需要查询的日志的起始时间,格式 YYYY-mm-dd HH:MM:SS :type StartTime: str :param _EndTime: 需要查询的日志的结束时间,格式 YYYY-mm-dd HH:MM:SS :type EndTime: str :param _Limit: 单次要返回的日志条数,单次返回的最大条数为100 :type Limit: int :param _Channel: 接入渠道,cdn或者ecdn,默认值为cdn :type Channel: str :param _Query: 需要查询的内容,详情请参考https://cloud.tencent.com/document/product/614/16982 :type Query: str :param _Context: 加载更多使用,透传上次返回的 context 值,获取后续的日志内容,通过游标最多可获取10000条,请尽可能缩小时间范围 :type Context: str :param _Sort: 按日志时间排序, asc(升序)或者 desc(降序),默认为 desc :type Sort: str """ self._LogsetId = None self._TopicIds = None self._StartTime = None self._EndTime = None self._Limit = None self._Channel = None self._Query = None self._Context = None self._Sort = None @property def LogsetId(self): """需要查询的日志集ID :rtype: str """ return self._LogsetId @LogsetId.setter def LogsetId(self, LogsetId): self._LogsetId = LogsetId @property def TopicIds(self): """需要查询的日志主题ID组合,以逗号分隔 :rtype: str """ return self._TopicIds @TopicIds.setter def TopicIds(self, TopicIds): self._TopicIds = TopicIds @property def StartTime(self): """需要查询的日志的起始时间,格式 YYYY-mm-dd HH:MM:SS :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """需要查询的日志的结束时间,格式 YYYY-mm-dd HH:MM:SS :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Limit(self): """单次要返回的日志条数,单次返回的最大条数为100 :rtype: int """ return self._Limit @Limit.setter def Limit(self, Limit): self._Limit = Limit @property def Channel(self): """接入渠道,cdn或者ecdn,默认值为cdn :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def Query(self): """需要查询的内容,详情请参考https://cloud.tencent.com/document/product/614/16982 :rtype: str """ return self._Query @Query.setter def Query(self, Query): self._Query = Query @property def Context(self): """加载更多使用,透传上次返回的 context 值,获取后续的日志内容,通过游标最多可获取10000条,请尽可能缩小时间范围 :rtype: str """ return self._Context @Context.setter def Context(self, Context): self._Context = Context @property def Sort(self): """按日志时间排序, asc(升序)或者 desc(降序),默认为 desc :rtype: str """ return self._Sort @Sort.setter def Sort(self, Sort): self._Sort = Sort def _deserialize(self, params): self._LogsetId = params.get("LogsetId") self._TopicIds = params.get("TopicIds") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Limit = params.get("Limit") self._Channel = params.get("Channel") self._Query = params.get("Query") self._Context = params.get("Context") self._Sort = params.get("Sort") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SearchClsLogResponse(AbstractModel): """SearchClsLog返回参数结构体 """ def __init__(self): r""" :param _Logs: 查询结果 :type Logs: :class:`tencentcloud.cdn.v20180606.models.ClsSearchLogs` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Logs = None self._RequestId = None @property def Logs(self): """查询结果 :rtype: :class:`tencentcloud.cdn.v20180606.models.ClsSearchLogs` """ return self._Logs @Logs.setter def Logs(self, Logs): self._Logs = Logs @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Logs") is not None: self._Logs = ClsSearchLogs() self._Logs._deserialize(params.get("Logs")) self._RequestId = params.get("RequestId") class SecurityConfig(AbstractModel): """scdn相关的配置 """ def __init__(self): r""" :param _Switch: scdn 安全配置开关,取值有: on:开启 off:关闭 :type Switch: str """ self._Switch = None @property def Switch(self): """scdn 安全配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Seo(AbstractModel): """SEO 搜索引擎优化配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: SEO 搜索引擎优化配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str """ self._Switch = None @property def Switch(self): """SEO 搜索引擎优化配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ServerCert(AbstractModel): """https 加速服务端证书配置: + 支持使用托管至 SSL 证书管理的证书进行部署 + 支持上传 PEM 格式的证书进行部署 """ def __init__(self): r""" :param _CertId: 服务器证书 ID 在 SSL 证书管理进行证书托管时自动生成 注意:此字段可能返回 null,表示取不到有效值。 :type CertId: str :param _CertName: 服务器证书名称 在 SSL 证书管理进行证书托管时自动生成 注意:此字段可能返回 null,表示取不到有效值。 :type CertName: str :param _Certificate: 服务器证书信息 上传自有证书时必填,需要包含完整的证书链 注意:此字段可能返回 null,表示取不到有效值。 :type Certificate: str :param _PrivateKey: 服务器密钥信息 上传自有证书时必填 注意:此字段可能返回 null,表示取不到有效值。 :type PrivateKey: str :param _ExpireTime: 证书过期时间 作为入参配置时无需填充 注意:此字段可能返回 null,表示取不到有效值。 :type ExpireTime: str :param _DeployTime: 证书颁发时间 作为入参配置时无需填充 注意:此字段可能返回 null,表示取不到有效值。 :type DeployTime: str :param _Message: 证书备注信息 注意:此字段可能返回 null,表示取不到有效值。 :type Message: str :param _From: 证书来源 注意:此字段可能返回 null,表示取不到有效值。 :type From: str """ self._CertId = None self._CertName = None self._Certificate = None self._PrivateKey = None self._ExpireTime = None self._DeployTime = None self._Message = None self._From = None @property def CertId(self): """服务器证书 ID 在 SSL 证书管理进行证书托管时自动生成 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CertId @CertId.setter def CertId(self, CertId): self._CertId = CertId @property def CertName(self): """服务器证书名称 在 SSL 证书管理进行证书托管时自动生成 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CertName @CertName.setter def CertName(self, CertName): self._CertName = CertName @property def Certificate(self): """服务器证书信息 上传自有证书时必填,需要包含完整的证书链 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Certificate @Certificate.setter def Certificate(self, Certificate): self._Certificate = Certificate @property def PrivateKey(self): """服务器密钥信息 上传自有证书时必填 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._PrivateKey @PrivateKey.setter def PrivateKey(self, PrivateKey): self._PrivateKey = PrivateKey @property def ExpireTime(self): """证书过期时间 作为入参配置时无需填充 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def DeployTime(self): """证书颁发时间 作为入参配置时无需填充 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._DeployTime @DeployTime.setter def DeployTime(self, DeployTime): self._DeployTime = DeployTime @property def Message(self): """证书备注信息 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Message @Message.setter def Message(self, Message): self._Message = Message @property def From(self): """证书来源 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._From @From.setter def From(self, From): self._From = From def _deserialize(self, params): self._CertId = params.get("CertId") self._CertName = params.get("CertName") self._Certificate = params.get("Certificate") self._PrivateKey = params.get("PrivateKey") self._ExpireTime = params.get("ExpireTime") self._DeployTime = params.get("DeployTime") self._Message = params.get("Message") self._From = params.get("From") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ShareCname(AbstractModel): """ShareCname配置 ShareCname 为内测功能,如需使用,请联系腾讯云工程师开白. """ def __init__(self): r""" :param _Switch: ShareCname 配置开关, 取值有: on:开启,使用共享CNAME off:关闭,使用默认CNAME :type Switch: str :param _Cname: 设置共享CNAME. 注意:此字段可能返回 null,表示取不到有效值。 :type Cname: str """ self._Switch = None self._Cname = None @property def Switch(self): """ShareCname 配置开关, 取值有: on:开启,使用共享CNAME off:关闭,使用默认CNAME :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Cname(self): """设置共享CNAME. 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Cname @Cname.setter def Cname(self, Cname): self._Cname = Cname def _deserialize(self, params): self._Switch = params.get("Switch") self._Cname = params.get("Cname") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SimpleCache(AbstractModel): """缓存配置基础版本 默认情况下所有文件缓存过期时间为 30 天 默认情况下静态加速类型的域名 .php;.jsp;.asp;.aspx 不缓存 注意:该版本不支持设置源站未返回 max-age 情况下的缓存过期规则设置 """ def __init__(self): r""" :param _CacheRules: 缓存过期时间规则 注意:此字段可能返回 null,表示取不到有效值。 :type CacheRules: list of SimpleCacheRule :param _FollowOrigin: 遵循源站 Cache-Control: max-age 配置 on:开启 off:关闭 开启后,未能匹配 CacheRules 规则的资源将根据源站返回的 max-age 值进行节点缓存;匹配了 CacheRules 规则的资源将按照 CacheRules 中设置的缓存过期时间在节点进行缓存 与 CompareMaxAge 冲突,不能同时开启 注意:此字段可能返回 null,表示取不到有效值。 :type FollowOrigin: str :param _IgnoreCacheControl: 强制缓存 on:开启 off:关闭 默认为关闭状态,开启后,源站返回的 no-store、no-cache 资源,也将按照 CacheRules 规则进行缓存 注意:此字段可能返回 null,表示取不到有效值。 :type IgnoreCacheControl: str :param _IgnoreSetCookie: 忽略源站的Set-Cookie头部 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :type IgnoreSetCookie: str :param _CompareMaxAge: 高级缓存过期配置,开启时会对比源站返回的 max-age 值与 CacheRules 中设置的缓存过期时间,取最小值在节点进行缓存 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :type CompareMaxAge: str :param _Revalidate: 总是回源站校验 注意:此字段可能返回 null,表示取不到有效值。 :type Revalidate: :class:`tencentcloud.cdn.v20180606.models.Revalidate` """ self._CacheRules = None self._FollowOrigin = None self._IgnoreCacheControl = None self._IgnoreSetCookie = None self._CompareMaxAge = None self._Revalidate = None @property def CacheRules(self): """缓存过期时间规则 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of SimpleCacheRule """ return self._CacheRules @CacheRules.setter def CacheRules(self, CacheRules): self._CacheRules = CacheRules @property def FollowOrigin(self): """遵循源站 Cache-Control: max-age 配置 on:开启 off:关闭 开启后,未能匹配 CacheRules 规则的资源将根据源站返回的 max-age 值进行节点缓存;匹配了 CacheRules 规则的资源将按照 CacheRules 中设置的缓存过期时间在节点进行缓存 与 CompareMaxAge 冲突,不能同时开启 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._FollowOrigin @FollowOrigin.setter def FollowOrigin(self, FollowOrigin): self._FollowOrigin = FollowOrigin @property def IgnoreCacheControl(self): """强制缓存 on:开启 off:关闭 默认为关闭状态,开启后,源站返回的 no-store、no-cache 资源,也将按照 CacheRules 规则进行缓存 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IgnoreCacheControl @IgnoreCacheControl.setter def IgnoreCacheControl(self, IgnoreCacheControl): self._IgnoreCacheControl = IgnoreCacheControl @property def IgnoreSetCookie(self): """忽略源站的Set-Cookie头部 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._IgnoreSetCookie @IgnoreSetCookie.setter def IgnoreSetCookie(self, IgnoreSetCookie): self._IgnoreSetCookie = IgnoreSetCookie @property def CompareMaxAge(self): """高级缓存过期配置,开启时会对比源站返回的 max-age 值与 CacheRules 中设置的缓存过期时间,取最小值在节点进行缓存 on:开启 off:关闭 默认为关闭状态 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CompareMaxAge @CompareMaxAge.setter def CompareMaxAge(self, CompareMaxAge): self._CompareMaxAge = CompareMaxAge @property def Revalidate(self): """总是回源站校验 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.Revalidate` """ return self._Revalidate @Revalidate.setter def Revalidate(self, Revalidate): self._Revalidate = Revalidate def _deserialize(self, params): if params.get("CacheRules") is not None: self._CacheRules = [] for item in params.get("CacheRules"): obj = SimpleCacheRule() obj._deserialize(item) self._CacheRules.append(obj) self._FollowOrigin = params.get("FollowOrigin") self._IgnoreCacheControl = params.get("IgnoreCacheControl") self._IgnoreSetCookie = params.get("IgnoreSetCookie") self._CompareMaxAge = params.get("CompareMaxAge") if params.get("Revalidate") is not None: self._Revalidate = Revalidate() self._Revalidate._deserialize(params.get("Revalidate")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SimpleCacheRule(AbstractModel): """缓存过期规则配置 """ def __init__(self): r""" :param _CacheType: 规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index:首页 :type CacheType: str :param _CacheContents: CacheType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html index 时填充 / :type CacheContents: list of str :param _CacheTime: 缓存过期时间设置 单位为秒,最大可设置为 365 天 :type CacheTime: int """ self._CacheType = None self._CacheContents = None self._CacheTime = None @property def CacheType(self): """规则类型: all:所有文件生效 file:指定文件后缀生效 directory:指定路径生效 path:指定绝对路径生效 index:首页 :rtype: str """ return self._CacheType @CacheType.setter def CacheType(self, CacheType): self._CacheType = CacheType @property def CacheContents(self): """CacheType 对应类型下的匹配内容: all 时填充 * file 时填充后缀名,如 jpg、txt directory 时填充路径,如 /xxx/test path 时填充绝对路径,如 /xxx/test.html index 时填充 / :rtype: list of str """ return self._CacheContents @CacheContents.setter def CacheContents(self, CacheContents): self._CacheContents = CacheContents @property def CacheTime(self): """缓存过期时间设置 单位为秒,最大可设置为 365 天 :rtype: int """ return self._CacheTime @CacheTime.setter def CacheTime(self, CacheTime): self._CacheTime = CacheTime def _deserialize(self, params): self._CacheType = params.get("CacheType") self._CacheContents = params.get("CacheContents") self._CacheTime = params.get("CacheTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Sort(AbstractModel): """查询结果排序条件 """ def __init__(self): r""" :param _Key: 排序字段,当前支持: createTime,域名创建时间 certExpireTime,证书过期时间 默认createTime。 :type Key: str :param _Sequence: asc/desc,默认desc。 :type Sequence: str """ self._Key = None self._Sequence = None @property def Key(self): """排序字段,当前支持: createTime,域名创建时间 certExpireTime,证书过期时间 默认createTime。 :rtype: str """ return self._Key @Key.setter def Key(self, Key): self._Key = Key @property def Sequence(self): """asc/desc,默认desc。 :rtype: str """ return self._Sequence @Sequence.setter def Sequence(self, Sequence): self._Sequence = Sequence def _deserialize(self, params): self._Key = params.get("Key") self._Sequence = params.get("Sequence") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SpecificConfig(AbstractModel): """域名国内海外分地区特殊配置。 """ def __init__(self): r""" :param _Mainland: 国内特殊配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Mainland: :class:`tencentcloud.cdn.v20180606.models.MainlandConfig` :param _Overseas: 海外特殊配置。 注意:此字段可能返回 null,表示取不到有效值。 :type Overseas: :class:`tencentcloud.cdn.v20180606.models.OverseaConfig` """ self._Mainland = None self._Overseas = None @property def Mainland(self): """国内特殊配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.MainlandConfig` """ return self._Mainland @Mainland.setter def Mainland(self, Mainland): self._Mainland = Mainland @property def Overseas(self): """海外特殊配置。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.cdn.v20180606.models.OverseaConfig` """ return self._Overseas @Overseas.setter def Overseas(self, Overseas): self._Overseas = Overseas def _deserialize(self, params): if params.get("Mainland") is not None: self._Mainland = MainlandConfig() self._Mainland._deserialize(params.get("Mainland")) if params.get("Overseas") is not None: self._Overseas = OverseaConfig() self._Overseas._deserialize(params.get("Overseas")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartCdnDomainRequest(AbstractModel): """StartCdnDomain请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 域名状态需要为【已停用】 :type Domain: str """ self._Domain = None @property def Domain(self): """域名 域名状态需要为【已停用】 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartCdnDomainResponse(AbstractModel): """StartCdnDomain返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class StartScdnDomainRequest(AbstractModel): """StartScdnDomain请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str """ self._Domain = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartScdnDomainResponse(AbstractModel): """StartScdnDomain返回参数结构体 """ def __init__(self): r""" :param _Result: 开启结果,Success表示成功 :type Result: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Result = None self._RequestId = None @property def Result(self): """开启结果,Success表示成功 :rtype: str """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Result = params.get("Result") self._RequestId = params.get("RequestId") class StatisticItem(AbstractModel): """累计用量封顶的配置 """ def __init__(self): r""" :param _Type: 封顶类型,累计用量total,瞬时用量moment 注意:此字段可能返回 null,表示取不到有效值。 :type Type: str :param _UnBlockTime: 自动解封时间 注意:此字段可能返回 null,表示取不到有效值。 :type UnBlockTime: int :param _BpsThreshold: 带宽、流量阈值 注意:此字段可能返回 null,表示取不到有效值。 :type BpsThreshold: int :param _CounterMeasure: 关闭方式 返回404:RETURN_404 注意:此字段可能返回 null,表示取不到有效值。 :type CounterMeasure: str :param _AlertPercentage: 触发提醒阈值百分比 注意:此字段可能返回 null,表示取不到有效值。 :type AlertPercentage: int :param _AlertSwitch: 累计用量封顶告警配置,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type AlertSwitch: str :param _Metric: 指标类型,流量flux或带宽bandwidth 注意:此字段可能返回 null,表示取不到有效值。 :type Metric: str :param _Cycle: 检测周期,单位分钟,60或1440 注意:此字段可能返回 null,表示取不到有效值。 :type Cycle: int :param _Switch: 累计用量封顶配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str """ self._Type = None self._UnBlockTime = None self._BpsThreshold = None self._CounterMeasure = None self._AlertPercentage = None self._AlertSwitch = None self._Metric = None self._Cycle = None self._Switch = None @property def Type(self): """封顶类型,累计用量total,瞬时用量moment 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Type @Type.setter def Type(self, Type): self._Type = Type @property def UnBlockTime(self): """自动解封时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._UnBlockTime @UnBlockTime.setter def UnBlockTime(self, UnBlockTime): self._UnBlockTime = UnBlockTime @property def BpsThreshold(self): """带宽、流量阈值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._BpsThreshold @BpsThreshold.setter def BpsThreshold(self, BpsThreshold): self._BpsThreshold = BpsThreshold @property def CounterMeasure(self): """关闭方式 返回404:RETURN_404 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CounterMeasure @CounterMeasure.setter def CounterMeasure(self, CounterMeasure): self._CounterMeasure = CounterMeasure @property def AlertPercentage(self): """触发提醒阈值百分比 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._AlertPercentage @AlertPercentage.setter def AlertPercentage(self, AlertPercentage): self._AlertPercentage = AlertPercentage @property def AlertSwitch(self): """累计用量封顶告警配置,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._AlertSwitch @AlertSwitch.setter def AlertSwitch(self, AlertSwitch): self._AlertSwitch = AlertSwitch @property def Metric(self): """指标类型,流量flux或带宽bandwidth 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Metric @Metric.setter def Metric(self, Metric): self._Metric = Metric @property def Cycle(self): """检测周期,单位分钟,60或1440 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Cycle @Cycle.setter def Cycle(self, Cycle): self._Cycle = Cycle @property def Switch(self): """累计用量封顶配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Type = params.get("Type") self._UnBlockTime = params.get("UnBlockTime") self._BpsThreshold = params.get("BpsThreshold") self._CounterMeasure = params.get("CounterMeasure") self._AlertPercentage = params.get("AlertPercentage") self._AlertSwitch = params.get("AlertSwitch") self._Metric = params.get("Metric") self._Cycle = params.get("Cycle") self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StatusCodeCache(AbstractModel): """状态码缓存过期配置,默认情况下会对 404 状态码缓存 10 秒 """ def __init__(self): r""" :param _Switch: 状态码缓存过期配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _CacheRules: 状态码缓存过期规则明细 注意:此字段可能返回 null,表示取不到有效值。 :type CacheRules: list of StatusCodeCacheRule """ self._Switch = None self._CacheRules = None @property def Switch(self): """状态码缓存过期配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def CacheRules(self): """状态码缓存过期规则明细 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of StatusCodeCacheRule """ return self._CacheRules @CacheRules.setter def CacheRules(self, CacheRules): self._CacheRules = CacheRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("CacheRules") is not None: self._CacheRules = [] for item in params.get("CacheRules"): obj = StatusCodeCacheRule() obj._deserialize(item) self._CacheRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StatusCodeCacheRule(AbstractModel): """状态码缓存过期时间规则配置 """ def __init__(self): r""" :param _StatusCode: http 状态码 支持 403、404 状态码 :type StatusCode: str :param _CacheTime: 状态码缓存过期时间,单位秒 :type CacheTime: int """ self._StatusCode = None self._CacheTime = None @property def StatusCode(self): """http 状态码 支持 403、404 状态码 :rtype: str """ return self._StatusCode @StatusCode.setter def StatusCode(self, StatusCode): self._StatusCode = StatusCode @property def CacheTime(self): """状态码缓存过期时间,单位秒 :rtype: int """ return self._CacheTime @CacheTime.setter def CacheTime(self, CacheTime): self._CacheTime = CacheTime def _deserialize(self, params): self._StatusCode = params.get("StatusCode") self._CacheTime = params.get("CacheTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StopCdnDomainRequest(AbstractModel): """StopCdnDomain请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 域名需要为【已启动】状态 :type Domain: str """ self._Domain = None @property def Domain(self): """域名 域名需要为【已启动】状态 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StopCdnDomainResponse(AbstractModel): """StopCdnDomain返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class StopScdnDomainRequest(AbstractModel): """StopScdnDomain请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str """ self._Domain = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain def _deserialize(self, params): self._Domain = params.get("Domain") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StopScdnDomainResponse(AbstractModel): """StopScdnDomain返回参数结构体 """ def __init__(self): r""" :param _Result: 关闭结果,Success表示成功 :type Result: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Result = None self._RequestId = None @property def Result(self): """关闭结果,Success表示成功 :rtype: str """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Result = params.get("Result") self._RequestId = params.get("RequestId") class SummarizedData(AbstractModel): """明细数据的汇总值,各指标根据其特性不同拥有不同汇总方式 """ def __init__(self): r""" :param _Name: 汇总方式,存在以下几种: sum:累加求和 max:最大值,带宽模式下,采用 5 分钟粒度汇总数据,计算峰值带宽 avg:平均值 :type Name: str :param _Value: 汇总后的数据值 :type Value: float """ self._Name = None self._Value = None @property def Name(self): """汇总方式,存在以下几种: sum:累加求和 max:最大值,带宽模式下,采用 5 分钟粒度汇总数据,计算峰值带宽 avg:平均值 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def Value(self): """汇总后的数据值 :rtype: float """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Name = params.get("Name") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class Tag(AbstractModel): """域名标签配置 """ def __init__(self): r""" :param _TagKey: 标签键 注意:此字段可能返回 null,表示取不到有效值。 :type TagKey: str :param _TagValue: 标签值 注意:此字段可能返回 null,表示取不到有效值。 :type TagValue: str """ self._TagKey = None self._TagValue = None @property def TagKey(self): """标签键 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TagKey @TagKey.setter def TagKey(self, TagKey): self._TagKey = TagKey @property def TagValue(self): """标签值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TagValue @TagValue.setter def TagValue(self, TagValue): self._TagValue = TagValue def _deserialize(self, params): self._TagKey = params.get("TagKey") self._TagValue = params.get("TagValue") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TimestampData(AbstractModel): """时间戳与其对应的数值 """ def __init__(self): r""" :param _Time: 数据统计时间点,采用向前汇总模式 以 5 分钟粒度为例,13:35:00 时间点代表的统计数据区间为 13:35:00 至 13:39:59 :type Time: str :param _Value: 数据值 :type Value: float """ self._Time = None self._Value = None @property def Time(self): """数据统计时间点,采用向前汇总模式 以 5 分钟粒度为例,13:35:00 时间点代表的统计数据区间为 13:35:00 至 13:39:59 :rtype: str """ return self._Time @Time.setter def Time(self, Time): self._Time = Time @property def Value(self): """数据值 :rtype: float """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Time = params.get("Time") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TopData(AbstractModel): """排序类型数据结构 """ def __init__(self): r""" :param _Resource: 资源名称,根据查询条件不同分为以下几类: 具体域名:表示该域名明细数据 multiDomains:表示多域名汇总明细数据 项目 ID:指定项目查询时,显示为项目 ID all:账号维度明细数据 :type Resource: str :param _DetailData: 排序结果详情 :type DetailData: list of TopDetailData """ self._Resource = None self._DetailData = None @property def Resource(self): """资源名称,根据查询条件不同分为以下几类: 具体域名:表示该域名明细数据 multiDomains:表示多域名汇总明细数据 项目 ID:指定项目查询时,显示为项目 ID all:账号维度明细数据 :rtype: str """ return self._Resource @Resource.setter def Resource(self, Resource): self._Resource = Resource @property def DetailData(self): """排序结果详情 :rtype: list of TopDetailData """ return self._DetailData @DetailData.setter def DetailData(self, DetailData): self._DetailData = DetailData def _deserialize(self, params): self._Resource = params.get("Resource") if params.get("DetailData") is not None: self._DetailData = [] for item in params.get("DetailData"): obj = TopDetailData() obj._deserialize(item) self._DetailData.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TopDataMore(AbstractModel): """排序类型数据结构 """ def __init__(self): r""" :param _Resource: 资源名称,根据查询条件不同分为以下几类: :type Resource: str :param _DetailData: 排序结果详情 :type DetailData: list of TopDetailDataMore """ self._Resource = None self._DetailData = None @property def Resource(self): """资源名称,根据查询条件不同分为以下几类: :rtype: str """ return self._Resource @Resource.setter def Resource(self, Resource): self._Resource = Resource @property def DetailData(self): """排序结果详情 :rtype: list of TopDetailDataMore """ return self._DetailData @DetailData.setter def DetailData(self, DetailData): self._DetailData = DetailData def _deserialize(self, params): self._Resource = params.get("Resource") if params.get("DetailData") is not None: self._DetailData = [] for item in params.get("DetailData"): obj = TopDetailDataMore() obj._deserialize(item) self._DetailData.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TopDetailData(AbstractModel): """排序类型的数据结构 """ def __init__(self): r""" :param _Name: 数据类型的名称 :type Name: str :param _Value: 数据值 :type Value: float """ self._Name = None self._Value = None @property def Name(self): """数据类型的名称 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def Value(self): """数据值 :rtype: float """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Name = params.get("Name") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TopDetailDataMore(AbstractModel): """排序类型的数据结构,同时附带上该项的在总值的占比 """ def __init__(self): r""" :param _Name: 数据类型的名称 :type Name: str :param _Value: 数据值 :type Value: float :param _Percent: 数据值在总值中的百分比 注意:此字段可能返回 null,表示取不到有效值。 :type Percent: float """ self._Name = None self._Value = None self._Percent = None @property def Name(self): """数据类型的名称 :rtype: str """ return self._Name @Name.setter def Name(self, Name): self._Name = Name @property def Value(self): """数据值 :rtype: float """ return self._Value @Value.setter def Value(self, Value): self._Value = Value @property def Percent(self): """数据值在总值中的百分比 注意:此字段可能返回 null,表示取不到有效值。 :rtype: float """ return self._Percent @Percent.setter def Percent(self, Percent): self._Percent = Percent def _deserialize(self, params): self._Name = params.get("Name") self._Value = params.get("Value") self._Percent = params.get("Percent") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TopicInfo(AbstractModel): """CLS主题信息 """ def __init__(self): r""" :param _TopicId: 主题ID :type TopicId: str :param _TopicName: 主题名字 :type TopicName: str :param _Enabled: 是否启用投递 :type Enabled: int :param _CreateTime: 创建时间 注意:此字段可能返回 null,表示取不到有效值。 :type CreateTime: str :param _Channel: 归属于cdn或ecdn 注意:此字段可能返回 null,表示取不到有效值。 :type Channel: str :param _Deleted: cls侧是否已经被删除 注意:此字段可能返回 null,表示取不到有效值。 :type Deleted: str """ self._TopicId = None self._TopicName = None self._Enabled = None self._CreateTime = None self._Channel = None self._Deleted = None @property def TopicId(self): """主题ID :rtype: str """ return self._TopicId @TopicId.setter def TopicId(self, TopicId): self._TopicId = TopicId @property def TopicName(self): """主题名字 :rtype: str """ return self._TopicName @TopicName.setter def TopicName(self, TopicName): self._TopicName = TopicName @property def Enabled(self): """是否启用投递 :rtype: int """ return self._Enabled @Enabled.setter def Enabled(self, Enabled): self._Enabled = Enabled @property def CreateTime(self): """创建时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def Channel(self): """归属于cdn或ecdn 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def Deleted(self): """cls侧是否已经被删除 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Deleted @Deleted.setter def Deleted(self, Deleted): self._Deleted = Deleted def _deserialize(self, params): self._TopicId = params.get("TopicId") self._TopicName = params.get("TopicName") self._Enabled = params.get("Enabled") self._CreateTime = params.get("CreateTime") self._Channel = params.get("Channel") self._Deleted = params.get("Deleted") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TpgAdapter(AbstractModel): """图片优化-TpgAdapter配置 """ def __init__(self): r""" :param _Switch: 图片优化-TpgAdapter配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str """ self._Switch = None @property def Switch(self): """图片优化-TpgAdapter配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TrafficPackage(AbstractModel): """CDN加速流量包。 """ def __init__(self): r""" :param _Id: 流量包 Id :type Id: int :param _Type: 流量包类型 :type Type: str :param _Bytes: 流量包大小(单位为 Byte) :type Bytes: int :param _BytesUsed: 已消耗流量(单位为 Byte) :type BytesUsed: int :param _Status: 流量包状态 enabled:已启用 expired:已过期 disabled:未启用 :type Status: str :param _CreateTime: 流量包发放时间 :type CreateTime: str :param _EnableTime: 流量包生效时间 :type EnableTime: str :param _ExpireTime: 流量包过期时间 :type ExpireTime: str :param _ContractExtension: 流量包是否续订 :type ContractExtension: bool :param _AutoExtension: 流量包是否自动续订 :type AutoExtension: bool :param _Channel: 流量包来源 :type Channel: str :param _Area: 流量包生效区域,mainland或overseas :type Area: str :param _LifeTimeMonth: 流量包生命周期月数 :type LifeTimeMonth: int :param _ExtensionAvailable: 流量包是否支持续订 :type ExtensionAvailable: bool :param _RefundAvailable: 流量包是否支持退费 :type RefundAvailable: bool :param _Region: 流量包生效区域 0:中国大陆 1:亚太一区 2:亚太二区 3:亚太三区 4:中东 5:北美 6:欧洲 7:南美 8:非洲 注意:此字段可能返回 null,表示取不到有效值。 :type Region: int :param _ConfigId: 流量包类型id 注意:此字段可能返回 null,表示取不到有效值。 :type ConfigId: int :param _ExtensionMode: 流量包当前续订模式,0 未续订、1到期续订、2用完续订、3到期或用完续订 注意:此字段可能返回 null,表示取不到有效值。 :type ExtensionMode: int :param _TrueEnableTime: 流量包实际生效时间 注意:此字段可能返回 null,表示取不到有效值。 :type TrueEnableTime: str :param _TrueExpireTime: 流量包实际过期时间 注意:此字段可能返回 null,表示取不到有效值。 :type TrueExpireTime: str """ self._Id = None self._Type = None self._Bytes = None self._BytesUsed = None self._Status = None self._CreateTime = None self._EnableTime = None self._ExpireTime = None self._ContractExtension = None self._AutoExtension = None self._Channel = None self._Area = None self._LifeTimeMonth = None self._ExtensionAvailable = None self._RefundAvailable = None self._Region = None self._ConfigId = None self._ExtensionMode = None self._TrueEnableTime = None self._TrueExpireTime = None @property def Id(self): """流量包 Id :rtype: int """ return self._Id @Id.setter def Id(self, Id): self._Id = Id @property def Type(self): """流量包类型 :rtype: str """ return self._Type @Type.setter def Type(self, Type): self._Type = Type @property def Bytes(self): """流量包大小(单位为 Byte) :rtype: int """ return self._Bytes @Bytes.setter def Bytes(self, Bytes): self._Bytes = Bytes @property def BytesUsed(self): """已消耗流量(单位为 Byte) :rtype: int """ return self._BytesUsed @BytesUsed.setter def BytesUsed(self, BytesUsed): self._BytesUsed = BytesUsed @property def Status(self): """流量包状态 enabled:已启用 expired:已过期 disabled:未启用 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def CreateTime(self): """流量包发放时间 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def EnableTime(self): """流量包生效时间 :rtype: str """ return self._EnableTime @EnableTime.setter def EnableTime(self, EnableTime): self._EnableTime = EnableTime @property def ExpireTime(self): """流量包过期时间 :rtype: str """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def ContractExtension(self): """流量包是否续订 :rtype: bool """ return self._ContractExtension @ContractExtension.setter def ContractExtension(self, ContractExtension): self._ContractExtension = ContractExtension @property def AutoExtension(self): """流量包是否自动续订 :rtype: bool """ return self._AutoExtension @AutoExtension.setter def AutoExtension(self, AutoExtension): self._AutoExtension = AutoExtension @property def Channel(self): """流量包来源 :rtype: str """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def Area(self): """流量包生效区域,mainland或overseas :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def LifeTimeMonth(self): """流量包生命周期月数 :rtype: int """ return self._LifeTimeMonth @LifeTimeMonth.setter def LifeTimeMonth(self, LifeTimeMonth): self._LifeTimeMonth = LifeTimeMonth @property def ExtensionAvailable(self): """流量包是否支持续订 :rtype: bool """ return self._ExtensionAvailable @ExtensionAvailable.setter def ExtensionAvailable(self, ExtensionAvailable): self._ExtensionAvailable = ExtensionAvailable @property def RefundAvailable(self): """流量包是否支持退费 :rtype: bool """ return self._RefundAvailable @RefundAvailable.setter def RefundAvailable(self, RefundAvailable): self._RefundAvailable = RefundAvailable @property def Region(self): """流量包生效区域 0:中国大陆 1:亚太一区 2:亚太二区 3:亚太三区 4:中东 5:北美 6:欧洲 7:南美 8:非洲 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Region @Region.setter def Region(self, Region): self._Region = Region @property def ConfigId(self): """流量包类型id 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._ConfigId @ConfigId.setter def ConfigId(self, ConfigId): self._ConfigId = ConfigId @property def ExtensionMode(self): """流量包当前续订模式,0 未续订、1到期续订、2用完续订、3到期或用完续订 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._ExtensionMode @ExtensionMode.setter def ExtensionMode(self, ExtensionMode): self._ExtensionMode = ExtensionMode @property def TrueEnableTime(self): """流量包实际生效时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TrueEnableTime @TrueEnableTime.setter def TrueEnableTime(self, TrueEnableTime): self._TrueEnableTime = TrueEnableTime @property def TrueExpireTime(self): """流量包实际过期时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TrueExpireTime @TrueExpireTime.setter def TrueExpireTime(self, TrueExpireTime): self._TrueExpireTime = TrueExpireTime def _deserialize(self, params): self._Id = params.get("Id") self._Type = params.get("Type") self._Bytes = params.get("Bytes") self._BytesUsed = params.get("BytesUsed") self._Status = params.get("Status") self._CreateTime = params.get("CreateTime") self._EnableTime = params.get("EnableTime") self._ExpireTime = params.get("ExpireTime") self._ContractExtension = params.get("ContractExtension") self._AutoExtension = params.get("AutoExtension") self._Channel = params.get("Channel") self._Area = params.get("Area") self._LifeTimeMonth = params.get("LifeTimeMonth") self._ExtensionAvailable = params.get("ExtensionAvailable") self._RefundAvailable = params.get("RefundAvailable") self._Region = params.get("Region") self._ConfigId = params.get("ConfigId") self._ExtensionMode = params.get("ExtensionMode") self._TrueEnableTime = params.get("TrueEnableTime") self._TrueExpireTime = params.get("TrueExpireTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UpdateDomainConfigRequest(AbstractModel): """UpdateDomainConfig请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _ProjectId: 项目 ID :type ProjectId: int :param _Origin: 源站配置 :type Origin: :class:`tencentcloud.cdn.v20180606.models.Origin` :param _IpFilter: IP 黑白名单配置 :type IpFilter: :class:`tencentcloud.cdn.v20180606.models.IpFilter` :param _IpFreqLimit: IP 限频配置 :type IpFreqLimit: :class:`tencentcloud.cdn.v20180606.models.IpFreqLimit` :param _StatusCodeCache: 状态码缓存配置 :type StatusCodeCache: :class:`tencentcloud.cdn.v20180606.models.StatusCodeCache` :param _Compression: 智能压缩配置 :type Compression: :class:`tencentcloud.cdn.v20180606.models.Compression` :param _BandwidthAlert: 带宽封顶配置 :type BandwidthAlert: :class:`tencentcloud.cdn.v20180606.models.BandwidthAlert` :param _RangeOriginPull: Range 回源配置 :type RangeOriginPull: :class:`tencentcloud.cdn.v20180606.models.RangeOriginPull` :param _FollowRedirect: 301/302 回源跟随配置 :type FollowRedirect: :class:`tencentcloud.cdn.v20180606.models.FollowRedirect` :param _ErrorPage: 错误码重定向配置(功能灰度中,尚未全量) :type ErrorPage: :class:`tencentcloud.cdn.v20180606.models.ErrorPage` :param _RequestHeader: 回源请求头部配置 :type RequestHeader: :class:`tencentcloud.cdn.v20180606.models.RequestHeader` :param _ResponseHeader: 响应头部配置 :type ResponseHeader: :class:`tencentcloud.cdn.v20180606.models.ResponseHeader` :param _DownstreamCapping: 下载速度配置 :type DownstreamCapping: :class:`tencentcloud.cdn.v20180606.models.DownstreamCapping` :param _CacheKey: 节点缓存键配置 :type CacheKey: :class:`tencentcloud.cdn.v20180606.models.CacheKey` :param _ResponseHeaderCache: 头部缓存配置 :type ResponseHeaderCache: :class:`tencentcloud.cdn.v20180606.models.ResponseHeaderCache` :param _VideoSeek: 视频拖拽配置 :type VideoSeek: :class:`tencentcloud.cdn.v20180606.models.VideoSeek` :param _Cache: 缓存过期时间配置 :type Cache: :class:`tencentcloud.cdn.v20180606.models.Cache` :param _OriginPullOptimization: 跨国链路优化配置(已下线) :type OriginPullOptimization: :class:`tencentcloud.cdn.v20180606.models.OriginPullOptimization` :param _Https: Https 加速配置 :type Https: :class:`tencentcloud.cdn.v20180606.models.Https` :param _Authentication: 时间戳防盗链配置 :type Authentication: :class:`tencentcloud.cdn.v20180606.models.Authentication` :param _Seo: SEO 优化配置 :type Seo: :class:`tencentcloud.cdn.v20180606.models.Seo` :param _ForceRedirect: 访问协议强制跳转配置 :type ForceRedirect: :class:`tencentcloud.cdn.v20180606.models.ForceRedirect` :param _Referer: Referer 防盗链配置 :type Referer: :class:`tencentcloud.cdn.v20180606.models.Referer` :param _MaxAge: 浏览器缓存配置(功能灰度中,尚未全量) :type MaxAge: :class:`tencentcloud.cdn.v20180606.models.MaxAge` :param _SpecificConfig: 地域属性特殊配置 适用于域名境内加速、境外加速配置不一致场景 :type SpecificConfig: :class:`tencentcloud.cdn.v20180606.models.SpecificConfig` :param _ServiceType: 域名业务类型 web:静态加速 download:下载加速 media:流媒体点播加速 :type ServiceType: str :param _Area: 域名加速区域 mainland:中国境内加速 overseas:中国境外加速 global:全球加速 从mainland/overseas修改至global时,域名的配置将被同步至overseas/mainland。若域名含有后端特殊配置,此类配置的同步过程有一定延时,请耐心等待 :type Area: str :param _OriginPullTimeout: 回源超时配置 :type OriginPullTimeout: :class:`tencentcloud.cdn.v20180606.models.OriginPullTimeout` :param _AwsPrivateAccess: 回源S3私有鉴权 :type AwsPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.AwsPrivateAccess` :param _UserAgentFilter: UA黑白名单配置 :type UserAgentFilter: :class:`tencentcloud.cdn.v20180606.models.UserAgentFilter` :param _AccessControl: 访问控制 :type AccessControl: :class:`tencentcloud.cdn.v20180606.models.AccessControl` :param _UrlRedirect: 访问URL重写配置 :type UrlRedirect: :class:`tencentcloud.cdn.v20180606.models.UrlRedirect` :param _AccessPort: 访问端口配置 :type AccessPort: list of int :param _AdvancedAuthentication: 时间戳防盗链高级版配置,白名单功能 :type AdvancedAuthentication: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthentication` :param _OriginAuthentication: 回源鉴权高级版配置,白名单功能 :type OriginAuthentication: :class:`tencentcloud.cdn.v20180606.models.OriginAuthentication` :param _Ipv6Access: Ipv6 访问配置 :type Ipv6Access: :class:`tencentcloud.cdn.v20180606.models.Ipv6Access` :param _OfflineCache: 离线缓存 :type OfflineCache: :class:`tencentcloud.cdn.v20180606.models.OfflineCache` :param _OriginCombine: 合并回源 :type OriginCombine: :class:`tencentcloud.cdn.v20180606.models.OriginCombine` :param _PostMaxSize: POST请求传输配置 :type PostMaxSize: :class:`tencentcloud.cdn.v20180606.models.PostSize` :param _Quic: Quic访问(收费服务,详见计费说明和产品文档) :type Quic: :class:`tencentcloud.cdn.v20180606.models.Quic` :param _OssPrivateAccess: 回源OSS私有鉴权 :type OssPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.OssPrivateAccess` :param _WebSocket: WebSocket配置 :type WebSocket: :class:`tencentcloud.cdn.v20180606.models.WebSocket` :param _RemoteAuthentication: 远程鉴权配置 :type RemoteAuthentication: :class:`tencentcloud.cdn.v20180606.models.RemoteAuthentication` :param _ShareCname: 共享CNAME配置,白名单功能 :type ShareCname: :class:`tencentcloud.cdn.v20180606.models.ShareCname` :param _HwPrivateAccess: 华为云对象存储回源鉴权 :type HwPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.HwPrivateAccess` :param _QnPrivateAccess: 七牛云对象存储回源鉴权 :type QnPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.QnPrivateAccess` :param _OthersPrivateAccess: 其他厂商对象存储回源鉴权 :type OthersPrivateAccess: :class:`tencentcloud.cdn.v20180606.models.OthersPrivateAccess` :param _HttpsBilling: HTTPS服务(收费服务,详见计费说明和产品文档) :type HttpsBilling: :class:`tencentcloud.cdn.v20180606.models.HttpsBilling` :param _ParamFilter: 参数黑名单 :type ParamFilter: :class:`tencentcloud.cdn.v20180606.models.ParamFilter` """ self._Domain = None self._ProjectId = None self._Origin = None self._IpFilter = None self._IpFreqLimit = None self._StatusCodeCache = None self._Compression = None self._BandwidthAlert = None self._RangeOriginPull = None self._FollowRedirect = None self._ErrorPage = None self._RequestHeader = None self._ResponseHeader = None self._DownstreamCapping = None self._CacheKey = None self._ResponseHeaderCache = None self._VideoSeek = None self._Cache = None self._OriginPullOptimization = None self._Https = None self._Authentication = None self._Seo = None self._ForceRedirect = None self._Referer = None self._MaxAge = None self._SpecificConfig = None self._ServiceType = None self._Area = None self._OriginPullTimeout = None self._AwsPrivateAccess = None self._UserAgentFilter = None self._AccessControl = None self._UrlRedirect = None self._AccessPort = None self._AdvancedAuthentication = None self._OriginAuthentication = None self._Ipv6Access = None self._OfflineCache = None self._OriginCombine = None self._PostMaxSize = None self._Quic = None self._OssPrivateAccess = None self._WebSocket = None self._RemoteAuthentication = None self._ShareCname = None self._HwPrivateAccess = None self._QnPrivateAccess = None self._OthersPrivateAccess = None self._HttpsBilling = None self._ParamFilter = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def ProjectId(self): """项目 ID :rtype: int """ return self._ProjectId @ProjectId.setter def ProjectId(self, ProjectId): self._ProjectId = ProjectId @property def Origin(self): """源站配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Origin` """ return self._Origin @Origin.setter def Origin(self, Origin): self._Origin = Origin @property def IpFilter(self): """IP 黑白名单配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.IpFilter` """ return self._IpFilter @IpFilter.setter def IpFilter(self, IpFilter): self._IpFilter = IpFilter @property def IpFreqLimit(self): """IP 限频配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.IpFreqLimit` """ return self._IpFreqLimit @IpFreqLimit.setter def IpFreqLimit(self, IpFreqLimit): self._IpFreqLimit = IpFreqLimit @property def StatusCodeCache(self): """状态码缓存配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.StatusCodeCache` """ return self._StatusCodeCache @StatusCodeCache.setter def StatusCodeCache(self, StatusCodeCache): self._StatusCodeCache = StatusCodeCache @property def Compression(self): """智能压缩配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Compression` """ return self._Compression @Compression.setter def Compression(self, Compression): self._Compression = Compression @property def BandwidthAlert(self): """带宽封顶配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.BandwidthAlert` """ return self._BandwidthAlert @BandwidthAlert.setter def BandwidthAlert(self, BandwidthAlert): self._BandwidthAlert = BandwidthAlert @property def RangeOriginPull(self): """Range 回源配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.RangeOriginPull` """ return self._RangeOriginPull @RangeOriginPull.setter def RangeOriginPull(self, RangeOriginPull): self._RangeOriginPull = RangeOriginPull @property def FollowRedirect(self): """301/302 回源跟随配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.FollowRedirect` """ return self._FollowRedirect @FollowRedirect.setter def FollowRedirect(self, FollowRedirect): self._FollowRedirect = FollowRedirect @property def ErrorPage(self): """错误码重定向配置(功能灰度中,尚未全量) :rtype: :class:`tencentcloud.cdn.v20180606.models.ErrorPage` """ return self._ErrorPage @ErrorPage.setter def ErrorPage(self, ErrorPage): self._ErrorPage = ErrorPage @property def RequestHeader(self): """回源请求头部配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.RequestHeader` """ return self._RequestHeader @RequestHeader.setter def RequestHeader(self, RequestHeader): self._RequestHeader = RequestHeader @property def ResponseHeader(self): """响应头部配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ResponseHeader` """ return self._ResponseHeader @ResponseHeader.setter def ResponseHeader(self, ResponseHeader): self._ResponseHeader = ResponseHeader @property def DownstreamCapping(self): """下载速度配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.DownstreamCapping` """ return self._DownstreamCapping @DownstreamCapping.setter def DownstreamCapping(self, DownstreamCapping): self._DownstreamCapping = DownstreamCapping @property def CacheKey(self): """节点缓存键配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.CacheKey` """ return self._CacheKey @CacheKey.setter def CacheKey(self, CacheKey): self._CacheKey = CacheKey @property def ResponseHeaderCache(self): """头部缓存配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ResponseHeaderCache` """ return self._ResponseHeaderCache @ResponseHeaderCache.setter def ResponseHeaderCache(self, ResponseHeaderCache): self._ResponseHeaderCache = ResponseHeaderCache @property def VideoSeek(self): """视频拖拽配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.VideoSeek` """ return self._VideoSeek @VideoSeek.setter def VideoSeek(self, VideoSeek): self._VideoSeek = VideoSeek @property def Cache(self): """缓存过期时间配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Cache` """ return self._Cache @Cache.setter def Cache(self, Cache): self._Cache = Cache @property def OriginPullOptimization(self): """跨国链路优化配置(已下线) :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginPullOptimization` """ return self._OriginPullOptimization @OriginPullOptimization.setter def OriginPullOptimization(self, OriginPullOptimization): self._OriginPullOptimization = OriginPullOptimization @property def Https(self): """Https 加速配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Https` """ return self._Https @Https.setter def Https(self, Https): self._Https = Https @property def Authentication(self): """时间戳防盗链配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Authentication` """ return self._Authentication @Authentication.setter def Authentication(self, Authentication): self._Authentication = Authentication @property def Seo(self): """SEO 优化配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Seo` """ return self._Seo @Seo.setter def Seo(self, Seo): self._Seo = Seo @property def ForceRedirect(self): """访问协议强制跳转配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ForceRedirect` """ return self._ForceRedirect @ForceRedirect.setter def ForceRedirect(self, ForceRedirect): self._ForceRedirect = ForceRedirect @property def Referer(self): """Referer 防盗链配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Referer` """ return self._Referer @Referer.setter def Referer(self, Referer): self._Referer = Referer @property def MaxAge(self): """浏览器缓存配置(功能灰度中,尚未全量) :rtype: :class:`tencentcloud.cdn.v20180606.models.MaxAge` """ return self._MaxAge @MaxAge.setter def MaxAge(self, MaxAge): self._MaxAge = MaxAge @property def SpecificConfig(self): """地域属性特殊配置 适用于域名境内加速、境外加速配置不一致场景 :rtype: :class:`tencentcloud.cdn.v20180606.models.SpecificConfig` """ return self._SpecificConfig @SpecificConfig.setter def SpecificConfig(self, SpecificConfig): self._SpecificConfig = SpecificConfig @property def ServiceType(self): """域名业务类型 web:静态加速 download:下载加速 media:流媒体点播加速 :rtype: str """ return self._ServiceType @ServiceType.setter def ServiceType(self, ServiceType): self._ServiceType = ServiceType @property def Area(self): """域名加速区域 mainland:中国境内加速 overseas:中国境外加速 global:全球加速 从mainland/overseas修改至global时,域名的配置将被同步至overseas/mainland。若域名含有后端特殊配置,此类配置的同步过程有一定延时,请耐心等待 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def OriginPullTimeout(self): """回源超时配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginPullTimeout` """ return self._OriginPullTimeout @OriginPullTimeout.setter def OriginPullTimeout(self, OriginPullTimeout): self._OriginPullTimeout = OriginPullTimeout @property def AwsPrivateAccess(self): """回源S3私有鉴权 :rtype: :class:`tencentcloud.cdn.v20180606.models.AwsPrivateAccess` """ return self._AwsPrivateAccess @AwsPrivateAccess.setter def AwsPrivateAccess(self, AwsPrivateAccess): self._AwsPrivateAccess = AwsPrivateAccess @property def UserAgentFilter(self): """UA黑白名单配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.UserAgentFilter` """ return self._UserAgentFilter @UserAgentFilter.setter def UserAgentFilter(self, UserAgentFilter): self._UserAgentFilter = UserAgentFilter @property def AccessControl(self): """访问控制 :rtype: :class:`tencentcloud.cdn.v20180606.models.AccessControl` """ return self._AccessControl @AccessControl.setter def AccessControl(self, AccessControl): self._AccessControl = AccessControl @property def UrlRedirect(self): """访问URL重写配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.UrlRedirect` """ return self._UrlRedirect @UrlRedirect.setter def UrlRedirect(self, UrlRedirect): self._UrlRedirect = UrlRedirect @property def AccessPort(self): """访问端口配置 :rtype: list of int """ return self._AccessPort @AccessPort.setter def AccessPort(self, AccessPort): self._AccessPort = AccessPort @property def AdvancedAuthentication(self): """时间戳防盗链高级版配置,白名单功能 :rtype: :class:`tencentcloud.cdn.v20180606.models.AdvancedAuthentication` """ return self._AdvancedAuthentication @AdvancedAuthentication.setter def AdvancedAuthentication(self, AdvancedAuthentication): self._AdvancedAuthentication = AdvancedAuthentication @property def OriginAuthentication(self): """回源鉴权高级版配置,白名单功能 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginAuthentication` """ return self._OriginAuthentication @OriginAuthentication.setter def OriginAuthentication(self, OriginAuthentication): self._OriginAuthentication = OriginAuthentication @property def Ipv6Access(self): """Ipv6 访问配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.Ipv6Access` """ return self._Ipv6Access @Ipv6Access.setter def Ipv6Access(self, Ipv6Access): self._Ipv6Access = Ipv6Access @property def OfflineCache(self): """离线缓存 :rtype: :class:`tencentcloud.cdn.v20180606.models.OfflineCache` """ return self._OfflineCache @OfflineCache.setter def OfflineCache(self, OfflineCache): self._OfflineCache = OfflineCache @property def OriginCombine(self): """合并回源 :rtype: :class:`tencentcloud.cdn.v20180606.models.OriginCombine` """ return self._OriginCombine @OriginCombine.setter def OriginCombine(self, OriginCombine): self._OriginCombine = OriginCombine @property def PostMaxSize(self): """POST请求传输配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.PostSize` """ return self._PostMaxSize @PostMaxSize.setter def PostMaxSize(self, PostMaxSize): self._PostMaxSize = PostMaxSize @property def Quic(self): """Quic访问(收费服务,详见计费说明和产品文档) :rtype: :class:`tencentcloud.cdn.v20180606.models.Quic` """ return self._Quic @Quic.setter def Quic(self, Quic): self._Quic = Quic @property def OssPrivateAccess(self): """回源OSS私有鉴权 :rtype: :class:`tencentcloud.cdn.v20180606.models.OssPrivateAccess` """ return self._OssPrivateAccess @OssPrivateAccess.setter def OssPrivateAccess(self, OssPrivateAccess): self._OssPrivateAccess = OssPrivateAccess @property def WebSocket(self): """WebSocket配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.WebSocket` """ return self._WebSocket @WebSocket.setter def WebSocket(self, WebSocket): self._WebSocket = WebSocket @property def RemoteAuthentication(self): """远程鉴权配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.RemoteAuthentication` """ return self._RemoteAuthentication @RemoteAuthentication.setter def RemoteAuthentication(self, RemoteAuthentication): self._RemoteAuthentication = RemoteAuthentication @property def ShareCname(self): """共享CNAME配置,白名单功能 :rtype: :class:`tencentcloud.cdn.v20180606.models.ShareCname` """ return self._ShareCname @ShareCname.setter def ShareCname(self, ShareCname): self._ShareCname = ShareCname @property def HwPrivateAccess(self): """华为云对象存储回源鉴权 :rtype: :class:`tencentcloud.cdn.v20180606.models.HwPrivateAccess` """ return self._HwPrivateAccess @HwPrivateAccess.setter def HwPrivateAccess(self, HwPrivateAccess): self._HwPrivateAccess = HwPrivateAccess @property def QnPrivateAccess(self): """七牛云对象存储回源鉴权 :rtype: :class:`tencentcloud.cdn.v20180606.models.QnPrivateAccess` """ return self._QnPrivateAccess @QnPrivateAccess.setter def QnPrivateAccess(self, QnPrivateAccess): self._QnPrivateAccess = QnPrivateAccess @property def OthersPrivateAccess(self): """其他厂商对象存储回源鉴权 :rtype: :class:`tencentcloud.cdn.v20180606.models.OthersPrivateAccess` """ return self._OthersPrivateAccess @OthersPrivateAccess.setter def OthersPrivateAccess(self, OthersPrivateAccess): self._OthersPrivateAccess = OthersPrivateAccess @property def HttpsBilling(self): """HTTPS服务(收费服务,详见计费说明和产品文档) :rtype: :class:`tencentcloud.cdn.v20180606.models.HttpsBilling` """ return self._HttpsBilling @HttpsBilling.setter def HttpsBilling(self, HttpsBilling): self._HttpsBilling = HttpsBilling @property def ParamFilter(self): """参数黑名单 :rtype: :class:`tencentcloud.cdn.v20180606.models.ParamFilter` """ return self._ParamFilter @ParamFilter.setter def ParamFilter(self, ParamFilter): self._ParamFilter = ParamFilter def _deserialize(self, params): self._Domain = params.get("Domain") self._ProjectId = params.get("ProjectId") if params.get("Origin") is not None: self._Origin = Origin() self._Origin._deserialize(params.get("Origin")) if params.get("IpFilter") is not None: self._IpFilter = IpFilter() self._IpFilter._deserialize(params.get("IpFilter")) if params.get("IpFreqLimit") is not None: self._IpFreqLimit = IpFreqLimit() self._IpFreqLimit._deserialize(params.get("IpFreqLimit")) if params.get("StatusCodeCache") is not None: self._StatusCodeCache = StatusCodeCache() self._StatusCodeCache._deserialize(params.get("StatusCodeCache")) if params.get("Compression") is not None: self._Compression = Compression() self._Compression._deserialize(params.get("Compression")) if params.get("BandwidthAlert") is not None: self._BandwidthAlert = BandwidthAlert() self._BandwidthAlert._deserialize(params.get("BandwidthAlert")) if params.get("RangeOriginPull") is not None: self._RangeOriginPull = RangeOriginPull() self._RangeOriginPull._deserialize(params.get("RangeOriginPull")) if params.get("FollowRedirect") is not None: self._FollowRedirect = FollowRedirect() self._FollowRedirect._deserialize(params.get("FollowRedirect")) if params.get("ErrorPage") is not None: self._ErrorPage = ErrorPage() self._ErrorPage._deserialize(params.get("ErrorPage")) if params.get("RequestHeader") is not None: self._RequestHeader = RequestHeader() self._RequestHeader._deserialize(params.get("RequestHeader")) if params.get("ResponseHeader") is not None: self._ResponseHeader = ResponseHeader() self._ResponseHeader._deserialize(params.get("ResponseHeader")) if params.get("DownstreamCapping") is not None: self._DownstreamCapping = DownstreamCapping() self._DownstreamCapping._deserialize(params.get("DownstreamCapping")) if params.get("CacheKey") is not None: self._CacheKey = CacheKey() self._CacheKey._deserialize(params.get("CacheKey")) if params.get("ResponseHeaderCache") is not None: self._ResponseHeaderCache = ResponseHeaderCache() self._ResponseHeaderCache._deserialize(params.get("ResponseHeaderCache")) if params.get("VideoSeek") is not None: self._VideoSeek = VideoSeek() self._VideoSeek._deserialize(params.get("VideoSeek")) if params.get("Cache") is not None: self._Cache = Cache() self._Cache._deserialize(params.get("Cache")) if params.get("OriginPullOptimization") is not None: self._OriginPullOptimization = OriginPullOptimization() self._OriginPullOptimization._deserialize(params.get("OriginPullOptimization")) if params.get("Https") is not None: self._Https = Https() self._Https._deserialize(params.get("Https")) if params.get("Authentication") is not None: self._Authentication = Authentication() self._Authentication._deserialize(params.get("Authentication")) if params.get("Seo") is not None: self._Seo = Seo() self._Seo._deserialize(params.get("Seo")) if params.get("ForceRedirect") is not None: self._ForceRedirect = ForceRedirect() self._ForceRedirect._deserialize(params.get("ForceRedirect")) if params.get("Referer") is not None: self._Referer = Referer() self._Referer._deserialize(params.get("Referer")) if params.get("MaxAge") is not None: self._MaxAge = MaxAge() self._MaxAge._deserialize(params.get("MaxAge")) if params.get("SpecificConfig") is not None: self._SpecificConfig = SpecificConfig() self._SpecificConfig._deserialize(params.get("SpecificConfig")) self._ServiceType = params.get("ServiceType") self._Area = params.get("Area") if params.get("OriginPullTimeout") is not None: self._OriginPullTimeout = OriginPullTimeout() self._OriginPullTimeout._deserialize(params.get("OriginPullTimeout")) if params.get("AwsPrivateAccess") is not None: self._AwsPrivateAccess = AwsPrivateAccess() self._AwsPrivateAccess._deserialize(params.get("AwsPrivateAccess")) if params.get("UserAgentFilter") is not None: self._UserAgentFilter = UserAgentFilter() self._UserAgentFilter._deserialize(params.get("UserAgentFilter")) if params.get("AccessControl") is not None: self._AccessControl = AccessControl() self._AccessControl._deserialize(params.get("AccessControl")) if params.get("UrlRedirect") is not None: self._UrlRedirect = UrlRedirect() self._UrlRedirect._deserialize(params.get("UrlRedirect")) self._AccessPort = params.get("AccessPort") if params.get("AdvancedAuthentication") is not None: self._AdvancedAuthentication = AdvancedAuthentication() self._AdvancedAuthentication._deserialize(params.get("AdvancedAuthentication")) if params.get("OriginAuthentication") is not None: self._OriginAuthentication = OriginAuthentication() self._OriginAuthentication._deserialize(params.get("OriginAuthentication")) if params.get("Ipv6Access") is not None: self._Ipv6Access = Ipv6Access() self._Ipv6Access._deserialize(params.get("Ipv6Access")) if params.get("OfflineCache") is not None: self._OfflineCache = OfflineCache() self._OfflineCache._deserialize(params.get("OfflineCache")) if params.get("OriginCombine") is not None: self._OriginCombine = OriginCombine() self._OriginCombine._deserialize(params.get("OriginCombine")) if params.get("PostMaxSize") is not None: self._PostMaxSize = PostSize() self._PostMaxSize._deserialize(params.get("PostMaxSize")) if params.get("Quic") is not None: self._Quic = Quic() self._Quic._deserialize(params.get("Quic")) if params.get("OssPrivateAccess") is not None: self._OssPrivateAccess = OssPrivateAccess() self._OssPrivateAccess._deserialize(params.get("OssPrivateAccess")) if params.get("WebSocket") is not None: self._WebSocket = WebSocket() self._WebSocket._deserialize(params.get("WebSocket")) if params.get("RemoteAuthentication") is not None: self._RemoteAuthentication = RemoteAuthentication() self._RemoteAuthentication._deserialize(params.get("RemoteAuthentication")) if params.get("ShareCname") is not None: self._ShareCname = ShareCname() self._ShareCname._deserialize(params.get("ShareCname")) if params.get("HwPrivateAccess") is not None: self._HwPrivateAccess = HwPrivateAccess() self._HwPrivateAccess._deserialize(params.get("HwPrivateAccess")) if params.get("QnPrivateAccess") is not None: self._QnPrivateAccess = QnPrivateAccess() self._QnPrivateAccess._deserialize(params.get("QnPrivateAccess")) if params.get("OthersPrivateAccess") is not None: self._OthersPrivateAccess = OthersPrivateAccess() self._OthersPrivateAccess._deserialize(params.get("OthersPrivateAccess")) if params.get("HttpsBilling") is not None: self._HttpsBilling = HttpsBilling() self._HttpsBilling._deserialize(params.get("HttpsBilling")) if params.get("ParamFilter") is not None: self._ParamFilter = ParamFilter() self._ParamFilter._deserialize(params.get("ParamFilter")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UpdateDomainConfigResponse(AbstractModel): """UpdateDomainConfig返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class UpdateImageConfigRequest(AbstractModel): """UpdateImageConfig请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _WebpAdapter: WebpAdapter配置项 :type WebpAdapter: :class:`tencentcloud.cdn.v20180606.models.WebpAdapter` :param _TpgAdapter: TpgAdapter配置项 :type TpgAdapter: :class:`tencentcloud.cdn.v20180606.models.TpgAdapter` :param _GuetzliAdapter: GuetzliAdapter配置项 :type GuetzliAdapter: :class:`tencentcloud.cdn.v20180606.models.GuetzliAdapter` :param _AvifAdapter: AvifAdapter配置项 :type AvifAdapter: :class:`tencentcloud.cdn.v20180606.models.AvifAdapter` """ self._Domain = None self._WebpAdapter = None self._TpgAdapter = None self._GuetzliAdapter = None self._AvifAdapter = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def WebpAdapter(self): """WebpAdapter配置项 :rtype: :class:`tencentcloud.cdn.v20180606.models.WebpAdapter` """ return self._WebpAdapter @WebpAdapter.setter def WebpAdapter(self, WebpAdapter): self._WebpAdapter = WebpAdapter @property def TpgAdapter(self): """TpgAdapter配置项 :rtype: :class:`tencentcloud.cdn.v20180606.models.TpgAdapter` """ return self._TpgAdapter @TpgAdapter.setter def TpgAdapter(self, TpgAdapter): self._TpgAdapter = TpgAdapter @property def GuetzliAdapter(self): """GuetzliAdapter配置项 :rtype: :class:`tencentcloud.cdn.v20180606.models.GuetzliAdapter` """ return self._GuetzliAdapter @GuetzliAdapter.setter def GuetzliAdapter(self, GuetzliAdapter): self._GuetzliAdapter = GuetzliAdapter @property def AvifAdapter(self): """AvifAdapter配置项 :rtype: :class:`tencentcloud.cdn.v20180606.models.AvifAdapter` """ return self._AvifAdapter @AvifAdapter.setter def AvifAdapter(self, AvifAdapter): self._AvifAdapter = AvifAdapter def _deserialize(self, params): self._Domain = params.get("Domain") if params.get("WebpAdapter") is not None: self._WebpAdapter = WebpAdapter() self._WebpAdapter._deserialize(params.get("WebpAdapter")) if params.get("TpgAdapter") is not None: self._TpgAdapter = TpgAdapter() self._TpgAdapter._deserialize(params.get("TpgAdapter")) if params.get("GuetzliAdapter") is not None: self._GuetzliAdapter = GuetzliAdapter() self._GuetzliAdapter._deserialize(params.get("GuetzliAdapter")) if params.get("AvifAdapter") is not None: self._AvifAdapter = AvifAdapter() self._AvifAdapter._deserialize(params.get("AvifAdapter")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UpdateImageConfigResponse(AbstractModel): """UpdateImageConfig返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class UpdatePayTypeRequest(AbstractModel): """UpdatePayType请求参数结构体 """ def __init__(self): r""" :param _Area: 计费区域,mainland或overseas。 :type Area: str :param _PayType: 计费类型,flux或bandwidth。 :type PayType: str """ self._Area = None self._PayType = None @property def Area(self): """计费区域,mainland或overseas。 :rtype: str """ return self._Area @Area.setter def Area(self, Area): self._Area = Area @property def PayType(self): """计费类型,flux或bandwidth。 :rtype: str """ return self._PayType @PayType.setter def PayType(self, PayType): self._PayType = PayType def _deserialize(self, params): self._Area = params.get("Area") self._PayType = params.get("PayType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UpdatePayTypeResponse(AbstractModel): """UpdatePayType返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class UpdateScdnDomainRequest(AbstractModel): """UpdateScdnDomain请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _Waf: Web 攻击防护(WAF)配置 :type Waf: :class:`tencentcloud.cdn.v20180606.models.ScdnWafConfig` :param _Acl: 自定义防护策略配置 :type Acl: :class:`tencentcloud.cdn.v20180606.models.ScdnAclConfig` :param _CC: CC 防护配置,目前 CC 防护默认开启 :type CC: :class:`tencentcloud.cdn.v20180606.models.ScdnConfig` :param _Ddos: DDOS 防护配置,目前 DDoS 防护默认开启 :type Ddos: :class:`tencentcloud.cdn.v20180606.models.ScdnDdosConfig` :param _Bot: BOT 防护配置 :type Bot: :class:`tencentcloud.cdn.v20180606.models.ScdnBotConfig` """ self._Domain = None self._Waf = None self._Acl = None self._CC = None self._Ddos = None self._Bot = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def Waf(self): """Web 攻击防护(WAF)配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnWafConfig` """ return self._Waf @Waf.setter def Waf(self, Waf): self._Waf = Waf @property def Acl(self): """自定义防护策略配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnAclConfig` """ return self._Acl @Acl.setter def Acl(self, Acl): self._Acl = Acl @property def CC(self): """CC 防护配置,目前 CC 防护默认开启 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnConfig` """ return self._CC @CC.setter def CC(self, CC): self._CC = CC @property def Ddos(self): """DDOS 防护配置,目前 DDoS 防护默认开启 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnDdosConfig` """ return self._Ddos @Ddos.setter def Ddos(self, Ddos): self._Ddos = Ddos @property def Bot(self): """BOT 防护配置 :rtype: :class:`tencentcloud.cdn.v20180606.models.ScdnBotConfig` """ return self._Bot @Bot.setter def Bot(self, Bot): self._Bot = Bot def _deserialize(self, params): self._Domain = params.get("Domain") if params.get("Waf") is not None: self._Waf = ScdnWafConfig() self._Waf._deserialize(params.get("Waf")) if params.get("Acl") is not None: self._Acl = ScdnAclConfig() self._Acl._deserialize(params.get("Acl")) if params.get("CC") is not None: self._CC = ScdnConfig() self._CC._deserialize(params.get("CC")) if params.get("Ddos") is not None: self._Ddos = ScdnDdosConfig() self._Ddos._deserialize(params.get("Ddos")) if params.get("Bot") is not None: self._Bot = ScdnBotConfig() self._Bot._deserialize(params.get("Bot")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UpdateScdnDomainResponse(AbstractModel): """UpdateScdnDomain返回参数结构体 """ def __init__(self): r""" :param _Result: 提交结果,Success表示成功 :type Result: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Result = None self._RequestId = None @property def Result(self): """提交结果,Success表示成功 :rtype: str """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Result = params.get("Result") self._RequestId = params.get("RequestId") class UrlRecord(AbstractModel): """封禁url的详细信息 """ def __init__(self): r""" :param _Status: 状态(disable表示封禁,enable表示解封) 注意:此字段可能返回 null,表示取不到有效值。 :type Status: str :param _RealUrl: 对应的url 注意:此字段可能返回 null,表示取不到有效值。 :type RealUrl: str :param _CreateTime: 创建时间 注意:此字段可能返回 null,表示取不到有效值。 :type CreateTime: str :param _UpdateTime: 更新时间 注意:此字段可能返回 null,表示取不到有效值。 :type UpdateTime: str """ self._Status = None self._RealUrl = None self._CreateTime = None self._UpdateTime = None @property def Status(self): """状态(disable表示封禁,enable表示解封) 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def RealUrl(self): """对应的url 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RealUrl @RealUrl.setter def RealUrl(self, RealUrl): self._RealUrl = RealUrl @property def CreateTime(self): """创建时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def UpdateTime(self): """更新时间 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._UpdateTime @UpdateTime.setter def UpdateTime(self, UpdateTime): self._UpdateTime = UpdateTime def _deserialize(self, params): self._Status = params.get("Status") self._RealUrl = params.get("RealUrl") self._CreateTime = params.get("CreateTime") self._UpdateTime = params.get("UpdateTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UrlRedirect(AbstractModel): """访问URL重写配置 """ def __init__(self): r""" :param _Switch: 访问URL重写配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _PathRules: 访问URL重写规则,当Switch为on时必填,规则数量最大为10个。 注意:此字段可能返回 null,表示取不到有效值。 :type PathRules: list of UrlRedirectRule """ self._Switch = None self._PathRules = None @property def Switch(self): """访问URL重写配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def PathRules(self): """访问URL重写规则,当Switch为on时必填,规则数量最大为10个。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of UrlRedirectRule """ return self._PathRules @PathRules.setter def PathRules(self, PathRules): self._PathRules = PathRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("PathRules") is not None: self._PathRules = [] for item in params.get("PathRules"): obj = UrlRedirectRule() obj._deserialize(item) self._PathRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UrlRedirectRule(AbstractModel): """Url重定向规则配置 """ def __init__(self): r""" :param _RedirectStatusCode: 重定向状态码,301 | 302 :type RedirectStatusCode: int :param _Pattern: 待匹配的Url,仅支持Url路径,不支持参数。默认完全匹配,支持通配符 *,最多支持5个通配符,最大长度1024字符。 :type Pattern: str :param _RedirectUrl: 目标URL,必须以“/”开头,不包含参数部分。最大长度1024字符。可使用$1, $2, $3, $4, $5分别捕获匹配路径中的通配符号,最多支持10个捕获值。 :type RedirectUrl: str :param _RedirectHost: 目标host,必须以http://或https://开头,并填写标准格式域名,如果不填写,默认为http:// + 当前域名 注意:此字段可能返回 null,表示取不到有效值。 :type RedirectHost: str :param _FullMatch: 指定是全路径配置还是任意匹配 注意:此字段可能返回 null,表示取不到有效值。 :type FullMatch: bool """ self._RedirectStatusCode = None self._Pattern = None self._RedirectUrl = None self._RedirectHost = None self._FullMatch = None @property def RedirectStatusCode(self): """重定向状态码,301 | 302 :rtype: int """ return self._RedirectStatusCode @RedirectStatusCode.setter def RedirectStatusCode(self, RedirectStatusCode): self._RedirectStatusCode = RedirectStatusCode @property def Pattern(self): """待匹配的Url,仅支持Url路径,不支持参数。默认完全匹配,支持通配符 *,最多支持5个通配符,最大长度1024字符。 :rtype: str """ return self._Pattern @Pattern.setter def Pattern(self, Pattern): self._Pattern = Pattern @property def RedirectUrl(self): """目标URL,必须以“/”开头,不包含参数部分。最大长度1024字符。可使用$1, $2, $3, $4, $5分别捕获匹配路径中的通配符号,最多支持10个捕获值。 :rtype: str """ return self._RedirectUrl @RedirectUrl.setter def RedirectUrl(self, RedirectUrl): self._RedirectUrl = RedirectUrl @property def RedirectHost(self): """目标host,必须以http://或https://开头,并填写标准格式域名,如果不填写,默认为http:// + 当前域名 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RedirectHost @RedirectHost.setter def RedirectHost(self, RedirectHost): self._RedirectHost = RedirectHost @property def FullMatch(self): """指定是全路径配置还是任意匹配 注意:此字段可能返回 null,表示取不到有效值。 :rtype: bool """ return self._FullMatch @FullMatch.setter def FullMatch(self, FullMatch): self._FullMatch = FullMatch def _deserialize(self, params): self._RedirectStatusCode = params.get("RedirectStatusCode") self._Pattern = params.get("Pattern") self._RedirectUrl = params.get("RedirectUrl") self._RedirectHost = params.get("RedirectHost") self._FullMatch = params.get("FullMatch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UserAgentFilter(AbstractModel): """UserAgent黑白名单配置 """ def __init__(self): r""" :param _Switch: UserAgent黑白名单配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str :param _FilterRules: UA黑白名单生效规则列表 注意:此字段可能返回 null,表示取不到有效值。 :type FilterRules: list of UserAgentFilterRule """ self._Switch = None self._FilterRules = None @property def Switch(self): """UserAgent黑白名单配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def FilterRules(self): """UA黑白名单生效规则列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of UserAgentFilterRule """ return self._FilterRules @FilterRules.setter def FilterRules(self, FilterRules): self._FilterRules = FilterRules def _deserialize(self, params): self._Switch = params.get("Switch") if params.get("FilterRules") is not None: self._FilterRules = [] for item in params.get("FilterRules"): obj = UserAgentFilterRule() obj._deserialize(item) self._FilterRules.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UserAgentFilterRule(AbstractModel): """UserAgent黑白名单规则配置 """ def __init__(self): r""" :param _RuleType: 访问路径生效类型 all: 所有访问路径生效 file: 根据文件后缀类型生效 directory: 根据目录生效 path: 根据完整访问路径生效 注意:此字段可能返回 null,表示取不到有效值。 :type RuleType: str :param _RulePaths: 访问路径生效内容 注意:此字段可能返回 null,表示取不到有效值。 :type RulePaths: list of str :param _UserAgents: UserAgent列表 注意:此字段可能返回 null,表示取不到有效值。 :type UserAgents: list of str :param _FilterType: 黑名单或白名单,blacklist或whitelist 注意:此字段可能返回 null,表示取不到有效值。 :type FilterType: str """ self._RuleType = None self._RulePaths = None self._UserAgents = None self._FilterType = None @property def RuleType(self): """访问路径生效类型 all: 所有访问路径生效 file: 根据文件后缀类型生效 directory: 根据目录生效 path: 根据完整访问路径生效 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._RuleType @RuleType.setter def RuleType(self, RuleType): self._RuleType = RuleType @property def RulePaths(self): """访问路径生效内容 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._RulePaths @RulePaths.setter def RulePaths(self, RulePaths): self._RulePaths = RulePaths @property def UserAgents(self): """UserAgent列表 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._UserAgents @UserAgents.setter def UserAgents(self, UserAgents): self._UserAgents = UserAgents @property def FilterType(self): """黑名单或白名单,blacklist或whitelist 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._FilterType @FilterType.setter def FilterType(self, FilterType): self._FilterType = FilterType def _deserialize(self, params): self._RuleType = params.get("RuleType") self._RulePaths = params.get("RulePaths") self._UserAgents = params.get("UserAgents") self._FilterType = params.get("FilterType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class VerifyDomainRecordRequest(AbstractModel): """VerifyDomainRecord请求参数结构体 """ def __init__(self): r""" :param _Domain: 域名 :type Domain: str :param _VerifyType: 验证方式 dns: DNS 解析验证(默认值) file: 文件验证 :type VerifyType: str """ self._Domain = None self._VerifyType = None @property def Domain(self): """域名 :rtype: str """ return self._Domain @Domain.setter def Domain(self, Domain): self._Domain = Domain @property def VerifyType(self): """验证方式 dns: DNS 解析验证(默认值) file: 文件验证 :rtype: str """ return self._VerifyType @VerifyType.setter def VerifyType(self, VerifyType): self._VerifyType = VerifyType def _deserialize(self, params): self._Domain = params.get("Domain") self._VerifyType = params.get("VerifyType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class VerifyDomainRecordResponse(AbstractModel): """VerifyDomainRecord返回参数结构体 """ def __init__(self): r""" :param _Result: 是否验证成功 :type Result: bool :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Result = None self._RequestId = None @property def Result(self): """是否验证成功 :rtype: bool """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Result = params.get("Result") self._RequestId = params.get("RequestId") class VideoSeek(AbstractModel): """视频拖拽配置,默认为关闭状态 """ def __init__(self): r""" :param _Switch: 视频拖拽配置开关,取值有: on:开启 off:关闭 :type Switch: str """ self._Switch = None @property def Switch(self): """视频拖拽配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ViolationUrl(AbstractModel): """违规 URL 详情 """ def __init__(self): r""" :param _Id: ID :type Id: int :param _RealUrl: 违规资源原始访问 URL :type RealUrl: str :param _DownloadUrl: 快照路径,用于控制台展示违规内容快照 :type DownloadUrl: str :param _UrlStatus: 违规资源当前状态 forbid:已封禁 release:已解封 delay : 延迟处理 reject :申诉驳回,状态仍为封禁状态 complain:申诉进行中 :type UrlStatus: str :param _CreateTime: 创建时间 :type CreateTime: str :param _UpdateTime: 更新时间 :type UpdateTime: str """ self._Id = None self._RealUrl = None self._DownloadUrl = None self._UrlStatus = None self._CreateTime = None self._UpdateTime = None @property def Id(self): """ID :rtype: int """ return self._Id @Id.setter def Id(self, Id): self._Id = Id @property def RealUrl(self): """违规资源原始访问 URL :rtype: str """ return self._RealUrl @RealUrl.setter def RealUrl(self, RealUrl): self._RealUrl = RealUrl @property def DownloadUrl(self): """快照路径,用于控制台展示违规内容快照 :rtype: str """ return self._DownloadUrl @DownloadUrl.setter def DownloadUrl(self, DownloadUrl): self._DownloadUrl = DownloadUrl @property def UrlStatus(self): """违规资源当前状态 forbid:已封禁 release:已解封 delay : 延迟处理 reject :申诉驳回,状态仍为封禁状态 complain:申诉进行中 :rtype: str """ return self._UrlStatus @UrlStatus.setter def UrlStatus(self, UrlStatus): self._UrlStatus = UrlStatus @property def CreateTime(self): """创建时间 :rtype: str """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def UpdateTime(self): """更新时间 :rtype: str """ return self._UpdateTime @UpdateTime.setter def UpdateTime(self, UpdateTime): self._UpdateTime = UpdateTime def _deserialize(self, params): self._Id = params.get("Id") self._RealUrl = params.get("RealUrl") self._DownloadUrl = params.get("DownloadUrl") self._UrlStatus = params.get("UrlStatus") self._CreateTime = params.get("CreateTime") self._UpdateTime = params.get("UpdateTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class WafSubRuleStatus(AbstractModel): """Waf子规则开关状态 """ def __init__(self): r""" :param _Switch: Waf子规则开关状态配置开关,取值有: on:开启 off:关闭 :type Switch: str :param _SubIds: 规则id列表 :type SubIds: list of int """ self._Switch = None self._SubIds = None @property def Switch(self): """Waf子规则开关状态配置开关,取值有: on:开启 off:关闭 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def SubIds(self): """规则id列表 :rtype: list of int """ return self._SubIds @SubIds.setter def SubIds(self, SubIds): self._SubIds = SubIds def _deserialize(self, params): self._Switch = params.get("Switch") self._SubIds = params.get("SubIds") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class WebSocket(AbstractModel): """WebSocket配置 WebSocket 为ECDN产品功能,如需使用请通过ECDN域名配置. """ def __init__(self): r""" :param _Switch: WebSocket 超时配置开关,取值有: on:开启,可以调整超时时间 off:关闭,平台仍支持WebSocket连接,此时超时时间默认为15秒 :type Switch: str :param _Timeout: 设置超时时间,单位为秒,最大超时时间300秒。 注意:此字段可能返回 null,表示取不到有效值。 :type Timeout: int """ self._Switch = None self._Timeout = None @property def Switch(self): """WebSocket 超时配置开关,取值有: on:开启,可以调整超时时间 off:关闭,平台仍支持WebSocket连接,此时超时时间默认为15秒 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch @property def Timeout(self): """设置超时时间,单位为秒,最大超时时间300秒。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Timeout @Timeout.setter def Timeout(self, Timeout): self._Timeout = Timeout def _deserialize(self, params): self._Switch = params.get("Switch") self._Timeout = params.get("Timeout") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class WebpAdapter(AbstractModel): """图片优化-WebpAdapter配置 """ def __init__(self): r""" :param _Switch: 图片优化-WebpAdapter配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :type Switch: str """ self._Switch = None @property def Switch(self): """图片优化-WebpAdapter配置开关,取值有: on:开启 off:关闭 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._Switch @Switch.setter def Switch(self, Switch): self._Switch = Switch def _deserialize(self, params): self._Switch = params.get("Switch") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set))
Memory