# frozen_string_literal: true
# Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
module TencentCloud
module Teo
module V20220901
# 中国大陆加速优化配置。
class AccelerateMainland < TencentCloud::Common::AbstractModel
# @param Switch: 是否开启中国大陆加速优化配置,取值有:
#
on:开启;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# 加速类型
class AccelerateType < TencentCloud::Common::AbstractModel
# @param Switch: 加速开关。取值范围:
# on:打开;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# 加速域名
class AccelerationDomain < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param DomainName: 加速域名名称。
# @type DomainName: String
# @param DomainStatus: 加速域名状态,取值有:
# online:已生效;
# process:部署中;
# offline:已停用;
# forbidden:已封禁;
# init:未生效,待激活站点;
# @type DomainStatus: String
# @param OriginDetail: 源站信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OriginDetail: :class:`Tencentcloud::Teo.v20220901.models.OriginDetail`
# @param OriginProtocol: 回源协议,取值有:
# FOLLOW: 协议跟随;
# HTTP: HTTP协议回源;
# HTTPS: HTTPS协议回源。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OriginProtocol: String
# @param Certificate: 域名证书信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Certificate: :class:`Tencentcloud::Teo.v20220901.models.AccelerationDomainCertificate`
# @param HttpOriginPort: HTTP回源端口。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HttpOriginPort: Integer
# @param HttpsOriginPort: HTTPS回源端口。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HttpsOriginPort: Integer
# @param IPv6Status: IPv6状态,取值有:
# follow:遵循站点IPv6配置;
# on:开启状态;
# off:关闭状态。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IPv6Status: String
# @param Cname: CNAME 地址。
# @type Cname: String
# @param IdentificationStatus: 加速域名归属权验证状态,取值有: pending:待验证; finished:已完成验证。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IdentificationStatus: String
# @param CreatedOn: 创建时间。
# @type CreatedOn: String
# @param ModifiedOn: 修改时间。
# @type ModifiedOn: String
# @param OwnershipVerification: 当域名需要进行归属权验证才能继续提供服务时,该对象会携带对应验证方式所需要的信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OwnershipVerification: :class:`Tencentcloud::Teo.v20220901.models.OwnershipVerification`
attr_accessor :ZoneId, :DomainName, :DomainStatus, :OriginDetail, :OriginProtocol, :Certificate, :HttpOriginPort, :HttpsOriginPort, :IPv6Status, :Cname, :IdentificationStatus, :CreatedOn, :ModifiedOn, :OwnershipVerification
def initialize(zoneid=nil, domainname=nil, domainstatus=nil, origindetail=nil, originprotocol=nil, certificate=nil, httporiginport=nil, httpsoriginport=nil, ipv6status=nil, cname=nil, identificationstatus=nil, createdon=nil, modifiedon=nil, ownershipverification=nil)
@ZoneId = zoneid
@DomainName = domainname
@DomainStatus = domainstatus
@OriginDetail = origindetail
@OriginProtocol = originprotocol
@Certificate = certificate
@HttpOriginPort = httporiginport
@HttpsOriginPort = httpsoriginport
@IPv6Status = ipv6status
@Cname = cname
@IdentificationStatus = identificationstatus
@CreatedOn = createdon
@ModifiedOn = modifiedon
@OwnershipVerification = ownershipverification
end
def deserialize(params)
@ZoneId = params['ZoneId']
@DomainName = params['DomainName']
@DomainStatus = params['DomainStatus']
unless params['OriginDetail'].nil?
@OriginDetail = OriginDetail.new
@OriginDetail.deserialize(params['OriginDetail'])
end
@OriginProtocol = params['OriginProtocol']
unless params['Certificate'].nil?
@Certificate = AccelerationDomainCertificate.new
@Certificate.deserialize(params['Certificate'])
end
@HttpOriginPort = params['HttpOriginPort']
@HttpsOriginPort = params['HttpsOriginPort']
@IPv6Status = params['IPv6Status']
@Cname = params['Cname']
@IdentificationStatus = params['IdentificationStatus']
@CreatedOn = params['CreatedOn']
@ModifiedOn = params['ModifiedOn']
unless params['OwnershipVerification'].nil?
@OwnershipVerification = OwnershipVerification.new
@OwnershipVerification.deserialize(params['OwnershipVerification'])
end
end
end
# 加速域名所对应的证书信息。
class AccelerationDomainCertificate < TencentCloud::Common::AbstractModel
# @param Mode: 配置证书的模式,取值有: disable:不配置证书; eofreecert:配置 EdgeOne 免费证书; sslcert:配置 SSL 证书。
# @type Mode: String
# @param List: 服务端证书列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type List: Array
# @param ClientCertInfo: 边缘双向认证配置。
# @type ClientCertInfo: :class:`Tencentcloud::Teo.v20220901.models.MutualTLS`
attr_accessor :Mode, :List, :ClientCertInfo
def initialize(mode=nil, list=nil, clientcertinfo=nil)
@Mode = mode
@List = list
@ClientCertInfo = clientcertinfo
end
def deserialize(params)
@Mode = params['Mode']
unless params['List'].nil?
@List = []
params['List'].each do |i|
certificateinfo_tmp = CertificateInfo.new
certificateinfo_tmp.deserialize(i)
@List << certificateinfo_tmp
end
end
unless params['ClientCertInfo'].nil?
@ClientCertInfo = MutualTLS.new
@ClientCertInfo.deserialize(params['ClientCertInfo'])
end
end
end
# 精准防护条件
class AclCondition < TencentCloud::Common::AbstractModel
# @param MatchFrom: 匹配字段,取值有:
# 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防护自定义规则可用。
# @type MatchFrom: String
# @param MatchParam: 匹配字符串。当 MatchFrom 为 header 时,可以填入 header 的 key 作为参数。
# @type MatchParam: String
# @param Operator: 匹配关系,取值有:
# 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:通配符。
# @type Operator: String
# @param MatchContent: 匹配内容。
# @type MatchContent: String
attr_accessor :MatchFrom, :MatchParam, :Operator, :MatchContent
def initialize(matchfrom=nil, matchparam=nil, operator=nil, matchcontent=nil)
@MatchFrom = matchfrom
@MatchParam = matchparam
@Operator = operator
@MatchContent = matchcontent
end
def deserialize(params)
@MatchFrom = params['MatchFrom']
@MatchParam = params['MatchParam']
@Operator = params['Operator']
@MatchContent = params['MatchContent']
end
end
# ACL配置
class AclConfig < TencentCloud::Common::AbstractModel
# @param Switch: 开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param AclUserRules: 用户自定义规则。
# @type AclUserRules: Array
# @param Customizes: 托管定制规则
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Customizes: Array
attr_accessor :Switch, :AclUserRules, :Customizes
def initialize(switch=nil, acluserrules=nil, customizes=nil)
@Switch = switch
@AclUserRules = acluserrules
@Customizes = customizes
end
def deserialize(params)
@Switch = params['Switch']
unless params['AclUserRules'].nil?
@AclUserRules = []
params['AclUserRules'].each do |i|
acluserrule_tmp = AclUserRule.new
acluserrule_tmp.deserialize(i)
@AclUserRules << acluserrule_tmp
end
end
unless params['Customizes'].nil?
@Customizes = []
params['Customizes'].each do |i|
acluserrule_tmp = AclUserRule.new
acluserrule_tmp.deserialize(i)
@Customizes << acluserrule_tmp
end
end
end
end
# 用户自定义规则
class AclUserRule < TencentCloud::Common::AbstractModel
# @param RuleName: 规则名。
# @type RuleName: String
# @param Action: 处罚动作,取值有:
# trans:放行;
# drop:拦截;
# monitor:观察;
# ban:IP 封禁;
# redirect:重定向;
# page:指定页面;
# alg:JavaScript 挑战。
# @type Action: String
# @param RuleStatus: 规则状态,取值有:
# on:生效;
# off:失效。
# @type RuleStatus: String
# @param AclConditions: 自定义规则。
# @type AclConditions: Array
# @param RulePriority: 规则优先级,取值范围0-100。
# @type RulePriority: Integer
# @param RuleID: 规则 Id。仅出参使用。
# @type RuleID: Integer
# @param UpdateTime: 更新时间。仅出参使用。
# @type UpdateTime: String
# @param PunishTime: ip 封禁的惩罚时间。Action 是 ban 时必填,且不能为空,取值范围0-2天。
# @type PunishTime: Integer
# @param PunishTimeUnit: ip 封禁的惩罚时间单位,取值有:
# second:秒;
# minutes:分;
# hour:小时。默认为 second。
# @type PunishTimeUnit: String
# @param Name: 自定义返回页面的名称。Action 是 page 时必填,且不能为空。
# @type Name: String
# @param PageId: 自定义返回页面的实例 Id。默认为0,代表使用系统默认拦截页面。该参数已废弃。
# @type PageId: Integer
# @param CustomResponseId: 自定义响应 Id。该 Id 可通过查询自定义错误页列表接口获取。默认值为default,使用系统默认页面。Action 是 page 时必填,且不能为空。
# @type CustomResponseId: String
# @param ResponseCode: 自定义返回页面的响应码。Action 是 page 时必填,且不能为空,取值: 100~600,不支持 3xx 响应码。默认值:567。
# @type ResponseCode: Integer
# @param RedirectUrl: 重定向时候的地址。Action 是 redirect 时必填,且不能为空。
# @type RedirectUrl: String
attr_accessor :RuleName, :Action, :RuleStatus, :AclConditions, :RulePriority, :RuleID, :UpdateTime, :PunishTime, :PunishTimeUnit, :Name, :PageId, :CustomResponseId, :ResponseCode, :RedirectUrl
def initialize(rulename=nil, action=nil, rulestatus=nil, aclconditions=nil, rulepriority=nil, ruleid=nil, updatetime=nil, punishtime=nil, punishtimeunit=nil, name=nil, pageid=nil, customresponseid=nil, responsecode=nil, redirecturl=nil)
@RuleName = rulename
@Action = action
@RuleStatus = rulestatus
@AclConditions = aclconditions
@RulePriority = rulepriority
@RuleID = ruleid
@UpdateTime = updatetime
@PunishTime = punishtime
@PunishTimeUnit = punishtimeunit
@Name = name
@PageId = pageid
@CustomResponseId = customresponseid
@ResponseCode = responsecode
@RedirectUrl = redirecturl
end
def deserialize(params)
@RuleName = params['RuleName']
@Action = params['Action']
@RuleStatus = params['RuleStatus']
unless params['AclConditions'].nil?
@AclConditions = []
params['AclConditions'].each do |i|
aclcondition_tmp = AclCondition.new
aclcondition_tmp.deserialize(i)
@AclConditions << aclcondition_tmp
end
end
@RulePriority = params['RulePriority']
@RuleID = params['RuleID']
@UpdateTime = params['UpdateTime']
@PunishTime = params['PunishTime']
@PunishTimeUnit = params['PunishTimeUnit']
@Name = params['Name']
@PageId = params['PageId']
@CustomResponseId = params['CustomResponseId']
@ResponseCode = params['ResponseCode']
@RedirectUrl = params['RedirectUrl']
end
end
# 规则引擎功能项操作,对于一种功能只对应下面三种类型的其中一种,RuleAction 数组中的每一项只能是其中一个类型,更多功能项的填写规范可调用接口 [查询规则引擎的设置参数](https://cloud.tencent.com/document/product/1552/80618) 查看。
class Action < TencentCloud::Common::AbstractModel
# @param NormalAction: 常规功能操作,选择该类型的功能项有:
# 访问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);
# 缓存预刷新(CachePrefresh);
# 智能压缩(Compression);
# Hsts;
# ClientIpHeader;
# SslTlsSecureConf;
# OcspStapling;
# HTTP/2 访问(Http2);
# 回源跟随重定向(UpstreamFollowRedirect);
# 修改源站(Origin)。
# 七层回源超时(HTTPUpstreamTimeout)。
# Http应答(HttpResponse)。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NormalAction: :class:`Tencentcloud::Teo.v20220901.models.NormalAction`
# @param RewriteAction: 带有请求头/响应头的功能操作,选择该类型的功能项有:
# 修改 HTTP 请求头(RequestHeader);
# 修改HTTP响应头(ResponseHeader)。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RewriteAction: :class:`Tencentcloud::Teo.v20220901.models.RewriteAction`
# @param CodeAction: 带有状态码的功能操作,选择该类型的功能项有:
# 自定义错误页面(ErrorPage);
# 状态码缓存 TTL(StatusCodeCache)。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CodeAction: :class:`Tencentcloud::Teo.v20220901.models.CodeAction`
attr_accessor :NormalAction, :RewriteAction, :CodeAction
def initialize(normalaction=nil, rewriteaction=nil, codeaction=nil)
@NormalAction = normalaction
@RewriteAction = rewriteaction
@CodeAction = codeaction
end
def deserialize(params)
unless params['NormalAction'].nil?
@NormalAction = NormalAction.new
@NormalAction.deserialize(params['NormalAction'])
end
unless params['RewriteAction'].nil?
@RewriteAction = RewriteAction.new
@RewriteAction.deserialize(params['RewriteAction'])
end
unless params['CodeAction'].nil?
@CodeAction = CodeAction.new
@CodeAction.deserialize(params['CodeAction'])
end
end
end
# 描述键值对过滤器,用于条件过滤查询,支持模糊查询。例如过滤ID、名称、状态等。
# 若存在多个Filter时,Filter间的关系为逻辑与(AND)关系。
# 若同一个Filter存在多个Values,同一Filter下Values间的关系为逻辑或(OR)关系。
class AdvancedFilter < TencentCloud::Common::AbstractModel
# @param Name: 需要过滤的字段。
# @type Name: String
# @param Values: 字段的过滤值。
# @type Values: Array
# @param Fuzzy: 是否启用模糊查询。
# @type Fuzzy: Boolean
attr_accessor :Name, :Values, :Fuzzy
def initialize(name=nil, values=nil, fuzzy=nil)
@Name = name
@Values = values
@Fuzzy = fuzzy
end
def deserialize(params)
@Name = params['Name']
@Values = params['Values']
@Fuzzy = params['Fuzzy']
end
end
# AI规则引擎防护
class AiRule < TencentCloud::Common::AbstractModel
# @param Mode: AI规则引擎状态,取值有:
# smart_status_close:关闭;
# smart_status_open:拦截处置;
# smart_status_observe:观察处置。
# @type Mode: String
attr_accessor :Mode
def initialize(mode=nil)
@Mode = mode
end
def deserialize(params)
@Mode = params['Mode']
end
end
# Bot主动特征识别客户端行为校验。
class AlgDetectJS < TencentCloud::Common::AbstractModel
# @param Name: 操作名称。
# @type Name: String
# @param WorkLevel: 工作量证明 (proof_Of-Work)校验强度,默认low,取值有:
# low:低;
# middle:中;
# high:高。
# @type WorkLevel: String
# @param ExecuteMode: 执行方式,js延迟执行的时间。单位为ms,默认500,取值:0~1000。
# @type ExecuteMode: Integer
# @param InvalidStatTime: 客户端末启用JS(末完成检测)统计周期。单位为秒,默认10,取值:5~3600。
# @type InvalidStatTime: Integer
# @param InvalidThreshold: 客户端末启用JS(末完成检测)触发阈值。单位为次,默认300,取值:1~100000000。
# @type InvalidThreshold: Integer
# @param AlgDetectResults: Bot主动特征识别客户端行为校验结果。
# @type AlgDetectResults: Array
attr_accessor :Name, :WorkLevel, :ExecuteMode, :InvalidStatTime, :InvalidThreshold, :AlgDetectResults
def initialize(name=nil, worklevel=nil, executemode=nil, invalidstattime=nil, invalidthreshold=nil, algdetectresults=nil)
@Name = name
@WorkLevel = worklevel
@ExecuteMode = executemode
@InvalidStatTime = invalidstattime
@InvalidThreshold = invalidthreshold
@AlgDetectResults = algdetectresults
end
def deserialize(params)
@Name = params['Name']
@WorkLevel = params['WorkLevel']
@ExecuteMode = params['ExecuteMode']
@InvalidStatTime = params['InvalidStatTime']
@InvalidThreshold = params['InvalidThreshold']
unless params['AlgDetectResults'].nil?
@AlgDetectResults = []
params['AlgDetectResults'].each do |i|
algdetectresult_tmp = AlgDetectResult.new
algdetectresult_tmp.deserialize(i)
@AlgDetectResults << algdetectresult_tmp
end
end
end
end
# Bot主动特征识别校验结果。
class AlgDetectResult < TencentCloud::Common::AbstractModel
# @param Result: 校验结果,取值有:
# invalid:不合法Cookie;
# cookie_empty:末携带Cookie或Cookie己过期;
# js_empty:客户端末启用JS(末完成检测);
# low:会话速率和周期特征校验低风险;
# middle:会话速率和周期特征校验中风险;
# high:会话速率和周期特征校验高风险;
# timeout:检测超时时长;
# not_browser:不合法浏览器;
# is_bot:Bot客户端。
# @type Result: String
# @param Action: 处罚动作,取值有:
# drop:拦截;
# monitor:观察;
# silence:静默;
# shortdelay:(短时间)等待后响应;
# longdelay:(长时间)等待后响应。
# @type Action: String
attr_accessor :Result, :Action
def initialize(result=nil, action=nil)
@Result = result
@Action = action
end
def deserialize(params)
@Result = params['Result']
@Action = params['Action']
end
end
# Bot主动特征识别规则。
class AlgDetectRule < TencentCloud::Common::AbstractModel
# @param RuleID: 规则id。
# @type RuleID: Integer
# @param RuleName: 规则名。
# @type RuleName: String
# @param Switch: 规则开关。
# @type Switch: String
# @param AlgConditions: 自定义规则。
# @type AlgConditions: Array
# @param AlgDetectSession: Cookie校验和会话行为分析。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AlgDetectSession: :class:`Tencentcloud::Teo.v20220901.models.AlgDetectSession`
# @param AlgDetectJS: 客户端行为校验。
# @type AlgDetectJS: Array
# @param UpdateTime: 更新时间。仅出参使用。
# @type UpdateTime: String
attr_accessor :RuleID, :RuleName, :Switch, :AlgConditions, :AlgDetectSession, :AlgDetectJS, :UpdateTime
def initialize(ruleid=nil, rulename=nil, switch=nil, algconditions=nil, algdetectsession=nil, algdetectjs=nil, updatetime=nil)
@RuleID = ruleid
@RuleName = rulename
@Switch = switch
@AlgConditions = algconditions
@AlgDetectSession = algdetectsession
@AlgDetectJS = algdetectjs
@UpdateTime = updatetime
end
def deserialize(params)
@RuleID = params['RuleID']
@RuleName = params['RuleName']
@Switch = params['Switch']
unless params['AlgConditions'].nil?
@AlgConditions = []
params['AlgConditions'].each do |i|
aclcondition_tmp = AclCondition.new
aclcondition_tmp.deserialize(i)
@AlgConditions << aclcondition_tmp
end
end
unless params['AlgDetectSession'].nil?
@AlgDetectSession = AlgDetectSession.new
@AlgDetectSession.deserialize(params['AlgDetectSession'])
end
unless params['AlgDetectJS'].nil?
@AlgDetectJS = []
params['AlgDetectJS'].each do |i|
algdetectjs_tmp = AlgDetectJS.new
algdetectjs_tmp.deserialize(i)
@AlgDetectJS << algdetectjs_tmp
end
end
@UpdateTime = params['UpdateTime']
end
end
# Cookie校验与会话跟踪。
class AlgDetectSession < TencentCloud::Common::AbstractModel
# @param Name: 操作名称。
# @type Name: String
# @param DetectMode: 校验方式,默认update_detect,取值有:
# detect:仅校验;
# update_detect:更新Cookie并校验。
# @type DetectMode: String
# @param SessionAnalyzeSwitch: 会话速率和周期特征校验开关,默认off,取值有:
# off:关闭;
# on:打开。
# @type SessionAnalyzeSwitch: String
# @param InvalidStatTime: 校验结果为未携带Cookie或Cookie已过期的统计周期。单位为秒,默认10,取值:5~3600。
# @type InvalidStatTime: Integer
# @param InvalidThreshold: 校验结果为未携带Cookie或Cookie已过期的触发阈值。单位为次,默认300,取值:1~100000000。
# @type InvalidThreshold: Integer
# @param AlgDetectResults: Cookie校验校验结果。
# @type AlgDetectResults: Array
# @param SessionBehaviors: 会话速率和周期特征校验结果。
# @type SessionBehaviors: Array
attr_accessor :Name, :DetectMode, :SessionAnalyzeSwitch, :InvalidStatTime, :InvalidThreshold, :AlgDetectResults, :SessionBehaviors
def initialize(name=nil, detectmode=nil, sessionanalyzeswitch=nil, invalidstattime=nil, invalidthreshold=nil, algdetectresults=nil, sessionbehaviors=nil)
@Name = name
@DetectMode = detectmode
@SessionAnalyzeSwitch = sessionanalyzeswitch
@InvalidStatTime = invalidstattime
@InvalidThreshold = invalidthreshold
@AlgDetectResults = algdetectresults
@SessionBehaviors = sessionbehaviors
end
def deserialize(params)
@Name = params['Name']
@DetectMode = params['DetectMode']
@SessionAnalyzeSwitch = params['SessionAnalyzeSwitch']
@InvalidStatTime = params['InvalidStatTime']
@InvalidThreshold = params['InvalidThreshold']
unless params['AlgDetectResults'].nil?
@AlgDetectResults = []
params['AlgDetectResults'].each do |i|
algdetectresult_tmp = AlgDetectResult.new
algdetectresult_tmp.deserialize(i)
@AlgDetectResults << algdetectresult_tmp
end
end
unless params['SessionBehaviors'].nil?
@SessionBehaviors = []
params['SessionBehaviors'].each do |i|
algdetectresult_tmp = AlgDetectResult.new
algdetectresult_tmp.deserialize(i)
@SessionBehaviors << algdetectresult_tmp
end
end
end
end
# 别称域名信息。
class AliasDomain < TencentCloud::Common::AbstractModel
# @param AliasName: 别称域名名称。
# @type AliasName: String
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param TargetName: 目标域名名称。
# @type TargetName: String
# @param Status: 别称域名状态,取值有:
# active:已生效;
# pending:部署中;
# conflict:被找回。
# stop:已停用;
# @type Status: String
# @param ForbidMode: 封禁模式,取值有:
# 0:未封禁;
# 11:合规封禁;
# 14:未备案封禁。
# @type ForbidMode: Integer
# @param CreatedOn: 别称域名创建时间。
# @type CreatedOn: String
# @param ModifiedOn: 别称域名修改时间。
# @type ModifiedOn: String
attr_accessor :AliasName, :ZoneId, :TargetName, :Status, :ForbidMode, :CreatedOn, :ModifiedOn
def initialize(aliasname=nil, zoneid=nil, targetname=nil, status=nil, forbidmode=nil, createdon=nil, modifiedon=nil)
@AliasName = aliasname
@ZoneId = zoneid
@TargetName = targetname
@Status = status
@ForbidMode = forbidmode
@CreatedOn = createdon
@ModifiedOn = modifiedon
end
def deserialize(params)
@AliasName = params['AliasName']
@ZoneId = params['ZoneId']
@TargetName = params['TargetName']
@Status = params['Status']
@ForbidMode = params['ForbidMode']
@CreatedOn = params['CreatedOn']
@ModifiedOn = params['ModifiedOn']
end
end
# 应用代理实例
class ApplicationProxy < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param ZoneName: 站点名称。
# @type ZoneName: String
# @param ProxyId: 代理ID。
# @type ProxyId: String
# @param ProxyName: 当ProxyType=hostname时,表示域名或子域名;
# 当ProxyType=instance时,表示代理名称。
# @type ProxyName: String
# @param ProxyType: 四层代理模式,取值有:
# hostname:表示子域名模式;
# instance:表示实例模式。
# @type ProxyType: String
# @param PlatType: 调度模式,取值有:
# ip:表示Anycast IP调度;
# domain:表示CNAME调度。
# @type PlatType: String
# @param Area: 加速区域,取值有:
# mainland:中国大陆境内;
# overseas:全球(不含中国大陆)。
# 默认值:overseas
# @type Area: String
# @param SecurityType: 是否开启安全,取值有:
# 0:关闭安全;
# 1:开启安全。
# @type SecurityType: Integer
# @param AccelerateType: 是否开启加速,取值有:
# 0:关闭加速;
# 1:开启加速。
# @type AccelerateType: Integer
# @param SessionPersistTime: 会话保持时间。
# @type SessionPersistTime: Integer
# @param Status: 状态,取值有:
# online:启用;
# offline:停用;
# progress:部署中;
# stopping:停用中;
# fail:部署失败/停用失败。
# @type Status: String
# @param BanStatus: 封禁状态,取值有:
# banned:已封禁;
# banning:封禁中;
# recover:已解封;
# recovering:解封禁中。
# @type BanStatus: String
# @param ScheduleValue: 调度信息。
# @type ScheduleValue: Array
# @param HostId: 当ProxyType=hostname时:
# 表示代理加速唯一标识。
# @type HostId: String
# @param Ipv6: Ipv6访问配置。
# @type Ipv6: :class:`Tencentcloud::Teo.v20220901.models.Ipv6`
# @param UpdateTime: 更新时间。
# @type UpdateTime: String
# @param ApplicationProxyRules: 规则列表。
# @type ApplicationProxyRules: Array
# @param AccelerateMainland: 中国大陆加速优化配置。
# @type AccelerateMainland: :class:`Tencentcloud::Teo.v20220901.models.AccelerateMainland`
attr_accessor :ZoneId, :ZoneName, :ProxyId, :ProxyName, :ProxyType, :PlatType, :Area, :SecurityType, :AccelerateType, :SessionPersistTime, :Status, :BanStatus, :ScheduleValue, :HostId, :Ipv6, :UpdateTime, :ApplicationProxyRules, :AccelerateMainland
def initialize(zoneid=nil, zonename=nil, proxyid=nil, proxyname=nil, proxytype=nil, plattype=nil, area=nil, securitytype=nil, acceleratetype=nil, sessionpersisttime=nil, status=nil, banstatus=nil, schedulevalue=nil, hostid=nil, ipv6=nil, updatetime=nil, applicationproxyrules=nil, acceleratemainland=nil)
@ZoneId = zoneid
@ZoneName = zonename
@ProxyId = proxyid
@ProxyName = proxyname
@ProxyType = proxytype
@PlatType = plattype
@Area = area
@SecurityType = securitytype
@AccelerateType = acceleratetype
@SessionPersistTime = sessionpersisttime
@Status = status
@BanStatus = banstatus
@ScheduleValue = schedulevalue
@HostId = hostid
@Ipv6 = ipv6
@UpdateTime = updatetime
@ApplicationProxyRules = applicationproxyrules
@AccelerateMainland = acceleratemainland
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ZoneName = params['ZoneName']
@ProxyId = params['ProxyId']
@ProxyName = params['ProxyName']
@ProxyType = params['ProxyType']
@PlatType = params['PlatType']
@Area = params['Area']
@SecurityType = params['SecurityType']
@AccelerateType = params['AccelerateType']
@SessionPersistTime = params['SessionPersistTime']
@Status = params['Status']
@BanStatus = params['BanStatus']
@ScheduleValue = params['ScheduleValue']
@HostId = params['HostId']
unless params['Ipv6'].nil?
@Ipv6 = Ipv6.new
@Ipv6.deserialize(params['Ipv6'])
end
@UpdateTime = params['UpdateTime']
unless params['ApplicationProxyRules'].nil?
@ApplicationProxyRules = []
params['ApplicationProxyRules'].each do |i|
applicationproxyrule_tmp = ApplicationProxyRule.new
applicationproxyrule_tmp.deserialize(i)
@ApplicationProxyRules << applicationproxyrule_tmp
end
end
unless params['AccelerateMainland'].nil?
@AccelerateMainland = AccelerateMainland.new
@AccelerateMainland.deserialize(params['AccelerateMainland'])
end
end
end
# 应用代理规则
class ApplicationProxyRule < TencentCloud::Common::AbstractModel
# @param Proto: 协议,取值有:
# TCP:TCP协议;
# UDP:UDP协议。
# @type Proto: String
# @param Port: 端口,支持格式:
# 单个端口,如:80。
# 端口段,如:81-82。表示81,82两个端口。
# 注意:一条规则最多可填写20个端口。
# @type Port: Array
# @param OriginType: 源站类型,取值有:
# custom:手动添加;
# loadbalancer:负载均衡;
# origins:源站组。
# @type OriginType: String
# @param OriginValue: 源站信息:
# 当 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"]`。
# @type OriginValue: Array
# @param RuleId: 规则ID。
# @type RuleId: String
# @param Status: 状态,取值有:
# online:启用;
# offline:停用;
# progress:部署中;
# stopping:停用中;
# fail:部署失败/停用失败。
# @type Status: String
# @param ForwardClientIp: 传递客户端IP,取值有:
# TOA:TOA(仅Proto=TCP时可选);
# PPV1:Proxy Protocol传递,协议版本V1(仅Proto=TCP时可选);
# PPV2:Proxy Protocol传递,协议版本V2;
# OFF:不传递。默认值:OFF。
# @type ForwardClientIp: String
# @param SessionPersist: 是否开启会话保持,取值有:
# true:开启;
# false:关闭。默认值:false。
# @type SessionPersist: Boolean
# @param SessionPersistTime: 会话保持的时间,只有当SessionPersist为true时,该值才会生效。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SessionPersistTime: Integer
# @param OriginPort: 源站端口,支持格式:
# 单端口,如:80。
# 端口段:81-82,表示81,82两个端口。
# @type OriginPort: String
# @param RuleTag: 规则标签。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RuleTag: String
attr_accessor :Proto, :Port, :OriginType, :OriginValue, :RuleId, :Status, :ForwardClientIp, :SessionPersist, :SessionPersistTime, :OriginPort, :RuleTag
def initialize(proto=nil, port=nil, origintype=nil, originvalue=nil, ruleid=nil, status=nil, forwardclientip=nil, sessionpersist=nil, sessionpersisttime=nil, originport=nil, ruletag=nil)
@Proto = proto
@Port = port
@OriginType = origintype
@OriginValue = originvalue
@RuleId = ruleid
@Status = status
@ForwardClientIp = forwardclientip
@SessionPersist = sessionpersist
@SessionPersistTime = sessionpersisttime
@OriginPort = originport
@RuleTag = ruletag
end
def deserialize(params)
@Proto = params['Proto']
@Port = params['Port']
@OriginType = params['OriginType']
@OriginValue = params['OriginValue']
@RuleId = params['RuleId']
@Status = params['Status']
@ForwardClientIp = params['ForwardClientIp']
@SessionPersist = params['SessionPersist']
@SessionPersistTime = params['SessionPersistTime']
@OriginPort = params['OriginPort']
@RuleTag = params['RuleTag']
end
end
# 站点归属信息
class AscriptionInfo < TencentCloud::Common::AbstractModel
# @param Subdomain: 主机记录。
# @type Subdomain: String
# @param RecordType: 记录类型。
# @type RecordType: String
# @param RecordValue: 记录值。
# @type RecordValue: String
attr_accessor :Subdomain, :RecordType, :RecordValue
def initialize(subdomain=nil, recordtype=nil, recordvalue=nil)
@Subdomain = subdomain
@RecordType = recordtype
@RecordValue = recordvalue
end
def deserialize(params)
@Subdomain = params['Subdomain']
@RecordType = params['RecordType']
@RecordValue = params['RecordValue']
end
end
# 计费数据项
class BillingData < TencentCloud::Common::AbstractModel
# @param Time: 时间。
# @type Time: String
# @param Value: 数值。
# @type Value: Integer
attr_accessor :Time, :Value
def initialize(time=nil, value=nil)
@Time = time
@Value = value
end
def deserialize(params)
@Time = params['Time']
@Value = params['Value']
end
end
# 计费数据过滤条件。
class BillingDataFilter < TencentCloud::Common::AbstractModel
# @param Type: 参数名称。
# @type Type: String
# @param Value: 参数值。
# @type Value: String
attr_accessor :Type, :Value
def initialize(type=nil, value=nil)
@Type = type
@Value = value
end
def deserialize(params)
@Type = params['Type']
@Value = params['Value']
end
end
# BindSecurityTemplateToEntity请求参数结构体
class BindSecurityTemplateToEntityRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 需要绑定或解绑的策略模板所属站点 ID。
# @type ZoneId: String
# @param Entities: 绑定至策略模板(或者从策略模板解绑)的域名列表。
# @type Entities: Array
# @param Operate: 绑定或解绑操作选项,取值有:
# bind:绑定域名至策略模板;
# unbind-keep-policy:将域名从策略模板解绑,解绑时保留当前策略;
# unbind-use-default:将域名从策略模板解绑,并使用默认空白策略。注意:解绑操作当前仅支持单个域名解绑。即:当 Operate 参数取值为 unbind-keep-policy 或 unbind-use-default 时,Entities 参数列表仅支持填写一个域名。
# @type Operate: String
# @param TemplateId: 指定绑定或解绑的策略模板 ID 或站点全局策略
# - 如需绑定至策略模板,或从策略模板解绑,请指定策略模板 ID。
# - 如需绑定至站点全局策略,或从站点全局策略解绑,请使用 @ZoneLevel@domain 参数值。
# 注意:解绑后,域名将使用独立策略,并单独计算规则配额,请确保解绑前套餐规则配额充足。
# @type TemplateId: String
# @param OverWrite: 如指定的域名已经绑定了策略模板,是否替换该模板。支持下列取值:
# true: 替换域名当前绑定的模板;
# false:不替换域名当前绑定的模板。注意:当选择不替换已有策略模板时,若指定域名已经绑定策略模板,API 将返回错误。
# @type OverWrite: Boolean
attr_accessor :ZoneId, :Entities, :Operate, :TemplateId, :OverWrite
def initialize(zoneid=nil, entities=nil, operate=nil, templateid=nil, overwrite=nil)
@ZoneId = zoneid
@Entities = entities
@Operate = operate
@TemplateId = templateid
@OverWrite = overwrite
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Entities = params['Entities']
@Operate = params['Operate']
@TemplateId = params['TemplateId']
@OverWrite = params['OverWrite']
end
end
# BindSecurityTemplateToEntity返回参数结构体
class BindSecurityTemplateToEntityResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# 共享 CNAME 和接入域名的绑定关系
class BindSharedCNAMEMap < TencentCloud::Common::AbstractModel
# @param SharedCNAME: 需要绑定或解绑的共享 CNAME。
# @type SharedCNAME: String
# @param DomainNames: 加速域名,可传递多个,最多20个。
# @type DomainNames: Array
attr_accessor :SharedCNAME, :DomainNames
def initialize(sharedcname=nil, domainnames=nil)
@SharedCNAME = sharedcname
@DomainNames = domainnames
end
def deserialize(params)
@SharedCNAME = params['SharedCNAME']
@DomainNames = params['DomainNames']
end
end
# BindSharedCNAME请求参数结构体
class BindSharedCNAMERequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 加速域名所属站点 ID。
# @type ZoneId: String
# @param BindType: 绑定类型,取值有:
# bind:绑定;
# unbind:解绑。
# @type BindType: String
# @param BindSharedCNAMEMaps: 接入域名与共享 CNAME 的绑定关系。
# @type BindSharedCNAMEMaps: Array
attr_accessor :ZoneId, :BindType, :BindSharedCNAMEMaps
def initialize(zoneid=nil, bindtype=nil, bindsharedcnamemaps=nil)
@ZoneId = zoneid
@BindType = bindtype
@BindSharedCNAMEMaps = bindsharedcnamemaps
end
def deserialize(params)
@ZoneId = params['ZoneId']
@BindType = params['BindType']
unless params['BindSharedCNAMEMaps'].nil?
@BindSharedCNAMEMaps = []
params['BindSharedCNAMEMaps'].each do |i|
bindsharedcnamemap_tmp = BindSharedCNAMEMap.new
bindsharedcnamemap_tmp.deserialize(i)
@BindSharedCNAMEMaps << bindsharedcnamemap_tmp
end
end
end
end
# BindSharedCNAME返回参数结构体
class BindSharedCNAMEResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# BindZoneToPlan请求参数结构体
class BindZoneToPlanRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 未绑定套餐的站点ID。
# @type ZoneId: String
# @param PlanId: 待绑定的目标套餐ID。
# @type PlanId: String
attr_accessor :ZoneId, :PlanId
def initialize(zoneid=nil, planid=nil)
@ZoneId = zoneid
@PlanId = planid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@PlanId = params['PlanId']
end
end
# BindZoneToPlan返回参数结构体
class BindZoneToPlanResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# 安全Bot配置
class BotConfig < TencentCloud::Common::AbstractModel
# @param Switch: bot开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param BotManagedRule: 通用详细基础规则。如果为null,默认使用历史配置。
# @type BotManagedRule: :class:`Tencentcloud::Teo.v20220901.models.BotManagedRule`
# @param BotPortraitRule: 用户画像规则。如果为null,默认使用历史配置。
# @type BotPortraitRule: :class:`Tencentcloud::Teo.v20220901.models.BotPortraitRule`
# @param IntelligenceRule: Bot智能分析。如果为null,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IntelligenceRule: :class:`Tencentcloud::Teo.v20220901.models.IntelligenceRule`
# @param BotUserRules: Bot自定义规则。如果为null,默认使用历史配置。
# @type BotUserRules: Array
# @param AlgDetectRule: Bot主动特征识别规则。
# @type AlgDetectRule: Array
# @param Customizes: Bot托管定制策略,入参可不填,仅出参使用。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Customizes: Array
attr_accessor :Switch, :BotManagedRule, :BotPortraitRule, :IntelligenceRule, :BotUserRules, :AlgDetectRule, :Customizes
def initialize(switch=nil, botmanagedrule=nil, botportraitrule=nil, intelligencerule=nil, botuserrules=nil, algdetectrule=nil, customizes=nil)
@Switch = switch
@BotManagedRule = botmanagedrule
@BotPortraitRule = botportraitrule
@IntelligenceRule = intelligencerule
@BotUserRules = botuserrules
@AlgDetectRule = algdetectrule
@Customizes = customizes
end
def deserialize(params)
@Switch = params['Switch']
unless params['BotManagedRule'].nil?
@BotManagedRule = BotManagedRule.new
@BotManagedRule.deserialize(params['BotManagedRule'])
end
unless params['BotPortraitRule'].nil?
@BotPortraitRule = BotPortraitRule.new
@BotPortraitRule.deserialize(params['BotPortraitRule'])
end
unless params['IntelligenceRule'].nil?
@IntelligenceRule = IntelligenceRule.new
@IntelligenceRule.deserialize(params['IntelligenceRule'])
end
unless params['BotUserRules'].nil?
@BotUserRules = []
params['BotUserRules'].each do |i|
botuserrule_tmp = BotUserRule.new
botuserrule_tmp.deserialize(i)
@BotUserRules << botuserrule_tmp
end
end
unless params['AlgDetectRule'].nil?
@AlgDetectRule = []
params['AlgDetectRule'].each do |i|
algdetectrule_tmp = AlgDetectRule.new
algdetectrule_tmp.deserialize(i)
@AlgDetectRule << algdetectrule_tmp
end
end
unless params['Customizes'].nil?
@Customizes = []
params['Customizes'].each do |i|
botuserrule_tmp = BotUserRule.new
botuserrule_tmp.deserialize(i)
@Customizes << botuserrule_tmp
end
end
end
end
# Bot扩展处置方式,多处置动作组合。
class BotExtendAction < TencentCloud::Common::AbstractModel
# @param Action: 处置动作,取值有:
# monitor:观察;
# alg:JavaScript挑战;
# captcha:托管挑战;
# random:随机,按照ExtendActions分配处置动作和比例;
# silence:静默;
# shortdelay:短时响应;
# longdelay:长时响应。
# @type Action: String
# @param Percent: 处置方式的触发概率,范围0-100。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Percent: Integer
attr_accessor :Action, :Percent
def initialize(action=nil, percent=nil)
@Action = action
@Percent = percent
end
def deserialize(params)
@Action = params['Action']
@Percent = params['Percent']
end
end
# Bot 规则,下列规则ID可参考接口 DescribeBotManagedRules返回的ID信息
class BotManagedRule < TencentCloud::Common::AbstractModel
# @param Action: 触发规则后的处置方式,取值有:
# drop:拦截;
# trans:放行;
# alg:Javascript挑战;
# monitor:观察。
# @type Action: String
# @param RuleID: 本规则的ID。仅出参使用。
# @type RuleID: Integer
# @param TransManagedIds: 放行的规则ID。默认所有规则不配置放行。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type TransManagedIds: Array
# @param AlgManagedIds: JS挑战的规则ID。默认所有规则不配置JS挑战。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AlgManagedIds: Array
# @param CapManagedIds: 数字验证码的规则ID。默认所有规则不配置数字验证码。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CapManagedIds: Array
# @param MonManagedIds: 观察的规则ID。默认所有规则不配置观察。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MonManagedIds: Array
# @param DropManagedIds: 拦截的规则ID。默认所有规则不配置拦截。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DropManagedIds: Array
attr_accessor :Action, :RuleID, :TransManagedIds, :AlgManagedIds, :CapManagedIds, :MonManagedIds, :DropManagedIds
def initialize(action=nil, ruleid=nil, transmanagedids=nil, algmanagedids=nil, capmanagedids=nil, monmanagedids=nil, dropmanagedids=nil)
@Action = action
@RuleID = ruleid
@TransManagedIds = transmanagedids
@AlgManagedIds = algmanagedids
@CapManagedIds = capmanagedids
@MonManagedIds = monmanagedids
@DropManagedIds = dropmanagedids
end
def deserialize(params)
@Action = params['Action']
@RuleID = params['RuleID']
@TransManagedIds = params['TransManagedIds']
@AlgManagedIds = params['AlgManagedIds']
@CapManagedIds = params['CapManagedIds']
@MonManagedIds = params['MonManagedIds']
@DropManagedIds = params['DropManagedIds']
end
end
# bot 用户画像规则
class BotPortraitRule < TencentCloud::Common::AbstractModel
# @param Switch: 本功能的开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param RuleID: 本规则的ID。仅出参使用。
# @type RuleID: Integer
# @param AlgManagedIds: JS挑战的规则ID。默认所有规则不配置JS挑战。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AlgManagedIds: Array
# @param CapManagedIds: 数字验证码的规则ID。默认所有规则不配置数字验证码。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CapManagedIds: Array
# @param MonManagedIds: 观察的规则ID。默认所有规则不配置观察。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MonManagedIds: Array
# @param DropManagedIds: 拦截的规则ID。默认所有规则不配置拦截。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DropManagedIds: Array
attr_accessor :Switch, :RuleID, :AlgManagedIds, :CapManagedIds, :MonManagedIds, :DropManagedIds
def initialize(switch=nil, ruleid=nil, algmanagedids=nil, capmanagedids=nil, monmanagedids=nil, dropmanagedids=nil)
@Switch = switch
@RuleID = ruleid
@AlgManagedIds = algmanagedids
@CapManagedIds = capmanagedids
@MonManagedIds = monmanagedids
@DropManagedIds = dropmanagedids
end
def deserialize(params)
@Switch = params['Switch']
@RuleID = params['RuleID']
@AlgManagedIds = params['AlgManagedIds']
@CapManagedIds = params['CapManagedIds']
@MonManagedIds = params['MonManagedIds']
@DropManagedIds = params['DropManagedIds']
end
end
# Bot自定义规则
class BotUserRule < TencentCloud::Common::AbstractModel
# @param RuleName: 规则名,只能以英文字符,数字,下划线组合,且不能以下划线开头。
# @type RuleName: String
# @param Action: 处置动作,取值有:
# drop:拦截;
# monitor:观察;
# trans:放行;
# redirect:重定向;
# page:指定页面;
# alg:JavaScript 挑战;
# captcha:托管挑战;
# random:随机处置;
# silence:静默;
# shortdelay:短时响应;
# longdelay:长时响应。
# @type Action: String
# @param RuleStatus: 规则状态,取值有:
# on:生效;
# off:不生效。默认 on 生效。
# @type RuleStatus: String
# @param AclConditions: 规则详情。
# @type AclConditions: Array
# @param RulePriority: 规则权重,取值范围0-100。
# @type RulePriority: Integer
# @param RuleID: 规则 Id。仅出参使用。
# @type RuleID: Integer
# @param ExtendActions: 随机处置的处置方式及占比,非随机处置可不填暂不支持。
# @type ExtendActions: Array
# @param FreqFields: 过滤词,取值有:
# sip:客户端 ip。
# 默认为空字符串。
# @type FreqFields: Array
# @param UpdateTime: 更新时间。仅出参使用。
# @type UpdateTime: String
# @param FreqScope: 统计范围。取值有:
# source_to_eo:(响应)源站到 EdgeOne;
# client_to_eo:(请求)客户端到 EdgeOne。
# 默认为 source_to_eo。
# @type FreqScope: Array
# @param Name: 自定义返回页面的名称。Action 是 page 时必填,且不能为空。
# @type Name: String
# @param CustomResponseId: 自定义响应 Id。该 Id 可通过查询自定义错误页列表接口获取。默认值为default,使用系统默认页面。Action 是 page 时必填,且不能为空。
# @type CustomResponseId: String
# @param ResponseCode: 自定义返回页面的响应码。Action 是 page 时必填,且不能为空,取值: 100~600,不支持 3xx 响应码。默认值:567。
# @type ResponseCode: Integer
# @param RedirectUrl: 重定向时候的地址。Action 是 redirect 时必填,且不能为空。
# @type RedirectUrl: String
attr_accessor :RuleName, :Action, :RuleStatus, :AclConditions, :RulePriority, :RuleID, :ExtendActions, :FreqFields, :UpdateTime, :FreqScope, :Name, :CustomResponseId, :ResponseCode, :RedirectUrl
def initialize(rulename=nil, action=nil, rulestatus=nil, aclconditions=nil, rulepriority=nil, ruleid=nil, extendactions=nil, freqfields=nil, updatetime=nil, freqscope=nil, name=nil, customresponseid=nil, responsecode=nil, redirecturl=nil)
@RuleName = rulename
@Action = action
@RuleStatus = rulestatus
@AclConditions = aclconditions
@RulePriority = rulepriority
@RuleID = ruleid
@ExtendActions = extendactions
@FreqFields = freqfields
@UpdateTime = updatetime
@FreqScope = freqscope
@Name = name
@CustomResponseId = customresponseid
@ResponseCode = responsecode
@RedirectUrl = redirecturl
end
def deserialize(params)
@RuleName = params['RuleName']
@Action = params['Action']
@RuleStatus = params['RuleStatus']
unless params['AclConditions'].nil?
@AclConditions = []
params['AclConditions'].each do |i|
aclcondition_tmp = AclCondition.new
aclcondition_tmp.deserialize(i)
@AclConditions << aclcondition_tmp
end
end
@RulePriority = params['RulePriority']
@RuleID = params['RuleID']
unless params['ExtendActions'].nil?
@ExtendActions = []
params['ExtendActions'].each do |i|
botextendaction_tmp = BotExtendAction.new
botextendaction_tmp.deserialize(i)
@ExtendActions << botextendaction_tmp
end
end
@FreqFields = params['FreqFields']
@UpdateTime = params['UpdateTime']
@FreqScope = params['FreqScope']
@Name = params['Name']
@CustomResponseId = params['CustomResponseId']
@ResponseCode = params['ResponseCode']
@RedirectUrl = params['RedirectUrl']
end
end
# cc配置项。
class CC < TencentCloud::Common::AbstractModel
# @param Switch: Waf开关,取值为:
# on:开启;
# off:关闭。
# @type Switch: String
# @param PolicyId: 策略ID。
# @type PolicyId: Integer
attr_accessor :Switch, :PolicyId
def initialize(switch=nil, policyid=nil)
@Switch = switch
@PolicyId = policyid
end
def deserialize(params)
@Switch = params['Switch']
@PolicyId = params['PolicyId']
end
end
# 实时日志投递到腾讯云 CLS 的配置信息。
class CLSTopic < TencentCloud::Common::AbstractModel
# @param LogSetId: 腾讯云 CLS 日志集 ID。
# @type LogSetId: String
# @param TopicId: 腾讯云 CLS 日志主题 ID。
# @type TopicId: String
# @param LogSetRegion: 腾讯云 CLS 日志集所在的地域。
# @type LogSetRegion: String
attr_accessor :LogSetId, :TopicId, :LogSetRegion
def initialize(logsetid=nil, topicid=nil, logsetregion=nil)
@LogSetId = logsetid
@TopicId = topicid
@LogSetRegion = logsetregion
end
def deserialize(params)
@LogSetId = params['LogSetId']
@TopicId = params['TopicId']
@LogSetRegion = params['LogSetRegion']
end
end
# 缓存时间设置
class Cache < TencentCloud::Common::AbstractModel
# @param Switch: 缓存配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param CacheTime: 缓存过期时间设置。
# 单位为秒,最大可设置为 365 天。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CacheTime: Integer
# @param IgnoreCacheControl: 是否开启强制缓存,取值有:
# on:开启;
# off:关闭。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IgnoreCacheControl: String
attr_accessor :Switch, :CacheTime, :IgnoreCacheControl
extend Gem::Deprecate
deprecate :IgnoreCacheControl, :none, 2024, 9
deprecate :IgnoreCacheControl=, :none, 2024, 9
def initialize(switch=nil, cachetime=nil, ignorecachecontrol=nil)
@Switch = switch
@CacheTime = cachetime
@IgnoreCacheControl = ignorecachecontrol
end
def deserialize(params)
@Switch = params['Switch']
@CacheTime = params['CacheTime']
@IgnoreCacheControl = params['IgnoreCacheControl']
end
end
# 缓存规则配置。
class CacheConfig < TencentCloud::Common::AbstractModel
# @param Cache: 缓存配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Cache: :class:`Tencentcloud::Teo.v20220901.models.Cache`
# @param NoCache: 不缓存配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NoCache: :class:`Tencentcloud::Teo.v20220901.models.NoCache`
# @param FollowOrigin: 遵循源站配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FollowOrigin: :class:`Tencentcloud::Teo.v20220901.models.FollowOrigin`
attr_accessor :Cache, :NoCache, :FollowOrigin
def initialize(cache=nil, nocache=nil, followorigin=nil)
@Cache = cache
@NoCache = nocache
@FollowOrigin = followorigin
end
def deserialize(params)
unless params['Cache'].nil?
@Cache = Cache.new
@Cache.deserialize(params['Cache'])
end
unless params['NoCache'].nil?
@NoCache = NoCache.new
@NoCache.deserialize(params['NoCache'])
end
unless params['FollowOrigin'].nil?
@FollowOrigin = FollowOrigin.new
@FollowOrigin.deserialize(params['FollowOrigin'])
end
end
end
# 缓存键配置。
class CacheKey < TencentCloud::Common::AbstractModel
# @param FullUrlCache: 是否开启全路径缓存,取值有:
# on:开启全路径缓存(即关闭参数忽略);
# off:关闭全路径缓存(即开启参数忽略)。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FullUrlCache: String
# @param IgnoreCase: 是否忽略大小写缓存,取值有:
# on:忽略;
# off:不忽略。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IgnoreCase: String
# @param QueryString: CacheKey 中包含请求参数。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type QueryString: :class:`Tencentcloud::Teo.v20220901.models.QueryString`
attr_accessor :FullUrlCache, :IgnoreCase, :QueryString
def initialize(fullurlcache=nil, ignorecase=nil, querystring=nil)
@FullUrlCache = fullurlcache
@IgnoreCase = ignorecase
@QueryString = querystring
end
def deserialize(params)
@FullUrlCache = params['FullUrlCache']
@IgnoreCase = params['IgnoreCase']
unless params['QueryString'].nil?
@QueryString = QueryString.new
@QueryString.deserialize(params['QueryString'])
end
end
end
# 缓存预刷新
class CachePrefresh < TencentCloud::Common::AbstractModel
# @param Switch: 缓存预刷新配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param Percent: 缓存预刷新百分比,取值范围:1-99。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Percent: Integer
attr_accessor :Switch, :Percent
def initialize(switch=nil, percent=nil)
@Switch = switch
@Percent = percent
end
def deserialize(params)
@Switch = params['Switch']
@Percent = params['Percent']
end
end
# 节点缓存清除类型取值为 purge_cache_tag 时附带的信息。
class CacheTag < TencentCloud::Common::AbstractModel
# @param Domains: 待清除缓存的域名列表。
# @type Domains: Array
attr_accessor :Domains
def initialize(domains=nil)
@Domains = domains
end
def deserialize(params)
@Domains = params['Domains']
end
end
# https 证书配置。
class CertificateInfo < TencentCloud::Common::AbstractModel
# @param CertId: 证书 ID。
# @type CertId: String
# @param Alias: 证书备注名。
# @type Alias: String
# @param Type: 证书类型,取值有:
# default:默认证书;
# upload:用户上传;
# managed:腾讯云托管。
# @type Type: String
# @param ExpireTime: 证书过期时间。
# @type ExpireTime: String
# @param DeployTime: 证书部署时间。
# @type DeployTime: String
# @param SignAlgo: 签名算法。
# @type SignAlgo: String
# @param Status: 证书状态,取值有:
# deployed:已部署;
# processing:部署中;
# applying:申请中;
# failed:申请失败;
# issued:绑定失败。
# @type Status: String
attr_accessor :CertId, :Alias, :Type, :ExpireTime, :DeployTime, :SignAlgo, :Status
def initialize(certid=nil, _alias=nil, type=nil, expiretime=nil, deploytime=nil, signalgo=nil, status=nil)
@CertId = certid
@Alias = _alias
@Type = type
@ExpireTime = expiretime
@DeployTime = deploytime
@SignAlgo = signalgo
@Status = status
end
def deserialize(params)
@CertId = params['CertId']
@Alias = params['Alias']
@Type = params['Type']
@ExpireTime = params['ExpireTime']
@DeployTime = params['DeployTime']
@SignAlgo = params['SignAlgo']
@Status = params['Status']
end
end
# CheckCnameStatus请求参数结构体
class CheckCnameStatusRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param RecordNames: 加速域名列表。
# @type RecordNames: Array
attr_accessor :ZoneId, :RecordNames
def initialize(zoneid=nil, recordnames=nil)
@ZoneId = zoneid
@RecordNames = recordnames
end
def deserialize(params)
@ZoneId = params['ZoneId']
@RecordNames = params['RecordNames']
end
end
# CheckCnameStatus返回参数结构体
class CheckCnameStatusResponse < TencentCloud::Common::AbstractModel
# @param CnameStatus: 加速域名 CNAME 状态信息列表。
# @type CnameStatus: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :CnameStatus, :RequestId
def initialize(cnamestatus=nil, requestid=nil)
@CnameStatus = cnamestatus
@RequestId = requestid
end
def deserialize(params)
unless params['CnameStatus'].nil?
@CnameStatus = []
params['CnameStatus'].each do |i|
cnamestatus_tmp = CnameStatus.new
cnamestatus_tmp.deserialize(i)
@CnameStatus << cnamestatus_tmp
end
end
@RequestId = params['RequestId']
end
end
# 回源时携带客户端IP所属地域信息,值的格式为ISO-3166-1两位字母代码。
class ClientIpCountry < TencentCloud::Common::AbstractModel
# @param Switch: 配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param HeaderName: 存放客户端 IP 所属地域信息的请求头名称,当 Switch=on 时有效。
# 为空则使用默认值:EO-Client-IPCountry。
# @type HeaderName: String
attr_accessor :Switch, :HeaderName
def initialize(switch=nil, headername=nil)
@Switch = switch
@HeaderName = headername
end
def deserialize(params)
@Switch = params['Switch']
@HeaderName = params['HeaderName']
end
end
# 存储客户端请求IP的头部信息配置
class ClientIpHeader < TencentCloud::Common::AbstractModel
# @param Switch: 配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param HeaderName: 回源时,存放客户端 IP 的请求头名称。
# 为空则使用默认值:X-Forwarded-IP。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HeaderName: String
attr_accessor :Switch, :HeaderName
def initialize(switch=nil, headername=nil)
@Switch = switch
@HeaderName = headername
end
def deserialize(params)
@Switch = params['Switch']
@HeaderName = params['HeaderName']
end
end
# CNAME 状态
class CnameStatus < TencentCloud::Common::AbstractModel
# @param RecordName: 记录名称。
# @type RecordName: String
# @param Cname: CNAME 地址。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Cname: String
# @param Status: Cname状态信息,取值有:
# active:生效;
# moved:不生效。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Status: String
attr_accessor :RecordName, :Cname, :Status
def initialize(recordname=nil, cname=nil, status=nil)
@RecordName = recordname
@Cname = cname
@Status = status
end
def deserialize(params)
@RecordName = params['RecordName']
@Cname = params['Cname']
@Status = params['Status']
end
end
# 规则引擎带有状态码的动作
class CodeAction < TencentCloud::Common::AbstractModel
# @param Action: 功能名称,功能名称填写规范可调用接口 [查询规则引擎的设置参数](https://cloud.tencent.com/document/product/1552/80618) 查看。
# @type Action: String
# @param Parameters: 操作参数。
# @type Parameters: Array
attr_accessor :Action, :Parameters
def initialize(action=nil, parameters=nil)
@Action = action
@Parameters = parameters
end
def deserialize(params)
@Action = params['Action']
unless params['Parameters'].nil?
@Parameters = []
params['Parameters'].each do |i|
rulecodeactionparams_tmp = RuleCodeActionParams.new
rulecodeactionparams_tmp.deserialize(i)
@Parameters << rulecodeactionparams_tmp
end
end
end
end
# 智能压缩配置。
class Compression < TencentCloud::Common::AbstractModel
# @param Switch: 智能压缩配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param Algorithms: 支持的压缩算法列表,取值有:
# brotli:brotli算法;
# gzip:gzip算法。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Algorithms: Array
attr_accessor :Switch, :Algorithms
def initialize(switch=nil, algorithms=nil)
@Switch = switch
@Algorithms = algorithms
end
def deserialize(params)
@Switch = params['Switch']
@Algorithms = params['Algorithms']
end
end
# 配置组版本信息。
class ConfigGroupVersionInfo < TencentCloud::Common::AbstractModel
# @param VersionId: 版本 ID。
# @type VersionId: String
# @param VersionNumber: 版本号。
# @type VersionNumber: String
# @param GroupId: 配置组 ID。
# @type GroupId: String
# @param GroupType: 配置组类型。取值有:
# l7_acceleration :七层加速配置组。
# edge_functions :边缘函数配置组。
# @type GroupType: String
# @param Description: 版本描述。
# @type Description: String
# @param Status: 版本状态,取值有:
# creating:创建中;
# inactive:未生效;
# active:已生效。
# @type Status: String
# @param CreateTime: 版本创建时间。时间为世界标准时间(UTC), 遵循 ISO 8601 标准的日期和时间格式。
# @type CreateTime: String
attr_accessor :VersionId, :VersionNumber, :GroupId, :GroupType, :Description, :Status, :CreateTime
def initialize(versionid=nil, versionnumber=nil, groupid=nil, grouptype=nil, description=nil, status=nil, createtime=nil)
@VersionId = versionid
@VersionNumber = versionnumber
@GroupId = groupid
@GroupType = grouptype
@Description = description
@Status = status
@CreateTime = createtime
end
def deserialize(params)
@VersionId = params['VersionId']
@VersionNumber = params['VersionNumber']
@GroupId = params['GroupId']
@GroupType = params['GroupType']
@Description = params['Description']
@Status = params['Status']
@CreateTime = params['CreateTime']
end
end
# CreateAccelerationDomain请求参数结构体
class CreateAccelerationDomainRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 加速域名所属站点 ID。
# @type ZoneId: String
# @param DomainName: 加速域名。
# @type DomainName: String
# @param OriginInfo: 源站信息。
# @type OriginInfo: :class:`Tencentcloud::Teo.v20220901.models.OriginInfo`
# @param OriginProtocol: 回源协议,取值有:
# FOLLOW: 协议跟随;
# HTTP: HTTP协议回源;
# HTTPS: HTTPS协议回源。
# 不填默认为: FOLLOW。
# @type OriginProtocol: String
# @param HttpOriginPort: HTTP回源端口,取值为1-65535,当OriginProtocol=FOLLOW/HTTP时生效, 不填默认为80。
# @type HttpOriginPort: Integer
# @param HttpsOriginPort: HTTPS回源端口,取值为1-65535,当OriginProtocol=FOLLOW/HTTPS时生效,不填默认为443。
# @type HttpsOriginPort: Integer
# @param IPv6Status: IPv6状态,取值有:
# follow:遵循站点IPv6配置;
# on:开启状态;
# off:关闭状态。
# 不填默认为:follow。
# @type IPv6Status: String
attr_accessor :ZoneId, :DomainName, :OriginInfo, :OriginProtocol, :HttpOriginPort, :HttpsOriginPort, :IPv6Status
def initialize(zoneid=nil, domainname=nil, origininfo=nil, originprotocol=nil, httporiginport=nil, httpsoriginport=nil, ipv6status=nil)
@ZoneId = zoneid
@DomainName = domainname
@OriginInfo = origininfo
@OriginProtocol = originprotocol
@HttpOriginPort = httporiginport
@HttpsOriginPort = httpsoriginport
@IPv6Status = ipv6status
end
def deserialize(params)
@ZoneId = params['ZoneId']
@DomainName = params['DomainName']
unless params['OriginInfo'].nil?
@OriginInfo = OriginInfo.new
@OriginInfo.deserialize(params['OriginInfo'])
end
@OriginProtocol = params['OriginProtocol']
@HttpOriginPort = params['HttpOriginPort']
@HttpsOriginPort = params['HttpsOriginPort']
@IPv6Status = params['IPv6Status']
end
end
# CreateAccelerationDomain返回参数结构体
class CreateAccelerationDomainResponse < TencentCloud::Common::AbstractModel
# @param OwnershipVerification: 当您的站点未进行归属权验证时,您可通过该参数返回的信息单独对域名进行归属权校验。详情参考 [站点/域名归属权验证](https://cloud.tencent.com/document/product/1552/70789)。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OwnershipVerification: :class:`Tencentcloud::Teo.v20220901.models.OwnershipVerification`
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :OwnershipVerification, :RequestId
def initialize(ownershipverification=nil, requestid=nil)
@OwnershipVerification = ownershipverification
@RequestId = requestid
end
def deserialize(params)
unless params['OwnershipVerification'].nil?
@OwnershipVerification = OwnershipVerification.new
@OwnershipVerification.deserialize(params['OwnershipVerification'])
end
@RequestId = params['RequestId']
end
end
# CreateAliasDomain请求参数结构体
class CreateAliasDomainRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param AliasName: 别称域名名称。
# @type AliasName: String
# @param TargetName: 目标域名名称。
# @type TargetName: String
# @param CertType: 证书配置,取值有:
# none:不配置;
# hosting:SSL托管证书。默认取值为 none。
# @type CertType: String
# @param CertId: 当 CertType 取值为 hosting 时需填入相应证书 ID。
# @type CertId: Array
attr_accessor :ZoneId, :AliasName, :TargetName, :CertType, :CertId
def initialize(zoneid=nil, aliasname=nil, targetname=nil, certtype=nil, certid=nil)
@ZoneId = zoneid
@AliasName = aliasname
@TargetName = targetname
@CertType = certtype
@CertId = certid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@AliasName = params['AliasName']
@TargetName = params['TargetName']
@CertType = params['CertType']
@CertId = params['CertId']
end
end
# CreateAliasDomain返回参数结构体
class CreateAliasDomainResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# CreateApplicationProxy请求参数结构体
class CreateApplicationProxyRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyName: 当 ProxyType=hostname 时,表示域名或子域名;
# 当 ProxyType=instance 时,表示代理名称。
# @type ProxyName: String
# @param PlatType: 调度模式,取值有:
# ip:表示Anycast IP调度;
# domain:表示CNAME调度。
# @type PlatType: String
# @param SecurityType: 是否开启安全,取值有:
# 0:关闭安全;
# 1:开启安全。
# @type SecurityType: Integer
# @param AccelerateType: 是否开启加速,取值有:
# 0:关闭加速;
# 1:开启加速。
# @type AccelerateType: Integer
# @param ProxyType: 四层代理模式,取值有: instance:表示实例模式。不填写使用默认值instance。
# @type ProxyType: String
# @param SessionPersistTime: 会话保持时间,取值范围:30-3600,单位:秒。
# 不填写使用默认值600。
# @type SessionPersistTime: Integer
# @param Ipv6: Ipv6 访问配置。
# 不填写表示关闭 Ipv6 访问。
# @type Ipv6: :class:`Tencentcloud::Teo.v20220901.models.Ipv6`
# @param ApplicationProxyRules: 规则详细信息。
# 不填写则不创建规则。
# @type ApplicationProxyRules: Array
# @param AccelerateMainland: 中国大陆加速优化配置。不填写表示关闭中国大陆加速优化。
# @type AccelerateMainland: :class:`Tencentcloud::Teo.v20220901.models.AccelerateMainland`
attr_accessor :ZoneId, :ProxyName, :PlatType, :SecurityType, :AccelerateType, :ProxyType, :SessionPersistTime, :Ipv6, :ApplicationProxyRules, :AccelerateMainland
def initialize(zoneid=nil, proxyname=nil, plattype=nil, securitytype=nil, acceleratetype=nil, proxytype=nil, sessionpersisttime=nil, ipv6=nil, applicationproxyrules=nil, acceleratemainland=nil)
@ZoneId = zoneid
@ProxyName = proxyname
@PlatType = plattype
@SecurityType = securitytype
@AccelerateType = acceleratetype
@ProxyType = proxytype
@SessionPersistTime = sessionpersisttime
@Ipv6 = ipv6
@ApplicationProxyRules = applicationproxyrules
@AccelerateMainland = acceleratemainland
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyName = params['ProxyName']
@PlatType = params['PlatType']
@SecurityType = params['SecurityType']
@AccelerateType = params['AccelerateType']
@ProxyType = params['ProxyType']
@SessionPersistTime = params['SessionPersistTime']
unless params['Ipv6'].nil?
@Ipv6 = Ipv6.new
@Ipv6.deserialize(params['Ipv6'])
end
unless params['ApplicationProxyRules'].nil?
@ApplicationProxyRules = []
params['ApplicationProxyRules'].each do |i|
applicationproxyrule_tmp = ApplicationProxyRule.new
applicationproxyrule_tmp.deserialize(i)
@ApplicationProxyRules << applicationproxyrule_tmp
end
end
unless params['AccelerateMainland'].nil?
@AccelerateMainland = AccelerateMainland.new
@AccelerateMainland.deserialize(params['AccelerateMainland'])
end
end
end
# CreateApplicationProxy返回参数结构体
class CreateApplicationProxyResponse < TencentCloud::Common::AbstractModel
# @param ProxyId: 新增的四层代理应用ID。
# @type ProxyId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :ProxyId, :RequestId
def initialize(proxyid=nil, requestid=nil)
@ProxyId = proxyid
@RequestId = requestid
end
def deserialize(params)
@ProxyId = params['ProxyId']
@RequestId = params['RequestId']
end
end
# CreateApplicationProxyRule请求参数结构体
class CreateApplicationProxyRuleRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param ProxyId: 代理ID。
# @type ProxyId: String
# @param Proto: 协议,取值有:
# TCP:TCP协议;
# UDP:UDP协议。
# @type Proto: String
# @param Port: 端口,支持格式:
# 80:80端口;
# 81-90:81至90端口。
# @type Port: Array
# @param OriginType: 源站类型,取值有:
# custom:手动添加;
# loadbalancer:负载均衡;
# origins:源站组。
# @type OriginType: String
# @param OriginValue: 源站信息:
# 当 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"]`。
# @type OriginValue: Array
# @param ForwardClientIp: 传递客户端IP,取值有:
# TOA:TOA(仅Proto=TCP时可选);
# PPV1:Proxy Protocol传递,协议版本V1(仅Proto=TCP时可选);
# PPV2:Proxy Protocol传递,协议版本V2;
# OFF:不传递。默认值:OFF。
# @type ForwardClientIp: String
# @param SessionPersist: 是否开启会话保持,取值有:
# true:开启;
# false:关闭。默认值:false。
# @type SessionPersist: Boolean
# @param SessionPersistTime: 会话保持的时间,只有当SessionPersist为true时,该值才会生效。
# @type SessionPersistTime: Integer
# @param OriginPort: 源站端口,支持格式:
# 单端口:80;
# 端口段:81-90,81至90端口。
# @type OriginPort: String
# @param RuleTag: 规则标签。默认值为空字符串。
# @type RuleTag: String
attr_accessor :ZoneId, :ProxyId, :Proto, :Port, :OriginType, :OriginValue, :ForwardClientIp, :SessionPersist, :SessionPersistTime, :OriginPort, :RuleTag
def initialize(zoneid=nil, proxyid=nil, proto=nil, port=nil, origintype=nil, originvalue=nil, forwardclientip=nil, sessionpersist=nil, sessionpersisttime=nil, originport=nil, ruletag=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@Proto = proto
@Port = port
@OriginType = origintype
@OriginValue = originvalue
@ForwardClientIp = forwardclientip
@SessionPersist = sessionpersist
@SessionPersistTime = sessionpersisttime
@OriginPort = originport
@RuleTag = ruletag
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@Proto = params['Proto']
@Port = params['Port']
@OriginType = params['OriginType']
@OriginValue = params['OriginValue']
@ForwardClientIp = params['ForwardClientIp']
@SessionPersist = params['SessionPersist']
@SessionPersistTime = params['SessionPersistTime']
@OriginPort = params['OriginPort']
@RuleTag = params['RuleTag']
end
end
# CreateApplicationProxyRule返回参数结构体
class CreateApplicationProxyRuleResponse < TencentCloud::Common::AbstractModel
# @param RuleId: 规则ID
# @type RuleId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RuleId, :RequestId
def initialize(ruleid=nil, requestid=nil)
@RuleId = ruleid
@RequestId = requestid
end
def deserialize(params)
@RuleId = params['RuleId']
@RequestId = params['RequestId']
end
end
# CreateCLSIndex请求参数结构体
class CreateCLSIndexRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param TaskId: 实时日志投递任务 ID。
# @type TaskId: String
attr_accessor :ZoneId, :TaskId
def initialize(zoneid=nil, taskid=nil)
@ZoneId = zoneid
@TaskId = taskid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@TaskId = params['TaskId']
end
end
# CreateCLSIndex返回参数结构体
class CreateCLSIndexResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# CreateConfigGroupVersion请求参数结构体
class CreateConfigGroupVersionRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param GroupId: 待新建版本的配置组 ID。
# @type GroupId: String
# @param Content: 待导入的配置内容。要求采用 JSON 格式,按照 UTF-8 方式进行编码。配置文件内容可参考下方示例。
# @type Content: String
# @param Description: 版本描述,可输入最大长度为 50 个字符,可以通过本字段填写该版本的使用场景等。
# @type Description: String
attr_accessor :ZoneId, :GroupId, :Content, :Description
def initialize(zoneid=nil, groupid=nil, content=nil, description=nil)
@ZoneId = zoneid
@GroupId = groupid
@Content = content
@Description = description
end
def deserialize(params)
@ZoneId = params['ZoneId']
@GroupId = params['GroupId']
@Content = params['Content']
@Description = params['Description']
end
end
# CreateConfigGroupVersion返回参数结构体
class CreateConfigGroupVersionResponse < TencentCloud::Common::AbstractModel
# @param VersionId: 版本 ID。
# @type VersionId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :VersionId, :RequestId
def initialize(versionid=nil, requestid=nil)
@VersionId = versionid
@RequestId = requestid
end
def deserialize(params)
@VersionId = params['VersionId']
@RequestId = params['RequestId']
end
end
# CreateCustomizeErrorPage请求参数结构体
class CreateCustomizeErrorPageRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Name: 自定义错误页名称,名称为 2-30 个字符。
# @type Name: String
# @param ContentType: 自定义错误页面类型,取值有:text/html; application/json;text/plain;text/xml。
# @type ContentType: String
# @param Description: 自定义错误页面描述,描述不超过 60 个字符。
# @type Description: String
# @param Content: 自定义错误页面内容,内容不超过 2KB。
# @type Content: String
attr_accessor :ZoneId, :Name, :ContentType, :Description, :Content
def initialize(zoneid=nil, name=nil, contenttype=nil, description=nil, content=nil)
@ZoneId = zoneid
@Name = name
@ContentType = contenttype
@Description = description
@Content = content
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Name = params['Name']
@ContentType = params['ContentType']
@Description = params['Description']
@Content = params['Content']
end
end
# CreateCustomizeErrorPage返回参数结构体
class CreateCustomizeErrorPageResponse < TencentCloud::Common::AbstractModel
# @param PageId: 页面 ID。
# @type PageId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :PageId, :RequestId
def initialize(pageid=nil, requestid=nil)
@PageId = pageid
@RequestId = requestid
end
def deserialize(params)
@PageId = params['PageId']
@RequestId = params['RequestId']
end
end
# CreateL4Proxy请求参数结构体
class CreateL4ProxyRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyName: 四层代理实例名称,可输入 1-50 个字符,允许的字符为 a-z、0-9、-,且 - 不能单独注册或连续使用,不能放在开头或结尾。创建完成后不支持修改。
# @type ProxyName: String
# @param Area: 四层代理实例加速区域。
# mainland:中国大陆可用区;
# overseas:全球可用区(不含中国大陆);
# global:全球可用区。
# @type Area: String
# @param Ipv6: 是否开启 IPv6 访问,不填写时默认为 off。该配置仅在部分加速区域和安全防护配置下支持开启,详情请参考 [新建四层代理实例](https://cloud.tencent.com/document/product/1552/90025) 。取值为:
# on:开启;
# off:关闭。
# @type Ipv6: String
# @param StaticIp: 是否开启固定 IP,不填写时默认为 off。该配置仅在部分加速区域和安全防护配置下支持开启,详情请参考 [新建四层代理实例](https://cloud.tencent.com/document/product/1552/90025) 。取值为:
# on:开启;
# off:关闭。
# @type StaticIp: String
# @param AccelerateMainland: 是否开启中国大陆网络优化,不填写时默认为 off。该配置仅在部分加速区域和安全防护配置下支持开启,详情请参考 [新建四层代理实例](https://cloud.tencent.com/document/product/1552/90025) 。取值为:
# on:开启;
# off:关闭。
# @type AccelerateMainland: String
# @param DDosProtectionConfig: L3/L4 DDoS 防护配置,不填写时默认使用平台默认防护选项。详情参考 [独立 DDoS 防护](https://cloud.tencent.com/document/product/1552/95994)。
# @type DDosProtectionConfig: :class:`Tencentcloud::Teo.v20220901.models.DDosProtectionConfig`
attr_accessor :ZoneId, :ProxyName, :Area, :Ipv6, :StaticIp, :AccelerateMainland, :DDosProtectionConfig
def initialize(zoneid=nil, proxyname=nil, area=nil, ipv6=nil, staticip=nil, acceleratemainland=nil, ddosprotectionconfig=nil)
@ZoneId = zoneid
@ProxyName = proxyname
@Area = area
@Ipv6 = ipv6
@StaticIp = staticip
@AccelerateMainland = acceleratemainland
@DDosProtectionConfig = ddosprotectionconfig
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyName = params['ProxyName']
@Area = params['Area']
@Ipv6 = params['Ipv6']
@StaticIp = params['StaticIp']
@AccelerateMainland = params['AccelerateMainland']
unless params['DDosProtectionConfig'].nil?
@DDosProtectionConfig = DDosProtectionConfig.new
@DDosProtectionConfig.deserialize(params['DDosProtectionConfig'])
end
end
end
# CreateL4Proxy返回参数结构体
class CreateL4ProxyResponse < TencentCloud::Common::AbstractModel
# @param ProxyId: 四层实例 ID。
# @type ProxyId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :ProxyId, :RequestId
def initialize(proxyid=nil, requestid=nil)
@ProxyId = proxyid
@RequestId = requestid
end
def deserialize(params)
@ProxyId = params['ProxyId']
@RequestId = params['RequestId']
end
end
# CreateL4ProxyRules请求参数结构体
class CreateL4ProxyRulesRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyId: 四层代理实例 ID。
# @type ProxyId: String
# @param L4ProxyRules: 转发规则列表。单次最多支持 200 条转发规则。
# 注意:L4ProxyRule 在此处使用时,Protocol、PortRange、OriginType、OriginValue、OriginPortRange 为必填字段;ClientIPPassThroughMode、SessionPersist、SessionPersistTime、RuleTag 均为选填字段;RuleId、Status 请勿填写。
# @type L4ProxyRules: Array
attr_accessor :ZoneId, :ProxyId, :L4ProxyRules
def initialize(zoneid=nil, proxyid=nil, l4proxyrules=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@L4ProxyRules = l4proxyrules
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
unless params['L4ProxyRules'].nil?
@L4ProxyRules = []
params['L4ProxyRules'].each do |i|
l4proxyrule_tmp = L4ProxyRule.new
l4proxyrule_tmp.deserialize(i)
@L4ProxyRules << l4proxyrule_tmp
end
end
end
end
# CreateL4ProxyRules返回参数结构体
class CreateL4ProxyRulesResponse < TencentCloud::Common::AbstractModel
# @param L4ProxyRuleIds: 新增转发规则的 ID,以数组的形式返回。
# @type L4ProxyRuleIds: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :L4ProxyRuleIds, :RequestId
def initialize(l4proxyruleids=nil, requestid=nil)
@L4ProxyRuleIds = l4proxyruleids
@RequestId = requestid
end
def deserialize(params)
@L4ProxyRuleIds = params['L4ProxyRuleIds']
@RequestId = params['RequestId']
end
end
# CreateOriginGroup请求参数结构体
class CreateOriginGroupRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID
# @type ZoneId: String
# @param Name: 源站组名称,可输入1 - 200个字符,允许的字符为 a - z, A - Z, 0 - 9, _, - 。
# @type Name: String
# @param Type: 源站组类型,此参数必填,取值有:
# GENERAL:通用型源站组,仅支持添加 IP/域名 源站,可以被域名服务、规则引擎、四层代理、通用型负载均衡、HTTP 专用型负载均衡引用;
# HTTP: HTTP 专用型源站组,支持添加 IP/域名、对象存储源站作为源站,无法被四层代理引用,仅支持被添加加速域名、规则引擎-修改源站、HTTP 专用型负载均衡引用。
# @type Type: String
# @param Records: 源站记录信息,此参数必填。
# @type Records: Array
# @param HostHeader: 回源 Host Header,仅 Type = HTTP 时传入生效,规则引擎修改 Host Header 配置优先级高于源站组的 Host Header。
# @type HostHeader: String
attr_accessor :ZoneId, :Name, :Type, :Records, :HostHeader
def initialize(zoneid=nil, name=nil, type=nil, records=nil, hostheader=nil)
@ZoneId = zoneid
@Name = name
@Type = type
@Records = records
@HostHeader = hostheader
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Name = params['Name']
@Type = params['Type']
unless params['Records'].nil?
@Records = []
params['Records'].each do |i|
originrecord_tmp = OriginRecord.new
originrecord_tmp.deserialize(i)
@Records << originrecord_tmp
end
end
@HostHeader = params['HostHeader']
end
end
# CreateOriginGroup返回参数结构体
class CreateOriginGroupResponse < TencentCloud::Common::AbstractModel
# @param OriginGroupId: 源站组ID。
# @type OriginGroupId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :OriginGroupId, :RequestId
def initialize(origingroupid=nil, requestid=nil)
@OriginGroupId = origingroupid
@RequestId = requestid
end
def deserialize(params)
@OriginGroupId = params['OriginGroupId']
@RequestId = params['RequestId']
end
end
# CreatePlanForZone请求参数结构体
class CreatePlanForZoneRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param PlanType: 所要购买套餐的类型,取值有:
# sta: 全球内容分发网络(不包括中国大陆)标准版套餐;
# sta_with_bot: 全球内容分发网络(不包括中国大陆)标准版套餐附带bot管理;
# sta_cm: 中国大陆内容分发网络标准版套餐;
# sta_cm_with_bot: 中国大陆内容分发网络标准版套餐附带bot管理;
# sta_global :全球内容分发网络(包括中国大陆)标准版套餐;
# sta_global_with_bot :全球内容分发网络(包括中国大陆)标准版套餐附带bot管理;
# ent: 全球内容分发网络(不包括中国大陆)企业版套餐;
# ent_with_bot: 全球内容分发网络(不包括中国大陆)企业版套餐附带bot管理;
# ent_cm: 中国大陆内容分发网络企业版套餐;
# ent_cm_with_bot: 中国大陆内容分发网络企业版套餐附带bot管理。
# ent_global :全球内容分发网络(包括中国大陆)企业版套餐;
# ent_global_with_bot :全球内容分发网络(包括中国大陆)企业版套餐附带bot管理。当前账户可购买套餐类型请以DescribeAvailablePlans返回为准。
# @type PlanType: String
attr_accessor :ZoneId, :PlanType
def initialize(zoneid=nil, plantype=nil)
@ZoneId = zoneid
@PlanType = plantype
end
def deserialize(params)
@ZoneId = params['ZoneId']
@PlanType = params['PlanType']
end
end
# CreatePlanForZone返回参数结构体
class CreatePlanForZoneResponse < TencentCloud::Common::AbstractModel
# @param ResourceNames: 购买的资源名字列表。
# @type ResourceNames: Array
# @param DealNames: 购买的订单号列表。
# @type DealNames: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :ResourceNames, :DealNames, :RequestId
def initialize(resourcenames=nil, dealnames=nil, requestid=nil)
@ResourceNames = resourcenames
@DealNames = dealnames
@RequestId = requestid
end
def deserialize(params)
@ResourceNames = params['ResourceNames']
@DealNames = params['DealNames']
@RequestId = params['RequestId']
end
end
# CreatePlan请求参数结构体
class CreatePlanRequest < TencentCloud::Common::AbstractModel
# @param PlanType: 订阅的套餐类型,取值有: personal:个人版套餐,预付费套餐; basic:基础版套餐,预付费套餐; standard:标准版套餐,预付费套餐; enterprise:企业版套餐,后付费套餐。订阅预付费套餐时,请确保账号内有足够余额,余额不足会产生一个待支付的订单。
# 计费概述参考 [Edgeone计费概述](https://cloud.tencent.com/document/product/1552/94156)
# 不同套餐区别参考 [Edgeone计费套餐选型对比](https://cloud.tencent.com/document/product/1552/94165)
# @type PlanType: String
# @param AutoUseVoucher: 是否自动使用代金券,取值有: true:是; false:否。该参数仅在 PlanType 为 personal, basic, standard 时有效。
# 不填写使用默认值 false。
# @type AutoUseVoucher: String
# @param PrepaidPlanParam: 订阅预付费套餐参数,PlanType 为 personal, basic, standard 时,可以选填该参数,用于传入套餐的订阅时长和是否开启自动续费。
# 不填该参数时,默认开通套餐时长为 1 个月,不开启自动续费。
# @type PrepaidPlanParam: :class:`Tencentcloud::Teo.v20220901.models.PrepaidPlanParam`
attr_accessor :PlanType, :AutoUseVoucher, :PrepaidPlanParam
def initialize(plantype=nil, autousevoucher=nil, prepaidplanparam=nil)
@PlanType = plantype
@AutoUseVoucher = autousevoucher
@PrepaidPlanParam = prepaidplanparam
end
def deserialize(params)
@PlanType = params['PlanType']
@AutoUseVoucher = params['AutoUseVoucher']
unless params['PrepaidPlanParam'].nil?
@PrepaidPlanParam = PrepaidPlanParam.new
@PrepaidPlanParam.deserialize(params['PrepaidPlanParam'])
end
end
end
# CreatePlan返回参数结构体
class CreatePlanResponse < TencentCloud::Common::AbstractModel
# @param PlanId: 套餐 ID,形如 edgeone-2unuvzjmmn2q。
# @type PlanId: String
# @param DealName: 订单号。
# @type DealName: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :PlanId, :DealName, :RequestId
def initialize(planid=nil, dealname=nil, requestid=nil)
@PlanId = planid
@DealName = dealname
@RequestId = requestid
end
def deserialize(params)
@PlanId = params['PlanId']
@DealName = params['DealName']
@RequestId = params['RequestId']
end
end
# CreatePrefetchTask请求参数结构体
class CreatePrefetchTaskRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Targets: 要预热的资源列表,每个元素格式类似如下:
# http://www.example.com/example.txt。参数值当前必填。
# 注意:提交任务数受计费套餐配额限制,请查看 [EO计费套餐](https://cloud.tencent.com/document/product/1552/77380)。
# @type Targets: Array
# @param EncodeUrl: 是否对url进行encode,若内容含有非 ASCII 字符集的字符,请开启此开关进行编码转换(编码规则遵循 RFC3986)。
# @type EncodeUrl: Boolean
# @param Headers: 附带的http头部信息。
# @type Headers: Array
attr_accessor :ZoneId, :Targets, :EncodeUrl, :Headers
def initialize(zoneid=nil, targets=nil, encodeurl=nil, headers=nil)
@ZoneId = zoneid
@Targets = targets
@EncodeUrl = encodeurl
@Headers = headers
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Targets = params['Targets']
@EncodeUrl = params['EncodeUrl']
unless params['Headers'].nil?
@Headers = []
params['Headers'].each do |i|
header_tmp = Header.new
header_tmp.deserialize(i)
@Headers << header_tmp
end
end
end
end
# CreatePrefetchTask返回参数结构体
class CreatePrefetchTaskResponse < TencentCloud::Common::AbstractModel
# @param JobId: 任务 ID。
# @type JobId: String
# @param FailedList: 失败的任务列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FailedList: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :JobId, :FailedList, :RequestId
def initialize(jobid=nil, failedlist=nil, requestid=nil)
@JobId = jobid
@FailedList = failedlist
@RequestId = requestid
end
def deserialize(params)
@JobId = params['JobId']
unless params['FailedList'].nil?
@FailedList = []
params['FailedList'].each do |i|
failreason_tmp = FailReason.new
failreason_tmp.deserialize(i)
@FailedList << failreason_tmp
end
end
@RequestId = params['RequestId']
end
end
# CreatePurgeTask请求参数结构体
class CreatePurgeTaskRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Type: 节点缓存清除类型,取值有:
# purge_url:URL刷新;
# purge_prefix:目录刷新;
# purge_host:Hostname 刷新;
# purge_all:站点下全部缓存刷新;
# purge_cache_tag:cache-tag 刷新。缓存清除类型详情请查看[清除缓存](https://cloud.tencent.com/document/product/1552/70759)。
# @type Type: String
# @param Method: 节点缓存清除方法,针对目录刷新、Hostname刷新以及刷新全部缓存类型有效,取值有: invalidate:仅刷新目录下产生了更新的资源; delete:无论目录下资源是否更新都刷新节点资源。默认值: invalidate。
# @type Method: String
# @param Targets: 要清除缓存的资源列表。每个元素格式依据清除缓存类型而定,可参考接口示例。单次提交的任务数受计费套餐配额限制,请查看 [EO计费套餐](https://cloud.tencent.com/document/product/1552/77380)。
# @type Targets: Array
# @param EncodeUrl: 若有编码转换,仅清除编码转换后匹配的资源。
# 若内容含有非 ASCII 字符集的字符,请开启此开关进行编码转换(编码规则遵循 RFC3986)。
# @type EncodeUrl: Boolean
# @param CacheTag: 节点缓存清除类型取值为 purge_cache_tag 时附带的信息。
# @type CacheTag: :class:`Tencentcloud::Teo.v20220901.models.CacheTag`
attr_accessor :ZoneId, :Type, :Method, :Targets, :EncodeUrl, :CacheTag
extend Gem::Deprecate
deprecate :EncodeUrl, :none, 2024, 9
deprecate :EncodeUrl=, :none, 2024, 9
def initialize(zoneid=nil, type=nil, method=nil, targets=nil, encodeurl=nil, cachetag=nil)
@ZoneId = zoneid
@Type = type
@Method = method
@Targets = targets
@EncodeUrl = encodeurl
@CacheTag = cachetag
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Type = params['Type']
@Method = params['Method']
@Targets = params['Targets']
@EncodeUrl = params['EncodeUrl']
unless params['CacheTag'].nil?
@CacheTag = CacheTag.new
@CacheTag.deserialize(params['CacheTag'])
end
end
end
# CreatePurgeTask返回参数结构体
class CreatePurgeTaskResponse < TencentCloud::Common::AbstractModel
# @param JobId: 任务 ID。
# @type JobId: String
# @param FailedList: 失败的任务列表及原因。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FailedList: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :JobId, :FailedList, :RequestId
def initialize(jobid=nil, failedlist=nil, requestid=nil)
@JobId = jobid
@FailedList = failedlist
@RequestId = requestid
end
def deserialize(params)
@JobId = params['JobId']
unless params['FailedList'].nil?
@FailedList = []
params['FailedList'].each do |i|
failreason_tmp = FailReason.new
failreason_tmp.deserialize(i)
@FailedList << failreason_tmp
end
end
@RequestId = params['RequestId']
end
end
# CreateRealtimeLogDeliveryTask请求参数结构体
class CreateRealtimeLogDeliveryTaskRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param TaskName: 实时日志投递任务的名称,格式为数字、英文、-和_组合,最多 200 个字符。
# @type TaskName: String
# @param TaskType: 实时日志投递任务类型,取值有:
# cls: 推送到腾讯云 CLS;
# custom_endpoint:推送到自定义 HTTP(S) 地址;
# s3:推送到 AWS S3 兼容存储桶地址。
# @type TaskType: String
# @param EntityList: 实时日志投递任务对应的实体(七层域名或者四层代理实例)列表。取值示例如下:
# 七层域名:domain.example.com;
# 四层代理实例:sid-2s69eb5wcms7。
# @type EntityList: Array
# @param LogType: 数据投递类型,取值有:
# domain:站点加速日志;
# application:四层代理日志;
# web-rateLiming:速率限制和 CC 攻击防护日志;
# web-attack:托管规则日志;
# web-rule:自定义规则日志;
# web-bot:Bot管理日志。
# @type LogType: String
# @param Area: 数据投递区域,取值有:
# mainland:中国大陆境内;
# overseas:全球(不含中国大陆)。
# @type Area: String
# @param Fields: 投递的预设字段列表。
# @type Fields: Array
# @param CustomFields: 投递的自定义字段列表,支持在 HTTP 请求头、响应头、Cookie 中提取指定字段值。自定义字段名称不能重复,且最多不能超过 200 个字段。
# @type CustomFields: Array
# @param DeliveryConditions: 日志投递的过滤条件,不填表示投递全量日志。
# @type DeliveryConditions: Array
# @param Sample: 采样比例,采用千分制,取值范围为1-1000,例如:填写 605 表示采样比例为 60.5%。不填表示采样比例为 100%。
# @type Sample: Integer
# @param LogFormat: 日志投递的输出格式。不填表示为默认格式,默认格式逻辑如下:
# 当 TaskType 取值为 custom_endpoint 时,默认格式为多个 JSON 对象组成的数组,每个 JSON 对象为一条日志;
# 当 TaskType 取值为 s3 时,默认格式为 JSON Lines;特别地,当 TaskType 取值为 cls 时,LogFormat.FormatType 的值只能为 json,且 LogFormat 中其他参数将被忽略,建议不传 LogFormat。
# @type LogFormat: :class:`Tencentcloud::Teo.v20220901.models.LogFormat`
# @param CLS: CLS 的配置信息。当 TaskType 取值为 cls 时,该参数必填。
# @type CLS: :class:`Tencentcloud::Teo.v20220901.models.CLSTopic`
# @param CustomEndpoint: 自定义 HTTP 服务的配置信息。当 TaskType 取值为 custom_endpoint 时,该参数必填。
# @type CustomEndpoint: :class:`Tencentcloud::Teo.v20220901.models.CustomEndpoint`
# @param S3: AWS S3 兼容存储桶的配置信息。当 TaskType 取值为 s3 时,该参数必填。
# @type S3: :class:`Tencentcloud::Teo.v20220901.models.S3`
attr_accessor :ZoneId, :TaskName, :TaskType, :EntityList, :LogType, :Area, :Fields, :CustomFields, :DeliveryConditions, :Sample, :LogFormat, :CLS, :CustomEndpoint, :S3
def initialize(zoneid=nil, taskname=nil, tasktype=nil, entitylist=nil, logtype=nil, area=nil, fields=nil, customfields=nil, deliveryconditions=nil, sample=nil, logformat=nil, cls=nil, customendpoint=nil, s3=nil)
@ZoneId = zoneid
@TaskName = taskname
@TaskType = tasktype
@EntityList = entitylist
@LogType = logtype
@Area = area
@Fields = fields
@CustomFields = customfields
@DeliveryConditions = deliveryconditions
@Sample = sample
@LogFormat = logformat
@CLS = cls
@CustomEndpoint = customendpoint
@S3 = s3
end
def deserialize(params)
@ZoneId = params['ZoneId']
@TaskName = params['TaskName']
@TaskType = params['TaskType']
@EntityList = params['EntityList']
@LogType = params['LogType']
@Area = params['Area']
@Fields = params['Fields']
unless params['CustomFields'].nil?
@CustomFields = []
params['CustomFields'].each do |i|
customfield_tmp = CustomField.new
customfield_tmp.deserialize(i)
@CustomFields << customfield_tmp
end
end
unless params['DeliveryConditions'].nil?
@DeliveryConditions = []
params['DeliveryConditions'].each do |i|
deliverycondition_tmp = DeliveryCondition.new
deliverycondition_tmp.deserialize(i)
@DeliveryConditions << deliverycondition_tmp
end
end
@Sample = params['Sample']
unless params['LogFormat'].nil?
@LogFormat = LogFormat.new
@LogFormat.deserialize(params['LogFormat'])
end
unless params['CLS'].nil?
@CLS = CLSTopic.new
@CLS.deserialize(params['CLS'])
end
unless params['CustomEndpoint'].nil?
@CustomEndpoint = CustomEndpoint.new
@CustomEndpoint.deserialize(params['CustomEndpoint'])
end
unless params['S3'].nil?
@S3 = S3.new
@S3.deserialize(params['S3'])
end
end
end
# CreateRealtimeLogDeliveryTask返回参数结构体
class CreateRealtimeLogDeliveryTaskResponse < TencentCloud::Common::AbstractModel
# @param TaskId: 创建成功的任务ID。
# @type TaskId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TaskId, :RequestId
def initialize(taskid=nil, requestid=nil)
@TaskId = taskid
@RequestId = requestid
end
def deserialize(params)
@TaskId = params['TaskId']
@RequestId = params['RequestId']
end
end
# CreateRule请求参数结构体
class CreateRuleRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param RuleName: 规则名称,名称字符串长度 1~255。
# @type RuleName: String
# @param Status: 规则状态,取值有:
# enable: 启用;
# disable: 未启用。
# @type Status: String
# @param Rules: 规则内容。
# @type Rules: Array
# @param Tags: 规则标签。
# @type Tags: Array
attr_accessor :ZoneId, :RuleName, :Status, :Rules, :Tags
def initialize(zoneid=nil, rulename=nil, status=nil, rules=nil, tags=nil)
@ZoneId = zoneid
@RuleName = rulename
@Status = status
@Rules = rules
@Tags = tags
end
def deserialize(params)
@ZoneId = params['ZoneId']
@RuleName = params['RuleName']
@Status = params['Status']
unless params['Rules'].nil?
@Rules = []
params['Rules'].each do |i|
rule_tmp = Rule.new
rule_tmp.deserialize(i)
@Rules << rule_tmp
end
end
@Tags = params['Tags']
end
end
# CreateRule返回参数结构体
class CreateRuleResponse < TencentCloud::Common::AbstractModel
# @param RuleId: 规则 ID。
# @type RuleId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RuleId, :RequestId
def initialize(ruleid=nil, requestid=nil)
@RuleId = ruleid
@RequestId = requestid
end
def deserialize(params)
@RuleId = params['RuleId']
@RequestId = params['RequestId']
end
end
# CreateSecurityIPGroup请求参数结构体
class CreateSecurityIPGroupRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 Id。
# @type ZoneId: String
# @param IPGroup: IP 组信息。
# @type IPGroup: :class:`Tencentcloud::Teo.v20220901.models.IPGroup`
attr_accessor :ZoneId, :IPGroup
def initialize(zoneid=nil, ipgroup=nil)
@ZoneId = zoneid
@IPGroup = ipgroup
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['IPGroup'].nil?
@IPGroup = IPGroup.new
@IPGroup.deserialize(params['IPGroup'])
end
end
end
# CreateSecurityIPGroup返回参数结构体
class CreateSecurityIPGroupResponse < TencentCloud::Common::AbstractModel
# @param GroupId: IP 组 Id。
# @type GroupId: Integer
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :GroupId, :RequestId
def initialize(groupid=nil, requestid=nil)
@GroupId = groupid
@RequestId = requestid
end
def deserialize(params)
@GroupId = params['GroupId']
@RequestId = params['RequestId']
end
end
# CreateSharedCNAME请求参数结构体
class CreateSharedCNAMERequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 共享 CNAME 所属站点的 ID。
# @type ZoneId: String
# @param SharedCNAMEPrefix: 共享 CNAME 前缀。请输入合法的域名前缀,例如"test-api"、"test-api.com",限制输入 50 个字符。
# 共享 CNAME 完整格式为:`<自定义前缀>++share.dnse[0-5].com`。
# 例如前缀传入 example.com,EO 会为您创建共享 CNAME:example.com.sai2ig51kaa5.share.dnse2.com。
# @type SharedCNAMEPrefix: String
# @param Description: 描述。可输入 1-50 个任意字符。
# @type Description: String
attr_accessor :ZoneId, :SharedCNAMEPrefix, :Description
def initialize(zoneid=nil, sharedcnameprefix=nil, description=nil)
@ZoneId = zoneid
@SharedCNAMEPrefix = sharedcnameprefix
@Description = description
end
def deserialize(params)
@ZoneId = params['ZoneId']
@SharedCNAMEPrefix = params['SharedCNAMEPrefix']
@Description = params['Description']
end
end
# CreateSharedCNAME返回参数结构体
class CreateSharedCNAMEResponse < TencentCloud::Common::AbstractModel
# @param SharedCNAME: 共享 CNAME。格式为:`<自定义前缀>++share.dnse[0-5].com`。
# @type SharedCNAME: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :SharedCNAME, :RequestId
def initialize(sharedcname=nil, requestid=nil)
@SharedCNAME = sharedcname
@RequestId = requestid
end
def deserialize(params)
@SharedCNAME = params['SharedCNAME']
@RequestId = params['RequestId']
end
end
# CreateZone请求参数结构体
class CreateZoneRequest < TencentCloud::Common::AbstractModel
# @param Type: 站点接入类型。该参数取值如下,不填写时默认为 partial:
# partial:CNAME 接入;
# full:NS 接入;
# noDomainAccess:无域名接入;
# dnsPodAccess:DNSPod 托管接入,该接入模式要求您的域名已托管在 DNSPod 内。
# @type Type: String
# @param ZoneName: 站点名称。CNAME/NS 接入的时,请传入二级域名(example.com)作为站点名称;无域名接入时,该值请保留为空。
# @type ZoneName: String
# @param Area: Type 取值为 partial/full 时,七层域名的加速区域。以下为该参数取值,不填写时该值默认为 overseas。Type 取值为 noDomainAccess 时该值请保留为空:
# global: 全球可用区;
# mainland: 中国大陆可用区;
# overseas: 全球可用区(不含中国大陆)。
# @type Area: String
# @param PlanId: 待绑定的目标套餐 ID。当您账号下已存在套餐时,可以填写此参数,直接将站点绑定至该套餐。若您当前没有可绑定的套餐时,请前往控制台购买套餐完成站点创建。
# @type PlanId: String
# @param AliasZoneName: 同名站点标识。限制输入数字、英文、- 和 _ 组合,长度 20 个字符以内。详情参考 [同名站点标识](https://cloud.tencent.com/document/product/1552/70202),无此使用场景时,该字段保留为空即可。
# @type AliasZoneName: String
# @param Tags: 标签。该参数用于对站点进行分权限管控、分账。需要先前往 [标签控制台](https://console.cloud.tencent.com/tag/taglist) 创建对应的标签才可以在此处传入对应的标签键和标签值。
# @type Tags: Array
# @param AllowDuplicates: 是否允许重复接入。
# true:允许重复接入;
# false:不允许重复接入。不填写使用默认值false。
# @type AllowDuplicates: Boolean
# @param JumpStart: 是否跳过站点现有的DNS记录扫描。默认值:false。
# @type JumpStart: Boolean
attr_accessor :Type, :ZoneName, :Area, :PlanId, :AliasZoneName, :Tags, :AllowDuplicates, :JumpStart
extend Gem::Deprecate
deprecate :AllowDuplicates, :none, 2024, 9
deprecate :AllowDuplicates=, :none, 2024, 9
deprecate :JumpStart, :none, 2024, 9
deprecate :JumpStart=, :none, 2024, 9
def initialize(type=nil, zonename=nil, area=nil, planid=nil, aliaszonename=nil, tags=nil, allowduplicates=nil, jumpstart=nil)
@Type = type
@ZoneName = zonename
@Area = area
@PlanId = planid
@AliasZoneName = aliaszonename
@Tags = tags
@AllowDuplicates = allowduplicates
@JumpStart = jumpstart
end
def deserialize(params)
@Type = params['Type']
@ZoneName = params['ZoneName']
@Area = params['Area']
@PlanId = params['PlanId']
@AliasZoneName = params['AliasZoneName']
unless params['Tags'].nil?
@Tags = []
params['Tags'].each do |i|
tag_tmp = Tag.new
tag_tmp.deserialize(i)
@Tags << tag_tmp
end
end
@AllowDuplicates = params['AllowDuplicates']
@JumpStart = params['JumpStart']
end
end
# CreateZone返回参数结构体
class CreateZoneResponse < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param OwnershipVerification: 站点归属权验证信息。站点完成创建后,您还需要完成归属权校验,站点才能正常服务。
# Type = partial 时,您需要参考 [站点/域名归属权验证](https://cloud.tencent.com/document/product/1552/70789) 前往您的域名解析服务商添加 TXT 记录或者前往根域名服务器添加文件,再调用接口 [VerifyOwnership]() 完成验证;
# Type = full 时,您需要参考 [修改 DNS 服务器](https://cloud.tencent.com/document/product/1552/90452) 切换 DNS 服务器即可,可通过接口 [VerifyOwnership]() 查询 DNS 是否切换成功;
# Type = noDomainAccess 时,该值为空,不需要进行任何操作。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OwnershipVerification: :class:`Tencentcloud::Teo.v20220901.models.OwnershipVerification`
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :ZoneId, :OwnershipVerification, :RequestId
def initialize(zoneid=nil, ownershipverification=nil, requestid=nil)
@ZoneId = zoneid
@OwnershipVerification = ownershipverification
@RequestId = requestid
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['OwnershipVerification'].nil?
@OwnershipVerification = OwnershipVerification.new
@OwnershipVerification.deserialize(params['OwnershipVerification'])
end
@RequestId = params['RequestId']
end
end
# 实时日志投递到自定义 HTTP(S) 接口的配置信息。
class CustomEndpoint < TencentCloud::Common::AbstractModel
# @param Url: 实时日志投递的自定义 HTTP 接口地址,暂仅支持 HTTP/HTTPS 协议。
# @type Url: String
# @param AccessId: 填写自定义的 SecretId 用于生成加密签名,如果源站需要鉴权此参数必填。
# @type AccessId: String
# @param AccessKey: 填写自定义的 SecretKey 用于生成加密签名,如果源站需要鉴权此参数必填。
# @type AccessKey: String
# @param CompressType: 数据压缩类型,取值有: gzip:使用 gzip 方式压缩。不填表示不启用压缩。
# @type CompressType: String
# @param Protocol: POST 请求投递日志时,使用的应用层协议类型,取值有:
# http:HTTP 协议;
# https:HTTPS 协议。如果不填默认根据填写的 URL 地址解析出协议类型。
# @type Protocol: String
# @param Headers: 投递日志时携带的自定义请求头。若您填写的头部名称为 Content-Type 等 EdgeOne 日志推送默认携带的头部,那么您填写的头部值将覆盖默认值。头部值引用单个变量${batchSize},以获取每次 POST 请求中包含的日志条数。
# @type Headers: Array
attr_accessor :Url, :AccessId, :AccessKey, :CompressType, :Protocol, :Headers
def initialize(url=nil, accessid=nil, accesskey=nil, compresstype=nil, protocol=nil, headers=nil)
@Url = url
@AccessId = accessid
@AccessKey = accesskey
@CompressType = compresstype
@Protocol = protocol
@Headers = headers
end
def deserialize(params)
@Url = params['Url']
@AccessId = params['AccessId']
@AccessKey = params['AccessKey']
@CompressType = params['CompressType']
@Protocol = params['Protocol']
unless params['Headers'].nil?
@Headers = []
params['Headers'].each do |i|
header_tmp = Header.new
header_tmp.deserialize(i)
@Headers << header_tmp
end
end
end
end
# 自定义错误码页面结构体。
class CustomErrorPage < TencentCloud::Common::AbstractModel
# @param PageId: 自定义错误页面 ID。
# @type PageId: String
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Name: 自定义错误页面名称。
# @type Name: String
# @param ContentType: 自定义错误页面类型。
# @type ContentType: String
# @param Description: 自定义错误页面描述。
# @type Description: String
# @param Content: 自定义错误页面内容。
# @type Content: String
# @param References: 自定义错误页面引用。
# @type References: Array
attr_accessor :PageId, :ZoneId, :Name, :ContentType, :Description, :Content, :References
def initialize(pageid=nil, zoneid=nil, name=nil, contenttype=nil, description=nil, content=nil, references=nil)
@PageId = pageid
@ZoneId = zoneid
@Name = name
@ContentType = contenttype
@Description = description
@Content = content
@References = references
end
def deserialize(params)
@PageId = params['PageId']
@ZoneId = params['ZoneId']
@Name = params['Name']
@ContentType = params['ContentType']
@Description = params['Description']
@Content = params['Content']
unless params['References'].nil?
@References = []
params['References'].each do |i|
errorpagereference_tmp = ErrorPageReference.new
errorpagereference_tmp.deserialize(i)
@References << errorpagereference_tmp
end
end
end
end
# 实时日志投递任务中的自定义日志字段。
class CustomField < TencentCloud::Common::AbstractModel
# @param Name: 从 HTTP 请求和响应中的指定位置提取数据,取值有:
# ReqHeader:从 HTTP 请求头中提取指定字段值;
# RspHeader:从 HTTP 响应头中提取指定字段值;
# Cookie: 从 Cookie 中提取指定字段值。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Name: String
# @param Value: 需要提取值的参数名称,例如:Accept-Language。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Value: String
# @param Enabled: 是否投递该字段,不填表示不投递此字段。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Enabled: Boolean
attr_accessor :Name, :Value, :Enabled
def initialize(name=nil, value=nil, enabled=nil)
@Name = name
@Value = value
@Enabled = enabled
end
def deserialize(params)
@Name = params['Name']
@Value = params['Value']
@Enabled = params['Enabled']
end
end
# DDoS配置
class DDoS < TencentCloud::Common::AbstractModel
# @param Switch: 开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# DDoS攻击事件对象
class DDoSAttackEvent < TencentCloud::Common::AbstractModel
# @param EventId: 事件ID。
# @type EventId: String
# @param AttackType: 攻击类型(对应交互事件名称)。
# @type AttackType: String
# @param AttackStatus: 攻击状态。
# @type AttackStatus: Integer
# @param AttackMaxBandWidth: 攻击最大带宽。
# @type AttackMaxBandWidth: Integer
# @param AttackPacketMaxRate: 攻击包速率峰值。
# @type AttackPacketMaxRate: Integer
# @param AttackStartTime: 攻击开始时间,单位为s。
# @type AttackStartTime: Integer
# @param AttackEndTime: 攻击结束时间,单位为s。
# @type AttackEndTime: Integer
# @param PolicyId: DDoS策略组ID。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PolicyId: Integer
# @param ZoneId: 站点ID。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ZoneId: String
# @param Area: 攻击事件所属地区,取值有:
# overseas:全球(除中国大陆地区)数据;
# mainland:中国大陆地区数据。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Area: String
# @param DDoSBlockData: 封禁解封信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DDoSBlockData: Array
attr_accessor :EventId, :AttackType, :AttackStatus, :AttackMaxBandWidth, :AttackPacketMaxRate, :AttackStartTime, :AttackEndTime, :PolicyId, :ZoneId, :Area, :DDoSBlockData
def initialize(eventid=nil, attacktype=nil, attackstatus=nil, attackmaxbandwidth=nil, attackpacketmaxrate=nil, attackstarttime=nil, attackendtime=nil, policyid=nil, zoneid=nil, area=nil, ddosblockdata=nil)
@EventId = eventid
@AttackType = attacktype
@AttackStatus = attackstatus
@AttackMaxBandWidth = attackmaxbandwidth
@AttackPacketMaxRate = attackpacketmaxrate
@AttackStartTime = attackstarttime
@AttackEndTime = attackendtime
@PolicyId = policyid
@ZoneId = zoneid
@Area = area
@DDoSBlockData = ddosblockdata
end
def deserialize(params)
@EventId = params['EventId']
@AttackType = params['AttackType']
@AttackStatus = params['AttackStatus']
@AttackMaxBandWidth = params['AttackMaxBandWidth']
@AttackPacketMaxRate = params['AttackPacketMaxRate']
@AttackStartTime = params['AttackStartTime']
@AttackEndTime = params['AttackEndTime']
@PolicyId = params['PolicyId']
@ZoneId = params['ZoneId']
@Area = params['Area']
unless params['DDoSBlockData'].nil?
@DDoSBlockData = []
params['DDoSBlockData'].each do |i|
ddosblockdata_tmp = DDoSBlockData.new
ddosblockdata_tmp.deserialize(i)
@DDoSBlockData << ddosblockdata_tmp
end
end
end
end
# DDoS封禁解封信息
class DDoSBlockData < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间,采用unix时间戳。
# @type StartTime: Integer
# @param EndTime: 结束时间,采用unix时间戳, 为0表示还处于封禁中。
# @type EndTime: Integer
# @param BlockArea: 封禁受影响区域。
# @type BlockArea: String
attr_accessor :StartTime, :EndTime, :BlockArea
def initialize(starttime=nil, endtime=nil, blockarea=nil)
@StartTime = starttime
@EndTime = endtime
@BlockArea = blockarea
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@BlockArea = params['BlockArea']
end
end
# 适用于四层代理或 Web 站点服务的独立 DDoS 防护规格配置。
class DDosProtectionConfig < TencentCloud::Common::AbstractModel
# @param LevelMainland: 中国大陆地区独立 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。
# @type LevelMainland: String
# @param MaxBandwidthMainland: 中国大陆地区独立 DDoS 防护的弹性防护带宽配置。
# 仅当开启中国大陆区域独立 DDos 防护时有效(详见 LevelMainland 参数配置),且取值范围有如下限制:
# 开启中国大陆地区独立 DDoS 防护,使用 30 Gbps 保底防护带宽规格时( LevelMainland 参数值为 BASE30_MAX300 ):有效取值范围为 30 至 300,单位为 Gbps;
# 开启中国大陆地区独立 DDoS 防护,使用 60 Gbps 保底防护带宽规格时( LevelMainland 参数值为 BASE60_MAX600 ):有效取值范围为 60 至 600,单位为 Gbps;
# 使用平台默认防护( LevelMainland 参数值为 PLATFORM ):不支持配置,本参数值无效。
# @type MaxBandwidthMainland: Integer
# @param LevelOverseas: 全球(除中国大陆以外)地区独立 DDoS 防护的规格。
# PLATFORM:平台默认防护,即不开启独立 DDoS 防护;
# ANYCAST300:开启独立 DDoS 防护,提供 300 Gbps 防护带宽;
# ANYCAST_ALLIN:开启独立 DDoS 防护,使用全部可用防护资源进行防护。不填写参数时,取默认值 PLATFORM。
# @type LevelOverseas: String
attr_accessor :LevelMainland, :MaxBandwidthMainland, :LevelOverseas
def initialize(levelmainland=nil, maxbandwidthmainland=nil, leveloverseas=nil)
@LevelMainland = levelmainland
@MaxBandwidthMainland = maxbandwidthmainland
@LevelOverseas = leveloverseas
end
def deserialize(params)
@LevelMainland = params['LevelMainland']
@MaxBandwidthMainland = params['MaxBandwidthMainland']
@LevelOverseas = params['LevelOverseas']
end
end
# https 服务端证书配置
class DefaultServerCertInfo < TencentCloud::Common::AbstractModel
# @param CertId: 服务器证书 ID。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CertId: String
# @param Alias: 证书备注名。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Alias: String
# @param Type: 证书类型,取值有:
# default: 默认证书;
# upload:用户上传;
# managed:腾讯云托管。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Type: String
# @param ExpireTime: 证书过期时间。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExpireTime: String
# @param EffectiveTime: 证书生效时间。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type EffectiveTime: String
# @param CommonName: 证书公用名。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CommonName: String
# @param SubjectAltName: 证书SAN域名。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SubjectAltName: Array
# @param Status: 部署状态,取值有:
# processing: 部署中;
# deployed: 已部署;
# failed: 部署失败。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Status: String
# @param Message: Status为失败时,此字段返回失败原因。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Message: String
# @param SignAlgo: 证书算法。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SignAlgo: String
attr_accessor :CertId, :Alias, :Type, :ExpireTime, :EffectiveTime, :CommonName, :SubjectAltName, :Status, :Message, :SignAlgo
def initialize(certid=nil, _alias=nil, type=nil, expiretime=nil, effectivetime=nil, commonname=nil, subjectaltname=nil, status=nil, message=nil, signalgo=nil)
@CertId = certid
@Alias = _alias
@Type = type
@ExpireTime = expiretime
@EffectiveTime = effectivetime
@CommonName = commonname
@SubjectAltName = subjectaltname
@Status = status
@Message = message
@SignAlgo = signalgo
end
def deserialize(params)
@CertId = params['CertId']
@Alias = params['Alias']
@Type = params['Type']
@ExpireTime = params['ExpireTime']
@EffectiveTime = params['EffectiveTime']
@CommonName = params['CommonName']
@SubjectAltName = params['SubjectAltName']
@Status = params['Status']
@Message = params['Message']
@SignAlgo = params['SignAlgo']
end
end
# DeleteAccelerationDomains请求参数结构体
class DeleteAccelerationDomainsRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 加速域名所属站点ID。
# @type ZoneId: String
# @param DomainNames: 需要删除的加速域名ID列表。
# @type DomainNames: Array
# @param Force: 是否强制删除。当域名存在关联资源(如马甲域名、流量调度功能)时,是否强制删除该域名,取值有:
# true:删除该域名及所有关联资源;
# false:当该加速域名存在关联资源时,不允许删除。不填写,默认值为:false。
# @type Force: Boolean
attr_accessor :ZoneId, :DomainNames, :Force
def initialize(zoneid=nil, domainnames=nil, force=nil)
@ZoneId = zoneid
@DomainNames = domainnames
@Force = force
end
def deserialize(params)
@ZoneId = params['ZoneId']
@DomainNames = params['DomainNames']
@Force = params['Force']
end
end
# DeleteAccelerationDomains返回参数结构体
class DeleteAccelerationDomainsResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteAliasDomain请求参数结构体
class DeleteAliasDomainRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param AliasNames: 待删除别称域名名称。如果为空,则不执行删除操作。
# @type AliasNames: Array
attr_accessor :ZoneId, :AliasNames
def initialize(zoneid=nil, aliasnames=nil)
@ZoneId = zoneid
@AliasNames = aliasnames
end
def deserialize(params)
@ZoneId = params['ZoneId']
@AliasNames = params['AliasNames']
end
end
# DeleteAliasDomain返回参数结构体
class DeleteAliasDomainResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteApplicationProxy请求参数结构体
class DeleteApplicationProxyRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param ProxyId: 代理ID。
# @type ProxyId: String
attr_accessor :ZoneId, :ProxyId
def initialize(zoneid=nil, proxyid=nil)
@ZoneId = zoneid
@ProxyId = proxyid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
end
end
# DeleteApplicationProxy返回参数结构体
class DeleteApplicationProxyResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteApplicationProxyRule请求参数结构体
class DeleteApplicationProxyRuleRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param ProxyId: 代理ID。
# @type ProxyId: String
# @param RuleId: 规则ID。
# @type RuleId: String
attr_accessor :ZoneId, :ProxyId, :RuleId
def initialize(zoneid=nil, proxyid=nil, ruleid=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@RuleId = ruleid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@RuleId = params['RuleId']
end
end
# DeleteApplicationProxyRule返回参数结构体
class DeleteApplicationProxyRuleResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteCustomErrorPage请求参数结构体
class DeleteCustomErrorPageRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param PageId: 自定义页面 ID。
# @type PageId: String
attr_accessor :ZoneId, :PageId
def initialize(zoneid=nil, pageid=nil)
@ZoneId = zoneid
@PageId = pageid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@PageId = params['PageId']
end
end
# DeleteCustomErrorPage返回参数结构体
class DeleteCustomErrorPageResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteL4Proxy请求参数结构体
class DeleteL4ProxyRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyId: 四层代理实例 ID。
# @type ProxyId: String
attr_accessor :ZoneId, :ProxyId
def initialize(zoneid=nil, proxyid=nil)
@ZoneId = zoneid
@ProxyId = proxyid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
end
end
# DeleteL4Proxy返回参数结构体
class DeleteL4ProxyResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteL4ProxyRules请求参数结构体
class DeleteL4ProxyRulesRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyId: 四层代理实例 ID。
# @type ProxyId: String
# @param RuleIds: 转发规则 ID 列表。单次最多支持 200 条转发规则。
# @type RuleIds: Array
attr_accessor :ZoneId, :ProxyId, :RuleIds
def initialize(zoneid=nil, proxyid=nil, ruleids=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@RuleIds = ruleids
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@RuleIds = params['RuleIds']
end
end
# DeleteL4ProxyRules返回参数结构体
class DeleteL4ProxyRulesResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteOriginGroup请求参数结构体
class DeleteOriginGroupRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID
# @type ZoneId: String
# @param GroupId: 源站组 ID,此参数必填。
# @type GroupId: String
attr_accessor :ZoneId, :GroupId
def initialize(zoneid=nil, groupid=nil)
@ZoneId = zoneid
@GroupId = groupid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@GroupId = params['GroupId']
end
end
# DeleteOriginGroup返回参数结构体
class DeleteOriginGroupResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteRealtimeLogDeliveryTask请求参数结构体
class DeleteRealtimeLogDeliveryTaskRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param TaskId: 实时日志投递任务 ID。
# @type TaskId: String
attr_accessor :ZoneId, :TaskId
def initialize(zoneid=nil, taskid=nil)
@ZoneId = zoneid
@TaskId = taskid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@TaskId = params['TaskId']
end
end
# DeleteRealtimeLogDeliveryTask返回参数结构体
class DeleteRealtimeLogDeliveryTaskResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteRules请求参数结构体
class DeleteRulesRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param RuleIds: 指定删除的规则 ID 列表。
# @type RuleIds: Array
attr_accessor :ZoneId, :RuleIds
def initialize(zoneid=nil, ruleids=nil)
@ZoneId = zoneid
@RuleIds = ruleids
end
def deserialize(params)
@ZoneId = params['ZoneId']
@RuleIds = params['RuleIds']
end
end
# DeleteRules返回参数结构体
class DeleteRulesResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteSecurityIPGroup请求参数结构体
class DeleteSecurityIPGroupRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 Id。
# @type ZoneId: String
# @param GroupId: IP 组 Id。
# @type GroupId: Integer
attr_accessor :ZoneId, :GroupId
def initialize(zoneid=nil, groupid=nil)
@ZoneId = zoneid
@GroupId = groupid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@GroupId = params['GroupId']
end
end
# DeleteSecurityIPGroup返回参数结构体
class DeleteSecurityIPGroupResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteSharedCNAME请求参数结构体
class DeleteSharedCNAMERequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 共享 CNAME 所属站点 ID。
# @type ZoneId: String
# @param SharedCNAME: 需要删除的共享 CNAME。
# @type SharedCNAME: String
attr_accessor :ZoneId, :SharedCNAME
def initialize(zoneid=nil, sharedcname=nil)
@ZoneId = zoneid
@SharedCNAME = sharedcname
end
def deserialize(params)
@ZoneId = params['ZoneId']
@SharedCNAME = params['SharedCNAME']
end
end
# DeleteSharedCNAME返回参数结构体
class DeleteSharedCNAMEResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteZone请求参数结构体
class DeleteZoneRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
attr_accessor :ZoneId
def initialize(zoneid=nil)
@ZoneId = zoneid
end
def deserialize(params)
@ZoneId = params['ZoneId']
end
end
# DeleteZone返回参数结构体
class DeleteZoneResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# 实时日志投递条件,用于定义投递日志范围。DeliveryCondition 数组内多个项的关系为“或”,内层 Conditions 数组内多个项的关系为“且”。
class DeliveryCondition < TencentCloud::Common::AbstractModel
# @param Conditions: 日志过滤条件,详细的过滤条件如下:
# 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管理 - 主动特征识别
# @type Conditions: Array
attr_accessor :Conditions
def initialize(conditions=nil)
@Conditions = conditions
end
def deserialize(params)
unless params['Conditions'].nil?
@Conditions = []
params['Conditions'].each do |i|
querycondition_tmp = QueryCondition.new
querycondition_tmp.deserialize(i)
@Conditions << querycondition_tmp
end
end
end
end
# DeployConfigGroupVersion请求参数结构体
class DeployConfigGroupVersionRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param EnvId: 环境 ID。请填写版本需要发布到的环境 ID。
# @type EnvId: String
# @param ConfigGroupVersionInfos: 需要发布的版本信息。可以同时变更多个不同配置组的版本,每个配置组一次仅支持变更一个版本。
# @type ConfigGroupVersionInfos: Array
# @param Description: 变更说明。用于描述此次变更的内容、原因,最大支持 100 个字符。
# @type Description: String
attr_accessor :ZoneId, :EnvId, :ConfigGroupVersionInfos, :Description
def initialize(zoneid=nil, envid=nil, configgroupversioninfos=nil, description=nil)
@ZoneId = zoneid
@EnvId = envid
@ConfigGroupVersionInfos = configgroupversioninfos
@Description = description
end
def deserialize(params)
@ZoneId = params['ZoneId']
@EnvId = params['EnvId']
unless params['ConfigGroupVersionInfos'].nil?
@ConfigGroupVersionInfos = []
params['ConfigGroupVersionInfos'].each do |i|
configgroupversioninfo_tmp = ConfigGroupVersionInfo.new
configgroupversioninfo_tmp.deserialize(i)
@ConfigGroupVersionInfos << configgroupversioninfo_tmp
end
end
@Description = params['Description']
end
end
# DeployConfigGroupVersion返回参数结构体
class DeployConfigGroupVersionResponse < TencentCloud::Common::AbstractModel
# @param RecordId: 发布记录 ID。
# @type RecordId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RecordId, :RequestId
def initialize(recordid=nil, requestid=nil)
@RecordId = recordid
@RequestId = requestid
end
def deserialize(params)
@RecordId = params['RecordId']
@RequestId = params['RequestId']
end
end
# 配置组版本发布记录详情。
class DeployRecord < TencentCloud::Common::AbstractModel
# @param ConfigGroupVersionInfos: 发布版本的详细信息。
# @type ConfigGroupVersionInfos: Array
# @param DeployTime: 发布时间。时间为世界标准时间(UTC), 遵循 ISO 8601 标准的日期和时间格式。
# @type DeployTime: String
# @param Status: 发布状态,取值有:
# deploying :发布中;
# failure :发布失败;
# success: 发布成功。
# @type Status: String
# @param Message: 发布结果信息。
# @type Message: String
# @param RecordId: 发布记录 ID。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RecordId: String
# @param Description: 变更说明。
# @type Description: String
attr_accessor :ConfigGroupVersionInfos, :DeployTime, :Status, :Message, :RecordId, :Description
def initialize(configgroupversioninfos=nil, deploytime=nil, status=nil, message=nil, recordid=nil, description=nil)
@ConfigGroupVersionInfos = configgroupversioninfos
@DeployTime = deploytime
@Status = status
@Message = message
@RecordId = recordid
@Description = description
end
def deserialize(params)
unless params['ConfigGroupVersionInfos'].nil?
@ConfigGroupVersionInfos = []
params['ConfigGroupVersionInfos'].each do |i|
configgroupversioninfo_tmp = ConfigGroupVersionInfo.new
configgroupversioninfo_tmp.deserialize(i)
@ConfigGroupVersionInfos << configgroupversioninfo_tmp
end
end
@DeployTime = params['DeployTime']
@Status = params['Status']
@Message = params['Message']
@RecordId = params['RecordId']
@Description = params['Description']
end
end
# DescribeAccelerationDomains请求参数结构体
class DescribeAccelerationDomainsRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 加速域名所属站点 ID。
# @type ZoneId: String
# @param Offset: 分页查询偏移量,默认为 0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目,默认值:20,上限:200。
# @type Limit: Integer
# @param Filters: 过滤条件,Filters.Values 的上限为 20。该参数不填写时,返回当前 zone-id 下所有域名信息。详细的过滤条件如下:
# domain-name:按照加速域名进行过滤;
# origin-type:按照源站类型进行过滤;
# origin:按照主源站地址进行过滤;
# backup-origin: 按照备用源站地址进行过滤;
# domain-cname:按照 CNAME 进行过滤;
# share-cname:按照共享 CNAME 进行过滤;
# @type Filters: Array
# @param Order: 可根据该字段对返回结果进行排序,取值有:
# created_on:加速域名创建时间;
# domain-name:加速域名。不填写时,默认对返回结果按照 domain-name 排序。
# @type Order: String
# @param Direction: 排序方向,如果是字段值为数字,则根据数字大小排序;如果字段值为文本,则根据 ascill 码的大小排序。取值有:
# asc:升序排列;
# desc:降序排列。不填写使用默认值 asc。
# @type Direction: String
# @param Match: 匹配方式,取值有:
# all:返回匹配所有查询条件的加速域名;
# any:返回匹配任意一个查询条件的加速域名。不填写时默认值为 all。
# @type Match: String
attr_accessor :ZoneId, :Offset, :Limit, :Filters, :Order, :Direction, :Match
def initialize(zoneid=nil, offset=nil, limit=nil, filters=nil, order=nil, direction=nil, match=nil)
@ZoneId = zoneid
@Offset = offset
@Limit = limit
@Filters = filters
@Order = order
@Direction = direction
@Match = match
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
advancedfilter_tmp = AdvancedFilter.new
advancedfilter_tmp.deserialize(i)
@Filters << advancedfilter_tmp
end
end
@Order = params['Order']
@Direction = params['Direction']
@Match = params['Match']
end
end
# DescribeAccelerationDomains返回参数结构体
class DescribeAccelerationDomainsResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 符合查询条件的加速域名个数。
# @type TotalCount: Integer
# @param AccelerationDomains: 符合查询条件的所有加速域名的信息。
# @type AccelerationDomains: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :AccelerationDomains, :RequestId
def initialize(totalcount=nil, accelerationdomains=nil, requestid=nil)
@TotalCount = totalcount
@AccelerationDomains = accelerationdomains
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['AccelerationDomains'].nil?
@AccelerationDomains = []
params['AccelerationDomains'].each do |i|
accelerationdomain_tmp = AccelerationDomain.new
accelerationdomain_tmp.deserialize(i)
@AccelerationDomains << accelerationdomain_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeAliasDomains请求参数结构体
class DescribeAliasDomainsRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Offset: 分页查询偏移量。默认值:0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值:20,最大值:1000。
# @type Limit: Integer
# @param Filters: 过滤条件,Filters.Values的上限为20。详细的过滤条件如下:
# target-name:目标域名名称进行过滤;
# alias-name:按照别称域名名称进行过滤。模糊查询时仅支持过滤字段名为 alias-name。
# @type Filters: Array
attr_accessor :ZoneId, :Offset, :Limit, :Filters
def initialize(zoneid=nil, offset=nil, limit=nil, filters=nil)
@ZoneId = zoneid
@Offset = offset
@Limit = limit
@Filters = filters
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
advancedfilter_tmp = AdvancedFilter.new
advancedfilter_tmp.deserialize(i)
@Filters << advancedfilter_tmp
end
end
end
end
# DescribeAliasDomains返回参数结构体
class DescribeAliasDomainsResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 符合条件的别称域名个数。
# @type TotalCount: Integer
# @param AliasDomains: 别称域名详细信息列表。
# @type AliasDomains: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :AliasDomains, :RequestId
def initialize(totalcount=nil, aliasdomains=nil, requestid=nil)
@TotalCount = totalcount
@AliasDomains = aliasdomains
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['AliasDomains'].nil?
@AliasDomains = []
params['AliasDomains'].each do |i|
aliasdomain_tmp = AliasDomain.new
aliasdomain_tmp.deserialize(i)
@AliasDomains << aliasdomain_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeApplicationProxies请求参数结构体
class DescribeApplicationProxiesRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。该参数必填。
# @type ZoneId: String
# @param Filters: 过滤条件,Filters.Values的上限为20。详细的过滤条件如下:proxy-id
按照【代理ID】进行过滤。代理ID形如:proxy-ev2sawbwfd。
类型:String
必选:否zone-id
按照【站点ID】进行过滤。站点ID形如:zone-vawer2vadg。
类型:String
必选:否rule-tag
按照【规则标签】对应用代理下的规则进行过滤。规则标签形如:rule-service-1。
类型:String
必选:否
# @type Filters: Array
# @param Offset: 分页查询偏移量。默认为0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值:20,最大值:1000。
# @type Limit: Integer
attr_accessor :ZoneId, :Filters, :Offset, :Limit
def initialize(zoneid=nil, filters=nil, offset=nil, limit=nil)
@ZoneId = zoneid
@Filters = filters
@Offset = offset
@Limit = limit
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
@Offset = params['Offset']
@Limit = params['Limit']
end
end
# DescribeApplicationProxies返回参数结构体
class DescribeApplicationProxiesResponse < TencentCloud::Common::AbstractModel
# @param ApplicationProxies: 应用代理列表。
# @type ApplicationProxies: Array
# @param TotalCount: 记录总数。
# @type TotalCount: Integer
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :ApplicationProxies, :TotalCount, :RequestId
def initialize(applicationproxies=nil, totalcount=nil, requestid=nil)
@ApplicationProxies = applicationproxies
@TotalCount = totalcount
@RequestId = requestid
end
def deserialize(params)
unless params['ApplicationProxies'].nil?
@ApplicationProxies = []
params['ApplicationProxies'].each do |i|
applicationproxy_tmp = ApplicationProxy.new
applicationproxy_tmp.deserialize(i)
@ApplicationProxies << applicationproxy_tmp
end
end
@TotalCount = params['TotalCount']
@RequestId = params['RequestId']
end
end
# DescribeAvailablePlans请求参数结构体
class DescribeAvailablePlansRequest < TencentCloud::Common::AbstractModel
def initialize()
end
def deserialize(params)
end
end
# DescribeAvailablePlans返回参数结构体
class DescribeAvailablePlansResponse < TencentCloud::Common::AbstractModel
# @param PlanInfo: 当前账户可购买套餐类型及相关信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PlanInfo: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :PlanInfo, :RequestId
def initialize(planinfo=nil, requestid=nil)
@PlanInfo = planinfo
@RequestId = requestid
end
def deserialize(params)
unless params['PlanInfo'].nil?
@PlanInfo = []
params['PlanInfo'].each do |i|
planinfo_tmp = PlanInfo.new
planinfo_tmp.deserialize(i)
@PlanInfo << planinfo_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeBillingData请求参数结构体
class DescribeBillingDataRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 起始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param ZoneIds: 站点 ID 集合,此参数必填。
# @type ZoneIds: Array
# @param MetricName: 指标列表,取值有:
# acc_flux: 内容加速流量,单位为 Byte;
# smt_flux: 智能加速流量,单位为 Byte;
# l4_flux: 四层加速流量,单位为 Byte;
# sec_flux: 独立防护流量,单位为 Byte;
# zxctg_flux: 中国大陆网络优化流量,单位为 Byte;
# acc_bandwidth: 内容加速带宽,单位为 bps;
# smt_bandwidth: 智能加速带宽,单位为 bps;
# l4_bandwidth: 四层加速带宽,单位为 bps;
# sec_bandwidth: 独立防护带宽,单位为 bps;
# zxctg_bandwidth: 中国大陆网络优化带宽,单位为 bps;
# sec_request_clean: HTTP/HTTPS 请求,单位为次;
# smt_request_clean: 智能加速请求,单位为次;
# quic_request: QUIC 请求,单位为次;
# bot_request_clean: Bot 请求,单位为次;
# cls_count: 实时日志推送条数,单位为条;
# ddos_bandwidth: 弹性 DDoS 防护带宽,单位为 bps。
# @type MetricName: String
# @param Interval: 查询时间粒度,取值有:
# 5min:5 分钟粒度;
# hour:1 小时粒度;
# day:1 天粒度。
# @type Interval: String
# @param Filters: 过滤条件,详细的过滤条件取值如下:
# host:按照域名进行过滤。示例值:test.example.com。
# proxy-id:按照四层代理实例 ID 进行过滤。示例值:sid-2rugn89bkla9。
# region-id:按照计费大区进行过滤。可选项如下:
CH:中国大陆境内
AF:非洲
AS1:亚太一区
AS2:亚太二区
AS3:亚太三区
EU:欧洲
MidEast:中东
NA:北美
SA:南美
# @type Filters: Array
attr_accessor :StartTime, :EndTime, :ZoneIds, :MetricName, :Interval, :Filters
def initialize(starttime=nil, endtime=nil, zoneids=nil, metricname=nil, interval=nil, filters=nil)
@StartTime = starttime
@EndTime = endtime
@ZoneIds = zoneids
@MetricName = metricname
@Interval = interval
@Filters = filters
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@ZoneIds = params['ZoneIds']
@MetricName = params['MetricName']
@Interval = params['Interval']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
billingdatafilter_tmp = BillingDataFilter.new
billingdatafilter_tmp.deserialize(i)
@Filters << billingdatafilter_tmp
end
end
end
end
# DescribeBillingData返回参数结构体
class DescribeBillingDataResponse < TencentCloud::Common::AbstractModel
# @param Data: 数据点列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Data, :RequestId
def initialize(data=nil, requestid=nil)
@Data = data
@RequestId = requestid
end
def deserialize(params)
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
billingdata_tmp = BillingData.new
billingdata_tmp.deserialize(i)
@Data << billingdata_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeConfigGroupVersionDetail请求参数结构体
class DescribeConfigGroupVersionDetailRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param VersionId: 版本 ID。
# @type VersionId: String
attr_accessor :ZoneId, :VersionId
def initialize(zoneid=nil, versionid=nil)
@ZoneId = zoneid
@VersionId = versionid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@VersionId = params['VersionId']
end
end
# DescribeConfigGroupVersionDetail返回参数结构体
class DescribeConfigGroupVersionDetailResponse < TencentCloud::Common::AbstractModel
# @param ConfigGroupVersionInfo: 版本信息。
# @type ConfigGroupVersionInfo: :class:`Tencentcloud::Teo.v20220901.models.ConfigGroupVersionInfo`
# @param Content: 版本文件的内容。以 JSON 格式返回。
# @type Content: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :ConfigGroupVersionInfo, :Content, :RequestId
def initialize(configgroupversioninfo=nil, content=nil, requestid=nil)
@ConfigGroupVersionInfo = configgroupversioninfo
@Content = content
@RequestId = requestid
end
def deserialize(params)
unless params['ConfigGroupVersionInfo'].nil?
@ConfigGroupVersionInfo = ConfigGroupVersionInfo.new
@ConfigGroupVersionInfo.deserialize(params['ConfigGroupVersionInfo'])
end
@Content = params['Content']
@RequestId = params['RequestId']
end
end
# DescribeConfigGroupVersions请求参数结构体
class DescribeConfigGroupVersionsRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param GroupId: 配置组 ID。
# @type GroupId: String
# @param Filters: 过滤条件,Filters.Values 的上限为 20,该参数不填写时,返回所选配置组下的所有版本信息。详细的过滤条件如下:
# version-id:按照版本 ID 进行过滤;
# @type Filters: Array
# @param Offset: 分页查询偏移量。默认值为 0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值为 20,最大值为 100。
# @type Limit: Integer
attr_accessor :ZoneId, :GroupId, :Filters, :Offset, :Limit
def initialize(zoneid=nil, groupid=nil, filters=nil, offset=nil, limit=nil)
@ZoneId = zoneid
@GroupId = groupid
@Filters = filters
@Offset = offset
@Limit = limit
end
def deserialize(params)
@ZoneId = params['ZoneId']
@GroupId = params['GroupId']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
advancedfilter_tmp = AdvancedFilter.new
advancedfilter_tmp.deserialize(i)
@Filters << advancedfilter_tmp
end
end
@Offset = params['Offset']
@Limit = params['Limit']
end
end
# DescribeConfigGroupVersions返回参数结构体
class DescribeConfigGroupVersionsResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 版本总数。
# @type TotalCount: Integer
# @param ConfigGroupVersionInfos: 版本信息列表。
# @type ConfigGroupVersionInfos: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :ConfigGroupVersionInfos, :RequestId
def initialize(totalcount=nil, configgroupversioninfos=nil, requestid=nil)
@TotalCount = totalcount
@ConfigGroupVersionInfos = configgroupversioninfos
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['ConfigGroupVersionInfos'].nil?
@ConfigGroupVersionInfos = []
params['ConfigGroupVersionInfos'].each do |i|
configgroupversioninfo_tmp = ConfigGroupVersionInfo.new
configgroupversioninfo_tmp.deserialize(i)
@ConfigGroupVersionInfos << configgroupversioninfo_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeContentQuota请求参数结构体
class DescribeContentQuotaRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
attr_accessor :ZoneId
def initialize(zoneid=nil)
@ZoneId = zoneid
end
def deserialize(params)
@ZoneId = params['ZoneId']
end
end
# DescribeContentQuota返回参数结构体
class DescribeContentQuotaResponse < TencentCloud::Common::AbstractModel
# @param PurgeQuota: 刷新相关配额。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PurgeQuota: Array
# @param PrefetchQuota: 预热相关配额。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PrefetchQuota: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :PurgeQuota, :PrefetchQuota, :RequestId
def initialize(purgequota=nil, prefetchquota=nil, requestid=nil)
@PurgeQuota = purgequota
@PrefetchQuota = prefetchquota
@RequestId = requestid
end
def deserialize(params)
unless params['PurgeQuota'].nil?
@PurgeQuota = []
params['PurgeQuota'].each do |i|
quota_tmp = Quota.new
quota_tmp.deserialize(i)
@PurgeQuota << quota_tmp
end
end
unless params['PrefetchQuota'].nil?
@PrefetchQuota = []
params['PrefetchQuota'].each do |i|
quota_tmp = Quota.new
quota_tmp.deserialize(i)
@PrefetchQuota << quota_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeCustomErrorPages请求参数结构体
class DescribeCustomErrorPagesRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Filters: 过滤条件,Filters.Values 的上限为20,详细的过滤条件Name值如下:
# page-id: 按照页面 ID 进行过滤;
# name: 按照页面名称进行过滤;
# description:按照页面描述过滤;
# content-type:按照页面类型过滤。
# @type Filters: Array
# @param Offset: 分页查询偏移量。默认值:0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值:20,最大值:1000。
# @type Limit: Integer
attr_accessor :ZoneId, :Filters, :Offset, :Limit
def initialize(zoneid=nil, filters=nil, offset=nil, limit=nil)
@ZoneId = zoneid
@Filters = filters
@Offset = offset
@Limit = limit
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
advancedfilter_tmp = AdvancedFilter.new
advancedfilter_tmp.deserialize(i)
@Filters << advancedfilter_tmp
end
end
@Offset = params['Offset']
@Limit = params['Limit']
end
end
# DescribeCustomErrorPages返回参数结构体
class DescribeCustomErrorPagesResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 自定义错误页面总数。
# @type TotalCount: Integer
# @param ErrorPages: 自定义错误页面数据列表。
# @type ErrorPages: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :ErrorPages, :RequestId
def initialize(totalcount=nil, errorpages=nil, requestid=nil)
@TotalCount = totalcount
@ErrorPages = errorpages
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['ErrorPages'].nil?
@ErrorPages = []
params['ErrorPages'].each do |i|
customerrorpage_tmp = CustomErrorPage.new
customerrorpage_tmp.deserialize(i)
@ErrorPages << customerrorpage_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeDDoSAttackData请求参数结构体
class DescribeDDoSAttackDataRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param MetricNames: 统计指标列表,取值有:
# ddos_attackMaxBandwidth:攻击带宽峰值;
# ddos_attackMaxPackageRate:攻击包速率峰值 ;
# ddos_attackBandwidth:攻击带宽曲线;
# ddos_attackPackageRate:攻击包速率曲线。
# @type MetricNames: Array
# @param ZoneIds: 站点集合,此参数必填。
# @type ZoneIds: Array
# @param PolicyIds: DDoS策略组ID列表,不填默认选择全部策略ID。
# @type PolicyIds: Array
# @param Interval: 查询时间粒度,取值有:
# min:1分钟;
# 5min:5分钟;
# hour:1小时;
# day:1天。不填将根据开始时间与结束时间的间隔自动推算粒度,具体为:1小时范围内以min粒度查询,2天范围内以5min粒度查询,7天范围内以hour粒度查询,超过7天以day粒度查询。
# @type Interval: String
# @param Area: 数据归属地区,取值有:
# overseas:全球(除中国大陆地区)数据;
# mainland:中国大陆地区数据;
# global:全球数据。不填默认取值为global。
# @type Area: String
attr_accessor :StartTime, :EndTime, :MetricNames, :ZoneIds, :PolicyIds, :Interval, :Area
def initialize(starttime=nil, endtime=nil, metricnames=nil, zoneids=nil, policyids=nil, interval=nil, area=nil)
@StartTime = starttime
@EndTime = endtime
@MetricNames = metricnames
@ZoneIds = zoneids
@PolicyIds = policyids
@Interval = interval
@Area = area
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@MetricNames = params['MetricNames']
@ZoneIds = params['ZoneIds']
@PolicyIds = params['PolicyIds']
@Interval = params['Interval']
@Area = params['Area']
end
end
# DescribeDDoSAttackData返回参数结构体
class DescribeDDoSAttackDataResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param Data: DDoS攻击数据内容列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Data, :RequestId
def initialize(totalcount=nil, data=nil, requestid=nil)
@TotalCount = totalcount
@Data = data
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
secentry_tmp = SecEntry.new
secentry_tmp.deserialize(i)
@Data << secentry_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeDDoSAttackEvent请求参数结构体
class DescribeDDoSAttackEventRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间,时间范围为 30 天。
# @type StartTime: String
# @param EndTime: 结束时间,时间范围为 30 天。
# @type EndTime: String
# @param PolicyIds: ddos策略组集合,不填默认选择全部策略。
# @type PolicyIds: Array
# @param ZoneIds: 站点集合,此参数必填。
# @type ZoneIds: Array
# @param Limit: 分页查询的限制数目,默认值为20,最大查询条目为1000。
# @type Limit: Integer
# @param Offset: 分页的偏移量,默认值为0。
# @type Offset: Integer
# @param ShowDetail: 展示攻击详情的参数,若填false,默认只返回攻击次数,不返回攻击详情;若填true,返回攻击详情。
# @type ShowDetail: Boolean
# @param Area: 数据归属地区,取值有:
# overseas:全球(除中国大陆地区)数据;
# mainland:中国大陆地区数据;
# global:全球数据;不填默认取值为global。
# @type Area: String
# @param OrderBy: 排序字段,取值有:
# MaxBandWidth:带宽峰值;
# AttackStartTime:攻击开始时间。不填默认值为:AttackStartTime。
# @type OrderBy: String
# @param OrderType: 排序方式,取值有:
# asc:升序方式;
# desc:降序方式。不填默认值为:desc。
# @type OrderType: String
attr_accessor :StartTime, :EndTime, :PolicyIds, :ZoneIds, :Limit, :Offset, :ShowDetail, :Area, :OrderBy, :OrderType
def initialize(starttime=nil, endtime=nil, policyids=nil, zoneids=nil, limit=nil, offset=nil, showdetail=nil, area=nil, orderby=nil, ordertype=nil)
@StartTime = starttime
@EndTime = endtime
@PolicyIds = policyids
@ZoneIds = zoneids
@Limit = limit
@Offset = offset
@ShowDetail = showdetail
@Area = area
@OrderBy = orderby
@OrderType = ordertype
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@PolicyIds = params['PolicyIds']
@ZoneIds = params['ZoneIds']
@Limit = params['Limit']
@Offset = params['Offset']
@ShowDetail = params['ShowDetail']
@Area = params['Area']
@OrderBy = params['OrderBy']
@OrderType = params['OrderType']
end
end
# DescribeDDoSAttackEvent返回参数结构体
class DescribeDDoSAttackEventResponse < TencentCloud::Common::AbstractModel
# @param Data: DDOS攻击事件数据列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: Array
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Data, :TotalCount, :RequestId
def initialize(data=nil, totalcount=nil, requestid=nil)
@Data = data
@TotalCount = totalcount
@RequestId = requestid
end
def deserialize(params)
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
ddosattackevent_tmp = DDoSAttackEvent.new
ddosattackevent_tmp.deserialize(i)
@Data << ddosattackevent_tmp
end
end
@TotalCount = params['TotalCount']
@RequestId = params['RequestId']
end
end
# DescribeDDoSAttackTopData请求参数结构体
class DescribeDDoSAttackTopDataRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param MetricName: 查询的统计指标,取值有:
# ddos_attackFlux_protocol:按各协议的攻击流量排行;
# ddos_attackPackageNum_protocol:按各协议的攻击包量排行;
# ddos_attackNum_attackType:按各攻击类型的攻击数量排行;
# ddos_attackNum_sregion:按攻击源地区的攻击数量排行;
# ddos_attackFlux_sip:按攻击源IP的攻击数量排行;
# ddos_attackFlux_sregion:按攻击源地区的攻击数量排行。
# @type MetricName: String
# @param ZoneIds: 站点ID集合,此参数必填。
# @type ZoneIds: Array
# @param PolicyIds: DDoS策略组ID集合,不填默认选择全部策略ID。
# @type PolicyIds: Array
# @param AttackType: 攻击类型,取值有:
# flood:洪泛攻击;
# icmpFlood:icmp洪泛攻击;
# all:所有的攻击类型。不填默认为all,表示查询全部攻击类型。
# @type AttackType: String
# @param ProtocolType: 协议类型,取值有:
# tcp:tcp协议;
# udp:udp协议;
# all:所有的协议类型。不填默认为all,表示查询所有协议。
# @type ProtocolType: String
# @param Port: 端口号。
# @type Port: Integer
# @param Limit: 查询前多少个数据,不填默认默认为10, 表示查询前top 10的数据。
# @type Limit: Integer
# @param Area: 数据归属地区,取值有:
# overseas:全球(除中国大陆地区)数据;
# mainland:中国大陆地区数据。不填将根据用户所在地智能选择地区。
# @type Area: String
attr_accessor :StartTime, :EndTime, :MetricName, :ZoneIds, :PolicyIds, :AttackType, :ProtocolType, :Port, :Limit, :Area
def initialize(starttime=nil, endtime=nil, metricname=nil, zoneids=nil, policyids=nil, attacktype=nil, protocoltype=nil, port=nil, limit=nil, area=nil)
@StartTime = starttime
@EndTime = endtime
@MetricName = metricname
@ZoneIds = zoneids
@PolicyIds = policyids
@AttackType = attacktype
@ProtocolType = protocoltype
@Port = port
@Limit = limit
@Area = area
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@MetricName = params['MetricName']
@ZoneIds = params['ZoneIds']
@PolicyIds = params['PolicyIds']
@AttackType = params['AttackType']
@ProtocolType = params['ProtocolType']
@Port = params['Port']
@Limit = params['Limit']
@Area = params['Area']
end
end
# DescribeDDoSAttackTopData返回参数结构体
class DescribeDDoSAttackTopDataResponse < TencentCloud::Common::AbstractModel
# @param Data: DDoS攻击Top数据列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: Array
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Data, :TotalCount, :RequestId
def initialize(data=nil, totalcount=nil, requestid=nil)
@Data = data
@TotalCount = totalcount
@RequestId = requestid
end
def deserialize(params)
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
topentry_tmp = TopEntry.new
topentry_tmp.deserialize(i)
@Data << topentry_tmp
end
end
@TotalCount = params['TotalCount']
@RequestId = params['RequestId']
end
end
# DescribeDefaultCertificates请求参数结构体
class DescribeDefaultCertificatesRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Filters: 过滤条件,Filters.Values的上限为5。详细的过滤条件如下:
# zone-id
按照【站点ID】进行过滤。站点ID形如:zone-xxx。
类型:String
必选:是
# @type Filters: Array
# @param Offset: 分页查询偏移量。默认值:0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值:20,最大值:100。
# @type Limit: Integer
attr_accessor :ZoneId, :Filters, :Offset, :Limit
def initialize(zoneid=nil, filters=nil, offset=nil, limit=nil)
@ZoneId = zoneid
@Filters = filters
@Offset = offset
@Limit = limit
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
@Offset = params['Offset']
@Limit = params['Limit']
end
end
# DescribeDefaultCertificates返回参数结构体
class DescribeDefaultCertificatesResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 证书总数。
# @type TotalCount: Integer
# @param DefaultServerCertInfo: 默认证书列表。
# @type DefaultServerCertInfo: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :DefaultServerCertInfo, :RequestId
def initialize(totalcount=nil, defaultservercertinfo=nil, requestid=nil)
@TotalCount = totalcount
@DefaultServerCertInfo = defaultservercertinfo
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['DefaultServerCertInfo'].nil?
@DefaultServerCertInfo = []
params['DefaultServerCertInfo'].each do |i|
defaultservercertinfo_tmp = DefaultServerCertInfo.new
defaultservercertinfo_tmp.deserialize(i)
@DefaultServerCertInfo << defaultservercertinfo_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeDeployHistory请求参数结构体
class DescribeDeployHistoryRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param EnvId: 环境 ID。
# @type EnvId: String
# @param Filters: 过滤条件,Filters.Values 的上限为 20,详细的过滤条件如下:
# record-id:按照发布记录 ID 进行过滤进行过滤。
# @type Filters: Array
attr_accessor :ZoneId, :EnvId, :Filters
def initialize(zoneid=nil, envid=nil, filters=nil)
@ZoneId = zoneid
@EnvId = envid
@Filters = filters
end
def deserialize(params)
@ZoneId = params['ZoneId']
@EnvId = params['EnvId']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
advancedfilter_tmp = AdvancedFilter.new
advancedfilter_tmp.deserialize(i)
@Filters << advancedfilter_tmp
end
end
end
end
# DescribeDeployHistory返回参数结构体
class DescribeDeployHistoryResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 发布记录总数。
# @type TotalCount: Integer
# @param Records: 发布记录详情。
# @type Records: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Records, :RequestId
def initialize(totalcount=nil, records=nil, requestid=nil)
@TotalCount = totalcount
@Records = records
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Records'].nil?
@Records = []
params['Records'].each do |i|
deployrecord_tmp = DeployRecord.new
deployrecord_tmp.deserialize(i)
@Records << deployrecord_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeEnvironments请求参数结构体
class DescribeEnvironmentsRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
attr_accessor :ZoneId
def initialize(zoneid=nil)
@ZoneId = zoneid
end
def deserialize(params)
@ZoneId = params['ZoneId']
end
end
# DescribeEnvironments返回参数结构体
class DescribeEnvironmentsResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 环境总数。
# @type TotalCount: Integer
# @param EnvInfos: 环境列表。
# @type EnvInfos: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :EnvInfos, :RequestId
def initialize(totalcount=nil, envinfos=nil, requestid=nil)
@TotalCount = totalcount
@EnvInfos = envinfos
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['EnvInfos'].nil?
@EnvInfos = []
params['EnvInfos'].each do |i|
envinfo_tmp = EnvInfo.new
envinfo_tmp.deserialize(i)
@EnvInfos << envinfo_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeHostsSetting请求参数结构体
class DescribeHostsSettingRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param Offset: 分页查询偏移量。默认值: 0,最小值:0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值: 100,最大值:1000。
# @type Limit: Integer
# @param Filters: 过滤条件,Filters.Values的上限为20。详细的过滤条件如下:
# host:按照域名进行过滤。
# @type Filters: Array
attr_accessor :ZoneId, :Offset, :Limit, :Filters
def initialize(zoneid=nil, offset=nil, limit=nil, filters=nil)
@ZoneId = zoneid
@Offset = offset
@Limit = limit
@Filters = filters
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
end
end
# DescribeHostsSetting返回参数结构体
class DescribeHostsSettingResponse < TencentCloud::Common::AbstractModel
# @param DetailHosts: 域名列表。
# @type DetailHosts: Array
# @param TotalNumber: 域名数量。
# @type TotalNumber: Integer
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :DetailHosts, :TotalNumber, :RequestId
def initialize(detailhosts=nil, totalnumber=nil, requestid=nil)
@DetailHosts = detailhosts
@TotalNumber = totalnumber
@RequestId = requestid
end
def deserialize(params)
unless params['DetailHosts'].nil?
@DetailHosts = []
params['DetailHosts'].each do |i|
detailhost_tmp = DetailHost.new
detailhost_tmp.deserialize(i)
@DetailHosts << detailhost_tmp
end
end
@TotalNumber = params['TotalNumber']
@RequestId = params['RequestId']
end
end
# DescribeIPRegion请求参数结构体
class DescribeIPRegionRequest < TencentCloud::Common::AbstractModel
# @param IPs: 待查询的 IP 列表,支持 IPV4 和 IPV6,最大可查询 100 条。
# @type IPs: Array
attr_accessor :IPs
def initialize(ips=nil)
@IPs = ips
end
def deserialize(params)
@IPs = params['IPs']
end
end
# DescribeIPRegion返回参数结构体
class DescribeIPRegionResponse < TencentCloud::Common::AbstractModel
# @param IPRegionInfo: IP 归属信息列表。
# @type IPRegionInfo: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :IPRegionInfo, :RequestId
def initialize(ipregioninfo=nil, requestid=nil)
@IPRegionInfo = ipregioninfo
@RequestId = requestid
end
def deserialize(params)
unless params['IPRegionInfo'].nil?
@IPRegionInfo = []
params['IPRegionInfo'].each do |i|
ipregioninfo_tmp = IPRegionInfo.new
ipregioninfo_tmp.deserialize(i)
@IPRegionInfo << ipregioninfo_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeIdentifications请求参数结构体
class DescribeIdentificationsRequest < TencentCloud::Common::AbstractModel
# @param Filters: 过滤条件,Filters.Values的上限为20。详细的过滤条件如下:
# zone-name:按照站点名称进行过滤。
# @type Filters: Array
# @param Offset: 分页查询偏移量。默认值:0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值:20,最大值:1000。
# @type Limit: Integer
attr_accessor :Filters, :Offset, :Limit
def initialize(filters=nil, offset=nil, limit=nil)
@Filters = filters
@Offset = offset
@Limit = limit
end
def deserialize(params)
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
@Offset = params['Offset']
@Limit = params['Limit']
end
end
# DescribeIdentifications返回参数结构体
class DescribeIdentificationsResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 符合条件的站点个数。
# @type TotalCount: Integer
# @param Identifications: 站点验证信息列表。
# @type Identifications: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Identifications, :RequestId
def initialize(totalcount=nil, identifications=nil, requestid=nil)
@TotalCount = totalcount
@Identifications = identifications
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Identifications'].nil?
@Identifications = []
params['Identifications'].each do |i|
identification_tmp = Identification.new
identification_tmp.deserialize(i)
@Identifications << identification_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeL4Proxy请求参数结构体
class DescribeL4ProxyRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 四层代理实例所属站点的 ID。
# @type ZoneId: String
# @param Offset: 分页查询偏移量,不填写时默认为 0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值:20,最大值:1000。
# @type Limit: Integer
# @param Filters: 过滤条件,Filters.Values 的上限为 20。该参数不填写时,返回当前 zone-id 下所有四层代理实例信息。详细的过滤条件如下:
# proxy-id:按照四层代理实例 ID 进行过滤;
# ddos-protection-type:按照安全防护类型进行过滤。
# @type Filters: Array
attr_accessor :ZoneId, :Offset, :Limit, :Filters
def initialize(zoneid=nil, offset=nil, limit=nil, filters=nil)
@ZoneId = zoneid
@Offset = offset
@Limit = limit
@Filters = filters
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
end
end
# DescribeL4Proxy返回参数结构体
class DescribeL4ProxyResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 四层代理实例的数量。
# @type TotalCount: Integer
# @param L4Proxies: 四层代理实例列表。
# @type L4Proxies: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :L4Proxies, :RequestId
def initialize(totalcount=nil, l4proxies=nil, requestid=nil)
@TotalCount = totalcount
@L4Proxies = l4proxies
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['L4Proxies'].nil?
@L4Proxies = []
params['L4Proxies'].each do |i|
l4proxy_tmp = L4Proxy.new
l4proxy_tmp.deserialize(i)
@L4Proxies << l4proxy_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeL4ProxyRules请求参数结构体
class DescribeL4ProxyRulesRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyId: 四层代理实例 ID。
# @type ProxyId: String
# @param Offset: 分页查询偏移量,不填写时默认为 0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值:20,最大值:1000。
# @type Limit: Integer
# @param Filters: 过滤条件,Filters.Values的上限为20。不填写时返回当前四层实例下所有的规则信息,详细的过滤条件如下:
# rule-tag:按照规则标签对四层代理实例下的规则进行过滤。
# @type Filters: Array
attr_accessor :ZoneId, :ProxyId, :Offset, :Limit, :Filters
def initialize(zoneid=nil, proxyid=nil, offset=nil, limit=nil, filters=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@Offset = offset
@Limit = limit
@Filters = filters
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
end
end
# DescribeL4ProxyRules返回参数结构体
class DescribeL4ProxyRulesResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 转发规则总数。
# @type TotalCount: Integer
# @param L4ProxyRules: 转发规则列表。
# @type L4ProxyRules: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :L4ProxyRules, :RequestId
def initialize(totalcount=nil, l4proxyrules=nil, requestid=nil)
@TotalCount = totalcount
@L4ProxyRules = l4proxyrules
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['L4ProxyRules'].nil?
@L4ProxyRules = []
params['L4ProxyRules'].each do |i|
l4proxyrule_tmp = L4ProxyRule.new
l4proxyrule_tmp.deserialize(i)
@L4ProxyRules << l4proxyrule_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeOriginGroup请求参数结构体
class DescribeOriginGroupRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID,此参数必填。
# @type ZoneId: String
# @param Offset: 分页查询偏移量,不填默认为0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目,不填默认为20,取值:1-1000。
# @type Limit: Integer
# @param Filters: 过滤条件,Filters.Values的上限为20。详细的过滤条件如下:
# origin-group-id
按照【源站组ID】进行过滤。源站组ID形如:origin-2ccgtb24-7dc5-46s2-9r3e-95825d53dwe3a
模糊查询:不支持origin-group-name
按照【源站组名称】进行过滤
模糊查询:支持。使用模糊查询时,仅支持填写一个源站组名称
# @type Filters: Array
attr_accessor :ZoneId, :Offset, :Limit, :Filters
def initialize(zoneid=nil, offset=nil, limit=nil, filters=nil)
@ZoneId = zoneid
@Offset = offset
@Limit = limit
@Filters = filters
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
advancedfilter_tmp = AdvancedFilter.new
advancedfilter_tmp.deserialize(i)
@Filters << advancedfilter_tmp
end
end
end
end
# DescribeOriginGroup返回参数结构体
class DescribeOriginGroupResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 记录总数。
# @type TotalCount: Integer
# @param OriginGroups: 源站组信息。
# @type OriginGroups: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :OriginGroups, :RequestId
def initialize(totalcount=nil, origingroups=nil, requestid=nil)
@TotalCount = totalcount
@OriginGroups = origingroups
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['OriginGroups'].nil?
@OriginGroups = []
params['OriginGroups'].each do |i|
origingroup_tmp = OriginGroup.new
origingroup_tmp.deserialize(i)
@OriginGroups << origingroup_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeOriginProtection请求参数结构体
class DescribeOriginProtectionRequest < TencentCloud::Common::AbstractModel
# @param ZoneIds: 查询的站点ID集合。该参数必填。
# @type ZoneIds: Array
# @param Filters: 过滤条件,Filters.Values的上限为20。详细的过滤条件如下:
# need-update
按照【站点是否需要更新源站防护IP白名单】进行过滤。
类型:String
必选:否
可选项:
true:需要更新
false:无需更新
# plan-support
按照【站点套餐是否支持源站防护】进行过滤。
类型:String
必选:否
可选项:
true:支持
false:不支持
# @type Filters: Array
# @param Offset: 分页查询偏移量,默认为0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值:20,最大值:1000。
# @type Limit: Integer
attr_accessor :ZoneIds, :Filters, :Offset, :Limit
def initialize(zoneids=nil, filters=nil, offset=nil, limit=nil)
@ZoneIds = zoneids
@Filters = filters
@Offset = offset
@Limit = limit
end
def deserialize(params)
@ZoneIds = params['ZoneIds']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
@Offset = params['Offset']
@Limit = params['Limit']
end
end
# DescribeOriginProtection返回参数结构体
class DescribeOriginProtectionResponse < TencentCloud::Common::AbstractModel
# @param OriginProtectionInfo: 源站防护信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OriginProtectionInfo: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :OriginProtectionInfo, :RequestId
def initialize(originprotectioninfo=nil, requestid=nil)
@OriginProtectionInfo = originprotectioninfo
@RequestId = requestid
end
def deserialize(params)
unless params['OriginProtectionInfo'].nil?
@OriginProtectionInfo = []
params['OriginProtectionInfo'].each do |i|
originprotectioninfo_tmp = OriginProtectionInfo.new
originprotectioninfo_tmp.deserialize(i)
@OriginProtectionInfo << originprotectioninfo_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeOverviewL7Data请求参数结构体
class DescribeOverviewL7DataRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param MetricNames: 查询的指标,取值有:
# l7Flow_outFlux: Edegone响应流量;
# l7Flow_inFlux: Edgeone请求流量;
# l7Flow_outBandwidth: Edegone响应带宽;
# l7Flow_inBandwidth: Edegone请求带宽;
# l7Flow_hit_outFlux: 缓存命中流量;
# l7Flow_request: 访问请求数;
# l7Flow_flux: 访问请求上行+下行流量;
# l7Flow_bandwidth:访问请求上行+下行带宽。
# @type MetricNames: Array
# @param ZoneIds: 站点 ID 集合,此参数必填。
# @type ZoneIds: Array
# @param Domains: 查询的域名集合,此参数已经废弃。
# @type Domains: Array
# @param Protocol: 查询的协议类型,取值有:
# http: http协议;
# https: https协议;
# http2: http2协议;
# all: 所有协议。不填默认为all,此参数暂未生效。
# @type Protocol: String
# @param Interval: 查询时间粒度,取值有:
# min:1分钟;
# 5min:5分钟;
# hour:1小时;
# day:1天。不填将根据开始时间跟结束时间的间距自动推算粒度,具体为:1小时范围内以min粒度查询,2天范围内以5min粒度查询,7天范围内以hour粒度查询,超过7天以day粒度查询。
# @type Interval: String
# @param Filters: 过滤条件,详细的过滤条件Key值如下:
# socket
按照【HTTP协议类型】进行过滤。
对应的Value可选项如下:
HTTP:HTTP 协议;
HTTPS:HTTPS协议;
QUIC:QUIC协议。
# domain
按照【域名】进行过滤。
# tagKey
按照【标签Key】进行过滤。
# tagValue
按照【标签Value】进行过滤。
# @type Filters: Array
# @param Area: 数据归属地区,取值有:
# overseas:全球(除中国大陆地区)数据;
# mainland:中国大陆地区数据;
# global:全球数据。不填默认取值为global。
# @type Area: String
attr_accessor :StartTime, :EndTime, :MetricNames, :ZoneIds, :Domains, :Protocol, :Interval, :Filters, :Area
def initialize(starttime=nil, endtime=nil, metricnames=nil, zoneids=nil, domains=nil, protocol=nil, interval=nil, filters=nil, area=nil)
@StartTime = starttime
@EndTime = endtime
@MetricNames = metricnames
@ZoneIds = zoneids
@Domains = domains
@Protocol = protocol
@Interval = interval
@Filters = filters
@Area = area
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@MetricNames = params['MetricNames']
@ZoneIds = params['ZoneIds']
@Domains = params['Domains']
@Protocol = params['Protocol']
@Interval = params['Interval']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
querycondition_tmp = QueryCondition.new
querycondition_tmp.deserialize(i)
@Filters << querycondition_tmp
end
end
@Area = params['Area']
end
end
# DescribeOverviewL7Data返回参数结构体
class DescribeOverviewL7DataResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param Data: 七层监控类时序流量数据列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Data, :RequestId
def initialize(totalcount=nil, data=nil, requestid=nil)
@TotalCount = totalcount
@Data = data
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
timingdatarecord_tmp = TimingDataRecord.new
timingdatarecord_tmp.deserialize(i)
@Data << timingdatarecord_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribePrefetchTasks请求参数结构体
class DescribePrefetchTasksRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。该参数必填。
# @type ZoneId: String
# @param StartTime: 查询起始时间,时间与 job-id 必填一个。
# @type StartTime: String
# @param EndTime: 查询结束时间,时间与 job-id 必填一个。
# @type EndTime: String
# @param Offset: 分页查询偏移量,默认为 0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目,默认值:20,上限:1000。
# @type Limit: Integer
# @param Filters: 过滤条件,Filters.Values 的上限为 20。详细的过滤条件如下:job-id:按照任务 ID 进行过滤。job-id 形如:1379afjk91u32h,暂不支持多值,不支持模糊查询;target:按照目标资源信息进行过滤。target 形如:http://www.qq.com/1.txt,暂不支持多值,不支持模糊查询;domains:按照域名行过滤。domains 形如:www.qq.com,不支持模糊查询;statuses:按照任务状态进行过滤,不支持模糊查询。可选项:
processing:处理中
success:成功
failed:失败
timeout:超时
invalid:无效。即源站响应非 2xx 状态码,请检查源站服务。
# @type Filters: Array
attr_accessor :ZoneId, :StartTime, :EndTime, :Offset, :Limit, :Filters
def initialize(zoneid=nil, starttime=nil, endtime=nil, offset=nil, limit=nil, filters=nil)
@ZoneId = zoneid
@StartTime = starttime
@EndTime = endtime
@Offset = offset
@Limit = limit
@Filters = filters
end
def deserialize(params)
@ZoneId = params['ZoneId']
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
advancedfilter_tmp = AdvancedFilter.new
advancedfilter_tmp.deserialize(i)
@Filters << advancedfilter_tmp
end
end
end
end
# DescribePrefetchTasks返回参数结构体
class DescribePrefetchTasksResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 该查询条件总共条目数。
# @type TotalCount: Integer
# @param Tasks: 任务结果列表。
# @type Tasks: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Tasks, :RequestId
def initialize(totalcount=nil, tasks=nil, requestid=nil)
@TotalCount = totalcount
@Tasks = tasks
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Tasks'].nil?
@Tasks = []
params['Tasks'].each do |i|
task_tmp = Task.new
task_tmp.deserialize(i)
@Tasks << task_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribePurgeTasks请求参数结构体
class DescribePurgeTasksRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。该参数必填。
# @type ZoneId: String
# @param StartTime: 查询起始时间,时间与 job-id 必填一个。
# @type StartTime: String
# @param EndTime: 查询结束时间,时间与 job-id 必填一个。
# @type EndTime: String
# @param Offset: 分页查询偏移量,默认为 0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目,默认值:20,最大值:1000。
# @type Limit: Integer
# @param Filters: 过滤条件,Filters.Values的上限为20。详细的过滤条件如下:
# job-id:按照任务 ID 进行过滤。job-id 形如:1379afjk91u32h,暂不支持多值,不支持模糊查询;
# target:按照目标资源信息进行过滤,target 形如:http://www.qq.com/1.txt 或者 tag1,暂不支持多值,支持模糊查询;
# domains:按照域名进行过滤,形如:www.qq.com,不支持模糊查询;
# statuses:按照任务状态进行过滤,不支持模糊查询。可选项:
processing:处理中
success:成功
failed:失败
timeout:超时
# type:按照清除缓存类型进行过滤,暂不支持多值,不支持模糊查询。可选项:
purge_url:URL
purge_prefix:前缀
purge_all:全部缓存内容
purge_host:Hostname
purge_cache_tag:CacheTag
# @type Filters: Array
attr_accessor :ZoneId, :StartTime, :EndTime, :Offset, :Limit, :Filters
def initialize(zoneid=nil, starttime=nil, endtime=nil, offset=nil, limit=nil, filters=nil)
@ZoneId = zoneid
@StartTime = starttime
@EndTime = endtime
@Offset = offset
@Limit = limit
@Filters = filters
end
def deserialize(params)
@ZoneId = params['ZoneId']
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
advancedfilter_tmp = AdvancedFilter.new
advancedfilter_tmp.deserialize(i)
@Filters << advancedfilter_tmp
end
end
end
end
# DescribePurgeTasks返回参数结构体
class DescribePurgeTasksResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 该查询条件总共条目数。
# @type TotalCount: Integer
# @param Tasks: 任务结果列表。
# @type Tasks: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Tasks, :RequestId
def initialize(totalcount=nil, tasks=nil, requestid=nil)
@TotalCount = totalcount
@Tasks = tasks
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Tasks'].nil?
@Tasks = []
params['Tasks'].each do |i|
task_tmp = Task.new
task_tmp.deserialize(i)
@Tasks << task_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeRealtimeLogDeliveryTasks请求参数结构体
class DescribeRealtimeLogDeliveryTasksRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Offset: 分页查询偏移量。默认值:0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值:20,最大值:1000。
# @type Limit: Integer
# @param Filters: 过滤条件,Filters.Values 的上限为 20。该参数不填写时,返回当前 zone-id 下所有实时日志投递任务信息。详细的过滤条件如下:
# task-id:按照实时日志投递任务 ID进行过滤。不支持模糊查询。
# task-name:按照实时日志投递任务名称进行过滤。支持模糊查询,使用模糊查询时,仅支持填写一个实时日志投递任务名称。
# entity-list:按照实时日志投递任务对应的实体进行过滤。不支持模糊查询。示例值:domain.example.com 或者 sid-2s69eb5wcms7。
# task-type:按照实时日志投递任务类型进行过滤。不支持模糊查询。可选项如下:
cls: 推送到腾讯云 CLS;
custom_endpoint:推送到自定义 HTTP(S) 地址;
s3:推送到 AWS S3 兼容存储桶地址。
# @type Filters: Array
attr_accessor :ZoneId, :Offset, :Limit, :Filters
def initialize(zoneid=nil, offset=nil, limit=nil, filters=nil)
@ZoneId = zoneid
@Offset = offset
@Limit = limit
@Filters = filters
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
advancedfilter_tmp = AdvancedFilter.new
advancedfilter_tmp.deserialize(i)
@Filters << advancedfilter_tmp
end
end
end
end
# DescribeRealtimeLogDeliveryTasks返回参数结构体
class DescribeRealtimeLogDeliveryTasksResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 符合查询条件的实时日志投递任务个数。
# @type TotalCount: Integer
# @param RealtimeLogDeliveryTasks: 符合查询条件的所有实时日志投递任务列表。
# @type RealtimeLogDeliveryTasks: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :RealtimeLogDeliveryTasks, :RequestId
def initialize(totalcount=nil, realtimelogdeliverytasks=nil, requestid=nil)
@TotalCount = totalcount
@RealtimeLogDeliveryTasks = realtimelogdeliverytasks
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['RealtimeLogDeliveryTasks'].nil?
@RealtimeLogDeliveryTasks = []
params['RealtimeLogDeliveryTasks'].each do |i|
realtimelogdeliverytask_tmp = RealtimeLogDeliveryTask.new
realtimelogdeliverytask_tmp.deserialize(i)
@RealtimeLogDeliveryTasks << realtimelogdeliverytask_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeRules请求参数结构体
class DescribeRulesRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Filters: 过滤条件,Filters.Values的上限为20。详细的过滤条件如下:
# rule-id
按照【规则ID】进行过滤。
类型:string
必选:否
# @type Filters: Array
attr_accessor :ZoneId, :Filters
def initialize(zoneid=nil, filters=nil)
@ZoneId = zoneid
@Filters = filters
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
end
end
# DescribeRules返回参数结构体
class DescribeRulesResponse < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param RuleItems: 规则列表,按规则执行顺序从先往后排序。
# @type RuleItems: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :ZoneId, :RuleItems, :RequestId
def initialize(zoneid=nil, ruleitems=nil, requestid=nil)
@ZoneId = zoneid
@RuleItems = ruleitems
@RequestId = requestid
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['RuleItems'].nil?
@RuleItems = []
params['RuleItems'].each do |i|
ruleitem_tmp = RuleItem.new
ruleitem_tmp.deserialize(i)
@RuleItems << ruleitem_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeRulesSetting请求参数结构体
class DescribeRulesSettingRequest < TencentCloud::Common::AbstractModel
def initialize()
end
def deserialize(params)
end
end
# DescribeRulesSetting返回参数结构体
class DescribeRulesSettingResponse < TencentCloud::Common::AbstractModel
# @param Actions: 规则引擎可应用匹配请求的设置列表及其详细建议配置信息。
# @type Actions: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Actions, :RequestId
def initialize(actions=nil, requestid=nil)
@Actions = actions
@RequestId = requestid
end
def deserialize(params)
unless params['Actions'].nil?
@Actions = []
params['Actions'].each do |i|
rulessettingaction_tmp = RulesSettingAction.new
rulessettingaction_tmp.deserialize(i)
@Actions << rulessettingaction_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeSecurityIPGroupInfo请求参数结构体
class DescribeSecurityIPGroupInfoRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点的 ID ,用于指定查询的站点范围。
# @type ZoneId: String
# @param Limit: 单次返回的最大条目数。默认值为 20 ,最大查询条目为 1000 。
# @type Limit: Integer
# @param Offset: 分页查询的起始条目偏移量。默认值为 0 。
# @type Offset: Integer
attr_accessor :ZoneId, :Limit, :Offset
def initialize(zoneid=nil, limit=nil, offset=nil)
@ZoneId = zoneid
@Limit = limit
@Offset = offset
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Limit = params['Limit']
@Offset = params['Offset']
end
end
# DescribeSecurityIPGroupInfo返回参数结构体
class DescribeSecurityIPGroupInfoResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 返回的满足条件的 IP 组数量。
# @type TotalCount: Integer
# @param IPGroups: IP 组的详细配置信息。包含每个 IP 组的 ID 、名称和 IP /网段列表信息。
# @type IPGroups: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :IPGroups, :RequestId
def initialize(totalcount=nil, ipgroups=nil, requestid=nil)
@TotalCount = totalcount
@IPGroups = ipgroups
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['IPGroups'].nil?
@IPGroups = []
params['IPGroups'].each do |i|
ipgroup_tmp = IPGroup.new
ipgroup_tmp.deserialize(i)
@IPGroups << ipgroup_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeSecurityIPGroup请求参数结构体
class DescribeSecurityIPGroupRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID ,用于指定查询的站点范围。
# @type ZoneId: String
# @param GroupIds: 指定安全 IP 组 ID。
# 提供该参数时,仅查询指定 ID 的安全 IP 组配置;
# 不传递参数时,返回站点下所有安全 IP 组信息。
# @type GroupIds: Array
attr_accessor :ZoneId, :GroupIds
def initialize(zoneid=nil, groupids=nil)
@ZoneId = zoneid
@GroupIds = groupids
end
def deserialize(params)
@ZoneId = params['ZoneId']
@GroupIds = params['GroupIds']
end
end
# DescribeSecurityIPGroup返回参数结构体
class DescribeSecurityIPGroupResponse < TencentCloud::Common::AbstractModel
# @param IPGroups: 安全 IP 组的详细配置信息。包含每个安全 IP 组的 ID 、名称和 IP / 网段列表信息。
# @type IPGroups: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :IPGroups, :RequestId
def initialize(ipgroups=nil, requestid=nil)
@IPGroups = ipgroups
@RequestId = requestid
end
def deserialize(params)
unless params['IPGroups'].nil?
@IPGroups = []
params['IPGroups'].each do |i|
ipgroup_tmp = IPGroup.new
ipgroup_tmp.deserialize(i)
@IPGroups << ipgroup_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeSecurityTemplateBindings请求参数结构体
class DescribeSecurityTemplateBindingsRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 要查询的站点 ID。
# @type ZoneId: String
# @param TemplateId: 要查询的策略模板 ID。
# @type TemplateId: Array
attr_accessor :ZoneId, :TemplateId
def initialize(zoneid=nil, templateid=nil)
@ZoneId = zoneid
@TemplateId = templateid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@TemplateId = params['TemplateId']
end
end
# DescribeSecurityTemplateBindings返回参数结构体
class DescribeSecurityTemplateBindingsResponse < TencentCloud::Common::AbstractModel
# @param SecurityTemplate: 指定策略模板的绑定关系列表。
# 当某个站点中的域名包含在指定策略模板的绑定关系中时,绑定关系列表 `TemplateScope` 中会包含该站点的 `ZoneId`,和该站点下的和该策略模板有关的域名绑定关系。
# 注意:当没有任何域名正在绑定或已经绑定到指定策略模板时,绑定关系为空。即:返回结构体中,`TemplateScope` 数组长度为 0。
# 绑定关系中,同一域名可能在 `EntityStatus` 列表中重复出现,并标记为不同 `Status` 。例如,正在被绑定到其他策略模板的域名,会同时标记为 `online` 和 `pending` 。
# @type SecurityTemplate: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :SecurityTemplate, :RequestId
def initialize(securitytemplate=nil, requestid=nil)
@SecurityTemplate = securitytemplate
@RequestId = requestid
end
def deserialize(params)
unless params['SecurityTemplate'].nil?
@SecurityTemplate = []
params['SecurityTemplate'].each do |i|
securitytemplatebinding_tmp = SecurityTemplateBinding.new
securitytemplatebinding_tmp.deserialize(i)
@SecurityTemplate << securitytemplatebinding_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeTimingL4Data请求参数结构体
class DescribeTimingL4DataRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param MetricNames: 查询指标,取值有:
# l4Flow_connections: 访问连接数;
# l4Flow_flux: 访问总流量;
# l4Flow_inFlux: 访问入流量;
# l4Flow_outFlux: 访问出流量。
# @type MetricNames: Array
# @param ZoneIds: 站点 ID 集合,此参数必填。
# @type ZoneIds: Array
# @param ProxyIds: 四层实例列表, 不填表示选择全部实例。
# @type ProxyIds: Array
# @param Interval: 查询时间粒度,取值有:
# min: 1分钟 ;
# 5min: 5分钟 ;
# hour: 1小时 ;
# day: 1天 。不填将根据开始时间跟结束时间的间距自动推算粒度,具体为:1小时范围内以min粒度查询,2天范围内以5min粒度查询,7天范围内以hour粒度查询,超过7天以day粒度查询。
# @type Interval: String
# @param Filters: 过滤条件,详细的过滤条件Key值如下:
# ruleId:按照转发规则 ID 进行过滤。
# proxyId:按照四层代理实例 ID 进行过滤。
# @type Filters: Array
# @param Area: 数据归属地区,取值有:
# overseas:全球(除中国大陆地区)数据;
# mainland:中国大陆地区数据;
# global:全球数据。不填默认取值为global。
# @type Area: String
attr_accessor :StartTime, :EndTime, :MetricNames, :ZoneIds, :ProxyIds, :Interval, :Filters, :Area
def initialize(starttime=nil, endtime=nil, metricnames=nil, zoneids=nil, proxyids=nil, interval=nil, filters=nil, area=nil)
@StartTime = starttime
@EndTime = endtime
@MetricNames = metricnames
@ZoneIds = zoneids
@ProxyIds = proxyids
@Interval = interval
@Filters = filters
@Area = area
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@MetricNames = params['MetricNames']
@ZoneIds = params['ZoneIds']
@ProxyIds = params['ProxyIds']
@Interval = params['Interval']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
querycondition_tmp = QueryCondition.new
querycondition_tmp.deserialize(i)
@Filters << querycondition_tmp
end
end
@Area = params['Area']
end
end
# DescribeTimingL4Data返回参数结构体
class DescribeTimingL4DataResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param Data: 四层时序流量数据列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Data, :RequestId
def initialize(totalcount=nil, data=nil, requestid=nil)
@TotalCount = totalcount
@Data = data
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
timingdatarecord_tmp = TimingDataRecord.new
timingdatarecord_tmp.deserialize(i)
@Data << timingdatarecord_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeTimingL7AnalysisData请求参数结构体
class DescribeTimingL7AnalysisDataRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param MetricNames: 指标列表,取值有:
# l7Flow_outFlux: Edgeone 响应流量;
# l7Flow_inFlux: Edgeone 请求流量;
# l7Flow_outBandwidth: Edgeone 响应带宽;
# l7Flow_inBandwidth:Edgeone 请求带宽;
# l7Flow_request: 访问请求数;
# l7Flow_flux: 访问请求上行+下行流量;
# l7Flow_bandwidth:访问请求上行+下行带宽。
# @type MetricNames: Array
# @param ZoneIds: 站点 ID 集合, 此参数必填。
# @type ZoneIds: Array
# @param Interval: 查询时间粒度,取值有:
# min: 1分钟;
# 5min: 5分钟;
# hour: 1小时;
# day: 1天。不填将根据开始时间跟结束时间的间距自动推算粒度,具体为:1小时范围内以min粒度查询,2天范围内以5min粒度查询,7天范围内以hour粒度查询,超过7天以day粒度查询。
# @type Interval: String
# @param Filters: 过滤条件,详细的过滤条件Key值如下:
# country
按照【国家/地区】进行过滤,国家/地区遵循 ISO 3166 规范。
# province
按照【省份】进行过滤,此参数只支持服务区域为中国大陆。
# isp
按照【运营商】进行过滤,此参数只支持服务区域为中国大陆。
对应的Value可选项如下:
2:中国电信;
26:中国联通;
1046:中国移动;
3947:中国铁通;
38:教育网;
43:长城宽带;
0:其他运营商。
# domain
按照【子域名】进行过滤,子域名形如: test.example.com。
# url
按照【URL Path】进行过滤,URL Path形如:/content或/content/test.jpg。
若只填写url参数,则最多可查询近30天的数据;
若同时填写url+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
# referer
按照【Referer头信息】进行过滤, Referer形如:example.com。
若只填写referer参数,则最多可查询近30天的数据;
若同时填写referer+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
# resourceType
按照【资源类型】进行过滤,资源类型一般是文件后缀,形如: .jpg, .css。
若只填写resourceType参数,则最多可查询近30天的数据;
若同时填写resourceType+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
# protocol
按照【HTTP协议版本】进行过滤。
对应的Value可选项如下:
HTTP/1.0:HTTP 1.0;
HTTP/1.1:HTTP 1.1;
HTTP/2.0:HTTP 2.0;
HTTP/3.0:HTTP 3.0;
WebSocket:WebSocket。
# socket
按照【HTTP协议类型】进行过滤。
对应的Value可选项如下:
HTTP:HTTP 协议;
HTTPS:HTTPS协议;
QUIC:QUIC协议。
# statusCode
按照【状态码】进行过滤。
若只填写statusCode参数,则最多可查询近30天的数据;
若同时填写statusCode+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
对应的Value可选项如下:
1XX:1xx类型的状态码;
100:100状态码;
101:101状态码;
102:102状态码;
2XX:2xx类型的状态码;
200:200状态码;
201:201状态码;
202:202状态码;
203:203状态码;
204:204状态码;
205:205状态码;
206:206状态码;
207:207状态码;
3XX:3xx类型的状态码;
300:300状态码;
301:301状态码;
302:302状态码;
303:303状态码;
304:304状态码;
305:305状态码;
307:307状态码;
4XX:4xx类型的状态码;
400:400状态码;
401:401状态码;
402:402状态码;
403:403状态码;
404:404状态码;
405:405状态码;
406:406状态码;
407:407状态码;
408:408状态码;
409:409状态码;
410:410状态码;
411:411状态码;
412:412状态码;
412:413状态码;
414:414状态码;
415:415状态码;
416:416状态码;
417:417状态码;
422:422状态码;
423:423状态码;
424:424状态码;
426:426状态码;
451:451状态码;
5XX:5xx类型的状态码;
500:500状态码;
501:501状态码;
502:502状态码;
503:503状态码;
504:504状态码;
505:505状态码;
506:506状态码;
507:507状态码;
510:510状态码;
514:514状态码;
544:544状态码。
# browserType
按照【浏览器类型】进行过滤。
若只填写browserType参数,则最多可查询近30天的数据;
若同时填写browserType+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
对应Value的可选项如下:
Firefox:Firefox浏览器;
Chrome:Chrome浏览器;
Safari:Safari浏览器;
Other:其他浏览器类型;
Empty:浏览器类型为空;
Bot:搜索引擎爬虫;
MicrosoftEdge:MicrosoftEdge浏览器;
IE:IE浏览器;
Opera:Opera浏览器;
QQBrowser:QQ浏览器;
LBBrowser:LB浏览器;
MaxthonBrowser:Maxthon浏览器;
SouGouBrowser:搜狗浏览器;
BIDUBrowser:百度浏览器;
TaoBrowser:淘浏览器;
UBrowser:UC浏览器。
# deviceType
按照【设备类型】进行过滤。
若只填写deviceType参数,则最多可查询近30天的数据;
若同时填写deviceType+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
对应Value的可选项如下:
TV:TV设备;
Tablet:Tablet设备;
Mobile:Mobile设备;
Desktop:Desktop设备;
Other:其他设备类型;
Empty:设备类型为空。
# operatingSystemType
按照【操作系统类型】进行过滤。
若只填写operatingSystemType参数,则最多可查询近30天的数据;
若同时填写operatingSystemType+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
对应Value的可选项如下:
Linux:Linux操作系统;
MacOS:MacOs操作系统;
Android:Android操作系统;
IOS:IOS操作系统;
Windows:Windows操作系统;
NetBSD:NetBSD;
ChromiumOS:ChromiumOS;
Bot:搜索引擎爬虫;
Other:其他类型的操作系统;
Empty:操作系统为空。
# tlsVersion
按照【TLS版本】进行过滤。
若只填写tlsVersion参数,则最多可查询近30天的数据;
若同时填写tlsVersion+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
对应Value的可选项如下:
TLS1.0:TLS 1.0;
TLS1.1:TLS 1.1;
TLS1.2:TLS 1.2;
TLS1.3:TLS 1.3。
# ipVersion
按照【IP版本】进行过滤。
对应Value的可选项如下:
4:Ipv4;
6:Ipv6。
# tagKey
按照【标签Key】进行过滤。
# tagValue
按照【标签Value】进行过滤。
# @type Filters: Array
# @param Area: 数据归属地区,取值有:
# overseas:全球(除中国大陆地区)数据;
# mainland:中国大陆地区数据;
# global:全球数据。不填默认取值为global。
# @type Area: String
attr_accessor :StartTime, :EndTime, :MetricNames, :ZoneIds, :Interval, :Filters, :Area
def initialize(starttime=nil, endtime=nil, metricnames=nil, zoneids=nil, interval=nil, filters=nil, area=nil)
@StartTime = starttime
@EndTime = endtime
@MetricNames = metricnames
@ZoneIds = zoneids
@Interval = interval
@Filters = filters
@Area = area
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@MetricNames = params['MetricNames']
@ZoneIds = params['ZoneIds']
@Interval = params['Interval']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
querycondition_tmp = QueryCondition.new
querycondition_tmp.deserialize(i)
@Filters << querycondition_tmp
end
end
@Area = params['Area']
end
end
# DescribeTimingL7AnalysisData返回参数结构体
class DescribeTimingL7AnalysisDataResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param Data: 时序流量数据列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Data, :RequestId
def initialize(totalcount=nil, data=nil, requestid=nil)
@TotalCount = totalcount
@Data = data
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
timingdatarecord_tmp = TimingDataRecord.new
timingdatarecord_tmp.deserialize(i)
@Data << timingdatarecord_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeTimingL7CacheData请求参数结构体
class DescribeTimingL7CacheDataRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param MetricNames: 查询的指标,取值有:
# l7Cache_outFlux:响应流量;
# l7Cache_request:响应请求数;
# l7Cache_outBandwidth:响应带宽。
# @type MetricNames: Array
# @param ZoneIds: 站点 ID 集合,此参数必填。
# @type ZoneIds: Array
# @param Filters: 过滤条件,详细的过滤条件如下:
# domain
按照【子域名】进行过滤,子域名形如: test.example.com。
类型:String
必选:否
# url
按照【URL】进行过滤,此参数只支持30天的时间范围,URL形如:/content。
类型:String
必选:否
# resourceType
按照【资源类型】进行过滤,此参数只支持30天的时间范围,资源类型形如:jpg,png。
类型:String
必选:否
# cacheType
按照【缓存类型】进行过滤。
类型:String
必选:否
可选项:
hit:命中缓存;
dynamic:资源不可缓存;
miss:未命中缓存。
# statusCode
按照【状态码】进行过滤,此参数只支持30天的时间范围。
类型:String
必选:否
可选项:
1XX:1xx类型的状态码;
100:100状态码;
101:101状态码;
102:102状态码;
2XX:2xx类型的状态码;
200:200状态码;
201:201状态码;
202:202状态码;
203:203状态码;
204:204状态码;
100:100状态码;
206:206状态码;
207:207状态码;
3XX:3xx类型的状态码;
300:300状态码;
301:301状态码;
302:302状态码;
303:303状态码;
304:304状态码;
305:305状态码;
307:307状态码;
4XX:4xx类型的状态码;
400:400状态码;
401:401状态码;
402:402状态码;
403:403状态码;
404:404状态码;
405:405状态码;
406:406状态码;
407:407状态码;
408:408状态码;
409:409状态码;
410:410状态码;
411:411状态码;
412:412状态码;
412:413状态码;
414:414状态码;
415:415状态码;
416:416状态码;
417:417状态码;
422:422状态码;
423:423状态码;
424:424状态码;
426:426状态码;
451:451状态码;
5XX:5xx类型的状态码;
500:500状态码;
501:501状态码;
502:502状态码;
503:503状态码;
504:504状态码;
505:505状态码;
506:506状态码;
507:507状态码;
510:510状态码;
514:514状态码;
544:544状态码。
# tagKey
按照【标签Key】进行过滤。
类型:String
必选:否
# tagValue
按照【标签Value】进行过滤。
类型:String
必选:否
# @type Filters: Array
# @param Interval: 查询时间粒度,可选的值有:
# min:1分钟的时间粒度;
# 5min:5分钟的时间粒度;
# hour:1小时的时间粒度;
# day:1天的时间粒度。不填将根据开始时间跟结束时间的间距自动推算粒度,具体为:一小时范围内以min粒度查询,两天范围内以5min粒度查询,七天范围内以hour粒度查询,超过七天以day粒度查询。
# @type Interval: String
# @param Area: 数据归属地区,取值有:
# overseas:全球(除中国大陆地区)数据;
# mainland:中国大陆地区数据;
# global:全球数据。不填默认取值为global。
# @type Area: String
attr_accessor :StartTime, :EndTime, :MetricNames, :ZoneIds, :Filters, :Interval, :Area
def initialize(starttime=nil, endtime=nil, metricnames=nil, zoneids=nil, filters=nil, interval=nil, area=nil)
@StartTime = starttime
@EndTime = endtime
@MetricNames = metricnames
@ZoneIds = zoneids
@Filters = filters
@Interval = interval
@Area = area
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@MetricNames = params['MetricNames']
@ZoneIds = params['ZoneIds']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
querycondition_tmp = QueryCondition.new
querycondition_tmp.deserialize(i)
@Filters << querycondition_tmp
end
end
@Interval = params['Interval']
@Area = params['Area']
end
end
# DescribeTimingL7CacheData返回参数结构体
class DescribeTimingL7CacheDataResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param Data: 七层缓存分析时序类流量数据列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Data, :RequestId
def initialize(totalcount=nil, data=nil, requestid=nil)
@TotalCount = totalcount
@Data = data
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
timingdatarecord_tmp = TimingDataRecord.new
timingdatarecord_tmp.deserialize(i)
@Data << timingdatarecord_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeTopL7AnalysisData请求参数结构体
class DescribeTopL7AnalysisDataRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param MetricName: 查询的指标,取值有:
# l7Flow_outFlux_country:按国家/地区维度统计流量指标;
# l7Flow_outFlux_statusCode:按状态码维度统计流量指标;
# l7Flow_outFlux_domain:按域名维度统计流量指标;
# l7Flow_outFlux_url:按URL维度统计流量指标;
# l7Flow_outFlux_resourceType:按资源类型维度统计流量指标;
# l7Flow_outFlux_sip:按客户端的源IP维度统计流量指标;
# l7Flow_outFlux_referers:按refer信息维度统计流量指标;
# l7Flow_outFlux_ua_device:按设备类型维度统计流量指标;
# l7Flow_outFlux_ua_browser:按浏览器类型维度统计流量指标;
# l7Flow_outFlux_us_os:按操作系统类型维度统计流量指标;
# l7Flow_request_country:按国家/地区维度统计请求数指标;
# l7Flow_request_statusCode:按状态码维度统计请求数指标;
# l7Flow_request_domain:按域名维度统计请求数指标;
# l7Flow_request_url:按URL维度统计请求数指标;
# l7Flow_request_resourceType:按资源类型维度统计请求数指标;
# l7Flow_request_sip:按客户端的源IP维度统计请求数指标;
# l7Flow_request_referer:按refer信息维度统计请求数指标;
# l7Flow_request_ua_device:按设备类型维度统计请求数指标;
# l7Flow_request_ua_browser:按浏览器类型维度统计请求数指标;
# l7Flow_request_us_os:按操作系统类型维度统计请求数指标。
# @type MetricName: String
# @param ZoneIds: 站点 ID 集合,此参数必填。
# @type ZoneIds: Array
# @param Limit: 查询前多少个数据,最大值为1000,不填默认为10, 表示查询前top10的数据。
# @type Limit: Integer
# @param Filters: 过滤条件,详细的过滤条件Key值如下:
# country
按照【国家/地区】进行过滤,国家/地区遵循 ISO 3166 规范。
# province
按照【省份】进行过滤,此参数只支持服务区域为中国大陆。
# isp
按照【运营商】进行过滤,此参数只支持服务区域为中国大陆。
对应的Value可选项如下:
2:中国电信;
26:中国联通;
1046:中国移动;
3947:中国铁通;
38:教育网;
43:长城宽带;
0:其他运营商。
# domain
按照【子域名】进行过滤,子域名形如: test.example.com。
# url
按照【URL Path】进行过滤,URL Path形如:/content或/content/test.jpg。
若只填写url参数,则最多可查询近30天的数据;
若同时填写url+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
# referer
按照【Referer头信息】进行过滤, Referer形如:example.com。
若只填写referer参数,则最多可查询近30天的数据;
若同时填写referer+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
# resourceType
按照【资源类型】进行过滤,资源类型一般是文件后缀,形如: .jpg, .css。
若只填写resourceType参数,则最多可查询近30天的数据;
若同时填写resourceType+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
# protocol
按照【HTTP协议版本】进行过滤。
对应的Value可选项如下:
HTTP/1.0:HTTP 1.0;
HTTP/1.1:HTTP 1.1;
HTTP/2.0:HTTP 2.0;
HTTP/3.0:HTTP 3.0;
WebSocket:WebSocket。
# socket
按照【HTTP协议类型】进行过滤。
对应的Value可选项如下:
HTTP:HTTP 协议;
HTTPS:HTTPS协议;
QUIC:QUIC协议。
# statusCode
按照【状态码】进行过滤。
若只填写statusCode参数,则最多可查询近30天的数据;
若同时填写statusCode+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
对应的Value可选项如下:
1XX:1xx类型的状态码;
100:100状态码;
101:101状态码;
102:102状态码;
2XX:2xx类型的状态码;
200:200状态码;
201:201状态码;
202:202状态码;
203:203状态码;
204:204状态码;
205:205状态码;
206:206状态码;
207:207状态码;
3XX:3xx类型的状态码;
300:300状态码;
301:301状态码;
302:302状态码;
303:303状态码;
304:304状态码;
305:305状态码;
307:307状态码;
4XX:4xx类型的状态码;
400:400状态码;
401:401状态码;
402:402状态码;
403:403状态码;
404:404状态码;
405:405状态码;
406:406状态码;
407:407状态码;
408:408状态码;
409:409状态码;
410:410状态码;
411:411状态码;
412:412状态码;
412:413状态码;
414:414状态码;
415:415状态码;
416:416状态码;
417:417状态码;
422:422状态码;
423:423状态码;
424:424状态码;
426:426状态码;
451:451状态码;
5XX:5xx类型的状态码;
500:500状态码;
501:501状态码;
502:502状态码;
503:503状态码;
504:504状态码;
505:505状态码;
506:506状态码;
507:507状态码;
510:510状态码;
514:514状态码;
544:544状态码。
# browserType
按照【浏览器类型】进行过滤。
若只填写browserType参数,则最多可查询近30天的数据;
若同时填写browserType+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
对应Value的可选项如下:
Firefox:Firefox浏览器;
Chrome:Chrome浏览器;
Safari:Safari浏览器;
Other:其他浏览器类型;
Empty:浏览器类型为空;
Bot:搜索引擎爬虫;
MicrosoftEdge:MicrosoftEdge浏览器;
IE:IE浏览器;
Opera:Opera浏览器;
QQBrowser:QQ浏览器;
LBBrowser:LB浏览器;
MaxthonBrowser:Maxthon浏览器;
SouGouBrowser:搜狗浏览器;
BIDUBrowser:百度浏览器;
TaoBrowser:淘浏览器;
UBrowser:UC浏览器。
# deviceType
按照【设备类型】进行过滤。
若只填写deviceType参数,则最多可查询近30天的数据;
若同时填写deviceType+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
对应Value的可选项如下:
TV:TV设备;
Tablet:Tablet设备;
Mobile:Mobile设备;
Desktop:Desktop设备;
Other:其他设备类型;
Empty:设备类型为空。
# operatingSystemType
按照【操作系统类型】进行过滤。
若只填写operatingSystemType参数,则最多可查询近30天的数据;
若同时填写operatingSystemType+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
对应Value的可选项如下:
Linux:Linux操作系统;
MacOS:MacOs操作系统;
Android:Android操作系统;
IOS:IOS操作系统;
Windows:Windows操作系统;
NetBSD:NetBSD;
ChromiumOS:ChromiumOS;
Bot:搜索引擎爬虫;
Other:其他类型的操作系统;
Empty:操作系统为空。
# tlsVersion
按照【TLS版本】进行过滤。
若只填写tlsVersion参数,则最多可查询近30天的数据;
若同时填写tlsVersion+Zonelds参数,则支持的查询数据范围为套餐支持的数据分析最大查询范围与30天两者中的较小值。
对应Value的可选项如下:
TLS1.0:TLS 1.0;
TLS1.1:TLS 1.1;
TLS1.2:TLS 1.2;
TLS1.3:TLS 1.3。
# ipVersion
按照【IP版本】进行过滤。
对应Value的可选项如下:
4:Ipv4;
6:Ipv6。
# tagKey
按照【标签Key】进行过滤。
# tagValue
按照【标签Value】进行过滤。
# @type Filters: Array
# @param Interval: 查询时间粒度,取值有:
# min:1分钟;
# 5min:5分钟;
# hour:1小时;
# day:1天。不填将根据开始时间跟结束时间的间距自动推算粒度,具体为:一小时范围内以min粒度查询,两天范围内以5min粒度查询,七天范围内以hour粒度查询,超过七天以day粒度查询。
# @type Interval: String
# @param Area: 数据归属地区,取值有:
# overseas:全球(除中国大陆地区)数据;
# mainland:中国大陆地区数据;
# global:全球数据。不填默认取值为global。
# @type Area: String
attr_accessor :StartTime, :EndTime, :MetricName, :ZoneIds, :Limit, :Filters, :Interval, :Area
def initialize(starttime=nil, endtime=nil, metricname=nil, zoneids=nil, limit=nil, filters=nil, interval=nil, area=nil)
@StartTime = starttime
@EndTime = endtime
@MetricName = metricname
@ZoneIds = zoneids
@Limit = limit
@Filters = filters
@Interval = interval
@Area = area
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@MetricName = params['MetricName']
@ZoneIds = params['ZoneIds']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
querycondition_tmp = QueryCondition.new
querycondition_tmp.deserialize(i)
@Filters << querycondition_tmp
end
end
@Interval = params['Interval']
@Area = params['Area']
end
end
# DescribeTopL7AnalysisData返回参数结构体
class DescribeTopL7AnalysisDataResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param Data: 七层流量前topN数据列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Data, :RequestId
def initialize(totalcount=nil, data=nil, requestid=nil)
@TotalCount = totalcount
@Data = data
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
topdatarecord_tmp = TopDataRecord.new
topdatarecord_tmp.deserialize(i)
@Data << topdatarecord_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeTopL7CacheData请求参数结构体
class DescribeTopL7CacheDataRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param MetricName: 查询的指标,取值有:
# l7Cache_outFlux_domain:host/域名;
# l7Cache_outFlux_url:url地址;
# l7Cache_outFlux_resourceType:资源类型;
# l7Cache_outFlux_statusCode:状态码。
# @type MetricName: String
# @param ZoneIds: 站点 ID 集合,此参数必填。
# @type ZoneIds: Array
# @param Limit: 查询前多少个数据,最大值为1000,不填默认为10, 表示查询前top 10的数据。
# @type Limit: Integer
# @param Filters: 过滤条件,详细的过滤条件如下:
# domain
按照【子域名】进行过滤,子域名形如: test.example.com。
类型:String
必选:否
# url
按照【URL】进行过滤,此参数只支持30天的时间范围,URL形如:/content。
类型:String
必选:否
# resourceType
按照【资源类型】进行过滤,此参数只支持30天的时间范围,资源类型形如:jpg,png。
类型:String
必选:否
# cacheType
按照【缓存类型】进行过滤。
类型:String
必选:否
可选项:
hit:命中缓存;
dynamic:资源不可缓存;
miss:未命中缓存。
# statusCode
按照【状态码】进行过滤,此参数只支持30天的时间范围。
类型:String
必选:否
可选项:
1XX:1xx类型的状态码;
100:100状态码;
101:101状态码;
102:102状态码;
2XX:2xx类型的状态码;
200:200状态码;
201:201状态码;
202:202状态码;
203:203状态码;
204:204状态码;
100:100状态码;
206:206状态码;
207:207状态码;
3XX:3xx类型的状态码;
300:300状态码;
301:301状态码;
302:302状态码;
303:303状态码;
304:304状态码;
305:305状态码;
307:307状态码;
4XX:4xx类型的状态码;
400:400状态码;
401:401状态码;
402:402状态码;
403:403状态码;
404:404状态码;
405:405状态码;
406:406状态码;
407:407状态码;
408:408状态码;
409:409状态码;
410:410状态码;
411:411状态码;
412:412状态码;
412:413状态码;
414:414状态码;
415:415状态码;
416:416状态码;
417:417状态码;
422:422状态码;
423:423状态码;
424:424状态码;
426:426状态码;
451:451状态码;
5XX:5xx类型的状态码;
500:500状态码;
501:501状态码;
502:502状态码;
503:503状态码;
504:504状态码;
505:505状态码;
506:506状态码;
507:507状态码;
510:510状态码;
514:514状态码;
544:544状态码。
# tagKey
按照【标签Key】进行过滤。
类型:String
必选:否
# tagValue
按照【标签Value】进行过滤。
类型:String
必选:否
# @type Filters: Array
# @param Interval: 查询时间粒度,取值有:
# min: 1分钟;
# 5min: 5分钟;
# hour: 1小时;
# day: 1天。不填将根据开始时间跟结束时间的间距自动推算粒度,具体为:一小时范围内以min粒度查询,两天范围内以5min粒度查询,七天范围内以hour粒度查询,超过七天以day粒度查询。
# @type Interval: String
# @param Area: 数据归属地区,取值有:
# overseas:全球(除中国大陆地区)数据;
# mainland:中国大陆地区数据;
# global:全球数据。不填默认取值为global。
# @type Area: String
attr_accessor :StartTime, :EndTime, :MetricName, :ZoneIds, :Limit, :Filters, :Interval, :Area
def initialize(starttime=nil, endtime=nil, metricname=nil, zoneids=nil, limit=nil, filters=nil, interval=nil, area=nil)
@StartTime = starttime
@EndTime = endtime
@MetricName = metricname
@ZoneIds = zoneids
@Limit = limit
@Filters = filters
@Interval = interval
@Area = area
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@MetricName = params['MetricName']
@ZoneIds = params['ZoneIds']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
querycondition_tmp = QueryCondition.new
querycondition_tmp.deserialize(i)
@Filters << querycondition_tmp
end
end
@Interval = params['Interval']
@Area = params['Area']
end
end
# DescribeTopL7CacheData返回参数结构体
class DescribeTopL7CacheDataResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param Data: 七层缓存TopN流量数据列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Data, :RequestId
def initialize(totalcount=nil, data=nil, requestid=nil)
@TotalCount = totalcount
@Data = data
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
topdatarecord_tmp = TopDataRecord.new
topdatarecord_tmp.deserialize(i)
@Data << topdatarecord_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeZoneSetting请求参数结构体
class DescribeZoneSettingRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
attr_accessor :ZoneId
def initialize(zoneid=nil)
@ZoneId = zoneid
end
def deserialize(params)
@ZoneId = params['ZoneId']
end
end
# DescribeZoneSetting返回参数结构体
class DescribeZoneSettingResponse < TencentCloud::Common::AbstractModel
# @param ZoneSetting: 站点配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ZoneSetting: :class:`Tencentcloud::Teo.v20220901.models.ZoneSetting`
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :ZoneSetting, :RequestId
def initialize(zonesetting=nil, requestid=nil)
@ZoneSetting = zonesetting
@RequestId = requestid
end
def deserialize(params)
unless params['ZoneSetting'].nil?
@ZoneSetting = ZoneSetting.new
@ZoneSetting.deserialize(params['ZoneSetting'])
end
@RequestId = params['RequestId']
end
end
# DescribeZones请求参数结构体
class DescribeZonesRequest < TencentCloud::Common::AbstractModel
# @param Offset: 分页查询偏移量。默认值:0。
# @type Offset: Integer
# @param Limit: 分页查询限制数目。默认值:20,最大值:100。
# @type Limit: Integer
# @param Filters: 过滤条件,Filters.Values 的上限为 20。该参数不填写时,返回当前 appid 下有权限的所有站点信息。详细的过滤条件如下:
# zone-name:按照站点名称进行过滤;zone-id:按照站点 ID进行过滤。站点 ID 形如:zone-2noz78a8ev6k;status:按照站点状态进行过滤;tag-key:按照标签键进行过滤;tag-value: 按照标签值进行过滤。模糊查询时仅支持过滤字段名为 zone-name。
# @type Filters: Array
# @param Order: 可根据该字段对返回结果进行排序,取值有:
# type:接入类型;
# area:加速区域;
# create-time:创建时间;
# zone-name:站点名称;
# use-time:最近使用时间;
# active-status:生效状态。不填写时对返回结果默认按照 create-time 排序。
# @type Order: String
# @param Direction: 排序方向,如果是字段值为数字,则根据数字大小排序;如果字段值为文本,则根据 ascill 码的大小排序。取值有:
# asc:从小到大排序;
# desc:从大到小排序。不填写使用默认值 desc。
# @type Direction: String
attr_accessor :Offset, :Limit, :Filters, :Order, :Direction
def initialize(offset=nil, limit=nil, filters=nil, order=nil, direction=nil)
@Offset = offset
@Limit = limit
@Filters = filters
@Order = order
@Direction = direction
end
def deserialize(params)
@Offset = params['Offset']
@Limit = params['Limit']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
advancedfilter_tmp = AdvancedFilter.new
advancedfilter_tmp.deserialize(i)
@Filters << advancedfilter_tmp
end
end
@Order = params['Order']
@Direction = params['Direction']
end
end
# DescribeZones返回参数结构体
class DescribeZonesResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 符合条件的站点个数。
# @type TotalCount: Integer
# @param Zones: 站点详细信息。
# @type Zones: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Zones, :RequestId
def initialize(totalcount=nil, zones=nil, requestid=nil)
@TotalCount = totalcount
@Zones = zones
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Zones'].nil?
@Zones = []
params['Zones'].each do |i|
zone_tmp = Zone.new
zone_tmp.deserialize(i)
@Zones << zone_tmp
end
end
@RequestId = params['RequestId']
end
end
# DestroyPlan请求参数结构体
class DestroyPlanRequest < TencentCloud::Common::AbstractModel
# @param PlanId: 套餐 ID,形如 edgeone-2wdo315m2y4c。
# @type PlanId: String
attr_accessor :PlanId
def initialize(planid=nil)
@PlanId = planid
end
def deserialize(params)
@PlanId = params['PlanId']
end
end
# DestroyPlan返回参数结构体
class DestroyPlanResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# 域名配置信息
class DetailHost < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param Status: 加速服务状态,取值为:
# process:部署中;
# online:已启动;
# offline:已关闭。
# @type Status: String
# @param Host: 域名。
# @type Host: String
# @param ZoneName: 站点名称。
# @type ZoneName: String
# @param Cname: 分配的Cname域名
# @type Cname: String
# @param Id: 资源ID。
# @type Id: String
# @param InstanceId: 实例ID。
# @type InstanceId: String
# @param Lock: 锁状态。
# @type Lock: Integer
# @param Mode: 域名状态类型。
# @type Mode: Integer
# @param Area: 域名加速地域,取值有:
# global:全球;
# mainland:中国大陆;
# overseas:境外区域。
# @type Area: String
# @param AccelerateType: 加速类型配置项。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccelerateType: :class:`Tencentcloud::Teo.v20220901.models.AccelerateType`
# @param Https: Https配置项。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Https: :class:`Tencentcloud::Teo.v20220901.models.Https`
# @param CacheConfig: 缓存配置项。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CacheConfig: :class:`Tencentcloud::Teo.v20220901.models.CacheConfig`
# @param Origin: 源站配置项。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Origin: :class:`Tencentcloud::Teo.v20220901.models.Origin`
# @param SecurityType: 安全类型。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SecurityType: :class:`Tencentcloud::Teo.v20220901.models.SecurityType`
# @param CacheKey: 缓存键配置项。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CacheKey: :class:`Tencentcloud::Teo.v20220901.models.CacheKey`
# @param Compression: 智能压缩配置项。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Compression: :class:`Tencentcloud::Teo.v20220901.models.Compression`
# @param Waf: Waf防护配置项。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Waf: :class:`Tencentcloud::Teo.v20220901.models.Waf`
# @param CC: CC防护配置项。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CC: :class:`Tencentcloud::Teo.v20220901.models.CC`
# @param DDoS: DDoS防护配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DDoS: :class:`Tencentcloud::Teo.v20220901.models.DDoS`
# @param SmartRouting: 智能路由配置项。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SmartRouting: :class:`Tencentcloud::Teo.v20220901.models.SmartRouting`
# @param Ipv6: Ipv6访问配置项。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Ipv6: :class:`Tencentcloud::Teo.v20220901.models.Ipv6`
# @param ClientIpCountry: 回源时是否携带客户端IP所属地域信息的配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ClientIpCountry: :class:`Tencentcloud::Teo.v20220901.models.ClientIpCountry`
attr_accessor :ZoneId, :Status, :Host, :ZoneName, :Cname, :Id, :InstanceId, :Lock, :Mode, :Area, :AccelerateType, :Https, :CacheConfig, :Origin, :SecurityType, :CacheKey, :Compression, :Waf, :CC, :DDoS, :SmartRouting, :Ipv6, :ClientIpCountry
def initialize(zoneid=nil, status=nil, host=nil, zonename=nil, cname=nil, id=nil, instanceid=nil, lock=nil, mode=nil, area=nil, acceleratetype=nil, https=nil, cacheconfig=nil, origin=nil, securitytype=nil, cachekey=nil, compression=nil, waf=nil, cc=nil, ddos=nil, smartrouting=nil, ipv6=nil, clientipcountry=nil)
@ZoneId = zoneid
@Status = status
@Host = host
@ZoneName = zonename
@Cname = cname
@Id = id
@InstanceId = instanceid
@Lock = lock
@Mode = mode
@Area = area
@AccelerateType = acceleratetype
@Https = https
@CacheConfig = cacheconfig
@Origin = origin
@SecurityType = securitytype
@CacheKey = cachekey
@Compression = compression
@Waf = waf
@CC = cc
@DDoS = ddos
@SmartRouting = smartrouting
@Ipv6 = ipv6
@ClientIpCountry = clientipcountry
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Status = params['Status']
@Host = params['Host']
@ZoneName = params['ZoneName']
@Cname = params['Cname']
@Id = params['Id']
@InstanceId = params['InstanceId']
@Lock = params['Lock']
@Mode = params['Mode']
@Area = params['Area']
unless params['AccelerateType'].nil?
@AccelerateType = AccelerateType.new
@AccelerateType.deserialize(params['AccelerateType'])
end
unless params['Https'].nil?
@Https = Https.new
@Https.deserialize(params['Https'])
end
unless params['CacheConfig'].nil?
@CacheConfig = CacheConfig.new
@CacheConfig.deserialize(params['CacheConfig'])
end
unless params['Origin'].nil?
@Origin = Origin.new
@Origin.deserialize(params['Origin'])
end
unless params['SecurityType'].nil?
@SecurityType = SecurityType.new
@SecurityType.deserialize(params['SecurityType'])
end
unless params['CacheKey'].nil?
@CacheKey = CacheKey.new
@CacheKey.deserialize(params['CacheKey'])
end
unless params['Compression'].nil?
@Compression = Compression.new
@Compression.deserialize(params['Compression'])
end
unless params['Waf'].nil?
@Waf = Waf.new
@Waf.deserialize(params['Waf'])
end
unless params['CC'].nil?
@CC = CC.new
@CC.deserialize(params['CC'])
end
unless params['DDoS'].nil?
@DDoS = DDoS.new
@DDoS.deserialize(params['DDoS'])
end
unless params['SmartRouting'].nil?
@SmartRouting = SmartRouting.new
@SmartRouting.deserialize(params['SmartRouting'])
end
unless params['Ipv6'].nil?
@Ipv6 = Ipv6.new
@Ipv6.deserialize(params['Ipv6'])
end
unless params['ClientIpCountry'].nil?
@ClientIpCountry = ClientIpCountry.new
@ClientIpCountry.deserialize(params['ClientIpCountry'])
end
end
end
# 最新IP白名单列表相比于当前IP白名单列表的区别
class DiffIPWhitelist < TencentCloud::Common::AbstractModel
# @param LatestIPWhitelist: 最新IP白名单列表。
# @type LatestIPWhitelist: :class:`Tencentcloud::Teo.v20220901.models.IPWhitelist`
# @param AddedIPWhitelist: 最新IP白名单列表相比于当前IP白名单列表,新增部分。
# @type AddedIPWhitelist: :class:`Tencentcloud::Teo.v20220901.models.IPWhitelist`
# @param RemovedIPWhitelist: 最新IP白名单列表相比于当前IP白名单列表,删减部分。
# @type RemovedIPWhitelist: :class:`Tencentcloud::Teo.v20220901.models.IPWhitelist`
# @param NoChangeIPWhitelist: 最新IP白名单列表相比于当前IP白名单列表,不变部分。
# @type NoChangeIPWhitelist: :class:`Tencentcloud::Teo.v20220901.models.IPWhitelist`
attr_accessor :LatestIPWhitelist, :AddedIPWhitelist, :RemovedIPWhitelist, :NoChangeIPWhitelist
def initialize(latestipwhitelist=nil, addedipwhitelist=nil, removedipwhitelist=nil, nochangeipwhitelist=nil)
@LatestIPWhitelist = latestipwhitelist
@AddedIPWhitelist = addedipwhitelist
@RemovedIPWhitelist = removedipwhitelist
@NoChangeIPWhitelist = nochangeipwhitelist
end
def deserialize(params)
unless params['LatestIPWhitelist'].nil?
@LatestIPWhitelist = IPWhitelist.new
@LatestIPWhitelist.deserialize(params['LatestIPWhitelist'])
end
unless params['AddedIPWhitelist'].nil?
@AddedIPWhitelist = IPWhitelist.new
@AddedIPWhitelist.deserialize(params['AddedIPWhitelist'])
end
unless params['RemovedIPWhitelist'].nil?
@RemovedIPWhitelist = IPWhitelist.new
@RemovedIPWhitelist.deserialize(params['RemovedIPWhitelist'])
end
unless params['NoChangeIPWhitelist'].nil?
@NoChangeIPWhitelist = IPWhitelist.new
@NoChangeIPWhitelist.deserialize(params['NoChangeIPWhitelist'])
end
end
end
# CNAME 接入,使用 DNS 解析验证时所需的信息。
class DnsVerification < TencentCloud::Common::AbstractModel
# @param Subdomain: 主机记录。
# @type Subdomain: String
# @param RecordType: 记录类型。
# @type RecordType: String
# @param RecordValue: 记录值。
# @type RecordValue: String
attr_accessor :Subdomain, :RecordType, :RecordValue
def initialize(subdomain=nil, recordtype=nil, recordvalue=nil)
@Subdomain = subdomain
@RecordType = recordtype
@RecordValue = recordvalue
end
def deserialize(params)
@Subdomain = params['Subdomain']
@RecordType = params['RecordType']
@RecordValue = params['RecordValue']
end
end
# DownloadL4Logs请求参数结构体
class DownloadL4LogsRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param ZoneIds: 站点 ID 集合,此参数必填。
# @type ZoneIds: Array
# @param ProxyIds: 四层实例 ID 集合。
# @type ProxyIds: Array
# @param Limit: 分页查询的限制数目,默认值为 20,最大查询条目为 300。
# @type Limit: Integer
# @param Offset: 分页的偏移量,默认值为 0。
# @type Offset: Integer
attr_accessor :StartTime, :EndTime, :ZoneIds, :ProxyIds, :Limit, :Offset
def initialize(starttime=nil, endtime=nil, zoneids=nil, proxyids=nil, limit=nil, offset=nil)
@StartTime = starttime
@EndTime = endtime
@ZoneIds = zoneids
@ProxyIds = proxyids
@Limit = limit
@Offset = offset
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@ZoneIds = params['ZoneIds']
@ProxyIds = params['ProxyIds']
@Limit = params['Limit']
@Offset = params['Offset']
end
end
# DownloadL4Logs返回参数结构体
class DownloadL4LogsResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param Data: 四层离线日志数据列表。
# @type Data: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Data, :RequestId
def initialize(totalcount=nil, data=nil, requestid=nil)
@TotalCount = totalcount
@Data = data
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
l4offlinelog_tmp = L4OfflineLog.new
l4offlinelog_tmp.deserialize(i)
@Data << l4offlinelog_tmp
end
end
@RequestId = params['RequestId']
end
end
# DownloadL7Logs请求参数结构体
class DownloadL7LogsRequest < TencentCloud::Common::AbstractModel
# @param StartTime: 开始时间。
# @type StartTime: String
# @param EndTime: 结束时间。
# @type EndTime: String
# @param ZoneIds: 站点ID集合,此参数必填。
# @type ZoneIds: Array
# @param Domains: 子域名集合,不填默认选择全部子域名。
# @type Domains: Array
# @param Limit: 分页查询的限制数目,默认值为 20,最大查询条目为 300。
# @type Limit: Integer
# @param Offset: 分页的偏移量,默认值为 0。
# @type Offset: Integer
attr_accessor :StartTime, :EndTime, :ZoneIds, :Domains, :Limit, :Offset
def initialize(starttime=nil, endtime=nil, zoneids=nil, domains=nil, limit=nil, offset=nil)
@StartTime = starttime
@EndTime = endtime
@ZoneIds = zoneids
@Domains = domains
@Limit = limit
@Offset = offset
end
def deserialize(params)
@StartTime = params['StartTime']
@EndTime = params['EndTime']
@ZoneIds = params['ZoneIds']
@Domains = params['Domains']
@Limit = params['Limit']
@Offset = params['Offset']
end
end
# DownloadL7Logs返回参数结构体
class DownloadL7LogsResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 查询结果的总条数。
# @type TotalCount: Integer
# @param Data: 七层离线日志数据列表。
# @type Data: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Data, :RequestId
def initialize(totalcount=nil, data=nil, requestid=nil)
@TotalCount = totalcount
@Data = data
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Data'].nil?
@Data = []
params['Data'].each do |i|
l7offlinelog_tmp = L7OfflineLog.new
l7offlinelog_tmp.deserialize(i)
@Data << l7offlinelog_tmp
end
end
@RequestId = params['RequestId']
end
end
# 拦截页面的总体配置,用于配置各个模块的拦截后行为。
class DropPageConfig < TencentCloud::Common::AbstractModel
# @param Switch: 配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param WafDropPageDetail: Waf(托管规则)模块的拦截页面配置。如果为null,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type WafDropPageDetail: :class:`Tencentcloud::Teo.v20220901.models.DropPageDetail`
# @param AclDropPageDetail: 自定义页面的拦截页面配置。如果为null,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AclDropPageDetail: :class:`Tencentcloud::Teo.v20220901.models.DropPageDetail`
attr_accessor :Switch, :WafDropPageDetail, :AclDropPageDetail
def initialize(switch=nil, wafdroppagedetail=nil, acldroppagedetail=nil)
@Switch = switch
@WafDropPageDetail = wafdroppagedetail
@AclDropPageDetail = acldroppagedetail
end
def deserialize(params)
@Switch = params['Switch']
unless params['WafDropPageDetail'].nil?
@WafDropPageDetail = DropPageDetail.new
@WafDropPageDetail.deserialize(params['WafDropPageDetail'])
end
unless params['AclDropPageDetail'].nil?
@AclDropPageDetail = DropPageDetail.new
@AclDropPageDetail.deserialize(params['AclDropPageDetail'])
end
end
end
# 拦截页面的配置信息
class DropPageDetail < TencentCloud::Common::AbstractModel
# @param PageId: 拦截页面的唯一 Id。系统默认包含一个自带拦截页面,Id 值为0。
# 该 Id 可通过创建拦截页面接口进行上传获取。如传入0,代表使用系统默认拦截页面。该参数已废弃。
# @type PageId: Integer
# @param StatusCode: 拦截页面的 HTTP 状态码。状态码取值:100~600,不支持 3xx 状态码。托管规则拦截页面默认:566,安全防护(除托管规则外)拦截页面默认:567.
# @type StatusCode: Integer
# @param Name: 页面文件名或 url。
# @type Name: String
# @param Type: 页面的类型,取值有:
# page:指定页面。
# @type Type: String
# @param CustomResponseId: 自定义响应 Id。该 Id 可通过查询自定义错误页列表接口获取。默认值为default,使用系统默认页面。Type 类型是 page 时必填,且不能为空。
# @type CustomResponseId: String
attr_accessor :PageId, :StatusCode, :Name, :Type, :CustomResponseId
def initialize(pageid=nil, statuscode=nil, name=nil, type=nil, customresponseid=nil)
@PageId = pageid
@StatusCode = statuscode
@Name = name
@Type = type
@CustomResponseId = customresponseid
end
def deserialize(params)
@PageId = params['PageId']
@StatusCode = params['StatusCode']
@Name = params['Name']
@Type = params['Type']
@CustomResponseId = params['CustomResponseId']
end
end
# 安全实例状态。
class EntityStatus < TencentCloud::Common::AbstractModel
# @param Entity: 实例名,现在只有子域名。
# @type Entity: String
# @param Status: 实例配置下发状态,取值有:
# online:配置已生效;fail:配置失败; process:配置下发中。
# @type Status: String
# @param Message: 实例配置下发信息提示。
# @type Message: String
attr_accessor :Entity, :Status, :Message
def initialize(entity=nil, status=nil, message=nil)
@Entity = entity
@Status = status
@Message = message
end
def deserialize(params)
@Entity = params['Entity']
@Status = params['Status']
@Message = params['Message']
end
end
# 环境信息。
class EnvInfo < TencentCloud::Common::AbstractModel
# @param EnvId: 环境 ID。
# @type EnvId: String
# @param EnvType: 环境类型,取值有:
# production: 生产环境;staging: 测试环境。
# @type EnvType: String
# @param Status: 环境状态,取值有:
# creating:创建中;
# running:稳定运行中,可进行版本变更;
# version_deploying:版本部署中,不能进行新的变更。
# @type Status: String
# @param Scope: 当前环境的配置生效范围:
# 当 EnvType 取值为 production 时,该参数值为 ["ALL"],代表全网生效;
# 当 EnvType 取值为 staging 时,会返回测试节点 IP,可用于绑定 host 测试。
# @type Scope: Array
# @param CurrentConfigGroupVersionInfos: 当前环境中各配置组实际生效的版本,根据 Status 的取值有以下两种情况:
# 当 Status 取值为 version_deploying 时,本字段返回的值为执行变更动作之前生效的版本,即新版本部署期间,实际生效的版本为执行变更动作之前的版本;
# 当 Status 取值为 running 时,本字段返回的值即为当前实际生效的版本。
# @type CurrentConfigGroupVersionInfos: Array
# @param CreateTime: 创建时间。时间为世界标准时间(UTC), 遵循 ISO 8601 标准的日期和时间格式。
# @type CreateTime: String
# @param UpdateTime: 更新时间。时间为世界标准时间(UTC), 遵循 ISO 8601 标准的日期和时间格式。
# @type UpdateTime: String
attr_accessor :EnvId, :EnvType, :Status, :Scope, :CurrentConfigGroupVersionInfos, :CreateTime, :UpdateTime
def initialize(envid=nil, envtype=nil, status=nil, scope=nil, currentconfiggroupversioninfos=nil, createtime=nil, updatetime=nil)
@EnvId = envid
@EnvType = envtype
@Status = status
@Scope = scope
@CurrentConfigGroupVersionInfos = currentconfiggroupversioninfos
@CreateTime = createtime
@UpdateTime = updatetime
end
def deserialize(params)
@EnvId = params['EnvId']
@EnvType = params['EnvType']
@Status = params['Status']
@Scope = params['Scope']
unless params['CurrentConfigGroupVersionInfos'].nil?
@CurrentConfigGroupVersionInfos = []
params['CurrentConfigGroupVersionInfos'].each do |i|
configgroupversioninfo_tmp = ConfigGroupVersionInfo.new
configgroupversioninfo_tmp.deserialize(i)
@CurrentConfigGroupVersionInfos << configgroupversioninfo_tmp
end
end
@CreateTime = params['CreateTime']
@UpdateTime = params['UpdateTime']
end
end
# 自定义错误页面被引用的来源
class ErrorPageReference < TencentCloud::Common::AbstractModel
# @param BusinessId: 引用的业务 ID,如自定义拦截规则 ID。
# @type BusinessId: String
attr_accessor :BusinessId
def initialize(businessid=nil)
@BusinessId = businessid
end
def deserialize(params)
@BusinessId = params['BusinessId']
end
end
# 例外规则,用于配置需要跳过特定场景的规则
class ExceptConfig < TencentCloud::Common::AbstractModel
# @param Switch: 配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param ExceptUserRules: 例外规则详情。如果为null,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExceptUserRules: Array
attr_accessor :Switch, :ExceptUserRules
def initialize(switch=nil, exceptuserrules=nil)
@Switch = switch
@ExceptUserRules = exceptuserrules
end
def deserialize(params)
@Switch = params['Switch']
unless params['ExceptUserRules'].nil?
@ExceptUserRules = []
params['ExceptUserRules'].each do |i|
exceptuserrule_tmp = ExceptUserRule.new
exceptuserrule_tmp.deserialize(i)
@ExceptUserRules << exceptuserrule_tmp
end
end
end
end
# 例外规则的配置,包含生效的条件,生效的范围。
class ExceptUserRule < TencentCloud::Common::AbstractModel
# @param RuleName: 规则名称,不可使用中文。
# @type RuleName: String
# @param Action: 规则的处置方式,当前仅支持skip:跳过全部托管规则。
# @type Action: String
# @param RuleStatus: 规则生效状态,取值有:
# on:生效;
# off:失效。
# @type RuleStatus: String
# @param RuleID: 规则ID。仅出参使用。默认由底层生成。
# @type RuleID: Integer
# @param UpdateTime: 更新时间,如果为null,默认由底层按当前时间生成。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UpdateTime: String
# @param ExceptUserRuleConditions: 匹配条件。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExceptUserRuleConditions: Array
# @param ExceptUserRuleScope: 规则生效的范围。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExceptUserRuleScope: :class:`Tencentcloud::Teo.v20220901.models.ExceptUserRuleScope`
# @param RulePriority: 优先级,取值范围0-100。如果为null,默认由底层设置为0。
# @type RulePriority: Integer
attr_accessor :RuleName, :Action, :RuleStatus, :RuleID, :UpdateTime, :ExceptUserRuleConditions, :ExceptUserRuleScope, :RulePriority
def initialize(rulename=nil, action=nil, rulestatus=nil, ruleid=nil, updatetime=nil, exceptuserruleconditions=nil, exceptuserrulescope=nil, rulepriority=nil)
@RuleName = rulename
@Action = action
@RuleStatus = rulestatus
@RuleID = ruleid
@UpdateTime = updatetime
@ExceptUserRuleConditions = exceptuserruleconditions
@ExceptUserRuleScope = exceptuserrulescope
@RulePriority = rulepriority
end
def deserialize(params)
@RuleName = params['RuleName']
@Action = params['Action']
@RuleStatus = params['RuleStatus']
@RuleID = params['RuleID']
@UpdateTime = params['UpdateTime']
unless params['ExceptUserRuleConditions'].nil?
@ExceptUserRuleConditions = []
params['ExceptUserRuleConditions'].each do |i|
exceptuserrulecondition_tmp = ExceptUserRuleCondition.new
exceptuserrulecondition_tmp.deserialize(i)
@ExceptUserRuleConditions << exceptuserrulecondition_tmp
end
end
unless params['ExceptUserRuleScope'].nil?
@ExceptUserRuleScope = ExceptUserRuleScope.new
@ExceptUserRuleScope.deserialize(params['ExceptUserRuleScope'])
end
@RulePriority = params['RulePriority']
end
end
# 例外规则生效的具体条件。
class ExceptUserRuleCondition < TencentCloud::Common::AbstractModel
# @param MatchFrom: 匹配项,取值有:
# host:请求域名;
# sip:客户端IP;
# ua:User-Agent;
# cookie:会话 Cookie;
# cgi:CGI 脚本;
# xff:XFF 扩展头部;
# url:请求 URL;
# accept:请求内容类型;
# method:请求方式;
# header:请求头部;
# sip_proto:网络层协议。
# @type MatchFrom: String
# @param MatchParam: 匹配项的参数。仅当 MatchFrom 为 header 时,可以使用本参数,值可填入 header 的 key 作为参数。
# @type MatchParam: String
# @param Operator: 匹配操作符,取值有:
# 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:通配符。
# @type Operator: String
# @param MatchContent: 匹配值。
# @type MatchContent: String
attr_accessor :MatchFrom, :MatchParam, :Operator, :MatchContent
def initialize(matchfrom=nil, matchparam=nil, operator=nil, matchcontent=nil)
@MatchFrom = matchfrom
@MatchParam = matchparam
@Operator = operator
@MatchContent = matchcontent
end
def deserialize(params)
@MatchFrom = params['MatchFrom']
@MatchParam = params['MatchParam']
@Operator = params['Operator']
@MatchContent = params['MatchContent']
end
end
# 例外规则的生效范围。
class ExceptUserRuleScope < TencentCloud::Common::AbstractModel
# @param Type: 例外规则类型。其中complete模式代表全量数据进行例外,partial模式代表可选择指定模块指定字段进行例外,该字段取值有:
# complete:完全跳过模式;
# partial:部分跳过模式。
# @type Type: String
# @param Modules: 生效的模块,该字段取值有:
# waf:托管规则;
# rate:速率限制;
# acl:自定义规则;
# cc:cc攻击防护;
# bot:Bot防护。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Modules: Array
# @param PartialModules: 跳过部分规则ID的例外规则详情。如果为null,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PartialModules: Array
# @param SkipConditions: 跳过具体字段不去扫描的例外规则详情。如果为null,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SkipConditions: Array
attr_accessor :Type, :Modules, :PartialModules, :SkipConditions
def initialize(type=nil, modules=nil, partialmodules=nil, skipconditions=nil)
@Type = type
@Modules = modules
@PartialModules = partialmodules
@SkipConditions = skipconditions
end
def deserialize(params)
@Type = params['Type']
@Modules = params['Modules']
unless params['PartialModules'].nil?
@PartialModules = []
params['PartialModules'].each do |i|
partialmodule_tmp = PartialModule.new
partialmodule_tmp.deserialize(i)
@PartialModules << partialmodule_tmp
end
end
unless params['SkipConditions'].nil?
@SkipConditions = []
params['SkipConditions'].each do |i|
skipcondition_tmp = SkipCondition.new
skipcondition_tmp.deserialize(i)
@SkipConditions << skipcondition_tmp
end
end
end
end
# 失败原因
class FailReason < TencentCloud::Common::AbstractModel
# @param Reason: 失败原因。
# @type Reason: String
# @param Targets: 处理失败的资源列表。
# @type Targets: Array
attr_accessor :Reason, :Targets
def initialize(reason=nil, targets=nil)
@Reason = reason
@Targets = targets
end
def deserialize(params)
@Reason = params['Reason']
@Targets = params['Targets']
end
end
# 站点归属权校验——文件校验信息。
class FileAscriptionInfo < TencentCloud::Common::AbstractModel
# @param IdentifyPath: 文件校验目录。
# @type IdentifyPath: String
# @param IdentifyContent: 文件校验内容。
# @type IdentifyContent: String
attr_accessor :IdentifyPath, :IdentifyContent
def initialize(identifypath=nil, identifycontent=nil)
@IdentifyPath = identifypath
@IdentifyContent = identifycontent
end
def deserialize(params)
@IdentifyPath = params['IdentifyPath']
@IdentifyContent = params['IdentifyContent']
end
end
# CNAME 接入,使用文件验证时所需的信息。
class FileVerification < TencentCloud::Common::AbstractModel
# @param Path: EdgeOne 后台服务器将通过 Scheme + Host + URL Path 的格式(例如 https://www.example.com/.well-known/teo-verification/z12h416twn.txt)获取文件验证信息。该字段为您需要创建的 URL Path 部分。
# @type Path: String
# @param Content: 验证文件的内容。该字段的内容需要您填写至 Path 字段返回的 txt 文件中。
# @type Content: String
attr_accessor :Path, :Content
def initialize(path=nil, content=nil)
@Path = path
@Content = content
end
def deserialize(params)
@Path = params['Path']
@Content = params['Content']
end
end
# 描述键值对过滤器,用于条件过滤查询。例如过滤ID、名称、状态等。
# 若存在多个Filter时,Filter间的关系为逻辑与(AND)关系。
# 若同一个Filter存在多个Values,同一Filter下Values间的关系为逻辑或(OR)关系。
class Filter < TencentCloud::Common::AbstractModel
# @param Name: 需要过滤的字段。
# @type Name: String
# @param Values: 字段的过滤值。
# @type Values: Array
attr_accessor :Name, :Values
def initialize(name=nil, values=nil)
@Name = name
@Values = values
end
def deserialize(params)
@Name = params['Name']
@Values = params['Values']
end
end
# 慢速攻击的首段包配置。
class FirstPartConfig < TencentCloud::Common::AbstractModel
# @param Switch: 开关,取值有:
# on:开启;
# off:关闭。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Switch: String
# @param StatTime: 首段包的统计时长,单位是秒,即期望首段包的统计时长是多少,默认5秒。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type StatTime: Integer
attr_accessor :Switch, :StatTime
def initialize(switch=nil, stattime=nil)
@Switch = switch
@StatTime = stattime
end
def deserialize(params)
@Switch = params['Switch']
@StatTime = params['StatTime']
end
end
# 缓存遵循源站配置
class FollowOrigin < TencentCloud::Common::AbstractModel
# @param Switch: 遵循源站配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param DefaultCacheTime: 源站未返回 Cache-Control 头时, 设置默认的缓存时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DefaultCacheTime: Integer
# @param DefaultCache: 源站未返回 Cache-Control 头时, 设置缓存/不缓存
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DefaultCache: String
# @param DefaultCacheStrategy: 源站未返回 Cache-Control 头时, 使用/不使用默认缓存策略
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DefaultCacheStrategy: String
attr_accessor :Switch, :DefaultCacheTime, :DefaultCache, :DefaultCacheStrategy
def initialize(switch=nil, defaultcachetime=nil, defaultcache=nil, defaultcachestrategy=nil)
@Switch = switch
@DefaultCacheTime = defaultcachetime
@DefaultCache = defaultcache
@DefaultCacheStrategy = defaultcachestrategy
end
def deserialize(params)
@Switch = params['Switch']
@DefaultCacheTime = params['DefaultCacheTime']
@DefaultCache = params['DefaultCache']
@DefaultCacheStrategy = params['DefaultCacheStrategy']
end
end
# 访问协议强制https跳转配置
class ForceRedirect < TencentCloud::Common::AbstractModel
# @param Switch: 访问强制跳转配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param RedirectStatusCode: 重定向状态码,取值有:
# 301:301跳转;
# 302:302跳转。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RedirectStatusCode: Integer
attr_accessor :Switch, :RedirectStatusCode
def initialize(switch=nil, redirectstatuscode=nil)
@Switch = switch
@RedirectStatusCode = redirectstatuscode
end
def deserialize(params)
@Switch = params['Switch']
@RedirectStatusCode = params['RedirectStatusCode']
end
end
# Grpc配置项
class Grpc < TencentCloud::Common::AbstractModel
# @param Switch: 是否开启 Grpc 配置,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# 刷新预热附带的头部信息
class Header < TencentCloud::Common::AbstractModel
# @param Name: HTTP头部名称。
# @type Name: String
# @param Value: HTTP头部值。
# @type Value: String
attr_accessor :Name, :Value
def initialize(name=nil, value=nil)
@Name = name
@Value = value
end
def deserialize(params)
@Name = params['Name']
@Value = params['Value']
end
end
# Hsts配置
class Hsts < TencentCloud::Common::AbstractModel
# @param Switch: 是否开启,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param MaxAge: MaxAge 数值。单位为秒,最大值为1天。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MaxAge: Integer
# @param IncludeSubDomains: 是否包含子域名,取值有:
# on:开启;
# off:关闭。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IncludeSubDomains: String
# @param Preload: 是否开启预加载,取值有:
# on:开启;
# off:关闭。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Preload: String
attr_accessor :Switch, :MaxAge, :IncludeSubDomains, :Preload
def initialize(switch=nil, maxage=nil, includesubdomains=nil, preload=nil)
@Switch = switch
@MaxAge = maxage
@IncludeSubDomains = includesubdomains
@Preload = preload
end
def deserialize(params)
@Switch = params['Switch']
@MaxAge = params['MaxAge']
@IncludeSubDomains = params['IncludeSubDomains']
@Preload = params['Preload']
end
end
# 域名 https 加速配置,默认为关闭状态
class Https < TencentCloud::Common::AbstractModel
# @param Http2: http2 配置开关,取值有:
# on:开启;
# off:关闭。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Http2: String
# @param OcspStapling: OCSP 配置开关,取值有:
# on:开启;
# off:关闭。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OcspStapling: String
# @param TlsVersion: Tls 版本设置,取值有:
# TLSv1:TLSv1版本;
# TLSV1.1:TLSv1.1版本;
# TLSV1.2:TLSv1.2版本;
# TLSv1.3:TLSv1.3版本。修改时必须开启连续的版本。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type TlsVersion: Array
# @param Hsts: HSTS 配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Hsts: :class:`Tencentcloud::Teo.v20220901.models.Hsts`
# @param CertInfo: 证书配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CertInfo: Array
# @param ApplyType: 申请类型,取值有:
# apply:托管EdgeOne;
# none:不托管EdgeOne。不填,默认取值为none。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ApplyType: String
# @param CipherSuite: 密码套件,取值有:
# loose-v2023:提供高兼容性,安全性一般,支持 TLS 1.0-1.3 密码套件;
# general-v2023:提供较高兼容性,安全性中等,支持 TLS 1.2-1.3 密码套件;
# strict-v2023:提供高安全性能,禁用所有含不安全隐患的加密套件,支持 TLS 1.2-1.3 密码套件。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CipherSuite: String
attr_accessor :Http2, :OcspStapling, :TlsVersion, :Hsts, :CertInfo, :ApplyType, :CipherSuite
def initialize(http2=nil, ocspstapling=nil, tlsversion=nil, hsts=nil, certinfo=nil, applytype=nil, ciphersuite=nil)
@Http2 = http2
@OcspStapling = ocspstapling
@TlsVersion = tlsversion
@Hsts = hsts
@CertInfo = certinfo
@ApplyType = applytype
@CipherSuite = ciphersuite
end
def deserialize(params)
@Http2 = params['Http2']
@OcspStapling = params['OcspStapling']
@TlsVersion = params['TlsVersion']
unless params['Hsts'].nil?
@Hsts = Hsts.new
@Hsts.deserialize(params['Hsts'])
end
unless params['CertInfo'].nil?
@CertInfo = []
params['CertInfo'].each do |i|
servercertinfo_tmp = ServerCertInfo.new
servercertinfo_tmp.deserialize(i)
@CertInfo << servercertinfo_tmp
end
end
@ApplyType = params['ApplyType']
@CipherSuite = params['CipherSuite']
end
end
# IP 网段组
class IPGroup < TencentCloud::Common::AbstractModel
# @param GroupId: 组 Id,创建时填 0 即可。
# @type GroupId: Integer
# @param Name: 组名称。
# @type Name: String
# @param Content: IP 组内容,仅支持 IP 及 IP 掩码。
# @type Content: Array
attr_accessor :GroupId, :Name, :Content
def initialize(groupid=nil, name=nil, content=nil)
@GroupId = groupid
@Name = name
@Content = content
end
def deserialize(params)
@GroupId = params['GroupId']
@Name = params['Name']
@Content = params['Content']
end
end
# IP 归属信息查询
class IPRegionInfo < TencentCloud::Common::AbstractModel
# @param IP: IP 地址,IPV4 或 IPV6。
# @type IP: String
# @param IsEdgeOneIP: IP 是否属于 EdgeOne 节点,取值有:
# yes:该 IP 属于 EdgeOne 节点;
# no:该 IP 不属于 EdgeOne 节点。
# @type IsEdgeOneIP: String
attr_accessor :IP, :IsEdgeOneIP
def initialize(ip=nil, isedgeoneip=nil)
@IP = ip
@IsEdgeOneIP = isedgeoneip
end
def deserialize(params)
@IP = params['IP']
@IsEdgeOneIP = params['IsEdgeOneIP']
end
end
# 源站防护IP白名单
class IPWhitelist < TencentCloud::Common::AbstractModel
# @param IPv4: IPv4列表。
# @type IPv4: Array
# @param IPv6: IPv6列表。
# @type IPv6: Array
attr_accessor :IPv4, :IPv6
def initialize(ipv4=nil, ipv6=nil)
@IPv4 = ipv4
@IPv6 = ipv6
end
def deserialize(params)
@IPv4 = params['IPv4']
@IPv6 = params['IPv6']
end
end
# 站点验证信息
class Identification < TencentCloud::Common::AbstractModel
# @param ZoneName: 站点名称。
# @type ZoneName: String
# @param Domain: 验证子域名。验证站点时,该值为空。验证子域名是为具体子域名。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Domain: String
# @param Status: 验证状态,取值有:
# pending:验证中;
# finished:验证完成。
# @type Status: String
# @param Ascription: 站点归属权校验:Dns校验信息。
# @type Ascription: :class:`Tencentcloud::Teo.v20220901.models.AscriptionInfo`
# @param OriginalNameServers: 域名当前的 NS 记录。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OriginalNameServers: Array
# @param FileAscription: 站点归属权校验:文件校验信息。
# @type FileAscription: :class:`Tencentcloud::Teo.v20220901.models.FileAscriptionInfo`
attr_accessor :ZoneName, :Domain, :Status, :Ascription, :OriginalNameServers, :FileAscription
def initialize(zonename=nil, domain=nil, status=nil, ascription=nil, originalnameservers=nil, fileascription=nil)
@ZoneName = zonename
@Domain = domain
@Status = status
@Ascription = ascription
@OriginalNameServers = originalnameservers
@FileAscription = fileascription
end
def deserialize(params)
@ZoneName = params['ZoneName']
@Domain = params['Domain']
@Status = params['Status']
unless params['Ascription'].nil?
@Ascription = AscriptionInfo.new
@Ascription.deserialize(params['Ascription'])
end
@OriginalNameServers = params['OriginalNameServers']
unless params['FileAscription'].nil?
@FileAscription = FileAscriptionInfo.new
@FileAscription.deserialize(params['FileAscription'])
end
end
end
# IdentifyZone请求参数结构体
class IdentifyZoneRequest < TencentCloud::Common::AbstractModel
# @param ZoneName: 站点名称。
# @type ZoneName: String
# @param Domain: 站点下的子域名。如果验证站点下的子域名,则传该值,否则为空。
# @type Domain: String
attr_accessor :ZoneName, :Domain
def initialize(zonename=nil, domain=nil)
@ZoneName = zonename
@Domain = domain
end
def deserialize(params)
@ZoneName = params['ZoneName']
@Domain = params['Domain']
end
end
# IdentifyZone返回参数结构体
class IdentifyZoneResponse < TencentCloud::Common::AbstractModel
# @param Ascription: 站点归属校验:Dns校验信息。
# @type Ascription: :class:`Tencentcloud::Teo.v20220901.models.AscriptionInfo`
# @param FileAscription: 站点归属权校验:文件校验信息。
# @type FileAscription: :class:`Tencentcloud::Teo.v20220901.models.FileAscriptionInfo`
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Ascription, :FileAscription, :RequestId
def initialize(ascription=nil, fileascription=nil, requestid=nil)
@Ascription = ascription
@FileAscription = fileascription
@RequestId = requestid
end
def deserialize(params)
unless params['Ascription'].nil?
@Ascription = AscriptionInfo.new
@Ascription.deserialize(params['Ascription'])
end
unless params['FileAscription'].nil?
@FileAscription = FileAscriptionInfo.new
@FileAscription.deserialize(params['FileAscription'])
end
@RequestId = params['RequestId']
end
end
# 图片优化配置。
class ImageOptimize < TencentCloud::Common::AbstractModel
# @param Switch: 开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# IncreasePlanQuota请求参数结构体
class IncreasePlanQuotaRequest < TencentCloud::Common::AbstractModel
# @param PlanId: 套餐 ID, 形如 edgeone-2unuvzjmmn2q。
# @type PlanId: String
# @param QuotaType: 新增的套餐配额类型,取值有: site:站点数; precise_access_control_rule:Web 防护 - 自定义规则 - 精准匹配策略的规则配额; rate_limiting_rule:Web 防护 - 速率限制 - 精准速率限制模块的规则配额。
# @type QuotaType: String
# @param QuotaNumber: 新增的配额个数。单次新增的配额个数上限为 100。
# @type QuotaNumber: Integer
attr_accessor :PlanId, :QuotaType, :QuotaNumber
def initialize(planid=nil, quotatype=nil, quotanumber=nil)
@PlanId = planid
@QuotaType = quotatype
@QuotaNumber = quotanumber
end
def deserialize(params)
@PlanId = params['PlanId']
@QuotaType = params['QuotaType']
@QuotaNumber = params['QuotaNumber']
end
end
# IncreasePlanQuota返回参数结构体
class IncreasePlanQuotaResponse < TencentCloud::Common::AbstractModel
# @param DealName: 订单号。
# @type DealName: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :DealName, :RequestId
def initialize(dealname=nil, requestid=nil)
@DealName = dealname
@RequestId = requestid
end
def deserialize(params)
@DealName = params['DealName']
@RequestId = params['RequestId']
end
end
# 智能分析规则
class IntelligenceRule < TencentCloud::Common::AbstractModel
# @param Switch: 开关,取值有:
# on:开启;
# off:关闭。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Switch: String
# @param IntelligenceRuleItems: 规则详情。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IntelligenceRuleItems: Array
attr_accessor :Switch, :IntelligenceRuleItems
def initialize(switch=nil, intelligenceruleitems=nil)
@Switch = switch
@IntelligenceRuleItems = intelligenceruleitems
end
def deserialize(params)
@Switch = params['Switch']
unless params['IntelligenceRuleItems'].nil?
@IntelligenceRuleItems = []
params['IntelligenceRuleItems'].each do |i|
intelligenceruleitem_tmp = IntelligenceRuleItem.new
intelligenceruleitem_tmp.deserialize(i)
@IntelligenceRuleItems << intelligenceruleitem_tmp
end
end
end
end
# Bot智能分析规则详情
class IntelligenceRuleItem < TencentCloud::Common::AbstractModel
# @param Label: 智能分析标签,取值有:
# evil_bot:恶意bot;
# suspect_bot:疑似bot;
# good_bot:良好bot;
# normal:正常请求。
# @type Label: String
# @param Action: 触发智能分析标签对应的处置方式,取值有:
# drop:拦截;
# trans:放行;
# alg:Javascript挑战;
# captcha:数字验证码;
# monitor:观察。
# @type Action: String
attr_accessor :Label, :Action
def initialize(label=nil, action=nil)
@Label = label
@Action = action
end
def deserialize(params)
@Label = params['Label']
@Action = params['Action']
end
end
# IP黑白名单及IP区域控制配置
class IpTableConfig < TencentCloud::Common::AbstractModel
# @param Switch: 开关,取值有:
# on:开启;
# off:关闭;
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Switch: String
# @param IpTableRules: 基础管控规则。如果为null,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IpTableRules: Array
attr_accessor :Switch, :IpTableRules
def initialize(switch=nil, iptablerules=nil)
@Switch = switch
@IpTableRules = iptablerules
end
def deserialize(params)
@Switch = params['Switch']
unless params['IpTableRules'].nil?
@IpTableRules = []
params['IpTableRules'].each do |i|
iptablerule_tmp = IpTableRule.new
iptablerule_tmp.deserialize(i)
@IpTableRules << iptablerule_tmp
end
end
end
end
# 自定义规则-基础访问管控配置。
class IpTableRule < TencentCloud::Common::AbstractModel
# @param Action: 动作,取值有:
# drop:拦截;
# trans:放行;
# monitor:观察。
# @type Action: String
# @param MatchFrom: 根据类型匹配,取值有:
# ip:客户端 IP 进行匹配;
# area:客户端 IP 所属地区匹配;
# asn:客户端所属的自治系统进行匹配;
# referer:请求头 Referer 进行匹配;
# ua:请求头 User-Agent 进行匹配;
# url:请求 URL 进行匹配。
# @type MatchFrom: String
# @param Operator: 规则的匹配方式。取值有:
# match:匹配,适用于 MatchFrom 为 ip;
# not_match:不匹配,适用于 MatchFrom 为 ip;
# include_area:地域包含,适用于 MatchFrom 为 area;
# not_include_area:地域不包含,适用于 MatchFrom 为 area;
# asn_match:ASN 包含,适用于 MatchFrom 为 asn;
# asn_not_match:ASN 不包含,适用于 MatchFrom 为 asn;
# equal:等于,适用于 MatchFrom 为 ua , referer;
# not_equal:不等于,适用于 MatchFrom 为 ua , referer;
# include:通配符匹配,适用于 MatchFrom 为 ua , referer , url;
# not_include:通配符不匹配,适用于 MatchFrom 为 ua , referer;
# is_emty:配置内容为空,适用于 MatchFrom 为 ua , referer;
# not_exists:配置内容不存在,适用于 MatchFrom 为 ua , referer。
# @type Operator: String
# @param RuleID: 规则id。仅出参使用。
# @type RuleID: Integer
# @param UpdateTime: 更新时间。仅出参使用。
# @type UpdateTime: String
# @param Status: 规则启用状态。取值有:
# on:启用;
# off:未启用。
# 当入参缺省时,按 on 取值。
# @type Status: String
# @param RuleName: 规则名。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RuleName: String
# @param MatchContent: 匹配内容。支持多值输入。
# 当输入多个匹配值时,请使用英文逗号分隔;
# 当 MatchFrom 为 ua 时,不支持多值输入;
# 当 Operator 为 is_empty 或 not_exists 时,本字段入参值无效。
# @type MatchContent: String
attr_accessor :Action, :MatchFrom, :Operator, :RuleID, :UpdateTime, :Status, :RuleName, :MatchContent
def initialize(action=nil, matchfrom=nil, operator=nil, ruleid=nil, updatetime=nil, status=nil, rulename=nil, matchcontent=nil)
@Action = action
@MatchFrom = matchfrom
@Operator = operator
@RuleID = ruleid
@UpdateTime = updatetime
@Status = status
@RuleName = rulename
@MatchContent = matchcontent
end
def deserialize(params)
@Action = params['Action']
@MatchFrom = params['MatchFrom']
@Operator = params['Operator']
@RuleID = params['RuleID']
@UpdateTime = params['UpdateTime']
@Status = params['Status']
@RuleName = params['RuleName']
@MatchContent = params['MatchContent']
end
end
# Ipv6访问配置
class Ipv6 < TencentCloud::Common::AbstractModel
# @param Switch: Ipv6 访问功能配置,取值有:
# on:开启Ipv6访问功能;
# off:关闭Ipv6访问功能。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# 离线日志详细信息
class L4OfflineLog < TencentCloud::Common::AbstractModel
# @param ProxyId: 四层代理实例 ID。
# @type ProxyId: String
# @param Area: 日志所属区域,取值有:
# mainland:中国大陆境内;
# overseas:全球(不含中国大陆)。
# @type Area: String
# @param LogPacketName: 离线日志数据包名。
# @type LogPacketName: String
# @param Url: 离线日志下载地址。
# @type Url: String
# @param LogTime: 日志打包时间,此参数已经废弃。
# @type LogTime: Integer
# @param LogStartTime: 日志打包开始时间。
# @type LogStartTime: String
# @param LogEndTime: 日志打包结束时间。
# @type LogEndTime: String
# @param Size: 日志大小,单位为 Byte。
# @type Size: Integer
attr_accessor :ProxyId, :Area, :LogPacketName, :Url, :LogTime, :LogStartTime, :LogEndTime, :Size
def initialize(proxyid=nil, area=nil, logpacketname=nil, url=nil, logtime=nil, logstarttime=nil, logendtime=nil, size=nil)
@ProxyId = proxyid
@Area = area
@LogPacketName = logpacketname
@Url = url
@LogTime = logtime
@LogStartTime = logstarttime
@LogEndTime = logendtime
@Size = size
end
def deserialize(params)
@ProxyId = params['ProxyId']
@Area = params['Area']
@LogPacketName = params['LogPacketName']
@Url = params['Url']
@LogTime = params['LogTime']
@LogStartTime = params['LogStartTime']
@LogEndTime = params['LogEndTime']
@Size = params['Size']
end
end
# 四层代理实例。
class L4Proxy < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyId: 四层代理实例 ID。
# @type ProxyId: String
# @param ProxyName: 四层代理实例名称。
# @type ProxyName: String
# @param Area: 四层代理实例的加速区域。
# mainland:中国大陆可用区;
# overseas: 全球可用区(不含中国大陆);
# global:全球可用区。
# @type Area: String
# @param Cname: 接入 CNAME。
# @type Cname: String
# @param Ips: 开启固定 IP 后,该值会返回对应的接入 IP;未开启时,该值为空。
# @type Ips: Array
# @param Status: 四层代理实例状态。
# online:已启用;
# offline:已停用;
# progress:部署中;
# stopping:停用中;
# banned:已封禁;
# fail:部署失败/停用失败。
# @type Status: String
# @param Ipv6: 是否开启 IPv6 访问。
# on:开启;
# off:关闭。
# @type Ipv6: String
# @param StaticIp: 是否开启固定 IP。
# on:开启; off:关闭。
# @type StaticIp: String
# @param AccelerateMainland: 是否开启中国大陆网络优化。
# on:开启 off:关闭
# @type AccelerateMainland: String
# @param DDosProtectionConfig: 安全防护配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DDosProtectionConfig: :class:`Tencentcloud::Teo.v20220901.models.DDosProtectionConfig`
# @param L4ProxyRuleCount: 四层代理实例下的转发规则数量。
# @type L4ProxyRuleCount: Integer
# @param UpdateTime: 最新变更时间。
# @type UpdateTime: String
attr_accessor :ZoneId, :ProxyId, :ProxyName, :Area, :Cname, :Ips, :Status, :Ipv6, :StaticIp, :AccelerateMainland, :DDosProtectionConfig, :L4ProxyRuleCount, :UpdateTime
def initialize(zoneid=nil, proxyid=nil, proxyname=nil, area=nil, cname=nil, ips=nil, status=nil, ipv6=nil, staticip=nil, acceleratemainland=nil, ddosprotectionconfig=nil, l4proxyrulecount=nil, updatetime=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@ProxyName = proxyname
@Area = area
@Cname = cname
@Ips = ips
@Status = status
@Ipv6 = ipv6
@StaticIp = staticip
@AccelerateMainland = acceleratemainland
@DDosProtectionConfig = ddosprotectionconfig
@L4ProxyRuleCount = l4proxyrulecount
@UpdateTime = updatetime
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@ProxyName = params['ProxyName']
@Area = params['Area']
@Cname = params['Cname']
@Ips = params['Ips']
@Status = params['Status']
@Ipv6 = params['Ipv6']
@StaticIp = params['StaticIp']
@AccelerateMainland = params['AccelerateMainland']
unless params['DDosProtectionConfig'].nil?
@DDosProtectionConfig = DDosProtectionConfig.new
@DDosProtectionConfig.deserialize(params['DDosProtectionConfig'])
end
@L4ProxyRuleCount = params['L4ProxyRuleCount']
@UpdateTime = params['UpdateTime']
end
end
# 四层远程鉴权信息
class L4ProxyRemoteAuth < TencentCloud::Common::AbstractModel
# @param Switch: 四层远程鉴权开关,取值有:
# on:表示开启;
# off:表示关闭。
# @type Switch: String
# @param Address: 远程鉴权服务地址,格式为: domain/ip:port。例:example.auth.com:8888
# @type Address: String
# @param ServerFaultyBehavior: 远程鉴权服务不可访问后,经过四层转发规则默认回源行为,取值有:
# reject:表示进行拦截,拒绝访问;
# allow:表示允许通过。
# @type ServerFaultyBehavior: String
attr_accessor :Switch, :Address, :ServerFaultyBehavior
def initialize(switch=nil, address=nil, serverfaultybehavior=nil)
@Switch = switch
@Address = address
@ServerFaultyBehavior = serverfaultybehavior
end
def deserialize(params)
@Switch = params['Switch']
@Address = params['Address']
@ServerFaultyBehavior = params['ServerFaultyBehavior']
end
end
# 四层代理转发规则详情。
class L4ProxyRule < TencentCloud::Common::AbstractModel
# @param RuleId: 转发规则 ID。
# 注意:L4ProxyRule 在 CreateL4ProxyRules 作为入参使用时,该参数请勿填写;在 ModifyL4ProxyRules 作为入参使用时,该参数必填。
# @type RuleId: String
# @param Protocol: 转发协议。取值有:
# TCP:TCP 协议;
# UDP:UDP 协议。
# 注意:L4ProxyRule 在 CreateL4ProxyRules 作为入参使用时,该参数必填;在 ModifyL4ProxyRules 作为入参使用时,该参数选填,不填写时表示不修改。
# @type Protocol: String
# @param PortRange: 转发端口,支持按照以下形式填写:
# 单端口,如:80;
# 端口段,如:81-85。表示 81、82、83、84、85 五个端口。
# 注意:L4ProxyRule 在 CreateL4ProxyRules 作为入参使用时,该参数必填;在 ModifyL4ProxyRules 作为入参使用时,该参数选填,不填写时表示不修改。
# @type PortRange: Array
# @param OriginType: 源站类型,取值有:
# IP_DOMAIN:IP/域名源站;
# ORIGIN_GROUP:源站组;
# LB:负载均衡,当前仅白名单开放。
# 注意:L4ProxyRule 在 CreateL4ProxyRules 作为入参使用时,该参数必填;在 ModifyL4ProxyRules 作为入参使用时,该参数选填,不填写时表示不修改。
# @type OriginType: String
# @param OriginValue: 源站地址:
# 当 OriginType 为 IP_DOMAIN 时,填写 IP 或域名,如 8.8.8.8 或 test.com ;
# 当 OriginType 为 ORIGIN_GROUP 时,填写源站组 ID,如 og-537y24vf5b41;
# 当 OriginType 为 LB 时,填写负载均衡实例 ID,如 lb-2qwk30xf7s9g。
# 注意:L4ProxyRule 在 CreateL4ProxyRules 作为入参使用时,该参数必填;在 ModifyL4ProxyRules 作为入参使用时,该参数选填,不填写时表示不修改。
# @type OriginValue: Array
# @param OriginPortRange: 源站端口,支持按照以下形式填写:
# 单端口,如:80;
# 端口段,如:81-85,表示 81、82、83、84、85 五个端口。填写端口段时,则需要与转发端口段长度保持一致,例如转发端口:80-90,则转发端口:90-100。
# 注意:L4ProxyRule 在 CreateL4ProxyRules 作为入参使用时,该参数必填;在 ModifyL4ProxyRules 作为入参使用时,该参数选填,不填写时表示不修改。
# @type OriginPortRange: String
# @param ClientIPPassThroughMode: 传递客户端 IP 的形式,取值有:
# TOA:TOA(仅 Protocol = TCP 时可选);
# PPV1:Proxy Protocol 传递,协议版本 V1(仅 Protocol = TCP 时可选);
# PPV2:Proxy Protocol 传递,协议版本 V2;
# SPP:Simple Proxy Protocol 传递,(仅 Protocol = UDP 时可选);
# OFF:不传递。
# 注意:L4ProxyRule 在 CreateL4ProxyRules 作为入参使用时,该参数选填,不填写时默认为 OFF;在 ModifyL4ProxyRules 作为入参使用时,该参数选填,不填写表示不修改。
# @type ClientIPPassThroughMode: String
# @param SessionPersist: 是否开启会话保持,取值有:
# on:开启;
# off:关闭。
# 注意:L4ProxyRule 在 CreateL4ProxyRules 作为入参使用时,该参数选填,不填写时默认为 off;在 ModifyL4ProxyRules 作为入参使用时,该参数选填,不填写表示不修改。
# @type SessionPersist: String
# @param SessionPersistTime: 会话保持时间,取值范围为 30-3600,单位为秒。
# 注意:L4ProxyRule 在 CreateL4ProxyRules 作为入参使用时,该参数选填,仅当 SessionPersist = on 时,该值才会生效,且当 SessionPersist = on ,该值不填写默认为 3600;在 ModifyL4ProxyRules 作为入参使用时,该参数选填,不填写表示不修改。
# @type SessionPersistTime: Integer
# @param RuleTag: 规则标签。可输入1-50 个任意字符。
# 注意:L4ProxyRule 在 CreateL4ProxyRules 作为入参使用时,该参数选填;在 ModifyL4ProxyRules 作为入参使用时,该参数选填,不填写表示不修改。
# @type RuleTag: String
# @param Status: 规则状态,取值有:
# online:已启用;
# offline:已停用;
# progress:部署中;
# stopping:停用中;
# fail:部署失败/停用失败。
# 注意:L4ProxyRule 在 CreateL4ProxyRules、ModifyL4ProxyRules 作为入参使用时,该参数请勿填写。
# @type Status: String
# @param BuId: BuID。
# @type BuId: String
# @param RemoteAuth: 远程鉴权信息。
# 注意:RemoteAuth 在 CreateL4ProxyRules 或 ModifyL4ProxyRules 不可作为入参使用,如有传此参数,会忽略。在 DescribeL4ProxyRules 返回为空时,表示没有开启远程鉴权。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RemoteAuth: :class:`Tencentcloud::Teo.v20220901.models.L4ProxyRemoteAuth`
attr_accessor :RuleId, :Protocol, :PortRange, :OriginType, :OriginValue, :OriginPortRange, :ClientIPPassThroughMode, :SessionPersist, :SessionPersistTime, :RuleTag, :Status, :BuId, :RemoteAuth
def initialize(ruleid=nil, protocol=nil, portrange=nil, origintype=nil, originvalue=nil, originportrange=nil, clientippassthroughmode=nil, sessionpersist=nil, sessionpersisttime=nil, ruletag=nil, status=nil, buid=nil, remoteauth=nil)
@RuleId = ruleid
@Protocol = protocol
@PortRange = portrange
@OriginType = origintype
@OriginValue = originvalue
@OriginPortRange = originportrange
@ClientIPPassThroughMode = clientippassthroughmode
@SessionPersist = sessionpersist
@SessionPersistTime = sessionpersisttime
@RuleTag = ruletag
@Status = status
@BuId = buid
@RemoteAuth = remoteauth
end
def deserialize(params)
@RuleId = params['RuleId']
@Protocol = params['Protocol']
@PortRange = params['PortRange']
@OriginType = params['OriginType']
@OriginValue = params['OriginValue']
@OriginPortRange = params['OriginPortRange']
@ClientIPPassThroughMode = params['ClientIPPassThroughMode']
@SessionPersist = params['SessionPersist']
@SessionPersistTime = params['SessionPersistTime']
@RuleTag = params['RuleTag']
@Status = params['Status']
@BuId = params['BuId']
unless params['RemoteAuth'].nil?
@RemoteAuth = L4ProxyRemoteAuth.new
@RemoteAuth.deserialize(params['RemoteAuth'])
end
end
end
# 七层离线日志详细信息。
class L7OfflineLog < TencentCloud::Common::AbstractModel
# @param Domain: 离线日志域名。
# @type Domain: String
# @param Area: 日志所属区域,取值有:
# mainland:中国大陆境内;
# overseas:全球(不含中国大陆)。
# @type Area: String
# @param LogPacketName: 离线日志数据包名。
# @type LogPacketName: String
# @param Url: 离线日志下载地址。
# @type Url: String
# @param LogTime: 日志打包时间,此参数已经废弃。
# @type LogTime: Integer
# @param LogStartTime: 日志打包开始时间。
# @type LogStartTime: String
# @param LogEndTime: 日志打包结束时间。
# @type LogEndTime: String
# @param Size: 日志原始大小,单位 Byte。
# @type Size: Integer
attr_accessor :Domain, :Area, :LogPacketName, :Url, :LogTime, :LogStartTime, :LogEndTime, :Size
def initialize(domain=nil, area=nil, logpacketname=nil, url=nil, logtime=nil, logstarttime=nil, logendtime=nil, size=nil)
@Domain = domain
@Area = area
@LogPacketName = logpacketname
@Url = url
@LogTime = logtime
@LogStartTime = logstarttime
@LogEndTime = logendtime
@Size = size
end
def deserialize(params)
@Domain = params['Domain']
@Area = params['Area']
@LogPacketName = params['LogPacketName']
@Url = params['Url']
@LogTime = params['LogTime']
@LogStartTime = params['LogStartTime']
@LogEndTime = params['LogEndTime']
@Size = params['Size']
end
end
# 实时日志投递的输出格式。您可以直接通过 FormatType 参数使用指定预设日志输出格式(JSON Lines / csv),也可以在预设日志输出格式基础上,通过其他参数来自定义变体输出格式。
class LogFormat < TencentCloud::Common::AbstractModel
# @param FormatType: 日志投递的预设输出格式类型,取值有:
# json:使用预设日志输出格式 JSON Lines,单条日志中的字段以键值对方式呈现;
# csv:使用预设日志输出格式 csv,单条日志中仅呈现字段值,不呈现字段名称。
# @type FormatType: String
# @param BatchPrefix: 在每个日志投递批次之前添加的字符串。每个日志投递批次可能包含多条日志记录。
# @type BatchPrefix: String
# @param BatchSuffix: 在每个日志投递批次后附加的字符串。
# @type BatchSuffix: String
# @param RecordPrefix: 在每条日志记录之前添加的字符串。
# @type RecordPrefix: String
# @param RecordSuffix: 在每条日志记录后附加的字符串。
# @type RecordSuffix: String
# @param RecordDelimiter: 插入日志记录之间作为分隔符的字符串,取值有:
# \n:换行符;
# \t:制表符;
# ,:半角逗号。
# @type RecordDelimiter: String
# @param FieldDelimiter: 单条日志记录内,插入字段之间作为分隔符的字符串,取值有:
# \t:制表符;
# ,:半角逗号;
# ;:半角分号。
# @type FieldDelimiter: String
attr_accessor :FormatType, :BatchPrefix, :BatchSuffix, :RecordPrefix, :RecordSuffix, :RecordDelimiter, :FieldDelimiter
def initialize(formattype=nil, batchprefix=nil, batchsuffix=nil, recordprefix=nil, recordsuffix=nil, recorddelimiter=nil, fielddelimiter=nil)
@FormatType = formattype
@BatchPrefix = batchprefix
@BatchSuffix = batchsuffix
@RecordPrefix = recordprefix
@RecordSuffix = recordsuffix
@RecordDelimiter = recorddelimiter
@FieldDelimiter = fielddelimiter
end
def deserialize(params)
@FormatType = params['FormatType']
@BatchPrefix = params['BatchPrefix']
@BatchSuffix = params['BatchSuffix']
@RecordPrefix = params['RecordPrefix']
@RecordSuffix = params['RecordSuffix']
@RecordDelimiter = params['RecordDelimiter']
@FieldDelimiter = params['FieldDelimiter']
end
end
# 浏览器缓存规则配置,用于设置 MaxAge 默认值,默认为关闭状态
class MaxAge < TencentCloud::Common::AbstractModel
# @param FollowOrigin: 是否遵循源站,取值有:
# on:遵循源站,忽略MaxAge 时间设置;
# off:不遵循源站,使用MaxAge 时间设置。
# @type FollowOrigin: String
# @param MaxAgeTime: MaxAge 时间设置,单位秒,最大365天。
# 注意:时间为0,即不缓存。
# @type MaxAgeTime: Integer
attr_accessor :FollowOrigin, :MaxAgeTime
def initialize(followorigin=nil, maxagetime=nil)
@FollowOrigin = followorigin
@MaxAgeTime = maxagetime
end
def deserialize(params)
@FollowOrigin = params['FollowOrigin']
@MaxAgeTime = params['MaxAgeTime']
end
end
# ModifyAccelerationDomain请求参数结构体
class ModifyAccelerationDomainRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 加速域名所属站点ID。
# @type ZoneId: String
# @param DomainName: 加速域名名称。
# @type DomainName: String
# @param OriginInfo: 源站信息。
# @type OriginInfo: :class:`Tencentcloud::Teo.v20220901.models.OriginInfo`
# @param OriginProtocol: 回源协议,取值有:
# FOLLOW: 协议跟随;
# HTTP: HTTP协议回源;
# HTTPS: HTTPS协议回源。
# 不填保持原有配置。
# @type OriginProtocol: String
# @param HttpOriginPort: HTTP回源端口,取值为1-65535,当OriginProtocol=FOLLOW/HTTP时生效, 不填保持原有配置。
# @type HttpOriginPort: Integer
# @param HttpsOriginPort: HTTPS回源端口,取值为1-65535,当OriginProtocol=FOLLOW/HTTPS时生效,不填保持原有配置。
# @type HttpsOriginPort: Integer
# @param IPv6Status: IPv6状态,取值有:
# follow:遵循站点IPv6配置;
# on:开启状态;
# off:关闭状态。
# 不填保持原有配置。
# @type IPv6Status: String
attr_accessor :ZoneId, :DomainName, :OriginInfo, :OriginProtocol, :HttpOriginPort, :HttpsOriginPort, :IPv6Status
def initialize(zoneid=nil, domainname=nil, origininfo=nil, originprotocol=nil, httporiginport=nil, httpsoriginport=nil, ipv6status=nil)
@ZoneId = zoneid
@DomainName = domainname
@OriginInfo = origininfo
@OriginProtocol = originprotocol
@HttpOriginPort = httporiginport
@HttpsOriginPort = httpsoriginport
@IPv6Status = ipv6status
end
def deserialize(params)
@ZoneId = params['ZoneId']
@DomainName = params['DomainName']
unless params['OriginInfo'].nil?
@OriginInfo = OriginInfo.new
@OriginInfo.deserialize(params['OriginInfo'])
end
@OriginProtocol = params['OriginProtocol']
@HttpOriginPort = params['HttpOriginPort']
@HttpsOriginPort = params['HttpsOriginPort']
@IPv6Status = params['IPv6Status']
end
end
# ModifyAccelerationDomain返回参数结构体
class ModifyAccelerationDomainResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyAccelerationDomainStatuses请求参数结构体
class ModifyAccelerationDomainStatusesRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 加速域名所属站点ID。
# @type ZoneId: String
# @param DomainNames: 要执行状态变更的加速域名列表。
# @type DomainNames: Array
# @param Status: 加速域名状态,取值有:
# online:启用;
# offline:停用。
# @type Status: String
# @param Force: 是否强制停用。当域名存在关联资源(如马甲域名、流量调度功能)时,是否强制停用该域名,取值有:
# true:停用该域名及所有关联资源;
# false:当该加速域名存在关联资源时,不允许停用。不填写,默认值为:false。
# @type Force: Boolean
attr_accessor :ZoneId, :DomainNames, :Status, :Force
def initialize(zoneid=nil, domainnames=nil, status=nil, force=nil)
@ZoneId = zoneid
@DomainNames = domainnames
@Status = status
@Force = force
end
def deserialize(params)
@ZoneId = params['ZoneId']
@DomainNames = params['DomainNames']
@Status = params['Status']
@Force = params['Force']
end
end
# ModifyAccelerationDomainStatuses返回参数结构体
class ModifyAccelerationDomainStatusesResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyAliasDomain请求参数结构体
class ModifyAliasDomainRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param AliasName: 别称域名名称。
# @type AliasName: String
# @param TargetName: 目标域名名称。
# @type TargetName: String
# @param CertType: 证书配置,取值有:
# none:不配置;
# hosting:SSL托管证书;
# apply:申请免费证书。不填写保持原有配置。
# @type CertType: String
# @param CertId: 当 CertType 取值为 hosting 时填入相应证书 ID。
# @type CertId: Array
attr_accessor :ZoneId, :AliasName, :TargetName, :CertType, :CertId
def initialize(zoneid=nil, aliasname=nil, targetname=nil, certtype=nil, certid=nil)
@ZoneId = zoneid
@AliasName = aliasname
@TargetName = targetname
@CertType = certtype
@CertId = certid
end
def deserialize(params)
@ZoneId = params['ZoneId']
@AliasName = params['AliasName']
@TargetName = params['TargetName']
@CertType = params['CertType']
@CertId = params['CertId']
end
end
# ModifyAliasDomain返回参数结构体
class ModifyAliasDomainResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyAliasDomainStatus请求参数结构体
class ModifyAliasDomainStatusRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Paused: 别称域名状态,取值有:
# false:开启别称域名;
# true:关闭别称域名。
# @type Paused: Boolean
# @param AliasNames: 待修改状态的别称域名名称。如果为空,则不执行修改状态操作。
# @type AliasNames: Array
attr_accessor :ZoneId, :Paused, :AliasNames
def initialize(zoneid=nil, paused=nil, aliasnames=nil)
@ZoneId = zoneid
@Paused = paused
@AliasNames = aliasnames
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Paused = params['Paused']
@AliasNames = params['AliasNames']
end
end
# ModifyAliasDomainStatus返回参数结构体
class ModifyAliasDomainStatusResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyApplicationProxy请求参数结构体
class ModifyApplicationProxyRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyId: 代理 ID。
# @type ProxyId: String
# @param ProxyName: 当 ProxyType=hostname 时,表示域名或子域名;
# 当 ProxyType=instance 时,表示代理名称。
# @type ProxyName: String
# @param SessionPersistTime: 会话保持时间,取值范围:30-3600,单位:秒。
# 不填写保持原有配置。
# @type SessionPersistTime: Integer
# @param ProxyType: 四层代理模式,取值有:
# instance:表示实例模式。不填写使用默认值instance。
# @type ProxyType: String
# @param Ipv6: Ipv6 访问配置,不填写保持原有配置。
# @type Ipv6: :class:`Tencentcloud::Teo.v20220901.models.Ipv6`
# @param AccelerateMainland: 中国大陆加速优化配置。 不填写表示保持原有配置。
# @type AccelerateMainland: :class:`Tencentcloud::Teo.v20220901.models.AccelerateMainland`
attr_accessor :ZoneId, :ProxyId, :ProxyName, :SessionPersistTime, :ProxyType, :Ipv6, :AccelerateMainland
def initialize(zoneid=nil, proxyid=nil, proxyname=nil, sessionpersisttime=nil, proxytype=nil, ipv6=nil, acceleratemainland=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@ProxyName = proxyname
@SessionPersistTime = sessionpersisttime
@ProxyType = proxytype
@Ipv6 = ipv6
@AccelerateMainland = acceleratemainland
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@ProxyName = params['ProxyName']
@SessionPersistTime = params['SessionPersistTime']
@ProxyType = params['ProxyType']
unless params['Ipv6'].nil?
@Ipv6 = Ipv6.new
@Ipv6.deserialize(params['Ipv6'])
end
unless params['AccelerateMainland'].nil?
@AccelerateMainland = AccelerateMainland.new
@AccelerateMainland.deserialize(params['AccelerateMainland'])
end
end
end
# ModifyApplicationProxy返回参数结构体
class ModifyApplicationProxyResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyApplicationProxyRule请求参数结构体
class ModifyApplicationProxyRuleRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param ProxyId: 代理ID。
# @type ProxyId: String
# @param RuleId: 规则ID。
# @type RuleId: String
# @param OriginType: 源站类型,取值有:
# custom:手动添加;
# origins:源站组。
# @type OriginType: String
# @param Port: 端口,支持格式:
# 80:80端口;
# 81-90:81至90端口。
# @type Port: Array
# @param Proto: 协议,取值有:
# TCP:TCP协议;
# UDP:UDP协议。不填保持原有值。
# @type Proto: String
# @param OriginValue: 源站信息:
# 当 OriginType 为 custom 时,表示一个或多个源站,如`["8.8.8.8","9.9.9.9"]` 或 `OriginValue=["test.com"]`;
# 当 OriginType 为 origins 时,要求有且仅有一个元素,表示源站组ID,如`["origin-537f5b41-162a-11ed-abaa-525400c5da15"]`。
# 不填保持原有值。
# @type OriginValue: Array
# @param ForwardClientIp: 传递客户端IP,取值有:
# TOA:TOA(仅Proto=TCP时可选);
# PPV1:Proxy Protocol传递,协议版本V1(仅Proto=TCP时可选);
# PPV2:Proxy Protocol传递,协议版本V2;
# OFF:不传递。不填保持原有值。
# @type ForwardClientIp: String
# @param SessionPersist: 是否开启会话保持,取值有:
# true:开启;
# false:关闭。不填为false。
# @type SessionPersist: Boolean
# @param SessionPersistTime: 会话保持的时间,只有当SessionPersist为true时,该值才会生效。
# @type SessionPersistTime: Integer
# @param OriginPort: 源站端口,支持格式:
# 单端口:80;
# 端口段:81-90,81至90端口。
# @type OriginPort: String
# @param RuleTag: 规则标签。不填保持原有值。
# @type RuleTag: String
attr_accessor :ZoneId, :ProxyId, :RuleId, :OriginType, :Port, :Proto, :OriginValue, :ForwardClientIp, :SessionPersist, :SessionPersistTime, :OriginPort, :RuleTag
def initialize(zoneid=nil, proxyid=nil, ruleid=nil, origintype=nil, port=nil, proto=nil, originvalue=nil, forwardclientip=nil, sessionpersist=nil, sessionpersisttime=nil, originport=nil, ruletag=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@RuleId = ruleid
@OriginType = origintype
@Port = port
@Proto = proto
@OriginValue = originvalue
@ForwardClientIp = forwardclientip
@SessionPersist = sessionpersist
@SessionPersistTime = sessionpersisttime
@OriginPort = originport
@RuleTag = ruletag
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@RuleId = params['RuleId']
@OriginType = params['OriginType']
@Port = params['Port']
@Proto = params['Proto']
@OriginValue = params['OriginValue']
@ForwardClientIp = params['ForwardClientIp']
@SessionPersist = params['SessionPersist']
@SessionPersistTime = params['SessionPersistTime']
@OriginPort = params['OriginPort']
@RuleTag = params['RuleTag']
end
end
# ModifyApplicationProxyRule返回参数结构体
class ModifyApplicationProxyRuleResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyApplicationProxyRuleStatus请求参数结构体
class ModifyApplicationProxyRuleStatusRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param ProxyId: 代理ID。
# @type ProxyId: String
# @param RuleId: 规则ID。
# @type RuleId: String
# @param Status: 状态,取值有:
# offline: 停用;
# online: 启用。
# @type Status: String
attr_accessor :ZoneId, :ProxyId, :RuleId, :Status
def initialize(zoneid=nil, proxyid=nil, ruleid=nil, status=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@RuleId = ruleid
@Status = status
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@RuleId = params['RuleId']
@Status = params['Status']
end
end
# ModifyApplicationProxyRuleStatus返回参数结构体
class ModifyApplicationProxyRuleStatusResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyApplicationProxyStatus请求参数结构体
class ModifyApplicationProxyStatusRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param ProxyId: 代理ID。
# @type ProxyId: String
# @param Status: 状态,取值有:
# offline: 停用;
# online: 启用。
# @type Status: String
attr_accessor :ZoneId, :ProxyId, :Status
def initialize(zoneid=nil, proxyid=nil, status=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@Status = status
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@Status = params['Status']
end
end
# ModifyApplicationProxyStatus返回参数结构体
class ModifyApplicationProxyStatusResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyCustomErrorPage请求参数结构体
class ModifyCustomErrorPageRequest < TencentCloud::Common::AbstractModel
# @param PageId: 自定义错误页面 ID。
# @type PageId: String
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Name: 自定义错误页名称,名称为2 - 60个字符。
# @type Name: String
# @param Description: 自定义错误页描述,描述内容不超过60个字符。
# @type Description: String
# @param ContentType: 自定义错误页面类型,取值有:text/html。 application/json。plain/text。text/xml。
# @type ContentType: String
# @param Content: 自定义错误页面内容。内容不超过 2KB。
# @type Content: String
attr_accessor :PageId, :ZoneId, :Name, :Description, :ContentType, :Content
def initialize(pageid=nil, zoneid=nil, name=nil, description=nil, contenttype=nil, content=nil)
@PageId = pageid
@ZoneId = zoneid
@Name = name
@Description = description
@ContentType = contenttype
@Content = content
end
def deserialize(params)
@PageId = params['PageId']
@ZoneId = params['ZoneId']
@Name = params['Name']
@Description = params['Description']
@ContentType = params['ContentType']
@Content = params['Content']
end
end
# ModifyCustomErrorPage返回参数结构体
class ModifyCustomErrorPageResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyHostsCertificate请求参数结构体
class ModifyHostsCertificateRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Hosts: 需要修改证书配置的加速域名。
# @type Hosts: Array
# @param Mode: 配置服务端证书的模式,取值有:
# disable:不配置服务端证书;
# eofreecert:配置 EdgeOne 免费服务端证书;
# sslcert:配置 SSL 托管服务端证书;
# 不填写表示服务端证书保持原有配置。
# @type Mode: String
# @param ServerCertInfo: SSL 证书配置,本参数仅在 mode 为 sslcert 时生效,传入对应证书的 CertId 即可。您可以前往 [SSL 证书列表](https://console.cloud.tencent.com/certoverview) 查看 CertId。
# @type ServerCertInfo: Array
# @param ApplyType: 托管类型,取值有:
# none:不托管EO;
# apply:托管EO
# 不填,默认取值为none。
# @type ApplyType: String
# @param ClientCertInfo: 边缘双向认证配置。
# 不填写表示边缘双向认证保持原有配置。
# @type ClientCertInfo: :class:`Tencentcloud::Teo.v20220901.models.MutualTLS`
attr_accessor :ZoneId, :Hosts, :Mode, :ServerCertInfo, :ApplyType, :ClientCertInfo
extend Gem::Deprecate
deprecate :ApplyType, :none, 2024, 9
deprecate :ApplyType=, :none, 2024, 9
def initialize(zoneid=nil, hosts=nil, mode=nil, servercertinfo=nil, applytype=nil, clientcertinfo=nil)
@ZoneId = zoneid
@Hosts = hosts
@Mode = mode
@ServerCertInfo = servercertinfo
@ApplyType = applytype
@ClientCertInfo = clientcertinfo
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Hosts = params['Hosts']
@Mode = params['Mode']
unless params['ServerCertInfo'].nil?
@ServerCertInfo = []
params['ServerCertInfo'].each do |i|
servercertinfo_tmp = ServerCertInfo.new
servercertinfo_tmp.deserialize(i)
@ServerCertInfo << servercertinfo_tmp
end
end
@ApplyType = params['ApplyType']
unless params['ClientCertInfo'].nil?
@ClientCertInfo = MutualTLS.new
@ClientCertInfo.deserialize(params['ClientCertInfo'])
end
end
end
# ModifyHostsCertificate返回参数结构体
class ModifyHostsCertificateResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyL4Proxy请求参数结构体
class ModifyL4ProxyRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyId: 应用 ID。
# @type ProxyId: String
# @param Ipv6: 是否开启 IPv6 访问。 不填该参数时,表示不修改该配置。该配置仅在部分加速区域和安全防护配置下支持开启,详情请参考 [新建四层代理实例](https://cloud.tencent.com/document/product/1552/90025) 。取值为:
# on:开启;
# off:关闭。
# @type Ipv6: String
# @param AccelerateMainland: 是否开启中国大陆网络优化。不填该参数时,表示不修改该配置。该配置仅在部分加速区域和安全防护配置下支持开启,详情请参考 [新建四层代理实例](https://cloud.tencent.com/document/product/1552/90025) 。取值为:
# on:开启;
# off:关闭。
# @type AccelerateMainland: String
attr_accessor :ZoneId, :ProxyId, :Ipv6, :AccelerateMainland
def initialize(zoneid=nil, proxyid=nil, ipv6=nil, acceleratemainland=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@Ipv6 = ipv6
@AccelerateMainland = acceleratemainland
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@Ipv6 = params['Ipv6']
@AccelerateMainland = params['AccelerateMainland']
end
end
# ModifyL4Proxy返回参数结构体
class ModifyL4ProxyResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyL4ProxyRules请求参数结构体
class ModifyL4ProxyRulesRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyId: 四层代理实例 ID。
# @type ProxyId: String
# @param L4ProxyRules: 转发规则列表。单次最多支持 200 条转发规则。
# 注意:L4ProxyRule 在此处使用时,RuleId 为必填字段;Protocol、PortRange、OriginType、OriginValue、OriginPortRange、ClientIPPassThroughMode、SessionPersist、SessionPersistTime、RuleTag 均为选填字段,不填写表示不修改;Status 请勿填写。
# @type L4ProxyRules: Array
attr_accessor :ZoneId, :ProxyId, :L4ProxyRules
def initialize(zoneid=nil, proxyid=nil, l4proxyrules=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@L4ProxyRules = l4proxyrules
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
unless params['L4ProxyRules'].nil?
@L4ProxyRules = []
params['L4ProxyRules'].each do |i|
l4proxyrule_tmp = L4ProxyRule.new
l4proxyrule_tmp.deserialize(i)
@L4ProxyRules << l4proxyrule_tmp
end
end
end
end
# ModifyL4ProxyRules返回参数结构体
class ModifyL4ProxyRulesResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyL4ProxyRulesStatus请求参数结构体
class ModifyL4ProxyRulesStatusRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyId: 四层代理实例 ID。
# @type ProxyId: String
# @param RuleIds: 转发规则 ID 列表。单次最多支持 200 条转发规则。
# @type RuleIds: Array
# @param Status: 转发规则状态,取值有:
# online:启用;
# offline:停用。
# @type Status: String
attr_accessor :ZoneId, :ProxyId, :RuleIds, :Status
def initialize(zoneid=nil, proxyid=nil, ruleids=nil, status=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@RuleIds = ruleids
@Status = status
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@RuleIds = params['RuleIds']
@Status = params['Status']
end
end
# ModifyL4ProxyRulesStatus返回参数结构体
class ModifyL4ProxyRulesStatusResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyL4ProxyStatus请求参数结构体
class ModifyL4ProxyStatusRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ProxyId: 四层代理实例 ID。
# @type ProxyId: String
# @param Status: 四层代理实例状态,取值有:
# online:启用;
# offline:停用。
# @type Status: String
attr_accessor :ZoneId, :ProxyId, :Status
def initialize(zoneid=nil, proxyid=nil, status=nil)
@ZoneId = zoneid
@ProxyId = proxyid
@Status = status
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ProxyId = params['ProxyId']
@Status = params['Status']
end
end
# ModifyL4ProxyStatus返回参数结构体
class ModifyL4ProxyStatusResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyOriginGroup请求参数结构体
class ModifyOriginGroupRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID
# @type ZoneId: String
# @param GroupId: 源站组 ID,此参数必填。
# @type GroupId: String
# @param Name: 源站组名称,不填保持原有配置,可输入1 - 200个字符,允许的字符为 a - z, A - Z, 0 - 9, _, - 。
# @type Name: String
# @param Type: 源站组类型,取值有:
# GENERAL:通用型源站组,仅支持添加 IP/域名 源站,可以被域名服务、规则引擎、四层代理、通用型负载均衡引用;
# HTTP: HTTP专用型源站组,支持添加 IP/域名、对象存储源站,无法被四层代理引用。不填保持原有配置。
# @type Type: String
# @param Records: 源站记录信息,不填保持原有配置。
# @type Records: Array
# @param HostHeader: 回源 Host Header,仅 Type = HTTP 时生效, 不填或者填空表示不配置回源Host,规则引擎修改 Host Header 配置优先级高于源站组的 Host Header。
# @type HostHeader: String
attr_accessor :ZoneId, :GroupId, :Name, :Type, :Records, :HostHeader
def initialize(zoneid=nil, groupid=nil, name=nil, type=nil, records=nil, hostheader=nil)
@ZoneId = zoneid
@GroupId = groupid
@Name = name
@Type = type
@Records = records
@HostHeader = hostheader
end
def deserialize(params)
@ZoneId = params['ZoneId']
@GroupId = params['GroupId']
@Name = params['Name']
@Type = params['Type']
unless params['Records'].nil?
@Records = []
params['Records'].each do |i|
originrecord_tmp = OriginRecord.new
originrecord_tmp.deserialize(i)
@Records << originrecord_tmp
end
end
@HostHeader = params['HostHeader']
end
end
# ModifyOriginGroup返回参数结构体
class ModifyOriginGroupResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyPlan请求参数结构体
class ModifyPlanRequest < TencentCloud::Common::AbstractModel
# @param PlanId: 套餐 ID,形如 edgeone-2unuvzjmmn2q。
# @type PlanId: String
# @param RenewFlag: 预付费套餐自动续费配置。若开启了自动续费,则会在套餐到期前一天自动续费,仅支持个人版,基础版,标准版套餐。不填写表示保持原有配置。
# @type RenewFlag: :class:`Tencentcloud::Teo.v20220901.models.RenewFlag`
attr_accessor :PlanId, :RenewFlag
def initialize(planid=nil, renewflag=nil)
@PlanId = planid
@RenewFlag = renewflag
end
def deserialize(params)
@PlanId = params['PlanId']
unless params['RenewFlag'].nil?
@RenewFlag = RenewFlag.new
@RenewFlag.deserialize(params['RenewFlag'])
end
end
end
# ModifyPlan返回参数结构体
class ModifyPlanResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyRealtimeLogDeliveryTask请求参数结构体
class ModifyRealtimeLogDeliveryTaskRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param TaskId: 实时日志投递任务 ID。
# @type TaskId: String
# @param TaskName: 实时日志投递任务的名称,格式为数字、英文、-和_组合,最多 200 个字符。不填保持原有配置。
# @type TaskName: String
# @param DeliveryStatus: 实时日志投递任务的状态,取值有:
# enabled: 启用;
# disabled: 停用。不填保持原有配置。
# @type DeliveryStatus: String
# @param EntityList: 实时日志投递任务对应的实体(七层域名或者四层代理实例)列表。取值示例如下:
# 七层域名:domain.example.com;
# 四层代理实例:sid-2s69eb5wcms7。不填保持原有配置。
# @type EntityList: Array
# @param Fields: 投递的预设字段列表。不填保持原有配置。
# @type Fields: Array
# @param CustomFields: 投递的自定义字段列表,支持在 HTTP 请求头、响应头、Cookie 中提取指定字段值。自定义字段名称不能重复,且最多不能超过 200 个字段。不填保持原有配置。
# @type CustomFields: Array
# @param DeliveryConditions: 日志投递的过滤条件。不填表示投递全量日志。
# @type DeliveryConditions: Array
# @param Sample: 采样比例,采用千分制,取值范围为1-1000,例如:填写 605 表示采样比例为 60.5%。不填保持原有配置。
# @type Sample: Integer
# @param LogFormat: 日志投递的输出格式。不填保持原有配置。
# 特别地,当 TaskType 取值为 cls 时,LogFormat.FormatType 的值只能为 json,且 LogFormat 中其他参数将被忽略,建议不传 LogFormat。
# @type LogFormat: :class:`Tencentcloud::Teo.v20220901.models.LogFormat`
# @param CustomEndpoint: 自定义 HTTP 服务的配置信息,不填保持原有配置。
# @type CustomEndpoint: :class:`Tencentcloud::Teo.v20220901.models.CustomEndpoint`
# @param S3: AWS S3 兼容存储桶的配置信息,不填保持原有配置。
# @type S3: :class:`Tencentcloud::Teo.v20220901.models.S3`
attr_accessor :ZoneId, :TaskId, :TaskName, :DeliveryStatus, :EntityList, :Fields, :CustomFields, :DeliveryConditions, :Sample, :LogFormat, :CustomEndpoint, :S3
def initialize(zoneid=nil, taskid=nil, taskname=nil, deliverystatus=nil, entitylist=nil, fields=nil, customfields=nil, deliveryconditions=nil, sample=nil, logformat=nil, customendpoint=nil, s3=nil)
@ZoneId = zoneid
@TaskId = taskid
@TaskName = taskname
@DeliveryStatus = deliverystatus
@EntityList = entitylist
@Fields = fields
@CustomFields = customfields
@DeliveryConditions = deliveryconditions
@Sample = sample
@LogFormat = logformat
@CustomEndpoint = customendpoint
@S3 = s3
end
def deserialize(params)
@ZoneId = params['ZoneId']
@TaskId = params['TaskId']
@TaskName = params['TaskName']
@DeliveryStatus = params['DeliveryStatus']
@EntityList = params['EntityList']
@Fields = params['Fields']
unless params['CustomFields'].nil?
@CustomFields = []
params['CustomFields'].each do |i|
customfield_tmp = CustomField.new
customfield_tmp.deserialize(i)
@CustomFields << customfield_tmp
end
end
unless params['DeliveryConditions'].nil?
@DeliveryConditions = []
params['DeliveryConditions'].each do |i|
deliverycondition_tmp = DeliveryCondition.new
deliverycondition_tmp.deserialize(i)
@DeliveryConditions << deliverycondition_tmp
end
end
@Sample = params['Sample']
unless params['LogFormat'].nil?
@LogFormat = LogFormat.new
@LogFormat.deserialize(params['LogFormat'])
end
unless params['CustomEndpoint'].nil?
@CustomEndpoint = CustomEndpoint.new
@CustomEndpoint.deserialize(params['CustomEndpoint'])
end
unless params['S3'].nil?
@S3 = S3.new
@S3.deserialize(params['S3'])
end
end
end
# ModifyRealtimeLogDeliveryTask返回参数结构体
class ModifyRealtimeLogDeliveryTaskResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyRule请求参数结构体
class ModifyRuleRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param RuleName: 规则名称,字符串名称长度 1~255。
# @type RuleName: String
# @param Rules: 规则内容。
# @type Rules: Array
# @param RuleId: 规则 ID。
# @type RuleId: String
# @param Status: 规则状态,取值有:
# enable: 启用;
# disable: 未启用。
# @type Status: String
# @param Tags: 规则标签。
# @type Tags: Array
attr_accessor :ZoneId, :RuleName, :Rules, :RuleId, :Status, :Tags
def initialize(zoneid=nil, rulename=nil, rules=nil, ruleid=nil, status=nil, tags=nil)
@ZoneId = zoneid
@RuleName = rulename
@Rules = rules
@RuleId = ruleid
@Status = status
@Tags = tags
end
def deserialize(params)
@ZoneId = params['ZoneId']
@RuleName = params['RuleName']
unless params['Rules'].nil?
@Rules = []
params['Rules'].each do |i|
rule_tmp = Rule.new
rule_tmp.deserialize(i)
@Rules << rule_tmp
end
end
@RuleId = params['RuleId']
@Status = params['Status']
@Tags = params['Tags']
end
end
# ModifyRule返回参数结构体
class ModifyRuleResponse < TencentCloud::Common::AbstractModel
# @param RuleId: 规则 ID。
# @type RuleId: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RuleId, :RequestId
def initialize(ruleid=nil, requestid=nil)
@RuleId = ruleid
@RequestId = requestid
end
def deserialize(params)
@RuleId = params['RuleId']
@RequestId = params['RequestId']
end
end
# ModifySecurityIPGroup请求参数结构体
class ModifySecurityIPGroupRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 Id。
# @type ZoneId: String
# @param IPGroup: IP 组配置。
# @type IPGroup: :class:`Tencentcloud::Teo.v20220901.models.IPGroup`
# @param Mode: 操作类型,取值有:
# append: 向 IPGroup 中追加 Content 参数中内容;
# remove: 从 IPGroup 中删除 Content 参数中内容;
# update: 全量替换 IPGroup 内容,并可修改 IPGroup 名称。
# @type Mode: String
attr_accessor :ZoneId, :IPGroup, :Mode
def initialize(zoneid=nil, ipgroup=nil, mode=nil)
@ZoneId = zoneid
@IPGroup = ipgroup
@Mode = mode
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['IPGroup'].nil?
@IPGroup = IPGroup.new
@IPGroup.deserialize(params['IPGroup'])
end
@Mode = params['Mode']
end
end
# ModifySecurityIPGroup返回参数结构体
class ModifySecurityIPGroupResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifySecurityPolicy请求参数结构体
class ModifySecurityPolicyRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点Id。
# @type ZoneId: String
# @param SecurityConfig: 安全配置。
# @type SecurityConfig: :class:`Tencentcloud::Teo.v20220901.models.SecurityConfig`
# @param Entity: 子域名/应用名。
# 注意:当同时指定本参数和 TemplateId 参数时,本参数不生效。请勿同时指定本参数和 TemplateId 参数。
# @type Entity: String
# @param TemplateId: 指定模板策略 ID,或指定站点全局策略。
# - 如需配置策略模板,请指定策略模板 ID。
# - 如需配置站点全局策略,请使用 @ZoneLevel@Domain 参数值
# 注意:当使用本参数时,Entity 参数不生效。请勿同时使用本参数和 Entity 参数。
# @type TemplateId: String
attr_accessor :ZoneId, :SecurityConfig, :Entity, :TemplateId
def initialize(zoneid=nil, securityconfig=nil, entity=nil, templateid=nil)
@ZoneId = zoneid
@SecurityConfig = securityconfig
@Entity = entity
@TemplateId = templateid
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['SecurityConfig'].nil?
@SecurityConfig = SecurityConfig.new
@SecurityConfig.deserialize(params['SecurityConfig'])
end
@Entity = params['Entity']
@TemplateId = params['TemplateId']
end
end
# ModifySecurityPolicy返回参数结构体
class ModifySecurityPolicyResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyZone请求参数结构体
class ModifyZoneRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Type: 站点接入方式,取值有:
# full:NS 接入;
# partial:CNAME 接入,如果站点当前是无域名接入,仅支持切换到 CNAME 接入;
# dnsPodAccess:DNSPod 托管接入,该接入模式要求您的域名已托管在 DNSPod 内。不填写保持原有配置。
# @type Type: String
# @param VanityNameServers: 自定义站点信息,以替代系统默认分配的名称服务器。不填写保持原有配置。当站点是无域名接入方式时不允许传此参数。
# @type VanityNameServers: :class:`Tencentcloud::Teo.v20220901.models.VanityNameServers`
# @param AliasZoneName: 站点别名。数字、英文、-和_组合,限制20个字符。
# @type AliasZoneName: String
# @param Area: 站点接入地域,取值有:
# global:全球;
# mainland:中国大陆;
# overseas:境外区域。当站点是无域名接入方式时,不允许传此参数。
# @type Area: String
# @param ZoneName: 站点名称。仅当站点由无域名接入方式切换到CNAME接入方式的场景下有效。
# @type ZoneName: String
attr_accessor :ZoneId, :Type, :VanityNameServers, :AliasZoneName, :Area, :ZoneName
def initialize(zoneid=nil, type=nil, vanitynameservers=nil, aliaszonename=nil, area=nil, zonename=nil)
@ZoneId = zoneid
@Type = type
@VanityNameServers = vanitynameservers
@AliasZoneName = aliaszonename
@Area = area
@ZoneName = zonename
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Type = params['Type']
unless params['VanityNameServers'].nil?
@VanityNameServers = VanityNameServers.new
@VanityNameServers.deserialize(params['VanityNameServers'])
end
@AliasZoneName = params['AliasZoneName']
@Area = params['Area']
@ZoneName = params['ZoneName']
end
end
# ModifyZone返回参数结构体
class ModifyZoneResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyZoneSetting请求参数结构体
class ModifyZoneSettingRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 待变更的站点 ID。
# @type ZoneId: String
# @param CacheConfig: 缓存过期时间配置。
# 不填写表示保持原有配置。
# @type CacheConfig: :class:`Tencentcloud::Teo.v20220901.models.CacheConfig`
# @param CacheKey: 节点缓存键配置。
# 不填写表示保持原有配置。
# @type CacheKey: :class:`Tencentcloud::Teo.v20220901.models.CacheKey`
# @param MaxAge: 浏览器缓存配置。
# 不填写表示保持原有配置。
# @type MaxAge: :class:`Tencentcloud::Teo.v20220901.models.MaxAge`
# @param OfflineCache: 离线缓存配置。
# 不填写表示保持原有配置。
# @type OfflineCache: :class:`Tencentcloud::Teo.v20220901.models.OfflineCache`
# @param Quic: Quic 访问配置。
# 不填写表示保持原有配置。
# @type Quic: :class:`Tencentcloud::Teo.v20220901.models.Quic`
# @param PostMaxSize: Post 请求传输配置。
# 不填写表示保持原有配置。
# @type PostMaxSize: :class:`Tencentcloud::Teo.v20220901.models.PostMaxSize`
# @param Compression: 智能压缩配置。
# 不填写表示保持原有配置。
# @type Compression: :class:`Tencentcloud::Teo.v20220901.models.Compression`
# @param UpstreamHttp2: Http2 回源配置。
# 不填写表示保持原有配置。
# @type UpstreamHttp2: :class:`Tencentcloud::Teo.v20220901.models.UpstreamHttp2`
# @param ForceRedirect: 访问协议强制 Https 跳转配置。
# 不填写表示保持原有配置。
# @type ForceRedirect: :class:`Tencentcloud::Teo.v20220901.models.ForceRedirect`
# @param Https: Https 加速配置。
# 不填写表示保持原有配置。
# @type Https: :class:`Tencentcloud::Teo.v20220901.models.Https`
# @param Origin: 源站配置。
# 不填写表示保持原有配置。
# @type Origin: :class:`Tencentcloud::Teo.v20220901.models.Origin`
# @param SmartRouting: 智能加速配置。
# 不填写表示保持原有配置。
# @type SmartRouting: :class:`Tencentcloud::Teo.v20220901.models.SmartRouting`
# @param WebSocket: WebSocket 配置。
# 不填写表示保持原有配置。
# @type WebSocket: :class:`Tencentcloud::Teo.v20220901.models.WebSocket`
# @param ClientIpHeader: 客户端 IP 回源请求头配置。
# 不填写表示保持原有配置。
# @type ClientIpHeader: :class:`Tencentcloud::Teo.v20220901.models.ClientIpHeader`
# @param CachePrefresh: 缓存预刷新配置。
# 不填写表示保持原有配置。
# @type CachePrefresh: :class:`Tencentcloud::Teo.v20220901.models.CachePrefresh`
# @param Ipv6: Ipv6 访问配置。
# 不填写表示保持原有配置。
# @type Ipv6: :class:`Tencentcloud::Teo.v20220901.models.Ipv6`
# @param ClientIpCountry: 回源时是否携带客户端 IP 所属地域信息的配置。
# 不填写表示保持原有配置。
# @type ClientIpCountry: :class:`Tencentcloud::Teo.v20220901.models.ClientIpCountry`
# @param Grpc: Grpc 协议支持配置。
# 不填写表示保持原有配置。
# @type Grpc: :class:`Tencentcloud::Teo.v20220901.models.Grpc`
# @param ImageOptimize: 图片优化配置。
# 不填写表示关闭。
# @type ImageOptimize: :class:`Tencentcloud::Teo.v20220901.models.ImageOptimize`
# @param StandardDebug: 标准 Debug 配置。
# @type StandardDebug: :class:`Tencentcloud::Teo.v20220901.models.StandardDebug`
attr_accessor :ZoneId, :CacheConfig, :CacheKey, :MaxAge, :OfflineCache, :Quic, :PostMaxSize, :Compression, :UpstreamHttp2, :ForceRedirect, :Https, :Origin, :SmartRouting, :WebSocket, :ClientIpHeader, :CachePrefresh, :Ipv6, :ClientIpCountry, :Grpc, :ImageOptimize, :StandardDebug
def initialize(zoneid=nil, cacheconfig=nil, cachekey=nil, maxage=nil, offlinecache=nil, quic=nil, postmaxsize=nil, compression=nil, upstreamhttp2=nil, forceredirect=nil, https=nil, origin=nil, smartrouting=nil, websocket=nil, clientipheader=nil, cacheprefresh=nil, ipv6=nil, clientipcountry=nil, grpc=nil, imageoptimize=nil, standarddebug=nil)
@ZoneId = zoneid
@CacheConfig = cacheconfig
@CacheKey = cachekey
@MaxAge = maxage
@OfflineCache = offlinecache
@Quic = quic
@PostMaxSize = postmaxsize
@Compression = compression
@UpstreamHttp2 = upstreamhttp2
@ForceRedirect = forceredirect
@Https = https
@Origin = origin
@SmartRouting = smartrouting
@WebSocket = websocket
@ClientIpHeader = clientipheader
@CachePrefresh = cacheprefresh
@Ipv6 = ipv6
@ClientIpCountry = clientipcountry
@Grpc = grpc
@ImageOptimize = imageoptimize
@StandardDebug = standarddebug
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['CacheConfig'].nil?
@CacheConfig = CacheConfig.new
@CacheConfig.deserialize(params['CacheConfig'])
end
unless params['CacheKey'].nil?
@CacheKey = CacheKey.new
@CacheKey.deserialize(params['CacheKey'])
end
unless params['MaxAge'].nil?
@MaxAge = MaxAge.new
@MaxAge.deserialize(params['MaxAge'])
end
unless params['OfflineCache'].nil?
@OfflineCache = OfflineCache.new
@OfflineCache.deserialize(params['OfflineCache'])
end
unless params['Quic'].nil?
@Quic = Quic.new
@Quic.deserialize(params['Quic'])
end
unless params['PostMaxSize'].nil?
@PostMaxSize = PostMaxSize.new
@PostMaxSize.deserialize(params['PostMaxSize'])
end
unless params['Compression'].nil?
@Compression = Compression.new
@Compression.deserialize(params['Compression'])
end
unless params['UpstreamHttp2'].nil?
@UpstreamHttp2 = UpstreamHttp2.new
@UpstreamHttp2.deserialize(params['UpstreamHttp2'])
end
unless params['ForceRedirect'].nil?
@ForceRedirect = ForceRedirect.new
@ForceRedirect.deserialize(params['ForceRedirect'])
end
unless params['Https'].nil?
@Https = Https.new
@Https.deserialize(params['Https'])
end
unless params['Origin'].nil?
@Origin = Origin.new
@Origin.deserialize(params['Origin'])
end
unless params['SmartRouting'].nil?
@SmartRouting = SmartRouting.new
@SmartRouting.deserialize(params['SmartRouting'])
end
unless params['WebSocket'].nil?
@WebSocket = WebSocket.new
@WebSocket.deserialize(params['WebSocket'])
end
unless params['ClientIpHeader'].nil?
@ClientIpHeader = ClientIpHeader.new
@ClientIpHeader.deserialize(params['ClientIpHeader'])
end
unless params['CachePrefresh'].nil?
@CachePrefresh = CachePrefresh.new
@CachePrefresh.deserialize(params['CachePrefresh'])
end
unless params['Ipv6'].nil?
@Ipv6 = Ipv6.new
@Ipv6.deserialize(params['Ipv6'])
end
unless params['ClientIpCountry'].nil?
@ClientIpCountry = ClientIpCountry.new
@ClientIpCountry.deserialize(params['ClientIpCountry'])
end
unless params['Grpc'].nil?
@Grpc = Grpc.new
@Grpc.deserialize(params['Grpc'])
end
unless params['ImageOptimize'].nil?
@ImageOptimize = ImageOptimize.new
@ImageOptimize.deserialize(params['ImageOptimize'])
end
unless params['StandardDebug'].nil?
@StandardDebug = StandardDebug.new
@StandardDebug.deserialize(params['StandardDebug'])
end
end
end
# ModifyZoneSetting返回参数结构体
class ModifyZoneSettingResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyZoneStatus请求参数结构体
class ModifyZoneStatusRequest < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param Paused: 站点状态,取值有:
# false:开启站点;
# true:关闭站点。
# @type Paused: Boolean
attr_accessor :ZoneId, :Paused
def initialize(zoneid=nil, paused=nil)
@ZoneId = zoneid
@Paused = paused
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Paused = params['Paused']
end
end
# ModifyZoneStatus返回参数结构体
class ModifyZoneStatusResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# HTTPS 双向认证。
class MutualTLS < TencentCloud::Common::AbstractModel
# @param Switch: 双向认证配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param CertInfos: 双向认证证书列表。
# 注意:MutualTLS 在 ModifyHostsCertificate 作为入参使用时,该参数传入对应证书的 CertId 即可。您可以前往 [SSL 证书列表](https://console.cloud.tencent.com/certoverview) 查看 CertId。
# @type CertInfos: Array
attr_accessor :Switch, :CertInfos
def initialize(switch=nil, certinfos=nil)
@Switch = switch
@CertInfos = certinfos
end
def deserialize(params)
@Switch = params['Switch']
unless params['CertInfos'].nil?
@CertInfos = []
params['CertInfos'].each do |i|
certificateinfo_tmp = CertificateInfo.new
certificateinfo_tmp.deserialize(i)
@CertInfos << certificateinfo_tmp
end
end
end
end
# 不缓存配置
class NoCache < TencentCloud::Common::AbstractModel
# @param Switch: 不缓存配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# 规则引擎常规类型的动作
class NormalAction < TencentCloud::Common::AbstractModel
# @param Action: 功能名称,功能名称填写规范可调用接口 [查询规则引擎的设置参数](https://cloud.tencent.com/document/product/1552/80618) 查看。
# @type Action: String
# @param Parameters: 参数。
# @type Parameters: Array
attr_accessor :Action, :Parameters
def initialize(action=nil, parameters=nil)
@Action = action
@Parameters = parameters
end
def deserialize(params)
@Action = params['Action']
unless params['Parameters'].nil?
@Parameters = []
params['Parameters'].each do |i|
rulenormalactionparams_tmp = RuleNormalActionParams.new
rulenormalactionparams_tmp.deserialize(i)
@Parameters << rulenormalactionparams_tmp
end
end
end
end
# NS 接入,切换 DNS 服务器所需的信息。
class NsVerification < TencentCloud::Common::AbstractModel
# @param NameServers: NS 接入时,分配给用户的 DNS 服务器地址,需要将域名的 NameServer 切换至该地址。
# @type NameServers: Array
attr_accessor :NameServers
def initialize(nameservers=nil)
@NameServers = nameservers
end
def deserialize(params)
@NameServers = params['NameServers']
end
end
# 离线缓存是否开启
class OfflineCache < TencentCloud::Common::AbstractModel
# @param Switch: 离线缓存是否开启,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# 源站配置。
class Origin < TencentCloud::Common::AbstractModel
# @param Origins: 主源站列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Origins: Array
# @param BackupOrigins: 备源站列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type BackupOrigins: Array
# @param OriginPullProtocol: 回源协议配置,取值有:
# http:强制 http 回源;
# follow:协议跟随回源;
# https:强制 https 回源。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OriginPullProtocol: String
# @param CosPrivateAccess: 源站为腾讯云 COS 时,是否为私有访问 bucket,取值有:
# on:私有访问;
# off:公共访问。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CosPrivateAccess: String
attr_accessor :Origins, :BackupOrigins, :OriginPullProtocol, :CosPrivateAccess
def initialize(origins=nil, backuporigins=nil, originpullprotocol=nil, cosprivateaccess=nil)
@Origins = origins
@BackupOrigins = backuporigins
@OriginPullProtocol = originpullprotocol
@CosPrivateAccess = cosprivateaccess
end
def deserialize(params)
@Origins = params['Origins']
@BackupOrigins = params['BackupOrigins']
@OriginPullProtocol = params['OriginPullProtocol']
@CosPrivateAccess = params['CosPrivateAccess']
end
end
# 加速域名源站信息。
class OriginDetail < TencentCloud::Common::AbstractModel
# @param OriginType: 源站类型,取值有:
# IP_DOMAIN:IPV4、IPV6 或域名类型源站;
# COS:腾讯云 COS 对象存储源站;
# AWS_S3:AWS S3 对象存储源站;
# ORIGIN_GROUP:源站组类型源站;
# VOD:云点播;
# SPACE:源站卸载,当前仅白名单开放;
# LB:负载均衡,当前仅白名单开放。
# @type OriginType: String
# @param Origin: 源站地址,根据 OriginType 的取值分为以下情况:
# 当 OriginType = IP_DOMAIN 时,该参数为 IPv4、IPv6 地址或域名;
# 当 OriginType = COS 时,该参数为 COS 桶的访问域名;
# 当 OriginType = AWS_S3,该参数为 S3 桶的访问域名;
# 当 OriginType = ORIGIN_GROUP 时,该参数为源站组 ID;
# 当 OriginType = VOD 时,该参数请填写云点播应用 ID ;
# @type Origin: String
# @param BackupOrigin: 备用源站组 ID,该参数仅在 OriginType = ORIGIN_GROUP 且配置了备源站组时会生效。
# @type BackupOrigin: String
# @param OriginGroupName: 主源源站组名称,当 OriginType = ORIGIN_GROUP 时该参数会返回值。
# @type OriginGroupName: String
# @param BackOriginGroupName: 备用源站组名称,该参数仅当 OriginType = ORIGIN_GROUP 且配置了备用源站组时会生效。
# @type BackOriginGroupName: String
# @param PrivateAccess: 指定是否允许访问私有对象存储源站,该参数仅当源站类型OriginType = COS 或 AWS_S3 时会生效,取值有:
# on:使用私有鉴权;
# off:不使用私有鉴权。
# 不填写,默认值为 off。
# @type PrivateAccess: String
# @param PrivateParameters: 私有鉴权使用参数,该参数仅当源站类型 PrivateAccess = on 时会生效。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PrivateParameters: Array
# @param VodeoSubAppId: MO 子应用 ID
# @type VodeoSubAppId: Integer
# @param VodeoDistributionRange: MO 分发范围,取值有: All:全部 Bucket:存储桶
# @type VodeoDistributionRange: String
# @param VodeoBucketId: MO 存储桶 ID,分发范围(DistributionRange)为存储桶(Bucket)时必填
# @type VodeoBucketId: String
attr_accessor :OriginType, :Origin, :BackupOrigin, :OriginGroupName, :BackOriginGroupName, :PrivateAccess, :PrivateParameters, :VodeoSubAppId, :VodeoDistributionRange, :VodeoBucketId
extend Gem::Deprecate
deprecate :VodeoSubAppId, :none, 2024, 9
deprecate :VodeoSubAppId=, :none, 2024, 9
deprecate :VodeoDistributionRange, :none, 2024, 9
deprecate :VodeoDistributionRange=, :none, 2024, 9
deprecate :VodeoBucketId, :none, 2024, 9
deprecate :VodeoBucketId=, :none, 2024, 9
def initialize(origintype=nil, origin=nil, backuporigin=nil, origingroupname=nil, backorigingroupname=nil, privateaccess=nil, privateparameters=nil, vodeosubappid=nil, vodeodistributionrange=nil, vodeobucketid=nil)
@OriginType = origintype
@Origin = origin
@BackupOrigin = backuporigin
@OriginGroupName = origingroupname
@BackOriginGroupName = backorigingroupname
@PrivateAccess = privateaccess
@PrivateParameters = privateparameters
@VodeoSubAppId = vodeosubappid
@VodeoDistributionRange = vodeodistributionrange
@VodeoBucketId = vodeobucketid
end
def deserialize(params)
@OriginType = params['OriginType']
@Origin = params['Origin']
@BackupOrigin = params['BackupOrigin']
@OriginGroupName = params['OriginGroupName']
@BackOriginGroupName = params['BackOriginGroupName']
@PrivateAccess = params['PrivateAccess']
unless params['PrivateParameters'].nil?
@PrivateParameters = []
params['PrivateParameters'].each do |i|
privateparameter_tmp = PrivateParameter.new
privateparameter_tmp.deserialize(i)
@PrivateParameters << privateparameter_tmp
end
end
@VodeoSubAppId = params['VodeoSubAppId']
@VodeoDistributionRange = params['VodeoDistributionRange']
@VodeoBucketId = params['VodeoBucketId']
end
end
# 源站组信息
class OriginGroup < TencentCloud::Common::AbstractModel
# @param GroupId: 源站组ID。
# @type GroupId: String
# @param Name: 源站组名称。
# @type Name: String
# @param Type: 源站组类型,取值有:
# GENERAL:通用型源站组;
# HTTP: HTTP专用型源站组。
# @type Type: String
# @param Records: 源站记录信息。
# @type Records: Array
# @param References: 源站组被引用实例列表。
# @type References: Array
# @param CreateTime: 源站组创建时间。
# @type CreateTime: String
# @param UpdateTime: 源站组更新时间。
# @type UpdateTime: String
# @param HostHeader: 回源Host Header。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HostHeader: String
attr_accessor :GroupId, :Name, :Type, :Records, :References, :CreateTime, :UpdateTime, :HostHeader
def initialize(groupid=nil, name=nil, type=nil, records=nil, references=nil, createtime=nil, updatetime=nil, hostheader=nil)
@GroupId = groupid
@Name = name
@Type = type
@Records = records
@References = references
@CreateTime = createtime
@UpdateTime = updatetime
@HostHeader = hostheader
end
def deserialize(params)
@GroupId = params['GroupId']
@Name = params['Name']
@Type = params['Type']
unless params['Records'].nil?
@Records = []
params['Records'].each do |i|
originrecord_tmp = OriginRecord.new
originrecord_tmp.deserialize(i)
@Records << originrecord_tmp
end
end
unless params['References'].nil?
@References = []
params['References'].each do |i|
origingroupreference_tmp = OriginGroupReference.new
origingroupreference_tmp.deserialize(i)
@References << origingroupreference_tmp
end
end
@CreateTime = params['CreateTime']
@UpdateTime = params['UpdateTime']
@HostHeader = params['HostHeader']
end
end
# 源站组引用服务。
class OriginGroupReference < TencentCloud::Common::AbstractModel
# @param InstanceType: 引用服务类型,取值有:
# AccelerationDomain: 加速域名;
# RuleEngine: 规则引擎;
# Loadbalance: 负载均衡;
# ApplicationProxy: 四层代理。
# @type InstanceType: String
# @param InstanceId: 引用类型的实例ID。
# @type InstanceId: String
# @param InstanceName: 应用类型的实例名称。
# @type InstanceName: String
attr_accessor :InstanceType, :InstanceId, :InstanceName
def initialize(instancetype=nil, instanceid=nil, instancename=nil)
@InstanceType = instancetype
@InstanceId = instanceid
@InstanceName = instancename
end
def deserialize(params)
@InstanceType = params['InstanceType']
@InstanceId = params['InstanceId']
@InstanceName = params['InstanceName']
end
end
# 加速域名源站信息。
class OriginInfo < TencentCloud::Common::AbstractModel
# @param OriginType: 源站类型,取值有:
# IP_DOMAIN:IPV4、IPV6 或域名类型源站;
# COS:腾讯云 COS 对象存储源站;
# AWS_S3:AWS S3 对象存储源站;
# ORIGIN_GROUP:源站组类型源站;
# VOD:云点播;
# SPACE:源站卸载,当前仅白名单开放;
# LB:负载均衡,当前仅白名单开放。
# @type OriginType: String
# @param Origin: 源站地址,根据 OriginType 的取值分为以下情况:
# 当 OriginType = IP_DOMAIN 时,该参数请填写 IPv4、IPv6 地址或域名;
# 当 OriginType = COS 时,该参数请填写 COS 桶的访问域名;
# 当 OriginType = AWS_S3,该参数请填写 S3 桶的访问域名;
# 当 OriginType = ORIGIN_GROUP 时,该参数请填写源站组 ID;
# 当 OriginType = VOD 时,该参数请填写云点播应用 ID ;
# 当 OriginType = LB 时,该参数请填写负载均衡实例 ID,该功能当前仅白名单开放;
# 当 OriginType = SPACE 时,该参数请填写源站卸载空间 ID,该功能当前仅白名单开放。
# @type Origin: String
# @param BackupOrigin: 备用源站组 ID,该参数仅在 OriginType = ORIGIN_GROUP 时生效,该字段为旧版能力,调用后控制台无法进行配置修改,如需使用请提交工单咨询。
# @type BackupOrigin: String
# @param PrivateAccess: 指定是否允许访问私有对象存储源站,该参数仅当源站类型 OriginType = COS 或 AWS_S3 时会生效,取值有:
# on:使用私有鉴权;
# off:不使用私有鉴权。
# 不填写时,默认值为off。
# @type PrivateAccess: String
# @param PrivateParameters: 私有鉴权使用参数,该参数仅当源站类型 PrivateAccess = on 时会生效。
# @type PrivateParameters: Array
# @param VodeoSubAppId: VODEO 子应用 ID。该参数当 OriginType = VODEO 时必填。
# @type VodeoSubAppId: Integer
# @param VodeoDistributionRange: VODEO 分发范围,该参数当 OriginType = VODEO 时必填。取值有:
# All:当前应用下所有存储桶;
# Bucket:指定的某一个存储桶。
# @type VodeoDistributionRange: String
# @param VodeoBucketId: VODEO 存储桶 ID,该参数当 OriginType = VODEO 且 VodeoDistributionRange = Bucket 时必填。
# @type VodeoBucketId: String
attr_accessor :OriginType, :Origin, :BackupOrigin, :PrivateAccess, :PrivateParameters, :VodeoSubAppId, :VodeoDistributionRange, :VodeoBucketId
extend Gem::Deprecate
deprecate :VodeoSubAppId, :none, 2024, 9
deprecate :VodeoSubAppId=, :none, 2024, 9
deprecate :VodeoDistributionRange, :none, 2024, 9
deprecate :VodeoDistributionRange=, :none, 2024, 9
deprecate :VodeoBucketId, :none, 2024, 9
deprecate :VodeoBucketId=, :none, 2024, 9
def initialize(origintype=nil, origin=nil, backuporigin=nil, privateaccess=nil, privateparameters=nil, vodeosubappid=nil, vodeodistributionrange=nil, vodeobucketid=nil)
@OriginType = origintype
@Origin = origin
@BackupOrigin = backuporigin
@PrivateAccess = privateaccess
@PrivateParameters = privateparameters
@VodeoSubAppId = vodeosubappid
@VodeoDistributionRange = vodeodistributionrange
@VodeoBucketId = vodeobucketid
end
def deserialize(params)
@OriginType = params['OriginType']
@Origin = params['Origin']
@BackupOrigin = params['BackupOrigin']
@PrivateAccess = params['PrivateAccess']
unless params['PrivateParameters'].nil?
@PrivateParameters = []
params['PrivateParameters'].each do |i|
privateparameter_tmp = PrivateParameter.new
privateparameter_tmp.deserialize(i)
@PrivateParameters << privateparameter_tmp
end
end
@VodeoSubAppId = params['VodeoSubAppId']
@VodeoDistributionRange = params['VodeoDistributionRange']
@VodeoBucketId = params['VodeoBucketId']
end
end
# 源站防护信息
class OriginProtectionInfo < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# @type ZoneId: String
# @param Hosts: 域名列表。
# @type Hosts: Array
# @param ProxyIds: 代理ID列表。
# @type ProxyIds: Array
# @param CurrentIPWhitelist: 当前版本的IP白名单。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CurrentIPWhitelist: :class:`Tencentcloud::Teo.v20220901.models.IPWhitelist`
# @param NeedUpdate: 该站点是否需要更新源站白名单,取值有:
# true :需要更新IP白名单 ;
# false :无需更新IP白名单。
# @type NeedUpdate: Boolean
# @param Status: 源站防护状态,取值有:
# online :源站防护启用中 ;
# offline :源站防护已停用 ;
# nonactivate :源站防护未激活,仅在从未使用过源站防护功能的站点调用中返回。
# @type Status: String
# @param PlanSupport: 站点套餐是否支持源站防护,取值有:
# true :支持 ;
# false :不支持。
# @type PlanSupport: Boolean
# @param DiffIPWhitelist: 最新IP白名单与当前IP白名单的对比。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DiffIPWhitelist: :class:`Tencentcloud::Teo.v20220901.models.DiffIPWhitelist`
attr_accessor :ZoneId, :Hosts, :ProxyIds, :CurrentIPWhitelist, :NeedUpdate, :Status, :PlanSupport, :DiffIPWhitelist
def initialize(zoneid=nil, hosts=nil, proxyids=nil, currentipwhitelist=nil, needupdate=nil, status=nil, plansupport=nil, diffipwhitelist=nil)
@ZoneId = zoneid
@Hosts = hosts
@ProxyIds = proxyids
@CurrentIPWhitelist = currentipwhitelist
@NeedUpdate = needupdate
@Status = status
@PlanSupport = plansupport
@DiffIPWhitelist = diffipwhitelist
end
def deserialize(params)
@ZoneId = params['ZoneId']
@Hosts = params['Hosts']
@ProxyIds = params['ProxyIds']
unless params['CurrentIPWhitelist'].nil?
@CurrentIPWhitelist = IPWhitelist.new
@CurrentIPWhitelist.deserialize(params['CurrentIPWhitelist'])
end
@NeedUpdate = params['NeedUpdate']
@Status = params['Status']
@PlanSupport = params['PlanSupport']
unless params['DiffIPWhitelist'].nil?
@DiffIPWhitelist = DiffIPWhitelist.new
@DiffIPWhitelist.deserialize(params['DiffIPWhitelist'])
end
end
end
# 源站组记录
class OriginRecord < TencentCloud::Common::AbstractModel
# @param Record: 源站记录值,不包含端口信息,可以为:IPv4,IPv6,域名格式。
# @type Record: String
# @param Type: 源站类型,取值有:
# IP_DOMAIN:IPV4、IPV6、域名类型源站;
# COS:COS源。
# AWS_S3:AWS S3对象存储源站。
# @type Type: String
# @param RecordId: 源站记录ID。
# @type RecordId: String
# @param Weight: 源站权重,取值为0-100, 不填表示不设置权重,由系统自由调度,填0表示权重为0, 流量将不会调度到此源站。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Weight: Integer
# @param Private: 是否私有鉴权,当源站类型 RecordType=COS/AWS_S3 时生效,取值有:
# true:使用私有鉴权;
# false:不使用私有鉴权。不填写,默认值为:false。
# @type Private: Boolean
# @param PrivateParameters: 私有鉴权参数,当源站类型Private=true时有效。
# @type PrivateParameters: Array
attr_accessor :Record, :Type, :RecordId, :Weight, :Private, :PrivateParameters
def initialize(record=nil, type=nil, recordid=nil, weight=nil, private=nil, privateparameters=nil)
@Record = record
@Type = type
@RecordId = recordid
@Weight = weight
@Private = private
@PrivateParameters = privateparameters
end
def deserialize(params)
@Record = params['Record']
@Type = params['Type']
@RecordId = params['RecordId']
@Weight = params['Weight']
@Private = params['Private']
unless params['PrivateParameters'].nil?
@PrivateParameters = []
params['PrivateParameters'].each do |i|
privateparameter_tmp = PrivateParameter.new
privateparameter_tmp.deserialize(i)
@PrivateParameters << privateparameter_tmp
end
end
end
end
# 该结构体表示各种场景、模式下,用于验证用户对站点域名的归属权内容。
class OwnershipVerification < TencentCloud::Common::AbstractModel
# @param DnsVerification: CNAME 接入,使用 DNS 解析验证时所需的信息。详情参考 [站点/域名归属权验证
# ](https://cloud.tencent.com/document/product/1552/70789#7af6ecf8-afca-4e35-8811-b5797ed1bde5)。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DnsVerification: :class:`Tencentcloud::Teo.v20220901.models.DnsVerification`
# @param FileVerification: CNAME 接入,使用文件验证时所需的信息。详情参考 [站点/域名归属权验证
# ](https://cloud.tencent.com/document/product/1552/70789#7af6ecf8-afca-4e35-8811-b5797ed1bde5)。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FileVerification: :class:`Tencentcloud::Teo.v20220901.models.FileVerification`
# @param NsVerification: NS 接入,切换 DNS 服务器所需的信息。详情参考 [修改 DNS 服务器](https://cloud.tencent.com/document/product/1552/90452)。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NsVerification: :class:`Tencentcloud::Teo.v20220901.models.NsVerification`
attr_accessor :DnsVerification, :FileVerification, :NsVerification
def initialize(dnsverification=nil, fileverification=nil, nsverification=nil)
@DnsVerification = dnsverification
@FileVerification = fileverification
@NsVerification = nsverification
end
def deserialize(params)
unless params['DnsVerification'].nil?
@DnsVerification = DnsVerification.new
@DnsVerification.deserialize(params['DnsVerification'])
end
unless params['FileVerification'].nil?
@FileVerification = FileVerification.new
@FileVerification.deserialize(params['FileVerification'])
end
unless params['NsVerification'].nil?
@NsVerification = NsVerification.new
@NsVerification.deserialize(params['NsVerification'])
end
end
end
# 例外规则的详细模块配置。
class PartialModule < TencentCloud::Common::AbstractModel
# @param Module: 模块名称,取值为:
# waf:托管规则。
# @type Module: String
# @param Include: 模块下的需要例外的具体规则ID列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Include: Array
attr_accessor :Module, :Include
def initialize(_module=nil, include=nil)
@Module = _module
@Include = include
end
def deserialize(params)
@Module = params['Module']
@Include = params['Include']
end
end
# edgeone套餐信息
class PlanInfo < TencentCloud::Common::AbstractModel
# @param Currency: 结算货币类型,取值有:
# CNY :人民币结算;
# USD :美元结算。
# @type Currency: String
# @param Flux: 套餐所含流量,该流量数值为安全加速流量,内容加速流量和智能加速流量的总和(单位:字节)。
# @type Flux: Integer
# @param Frequency: 结算周期,取值有:
# y :按年结算;
# m :按月结算;
# h :按小时结算;
# M :按分钟结算;
# s :按秒结算。
# @type Frequency: String
# @param PlanType: 套餐类型,取值有:
# sta :全球内容分发网络(不包括中国大陆)标准版套餐;
# sta_with_bot :全球内容分发网络(不包括中国大陆)标准版套餐附带bot管理;
# sta_cm :中国大陆内容分发网络标准版套餐;
# sta_cm_with_bot :中国大陆内容分发网络标准版套餐附带bot管理;
# sta_global :全球内容分发网络(包括中国大陆)标准版套餐;
# sta_global_with_bot :全球内容分发网络(包括中国大陆)标准版套餐附带bot管理;
# ent :全球内容分发网络(不包括中国大陆)企业版套餐;
# ent_with_bot : 全球内容分发网络(不包括中国大陆)企业版套餐附带bot管理;
# ent_cm :中国大陆内容分发网络企业版套餐;
# ent_cm_with_bot :中国大陆内容分发网络企业版套餐附带bot管理;
# ent_global :全球内容分发网络(包括中国大陆)企业版套餐;
# ent_global_with_bot :全球内容分发网络(包括中国大陆)企业版套餐附带bot管理。
# @type PlanType: String
# @param Price: 套餐价格(单位:分)。
# @type Price: Float
# @param Request: 套餐所含请求次数,该请求次数为安全加速请求次数。(单位:次)。
# @type Request: Integer
# @param SiteNumber: 套餐所能绑定的站点个数。
# @type SiteNumber: Integer
# @param Area: 套餐加速区域类型,取值有:
# mainland :中国大陆;
# overseas :全球(不包括中国大陆);
# global :全球(包括中国大陆)。
# @type Area: String
attr_accessor :Currency, :Flux, :Frequency, :PlanType, :Price, :Request, :SiteNumber, :Area
def initialize(currency=nil, flux=nil, frequency=nil, plantype=nil, price=nil, request=nil, sitenumber=nil, area=nil)
@Currency = currency
@Flux = flux
@Frequency = frequency
@PlanType = plantype
@Price = price
@Request = request
@SiteNumber = sitenumber
@Area = area
end
def deserialize(params)
@Currency = params['Currency']
@Flux = params['Flux']
@Frequency = params['Frequency']
@PlanType = params['PlanType']
@Price = params['Price']
@Request = params['Request']
@SiteNumber = params['SiteNumber']
@Area = params['Area']
end
end
# POST请求上传文件流式传输最大限制
class PostMaxSize < TencentCloud::Common::AbstractModel
# @param Switch: 是否开启 POST 请求上传文件限制,平台默认为限制为32MB,取值有:
# on:开启限制;
# off:关闭限制。
# @type Switch: String
# @param MaxSize: 最大限制,取值在1MB和500MB之间。单位字节。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MaxSize: Integer
attr_accessor :Switch, :MaxSize
def initialize(switch=nil, maxsize=nil)
@Switch = switch
@MaxSize = maxsize
end
def deserialize(params)
@Switch = params['Switch']
@MaxSize = params['MaxSize']
end
end
# 预付费套餐计费参数
class PrepaidPlanParam < TencentCloud::Common::AbstractModel
# @param Period: 订阅预付费套餐的周期,单位:月,取值有:1,2,3,4,5,6,7,8,9,10,11,12,24,36。
# 不填写使用默认值 1。
# @type Period: Integer
# @param RenewFlag: 预付费套餐的自动续费标志,取值有:
# on:开启自动续费;
# off:不开启自动续费。
# 不填写使用默认值 off,自动续费时,默认续费1个月。
# @type RenewFlag: String
attr_accessor :Period, :RenewFlag
def initialize(period=nil, renewflag=nil)
@Period = period
@RenewFlag = renewflag
end
def deserialize(params)
@Period = params['Period']
@RenewFlag = params['RenewFlag']
end
end
# 对象存储源站私有鉴权参数
class PrivateParameter < TencentCloud::Common::AbstractModel
# @param Name: 私有鉴权参数名称,取值有:
# AccessKeyId:鉴权参数 Access Key ID;
# SecretAccessKey:鉴权参数 Secret Access Key;
# SignatureVersion:鉴权版本,v2 或者 v4;
# Region:存储桶地域。
# @type Name: String
# @param Value: 私有鉴权参数值。
# @type Value: String
attr_accessor :Name, :Value
def initialize(name=nil, value=nil)
@Name = name
@Value = value
end
def deserialize(params)
@Name = params['Name']
@Value = params['Value']
end
end
# 查询条件
class QueryCondition < TencentCloud::Common::AbstractModel
# @param Key: 筛选条件的key。
# @type Key: String
# @param Operator: 查询条件操作符,操作类型有:
# equals: 等于;
# notEquals: 不等于;
# include: 包含;
# notInclude: 不包含;
# startWith: 开始的值是value;
# notStartWith: 不以value的值开始;
# endWith: 结尾是value值;
# notEndWith: 不以value的值结尾。
# @type Operator: String
# @param Value: 筛选条件的值。
# @type Value: Array
attr_accessor :Key, :Operator, :Value
def initialize(key=nil, operator=nil, value=nil)
@Key = key
@Operator = operator
@Value = value
end
def deserialize(params)
@Key = params['Key']
@Operator = params['Operator']
@Value = params['Value']
end
end
# CacheKey中包含请求参数
class QueryString < TencentCloud::Common::AbstractModel
# @param Switch: CacheKey是否由QueryString组成,取值有:
# on:是;
# off:否。
# @type Switch: String
# @param Action: CacheKey使用QueryString的方式,取值有:
# includeCustom:使用部分url参数;
# excludeCustom:排除部分url参数。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Action: String
# @param Value: 使用/排除的url参数数组。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Value: Array
attr_accessor :Switch, :Action, :Value
def initialize(switch=nil, action=nil, value=nil)
@Switch = switch
@Action = action
@Value = value
end
def deserialize(params)
@Switch = params['Switch']
@Action = params['Action']
@Value = params['Value']
end
end
# Quic配置项
class Quic < TencentCloud::Common::AbstractModel
# @param Switch: 是否开启 Quic 配置,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# 刷新/预热 可用量及配额
class Quota < TencentCloud::Common::AbstractModel
# @param Batch: 单次批量提交配额上限。
# @type Batch: Integer
# @param Daily: 每日提交配额上限。
# @type Daily: Integer
# @param DailyAvailable: 每日剩余的可提交配额。
# @type DailyAvailable: Integer
# @param Type: 刷新预热缓存类型,取值有:
# purge_prefix:按前缀刷新;
# purge_url:按URL刷新;
# purge_host:按Hostname刷新;
# purge_all:刷新全部缓存内容;
# purge_cache_tag:按CacheTag刷新; prefetch_url:按URL预热。
# @type Type: String
attr_accessor :Batch, :Daily, :DailyAvailable, :Type
def initialize(batch=nil, daily=nil, dailyavailable=nil, type=nil)
@Batch = batch
@Daily = daily
@DailyAvailable = dailyavailable
@Type = type
end
def deserialize(params)
@Batch = params['Batch']
@Daily = params['Daily']
@DailyAvailable = params['DailyAvailable']
@Type = params['Type']
end
end
# 速率限制规则
class RateLimitConfig < TencentCloud::Common::AbstractModel
# @param Switch: 开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param RateLimitUserRules: 速率限制-用户规则列表。如果为null,默认使用历史配置。
# @type RateLimitUserRules: Array
# @param RateLimitTemplate: 速率限制模板功能。如果为null,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RateLimitTemplate: :class:`Tencentcloud::Teo.v20220901.models.RateLimitTemplate`
# @param RateLimitIntelligence: 智能客户端过滤。如果为null,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RateLimitIntelligence: :class:`Tencentcloud::Teo.v20220901.models.RateLimitIntelligence`
# @param RateLimitCustomizes: 速率限制-托管定制规则。如果为null,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RateLimitCustomizes: Array
attr_accessor :Switch, :RateLimitUserRules, :RateLimitTemplate, :RateLimitIntelligence, :RateLimitCustomizes
def initialize(switch=nil, ratelimituserrules=nil, ratelimittemplate=nil, ratelimitintelligence=nil, ratelimitcustomizes=nil)
@Switch = switch
@RateLimitUserRules = ratelimituserrules
@RateLimitTemplate = ratelimittemplate
@RateLimitIntelligence = ratelimitintelligence
@RateLimitCustomizes = ratelimitcustomizes
end
def deserialize(params)
@Switch = params['Switch']
unless params['RateLimitUserRules'].nil?
@RateLimitUserRules = []
params['RateLimitUserRules'].each do |i|
ratelimituserrule_tmp = RateLimitUserRule.new
ratelimituserrule_tmp.deserialize(i)
@RateLimitUserRules << ratelimituserrule_tmp
end
end
unless params['RateLimitTemplate'].nil?
@RateLimitTemplate = RateLimitTemplate.new
@RateLimitTemplate.deserialize(params['RateLimitTemplate'])
end
unless params['RateLimitIntelligence'].nil?
@RateLimitIntelligence = RateLimitIntelligence.new
@RateLimitIntelligence.deserialize(params['RateLimitIntelligence'])
end
unless params['RateLimitCustomizes'].nil?
@RateLimitCustomizes = []
params['RateLimitCustomizes'].each do |i|
ratelimituserrule_tmp = RateLimitUserRule.new
ratelimituserrule_tmp.deserialize(i)
@RateLimitCustomizes << ratelimituserrule_tmp
end
end
end
end
# 智能客户端过滤
class RateLimitIntelligence < TencentCloud::Common::AbstractModel
# @param Switch: 功能开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param Action: 执行动作,取值有:
# monitor:观察;
# alg:挑战。
# @type Action: String
# @param RuleId: 规则id,仅出参使用。
# @type RuleId: Integer
attr_accessor :Switch, :Action, :RuleId
def initialize(switch=nil, action=nil, ruleid=nil)
@Switch = switch
@Action = action
@RuleId = ruleid
end
def deserialize(params)
@Switch = params['Switch']
@Action = params['Action']
@RuleId = params['RuleId']
end
end
# 速率限制模板
class RateLimitTemplate < TencentCloud::Common::AbstractModel
# @param Mode: 模板等级名称,取值有:
# sup_loose:超级宽松;
# loose:宽松;
# emergency:紧急;
# normal:适中;
# strict:严格;
# close:关闭,仅精准速率限制生效。
# @type Mode: String
# @param Action: 模板处置方式,取值有:
# alg:JavaScript挑战;
# monitor:观察。不填写默认取alg。
# @type Action: String
# @param RateLimitTemplateDetail: 模板值详情。仅出参返回。
# @type RateLimitTemplateDetail: :class:`Tencentcloud::Teo.v20220901.models.RateLimitTemplateDetail`
attr_accessor :Mode, :Action, :RateLimitTemplateDetail
def initialize(mode=nil, action=nil, ratelimittemplatedetail=nil)
@Mode = mode
@Action = action
@RateLimitTemplateDetail = ratelimittemplatedetail
end
def deserialize(params)
@Mode = params['Mode']
@Action = params['Action']
unless params['RateLimitTemplateDetail'].nil?
@RateLimitTemplateDetail = RateLimitTemplateDetail.new
@RateLimitTemplateDetail.deserialize(params['RateLimitTemplateDetail'])
end
end
end
# 模板当前详细配置
class RateLimitTemplateDetail < TencentCloud::Common::AbstractModel
# @param Mode: 模板等级名称,取值有:
# sup_loose:超级宽松;
# loose:宽松;
# emergency:紧急;
# normal:适中;
# strict:严格;
# close:关闭,仅精准速率限制生效。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Mode: String
# @param ID: 唯一id。
# @type ID: Integer
# @param Action: 模板处置方式,取值有:
# alg:JavaScript挑战;
# monitor:观察。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Action: String
# @param PunishTime: 惩罚时间,取值范围0-2天,单位秒。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PunishTime: Integer
# @param Threshold: 统计阈值,单位是次,取值范围0-4294967294。
# @type Threshold: Integer
# @param Period: 统计周期,取值范围0-120秒。
# @type Period: Integer
attr_accessor :Mode, :ID, :Action, :PunishTime, :Threshold, :Period
def initialize(mode=nil, id=nil, action=nil, punishtime=nil, threshold=nil, period=nil)
@Mode = mode
@ID = id
@Action = action
@PunishTime = punishtime
@Threshold = threshold
@Period = period
end
def deserialize(params)
@Mode = params['Mode']
@ID = params['ID']
@Action = params['Action']
@PunishTime = params['PunishTime']
@Threshold = params['Threshold']
@Period = params['Period']
end
end
# RateLimit规则
class RateLimitUserRule < TencentCloud::Common::AbstractModel
# @param Threshold: 速率限制统计阈值,单位是次,取值范围0-4294967294。
# @type Threshold: Integer
# @param Period: 速率限制统计时间,取值范围 10/20/30/40/50/60 单位是秒。
# @type Period: Integer
# @param RuleName: 规则名,只能以英文字符,数字,下划线组合,且不能以下划线开头。
# @type RuleName: String
# @param Action: 处置动作,取值有: monitor:观察; drop:拦截; redirect:重定向; page:指定页面;alg:JavaScript 挑战。
# @type Action: String
# @param PunishTime: 惩罚时长,0-2天。
# @type PunishTime: Integer
# @param PunishTimeUnit: 处罚时长单位,取值有:
# second:秒;
# minutes:分钟;
# hour:小时。
# @type PunishTimeUnit: String
# @param RuleStatus: 规则状态,取值有:
# on:生效;
# off:不生效。默认 on 生效。
# @type RuleStatus: String
# @param AclConditions: 规则详情。
# @type AclConditions: Array
# @param RulePriority: 规则权重,取值范围0-100。
# @type RulePriority: Integer
# @param RuleID: 规则 Id。仅出参使用。
# @type RuleID: Integer
# @param FreqFields: 过滤词,取值有:
# sip:客户端 ip。
# 默认为空字符串。
# @type FreqFields: Array
# @param UpdateTime: 更新时间。仅出参使用。修改时默认为当前时间。
# @type UpdateTime: String
# @param FreqScope: 统计范围。取值有:
# source_to_eo:(响应)源站到 EdgeOne;
# client_to_eo:(请求)客户端到 EdgeOne。
# 默认为 source_to_eo。
# @type FreqScope: Array
# @param Name: 自定义返回页面的名称。Action 是 page 时必填,且不能为空。
# @type Name: String
# @param CustomResponseId: 自定义响应 Id。该 Id 可通过查询自定义错误页列表接口获取。默认值为default,使用系统默认页面。Action 是 page 时必填,且不能为空。
# @type CustomResponseId: String
# @param ResponseCode: 自定义返回页面的响应码。Action 是 page 时必填,且不能为空,取值: 100~600,不支持 3xx 响应码。默认值:567。
# @type ResponseCode: Integer
# @param RedirectUrl: 重定向时候的地址。Action 是 redirect 时必填,且不能为空。
# @type RedirectUrl: String
attr_accessor :Threshold, :Period, :RuleName, :Action, :PunishTime, :PunishTimeUnit, :RuleStatus, :AclConditions, :RulePriority, :RuleID, :FreqFields, :UpdateTime, :FreqScope, :Name, :CustomResponseId, :ResponseCode, :RedirectUrl
def initialize(threshold=nil, period=nil, rulename=nil, action=nil, punishtime=nil, punishtimeunit=nil, rulestatus=nil, aclconditions=nil, rulepriority=nil, ruleid=nil, freqfields=nil, updatetime=nil, freqscope=nil, name=nil, customresponseid=nil, responsecode=nil, redirecturl=nil)
@Threshold = threshold
@Period = period
@RuleName = rulename
@Action = action
@PunishTime = punishtime
@PunishTimeUnit = punishtimeunit
@RuleStatus = rulestatus
@AclConditions = aclconditions
@RulePriority = rulepriority
@RuleID = ruleid
@FreqFields = freqfields
@UpdateTime = updatetime
@FreqScope = freqscope
@Name = name
@CustomResponseId = customresponseid
@ResponseCode = responsecode
@RedirectUrl = redirecturl
end
def deserialize(params)
@Threshold = params['Threshold']
@Period = params['Period']
@RuleName = params['RuleName']
@Action = params['Action']
@PunishTime = params['PunishTime']
@PunishTimeUnit = params['PunishTimeUnit']
@RuleStatus = params['RuleStatus']
unless params['AclConditions'].nil?
@AclConditions = []
params['AclConditions'].each do |i|
aclcondition_tmp = AclCondition.new
aclcondition_tmp.deserialize(i)
@AclConditions << aclcondition_tmp
end
end
@RulePriority = params['RulePriority']
@RuleID = params['RuleID']
@FreqFields = params['FreqFields']
@UpdateTime = params['UpdateTime']
@FreqScope = params['FreqScope']
@Name = params['Name']
@CustomResponseId = params['CustomResponseId']
@ResponseCode = params['ResponseCode']
@RedirectUrl = params['RedirectUrl']
end
end
# 实时日志投递任务。
class RealtimeLogDeliveryTask < TencentCloud::Common::AbstractModel
# @param TaskId: 实时日志投递任务 ID。
# @type TaskId: String
# @param TaskName: 实时日志投递任务的名称。
# @type TaskName: String
# @param DeliveryStatus: 实时日志投递任务的状态,取值有: enabled: 已启用; disabled: 已停用;deleted: 异常删除状态,请检查目的地腾讯云 CLS 日志集/日志主题是否已被删除。
# @type DeliveryStatus: String
# @param TaskType: 实时日志投递任务类型,取值有: cls: 推送到腾讯云 CLS; custom_endpoint:推送到自定义 HTTP(S) 地址; s3:推送到 AWS S3 兼容存储桶地址。
# @type TaskType: String
# @param EntityList: 实时日志投递任务对应的实体(七层域名或者四层代理实例)列表。取值示例如下: 七层域名:domain.example.com; 四层代理实例:sid-2s69eb5wcms7。
# @type EntityList: Array
# @param LogType: 数据投递类型,取值有: domain:站点加速日志; application:四层代理日志; web-rateLiming:速率限制和 CC 攻击防护日志; web-attack:托管规则日志; web-rule:自定义规则日志; web-bot:Bot管理日志。
# @type LogType: String
# @param Area: 数据投递区域,取值有: mainland:中国大陆境内; overseas:全球(不含中国大陆)。
# @type Area: String
# @param Fields: 投递的预设字段列表。
# @type Fields: Array
# @param CustomFields: 投递的自定义字段列表。
# @type CustomFields: Array
# @param DeliveryConditions: 日志投递的过滤条件。
# @type DeliveryConditions: Array
# @param Sample: 采样比例,采用千分制,取值范围为1-1000,例如:605 表示采样比例为 60.5%。
# @type Sample: Integer
# @param LogFormat: 日志投递的输出格式。出参为 null 时表示为默认格式,默认格式逻辑如下:
# 当 TaskType 取值为 custom_endpoint 时,默认格式为多个 JSON 对象组成的数组,每个 JSON 对象为一条日志;
# 当 TaskType 取值为 s3 时,默认格式为 JSON Lines。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type LogFormat: :class:`Tencentcloud::Teo.v20220901.models.LogFormat`
# @param CLS: CLS 的配置信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CLS: :class:`Tencentcloud::Teo.v20220901.models.CLSTopic`
# @param CustomEndpoint: 自定义 HTTP 服务的配置信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CustomEndpoint: :class:`Tencentcloud::Teo.v20220901.models.CustomEndpoint`
# @param S3: AWS S3 兼容存储桶的配置信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type S3: :class:`Tencentcloud::Teo.v20220901.models.S3`
# @param CreateTime: 创建时间。
# @type CreateTime: String
# @param UpdateTime: 更新时间。
# @type UpdateTime: String
attr_accessor :TaskId, :TaskName, :DeliveryStatus, :TaskType, :EntityList, :LogType, :Area, :Fields, :CustomFields, :DeliveryConditions, :Sample, :LogFormat, :CLS, :CustomEndpoint, :S3, :CreateTime, :UpdateTime
def initialize(taskid=nil, taskname=nil, deliverystatus=nil, tasktype=nil, entitylist=nil, logtype=nil, area=nil, fields=nil, customfields=nil, deliveryconditions=nil, sample=nil, logformat=nil, cls=nil, customendpoint=nil, s3=nil, createtime=nil, updatetime=nil)
@TaskId = taskid
@TaskName = taskname
@DeliveryStatus = deliverystatus
@TaskType = tasktype
@EntityList = entitylist
@LogType = logtype
@Area = area
@Fields = fields
@CustomFields = customfields
@DeliveryConditions = deliveryconditions
@Sample = sample
@LogFormat = logformat
@CLS = cls
@CustomEndpoint = customendpoint
@S3 = s3
@CreateTime = createtime
@UpdateTime = updatetime
end
def deserialize(params)
@TaskId = params['TaskId']
@TaskName = params['TaskName']
@DeliveryStatus = params['DeliveryStatus']
@TaskType = params['TaskType']
@EntityList = params['EntityList']
@LogType = params['LogType']
@Area = params['Area']
@Fields = params['Fields']
unless params['CustomFields'].nil?
@CustomFields = []
params['CustomFields'].each do |i|
customfield_tmp = CustomField.new
customfield_tmp.deserialize(i)
@CustomFields << customfield_tmp
end
end
unless params['DeliveryConditions'].nil?
@DeliveryConditions = []
params['DeliveryConditions'].each do |i|
deliverycondition_tmp = DeliveryCondition.new
deliverycondition_tmp.deserialize(i)
@DeliveryConditions << deliverycondition_tmp
end
end
@Sample = params['Sample']
unless params['LogFormat'].nil?
@LogFormat = LogFormat.new
@LogFormat.deserialize(params['LogFormat'])
end
unless params['CLS'].nil?
@CLS = CLSTopic.new
@CLS.deserialize(params['CLS'])
end
unless params['CustomEndpoint'].nil?
@CustomEndpoint = CustomEndpoint.new
@CustomEndpoint.deserialize(params['CustomEndpoint'])
end
unless params['S3'].nil?
@S3 = S3.new
@S3.deserialize(params['S3'])
end
@CreateTime = params['CreateTime']
@UpdateTime = params['UpdateTime']
end
end
# 预付费套餐自动续费配置项。
class RenewFlag < TencentCloud::Common::AbstractModel
# @param Switch: 预付费套餐的自动续费标志,取值有:
# on:开启自动续费;
# off:不开启自动续费。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# RenewPlan请求参数结构体
class RenewPlanRequest < TencentCloud::Common::AbstractModel
# @param PlanId: 套餐 ID,形如 edgeone-2unuvzjmmn2q。
# @type PlanId: String
# @param Period: 续费套餐的时长,单位:月,取值有:1,2,3,4,5,6,7,8,9,10,11,12,24,36。
# @type Period: Integer
# @param AutoUseVoucher: 是否自动使用代金券,取值有: true:是; false:否。不填写使用默认值 false。
# @type AutoUseVoucher: String
attr_accessor :PlanId, :Period, :AutoUseVoucher
def initialize(planid=nil, period=nil, autousevoucher=nil)
@PlanId = planid
@Period = period
@AutoUseVoucher = autousevoucher
end
def deserialize(params)
@PlanId = params['PlanId']
@Period = params['Period']
@AutoUseVoucher = params['AutoUseVoucher']
end
end
# RenewPlan返回参数结构体
class RenewPlanResponse < TencentCloud::Common::AbstractModel
# @param DealName: 订单号。
# @type DealName: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :DealName, :RequestId
def initialize(dealname=nil, requestid=nil)
@DealName = dealname
@RequestId = requestid
end
def deserialize(params)
@DealName = params['DealName']
@RequestId = params['RequestId']
end
end
# 计费资源
class Resource < TencentCloud::Common::AbstractModel
# @param Id: 资源 ID。
# @type Id: String
# @param PayMode: 付费模式,取值有:
# 0:后付费。
# @type PayMode: Integer
# @param CreateTime: 创建时间。
# @type CreateTime: String
# @param EnableTime: 生效时间。
# @type EnableTime: String
# @param ExpireTime: 失效时间。
# @type ExpireTime: String
# @param Status: 套餐状态,取值有:
# normal:正常;
# isolated:隔离;
# destroyed:销毁。
# @type Status: String
# @param Sv: 询价参数。
# @type Sv: Array
# @param AutoRenewFlag: 是否自动续费,取值有:
# 0:默认状态;
# 1:自动续费;
# 2:不自动续费。
# @type AutoRenewFlag: Integer
# @param PlanId: 套餐关联资源 ID。
# @type PlanId: String
# @param Area: 地域,取值有:
# mainland:国内;
# overseas:海外。
# global:全球。
# @type Area: String
# @param Group: 资源类型,取值有:
# plan:套餐类型;
# pay-as-you-go:后付费类型。
# value-added:增值服务类型。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Group: String
# @param ZoneNumber: 当前资源绑定的站点数量。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ZoneNumber: Integer
# @param Type: 资源标记类型,取值有:
# vodeo:vodeo资源。
# @type Type: String
attr_accessor :Id, :PayMode, :CreateTime, :EnableTime, :ExpireTime, :Status, :Sv, :AutoRenewFlag, :PlanId, :Area, :Group, :ZoneNumber, :Type
def initialize(id=nil, paymode=nil, createtime=nil, enabletime=nil, expiretime=nil, status=nil, sv=nil, autorenewflag=nil, planid=nil, area=nil, group=nil, zonenumber=nil, type=nil)
@Id = id
@PayMode = paymode
@CreateTime = createtime
@EnableTime = enabletime
@ExpireTime = expiretime
@Status = status
@Sv = sv
@AutoRenewFlag = autorenewflag
@PlanId = planid
@Area = area
@Group = group
@ZoneNumber = zonenumber
@Type = type
end
def deserialize(params)
@Id = params['Id']
@PayMode = params['PayMode']
@CreateTime = params['CreateTime']
@EnableTime = params['EnableTime']
@ExpireTime = params['ExpireTime']
@Status = params['Status']
unless params['Sv'].nil?
@Sv = []
params['Sv'].each do |i|
sv_tmp = Sv.new
sv_tmp.deserialize(i)
@Sv << sv_tmp
end
end
@AutoRenewFlag = params['AutoRenewFlag']
@PlanId = params['PlanId']
@Area = params['Area']
@Group = params['Group']
@ZoneNumber = params['ZoneNumber']
@Type = params['Type']
end
end
# 规则引擎HTTP请求头/响应头类型的动作
class RewriteAction < TencentCloud::Common::AbstractModel
# @param Action: 功能名称,功能名称填写规范可调用接口 [查询规则引擎的设置参数](https://cloud.tencent.com/document/product/1552/80618) 查看。
# @type Action: String
# @param Parameters: 参数。
# @type Parameters: Array
attr_accessor :Action, :Parameters
def initialize(action=nil, parameters=nil)
@Action = action
@Parameters = parameters
end
def deserialize(params)
@Action = params['Action']
unless params['Parameters'].nil?
@Parameters = []
params['Parameters'].each do |i|
rulerewriteactionparams_tmp = RuleRewriteActionParams.new
rulerewriteactionparams_tmp.deserialize(i)
@Parameters << rulerewriteactionparams_tmp
end
end
end
end
# 规则引擎规则项,Conditions 数组内多个项的关系为 或,内层 Conditions 列表内多个项的关系为 且。
class Rule < TencentCloud::Common::AbstractModel
# @param Conditions: 执行功能判断条件。
# 注意:满足该数组内任意一项条件,功能即可执行。
# @type Conditions: Array
# @param Actions: 执行的功能。注意:Actions 和 SubRules 不可都为空
# @type Actions: Array
# @param SubRules: 嵌套规则。注意:SubRules 和 Actions 不可都为空
# @type SubRules: Array
attr_accessor :Conditions, :Actions, :SubRules
def initialize(conditions=nil, actions=nil, subrules=nil)
@Conditions = conditions
@Actions = actions
@SubRules = subrules
end
def deserialize(params)
unless params['Conditions'].nil?
@Conditions = []
params['Conditions'].each do |i|
ruleandconditions_tmp = RuleAndConditions.new
ruleandconditions_tmp.deserialize(i)
@Conditions << ruleandconditions_tmp
end
end
unless params['Actions'].nil?
@Actions = []
params['Actions'].each do |i|
action_tmp = Action.new
action_tmp.deserialize(i)
@Actions << action_tmp
end
end
unless params['SubRules'].nil?
@SubRules = []
params['SubRules'].each do |i|
subruleitem_tmp = SubRuleItem.new
subruleitem_tmp.deserialize(i)
@SubRules << subruleitem_tmp
end
end
end
end
# 规则引擎条件且关系条件列表
class RuleAndConditions < TencentCloud::Common::AbstractModel
# @param Conditions: 规则引擎条件,该数组内所有项全部满足即判断该条件满足。
# @type Conditions: Array
attr_accessor :Conditions
def initialize(conditions=nil)
@Conditions = conditions
end
def deserialize(params)
unless params['Conditions'].nil?
@Conditions = []
params['Conditions'].each do |i|
rulecondition_tmp = RuleCondition.new
rulecondition_tmp.deserialize(i)
@Conditions << rulecondition_tmp
end
end
end
end
# 规则引擎可应用于匹配请求的设置详细信息,可选参数配置项
class RuleChoicePropertiesItem < TencentCloud::Common::AbstractModel
# @param Name: 参数名称。
# @type Name: String
# @param Type: 参数值类型。
# CHOICE:参数值只能在 ChoicesValue 中选择;
# TOGGLE:参数值为开关类型,可在 ChoicesValue 中选择;
# CUSTOM_NUM:参数值用户自定义,整型类型;
# CUSTOM_STRING:参数值用户自定义,字符串类型。
# @type Type: String
# @param ChoicesValue: 参数值的可选值。
# 注意:若参数值为用户自定义则该数组为空数组。
# @type ChoicesValue: Array
# @param Min: 数值参数的最小值,非数值参数或 Min 和 Max 值都为 0 则此项无意义。
# @type Min: Integer
# @param Max: 数值参数的最大值,非数值参数或 Min 和 Max 值都为 0 则此项无意义。
# @type Max: Integer
# @param IsMultiple: 参数值是否支持多选或者填写多个。
# @type IsMultiple: Boolean
# @param IsAllowEmpty: 是否允许为空。
# @type IsAllowEmpty: Boolean
# @param ExtraParameter: 特殊参数。
# 为 NULL:RuleAction 选择 NormalAction;
# 成员参数 Id 为 Action:RuleAction 选择 RewirteAction;
# 成员参数 Id 为 StatusCode:RuleAction 选择 CodeAction。
# @type ExtraParameter: :class:`Tencentcloud::Teo.v20220901.models.RuleExtraParameter`
attr_accessor :Name, :Type, :ChoicesValue, :Min, :Max, :IsMultiple, :IsAllowEmpty, :ExtraParameter
def initialize(name=nil, type=nil, choicesvalue=nil, min=nil, max=nil, ismultiple=nil, isallowempty=nil, extraparameter=nil)
@Name = name
@Type = type
@ChoicesValue = choicesvalue
@Min = min
@Max = max
@IsMultiple = ismultiple
@IsAllowEmpty = isallowempty
@ExtraParameter = extraparameter
end
def deserialize(params)
@Name = params['Name']
@Type = params['Type']
@ChoicesValue = params['ChoicesValue']
@Min = params['Min']
@Max = params['Max']
@IsMultiple = params['IsMultiple']
@IsAllowEmpty = params['IsAllowEmpty']
unless params['ExtraParameter'].nil?
@ExtraParameter = RuleExtraParameter.new
@ExtraParameter.deserialize(params['ExtraParameter'])
end
end
end
# 规则引擎条件使用StatusCode字段动作参数
class RuleCodeActionParams < TencentCloud::Common::AbstractModel
# @param StatusCode: 状态 Code。
# @type StatusCode: Integer
# @param Name: 参数名称,参数填写规范可调用接口 [查询规则引擎的设置参数](https://cloud.tencent.com/document/product/1552/80618) 查看。
# @type Name: String
# @param Values: 参数值。
# @type Values: Array
attr_accessor :StatusCode, :Name, :Values
def initialize(statuscode=nil, name=nil, values=nil)
@StatusCode = statuscode
@Name = name
@Values = values
end
def deserialize(params)
@StatusCode = params['StatusCode']
@Name = params['Name']
@Values = params['Values']
end
end
# 规则引擎条件参数
class RuleCondition < TencentCloud::Common::AbstractModel
# @param Operator: 运算符,取值有:
# equal: 等于;
# notequal: 不等于;
# exist: 存在;
# notexist: 不存在。
# @type Operator: String
# @param Target: 匹配类型,取值有: filename:文件名; extension:文件后缀; host:HOST; full_url:URL Full,当前站点下完整 URL 路径,必须包含 HTTP 协议,Host 和 路径; url:URL Path,当前站点下 URL 路径的请求; client_country:客户端国家/地区; query_string:查询字符串,当前站点下请求URL的查询字符串; request_header:HTTP请求头部。 client_ip:客户端 IP。
# @type Target: String
# @param Values: 对应匹配类型的参数值,仅在匹配类型为查询字符串或HTTP请求头并且运算符取值为存在或不存在时允许传空数组,对应匹配类型有:
# 文件后缀:jpg、txt等文件后缀;
# 文件名称:例如 foo.jpg 中的 foo;
# 全部(站点任意请求): all;
# HOST:当前站点下的 host ,例如www.maxx55.com;
# URL Path:当前站点下 URL 路径的请求,例如:/example;
# URL Full:当前站点下完整 URL 请求,必须包含 HTTP 协议,Host 和 路径,例如:https://www.maxx55.cn/example;
# 客户端国家/地区:符合ISO3166标准的国家/地区标识;
# 查询字符串: 当前站点下URL请求中查询字符串的参数值,例如lang=cn&version=1中的cn和1;
# HTTP 请求头: HTTP请求头部字段值,例如Accept-Language:zh-CN,zh;q=0.9中的zh-CN,zh;q=0.9。
# 客户端 IP: 当前请求携带的客户端请求IP,支持IPv4 IPv6, 支持IP段。
# @type Values: Array
# @param IgnoreCase: 是否忽略参数值的大小写,默认值为 false。
# @type IgnoreCase: Boolean
# @param Name: 对应匹配类型的参数名称,在 Target 值为以下取值时有效,有效时值不能为空:
# query_string(查询字符串): 当前站点下URL请求中查询字符串的参数名称,例如lang=cn&version=1中的lang和version;
# request_header(HTTP 请求头): HTTP请求头部字段名,例如Accept-Language:zh-CN,zh;q=0.9中的Accept-Language。
# @type Name: String
# @param IgnoreNameCase: 是否忽略参数名称的大小写,默认值为 false。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IgnoreNameCase: Boolean
attr_accessor :Operator, :Target, :Values, :IgnoreCase, :Name, :IgnoreNameCase
extend Gem::Deprecate
deprecate :IgnoreNameCase, :none, 2024, 9
deprecate :IgnoreNameCase=, :none, 2024, 9
def initialize(operator=nil, target=nil, values=nil, ignorecase=nil, name=nil, ignorenamecase=nil)
@Operator = operator
@Target = target
@Values = values
@IgnoreCase = ignorecase
@Name = name
@IgnoreNameCase = ignorenamecase
end
def deserialize(params)
@Operator = params['Operator']
@Target = params['Target']
@Values = params['Values']
@IgnoreCase = params['IgnoreCase']
@Name = params['Name']
@IgnoreNameCase = params['IgnoreNameCase']
end
end
# 规则引擎参数详情信息,特殊参数类型。
class RuleExtraParameter < TencentCloud::Common::AbstractModel
# @param Id: 参数名,取值有:
# Action:修改 HTTP 头部所需参数,RuleAction 选择 RewirteAction;
# StatusCode:状态码相关功能所需参数,RuleAction 选择 CodeAction。
# @type Id: String
# @param Type: 参数值类型。
# CHOICE:参数值只能在 Values 中选择;
# CUSTOM_NUM:参数值用户自定义,整型类型;
# CUSTOM_STRING:参数值用户自定义,字符串类型。
# @type Type: String
# @param Choices: 可选参数值。
# 注意:当 Id 的值为 StatusCode 时数组中的值为整型,填写参数值时请填写字符串的整型数值。
# @type Choices: Array
attr_accessor :Id, :Type, :Choices
def initialize(id=nil, type=nil, choices=nil)
@Id = id
@Type = type
@Choices = choices
end
def deserialize(params)
@Id = params['Id']
@Type = params['Type']
@Choices = params['Choices']
end
end
# 规则引擎规则详情
class RuleItem < TencentCloud::Common::AbstractModel
# @param RuleId: 规则ID。
# @type RuleId: String
# @param RuleName: 规则名称,名称字符串长度 1~255。
# @type RuleName: String
# @param Status: 规则状态,取值有:
# enable: 启用;
# disable: 未启用。
# @type Status: String
# @param Rules: 规则内容。
# @type Rules: Array
# @param RulePriority: 规则优先级, 值越大优先级越高,最小为 1。
# @type RulePriority: Integer
# @param Tags: 规则标签。
# @type Tags: Array
attr_accessor :RuleId, :RuleName, :Status, :Rules, :RulePriority, :Tags
def initialize(ruleid=nil, rulename=nil, status=nil, rules=nil, rulepriority=nil, tags=nil)
@RuleId = ruleid
@RuleName = rulename
@Status = status
@Rules = rules
@RulePriority = rulepriority
@Tags = tags
end
def deserialize(params)
@RuleId = params['RuleId']
@RuleName = params['RuleName']
@Status = params['Status']
unless params['Rules'].nil?
@Rules = []
params['Rules'].each do |i|
rule_tmp = Rule.new
rule_tmp.deserialize(i)
@Rules << rule_tmp
end
end
@RulePriority = params['RulePriority']
@Tags = params['Tags']
end
end
# 规则引擎条件常规动作参数
class RuleNormalActionParams < TencentCloud::Common::AbstractModel
# @param Name: 参数名称,参数填写规范可调用接口 [查询规则引擎的设置参数](https://cloud.tencent.com/document/product/1552/80618) 查看。
# @type Name: String
# @param Values: 参数值。
# @type Values: Array
attr_accessor :Name, :Values
def initialize(name=nil, values=nil)
@Name = name
@Values = values
end
def deserialize(params)
@Name = params['Name']
@Values = params['Values']
end
end
# 规则引擎条件 HTTP 请求/响应头操作动作参数。
class RuleRewriteActionParams < TencentCloud::Common::AbstractModel
# @param Action: 功能参数名称,参数填写规范可调用接口 [查询规则引擎的设置参数](https://cloud.tencent.com/document/product/1552/80618) 查看。现在只有三种取值:
# add:添加 HTTP 头部;
# set:重写 HTTP 头部;
# del:删除 HTTP 头部。
# @type Action: String
# @param Name: 参数名称。
# @type Name: String
# @param Values: 参数值。
# @type Values: Array
attr_accessor :Action, :Name, :Values
def initialize(action=nil, name=nil, values=nil)
@Action = action
@Name = name
@Values = values
end
def deserialize(params)
@Action = params['Action']
@Name = params['Name']
@Values = params['Values']
end
end
# 规则引擎可应用于匹配请求的设置详细信息。
class RulesProperties < TencentCloud::Common::AbstractModel
# @param Name: 值为参数名称。
# @type Name: String
# @param Min: 数值参数的最小值,非数值参数或 Min 和 Max 值都为 0 则此项无意义。
# @type Min: Integer
# @param ChoicesValue: 参数值的可选值。
# 注意:若参数值为用户自定义则该数组为空数组。
# @type ChoicesValue: Array
# @param Type: 参数值类型。
# CHOICE:参数值只能在 ChoicesValue 中选择;
# TOGGLE:参数值为开关类型,可在 ChoicesValue 中选择;
# OBJECT:参数值为对象类型,ChoiceProperties 为改对象类型关联的属性;
# CUSTOM_NUM:参数值用户自定义,整型类型;
# CUSTOM_STRING:参数值用户自定义,字符串类型。注意:当参数类型为 OBJECT 类型时,请注意参考 [示例2 参数为 OBJECT 类型的创建](https://cloud.tencent.com/document/product/1552/80622#.E7.A4.BA.E4.BE.8B2-.E5.8F.82.E6.95.B0.E4.B8.BA-OBJECT-.E7.B1.BB.E5.9E.8B.E7.9A.84.E5.88.9B.E5.BB.BA)
# @type Type: String
# @param Max: 数值参数的最大值,非数值参数或 Min 和 Max 值都为 0 则此项无意义。
# @type Max: Integer
# @param IsMultiple: 参数值是否支持多选或者填写多个。
# @type IsMultiple: Boolean
# @param IsAllowEmpty: 是否允许为空。
# @type IsAllowEmpty: Boolean
# @param ChoiceProperties: 该参数对应的关联配置参数,属于调用接口的必填参数。
# 注意:如果可选参数无特殊新增参数则该数组为空数组。
# @type ChoiceProperties: Array
# @param ExtraParameter: 为 NULL:无特殊参数,RuleAction 选择 NormalAction;
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExtraParameter: :class:`Tencentcloud::Teo.v20220901.models.RuleExtraParameter`
attr_accessor :Name, :Min, :ChoicesValue, :Type, :Max, :IsMultiple, :IsAllowEmpty, :ChoiceProperties, :ExtraParameter
def initialize(name=nil, min=nil, choicesvalue=nil, type=nil, max=nil, ismultiple=nil, isallowempty=nil, choiceproperties=nil, extraparameter=nil)
@Name = name
@Min = min
@ChoicesValue = choicesvalue
@Type = type
@Max = max
@IsMultiple = ismultiple
@IsAllowEmpty = isallowempty
@ChoiceProperties = choiceproperties
@ExtraParameter = extraparameter
end
def deserialize(params)
@Name = params['Name']
@Min = params['Min']
@ChoicesValue = params['ChoicesValue']
@Type = params['Type']
@Max = params['Max']
@IsMultiple = params['IsMultiple']
@IsAllowEmpty = params['IsAllowEmpty']
unless params['ChoiceProperties'].nil?
@ChoiceProperties = []
params['ChoiceProperties'].each do |i|
rulechoicepropertiesitem_tmp = RuleChoicePropertiesItem.new
rulechoicepropertiesitem_tmp.deserialize(i)
@ChoiceProperties << rulechoicepropertiesitem_tmp
end
end
unless params['ExtraParameter'].nil?
@ExtraParameter = RuleExtraParameter.new
@ExtraParameter.deserialize(params['ExtraParameter'])
end
end
end
# 规则引擎可应用于匹配请求的设置列表及其详细信息
class RulesSettingAction < TencentCloud::Common::AbstractModel
# @param Action: 功能名称,取值有:
# 访问URL 重写(AccessUrlRedirect);
# 回源 URL 重写 (UpstreamUrlRedirect);
# 自定义错误页面
# (ErrorPage);
# 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);
# 缓存预刷新(CachePrefresh);
# 智能压缩(Compression);
# 修改 HTTP 请求头(RequestHeader);
# 修改HTTP响应头(ResponseHeader);
# 状态码缓存 TTL(StatusCodeCache);
# Hsts;
# ClientIpHeader;
# TlsVersion;
# OcspStapling。
# @type Action: String
# @param Properties: 参数信息。
# @type Properties: Array
attr_accessor :Action, :Properties
def initialize(action=nil, properties=nil)
@Action = action
@Properties = properties
end
def deserialize(params)
@Action = params['Action']
unless params['Properties'].nil?
@Properties = []
params['Properties'].each do |i|
rulesproperties_tmp = RulesProperties.new
rulesproperties_tmp.deserialize(i)
@Properties << rulesproperties_tmp
end
end
end
end
# 实时日志投递到 AWS S3 兼容存储桶的配置信息。
class S3 < TencentCloud::Common::AbstractModel
# @param Endpoint: 不包含存储桶名称或路径的 URL,例如:`https://storage.googleapis.com`、`https://s3.ap-northeast-2.amazonaws.com`、`https://cos.ap-nanjing.myqcloud.com`。
# @type Endpoint: String
# @param Region: 存储桶所在的地域,例如:`ap-northeast-2`。
# @type Region: String
# @param Bucket: 存储桶名称和日志存储目录,例如:`your_bucket_name/EO-logs/`。如果存储桶中无此目录则会自动创建。
# @type Bucket: String
# @param AccessId: 访问存储桶使用的 Access Key ID。
# @type AccessId: String
# @param AccessKey: 访问存储桶使用的 secret key。
# @type AccessKey: String
# @param CompressType: 数据压缩类型,取值有: gzip:gzip压缩。不填表示不启用压缩。
# @type CompressType: String
attr_accessor :Endpoint, :Region, :Bucket, :AccessId, :AccessKey, :CompressType
def initialize(endpoint=nil, region=nil, bucket=nil, accessid=nil, accesskey=nil, compresstype=nil)
@Endpoint = endpoint
@Region = region
@Bucket = bucket
@AccessId = accessid
@AccessKey = accesskey
@CompressType = compresstype
end
def deserialize(params)
@Endpoint = params['Endpoint']
@Region = params['Region']
@Bucket = params['Bucket']
@AccessId = params['AccessId']
@AccessKey = params['AccessKey']
@CompressType = params['CompressType']
end
end
# 安全数据Entry返回值
class SecEntry < TencentCloud::Common::AbstractModel
# @param Key: 查询维度值。
# @type Key: String
# @param Value: 查询维度下详细数据。
# @type Value: Array
attr_accessor :Key, :Value
def initialize(key=nil, value=nil)
@Key = key
@Value = value
end
def deserialize(params)
@Key = params['Key']
unless params['Value'].nil?
@Value = []
params['Value'].each do |i|
secentryvalue_tmp = SecEntryValue.new
secentryvalue_tmp.deserialize(i)
@Value << secentryvalue_tmp
end
end
end
end
# 安全数据维度值信息
class SecEntryValue < TencentCloud::Common::AbstractModel
# @param Metric: 指标名称。
# @type Metric: String
# @param Detail: 时序数据详情。
# @type Detail: Array
# @param Max: 最大值。
# @type Max: Integer
# @param Avg: 平均值。
# @type Avg: Float
# @param Sum: 数据总和。
# @type Sum: Float
attr_accessor :Metric, :Detail, :Max, :Avg, :Sum
def initialize(metric=nil, detail=nil, max=nil, avg=nil, sum=nil)
@Metric = metric
@Detail = detail
@Max = max
@Avg = avg
@Sum = sum
end
def deserialize(params)
@Metric = params['Metric']
unless params['Detail'].nil?
@Detail = []
params['Detail'].each do |i|
timingdataitem_tmp = TimingDataItem.new
timingdataitem_tmp.deserialize(i)
@Detail << timingdataitem_tmp
end
end
@Max = params['Max']
@Avg = params['Avg']
@Sum = params['Sum']
end
end
# 安全配置
class SecurityConfig < TencentCloud::Common::AbstractModel
# @param WafConfig: 托管规则。如果入参为空或不填,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type WafConfig: :class:`Tencentcloud::Teo.v20220901.models.WafConfig`
# @param RateLimitConfig: 速率限制。如果入参为空或不填,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RateLimitConfig: :class:`Tencentcloud::Teo.v20220901.models.RateLimitConfig`
# @param AclConfig: 自定义规则。如果入参为空或不填,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AclConfig: :class:`Tencentcloud::Teo.v20220901.models.AclConfig`
# @param BotConfig: Bot配置。如果入参为空或不填,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type BotConfig: :class:`Tencentcloud::Teo.v20220901.models.BotConfig`
# @param SwitchConfig: 七层防护总开关。如果入参为空或不填,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SwitchConfig: :class:`Tencentcloud::Teo.v20220901.models.SwitchConfig`
# @param IpTableConfig: 基础访问管控。如果入参为空或不填,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IpTableConfig: :class:`Tencentcloud::Teo.v20220901.models.IpTableConfig`
# @param ExceptConfig: 例外规则配置。如果入参为空或不填,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExceptConfig: :class:`Tencentcloud::Teo.v20220901.models.ExceptConfig`
# @param DropPageConfig: 自定义拦截页面配置。如果入参为空或不填,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DropPageConfig: :class:`Tencentcloud::Teo.v20220901.models.DropPageConfig`
# @param TemplateConfig: 模板配置。此处仅出参数使用。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type TemplateConfig: :class:`Tencentcloud::Teo.v20220901.models.TemplateConfig`
# @param SlowPostConfig: 慢速攻击配置。如果入参为空或不填,默认使用历史配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SlowPostConfig: :class:`Tencentcloud::Teo.v20220901.models.SlowPostConfig`
attr_accessor :WafConfig, :RateLimitConfig, :AclConfig, :BotConfig, :SwitchConfig, :IpTableConfig, :ExceptConfig, :DropPageConfig, :TemplateConfig, :SlowPostConfig
def initialize(wafconfig=nil, ratelimitconfig=nil, aclconfig=nil, botconfig=nil, switchconfig=nil, iptableconfig=nil, exceptconfig=nil, droppageconfig=nil, templateconfig=nil, slowpostconfig=nil)
@WafConfig = wafconfig
@RateLimitConfig = ratelimitconfig
@AclConfig = aclconfig
@BotConfig = botconfig
@SwitchConfig = switchconfig
@IpTableConfig = iptableconfig
@ExceptConfig = exceptconfig
@DropPageConfig = droppageconfig
@TemplateConfig = templateconfig
@SlowPostConfig = slowpostconfig
end
def deserialize(params)
unless params['WafConfig'].nil?
@WafConfig = WafConfig.new
@WafConfig.deserialize(params['WafConfig'])
end
unless params['RateLimitConfig'].nil?
@RateLimitConfig = RateLimitConfig.new
@RateLimitConfig.deserialize(params['RateLimitConfig'])
end
unless params['AclConfig'].nil?
@AclConfig = AclConfig.new
@AclConfig.deserialize(params['AclConfig'])
end
unless params['BotConfig'].nil?
@BotConfig = BotConfig.new
@BotConfig.deserialize(params['BotConfig'])
end
unless params['SwitchConfig'].nil?
@SwitchConfig = SwitchConfig.new
@SwitchConfig.deserialize(params['SwitchConfig'])
end
unless params['IpTableConfig'].nil?
@IpTableConfig = IpTableConfig.new
@IpTableConfig.deserialize(params['IpTableConfig'])
end
unless params['ExceptConfig'].nil?
@ExceptConfig = ExceptConfig.new
@ExceptConfig.deserialize(params['ExceptConfig'])
end
unless params['DropPageConfig'].nil?
@DropPageConfig = DropPageConfig.new
@DropPageConfig.deserialize(params['DropPageConfig'])
end
unless params['TemplateConfig'].nil?
@TemplateConfig = TemplateConfig.new
@TemplateConfig.deserialize(params['TemplateConfig'])
end
unless params['SlowPostConfig'].nil?
@SlowPostConfig = SlowPostConfig.new
@SlowPostConfig.deserialize(params['SlowPostConfig'])
end
end
end
# 安全策略模板的绑定关系。
class SecurityTemplateBinding < TencentCloud::Common::AbstractModel
# @param TemplateId: 模板ID
# @type TemplateId: String
# @param TemplateScope: 模板绑定状态。
# @type TemplateScope: Array
attr_accessor :TemplateId, :TemplateScope
def initialize(templateid=nil, templatescope=nil)
@TemplateId = templateid
@TemplateScope = templatescope
end
def deserialize(params)
@TemplateId = params['TemplateId']
unless params['TemplateScope'].nil?
@TemplateScope = []
params['TemplateScope'].each do |i|
templatescope_tmp = TemplateScope.new
templatescope_tmp.deserialize(i)
@TemplateScope << templatescope_tmp
end
end
end
end
# 安全类型配置项。
class SecurityType < TencentCloud::Common::AbstractModel
# @param Switch: 安全类型开关,取值为:
# on:开启;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# https 服务端证书配置
class ServerCertInfo < TencentCloud::Common::AbstractModel
# @param CertId: 服务器证书 ID。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CertId: String
# @param Alias: 证书备注名。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Alias: String
# @param Type: 证书类型,取值有:
# default:默认证书;
# upload:用户上传;
# managed:腾讯云托管。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Type: String
# @param ExpireTime: 证书过期时间。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExpireTime: String
# @param DeployTime: 证书部署时间。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DeployTime: String
# @param SignAlgo: 签名算法。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SignAlgo: String
# @param CommonName: 证书归属域名名称。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CommonName: String
attr_accessor :CertId, :Alias, :Type, :ExpireTime, :DeployTime, :SignAlgo, :CommonName
def initialize(certid=nil, _alias=nil, type=nil, expiretime=nil, deploytime=nil, signalgo=nil, commonname=nil)
@CertId = certid
@Alias = _alias
@Type = type
@ExpireTime = expiretime
@DeployTime = deploytime
@SignAlgo = signalgo
@CommonName = commonname
end
def deserialize(params)
@CertId = params['CertId']
@Alias = params['Alias']
@Type = params['Type']
@ExpireTime = params['ExpireTime']
@DeployTime = params['DeployTime']
@SignAlgo = params['SignAlgo']
@CommonName = params['CommonName']
end
end
# 例外规则的跳过匹配条件,即在例外时根据本匹配条件,略过指定字段及内容。
class SkipCondition < TencentCloud::Common::AbstractModel
# @param Type: 例外跳过类型,取值为:
# header_fields:HTTP请求Header;
# cookie:HTTP请求Cookie;
# query_string:HTTP请求URL中的Query参数;
# uri:HTTP请求URI;
# body_raw:HTTP请求Body;
# body_json: JSON格式的HTTP Body。
# @type Type: String
# @param Selector: 选择跳过的字段,取值为:
# args:uri 下选择 query 参数: ?name1=jack&age=12;
# path:uri 下选择部分路径:/path/to/resource.jpg;
# full:uri 下选择完整路径:example.com/path/to/resource.jpg?name1=jack&age=12;
# upload_filename:分段文件名,即分段传输文件时;
# keys:所有的Key;
# values:匹配Key对应的值;
# key_value:匹配Key及匹配Value。
# @type Selector: String
# @param MatchFromType: 匹配Key所使用的匹配方式,取值为:
# equal:精准匹配,等于;
# wildcard:通配符匹配,支持 * 通配。
# @type MatchFromType: String
# @param MatchFrom: 匹配Key的值。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MatchFrom: Array
# @param MatchContentType: 匹配Content所使用的匹配方式,取值为:
# equal:精准匹配,等于;
# wildcard:通配符匹配,支持 * 通配。
# @type MatchContentType: String
# @param MatchContent: 匹配Value的值。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MatchContent: Array
attr_accessor :Type, :Selector, :MatchFromType, :MatchFrom, :MatchContentType, :MatchContent
def initialize(type=nil, selector=nil, matchfromtype=nil, matchfrom=nil, matchcontenttype=nil, matchcontent=nil)
@Type = type
@Selector = selector
@MatchFromType = matchfromtype
@MatchFrom = matchfrom
@MatchContentType = matchcontenttype
@MatchContent = matchcontent
end
def deserialize(params)
@Type = params['Type']
@Selector = params['Selector']
@MatchFromType = params['MatchFromType']
@MatchFrom = params['MatchFrom']
@MatchContentType = params['MatchContentType']
@MatchContent = params['MatchContent']
end
end
# 慢速攻击配置。
class SlowPostConfig < TencentCloud::Common::AbstractModel
# @param Switch: 开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param FirstPartConfig: 首包配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FirstPartConfig: :class:`Tencentcloud::Teo.v20220901.models.FirstPartConfig`
# @param SlowRateConfig: 基础配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SlowRateConfig: :class:`Tencentcloud::Teo.v20220901.models.SlowRateConfig`
# @param Action: 慢速攻击的处置动作,取值有:
# monitor:观察;
# drop:拦截。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Action: String
# @param RuleId: 本规则的Id。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RuleId: Integer
attr_accessor :Switch, :FirstPartConfig, :SlowRateConfig, :Action, :RuleId
def initialize(switch=nil, firstpartconfig=nil, slowrateconfig=nil, action=nil, ruleid=nil)
@Switch = switch
@FirstPartConfig = firstpartconfig
@SlowRateConfig = slowrateconfig
@Action = action
@RuleId = ruleid
end
def deserialize(params)
@Switch = params['Switch']
unless params['FirstPartConfig'].nil?
@FirstPartConfig = FirstPartConfig.new
@FirstPartConfig.deserialize(params['FirstPartConfig'])
end
unless params['SlowRateConfig'].nil?
@SlowRateConfig = SlowRateConfig.new
@SlowRateConfig.deserialize(params['SlowRateConfig'])
end
@Action = params['Action']
@RuleId = params['RuleId']
end
end
# 慢速攻击的基础配置。
class SlowRateConfig < TencentCloud::Common::AbstractModel
# @param Switch: 开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param Interval: 统计的间隔,单位是秒,即在首段包传输结束后,将数据传输轴按照本参数切分,每个分片独立计算慢速攻击。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Interval: Integer
# @param Threshold: 统计时应用的速率阈值,单位是bps,即如果本分片中的传输速率没达到本参数的值,则判定为慢速攻击,应用慢速攻击的处置方式。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Threshold: Integer
attr_accessor :Switch, :Interval, :Threshold
def initialize(switch=nil, interval=nil, threshold=nil)
@Switch = switch
@Interval = interval
@Threshold = threshold
end
def deserialize(params)
@Switch = params['Switch']
@Interval = params['Interval']
@Threshold = params['Threshold']
end
end
# 智能加速配置
class SmartRouting < TencentCloud::Common::AbstractModel
# @param Switch: 智能加速配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# 支持标准debug结构体
class StandardDebug < TencentCloud::Common::AbstractModel
# @param Switch: Debug 功能开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param AllowClientIPList: 允许的客户端来源。支持填写 IPv4 以及 IPv6 的 IP/IP 段。0.0.0.0/0 表示允许所有 IPv4 客户端进行调试,::/0 表示允许所有 IPv6 客户端进行调试。
# @type AllowClientIPList: Array
# @param ExpireTime: Debug 功能到期时间。超出设置的时间,则功能失效。
# @type ExpireTime: String
attr_accessor :Switch, :AllowClientIPList, :ExpireTime
def initialize(switch=nil, allowclientiplist=nil, expiretime=nil)
@Switch = switch
@AllowClientIPList = allowclientiplist
@ExpireTime = expiretime
end
def deserialize(params)
@Switch = params['Switch']
@AllowClientIPList = params['AllowClientIPList']
@ExpireTime = params['ExpireTime']
end
end
# 嵌套规则信息。
class SubRule < TencentCloud::Common::AbstractModel
# @param Conditions: 执行功能判断条件。
# 注意:满足该数组内任意一项条件,功能即可执行。
# @type Conditions: Array
# @param Actions: 执行的功能。
# @type Actions: Array
attr_accessor :Conditions, :Actions
def initialize(conditions=nil, actions=nil)
@Conditions = conditions
@Actions = actions
end
def deserialize(params)
unless params['Conditions'].nil?
@Conditions = []
params['Conditions'].each do |i|
ruleandconditions_tmp = RuleAndConditions.new
ruleandconditions_tmp.deserialize(i)
@Conditions << ruleandconditions_tmp
end
end
unless params['Actions'].nil?
@Actions = []
params['Actions'].each do |i|
action_tmp = Action.new
action_tmp.deserialize(i)
@Actions << action_tmp
end
end
end
end
# 规则引擎嵌套规则
class SubRuleItem < TencentCloud::Common::AbstractModel
# @param Rules: 嵌套规则信息。
# @type Rules: Array
# @param Tags: 规则标签。
# @type Tags: Array
attr_accessor :Rules, :Tags
def initialize(rules=nil, tags=nil)
@Rules = rules
@Tags = tags
end
def deserialize(params)
unless params['Rules'].nil?
@Rules = []
params['Rules'].each do |i|
subrule_tmp = SubRule.new
subrule_tmp.deserialize(i)
@Rules << subrule_tmp
end
end
@Tags = params['Tags']
end
end
# 询价参数
class Sv < TencentCloud::Common::AbstractModel
# @param Key: 询价参数键。
# @type Key: String
# @param Value: 询价参数值。
# @type Value: String
# @param Pack: 询价参数映射的配额,取值有:
# zone:站点数;
# custom-rule:自定义规则数;
# rate-limiting-rule:速率限制规则数;
# l4-proxy-instance:四层代理实例数。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Pack: String
# @param InstanceId: 询价参数映射的四层代理实例Id。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceId: String
# @param ProtectionSpecs: 询价参数对应的防护等级。
# 取值有: cm_30G:中国大陆加速区域保底防护30Gbps; cm_60G:中国大陆加速区域保底防护60Gbps; cm_100G:中国大陆加速区域保底防护100Gbps; anycast_300G:全球加速区域(除中国大陆)Anycast联防300Gbps; anycast_unlimited:全球加速区域(除中国大陆)Anycast无上限全力防护; cm_30G_anycast_300G:中国大陆加速区域保底防护30Gbps,全球加速区域(除中国大陆)Anycast联防300Gbps; cm_30G_anycast_unlimited:中国大陆加速区域保底防护30Gbps,全球加速区域(除中国大陆)Anycast无上限全力防护; cm_60G_anycast_300G:中国大陆加速区域保底防护60Gbps,全球加速区域(除中国大陆)Anycast联防300Gbps; cm_60G_anycast_unlimited:中国大陆加速区域保底防护60Gbps,全球加速区域(除中国大陆)Anycast无上限全力防护; cm_100G_anycast_300G:中国大陆加速区域保底防护100Gbps,全球加速区域(除中国大陆)Anycast联防300Gbps; cm_100G_anycast_unlimited:中国大陆加速区域保底防护100Gbps,全球加速区域(除中国大陆)Anycast无上限全力防护。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ProtectionSpecs: String
attr_accessor :Key, :Value, :Pack, :InstanceId, :ProtectionSpecs
def initialize(key=nil, value=nil, pack=nil, instanceid=nil, protectionspecs=nil)
@Key = key
@Value = value
@Pack = pack
@InstanceId = instanceid
@ProtectionSpecs = protectionspecs
end
def deserialize(params)
@Key = params['Key']
@Value = params['Value']
@Pack = params['Pack']
@InstanceId = params['InstanceId']
@ProtectionSpecs = params['ProtectionSpecs']
end
end
# 功能总开关
class SwitchConfig < TencentCloud::Common::AbstractModel
# @param WebSwitch: Web类型的安全总开关,取值有:
# on:开启;
# off:关闭。不影响DDoS与Bot的开关。
# @type WebSwitch: String
attr_accessor :WebSwitch
def initialize(webswitch=nil)
@WebSwitch = webswitch
end
def deserialize(params)
@WebSwitch = params['WebSwitch']
end
end
# 标签配置
class Tag < TencentCloud::Common::AbstractModel
# @param TagKey: 标签键。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type TagKey: String
# @param TagValue: 标签值。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type TagValue: String
attr_accessor :TagKey, :TagValue
def initialize(tagkey=nil, tagvalue=nil)
@TagKey = tagkey
@TagValue = tagvalue
end
def deserialize(params)
@TagKey = params['TagKey']
@TagValue = params['TagValue']
end
end
# 内容管理任务结果
class Task < TencentCloud::Common::AbstractModel
# @param JobId: 任务 ID。
# @type JobId: String
# @param Target: 资源。
# @type Target: String
# @param Type: 任务类型。
# @type Type: String
# @param Method: 节点缓存清除方法,取值有:
# invalidate:标记过期,用户请求时触发回源校验,即发送带有 If-None-Match 和 If-Modified-Since 头部的 HTTP 条件请求。若源站响应 200,则节点会回源拉取新的资源并更新缓存;若源站响应 304,则节点不会更新缓存;
# delete:直接删除节点缓存,用户请求时触发回源拉取资源。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Method: String
# @param Status: 状态。取值有:
# processing:处理中;
# success:成功;
# failed:失败;
# timeout:超时。
# @type Status: String
# @param CreateTime: 任务创建时间。
# @type CreateTime: String
# @param UpdateTime: 任务完成时间。
# @type UpdateTime: String
attr_accessor :JobId, :Target, :Type, :Method, :Status, :CreateTime, :UpdateTime
def initialize(jobid=nil, target=nil, type=nil, method=nil, status=nil, createtime=nil, updatetime=nil)
@JobId = jobid
@Target = target
@Type = type
@Method = method
@Status = status
@CreateTime = createtime
@UpdateTime = updatetime
end
def deserialize(params)
@JobId = params['JobId']
@Target = params['Target']
@Type = params['Type']
@Method = params['Method']
@Status = params['Status']
@CreateTime = params['CreateTime']
@UpdateTime = params['UpdateTime']
end
end
# 安全模板配置
class TemplateConfig < TencentCloud::Common::AbstractModel
# @param TemplateId: 模板ID。
# @type TemplateId: String
# @param TemplateName: 模板名称。
# @type TemplateName: String
attr_accessor :TemplateId, :TemplateName
def initialize(templateid=nil, templatename=nil)
@TemplateId = templateid
@TemplateName = templatename
end
def deserialize(params)
@TemplateId = params['TemplateId']
@TemplateName = params['TemplateName']
end
end
# 安全模板绑定域名状态
class TemplateScope < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点ID。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ZoneId: String
# @param EntityStatus: 实例状态列表。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type EntityStatus: Array
attr_accessor :ZoneId, :EntityStatus
def initialize(zoneid=nil, entitystatus=nil)
@ZoneId = zoneid
@EntityStatus = entitystatus
end
def deserialize(params)
@ZoneId = params['ZoneId']
unless params['EntityStatus'].nil?
@EntityStatus = []
params['EntityStatus'].each do |i|
entitystatus_tmp = EntityStatus.new
entitystatus_tmp.deserialize(i)
@EntityStatus << entitystatus_tmp
end
end
end
end
# 统计曲线数据项
class TimingDataItem < TencentCloud::Common::AbstractModel
# @param Timestamp: 返回数据对应时间点,采用 unix 秒级时间戳。
# @type Timestamp: Integer
# @param Value: 具体数值。
# @type Value: Integer
attr_accessor :Timestamp, :Value
def initialize(timestamp=nil, value=nil)
@Timestamp = timestamp
@Value = value
end
def deserialize(params)
@Timestamp = params['Timestamp']
@Value = params['Value']
end
end
# 时序数据信息
class TimingDataRecord < TencentCloud::Common::AbstractModel
# @param TypeKey: 查询维度值。
# @type TypeKey: String
# @param TypeValue: 详细时序数据。
# @type TypeValue: Array
attr_accessor :TypeKey, :TypeValue
def initialize(typekey=nil, typevalue=nil)
@TypeKey = typekey
@TypeValue = typevalue
end
def deserialize(params)
@TypeKey = params['TypeKey']
unless params['TypeValue'].nil?
@TypeValue = []
params['TypeValue'].each do |i|
timingtypevalue_tmp = TimingTypeValue.new
timingtypevalue_tmp.deserialize(i)
@TypeValue << timingtypevalue_tmp
end
end
end
end
# 时序类型详细数据
class TimingTypeValue < TencentCloud::Common::AbstractModel
# @param Sum: 数据和。
# @type Sum: Integer
# @param Max: 最大值。
# @type Max: Integer
# @param Avg: 平均值。
# @type Avg: Integer
# @param MetricName: 指标名。
# @type MetricName: String
# @param Detail: 详细数据。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Detail: Array
attr_accessor :Sum, :Max, :Avg, :MetricName, :Detail
def initialize(sum=nil, max=nil, avg=nil, metricname=nil, detail=nil)
@Sum = sum
@Max = max
@Avg = avg
@MetricName = metricname
@Detail = detail
end
def deserialize(params)
@Sum = params['Sum']
@Max = params['Max']
@Avg = params['Avg']
@MetricName = params['MetricName']
unless params['Detail'].nil?
@Detail = []
params['Detail'].each do |i|
timingdataitem_tmp = TimingDataItem.new
timingdataitem_tmp.deserialize(i)
@Detail << timingdataitem_tmp
end
end
end
end
# Top类数据记录
class TopDataRecord < TencentCloud::Common::AbstractModel
# @param TypeKey: 查询维度值。
# @type TypeKey: String
# @param DetailData: top数据排行。
# @type DetailData: Array
attr_accessor :TypeKey, :DetailData
def initialize(typekey=nil, detaildata=nil)
@TypeKey = typekey
@DetailData = detaildata
end
def deserialize(params)
@TypeKey = params['TypeKey']
unless params['DetailData'].nil?
@DetailData = []
params['DetailData'].each do |i|
topdetaildata_tmp = TopDetailData.new
topdetaildata_tmp.deserialize(i)
@DetailData << topdetaildata_tmp
end
end
end
end
# Top数据的详细信息
class TopDetailData < TencentCloud::Common::AbstractModel
# @param Key: 字段名。
# @type Key: String
# @param Value: 字段值。
# @type Value: Integer
attr_accessor :Key, :Value
def initialize(key=nil, value=nil)
@Key = key
@Value = value
end
def deserialize(params)
@Key = params['Key']
@Value = params['Value']
end
end
# TopN的Entry数据
class TopEntry < TencentCloud::Common::AbstractModel
# @param Key: top查询维度值。
# @type Key: String
# @param Value: 查询具体数据。
# @type Value: Array
attr_accessor :Key, :Value
def initialize(key=nil, value=nil)
@Key = key
@Value = value
end
def deserialize(params)
@Key = params['Key']
unless params['Value'].nil?
@Value = []
params['Value'].each do |i|
topentryvalue_tmp = TopEntryValue.new
topentryvalue_tmp.deserialize(i)
@Value << topentryvalue_tmp
end
end
end
end
# TopN数据Entry
class TopEntryValue < TencentCloud::Common::AbstractModel
# @param Name: 排序实体名。
# @type Name: String
# @param Count: 排序实体数量。
# @type Count: Integer
attr_accessor :Name, :Count
def initialize(name=nil, count=nil)
@Name = name
@Count = count
end
def deserialize(params)
@Name = params['Name']
@Count = params['Count']
end
end
# UpgradePlan请求参数结构体
class UpgradePlanRequest < TencentCloud::Common::AbstractModel
# @param PlanId: 套餐 ID,形如 edgeone-2unuvzjmmn2q。
# @type PlanId: String
# @param PlanType: 需要升级到的目标套餐版本,取值有: basic:基础版套餐; standard:标准版套餐。
# @type PlanType: String
# @param AutoUseVoucher: 是否自动使用代金券,取值有: true:是; false:否。不填写使用默认值 false。
# @type AutoUseVoucher: String
attr_accessor :PlanId, :PlanType, :AutoUseVoucher
def initialize(planid=nil, plantype=nil, autousevoucher=nil)
@PlanId = planid
@PlanType = plantype
@AutoUseVoucher = autousevoucher
end
def deserialize(params)
@PlanId = params['PlanId']
@PlanType = params['PlanType']
@AutoUseVoucher = params['AutoUseVoucher']
end
end
# UpgradePlan返回参数结构体
class UpgradePlanResponse < TencentCloud::Common::AbstractModel
# @param DealName: 订单号。
# @type DealName: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :DealName, :RequestId
def initialize(dealname=nil, requestid=nil)
@DealName = dealname
@RequestId = requestid
end
def deserialize(params)
@DealName = params['DealName']
@RequestId = params['RequestId']
end
end
# Http2回源配置
class UpstreamHttp2 < TencentCloud::Common::AbstractModel
# @param Switch: http2 回源配置开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
attr_accessor :Switch
def initialize(switch=nil)
@Switch = switch
end
def deserialize(params)
@Switch = params['Switch']
end
end
# 自定义 nameservers
class VanityNameServers < TencentCloud::Common::AbstractModel
# @param Switch: 自定义 ns 开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param Servers: 自定义 ns 列表。
# @type Servers: Array
attr_accessor :Switch, :Servers
def initialize(switch=nil, servers=nil)
@Switch = switch
@Servers = servers
end
def deserialize(params)
@Switch = params['Switch']
@Servers = params['Servers']
end
end
# 自定义名字服务器 IP 信息
class VanityNameServersIps < TencentCloud::Common::AbstractModel
# @param Name: 自定义名字服务器名称。
# @type Name: String
# @param IPv4: 自定义名字服务器 IPv4 地址。
# @type IPv4: String
attr_accessor :Name, :IPv4
def initialize(name=nil, ipv4=nil)
@Name = name
@IPv4 = ipv4
end
def deserialize(params)
@Name = params['Name']
@IPv4 = params['IPv4']
end
end
# VerifyOwnership请求参数结构体
class VerifyOwnershipRequest < TencentCloud::Common::AbstractModel
# @param Domain: 站点或者加速域名。
# @type Domain: String
attr_accessor :Domain
def initialize(domain=nil)
@Domain = domain
end
def deserialize(params)
@Domain = params['Domain']
end
end
# VerifyOwnership返回参数结构体
class VerifyOwnershipResponse < TencentCloud::Common::AbstractModel
# @param Status: 归属权验证结果。
# success:验证成功;
# fail:验证失败。
# @type Status: String
# @param Result: 当验证结果为不通过时,该字段会返回原因,协助您排查问题。
# @type Result: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Status, :Result, :RequestId
def initialize(status=nil, result=nil, requestid=nil)
@Status = status
@Result = result
@RequestId = requestid
end
def deserialize(params)
@Status = params['Status']
@Result = params['Result']
@RequestId = params['RequestId']
end
end
# 无
class Waf < TencentCloud::Common::AbstractModel
# @param Switch: Waf开关,取值为:
# on:开启;
# off:关闭。
# @type Switch: String
# @param PolicyId: 策略ID。
# @type PolicyId: Integer
attr_accessor :Switch, :PolicyId
def initialize(switch=nil, policyid=nil)
@Switch = switch
@PolicyId = policyid
end
def deserialize(params)
@Switch = params['Switch']
@PolicyId = params['PolicyId']
end
end
# Waf配置。
class WafConfig < TencentCloud::Common::AbstractModel
# @param Switch: WafConfig开关,取值有:
# on:开启;
# off:关闭。开关仅与配置是否生效有关,即使为off(关闭),也可以正常修改配置的内容。
# @type Switch: String
# @param Level: 上一次设置的防护级别,取值有:
# loose:宽松;
# normal:正常;
# strict:严格;
# stricter:超严格;
# custom:自定义。
# @type Level: String
# @param Mode: 全局WAF模式,取值有:
# block:阻断(全局阻断,但可对详细规则配置观察);
# observe:观察(无论详细规则配置什么,都为观察)。
# @type Mode: String
# @param WafRule: 托管规则详细配置。如果为null,默认使用历史配置。
# @type WafRule: :class:`Tencentcloud::Teo.v20220901.models.WafRule`
# @param AiRule: AI规则引擎防护配置。如果为null,默认使用历史配置。
# @type AiRule: :class:`Tencentcloud::Teo.v20220901.models.AiRule`
attr_accessor :Switch, :Level, :Mode, :WafRule, :AiRule
def initialize(switch=nil, level=nil, mode=nil, wafrule=nil, airule=nil)
@Switch = switch
@Level = level
@Mode = mode
@WafRule = wafrule
@AiRule = airule
end
def deserialize(params)
@Switch = params['Switch']
@Level = params['Level']
@Mode = params['Mode']
unless params['WafRule'].nil?
@WafRule = WafRule.new
@WafRule.deserialize(params['WafRule'])
end
unless params['AiRule'].nil?
@AiRule = AiRule.new
@AiRule.deserialize(params['AiRule'])
end
end
end
# Waf规则
class WafRule < TencentCloud::Common::AbstractModel
# @param Switch: 托管规则开关,取值有:
# on:开启;
# off:关闭。
# @type Switch: String
# @param BlockRuleIDs: 黑名单ID列表,将规则ID加入本参数列表中代表该ID关闭,即该规则ID不再生效。
# @type BlockRuleIDs: Array
# @param ObserveRuleIDs: 观察模式ID列表,将规则ID加入本参数列表中代表该ID使用观察模式生效,即该规则ID进入观察模式。
# @type ObserveRuleIDs: Array
attr_accessor :Switch, :BlockRuleIDs, :ObserveRuleIDs
def initialize(switch=nil, blockruleids=nil, observeruleids=nil)
@Switch = switch
@BlockRuleIDs = blockruleids
@ObserveRuleIDs = observeruleids
end
def deserialize(params)
@Switch = params['Switch']
@BlockRuleIDs = params['BlockRuleIDs']
@ObserveRuleIDs = params['ObserveRuleIDs']
end
end
# WebSocket配置
class WebSocket < TencentCloud::Common::AbstractModel
# @param Switch: WebSocket 超时时间配置开关,取值有:
# on:使用Timeout作为WebSocket超时时间;
# off:平台仍支持WebSocket连接,此时使用系统默认的15秒为超时时间。
# @type Switch: String
# @param Timeout: 超时时间,单位为秒,最大超时时间120秒。
# @type Timeout: Integer
attr_accessor :Switch, :Timeout
def initialize(switch=nil, timeout=nil)
@Switch = switch
@Timeout = timeout
end
def deserialize(params)
@Switch = params['Switch']
@Timeout = params['Timeout']
end
end
# 站点信息
class Zone < TencentCloud::Common::AbstractModel
# @param ZoneId: 站点 ID。
# @type ZoneId: String
# @param ZoneName: 站点名称。
# @type ZoneName: String
# @param OriginalNameServers: 站点当前使用的 NS 列表。
# @type OriginalNameServers: Array
# @param NameServers: 腾讯云分配的 NS 列表。
# @type NameServers: Array
# @param Status: 站点状态,取值有:
# active:NS 已切换;
# pending:NS 未切换;
# moved:NS 已切走;
# deactivated:被封禁。
# initializing:待绑定套餐。
# @type Status: String
# @param Type: 站点接入方式,取值有:
# full:NS 接入;
# partial:CNAME 接入;
# noDomainAccess:无域名接入;
# @type Type: String
# @param Paused: 站点是否关闭。
# @type Paused: Boolean
# @param CnameSpeedUp: 是否开启 CNAME 加速,取值有:
# enabled:开启;
# disabled:关闭。
# @type CnameSpeedUp: String
# @param CnameStatus: CNAME 接入状态,取值有:
# finished:站点已验证;
# pending:站点验证中。
# @type CnameStatus: String
# @param Tags: 资源标签列表。
# @type Tags: Array
# @param Resources: 计费资源列表。
# @type Resources: Array
# @param CreatedOn: 站点创建时间。
# @type CreatedOn: String
# @param ModifiedOn: 站点修改时间。
# @type ModifiedOn: String
# @param Area: 站点接入地域,取值有:
# global:全球;
# mainland:中国大陆;
# overseas:境外区域。
# @type Area: String
# @param VanityNameServers: 用户自定义 NS 信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type VanityNameServers: :class:`Tencentcloud::Teo.v20220901.models.VanityNameServers`
# @param VanityNameServersIps: 用户自定义 NS IP 信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type VanityNameServersIps: Array
# @param ActiveStatus: 展示状态,取值有:
# active:已启用;
# inactive:未生效;
# paused:已停用。
# @type ActiveStatus: String
# @param AliasZoneName: 站点别名。数字、英文、-和_组合,限制20个字符。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AliasZoneName: String
# @param IsFake: 是否伪站点,取值有:
# 0:非伪站点;
# 1:伪站点。
# @type IsFake: Integer
# @param LockStatus: 锁定状态,取值有: enable:正常,允许进行修改操作; disable:锁定中,不允许进行修改操作; plan_migrate:套餐迁移中,不允许进行修改操作。
# @type LockStatus: String
# @param OwnershipVerification: 归属权验证信息。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OwnershipVerification: :class:`Tencentcloud::Teo.v20220901.models.OwnershipVerification`
attr_accessor :ZoneId, :ZoneName, :OriginalNameServers, :NameServers, :Status, :Type, :Paused, :CnameSpeedUp, :CnameStatus, :Tags, :Resources, :CreatedOn, :ModifiedOn, :Area, :VanityNameServers, :VanityNameServersIps, :ActiveStatus, :AliasZoneName, :IsFake, :LockStatus, :OwnershipVerification
def initialize(zoneid=nil, zonename=nil, originalnameservers=nil, nameservers=nil, status=nil, type=nil, paused=nil, cnamespeedup=nil, cnamestatus=nil, tags=nil, resources=nil, createdon=nil, modifiedon=nil, area=nil, vanitynameservers=nil, vanitynameserversips=nil, activestatus=nil, aliaszonename=nil, isfake=nil, lockstatus=nil, ownershipverification=nil)
@ZoneId = zoneid
@ZoneName = zonename
@OriginalNameServers = originalnameservers
@NameServers = nameservers
@Status = status
@Type = type
@Paused = paused
@CnameSpeedUp = cnamespeedup
@CnameStatus = cnamestatus
@Tags = tags
@Resources = resources
@CreatedOn = createdon
@ModifiedOn = modifiedon
@Area = area
@VanityNameServers = vanitynameservers
@VanityNameServersIps = vanitynameserversips
@ActiveStatus = activestatus
@AliasZoneName = aliaszonename
@IsFake = isfake
@LockStatus = lockstatus
@OwnershipVerification = ownershipverification
end
def deserialize(params)
@ZoneId = params['ZoneId']
@ZoneName = params['ZoneName']
@OriginalNameServers = params['OriginalNameServers']
@NameServers = params['NameServers']
@Status = params['Status']
@Type = params['Type']
@Paused = params['Paused']
@CnameSpeedUp = params['CnameSpeedUp']
@CnameStatus = params['CnameStatus']
unless params['Tags'].nil?
@Tags = []
params['Tags'].each do |i|
tag_tmp = Tag.new
tag_tmp.deserialize(i)
@Tags << tag_tmp
end
end
unless params['Resources'].nil?
@Resources = []
params['Resources'].each do |i|
resource_tmp = Resource.new
resource_tmp.deserialize(i)
@Resources << resource_tmp
end
end
@CreatedOn = params['CreatedOn']
@ModifiedOn = params['ModifiedOn']
@Area = params['Area']
unless params['VanityNameServers'].nil?
@VanityNameServers = VanityNameServers.new
@VanityNameServers.deserialize(params['VanityNameServers'])
end
unless params['VanityNameServersIps'].nil?
@VanityNameServersIps = []
params['VanityNameServersIps'].each do |i|
vanitynameserversips_tmp = VanityNameServersIps.new
vanitynameserversips_tmp.deserialize(i)
@VanityNameServersIps << vanitynameserversips_tmp
end
end
@ActiveStatus = params['ActiveStatus']
@AliasZoneName = params['AliasZoneName']
@IsFake = params['IsFake']
@LockStatus = params['LockStatus']
unless params['OwnershipVerification'].nil?
@OwnershipVerification = OwnershipVerification.new
@OwnershipVerification.deserialize(params['OwnershipVerification'])
end
end
end
# 站点配置。
class ZoneSetting < TencentCloud::Common::AbstractModel
# @param ZoneName: 站点名称。
# @type ZoneName: String
# @param Area: 站点加速区域信息,取值有:
# mainland:中国境内加速;
# overseas:中国境外加速。
# @type Area: String
# @param CacheKey: 节点缓存键配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CacheKey: :class:`Tencentcloud::Teo.v20220901.models.CacheKey`
# @param Quic: Quic访问配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Quic: :class:`Tencentcloud::Teo.v20220901.models.Quic`
# @param PostMaxSize: POST请求传输配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PostMaxSize: :class:`Tencentcloud::Teo.v20220901.models.PostMaxSize`
# @param Compression: 智能压缩配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Compression: :class:`Tencentcloud::Teo.v20220901.models.Compression`
# @param UpstreamHttp2: Http2回源配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UpstreamHttp2: :class:`Tencentcloud::Teo.v20220901.models.UpstreamHttp2`
# @param ForceRedirect: 访问协议强制Https跳转配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ForceRedirect: :class:`Tencentcloud::Teo.v20220901.models.ForceRedirect`
# @param CacheConfig: 缓存过期时间配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CacheConfig: :class:`Tencentcloud::Teo.v20220901.models.CacheConfig`
# @param Origin: 源站配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Origin: :class:`Tencentcloud::Teo.v20220901.models.Origin`
# @param SmartRouting: 智能加速配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SmartRouting: :class:`Tencentcloud::Teo.v20220901.models.SmartRouting`
# @param MaxAge: 浏览器缓存配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MaxAge: :class:`Tencentcloud::Teo.v20220901.models.MaxAge`
# @param OfflineCache: 离线缓存配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OfflineCache: :class:`Tencentcloud::Teo.v20220901.models.OfflineCache`
# @param WebSocket: WebSocket配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type WebSocket: :class:`Tencentcloud::Teo.v20220901.models.WebSocket`
# @param ClientIpHeader: 客户端IP回源请求头配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ClientIpHeader: :class:`Tencentcloud::Teo.v20220901.models.ClientIpHeader`
# @param CachePrefresh: 缓存预刷新配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CachePrefresh: :class:`Tencentcloud::Teo.v20220901.models.CachePrefresh`
# @param Ipv6: Ipv6访问配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Ipv6: :class:`Tencentcloud::Teo.v20220901.models.Ipv6`
# @param Https: Https 加速配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Https: :class:`Tencentcloud::Teo.v20220901.models.Https`
# @param ClientIpCountry: 回源时是否携带客户端IP所属地域信息的配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ClientIpCountry: :class:`Tencentcloud::Teo.v20220901.models.ClientIpCountry`
# @param Grpc: Grpc协议支持配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Grpc: :class:`Tencentcloud::Teo.v20220901.models.Grpc`
# @param ImageOptimize: 图片优化相关配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ImageOptimize: :class:`Tencentcloud::Teo.v20220901.models.ImageOptimize`
# @param AccelerateMainland: 中国大陆加速优化配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccelerateMainland: :class:`Tencentcloud::Teo.v20220901.models.AccelerateMainland`
# @param StandardDebug: 标准 Debug 配置。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type StandardDebug: :class:`Tencentcloud::Teo.v20220901.models.StandardDebug`
attr_accessor :ZoneName, :Area, :CacheKey, :Quic, :PostMaxSize, :Compression, :UpstreamHttp2, :ForceRedirect, :CacheConfig, :Origin, :SmartRouting, :MaxAge, :OfflineCache, :WebSocket, :ClientIpHeader, :CachePrefresh, :Ipv6, :Https, :ClientIpCountry, :Grpc, :ImageOptimize, :AccelerateMainland, :StandardDebug
def initialize(zonename=nil, area=nil, cachekey=nil, quic=nil, postmaxsize=nil, compression=nil, upstreamhttp2=nil, forceredirect=nil, cacheconfig=nil, origin=nil, smartrouting=nil, maxage=nil, offlinecache=nil, websocket=nil, clientipheader=nil, cacheprefresh=nil, ipv6=nil, https=nil, clientipcountry=nil, grpc=nil, imageoptimize=nil, acceleratemainland=nil, standarddebug=nil)
@ZoneName = zonename
@Area = area
@CacheKey = cachekey
@Quic = quic
@PostMaxSize = postmaxsize
@Compression = compression
@UpstreamHttp2 = upstreamhttp2
@ForceRedirect = forceredirect
@CacheConfig = cacheconfig
@Origin = origin
@SmartRouting = smartrouting
@MaxAge = maxage
@OfflineCache = offlinecache
@WebSocket = websocket
@ClientIpHeader = clientipheader
@CachePrefresh = cacheprefresh
@Ipv6 = ipv6
@Https = https
@ClientIpCountry = clientipcountry
@Grpc = grpc
@ImageOptimize = imageoptimize
@AccelerateMainland = acceleratemainland
@StandardDebug = standarddebug
end
def deserialize(params)
@ZoneName = params['ZoneName']
@Area = params['Area']
unless params['CacheKey'].nil?
@CacheKey = CacheKey.new
@CacheKey.deserialize(params['CacheKey'])
end
unless params['Quic'].nil?
@Quic = Quic.new
@Quic.deserialize(params['Quic'])
end
unless params['PostMaxSize'].nil?
@PostMaxSize = PostMaxSize.new
@PostMaxSize.deserialize(params['PostMaxSize'])
end
unless params['Compression'].nil?
@Compression = Compression.new
@Compression.deserialize(params['Compression'])
end
unless params['UpstreamHttp2'].nil?
@UpstreamHttp2 = UpstreamHttp2.new
@UpstreamHttp2.deserialize(params['UpstreamHttp2'])
end
unless params['ForceRedirect'].nil?
@ForceRedirect = ForceRedirect.new
@ForceRedirect.deserialize(params['ForceRedirect'])
end
unless params['CacheConfig'].nil?
@CacheConfig = CacheConfig.new
@CacheConfig.deserialize(params['CacheConfig'])
end
unless params['Origin'].nil?
@Origin = Origin.new
@Origin.deserialize(params['Origin'])
end
unless params['SmartRouting'].nil?
@SmartRouting = SmartRouting.new
@SmartRouting.deserialize(params['SmartRouting'])
end
unless params['MaxAge'].nil?
@MaxAge = MaxAge.new
@MaxAge.deserialize(params['MaxAge'])
end
unless params['OfflineCache'].nil?
@OfflineCache = OfflineCache.new
@OfflineCache.deserialize(params['OfflineCache'])
end
unless params['WebSocket'].nil?
@WebSocket = WebSocket.new
@WebSocket.deserialize(params['WebSocket'])
end
unless params['ClientIpHeader'].nil?
@ClientIpHeader = ClientIpHeader.new
@ClientIpHeader.deserialize(params['ClientIpHeader'])
end
unless params['CachePrefresh'].nil?
@CachePrefresh = CachePrefresh.new
@CachePrefresh.deserialize(params['CachePrefresh'])
end
unless params['Ipv6'].nil?
@Ipv6 = Ipv6.new
@Ipv6.deserialize(params['Ipv6'])
end
unless params['Https'].nil?
@Https = Https.new
@Https.deserialize(params['Https'])
end
unless params['ClientIpCountry'].nil?
@ClientIpCountry = ClientIpCountry.new
@ClientIpCountry.deserialize(params['ClientIpCountry'])
end
unless params['Grpc'].nil?
@Grpc = Grpc.new
@Grpc.deserialize(params['Grpc'])
end
unless params['ImageOptimize'].nil?
@ImageOptimize = ImageOptimize.new
@ImageOptimize.deserialize(params['ImageOptimize'])
end
unless params['AccelerateMainland'].nil?
@AccelerateMainland = AccelerateMainland.new
@AccelerateMainland.deserialize(params['AccelerateMainland'])
end
unless params['StandardDebug'].nil?
@StandardDebug = StandardDebug.new
@StandardDebug.deserialize(params['StandardDebug'])
end
end
end
end
end
end