# 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 Waf module V20180125 # DescribeAccessIndex class AccessFullTextInfo < TencentCloud::Common::AbstractModel # @param CaseSensitive: 是否大小写敏感 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CaseSensitive: Boolean # @param Tokenizer: 全文索引的分词符,字符串中每个字符代表一个分词符 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tokenizer: String # @param ContainZH: 是否包含中文 # 注意:此字段可能返回 null,表示取不到有效值。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ContainZH: Boolean attr_accessor :CaseSensitive, :Tokenizer, :ContainZH def initialize(casesensitive=nil, tokenizer=nil, containzh=nil) @CaseSensitive = casesensitive @Tokenizer = tokenizer @ContainZH = containzh end def deserialize(params) @CaseSensitive = params['CaseSensitive'] @Tokenizer = params['Tokenizer'] @ContainZH = params['ContainZH'] end end # 用于 DescribeAccessIndex 的出参 class AccessKeyValueInfo < TencentCloud::Common::AbstractModel # @param Key: 需要配置键值或者元字段索引的字段 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Key: String # @param Value: 字段的索引描述信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Value: :class:`Tencentcloud::Waf.v20180125.models.AccessValueInfo` 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 = AccessValueInfo.new @Value.deserialize(params['Value']) end end end # 单条日志数据描述 class AccessLogInfo < TencentCloud::Common::AbstractModel # @param Time: 日志时间,单位ms # 注意:此字段可能返回 null,表示取不到有效值。 # @type Time: Integer # @param TopicId: 日志主题ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type TopicId: String # @param TopicName: 日志主题名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TopicName: String # @param Source: 日志来源IP # 注意:此字段可能返回 null,表示取不到有效值。 # @type Source: String # @param FileName: 日志文件名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FileName: String # @param PkgId: 日志上报请求包的ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type PkgId: String # @param PkgLogId: 请求包内日志的ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type PkgLogId: String # @param LogJson: 日志内容的Json序列化字符串 # 注意:此字段可能返回 null,表示取不到有效值。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LogJson: String attr_accessor :Time, :TopicId, :TopicName, :Source, :FileName, :PkgId, :PkgLogId, :LogJson def initialize(time=nil, topicid=nil, topicname=nil, source=nil, filename=nil, pkgid=nil, pkglogid=nil, logjson=nil) @Time = time @TopicId = topicid @TopicName = topicname @Source = source @FileName = filename @PkgId = pkgid @PkgLogId = pkglogid @LogJson = logjson end def deserialize(params) @Time = params['Time'] @TopicId = params['TopicId'] @TopicName = params['TopicName'] @Source = params['Source'] @FileName = params['FileName'] @PkgId = params['PkgId'] @PkgLogId = params['PkgLogId'] @LogJson = params['LogJson'] end end # 日志KeyValue对 class AccessLogItem < TencentCloud::Common::AbstractModel # @param Key: 日记Key # 注意:此字段可能返回 null,表示取不到有效值。 # @type Key: String # @param Value: 日志Value # 注意:此字段可能返回 null,表示取不到有效值。 # @type Value: String 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 # 日志KeyValue对数组,用于搜索访问日志 class AccessLogItems < TencentCloud::Common::AbstractModel # @param Data: 分析结果返回的KV数据对 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Data: Array attr_accessor :Data def initialize(data=nil) @Data = data end def deserialize(params) unless params['Data'].nil? @Data = [] params['Data'].each do |i| accesslogitem_tmp = AccessLogItem.new accesslogitem_tmp.deserialize(i) @Data << accesslogitem_tmp end end end end # DescribeAccessIndex接口的出参数 class AccessRuleInfo < TencentCloud::Common::AbstractModel # @param FullText: 全文索引配置 # 注意:此字段可能返回 null,表示取不到有效值。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FullText: :class:`Tencentcloud::Waf.v20180125.models.AccessFullTextInfo` # @param KeyValue: 键值索引配置 # 注意:此字段可能返回 null,表示取不到有效值。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type KeyValue: :class:`Tencentcloud::Waf.v20180125.models.AccessRuleKeyValueInfo` # @param Tag: 元字段索引配置 # 注意:此字段可能返回 null,表示取不到有效值。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tag: :class:`Tencentcloud::Waf.v20180125.models.AccessRuleTagInfo` attr_accessor :FullText, :KeyValue, :Tag def initialize(fulltext=nil, keyvalue=nil, tag=nil) @FullText = fulltext @KeyValue = keyvalue @Tag = tag end def deserialize(params) unless params['FullText'].nil? @FullText = AccessFullTextInfo.new @FullText.deserialize(params['FullText']) end unless params['KeyValue'].nil? @KeyValue = AccessRuleKeyValueInfo.new @KeyValue.deserialize(params['KeyValue']) end unless params['Tag'].nil? @Tag = AccessRuleTagInfo.new @Tag.deserialize(params['Tag']) end end end # DescribeAccessIndex接口的出参 class AccessRuleKeyValueInfo < TencentCloud::Common::AbstractModel # @param CaseSensitive: 是否大小写敏感 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CaseSensitive: Boolean # @param KeyValues: 需要建立索引的键值对信息;最大只能配置100个键值对 # 注意:此字段可能返回 null,表示取不到有效值。 # @type KeyValues: Array attr_accessor :CaseSensitive, :KeyValues def initialize(casesensitive=nil, keyvalues=nil) @CaseSensitive = casesensitive @KeyValues = keyvalues end def deserialize(params) @CaseSensitive = params['CaseSensitive'] unless params['KeyValues'].nil? @KeyValues = [] params['KeyValues'].each do |i| accesskeyvalueinfo_tmp = AccessKeyValueInfo.new accesskeyvalueinfo_tmp.deserialize(i) @KeyValues << accesskeyvalueinfo_tmp end end end end # DescribeAccessIndex接口的出参 class AccessRuleTagInfo < TencentCloud::Common::AbstractModel # @param CaseSensitive: 是否大小写敏感 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CaseSensitive: Boolean # @param KeyValues: 标签索引配置中的字段信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type KeyValues: Array attr_accessor :CaseSensitive, :KeyValues def initialize(casesensitive=nil, keyvalues=nil) @CaseSensitive = casesensitive @KeyValues = keyvalues end def deserialize(params) @CaseSensitive = params['CaseSensitive'] unless params['KeyValues'].nil? @KeyValues = [] params['KeyValues'].each do |i| accesskeyvalueinfo_tmp = AccessKeyValueInfo.new accesskeyvalueinfo_tmp.deserialize(i) @KeyValues << accesskeyvalueinfo_tmp end end end end # 用于DescribeAccessIndex接口的出参 class AccessValueInfo < TencentCloud::Common::AbstractModel # @param Type: 字段类型,目前支持的类型有:long、text、double # 注意:此字段可能返回 null,表示取不到有效值。 # @type Type: String # @param Tokenizer: 字段的分词符,只有当字段类型为text时才有意义;输入字符串中的每个字符代表一个分词符 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tokenizer: String # @param SqlFlag: 字段是否开启分析功能 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SqlFlag: Boolean # @param ContainZH: 是否包含中文 # 注意:此字段可能返回 null,表示取不到有效值。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ContainZH: Boolean attr_accessor :Type, :Tokenizer, :SqlFlag, :ContainZH def initialize(type=nil, tokenizer=nil, sqlflag=nil, containzh=nil) @Type = type @Tokenizer = tokenizer @SqlFlag = sqlflag @ContainZH = containzh end def deserialize(params) @Type = params['Type'] @Tokenizer = params['Tokenizer'] @SqlFlag = params['SqlFlag'] @ContainZH = params['ContainZH'] end end # AddCustomRule请求参数结构体 class AddCustomRuleRequest < TencentCloud::Common::AbstractModel # @param Name: 规则名称 # @type Name: String # @param SortId: 优先级 # @type SortId: String # @param ExpireTime: 过期时间,单位为秒级时间戳,例如1677254399表示过期时间为2023-02-24 23:59:59. 0表示永不过期 # @type ExpireTime: String # @param Strategies: 策略详情 # @type Strategies: Array # @param Domain: 需要添加策略的域名 # @type Domain: String # @param ActionType: 动作类型,1代表阻断,2代表人机识别,3代表观察,4代表重定向 # @type ActionType: String # @param Redirect: 如果动作是重定向,则表示重定向的地址;其他情况可以为空 # @type Redirect: String # @param Edition: WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF # @type Edition: String # @param Bypass: 放行的详情 # @type Bypass: String # @param EventId: 添加规则的来源,默认为空 # @type EventId: String attr_accessor :Name, :SortId, :ExpireTime, :Strategies, :Domain, :ActionType, :Redirect, :Edition, :Bypass, :EventId def initialize(name=nil, sortid=nil, expiretime=nil, strategies=nil, domain=nil, actiontype=nil, redirect=nil, edition=nil, bypass=nil, eventid=nil) @Name = name @SortId = sortid @ExpireTime = expiretime @Strategies = strategies @Domain = domain @ActionType = actiontype @Redirect = redirect @Edition = edition @Bypass = bypass @EventId = eventid end def deserialize(params) @Name = params['Name'] @SortId = params['SortId'] @ExpireTime = params['ExpireTime'] unless params['Strategies'].nil? @Strategies = [] params['Strategies'].each do |i| strategy_tmp = Strategy.new strategy_tmp.deserialize(i) @Strategies << strategy_tmp end end @Domain = params['Domain'] @ActionType = params['ActionType'] @Redirect = params['Redirect'] @Edition = params['Edition'] @Bypass = params['Bypass'] @EventId = params['EventId'] end end # AddCustomRule返回参数结构体 class AddCustomRuleResponse < TencentCloud::Common::AbstractModel # @param Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败 # @type Success: :class:`Tencentcloud::Waf.v20180125.models.ResponseCode` # @param RuleId: 添加成功的规则ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type RuleId: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Success, :RuleId, :RequestId def initialize(success=nil, ruleid=nil, requestid=nil) @Success = success @RuleId = ruleid @RequestId = requestid end def deserialize(params) unless params['Success'].nil? @Success = ResponseCode.new @Success.deserialize(params['Success']) end @RuleId = params['RuleId'] @RequestId = params['RequestId'] end end # AddCustomWhiteRule请求参数结构体 class AddCustomWhiteRuleRequest < TencentCloud::Common::AbstractModel # @param Name: 规则名称 # @type Name: String # @param SortId: 优先级 # @type SortId: String # @param ExpireTime: 过期时间 # @type ExpireTime: String # @param Strategies: 策略详情 # @type Strategies: Array # @param Domain: 需要添加策略的域名 # @type Domain: String # @param Bypass: 放行的详情 # @type Bypass: String attr_accessor :Name, :SortId, :ExpireTime, :Strategies, :Domain, :Bypass def initialize(name=nil, sortid=nil, expiretime=nil, strategies=nil, domain=nil, bypass=nil) @Name = name @SortId = sortid @ExpireTime = expiretime @Strategies = strategies @Domain = domain @Bypass = bypass end def deserialize(params) @Name = params['Name'] @SortId = params['SortId'] @ExpireTime = params['ExpireTime'] unless params['Strategies'].nil? @Strategies = [] params['Strategies'].each do |i| strategy_tmp = Strategy.new strategy_tmp.deserialize(i) @Strategies << strategy_tmp end end @Domain = params['Domain'] @Bypass = params['Bypass'] end end # AddCustomWhiteRule返回参数结构体 class AddCustomWhiteRuleResponse < TencentCloud::Common::AbstractModel # @param Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败 # @type Success: :class:`Tencentcloud::Waf.v20180125.models.ResponseCode` # @param RuleId: 添加成功的规则ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type RuleId: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Success, :RuleId, :RequestId def initialize(success=nil, ruleid=nil, requestid=nil) @Success = success @RuleId = ruleid @RequestId = requestid end def deserialize(params) unless params['Success'].nil? @Success = ResponseCode.new @Success.deserialize(params['Success']) end @RuleId = params['RuleId'] @RequestId = params['RequestId'] end end # AddDomainWhiteRule请求参数结构体 class AddDomainWhiteRuleRequest < TencentCloud::Common::AbstractModel # @param Domain: 需要添加的域名 # @type Domain: String # @param Rules: 需要添加的规则 # @type Rules: Array # @param Url: 需要添加的规则url # @type Url: String # @param Function: 规则的方法 # @type Function: String # @param Status: 规则的开关 # @type Status: Integer attr_accessor :Domain, :Rules, :Url, :Function, :Status def initialize(domain=nil, rules=nil, url=nil, function=nil, status=nil) @Domain = domain @Rules = rules @Url = url @Function = function @Status = status end def deserialize(params) @Domain = params['Domain'] @Rules = params['Rules'] @Url = params['Url'] @Function = params['Function'] @Status = params['Status'] end end # AddDomainWhiteRule返回参数结构体 class AddDomainWhiteRuleResponse < TencentCloud::Common::AbstractModel # @param Id: 规则id # @type Id: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Id, :RequestId def initialize(id=nil, requestid=nil) @Id = id @RequestId = requestid end def deserialize(params) @Id = params['Id'] @RequestId = params['RequestId'] end end # AddSpartaProtection请求参数结构体 class AddSpartaProtectionRequest < TencentCloud::Common::AbstractModel # @param Domain: 需要防御的域名 # @type Domain: String # @param CertType: 证书类型,0表示没有证书,CertType=1表示自有证书,2 为托管证书 # @type CertType: Integer # @param IsCdn: 表示是否开启了CDN代理,1:有部署CDN,0:未部署CDN # @type IsCdn: Integer # @param UpstreamType: 回源类型,0表示通过IP回源,1 表示通过域名回源 # @type UpstreamType: Integer # @param IsWebsocket: 是否开启WebSocket支持,1表示开启,0不开启 # @type IsWebsocket: Integer # @param LoadBalance: 负载均衡策略,0表示轮徇,1表示IP hash # @type LoadBalance: String # @param Cert: CertType=1时,需要填次参数,表示证书内容 # @type Cert: String # @param PrivateKey: CertType=1时,需要填次参数,表示证书的私钥 # @type PrivateKey: String # @param SSLId: CertType=2时,需要填次参数,表示证书的ID # @type SSLId: String # @param ResourceId: Waf的资源ID # @type ResourceId: String # @param UpstreamScheme: HTTPS回源协议,填http或者https # @type UpstreamScheme: String # @param HttpsUpstreamPort: HTTPS回源端口,仅UpstreamScheme为http时需要填当前字段 # @type HttpsUpstreamPort: String # @param IsGray: 是否开启灰度,0表示不开启灰度 # @type IsGray: Integer # @param GrayAreas: 灰度的地区 # @type GrayAreas: Array # @param UpstreamDomain: UpstreamType=1时,填次字段表示回源域名 # @type UpstreamDomain: String # @param SrcList: UpstreamType=0时,填次字段表示回源IP # @type SrcList: Array # @param IsHttp2: 是否开启HTTP2,开启HTTP2需要HTTPS支持 # @type IsHttp2: Integer # @param HttpsRewrite: 表示是否强制跳转到HTTPS,1强制跳转Https,0不强制跳转 # @type HttpsRewrite: Integer # @param Ports: 服务有多端口需要设置此字段 # @type Ports: Array # @param Edition: WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF,cdn-waf表示CDN上的Web防护能力 # @type Edition: String # @param IsKeepAlive: 是否开启长连接,仅IP回源时可以用填次参数,域名回源时这个参数无效 # @type IsKeepAlive: String # @param InstanceID: 实例id,上线之后带上此字段 # @type InstanceID: String # @param Anycast: anycast IP类型开关: 0 普通IP 1 Anycast IP # @type Anycast: Integer # @param Weights: src权重 # @type Weights: Array # @param ActiveCheck: 是否开启主动健康检测,1表示开启,0表示不开启 # @type ActiveCheck: Integer # @param TLSVersion: TLS版本信息 # @type TLSVersion: Integer # @param Ciphers: 加密套件信息 # @type Ciphers: Array # @param CipherTemplate: 0:不支持选择:默认模版 1:通用型模版 2:安全型模版 3:自定义模版 # @type CipherTemplate: Integer # @param ProxyReadTimeout: 300s # @type ProxyReadTimeout: Integer # @param ProxySendTimeout: 300s # @type ProxySendTimeout: Integer # @param SniType: 0:关闭SNI;1:开启SNI,SNI=源请求host;2:开启SNI,SNI=修改为源站host;3:开启SNI,自定义host,SNI=SniHost; # @type SniType: Integer # @param SniHost: SniType=3时,需要填此参数,表示自定义的host; # @type SniHost: String # @param IpHeaders: is_cdn=3时,需要填此参数,表示自定义header # @type IpHeaders: Array attr_accessor :Domain, :CertType, :IsCdn, :UpstreamType, :IsWebsocket, :LoadBalance, :Cert, :PrivateKey, :SSLId, :ResourceId, :UpstreamScheme, :HttpsUpstreamPort, :IsGray, :GrayAreas, :UpstreamDomain, :SrcList, :IsHttp2, :HttpsRewrite, :Ports, :Edition, :IsKeepAlive, :InstanceID, :Anycast, :Weights, :ActiveCheck, :TLSVersion, :Ciphers, :CipherTemplate, :ProxyReadTimeout, :ProxySendTimeout, :SniType, :SniHost, :IpHeaders def initialize(domain=nil, certtype=nil, iscdn=nil, upstreamtype=nil, iswebsocket=nil, loadbalance=nil, cert=nil, privatekey=nil, sslid=nil, resourceid=nil, upstreamscheme=nil, httpsupstreamport=nil, isgray=nil, grayareas=nil, upstreamdomain=nil, srclist=nil, ishttp2=nil, httpsrewrite=nil, ports=nil, edition=nil, iskeepalive=nil, instanceid=nil, anycast=nil, weights=nil, activecheck=nil, tlsversion=nil, ciphers=nil, ciphertemplate=nil, proxyreadtimeout=nil, proxysendtimeout=nil, snitype=nil, snihost=nil, ipheaders=nil) @Domain = domain @CertType = certtype @IsCdn = iscdn @UpstreamType = upstreamtype @IsWebsocket = iswebsocket @LoadBalance = loadbalance @Cert = cert @PrivateKey = privatekey @SSLId = sslid @ResourceId = resourceid @UpstreamScheme = upstreamscheme @HttpsUpstreamPort = httpsupstreamport @IsGray = isgray @GrayAreas = grayareas @UpstreamDomain = upstreamdomain @SrcList = srclist @IsHttp2 = ishttp2 @HttpsRewrite = httpsrewrite @Ports = ports @Edition = edition @IsKeepAlive = iskeepalive @InstanceID = instanceid @Anycast = anycast @Weights = weights @ActiveCheck = activecheck @TLSVersion = tlsversion @Ciphers = ciphers @CipherTemplate = ciphertemplate @ProxyReadTimeout = proxyreadtimeout @ProxySendTimeout = proxysendtimeout @SniType = snitype @SniHost = snihost @IpHeaders = ipheaders end def deserialize(params) @Domain = params['Domain'] @CertType = params['CertType'] @IsCdn = params['IsCdn'] @UpstreamType = params['UpstreamType'] @IsWebsocket = params['IsWebsocket'] @LoadBalance = params['LoadBalance'] @Cert = params['Cert'] @PrivateKey = params['PrivateKey'] @SSLId = params['SSLId'] @ResourceId = params['ResourceId'] @UpstreamScheme = params['UpstreamScheme'] @HttpsUpstreamPort = params['HttpsUpstreamPort'] @IsGray = params['IsGray'] @GrayAreas = params['GrayAreas'] @UpstreamDomain = params['UpstreamDomain'] @SrcList = params['SrcList'] @IsHttp2 = params['IsHttp2'] @HttpsRewrite = params['HttpsRewrite'] unless params['Ports'].nil? @Ports = [] params['Ports'].each do |i| portitem_tmp = PortItem.new portitem_tmp.deserialize(i) @Ports << portitem_tmp end end @Edition = params['Edition'] @IsKeepAlive = params['IsKeepAlive'] @InstanceID = params['InstanceID'] @Anycast = params['Anycast'] @Weights = params['Weights'] @ActiveCheck = params['ActiveCheck'] @TLSVersion = params['TLSVersion'] @Ciphers = params['Ciphers'] @CipherTemplate = params['CipherTemplate'] @ProxyReadTimeout = params['ProxyReadTimeout'] @ProxySendTimeout = params['ProxySendTimeout'] @SniType = params['SniType'] @SniHost = params['SniHost'] @IpHeaders = params['IpHeaders'] end end # AddSpartaProtection返回参数结构体 class AddSpartaProtectionResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 攻击日志详情 class AttackLogInfo < TencentCloud::Common::AbstractModel # @param Content: 攻击日志的详情内容 # @type Content: String # @param FileName: CLS返回内容 # @type FileName: String # @param Source: CLS返回内容 # @type Source: String # @param TimeStamp: CLS返回内容 # @type TimeStamp: String attr_accessor :Content, :FileName, :Source, :TimeStamp def initialize(content=nil, filename=nil, source=nil, timestamp=nil) @Content = content @FileName = filename @Source = source @TimeStamp = timestamp end def deserialize(params) @Content = params['Content'] @FileName = params['FileName'] @Source = params['Source'] @TimeStamp = params['TimeStamp'] end end # Waf 攻击自动封禁详情 class AutoDenyDetail < TencentCloud::Common::AbstractModel # @param AttackTags: 攻击封禁类型标签 # @type AttackTags: Array # @param AttackThreshold: 攻击次数阈值 # @type AttackThreshold: Integer # @param DefenseStatus: 自动封禁状态 # @type DefenseStatus: Integer # @param TimeThreshold: 攻击时间阈值 # @type TimeThreshold: Integer # @param DenyTimeThreshold: 自动封禁时间 # @type DenyTimeThreshold: Integer # @param LastUpdateTime: 最后更新时间 # @type LastUpdateTime: String attr_accessor :AttackTags, :AttackThreshold, :DefenseStatus, :TimeThreshold, :DenyTimeThreshold, :LastUpdateTime def initialize(attacktags=nil, attackthreshold=nil, defensestatus=nil, timethreshold=nil, denytimethreshold=nil, lastupdatetime=nil) @AttackTags = attacktags @AttackThreshold = attackthreshold @DefenseStatus = defensestatus @TimeThreshold = timethreshold @DenyTimeThreshold = denytimethreshold @LastUpdateTime = lastupdatetime end def deserialize(params) @AttackTags = params['AttackTags'] @AttackThreshold = params['AttackThreshold'] @DefenseStatus = params['DefenseStatus'] @TimeThreshold = params['TimeThreshold'] @DenyTimeThreshold = params['DenyTimeThreshold'] @LastUpdateTime = params['LastUpdateTime'] end end # Bot资源信息 class BotPkg < TencentCloud::Common::AbstractModel # @param ResourceIds: 资源id # 注意:此字段可能返回 null,表示取不到有效值。 # @type ResourceIds: String # @param Status: 状态 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: Integer # @param Region: 地域 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Region: Integer # @param BeginTime: 开始时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BeginTime: String # @param EndTime: 结束时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type EndTime: String # @param InquireNum: 申请数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type InquireNum: Integer # @param UsedNum: 使用数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UsedNum: Integer # @param Type: 子产品code # 注意:此字段可能返回 null,表示取不到有效值。 # @type Type: String # @param RenewFlag: 续费标志 # 注意:此字段可能返回 null,表示取不到有效值。 # @type RenewFlag: Integer attr_accessor :ResourceIds, :Status, :Region, :BeginTime, :EndTime, :InquireNum, :UsedNum, :Type, :RenewFlag def initialize(resourceids=nil, status=nil, region=nil, begintime=nil, endtime=nil, inquirenum=nil, usednum=nil, type=nil, renewflag=nil) @ResourceIds = resourceids @Status = status @Region = region @BeginTime = begintime @EndTime = endtime @InquireNum = inquirenum @UsedNum = usednum @Type = type @RenewFlag = renewflag end def deserialize(params) @ResourceIds = params['ResourceIds'] @Status = params['Status'] @Region = params['Region'] @BeginTime = params['BeginTime'] @EndTime = params['EndTime'] @InquireNum = params['InquireNum'] @UsedNum = params['UsedNum'] @Type = params['Type'] @RenewFlag = params['RenewFlag'] end end # bot的qps详情 class BotQPS < TencentCloud::Common::AbstractModel # @param ResourceIds: 资源id # @type ResourceIds: String # @param ValidTime: 有效时间 # @type ValidTime: String # @param Count: 资源数量 # @type Count: Integer # @param Region: 资源所在地区 # @type Region: String # @param MaxBotQPS: 使用qps的最大值 # @type MaxBotQPS: Integer # @param RenewFlag: 续费标志 # 注意:此字段可能返回 null,表示取不到有效值。 # @type RenewFlag: Integer attr_accessor :ResourceIds, :ValidTime, :Count, :Region, :MaxBotQPS, :RenewFlag def initialize(resourceids=nil, validtime=nil, count=nil, region=nil, maxbotqps=nil, renewflag=nil) @ResourceIds = resourceids @ValidTime = validtime @Count = count @Region = region @MaxBotQPS = maxbotqps @RenewFlag = renewflag end def deserialize(params) @ResourceIds = params['ResourceIds'] @ValidTime = params['ValidTime'] @Count = params['Count'] @Region = params['Region'] @MaxBotQPS = params['MaxBotQPS'] @RenewFlag = params['RenewFlag'] end end # bot的趋势图对象 class BotStatPointItem < TencentCloud::Common::AbstractModel # @param TimeStamp: 横坐标 # @type TimeStamp: String # @param Key: value的所属对象 # @type Key: String # @param Value: 纵列表 # @type Value: Integer # @param Label: Key对应的页面展示内容 # @type Label: String attr_accessor :TimeStamp, :Key, :Value, :Label def initialize(timestamp=nil, key=nil, value=nil, label=nil) @TimeStamp = timestamp @Key = key @Value = value @Label = label end def deserialize(params) @TimeStamp = params['TimeStamp'] @Key = params['Key'] @Value = params['Value'] @Label = params['Label'] end end # CDC场景下负载均衡WAF的集群信息 class CdcCluster < TencentCloud::Common::AbstractModel # @param Id: cdc的集群id # @type Id: String # @param Name: cdc的集群名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Name: String attr_accessor :Id, :Name def initialize(id=nil, name=nil) @Id = id @Name = name end def deserialize(params) @Id = params['Id'] @Name = params['Name'] end end # CDC场景下负载均衡WAF的地域信息 class CdcRegion < TencentCloud::Common::AbstractModel # @param Region: 地域 # @type Region: String # @param Clusters: 该地域对应的集群信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Clusters: Array attr_accessor :Region, :Clusters def initialize(region=nil, clusters=nil) @Region = region @Clusters = clusters end def deserialize(params) @Region = params['Region'] unless params['Clusters'].nil? @Clusters = [] params['Clusters'].each do |i| cdccluster_tmp = CdcCluster.new cdccluster_tmp.deserialize(i) @Clusters << cdccluster_tmp end end end end # CreateAccessExport请求参数结构体 class CreateAccessExportRequest < TencentCloud::Common::AbstractModel # @param TopicId: 客户要查询的日志主题ID,每个客户都有对应的一个主题 # @type TopicId: String # @param From: 要查询的日志的起始时间,Unix时间戳,单位ms # @type From: Integer # @param To: 要查询的日志的结束时间,Unix时间戳,单位ms # @type To: Integer # @param Query: 日志导出检索语句 # @type Query: String # @param Count: 日志导出数量,最大值100w # @type Count: Integer # @param Format: 日志导出数据格式。json,csv,默认为json # @type Format: String # @param Order: 日志导出时间排序。desc,asc,默认为desc # @type Order: String attr_accessor :TopicId, :From, :To, :Query, :Count, :Format, :Order def initialize(topicid=nil, from=nil, to=nil, query=nil, count=nil, format=nil, order=nil) @TopicId = topicid @From = from @To = to @Query = query @Count = count @Format = format @Order = order end def deserialize(params) @TopicId = params['TopicId'] @From = params['From'] @To = params['To'] @Query = params['Query'] @Count = params['Count'] @Format = params['Format'] @Order = params['Order'] end end # CreateAccessExport返回参数结构体 class CreateAccessExportResponse < TencentCloud::Common::AbstractModel # @param ExportId: 日志导出ID。 # @type ExportId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ExportId, :RequestId def initialize(exportid=nil, requestid=nil) @ExportId = exportid @RequestId = requestid end def deserialize(params) @ExportId = params['ExportId'] @RequestId = params['RequestId'] end end # CreateHost请求参数结构体 class CreateHostRequest < TencentCloud::Common::AbstractModel # @param Host: 防护域名配置信息 # @type Host: :class:`Tencentcloud::Waf.v20180125.models.HostRecord` # @param InstanceID: 实例id # @type InstanceID: String attr_accessor :Host, :InstanceID def initialize(host=nil, instanceid=nil) @Host = host @InstanceID = instanceid end def deserialize(params) unless params['Host'].nil? @Host = HostRecord.new @Host.deserialize(params['Host']) end @InstanceID = params['InstanceID'] end end # CreateHost返回参数结构体 class CreateHostResponse < TencentCloud::Common::AbstractModel # @param DomainId: 新增防护域名ID # @type DomainId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :DomainId, :RequestId def initialize(domainid=nil, requestid=nil) @DomainId = domainid @RequestId = requestid end def deserialize(params) @DomainId = params['DomainId'] @RequestId = params['RequestId'] end end # DeleteAccessExport请求参数结构体 class DeleteAccessExportRequest < TencentCloud::Common::AbstractModel # @param ExportId: 日志导出ID # @type ExportId: String # @param TopicId: 日志主题 # @type TopicId: String attr_accessor :ExportId, :TopicId def initialize(exportid=nil, topicid=nil) @ExportId = exportid @TopicId = topicid end def deserialize(params) @ExportId = params['ExportId'] @TopicId = params['TopicId'] end end # DeleteAccessExport返回参数结构体 class DeleteAccessExportResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteAttackDownloadRecord请求参数结构体 class DeleteAttackDownloadRecordRequest < TencentCloud::Common::AbstractModel # @param Id: 下载任务记录唯一标记 # @type Id: Integer attr_accessor :Id def initialize(id=nil) @Id = id end def deserialize(params) @Id = params['Id'] end end # DeleteAttackDownloadRecord返回参数结构体 class DeleteAttackDownloadRecordResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteCustomWhiteRule请求参数结构体 class DeleteCustomWhiteRuleRequest < TencentCloud::Common::AbstractModel # @param Domain: 删除的域名 # @type Domain: String # @param RuleId: 删除的规则ID # @type RuleId: Integer attr_accessor :Domain, :RuleId def initialize(domain=nil, ruleid=nil) @Domain = domain @RuleId = ruleid end def deserialize(params) @Domain = params['Domain'] @RuleId = params['RuleId'] end end # DeleteCustomWhiteRule返回参数结构体 class DeleteCustomWhiteRuleResponse < TencentCloud::Common::AbstractModel # @param Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败 # @type Success: :class:`Tencentcloud::Waf.v20180125.models.ResponseCode` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Success, :RequestId def initialize(success=nil, requestid=nil) @Success = success @RequestId = requestid end def deserialize(params) unless params['Success'].nil? @Success = ResponseCode.new @Success.deserialize(params['Success']) end @RequestId = params['RequestId'] end end # DeleteDomainWhiteRules请求参数结构体 class DeleteDomainWhiteRulesRequest < TencentCloud::Common::AbstractModel # @param Domain: 需要删除的规则域名 # @type Domain: String # @param Ids: 需要删除的白名单规则 # @type Ids: Array attr_accessor :Domain, :Ids def initialize(domain=nil, ids=nil) @Domain = domain @Ids = ids end def deserialize(params) @Domain = params['Domain'] @Ids = params['Ids'] end end # DeleteDomainWhiteRules返回参数结构体 class DeleteDomainWhiteRulesResponse < TencentCloud::Common::AbstractModel # @param Data: 出参 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Data: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Data, :RequestId def initialize(data=nil, requestid=nil) @Data = data @RequestId = requestid end def deserialize(params) @Data = params['Data'] @RequestId = params['RequestId'] end end # DeleteDownloadRecord请求参数结构体 class DeleteDownloadRecordRequest < TencentCloud::Common::AbstractModel # @param Flow: 记录id # @type Flow: String attr_accessor :Flow def initialize(flow=nil) @Flow = flow end def deserialize(params) @Flow = params['Flow'] end end # DeleteDownloadRecord返回参数结构体 class DeleteDownloadRecordResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteIpAccessControl请求参数结构体 class DeleteIpAccessControlRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param Items: 删除的ip数组 # @type Items: Array # @param DeleteAll: 是否删除对应的域名下的所有黑/白IP名单,true表示全部删除,false表示只删除指定ip名单 # @type DeleteAll: Boolean # @param SourceType: 是否为多域名黑白名单 # @type SourceType: String attr_accessor :Domain, :Items, :DeleteAll, :SourceType def initialize(domain=nil, items=nil, deleteall=nil, sourcetype=nil) @Domain = domain @Items = items @DeleteAll = deleteall @SourceType = sourcetype end def deserialize(params) @Domain = params['Domain'] @Items = params['Items'] @DeleteAll = params['DeleteAll'] @SourceType = params['SourceType'] end end # DeleteIpAccessControl返回参数结构体 class DeleteIpAccessControlResponse < TencentCloud::Common::AbstractModel # @param FailedItems: 删除失败的条目 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FailedItems: String # @param FailedCount: 删除失败的条目数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FailedCount: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :FailedItems, :FailedCount, :RequestId def initialize(faileditems=nil, failedcount=nil, requestid=nil) @FailedItems = faileditems @FailedCount = failedcount @RequestId = requestid end def deserialize(params) @FailedItems = params['FailedItems'] @FailedCount = params['FailedCount'] @RequestId = params['RequestId'] end end # DeleteSession请求参数结构体 class DeleteSessionRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param Edition: clb-waf 或者 sprta-waf # @type Edition: String attr_accessor :Domain, :Edition def initialize(domain=nil, edition=nil) @Domain = domain @Edition = edition end def deserialize(params) @Domain = params['Domain'] @Edition = params['Edition'] end end # DeleteSession返回参数结构体 class DeleteSessionResponse < TencentCloud::Common::AbstractModel # @param Data: 结果 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Data: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Data, :RequestId def initialize(data=nil, requestid=nil) @Data = data @RequestId = requestid end def deserialize(params) @Data = params['Data'] @RequestId = params['RequestId'] end end # DescribeAccessExports请求参数结构体 class DescribeAccessExportsRequest < TencentCloud::Common::AbstractModel # @param TopicId: 客户要查询的日志主题ID,每个客户都有对应的一个主题 # @type TopicId: String # @param Offset: 分页的偏移量,默认值为0 # @type Offset: Integer # @param Limit: 分页单页限制数目,默认值为20,最大值100 # @type Limit: Integer attr_accessor :TopicId, :Offset, :Limit def initialize(topicid=nil, offset=nil, limit=nil) @TopicId = topicid @Offset = offset @Limit = limit end def deserialize(params) @TopicId = params['TopicId'] @Offset = params['Offset'] @Limit = params['Limit'] end end # DescribeAccessExports返回参数结构体 class DescribeAccessExportsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 日志导出ID。 # @type TotalCount: Integer # @param Exports: 日志导出列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Exports: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :Exports, :RequestId def initialize(totalcount=nil, exports=nil, requestid=nil) @TotalCount = totalcount @Exports = exports @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Exports'].nil? @Exports = [] params['Exports'].each do |i| exportaccessinfo_tmp = ExportAccessInfo.new exportaccessinfo_tmp.deserialize(i) @Exports << exportaccessinfo_tmp end end @RequestId = params['RequestId'] end end # DescribeAccessFastAnalysis请求参数结构体 class DescribeAccessFastAnalysisRequest < TencentCloud::Common::AbstractModel # @param TopicId: 客户要查询的日志主题ID,每个客户都有对应的一个主题 # @type TopicId: String # @param From: 要查询的日志的起始时间,Unix时间戳,单位ms # @type From: Integer # @param To: 要查询的日志的结束时间,Unix时间戳,单位ms # @type To: Integer # @param Query: 查询语句,语句长度最大为4096,由于本接口是分析接口,如果无过滤条件,必须传 * 表示匹配所有,参考CLS的分析统计语句的文档 # @type Query: String # @param FieldName: 需要分析统计的字段名 # @type FieldName: String attr_accessor :TopicId, :From, :To, :Query, :FieldName def initialize(topicid=nil, from=nil, to=nil, query=nil, fieldname=nil) @TopicId = topicid @From = from @To = to @Query = query @FieldName = fieldname end def deserialize(params) @TopicId = params['TopicId'] @From = params['From'] @To = params['To'] @Query = params['Query'] @FieldName = params['FieldName'] end end # DescribeAccessFastAnalysis返回参数结构体 class DescribeAccessFastAnalysisResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DescribeAccessIndex请求参数结构体 class DescribeAccessIndexRequest < TencentCloud::Common::AbstractModel def initialize() end def deserialize(params) end end # DescribeAccessIndex返回参数结构体 class DescribeAccessIndexResponse < TencentCloud::Common::AbstractModel # @param Status: 是否生效,true表示生效,false表示未生效 # @type Status: Boolean # @param Rule: 索引配置信息 # 注意:此字段可能返回 null,表示取不到有效值。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Rule: :class:`Tencentcloud::Waf.v20180125.models.AccessRuleInfo` # @param ModifyTime: 索引修改时间,初始值为索引创建时间。 # @type ModifyTime: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Status, :Rule, :ModifyTime, :RequestId def initialize(status=nil, rule=nil, modifytime=nil, requestid=nil) @Status = status @Rule = rule @ModifyTime = modifytime @RequestId = requestid end def deserialize(params) @Status = params['Status'] unless params['Rule'].nil? @Rule = AccessRuleInfo.new @Rule.deserialize(params['Rule']) end @ModifyTime = params['ModifyTime'] @RequestId = params['RequestId'] end end # DescribeAttackOverview请求参数结构体 class DescribeAttackOverviewRequest < TencentCloud::Common::AbstractModel # @param FromTime: 查询开始时间 # @type FromTime: String # @param ToTime: 查询结束时间 # @type ToTime: String # @param Appid: 客户的Appid # @type Appid: Integer # @param Domain: 被查询的域名 # @type Domain: String # @param Edition: 只有两个值有效,sparta-waf,clb-waf,不传则不过滤 # @type Edition: String # @param InstanceID: WAF实例ID,不传则不过滤 # @type InstanceID: String attr_accessor :FromTime, :ToTime, :Appid, :Domain, :Edition, :InstanceID def initialize(fromtime=nil, totime=nil, appid=nil, domain=nil, edition=nil, instanceid=nil) @FromTime = fromtime @ToTime = totime @Appid = appid @Domain = domain @Edition = edition @InstanceID = instanceid end def deserialize(params) @FromTime = params['FromTime'] @ToTime = params['ToTime'] @Appid = params['Appid'] @Domain = params['Domain'] @Edition = params['Edition'] @InstanceID = params['InstanceID'] end end # DescribeAttackOverview返回参数结构体 class DescribeAttackOverviewResponse < TencentCloud::Common::AbstractModel # @param AccessCount: 访问请求总数 # @type AccessCount: Integer # @param AttackCount: Web攻击总数 # @type AttackCount: Integer # @param ACLCount: 访问控制总数 # @type ACLCount: Integer # @param CCCount: CC攻击总数 # @type CCCount: Integer # @param BotCount: Bot攻击总数 # @type BotCount: Integer # @param ApiAssetsCount: api资产总数 # @type ApiAssetsCount: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AccessCount, :AttackCount, :ACLCount, :CCCount, :BotCount, :ApiAssetsCount, :RequestId def initialize(accesscount=nil, attackcount=nil, aclcount=nil, cccount=nil, botcount=nil, apiassetscount=nil, requestid=nil) @AccessCount = accesscount @AttackCount = attackcount @ACLCount = aclcount @CCCount = cccount @BotCount = botcount @ApiAssetsCount = apiassetscount @RequestId = requestid end def deserialize(params) @AccessCount = params['AccessCount'] @AttackCount = params['AttackCount'] @ACLCount = params['ACLCount'] @CCCount = params['CCCount'] @BotCount = params['BotCount'] @ApiAssetsCount = params['ApiAssetsCount'] @RequestId = params['RequestId'] end end # DescribeAutoDenyIP请求参数结构体 class DescribeAutoDenyIPRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param Ip: 查询IP自动封禁状态 # @type Ip: String # @param Count: 计数标识 # @type Count: Integer # @param Category: 类别 # @type Category: String # @param VtsMin: 有效时间最小时间戳 # @type VtsMin: Integer # @param VtsMax: 有效时间最大时间戳 # @type VtsMax: Integer # @param CtsMin: 创建时间最小时间戳 # @type CtsMin: Integer # @param CtsMax: 创建时间最大时间戳 # @type CtsMax: Integer # @param Skip: 偏移量 # @type Skip: Integer # @param Limit: 限制条数 # @type Limit: Integer # @param Name: 策略名字 # @type Name: String # @param Sort: 排序参数 # @type Sort: String attr_accessor :Domain, :Ip, :Count, :Category, :VtsMin, :VtsMax, :CtsMin, :CtsMax, :Skip, :Limit, :Name, :Sort def initialize(domain=nil, ip=nil, count=nil, category=nil, vtsmin=nil, vtsmax=nil, ctsmin=nil, ctsmax=nil, skip=nil, limit=nil, name=nil, sort=nil) @Domain = domain @Ip = ip @Count = count @Category = category @VtsMin = vtsmin @VtsMax = vtsmax @CtsMin = ctsmin @CtsMax = ctsmax @Skip = skip @Limit = limit @Name = name @Sort = sort end def deserialize(params) @Domain = params['Domain'] @Ip = params['Ip'] @Count = params['Count'] @Category = params['Category'] @VtsMin = params['VtsMin'] @VtsMax = params['VtsMax'] @CtsMin = params['CtsMin'] @CtsMax = params['CtsMax'] @Skip = params['Skip'] @Limit = params['Limit'] @Name = params['Name'] @Sort = params['Sort'] end end # DescribeAutoDenyIP返回参数结构体 class DescribeAutoDenyIPResponse < TencentCloud::Common::AbstractModel # @param Data: 查询IP封禁状态返回结果 # @type Data: :class:`Tencentcloud::Waf.v20180125.models.IpHitItemsData` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 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 = IpHitItemsData.new @Data.deserialize(params['Data']) end @RequestId = params['RequestId'] end end # DescribeCustomRules接口回包中的复杂类型 class DescribeCustomRulesRspRuleListItem < TencentCloud::Common::AbstractModel # @param ActionType: 动作类型 # @type ActionType: String # @param Bypass: 跳过的策略 # @type Bypass: String # @param CreateTime: 创建时间 # @type CreateTime: String # @param ExpireTime: 过期时间 # @type ExpireTime: String # @param Name: 策略名称 # @type Name: String # @param Redirect: 重定向地址 # @type Redirect: String # @param RuleId: 策略ID # @type RuleId: String # @param SortId: 优先级 # @type SortId: String # @param Status: 状态 # @type Status: String # @param Strategies: 策略详情 # @type Strategies: Array # @param EventId: 事件id # 注意:此字段可能返回 null,表示取不到有效值。 # @type EventId: String attr_accessor :ActionType, :Bypass, :CreateTime, :ExpireTime, :Name, :Redirect, :RuleId, :SortId, :Status, :Strategies, :EventId def initialize(actiontype=nil, bypass=nil, createtime=nil, expiretime=nil, name=nil, redirect=nil, ruleid=nil, sortid=nil, status=nil, strategies=nil, eventid=nil) @ActionType = actiontype @Bypass = bypass @CreateTime = createtime @ExpireTime = expiretime @Name = name @Redirect = redirect @RuleId = ruleid @SortId = sortid @Status = status @Strategies = strategies @EventId = eventid end def deserialize(params) @ActionType = params['ActionType'] @Bypass = params['Bypass'] @CreateTime = params['CreateTime'] @ExpireTime = params['ExpireTime'] @Name = params['Name'] @Redirect = params['Redirect'] @RuleId = params['RuleId'] @SortId = params['SortId'] @Status = params['Status'] unless params['Strategies'].nil? @Strategies = [] params['Strategies'].each do |i| strategy_tmp = Strategy.new strategy_tmp.deserialize(i) @Strategies << strategy_tmp end end @EventId = params['EventId'] end end # DescribeCustomWhiteRule请求参数结构体 class DescribeCustomWhiteRuleRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param Offset: 偏移 # @type Offset: Integer # @param Limit: 容量 # @type Limit: Integer # @param Filters: 过滤数组,name可以是如下的值: RuleID,RuleName,Match # @type Filters: Array # @param Order: asc或者desc # @type Order: String # @param By: exp_ts或者mod_ts # @type By: String attr_accessor :Domain, :Offset, :Limit, :Filters, :Order, :By def initialize(domain=nil, offset=nil, limit=nil, filters=nil, order=nil, by=nil) @Domain = domain @Offset = offset @Limit = limit @Filters = filters @Order = order @By = by end def deserialize(params) @Domain = params['Domain'] @Offset = params['Offset'] @Limit = params['Limit'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filtersitemnew_tmp = FiltersItemNew.new filtersitemnew_tmp.deserialize(i) @Filters << filtersitemnew_tmp end end @Order = params['Order'] @By = params['By'] end end # DescribeCustomWhiteRule返回参数结构体 class DescribeCustomWhiteRuleResponse < TencentCloud::Common::AbstractModel # @param RuleList: 规则详情 # @type RuleList: Array # @param TotalCount: 规则条数 # @type TotalCount: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RuleList, :TotalCount, :RequestId def initialize(rulelist=nil, totalcount=nil, requestid=nil) @RuleList = rulelist @TotalCount = totalcount @RequestId = requestid end def deserialize(params) unless params['RuleList'].nil? @RuleList = [] params['RuleList'].each do |i| describecustomrulesrsprulelistitem_tmp = DescribeCustomRulesRspRuleListItem.new describecustomrulesrsprulelistitem_tmp.deserialize(i) @RuleList << describecustomrulesrsprulelistitem_tmp end end @TotalCount = params['TotalCount'] @RequestId = params['RequestId'] end end # DescribeDomainDetailsSaas请求参数结构体 class DescribeDomainDetailsSaasRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param DomainId: 域名id # @type DomainId: String # @param InstanceId: 实例id # @type InstanceId: String attr_accessor :Domain, :DomainId, :InstanceId def initialize(domain=nil, domainid=nil, instanceid=nil) @Domain = domain @DomainId = domainid @InstanceId = instanceid end def deserialize(params) @Domain = params['Domain'] @DomainId = params['DomainId'] @InstanceId = params['InstanceId'] end end # DescribeDomainDetailsSaas返回参数结构体 class DescribeDomainDetailsSaasResponse < TencentCloud::Common::AbstractModel # @param DomainsPartInfo: 域名详情 # @type DomainsPartInfo: :class:`Tencentcloud::Waf.v20180125.models.DomainsPartInfo` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :DomainsPartInfo, :RequestId def initialize(domainspartinfo=nil, requestid=nil) @DomainsPartInfo = domainspartinfo @RequestId = requestid end def deserialize(params) unless params['DomainsPartInfo'].nil? @DomainsPartInfo = DomainsPartInfo.new @DomainsPartInfo.deserialize(params['DomainsPartInfo']) end @RequestId = params['RequestId'] end end # DescribeDomainWhiteRules请求参数结构体 class DescribeDomainWhiteRulesRequest < TencentCloud::Common::AbstractModel # @param Domain: 需要查询的域名 # @type Domain: String # @param Url: 请求的白名单匹配路径 # @type Url: String # @param Page: 翻到多少页 # @type Page: Integer # @param Count: 每页展示的条数 # @type Count: Integer # @param Sort: 排序方式,desc表示降序,asc表示升序 # @type Sort: String # @param RuleId: 规则ID # @type RuleId: String attr_accessor :Domain, :Url, :Page, :Count, :Sort, :RuleId def initialize(domain=nil, url=nil, page=nil, count=nil, sort=nil, ruleid=nil) @Domain = domain @Url = url @Page = page @Count = count @Sort = sort @RuleId = ruleid end def deserialize(params) @Domain = params['Domain'] @Url = params['Url'] @Page = params['Page'] @Count = params['Count'] @Sort = params['Sort'] @RuleId = params['RuleId'] end end # DescribeDomainWhiteRules返回参数结构体 class DescribeDomainWhiteRulesResponse < TencentCloud::Common::AbstractModel # @param RuleList: 规则列表 # @type RuleList: Array # @param Total: 规则的数量 # @type Total: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RuleList, :Total, :RequestId def initialize(rulelist=nil, total=nil, requestid=nil) @RuleList = rulelist @Total = total @RequestId = requestid end def deserialize(params) unless params['RuleList'].nil? @RuleList = [] params['RuleList'].each do |i| rulelist_tmp = RuleList.new rulelist_tmp.deserialize(i) @RuleList << rulelist_tmp end end @Total = params['Total'] @RequestId = params['RequestId'] end end # DescribeDomains请求参数结构体 class DescribeDomainsRequest < TencentCloud::Common::AbstractModel # @param Offset: 数据偏移量,从1开始。 # @type Offset: Integer # @param Limit: 返回域名的数量 # @type Limit: Integer # @param Filters: 过滤数组 # @type Filters: Array attr_accessor :Offset, :Limit, :Filters def initialize(offset=nil, limit=nil, filters=nil) @Offset = offset @Limit = limit @Filters = filters end def deserialize(params) @Offset = params['Offset'] @Limit = params['Limit'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filtersitemnew_tmp = FiltersItemNew.new filtersitemnew_tmp.deserialize(i) @Filters << filtersitemnew_tmp end end end end # DescribeDomains返回参数结构体 class DescribeDomainsResponse < TencentCloud::Common::AbstractModel # @param Total: 总数 # @type Total: Integer # @param Domains: domain列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Domains: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Total, :Domains, :RequestId def initialize(total=nil, domains=nil, requestid=nil) @Total = total @Domains = domains @RequestId = requestid end def deserialize(params) @Total = params['Total'] unless params['Domains'].nil? @Domains = [] params['Domains'].each do |i| domaininfo_tmp = DomainInfo.new domaininfo_tmp.deserialize(i) @Domains << domaininfo_tmp end end @RequestId = params['RequestId'] end end # DescribeFlowTrend请求参数结构体 class DescribeFlowTrendRequest < TencentCloud::Common::AbstractModel # @param Domain: 需要获取流量趋势的域名, all表示所有域名 # @type Domain: String # @param StartTs: 起始时间戳,精度秒 # @type StartTs: Integer # @param EndTs: 结束时间戳,精度秒 # @type EndTs: Integer attr_accessor :Domain, :StartTs, :EndTs def initialize(domain=nil, startts=nil, endts=nil) @Domain = domain @StartTs = startts @EndTs = endts end def deserialize(params) @Domain = params['Domain'] @StartTs = params['StartTs'] @EndTs = params['EndTs'] end end # DescribeFlowTrend返回参数结构体 class DescribeFlowTrendResponse < TencentCloud::Common::AbstractModel # @param Data: 流量趋势数据 # @type Data: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 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| botstatpointitem_tmp = BotStatPointItem.new botstatpointitem_tmp.deserialize(i) @Data << botstatpointitem_tmp end end @RequestId = params['RequestId'] end end # DescribeInstances请求参数结构体 class DescribeInstancesRequest < TencentCloud::Common::AbstractModel # @param Offset: 偏移 # @type Offset: Integer # @param Limit: 容量 # @type Limit: Integer # @param Filters: 过滤数组 # @type Filters: Array attr_accessor :Offset, :Limit, :Filters def initialize(offset=nil, limit=nil, filters=nil) @Offset = offset @Limit = limit @Filters = filters end def deserialize(params) @Offset = params['Offset'] @Limit = params['Limit'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filtersitemnew_tmp = FiltersItemNew.new filtersitemnew_tmp.deserialize(i) @Filters << filtersitemnew_tmp end end end end # DescribeInstances返回参数结构体 class DescribeInstancesResponse < TencentCloud::Common::AbstractModel # @param Total: 总数 # @type Total: Integer # @param Instances: instance列表 # @type Instances: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Total, :Instances, :RequestId def initialize(total=nil, instances=nil, requestid=nil) @Total = total @Instances = instances @RequestId = requestid end def deserialize(params) @Total = params['Total'] unless params['Instances'].nil? @Instances = [] params['Instances'].each do |i| instanceinfo_tmp = InstanceInfo.new instanceinfo_tmp.deserialize(i) @Instances << instanceinfo_tmp end end @RequestId = params['RequestId'] end end # DescribeIpAccessControl请求参数结构体 class DescribeIpAccessControlRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param Count: 计数标识 # @type Count: Integer # @param ActionType: 动作,40表示查询白名单,42表示查询黑名单 # @type ActionType: Integer # @param VtsMin: 最小有效时间的时间戳 # @type VtsMin: Integer # @param VtsMax: 最大有效时间的时间戳 # @type VtsMax: Integer # @param CtsMin: 最小创建时间的时间戳 # @type CtsMin: Integer # @param CtsMax: 最大创建时间的时间戳 # @type CtsMax: Integer # @param OffSet: 分页开始条数 # @type OffSet: Integer # @param Limit: 每页的条数 # @type Limit: Integer # @param Source: 来源 # @type Source: String # @param Sort: 排序参数 # @type Sort: String # @param Ip: ip # @type Ip: String attr_accessor :Domain, :Count, :ActionType, :VtsMin, :VtsMax, :CtsMin, :CtsMax, :OffSet, :Limit, :Source, :Sort, :Ip def initialize(domain=nil, count=nil, actiontype=nil, vtsmin=nil, vtsmax=nil, ctsmin=nil, ctsmax=nil, offset=nil, limit=nil, source=nil, sort=nil, ip=nil) @Domain = domain @Count = count @ActionType = actiontype @VtsMin = vtsmin @VtsMax = vtsmax @CtsMin = ctsmin @CtsMax = ctsmax @OffSet = offset @Limit = limit @Source = source @Sort = sort @Ip = ip end def deserialize(params) @Domain = params['Domain'] @Count = params['Count'] @ActionType = params['ActionType'] @VtsMin = params['VtsMin'] @VtsMax = params['VtsMax'] @CtsMin = params['CtsMin'] @CtsMax = params['CtsMax'] @OffSet = params['OffSet'] @Limit = params['Limit'] @Source = params['Source'] @Sort = params['Sort'] @Ip = params['Ip'] end end # DescribeIpAccessControl返回参数结构体 class DescribeIpAccessControlResponse < TencentCloud::Common::AbstractModel # @param Data: 输出 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Data: :class:`Tencentcloud::Waf.v20180125.models.IpAccessControlData` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 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 = IpAccessControlData.new @Data.deserialize(params['Data']) end @RequestId = params['RequestId'] end end # DescribeIpHitItems请求参数结构体 class DescribeIpHitItemsRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param Count: 计数标识 # @type Count: Integer # @param Category: 类别 # @type Category: String # @param VtsMin: 有效时间最小时间戳 # @type VtsMin: Integer # @param VtsMax: 有效时间最大时间戳 # @type VtsMax: Integer # @param CtsMin: 创建时间最小时间戳 # @type CtsMin: Integer # @param CtsMax: 创建时间最大时间戳 # @type CtsMax: Integer # @param Skip: 偏移参数 # @type Skip: Integer # @param Limit: 限制数目 # @type Limit: Integer # @param Name: 策略名称 # @type Name: String # @param Sort: 排序参数 # @type Sort: String # @param Ip: IP # @type Ip: String attr_accessor :Domain, :Count, :Category, :VtsMin, :VtsMax, :CtsMin, :CtsMax, :Skip, :Limit, :Name, :Sort, :Ip def initialize(domain=nil, count=nil, category=nil, vtsmin=nil, vtsmax=nil, ctsmin=nil, ctsmax=nil, skip=nil, limit=nil, name=nil, sort=nil, ip=nil) @Domain = domain @Count = count @Category = category @VtsMin = vtsmin @VtsMax = vtsmax @CtsMin = ctsmin @CtsMax = ctsmax @Skip = skip @Limit = limit @Name = name @Sort = sort @Ip = ip end def deserialize(params) @Domain = params['Domain'] @Count = params['Count'] @Category = params['Category'] @VtsMin = params['VtsMin'] @VtsMax = params['VtsMax'] @CtsMin = params['CtsMin'] @CtsMax = params['CtsMax'] @Skip = params['Skip'] @Limit = params['Limit'] @Name = params['Name'] @Sort = params['Sort'] @Ip = params['Ip'] end end # DescribeIpHitItems返回参数结构体 class DescribeIpHitItemsResponse < TencentCloud::Common::AbstractModel # @param Data: 结果 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Data: :class:`Tencentcloud::Waf.v20180125.models.IpHitItemsData` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 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 = IpHitItemsData.new @Data.deserialize(params['Data']) end @RequestId = params['RequestId'] end end # DescribePeakPoints请求参数结构体 class DescribePeakPointsRequest < TencentCloud::Common::AbstractModel # @param FromTime: 查询起始时间 # @type FromTime: String # @param ToTime: 查询终止时间 # @type ToTime: String # @param Domain: 查询的域名,如果查询所有域名数据,该参数不填写 # @type Domain: String # @param Edition: 只有两个值有效,sparta-waf,clb-waf,不传则不过滤 # @type Edition: String # @param InstanceID: WAF实例ID,不传则不过滤 # @type InstanceID: String # @param MetricName: 十三个值可选: # access-峰值qps趋势图 # botAccess- bot峰值qps趋势图 # down-下行峰值带宽趋势图 # up-上行峰值带宽趋势图 # attack-Web攻击总数趋势图 # cc-CC攻击总数趋势图 # StatusServerError-WAF返回给客户端状态码次数趋势图 # StatusClientError-WAF返回给客户端状态码次数趋势图 # StatusRedirect-WAF返回给客户端状态码次数趋势图 # StatusOk-WAF返回给客户端状态码次数趋势图 # UpstreamServerError-源站返回给WAF状态码次数趋势图 # UpstreamClientError-源站返回给WAF状态码次数趋势图 # UpstreamRedirect-源站返回给WAF状态码次数趋势图 # @type MetricName: String attr_accessor :FromTime, :ToTime, :Domain, :Edition, :InstanceID, :MetricName def initialize(fromtime=nil, totime=nil, domain=nil, edition=nil, instanceid=nil, metricname=nil) @FromTime = fromtime @ToTime = totime @Domain = domain @Edition = edition @InstanceID = instanceid @MetricName = metricname end def deserialize(params) @FromTime = params['FromTime'] @ToTime = params['ToTime'] @Domain = params['Domain'] @Edition = params['Edition'] @InstanceID = params['InstanceID'] @MetricName = params['MetricName'] end end # DescribePeakPoints返回参数结构体 class DescribePeakPointsResponse < TencentCloud::Common::AbstractModel # @param Points: 数据点 # @type Points: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Points, :RequestId def initialize(points=nil, requestid=nil) @Points = points @RequestId = requestid end def deserialize(params) unless params['Points'].nil? @Points = [] params['Points'].each do |i| peakpointsitem_tmp = PeakPointsItem.new peakpointsitem_tmp.deserialize(i) @Points << peakpointsitem_tmp end end @RequestId = params['RequestId'] end end # DescribePeakValue请求参数结构体 class DescribePeakValueRequest < TencentCloud::Common::AbstractModel # @param FromTime: 查询起始时间 # @type FromTime: String # @param ToTime: 查询结束时间 # @type ToTime: String # @param Domain: 需要查询的域名,当前用户所有域名可以不传 # @type Domain: String # @param Edition: 只有两个值有效,sparta-waf,clb-waf,不传则不过滤 # @type Edition: String # @param InstanceID: WAF实例ID,不传则不过滤 # @type InstanceID: String # @param MetricName: 五个值可选: # access-峰值qps # down-下行峰值带宽 # up-上行峰值带宽 # attack-Web攻击总数 # cc-CC攻击总数趋势图 # @type MetricName: String attr_accessor :FromTime, :ToTime, :Domain, :Edition, :InstanceID, :MetricName def initialize(fromtime=nil, totime=nil, domain=nil, edition=nil, instanceid=nil, metricname=nil) @FromTime = fromtime @ToTime = totime @Domain = domain @Edition = edition @InstanceID = instanceid @MetricName = metricname end def deserialize(params) @FromTime = params['FromTime'] @ToTime = params['ToTime'] @Domain = params['Domain'] @Edition = params['Edition'] @InstanceID = params['InstanceID'] @MetricName = params['MetricName'] end end # DescribePeakValue返回参数结构体 class DescribePeakValueResponse < TencentCloud::Common::AbstractModel # @param Access: QPS峰值 # @type Access: Integer # @param Up: 上行带宽峰值,单位B # @type Up: Integer # @param Down: 下行带宽峰值,单位B # @type Down: Integer # @param Attack: Web攻击总数 # @type Attack: Integer # @param Cc: CC攻击总数 # @type Cc: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Access, :Up, :Down, :Attack, :Cc, :RequestId def initialize(access=nil, up=nil, down=nil, attack=nil, cc=nil, requestid=nil) @Access = access @Up = up @Down = down @Attack = attack @Cc = cc @RequestId = requestid end def deserialize(params) @Access = params['Access'] @Up = params['Up'] @Down = params['Down'] @Attack = params['Attack'] @Cc = params['Cc'] @RequestId = params['RequestId'] end end # DescribePolicyStatus请求参数结构体 class DescribePolicyStatusRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param Edition: clb-waf或者saas-waf # @type Edition: String attr_accessor :Domain, :Edition def initialize(domain=nil, edition=nil) @Domain = domain @Edition = edition end def deserialize(params) @Domain = params['Domain'] @Edition = params['Edition'] end end # DescribePolicyStatus返回参数结构体 class DescribePolicyStatusResponse < TencentCloud::Common::AbstractModel # @param InstanceId: 实例ID # @type InstanceId: String # @param Status: 防护状态 # @type Status: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :InstanceId, :Status, :RequestId def initialize(instanceid=nil, status=nil, requestid=nil) @InstanceId = instanceid @Status = status @RequestId = requestid end def deserialize(params) @InstanceId = params['InstanceId'] @Status = params['Status'] @RequestId = params['RequestId'] end end # DescribeRuleLimit请求参数结构体 class DescribeRuleLimitRequest < 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 # DescribeRuleLimit返回参数结构体 class DescribeRuleLimitResponse < TencentCloud::Common::AbstractModel # @param Res: waf模块的规格 # @type Res: :class:`Tencentcloud::Waf.v20180125.models.WafRuleLimit` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Res, :RequestId def initialize(res=nil, requestid=nil) @Res = res @RequestId = requestid end def deserialize(params) unless params['Res'].nil? @Res = WafRuleLimit.new @Res.deserialize(params['Res']) end @RequestId = params['RequestId'] end end # DescribeUserCdcClbWafRegions请求参数结构体 class DescribeUserCdcClbWafRegionsRequest < TencentCloud::Common::AbstractModel def initialize() end def deserialize(params) end end # DescribeUserCdcClbWafRegions返回参数结构体 class DescribeUserCdcClbWafRegionsResponse < TencentCloud::Common::AbstractModel # @param Data: CdcRegion的类型描述 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Data: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 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| cdcregion_tmp = CdcRegion.new cdcregion_tmp.deserialize(i) @Data << cdcregion_tmp end end @RequestId = params['RequestId'] end end # DescribeUserClbWafRegions请求参数结构体 class DescribeUserClbWafRegionsRequest < TencentCloud::Common::AbstractModel def initialize() end def deserialize(params) end end # DescribeUserClbWafRegions返回参数结构体 class DescribeUserClbWafRegionsResponse < TencentCloud::Common::AbstractModel # @param Data: 地域(标准的ap-格式)列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Data: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Data, :RequestId def initialize(data=nil, requestid=nil) @Data = data @RequestId = requestid end def deserialize(params) @Data = params['Data'] @RequestId = params['RequestId'] end end # DescribeVipInfo请求参数结构体 class DescribeVipInfoRequest < TencentCloud::Common::AbstractModel # @param InstanceIds: waf实例id列表 # @type InstanceIds: Array attr_accessor :InstanceIds def initialize(instanceids=nil) @InstanceIds = instanceids end def deserialize(params) @InstanceIds = params['InstanceIds'] end end # DescribeVipInfo返回参数结构体 class DescribeVipInfoResponse < TencentCloud::Common::AbstractModel # @param VipInfo: VIP信息 # @type VipInfo: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :VipInfo, :RequestId def initialize(vipinfo=nil, requestid=nil) @VipInfo = vipinfo @RequestId = requestid end def deserialize(params) unless params['VipInfo'].nil? @VipInfo = [] params['VipInfo'].each do |i| vipinfo_tmp = VipInfo.new vipinfo_tmp.deserialize(i) @VipInfo << vipinfo_tmp end end @RequestId = params['RequestId'] end end # DescribeWafAutoDenyRules请求参数结构体 class DescribeWafAutoDenyRulesRequest < 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 # DescribeWafAutoDenyRules返回参数结构体 class DescribeWafAutoDenyRulesResponse < TencentCloud::Common::AbstractModel # @param AttackThreshold: 攻击次数阈值 # @type AttackThreshold: Integer # @param TimeThreshold: 攻击时间阈值 # @type TimeThreshold: Integer # @param DenyTimeThreshold: 自动封禁时间 # @type DenyTimeThreshold: Integer # @param DefenseStatus: 自动封禁状态 # @type DefenseStatus: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AttackThreshold, :TimeThreshold, :DenyTimeThreshold, :DefenseStatus, :RequestId def initialize(attackthreshold=nil, timethreshold=nil, denytimethreshold=nil, defensestatus=nil, requestid=nil) @AttackThreshold = attackthreshold @TimeThreshold = timethreshold @DenyTimeThreshold = denytimethreshold @DefenseStatus = defensestatus @RequestId = requestid end def deserialize(params) @AttackThreshold = params['AttackThreshold'] @TimeThreshold = params['TimeThreshold'] @DenyTimeThreshold = params['DenyTimeThreshold'] @DefenseStatus = params['DefenseStatus'] @RequestId = params['RequestId'] end end # DescribeWafAutoDenyStatus请求参数结构体 class DescribeWafAutoDenyStatusRequest < TencentCloud::Common::AbstractModel def initialize() end def deserialize(params) end end # DescribeWafAutoDenyStatus返回参数结构体 class DescribeWafAutoDenyStatusResponse < TencentCloud::Common::AbstractModel # @param WafAutoDenyDetails: WAF 自动封禁详情 # @type WafAutoDenyDetails: :class:`Tencentcloud::Waf.v20180125.models.AutoDenyDetail` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :WafAutoDenyDetails, :RequestId def initialize(wafautodenydetails=nil, requestid=nil) @WafAutoDenyDetails = wafautodenydetails @RequestId = requestid end def deserialize(params) unless params['WafAutoDenyDetails'].nil? @WafAutoDenyDetails = AutoDenyDetail.new @WafAutoDenyDetails.deserialize(params['WafAutoDenyDetails']) end @RequestId = params['RequestId'] end end # DescribeWafThreatenIntelligence请求参数结构体 class DescribeWafThreatenIntelligenceRequest < TencentCloud::Common::AbstractModel def initialize() end def deserialize(params) end end # DescribeWafThreatenIntelligence返回参数结构体 class DescribeWafThreatenIntelligenceResponse < TencentCloud::Common::AbstractModel # @param WafThreatenIntelligenceDetails: WAF 威胁情报封禁信息 # @type WafThreatenIntelligenceDetails: :class:`Tencentcloud::Waf.v20180125.models.WafThreatenIntelligenceDetails` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :WafThreatenIntelligenceDetails, :RequestId def initialize(wafthreatenintelligencedetails=nil, requestid=nil) @WafThreatenIntelligenceDetails = wafthreatenintelligencedetails @RequestId = requestid end def deserialize(params) unless params['WafThreatenIntelligenceDetails'].nil? @WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails.new @WafThreatenIntelligenceDetails.deserialize(params['WafThreatenIntelligenceDetails']) end @RequestId = params['RequestId'] end end # 域名的详细信息 class DomainInfo < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param DomainId: 域名ID # @type DomainId: String # @param InstanceId: 实例ID # @type InstanceId: String # @param Cname: cname地址 # @type Cname: String # @param Edition: 实例类型 # @type Edition: String # @param Region: 地域 # @type Region: String # @param InstanceName: 实例名 # @type InstanceName: String # @param ClsStatus: 日志包 # @type ClsStatus: Integer # @param FlowMode: clb模式 # @type FlowMode: Integer # @param Status: waf开关 # @type Status: Integer # @param Mode: 防御模式 # @type Mode: Integer # @param Engine: AI防御模式 # @type Engine: Integer # @param CCList: CC列表 # @type CCList: Array # @param RsList: 回源ip # @type RsList: Array # @param Ports: 服务端口配置 # @type Ports: Array # @param LoadBalancerSet: 负载均衡器 # @type LoadBalancerSet: Array # @param AppId: 用户id # @type AppId: Integer # @param State: clb状态 # @type State: Integer # @param CreateTime: 创建时间 # @type CreateTime: String # @param Ipv6Status: 0关闭 1开启 # @type Ipv6Status: Integer # @param BotStatus: 0关闭 1开启 # @type BotStatus: Integer # @param Level: 版本信息 # @type Level: Integer # @param PostCLSStatus: 是否开启投递CLS功能 # @type PostCLSStatus: Integer # @param PostCKafkaStatus: 是否开启投递CKafka功能 # @type PostCKafkaStatus: Integer # @param AlbType: 应用型负载均衡类型: clb或者apisix,默认clb # 注意:此字段可能返回 null,表示取不到有效值。 # @type AlbType: String attr_accessor :Domain, :DomainId, :InstanceId, :Cname, :Edition, :Region, :InstanceName, :ClsStatus, :FlowMode, :Status, :Mode, :Engine, :CCList, :RsList, :Ports, :LoadBalancerSet, :AppId, :State, :CreateTime, :Ipv6Status, :BotStatus, :Level, :PostCLSStatus, :PostCKafkaStatus, :AlbType def initialize(domain=nil, domainid=nil, instanceid=nil, cname=nil, edition=nil, region=nil, instancename=nil, clsstatus=nil, flowmode=nil, status=nil, mode=nil, engine=nil, cclist=nil, rslist=nil, ports=nil, loadbalancerset=nil, appid=nil, state=nil, createtime=nil, ipv6status=nil, botstatus=nil, level=nil, postclsstatus=nil, postckafkastatus=nil, albtype=nil) @Domain = domain @DomainId = domainid @InstanceId = instanceid @Cname = cname @Edition = edition @Region = region @InstanceName = instancename @ClsStatus = clsstatus @FlowMode = flowmode @Status = status @Mode = mode @Engine = engine @CCList = cclist @RsList = rslist @Ports = ports @LoadBalancerSet = loadbalancerset @AppId = appid @State = state @CreateTime = createtime @Ipv6Status = ipv6status @BotStatus = botstatus @Level = level @PostCLSStatus = postclsstatus @PostCKafkaStatus = postckafkastatus @AlbType = albtype end def deserialize(params) @Domain = params['Domain'] @DomainId = params['DomainId'] @InstanceId = params['InstanceId'] @Cname = params['Cname'] @Edition = params['Edition'] @Region = params['Region'] @InstanceName = params['InstanceName'] @ClsStatus = params['ClsStatus'] @FlowMode = params['FlowMode'] @Status = params['Status'] @Mode = params['Mode'] @Engine = params['Engine'] @CCList = params['CCList'] @RsList = params['RsList'] unless params['Ports'].nil? @Ports = [] params['Ports'].each do |i| portinfo_tmp = PortInfo.new portinfo_tmp.deserialize(i) @Ports << portinfo_tmp end end unless params['LoadBalancerSet'].nil? @LoadBalancerSet = [] params['LoadBalancerSet'].each do |i| loadbalancerpackagenew_tmp = LoadBalancerPackageNew.new loadbalancerpackagenew_tmp.deserialize(i) @LoadBalancerSet << loadbalancerpackagenew_tmp end end @AppId = params['AppId'] @State = params['State'] @CreateTime = params['CreateTime'] @Ipv6Status = params['Ipv6Status'] @BotStatus = params['BotStatus'] @Level = params['Level'] @PostCLSStatus = params['PostCLSStatus'] @PostCKafkaStatus = params['PostCKafkaStatus'] @AlbType = params['AlbType'] end end # clb-waf 域名扩展套餐 class DomainPackageNew < TencentCloud::Common::AbstractModel # @param ResourceIds: 资源ID # @type ResourceIds: String # @param ValidTime: 过期时间 # @type ValidTime: String # @param RenewFlag: 是否自动续费,1:自动续费,0:不自动续费 # @type RenewFlag: Integer # @param Count: 套餐购买个数 # @type Count: Integer # @param Region: 套餐购买地域,clb-waf暂时没有用到 # @type Region: String attr_accessor :ResourceIds, :ValidTime, :RenewFlag, :Count, :Region def initialize(resourceids=nil, validtime=nil, renewflag=nil, count=nil, region=nil) @ResourceIds = resourceids @ValidTime = validtime @RenewFlag = renewflag @Count = count @Region = region end def deserialize(params) @ResourceIds = params['ResourceIds'] @ValidTime = params['ValidTime'] @RenewFlag = params['RenewFlag'] @Count = params['Count'] @Region = params['Region'] end end # saas域名详情 class DomainsPartInfo < TencentCloud::Common::AbstractModel # @param HttpsRewrite: 是否开启httpRewrite # @type HttpsRewrite: Integer # @param HttpsUpstreamPort: https回源端口 # @type HttpsUpstreamPort: String # @param IsCdn: 是否是cdn # @type IsCdn: Integer # @param IsGray: 是否开启gray # @type IsGray: Integer # @param IsHttp2: 是否是http2 # @type IsHttp2: Integer # @param IsWebsocket: 是否开启websocket # @type IsWebsocket: Integer # @param LoadBalance: 负载均衡 # @type LoadBalance: Integer # @param Mode: 防御模式 # @type Mode: Integer # @param PrivateKey: 私钥 # @type PrivateKey: String # @param SSLId: ssl id # @type SSLId: String # @param UpstreamDomain: 回源域名 # @type UpstreamDomain: String # @param UpstreamType: 回源类型 # @type UpstreamType: Integer # @param SrcList: 回源ip # @type SrcList: Array # @param Ports: 服务端口配置 # @type Ports: Array # @param CertType: 证书类型 # @type CertType: Integer # @param UpstreamScheme: 回源方式 # @type UpstreamScheme: String # @param Cls: 日志包 # @type Cls: Integer # @param Cname: 一级cname # @type Cname: String # @param IsKeepAlive: 是否长连接 # @type IsKeepAlive: Integer # @param ActiveCheck: 是否开启主动健康检测,1表示开启,0表示不开启 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ActiveCheck: Integer # @param TLSVersion: TLS版本信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TLSVersion: Integer # @param Ciphers: 加密套件信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Ciphers: Array # @param CipherTemplate: 模版 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CipherTemplate: Integer # @param ProxyReadTimeout: 300s # 注意:此字段可能返回 null,表示取不到有效值。 # @type ProxyReadTimeout: Integer # @param ProxySendTimeout: 300s # 注意:此字段可能返回 null,表示取不到有效值。 # @type ProxySendTimeout: Integer # @param SniType: 0:关闭SNI;1:开启SNI,SNI=源请求host;2:开启SNI,SNI=修改为源站host;3:开启SNI,自定义host,SNI=SniHost; # 注意:此字段可能返回 null,表示取不到有效值。 # @type SniType: Integer # @param SniHost: SniType=3时,需要填此参数,表示自定义的host; # 注意:此字段可能返回 null,表示取不到有效值。 # @type SniHost: String # @param Weights: 无 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Weights: Array # @param IpHeaders: IsCdn=3时,表示自定义header # 注意:此字段可能返回 null,表示取不到有效值。 # @type IpHeaders: Array attr_accessor :HttpsRewrite, :HttpsUpstreamPort, :IsCdn, :IsGray, :IsHttp2, :IsWebsocket, :LoadBalance, :Mode, :PrivateKey, :SSLId, :UpstreamDomain, :UpstreamType, :SrcList, :Ports, :CertType, :UpstreamScheme, :Cls, :Cname, :IsKeepAlive, :ActiveCheck, :TLSVersion, :Ciphers, :CipherTemplate, :ProxyReadTimeout, :ProxySendTimeout, :SniType, :SniHost, :Weights, :IpHeaders def initialize(httpsrewrite=nil, httpsupstreamport=nil, iscdn=nil, isgray=nil, ishttp2=nil, iswebsocket=nil, loadbalance=nil, mode=nil, privatekey=nil, sslid=nil, upstreamdomain=nil, upstreamtype=nil, srclist=nil, ports=nil, certtype=nil, upstreamscheme=nil, cls=nil, cname=nil, iskeepalive=nil, activecheck=nil, tlsversion=nil, ciphers=nil, ciphertemplate=nil, proxyreadtimeout=nil, proxysendtimeout=nil, snitype=nil, snihost=nil, weights=nil, ipheaders=nil) @HttpsRewrite = httpsrewrite @HttpsUpstreamPort = httpsupstreamport @IsCdn = iscdn @IsGray = isgray @IsHttp2 = ishttp2 @IsWebsocket = iswebsocket @LoadBalance = loadbalance @Mode = mode @PrivateKey = privatekey @SSLId = sslid @UpstreamDomain = upstreamdomain @UpstreamType = upstreamtype @SrcList = srclist @Ports = ports @CertType = certtype @UpstreamScheme = upstreamscheme @Cls = cls @Cname = cname @IsKeepAlive = iskeepalive @ActiveCheck = activecheck @TLSVersion = tlsversion @Ciphers = ciphers @CipherTemplate = ciphertemplate @ProxyReadTimeout = proxyreadtimeout @ProxySendTimeout = proxysendtimeout @SniType = snitype @SniHost = snihost @Weights = weights @IpHeaders = ipheaders end def deserialize(params) @HttpsRewrite = params['HttpsRewrite'] @HttpsUpstreamPort = params['HttpsUpstreamPort'] @IsCdn = params['IsCdn'] @IsGray = params['IsGray'] @IsHttp2 = params['IsHttp2'] @IsWebsocket = params['IsWebsocket'] @LoadBalance = params['LoadBalance'] @Mode = params['Mode'] @PrivateKey = params['PrivateKey'] @SSLId = params['SSLId'] @UpstreamDomain = params['UpstreamDomain'] @UpstreamType = params['UpstreamType'] @SrcList = params['SrcList'] unless params['Ports'].nil? @Ports = [] params['Ports'].each do |i| portinfo_tmp = PortInfo.new portinfo_tmp.deserialize(i) @Ports << portinfo_tmp end end @CertType = params['CertType'] @UpstreamScheme = params['UpstreamScheme'] @Cls = params['Cls'] @Cname = params['Cname'] @IsKeepAlive = params['IsKeepAlive'] @ActiveCheck = params['ActiveCheck'] @TLSVersion = params['TLSVersion'] @Ciphers = params['Ciphers'] @CipherTemplate = params['CipherTemplate'] @ProxyReadTimeout = params['ProxyReadTimeout'] @ProxySendTimeout = params['ProxySendTimeout'] @SniType = params['SniType'] @SniHost = params['SniHost'] @Weights = params['Weights'] @IpHeaders = params['IpHeaders'] end end # 下载攻击日志记录数据项 class DownloadAttackRecordInfo < TencentCloud::Common::AbstractModel # @param Id: 记录ID # @type Id: Integer # @param TaskName: 下载任务名 # @type TaskName: String # @param TaskId: 任务ID # @type TaskId: String # @param Host: 域名 # @type Host: String # @param Count: 当前下载任务的日志条数 # @type Count: Integer # @param Status: 下载任务运行状态:-1-下载超时,0-下载等待,1-下载完成,2-下载失败,4-正在下载 # @type Status: Integer # @param Url: 下载文件URL # @type Url: String # @param CreateTime: 创建时间 # @type CreateTime: String # @param ModifyTime: 最后更新修改时间 # @type ModifyTime: String # @param ExpireTime: 过期时间 # @type ExpireTime: String # @param TotalCount: 下载任务需下载的日志总条数 # @type TotalCount: Integer attr_accessor :Id, :TaskName, :TaskId, :Host, :Count, :Status, :Url, :CreateTime, :ModifyTime, :ExpireTime, :TotalCount def initialize(id=nil, taskname=nil, taskid=nil, host=nil, count=nil, status=nil, url=nil, createtime=nil, modifytime=nil, expiretime=nil, totalcount=nil) @Id = id @TaskName = taskname @TaskId = taskid @Host = host @Count = count @Status = status @Url = url @CreateTime = createtime @ModifyTime = modifytime @ExpireTime = expiretime @TotalCount = totalcount end def deserialize(params) @Id = params['Id'] @TaskName = params['TaskName'] @TaskId = params['TaskId'] @Host = params['Host'] @Count = params['Count'] @Status = params['Status'] @Url = params['Url'] @CreateTime = params['CreateTime'] @ModifyTime = params['ModifyTime'] @ExpireTime = params['ExpireTime'] @TotalCount = params['TotalCount'] end end # DescribeAccessExports接口 class ExportAccessInfo < TencentCloud::Common::AbstractModel # @param ExportId: 日志导出任务ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type ExportId: String # @param Query: 日志导出查询语句 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Query: String # @param FileName: 日志导出文件名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FileName: String # @param FileSize: 日志文件大小 # @type FileSize: Integer # @param Order: 日志导出时间排序 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Order: String # @param Format: 日志导出格式 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Format: String # @param Count: 日志导出数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Count: Integer # @param Status: 日志下载状态。Processing:导出正在进行中,Complete:导出完成,Failed:导出失败,Expired:日志导出已过期(三天有效期) # @type Status: String # @param From: 日志导出起始时间 # @type From: Integer # @param To: 日志导出结束时间 # @type To: Integer # @param CosPath: 日志导出路径 # @type CosPath: String # @param CreateTime: 日志导出创建时间 # @type CreateTime: String attr_accessor :ExportId, :Query, :FileName, :FileSize, :Order, :Format, :Count, :Status, :From, :To, :CosPath, :CreateTime def initialize(exportid=nil, query=nil, filename=nil, filesize=nil, order=nil, format=nil, count=nil, status=nil, from=nil, to=nil, cospath=nil, createtime=nil) @ExportId = exportid @Query = query @FileName = filename @FileSize = filesize @Order = order @Format = format @Count = count @Status = status @From = from @To = to @CosPath = cospath @CreateTime = createtime end def deserialize(params) @ExportId = params['ExportId'] @Query = params['Query'] @FileName = params['FileName'] @FileSize = params['FileSize'] @Order = params['Order'] @Format = params['Format'] @Count = params['Count'] @Status = params['Status'] @From = params['From'] @To = params['To'] @CosPath = params['CosPath'] @CreateTime = params['CreateTime'] end end # 过滤数组 class FiltersItemNew < TencentCloud::Common::AbstractModel # @param Name: 字段名 # @type Name: String # @param Values: 过滤值 # @type Values: Array # @param ExactMatch: 是否精确查找 # @type ExactMatch: Boolean attr_accessor :Name, :Values, :ExactMatch def initialize(name=nil, values=nil, exactmatch=nil) @Name = name @Values = values @ExactMatch = exactmatch end def deserialize(params) @Name = params['Name'] @Values = params['Values'] @ExactMatch = params['ExactMatch'] end end # 业务安全资源信息 class FraudPkg < TencentCloud::Common::AbstractModel # @param ResourceIds: 资源id # 注意:此字段可能返回 null,表示取不到有效值。 # @type ResourceIds: String # @param Status: 状态 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: Integer # @param Region: 地域 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Region: Integer # @param BeginTime: 开始时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BeginTime: String # @param EndTime: 结束时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type EndTime: String # @param InquireNum: 申请数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type InquireNum: Integer # @param UsedNum: 使用数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UsedNum: Integer # @param RenewFlag: 续费标志 # 注意:此字段可能返回 null,表示取不到有效值。 # @type RenewFlag: Integer attr_accessor :ResourceIds, :Status, :Region, :BeginTime, :EndTime, :InquireNum, :UsedNum, :RenewFlag def initialize(resourceids=nil, status=nil, region=nil, begintime=nil, endtime=nil, inquirenum=nil, usednum=nil, renewflag=nil) @ResourceIds = resourceids @Status = status @Region = region @BeginTime = begintime @EndTime = endtime @InquireNum = inquirenum @UsedNum = usednum @RenewFlag = renewflag end def deserialize(params) @ResourceIds = params['ResourceIds'] @Status = params['Status'] @Region = params['Region'] @BeginTime = params['BeginTime'] @EndTime = params['EndTime'] @InquireNum = params['InquireNum'] @UsedNum = params['UsedNum'] @RenewFlag = params['RenewFlag'] end end # GetAttackDownloadRecords请求参数结构体 class GetAttackDownloadRecordsRequest < TencentCloud::Common::AbstractModel def initialize() end def deserialize(params) end end # GetAttackDownloadRecords返回参数结构体 class GetAttackDownloadRecordsResponse < TencentCloud::Common::AbstractModel # @param Records: 下载攻击日志记录数组 # @type Records: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Records, :RequestId def initialize(records=nil, requestid=nil) @Records = records @RequestId = requestid end def deserialize(params) unless params['Records'].nil? @Records = [] params['Records'].each do |i| downloadattackrecordinfo_tmp = DownloadAttackRecordInfo.new downloadattackrecordinfo_tmp.deserialize(i) @Records << downloadattackrecordinfo_tmp end end @RequestId = params['RequestId'] end end # clb-waf防护域名 class HostRecord < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param DomainId: 域名ID # @type DomainId: String # @param MainDomain: 主域名,入参时为空 # @type MainDomain: String # @param Mode: waf模式,同saas waf保持一致 # @type Mode: Integer # @param Status: waf和LD的绑定,0:没有绑定,1:绑定 # @type Status: Integer # @param State: 域名状态,0:正常,1:未检测到流量,2:即将过期,3:过期 # @type State: Integer # @param Engine: 使用的规则,同saas waf保持一致 # @type Engine: Integer # @param IsCdn: 是否开启代理,0:不开启,1:开启 # @type IsCdn: Integer # @param LoadBalancerSet: 绑定的LB列表 # @type LoadBalancerSet: Array # @param Region: 域名绑定的LB的地域,以,分割多个地域 # @type Region: String # @param Edition: 产品分类,取值为:sparta-waf、clb-waf、cdn-waf # @type Edition: String # @param FlowMode: WAF的流量模式,1:清洗模式,0:镜像模式 # @type FlowMode: Integer # @param ClsStatus: 是否开启访问日志,1:开启,0:关闭 # @type ClsStatus: Integer # @param Level: 防护等级,可选值100,200,300 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Level: Integer # @param CdcClusters: 域名需要下发到的cdc集群列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CdcClusters: Array # @param AlbType: 应用型负载均衡类型: clb或者apisix,默认clb # 注意:此字段可能返回 null,表示取不到有效值。 # @type AlbType: String # @param IpHeaders: IsCdn=3时,需要填此参数,表示自定义header # 注意:此字段可能返回 null,表示取不到有效值。 # @type IpHeaders: Array # @param EngineType: 规则引擎类型, 1: menshen, 2:tiga # 注意:此字段可能返回 null,表示取不到有效值。 # @type EngineType: Integer attr_accessor :Domain, :DomainId, :MainDomain, :Mode, :Status, :State, :Engine, :IsCdn, :LoadBalancerSet, :Region, :Edition, :FlowMode, :ClsStatus, :Level, :CdcClusters, :AlbType, :IpHeaders, :EngineType def initialize(domain=nil, domainid=nil, maindomain=nil, mode=nil, status=nil, state=nil, engine=nil, iscdn=nil, loadbalancerset=nil, region=nil, edition=nil, flowmode=nil, clsstatus=nil, level=nil, cdcclusters=nil, albtype=nil, ipheaders=nil, enginetype=nil) @Domain = domain @DomainId = domainid @MainDomain = maindomain @Mode = mode @Status = status @State = state @Engine = engine @IsCdn = iscdn @LoadBalancerSet = loadbalancerset @Region = region @Edition = edition @FlowMode = flowmode @ClsStatus = clsstatus @Level = level @CdcClusters = cdcclusters @AlbType = albtype @IpHeaders = ipheaders @EngineType = enginetype end def deserialize(params) @Domain = params['Domain'] @DomainId = params['DomainId'] @MainDomain = params['MainDomain'] @Mode = params['Mode'] @Status = params['Status'] @State = params['State'] @Engine = params['Engine'] @IsCdn = params['IsCdn'] unless params['LoadBalancerSet'].nil? @LoadBalancerSet = [] params['LoadBalancerSet'].each do |i| loadbalancer_tmp = LoadBalancer.new loadbalancer_tmp.deserialize(i) @LoadBalancerSet << loadbalancer_tmp end end @Region = params['Region'] @Edition = params['Edition'] @FlowMode = params['FlowMode'] @ClsStatus = params['ClsStatus'] @Level = params['Level'] @CdcClusters = params['CdcClusters'] @AlbType = params['AlbType'] @IpHeaders = params['IpHeaders'] @EngineType = params['EngineType'] end end # 一个实例的详细信息 class InstanceInfo < TencentCloud::Common::AbstractModel # @param InstanceId: id # @type InstanceId: String # @param InstanceName: Name # @type InstanceName: String # @param ResourceIds: 资源id # @type ResourceIds: String # @param Region: 地域 # @type Region: String # @param PayMode: 付费模式 # @type PayMode: Integer # @param RenewFlag: 自动续费 # @type RenewFlag: Integer # @param Mode: 弹性计费 # @type Mode: Integer # @param Level: 套餐版本 # @type Level: Integer # @param ValidTime: 过期时间 # @type ValidTime: String # @param BeginTime: 开始时间 # @type BeginTime: String # @param DomainCount: 已用 # @type DomainCount: Integer # @param SubDomainLimit: 上限 # @type SubDomainLimit: Integer # @param MainDomainCount: 已用 # @type MainDomainCount: Integer # @param MainDomainLimit: 上限 # @type MainDomainLimit: Integer # @param MaxQPS: 峰值 # @type MaxQPS: Integer # @param QPS: qps套餐 # @type QPS: :class:`Tencentcloud::Waf.v20180125.models.QPSPackageNew` # @param DomainPkg: 域名套餐 # @type DomainPkg: :class:`Tencentcloud::Waf.v20180125.models.DomainPackageNew` # @param AppId: 用户appid # @type AppId: Integer # @param Edition: clb或saas # @type Edition: String # @param FraudPkg: 业务安全包 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FraudPkg: :class:`Tencentcloud::Waf.v20180125.models.FraudPkg` # @param BotPkg: Bot资源包 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BotPkg: :class:`Tencentcloud::Waf.v20180125.models.BotPkg` # @param BotQPS: bot的qps详情 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BotQPS: :class:`Tencentcloud::Waf.v20180125.models.BotQPS` # @param ElasticBilling: qps弹性计费上限 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ElasticBilling: Integer # @param AttackLogPost: 攻击日志投递开关 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AttackLogPost: Integer # @param MaxBandwidth: 带宽峰值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type MaxBandwidth: Integer # @param APISecurity: api安全是否购买 # @type APISecurity: Integer # @param QpsStandard: 购买的qps规格 # 注意:此字段可能返回 null,表示取不到有效值。 # @type QpsStandard: Integer # @param BandwidthStandard: 购买的带宽规格 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BandwidthStandard: Integer # @param Status: 实例状态 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: Integer # @param SandboxQps: 实例沙箱值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SandboxQps: Integer attr_accessor :InstanceId, :InstanceName, :ResourceIds, :Region, :PayMode, :RenewFlag, :Mode, :Level, :ValidTime, :BeginTime, :DomainCount, :SubDomainLimit, :MainDomainCount, :MainDomainLimit, :MaxQPS, :QPS, :DomainPkg, :AppId, :Edition, :FraudPkg, :BotPkg, :BotQPS, :ElasticBilling, :AttackLogPost, :MaxBandwidth, :APISecurity, :QpsStandard, :BandwidthStandard, :Status, :SandboxQps def initialize(instanceid=nil, instancename=nil, resourceids=nil, region=nil, paymode=nil, renewflag=nil, mode=nil, level=nil, validtime=nil, begintime=nil, domaincount=nil, subdomainlimit=nil, maindomaincount=nil, maindomainlimit=nil, maxqps=nil, qps=nil, domainpkg=nil, appid=nil, edition=nil, fraudpkg=nil, botpkg=nil, botqps=nil, elasticbilling=nil, attacklogpost=nil, maxbandwidth=nil, apisecurity=nil, qpsstandard=nil, bandwidthstandard=nil, status=nil, sandboxqps=nil) @InstanceId = instanceid @InstanceName = instancename @ResourceIds = resourceids @Region = region @PayMode = paymode @RenewFlag = renewflag @Mode = mode @Level = level @ValidTime = validtime @BeginTime = begintime @DomainCount = domaincount @SubDomainLimit = subdomainlimit @MainDomainCount = maindomaincount @MainDomainLimit = maindomainlimit @MaxQPS = maxqps @QPS = qps @DomainPkg = domainpkg @AppId = appid @Edition = edition @FraudPkg = fraudpkg @BotPkg = botpkg @BotQPS = botqps @ElasticBilling = elasticbilling @AttackLogPost = attacklogpost @MaxBandwidth = maxbandwidth @APISecurity = apisecurity @QpsStandard = qpsstandard @BandwidthStandard = bandwidthstandard @Status = status @SandboxQps = sandboxqps end def deserialize(params) @InstanceId = params['InstanceId'] @InstanceName = params['InstanceName'] @ResourceIds = params['ResourceIds'] @Region = params['Region'] @PayMode = params['PayMode'] @RenewFlag = params['RenewFlag'] @Mode = params['Mode'] @Level = params['Level'] @ValidTime = params['ValidTime'] @BeginTime = params['BeginTime'] @DomainCount = params['DomainCount'] @SubDomainLimit = params['SubDomainLimit'] @MainDomainCount = params['MainDomainCount'] @MainDomainLimit = params['MainDomainLimit'] @MaxQPS = params['MaxQPS'] unless params['QPS'].nil? @QPS = QPSPackageNew.new @QPS.deserialize(params['QPS']) end unless params['DomainPkg'].nil? @DomainPkg = DomainPackageNew.new @DomainPkg.deserialize(params['DomainPkg']) end @AppId = params['AppId'] @Edition = params['Edition'] unless params['FraudPkg'].nil? @FraudPkg = FraudPkg.new @FraudPkg.deserialize(params['FraudPkg']) end unless params['BotPkg'].nil? @BotPkg = BotPkg.new @BotPkg.deserialize(params['BotPkg']) end unless params['BotQPS'].nil? @BotQPS = BotQPS.new @BotQPS.deserialize(params['BotQPS']) end @ElasticBilling = params['ElasticBilling'] @AttackLogPost = params['AttackLogPost'] @MaxBandwidth = params['MaxBandwidth'] @APISecurity = params['APISecurity'] @QpsStandard = params['QpsStandard'] @BandwidthStandard = params['BandwidthStandard'] @Status = params['Status'] @SandboxQps = params['SandboxQps'] end end # 数据封装 class IpAccessControlData < TencentCloud::Common::AbstractModel # @param Res: ip黑白名单 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Res: Array # @param TotalCount: 计数 # @type TotalCount: Integer attr_accessor :Res, :TotalCount def initialize(res=nil, totalcount=nil) @Res = res @TotalCount = totalcount end def deserialize(params) unless params['Res'].nil? @Res = [] params['Res'].each do |i| ipaccesscontrolitem_tmp = IpAccessControlItem.new ipaccesscontrolitem_tmp.deserialize(i) @Res << ipaccesscontrolitem_tmp end end @TotalCount = params['TotalCount'] end end # ip黑白名单 class IpAccessControlItem < TencentCloud::Common::AbstractModel # @param ActionType: 动作 # @type ActionType: Integer # @param Ip: ip # @type Ip: String # @param Note: 备注 # @type Note: String # @param Source: 来源 # @type Source: String # @param TsVersion: 更新时间戳 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TsVersion: Integer # @param ValidTs: 有效截止时间戳 # @type ValidTs: Integer attr_accessor :ActionType, :Ip, :Note, :Source, :TsVersion, :ValidTs def initialize(actiontype=nil, ip=nil, note=nil, source=nil, tsversion=nil, validts=nil) @ActionType = actiontype @Ip = ip @Note = note @Source = source @TsVersion = tsversion @ValidTs = validts end def deserialize(params) @ActionType = params['ActionType'] @Ip = params['Ip'] @Note = params['Note'] @Source = params['Source'] @TsVersion = params['TsVersion'] @ValidTs = params['ValidTs'] end end # ip封堵状态数据 class IpHitItem < TencentCloud::Common::AbstractModel # @param Action: 动作 # @type Action: Integer # @param Category: 类别 # @type Category: String # @param Ip: ip # @type Ip: String # @param Name: 规则名称 # @type Name: String # @param TsVersion: 时间戳 # @type TsVersion: Integer # @param ValidTs: 有效截止时间戳 # @type ValidTs: Integer attr_accessor :Action, :Category, :Ip, :Name, :TsVersion, :ValidTs def initialize(action=nil, category=nil, ip=nil, name=nil, tsversion=nil, validts=nil) @Action = action @Category = category @Ip = ip @Name = name @TsVersion = tsversion @ValidTs = validts end def deserialize(params) @Action = params['Action'] @Category = params['Category'] @Ip = params['Ip'] @Name = params['Name'] @TsVersion = params['TsVersion'] @ValidTs = params['ValidTs'] end end # 封装参数 class IpHitItemsData < TencentCloud::Common::AbstractModel # @param Res: 数组封装 # @type Res: Array # @param TotalCount: 总数目 # @type TotalCount: Integer attr_accessor :Res, :TotalCount def initialize(res=nil, totalcount=nil) @Res = res @TotalCount = totalcount end def deserialize(params) unless params['Res'].nil? @Res = [] params['Res'].each do |i| iphititem_tmp = IpHitItem.new iphititem_tmp.deserialize(i) @Res << iphititem_tmp end end @TotalCount = params['TotalCount'] end end # 负载均衡的监听器 class LoadBalancer < TencentCloud::Common::AbstractModel # @param LoadBalancerId: 负载均衡LD的ID # @type LoadBalancerId: String # @param LoadBalancerName: 负载均衡LD的名称 # @type LoadBalancerName: String # @param ListenerId: 负载均衡监听器的ID # @type ListenerId: String # @param ListenerName: 负载均衡监听器的名称 # @type ListenerName: String # @param Vip: 负载均衡实例的IP # @type Vip: String # @param Vport: 负载均衡实例的端口 # @type Vport: Integer # @param Region: 负载均衡LD的地域 # @type Region: String # @param Protocol: 监听器协议,http、https # @type Protocol: String # @param Zone: 负载均衡监听器所在的zone # @type Zone: String # @param NumericalVpcId: 负载均衡的VPCID,公网为-1,内网按实际填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type NumericalVpcId: Integer # @param LoadBalancerType: 负载均衡的网络类型 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LoadBalancerType: String attr_accessor :LoadBalancerId, :LoadBalancerName, :ListenerId, :ListenerName, :Vip, :Vport, :Region, :Protocol, :Zone, :NumericalVpcId, :LoadBalancerType def initialize(loadbalancerid=nil, loadbalancername=nil, listenerid=nil, listenername=nil, vip=nil, vport=nil, region=nil, protocol=nil, zone=nil, numericalvpcid=nil, loadbalancertype=nil) @LoadBalancerId = loadbalancerid @LoadBalancerName = loadbalancername @ListenerId = listenerid @ListenerName = listenername @Vip = vip @Vport = vport @Region = region @Protocol = protocol @Zone = zone @NumericalVpcId = numericalvpcid @LoadBalancerType = loadbalancertype end def deserialize(params) @LoadBalancerId = params['LoadBalancerId'] @LoadBalancerName = params['LoadBalancerName'] @ListenerId = params['ListenerId'] @ListenerName = params['ListenerName'] @Vip = params['Vip'] @Vport = params['Vport'] @Region = params['Region'] @Protocol = params['Protocol'] @Zone = params['Zone'] @NumericalVpcId = params['NumericalVpcId'] @LoadBalancerType = params['LoadBalancerType'] end end # 负载均衡算法 class LoadBalancerPackageNew < TencentCloud::Common::AbstractModel # @param ListenerId: 监听id # 注意:此字段可能返回 null,表示取不到有效值。 # @type ListenerId: String # @param ListenerName: 监听名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ListenerName: String # @param LoadBalancerId: 负载均衡id # 注意:此字段可能返回 null,表示取不到有效值。 # @type LoadBalancerId: String # @param LoadBalancerName: 负载均衡名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LoadBalancerName: String # @param Protocol: 协议 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Protocol: String # @param Region: 地区 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Region: String # @param Vip: 接入IP # 注意:此字段可能返回 null,表示取不到有效值。 # @type Vip: String # @param Vport: 接入端口 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Vport: Integer # @param Zone: 地域 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Zone: String # @param NumericalVpcId: VPCID # 注意:此字段可能返回 null,表示取不到有效值。 # @type NumericalVpcId: Integer # @param LoadBalancerType: CLB类型 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LoadBalancerType: String attr_accessor :ListenerId, :ListenerName, :LoadBalancerId, :LoadBalancerName, :Protocol, :Region, :Vip, :Vport, :Zone, :NumericalVpcId, :LoadBalancerType def initialize(listenerid=nil, listenername=nil, loadbalancerid=nil, loadbalancername=nil, protocol=nil, region=nil, vip=nil, vport=nil, zone=nil, numericalvpcid=nil, loadbalancertype=nil) @ListenerId = listenerid @ListenerName = listenername @LoadBalancerId = loadbalancerid @LoadBalancerName = loadbalancername @Protocol = protocol @Region = region @Vip = vip @Vport = vport @Zone = zone @NumericalVpcId = numericalvpcid @LoadBalancerType = loadbalancertype end def deserialize(params) @ListenerId = params['ListenerId'] @ListenerName = params['ListenerName'] @LoadBalancerId = params['LoadBalancerId'] @LoadBalancerName = params['LoadBalancerName'] @Protocol = params['Protocol'] @Region = params['Region'] @Vip = params['Vip'] @Vport = params['Vport'] @Zone = params['Zone'] @NumericalVpcId = params['NumericalVpcId'] @LoadBalancerType = params['LoadBalancerType'] end end # ModifyAccessPeriod请求参数结构体 class ModifyAccessPeriodRequest < TencentCloud::Common::AbstractModel # @param Period: 访问日志保存期限,范围为[1, 30] # @type Period: Integer # @param TopicId: 日志主题 # @type TopicId: String attr_accessor :Period, :TopicId def initialize(period=nil, topicid=nil) @Period = period @TopicId = topicid end def deserialize(params) @Period = params['Period'] @TopicId = params['TopicId'] end end # ModifyAccessPeriod返回参数结构体 class ModifyAccessPeriodResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifyAreaBanStatus请求参数结构体 class ModifyAreaBanStatusRequest < TencentCloud::Common::AbstractModel # @param Domain: 修要修改的域名 # @type Domain: String # @param Status: 状态值,0表示关闭,1表示开启 # @type Status: Integer attr_accessor :Domain, :Status def initialize(domain=nil, status=nil) @Domain = domain @Status = status end def deserialize(params) @Domain = params['Domain'] @Status = params['Status'] end end # ModifyAreaBanStatus返回参数结构体 class ModifyAreaBanStatusResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifyCustomRuleStatus请求参数结构体 class ModifyCustomRuleStatusRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param RuleId: 规则ID # @type RuleId: Integer # @param Status: 开关的状态,1是开启、0是关闭 # @type Status: Integer # @param Edition: WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。 # @type Edition: String attr_accessor :Domain, :RuleId, :Status, :Edition def initialize(domain=nil, ruleid=nil, status=nil, edition=nil) @Domain = domain @RuleId = ruleid @Status = status @Edition = edition end def deserialize(params) @Domain = params['Domain'] @RuleId = params['RuleId'] @Status = params['Status'] @Edition = params['Edition'] end end # ModifyCustomRuleStatus返回参数结构体 class ModifyCustomRuleStatusResponse < TencentCloud::Common::AbstractModel # @param Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败 # @type Success: :class:`Tencentcloud::Waf.v20180125.models.ResponseCode` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Success, :RequestId def initialize(success=nil, requestid=nil) @Success = success @RequestId = requestid end def deserialize(params) unless params['Success'].nil? @Success = ResponseCode.new @Success.deserialize(params['Success']) end @RequestId = params['RequestId'] end end # ModifyCustomWhiteRule请求参数结构体 class ModifyCustomWhiteRuleRequest < TencentCloud::Common::AbstractModel # @param Domain: 编辑的域名 # @type Domain: String # @param RuleId: 编辑的规则ID # @type RuleId: Integer # @param RuleName: 编辑的规则名称 # @type RuleName: String # @param Bypass: 放行时是否继续执行其它检查逻辑,继续执行地域封禁防护:geoip、继续执行CC策略防护:cc、继续执行WEB应用防护:owasp、继续执行AI引擎防护:ai、继续执行信息防泄漏防护:antileakage。如果多个勾选那么以,串接。 # @type Bypass: String # @param SortId: 优先级,1~100的整数,数字越小,代表这条规则的执行优先级越高。 # @type SortId: Integer # @param ExpireTime: 规则生效截止时间,0:永久生效,其它值为对应时间的时间戳。 # @type ExpireTime: Integer # @param Strategies: 匹配条件数组 # @type Strategies: Array attr_accessor :Domain, :RuleId, :RuleName, :Bypass, :SortId, :ExpireTime, :Strategies def initialize(domain=nil, ruleid=nil, rulename=nil, bypass=nil, sortid=nil, expiretime=nil, strategies=nil) @Domain = domain @RuleId = ruleid @RuleName = rulename @Bypass = bypass @SortId = sortid @ExpireTime = expiretime @Strategies = strategies end def deserialize(params) @Domain = params['Domain'] @RuleId = params['RuleId'] @RuleName = params['RuleName'] @Bypass = params['Bypass'] @SortId = params['SortId'] @ExpireTime = params['ExpireTime'] unless params['Strategies'].nil? @Strategies = [] params['Strategies'].each do |i| strategy_tmp = Strategy.new strategy_tmp.deserialize(i) @Strategies << strategy_tmp end end end end # ModifyCustomWhiteRule返回参数结构体 class ModifyCustomWhiteRuleResponse < TencentCloud::Common::AbstractModel # @param Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败 # @type Success: :class:`Tencentcloud::Waf.v20180125.models.ResponseCode` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Success, :RequestId def initialize(success=nil, requestid=nil) @Success = success @RequestId = requestid end def deserialize(params) unless params['Success'].nil? @Success = ResponseCode.new @Success.deserialize(params['Success']) end @RequestId = params['RequestId'] end end # ModifyDomainWhiteRule请求参数结构体 class ModifyDomainWhiteRuleRequest < TencentCloud::Common::AbstractModel # @param Domain: 需要更改的规则的域名 # @type Domain: String # @param Id: 白名单id # @type Id: Integer # @param Rules: 规则的id列表 # @type Rules: Array # @param Url: 规则匹配路径 # @type Url: String # @param Function: 规则匹配方法 # @type Function: String # @param Status: 规则的开关状态 # @type Status: Integer attr_accessor :Domain, :Id, :Rules, :Url, :Function, :Status def initialize(domain=nil, id=nil, rules=nil, url=nil, function=nil, status=nil) @Domain = domain @Id = id @Rules = rules @Url = url @Function = function @Status = status end def deserialize(params) @Domain = params['Domain'] @Id = params['Id'] @Rules = params['Rules'] @Url = params['Url'] @Function = params['Function'] @Status = params['Status'] end end # ModifyDomainWhiteRule返回参数结构体 class ModifyDomainWhiteRuleResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifyWafAutoDenyRules请求参数结构体 class ModifyWafAutoDenyRulesRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param AttackThreshold: 触发IP封禁的攻击次数阈值,范围为2~100次 # @type AttackThreshold: Integer # @param TimeThreshold: IP封禁统计时间,范围为1-60分钟 # @type TimeThreshold: Integer # @param DenyTimeThreshold: 触发IP封禁后的封禁时间,范围为5~360分钟 # @type DenyTimeThreshold: Integer # @param DefenseStatus: 自动封禁状态 # @type DefenseStatus: Integer attr_accessor :Domain, :AttackThreshold, :TimeThreshold, :DenyTimeThreshold, :DefenseStatus def initialize(domain=nil, attackthreshold=nil, timethreshold=nil, denytimethreshold=nil, defensestatus=nil) @Domain = domain @AttackThreshold = attackthreshold @TimeThreshold = timethreshold @DenyTimeThreshold = denytimethreshold @DefenseStatus = defensestatus end def deserialize(params) @Domain = params['Domain'] @AttackThreshold = params['AttackThreshold'] @TimeThreshold = params['TimeThreshold'] @DenyTimeThreshold = params['DenyTimeThreshold'] @DefenseStatus = params['DefenseStatus'] end end # ModifyWafAutoDenyRules返回参数结构体 class ModifyWafAutoDenyRulesResponse < TencentCloud::Common::AbstractModel # @param Success: 成功的状态码,需要JSON解码后再使用,返回的格式是{"域名":"状态"},成功的状态码为Success,其它的为失败的状态码(yunapi定义的错误码) # @type Success: :class:`Tencentcloud::Waf.v20180125.models.ResponseCode` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Success, :RequestId def initialize(success=nil, requestid=nil) @Success = success @RequestId = requestid end def deserialize(params) unless params['Success'].nil? @Success = ResponseCode.new @Success.deserialize(params['Success']) end @RequestId = params['RequestId'] end end # ModifyWafAutoDenyStatus请求参数结构体 class ModifyWafAutoDenyStatusRequest < TencentCloud::Common::AbstractModel # @param WafAutoDenyDetails: WAF 自动封禁配置项 # @type WafAutoDenyDetails: :class:`Tencentcloud::Waf.v20180125.models.AutoDenyDetail` attr_accessor :WafAutoDenyDetails def initialize(wafautodenydetails=nil) @WafAutoDenyDetails = wafautodenydetails end def deserialize(params) unless params['WafAutoDenyDetails'].nil? @WafAutoDenyDetails = AutoDenyDetail.new @WafAutoDenyDetails.deserialize(params['WafAutoDenyDetails']) end end end # ModifyWafAutoDenyStatus返回参数结构体 class ModifyWafAutoDenyStatusResponse < TencentCloud::Common::AbstractModel # @param WafAutoDenyDetails: WAF 自动封禁配置项 # @type WafAutoDenyDetails: :class:`Tencentcloud::Waf.v20180125.models.AutoDenyDetail` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :WafAutoDenyDetails, :RequestId def initialize(wafautodenydetails=nil, requestid=nil) @WafAutoDenyDetails = wafautodenydetails @RequestId = requestid end def deserialize(params) unless params['WafAutoDenyDetails'].nil? @WafAutoDenyDetails = AutoDenyDetail.new @WafAutoDenyDetails.deserialize(params['WafAutoDenyDetails']) end @RequestId = params['RequestId'] end end # ModifyWafThreatenIntelligence请求参数结构体 class ModifyWafThreatenIntelligenceRequest < TencentCloud::Common::AbstractModel # @param WafThreatenIntelligenceDetails: 配置WAF威胁情报封禁模块详情 # @type WafThreatenIntelligenceDetails: :class:`Tencentcloud::Waf.v20180125.models.WafThreatenIntelligenceDetails` attr_accessor :WafThreatenIntelligenceDetails def initialize(wafthreatenintelligencedetails=nil) @WafThreatenIntelligenceDetails = wafthreatenintelligencedetails end def deserialize(params) unless params['WafThreatenIntelligenceDetails'].nil? @WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails.new @WafThreatenIntelligenceDetails.deserialize(params['WafThreatenIntelligenceDetails']) end end end # ModifyWafThreatenIntelligence返回参数结构体 class ModifyWafThreatenIntelligenceResponse < TencentCloud::Common::AbstractModel # @param WafThreatenIntelligenceDetails: 当前WAF威胁情报封禁模块详情 # @type WafThreatenIntelligenceDetails: :class:`Tencentcloud::Waf.v20180125.models.WafThreatenIntelligenceDetails` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :WafThreatenIntelligenceDetails, :RequestId def initialize(wafthreatenintelligencedetails=nil, requestid=nil) @WafThreatenIntelligenceDetails = wafthreatenintelligencedetails @RequestId = requestid end def deserialize(params) unless params['WafThreatenIntelligenceDetails'].nil? @WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails.new @WafThreatenIntelligenceDetails.deserialize(params['WafThreatenIntelligenceDetails']) end @RequestId = params['RequestId'] end end # PeakPoints数组项 class PeakPointsItem < TencentCloud::Common::AbstractModel # @param Time: 秒级别时间戳 # @type Time: Integer # @param Access: QPS # @type Access: Integer # @param Up: 上行带宽峰值,单位B # @type Up: Integer # @param Down: 下行带宽峰值,单位B # @type Down: Integer # @param Attack: Web攻击次数 # @type Attack: Integer # @param Cc: CC攻击次数 # @type Cc: Integer # @param BotAccess: Bot qps # @type BotAccess: Integer # @param StatusServerError: WAF返回给客户端状态码次数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StatusServerError: Integer # @param StatusClientError: WAF返回给客户端状态码次数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StatusClientError: Integer # @param StatusRedirect: WAF返回给客户端状态码次数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StatusRedirect: Integer # @param StatusOk: WAF返回给客户端状态码次数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StatusOk: Integer # @param UpstreamServerError: 源站返回给WAF状态码次数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UpstreamServerError: Integer # @param UpstreamClientError: 源站返回给WAF状态码次数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UpstreamClientError: Integer # @param UpstreamRedirect: 源站返回给WAF状态码次数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UpstreamRedirect: Integer attr_accessor :Time, :Access, :Up, :Down, :Attack, :Cc, :BotAccess, :StatusServerError, :StatusClientError, :StatusRedirect, :StatusOk, :UpstreamServerError, :UpstreamClientError, :UpstreamRedirect def initialize(time=nil, access=nil, up=nil, down=nil, attack=nil, cc=nil, botaccess=nil, statusservererror=nil, statusclienterror=nil, statusredirect=nil, statusok=nil, upstreamservererror=nil, upstreamclienterror=nil, upstreamredirect=nil) @Time = time @Access = access @Up = up @Down = down @Attack = attack @Cc = cc @BotAccess = botaccess @StatusServerError = statusservererror @StatusClientError = statusclienterror @StatusRedirect = statusredirect @StatusOk = statusok @UpstreamServerError = upstreamservererror @UpstreamClientError = upstreamclienterror @UpstreamRedirect = upstreamredirect end def deserialize(params) @Time = params['Time'] @Access = params['Access'] @Up = params['Up'] @Down = params['Down'] @Attack = params['Attack'] @Cc = params['Cc'] @BotAccess = params['BotAccess'] @StatusServerError = params['StatusServerError'] @StatusClientError = params['StatusClientError'] @StatusRedirect = params['StatusRedirect'] @StatusOk = params['StatusOk'] @UpstreamServerError = params['UpstreamServerError'] @UpstreamClientError = params['UpstreamClientError'] @UpstreamRedirect = params['UpstreamRedirect'] end end # 服务端口配置 class PortInfo < TencentCloud::Common::AbstractModel # @param NginxServerId: Nginx的服务器id # @type NginxServerId: Integer # @param Port: 监听端口配置 # @type Port: String # @param Protocol: 与端口对应的协议 # @type Protocol: String # @param UpstreamPort: 回源端口 # @type UpstreamPort: String # @param UpstreamProtocol: 回源协议 # @type UpstreamProtocol: String attr_accessor :NginxServerId, :Port, :Protocol, :UpstreamPort, :UpstreamProtocol def initialize(nginxserverid=nil, port=nil, protocol=nil, upstreamport=nil, upstreamprotocol=nil) @NginxServerId = nginxserverid @Port = port @Protocol = protocol @UpstreamPort = upstreamport @UpstreamProtocol = upstreamprotocol end def deserialize(params) @NginxServerId = params['NginxServerId'] @Port = params['Port'] @Protocol = params['Protocol'] @UpstreamPort = params['UpstreamPort'] @UpstreamProtocol = params['UpstreamProtocol'] end end # 防护域名端口配置信息 class PortItem < TencentCloud::Common::AbstractModel # @param Port: 监听端口配置 # @type Port: String # @param Protocol: 与Port一一对应,表示端口对应的协议 # @type Protocol: String # @param UpstreamPort: 与Port一一对应, 表示回源端口 # @type UpstreamPort: String # @param UpstreamProtocol: 与Port一一对应, 表示回源协议 # @type UpstreamProtocol: String # @param NginxServerId: Nginx的服务器ID # @type NginxServerId: String attr_accessor :Port, :Protocol, :UpstreamPort, :UpstreamProtocol, :NginxServerId def initialize(port=nil, protocol=nil, upstreamport=nil, upstreamprotocol=nil, nginxserverid=nil) @Port = port @Protocol = protocol @UpstreamPort = upstreamport @UpstreamProtocol = upstreamprotocol @NginxServerId = nginxserverid end def deserialize(params) @Port = params['Port'] @Protocol = params['Protocol'] @UpstreamPort = params['UpstreamPort'] @UpstreamProtocol = params['UpstreamProtocol'] @NginxServerId = params['NginxServerId'] end end # PostAttackDownloadTask请求参数结构体 class PostAttackDownloadTaskRequest < TencentCloud::Common::AbstractModel # @param Domain: 查询的域名,所有域名使用all # @type Domain: String # @param StartTime: 查询起始时间 # @type StartTime: String # @param EndTime: 查询结束时间 # @type EndTime: String # @param QueryString: Lucene语法 # @type QueryString: String # @param TaskName: 任务名称 # @type TaskName: String # @param Sort: 默认为desc,可以取值desc和asc # @type Sort: String attr_accessor :Domain, :StartTime, :EndTime, :QueryString, :TaskName, :Sort def initialize(domain=nil, starttime=nil, endtime=nil, querystring=nil, taskname=nil, sort=nil) @Domain = domain @StartTime = starttime @EndTime = endtime @QueryString = querystring @TaskName = taskname @Sort = sort end def deserialize(params) @Domain = params['Domain'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] @QueryString = params['QueryString'] @TaskName = params['TaskName'] @Sort = params['Sort'] end end # PostAttackDownloadTask返回参数结构体 class PostAttackDownloadTaskResponse < TencentCloud::Common::AbstractModel # @param Flow: 任务task id # @type Flow: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Flow, :RequestId def initialize(flow=nil, requestid=nil) @Flow = flow @RequestId = requestid end def deserialize(params) @Flow = params['Flow'] @RequestId = params['RequestId'] end end # clb-waf QPS套餐 New class QPSPackageNew < TencentCloud::Common::AbstractModel # @param ResourceIds: 资源ID # @type ResourceIds: String # @param ValidTime: 过期时间 # @type ValidTime: String # @param RenewFlag: 是否自动续费,1:自动续费,0:不自动续费 # @type RenewFlag: Integer # @param Count: 套餐购买个数 # @type Count: Integer # @param Region: 套餐购买地域,clb-waf暂时没有用到 # @type Region: String attr_accessor :ResourceIds, :ValidTime, :RenewFlag, :Count, :Region def initialize(resourceids=nil, validtime=nil, renewflag=nil, count=nil, region=nil) @ResourceIds = resourceids @ValidTime = validtime @RenewFlag = renewflag @Count = count @Region = region end def deserialize(params) @ResourceIds = params['ResourceIds'] @ValidTime = params['ValidTime'] @RenewFlag = params['RenewFlag'] @Count = params['Count'] @Region = params['Region'] end end # 响应体的返回码 class ResponseCode < TencentCloud::Common::AbstractModel # @param Code: 如果成功则返回Success,失败则返回yunapi定义的错误码 # @type Code: String # @param Message: 如果成功则返回Success,失败则返回WAF定义的二级错误码 # @type Message: String attr_accessor :Code, :Message def initialize(code=nil, message=nil) @Code = code @Message = message end def deserialize(params) @Code = params['Code'] @Message = params['Message'] end end # 规则白名单 class RuleList < TencentCloud::Common::AbstractModel # @param Id: 规则Id # @type Id: Integer # @param Rules: 规则列表的id # @type Rules: Array # @param Url: 请求url # @type Url: String # @param Function: 请求的方法 # @type Function: String # @param Time: 时间戳 # @type Time: String # @param Status: 开关状态 # @type Status: Integer attr_accessor :Id, :Rules, :Url, :Function, :Time, :Status def initialize(id=nil, rules=nil, url=nil, function=nil, time=nil, status=nil) @Id = id @Rules = rules @Url = url @Function = function @Time = time @Status = status end def deserialize(params) @Id = params['Id'] @Rules = params['Rules'] @Url = params['Url'] @Function = params['Function'] @Time = params['Time'] @Status = params['Status'] end end # SearchAccessLog请求参数结构体 class SearchAccessLogRequest < TencentCloud::Common::AbstractModel # @param TopicId: 客户要查询的日志主题ID,每个客户都有对应的一个主题 # @type TopicId: String # @param From: 要查询的日志的起始时间,Unix时间戳,单位ms # @type From: Integer # @param To: 要查询的日志的结束时间,Unix时间戳,单位ms # @type To: Integer # @param Query: 查询语句,语句长度最大为4096 # @type Query: String # @param Limit: 单次查询返回的日志条数,最大值为100 # @type Limit: Integer # @param Context: 加载更多日志时使用,透传上次返回的Context值,获取后续的日志内容 # @type Context: String # @param Sort: 日志接口是否按时间排序返回;可选值:asc(升序)、desc(降序),默认为 desc # @type Sort: String attr_accessor :TopicId, :From, :To, :Query, :Limit, :Context, :Sort def initialize(topicid=nil, from=nil, to=nil, query=nil, limit=nil, context=nil, sort=nil) @TopicId = topicid @From = from @To = to @Query = query @Limit = limit @Context = context @Sort = sort end def deserialize(params) @TopicId = params['TopicId'] @From = params['From'] @To = params['To'] @Query = params['Query'] @Limit = params['Limit'] @Context = params['Context'] @Sort = params['Sort'] end end # SearchAccessLog返回参数结构体 class SearchAccessLogResponse < TencentCloud::Common::AbstractModel # @param Context: 加载后续内容的Context # @type Context: String # @param ListOver: 日志查询结果是否全部返回,其中,“true”表示结果返回,“false”表示结果为返回 # @type ListOver: Boolean # @param Analysis: 返回的是否为分析结果,其中,“true”表示返回分析结果,“false”表示未返回分析结果 # @type Analysis: Boolean # @param ColNames: 如果Analysis为True,则返回分析结果的列名,否则为空 # 注意:此字段可能返回 null,表示取不到有效值。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ColNames: Array # @param Results: 日志查询结果;当Analysis为True时,可能返回为null # 注意:此字段可能返回 null,表示取不到有效值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Results: Array # @param AnalysisResults: 日志分析结果;当Analysis为False时,可能返回为null # 注意:此字段可能返回 null,表示取不到有效值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AnalysisResults: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Context, :ListOver, :Analysis, :ColNames, :Results, :AnalysisResults, :RequestId def initialize(context=nil, listover=nil, analysis=nil, colnames=nil, results=nil, analysisresults=nil, requestid=nil) @Context = context @ListOver = listover @Analysis = analysis @ColNames = colnames @Results = results @AnalysisResults = analysisresults @RequestId = requestid end def deserialize(params) @Context = params['Context'] @ListOver = params['ListOver'] @Analysis = params['Analysis'] @ColNames = params['ColNames'] unless params['Results'].nil? @Results = [] params['Results'].each do |i| accessloginfo_tmp = AccessLogInfo.new accessloginfo_tmp.deserialize(i) @Results << accessloginfo_tmp end end unless params['AnalysisResults'].nil? @AnalysisResults = [] params['AnalysisResults'].each do |i| accesslogitems_tmp = AccessLogItems.new accesslogitems_tmp.deserialize(i) @AnalysisResults << accesslogitems_tmp end end @RequestId = params['RequestId'] end end # SearchAttackLog请求参数结构体 class SearchAttackLogRequest < TencentCloud::Common::AbstractModel # @param Domain: 查询的域名,所有域名使用all # @type Domain: String # @param StartTime: 查询起始时间 # @type StartTime: String # @param EndTime: 查询结束时间 # @type EndTime: String # @param Context: 查询的游标。第一次请求使用空字符串即可,后续请求使用上一次请求返回的最后一条记录的context的值即可。 # @type Context: String # @param QueryString: Lucene语法 # @type QueryString: String # @param Count: 查询的数量,默认10条,最多100条 # @type Count: Integer # @param Sort: 默认为desc,可以取值desc和asc # @type Sort: String attr_accessor :Domain, :StartTime, :EndTime, :Context, :QueryString, :Count, :Sort def initialize(domain=nil, starttime=nil, endtime=nil, context=nil, querystring=nil, count=nil, sort=nil) @Domain = domain @StartTime = starttime @EndTime = endtime @Context = context @QueryString = querystring @Count = count @Sort = sort end def deserialize(params) @Domain = params['Domain'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] @Context = params['Context'] @QueryString = params['QueryString'] @Count = params['Count'] @Sort = params['Sort'] end end # SearchAttackLog返回参数结构体 class SearchAttackLogResponse < TencentCloud::Common::AbstractModel # @param Count: 当前返回的攻击日志条数 # @type Count: Integer # @param Context: 翻页游标,如果没有下一页了,这个参数为空"" # @type Context: String # @param Data: 攻击日志数组条目内容 # @type Data: Array # @param ListOver: CLS接口返回内容 # @type ListOver: Boolean # @param SqlFlag: CLS接口返回内容,标志是否启动新版本索引 # @type SqlFlag: Boolean # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Count, :Context, :Data, :ListOver, :SqlFlag, :RequestId def initialize(count=nil, context=nil, data=nil, listover=nil, sqlflag=nil, requestid=nil) @Count = count @Context = context @Data = data @ListOver = listover @SqlFlag = sqlflag @RequestId = requestid end def deserialize(params) @Count = params['Count'] @Context = params['Context'] unless params['Data'].nil? @Data = [] params['Data'].each do |i| attackloginfo_tmp = AttackLogInfo.new attackloginfo_tmp.deserialize(i) @Data << attackloginfo_tmp end end @ListOver = params['ListOver'] @SqlFlag = params['SqlFlag'] @RequestId = params['RequestId'] end end # 自定义规则的匹配条件结构体 class Strategy < TencentCloud::Common::AbstractModel # @param Field: 匹配字段 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Field: String # @param CompareFunc: 逻辑符号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CompareFunc: String # @param Content: 匹配内容 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Content: String # @param Arg: 匹配参数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Arg: String attr_accessor :Field, :CompareFunc, :Content, :Arg def initialize(field=nil, comparefunc=nil, content=nil, arg=nil) @Field = field @CompareFunc = comparefunc @Content = content @Arg = arg end def deserialize(params) @Field = params['Field'] @CompareFunc = params['CompareFunc'] @Content = params['Content'] @Arg = params['Arg'] end end # SwitchDomainRules请求参数结构体 class SwitchDomainRulesRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param Ids: 规则列表 # @type Ids: Array # @param Status: 开关状态 # @type Status: Integer # @param Reason: 设置为观察模式原因 # @type Reason: Integer attr_accessor :Domain, :Ids, :Status, :Reason def initialize(domain=nil, ids=nil, status=nil, reason=nil) @Domain = domain @Ids = ids @Status = status @Reason = reason end def deserialize(params) @Domain = params['Domain'] @Ids = params['Ids'] @Status = params['Status'] @Reason = params['Reason'] end end # SwitchDomainRules返回参数结构体 class SwitchDomainRulesResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # UpsertIpAccessControl请求参数结构体 class UpsertIpAccessControlRequest < TencentCloud::Common::AbstractModel # @param Domain: 域名 # @type Domain: String # @param Items: ip 参数列表,json数组由ip,source,note,action,valid_ts组成。ip对应配置的ip地址,source固定为custom值,note为注释,action值42为黑名单,40为白名单,valid_ts为有效日期,值为秒级时间戳((如1680570420代表2023-04-04 09:07:00)) # @type Items: Array # @param Edition: WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF # @type Edition: String # @param SourceType: 是否为多域名黑白名单,当为多域名的黑白名单时,取值为batch,否则为空 # @type SourceType: String attr_accessor :Domain, :Items, :Edition, :SourceType def initialize(domain=nil, items=nil, edition=nil, sourcetype=nil) @Domain = domain @Items = items @Edition = edition @SourceType = sourcetype end def deserialize(params) @Domain = params['Domain'] @Items = params['Items'] @Edition = params['Edition'] @SourceType = params['SourceType'] end end # UpsertIpAccessControl返回参数结构体 class UpsertIpAccessControlResponse < TencentCloud::Common::AbstractModel # @param FailedItems: 添加或修改失败的条目 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FailedItems: String # @param FailedCount: 添加或修改失败的数目 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FailedCount: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :FailedItems, :FailedCount, :RequestId def initialize(faileditems=nil, failedcount=nil, requestid=nil) @FailedItems = faileditems @FailedCount = failedcount @RequestId = requestid end def deserialize(params) @FailedItems = params['FailedItems'] @FailedCount = params['FailedCount'] @RequestId = params['RequestId'] end end # Vip信息 class VipInfo < TencentCloud::Common::AbstractModel # @param Vip: Virtual IP # 注意:此字段可能返回 null,表示取不到有效值。 # @type Vip: String # @param InstanceId: waf实例id # 注意:此字段可能返回 null,表示取不到有效值。 # @type InstanceId: String attr_accessor :Vip, :InstanceId def initialize(vip=nil, instanceid=nil) @Vip = vip @InstanceId = instanceid end def deserialize(params) @Vip = params['Vip'] @InstanceId = params['InstanceId'] end end # waf模块的规格 class WafRuleLimit < TencentCloud::Common::AbstractModel # @param CC: 自定义CC的规格 # @type CC: Integer # @param CustomRule: 自定义策略的规格 # @type CustomRule: Integer # @param IPControl: 黑白名单的规格 # @type IPControl: Integer # @param AntiLeak: 信息防泄漏的规格 # @type AntiLeak: Integer # @param AntiTamper: 防篡改的规格 # @type AntiTamper: Integer # @param AutoCC: 紧急CC的规格 # @type AutoCC: Integer # @param AreaBan: 地域封禁的规格 # @type AreaBan: Integer # @param CCSession: 自定义CC中配置session # @type CCSession: Integer # @param AI: AI的规格 # @type AI: Integer # @param CustomWhite: 精准白名单的规格 # @type CustomWhite: Integer # @param ApiSecurity: api安全的规格 # @type ApiSecurity: Integer # @param ClientMsg: 客户端流量标记的规格 # @type ClientMsg: Integer # @param TrafficMarking: 流量标记的规格 # @type TrafficMarking: Integer attr_accessor :CC, :CustomRule, :IPControl, :AntiLeak, :AntiTamper, :AutoCC, :AreaBan, :CCSession, :AI, :CustomWhite, :ApiSecurity, :ClientMsg, :TrafficMarking def initialize(cc=nil, customrule=nil, ipcontrol=nil, antileak=nil, antitamper=nil, autocc=nil, areaban=nil, ccsession=nil, ai=nil, customwhite=nil, apisecurity=nil, clientmsg=nil, trafficmarking=nil) @CC = cc @CustomRule = customrule @IPControl = ipcontrol @AntiLeak = antileak @AntiTamper = antitamper @AutoCC = autocc @AreaBan = areaban @CCSession = ccsession @AI = ai @CustomWhite = customwhite @ApiSecurity = apisecurity @ClientMsg = clientmsg @TrafficMarking = trafficmarking end def deserialize(params) @CC = params['CC'] @CustomRule = params['CustomRule'] @IPControl = params['IPControl'] @AntiLeak = params['AntiLeak'] @AntiTamper = params['AntiTamper'] @AutoCC = params['AutoCC'] @AreaBan = params['AreaBan'] @CCSession = params['CCSession'] @AI = params['AI'] @CustomWhite = params['CustomWhite'] @ApiSecurity = params['ApiSecurity'] @ClientMsg = params['ClientMsg'] @TrafficMarking = params['TrafficMarking'] end end # 当前WAF威胁情报封禁模块详情 class WafThreatenIntelligenceDetails < TencentCloud::Common::AbstractModel # @param Tags: 封禁属性标签 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tags: Array # @param DefenseStatus: 封禁模组启用状态 # @type DefenseStatus: Integer # @param LastUpdateTime: 最后更新时间 # @type LastUpdateTime: String attr_accessor :Tags, :DefenseStatus, :LastUpdateTime def initialize(tags=nil, defensestatus=nil, lastupdatetime=nil) @Tags = tags @DefenseStatus = defensestatus @LastUpdateTime = lastupdatetime end def deserialize(params) @Tags = params['Tags'] @DefenseStatus = params['DefenseStatus'] @LastUpdateTime = params['LastUpdateTime'] end end end end end