tenyun
Version:
Promise based and chained Tencent Cloud OpenAPI client for NodeJS
1,403 lines (1,291 loc) • 459 kB
TypeScript
/// <reference types="node" />
import { AxiosPromise, AxiosRequestConfig } from "axios";
/** API 资源。 */
declare interface APIResource {
/** 资源 ID。 */
Id?: string;
/** 资源名称。 */
Name?: string;
/** API 资源关联的 API 服务 ID 列表。 */
APIServiceIds?: string[];
/** 资源路径。 */
Path?: string;
/** 请求方法列表。支持以下取值:GET, POST, PUT, HEAD, PATCH, OPTIONS, DELETE。 */
Methods?: string[];
/** 请求内容匹配规则的具体内容,需符合表达式语法,详细规范参见产品文档。 */
RequestConstraint?: string;
}
/** API 服务配置。 */
declare interface APIService {
/** API 服务 ID。 */
Id?: string;
/** API 服务名称。 */
Name?: string;
/** 基础路径。 */
BasePath?: string;
}
/** 中国大陆加速优化配置。 */
declare interface AccelerateMainland {
/** 是否开启中国大陆加速优化配置,取值有:on:开启;off:关闭。 */
Switch: string;
}
/** 中国大陆加速优化配置。 */
declare interface AccelerateMainlandParameters {
/** 中国大陆加速优化配置开关,取值有:on:开启;off:关闭。 */
Switch?: string;
}
/** 加速类型 */
declare interface AccelerateType {
/** 加速开关。取值范围: on:打开;off:关闭。 */
Switch: string;
}
/** 加速域名 */
declare interface AccelerationDomain {
/** 站点 ID。 */
ZoneId?: string;
/** 加速域名名称。 */
DomainName?: string;
/** 加速域名状态,取值有:online:已生效;process:部署中;offline:已停用;forbidden:已封禁;init:未生效,待激活站点。 */
DomainStatus?: string;
/** CNAME 地址。 */
Cname?: string;
/** IPv6 状态,取值有:follow:遵循站点IPv6配置;on:开启状态;off:关闭状态。 */
IPv6Status?: string | null;
/** 加速域名归属权验证状态,取值有: pending:待验证;finished:已完成验证。 */
IdentificationStatus?: string | null;
/** 加速域名需进行归属权验证才能继续提供服务时,该对象会携带对应验证方式所需要的信息。 */
OwnershipVerification?: OwnershipVerification | null;
/** 源站信息。 */
OriginDetail?: OriginDetail | null;
/** 回源协议,取值有:FOLLOW:协议跟随;HTTP:HTTP协议回源;HTTPS:HTTPS协议回源。 */
OriginProtocol?: string | null;
/** HTTP 回源端口。 */
HttpOriginPort?: number | null;
/** HTTPS 回源端口。 */
HttpsOriginPort?: number | null;
/** 加速域名证书信息。 */
Certificate?: AccelerationDomainCertificate | null;
/** 创建时间。 */
CreatedOn?: string;
/** 修改时间。 */
ModifiedOn?: string;
}
/** 加速域名所对应的证书信息。 */
declare interface AccelerationDomainCertificate {
/** 配置服务端证书的模式,取值有: disable:不配置服务端证书; eofreecert:通过自动验证申请免费证书并部署。验证方式详见:[申请免费证书支持的验证方式](https://cloud.tencent.com/document/product/1552/90437) - 在 NS 或者 DNSPod 托管接入模式下,仅支持自动验证的方式申请免费证书。 - 当免费证书申请失败时会导致证书部署失败,您可以通过检查免费证书申请结果接口获取申请失败原因。eofreecert_manual:部署 DNS 委派验证或者文件验证申请的免费证书。在部署免费证书前,您需要触发申请免费证书接口申请免费证书。在免费证书申请成功后,你可以通过该枚举值对免费证书进行部署; 注意:在对免费证书部署时,需要保证当前已存在申请成功的免费证书。您可以通过检查免费证书申请结果接口检查当前是否已存在申请成功的免费证书。 sslcert:配置 SSL 托管服务端证书。 */
Mode?: string;
/** 服务端证书列表,相关证书部署在 EO 的入口侧。 */
List?: CertificateInfo[] | null;
/** 在边缘双向认证场景下,该字段为客户端的 CA 证书,部署在 EO 节点内,用于 EO 节点认证客户端证书。 */
ClientCertInfo?: MutualTLS;
/** 用于 EO 节点回源时携带的证书,源站启用双向认证握手时使用,用于源站认证客户端证书是否有效,确保请求来源于受信任的 EO 节点。 */
UpstreamCertInfo?: UpstreamCertInfo;
}
/** 访问 URL 重定向 配置参数。 */
declare interface AccessURLRedirectParameters {
/** 状态码,取值为 301、302、303、307、308 之一。 */
StatusCode?: number;
/** 目标请求协议,取值有:http:目标请求协议 HTTP;https:目标请求协议 HTTPS;follow:跟随请求。 */
Protocol?: string;
/** 目标 HostName 。 */
HostName?: HostName | null;
/** 目标路径。 */
URLPath?: URLPath | null;
/** 携带查询参数。 */
QueryString?: AccessURLRedirectQueryString | null;
}
/** 访问 URL 重定向 配置参数。 */
declare interface AccessURLRedirectQueryString {
/** 执行动作,取值有:full:全部保留;ignore:全部忽略。 */
Action?: string;
}
/** 精准防护条件 */
declare interface AclCondition {
/** 匹配字段,取值有:host:请求域名;sip:客户端IP;ua:User-Agent;cookie:会话 Cookie;cgi:CGI 脚本;xff:XFF 扩展头部;url:请求 URL;accept:请求内容类型;method:请求方式;header:请求头部;app_proto:应用层协议;sip_proto:网络层协议;uabot:UA 特征规则,仅bot自定义规则可用;idcid:IDC 规则,仅bot自定义规则可用;sipbot:搜索引擎规则,仅bot自定义规则可用;portrait:画像分析,仅bot自定义规则可用;header_seq:请求头顺序,仅bot自定义规则可用;hdr:请求正文,仅Web防护自定义规则可用。 */
MatchFrom: string;
/** 匹配字符串。当 MatchFrom 为 header 时,可以填入 header 的 key 作为参数。 */
MatchParam: string;
/** 匹配关系,取值有:equal:字符串等于;not_equal:数值不等于;include:字符包含;not_include:字符不包含;match:ip匹配;not_match:ip不匹配;include_area:地域包含;is_empty:存在字段但值为空;not_exists:不存在关键字段;regexp:正则匹配;len_gt:数值大于;len_lt:数值小于;len_eq:数值等于;match_prefix:前缀匹配;match_suffix:后缀匹配;wildcard:通配符。 */
Operator: string;
/** 匹配内容。 */
MatchContent: string;
}
/** ACL配置 */
declare interface AclConfig {
/** 开关,取值有: on:开启; off:关闭。 */
Switch: string;
/** 用户自定义规则。 */
AclUserRules: AclUserRule[];
/** 托管定制规则 */
Customizes?: AclUserRule[];
}
/** 用户自定义规则 */
declare interface AclUserRule {
/** 规则名。 */
RuleName: string;
/** 处罚动作,取值有:trans:放行;drop:拦截;monitor:观察;ban:IP 封禁;redirect:重定向;page:指定页面;alg:JavaScript 挑战。 */
Action: string;
/** 规则状态,取值有:on:生效;off:失效。 */
RuleStatus: string;
/** 自定义规则。 */
AclConditions: AclCondition[];
/** 规则优先级,取值范围0-100。 */
RulePriority: number;
/** 规则 Id。仅出参使用。 */
RuleID?: number;
/** 更新时间。仅出参使用。 */
UpdateTime?: string;
/** ip 封禁的惩罚时间。Action 是 ban 时必填,且不能为空,取值范围0-2天。 */
PunishTime?: number;
/** ip 封禁的惩罚时间单位,取值有:second:秒;minutes:分;hour:小时。默认为 second。 */
PunishTimeUnit?: string;
/** 自定义返回页面的名称。Action 是 page 时必填,且不能为空。 */
Name?: string;
/** 自定义返回页面的实例 Id。默认为0,代表使用系统默认拦截页面。该参数已废弃。 */
PageId?: number;
/** 自定义响应 Id。该 Id 可通过查询自定义错误页列表接口获取。默认值为default,使用系统默认页面。Action 是 page 时必填,且不能为空。 */
CustomResponseId?: string;
/** 自定义返回页面的响应码。Action 是 page 时必填,且不能为空,取值: 100~600,不支持 3xx 响应码。默认值:567。 */
ResponseCode?: number;
/** 重定向时候的地址。Action 是 redirect 时必填,且不能为空。 */
RedirectUrl?: string;
}
/** 规则引擎功能项操作,对于一种功能只对应下面三种类型的其中一种,RuleAction 数组中的每一项只能是其中一个类型,更多功能项的填写规范可调用接口 [查询规则引擎的设置参数](https://cloud.tencent.com/document/product/1552/80618) 查看。 */
declare interface Action {
/** 常规功能操作,选择该类型的功能项有: 访问URL 重写(AccessUrlRedirect); 回源 URL 重写 (UpstreamUrlRedirect); QUIC(QUIC); WebSocket (WebSocket); 视频拖拽(VideoSeek); Token 鉴权(Authentication); 自定义CacheKey(CacheKey); 节点缓存 TTL (Cache); 浏览器缓存 TTL(MaxAge); 离线缓存(OfflineCache); 智能加速(SmartRouting); 分片回源(RangeOriginPull); HTTP/2 回源(UpstreamHttp2); Host Header 重写(HostHeader); 强制 HTTPS(ForceRedirect); 回源 HTTPS(OriginPullProtocol); 单连接下载限速(ResponseSpeedLimit); 缓存预刷新(CachePrefresh); 智能压缩(Compression); Hsts; ClientIpHeader; SslTlsSecureConf; OcspStapling; HTTP/2 访问(Http2); 回源跟随重定向(UpstreamFollowRedirect); 修改源站(Origin)。 七层回源超时(HTTPUpstreamTimeout)。 Http应答(HttpResponse)。 */
NormalAction?: NormalAction | null;
/** 带有请求头/响应头的功能操作,选择该类型的功能项有: 修改 HTTP 请求头(RequestHeader); 修改HTTP响应头(ResponseHeader)。 */
RewriteAction?: RewriteAction | null;
/** 带有状态码的功能操作,选择该类型的功能项有: 自定义错误页面(ErrorPage); 状态码缓存 TTL(StatusCodeCache)。 */
CodeAction?: CodeAction | null;
}
/** 自适应频控 */
declare interface AdaptiveFrequencyControl {
/** 自适应频控是否开启。取值有:on:开启;off:关闭。 */
Enabled: string;
/** 自适应频控的限制等级,当 Enabled 为 on 时,此字段必填。取值有:Loose:宽松;Moderate:适中;Strict:严格。 */
Sensitivity?: string;
/** 自适应频控的处置方式,当 Enabled 为 on 时,此字段必填。SecurityAction 的 Name 取值支持:Monitor:观察;Deny:拦截;Challenge:挑战,其中ChallengeActionParameters.Name仅支持JSChallenge。 */
Action?: SecurityAction;
}
/** IP 网段详情。 */
declare interface Addresses {
/** IPv4 网段列表。 */
IPv4?: string[];
/** IPv6 网段列表。 */
IPv6?: string[];
}
/** 描述键值对过滤器,用于条件过滤查询,支持模糊查询。例如过滤ID、名称、状态等。若存在多个Filter时,Filter间的关系为逻辑与(AND)关系。若同一个Filter存在多个Values,同一Filter下Values间的关系为逻辑或(OR)关系。 */
declare interface AdvancedFilter {
/** 需要过滤的字段。 */
Name: string;
/** 字段的过滤值。 */
Values: string[];
/** 是否启用模糊查询。 */
Fuzzy?: boolean;
}
/** AI规则引擎防护 */
declare interface AiRule {
/** AI规则引擎状态,取值有: smart_status_close:关闭; smart_status_open:拦截处置; smart_status_observe:观察处置。 */
Mode: string;
}
/** Bot主动特征识别客户端行为校验。 */
declare interface AlgDetectJS {
/** 操作名称。 */
Name?: string;
/** 工作量证明 (proof_Of-Work)校验强度,默认low,取值有:low:低;middle:中;high:高。 */
WorkLevel?: string;
/** 执行方式,js延迟执行的时间。单位为ms,默认500,取值:0~1000。 */
ExecuteMode?: number;
/** 客户端末启用JS(末完成检测)统计周期。单位为秒,默认10,取值:5~3600。 */
InvalidStatTime?: number;
/** 客户端末启用JS(末完成检测)触发阈值。单位为次,默认300,取值:1~100000000。 */
InvalidThreshold?: number;
/** Bot主动特征识别客户端行为校验结果。 */
AlgDetectResults?: AlgDetectResult[];
}
/** Bot主动特征识别校验结果。 */
declare interface AlgDetectResult {
/** 校验结果,取值有:invalid:不合法Cookie;cookie_empty:末携带Cookie或Cookie己过期;js_empty:客户端末启用JS(末完成检测);low:会话速率和周期特征校验低风险;middle:会话速率和周期特征校验中风险;high:会话速率和周期特征校验高风险;timeout:检测超时时长;not_browser:不合法浏览器;is_bot:Bot客户端。 */
Result?: string;
/** 处罚动作,取值有:drop:拦截;monitor:观察;silence:静默;shortdelay:(短时间)等待后响应;longdelay:(长时间)等待后响应。 */
Action?: string;
}
/** Bot主动特征识别规则。 */
declare interface AlgDetectRule {
/** 规则id。 */
RuleID?: number;
/** 规则名。 */
RuleName?: string;
/** 规则开关。 */
Switch?: string;
/** 自定义规则。 */
AlgConditions?: AclCondition[];
/** Cookie校验和会话行为分析。 */
AlgDetectSession?: AlgDetectSession;
/** 客户端行为校验。 */
AlgDetectJS?: AlgDetectJS[];
/** 更新时间。仅出参使用。 */
UpdateTime?: string;
}
/** Cookie校验与会话跟踪。 */
declare interface AlgDetectSession {
/** 操作名称。 */
Name?: string;
/** 校验方式,默认update_detect,取值有:detect:仅校验;update_detect:更新Cookie并校验。 */
DetectMode?: string;
/** 会话速率和周期特征校验开关,默认off,取值有:off:关闭;on:打开。 */
SessionAnalyzeSwitch?: string;
/** 校验结果为未携带Cookie或Cookie已过期的统计周期。单位为秒,默认10,取值:5~3600。 */
InvalidStatTime?: number;
/** 校验结果为未携带Cookie或Cookie已过期的触发阈值。单位为次,默认300,取值:1~100000000。 */
InvalidThreshold?: number;
/** Cookie校验校验结果。 */
AlgDetectResults?: AlgDetectResult[];
/** 会话速率和周期特征校验结果。 */
SessionBehaviors?: AlgDetectResult[];
}
/** 别称域名信息。 */
declare interface AliasDomain {
/** 别称域名名称。 */
AliasName?: string;
/** 站点 ID。 */
ZoneId?: string;
/** 目标域名名称。 */
TargetName?: string;
/** 别称域名状态,取值有: active:已生效; pending:部署中; conflict:被找回。 stop:已停用; */
Status?: string;
/** 封禁模式,取值有: 0:未封禁; 11:合规封禁; 14:未备案封禁。 */
ForbidMode?: number;
/** 别称域名创建时间。 */
CreatedOn?: string;
/** 别称域名修改时间。 */
ModifiedOn?: string;
}
/** Web 安全 Allow 的附加参数 */
declare interface AllowActionParameters {
/** 最小延迟响应时间,当配置为 0s 时,表示不延迟直接响应。支持的单位有:s:秒,取值范围 0~5。 */
MinDelayTime?: string;
/** 最大延迟响应时间,支持的单位有:s:秒,取值范围 5~10。 */
MaxDelayTime?: string;
}
/** 应用代理实例 */
declare interface ApplicationProxy {
/** 站点ID。 */
ZoneId?: string;
/** 站点名称。 */
ZoneName?: string;
/** 代理ID。 */
ProxyId?: string;
/** 当ProxyType=hostname时,表示域名或子域名;当ProxyType=instance时,表示代理名称。 */
ProxyName?: string;
/** 四层代理模式,取值有:hostname:表示子域名模式;instance:表示实例模式。 */
ProxyType?: string;
/** 调度模式,取值有:ip:表示Anycast IP调度;domain:表示CNAME调度。 */
PlatType?: string;
/** 加速区域,取值有:mainland:中国大陆境内;overseas:全球(不含中国大陆)。默认值:overseas */
Area?: string;
/** 是否开启安全,取值有:0:关闭安全;1:开启安全。 */
SecurityType?: number;
/** 是否开启加速,取值有:0:关闭加速;1:开启加速。 */
AccelerateType?: number;
/** 会话保持时间。 */
SessionPersistTime?: number;
/** 状态,取值有:online:启用;offline:停用;progress:部署中;stopping:停用中;fail:部署失败/停用失败。 */
Status?: string;
/** 封禁状态,取值有:banned:已封禁;banning:封禁中;recover:已解封;recovering:解封禁中。 */
BanStatus?: string;
/** 调度信息。 */
ScheduleValue?: string[];
/** 当ProxyType=hostname时:表示代理加速唯一标识。 */
HostId?: string;
/** Ipv6访问配置。 */
Ipv6?: Ipv6;
/** 更新时间。 */
UpdateTime?: string;
/** 规则列表。 */
ApplicationProxyRules?: ApplicationProxyRule[];
/** 中国大陆加速优化配置。 */
AccelerateMainland?: AccelerateMainland;
}
/** 应用代理规则 */
declare interface ApplicationProxyRule {
/** 协议,取值有:TCP:TCP协议;UDP:UDP协议。 */
Proto: string;
/** 端口,支持格式:单个端口,如:80。端口段,如:81-82。表示81,82两个端口。注意:一条规则最多可填写20个端口。 */
Port: string[];
/** 源站类型,取值有:custom:手动添加;loadbalancer:负载均衡;origins:源站组。 */
OriginType: string;
/** 源站信息:当 OriginType 为 custom 时,表示一个或多个源站,如`["8.8.8.8","9.9.9.9"]` 或 `OriginValue=["test.com"]`;当 OriginType 为 loadbalancer 时,表示一个负载均衡,如`["lb-xdffsfasdfs"]`;当 OriginType 为 origins 时,要求有且仅有一个元素,表示源站组ID,如`["origin-537f5b41-162a-11ed-abaa-525400c5da15"]`。 */
OriginValue: string[];
/** 规则ID。 */
RuleId?: string;
/** 状态,取值有:online:启用;offline:停用;progress:部署中;stopping:停用中;fail:部署失败/停用失败。 */
Status?: string;
/** 传递客户端IP,取值有:TOA:TOA(仅Proto=TCP时可选);PPV1:Proxy Protocol传递,协议版本V1(仅Proto=TCP时可选);PPV2:Proxy Protocol传递,协议版本V2;OFF:不传递。默认值:OFF。 */
ForwardClientIp?: string;
/** 是否开启会话保持,取值有:true:开启;false:关闭。默认值:false。 */
SessionPersist?: boolean;
/** 会话保持的时间,只有当SessionPersist为true时,该值才会生效。 */
SessionPersistTime?: number;
/** 源站端口,支持格式:单端口,如:80。端口段:81-82,表示81,82两个端口。 */
OriginPort?: string;
/** 规则标签。 */
RuleTag?: string;
}
/** 站点归属信息 */
declare interface AscriptionInfo {
/** 主机记录。 */
Subdomain?: string;
/** 记录类型。 */
RecordType?: string;
/** 记录值。 */
RecordValue?: string;
}
/** 音频流配置参数。 */
declare interface AudioTemplateInfo {
/** 音频流的编码格式。可选值为:libfdk_aac。 */
Codec: string;
/** 音频通道数,可选值:2:双通道。默认值:2。 */
AudioChannel?: number;
}
/** Token 鉴权 配置参数。 */
declare interface AuthenticationParameters {
/** 鉴权类型。取值有:TypeA:鉴权方式 A 类型,具体含义请参考 [鉴权方式 A](https://cloud.tencent.com/document/product/1552/109329);TypeB:鉴权方式 B 类型,具体含义请参考 [鉴权方式 B](https://cloud.tencent.com/document/product/1552/109330);TypeC:鉴权方式 C 类型,具体含义请参考 [鉴权方式 C](https://cloud.tencent.com/document/product/1552/109331);TypeD:鉴权方式 D 类型,具体含义请参考 [鉴权方式 D](https://cloud.tencent.com/document/product/1552/109332);TypeVOD:鉴权方式 V 类型,具体含义请参考 [鉴权方式 V](https://cloud.tencent.com/document/product/1552/109333)。 */
AuthType?: string;
/** 主鉴权密钥,由 6~40 位大小写英文字母或数字组成,不能包含 " 和 $。 */
SecretKey?: string;
/** 鉴权 URL 的有效时长,单位为秒,取值:1~630720000。用于判断客户端访问请求是否过期:若当前时间超过 “timestamp + 有效时长” 时间,则为过期请求,直接返回 403。若当前时间未超过 “timestamp + 有效时长” 时间,则请求未过期,继续校验 md5 字符串。注意:当 AuthType 为 TypeA、TypeB、TypeC、TypeD 之一时,此字段必填。 */
Timeout?: number;
/** 备鉴权密钥,由 6~40 位大小写英文字母或数字组成,不能包含 " 和 $。 */
BackupSecretKey?: string;
/** 鉴权参数名称,节点将校验此参数名对应的值。由 1~100 位大小写字母、数字或下划线组成。注意:当 AuthType 为 TypeA、TypeD 之一时,此字段必填。 */
AuthParam?: string;
/** 鉴权时间戳,和 AuthParam 字段的值不能相同。注意:当 AuthType 为 TypeD 时,此字段必填。 */
TimeParam?: string;
/** 鉴权时间格式,取值有:dec:十进制;hex:十六进制。注意:当 AuthType 为 TypeD 时,此字段必填。默认为 hex。 */
TimeFormat?: string;
}
/** 流量防盗刷(仅适用中国大陆地区)的具体配置。 */
declare interface BandwidthAbuseDefense {
/** 流量防盗刷(仅适用中国大陆地区)是否开启。取值有:on:开启;off:关闭。 */
Enabled: string;
/** 流量防盗刷(仅适用中国大陆地区)的处置方式,当 Enabled 为 on 时,此字段必填。SecurityAction 的 Name 取值支持:Monitor:观察;Deny:拦截;Challenge:挑战,其中ChallengeActionParameters.Name仅支持JSChallenge。 */
Action?: SecurityAction;
}
/** Bot 管理的基础配置,对策略关联的所有域名生效。可以通过 CustomRules 进行精细化定制。 */
declare interface BasicBotSettings {
/** 客户端 IP 的来源 IDC 配置,用于处置来自 IDC(数据中心) 的客户端 IP 的访问请求。此类来源请求不是由移动端或浏览器端直接访问。 */
SourceIDC?: SourceIDC;
/** 搜索引擎爬虫配置,用于处置来自搜索引擎爬虫的请求。此类请求的 IP、User-Agent 或 rDNS 结果匹配已知搜索引擎爬虫。 */
SearchEngineBots?: SearchEngineBots;
/** 商业或开源工具 UA 特征配置(原 UA 特征规则),用于处置来自已知商业工具或开源工具的访问请求。此类请求的 User-Agent 头部符合已知商业或开源工具特征。 */
KnownBotCategories?: KnownBotCategories;
/** IP 威胁情报库(原客户端画像分析)配置,用于处置近期访问行为具有特定风险特征的客户端 IP。 */
IPReputation?: IPReputation;
/** Bot 智能分析的具体配置。 */
BotIntelligence?: BotIntelligence;
}
/** 计费数据项。 */
declare interface BillingData {
/** 数据时间戳。 */
Time?: string;
/** 数值。 */
Value?: number;
/** 数据点所属站点 ID。若使用内容标识符功能,则该项值为内容标识符。 */
ZoneId?: string;
/** 数据点所属域名。 */
Host?: string;
/** 数据点所属四层代理实例 ID。 */
ProxyId?: string;
/** 数据点所属计费大区 ID。计费大区以实际服务用户客户端的 EdgeOne 节点所在区域为准。取值有:CH:中国大陆境内AF:非洲AS1:亚太一区AS2:亚太二区AS3:亚太三区EU:欧洲MidEast:中东NA:北美 SA:南美 */
RegionId?: string;
}
/** 计费数据过滤条件。 */
declare interface BillingDataFilter {
/** 参数名称。 */
Type: string;
/** 参数值。 */
Value: string;
}
/** 策略模板绑定的域名信息 */
declare interface BindDomainInfo {
/** 域名。 */
Domain?: string;
/** 域名所属的站点 ID。 */
ZoneId?: string;
/** 绑定状态,取值有: process:绑定中;online:绑定成功;fail:绑定失败。 */
Status?: string;
}
/** 共享 CNAME 和接入域名的绑定关系 */
declare interface BindSharedCNAMEMap {
/** 需要绑定或解绑的共享 CNAME。 */
SharedCNAME: string;
/** 加速域名,可传递多个,最多20个。 */
DomainNames: string[];
}
/** Web安全IP封禁的附加参数 */
declare interface BlockIPActionParameters {
/** 封禁 IP 的惩罚时长。支持的单位有:s:秒,取值范围1~120;m:分,取值范围1~120;h:小时,取值范围1~48。 */
Duration: string;
}
/** 安全Bot配置 */
declare interface BotConfig {
/** bot开关,取值有:on:开启;off:关闭。 */
Switch: string;
/** 通用详细基础规则。如果为null,默认使用历史配置。 */
BotManagedRule?: BotManagedRule;
/** 用户画像规则。如果为null,默认使用历史配置。 */
BotPortraitRule?: BotPortraitRule;
/** Bot智能分析。如果为null,默认使用历史配置。 */
IntelligenceRule?: IntelligenceRule;
/** Bot自定义规则。如果为null,默认使用历史配置。 */
BotUserRules?: BotUserRule[];
/** Bot主动特征识别规则。 */
AlgDetectRule?: AlgDetectRule[];
/** Bot托管定制策略,入参可不填,仅出参使用。 */
Customizes?: BotUserRule[];
}
/** Bot扩展处置方式,多处置动作组合。 */
declare interface BotExtendAction {
/** 处置动作,取值有:monitor:观察;alg:JavaScript挑战;captcha:托管挑战;random:随机,按照ExtendActions分配处置动作和比例;silence:静默;shortdelay:短时响应;longdelay:长时响应。 */
Action: string;
/** 处置方式的触发概率,范围0-100。 */
Percent?: number;
}
/** Bot 智能分析的具体配置。 */
declare interface BotIntelligence {
/** 基于客户端和请求特征,将请求来源分为人类来源请求、合法 Bot 请求、疑似 Bot 请求和高风险 Bot 请求,并提供请求处置选项。 */
BotRatings?: BotRatings;
/** Bot 智能分析的具体配置开关。取值有:on:开启;off:关闭。 */
Enabled?: string;
}
/** Bot 规则,下列规则ID可参考接口 DescribeBotManagedRules返回的ID信息 */
declare interface BotManagedRule {
/** 触发规则后的处置方式,取值有:drop:拦截;trans:放行;alg:Javascript挑战;monitor:观察。 */
Action: string;
/** 本规则的ID。仅出参使用。 */
RuleID?: number;
/** 放行的规则ID。默认所有规则不配置放行。 */
TransManagedIds?: number[];
/** JS挑战的规则ID。默认所有规则不配置JS挑战。 */
AlgManagedIds?: number[];
/** 数字验证码的规则ID。默认所有规则不配置数字验证码。 */
CapManagedIds?: number[];
/** 观察的规则ID。默认所有规则不配置观察。 */
MonManagedIds?: number[];
/** 拦截的规则ID。默认所有规则不配置拦截。 */
DropManagedIds?: number[];
}
/** Web 安全的 BOT 规则结构。 */
declare interface BotManagement {
/** Bot 管理是否开启。取值有:on:开启;off:关闭。 */
Enabled?: string;
/** Bot 管理的自定义规则,组合各类爬虫和请求行为特征,精准定义 Bot 并配置定制化处置方式。 */
CustomRules?: BotManagementCustomRules;
/** Bot 管理的基础配置,对策略关联的所有域名生效。可以通过 CustomRules 进行精细化定制。 */
BasicBotSettings?: BasicBotSettings;
/** 客户端认证规则的定义列表。该功能内测中,如需使用,请提工单。 */
ClientAttestationRules?: ClientAttestationRules;
/** 配置浏览器伪造识别规则(原主动特征识别规则)。设置注入 JavaScript 的响应页面范围,浏览器校验选项,以及对非浏览器客户端的处置方式。 */
BrowserImpersonationDetection?: BrowserImpersonationDetection;
}
/** Bot 规则项的具体配置,用于覆盖上层的默认配置。 */
declare interface BotManagementActionOverrides {
/** Bot 规则组下的具体项,用于改写此单条规则项配置的内容,Ids 所对应的具体信息请参考 DescribeBotManagedRules 接口返回的信息。 */
Ids?: string[];
/** Ids 中指定 Bot 规则项的处置动作。 SecurityAction 的 Name 取值支持:Deny:拦截;Monitor:观察;Disabled:未启用,不启用指定规则;Challenge:挑战,其中 ChallengeActionParameters 中的 ChallengeOption 支持 JSChallenge 和 ManagedChallenge;Allow:放行(仅限Bot基础特征管理)。 */
Action?: SecurityAction;
}
/** Web 安全的 Bot 自定义规则。 */
declare interface BotManagementCustomRule {
/** Bot 自定义规则的 ID。通过规则 ID 可支持不同的规则配置操作: 增加新规则:ID 为空或不指定 ID 参数;修改已有规则:指定需要更新/修改的规则 ID;删除已有规则:BotManagementCustomRules 参数中,Rules 列表中未包含的已有规则将被删除。 */
Id?: string;
/** Bot 自定义规则的名称。 */
Name?: string;
/** Bot 自定义规则是否开启。取值有:on:开启;off:关闭。 */
Enabled?: string;
/** Bot 自定义规则的优先级,范围是 1 ~ 100,默认为 50。 */
Priority?: number;
/** Bot 自定义规则的具体内容,需符合表达式语法,详细规范参见产品文档。 */
Condition?: string;
/** Bot 自定义规则的处置方式。取值有:Monitor:观察;Deny:拦截,其中 DenyActionParameters.Name 支持 Deny 和 ReturnCustomPage;Challenge:挑战,其中 ChallengeActionParameters.Name 支持 JSChallenge 和 ManagedChallenge;Redirect:重定向至 URL。 */
Action?: SecurityWeightedAction[];
}
/** Bot 自定义规则的配置。 */
declare interface BotManagementCustomRules {
/** Bot 自定义规则的列表。使用 ModifySecurityPolicy 修改 Web 防护配置时: 若未指定 SecurityPolicy.BotManagement.CustomRules 中的 Rules 参数,或 Rules 参数长度为零:清空所有 Bot 自定义规则配置。 若 SecurityPolicy.BotManagement 参数中,未指定 CustomRules 参数值:保持已有 Bot 自定义规则配置,不做修改。 */
Rules?: BotManagementCustomRule[];
}
/** bot 用户画像规则 */
declare interface BotPortraitRule {
/** 本功能的开关,取值有:on:开启;off:关闭。 */
Switch: string;
/** 本规则的ID。仅出参使用。 */
RuleID?: number;
/** JS挑战的规则ID。默认所有规则不配置JS挑战。 */
AlgManagedIds?: number[];
/** 数字验证码的规则ID。默认所有规则不配置数字验证码。 */
CapManagedIds?: number[];
/** 观察的规则ID。默认所有规则不配置观察。 */
MonManagedIds?: number[];
/** 拦截的规则ID。默认所有规则不配置拦截。 */
DropManagedIds?: number[];
}
/** 基于客户端和请求特征,将请求来源分为人类来源请求、合法 Bot 请求、疑似 Bot 请求和高风险 Bot 请求,并提供请求处置选项。 */
declare interface BotRatings {
/** 恶意 Bot 请求的执行动作。 SecurityAction 的 Name 取值支持:Deny:拦截;Monitor:观察;Allow:放行;Challenge:挑战,其中 ChallengeActionParameters 中的 ChallengeOption 支持 JSChallenge 和 ManagedChallenge。 */
HighRiskBotRequestsAction?: SecurityAction;
/** 疑似 Bot 请求的执行动作。 SecurityAction 的 Name 取值支持:Deny:拦截;Monitor:观察;Allow:放行;Challenge:挑战,其中 ChallengeActionParameters 中的 ChallengeOption 支持 JSChallenge 和 ManagedChallenge。 */
LikelyBotRequestsAction?: SecurityAction;
/** 友好 Bot 请求的执行动作。 SecurityAction 的 Name 取值支持:Deny:拦截;Monitor:观察;Allow:放行;Challenge:挑战,其中 ChallengeActionParameters 中的 ChallengeOption 支持 JSChallenge 和 ManagedChallenge。 */
VerifiedBotRequestsAction?: SecurityAction;
/** 正常 Bot 请求的执行动作。 SecurityAction 的 Name 取值支持:Allow:放行。 */
HumanRequestsAction?: SecurityAction;
}
/** Cookie 校验和会话跟踪行为具体配置。 */
declare interface BotSessionValidation {
/** 是否更新 Cookie 并校验。取值有:on:更新 Cookie 并校验;off:仅校验。 */
IssueNewBotSessionCookie?: string;
/** 更新 Cookie 并校验时的触发阈值,仅当 IssueNewBotSessionCookie 为 on 时有效。 */
MaxNewSessionTriggerConfig?: MaxNewSessionTriggerConfig;
/** 未携带 Cookie 或 Cookie 已过期的执行动作。 SecurityAction 的 Name 取值支持:Deny:拦截,其中 DenyActionParameters 中支持 Stall 配置;Monitor:观察;Allow:等待后响应,其中 AllowActionParameters 需要 MinDelayTime 和 MaxDelayTime 配置。 */
SessionExpiredAction?: SecurityAction;
/** 不合法 Cookie 的执行动作。 SecurityAction 的 Name 取值支持:Deny:拦截,其中 DenyActionParameters 中支持 Stall 配置;Monitor:观察;Allow:等待后响应,其中 AllowActionParameters 需要 MinDelayTime 和 MaxDelayTime 配置。 */
SessionInvalidAction?: SecurityAction;
/** 会话速率和周期特征校验的具体配置。 */
SessionRateControl?: SessionRateControl;
}
/** Bot自定义规则 */
declare interface BotUserRule {
/** 规则名,只能以英文字符,数字,下划线组合,且不能以下划线开头。 */
RuleName: string;
/** 处置动作,取值有:drop:拦截;monitor:观察;trans:放行;redirect:重定向;page:指定页面;alg:JavaScript 挑战;captcha:托管挑战;random:随机处置;silence:静默;shortdelay:短时响应;longdelay:长时响应。 */
Action: string;
/** 规则状态,取值有:on:生效;off:不生效。默认 on 生效。 */
RuleStatus: string;
/** 规则详情。 */
AclConditions: AclCondition[];
/** 规则权重,取值范围0-100。 */
RulePriority: number;
/** 规则 Id。仅出参使用。 */
RuleID?: number;
/** 随机处置的处置方式及占比,非随机处置可不填暂不支持。 */
ExtendActions?: BotExtendAction[];
/** 过滤词,取值有:sip:客户端 ip。默认为空字符串。 */
FreqFields?: string[];
/** 更新时间。仅出参使用。 */
UpdateTime?: string;
/** 统计范围。取值有:source_to_eo:(响应)源站到 EdgeOne;client_to_eo:(请求)客户端到 EdgeOne。默认为 source_to_eo。 */
FreqScope?: string[];
/** 自定义返回页面的名称。Action 是 page 时必填,且不能为空。 */
Name?: string;
/** 自定义响应 Id。该 Id 可通过查询自定义错误页列表接口获取。默认值为default,使用系统默认页面。Action 是 page 时必填,且不能为空。 */
CustomResponseId?: string;
/** 自定义返回页面的响应码。Action 是 page 时必填,且不能为空,取值: 100~600,不支持 3xx 响应码。默认值:567。 */
ResponseCode?: number;
/** 重定向时候的地址。Action 是 redirect 时必填,且不能为空。 */
RedirectUrl?: string;
}
/** 浏览器伪造识别规则(原主动特征识别规则)的配置。 */
declare interface BrowserImpersonationDetection {
/** 浏览器伪造识别规则的列表。使用 ModifySecurityPolicy 修改 Web 防护配置时: 若未指定 SecurityPolicy.BotManagement.BrowserImpersonationDetection 中的 Rules 参数,或 Rules 参数长度为零: 清空所有浏览器伪造识别规则配置。 若 SecurityPolicy.BotManagement 参数中,未指定 BrowserImpersonationDetection 参数值: 保持已有浏览器伪造识别规则配置,不做修改。 */
Rules?: BrowserImpersonationDetectionRule[];
}
/** Bot 浏览器校验规则(原主动特征识别规则)的 Action。 */
declare interface BrowserImpersonationDetectionAction {
/** Cookie 校验和会话跟踪配置。 */
BotSessionValidation?: BotSessionValidation;
/** 客户端行为校验配置。 */
ClientBehaviorDetection?: ClientBehaviorDetection;
}
/** 浏览器伪造识别规则(原主动特征识别规则)。 */
declare interface BrowserImpersonationDetectionRule {
/** 浏览器伪造识别规则的 ID。通过规则 ID 可支持不同的规则配置操作: 增加新规则:ID 为空或不指定 ID 参数;修改已有规则:指定需要更新/修改的规则 ID;删除已有规则:BrowserImpersonationDetection 参数中,Rules 列表中未包含的已有规则将被删除。 */
Id?: string;
/** 浏览器伪造识别规则的名称。 */
Name?: string;
/** 浏览器伪造识别规则是否开启。取值有:on:开启;off:关闭。 */
Enabled?: string;
/** 浏览器伪造识别规则的具体内容,其中仅支持请求方式(Method)、请求路径(Path)和请求 URL 的配置,需符合表达式语法,详细规范参见产品文档。 */
Condition?: string;
/** 浏览器伪造识别规则的处置方式,包括 Cookie 校验和会话跟踪配置以及客户端行为校验配置。 */
Action?: BrowserImpersonationDetectionAction;
}
/** cc配置项。 */
declare interface CC {
/** Waf开关,取值为: on:开启; off:关闭。 */
Switch: string;
/** 策略ID。 */
PolicyId?: number;
}
/** 实时日志投递到腾讯云 CLS 的配置信息。 */
declare interface CLSTopic {
/** 腾讯云 CLS 日志集 ID。 */
LogSetId: string;
/** 腾讯云 CLS 日志主题 ID。 */
TopicId: string;
/** 腾讯云 CLS 日志集所在的地域。 */
LogSetRegion: string;
}
/** CNAME 接入类型站点参数详情。 */
declare interface CNAMEDetail {
/** 是否伪站点,取值有: 0:非伪站点; 1:伪站点。 */
IsFake?: number;
/** 归属权验证信息。详情请参考 [站点/域名归属权验证](https://cloud.tencent.com/document/product/1552/70789) 。 */
OwnershipVerification?: OwnershipVerification;
}
/** 缓存时间设置 */
declare interface Cache {
/** 缓存配置开关,取值有:on:开启;off:关闭。 */
Switch: string;
/** 缓存过期时间设置。单位为秒,最大可设置为 365 天。 */
CacheTime?: number;
/** 是否开启强制缓存,取值有:on:开启;off:关闭。 */
IgnoreCacheControl?: string | null;
}
/** 缓存规则配置。 */
declare interface CacheConfig {
/** 缓存配置。 */
Cache?: Cache | null;
/** 不缓存配置。 */
NoCache?: NoCache | null;
/** 遵循源站配置。 */
FollowOrigin?: FollowOrigin | null;
}
/** 节点缓存 TTL 自定义缓存时间配置参数。 */
declare interface CacheConfigCustomTime {
/** 自定义缓存时间开关,取值有:on:开启;off:关闭。 */
Switch?: string;
/** 自定义缓存时间数值,单位为秒,取值:0-315360000。注意:当 Switch 为 on 时,此字段必填;当 Switch 为 off 时,无需填写此字段,若填写则不生效。 */
CacheTime?: number;
}
/** 节点缓存 TTL 配置参数。 */
declare interface CacheConfigParameters {
/** 遵循源站缓存配置。FollowOrigin、NoCache、CustomTime 最多只能配置一个 Switch 为 on。 */
FollowOrigin?: FollowOrigin | null;
/** 不缓存配置。FollowOrigin、NoCache、CustomTime 最多只能配置一个 Switch 为 on。 */
NoCache?: NoCache | null;
/** 自定义缓存时间配置。FollowOrigin、NoCache、CustomTime 最多只能配置一个 Switch 为 on。 */
CustomTime?: CacheConfigCustomTime | null;
}
/** 缓存键配置。 */
declare interface CacheKey {
/** 是否开启全路径缓存,取值有:on:开启全路径缓存(即关闭参数忽略);off:关闭全路径缓存(即开启参数忽略)。 */
FullUrlCache?: string;
/** 是否忽略大小写缓存,取值有:on:忽略;off:不忽略。 */
IgnoreCase?: string;
/** CacheKey 中包含请求参数。 */
QueryString?: QueryString | null;
}
/** 缓存键配置。 */
declare interface CacheKeyConfigParameters {
/** 是否开启全路径缓存,取值有:on:开启全路径缓存(即关闭参数忽略);off:关闭全路径缓存(即开启参数忽略)。 */
FullURLCache?: string;
/** 是否忽略大小写缓存,取值有:on:忽略;off:不忽略。 */
IgnoreCase?: string;
/** 查询字符串保留配置参数。此字段和 FullURLCache 必须同时设置,但不能同为 on。 */
QueryString?: CacheKeyQueryString;
}
/** 自定义 Cache Key Cookie 配置参数。 */
declare interface CacheKeyCookie {
/** 功能开关,取值有:on:开启;off:关闭。 */
Switch?: string;
/** 缓存动作,取值有:full:全部保留; ignore:全部忽略; includeCustom:保留指定参数;excludeCustom:忽略指定参数。注意:当 Switch 为 on 时,此字段必填;当 Switch 为 off 时,无需填写此字段,若填写则不生效。 */
Action?: string;
/** 自定义 Cache Key Cookie 名称列表。注意:当 Action 为 includeCustom 或 excludeCustom 时,此字段必填;当 Action 为 full 或 ignore 时,无需填写此字段,若填写则不生效。 */
Values?: string[];
}
/** 自定义 Cache Key HTTP 请求头配置参数。 */
declare interface CacheKeyHeader {
/** 功能开关,取值有:on:开启;off:关闭。 */
Switch?: string;
/** 自定义 Cache Key HTTP 请求头列表。注意:当 Switch 为 on 时,此字段必填;当 Switch 为 off 时,无需填写此字段,若填写则不生效。 */
Values?: string[];
}
/** 自定义 Cache Key 配置参数。该配置参数的 FullURLCache 和 QueryString 采用组合表达,具体示例可以参考:- 查询字符串全部保留。开启忽略大小写。```{ "CacheKey": { "FullURLCache": "on", "QueryString": { "Switch": "off" }, "IgnoreCase": "on" }}```- 查询字符串全部忽略。开启忽略大小写。```{ "CacheKey": { "FullURLCache": "off", "QueryString": { "Switch": "off" }, "IgnoreCase": "on" }}```- 查询字符串保留指定参数。关闭忽略大小写。```{ "CacheKey": { "FullURLCache": "off", "QueryString": { "Switch": "on", "Action": "includeCustom", "Values": ["name1","name2","name3"] }, "IgnoreCase": "off" }}```- 查询字符串忽略指定参数。关闭忽略大小写。```{ "CacheKey": { "FullURLCache": "off", "QueryString": { "Switch": "on", "Action": "excludeCustom", "Values": ["name1","name2","name3"] }, "IgnoreCase": "off" }}``` */
declare interface CacheKeyParameters {
/** 查询字符串全部保留开关,取值有:on:开启;off:关闭。注意:FullURLCache、IgnoreCase、Header、Scheme、Cookie 至少设置一个配置。此字段和 QueryString.Switch 必须同时设置,但不能同为 on。 */
FullURLCache?: string;
/** 查询字符串保留配置参数。此字段和 FullURLCache 必须同时设置,但不能同为 on。 */
QueryString?: CacheKeyQueryString | null;
/** 忽略大小写开关,取值有:on:开启;off:关闭。注意:FullURLCache、IgnoreCase、Header、Scheme、Cookie 至少设置一个配置。 */
IgnoreCase?: string;
/** HTTP 请求头配置参数。FullURLCache、IgnoreCase、Header、Scheme、Cookie 至少设置一个配置。 */
Header?: CacheKeyHeader | null;
/** 请求协议开关,取值有:on:开启;off:关闭。注意:FullURLCache、IgnoreCase、Header、Scheme、Cookie 至少设置一个配置。 */
Scheme?: string;
/** Cookie 配置参数。FullURLCache、IgnoreCase、Header、Scheme、Cookie 至少设置一个配置。 */
Cookie?: CacheKeyCookie | null;
}
/** 自定义 Cache Key 查询字符串配置参数。 */
declare interface CacheKeyQueryString {
/** 查询字符串保留/忽略指定参数开关,取值有:on:开启;off:关闭。 */
Switch?: string;
/** 查询字符串保留/忽略指定参数动作。取值有:includeCustom:表示保留部分参数;excludeCustom:表示忽略部分参数。注意:当 Switch 为 on 时,此字段必填;当 Switch 为 off 时,无需填写此字段,若填写则不生效。 */
Action?: string;
/** 查询字符串中需保留/忽略的参数名列表。注意:当 Switch 为 on 时,此字段必填;当 Switch 为 off 时,无需填写此字段,若填写则不生效。 */
Values?: string[];
}
/** 节点缓存 TTL 配置参数。 */
declare interface CacheParameters {
/** 缓存遵循源站。不填表示不设置该配置,FollowOrigin、NoCache、CustomTime 最多只能配置一个 Switch 为 on。 */
FollowOrigin?: FollowOrigin | null;
/** 不缓存。不填表示不设置该配置,FollowOrigin、NoCache、CustomTime 最多只能配置一个 Switch 为 on。 */
NoCache?: NoCache | null;
/** 自定义缓存时间。不填表示不设置该配置,FollowOrigin、NoCache、CustomTime 最多只能配置一个 Switch 为 on。 */
CustomTime?: CustomTime | null;
}
/** 缓存预刷新 */
declare interface CachePrefresh {
/** 缓存预刷新配置开关,取值有:on:开启;off:关闭。 */
Switch: string;
/** 缓存预刷新百分比,取值范围:1-99。 */
Percent?: number;
}
/** 缓存预刷新 配置参数。 */
declare interface CachePrefreshParameters {
/** 缓存预刷新开关,取值有:on:开启;off:关闭。 */
Switch?: string;
/** 预刷新时间设置为节点缓存时间的百分比数值,取值:1~99。注意:当 Switch 为 on 时,此字段必填;当 Switch 为 off 时,无需填写此字段,若填写则不生效。 */
CacheTimePercent?: number;
}
/** 节点缓存清除类型取值为 purge_cache_tag 时附带的信息。 */
declare interface CacheTag {
/** 待清除缓存的域名列表。 */
Domains: string[];
}
/** https 证书配置。 */
declare interface CertificateInfo {
/** 证书 ID。来源于 SSL 侧,您可以前往 [SSL 证书列表](https://console.cloud.tencent.com/ssl) 查看 CertId。 */
CertId: string;
/** 证书备注名。 */
Alias?: string;
/** 证书类型,取值有:default:默认证书;upload:用户上传;managed:腾讯云托管。 */
Type?: string;
/** 证书过期时间。 */
ExpireTime?: string;
/** 证书部署时间。 */
DeployTime?: string;
/** 签名算法。 */
SignAlgo?: string;
/** 证书状态,取值有:deployed:已部署;processing:部署中;applying:申请中;failed:申请失败;issued:绑定失败。 */
Status?: string;
}
/** Web 安全 Challenge 挑战的附加参数 */
declare interface ChallengeActionParameters {
/** 安全执行的具体挑战动作。取值有: InterstitialChallenge:插页式挑战; InlineChallenge:内嵌式挑战; JSChallenge:JavaScript 挑战; ManagedChallenge:托管挑战。 */
ChallengeOption: string;
/** 重复挑战的时间间隔,当 Name 为 InterstitialChallenge/InlineChallenge 时,该字段必填。默认值为 300s。支持的单位有:s:秒,取值范围1~60;m:分,取值范围1~60;h:小时,取值范围1~24。 */
Interval?: string;
/** 客户端认证方式 ID 。当 Name 为 InterstitialChallenge/InlineChallenge 时,该字段必填。 */
AttesterId?: string;
}
/** 各个健康检查区域下源站的健康状态。 */
declare interface CheckRegionHealthStatus {
/** 健康检查区域,ISO-3166-1 两位字母代码。 */
Region?: string;
/** 单健康检查区域下探测源站的健康状态,取值有:Healthy:健康;Unhealthy:不健康; Undetected:未探测到数据。说明:单健康检查区域下所有源站为健康,则状态为健康,否则为不健康。 */
Healthy?: string;
/** 源站健康状态。 */
OriginHealthStatus?: OriginHealthStatus[];
}
/** 客户端认证规则 */
declare interface ClientAttestationRule {
/** 客户端认证规则的 ID。通过规则 ID 可支持不同的规则配置操作: 增加新规则:ID 为空或不指定 ID 参数; 修改已有规则:指定需要更新/修改的规则 ID; 删除已有规则:BotManagement 参数中,ClientAttestationRule 列表中未包含的已有规则将被删除。 */
Id?: string;
/** 客户端认证规则的名称。 */
Name?: string;
/** 规则是否开启。取值有:on:开启;off:关闭。 */
Enabled?: string;
/** 规则的优先级,数值越小越优先执行,范围是 0 ~ 100,默认为 0。 */
Priority?: number;
/** 规则的具体内容,需符合表达式语法,详细规范参见产品文档。 */
Condition?: string;
/** 客户端认证选项 ID。 */
AttesterId?: string;
/** 客户端设备配置。若 ClientAttestationRules 参数中,未指定 DeviceProfiles 参数值:保持已有客户端设备配置,不做修改。 */
DeviceProfiles?: DeviceProfile[];
/** 客户端认证未通过的处置方式。SecurityAction 的 Name 取值支持:Deny:拦截;Monitor:观察;Redirect:重定向;Challenge:挑战。默认值为 Monitor。 */
InvalidAttestationAction?: SecurityAction;
}
/** 客户端认证的配置。 */
declare interface ClientAttestationRules {
/** 客户端认证的列表。使用 ModifySecurityPolicy 修改 Web 防护配置时: 若未指定 SecurityPolicy.BotManagement.ClientAttestationRules 中的 Rules 参数,或 Rules 参数长度为零:清空所有客户端认证规则配置。 若 SecurityPolicy.BotManagement 参数中,未指定 ClientAttestationRules 参数值:保持已有客户端认证规则配置,不做修改。 */
Rules?: ClientAttestationRule[];
}
/** 认证选项配置。 */
declare interface ClientAttester {
/** 认证选项 ID。 */
Id?: string;
/** 认证选项名称。 */
Name?: string;
/** 认证规则类型。仅出参返回,取值有:PRESET: 系统预置规则,仅允许修改 AttesterDuration;CUSTOM: 用户自定义规则。 */
Type?: string;
/** 认证方法。取值有:TC-RCE: 使用风险识别 RCE 进行认证;TC-CAPTCHA: 使用天御验证码进行认证。 */
AttesterSource?: string;
/** 认证有效时间。默认为 60s,支持的单位有:s:秒,取值范围 60~43200;m:分,取值范围 1~720;h:小时,取值范围 1~12。 */
AttesterDuration?: string;
/** TC-RCE 认证的配置信息。当 AttesterSource 参数值为 TC-RCE 时,此字段必填。 */
TCRCEOption?: TCRCEOption;
/** TC-CAPTCHA 认证的配置信息。当 AttesterSource 参数值为 TC-CAPTCHA 时,此字段必填。 */
TCCaptchaOption?: TCCaptchaOption;
}
/** 客户端行为校验 */
declare interface ClientBehaviorDetection {
/** 工作量证明校验强度。取值有:low:低;medium:中;high:高。 */
CryptoChallengeIntensity?: string;
/** 客户端行为校验的执行方式。取值有:0ms:立即执行;100ms:延迟 100ms 执行;200ms:延迟 200ms 执行;300ms:延迟 300ms 执行;400ms:延迟 400ms 执行;500ms:延迟 500ms 执行;600ms:延迟 600ms 执行;700ms:延迟 700ms 执行;800ms:延迟 800ms 执行;900ms:延迟 900ms 执行;1000ms:延迟 1000ms 执行。 */
CryptoChallengeDelayBefore?: string;
/** 触发阈值统计的时间窗口,取值有:5s:5 秒内;10s:10 秒内;15s:15 秒内;30s:30 秒内;60s:60 秒内;5m:5 分钟内;10m:10 分钟内;30m:30 分钟内;60m:60 分钟内。 */
MaxChallengeCountInterval?: string;
/** 触发阈值统计的累计次数,取值范围 1 ~ 100000000。 */
MaxChallengeCountThreshold?: number;
/** 客户端未启用 JS(未完成检测)时的执行动作。 SecurityAction 的 Name 取值支持:Deny:拦截,其中 DenyActionParameters 中支持 Stall 配置;Monitor:观察;Allow:等待后响应,其中 AllowActionParameters 需要 MinDelayTime 和 MaxDelayTime 配置。 */
ChallengeNotFinishedAction?: SecurityAction;
/** 客户端检测超时的执行动作。 SecurityAction 的 Name 取值支持:Deny:拦截,其中 DenyActionParameters 中支持 Stall 配置;Monitor:观察;Allow:等待后响应,其中 AllowActionParameters 需要 MinDelayTime 和 MaxDelayTime 配置。 */
ChallengeTimeoutAction?: SecurityAction;
/** Bot 客户端的执行动作。 SecurityAction 的 Name 取值支持:Deny:拦截,其中 DenyActionParameters 中支持 Stall 配置;Monitor:观察;Allow:等待后响应,其中 AllowActionParameters 需要 MinDelayTime 和 MaxDelayTime 配置。 */
BotClientAction?: SecurityAction;
}
/** 智能客户端过滤 */
declare interface ClientFiltering {
/** 智能客户端过滤是否开启。取值有:on:开启;off:关闭。 */
Enabled: string;
/** 智能客户端过滤的处置方式,当 Enabled 为 on 时,此字段必填。SecurityAction 的 Name 取值支持:Monitor:观察;Deny:拦截;Challenge:挑战,其中ChallengeActionParameters.Name仅支持JSChallenge。 */
Action?: SecurityAction;
}
/** 回源时携带客户端 IP 所属地域信息,值的格式为 ISO-3166-1 两位字母代码。 */
declare interface ClientIPCountryParameters {
/** 配置开关,取值有:on:开启;off:关闭。 */
Switch?: string;
/** 存放客户端 IP 所属地域信息的请求头名称,当 Switch=on 时有效。为空则使用默认值:EO-Client-IPCountry。 */
HeaderName?: string;
}
/** 存储客户端请求IP的头部信息配置。 */
declare interface ClientIPHeaderParameters {
/** 配置开关,取值有:on:开启;off:关闭。 */
Switch?: string;
/** 回源时,存放客户端 IP 的请求头名称。当 Switch 为 on 时,该参数必填。该参数不允许填写 X-Forwarded-For。 */
HeaderName?: string;
}
/** 回源时携带客户端IP所属地域信息,值的格式为ISO-3166-1两位字母代码。 */
declare interface ClientIpCountry {
/** 配置开关,取值有:on:开启;off:关闭。 */
Switch: string;
/** 存放客户端 IP 所属地域信息的请求头名称,当 Switch=on 时有效。为空则使用默认值:EO-Client-IPCountry。 */
HeaderName?: string;
}
/** 存储客户端请求IP的头部信息配置 */
declare interface ClientIpHeader {
/** 配置开关,取值有:on:开启;off:关闭。 */
Switch: string;
/** 回源时,存放客户端 IP 的请求头名称。当 Switch 为 on 时,该参数必填。该参数不允许填写 X-Forwarded-For。 */
HeaderName?: string;
}
/** CNAME 状态 */
declare interface CnameStatus {
/** 记录名称。 */
RecordName?: string;
/** CNAME 地址。 */
Cname?: string | null;
/** CNAME 状态信息,取值有:active:生效;moved:不生效; */
Status?: string;
}
/** 规则引擎带有状态码的动作 */
declare interface CodeAction {
/** 功能名称,功能名称填写规范可调用接口 [查询规则引擎的设置参数](https://cloud.tencent.com/document/product/1552/80618) 查看。 */
Action: string;
/** 操作参数。 */
Parameters: RuleCodeActionParams[];
}
/** 智能压缩配置。 */
declare interface Compression {
/** 智能压缩配置开关,取值有:on:开启;off:关闭。 */
Switch: string;
/** 支持的压缩算法列表,取值有:brotli:brotli算法;gzip:gzip算法。 */
Algorithms?: string[];
}
/** 智能压缩配置。 */
declare interface CompressionParameters {
/** 智能压缩配置开关,取值有:on:开启;off:关闭。 */
Switch?: string;
/** 支持的压缩算法列表。当 Switch 为 on 时,此字段必填,否则此字段不生效。取值有:brotli:brotli 算法;gzip:gzip 算法。 */
Algorithms?: string[];
}
/** 配置组版本信息。 */
declare interface ConfigGroupVersionInfo {
/** 版本 ID。 */
VersionId: string;
/** 版本号。 */
VersionNumber?: string;
/** 配置组 ID。 */
GroupId?: string;
/** 配置组类型。取值有:l7_acceleration :七层加速配置组。edge_functions :边缘函数配置组。 */
GroupType?: string;
/** 版本描述。 */
Description?: string;
/** 版本状态,取值有:creating:创建中;inactive:未生效;active:已生效。 */
Status?: string;
/** 版本创建时间。时间为世界标准时间(UTC), 遵循 ISO 8601 标准的日期和时间格式。 */
CreateTime?: string;
}
/** 内容压缩配置。 */
declare interface ContentCompressionParameters {
/** 内容压缩配置开关,取值有:on:开启;off:关闭。当 Switch 为 on 时,将同时支持 brotli 和 gzip 压缩算法。 */
Switch: string;
}
/** 内容标识符。该功能仅白名单开放。 */
declare interface ContentIdentifier {
/** 内容标识符 ID。 */
ContentId?: string;
/** 内容标识符描述。 */
Description?: string;
/** 被规则引擎引用的次数。 */
ReferenceCount?: number;
/** 绑定的套餐 ID。 */
PlanId?: string;
/** 绑定的标签。 */
Tags?: Tag[];
/** 内容标识符状态,取值有: active:已生效; deleted:已删除。 */
Status?: string;
/** 创建时间,时间为世界标准时间(UTC), 遵循 ISO 8601 标准的日期和时间格式。 */
CreatedOn?: string;
/** 最新一次更新时间,时间为世界标准时间(UTC), 遵循 ISO 8601 标准的日期和时间格式。 */
ModifiedOn?: string;
/** 删除时间,状态非 deleted 时候为空;时间为世界标准时间(UTC), 遵循 ISO 8601 标准的日期和时间格式。 */
DeletedOn?: string | null;
}
/** 当前生效的回源 IP 网段。 */
declare interface CurrentOriginACL {
/** 回源 IP 网段详情。 */
EntireAddresses?: Addresses | null;
/** 版本号。 */
Version?: string | null;
/** 版本生效时间,时间是北京时间 UTC+8, 遵循 ISO 8601 标准的日期和时间格式。 */
ActiveTime?: string | null;
/** 本参数用于记录当前版本生效前是否完成「我已更新至最新回源 IP 网段」的确认。取值有:true:版本生效时,已完成更新至最新回源 IP 的确认;false:版本生效时,仍未完成已更新至最新回源 IP 的确认,回源 IP 网段由后台强制更新至最新版本。注意:本参数返回 false 时,请及时确认您的源站防火墙配置是否已更新至最新的回源 IP 网段,以避免出现回源失败。 */
IsPlaned?: string | null;
}
/** 实时日志投递到自定义 HTTP(S) 接口的配置信息。 */
declare interface CustomEndpoint {
/** 实时日志投递的自定义 HTTP 接口地址,暂仅支持 HTTP/HTTPS 协议。 */
Url: string;
/** 填写自定义的 SecretId 用于生成加密签名,如果源站需要鉴权此参数必填。 */
AccessId?: string;
/** 填写自定义的 SecretKey 用于生成加密签名,如果源站需要鉴权此参数必填。 */
AccessKey?: string;
/** 数据压缩类型,取值有: gzip:使用 gzip 方式压缩。不填表示不启用压缩。 */
CompressType?: string;
/** POST 请求投递日志时,使用的应用层协议类型,取值有: http:HTTP 协议;https:HTTPS 协议。如果不填默认根据填写的 URL 地址解析出协议类型。 */
Protocol?: string;
/** 投递日志时携带的自定义请求头。若您填写的头部名称为 Content-Type 等 EdgeOne 日志推送默认携带的头部,那么您填写的头部值将覆盖默认值。头部值引用单个变量${batchSize},以获取每次 POST 请求中包含的日志条数。 */
Headers?: Header[];
}
/** 自定义错误码页面结构体。 */
declare interface CustomErrorPage {
/** 自定义错误页面 ID。 */
PageId?: string;
/** 站点 ID。 */
ZoneId?: string;
/** 自定义错误页面名称。 */
Name?: string;
/** 自定义错误页面类型。 */
ContentType?: string;
/** 自定义错误页面描述。 */
Description?: string;
/** 自定义错误页面内容。 */
Content?: string;
/** 自定义错误页面引用。 */
References?: ErrorPageReference[];
}
/** 实时日志投递任务中的自定义日志字段。 */
declare interface CustomField {
/** 自定义日志字段类型。从 HTTP 请求和响应中的指定位置提取数据,取值有:ReqHeader:从 HTTP 请求头中提取指定字段值;RspHeader:从 HTTP 响应头中提取指定字段值;Cookie: 从 Cookie 中提取指定字段值;ReqBody: 从 HTTP 请求正文中通过 Google RE2 正则表达式提取指定内容。 */
Name: string;
/** 根据字段类型(Name)填入字段值的定义。需要区分大小写。当字段类型为 ReqHeader、RspHeader、Cookie 时,填入需要提取值的参数名称,例如:Accept-Language。可输入 1-100 个字符,允许的字符开头为字母,中间为字母、数字、-,结尾为字母、数字;当字段类型为 ReqBody 时,填入 Google RE2 正则表达式,正则表达式长度上限为 4KB。 */
Value: string;
/** 是否投递该字段,不填表示不投递此字段。 */
Enabled?: boolean;
}
/** Web安全的自定义规则 */
declare interface CustomRule {
/** 自定义规则的名称。 */
Name: string;
/** 自定义规则的具体内容,需符合表达式语法,详细规范参见产品文档。 */
Condition: string;
/** 自定义规则的执行动作。 SecurityAction 的 Name 取值支持:Deny:拦截;Monitor:观察;ReturnCustomPage:使用指定页面拦截;Redirect:重定向至 URL;BlockIP:IP 封禁;JSChallenge:JavaScript 挑战;ManagedChallenge:托管挑战;Allow:放行。 */
Action: SecurityAction;
/** 自定义规则是否开启。取值有:on:开启off:关闭 */
Enabled: string;
/** 自定义规则的 ID。通过规则 ID 可支持不同的规则配置操作: - 增加新规则:ID 为空或不指定 ID 参数; - 修改已有规则:指定需要更新/修改的规则 ID; - 删除已有规则:CustomRules 参数中,Rules 列表中未包含的已有规则将被删除。 */
Id?: string;
/** 自定义规则的类型。取值有:BasicAccessRule:基础访问管控;PreciseMatchRule:精准匹配规则,默认;ManagedAccessRule:专家定制规则,仅出参。默认为PreciseMatchRule。 */
RuleType?: string;
/** 自定义规则的优先级,范围是 0 ~ 100,默认为 0,仅支持精准匹配规则(PreciseMatchRule)。 */
Priority?: number;
}
/** Web安全的自定义规则结构 */
declare interface CustomRules {
/** 自定义规则的定义列表。使用 ModifySecurityPolicy 修改 Web 防护配置时: - 若未指定 Rules 参数,或 Rules 参数长度为零:清空所有自定义规则配置。 - 若 SecurityPolicy 参数中,未指定 CustomRules 参数值:保持已有自定义规则配置,不做修改。 */
Rules?: CustomRule[];
}
/** 节点缓存 TTL 自定义缓存时间参数配置。 */
declare interface CustomTime {
/** 自定义缓存时间开关,取值有:on:开启;off:关闭。 */
Switch?: string;
/** 忽略源站 CacheControl 开关,取值有:on:开启;off:关闭。注意:当 Switch 为 on 时,此字段必填;当 Switch 为 off 时,无需填写此字段,若填写则不生效。 */
IgnoreCacheControl?: string;
/** 自定义缓存时间数值,单位为秒,取值:0~315360000。注意:当 Switch 为 on 时,此字段必填;当 Switch 为 off 时,无需填写此字段,若填写则不生效。 */
CacheTime?: number;
}
/** 负载均衡实例 HTTP/HTTPS 健康检查策略下可配置的自定义头部。 */
declare interface CustomizedHeader {
/** 自定义头部 Key。 */
Key: string;
/** 自定义头部 Value。 */
Value: string;
}
/** DDoS配置 */
declare interface DDoS {
/** 开关,取值有:on:开启;off:关闭。 */
Switch: string;
}
/** DDoS攻击事件对象 */
declare interface DDoSAttackEvent {
/** 事件ID。 */
EventId: string;
/** 攻击类型(对应交互事件名称)。 */
AttackType: string;
/** 攻击状态。 */
AttackStatus: number;
/** 攻击最大带宽。 */
AttackMaxBandWidth: number;
/** 攻击包速率峰值。 */
AttackPacketMaxRate: number;
/** 攻击开始时间,单位为s。 */
AttackStartTime: number;
/** 攻击结束时间,单位为s。 */
AttackEndTime: number;
/** DDoS策略组ID。 */
PolicyId: number | null;
/** 站点ID。 */
ZoneId: string | null;
/** 攻击事件所属地区,取值有:overseas:全球(除中国大陆地区)数据;mainland:中国大陆地区数据。 */
Area: string | null;
/** 封禁解封信息。 */
DDoSBlockData: DDoSBlockData[] | null;
}
/** DDoS封禁解封信息 */
declare interface DDoSBlockData {
/** 开始时间,采用unix时间戳。 */
StartTime: number;
/** 结束时间,采用unix时间戳, 为0表示还处于封禁中。 */
EndTime: number;
/** 封禁受影响区域。 */
BlockArea: string;
}
/** 独立 DDoS 防护配置。 */
declare interface DDoSProtection {
/** 指定独立 DDoS 的防护范围。取值为: protect_all_domains:独立 DDoS 防护对站点内全部域名生效,新接入域名自动开启独立 DDoS 防护,入参为 protect_all_domains 时,入参 DomainDDoSProtections 不作处理; protect_specified_domains:仅对指定域名生效,具体范围可通过 DomainDDoSProtection 参数指定。 */
ProtectionOption: string;
/** 域名的独立 DDoS 防护配置。在入参场景中: 当 ProtectionOption 保持为 protect_specified_domains 时:未填写的域名维持原有独立 DDoS 防护配置不变,显式指定的域名按传入参数更新; 当 ProtectionOption 由 protect_all_domains 切换为 protect_specified_domains 时:若 DomainDDoSProtections 传空,停用站点下全部域名的独立 DDoS 防护;若 DomainDDoSProtections 不为空,参数中指定的域名停用或保持独立 DDoS 防护,其余未列出的域名统一停用独立 DDoS 防护。 */
DomainDDoSProtections?: DomainDDoSProtection[];
/** 共享 CNAME 的独立 DDoS 防护配置。仅作为出参使用。 */
SharedCNAMEDDoSProtections?: DomainDDoSProtection[];
}
/** 适用于四层代理或 Web 站点服务的独立 DDoS 防护规格配置。 */
declare interface DDosProtectionConfig {
/** 中国大陆地区独立 DDoS 防护的规格。详情请参考 [独立 DDoS 防护相关费用](https://cloud.tencent.com/document/product/1552/94162)PLATFORM:平台默认防护,即不开启独立 DDoS 防护;BASE30_MAX300:开启独立 DDoS 防护,提供 30 Gbps 保底防护带宽以及 300 Gbps 弹性防护带宽;BASE60_MAX600:开启独立 DDoS 防护,提供 60 Gbps 保底防护带宽以及 600 Gbps 弹性防护带宽。不填写参数时,取默认值 PLATFORM。 */
LevelMainland?: string;
/** 中国大陆地区独立 DDoS 防护的弹性防护带宽配置。仅当开启中国大陆区域独立 DDos 防护时有效(详见 LevelMainland 参数配置),且取值范围有如下限制:开启中国大陆地区独立 DDoS 防护,使用 30 Gbps 保底防护带宽规格时( LevelMainland 参数值为 BASE30_MAX300 ):有效取值范围为 30 至 300,单位为 Gbps;开启中国大陆地区独立 DDoS 防护,使用 60 Gbps 保底防护带宽规格时( LevelMainland 参数值为 BASE60_MAX600 ):有效取值范围为 60 至 600,单位为 Gbps;使用平台默认防护( LevelMainland 参数值为 PLATFORM ):不支持配置,本参数值无效。 */
MaxBandwidthMainland?: number;
/** 全球(除中国大陆以外)地区独立 DDoS 防护的规格。PLATFORM:平台默认防护,即不开启独立 DDoS 防护;ANYCAST300:开启独立 DDoS 防护,提供 300 Gbps 防护带宽;ANYCAST_ALLIN:开启独立 DDoS 防护,使用全部可用防护资源进行防护。不填写参数时,取默认值 PLATFORM。 */
LevelOverseas?: string;
}
/** DNSPod 托管类型站点参数详情。 */
declare interface DNSPodDetail {
/** 是否伪站点,取值有: 0:非伪站点; 1:伪站点。 */
IsFake?: number;
}
/** https 服务端证书配置 */
declare interface DefaultServerCertInfo {
/** 服务器证书 ID。 */
CertId: string;
/** 证书备注名。 */
Alias?: string;
/** 证书类型,取值有:default: 默认证书;upload:用户上传;managed:腾讯云托管。 */
Type?: string;
/** 证书过期时间。 */
ExpireTime?: string;
/** 证书生效时间。 */
EffectiveTime?: string;
/** 证书公用名。 */
CommonName?: string;
/** 证书SAN域名。 */
SubjectAltName?: string[];
/** 部署状态,取值有:processing: 部署中;deployed: 已部署;failed: 部署失败。 */
Status?: string;
/** Status为失败时,此字段返回失败原因。 */
Message?: string;
/** 证书算法。 */
SignAlgo?: string;
}
/** 实时日志投递条件,用于定义投递日志范围。DeliveryCondition 数组内多个项的关系为“或”,内层 Conditions 数组内多个项的关系为“且”。 */
declare interface DeliveryCondition {
/** 日志过滤条件,详细的过滤条件如下:EdgeResponseStatusCode:按照 EdgeOne 节点响应返回给客户端的状态码进行过滤。 支持运算符:equal、great、less、great_equal、less_equal 取值范围:任意大于等于 0 的整数OriginResponseStatusCode:按照源站响应状态码进行过滤。 支持运算符:equal、great、less、great_equal、less_equal 取值范围:任意大于等于 -1 的整数SecurityAction:按照请求命中安全规则后的最终处置动作进行过滤。 支持运算符:equal 可选项如下: -:未知/未命中 Monitor:观察 JSChallenge:JavaScript 挑战 Deny:拦截 Allow:放行 BlockIP:IP 封禁 Redirect:重定向 ReturnCustomPage:返回自定义页面 ManagedChallenge:托管挑战 Silence:静默 LongDelay:长时间等待后响应 ShortDelay:短时间等待后响应SecurityModule:按照最终处置请求的安全模块名称进行过滤。 支持运算符:equal 可选项如下: -:未知/未命中 CustomRule:Web防护 - 自定义规则 RateLimitingCustomRule:Web防护 - 速率限制规则 ManagedRule:Web防护 - 托管规则 L7DDoS:Web防护 - CC攻击防护 BotManagement:Bot管理 - Bot基础管理 BotClientReputation:Bot管理 - 客户端画像分析 BotBehaviorAnalysis:Bot管理 - Bot智能分析 BotCustomRule:Bot管理 - 自定义Bot规则 BotActiveDetection:Bot管理 - 主动特征识别 */
Conditions?: QueryCondition[];
}
/** 安全执行动作为封禁的附加参数。 */
declare interface DenyActionParameters {
/** 是否对来源 IP 延长封禁。取值有:on:开启;off:关闭。启用后,对触发规则的客户端 IP 持续拦截。当启用该选项时,必须同时指定 BlockIpDuration 参数。注意:该选项不可与 ReturnCustomPage 或 Stall 选项同时启用。 */
BlockIp?: string;
/** 当 BlockIP 为 on 时IP 的封禁时长。 */
BlockIpDuration?: string;
/** 是否使用自定义页面。取值有:on:开启;off:关闭。启用后,使用自定义页面内容拦截(响应)请求,当启用该选项时,必须同时指定 ResponseCode 和 ErrorPageId 参数。注意:该选项不可与 BlockIp 或 Stall 选项同时启用。 */
ReturnCustomPage?: string;
/** 自定义页面的状态码。 */
ResponseCode?: string;
/** 自定义页面的PageId。 */
ErrorPageId?: string;
/** 是否对请求来源挂起不予处理。取值有:on:开启;off:关闭。启用后,不再响应当前连接会话内请求,且不会主动断开连接。用于爬虫对抗时,消耗客户端连接资源。注意:该选项不可与 BlockIp 或 ReturnCustomPage 选项同时启用。 */
Stall?: string;
}
/** 配置组版本发布记录详情。 */
declare interface DeployRecord {
/** 发布版本的详细信息。 */
ConfigGroupVersionInfos?: ConfigGroupVersionInfo[];
/** 发布时间。时间为世界标准时间(UTC), 遵循 ISO 8601 标准的日期和时间格式。 */
DeployTime?: string;
/** 发布状态,取值有: deploying :发布中;failure :发布失败;success: 发布成功。 */
Status?: string;
/** 发布结果信息。 */
Message?: string;
/** 发布记录 ID。 */
RecordId?: string;
/** 变更说明。 */
Description?: string;
}
/** 域名配置信息 */
declare interface DetailHost {
/** 站点ID。 */
ZoneId?: string;
/** 加速服务状态,取值为: process:部署中; online:已启动; offline:已关闭。 */
Status?: string;
/** 域名。 */
Host?: string;
/** 站点名称。 */
ZoneName?: string;
/** 分配的Cname域名 */
Cname?: string;
/** 资源ID。 */
Id?: string;
/** 实例ID。 */
InstanceId?: string;
/** 锁状态。 */
Lock?: number;
/** 域名状态类型。 */
Mode?: number;
/** 域名加速地域,取值有: global:全球; mainland:中国大陆; overseas:境外区域。 */
Area?: string;
/** 加速类型配置项。 */
AccelerateType?: AccelerateType | null;
/** Https配置项。 */
Https?: Https | null;
/** 缓存配置项。 */
CacheConfig?: CacheConfig | null;
/** 源站配置项。 */
Origin?: Origin | null;
/** 安全类型。 */
SecurityType?: SecurityType | null;
/** 缓存键配置项。 */
CacheKey?: CacheKey | null;
/** 智能压缩配置项。 */
Compression?: Compression | null;
/** Waf防护配置项。 */
Waf?: Waf | null;
/** CC防护配置项。 */
CC?: CC | null;
/** DDoS防护配置。 */
DDoS?: DDoS | null;
/** 智能路由配置项。 */
SmartRouting?: SmartRouting | null;
/** Ipv6访问配置项。 */
Ipv6?: Ipv6 | null;
/** 回源时是否携带客户端IP所属地域信息的配置。 */
ClientIpCountry?: ClientIpCountry | null;
}
/** 检测长度限制配置条件。 */
declare interface DetectLengthLimitCondition {
/** 匹配条件的参数名称,取值有:body_depth:请求正文包部分的检测深度。 */
Name: string;
/** 匹配条件的参数值,取值与 Name 成对使用。当 Name 值为 body_depth 时, Values 只支持传入单个值,取值有:10KB;64KB;128KB。 */
Values: string[];
}
/** 检测长度限制 */
declare interface DetectLengthLimitConfig {
/** 检测长度限制的规则列表。 */
DetectLengthLimitRules: DetectLengthLimitRule[];
}
/** 检测长度限制规则详情 */
declare interface DetectLengthLimitRule {
/** 规则Id。仅出参使用。 */
RuleId: number;
/** 规则名称。仅出参使用。 */
RuleName: string;
/** 规则描述,仅出参使用。 */
Description: string;
/** 规则配置条件。仅出参使用。 */
Conditions: DetectLengthLimitCondition[];
/** 处置方式,取值有:skip:当请求正文数据超过 Conditions 出参中 body_depth 设置的检测深度时,跳过所有请求正文内容的检测;scan:仅检测 Conditions 出参中 body_depth 设置的检测深度,对超出部分的请求正文内容直接截断处理,超出部分的请求正文不会经过安全检测。仅出参使用。 */
Action: string;
}
/** 客户端设备配置 */
declare interface DeviceProfile {
/** 客户端设备类型。取值有:iOS;Android;WebView。 */
ClientType: string;
/** 判定请求为高风险的最低值,取值范围为 1~99。数值越大请求风险越高越接近 Bot 客户端发起的请求。默认值为 50,对应含义 51~100 为高风险。 */
HighRiskMinScore?: number;
/** 高风险请求的处置方式。SecurityAction 的 Name 取值支持:Deny:拦截;Monitor:观察;Redirect:重定向;Challenge:挑战。默认值为 Monitor。 */
HighRiskRequestAction?: SecurityAction;
/** 判定请求为中风险的最低值,取值范围为 1~99。数值越大请求风险越高越接近 Bot 客户端发起的请求。默认值为 15,对应含义 16~50 为中风险。 */
MediumRiskMinScore?: number;
/** 中风险请求的处置方式。SecurityAction 的 Name 取值支持:Deny:拦截;Monitor:观察;Redirect:重定向;Challenge:挑战。默认值为 Monitor。 */
MediumRiskRequestAction?: SecurityAction;
}
/** 最新IP白名单列表相比于当前IP白名单列表的区别 */
declare interface DiffIPWhitelist {
/** 最新IP白名单列表。 */
LatestIPWhitelist: IPWhitelist;
/** 最新IP白名单列表相比于当前IP白名单列表,新增部分。 */
AddedIPWhitelist: IPWhitelist;
/** 最新IP白名单列表相比于当前IP白名单列表,删减部分。 */
RemovedIPWhitelist: IPWhitelist;
/** 最新IP白名单列表相比于当前IP白名单列表,不变部分。 */
NoChangeIPWhitelist: IPWhitelist;
}
/** DNS 记录 */
declare interface DnsRecord {
/** 站点 ID。注意:ZoneId 仅做出参使用,在 ModifyDnsRecords 不可作为入参使用,如有传此参数,会忽略。 */
ZoneId?: string;
/** DNS 记录 ID。 */
RecordId?: string;
/** DNS 记录名。 */
Name?: string;
/** DNS 记录类型,取值有:A:将域名指向一个外网 IPv4 地址,如 8.8.8.8;AAAA:将域名指向一个外网 IPv6 地址;MX:用于邮箱服务器。存在多条 MX 记录时,优先级越低越优先;CNAME:将域名指向另一个域名,再由该域名解析出最终 IP 地址;TXT:对域名进行标识和说明,常用于域名验证和 SPF 记录(反垃圾邮件);NS:如果需要将子域名交给其他 DNS 服务商解析,则需要添加 NS 记录。根域名无法添加 NS 记录;CAA:指定可为本站点颁发证书的 CA;SRV:标识某台服务器使用了某个服务,常见于微软系统的目录管理。 */
Type?: string;
/** DNS 记录解析线路,不指定默认为 Default,表示默认解析线路,代表全部地域生效。解析线路配置仅适用于当 Type(DNS 记录类型)为 A、AAAA、CNAME 时。取值请参考:[解析线路及对应代码枚举](https://cloud.tencent.com/document/product/1552/112542)。 */
Location?: string;
/** DNS 记录内容。根据 Type 值填入与之相对应的内容。 */
Content?: string;
/** 缓存时间,取值范围 60~86400,数值越小,修改记录各地生效时间越快,单位:秒。 */
TTL?: number;
/** DNS 记录权重,取值范围 -1~100,为 -1 时表示不分配权重,为 0 时表示不解析。权重配置仅适用于当 Type(DNS 记录类型)为 A、AAAA、CNAME 时。 */
Weight?: number;
/** MX 记录优先级,取值范围 0~50,数值越小越优先。 */
Priority?: number;
/** DNS 记录解析状态,取值有:enable:已生效;disable:已停用。注意:Status 仅做出参使用,在 ModifyDnsRecords 不可作为入参使用,如有传此参数,会忽略。 */
Status?: string;
/** 创建时间。注意:CreatedOn 仅做出参使用,在 ModifyDnsRecords 不可作为入参使用,如有传此参数,会忽略。 */
CreatedOn?: string;
/** 修改时间。注意:ModifiedOn 仅做出参使用,在 M