# -*- coding: utf8 -*-
# Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import warnings
from tencentcloud.common.abstract_model import AbstractModel
class AccessFieldValueRatioInfo(AbstractModel):
"""DescribeAccessFastAnalysis接口的出参
"""
def __init__(self):
r"""
:param _Count: 日志条数
:type Count: int
:param _Ratio: 对应的Value值的百分比
:type Ratio: float
:param _Value: 字段对应的值
:type Value: str
"""
self._Count = None
self._Ratio = None
self._Value = None
@property
def Count(self):
"""日志条数
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Ratio(self):
"""对应的Value值的百分比
:rtype: float
"""
return self._Ratio
@Ratio.setter
def Ratio(self, Ratio):
self._Ratio = Ratio
@property
def Value(self):
"""字段对应的值
:rtype: str
"""
return self._Value
@Value.setter
def Value(self, Value):
self._Value = Value
def _deserialize(self, params):
self._Count = params.get("Count")
self._Ratio = params.get("Ratio")
self._Value = params.get("Value")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AccessFullTextInfo(AbstractModel):
"""DescribeAccessIndex
"""
def __init__(self):
r"""
:param _CaseSensitive: 是否大小写敏感
:type CaseSensitive: bool
:param _Tokenizer: 全文索引的分词符,字符串中每个字符代表一个分词符
:type Tokenizer: str
:param _ContainZH: 是否包含中文
注意:此字段可能返回 null,表示取不到有效值。
:type ContainZH: bool
"""
self._CaseSensitive = None
self._Tokenizer = None
self._ContainZH = None
@property
def CaseSensitive(self):
"""是否大小写敏感
:rtype: bool
"""
return self._CaseSensitive
@CaseSensitive.setter
def CaseSensitive(self, CaseSensitive):
self._CaseSensitive = CaseSensitive
@property
def Tokenizer(self):
"""全文索引的分词符,字符串中每个字符代表一个分词符
:rtype: str
"""
return self._Tokenizer
@Tokenizer.setter
def Tokenizer(self, Tokenizer):
self._Tokenizer = Tokenizer
@property
def ContainZH(self):
"""是否包含中文
注意:此字段可能返回 null,表示取不到有效值。
:rtype: bool
"""
return self._ContainZH
@ContainZH.setter
def ContainZH(self, ContainZH):
self._ContainZH = ContainZH
def _deserialize(self, params):
self._CaseSensitive = params.get("CaseSensitive")
self._Tokenizer = params.get("Tokenizer")
self._ContainZH = params.get("ContainZH")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AccessHistogramItem(AbstractModel):
"""用于接口DescribeAccessHistogram 的出参
"""
def __init__(self):
r"""
:param _BTime: 时间,单位ms
:type BTime: int
:param _Count: 日志条数
:type Count: int
:param _BeginTime: 时间,单位ms
:type BeginTime: int
"""
self._BTime = None
self._Count = None
self._BeginTime = None
@property
def BTime(self):
warnings.warn("parameter `BTime` is deprecated", DeprecationWarning)
"""时间,单位ms
:rtype: int
"""
return self._BTime
@BTime.setter
def BTime(self, BTime):
warnings.warn("parameter `BTime` is deprecated", DeprecationWarning)
self._BTime = BTime
@property
def Count(self):
"""日志条数
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def BeginTime(self):
"""时间,单位ms
:rtype: int
"""
return self._BeginTime
@BeginTime.setter
def BeginTime(self, BeginTime):
self._BeginTime = BeginTime
def _deserialize(self, params):
self._BTime = params.get("BTime")
self._Count = params.get("Count")
self._BeginTime = params.get("BeginTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AccessKeyValueInfo(AbstractModel):
"""用于 DescribeAccessIndex 的出参
"""
def __init__(self):
r"""
:param _Key: 需要配置键值或者元字段索引的字段
:type Key: str
:param _Value: 字段的索引描述信息
:type Value: :class:`tencentcloud.waf.v20180125.models.AccessValueInfo`
"""
self._Key = None
self._Value = None
@property
def Key(self):
"""需要配置键值或者元字段索引的字段
:rtype: str
"""
return self._Key
@Key.setter
def Key(self, Key):
self._Key = Key
@property
def Value(self):
"""字段的索引描述信息
:rtype: :class:`tencentcloud.waf.v20180125.models.AccessValueInfo`
"""
return self._Value
@Value.setter
def Value(self, Value):
self._Value = Value
def _deserialize(self, params):
self._Key = params.get("Key")
if params.get("Value") is not None:
self._Value = AccessValueInfo()
self._Value._deserialize(params.get("Value"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AccessLogInfo(AbstractModel):
"""单条日志数据描述
"""
def __init__(self):
r"""
:param _Time: 日志时间,单位ms
:type Time: int
:param _TopicId: 日志主题ID
:type TopicId: str
:param _TopicName: 日志主题名称
:type TopicName: str
:param _Source: 日志来源IP
:type Source: str
:param _FileName: 日志文件名称
:type FileName: str
:param _PkgId: 日志上报请求包的ID
:type PkgId: str
:param _PkgLogId: 请求包内日志的ID
:type PkgLogId: str
:param _LogJson: 日志内容的Json序列化字符串
注意:此字段可能返回 null,表示取不到有效值。
:type LogJson: str
"""
self._Time = None
self._TopicId = None
self._TopicName = None
self._Source = None
self._FileName = None
self._PkgId = None
self._PkgLogId = None
self._LogJson = None
@property
def Time(self):
"""日志时间,单位ms
:rtype: int
"""
return self._Time
@Time.setter
def Time(self, Time):
self._Time = Time
@property
def TopicId(self):
"""日志主题ID
:rtype: str
"""
return self._TopicId
@TopicId.setter
def TopicId(self, TopicId):
self._TopicId = TopicId
@property
def TopicName(self):
"""日志主题名称
:rtype: str
"""
return self._TopicName
@TopicName.setter
def TopicName(self, TopicName):
self._TopicName = TopicName
@property
def Source(self):
"""日志来源IP
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def FileName(self):
"""日志文件名称
:rtype: str
"""
return self._FileName
@FileName.setter
def FileName(self, FileName):
self._FileName = FileName
@property
def PkgId(self):
"""日志上报请求包的ID
:rtype: str
"""
return self._PkgId
@PkgId.setter
def PkgId(self, PkgId):
self._PkgId = PkgId
@property
def PkgLogId(self):
"""请求包内日志的ID
:rtype: str
"""
return self._PkgLogId
@PkgLogId.setter
def PkgLogId(self, PkgLogId):
self._PkgLogId = PkgLogId
@property
def LogJson(self):
"""日志内容的Json序列化字符串
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._LogJson
@LogJson.setter
def LogJson(self, LogJson):
self._LogJson = LogJson
def _deserialize(self, params):
self._Time = params.get("Time")
self._TopicId = params.get("TopicId")
self._TopicName = params.get("TopicName")
self._Source = params.get("Source")
self._FileName = params.get("FileName")
self._PkgId = params.get("PkgId")
self._PkgLogId = params.get("PkgLogId")
self._LogJson = params.get("LogJson")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AccessLogItem(AbstractModel):
"""日志KeyValue对
"""
def __init__(self):
r"""
:param _Key: 日记Key
:type Key: str
:param _Value: 日志Value
:type Value: str
"""
self._Key = None
self._Value = None
@property
def Key(self):
"""日记Key
:rtype: str
"""
return self._Key
@Key.setter
def Key(self, Key):
self._Key = Key
@property
def Value(self):
"""日志Value
:rtype: str
"""
return self._Value
@Value.setter
def Value(self, Value):
self._Value = Value
def _deserialize(self, params):
self._Key = params.get("Key")
self._Value = params.get("Value")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AccessLogItems(AbstractModel):
"""日志KeyValue对数组,用于搜索访问日志
"""
def __init__(self):
r"""
:param _Data: 分析结果返回的KV数据对
:type Data: list of AccessLogItem
"""
self._Data = None
@property
def Data(self):
"""分析结果返回的KV数据对
:rtype: list of AccessLogItem
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = []
for item in params.get("Data"):
obj = AccessLogItem()
obj._deserialize(item)
self._Data.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AccessRuleInfo(AbstractModel):
"""DescribeAccessIndex接口的出参数
"""
def __init__(self):
r"""
:param _FullText: 全文索引配置
注意:此字段可能返回 null,表示取不到有效值。
:type FullText: :class:`tencentcloud.waf.v20180125.models.AccessFullTextInfo`
:param _KeyValue: 键值索引配置
注意:此字段可能返回 null,表示取不到有效值。
:type KeyValue: :class:`tencentcloud.waf.v20180125.models.AccessRuleKeyValueInfo`
:param _Tag: 元字段索引配置
注意:此字段可能返回 null,表示取不到有效值。
:type Tag: :class:`tencentcloud.waf.v20180125.models.AccessRuleTagInfo`
"""
self._FullText = None
self._KeyValue = None
self._Tag = None
@property
def FullText(self):
"""全文索引配置
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.waf.v20180125.models.AccessFullTextInfo`
"""
return self._FullText
@FullText.setter
def FullText(self, FullText):
self._FullText = FullText
@property
def KeyValue(self):
"""键值索引配置
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.waf.v20180125.models.AccessRuleKeyValueInfo`
"""
return self._KeyValue
@KeyValue.setter
def KeyValue(self, KeyValue):
self._KeyValue = KeyValue
@property
def Tag(self):
"""元字段索引配置
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.waf.v20180125.models.AccessRuleTagInfo`
"""
return self._Tag
@Tag.setter
def Tag(self, Tag):
self._Tag = Tag
def _deserialize(self, params):
if params.get("FullText") is not None:
self._FullText = AccessFullTextInfo()
self._FullText._deserialize(params.get("FullText"))
if params.get("KeyValue") is not None:
self._KeyValue = AccessRuleKeyValueInfo()
self._KeyValue._deserialize(params.get("KeyValue"))
if params.get("Tag") is not None:
self._Tag = AccessRuleTagInfo()
self._Tag._deserialize(params.get("Tag"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AccessRuleKeyValueInfo(AbstractModel):
"""DescribeAccessIndex接口的出参
"""
def __init__(self):
r"""
:param _CaseSensitive: 是否大小写敏感
:type CaseSensitive: bool
:param _KeyValues: 需要建立索引的键值对信息;最大只能配置100个键值对
:type KeyValues: list of AccessKeyValueInfo
"""
self._CaseSensitive = None
self._KeyValues = None
@property
def CaseSensitive(self):
"""是否大小写敏感
:rtype: bool
"""
return self._CaseSensitive
@CaseSensitive.setter
def CaseSensitive(self, CaseSensitive):
self._CaseSensitive = CaseSensitive
@property
def KeyValues(self):
"""需要建立索引的键值对信息;最大只能配置100个键值对
:rtype: list of AccessKeyValueInfo
"""
return self._KeyValues
@KeyValues.setter
def KeyValues(self, KeyValues):
self._KeyValues = KeyValues
def _deserialize(self, params):
self._CaseSensitive = params.get("CaseSensitive")
if params.get("KeyValues") is not None:
self._KeyValues = []
for item in params.get("KeyValues"):
obj = AccessKeyValueInfo()
obj._deserialize(item)
self._KeyValues.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AccessRuleTagInfo(AbstractModel):
"""DescribeAccessIndex接口的出参
"""
def __init__(self):
r"""
:param _CaseSensitive: 是否大小写敏感
:type CaseSensitive: bool
:param _KeyValues: 标签索引配置中的字段信息
:type KeyValues: list of AccessKeyValueInfo
"""
self._CaseSensitive = None
self._KeyValues = None
@property
def CaseSensitive(self):
"""是否大小写敏感
:rtype: bool
"""
return self._CaseSensitive
@CaseSensitive.setter
def CaseSensitive(self, CaseSensitive):
self._CaseSensitive = CaseSensitive
@property
def KeyValues(self):
"""标签索引配置中的字段信息
:rtype: list of AccessKeyValueInfo
"""
return self._KeyValues
@KeyValues.setter
def KeyValues(self, KeyValues):
self._KeyValues = KeyValues
def _deserialize(self, params):
self._CaseSensitive = params.get("CaseSensitive")
if params.get("KeyValues") is not None:
self._KeyValues = []
for item in params.get("KeyValues"):
obj = AccessKeyValueInfo()
obj._deserialize(item)
self._KeyValues.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AccessValueInfo(AbstractModel):
"""用于DescribeAccessIndex接口的出参
"""
def __init__(self):
r"""
:param _Type: 字段类型,目前支持的类型有:long、text、double
:type Type: str
:param _Tokenizer: 字段的分词符,只有当字段类型为text时才有意义;输入字符串中的每个字符代表一个分词符
:type Tokenizer: str
:param _SqlFlag: 字段是否开启分析功能
:type SqlFlag: bool
:param _ContainZH: 是否包含中文
注意:此字段可能返回 null,表示取不到有效值。
:type ContainZH: bool
"""
self._Type = None
self._Tokenizer = None
self._SqlFlag = None
self._ContainZH = None
@property
def Type(self):
"""字段类型,目前支持的类型有:long、text、double
:rtype: str
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def Tokenizer(self):
"""字段的分词符,只有当字段类型为text时才有意义;输入字符串中的每个字符代表一个分词符
:rtype: str
"""
return self._Tokenizer
@Tokenizer.setter
def Tokenizer(self, Tokenizer):
self._Tokenizer = Tokenizer
@property
def SqlFlag(self):
"""字段是否开启分析功能
:rtype: bool
"""
return self._SqlFlag
@SqlFlag.setter
def SqlFlag(self, SqlFlag):
self._SqlFlag = SqlFlag
@property
def ContainZH(self):
"""是否包含中文
注意:此字段可能返回 null,表示取不到有效值。
:rtype: bool
"""
return self._ContainZH
@ContainZH.setter
def ContainZH(self, ContainZH):
self._ContainZH = ContainZH
def _deserialize(self, params):
self._Type = params.get("Type")
self._Tokenizer = params.get("Tokenizer")
self._SqlFlag = params.get("SqlFlag")
self._ContainZH = params.get("ContainZH")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AddAntiFakeUrlRequest(AbstractModel):
"""AddAntiFakeUrl请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Name: 名称
:type Name: str
:param _Uri: uri
:type Uri: str
"""
self._Domain = None
self._Name = None
self._Uri = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Name(self):
"""名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Uri(self):
"""uri
:rtype: str
"""
return self._Uri
@Uri.setter
def Uri(self, Uri):
self._Uri = Uri
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Name = params.get("Name")
self._Uri = params.get("Uri")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AddAntiFakeUrlResponse(AbstractModel):
"""AddAntiFakeUrl返回参数结构体
"""
def __init__(self):
r"""
:param _Result: 结果
:type Result: str
:param _Id: 规则ID
:type Id: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Result = None
self._Id = None
self._RequestId = None
@property
def Result(self):
"""结果
:rtype: str
"""
return self._Result
@Result.setter
def Result(self, Result):
self._Result = Result
@property
def Id(self):
"""规则ID
:rtype: str
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Result = params.get("Result")
self._Id = params.get("Id")
self._RequestId = params.get("RequestId")
class AddAntiInfoLeakRulesRequest(AbstractModel):
"""AddAntiInfoLeakRules请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Name: 规则名称
:type Name: str
:param _ActionType: 动作,0(告警)、1(替换)、2(仅显示前四位)、3(仅显示后四位)、4(阻断)
:type ActionType: int
:param _Strategies: 策略详情
:type Strategies: list of StrategyForAntiInfoLeak
:param _Uri: 网址
:type Uri: str
"""
self._Domain = None
self._Name = None
self._ActionType = None
self._Strategies = None
self._Uri = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Name(self):
"""规则名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def ActionType(self):
"""动作,0(告警)、1(替换)、2(仅显示前四位)、3(仅显示后四位)、4(阻断)
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def Strategies(self):
"""策略详情
:rtype: list of StrategyForAntiInfoLeak
"""
return self._Strategies
@Strategies.setter
def Strategies(self, Strategies):
self._Strategies = Strategies
@property
def Uri(self):
"""网址
:rtype: str
"""
return self._Uri
@Uri.setter
def Uri(self, Uri):
self._Uri = Uri
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Name = params.get("Name")
self._ActionType = params.get("ActionType")
if params.get("Strategies") is not None:
self._Strategies = []
for item in params.get("Strategies"):
obj = StrategyForAntiInfoLeak()
obj._deserialize(item)
self._Strategies.append(obj)
self._Uri = params.get("Uri")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AddAntiInfoLeakRulesResponse(AbstractModel):
"""AddAntiInfoLeakRules返回参数结构体
"""
def __init__(self):
r"""
:param _RuleId: 规则ID
:type RuleId: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RuleId = None
self._RequestId = None
@property
def RuleId(self):
"""规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RuleId = params.get("RuleId")
self._RequestId = params.get("RequestId")
class AddAreaBanAreasRequest(AbstractModel):
"""AddAreaBanAreas请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要修改的域名
:type Domain: str
:param _Areas: 需要新增的封禁地域
:type Areas: list of str
:param _Edition: waf版本信息,spart-waf或者clb-waf,其他无效,请一定填写
:type Edition: str
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 定时任务配置
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
self._Domain = None
self._Areas = None
self._Edition = None
self._JobType = None
self._JobDateTime = None
@property
def Domain(self):
"""需要修改的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Areas(self):
"""需要新增的封禁地域
:rtype: list of str
"""
return self._Areas
@Areas.setter
def Areas(self, Areas):
self._Areas = Areas
@property
def Edition(self):
"""waf版本信息,spart-waf或者clb-waf,其他无效,请一定填写
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时任务配置
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Areas = params.get("Areas")
self._Edition = params.get("Edition")
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AddAreaBanAreasResponse(AbstractModel):
"""AddAreaBanAreas返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class AddAttackWhiteRuleRequest(AbstractModel):
"""AddAttackWhiteRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Status: 规则状态
:type Status: int
:param _Rules: 匹配规则项列表
:type Rules: list of UserWhiteRuleItem
:param _RuleId: 规则序号
:type RuleId: int
:param _SignatureId: 规则Id
:type SignatureId: str
:param _SignatureIds: 加白的规则ID列表
:type SignatureIds: list of str
:param _TypeIds: 加白的大类规则ID
:type TypeIds: list of str
:param _Mode: 0:按照特定规则ID加白, 1:按照规则类型加白
:type Mode: int
:param _Name: 规则名
:type Name: str
"""
self._Domain = None
self._Status = None
self._Rules = None
self._RuleId = None
self._SignatureId = None
self._SignatureIds = None
self._TypeIds = None
self._Mode = None
self._Name = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Status(self):
"""规则状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Rules(self):
"""匹配规则项列表
:rtype: list of UserWhiteRuleItem
"""
return self._Rules
@Rules.setter
def Rules(self, Rules):
self._Rules = Rules
@property
def RuleId(self):
"""规则序号
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def SignatureId(self):
"""规则Id
:rtype: str
"""
return self._SignatureId
@SignatureId.setter
def SignatureId(self, SignatureId):
self._SignatureId = SignatureId
@property
def SignatureIds(self):
"""加白的规则ID列表
:rtype: list of str
"""
return self._SignatureIds
@SignatureIds.setter
def SignatureIds(self, SignatureIds):
self._SignatureIds = SignatureIds
@property
def TypeIds(self):
"""加白的大类规则ID
:rtype: list of str
"""
return self._TypeIds
@TypeIds.setter
def TypeIds(self, TypeIds):
self._TypeIds = TypeIds
@property
def Mode(self):
"""0:按照特定规则ID加白, 1:按照规则类型加白
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Name(self):
"""规则名
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Status = params.get("Status")
if params.get("Rules") is not None:
self._Rules = []
for item in params.get("Rules"):
obj = UserWhiteRuleItem()
obj._deserialize(item)
self._Rules.append(obj)
self._RuleId = params.get("RuleId")
self._SignatureId = params.get("SignatureId")
self._SignatureIds = params.get("SignatureIds")
self._TypeIds = params.get("TypeIds")
self._Mode = params.get("Mode")
self._Name = params.get("Name")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AddAttackWhiteRuleResponse(AbstractModel):
"""AddAttackWhiteRule返回参数结构体
"""
def __init__(self):
r"""
:param _RuleId: 规则总数
:type RuleId: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RuleId = None
self._RequestId = None
@property
def RuleId(self):
"""规则总数
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RuleId = params.get("RuleId")
self._RequestId = params.get("RequestId")
class AddCustomRuleRequest(AbstractModel):
"""AddCustomRule请求参数结构体
"""
def __init__(self):
r"""
:param _Name: 规则名称
:type Name: str
:param _SortId: 优先级
:type SortId: str
:param _Strategies: 策略详情
:type Strategies: list of Strategy
:param _Domain: 需要添加策略的域名
:type Domain: str
:param _ActionType: 动作类型,1代表阻断,2代表人机识别,3代表观察,4代表重定向,5代表JS校验
:type ActionType: str
:param _Redirect: 如果动作是重定向,则表示重定向的地址;其他情况可以为空
:type Redirect: str
:param _ExpireTime: 过期时间,单位为秒级时间戳,例如1677254399表示过期时间为2023-02-24 23:59:59. 0表示永不过期
:type ExpireTime: str
:param _Edition: WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF
:type Edition: str
:param _Bypass: 放行时是否继续执行其它检查逻辑,继续执行地域封禁防护:geoip、继续执行CC策略防护:cc、继续执行WEB应用防护:owasp、继续执行AI引擎防护:ai、继续执行信息防泄漏防护:antileakage。如果多个勾选那么以,串接。默认是"geoip,cc,owasp,ai,antileakage"
:type Bypass: str
:param _EventId: 添加规则的来源,默认为空
:type EventId: str
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 规则执行的时间
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
:param _Source: 规则来源,判断是不是小程序的
:type Source: str
:param _Label: 规则标签,小程序规则用,标识是内置规则还是自定义规则
:type Label: str
:param _Status: 开关状态,小程序风控规则的时候传该值
:type Status: int
:param _PageId: 拦截页面id
:type PageId: str
:param _LogicalOp: 匹配条件的逻辑关系,支持and、or,分别表示多个逻辑匹配条件是与、或的关系
:type LogicalOp: str
"""
self._Name = None
self._SortId = None
self._Strategies = None
self._Domain = None
self._ActionType = None
self._Redirect = None
self._ExpireTime = None
self._Edition = None
self._Bypass = None
self._EventId = None
self._JobType = None
self._JobDateTime = None
self._Source = None
self._Label = None
self._Status = None
self._PageId = None
self._LogicalOp = None
@property
def Name(self):
"""规则名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def SortId(self):
"""优先级
:rtype: str
"""
return self._SortId
@SortId.setter
def SortId(self, SortId):
self._SortId = SortId
@property
def Strategies(self):
"""策略详情
:rtype: list of Strategy
"""
return self._Strategies
@Strategies.setter
def Strategies(self, Strategies):
self._Strategies = Strategies
@property
def Domain(self):
"""需要添加策略的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def ActionType(self):
"""动作类型,1代表阻断,2代表人机识别,3代表观察,4代表重定向,5代表JS校验
:rtype: str
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def Redirect(self):
"""如果动作是重定向,则表示重定向的地址;其他情况可以为空
:rtype: str
"""
return self._Redirect
@Redirect.setter
def Redirect(self, Redirect):
self._Redirect = Redirect
@property
def ExpireTime(self):
"""过期时间,单位为秒级时间戳,例如1677254399表示过期时间为2023-02-24 23:59:59. 0表示永不过期
:rtype: str
"""
return self._ExpireTime
@ExpireTime.setter
def ExpireTime(self, ExpireTime):
self._ExpireTime = ExpireTime
@property
def Edition(self):
"""WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Bypass(self):
warnings.warn("parameter `Bypass` is deprecated", DeprecationWarning)
"""放行时是否继续执行其它检查逻辑,继续执行地域封禁防护:geoip、继续执行CC策略防护:cc、继续执行WEB应用防护:owasp、继续执行AI引擎防护:ai、继续执行信息防泄漏防护:antileakage。如果多个勾选那么以,串接。默认是"geoip,cc,owasp,ai,antileakage"
:rtype: str
"""
return self._Bypass
@Bypass.setter
def Bypass(self, Bypass):
warnings.warn("parameter `Bypass` is deprecated", DeprecationWarning)
self._Bypass = Bypass
@property
def EventId(self):
"""添加规则的来源,默认为空
:rtype: str
"""
return self._EventId
@EventId.setter
def EventId(self, EventId):
self._EventId = EventId
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""规则执行的时间
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
@property
def Source(self):
"""规则来源,判断是不是小程序的
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def Label(self):
"""规则标签,小程序规则用,标识是内置规则还是自定义规则
:rtype: str
"""
return self._Label
@Label.setter
def Label(self, Label):
self._Label = Label
@property
def Status(self):
"""开关状态,小程序风控规则的时候传该值
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def PageId(self):
"""拦截页面id
:rtype: str
"""
return self._PageId
@PageId.setter
def PageId(self, PageId):
self._PageId = PageId
@property
def LogicalOp(self):
"""匹配条件的逻辑关系,支持and、or,分别表示多个逻辑匹配条件是与、或的关系
:rtype: str
"""
return self._LogicalOp
@LogicalOp.setter
def LogicalOp(self, LogicalOp):
self._LogicalOp = LogicalOp
def _deserialize(self, params):
self._Name = params.get("Name")
self._SortId = params.get("SortId")
if params.get("Strategies") is not None:
self._Strategies = []
for item in params.get("Strategies"):
obj = Strategy()
obj._deserialize(item)
self._Strategies.append(obj)
self._Domain = params.get("Domain")
self._ActionType = params.get("ActionType")
self._Redirect = params.get("Redirect")
self._ExpireTime = params.get("ExpireTime")
self._Edition = params.get("Edition")
self._Bypass = params.get("Bypass")
self._EventId = params.get("EventId")
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
self._Source = params.get("Source")
self._Label = params.get("Label")
self._Status = params.get("Status")
self._PageId = params.get("PageId")
self._LogicalOp = params.get("LogicalOp")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AddCustomRuleResponse(AbstractModel):
"""AddCustomRule返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RuleId: 添加成功的规则ID
:type RuleId: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RuleId = None
self._RequestId = None
@property
def Success(self):
"""操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RuleId(self):
"""添加成功的规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RuleId = params.get("RuleId")
self._RequestId = params.get("RequestId")
class AddCustomWhiteRuleRequest(AbstractModel):
"""AddCustomWhiteRule请求参数结构体
"""
def __init__(self):
r"""
:param _Name: 规则名称
:type Name: str
:param _SortId: 优先级
:type SortId: str
:param _Strategies: 策略详情
:type Strategies: list of Strategy
:param _Domain: 需要添加策略的域名
:type Domain: str
:param _Bypass: 放行的模块,多个模块之间用逗号连接。支持的模块:acl(自定义规则)、owasp(规则引擎)、webshell(恶意文件检测)、geoip(地域封禁)、bwip(IP黑白名单)、cc、botrpc(BOT防护)、antileakage(信息防泄露)、api(API安全)、ai(AI引擎)、ip_auto_deny(IP封禁)、applet(小程序流量风控)
:type Bypass: str
:param _ExpireTime: 如果没有设置JobDateTime字段则用此字段,0表示永久生效,其它表示定时生效的截止时间(单位为秒)
:type ExpireTime: str
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 定时任务配置
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
self._Name = None
self._SortId = None
self._Strategies = None
self._Domain = None
self._Bypass = None
self._ExpireTime = None
self._JobType = None
self._JobDateTime = None
@property
def Name(self):
"""规则名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def SortId(self):
"""优先级
:rtype: str
"""
return self._SortId
@SortId.setter
def SortId(self, SortId):
self._SortId = SortId
@property
def Strategies(self):
"""策略详情
:rtype: list of Strategy
"""
return self._Strategies
@Strategies.setter
def Strategies(self, Strategies):
self._Strategies = Strategies
@property
def Domain(self):
"""需要添加策略的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Bypass(self):
"""放行的模块,多个模块之间用逗号连接。支持的模块:acl(自定义规则)、owasp(规则引擎)、webshell(恶意文件检测)、geoip(地域封禁)、bwip(IP黑白名单)、cc、botrpc(BOT防护)、antileakage(信息防泄露)、api(API安全)、ai(AI引擎)、ip_auto_deny(IP封禁)、applet(小程序流量风控)
:rtype: str
"""
return self._Bypass
@Bypass.setter
def Bypass(self, Bypass):
self._Bypass = Bypass
@property
def ExpireTime(self):
"""如果没有设置JobDateTime字段则用此字段,0表示永久生效,其它表示定时生效的截止时间(单位为秒)
:rtype: str
"""
return self._ExpireTime
@ExpireTime.setter
def ExpireTime(self, ExpireTime):
self._ExpireTime = ExpireTime
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时任务配置
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
def _deserialize(self, params):
self._Name = params.get("Name")
self._SortId = params.get("SortId")
if params.get("Strategies") is not None:
self._Strategies = []
for item in params.get("Strategies"):
obj = Strategy()
obj._deserialize(item)
self._Strategies.append(obj)
self._Domain = params.get("Domain")
self._Bypass = params.get("Bypass")
self._ExpireTime = params.get("ExpireTime")
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AddCustomWhiteRuleResponse(AbstractModel):
"""AddCustomWhiteRule返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RuleId: 添加成功的规则ID
:type RuleId: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RuleId = None
self._RequestId = None
@property
def Success(self):
"""操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RuleId(self):
"""添加成功的规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RuleId = params.get("RuleId")
self._RequestId = params.get("RequestId")
class AddDomainWhiteRuleRequest(AbstractModel):
"""AddDomainWhiteRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要添加的域名
:type Domain: str
:param _Rules: 需要添加的规则
:type Rules: list of int non-negative
:param _Url: 需要添加的规则url
:type Url: str
:param _Function: 规则的方法
:type Function: str
:param _Status: 规则的开关,0表示规则关闭,1表示规则打开
:type Status: int
"""
self._Domain = None
self._Rules = None
self._Url = None
self._Function = None
self._Status = None
@property
def Domain(self):
"""需要添加的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Rules(self):
"""需要添加的规则
:rtype: list of int non-negative
"""
return self._Rules
@Rules.setter
def Rules(self, Rules):
self._Rules = Rules
@property
def Url(self):
"""需要添加的规则url
:rtype: str
"""
return self._Url
@Url.setter
def Url(self, Url):
self._Url = Url
@property
def Function(self):
"""规则的方法
:rtype: str
"""
return self._Function
@Function.setter
def Function(self, Function):
self._Function = Function
@property
def Status(self):
"""规则的开关,0表示规则关闭,1表示规则打开
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Rules = params.get("Rules")
self._Url = params.get("Url")
self._Function = params.get("Function")
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AddDomainWhiteRuleResponse(AbstractModel):
"""AddDomainWhiteRule返回参数结构体
"""
def __init__(self):
r"""
:param _Id: 规则id
:type Id: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Id = None
self._RequestId = None
@property
def Id(self):
"""规则id
:rtype: int
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Id = params.get("Id")
self._RequestId = params.get("RequestId")
class AddSpartaProtectionRequest(AbstractModel):
"""AddSpartaProtection请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要防护的域名
:type Domain: str
:param _CertType: 证书类型。
0:仅配置HTTP监听端口,没有证书
1:证书来源为自有证书
2:证书来源为托管证书
:type CertType: int
:param _IsCdn: waf前是否部署有七层代理服务。
0:没有部署代理服务
1:有部署代理服务,waf将使用XFF获取客户端IP
2:有部署代理服务,waf将使用remote_addr获取客户端IP
3:有部署代理服务,waf将使用ip_headers中的自定义header获取客户端IP
:type IsCdn: int
:param _UpstreamType: 回源类型。
0:通过IP回源
1:通过域名回源
:type UpstreamType: int
:param _IsWebsocket: 是否开启WebSocket支持。
0:关闭
1:开启
:type IsWebsocket: int
:param _LoadBalance: 回源负载均衡策略。
0:轮询
1:IP hash
2:加权轮询
:type LoadBalance: str
:param _Ports: 服务端口列表配置。
NginxServerId:新增域名时填'0'
Port:监听端口号
Protocol:端口协议
UpstreamPort:与Port相同
UpstreamProtocol:与Protocol相同
:type Ports: list of PortItem
:param _IsKeepAlive: 必填项,是否开启长连接。
0: 短连接
1: 长连接
:type IsKeepAlive: str
:param _InstanceID: 必填项,域名所属实例id
:type InstanceID: str
:param _Cert: CertType为1时,需要填充此参数,表示自有证书的证书链
:type Cert: str
:param _PrivateKey: CertType为1时,需要填充此参数,表示自有证书的私钥
:type PrivateKey: str
:param _SSLId: CertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:type SSLId: str
:param _ResourceId: 待废弃,可不填。Waf的资源ID。
:type ResourceId: str
:param _IpHeaders: IsCdn为3时,需要填此参数,表示自定义header
:type IpHeaders: list of str
:param _UpstreamScheme: 服务配置有HTTPS端口时,HTTPS的回源协议。
http:使用http协议回源,和HttpsUpstreamPort配合使用
https:使用https协议回源
:type UpstreamScheme: str
:param _HttpsUpstreamPort: HTTPS回源端口,仅UpstreamScheme为http时需要填当前字段
:type HttpsUpstreamPort: str
:param _IsGray: 待废弃,可不填。是否开启灰度,0表示不开启灰度。
:type IsGray: int
:param _GrayAreas: 待废弃,可不填。灰度的地区
:type GrayAreas: list of str
:param _HttpsRewrite: 必填项,是否开启HTTP强制跳转到HTTPS。
0:不强制跳转
1:开启强制跳转
:type HttpsRewrite: int
:param _UpstreamDomain: 域名回源时的回源域名。UpstreamType为1时,需要填充此字段
:type UpstreamDomain: str
:param _SrcList: IP回源时的回源IP列表。UpstreamType为0时,需要填充此字段
:type SrcList: list of str
:param _IsHttp2: 必填项,是否开启HTTP2,需要开启HTTPS协议支持。
0:关闭
1:开启
:type IsHttp2: int
:param _Edition: 待废弃,可不填。WAF实例类型。
sparta-waf:SAAS型WAF
clb-waf:负载均衡型WAF
cdn-waf:CDN上的Web防护能力
:type Edition: str
:param _Anycast: 待废弃,目前填0即可。anycast IP类型开关: 0 普通IP 1 Anycast IP
:type Anycast: int
:param _Weights: 回源IP列表各IP的权重,和SrcList一一对应。当且仅当UpstreamType为0,并且SrcList有多个IP,并且LoadBalance为2时需要填写,否则填 []
:type Weights: list of int
:param _ActiveCheck: 必填项,是否开启主动健康检测。
0:不开启
1:开启
:type ActiveCheck: int
:param _TLSVersion: TLS版本信息
:type TLSVersion: int
:param _CipherTemplate: 必填项,加密套件模板。
0:不支持选择,使用默认模板
1:通用型模板
2:安全型模板
3:自定义模板
:type CipherTemplate: int
:param _Ciphers: 自定义的加密套件列表。CipherTemplate为3时需要填此字段,表示自定义的加密套件,值通过DescribeCiphersDetail接口获取。
:type Ciphers: list of int
:param _ProxyReadTimeout: WAF与源站的读超时时间,默认300s。
:type ProxyReadTimeout: int
:param _ProxySendTimeout: WAF与源站的写超时时间,默认300s。
:type ProxySendTimeout: int
:param _SniType: WAF回源时的SNI类型。
0:关闭SNI,不配置client_hello中的server_name
1:开启SNI,client_hello中的server_name为防护域名
2:开启SNI,SNI为域名回源时的源站域名
3:开启SNI,SNI为自定义域名
:type SniType: int
:param _SniHost: SniType为3时,需要填此参数,表示自定义的SNI;
:type SniHost: str
:param _XFFReset: 是否开启XFF重置。0:关闭 1:开启
:type XFFReset: int
:param _Note: 域名备注信息
:type Note: str
:param _UpstreamHost: 自定义回源Host。默认为空字符串,表示使用防护域名作为回源Host。
:type UpstreamHost: str
:param _ProxyBuffer: 是否开启缓存。 0:关闭 1:开启
:type ProxyBuffer: int
:param _ProbeStatus: 是否开启拨测。 0: 禁用拨测 1: 启用拨测。默认启用拨测
:type ProbeStatus: int
:param _GmType: 国密选项。0:不开启国密 1:在原有TLS选项的基础上追加支持国密 2:开启国密并仅支持国密客户端访问
:type GmType: int
:param _GmCertType: 国密证书类型。0:无国密证书 1:证书来源为自有国密证书 2:证书来源为托管国密证书
:type GmCertType: int
:param _GmCert: GmCertType为1时,需要填充此参数,表示自有国密证书的证书链
:type GmCert: str
:param _GmPrivateKey: GmCertType为1时,需要填充此参数,表示自有国密证书的私钥
:type GmPrivateKey: str
:param _GmEncCert: GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书
:type GmEncCert: str
:param _GmEncPrivateKey: GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书的私钥
:type GmEncPrivateKey: str
:param _GmSSLId: GmCertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:type GmSSLId: str
:param _UpstreamPolicy: 回源策略,支持负载均衡回源和分流回源两种方式。0:默认值,负载均衡回源;1:分流回源
:type UpstreamPolicy: int
:param _UpstreamRules: 分流回源时生效,分流回源的规则。
:type UpstreamRules: list of UpstreamRule
"""
self._Domain = None
self._CertType = None
self._IsCdn = None
self._UpstreamType = None
self._IsWebsocket = None
self._LoadBalance = None
self._Ports = None
self._IsKeepAlive = None
self._InstanceID = None
self._Cert = None
self._PrivateKey = None
self._SSLId = None
self._ResourceId = None
self._IpHeaders = None
self._UpstreamScheme = None
self._HttpsUpstreamPort = None
self._IsGray = None
self._GrayAreas = None
self._HttpsRewrite = None
self._UpstreamDomain = None
self._SrcList = None
self._IsHttp2 = None
self._Edition = None
self._Anycast = None
self._Weights = None
self._ActiveCheck = None
self._TLSVersion = None
self._CipherTemplate = None
self._Ciphers = None
self._ProxyReadTimeout = None
self._ProxySendTimeout = None
self._SniType = None
self._SniHost = None
self._XFFReset = None
self._Note = None
self._UpstreamHost = None
self._ProxyBuffer = None
self._ProbeStatus = None
self._GmType = None
self._GmCertType = None
self._GmCert = None
self._GmPrivateKey = None
self._GmEncCert = None
self._GmEncPrivateKey = None
self._GmSSLId = None
self._UpstreamPolicy = None
self._UpstreamRules = None
@property
def Domain(self):
"""需要防护的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def CertType(self):
"""证书类型。
0:仅配置HTTP监听端口,没有证书
1:证书来源为自有证书
2:证书来源为托管证书
:rtype: int
"""
return self._CertType
@CertType.setter
def CertType(self, CertType):
self._CertType = CertType
@property
def IsCdn(self):
"""waf前是否部署有七层代理服务。
0:没有部署代理服务
1:有部署代理服务,waf将使用XFF获取客户端IP
2:有部署代理服务,waf将使用remote_addr获取客户端IP
3:有部署代理服务,waf将使用ip_headers中的自定义header获取客户端IP
:rtype: int
"""
return self._IsCdn
@IsCdn.setter
def IsCdn(self, IsCdn):
self._IsCdn = IsCdn
@property
def UpstreamType(self):
"""回源类型。
0:通过IP回源
1:通过域名回源
:rtype: int
"""
return self._UpstreamType
@UpstreamType.setter
def UpstreamType(self, UpstreamType):
self._UpstreamType = UpstreamType
@property
def IsWebsocket(self):
"""是否开启WebSocket支持。
0:关闭
1:开启
:rtype: int
"""
return self._IsWebsocket
@IsWebsocket.setter
def IsWebsocket(self, IsWebsocket):
self._IsWebsocket = IsWebsocket
@property
def LoadBalance(self):
"""回源负载均衡策略。
0:轮询
1:IP hash
2:加权轮询
:rtype: str
"""
return self._LoadBalance
@LoadBalance.setter
def LoadBalance(self, LoadBalance):
self._LoadBalance = LoadBalance
@property
def Ports(self):
"""服务端口列表配置。
NginxServerId:新增域名时填'0'
Port:监听端口号
Protocol:端口协议
UpstreamPort:与Port相同
UpstreamProtocol:与Protocol相同
:rtype: list of PortItem
"""
return self._Ports
@Ports.setter
def Ports(self, Ports):
self._Ports = Ports
@property
def IsKeepAlive(self):
"""必填项,是否开启长连接。
0: 短连接
1: 长连接
:rtype: str
"""
return self._IsKeepAlive
@IsKeepAlive.setter
def IsKeepAlive(self, IsKeepAlive):
self._IsKeepAlive = IsKeepAlive
@property
def InstanceID(self):
"""必填项,域名所属实例id
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def Cert(self):
"""CertType为1时,需要填充此参数,表示自有证书的证书链
:rtype: str
"""
return self._Cert
@Cert.setter
def Cert(self, Cert):
self._Cert = Cert
@property
def PrivateKey(self):
"""CertType为1时,需要填充此参数,表示自有证书的私钥
:rtype: str
"""
return self._PrivateKey
@PrivateKey.setter
def PrivateKey(self, PrivateKey):
self._PrivateKey = PrivateKey
@property
def SSLId(self):
"""CertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:rtype: str
"""
return self._SSLId
@SSLId.setter
def SSLId(self, SSLId):
self._SSLId = SSLId
@property
def ResourceId(self):
"""待废弃,可不填。Waf的资源ID。
:rtype: str
"""
return self._ResourceId
@ResourceId.setter
def ResourceId(self, ResourceId):
self._ResourceId = ResourceId
@property
def IpHeaders(self):
"""IsCdn为3时,需要填此参数,表示自定义header
:rtype: list of str
"""
return self._IpHeaders
@IpHeaders.setter
def IpHeaders(self, IpHeaders):
self._IpHeaders = IpHeaders
@property
def UpstreamScheme(self):
"""服务配置有HTTPS端口时,HTTPS的回源协议。
http:使用http协议回源,和HttpsUpstreamPort配合使用
https:使用https协议回源
:rtype: str
"""
return self._UpstreamScheme
@UpstreamScheme.setter
def UpstreamScheme(self, UpstreamScheme):
self._UpstreamScheme = UpstreamScheme
@property
def HttpsUpstreamPort(self):
"""HTTPS回源端口,仅UpstreamScheme为http时需要填当前字段
:rtype: str
"""
return self._HttpsUpstreamPort
@HttpsUpstreamPort.setter
def HttpsUpstreamPort(self, HttpsUpstreamPort):
self._HttpsUpstreamPort = HttpsUpstreamPort
@property
def IsGray(self):
"""待废弃,可不填。是否开启灰度,0表示不开启灰度。
:rtype: int
"""
return self._IsGray
@IsGray.setter
def IsGray(self, IsGray):
self._IsGray = IsGray
@property
def GrayAreas(self):
"""待废弃,可不填。灰度的地区
:rtype: list of str
"""
return self._GrayAreas
@GrayAreas.setter
def GrayAreas(self, GrayAreas):
self._GrayAreas = GrayAreas
@property
def HttpsRewrite(self):
"""必填项,是否开启HTTP强制跳转到HTTPS。
0:不强制跳转
1:开启强制跳转
:rtype: int
"""
return self._HttpsRewrite
@HttpsRewrite.setter
def HttpsRewrite(self, HttpsRewrite):
self._HttpsRewrite = HttpsRewrite
@property
def UpstreamDomain(self):
"""域名回源时的回源域名。UpstreamType为1时,需要填充此字段
:rtype: str
"""
return self._UpstreamDomain
@UpstreamDomain.setter
def UpstreamDomain(self, UpstreamDomain):
self._UpstreamDomain = UpstreamDomain
@property
def SrcList(self):
"""IP回源时的回源IP列表。UpstreamType为0时,需要填充此字段
:rtype: list of str
"""
return self._SrcList
@SrcList.setter
def SrcList(self, SrcList):
self._SrcList = SrcList
@property
def IsHttp2(self):
"""必填项,是否开启HTTP2,需要开启HTTPS协议支持。
0:关闭
1:开启
:rtype: int
"""
return self._IsHttp2
@IsHttp2.setter
def IsHttp2(self, IsHttp2):
self._IsHttp2 = IsHttp2
@property
def Edition(self):
"""待废弃,可不填。WAF实例类型。
sparta-waf:SAAS型WAF
clb-waf:负载均衡型WAF
cdn-waf:CDN上的Web防护能力
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Anycast(self):
"""待废弃,目前填0即可。anycast IP类型开关: 0 普通IP 1 Anycast IP
:rtype: int
"""
return self._Anycast
@Anycast.setter
def Anycast(self, Anycast):
self._Anycast = Anycast
@property
def Weights(self):
"""回源IP列表各IP的权重,和SrcList一一对应。当且仅当UpstreamType为0,并且SrcList有多个IP,并且LoadBalance为2时需要填写,否则填 []
:rtype: list of int
"""
return self._Weights
@Weights.setter
def Weights(self, Weights):
self._Weights = Weights
@property
def ActiveCheck(self):
"""必填项,是否开启主动健康检测。
0:不开启
1:开启
:rtype: int
"""
return self._ActiveCheck
@ActiveCheck.setter
def ActiveCheck(self, ActiveCheck):
self._ActiveCheck = ActiveCheck
@property
def TLSVersion(self):
"""TLS版本信息
:rtype: int
"""
return self._TLSVersion
@TLSVersion.setter
def TLSVersion(self, TLSVersion):
self._TLSVersion = TLSVersion
@property
def CipherTemplate(self):
"""必填项,加密套件模板。
0:不支持选择,使用默认模板
1:通用型模板
2:安全型模板
3:自定义模板
:rtype: int
"""
return self._CipherTemplate
@CipherTemplate.setter
def CipherTemplate(self, CipherTemplate):
self._CipherTemplate = CipherTemplate
@property
def Ciphers(self):
"""自定义的加密套件列表。CipherTemplate为3时需要填此字段,表示自定义的加密套件,值通过DescribeCiphersDetail接口获取。
:rtype: list of int
"""
return self._Ciphers
@Ciphers.setter
def Ciphers(self, Ciphers):
self._Ciphers = Ciphers
@property
def ProxyReadTimeout(self):
"""WAF与源站的读超时时间,默认300s。
:rtype: int
"""
return self._ProxyReadTimeout
@ProxyReadTimeout.setter
def ProxyReadTimeout(self, ProxyReadTimeout):
self._ProxyReadTimeout = ProxyReadTimeout
@property
def ProxySendTimeout(self):
"""WAF与源站的写超时时间,默认300s。
:rtype: int
"""
return self._ProxySendTimeout
@ProxySendTimeout.setter
def ProxySendTimeout(self, ProxySendTimeout):
self._ProxySendTimeout = ProxySendTimeout
@property
def SniType(self):
"""WAF回源时的SNI类型。
0:关闭SNI,不配置client_hello中的server_name
1:开启SNI,client_hello中的server_name为防护域名
2:开启SNI,SNI为域名回源时的源站域名
3:开启SNI,SNI为自定义域名
:rtype: int
"""
return self._SniType
@SniType.setter
def SniType(self, SniType):
self._SniType = SniType
@property
def SniHost(self):
"""SniType为3时,需要填此参数,表示自定义的SNI;
:rtype: str
"""
return self._SniHost
@SniHost.setter
def SniHost(self, SniHost):
self._SniHost = SniHost
@property
def XFFReset(self):
"""是否开启XFF重置。0:关闭 1:开启
:rtype: int
"""
return self._XFFReset
@XFFReset.setter
def XFFReset(self, XFFReset):
self._XFFReset = XFFReset
@property
def Note(self):
"""域名备注信息
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
@property
def UpstreamHost(self):
"""自定义回源Host。默认为空字符串,表示使用防护域名作为回源Host。
:rtype: str
"""
return self._UpstreamHost
@UpstreamHost.setter
def UpstreamHost(self, UpstreamHost):
self._UpstreamHost = UpstreamHost
@property
def ProxyBuffer(self):
"""是否开启缓存。 0:关闭 1:开启
:rtype: int
"""
return self._ProxyBuffer
@ProxyBuffer.setter
def ProxyBuffer(self, ProxyBuffer):
self._ProxyBuffer = ProxyBuffer
@property
def ProbeStatus(self):
"""是否开启拨测。 0: 禁用拨测 1: 启用拨测。默认启用拨测
:rtype: int
"""
return self._ProbeStatus
@ProbeStatus.setter
def ProbeStatus(self, ProbeStatus):
self._ProbeStatus = ProbeStatus
@property
def GmType(self):
"""国密选项。0:不开启国密 1:在原有TLS选项的基础上追加支持国密 2:开启国密并仅支持国密客户端访问
:rtype: int
"""
return self._GmType
@GmType.setter
def GmType(self, GmType):
self._GmType = GmType
@property
def GmCertType(self):
"""国密证书类型。0:无国密证书 1:证书来源为自有国密证书 2:证书来源为托管国密证书
:rtype: int
"""
return self._GmCertType
@GmCertType.setter
def GmCertType(self, GmCertType):
self._GmCertType = GmCertType
@property
def GmCert(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的证书链
:rtype: str
"""
return self._GmCert
@GmCert.setter
def GmCert(self, GmCert):
self._GmCert = GmCert
@property
def GmPrivateKey(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的私钥
:rtype: str
"""
return self._GmPrivateKey
@GmPrivateKey.setter
def GmPrivateKey(self, GmPrivateKey):
self._GmPrivateKey = GmPrivateKey
@property
def GmEncCert(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书
:rtype: str
"""
return self._GmEncCert
@GmEncCert.setter
def GmEncCert(self, GmEncCert):
self._GmEncCert = GmEncCert
@property
def GmEncPrivateKey(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书的私钥
:rtype: str
"""
return self._GmEncPrivateKey
@GmEncPrivateKey.setter
def GmEncPrivateKey(self, GmEncPrivateKey):
self._GmEncPrivateKey = GmEncPrivateKey
@property
def GmSSLId(self):
"""GmCertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:rtype: str
"""
return self._GmSSLId
@GmSSLId.setter
def GmSSLId(self, GmSSLId):
self._GmSSLId = GmSSLId
@property
def UpstreamPolicy(self):
"""回源策略,支持负载均衡回源和分流回源两种方式。0:默认值,负载均衡回源;1:分流回源
:rtype: int
"""
return self._UpstreamPolicy
@UpstreamPolicy.setter
def UpstreamPolicy(self, UpstreamPolicy):
self._UpstreamPolicy = UpstreamPolicy
@property
def UpstreamRules(self):
"""分流回源时生效,分流回源的规则。
:rtype: list of UpstreamRule
"""
return self._UpstreamRules
@UpstreamRules.setter
def UpstreamRules(self, UpstreamRules):
self._UpstreamRules = UpstreamRules
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._CertType = params.get("CertType")
self._IsCdn = params.get("IsCdn")
self._UpstreamType = params.get("UpstreamType")
self._IsWebsocket = params.get("IsWebsocket")
self._LoadBalance = params.get("LoadBalance")
if params.get("Ports") is not None:
self._Ports = []
for item in params.get("Ports"):
obj = PortItem()
obj._deserialize(item)
self._Ports.append(obj)
self._IsKeepAlive = params.get("IsKeepAlive")
self._InstanceID = params.get("InstanceID")
self._Cert = params.get("Cert")
self._PrivateKey = params.get("PrivateKey")
self._SSLId = params.get("SSLId")
self._ResourceId = params.get("ResourceId")
self._IpHeaders = params.get("IpHeaders")
self._UpstreamScheme = params.get("UpstreamScheme")
self._HttpsUpstreamPort = params.get("HttpsUpstreamPort")
self._IsGray = params.get("IsGray")
self._GrayAreas = params.get("GrayAreas")
self._HttpsRewrite = params.get("HttpsRewrite")
self._UpstreamDomain = params.get("UpstreamDomain")
self._SrcList = params.get("SrcList")
self._IsHttp2 = params.get("IsHttp2")
self._Edition = params.get("Edition")
self._Anycast = params.get("Anycast")
self._Weights = params.get("Weights")
self._ActiveCheck = params.get("ActiveCheck")
self._TLSVersion = params.get("TLSVersion")
self._CipherTemplate = params.get("CipherTemplate")
self._Ciphers = params.get("Ciphers")
self._ProxyReadTimeout = params.get("ProxyReadTimeout")
self._ProxySendTimeout = params.get("ProxySendTimeout")
self._SniType = params.get("SniType")
self._SniHost = params.get("SniHost")
self._XFFReset = params.get("XFFReset")
self._Note = params.get("Note")
self._UpstreamHost = params.get("UpstreamHost")
self._ProxyBuffer = params.get("ProxyBuffer")
self._ProbeStatus = params.get("ProbeStatus")
self._GmType = params.get("GmType")
self._GmCertType = params.get("GmCertType")
self._GmCert = params.get("GmCert")
self._GmPrivateKey = params.get("GmPrivateKey")
self._GmEncCert = params.get("GmEncCert")
self._GmEncPrivateKey = params.get("GmEncPrivateKey")
self._GmSSLId = params.get("GmSSLId")
self._UpstreamPolicy = params.get("UpstreamPolicy")
if params.get("UpstreamRules") is not None:
self._UpstreamRules = []
for item in params.get("UpstreamRules"):
obj = UpstreamRule()
obj._deserialize(item)
self._UpstreamRules.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AddSpartaProtectionResponse(AbstractModel):
"""AddSpartaProtection返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ApiAsset(AbstractModel):
"""api列表
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Method: 请求方法
:type Method: str
:param _ApiName: api名称
:type ApiName: str
:param _Scene: 场景
:type Scene: str
:param _Label: 数据标签
:type Label: list of str
:param _Active: 过去7天是否活跃
:type Active: bool
:param _Timestamp: 最近更新时间
:type Timestamp: int
:param _InsertTime: api发现时间
:type InsertTime: int
:param _Mode: 资产状态,1:新发现,2,确认中,3,已确认,4,已下线,5,已忽略
:type Mode: str
:param _Level: 风险等级,100,200,300对应低中高
:type Level: str
:param _Count: 近30天调用量
:type Count: int
:param _Remark: 备注
:type Remark: str
:param _IsAuth: 是否鉴权,1标识是,0表示否
:type IsAuth: int
:param _ApiRequestRuleId: 如果添加了api入参检测规则,则此id返回值不为0
:type ApiRequestRuleId: int
:param _ApiLimitRuleId: 如果添加了api限流规则,则此id返回值不为0
:type ApiLimitRuleId: int
:param _HostList: 对象接入和泛域名接入时,展示host列表
:type HostList: list of str
"""
self._Domain = None
self._Method = None
self._ApiName = None
self._Scene = None
self._Label = None
self._Active = None
self._Timestamp = None
self._InsertTime = None
self._Mode = None
self._Level = None
self._Count = None
self._Remark = None
self._IsAuth = None
self._ApiRequestRuleId = None
self._ApiLimitRuleId = None
self._HostList = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Method(self):
"""请求方法
:rtype: str
"""
return self._Method
@Method.setter
def Method(self, Method):
self._Method = Method
@property
def ApiName(self):
"""api名称
:rtype: str
"""
return self._ApiName
@ApiName.setter
def ApiName(self, ApiName):
self._ApiName = ApiName
@property
def Scene(self):
"""场景
:rtype: str
"""
return self._Scene
@Scene.setter
def Scene(self, Scene):
self._Scene = Scene
@property
def Label(self):
"""数据标签
:rtype: list of str
"""
return self._Label
@Label.setter
def Label(self, Label):
self._Label = Label
@property
def Active(self):
"""过去7天是否活跃
:rtype: bool
"""
return self._Active
@Active.setter
def Active(self, Active):
self._Active = Active
@property
def Timestamp(self):
"""最近更新时间
:rtype: int
"""
return self._Timestamp
@Timestamp.setter
def Timestamp(self, Timestamp):
self._Timestamp = Timestamp
@property
def InsertTime(self):
"""api发现时间
:rtype: int
"""
return self._InsertTime
@InsertTime.setter
def InsertTime(self, InsertTime):
self._InsertTime = InsertTime
@property
def Mode(self):
"""资产状态,1:新发现,2,确认中,3,已确认,4,已下线,5,已忽略
:rtype: str
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Level(self):
"""风险等级,100,200,300对应低中高
:rtype: str
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
@property
def Count(self):
"""近30天调用量
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Remark(self):
"""备注
:rtype: str
"""
return self._Remark
@Remark.setter
def Remark(self, Remark):
self._Remark = Remark
@property
def IsAuth(self):
"""是否鉴权,1标识是,0表示否
:rtype: int
"""
return self._IsAuth
@IsAuth.setter
def IsAuth(self, IsAuth):
self._IsAuth = IsAuth
@property
def ApiRequestRuleId(self):
"""如果添加了api入参检测规则,则此id返回值不为0
:rtype: int
"""
return self._ApiRequestRuleId
@ApiRequestRuleId.setter
def ApiRequestRuleId(self, ApiRequestRuleId):
self._ApiRequestRuleId = ApiRequestRuleId
@property
def ApiLimitRuleId(self):
"""如果添加了api限流规则,则此id返回值不为0
:rtype: int
"""
return self._ApiLimitRuleId
@ApiLimitRuleId.setter
def ApiLimitRuleId(self, ApiLimitRuleId):
self._ApiLimitRuleId = ApiLimitRuleId
@property
def HostList(self):
"""对象接入和泛域名接入时,展示host列表
:rtype: list of str
"""
return self._HostList
@HostList.setter
def HostList(self, HostList):
self._HostList = HostList
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Method = params.get("Method")
self._ApiName = params.get("ApiName")
self._Scene = params.get("Scene")
self._Label = params.get("Label")
self._Active = params.get("Active")
self._Timestamp = params.get("Timestamp")
self._InsertTime = params.get("InsertTime")
self._Mode = params.get("Mode")
self._Level = params.get("Level")
self._Count = params.get("Count")
self._Remark = params.get("Remark")
self._IsAuth = params.get("IsAuth")
self._ApiRequestRuleId = params.get("ApiRequestRuleId")
self._ApiLimitRuleId = params.get("ApiLimitRuleId")
self._HostList = params.get("HostList")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ApiDataFilter(AbstractModel):
"""api资产列表过滤器
"""
def __init__(self):
r"""
:param _Entity: 数据标签,是否活跃,功能场景
:type Entity: str
:param _Operator: 等于
:type Operator: str
:param _Value: 日期,手机号,邮箱等
:type Value: str
"""
self._Entity = None
self._Operator = None
self._Value = None
@property
def Entity(self):
"""数据标签,是否活跃,功能场景
:rtype: str
"""
return self._Entity
@Entity.setter
def Entity(self, Entity):
self._Entity = Entity
@property
def Operator(self):
"""等于
:rtype: str
"""
return self._Operator
@Operator.setter
def Operator(self, Operator):
self._Operator = Operator
@property
def Value(self):
"""日期,手机号,邮箱等
:rtype: str
"""
return self._Value
@Value.setter
def Value(self, Value):
self._Value = Value
def _deserialize(self, params):
self._Entity = params.get("Entity")
self._Operator = params.get("Operator")
self._Value = params.get("Value")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ApiDetailSampleHistory(AbstractModel):
"""api历史样例返回结构体
"""
def __init__(self):
r"""
:param _SampleNme: 样例名称
:type SampleNme: str
:param _RepLog: 请求样例
:type RepLog: str
:param _RspLog: 响应样例
:type RspLog: str
"""
self._SampleNme = None
self._RepLog = None
self._RspLog = None
@property
def SampleNme(self):
"""样例名称
:rtype: str
"""
return self._SampleNme
@SampleNme.setter
def SampleNme(self, SampleNme):
self._SampleNme = SampleNme
@property
def RepLog(self):
"""请求样例
:rtype: str
"""
return self._RepLog
@RepLog.setter
def RepLog(self, RepLog):
self._RepLog = RepLog
@property
def RspLog(self):
"""响应样例
:rtype: str
"""
return self._RspLog
@RspLog.setter
def RspLog(self, RspLog):
self._RspLog = RspLog
def _deserialize(self, params):
self._SampleNme = params.get("SampleNme")
self._RepLog = params.get("RepLog")
self._RspLog = params.get("RspLog")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ApiParameterType(AbstractModel):
"""api请求参数类型
"""
def __init__(self):
r"""
:param _ParameterName: 参数名称
:type ParameterName: str
:param _Type: 参数类型
:type Type: str
:param _Location: 参数位置
:type Location: str
:param _Label: 数据标签(敏感字段)
:type Label: list of str
:param _Timestamp: 时间戳
:type Timestamp: int
:param _Remark: 备注信息
:type Remark: str
:param _Source: 来源是请求或者响应
:type Source: str
:param _IsPan: 是否需要泛化 ,0表示不需要,1表示需要
:type IsPan: int
:param _IsAuth: 是否鉴权,1表示是,0表示否
:type IsAuth: int
"""
self._ParameterName = None
self._Type = None
self._Location = None
self._Label = None
self._Timestamp = None
self._Remark = None
self._Source = None
self._IsPan = None
self._IsAuth = None
@property
def ParameterName(self):
"""参数名称
:rtype: str
"""
return self._ParameterName
@ParameterName.setter
def ParameterName(self, ParameterName):
self._ParameterName = ParameterName
@property
def Type(self):
"""参数类型
:rtype: str
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def Location(self):
"""参数位置
:rtype: str
"""
return self._Location
@Location.setter
def Location(self, Location):
self._Location = Location
@property
def Label(self):
"""数据标签(敏感字段)
:rtype: list of str
"""
return self._Label
@Label.setter
def Label(self, Label):
self._Label = Label
@property
def Timestamp(self):
"""时间戳
:rtype: int
"""
return self._Timestamp
@Timestamp.setter
def Timestamp(self, Timestamp):
self._Timestamp = Timestamp
@property
def Remark(self):
"""备注信息
:rtype: str
"""
return self._Remark
@Remark.setter
def Remark(self, Remark):
self._Remark = Remark
@property
def Source(self):
"""来源是请求或者响应
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def IsPan(self):
"""是否需要泛化 ,0表示不需要,1表示需要
:rtype: int
"""
return self._IsPan
@IsPan.setter
def IsPan(self, IsPan):
self._IsPan = IsPan
@property
def IsAuth(self):
"""是否鉴权,1表示是,0表示否
:rtype: int
"""
return self._IsAuth
@IsAuth.setter
def IsAuth(self, IsAuth):
self._IsAuth = IsAuth
def _deserialize(self, params):
self._ParameterName = params.get("ParameterName")
self._Type = params.get("Type")
self._Location = params.get("Location")
self._Label = params.get("Label")
self._Timestamp = params.get("Timestamp")
self._Remark = params.get("Remark")
self._Source = params.get("Source")
self._IsPan = params.get("IsPan")
self._IsAuth = params.get("IsAuth")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ApiPkg(AbstractModel):
"""API安全资源信息
"""
def __init__(self):
r"""
:param _ResourceIds: 资源id
:type ResourceIds: str
:param _Status: 状态
:type Status: int
:param _Region: 地域
:type Region: int
:param _BeginTime: 开始时间
:type BeginTime: str
:param _EndTime: 结束时间
:type EndTime: str
:param _InquireNum: 申请数量
:type InquireNum: int
:param _UsedNum: 使用数量
:type UsedNum: int
:param _RenewFlag: 续费标志
:type RenewFlag: int
:param _BillingItem: 计费项
:type BillingItem: str
:param _IsAPISecurityTrial: api安全7天试用标识。1试用。0没试用
:type IsAPISecurityTrial: int
"""
self._ResourceIds = None
self._Status = None
self._Region = None
self._BeginTime = None
self._EndTime = None
self._InquireNum = None
self._UsedNum = None
self._RenewFlag = None
self._BillingItem = None
self._IsAPISecurityTrial = None
@property
def ResourceIds(self):
"""资源id
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Region(self):
"""地域
:rtype: int
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def BeginTime(self):
"""开始时间
:rtype: str
"""
return self._BeginTime
@BeginTime.setter
def BeginTime(self, BeginTime):
self._BeginTime = BeginTime
@property
def EndTime(self):
"""结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def InquireNum(self):
"""申请数量
:rtype: int
"""
return self._InquireNum
@InquireNum.setter
def InquireNum(self, InquireNum):
self._InquireNum = InquireNum
@property
def UsedNum(self):
"""使用数量
:rtype: int
"""
return self._UsedNum
@UsedNum.setter
def UsedNum(self, UsedNum):
self._UsedNum = UsedNum
@property
def RenewFlag(self):
"""续费标志
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
@property
def BillingItem(self):
"""计费项
:rtype: str
"""
return self._BillingItem
@BillingItem.setter
def BillingItem(self, BillingItem):
self._BillingItem = BillingItem
@property
def IsAPISecurityTrial(self):
"""api安全7天试用标识。1试用。0没试用
:rtype: int
"""
return self._IsAPISecurityTrial
@IsAPISecurityTrial.setter
def IsAPISecurityTrial(self, IsAPISecurityTrial):
self._IsAPISecurityTrial = IsAPISecurityTrial
def _deserialize(self, params):
self._ResourceIds = params.get("ResourceIds")
self._Status = params.get("Status")
self._Region = params.get("Region")
self._BeginTime = params.get("BeginTime")
self._EndTime = params.get("EndTime")
self._InquireNum = params.get("InquireNum")
self._UsedNum = params.get("UsedNum")
self._RenewFlag = params.get("RenewFlag")
self._BillingItem = params.get("BillingItem")
self._IsAPISecurityTrial = params.get("IsAPISecurityTrial")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ApiSecKey(AbstractModel):
"""api列表
"""
def __init__(self):
r"""
:param _ApiName: api名称
:type ApiName: str
:param _Domain: 域名
:type Domain: str
:param _Method: 请求方法
:type Method: str
"""
self._ApiName = None
self._Domain = None
self._Method = None
@property
def ApiName(self):
"""api名称
:rtype: str
"""
return self._ApiName
@ApiName.setter
def ApiName(self, ApiName):
self._ApiName = ApiName
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Method(self):
"""请求方法
:rtype: str
"""
return self._Method
@Method.setter
def Method(self, Method):
self._Method = Method
def _deserialize(self, params):
self._ApiName = params.get("ApiName")
self._Domain = params.get("Domain")
self._Method = params.get("Method")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class Area(AbstractModel):
"""地域信息
"""
def __init__(self):
r"""
:param _Country: 国家,除了标准的国家外还支持国内、国外这两个特殊的标识
:type Country: str
:param _Region: 省份
:type Region: str
:param _City: 城市
:type City: str
"""
self._Country = None
self._Region = None
self._City = None
@property
def Country(self):
"""国家,除了标准的国家外还支持国内、国外这两个特殊的标识
:rtype: str
"""
return self._Country
@Country.setter
def Country(self, Country):
self._Country = Country
@property
def Region(self):
"""省份
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def City(self):
"""城市
:rtype: str
"""
return self._City
@City.setter
def City(self, City):
self._City = City
def _deserialize(self, params):
self._Country = params.get("Country")
self._Region = params.get("Region")
self._City = params.get("City")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AreaBanRule(AbstractModel):
"""地域封禁规则详情
"""
def __init__(self):
r"""
:param _Status: 状态 0:未开启地域封禁、1:开启地域封禁
:type Status: int
:param _Source: 数据来源 custom:自定义(默认)、batch:批量防护
:type Source: str
:param _Areas: 配置的地域列表
:type Areas: list of Area
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 定时任务配置
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
:param _CronType: 如果是周期任务类型,那么表示周期的类型,支持 Week:按周、Month:按月
:type CronType: str
:param _Lang: 地域信息的语言,支持cn、en,默认为中文cn
:type Lang: str
"""
self._Status = None
self._Source = None
self._Areas = None
self._JobType = None
self._JobDateTime = None
self._CronType = None
self._Lang = None
@property
def Status(self):
"""状态 0:未开启地域封禁、1:开启地域封禁
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Source(self):
"""数据来源 custom:自定义(默认)、batch:批量防护
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def Areas(self):
"""配置的地域列表
:rtype: list of Area
"""
return self._Areas
@Areas.setter
def Areas(self, Areas):
self._Areas = Areas
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时任务配置
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
@property
def CronType(self):
"""如果是周期任务类型,那么表示周期的类型,支持 Week:按周、Month:按月
:rtype: str
"""
return self._CronType
@CronType.setter
def CronType(self, CronType):
self._CronType = CronType
@property
def Lang(self):
"""地域信息的语言,支持cn、en,默认为中文cn
:rtype: str
"""
return self._Lang
@Lang.setter
def Lang(self, Lang):
self._Lang = Lang
def _deserialize(self, params):
self._Status = params.get("Status")
self._Source = params.get("Source")
if params.get("Areas") is not None:
self._Areas = []
for item in params.get("Areas"):
obj = Area()
obj._deserialize(item)
self._Areas.append(obj)
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
self._CronType = params.get("CronType")
self._Lang = params.get("Lang")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AttackLogInfo(AbstractModel):
"""攻击日志详情
"""
def __init__(self):
r"""
:param _Content: 攻击日志的详情内容
:type Content: str
:param _FileName: CLS返回内容
:type FileName: str
:param _Source: CLS返回内容
:type Source: str
:param _TimeStamp: CLS返回内容
:type TimeStamp: str
"""
self._Content = None
self._FileName = None
self._Source = None
self._TimeStamp = None
@property
def Content(self):
"""攻击日志的详情内容
:rtype: str
"""
return self._Content
@Content.setter
def Content(self, Content):
self._Content = Content
@property
def FileName(self):
"""CLS返回内容
:rtype: str
"""
return self._FileName
@FileName.setter
def FileName(self, FileName):
self._FileName = FileName
@property
def Source(self):
"""CLS返回内容
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def TimeStamp(self):
"""CLS返回内容
:rtype: str
"""
return self._TimeStamp
@TimeStamp.setter
def TimeStamp(self, TimeStamp):
self._TimeStamp = TimeStamp
def _deserialize(self, params):
self._Content = params.get("Content")
self._FileName = params.get("FileName")
self._Source = params.get("Source")
self._TimeStamp = params.get("TimeStamp")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class AutoDenyDetail(AbstractModel):
"""Waf 攻击自动封禁详情
"""
def __init__(self):
r"""
:param _AttackTags: 攻击封禁类型标签
:type AttackTags: list of str
:param _AttackThreshold: 攻击次数阈值
:type AttackThreshold: int
:param _DefenseStatus: 自动封禁状态
:type DefenseStatus: int
:param _TimeThreshold: 攻击时间阈值
:type TimeThreshold: int
:param _DenyTimeThreshold: 自动封禁时间
:type DenyTimeThreshold: int
:param _LastUpdateTime: 最后更新时间
:type LastUpdateTime: str
"""
self._AttackTags = None
self._AttackThreshold = None
self._DefenseStatus = None
self._TimeThreshold = None
self._DenyTimeThreshold = None
self._LastUpdateTime = None
@property
def AttackTags(self):
"""攻击封禁类型标签
:rtype: list of str
"""
return self._AttackTags
@AttackTags.setter
def AttackTags(self, AttackTags):
self._AttackTags = AttackTags
@property
def AttackThreshold(self):
"""攻击次数阈值
:rtype: int
"""
return self._AttackThreshold
@AttackThreshold.setter
def AttackThreshold(self, AttackThreshold):
self._AttackThreshold = AttackThreshold
@property
def DefenseStatus(self):
"""自动封禁状态
:rtype: int
"""
return self._DefenseStatus
@DefenseStatus.setter
def DefenseStatus(self, DefenseStatus):
self._DefenseStatus = DefenseStatus
@property
def TimeThreshold(self):
"""攻击时间阈值
:rtype: int
"""
return self._TimeThreshold
@TimeThreshold.setter
def TimeThreshold(self, TimeThreshold):
self._TimeThreshold = TimeThreshold
@property
def DenyTimeThreshold(self):
"""自动封禁时间
:rtype: int
"""
return self._DenyTimeThreshold
@DenyTimeThreshold.setter
def DenyTimeThreshold(self, DenyTimeThreshold):
self._DenyTimeThreshold = DenyTimeThreshold
@property
def LastUpdateTime(self):
"""最后更新时间
:rtype: str
"""
return self._LastUpdateTime
@LastUpdateTime.setter
def LastUpdateTime(self, LastUpdateTime):
self._LastUpdateTime = LastUpdateTime
def _deserialize(self, params):
self._AttackTags = params.get("AttackTags")
self._AttackThreshold = params.get("AttackThreshold")
self._DefenseStatus = params.get("DefenseStatus")
self._TimeThreshold = params.get("TimeThreshold")
self._DenyTimeThreshold = params.get("DenyTimeThreshold")
self._LastUpdateTime = params.get("LastUpdateTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class BatchIpAccessControlData(AbstractModel):
"""多域名黑白名单describe返回
"""
def __init__(self):
r"""
:param _TotalCount: 总数
:type TotalCount: int
:param _Res: 黑白名单条目
:type Res: list of BatchIpAccessControlItem
"""
self._TotalCount = None
self._Res = None
@property
def TotalCount(self):
"""总数
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Res(self):
"""黑白名单条目
:rtype: list of BatchIpAccessControlItem
"""
return self._Res
@Res.setter
def Res(self, Res):
self._Res = Res
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Res") is not None:
self._Res = []
for item in params.get("Res"):
obj = BatchIpAccessControlItem()
obj._deserialize(item)
self._Res.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class BatchIpAccessControlItem(AbstractModel):
"""批量多域名黑白名单列表Ip
"""
def __init__(self):
r"""
:param _Id: mongo表自增Id
:type Id: str
:param _ActionType: 黑名单42或白名单40
:type ActionType: int
:param _Ip: 黑白名单的IP
:type Ip: str
:param _Note: 备注
:type Note: str
:param _Source: batch为批量域名,batch-group为防护对象组
:type Source: str
:param _TsVersion: 修改时间
:type TsVersion: int
:param _ValidTs: 超时时间
:type ValidTs: int
:param _Hosts: 域名列表
:type Hosts: list of str
:param _RuleId: 55101145
:type RuleId: int
:param _IpList: IP列表
:type IpList: list of str
:param _CreateTime: 创建时间
:type CreateTime: int
:param _JobType: 定时任务类型
:type JobType: str
:param _CronType: 周期任务类型
:type CronType: str
:param _JobDateTime: 定时任务配置详情
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
:param _ValidStatus: 生效状态
:type ValidStatus: int
:param _GroupIds: 防护对象组ID列表,如果绑定的是防护对象组
:type GroupIds: list of int non-negative
"""
self._Id = None
self._ActionType = None
self._Ip = None
self._Note = None
self._Source = None
self._TsVersion = None
self._ValidTs = None
self._Hosts = None
self._RuleId = None
self._IpList = None
self._CreateTime = None
self._JobType = None
self._CronType = None
self._JobDateTime = None
self._ValidStatus = None
self._GroupIds = None
@property
def Id(self):
warnings.warn("parameter `Id` is deprecated", DeprecationWarning)
"""mongo表自增Id
:rtype: str
"""
return self._Id
@Id.setter
def Id(self, Id):
warnings.warn("parameter `Id` is deprecated", DeprecationWarning)
self._Id = Id
@property
def ActionType(self):
"""黑名单42或白名单40
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def Ip(self):
warnings.warn("parameter `Ip` is deprecated", DeprecationWarning)
"""黑白名单的IP
:rtype: str
"""
return self._Ip
@Ip.setter
def Ip(self, Ip):
warnings.warn("parameter `Ip` is deprecated", DeprecationWarning)
self._Ip = Ip
@property
def Note(self):
"""备注
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
@property
def Source(self):
"""batch为批量域名,batch-group为防护对象组
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def TsVersion(self):
"""修改时间
:rtype: int
"""
return self._TsVersion
@TsVersion.setter
def TsVersion(self, TsVersion):
self._TsVersion = TsVersion
@property
def ValidTs(self):
"""超时时间
:rtype: int
"""
return self._ValidTs
@ValidTs.setter
def ValidTs(self, ValidTs):
self._ValidTs = ValidTs
@property
def Hosts(self):
"""域名列表
:rtype: list of str
"""
return self._Hosts
@Hosts.setter
def Hosts(self, Hosts):
self._Hosts = Hosts
@property
def RuleId(self):
"""55101145
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def IpList(self):
"""IP列表
:rtype: list of str
"""
return self._IpList
@IpList.setter
def IpList(self, IpList):
self._IpList = IpList
@property
def CreateTime(self):
"""创建时间
:rtype: int
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def JobType(self):
"""定时任务类型
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def CronType(self):
"""周期任务类型
:rtype: str
"""
return self._CronType
@CronType.setter
def CronType(self, CronType):
self._CronType = CronType
@property
def JobDateTime(self):
"""定时任务配置详情
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
@property
def ValidStatus(self):
"""生效状态
:rtype: int
"""
return self._ValidStatus
@ValidStatus.setter
def ValidStatus(self, ValidStatus):
self._ValidStatus = ValidStatus
@property
def GroupIds(self):
"""防护对象组ID列表,如果绑定的是防护对象组
:rtype: list of int non-negative
"""
return self._GroupIds
@GroupIds.setter
def GroupIds(self, GroupIds):
self._GroupIds = GroupIds
def _deserialize(self, params):
self._Id = params.get("Id")
self._ActionType = params.get("ActionType")
self._Ip = params.get("Ip")
self._Note = params.get("Note")
self._Source = params.get("Source")
self._TsVersion = params.get("TsVersion")
self._ValidTs = params.get("ValidTs")
self._Hosts = params.get("Hosts")
self._RuleId = params.get("RuleId")
self._IpList = params.get("IpList")
self._CreateTime = params.get("CreateTime")
self._JobType = params.get("JobType")
self._CronType = params.get("CronType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
self._ValidStatus = params.get("ValidStatus")
self._GroupIds = params.get("GroupIds")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class BatchOperateUserSignatureRulesRequest(AbstractModel):
"""BatchOperateUserSignatureRules请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Status: 0:关闭,1:开启,2:仅观察
:type Status: str
:param _RuleIds: 如果SelectedAll为true,则表示反选的规则,否则表示手动选择的规则ID
:type RuleIds: list of str
:param _Reason: 仅观察原因
:type Reason: int
:param _SelectedAll: 是否全选
:type SelectedAll: bool
:param _Filters: 过滤
:type Filters: list of FiltersItemNew
"""
self._Domain = None
self._Status = None
self._RuleIds = None
self._Reason = None
self._SelectedAll = None
self._Filters = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Status(self):
"""0:关闭,1:开启,2:仅观察
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def RuleIds(self):
"""如果SelectedAll为true,则表示反选的规则,否则表示手动选择的规则ID
:rtype: list of str
"""
return self._RuleIds
@RuleIds.setter
def RuleIds(self, RuleIds):
self._RuleIds = RuleIds
@property
def Reason(self):
"""仅观察原因
:rtype: int
"""
return self._Reason
@Reason.setter
def Reason(self, Reason):
self._Reason = Reason
@property
def SelectedAll(self):
"""是否全选
:rtype: bool
"""
return self._SelectedAll
@SelectedAll.setter
def SelectedAll(self, SelectedAll):
self._SelectedAll = SelectedAll
@property
def Filters(self):
"""过滤
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Status = params.get("Status")
self._RuleIds = params.get("RuleIds")
self._Reason = params.get("Reason")
self._SelectedAll = params.get("SelectedAll")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class BatchOperateUserSignatureRulesResponse(AbstractModel):
"""BatchOperateUserSignatureRules返回参数结构体
"""
def __init__(self):
r"""
:param _CommonRsp: 操作结果
:type CommonRsp: :class:`tencentcloud.waf.v20180125.models.CommonRspData`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._CommonRsp = None
self._RequestId = None
@property
def CommonRsp(self):
"""操作结果
:rtype: :class:`tencentcloud.waf.v20180125.models.CommonRspData`
"""
return self._CommonRsp
@CommonRsp.setter
def CommonRsp(self, CommonRsp):
self._CommonRsp = CommonRsp
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("CommonRsp") is not None:
self._CommonRsp = CommonRspData()
self._CommonRsp._deserialize(params.get("CommonRsp"))
self._RequestId = params.get("RequestId")
class BotPkg(AbstractModel):
"""Bot资源信息
"""
def __init__(self):
r"""
:param _ResourceIds: 资源id
:type ResourceIds: str
:param _Status: 状态
:type Status: int
:param _Region: 地域
:type Region: int
:param _BeginTime: 开始时间
:type BeginTime: str
:param _EndTime: 结束时间
:type EndTime: str
:param _InquireNum: 申请数量
:type InquireNum: int
:param _UsedNum: 使用数量
:type UsedNum: int
:param _Type: 子产品code
:type Type: str
:param _RenewFlag: 续费标志
:type RenewFlag: int
:param _BotCPWaf: 购买页bot6折
:type BotCPWaf: int
:param _BotNPWaf: 控制台买bot5折
:type BotNPWaf: int
:param _IsBotTrial: 7天bot试用标识 1 试用 0 没有试用
:type IsBotTrial: int
"""
self._ResourceIds = None
self._Status = None
self._Region = None
self._BeginTime = None
self._EndTime = None
self._InquireNum = None
self._UsedNum = None
self._Type = None
self._RenewFlag = None
self._BotCPWaf = None
self._BotNPWaf = None
self._IsBotTrial = None
@property
def ResourceIds(self):
"""资源id
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Region(self):
"""地域
:rtype: int
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def BeginTime(self):
"""开始时间
:rtype: str
"""
return self._BeginTime
@BeginTime.setter
def BeginTime(self, BeginTime):
self._BeginTime = BeginTime
@property
def EndTime(self):
"""结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def InquireNum(self):
"""申请数量
:rtype: int
"""
return self._InquireNum
@InquireNum.setter
def InquireNum(self, InquireNum):
self._InquireNum = InquireNum
@property
def UsedNum(self):
"""使用数量
:rtype: int
"""
return self._UsedNum
@UsedNum.setter
def UsedNum(self, UsedNum):
self._UsedNum = UsedNum
@property
def Type(self):
"""子产品code
:rtype: str
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def RenewFlag(self):
"""续费标志
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
@property
def BotCPWaf(self):
"""购买页bot6折
:rtype: int
"""
return self._BotCPWaf
@BotCPWaf.setter
def BotCPWaf(self, BotCPWaf):
self._BotCPWaf = BotCPWaf
@property
def BotNPWaf(self):
"""控制台买bot5折
:rtype: int
"""
return self._BotNPWaf
@BotNPWaf.setter
def BotNPWaf(self, BotNPWaf):
self._BotNPWaf = BotNPWaf
@property
def IsBotTrial(self):
"""7天bot试用标识 1 试用 0 没有试用
:rtype: int
"""
return self._IsBotTrial
@IsBotTrial.setter
def IsBotTrial(self, IsBotTrial):
self._IsBotTrial = IsBotTrial
def _deserialize(self, params):
self._ResourceIds = params.get("ResourceIds")
self._Status = params.get("Status")
self._Region = params.get("Region")
self._BeginTime = params.get("BeginTime")
self._EndTime = params.get("EndTime")
self._InquireNum = params.get("InquireNum")
self._UsedNum = params.get("UsedNum")
self._Type = params.get("Type")
self._RenewFlag = params.get("RenewFlag")
self._BotCPWaf = params.get("BotCPWaf")
self._BotNPWaf = params.get("BotNPWaf")
self._IsBotTrial = params.get("IsBotTrial")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class BotQPS(AbstractModel):
"""bot的qps详情
"""
def __init__(self):
r"""
:param _ResourceIds: 资源id
:type ResourceIds: str
:param _ValidTime: 有效时间
:type ValidTime: str
:param _Count: 资源数量
:type Count: int
:param _Region: 资源所在地区
:type Region: str
:param _MaxBotQPS: 使用qps的最大值
:type MaxBotQPS: int
:param _RenewFlag: 续费标志
:type RenewFlag: int
"""
self._ResourceIds = None
self._ValidTime = None
self._Count = None
self._Region = None
self._MaxBotQPS = None
self._RenewFlag = None
@property
def ResourceIds(self):
"""资源id
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def ValidTime(self):
"""有效时间
:rtype: str
"""
return self._ValidTime
@ValidTime.setter
def ValidTime(self, ValidTime):
self._ValidTime = ValidTime
@property
def Count(self):
"""资源数量
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Region(self):
"""资源所在地区
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def MaxBotQPS(self):
"""使用qps的最大值
:rtype: int
"""
return self._MaxBotQPS
@MaxBotQPS.setter
def MaxBotQPS(self, MaxBotQPS):
self._MaxBotQPS = MaxBotQPS
@property
def RenewFlag(self):
"""续费标志
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
def _deserialize(self, params):
self._ResourceIds = params.get("ResourceIds")
self._ValidTime = params.get("ValidTime")
self._Count = params.get("Count")
self._Region = params.get("Region")
self._MaxBotQPS = params.get("MaxBotQPS")
self._RenewFlag = params.get("RenewFlag")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class BotStatPointItem(AbstractModel):
"""bot的趋势图对象
"""
def __init__(self):
r"""
:param _TimeStamp: 横坐标
:type TimeStamp: str
:param _Key: value的所属对象
:type Key: str
:param _Value: 纵列表
:type Value: int
:param _Label: Key对应的页面展示内容
:type Label: str
"""
self._TimeStamp = None
self._Key = None
self._Value = None
self._Label = None
@property
def TimeStamp(self):
"""横坐标
:rtype: str
"""
return self._TimeStamp
@TimeStamp.setter
def TimeStamp(self, TimeStamp):
self._TimeStamp = TimeStamp
@property
def Key(self):
"""value的所属对象
:rtype: str
"""
return self._Key
@Key.setter
def Key(self, Key):
self._Key = Key
@property
def Value(self):
"""纵列表
:rtype: int
"""
return self._Value
@Value.setter
def Value(self, Value):
self._Value = Value
@property
def Label(self):
"""Key对应的页面展示内容
:rtype: str
"""
return self._Label
@Label.setter
def Label(self, Label):
self._Label = Label
def _deserialize(self, params):
self._TimeStamp = params.get("TimeStamp")
self._Key = params.get("Key")
self._Value = params.get("Value")
self._Label = params.get("Label")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CCRuleData(AbstractModel):
"""数据封装
"""
def __init__(self):
r"""
:param _Res: cc规则
:type Res: list of CCRuleItem
:param _TotalCount: 规则数目
:type TotalCount: int
"""
self._Res = None
self._TotalCount = None
@property
def Res(self):
"""cc规则
:rtype: list of CCRuleItem
"""
return self._Res
@Res.setter
def Res(self, Res):
self._Res = Res
@property
def TotalCount(self):
"""规则数目
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
def _deserialize(self, params):
if params.get("Res") is not None:
self._Res = []
for item in params.get("Res"):
obj = CCRuleItem()
obj._deserialize(item)
self._Res.append(obj)
self._TotalCount = params.get("TotalCount")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CCRuleItem(AbstractModel):
"""cc规则
"""
def __init__(self):
r"""
:param _ActionType: 动作,20表示观察,21表示人机识别,22表示拦截,23表示精准拦截,24表示JS校验
:type ActionType: int
:param _Advance: 高级模式
:type Advance: int
:param _Interval: 时间周期
:type Interval: int
:param _Limit: 限制次数
:type Limit: int
:param _MatchFunc: 匹配方法
:type MatchFunc: int
:param _Name: 名称
:type Name: str
:param _Priority: 优先级
:type Priority: int
:param _Status: 状态
:type Status: int
:param _TsVersion: 更新时间戳
:type TsVersion: int
:param _Url: 匹配url
:type Url: str
:param _ValidTime: 策略动作有效时间
:type ValidTime: int
:param _OptionsArr: 高级参数
:type OptionsArr: str
:param _Length: url长度
:type Length: int
:param _RuleId: 规则ID
:type RuleId: int
:param _EventId: 事件id
:type EventId: str
:param _SessionApplied: 关联的Session规则
:type SessionApplied: list of int
:param _CreateTime: 创建时间
:type CreateTime: int
"""
self._ActionType = None
self._Advance = None
self._Interval = None
self._Limit = None
self._MatchFunc = None
self._Name = None
self._Priority = None
self._Status = None
self._TsVersion = None
self._Url = None
self._ValidTime = None
self._OptionsArr = None
self._Length = None
self._RuleId = None
self._EventId = None
self._SessionApplied = None
self._CreateTime = None
@property
def ActionType(self):
"""动作,20表示观察,21表示人机识别,22表示拦截,23表示精准拦截,24表示JS校验
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def Advance(self):
"""高级模式
:rtype: int
"""
return self._Advance
@Advance.setter
def Advance(self, Advance):
self._Advance = Advance
@property
def Interval(self):
"""时间周期
:rtype: int
"""
return self._Interval
@Interval.setter
def Interval(self, Interval):
self._Interval = Interval
@property
def Limit(self):
"""限制次数
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def MatchFunc(self):
"""匹配方法
:rtype: int
"""
return self._MatchFunc
@MatchFunc.setter
def MatchFunc(self, MatchFunc):
self._MatchFunc = MatchFunc
@property
def Name(self):
"""名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Priority(self):
"""优先级
:rtype: int
"""
return self._Priority
@Priority.setter
def Priority(self, Priority):
self._Priority = Priority
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def TsVersion(self):
"""更新时间戳
:rtype: int
"""
return self._TsVersion
@TsVersion.setter
def TsVersion(self, TsVersion):
self._TsVersion = TsVersion
@property
def Url(self):
"""匹配url
:rtype: str
"""
return self._Url
@Url.setter
def Url(self, Url):
self._Url = Url
@property
def ValidTime(self):
"""策略动作有效时间
:rtype: int
"""
return self._ValidTime
@ValidTime.setter
def ValidTime(self, ValidTime):
self._ValidTime = ValidTime
@property
def OptionsArr(self):
"""高级参数
:rtype: str
"""
return self._OptionsArr
@OptionsArr.setter
def OptionsArr(self, OptionsArr):
self._OptionsArr = OptionsArr
@property
def Length(self):
"""url长度
:rtype: int
"""
return self._Length
@Length.setter
def Length(self, Length):
self._Length = Length
@property
def RuleId(self):
"""规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def EventId(self):
"""事件id
:rtype: str
"""
return self._EventId
@EventId.setter
def EventId(self, EventId):
self._EventId = EventId
@property
def SessionApplied(self):
"""关联的Session规则
:rtype: list of int
"""
return self._SessionApplied
@SessionApplied.setter
def SessionApplied(self, SessionApplied):
self._SessionApplied = SessionApplied
@property
def CreateTime(self):
"""创建时间
:rtype: int
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
def _deserialize(self, params):
self._ActionType = params.get("ActionType")
self._Advance = params.get("Advance")
self._Interval = params.get("Interval")
self._Limit = params.get("Limit")
self._MatchFunc = params.get("MatchFunc")
self._Name = params.get("Name")
self._Priority = params.get("Priority")
self._Status = params.get("Status")
self._TsVersion = params.get("TsVersion")
self._Url = params.get("Url")
self._ValidTime = params.get("ValidTime")
self._OptionsArr = params.get("OptionsArr")
self._Length = params.get("Length")
self._RuleId = params.get("RuleId")
self._EventId = params.get("EventId")
self._SessionApplied = params.get("SessionApplied")
self._CreateTime = params.get("CreateTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CCRuleItems(AbstractModel):
"""CC规则详情
"""
def __init__(self):
r"""
:param _Name: 名字
:type Name: str
:param _Status: 状态
:type Status: int
:param _Advance: 模式
:type Advance: int
:param _Limit: 限制
:type Limit: int
:param _Interval: 范围
:type Interval: int
:param _Url: 网址
:type Url: str
:param _MatchFunc: 匹配类型
:type MatchFunc: int
:param _ActionType: 动作,20表示观察,21表示人机识别,22表示拦截,23表示精准拦截,24表示JS校验
:type ActionType: int
:param _Priority: 优先级
:type Priority: int
:param _ValidTime: 有效时间
:type ValidTime: int
:param _TsVersion: 版本
:type TsVersion: int
:param _Options: 规则详情
:type Options: str
:param _RuleId: 规则ID
:type RuleId: int
:param _EventId: 事件id
:type EventId: str
:param _SessionApplied: 关联的Session规则
:type SessionApplied: list of int
:param _CreateTime: 创建时间
:type CreateTime: int
"""
self._Name = None
self._Status = None
self._Advance = None
self._Limit = None
self._Interval = None
self._Url = None
self._MatchFunc = None
self._ActionType = None
self._Priority = None
self._ValidTime = None
self._TsVersion = None
self._Options = None
self._RuleId = None
self._EventId = None
self._SessionApplied = None
self._CreateTime = None
@property
def Name(self):
"""名字
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Advance(self):
"""模式
:rtype: int
"""
return self._Advance
@Advance.setter
def Advance(self, Advance):
self._Advance = Advance
@property
def Limit(self):
"""限制
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Interval(self):
"""范围
:rtype: int
"""
return self._Interval
@Interval.setter
def Interval(self, Interval):
self._Interval = Interval
@property
def Url(self):
"""网址
:rtype: str
"""
return self._Url
@Url.setter
def Url(self, Url):
self._Url = Url
@property
def MatchFunc(self):
"""匹配类型
:rtype: int
"""
return self._MatchFunc
@MatchFunc.setter
def MatchFunc(self, MatchFunc):
self._MatchFunc = MatchFunc
@property
def ActionType(self):
"""动作,20表示观察,21表示人机识别,22表示拦截,23表示精准拦截,24表示JS校验
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def Priority(self):
"""优先级
:rtype: int
"""
return self._Priority
@Priority.setter
def Priority(self, Priority):
self._Priority = Priority
@property
def ValidTime(self):
"""有效时间
:rtype: int
"""
return self._ValidTime
@ValidTime.setter
def ValidTime(self, ValidTime):
self._ValidTime = ValidTime
@property
def TsVersion(self):
"""版本
:rtype: int
"""
return self._TsVersion
@TsVersion.setter
def TsVersion(self, TsVersion):
self._TsVersion = TsVersion
@property
def Options(self):
"""规则详情
:rtype: str
"""
return self._Options
@Options.setter
def Options(self, Options):
self._Options = Options
@property
def RuleId(self):
"""规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def EventId(self):
"""事件id
:rtype: str
"""
return self._EventId
@EventId.setter
def EventId(self, EventId):
self._EventId = EventId
@property
def SessionApplied(self):
"""关联的Session规则
:rtype: list of int
"""
return self._SessionApplied
@SessionApplied.setter
def SessionApplied(self, SessionApplied):
self._SessionApplied = SessionApplied
@property
def CreateTime(self):
"""创建时间
:rtype: int
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
def _deserialize(self, params):
self._Name = params.get("Name")
self._Status = params.get("Status")
self._Advance = params.get("Advance")
self._Limit = params.get("Limit")
self._Interval = params.get("Interval")
self._Url = params.get("Url")
self._MatchFunc = params.get("MatchFunc")
self._ActionType = params.get("ActionType")
self._Priority = params.get("Priority")
self._ValidTime = params.get("ValidTime")
self._TsVersion = params.get("TsVersion")
self._Options = params.get("Options")
self._RuleId = params.get("RuleId")
self._EventId = params.get("EventId")
self._SessionApplied = params.get("SessionApplied")
self._CreateTime = params.get("CreateTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CCRuleLists(AbstractModel):
"""CC规则总览
"""
def __init__(self):
r"""
:param _TotalCount: 总数
:type TotalCount: int
:param _Res: 规则
:type Res: list of CCRuleItems
"""
self._TotalCount = None
self._Res = None
@property
def TotalCount(self):
"""总数
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Res(self):
"""规则
:rtype: list of CCRuleItems
"""
return self._Res
@Res.setter
def Res(self, Res):
self._Res = Res
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Res") is not None:
self._Res = []
for item in params.get("Res"):
obj = CCRuleItems()
obj._deserialize(item)
self._Res.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CacheUrlItems(AbstractModel):
"""防篡改url元素
"""
def __init__(self):
r"""
:param _Id: 标识
:type Id: int
:param _Name: 名字
:type Name: str
:param _Domain: 域名
:type Domain: str
:param _Uri: 网址
:type Uri: str
:param _Protocol: 协议
:type Protocol: str
:param _Status: 状态
:type Status: int
:param _ModifyTime: 修改时间
:type ModifyTime: str
:param _CreateTime: 创建时间
:type CreateTime: str
"""
self._Id = None
self._Name = None
self._Domain = None
self._Uri = None
self._Protocol = None
self._Status = None
self._ModifyTime = None
self._CreateTime = None
@property
def Id(self):
"""标识
:rtype: int
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def Name(self):
"""名字
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Uri(self):
"""网址
:rtype: str
"""
return self._Uri
@Uri.setter
def Uri(self, Uri):
self._Uri = Uri
@property
def Protocol(self):
"""协议
:rtype: str
"""
return self._Protocol
@Protocol.setter
def Protocol(self, Protocol):
self._Protocol = Protocol
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def ModifyTime(self):
"""修改时间
:rtype: str
"""
return self._ModifyTime
@ModifyTime.setter
def ModifyTime(self, ModifyTime):
self._ModifyTime = ModifyTime
@property
def CreateTime(self):
"""创建时间
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
def _deserialize(self, params):
self._Id = params.get("Id")
self._Name = params.get("Name")
self._Domain = params.get("Domain")
self._Uri = params.get("Uri")
self._Protocol = params.get("Protocol")
self._Status = params.get("Status")
self._ModifyTime = params.get("ModifyTime")
self._CreateTime = params.get("CreateTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CdcCluster(AbstractModel):
"""CDC场景下负载均衡WAF的集群信息
"""
def __init__(self):
r"""
:param _Id: cdc的集群id
:type Id: str
:param _Name: cdc的集群名称
:type Name: str
"""
self._Id = None
self._Name = None
@property
def Id(self):
"""cdc的集群id
:rtype: str
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def Name(self):
"""cdc的集群名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
def _deserialize(self, params):
self._Id = params.get("Id")
self._Name = params.get("Name")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CdcRegion(AbstractModel):
"""CDC场景下负载均衡WAF的地域信息
"""
def __init__(self):
r"""
:param _Region: 地域
:type Region: str
:param _Clusters: 该地域对应的集群信息
:type Clusters: list of CdcCluster
"""
self._Region = None
self._Clusters = None
@property
def Region(self):
"""地域
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def Clusters(self):
"""该地域对应的集群信息
:rtype: list of CdcCluster
"""
return self._Clusters
@Clusters.setter
def Clusters(self, Clusters):
self._Clusters = Clusters
def _deserialize(self, params):
self._Region = params.get("Region")
if params.get("Clusters") is not None:
self._Clusters = []
for item in params.get("Clusters"):
obj = CdcCluster()
obj._deserialize(item)
self._Clusters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ClbDomainsInfo(AbstractModel):
"""负载均衡型WAF域名详情
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名唯一ID
:type DomainId: str
:param _InstanceId: 域名所属实例ID
:type InstanceId: str
:param _InstanceName: 域名所属实例名
:type InstanceName: str
:param _Edition: 域名所属实例类型
:type Edition: str
:param _IsCdn: waf前是否部署有七层代理服务。 0:没有部署代理服务 1:有部署代理服务,waf将使用XFF获取客户端IP 2:有部署代理服务,waf将使用remote_addr获取客户端IP 3:有部署代理服务,waf将使用ip_headers中的自定义header获取客户端IP
:type IsCdn: int
:param _LoadBalancerSet: 负载均衡类型为clb时,对应的负载均衡器信息
:type LoadBalancerSet: list of LoadBalancerPackageNew
:param _FlowMode: 负载均衡型WAF的流量模式,1:清洗模式,0:镜像模式
:type FlowMode: int
:param _State: 域名绑定负载均衡器状态
:type State: int
:param _AlbType: 负载均衡类型,clb或者apisix
:type AlbType: str
:param _IpHeaders: IsCdn=3时,表示自定义header
:type IpHeaders: list of str
:param _CdcClusters: cdc-clb-waf类型WAF的CDC集群信息
:type CdcClusters: str
:param _CloudType: 云类型:public:公有云;private:私有云;hybrid:混合云
:type CloudType: str
:param _Note: 域名备注信息
:type Note: str
:param _Labels: 域名标签
:type Labels: list of str
"""
self._Domain = None
self._DomainId = None
self._InstanceId = None
self._InstanceName = None
self._Edition = None
self._IsCdn = None
self._LoadBalancerSet = None
self._FlowMode = None
self._State = None
self._AlbType = None
self._IpHeaders = None
self._CdcClusters = None
self._CloudType = None
self._Note = None
self._Labels = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名唯一ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def InstanceId(self):
"""域名所属实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def InstanceName(self):
"""域名所属实例名
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def Edition(self):
"""域名所属实例类型
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def IsCdn(self):
"""waf前是否部署有七层代理服务。 0:没有部署代理服务 1:有部署代理服务,waf将使用XFF获取客户端IP 2:有部署代理服务,waf将使用remote_addr获取客户端IP 3:有部署代理服务,waf将使用ip_headers中的自定义header获取客户端IP
:rtype: int
"""
return self._IsCdn
@IsCdn.setter
def IsCdn(self, IsCdn):
self._IsCdn = IsCdn
@property
def LoadBalancerSet(self):
"""负载均衡类型为clb时,对应的负载均衡器信息
:rtype: list of LoadBalancerPackageNew
"""
return self._LoadBalancerSet
@LoadBalancerSet.setter
def LoadBalancerSet(self, LoadBalancerSet):
self._LoadBalancerSet = LoadBalancerSet
@property
def FlowMode(self):
"""负载均衡型WAF的流量模式,1:清洗模式,0:镜像模式
:rtype: int
"""
return self._FlowMode
@FlowMode.setter
def FlowMode(self, FlowMode):
self._FlowMode = FlowMode
@property
def State(self):
"""域名绑定负载均衡器状态
:rtype: int
"""
return self._State
@State.setter
def State(self, State):
self._State = State
@property
def AlbType(self):
"""负载均衡类型,clb或者apisix
:rtype: str
"""
return self._AlbType
@AlbType.setter
def AlbType(self, AlbType):
self._AlbType = AlbType
@property
def IpHeaders(self):
"""IsCdn=3时,表示自定义header
:rtype: list of str
"""
return self._IpHeaders
@IpHeaders.setter
def IpHeaders(self, IpHeaders):
self._IpHeaders = IpHeaders
@property
def CdcClusters(self):
"""cdc-clb-waf类型WAF的CDC集群信息
:rtype: str
"""
return self._CdcClusters
@CdcClusters.setter
def CdcClusters(self, CdcClusters):
self._CdcClusters = CdcClusters
@property
def CloudType(self):
"""云类型:public:公有云;private:私有云;hybrid:混合云
:rtype: str
"""
return self._CloudType
@CloudType.setter
def CloudType(self, CloudType):
self._CloudType = CloudType
@property
def Note(self):
"""域名备注信息
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
@property
def Labels(self):
"""域名标签
:rtype: list of str
"""
return self._Labels
@Labels.setter
def Labels(self, Labels):
self._Labels = Labels
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._InstanceId = params.get("InstanceId")
self._InstanceName = params.get("InstanceName")
self._Edition = params.get("Edition")
self._IsCdn = params.get("IsCdn")
if params.get("LoadBalancerSet") is not None:
self._LoadBalancerSet = []
for item in params.get("LoadBalancerSet"):
obj = LoadBalancerPackageNew()
obj._deserialize(item)
self._LoadBalancerSet.append(obj)
self._FlowMode = params.get("FlowMode")
self._State = params.get("State")
self._AlbType = params.get("AlbType")
self._IpHeaders = params.get("IpHeaders")
self._CdcClusters = params.get("CdcClusters")
self._CloudType = params.get("CloudType")
self._Note = params.get("Note")
self._Labels = params.get("Labels")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ClbObject(AbstractModel):
"""Clb类型防护对象
"""
def __init__(self):
r"""
:param _ObjectId: 对象ID
:type ObjectId: str
:param _InstanceId: 实例ID
:type InstanceId: str
:param _InstanceName: 实例名称
:type InstanceName: str
:param _PreciseDomains: 精准域名列表
:type PreciseDomains: list of str
:param _Status: WAF功能开关状态,0关闭1开启
:type Status: int
:param _ClsStatus: WAF日志开关状态,0关闭1开启
:type ClsStatus: int
:param _VirtualDomain: CLB对象对应的虚拟域名
:type VirtualDomain: str
:param _ObjectName: 对象名称
:type ObjectName: str
:param _PublicIp: 公网地址
:type PublicIp: list of str
:param _PrivateIp: 内网地址
:type PrivateIp: list of str
:param _VpcName: VPC名称
:type VpcName: str
:param _Vpc: VPC ID
:type Vpc: str
:param _InstanceLevel: waf实例等级,如果未绑定实例为0
:type InstanceLevel: int
:param _PostCLSStatus: clb投递开关
:type PostCLSStatus: int
:param _PostCKafkaStatus: kafka投递开关
:type PostCKafkaStatus: int
:param _Type: 对象类型:CLB:负载均衡器,TSE:云原生网关
:type Type: str
:param _Region: 对象地域
:type Region: str
:param _Proxy: 代理状态: 0:不开启,1:以XFF的第一个IP地址作为客户端IP,2:以remote_addr作为客户端IP,3:从指定的头部字段获取客户端IP,字段通过IpHeaders字段给出
:type Proxy: int
:param _IpHeaders: 指定获取客户端IP的头部字段列表。IsCdn为3时有效
:type IpHeaders: list of str
:param _BotStatus: bot防护开关
:type BotStatus: int
:param _ApiStatus: api防护开关
:type ApiStatus: int
:param _ObjectFlowMode: 对象接入模式,0表示镜像模式,1表示清洗模式,2表示体检模式,默认为清洗模式
:type ObjectFlowMode: int
:param _NumericalVpcId: 数值形式的私有网络 ID
:type NumericalVpcId: int
"""
self._ObjectId = None
self._InstanceId = None
self._InstanceName = None
self._PreciseDomains = None
self._Status = None
self._ClsStatus = None
self._VirtualDomain = None
self._ObjectName = None
self._PublicIp = None
self._PrivateIp = None
self._VpcName = None
self._Vpc = None
self._InstanceLevel = None
self._PostCLSStatus = None
self._PostCKafkaStatus = None
self._Type = None
self._Region = None
self._Proxy = None
self._IpHeaders = None
self._BotStatus = None
self._ApiStatus = None
self._ObjectFlowMode = None
self._NumericalVpcId = None
@property
def ObjectId(self):
"""对象ID
:rtype: str
"""
return self._ObjectId
@ObjectId.setter
def ObjectId(self, ObjectId):
self._ObjectId = ObjectId
@property
def InstanceId(self):
"""实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def InstanceName(self):
"""实例名称
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def PreciseDomains(self):
"""精准域名列表
:rtype: list of str
"""
return self._PreciseDomains
@PreciseDomains.setter
def PreciseDomains(self, PreciseDomains):
self._PreciseDomains = PreciseDomains
@property
def Status(self):
"""WAF功能开关状态,0关闭1开启
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def ClsStatus(self):
"""WAF日志开关状态,0关闭1开启
:rtype: int
"""
return self._ClsStatus
@ClsStatus.setter
def ClsStatus(self, ClsStatus):
self._ClsStatus = ClsStatus
@property
def VirtualDomain(self):
"""CLB对象对应的虚拟域名
:rtype: str
"""
return self._VirtualDomain
@VirtualDomain.setter
def VirtualDomain(self, VirtualDomain):
self._VirtualDomain = VirtualDomain
@property
def ObjectName(self):
"""对象名称
:rtype: str
"""
return self._ObjectName
@ObjectName.setter
def ObjectName(self, ObjectName):
self._ObjectName = ObjectName
@property
def PublicIp(self):
"""公网地址
:rtype: list of str
"""
return self._PublicIp
@PublicIp.setter
def PublicIp(self, PublicIp):
self._PublicIp = PublicIp
@property
def PrivateIp(self):
"""内网地址
:rtype: list of str
"""
return self._PrivateIp
@PrivateIp.setter
def PrivateIp(self, PrivateIp):
self._PrivateIp = PrivateIp
@property
def VpcName(self):
"""VPC名称
:rtype: str
"""
return self._VpcName
@VpcName.setter
def VpcName(self, VpcName):
self._VpcName = VpcName
@property
def Vpc(self):
"""VPC ID
:rtype: str
"""
return self._Vpc
@Vpc.setter
def Vpc(self, Vpc):
self._Vpc = Vpc
@property
def InstanceLevel(self):
"""waf实例等级,如果未绑定实例为0
:rtype: int
"""
return self._InstanceLevel
@InstanceLevel.setter
def InstanceLevel(self, InstanceLevel):
self._InstanceLevel = InstanceLevel
@property
def PostCLSStatus(self):
"""clb投递开关
:rtype: int
"""
return self._PostCLSStatus
@PostCLSStatus.setter
def PostCLSStatus(self, PostCLSStatus):
self._PostCLSStatus = PostCLSStatus
@property
def PostCKafkaStatus(self):
"""kafka投递开关
:rtype: int
"""
return self._PostCKafkaStatus
@PostCKafkaStatus.setter
def PostCKafkaStatus(self, PostCKafkaStatus):
self._PostCKafkaStatus = PostCKafkaStatus
@property
def Type(self):
"""对象类型:CLB:负载均衡器,TSE:云原生网关
:rtype: str
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def Region(self):
"""对象地域
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def Proxy(self):
"""代理状态: 0:不开启,1:以XFF的第一个IP地址作为客户端IP,2:以remote_addr作为客户端IP,3:从指定的头部字段获取客户端IP,字段通过IpHeaders字段给出
:rtype: int
"""
return self._Proxy
@Proxy.setter
def Proxy(self, Proxy):
self._Proxy = Proxy
@property
def IpHeaders(self):
"""指定获取客户端IP的头部字段列表。IsCdn为3时有效
:rtype: list of str
"""
return self._IpHeaders
@IpHeaders.setter
def IpHeaders(self, IpHeaders):
self._IpHeaders = IpHeaders
@property
def BotStatus(self):
"""bot防护开关
:rtype: int
"""
return self._BotStatus
@BotStatus.setter
def BotStatus(self, BotStatus):
self._BotStatus = BotStatus
@property
def ApiStatus(self):
"""api防护开关
:rtype: int
"""
return self._ApiStatus
@ApiStatus.setter
def ApiStatus(self, ApiStatus):
self._ApiStatus = ApiStatus
@property
def ObjectFlowMode(self):
"""对象接入模式,0表示镜像模式,1表示清洗模式,2表示体检模式,默认为清洗模式
:rtype: int
"""
return self._ObjectFlowMode
@ObjectFlowMode.setter
def ObjectFlowMode(self, ObjectFlowMode):
self._ObjectFlowMode = ObjectFlowMode
@property
def NumericalVpcId(self):
"""数值形式的私有网络 ID
:rtype: int
"""
return self._NumericalVpcId
@NumericalVpcId.setter
def NumericalVpcId(self, NumericalVpcId):
self._NumericalVpcId = NumericalVpcId
def _deserialize(self, params):
self._ObjectId = params.get("ObjectId")
self._InstanceId = params.get("InstanceId")
self._InstanceName = params.get("InstanceName")
self._PreciseDomains = params.get("PreciseDomains")
self._Status = params.get("Status")
self._ClsStatus = params.get("ClsStatus")
self._VirtualDomain = params.get("VirtualDomain")
self._ObjectName = params.get("ObjectName")
self._PublicIp = params.get("PublicIp")
self._PrivateIp = params.get("PrivateIp")
self._VpcName = params.get("VpcName")
self._Vpc = params.get("Vpc")
self._InstanceLevel = params.get("InstanceLevel")
self._PostCLSStatus = params.get("PostCLSStatus")
self._PostCKafkaStatus = params.get("PostCKafkaStatus")
self._Type = params.get("Type")
self._Region = params.get("Region")
self._Proxy = params.get("Proxy")
self._IpHeaders = params.get("IpHeaders")
self._BotStatus = params.get("BotStatus")
self._ApiStatus = params.get("ApiStatus")
self._ObjectFlowMode = params.get("ObjectFlowMode")
self._NumericalVpcId = params.get("NumericalVpcId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ClbWafRegionItem(AbstractModel):
"""Clb-waf地域信息
"""
def __init__(self):
r"""
:param _Id: 地域ID
:type Id: str
:param _Text: 地域中文说明
:type Text: str
:param _Value: 地域英文全拼
:type Value: str
:param _Code: 地域编码
:type Code: str
"""
self._Id = None
self._Text = None
self._Value = None
self._Code = None
@property
def Id(self):
"""地域ID
:rtype: str
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def Text(self):
"""地域中文说明
:rtype: str
"""
return self._Text
@Text.setter
def Text(self, Text):
self._Text = Text
@property
def Value(self):
"""地域英文全拼
:rtype: str
"""
return self._Value
@Value.setter
def Value(self, Value):
self._Value = Value
@property
def Code(self):
"""地域编码
:rtype: str
"""
return self._Code
@Code.setter
def Code(self, Code):
self._Code = Code
def _deserialize(self, params):
self._Id = params.get("Id")
self._Text = params.get("Text")
self._Value = params.get("Value")
self._Code = params.get("Code")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CommonRspData(AbstractModel):
"""通用返回
"""
def __init__(self):
r"""
:param _Code: 操作结果
:type Code: int
:param _Msg: 输出信息
:type Msg: str
"""
self._Code = None
self._Msg = None
@property
def Code(self):
"""操作结果
:rtype: int
"""
return self._Code
@Code.setter
def Code(self, Code):
self._Code = Code
@property
def Msg(self):
"""输出信息
:rtype: str
"""
return self._Msg
@Msg.setter
def Msg(self, Msg):
self._Msg = Msg
def _deserialize(self, params):
self._Code = params.get("Code")
self._Msg = params.get("Msg")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateAccessExportRequest(AbstractModel):
"""CreateAccessExport请求参数结构体
"""
def __init__(self):
r"""
:param _TopicId: 客户要查询的日志主题ID,每个客户都有对应的一个主题
:type TopicId: str
:param _From: 要查询的日志的起始时间,Unix时间戳,单位ms
:type From: int
:param _To: 要查询的日志的结束时间,Unix时间戳,单位ms
:type To: int
:param _Query: 日志导出检索语句
:type Query: str
:param _Count: 日志导出数量,最大值100w
:type Count: int
:param _Format: 日志导出数据格式。json,csv,默认为json
:type Format: str
:param _Order: 日志导出时间排序。desc,asc,默认为desc
:type Order: str
"""
self._TopicId = None
self._From = None
self._To = None
self._Query = None
self._Count = None
self._Format = None
self._Order = None
@property
def TopicId(self):
"""客户要查询的日志主题ID,每个客户都有对应的一个主题
:rtype: str
"""
return self._TopicId
@TopicId.setter
def TopicId(self, TopicId):
self._TopicId = TopicId
@property
def From(self):
"""要查询的日志的起始时间,Unix时间戳,单位ms
:rtype: int
"""
return self._From
@From.setter
def From(self, From):
self._From = From
@property
def To(self):
"""要查询的日志的结束时间,Unix时间戳,单位ms
:rtype: int
"""
return self._To
@To.setter
def To(self, To):
self._To = To
@property
def Query(self):
"""日志导出检索语句
:rtype: str
"""
return self._Query
@Query.setter
def Query(self, Query):
self._Query = Query
@property
def Count(self):
"""日志导出数量,最大值100w
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Format(self):
"""日志导出数据格式。json,csv,默认为json
:rtype: str
"""
return self._Format
@Format.setter
def Format(self, Format):
self._Format = Format
@property
def Order(self):
"""日志导出时间排序。desc,asc,默认为desc
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
def _deserialize(self, params):
self._TopicId = params.get("TopicId")
self._From = params.get("From")
self._To = params.get("To")
self._Query = params.get("Query")
self._Count = params.get("Count")
self._Format = params.get("Format")
self._Order = params.get("Order")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateAccessExportResponse(AbstractModel):
"""CreateAccessExport返回参数结构体
"""
def __init__(self):
r"""
:param _ExportId: 日志导出ID。
:type ExportId: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._ExportId = None
self._RequestId = None
@property
def ExportId(self):
"""日志导出ID。
:rtype: str
"""
return self._ExportId
@ExportId.setter
def ExportId(self, ExportId):
self._ExportId = ExportId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._ExportId = params.get("ExportId")
self._RequestId = params.get("RequestId")
class CreateAreaBanRuleRequest(AbstractModel):
"""CreateAreaBanRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要修改的域名
:type Domain: str
:param _Areas: 需要新增的封禁地域
:type Areas: list of Area
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 定时任务配置
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
:param _Lang: 地域信息的语言,支持cn、en,默认为中文cn
:type Lang: str
"""
self._Domain = None
self._Areas = None
self._JobType = None
self._JobDateTime = None
self._Lang = None
@property
def Domain(self):
"""需要修改的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Areas(self):
"""需要新增的封禁地域
:rtype: list of Area
"""
return self._Areas
@Areas.setter
def Areas(self, Areas):
self._Areas = Areas
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时任务配置
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
@property
def Lang(self):
"""地域信息的语言,支持cn、en,默认为中文cn
:rtype: str
"""
return self._Lang
@Lang.setter
def Lang(self, Lang):
self._Lang = Lang
def _deserialize(self, params):
self._Domain = params.get("Domain")
if params.get("Areas") is not None:
self._Areas = []
for item in params.get("Areas"):
obj = Area()
obj._deserialize(item)
self._Areas.append(obj)
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
self._Lang = params.get("Lang")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateAreaBanRuleResponse(AbstractModel):
"""CreateAreaBanRule返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class CreateDealsGoods(AbstractModel):
"""计费下单接口出入参Goods
"""
def __init__(self):
r"""
:param _GoodsNum: 商品数量
:type GoodsNum: int
:param _GoodsDetail: 商品明细
:type GoodsDetail: :class:`tencentcloud.waf.v20180125.models.CreateDealsGoodsDetail`
:param _GoodsCategoryId: 订单类型ID,用来唯一标识一个业务的一种场景(总共三种场景:新购、配置变更、续费)
高级版: 102375(新购),102376(续费),102377(变配)
企业版 : 102378(新购),102379(续费),102380(变配)
旗舰版 : 102369(新购),102370(续费),102371(变配)
域名包 : 102372(新购),102373(续费),102374(变配)
业务扩展包 : 101040(新购),101041(续费),101042(变配)
高级版-CLB: 新购 101198 续费 101199 变配 101200
企业版-CLB 101204(新购),101205(续费),101206(变配)
旗舰版-CLB : 101201(新购),101202(续费),101203(变配)
域名包-CLB: 101207(新购),101208(续费),101209(变配)
业务扩展包-CLB: 101210(新购),101211(续费),101212(变配)
:type GoodsCategoryId: int
:param _RegionId: 购买waf实例区域ID
1 表示购买大陆资源;
9表示购买非中国大陆资源
:type RegionId: int
"""
self._GoodsNum = None
self._GoodsDetail = None
self._GoodsCategoryId = None
self._RegionId = None
@property
def GoodsNum(self):
"""商品数量
:rtype: int
"""
return self._GoodsNum
@GoodsNum.setter
def GoodsNum(self, GoodsNum):
self._GoodsNum = GoodsNum
@property
def GoodsDetail(self):
"""商品明细
:rtype: :class:`tencentcloud.waf.v20180125.models.CreateDealsGoodsDetail`
"""
return self._GoodsDetail
@GoodsDetail.setter
def GoodsDetail(self, GoodsDetail):
self._GoodsDetail = GoodsDetail
@property
def GoodsCategoryId(self):
"""订单类型ID,用来唯一标识一个业务的一种场景(总共三种场景:新购、配置变更、续费)
高级版: 102375(新购),102376(续费),102377(变配)
企业版 : 102378(新购),102379(续费),102380(变配)
旗舰版 : 102369(新购),102370(续费),102371(变配)
域名包 : 102372(新购),102373(续费),102374(变配)
业务扩展包 : 101040(新购),101041(续费),101042(变配)
高级版-CLB: 新购 101198 续费 101199 变配 101200
企业版-CLB 101204(新购),101205(续费),101206(变配)
旗舰版-CLB : 101201(新购),101202(续费),101203(变配)
域名包-CLB: 101207(新购),101208(续费),101209(变配)
业务扩展包-CLB: 101210(新购),101211(续费),101212(变配)
:rtype: int
"""
return self._GoodsCategoryId
@GoodsCategoryId.setter
def GoodsCategoryId(self, GoodsCategoryId):
self._GoodsCategoryId = GoodsCategoryId
@property
def RegionId(self):
"""购买waf实例区域ID
1 表示购买大陆资源;
9表示购买非中国大陆资源
:rtype: int
"""
return self._RegionId
@RegionId.setter
def RegionId(self, RegionId):
self._RegionId = RegionId
def _deserialize(self, params):
self._GoodsNum = params.get("GoodsNum")
if params.get("GoodsDetail") is not None:
self._GoodsDetail = CreateDealsGoodsDetail()
self._GoodsDetail._deserialize(params.get("GoodsDetail"))
self._GoodsCategoryId = params.get("GoodsCategoryId")
self._RegionId = params.get("RegionId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateDealsGoodsDetail(AbstractModel):
"""产品明细
"""
def __init__(self):
r"""
:param _TimeSpan: 时间间隔
:type TimeSpan: int
:param _TimeUnit: 单位,支持购买d、m、y 即(日、月、年)
:type TimeUnit: str
:param _SubProductCode: 子产品标签,。新购,续费必传,变配时放在oldConfig newConfig里面
Saas 高级版 :sp_wsm_waf_premium
Saas企业版 :sp_wsm_waf_enterprise
Saas旗舰版 :sp_wsm_waf_ultimate
Saas 业务扩展包:sp_wsm_waf_qpsep
Saas 域名扩展包:sp_wsm_waf_domain
高级版-CLB:sp_wsm_waf_premium_clb
企业版-CLB : sp_wsm_waf_enterprise_clb
旗舰版-CLB:sp_wsm_waf_ultimate_clb
业务扩展包-CLB:sp_wsm_waf_qpsep_clb
域名扩展包-CLB:sp_wsm_waf_domain_clb
:type SubProductCode: str
:param _Pid: 业务产品申请的pid(对应一个定价公式),通过pid计费查询到定价模型
高级版 :1000827
企业版 :1000830
旗舰版 :1000832
域名包 : 1000834
业务扩展包 : 1000481
高级版-CLB:1001150
企业版-CLB : 1001152
旗舰版-CLB:1001154
域名包-CLB: 1001156
业务扩展包-CLB : 1001160
:type Pid: int
:param _InstanceName: waf实例名
:type InstanceName: str
:param _AutoRenewFlag: 1:自动续费,0:不自动续费
:type AutoRenewFlag: int
:param _RealRegion: waf购买的实际地域信息
:type RealRegion: int
:param _LabelTypes: 计费细项标签数组
Saas 高级版 sv_wsm_waf_package_premium
Saas 企业版 sv_wsm_waf_package_enterprise
Saas 旗舰版 sv_wsm_waf_package_ultimate
Saas 非中国大陆高级版 sv_wsm_waf_package_premium_intl
Saas 非中国大陆企业版 sv_wsm_waf_package_enterprise_intl
Saas 非中国大陆旗舰版 sv_wsm_waf_package_ultimate _intl
Saas 业务扩展包 sv_wsm_waf_qps_ep
Saas 域名扩展包 sv_wsm_waf_domain
高级版CLB sv_wsm_waf_package_premium_clb
企业版CLB sv_wsm_waf_package_enterprise_clb
旗舰版CLB sv_wsm_waf_package_ultimate_clb
非中国大陆高级版 CLB sv_wsm_waf_package_premium_clb_intl
非中国大陆企业版CLB sv_wsm_waf_package_premium_clb_intl
非中国大陆旗舰版CLB sv_wsm_waf_package_ultimate_clb _intl
业务扩展包CLB sv_wsm_waf_qps_ep_clb
域名扩展包CLB sv_wsm_waf_domain_clb
:type LabelTypes: list of str
:param _LabelCounts: 计费细项标签数量,一般和SvLabelType一一对应
:type LabelCounts: list of int
:param _CurDeadline: 变配使用,实例到期时间
:type CurDeadline: str
:param _InstanceId: 对存在的实例购买bot 或api 安全
:type InstanceId: str
:param _ResourceId: 资源id
:type ResourceId: str
"""
self._TimeSpan = None
self._TimeUnit = None
self._SubProductCode = None
self._Pid = None
self._InstanceName = None
self._AutoRenewFlag = None
self._RealRegion = None
self._LabelTypes = None
self._LabelCounts = None
self._CurDeadline = None
self._InstanceId = None
self._ResourceId = None
@property
def TimeSpan(self):
"""时间间隔
:rtype: int
"""
return self._TimeSpan
@TimeSpan.setter
def TimeSpan(self, TimeSpan):
self._TimeSpan = TimeSpan
@property
def TimeUnit(self):
"""单位,支持购买d、m、y 即(日、月、年)
:rtype: str
"""
return self._TimeUnit
@TimeUnit.setter
def TimeUnit(self, TimeUnit):
self._TimeUnit = TimeUnit
@property
def SubProductCode(self):
"""子产品标签,。新购,续费必传,变配时放在oldConfig newConfig里面
Saas 高级版 :sp_wsm_waf_premium
Saas企业版 :sp_wsm_waf_enterprise
Saas旗舰版 :sp_wsm_waf_ultimate
Saas 业务扩展包:sp_wsm_waf_qpsep
Saas 域名扩展包:sp_wsm_waf_domain
高级版-CLB:sp_wsm_waf_premium_clb
企业版-CLB : sp_wsm_waf_enterprise_clb
旗舰版-CLB:sp_wsm_waf_ultimate_clb
业务扩展包-CLB:sp_wsm_waf_qpsep_clb
域名扩展包-CLB:sp_wsm_waf_domain_clb
:rtype: str
"""
return self._SubProductCode
@SubProductCode.setter
def SubProductCode(self, SubProductCode):
self._SubProductCode = SubProductCode
@property
def Pid(self):
"""业务产品申请的pid(对应一个定价公式),通过pid计费查询到定价模型
高级版 :1000827
企业版 :1000830
旗舰版 :1000832
域名包 : 1000834
业务扩展包 : 1000481
高级版-CLB:1001150
企业版-CLB : 1001152
旗舰版-CLB:1001154
域名包-CLB: 1001156
业务扩展包-CLB : 1001160
:rtype: int
"""
return self._Pid
@Pid.setter
def Pid(self, Pid):
self._Pid = Pid
@property
def InstanceName(self):
"""waf实例名
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def AutoRenewFlag(self):
"""1:自动续费,0:不自动续费
:rtype: int
"""
return self._AutoRenewFlag
@AutoRenewFlag.setter
def AutoRenewFlag(self, AutoRenewFlag):
self._AutoRenewFlag = AutoRenewFlag
@property
def RealRegion(self):
"""waf购买的实际地域信息
:rtype: int
"""
return self._RealRegion
@RealRegion.setter
def RealRegion(self, RealRegion):
self._RealRegion = RealRegion
@property
def LabelTypes(self):
"""计费细项标签数组
Saas 高级版 sv_wsm_waf_package_premium
Saas 企业版 sv_wsm_waf_package_enterprise
Saas 旗舰版 sv_wsm_waf_package_ultimate
Saas 非中国大陆高级版 sv_wsm_waf_package_premium_intl
Saas 非中国大陆企业版 sv_wsm_waf_package_enterprise_intl
Saas 非中国大陆旗舰版 sv_wsm_waf_package_ultimate _intl
Saas 业务扩展包 sv_wsm_waf_qps_ep
Saas 域名扩展包 sv_wsm_waf_domain
高级版CLB sv_wsm_waf_package_premium_clb
企业版CLB sv_wsm_waf_package_enterprise_clb
旗舰版CLB sv_wsm_waf_package_ultimate_clb
非中国大陆高级版 CLB sv_wsm_waf_package_premium_clb_intl
非中国大陆企业版CLB sv_wsm_waf_package_premium_clb_intl
非中国大陆旗舰版CLB sv_wsm_waf_package_ultimate_clb _intl
业务扩展包CLB sv_wsm_waf_qps_ep_clb
域名扩展包CLB sv_wsm_waf_domain_clb
:rtype: list of str
"""
return self._LabelTypes
@LabelTypes.setter
def LabelTypes(self, LabelTypes):
self._LabelTypes = LabelTypes
@property
def LabelCounts(self):
"""计费细项标签数量,一般和SvLabelType一一对应
:rtype: list of int
"""
return self._LabelCounts
@LabelCounts.setter
def LabelCounts(self, LabelCounts):
self._LabelCounts = LabelCounts
@property
def CurDeadline(self):
"""变配使用,实例到期时间
:rtype: str
"""
return self._CurDeadline
@CurDeadline.setter
def CurDeadline(self, CurDeadline):
self._CurDeadline = CurDeadline
@property
def InstanceId(self):
"""对存在的实例购买bot 或api 安全
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def ResourceId(self):
"""资源id
:rtype: str
"""
return self._ResourceId
@ResourceId.setter
def ResourceId(self, ResourceId):
self._ResourceId = ResourceId
def _deserialize(self, params):
self._TimeSpan = params.get("TimeSpan")
self._TimeUnit = params.get("TimeUnit")
self._SubProductCode = params.get("SubProductCode")
self._Pid = params.get("Pid")
self._InstanceName = params.get("InstanceName")
self._AutoRenewFlag = params.get("AutoRenewFlag")
self._RealRegion = params.get("RealRegion")
self._LabelTypes = params.get("LabelTypes")
self._LabelCounts = params.get("LabelCounts")
self._CurDeadline = params.get("CurDeadline")
self._InstanceId = params.get("InstanceId")
self._ResourceId = params.get("ResourceId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateDealsRequest(AbstractModel):
"""CreateDeals请求参数结构体
"""
def __init__(self):
r"""
:param _Goods: 计费下单入参
:type Goods: list of CreateDealsGoods
"""
self._Goods = None
@property
def Goods(self):
"""计费下单入参
:rtype: list of CreateDealsGoods
"""
return self._Goods
@Goods.setter
def Goods(self, Goods):
self._Goods = Goods
def _deserialize(self, params):
if params.get("Goods") is not None:
self._Goods = []
for item in params.get("Goods"):
obj = CreateDealsGoods()
obj._deserialize(item)
self._Goods.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateDealsResponse(AbstractModel):
"""CreateDeals返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 计费下单响应结构体
:type Data: :class:`tencentcloud.waf.v20180125.models.DealData`
:param _Status: 1:成功,0:失败
:type Status: int
:param _ReturnMessage: 返回message
:type ReturnMessage: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._Status = None
self._ReturnMessage = None
self._RequestId = None
@property
def Data(self):
"""计费下单响应结构体
:rtype: :class:`tencentcloud.waf.v20180125.models.DealData`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def Status(self):
"""1:成功,0:失败
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def ReturnMessage(self):
"""返回message
:rtype: str
"""
return self._ReturnMessage
@ReturnMessage.setter
def ReturnMessage(self, ReturnMessage):
self._ReturnMessage = ReturnMessage
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = DealData()
self._Data._deserialize(params.get("Data"))
self._Status = params.get("Status")
self._ReturnMessage = params.get("ReturnMessage")
self._RequestId = params.get("RequestId")
class CreateHostRequest(AbstractModel):
"""CreateHost请求参数结构体
"""
def __init__(self):
r"""
:param _Host: 防护域名配置信息
:type Host: :class:`tencentcloud.waf.v20180125.models.HostRecord`
:param _InstanceID: 实例id
:type InstanceID: str
"""
self._Host = None
self._InstanceID = None
@property
def Host(self):
"""防护域名配置信息
:rtype: :class:`tencentcloud.waf.v20180125.models.HostRecord`
"""
return self._Host
@Host.setter
def Host(self, Host):
self._Host = Host
@property
def InstanceID(self):
"""实例id
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
if params.get("Host") is not None:
self._Host = HostRecord()
self._Host._deserialize(params.get("Host"))
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateHostResponse(AbstractModel):
"""CreateHost返回参数结构体
"""
def __init__(self):
r"""
:param _DomainId: 新增防护域名ID
:type DomainId: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._DomainId = None
self._RequestId = None
@property
def DomainId(self):
"""新增防护域名ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._DomainId = params.get("DomainId")
self._RequestId = params.get("RequestId")
class CreateIpAccessControlRequest(AbstractModel):
"""CreateIpAccessControl请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 具体域名如:test.qcloudwaf.com
全局域名为:global
:type Domain: str
:param _IpList: ip参数列表
:type IpList: list of str
:param _ActionType: 42为黑名单,40为白名单
:type ActionType: int
:param _ValidTS: valid_ts为有效日期,值为秒级时间戳((如1680570420代表2023-04-04 09:07:00))
:type ValidTS: int
:param _InstanceId: 实例Id
:type InstanceId: str
:param _Edition: WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF
:type Edition: str
:param _SourceType: 可选值为:batch(批量添加)、bot(BOT流量分析中的BOT详情列表中添加时)、cc(在攻击日志列表中对攻击类型为CC的IP添加时)、custom(非批量添加时的默认值)
:type SourceType: str
:param _Note: 备注
:type Note: str
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 定时配置详情
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
self._Domain = None
self._IpList = None
self._ActionType = None
self._ValidTS = None
self._InstanceId = None
self._Edition = None
self._SourceType = None
self._Note = None
self._JobType = None
self._JobDateTime = None
@property
def Domain(self):
"""具体域名如:test.qcloudwaf.com
全局域名为:global
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def IpList(self):
"""ip参数列表
:rtype: list of str
"""
return self._IpList
@IpList.setter
def IpList(self, IpList):
self._IpList = IpList
@property
def ActionType(self):
"""42为黑名单,40为白名单
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def ValidTS(self):
warnings.warn("parameter `ValidTS` is deprecated", DeprecationWarning)
"""valid_ts为有效日期,值为秒级时间戳((如1680570420代表2023-04-04 09:07:00))
:rtype: int
"""
return self._ValidTS
@ValidTS.setter
def ValidTS(self, ValidTS):
warnings.warn("parameter `ValidTS` is deprecated", DeprecationWarning)
self._ValidTS = ValidTS
@property
def InstanceId(self):
"""实例Id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Edition(self):
"""WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def SourceType(self):
"""可选值为:batch(批量添加)、bot(BOT流量分析中的BOT详情列表中添加时)、cc(在攻击日志列表中对攻击类型为CC的IP添加时)、custom(非批量添加时的默认值)
:rtype: str
"""
return self._SourceType
@SourceType.setter
def SourceType(self, SourceType):
self._SourceType = SourceType
@property
def Note(self):
"""备注
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时配置详情
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._IpList = params.get("IpList")
self._ActionType = params.get("ActionType")
self._ValidTS = params.get("ValidTS")
self._InstanceId = params.get("InstanceId")
self._Edition = params.get("Edition")
self._SourceType = params.get("SourceType")
self._Note = params.get("Note")
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateIpAccessControlResponse(AbstractModel):
"""CreateIpAccessControl返回参数结构体
"""
def __init__(self):
r"""
:param _RuleId: 新增的规则对应的ID
:type RuleId: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RuleId = None
self._RequestId = None
@property
def RuleId(self):
"""新增的规则对应的ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RuleId = params.get("RuleId")
self._RequestId = params.get("RequestId")
class CronJob(AbstractModel):
"""规则周期执行的数据结构
"""
def __init__(self):
r"""
:param _Days: 每个月的几号执行
:type Days: list of int non-negative
:param _WDays: 每个星期的星期几执行
:type WDays: list of int non-negative
:param _StartTime: 开始时间
:type StartTime: str
:param _EndTime: 结束时间
:type EndTime: str
"""
self._Days = None
self._WDays = None
self._StartTime = None
self._EndTime = None
@property
def Days(self):
"""每个月的几号执行
:rtype: list of int non-negative
"""
return self._Days
@Days.setter
def Days(self, Days):
self._Days = Days
@property
def WDays(self):
"""每个星期的星期几执行
:rtype: list of int non-negative
"""
return self._WDays
@WDays.setter
def WDays(self, WDays):
self._WDays = WDays
@property
def StartTime(self):
"""开始时间
:rtype: str
"""
return self._StartTime
@StartTime.setter
def StartTime(self, StartTime):
self._StartTime = StartTime
@property
def EndTime(self):
"""结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
def _deserialize(self, params):
self._Days = params.get("Days")
self._WDays = params.get("WDays")
self._StartTime = params.get("StartTime")
self._EndTime = params.get("EndTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DealData(AbstractModel):
"""计费下单响应实体
"""
def __init__(self):
r"""
:param _DealNames: 订单号列表,元素个数与请求包的goods数组的元素个数一致,商品详情与订单按顺序对应
:type DealNames: list of str
:param _BigDealId: 大订单号,一个大订单号下可以有多个子订单,说明是同一次下单[{},{}]
:type BigDealId: str
"""
self._DealNames = None
self._BigDealId = None
@property
def DealNames(self):
"""订单号列表,元素个数与请求包的goods数组的元素个数一致,商品详情与订单按顺序对应
:rtype: list of str
"""
return self._DealNames
@DealNames.setter
def DealNames(self, DealNames):
self._DealNames = DealNames
@property
def BigDealId(self):
"""大订单号,一个大订单号下可以有多个子订单,说明是同一次下单[{},{}]
:rtype: str
"""
return self._BigDealId
@BigDealId.setter
def BigDealId(self, BigDealId):
self._BigDealId = BigDealId
def _deserialize(self, params):
self._DealNames = params.get("DealNames")
self._BigDealId = params.get("BigDealId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteAccessExportRequest(AbstractModel):
"""DeleteAccessExport请求参数结构体
"""
def __init__(self):
r"""
:param _ExportId: 日志导出ID
:type ExportId: str
:param _TopicId: 日志主题
:type TopicId: str
"""
self._ExportId = None
self._TopicId = None
@property
def ExportId(self):
"""日志导出ID
:rtype: str
"""
return self._ExportId
@ExportId.setter
def ExportId(self, ExportId):
self._ExportId = ExportId
@property
def TopicId(self):
"""日志主题
:rtype: str
"""
return self._TopicId
@TopicId.setter
def TopicId(self, TopicId):
self._TopicId = TopicId
def _deserialize(self, params):
self._ExportId = params.get("ExportId")
self._TopicId = params.get("TopicId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteAccessExportResponse(AbstractModel):
"""DeleteAccessExport返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DeleteAntiFakeUrlRequest(AbstractModel):
"""DeleteAntiFakeUrl请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Id: Id
:type Id: int
"""
self._Domain = None
self._Id = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Id(self):
"""Id
:rtype: int
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Id = params.get("Id")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteAntiFakeUrlResponse(AbstractModel):
"""DeleteAntiFakeUrl返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DeleteAntiInfoLeakRuleRequest(AbstractModel):
"""DeleteAntiInfoLeakRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _RuleId: 规则id
:type RuleId: int
"""
self._Domain = None
self._RuleId = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def RuleId(self):
"""规则id
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._RuleId = params.get("RuleId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteAntiInfoLeakRuleResponse(AbstractModel):
"""DeleteAntiInfoLeakRule返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DeleteAttackDownloadRecordRequest(AbstractModel):
"""DeleteAttackDownloadRecord请求参数结构体
"""
def __init__(self):
r"""
:param _Id: 下载任务记录唯一标记
:type Id: int
"""
self._Id = None
@property
def Id(self):
"""下载任务记录唯一标记
:rtype: int
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
def _deserialize(self, params):
self._Id = params.get("Id")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteAttackDownloadRecordResponse(AbstractModel):
"""DeleteAttackDownloadRecord返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DeleteAttackWhiteRuleRequest(AbstractModel):
"""DeleteAttackWhiteRule请求参数结构体
"""
def __init__(self):
r"""
:param _Ids: 规则序号组
:type Ids: list of int non-negative
:param _Domain: 用户域名
:type Domain: str
"""
self._Ids = None
self._Domain = None
@property
def Ids(self):
"""规则序号组
:rtype: list of int non-negative
"""
return self._Ids
@Ids.setter
def Ids(self, Ids):
self._Ids = Ids
@property
def Domain(self):
"""用户域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Ids = params.get("Ids")
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteAttackWhiteRuleResponse(AbstractModel):
"""DeleteAttackWhiteRule返回参数结构体
"""
def __init__(self):
r"""
:param _FailIds: 删除失败的规则序号组
:type FailIds: list of int non-negative
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._FailIds = None
self._RequestId = None
@property
def FailIds(self):
"""删除失败的规则序号组
:rtype: list of int non-negative
"""
return self._FailIds
@FailIds.setter
def FailIds(self, FailIds):
self._FailIds = FailIds
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._FailIds = params.get("FailIds")
self._RequestId = params.get("RequestId")
class DeleteCCRuleRequest(AbstractModel):
"""DeleteCCRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Name: 规则名称
:type Name: str
:param _Edition: clb-waf或者sparta-waf
:type Edition: str
:param _RuleId: 规则Id
:type RuleId: int
"""
self._Domain = None
self._Name = None
self._Edition = None
self._RuleId = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Name(self):
"""规则名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Edition(self):
"""clb-waf或者sparta-waf
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def RuleId(self):
"""规则Id
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Name = params.get("Name")
self._Edition = params.get("Edition")
self._RuleId = params.get("RuleId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteCCRuleResponse(AbstractModel):
"""DeleteCCRule返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 一般为null
:type Data: str
:param _RuleId: 操作的规则Id
:type RuleId: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RuleId = None
self._RequestId = None
@property
def Data(self):
"""一般为null
:rtype: str
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RuleId(self):
"""操作的规则Id
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Data = params.get("Data")
self._RuleId = params.get("RuleId")
self._RequestId = params.get("RequestId")
class DeleteCustomRuleRequest(AbstractModel):
"""DeleteCustomRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 删除的域名
:type Domain: str
:param _RuleId: 删除的规则ID
:type RuleId: str
:param _Edition: WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。
:type Edition: str
:param _DomainRuleIdList: 批量删除的规则列表
:type DomainRuleIdList: list of DomainRuleId
"""
self._Domain = None
self._RuleId = None
self._Edition = None
self._DomainRuleIdList = None
@property
def Domain(self):
"""删除的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def RuleId(self):
"""删除的规则ID
:rtype: str
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def Edition(self):
"""WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def DomainRuleIdList(self):
"""批量删除的规则列表
:rtype: list of DomainRuleId
"""
return self._DomainRuleIdList
@DomainRuleIdList.setter
def DomainRuleIdList(self, DomainRuleIdList):
self._DomainRuleIdList = DomainRuleIdList
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._RuleId = params.get("RuleId")
self._Edition = params.get("Edition")
if params.get("DomainRuleIdList") is not None:
self._DomainRuleIdList = []
for item in params.get("DomainRuleIdList"):
obj = DomainRuleId()
obj._deserialize(item)
self._DomainRuleIdList.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteCustomRuleResponse(AbstractModel):
"""DeleteCustomRule返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class DeleteCustomWhiteRuleRequest(AbstractModel):
"""DeleteCustomWhiteRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 删除的域名
:type Domain: str
:param _RuleId: 删除的规则ID
:type RuleId: int
"""
self._Domain = None
self._RuleId = None
@property
def Domain(self):
"""删除的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def RuleId(self):
"""删除的规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._RuleId = params.get("RuleId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteCustomWhiteRuleResponse(AbstractModel):
"""DeleteCustomWhiteRule返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class DeleteDomainWhiteRulesRequest(AbstractModel):
"""DeleteDomainWhiteRules请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要删除的规则域名
:type Domain: str
:param _Ids: 需要删除的白名单规则
:type Ids: list of int non-negative
"""
self._Domain = None
self._Ids = None
@property
def Domain(self):
"""需要删除的规则域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Ids(self):
"""需要删除的白名单规则
:rtype: list of int non-negative
"""
return self._Ids
@Ids.setter
def Ids(self, Ids):
self._Ids = Ids
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Ids = params.get("Ids")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteDomainWhiteRulesResponse(AbstractModel):
"""DeleteDomainWhiteRules返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 出参
:type Data: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""出参
:rtype: str
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Data = params.get("Data")
self._RequestId = params.get("RequestId")
class DeleteHostRequest(AbstractModel):
"""DeleteHost请求参数结构体
"""
def __init__(self):
r"""
:param _HostsDel: 删除的域名列表
:type HostsDel: list of HostDel
"""
self._HostsDel = None
@property
def HostsDel(self):
"""删除的域名列表
:rtype: list of HostDel
"""
return self._HostsDel
@HostsDel.setter
def HostsDel(self, HostsDel):
self._HostsDel = HostsDel
def _deserialize(self, params):
if params.get("HostsDel") is not None:
self._HostsDel = []
for item in params.get("HostsDel"):
obj = HostDel()
obj._deserialize(item)
self._HostsDel.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteHostResponse(AbstractModel):
"""DeleteHost返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 域名删除结果。Code表示状态码,Message表示详细信息。
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""域名删除结果。Code表示状态码,Message表示详细信息。
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class DeleteIpAccessControlRequest(AbstractModel):
"""DeleteIpAccessControl请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Items: 删除的ip数组
:type Items: list of str
:param _IsId: 若IsId字段为True,则Items列表元素需为Id,否则为IP
:type IsId: bool
:param _DeleteAll: 是否删除对应的域名下的所有黑/白IP名单,true表示全部删除,false表示只删除指定ip名单
:type DeleteAll: bool
:param _SourceType: 是否为多域名黑白名单
:type SourceType: str
:param _ActionType: IP黑白名单类型,40为IP白名单,42为IP黑名单
:type ActionType: int
"""
self._Domain = None
self._Items = None
self._IsId = None
self._DeleteAll = None
self._SourceType = None
self._ActionType = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Items(self):
"""删除的ip数组
:rtype: list of str
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
@property
def IsId(self):
"""若IsId字段为True,则Items列表元素需为Id,否则为IP
:rtype: bool
"""
return self._IsId
@IsId.setter
def IsId(self, IsId):
self._IsId = IsId
@property
def DeleteAll(self):
"""是否删除对应的域名下的所有黑/白IP名单,true表示全部删除,false表示只删除指定ip名单
:rtype: bool
"""
return self._DeleteAll
@DeleteAll.setter
def DeleteAll(self, DeleteAll):
self._DeleteAll = DeleteAll
@property
def SourceType(self):
"""是否为多域名黑白名单
:rtype: str
"""
return self._SourceType
@SourceType.setter
def SourceType(self, SourceType):
self._SourceType = SourceType
@property
def ActionType(self):
"""IP黑白名单类型,40为IP白名单,42为IP黑名单
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Items = params.get("Items")
self._IsId = params.get("IsId")
self._DeleteAll = params.get("DeleteAll")
self._SourceType = params.get("SourceType")
self._ActionType = params.get("ActionType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteIpAccessControlResponse(AbstractModel):
"""DeleteIpAccessControl返回参数结构体
"""
def __init__(self):
r"""
:param _FailedItems: 删除失败的条目
:type FailedItems: str
:param _FailedCount: 删除失败的条目数
:type FailedCount: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._FailedItems = None
self._FailedCount = None
self._RequestId = None
@property
def FailedItems(self):
"""删除失败的条目
:rtype: str
"""
return self._FailedItems
@FailedItems.setter
def FailedItems(self, FailedItems):
self._FailedItems = FailedItems
@property
def FailedCount(self):
"""删除失败的条目数
:rtype: int
"""
return self._FailedCount
@FailedCount.setter
def FailedCount(self, FailedCount):
self._FailedCount = FailedCount
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._FailedItems = params.get("FailedItems")
self._FailedCount = params.get("FailedCount")
self._RequestId = params.get("RequestId")
class DeleteIpAccessControlV2Request(AbstractModel):
"""DeleteIpAccessControlV2请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _RuleIds: 规则ID列表,支持批量删除,在DeleteAll参数为true的时候可以不传
:type RuleIds: list of int non-negative
:param _DeleteAll: 是否删除对应的域名下的所有黑/白IP名单,true表示全部删除,false表示只删除指定IP名单,批量防护不支持
:type DeleteAll: bool
:param _SourceType: batch表示为批量防护的IP黑白名单
:type SourceType: str
:param _ActionType: IP黑白名单类型,40为IP白名单,42为IP黑名单,在DeleteAll为true的时候必传此参数
:type ActionType: int
"""
self._Domain = None
self._RuleIds = None
self._DeleteAll = None
self._SourceType = None
self._ActionType = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def RuleIds(self):
"""规则ID列表,支持批量删除,在DeleteAll参数为true的时候可以不传
:rtype: list of int non-negative
"""
return self._RuleIds
@RuleIds.setter
def RuleIds(self, RuleIds):
self._RuleIds = RuleIds
@property
def DeleteAll(self):
"""是否删除对应的域名下的所有黑/白IP名单,true表示全部删除,false表示只删除指定IP名单,批量防护不支持
:rtype: bool
"""
return self._DeleteAll
@DeleteAll.setter
def DeleteAll(self, DeleteAll):
self._DeleteAll = DeleteAll
@property
def SourceType(self):
"""batch表示为批量防护的IP黑白名单
:rtype: str
"""
return self._SourceType
@SourceType.setter
def SourceType(self, SourceType):
self._SourceType = SourceType
@property
def ActionType(self):
"""IP黑白名单类型,40为IP白名单,42为IP黑名单,在DeleteAll为true的时候必传此参数
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._RuleIds = params.get("RuleIds")
self._DeleteAll = params.get("DeleteAll")
self._SourceType = params.get("SourceType")
self._ActionType = params.get("ActionType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteIpAccessControlV2Response(AbstractModel):
"""DeleteIpAccessControlV2返回参数结构体
"""
def __init__(self):
r"""
:param _FailedCount: 在批量删除的时候表示删除失败的条数
:type FailedCount: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._FailedCount = None
self._RequestId = None
@property
def FailedCount(self):
"""在批量删除的时候表示删除失败的条数
:rtype: int
"""
return self._FailedCount
@FailedCount.setter
def FailedCount(self, FailedCount):
self._FailedCount = FailedCount
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._FailedCount = params.get("FailedCount")
self._RequestId = params.get("RequestId")
class DeleteSessionRequest(AbstractModel):
"""DeleteSession请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Edition: clb-waf 或者 sprta-waf
:type Edition: str
:param _SessionID: 要删除的SessionID
:type SessionID: int
"""
self._Domain = None
self._Edition = None
self._SessionID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Edition(self):
"""clb-waf 或者 sprta-waf
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def SessionID(self):
"""要删除的SessionID
:rtype: int
"""
return self._SessionID
@SessionID.setter
def SessionID(self, SessionID):
self._SessionID = SessionID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Edition = params.get("Edition")
self._SessionID = params.get("SessionID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteSessionResponse(AbstractModel):
"""DeleteSession返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 结果
:type Data: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""结果
:rtype: str
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Data = params.get("Data")
self._RequestId = params.get("RequestId")
class DeleteSpartaProtectionRequest(AbstractModel):
"""DeleteSpartaProtection请求参数结构体
"""
def __init__(self):
r"""
:param _Domains: 域名列表
:type Domains: list of str
:param _Edition: 实例类型
:type Edition: str
:param _InstanceID: 必填项。域名所属实例ID
:type InstanceID: str
"""
self._Domains = None
self._Edition = None
self._InstanceID = None
@property
def Domains(self):
"""域名列表
:rtype: list of str
"""
return self._Domains
@Domains.setter
def Domains(self, Domains):
self._Domains = Domains
@property
def Edition(self):
"""实例类型
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def InstanceID(self):
"""必填项。域名所属实例ID
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Domains = params.get("Domains")
self._Edition = params.get("Edition")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteSpartaProtectionResponse(AbstractModel):
"""DeleteSpartaProtection返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DescribeAccessExportsRequest(AbstractModel):
"""DescribeAccessExports请求参数结构体
"""
def __init__(self):
r"""
:param _TopicId: 客户要查询的日志主题ID,每个客户都有对应的一个主题
:type TopicId: str
:param _Offset: 分页的偏移量,默认值为0
:type Offset: int
:param _Limit: 分页单页限制数目,默认值为20,最大值100
:type Limit: int
"""
self._TopicId = None
self._Offset = None
self._Limit = None
@property
def TopicId(self):
"""客户要查询的日志主题ID,每个客户都有对应的一个主题
:rtype: str
"""
return self._TopicId
@TopicId.setter
def TopicId(self, TopicId):
self._TopicId = TopicId
@property
def Offset(self):
"""分页的偏移量,默认值为0
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""分页单页限制数目,默认值为20,最大值100
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
def _deserialize(self, params):
self._TopicId = params.get("TopicId")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAccessExportsResponse(AbstractModel):
"""DescribeAccessExports返回参数结构体
"""
def __init__(self):
r"""
:param _TotalCount: 日志导出ID。
:type TotalCount: int
:param _Exports: 日志导出列表
:type Exports: list of ExportAccessInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TotalCount = None
self._Exports = None
self._RequestId = None
@property
def TotalCount(self):
"""日志导出ID。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Exports(self):
"""日志导出列表
:rtype: list of ExportAccessInfo
"""
return self._Exports
@Exports.setter
def Exports(self, Exports):
self._Exports = Exports
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Exports") is not None:
self._Exports = []
for item in params.get("Exports"):
obj = ExportAccessInfo()
obj._deserialize(item)
self._Exports.append(obj)
self._RequestId = params.get("RequestId")
class DescribeAccessFastAnalysisRequest(AbstractModel):
"""DescribeAccessFastAnalysis请求参数结构体
"""
def __init__(self):
r"""
:param _From: 要查询的日志的起始时间,Unix时间戳,单位ms
:type From: int
:param _To: 要查询的日志的结束时间,Unix时间戳,单位ms
:type To: int
:param _Query: 查询语句,语句长度最大为4096,由于本接口是分析接口,如果无过滤条件,必须传 * 表示匹配所有,参考CLS的分析统计语句的文档
:type Query: str
:param _FieldName: 需要分析统计的字段名
:type FieldName: str
:param _TopicId: 客户要查询的日志主题ID,每个客户都有对应的一个主题
:type TopicId: str
:param _Sort: 排序字段,升序asc,降序desc,默认降序desc
:type Sort: str
:param _Count: 返回的top数,默认返回top5
:type Count: int
"""
self._From = None
self._To = None
self._Query = None
self._FieldName = None
self._TopicId = None
self._Sort = None
self._Count = None
@property
def From(self):
"""要查询的日志的起始时间,Unix时间戳,单位ms
:rtype: int
"""
return self._From
@From.setter
def From(self, From):
self._From = From
@property
def To(self):
"""要查询的日志的结束时间,Unix时间戳,单位ms
:rtype: int
"""
return self._To
@To.setter
def To(self, To):
self._To = To
@property
def Query(self):
"""查询语句,语句长度最大为4096,由于本接口是分析接口,如果无过滤条件,必须传 * 表示匹配所有,参考CLS的分析统计语句的文档
:rtype: str
"""
return self._Query
@Query.setter
def Query(self, Query):
self._Query = Query
@property
def FieldName(self):
"""需要分析统计的字段名
:rtype: str
"""
return self._FieldName
@FieldName.setter
def FieldName(self, FieldName):
self._FieldName = FieldName
@property
def TopicId(self):
warnings.warn("parameter `TopicId` is deprecated", DeprecationWarning)
"""客户要查询的日志主题ID,每个客户都有对应的一个主题
:rtype: str
"""
return self._TopicId
@TopicId.setter
def TopicId(self, TopicId):
warnings.warn("parameter `TopicId` is deprecated", DeprecationWarning)
self._TopicId = TopicId
@property
def Sort(self):
"""排序字段,升序asc,降序desc,默认降序desc
:rtype: str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
@property
def Count(self):
"""返回的top数,默认返回top5
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
def _deserialize(self, params):
self._From = params.get("From")
self._To = params.get("To")
self._Query = params.get("Query")
self._FieldName = params.get("FieldName")
self._TopicId = params.get("TopicId")
self._Sort = params.get("Sort")
self._Count = params.get("Count")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAccessFastAnalysisResponse(AbstractModel):
"""DescribeAccessFastAnalysis返回参数结构体
"""
def __init__(self):
r"""
:param _FieldValueRatioInfos: 注意:此字段可能返回 null,表示取不到有效值
:type FieldValueRatioInfos: list of AccessFieldValueRatioInfo
:param _TotalCount: 日志条数
:type TotalCount: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._FieldValueRatioInfos = None
self._TotalCount = None
self._RequestId = None
@property
def FieldValueRatioInfos(self):
"""注意:此字段可能返回 null,表示取不到有效值
:rtype: list of AccessFieldValueRatioInfo
"""
return self._FieldValueRatioInfos
@FieldValueRatioInfos.setter
def FieldValueRatioInfos(self, FieldValueRatioInfos):
self._FieldValueRatioInfos = FieldValueRatioInfos
@property
def TotalCount(self):
"""日志条数
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("FieldValueRatioInfos") is not None:
self._FieldValueRatioInfos = []
for item in params.get("FieldValueRatioInfos"):
obj = AccessFieldValueRatioInfo()
obj._deserialize(item)
self._FieldValueRatioInfos.append(obj)
self._TotalCount = params.get("TotalCount")
self._RequestId = params.get("RequestId")
class DescribeAccessHistogramRequest(AbstractModel):
"""DescribeAccessHistogram请求参数结构体
"""
def __init__(self):
r"""
:param _TopicId: 老版本查询的日志主题ID,新版本传空字符串即可
:type TopicId: str
:param _From: 要查询的日志的起始时间,Unix时间戳,单位ms
:type From: int
:param _To: 要查询的日志的结束时间,Unix时间戳,单位ms
:type To: int
:param _Query: 查询语句,语句长度最大为4096
:type Query: str
:param _Interval: 柱状图间隔时间差,单位ms
:type Interval: int
"""
self._TopicId = None
self._From = None
self._To = None
self._Query = None
self._Interval = None
@property
def TopicId(self):
"""老版本查询的日志主题ID,新版本传空字符串即可
:rtype: str
"""
return self._TopicId
@TopicId.setter
def TopicId(self, TopicId):
self._TopicId = TopicId
@property
def From(self):
"""要查询的日志的起始时间,Unix时间戳,单位ms
:rtype: int
"""
return self._From
@From.setter
def From(self, From):
self._From = From
@property
def To(self):
"""要查询的日志的结束时间,Unix时间戳,单位ms
:rtype: int
"""
return self._To
@To.setter
def To(self, To):
self._To = To
@property
def Query(self):
"""查询语句,语句长度最大为4096
:rtype: str
"""
return self._Query
@Query.setter
def Query(self, Query):
self._Query = Query
@property
def Interval(self):
"""柱状图间隔时间差,单位ms
:rtype: int
"""
return self._Interval
@Interval.setter
def Interval(self, Interval):
self._Interval = Interval
def _deserialize(self, params):
self._TopicId = params.get("TopicId")
self._From = params.get("From")
self._To = params.get("To")
self._Query = params.get("Query")
self._Interval = params.get("Interval")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAccessHistogramResponse(AbstractModel):
"""DescribeAccessHistogram返回参数结构体
"""
def __init__(self):
r"""
:param _Interval: 柱状图间隔时间差,单位ms
:type Interval: int
:param _TotalCount: 满足条件的日志条数
:type TotalCount: int
:param _HistogramInfos: 注意:此字段可能返回 null,表示取不到有效值
:type HistogramInfos: list of AccessHistogramItem
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Interval = None
self._TotalCount = None
self._HistogramInfos = None
self._RequestId = None
@property
def Interval(self):
"""柱状图间隔时间差,单位ms
:rtype: int
"""
return self._Interval
@Interval.setter
def Interval(self, Interval):
self._Interval = Interval
@property
def TotalCount(self):
"""满足条件的日志条数
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def HistogramInfos(self):
"""注意:此字段可能返回 null,表示取不到有效值
:rtype: list of AccessHistogramItem
"""
return self._HistogramInfos
@HistogramInfos.setter
def HistogramInfos(self, HistogramInfos):
self._HistogramInfos = HistogramInfos
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Interval = params.get("Interval")
self._TotalCount = params.get("TotalCount")
if params.get("HistogramInfos") is not None:
self._HistogramInfos = []
for item in params.get("HistogramInfos"):
obj = AccessHistogramItem()
obj._deserialize(item)
self._HistogramInfos.append(obj)
self._RequestId = params.get("RequestId")
class DescribeAccessIndexRequest(AbstractModel):
"""DescribeAccessIndex请求参数结构体
"""
class DescribeAccessIndexResponse(AbstractModel):
"""DescribeAccessIndex返回参数结构体
"""
def __init__(self):
r"""
:param _Status: 是否生效,true表示生效,false表示未生效
:type Status: bool
:param _Rule: 索引配置信息
注意:此字段可能返回 null,表示取不到有效值。
:type Rule: :class:`tencentcloud.waf.v20180125.models.AccessRuleInfo`
:param _ModifyTime: 索引修改时间,初始值为索引创建时间。
:type ModifyTime: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Status = None
self._Rule = None
self._ModifyTime = None
self._RequestId = None
@property
def Status(self):
"""是否生效,true表示生效,false表示未生效
:rtype: bool
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Rule(self):
"""索引配置信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.waf.v20180125.models.AccessRuleInfo`
"""
return self._Rule
@Rule.setter
def Rule(self, Rule):
self._Rule = Rule
@property
def ModifyTime(self):
"""索引修改时间,初始值为索引创建时间。
:rtype: str
"""
return self._ModifyTime
@ModifyTime.setter
def ModifyTime(self, ModifyTime):
self._ModifyTime = ModifyTime
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Status = params.get("Status")
if params.get("Rule") is not None:
self._Rule = AccessRuleInfo()
self._Rule._deserialize(params.get("Rule"))
self._ModifyTime = params.get("ModifyTime")
self._RequestId = params.get("RequestId")
class DescribeAntiFakeRulesRequest(AbstractModel):
"""DescribeAntiFakeRules请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Offset: 偏移
:type Offset: int
:param _Limit: 容量
:type Limit: int
:param _Filters: 过滤数组,name可以是如下的值: RuleID,ParamName,Url,Action,Method,Source,Status
:type Filters: list of FiltersItemNew
:param _Order: asc或者desc
:type Order: str
:param _By: 目前支持根据create_time、modify_time、id排序
:type By: str
"""
self._Domain = None
self._Offset = None
self._Limit = None
self._Filters = None
self._Order = None
self._By = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Offset(self):
"""偏移
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""容量
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Filters(self):
"""过滤数组,name可以是如下的值: RuleID,ParamName,Url,Action,Method,Source,Status
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
@property
def Order(self):
"""asc或者desc
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
@property
def By(self):
"""目前支持根据create_time、modify_time、id排序
:rtype: str
"""
return self._By
@By.setter
def By(self, By):
self._By = By
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
self._Order = params.get("Order")
self._By = params.get("By")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAntiFakeRulesResponse(AbstractModel):
"""DescribeAntiFakeRules返回参数结构体
"""
def __init__(self):
r"""
:param _Total: 总数
:type Total: int
:param _Data: 返回值
:type Data: list of CacheUrlItems
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Total = None
self._Data = None
self._RequestId = None
@property
def Total(self):
"""总数
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def Data(self):
"""返回值
:rtype: list of CacheUrlItems
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Total = params.get("Total")
if params.get("Data") is not None:
self._Data = []
for item in params.get("Data"):
obj = CacheUrlItems()
obj._deserialize(item)
self._Data.append(obj)
self._RequestId = params.get("RequestId")
class DescribeAntiInfoLeakRulesStrategyItem(AbstractModel):
"""DescribeAntiInfoLeakRules返回的规则元素中的具体的规则元素
"""
def __init__(self):
r"""
:param _Field: 字段
:type Field: str
:param _CompareFunc: 条件
:type CompareFunc: str
:param _Content: 内容
:type Content: str
"""
self._Field = None
self._CompareFunc = None
self._Content = None
@property
def Field(self):
"""字段
:rtype: str
"""
return self._Field
@Field.setter
def Field(self, Field):
self._Field = Field
@property
def CompareFunc(self):
"""条件
:rtype: str
"""
return self._CompareFunc
@CompareFunc.setter
def CompareFunc(self, CompareFunc):
self._CompareFunc = CompareFunc
@property
def Content(self):
"""内容
:rtype: str
"""
return self._Content
@Content.setter
def Content(self, Content):
self._Content = Content
def _deserialize(self, params):
self._Field = params.get("Field")
self._CompareFunc = params.get("CompareFunc")
self._Content = params.get("Content")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAntiInfoLeakageRulesRequest(AbstractModel):
"""DescribeAntiInfoLeakageRules请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Offset: 翻页支持,读取偏移
:type Offset: int
:param _Limit: 翻页支持,读取长度限制
:type Limit: int
:param _Order: 排序方式,asc或者desc
:type Order: str
:param _Filters: 过滤器,可以允许如下的值:
RuleId,Match_field,Name,Action,Status
:type Filters: list of FiltersItemNew
"""
self._Domain = None
self._Offset = None
self._Limit = None
self._Order = None
self._Filters = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Offset(self):
"""翻页支持,读取偏移
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""翻页支持,读取长度限制
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Order(self):
"""排序方式,asc或者desc
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
@property
def Filters(self):
"""过滤器,可以允许如下的值:
RuleId,Match_field,Name,Action,Status
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._Order = params.get("Order")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAntiInfoLeakageRulesResponse(AbstractModel):
"""DescribeAntiInfoLeakageRules返回参数结构体
"""
def __init__(self):
r"""
:param _Total: 记录条数
:type Total: int
:param _RuleList: 规则列表
:type RuleList: list of DescribeAntiLeakageItem
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Total = None
self._RuleList = None
self._RequestId = None
@property
def Total(self):
"""记录条数
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def RuleList(self):
"""规则列表
:rtype: list of DescribeAntiLeakageItem
"""
return self._RuleList
@RuleList.setter
def RuleList(self, RuleList):
self._RuleList = RuleList
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Total = params.get("Total")
if params.get("RuleList") is not None:
self._RuleList = []
for item in params.get("RuleList"):
obj = DescribeAntiLeakageItem()
obj._deserialize(item)
self._RuleList.append(obj)
self._RequestId = params.get("RequestId")
class DescribeAntiLeakageItem(AbstractModel):
"""出参
"""
def __init__(self):
r"""
:param _RuleId: 规则ID
:type RuleId: int
:param _Name: 名称
:type Name: str
:param _Status: 状态值
:type Status: int
:param _Action: 动作
:type Action: str
:param _CreateTime: 创建时间
:type CreateTime: str
:param _Strategies: 匹配条件
:type Strategies: list of DescribeAntiInfoLeakRulesStrategyItem
:param _Uri: 匹配的URL
:type Uri: str
:param _ModifyTime: 修改时间
:type ModifyTime: str
"""
self._RuleId = None
self._Name = None
self._Status = None
self._Action = None
self._CreateTime = None
self._Strategies = None
self._Uri = None
self._ModifyTime = None
@property
def RuleId(self):
"""规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def Name(self):
"""名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Status(self):
"""状态值
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Action(self):
"""动作
:rtype: str
"""
return self._Action
@Action.setter
def Action(self, Action):
self._Action = Action
@property
def CreateTime(self):
"""创建时间
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def Strategies(self):
"""匹配条件
:rtype: list of DescribeAntiInfoLeakRulesStrategyItem
"""
return self._Strategies
@Strategies.setter
def Strategies(self, Strategies):
self._Strategies = Strategies
@property
def Uri(self):
"""匹配的URL
:rtype: str
"""
return self._Uri
@Uri.setter
def Uri(self, Uri):
self._Uri = Uri
@property
def ModifyTime(self):
"""修改时间
:rtype: str
"""
return self._ModifyTime
@ModifyTime.setter
def ModifyTime(self, ModifyTime):
self._ModifyTime = ModifyTime
def _deserialize(self, params):
self._RuleId = params.get("RuleId")
self._Name = params.get("Name")
self._Status = params.get("Status")
self._Action = params.get("Action")
self._CreateTime = params.get("CreateTime")
if params.get("Strategies") is not None:
self._Strategies = []
for item in params.get("Strategies"):
obj = DescribeAntiInfoLeakRulesStrategyItem()
obj._deserialize(item)
self._Strategies.append(obj)
self._Uri = params.get("Uri")
self._ModifyTime = params.get("ModifyTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeApiDetailRequest(AbstractModel):
"""DescribeApiDetail请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _ApiName: Api名称
:type ApiName: str
:param _Method: 请求方法
:type Method: str
:param _IsSensitive: 是否仅查询敏感的,1表示查询,0表示不查询
:type IsSensitive: int
:param _IsPan: 是否仅查询泛化的,1表示查询,0表示不查询
:type IsPan: int
"""
self._Domain = None
self._ApiName = None
self._Method = None
self._IsSensitive = None
self._IsPan = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def ApiName(self):
"""Api名称
:rtype: str
"""
return self._ApiName
@ApiName.setter
def ApiName(self, ApiName):
self._ApiName = ApiName
@property
def Method(self):
"""请求方法
:rtype: str
"""
return self._Method
@Method.setter
def Method(self, Method):
self._Method = Method
@property
def IsSensitive(self):
"""是否仅查询敏感的,1表示查询,0表示不查询
:rtype: int
"""
return self._IsSensitive
@IsSensitive.setter
def IsSensitive(self, IsSensitive):
self._IsSensitive = IsSensitive
@property
def IsPan(self):
"""是否仅查询泛化的,1表示查询,0表示不查询
:rtype: int
"""
return self._IsPan
@IsPan.setter
def IsPan(self, IsPan):
self._IsPan = IsPan
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._ApiName = params.get("ApiName")
self._Method = params.get("Method")
self._IsSensitive = params.get("IsSensitive")
self._IsPan = params.get("IsPan")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeApiDetailResponse(AbstractModel):
"""DescribeApiDetail返回参数结构体
"""
def __init__(self):
r"""
:param _Log: 请求样例,json字符串格式
:type Log: str
:param _ParameterList: 请求参数样例列表
:type ParameterList: list of ApiParameterType
:param _Scene: 当前场景标签
:type Scene: str
:param _SensitiveFields: 敏感字段
:type SensitiveFields: list of str
:param _IsActive: 7天内是否活跃
:type IsActive: bool
:param _IpCount: 访问ip数
:type IpCount: int
:param _RegionCount: 访问地域数量
:type RegionCount: int
:param _EventCount: 关联事件数
:type EventCount: int
:param _SensitiveCount: 涉敏数据条数
:type SensitiveCount: int
:param _Level: 风险等级
:type Level: int
:param _RspLog: 响应体
:type RspLog: str
:param _MaxQPS: 昨日访问峰值QPS
:type MaxQPS: int
:param _ApiDetailSampleHistory: 历史样例
:type ApiDetailSampleHistory: list of ApiDetailSampleHistory
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Log = None
self._ParameterList = None
self._Scene = None
self._SensitiveFields = None
self._IsActive = None
self._IpCount = None
self._RegionCount = None
self._EventCount = None
self._SensitiveCount = None
self._Level = None
self._RspLog = None
self._MaxQPS = None
self._ApiDetailSampleHistory = None
self._RequestId = None
@property
def Log(self):
"""请求样例,json字符串格式
:rtype: str
"""
return self._Log
@Log.setter
def Log(self, Log):
self._Log = Log
@property
def ParameterList(self):
"""请求参数样例列表
:rtype: list of ApiParameterType
"""
return self._ParameterList
@ParameterList.setter
def ParameterList(self, ParameterList):
self._ParameterList = ParameterList
@property
def Scene(self):
"""当前场景标签
:rtype: str
"""
return self._Scene
@Scene.setter
def Scene(self, Scene):
self._Scene = Scene
@property
def SensitiveFields(self):
"""敏感字段
:rtype: list of str
"""
return self._SensitiveFields
@SensitiveFields.setter
def SensitiveFields(self, SensitiveFields):
self._SensitiveFields = SensitiveFields
@property
def IsActive(self):
"""7天内是否活跃
:rtype: bool
"""
return self._IsActive
@IsActive.setter
def IsActive(self, IsActive):
self._IsActive = IsActive
@property
def IpCount(self):
"""访问ip数
:rtype: int
"""
return self._IpCount
@IpCount.setter
def IpCount(self, IpCount):
self._IpCount = IpCount
@property
def RegionCount(self):
"""访问地域数量
:rtype: int
"""
return self._RegionCount
@RegionCount.setter
def RegionCount(self, RegionCount):
self._RegionCount = RegionCount
@property
def EventCount(self):
"""关联事件数
:rtype: int
"""
return self._EventCount
@EventCount.setter
def EventCount(self, EventCount):
self._EventCount = EventCount
@property
def SensitiveCount(self):
"""涉敏数据条数
:rtype: int
"""
return self._SensitiveCount
@SensitiveCount.setter
def SensitiveCount(self, SensitiveCount):
self._SensitiveCount = SensitiveCount
@property
def Level(self):
"""风险等级
:rtype: int
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
@property
def RspLog(self):
"""响应体
:rtype: str
"""
return self._RspLog
@RspLog.setter
def RspLog(self, RspLog):
self._RspLog = RspLog
@property
def MaxQPS(self):
"""昨日访问峰值QPS
:rtype: int
"""
return self._MaxQPS
@MaxQPS.setter
def MaxQPS(self, MaxQPS):
self._MaxQPS = MaxQPS
@property
def ApiDetailSampleHistory(self):
"""历史样例
:rtype: list of ApiDetailSampleHistory
"""
return self._ApiDetailSampleHistory
@ApiDetailSampleHistory.setter
def ApiDetailSampleHistory(self, ApiDetailSampleHistory):
self._ApiDetailSampleHistory = ApiDetailSampleHistory
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Log = params.get("Log")
if params.get("ParameterList") is not None:
self._ParameterList = []
for item in params.get("ParameterList"):
obj = ApiParameterType()
obj._deserialize(item)
self._ParameterList.append(obj)
self._Scene = params.get("Scene")
self._SensitiveFields = params.get("SensitiveFields")
self._IsActive = params.get("IsActive")
self._IpCount = params.get("IpCount")
self._RegionCount = params.get("RegionCount")
self._EventCount = params.get("EventCount")
self._SensitiveCount = params.get("SensitiveCount")
self._Level = params.get("Level")
self._RspLog = params.get("RspLog")
self._MaxQPS = params.get("MaxQPS")
if params.get("ApiDetailSampleHistory") is not None:
self._ApiDetailSampleHistory = []
for item in params.get("ApiDetailSampleHistory"):
obj = ApiDetailSampleHistory()
obj._deserialize(item)
self._ApiDetailSampleHistory.append(obj)
self._RequestId = params.get("RequestId")
class DescribeApiListVersionTwoRequest(AbstractModel):
"""DescribeApiListVersionTwo请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _PageIndex: 页面索引,第几页
:type PageIndex: int
:param _PageSize: 页面大小
:type PageSize: int
:param _Filters: 过滤条件
:type Filters: list of ApiDataFilter
:param _Sort: 排序方法,1 升序,-1 降序
:type Sort: list of str
:param _NeedTotalCount: 是否进行总数查询
:type NeedTotalCount: bool
:param _StartTs: 查询开始时间
:type StartTs: int
:param _EndTs: 查询结束时间
:type EndTs: int
"""
self._Domain = None
self._PageIndex = None
self._PageSize = None
self._Filters = None
self._Sort = None
self._NeedTotalCount = None
self._StartTs = None
self._EndTs = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def PageIndex(self):
"""页面索引,第几页
:rtype: int
"""
return self._PageIndex
@PageIndex.setter
def PageIndex(self, PageIndex):
self._PageIndex = PageIndex
@property
def PageSize(self):
"""页面大小
:rtype: int
"""
return self._PageSize
@PageSize.setter
def PageSize(self, PageSize):
self._PageSize = PageSize
@property
def Filters(self):
"""过滤条件
:rtype: list of ApiDataFilter
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
@property
def Sort(self):
"""排序方法,1 升序,-1 降序
:rtype: list of str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
@property
def NeedTotalCount(self):
"""是否进行总数查询
:rtype: bool
"""
return self._NeedTotalCount
@NeedTotalCount.setter
def NeedTotalCount(self, NeedTotalCount):
self._NeedTotalCount = NeedTotalCount
@property
def StartTs(self):
"""查询开始时间
:rtype: int
"""
return self._StartTs
@StartTs.setter
def StartTs(self, StartTs):
self._StartTs = StartTs
@property
def EndTs(self):
"""查询结束时间
:rtype: int
"""
return self._EndTs
@EndTs.setter
def EndTs(self, EndTs):
self._EndTs = EndTs
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._PageIndex = params.get("PageIndex")
self._PageSize = params.get("PageSize")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = ApiDataFilter()
obj._deserialize(item)
self._Filters.append(obj)
self._Sort = params.get("Sort")
self._NeedTotalCount = params.get("NeedTotalCount")
self._StartTs = params.get("StartTs")
self._EndTs = params.get("EndTs")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeApiListVersionTwoResponse(AbstractModel):
"""DescribeApiListVersionTwo返回参数结构体
"""
def __init__(self):
r"""
:param _Data: api资产列表
:type Data: list of ApiAsset
:param _Total: 总数
:type Total: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._Total = None
self._RequestId = None
@property
def Data(self):
"""api资产列表
:rtype: list of ApiAsset
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def Total(self):
"""总数
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = []
for item in params.get("Data"):
obj = ApiAsset()
obj._deserialize(item)
self._Data.append(obj)
self._Total = params.get("Total")
self._RequestId = params.get("RequestId")
class DescribeAreaBanAreasRequest(AbstractModel):
"""DescribeAreaBanAreas请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要查询的域名
:type Domain: str
"""
self._Domain = None
@property
def Domain(self):
"""需要查询的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAreaBanAreasResponse(AbstractModel):
"""DescribeAreaBanAreas返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 回包内容
:type Data: :class:`tencentcloud.waf.v20180125.models.DescribeAreaBanAreasRsp`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""回包内容
:rtype: :class:`tencentcloud.waf.v20180125.models.DescribeAreaBanAreasRsp`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = DescribeAreaBanAreasRsp()
self._Data._deserialize(params.get("Data"))
self._RequestId = params.get("RequestId")
class DescribeAreaBanAreasRsp(AbstractModel):
"""DescribeAreaBanAreas接口的回包
"""
def __init__(self):
r"""
:param _Status: 状态 "0":未开启地域封禁 "1":开启地域封禁
:type Status: str
:param _Source: 数据来源 custom-自定义(默认)、batch-批量防护
:type Source: str
:param _Areas: 字符串数据,配置的地域列表
:type Areas: list of str
:param _JobType: 定时任务类型
:type JobType: str
:param _JobDateTime: 定时任务详细配置
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
:param _CronType: 周期任务配置
:type CronType: str
"""
self._Status = None
self._Source = None
self._Areas = None
self._JobType = None
self._JobDateTime = None
self._CronType = None
@property
def Status(self):
"""状态 "0":未开启地域封禁 "1":开启地域封禁
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Source(self):
"""数据来源 custom-自定义(默认)、batch-批量防护
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def Areas(self):
"""字符串数据,配置的地域列表
:rtype: list of str
"""
return self._Areas
@Areas.setter
def Areas(self, Areas):
self._Areas = Areas
@property
def JobType(self):
"""定时任务类型
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时任务详细配置
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
@property
def CronType(self):
"""周期任务配置
:rtype: str
"""
return self._CronType
@CronType.setter
def CronType(self, CronType):
self._CronType = CronType
def _deserialize(self, params):
self._Status = params.get("Status")
self._Source = params.get("Source")
self._Areas = params.get("Areas")
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
self._CronType = params.get("CronType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAreaBanRuleRequest(AbstractModel):
"""DescribeAreaBanRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要查询的域名
:type Domain: str
"""
self._Domain = None
@property
def Domain(self):
"""需要查询的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAreaBanRuleResponse(AbstractModel):
"""DescribeAreaBanRule返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 规则内容
:type Data: :class:`tencentcloud.waf.v20180125.models.AreaBanRule`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""规则内容
:rtype: :class:`tencentcloud.waf.v20180125.models.AreaBanRule`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = AreaBanRule()
self._Data._deserialize(params.get("Data"))
self._RequestId = params.get("RequestId")
class DescribeAreaBanSupportAreasRequest(AbstractModel):
"""DescribeAreaBanSupportAreas请求参数结构体
"""
class DescribeAreaBanSupportAreasResponse(AbstractModel):
"""DescribeAreaBanSupportAreas返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 地域封禁的地域列表,要解析成json后使用
:type Data: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""地域封禁的地域列表,要解析成json后使用
:rtype: str
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Data = params.get("Data")
self._RequestId = params.get("RequestId")
class DescribeAttackOverviewRequest(AbstractModel):
"""DescribeAttackOverview请求参数结构体
"""
def __init__(self):
r"""
:param _FromTime: 查询开始时间
:type FromTime: str
:param _ToTime: 查询结束时间
:type ToTime: str
:param _Appid: 客户的Appid
:type Appid: int
:param _Domain: 被查询的域名
:type Domain: str
:param _Edition: 只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:type Edition: str
:param _InstanceID: WAF实例ID,不传则不过滤
:type InstanceID: str
"""
self._FromTime = None
self._ToTime = None
self._Appid = None
self._Domain = None
self._Edition = None
self._InstanceID = None
@property
def FromTime(self):
"""查询开始时间
:rtype: str
"""
return self._FromTime
@FromTime.setter
def FromTime(self, FromTime):
self._FromTime = FromTime
@property
def ToTime(self):
"""查询结束时间
:rtype: str
"""
return self._ToTime
@ToTime.setter
def ToTime(self, ToTime):
self._ToTime = ToTime
@property
def Appid(self):
"""客户的Appid
:rtype: int
"""
return self._Appid
@Appid.setter
def Appid(self, Appid):
self._Appid = Appid
@property
def Domain(self):
"""被查询的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Edition(self):
"""只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def InstanceID(self):
"""WAF实例ID,不传则不过滤
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._FromTime = params.get("FromTime")
self._ToTime = params.get("ToTime")
self._Appid = params.get("Appid")
self._Domain = params.get("Domain")
self._Edition = params.get("Edition")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAttackOverviewResponse(AbstractModel):
"""DescribeAttackOverview返回参数结构体
"""
def __init__(self):
r"""
:param _AccessCount: 访问请求总数
:type AccessCount: int
:param _AttackCount: Web攻击总数
:type AttackCount: int
:param _ACLCount: 访问控制总数
:type ACLCount: int
:param _CCCount: CC攻击总数
:type CCCount: int
:param _BotCount: Bot攻击总数
:type BotCount: int
:param _ApiAssetsCount: api资产总数
:type ApiAssetsCount: int
:param _ApiRiskEventCount: api风险事件数量
:type ApiRiskEventCount: int
:param _IPBlackCount: 黑名单总数
:type IPBlackCount: int
:param _TamperCount: 防篡改总数
:type TamperCount: int
:param _LeakCount: 信息泄露总数
:type LeakCount: int
:param _ApiRiskEventCircleCount: API风险事件周环比
:type ApiRiskEventCircleCount: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._AccessCount = None
self._AttackCount = None
self._ACLCount = None
self._CCCount = None
self._BotCount = None
self._ApiAssetsCount = None
self._ApiRiskEventCount = None
self._IPBlackCount = None
self._TamperCount = None
self._LeakCount = None
self._ApiRiskEventCircleCount = None
self._RequestId = None
@property
def AccessCount(self):
"""访问请求总数
:rtype: int
"""
return self._AccessCount
@AccessCount.setter
def AccessCount(self, AccessCount):
self._AccessCount = AccessCount
@property
def AttackCount(self):
"""Web攻击总数
:rtype: int
"""
return self._AttackCount
@AttackCount.setter
def AttackCount(self, AttackCount):
self._AttackCount = AttackCount
@property
def ACLCount(self):
"""访问控制总数
:rtype: int
"""
return self._ACLCount
@ACLCount.setter
def ACLCount(self, ACLCount):
self._ACLCount = ACLCount
@property
def CCCount(self):
"""CC攻击总数
:rtype: int
"""
return self._CCCount
@CCCount.setter
def CCCount(self, CCCount):
self._CCCount = CCCount
@property
def BotCount(self):
"""Bot攻击总数
:rtype: int
"""
return self._BotCount
@BotCount.setter
def BotCount(self, BotCount):
self._BotCount = BotCount
@property
def ApiAssetsCount(self):
"""api资产总数
:rtype: int
"""
return self._ApiAssetsCount
@ApiAssetsCount.setter
def ApiAssetsCount(self, ApiAssetsCount):
self._ApiAssetsCount = ApiAssetsCount
@property
def ApiRiskEventCount(self):
"""api风险事件数量
:rtype: int
"""
return self._ApiRiskEventCount
@ApiRiskEventCount.setter
def ApiRiskEventCount(self, ApiRiskEventCount):
self._ApiRiskEventCount = ApiRiskEventCount
@property
def IPBlackCount(self):
"""黑名单总数
:rtype: int
"""
return self._IPBlackCount
@IPBlackCount.setter
def IPBlackCount(self, IPBlackCount):
self._IPBlackCount = IPBlackCount
@property
def TamperCount(self):
"""防篡改总数
:rtype: int
"""
return self._TamperCount
@TamperCount.setter
def TamperCount(self, TamperCount):
self._TamperCount = TamperCount
@property
def LeakCount(self):
"""信息泄露总数
:rtype: int
"""
return self._LeakCount
@LeakCount.setter
def LeakCount(self, LeakCount):
self._LeakCount = LeakCount
@property
def ApiRiskEventCircleCount(self):
"""API风险事件周环比
:rtype: int
"""
return self._ApiRiskEventCircleCount
@ApiRiskEventCircleCount.setter
def ApiRiskEventCircleCount(self, ApiRiskEventCircleCount):
self._ApiRiskEventCircleCount = ApiRiskEventCircleCount
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._AccessCount = params.get("AccessCount")
self._AttackCount = params.get("AttackCount")
self._ACLCount = params.get("ACLCount")
self._CCCount = params.get("CCCount")
self._BotCount = params.get("BotCount")
self._ApiAssetsCount = params.get("ApiAssetsCount")
self._ApiRiskEventCount = params.get("ApiRiskEventCount")
self._IPBlackCount = params.get("IPBlackCount")
self._TamperCount = params.get("TamperCount")
self._LeakCount = params.get("LeakCount")
self._ApiRiskEventCircleCount = params.get("ApiRiskEventCircleCount")
self._RequestId = params.get("RequestId")
class DescribeAttackTypeRequest(AbstractModel):
"""DescribeAttackType请求参数结构体
"""
def __init__(self):
r"""
:param _FromTime: 起始时间
:type FromTime: str
:param _ToTime: 结束时间
:type ToTime: str
:param _Host: 兼容Host,逐步淘汰Host字段
:type Host: str
:param _Edition: 只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:type Edition: str
:param _InstanceID: WAF实例ID,不传则不过滤
:type InstanceID: str
:param _Domain: 域名过滤,不传则不过滤,用于替代Host字段,逐步淘汰Host
:type Domain: str
"""
self._FromTime = None
self._ToTime = None
self._Host = None
self._Edition = None
self._InstanceID = None
self._Domain = None
@property
def FromTime(self):
"""起始时间
:rtype: str
"""
return self._FromTime
@FromTime.setter
def FromTime(self, FromTime):
self._FromTime = FromTime
@property
def ToTime(self):
"""结束时间
:rtype: str
"""
return self._ToTime
@ToTime.setter
def ToTime(self, ToTime):
self._ToTime = ToTime
@property
def Host(self):
"""兼容Host,逐步淘汰Host字段
:rtype: str
"""
return self._Host
@Host.setter
def Host(self, Host):
self._Host = Host
@property
def Edition(self):
"""只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def InstanceID(self):
"""WAF实例ID,不传则不过滤
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def Domain(self):
"""域名过滤,不传则不过滤,用于替代Host字段,逐步淘汰Host
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._FromTime = params.get("FromTime")
self._ToTime = params.get("ToTime")
self._Host = params.get("Host")
self._Edition = params.get("Edition")
self._InstanceID = params.get("InstanceID")
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAttackTypeResponse(AbstractModel):
"""DescribeAttackType返回参数结构体
"""
def __init__(self):
r"""
:param _Piechart: 数量
:type Piechart: list of PiechartItem
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Piechart = None
self._RequestId = None
@property
def Piechart(self):
"""数量
:rtype: list of PiechartItem
"""
return self._Piechart
@Piechart.setter
def Piechart(self, Piechart):
self._Piechart = Piechart
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Piechart") is not None:
self._Piechart = []
for item in params.get("Piechart"):
obj = PiechartItem()
obj._deserialize(item)
self._Piechart.append(obj)
self._RequestId = params.get("RequestId")
class DescribeAttackWhiteRuleRequest(AbstractModel):
"""DescribeAttackWhiteRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要查询的域名
:type Domain: str
:param _Offset: 分页
:type Offset: int
:param _Limit: 每页容量
:type Limit: int
:param _By: 排序的字段,支持user_id, signature_id, modify_time
:type By: str
:param _Order: 排序方式
:type Order: str
:param _Filters: 筛选条件,支持SignatureId, MatchContent
:type Filters: list of FiltersItemNew
"""
self._Domain = None
self._Offset = None
self._Limit = None
self._By = None
self._Order = None
self._Filters = None
@property
def Domain(self):
"""需要查询的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Offset(self):
"""分页
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""每页容量
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def By(self):
"""排序的字段,支持user_id, signature_id, modify_time
:rtype: str
"""
return self._By
@By.setter
def By(self, By):
self._By = By
@property
def Order(self):
"""排序方式
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
@property
def Filters(self):
"""筛选条件,支持SignatureId, MatchContent
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._By = params.get("By")
self._Order = params.get("Order")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAttackWhiteRuleResponse(AbstractModel):
"""DescribeAttackWhiteRule返回参数结构体
"""
def __init__(self):
r"""
:param _Total: 规则总数
:type Total: int
:param _List: 规则白名单列表
:type List: list of UserWhiteRule
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Total = None
self._List = None
self._RequestId = None
@property
def Total(self):
"""规则总数
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def List(self):
"""规则白名单列表
:rtype: list of UserWhiteRule
"""
return self._List
@List.setter
def List(self, List):
self._List = List
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Total = params.get("Total")
if params.get("List") is not None:
self._List = []
for item in params.get("List"):
obj = UserWhiteRule()
obj._deserialize(item)
self._List.append(obj)
self._RequestId = params.get("RequestId")
class DescribeAutoDenyIPRequest(AbstractModel):
"""DescribeAutoDenyIP请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Ip: 查询IP自动封禁状态
:type Ip: str
:param _Count: 计数标识
:type Count: int
:param _Category: 类别
:type Category: str
:param _VtsMin: 有效时间最小时间戳
:type VtsMin: int
:param _VtsMax: 有效时间最大时间戳
:type VtsMax: int
:param _CtsMin: 创建时间最小时间戳
:type CtsMin: int
:param _CtsMax: 创建时间最大时间戳
:type CtsMax: int
:param _Skip: 偏移量
:type Skip: int
:param _Limit: 限制条数
:type Limit: int
:param _Name: 策略名字
:type Name: str
:param _Sort: 排序参数
:type Sort: str
"""
self._Domain = None
self._Ip = None
self._Count = None
self._Category = None
self._VtsMin = None
self._VtsMax = None
self._CtsMin = None
self._CtsMax = None
self._Skip = None
self._Limit = None
self._Name = None
self._Sort = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Ip(self):
"""查询IP自动封禁状态
:rtype: str
"""
return self._Ip
@Ip.setter
def Ip(self, Ip):
self._Ip = Ip
@property
def Count(self):
"""计数标识
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Category(self):
"""类别
:rtype: str
"""
return self._Category
@Category.setter
def Category(self, Category):
self._Category = Category
@property
def VtsMin(self):
"""有效时间最小时间戳
:rtype: int
"""
return self._VtsMin
@VtsMin.setter
def VtsMin(self, VtsMin):
self._VtsMin = VtsMin
@property
def VtsMax(self):
"""有效时间最大时间戳
:rtype: int
"""
return self._VtsMax
@VtsMax.setter
def VtsMax(self, VtsMax):
self._VtsMax = VtsMax
@property
def CtsMin(self):
"""创建时间最小时间戳
:rtype: int
"""
return self._CtsMin
@CtsMin.setter
def CtsMin(self, CtsMin):
self._CtsMin = CtsMin
@property
def CtsMax(self):
"""创建时间最大时间戳
:rtype: int
"""
return self._CtsMax
@CtsMax.setter
def CtsMax(self, CtsMax):
self._CtsMax = CtsMax
@property
def Skip(self):
"""偏移量
:rtype: int
"""
return self._Skip
@Skip.setter
def Skip(self, Skip):
self._Skip = Skip
@property
def Limit(self):
"""限制条数
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Name(self):
"""策略名字
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Sort(self):
"""排序参数
:rtype: str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Ip = params.get("Ip")
self._Count = params.get("Count")
self._Category = params.get("Category")
self._VtsMin = params.get("VtsMin")
self._VtsMax = params.get("VtsMax")
self._CtsMin = params.get("CtsMin")
self._CtsMax = params.get("CtsMax")
self._Skip = params.get("Skip")
self._Limit = params.get("Limit")
self._Name = params.get("Name")
self._Sort = params.get("Sort")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeAutoDenyIPResponse(AbstractModel):
"""DescribeAutoDenyIP返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 查询IP封禁状态返回结果
:type Data: :class:`tencentcloud.waf.v20180125.models.IpHitItemsData`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""查询IP封禁状态返回结果
:rtype: :class:`tencentcloud.waf.v20180125.models.IpHitItemsData`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = IpHitItemsData()
self._Data._deserialize(params.get("Data"))
self._RequestId = params.get("RequestId")
class DescribeBatchIpAccessControlRequest(AbstractModel):
"""DescribeBatchIpAccessControl请求参数结构体
"""
def __init__(self):
r"""
:param _Filters: 筛选条件,支持 ActionType(可选的值为40:白名单,42:黑名单),ValidStatus(可选的值0:全部,1:生效,2:过期),Ip,Domains(域名列表),GroupId(防护对象组ID),GroupName(防护对象组名),RuleId(规则ID),TimerType(生效方式,1:永久生效,2:定时生效,3:按周周期生效,4:按月周期生效)
:type Filters: list of FiltersItemNew
:param _OffSet: 偏移
:type OffSet: int
:param _Limit: 限制
:type Limit: int
:param _Sort: 排序参数
:type Sort: str
"""
self._Filters = None
self._OffSet = None
self._Limit = None
self._Sort = None
@property
def Filters(self):
"""筛选条件,支持 ActionType(可选的值为40:白名单,42:黑名单),ValidStatus(可选的值0:全部,1:生效,2:过期),Ip,Domains(域名列表),GroupId(防护对象组ID),GroupName(防护对象组名),RuleId(规则ID),TimerType(生效方式,1:永久生效,2:定时生效,3:按周周期生效,4:按月周期生效)
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
@property
def OffSet(self):
"""偏移
:rtype: int
"""
return self._OffSet
@OffSet.setter
def OffSet(self, OffSet):
self._OffSet = OffSet
@property
def Limit(self):
"""限制
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Sort(self):
"""排序参数
:rtype: str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
def _deserialize(self, params):
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
self._OffSet = params.get("OffSet")
self._Limit = params.get("Limit")
self._Sort = params.get("Sort")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeBatchIpAccessControlResponse(AbstractModel):
"""DescribeBatchIpAccessControl返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 输出
:type Data: :class:`tencentcloud.waf.v20180125.models.BatchIpAccessControlData`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""输出
:rtype: :class:`tencentcloud.waf.v20180125.models.BatchIpAccessControlData`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = BatchIpAccessControlData()
self._Data._deserialize(params.get("Data"))
self._RequestId = params.get("RequestId")
class DescribeCCAutoStatusRequest(AbstractModel):
"""DescribeCCAutoStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
"""
self._Domain = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeCCAutoStatusResponse(AbstractModel):
"""DescribeCCAutoStatus返回参数结构体
"""
def __init__(self):
r"""
:param _AutoCCSwitch: 配置状态,0表示关闭,1表示开启
:type AutoCCSwitch: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._AutoCCSwitch = None
self._RequestId = None
@property
def AutoCCSwitch(self):
"""配置状态,0表示关闭,1表示开启
:rtype: int
"""
return self._AutoCCSwitch
@AutoCCSwitch.setter
def AutoCCSwitch(self, AutoCCSwitch):
self._AutoCCSwitch = AutoCCSwitch
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._AutoCCSwitch = params.get("AutoCCSwitch")
self._RequestId = params.get("RequestId")
class DescribeCCRuleListRequest(AbstractModel):
"""DescribeCCRuleList请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要查询的API所属的域名
:type Domain: str
:param _Offset: 偏移
:type Offset: int
:param _Limit: 容量
:type Limit: int
:param _By: 目前支持根据ts_version排序
:type By: str
:param _Filters: 过滤数组,name可以是如下的值: RuleID,ParamName,Url,Action,Method,Source,Status
:type Filters: list of FiltersItemNew
:param _Order: asc或者desc
:type Order: str
"""
self._Domain = None
self._Offset = None
self._Limit = None
self._By = None
self._Filters = None
self._Order = None
@property
def Domain(self):
"""需要查询的API所属的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Offset(self):
"""偏移
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""容量
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def By(self):
"""目前支持根据ts_version排序
:rtype: str
"""
return self._By
@By.setter
def By(self, By):
self._By = By
@property
def Filters(self):
"""过滤数组,name可以是如下的值: RuleID,ParamName,Url,Action,Method,Source,Status
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
@property
def Order(self):
"""asc或者desc
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._By = params.get("By")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
self._Order = params.get("Order")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeCCRuleListResponse(AbstractModel):
"""DescribeCCRuleList返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 查询到的CC规则的列表
:type Data: :class:`tencentcloud.waf.v20180125.models.CCRuleLists`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""查询到的CC规则的列表
:rtype: :class:`tencentcloud.waf.v20180125.models.CCRuleLists`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = CCRuleLists()
self._Data._deserialize(params.get("Data"))
self._RequestId = params.get("RequestId")
class DescribeCCRuleRequest(AbstractModel):
"""DescribeCCRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Offset: 页码
:type Offset: int
:param _Limit: 页的数目
:type Limit: int
:param _Sort: 排序参数
:type Sort: str
:param _Edition: clb-waf 或者 sparta-waf
:type Edition: str
:param _Name: 过滤条件
:type Name: str
"""
self._Domain = None
self._Offset = None
self._Limit = None
self._Sort = None
self._Edition = None
self._Name = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Offset(self):
"""页码
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""页的数目
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Sort(self):
"""排序参数
:rtype: str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
@property
def Edition(self):
"""clb-waf 或者 sparta-waf
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Name(self):
"""过滤条件
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._Sort = params.get("Sort")
self._Edition = params.get("Edition")
self._Name = params.get("Name")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeCCRuleResponse(AbstractModel):
"""DescribeCCRule返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 结果
:type Data: :class:`tencentcloud.waf.v20180125.models.CCRuleData`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""结果
:rtype: :class:`tencentcloud.waf.v20180125.models.CCRuleData`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = CCRuleData()
self._Data._deserialize(params.get("Data"))
self._RequestId = params.get("RequestId")
class DescribeCertificateVerifyResultRequest(AbstractModel):
"""DescribeCertificateVerifyResult请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _CertType: 证书类型。 0:不检测国际标准证书 1:证书来源为自有证书 2:证书来源为托管证书
:type CertType: int
:param _Certificate: CertType为1时,需要填充此参数,表示自有证书的证书链
:type Certificate: str
:param _CertID: CertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:type CertID: str
:param _PrivateKey: CertType为1时,需要填充此参数,表示自有证书的私钥
:type PrivateKey: str
:param _GmCertType: 国密证书类型。0:不检测国密证书 1:证书来源为自有国密证书 2:证书来源为托管国密证书
:type GmCertType: int
:param _GmCert: GmCertType为1时,需要填充此参数,表示自有国密证书的证书链
:type GmCert: str
:param _GmPrivateKey: GmCertType为1时,需要填充此参数,表示自有国密证书的私钥
:type GmPrivateKey: str
:param _GmEncCert: GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书
:type GmEncCert: str
:param _GmEncPrivateKey: GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书的私钥
:type GmEncPrivateKey: str
:param _GmSSLId: GmCertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:type GmSSLId: str
"""
self._Domain = None
self._CertType = None
self._Certificate = None
self._CertID = None
self._PrivateKey = None
self._GmCertType = None
self._GmCert = None
self._GmPrivateKey = None
self._GmEncCert = None
self._GmEncPrivateKey = None
self._GmSSLId = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def CertType(self):
"""证书类型。 0:不检测国际标准证书 1:证书来源为自有证书 2:证书来源为托管证书
:rtype: int
"""
return self._CertType
@CertType.setter
def CertType(self, CertType):
self._CertType = CertType
@property
def Certificate(self):
"""CertType为1时,需要填充此参数,表示自有证书的证书链
:rtype: str
"""
return self._Certificate
@Certificate.setter
def Certificate(self, Certificate):
self._Certificate = Certificate
@property
def CertID(self):
"""CertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:rtype: str
"""
return self._CertID
@CertID.setter
def CertID(self, CertID):
self._CertID = CertID
@property
def PrivateKey(self):
"""CertType为1时,需要填充此参数,表示自有证书的私钥
:rtype: str
"""
return self._PrivateKey
@PrivateKey.setter
def PrivateKey(self, PrivateKey):
self._PrivateKey = PrivateKey
@property
def GmCertType(self):
"""国密证书类型。0:不检测国密证书 1:证书来源为自有国密证书 2:证书来源为托管国密证书
:rtype: int
"""
return self._GmCertType
@GmCertType.setter
def GmCertType(self, GmCertType):
self._GmCertType = GmCertType
@property
def GmCert(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的证书链
:rtype: str
"""
return self._GmCert
@GmCert.setter
def GmCert(self, GmCert):
self._GmCert = GmCert
@property
def GmPrivateKey(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的私钥
:rtype: str
"""
return self._GmPrivateKey
@GmPrivateKey.setter
def GmPrivateKey(self, GmPrivateKey):
self._GmPrivateKey = GmPrivateKey
@property
def GmEncCert(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书
:rtype: str
"""
return self._GmEncCert
@GmEncCert.setter
def GmEncCert(self, GmEncCert):
self._GmEncCert = GmEncCert
@property
def GmEncPrivateKey(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书的私钥
:rtype: str
"""
return self._GmEncPrivateKey
@GmEncPrivateKey.setter
def GmEncPrivateKey(self, GmEncPrivateKey):
self._GmEncPrivateKey = GmEncPrivateKey
@property
def GmSSLId(self):
"""GmCertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:rtype: str
"""
return self._GmSSLId
@GmSSLId.setter
def GmSSLId(self, GmSSLId):
self._GmSSLId = GmSSLId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._CertType = params.get("CertType")
self._Certificate = params.get("Certificate")
self._CertID = params.get("CertID")
self._PrivateKey = params.get("PrivateKey")
self._GmCertType = params.get("GmCertType")
self._GmCert = params.get("GmCert")
self._GmPrivateKey = params.get("GmPrivateKey")
self._GmEncCert = params.get("GmEncCert")
self._GmEncPrivateKey = params.get("GmEncPrivateKey")
self._GmSSLId = params.get("GmSSLId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeCertificateVerifyResultResponse(AbstractModel):
"""DescribeCertificateVerifyResult返回参数结构体
"""
def __init__(self):
r"""
:param _Status: 状态码。
0:证书正常
310:证书异常
311:证书过期
312:证书即将过期
:type Status: int
:param _Detail: 错误详情
:type Detail: list of str
:param _NotAfter: 过期时间
:type NotAfter: str
:param _Changed: 证书是否改变。
0:未变化
1:有变化
:type Changed: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Status = None
self._Detail = None
self._NotAfter = None
self._Changed = None
self._RequestId = None
@property
def Status(self):
"""状态码。
0:证书正常
310:证书异常
311:证书过期
312:证书即将过期
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Detail(self):
"""错误详情
:rtype: list of str
"""
return self._Detail
@Detail.setter
def Detail(self, Detail):
self._Detail = Detail
@property
def NotAfter(self):
"""过期时间
:rtype: str
"""
return self._NotAfter
@NotAfter.setter
def NotAfter(self, NotAfter):
self._NotAfter = NotAfter
@property
def Changed(self):
"""证书是否改变。
0:未变化
1:有变化
:rtype: int
"""
return self._Changed
@Changed.setter
def Changed(self, Changed):
self._Changed = Changed
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Status = params.get("Status")
self._Detail = params.get("Detail")
self._NotAfter = params.get("NotAfter")
self._Changed = params.get("Changed")
self._RequestId = params.get("RequestId")
class DescribeCiphersDetailRequest(AbstractModel):
"""DescribeCiphersDetail请求参数结构体
"""
class DescribeCiphersDetailResponse(AbstractModel):
"""DescribeCiphersDetail返回参数结构体
"""
def __init__(self):
r"""
:param _Ciphers: 加密套件信息
:type Ciphers: list of TLSCiphers
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Ciphers = None
self._RequestId = None
@property
def Ciphers(self):
"""加密套件信息
:rtype: list of TLSCiphers
"""
return self._Ciphers
@Ciphers.setter
def Ciphers(self, Ciphers):
self._Ciphers = Ciphers
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Ciphers") is not None:
self._Ciphers = []
for item in params.get("Ciphers"):
obj = TLSCiphers()
obj._deserialize(item)
self._Ciphers.append(obj)
self._RequestId = params.get("RequestId")
class DescribeCustomRuleListRequest(AbstractModel):
"""DescribeCustomRuleList请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Offset: 偏移
:type Offset: int
:param _Limit: 容量
:type Limit: int
:param _Filters: 过滤数组,name可以是如下的值: RuleID,RuleName,Match
:type Filters: list of FiltersItemNew
:param _Order: asc或者desc
:type Order: str
:param _By: exp_ts或者mod_ts
:type By: str
:param _DomainList: 查询的域名列表,访问控制页面不用传
:type DomainList: list of str
"""
self._Domain = None
self._Offset = None
self._Limit = None
self._Filters = None
self._Order = None
self._By = None
self._DomainList = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Offset(self):
"""偏移
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""容量
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Filters(self):
"""过滤数组,name可以是如下的值: RuleID,RuleName,Match
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
@property
def Order(self):
"""asc或者desc
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
@property
def By(self):
"""exp_ts或者mod_ts
:rtype: str
"""
return self._By
@By.setter
def By(self, By):
self._By = By
@property
def DomainList(self):
"""查询的域名列表,访问控制页面不用传
:rtype: list of str
"""
return self._DomainList
@DomainList.setter
def DomainList(self, DomainList):
self._DomainList = DomainList
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
self._Order = params.get("Order")
self._By = params.get("By")
self._DomainList = params.get("DomainList")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeCustomRuleListResponse(AbstractModel):
"""DescribeCustomRuleList返回参数结构体
"""
def __init__(self):
r"""
:param _RuleList: 规则详情
:type RuleList: list of DescribeCustomRulesRspRuleListItem
:param _TotalCount: 规则条数
:type TotalCount: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RuleList = None
self._TotalCount = None
self._RequestId = None
@property
def RuleList(self):
"""规则详情
:rtype: list of DescribeCustomRulesRspRuleListItem
"""
return self._RuleList
@RuleList.setter
def RuleList(self, RuleList):
self._RuleList = RuleList
@property
def TotalCount(self):
"""规则条数
:rtype: str
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("RuleList") is not None:
self._RuleList = []
for item in params.get("RuleList"):
obj = DescribeCustomRulesRspRuleListItem()
obj._deserialize(item)
self._RuleList.append(obj)
self._TotalCount = params.get("TotalCount")
self._RequestId = params.get("RequestId")
class DescribeCustomRulesRspRuleListItem(AbstractModel):
"""DescribeCustomRules接口回包中的复杂类型
"""
def __init__(self):
r"""
:param _ActionType: 动作类型,1代表阻断,2代表人机识别,3代表观察,4代表重定向,5代表JS校验
:type ActionType: str
:param _Bypass: 跳过的策略
:type Bypass: str
:param _CreateTime: 创建时间
:type CreateTime: str
:param _ExpireTime: 过期时间
:type ExpireTime: str
:param _Name: 策略名称
:type Name: str
:param _Redirect: 重定向地址
:type Redirect: str
:param _RuleId: 策略ID
:type RuleId: str
:param _SortId: 优先级
:type SortId: str
:param _Status: 状态
:type Status: str
:param _Strategies: 策略详情
:type Strategies: list of Strategy
:param _EventId: 事件id
:type EventId: str
:param _ModifyTime: 修改时间
:type ModifyTime: str
:param _ValidStatus: 生效状态
:type ValidStatus: int
:param _Source: 来源
:type Source: str
:param _JobType: 定时任务类型
:type JobType: str
:param _JobDateTime: 定时任务配置信息
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
:param _CronType: 周期任务粒度
:type CronType: str
:param _Label: 自定义标签,风控规则用,用来表示是内置规则还是用户自定义的
:type Label: str
:param _PageId: 拦截页面id
:type PageId: str
:param _Domain: 域名
:type Domain: str
:param _LogicalOp: 匹配条件的逻辑关系,支持and、or,分别表示多个逻辑匹配条件是与、或的关系
:type LogicalOp: str
"""
self._ActionType = None
self._Bypass = None
self._CreateTime = None
self._ExpireTime = None
self._Name = None
self._Redirect = None
self._RuleId = None
self._SortId = None
self._Status = None
self._Strategies = None
self._EventId = None
self._ModifyTime = None
self._ValidStatus = None
self._Source = None
self._JobType = None
self._JobDateTime = None
self._CronType = None
self._Label = None
self._PageId = None
self._Domain = None
self._LogicalOp = None
@property
def ActionType(self):
"""动作类型,1代表阻断,2代表人机识别,3代表观察,4代表重定向,5代表JS校验
:rtype: str
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def Bypass(self):
"""跳过的策略
:rtype: str
"""
return self._Bypass
@Bypass.setter
def Bypass(self, Bypass):
self._Bypass = Bypass
@property
def CreateTime(self):
"""创建时间
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def ExpireTime(self):
"""过期时间
:rtype: str
"""
return self._ExpireTime
@ExpireTime.setter
def ExpireTime(self, ExpireTime):
self._ExpireTime = ExpireTime
@property
def Name(self):
"""策略名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Redirect(self):
"""重定向地址
:rtype: str
"""
return self._Redirect
@Redirect.setter
def Redirect(self, Redirect):
self._Redirect = Redirect
@property
def RuleId(self):
"""策略ID
:rtype: str
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def SortId(self):
"""优先级
:rtype: str
"""
return self._SortId
@SortId.setter
def SortId(self, SortId):
self._SortId = SortId
@property
def Status(self):
"""状态
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Strategies(self):
"""策略详情
:rtype: list of Strategy
"""
return self._Strategies
@Strategies.setter
def Strategies(self, Strategies):
self._Strategies = Strategies
@property
def EventId(self):
"""事件id
:rtype: str
"""
return self._EventId
@EventId.setter
def EventId(self, EventId):
self._EventId = EventId
@property
def ModifyTime(self):
"""修改时间
:rtype: str
"""
return self._ModifyTime
@ModifyTime.setter
def ModifyTime(self, ModifyTime):
self._ModifyTime = ModifyTime
@property
def ValidStatus(self):
"""生效状态
:rtype: int
"""
return self._ValidStatus
@ValidStatus.setter
def ValidStatus(self, ValidStatus):
self._ValidStatus = ValidStatus
@property
def Source(self):
"""来源
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def JobType(self):
"""定时任务类型
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时任务配置信息
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
@property
def CronType(self):
"""周期任务粒度
:rtype: str
"""
return self._CronType
@CronType.setter
def CronType(self, CronType):
self._CronType = CronType
@property
def Label(self):
"""自定义标签,风控规则用,用来表示是内置规则还是用户自定义的
:rtype: str
"""
return self._Label
@Label.setter
def Label(self, Label):
self._Label = Label
@property
def PageId(self):
"""拦截页面id
:rtype: str
"""
return self._PageId
@PageId.setter
def PageId(self, PageId):
self._PageId = PageId
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def LogicalOp(self):
"""匹配条件的逻辑关系,支持and、or,分别表示多个逻辑匹配条件是与、或的关系
:rtype: str
"""
return self._LogicalOp
@LogicalOp.setter
def LogicalOp(self, LogicalOp):
self._LogicalOp = LogicalOp
def _deserialize(self, params):
self._ActionType = params.get("ActionType")
self._Bypass = params.get("Bypass")
self._CreateTime = params.get("CreateTime")
self._ExpireTime = params.get("ExpireTime")
self._Name = params.get("Name")
self._Redirect = params.get("Redirect")
self._RuleId = params.get("RuleId")
self._SortId = params.get("SortId")
self._Status = params.get("Status")
if params.get("Strategies") is not None:
self._Strategies = []
for item in params.get("Strategies"):
obj = Strategy()
obj._deserialize(item)
self._Strategies.append(obj)
self._EventId = params.get("EventId")
self._ModifyTime = params.get("ModifyTime")
self._ValidStatus = params.get("ValidStatus")
self._Source = params.get("Source")
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
self._CronType = params.get("CronType")
self._Label = params.get("Label")
self._PageId = params.get("PageId")
self._Domain = params.get("Domain")
self._LogicalOp = params.get("LogicalOp")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeCustomWhiteRuleRequest(AbstractModel):
"""DescribeCustomWhiteRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Offset: 偏移量
:type Offset: int
:param _Limit: 容量
:type Limit: int
:param _Filters: 过滤数组,name可以是如下的值: RuleID,RuleName,Match
:type Filters: list of FiltersItemNew
:param _Order: asc或者desc
:type Order: str
:param _By: exp_ts或者mod_ts
:type By: str
"""
self._Domain = None
self._Offset = None
self._Limit = None
self._Filters = None
self._Order = None
self._By = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Offset(self):
"""偏移量
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""容量
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Filters(self):
"""过滤数组,name可以是如下的值: RuleID,RuleName,Match
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
@property
def Order(self):
"""asc或者desc
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
@property
def By(self):
"""exp_ts或者mod_ts
:rtype: str
"""
return self._By
@By.setter
def By(self, By):
self._By = By
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
self._Order = params.get("Order")
self._By = params.get("By")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeCustomWhiteRuleResponse(AbstractModel):
"""DescribeCustomWhiteRule返回参数结构体
"""
def __init__(self):
r"""
:param _RuleList: 规则详情
:type RuleList: list of DescribeCustomRulesRspRuleListItem
:param _TotalCount: 规则条数
:type TotalCount: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RuleList = None
self._TotalCount = None
self._RequestId = None
@property
def RuleList(self):
"""规则详情
:rtype: list of DescribeCustomRulesRspRuleListItem
"""
return self._RuleList
@RuleList.setter
def RuleList(self, RuleList):
self._RuleList = RuleList
@property
def TotalCount(self):
"""规则条数
:rtype: str
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("RuleList") is not None:
self._RuleList = []
for item in params.get("RuleList"):
obj = DescribeCustomRulesRspRuleListItem()
obj._deserialize(item)
self._RuleList.append(obj)
self._TotalCount = params.get("TotalCount")
self._RequestId = params.get("RequestId")
class DescribeDomainCountInfoRequest(AbstractModel):
"""DescribeDomainCountInfo请求参数结构体
"""
class DescribeDomainCountInfoResponse(AbstractModel):
"""DescribeDomainCountInfo返回参数结构体
"""
def __init__(self):
r"""
:param _AllDomain: 域名总数
:type AllDomain: int
:param _UpdateTime: 最近发现时间
:type UpdateTime: str
:param _WafDomainCount: 接入域名总数
:type WafDomainCount: int
:param _LeftDomainCount: 剩下配额
:type LeftDomainCount: int
:param _OpenWafDomain: 开启防护域名数
:type OpenWafDomain: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._AllDomain = None
self._UpdateTime = None
self._WafDomainCount = None
self._LeftDomainCount = None
self._OpenWafDomain = None
self._RequestId = None
@property
def AllDomain(self):
"""域名总数
:rtype: int
"""
return self._AllDomain
@AllDomain.setter
def AllDomain(self, AllDomain):
self._AllDomain = AllDomain
@property
def UpdateTime(self):
"""最近发现时间
:rtype: str
"""
return self._UpdateTime
@UpdateTime.setter
def UpdateTime(self, UpdateTime):
self._UpdateTime = UpdateTime
@property
def WafDomainCount(self):
"""接入域名总数
:rtype: int
"""
return self._WafDomainCount
@WafDomainCount.setter
def WafDomainCount(self, WafDomainCount):
self._WafDomainCount = WafDomainCount
@property
def LeftDomainCount(self):
"""剩下配额
:rtype: int
"""
return self._LeftDomainCount
@LeftDomainCount.setter
def LeftDomainCount(self, LeftDomainCount):
self._LeftDomainCount = LeftDomainCount
@property
def OpenWafDomain(self):
"""开启防护域名数
:rtype: int
"""
return self._OpenWafDomain
@OpenWafDomain.setter
def OpenWafDomain(self, OpenWafDomain):
self._OpenWafDomain = OpenWafDomain
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._AllDomain = params.get("AllDomain")
self._UpdateTime = params.get("UpdateTime")
self._WafDomainCount = params.get("WafDomainCount")
self._LeftDomainCount = params.get("LeftDomainCount")
self._OpenWafDomain = params.get("OpenWafDomain")
self._RequestId = params.get("RequestId")
class DescribeDomainDetailsClbRequest(AbstractModel):
"""DescribeDomainDetailsClb请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名id
:type DomainId: str
:param _InstanceId: 实例id
:type InstanceId: str
"""
self._Domain = None
self._DomainId = None
self._InstanceId = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名id
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def InstanceId(self):
"""实例id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._InstanceId = params.get("InstanceId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeDomainDetailsClbResponse(AbstractModel):
"""DescribeDomainDetailsClb返回参数结构体
"""
def __init__(self):
r"""
:param _DomainsClbPartInfo: clb域名详情
:type DomainsClbPartInfo: :class:`tencentcloud.waf.v20180125.models.ClbDomainsInfo`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._DomainsClbPartInfo = None
self._RequestId = None
@property
def DomainsClbPartInfo(self):
"""clb域名详情
:rtype: :class:`tencentcloud.waf.v20180125.models.ClbDomainsInfo`
"""
return self._DomainsClbPartInfo
@DomainsClbPartInfo.setter
def DomainsClbPartInfo(self, DomainsClbPartInfo):
self._DomainsClbPartInfo = DomainsClbPartInfo
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("DomainsClbPartInfo") is not None:
self._DomainsClbPartInfo = ClbDomainsInfo()
self._DomainsClbPartInfo._deserialize(params.get("DomainsClbPartInfo"))
self._RequestId = params.get("RequestId")
class DescribeDomainDetailsSaasRequest(AbstractModel):
"""DescribeDomainDetailsSaas请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名id
:type DomainId: str
:param _InstanceId: 实例id
:type InstanceId: str
"""
self._Domain = None
self._DomainId = None
self._InstanceId = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名id
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def InstanceId(self):
"""实例id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._InstanceId = params.get("InstanceId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeDomainDetailsSaasResponse(AbstractModel):
"""DescribeDomainDetailsSaas返回参数结构体
"""
def __init__(self):
r"""
:param _DomainsPartInfo: 域名详情
:type DomainsPartInfo: :class:`tencentcloud.waf.v20180125.models.DomainsPartInfo`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._DomainsPartInfo = None
self._RequestId = None
@property
def DomainsPartInfo(self):
"""域名详情
:rtype: :class:`tencentcloud.waf.v20180125.models.DomainsPartInfo`
"""
return self._DomainsPartInfo
@DomainsPartInfo.setter
def DomainsPartInfo(self, DomainsPartInfo):
self._DomainsPartInfo = DomainsPartInfo
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("DomainsPartInfo") is not None:
self._DomainsPartInfo = DomainsPartInfo()
self._DomainsPartInfo._deserialize(params.get("DomainsPartInfo"))
self._RequestId = params.get("RequestId")
class DescribeDomainRulesRequest(AbstractModel):
"""DescribeDomainRules请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要查询的域名
:type Domain: str
"""
self._Domain = None
@property
def Domain(self):
"""需要查询的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeDomainRulesResponse(AbstractModel):
"""DescribeDomainRules返回参数结构体
"""
def __init__(self):
r"""
:param _Rules: 规则列表详情
:type Rules: list of Rule
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Rules = None
self._RequestId = None
@property
def Rules(self):
"""规则列表详情
:rtype: list of Rule
"""
return self._Rules
@Rules.setter
def Rules(self, Rules):
self._Rules = Rules
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Rules") is not None:
self._Rules = []
for item in params.get("Rules"):
obj = Rule()
obj._deserialize(item)
self._Rules.append(obj)
self._RequestId = params.get("RequestId")
class DescribeDomainVerifyResultRequest(AbstractModel):
"""DescribeDomainVerifyResult请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _InstanceID: 实例id
:type InstanceID: str
"""
self._Domain = None
self._InstanceID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def InstanceID(self):
"""实例id
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeDomainVerifyResultResponse(AbstractModel):
"""DescribeDomainVerifyResult返回参数结构体
"""
def __init__(self):
r"""
:param _Msg: 结果描述;如果可以添加返回空字符串
:type Msg: str
:param _VerifyCode: 检验状态:0表示可以添加,大于0为不能添加
:type VerifyCode: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Msg = None
self._VerifyCode = None
self._RequestId = None
@property
def Msg(self):
"""结果描述;如果可以添加返回空字符串
:rtype: str
"""
return self._Msg
@Msg.setter
def Msg(self, Msg):
self._Msg = Msg
@property
def VerifyCode(self):
"""检验状态:0表示可以添加,大于0为不能添加
:rtype: int
"""
return self._VerifyCode
@VerifyCode.setter
def VerifyCode(self, VerifyCode):
self._VerifyCode = VerifyCode
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Msg = params.get("Msg")
self._VerifyCode = params.get("VerifyCode")
self._RequestId = params.get("RequestId")
class DescribeDomainWhiteRulesRequest(AbstractModel):
"""DescribeDomainWhiteRules请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要查询的域名
:type Domain: str
:param _Url: 请求的白名单匹配路径
:type Url: str
:param _Page: 翻到多少页
:type Page: int
:param _Count: 每页展示的条数
:type Count: int
:param _Sort: 排序方式,desc表示降序,asc表示升序
:type Sort: str
:param _RuleId: 规则ID
:type RuleId: str
"""
self._Domain = None
self._Url = None
self._Page = None
self._Count = None
self._Sort = None
self._RuleId = None
@property
def Domain(self):
"""需要查询的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Url(self):
"""请求的白名单匹配路径
:rtype: str
"""
return self._Url
@Url.setter
def Url(self, Url):
self._Url = Url
@property
def Page(self):
"""翻到多少页
:rtype: int
"""
return self._Page
@Page.setter
def Page(self, Page):
self._Page = Page
@property
def Count(self):
"""每页展示的条数
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Sort(self):
"""排序方式,desc表示降序,asc表示升序
:rtype: str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
@property
def RuleId(self):
"""规则ID
:rtype: str
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Url = params.get("Url")
self._Page = params.get("Page")
self._Count = params.get("Count")
self._Sort = params.get("Sort")
self._RuleId = params.get("RuleId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeDomainWhiteRulesResponse(AbstractModel):
"""DescribeDomainWhiteRules返回参数结构体
"""
def __init__(self):
r"""
:param _RuleList: 规则列表
:type RuleList: list of RuleList
:param _Total: 规则的数量
:type Total: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RuleList = None
self._Total = None
self._RequestId = None
@property
def RuleList(self):
"""规则列表
:rtype: list of RuleList
"""
return self._RuleList
@RuleList.setter
def RuleList(self, RuleList):
self._RuleList = RuleList
@property
def Total(self):
"""规则的数量
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("RuleList") is not None:
self._RuleList = []
for item in params.get("RuleList"):
obj = RuleList()
obj._deserialize(item)
self._RuleList.append(obj)
self._Total = params.get("Total")
self._RequestId = params.get("RequestId")
class DescribeDomainsRequest(AbstractModel):
"""DescribeDomains请求参数结构体
"""
def __init__(self):
r"""
:param _Offset: 分页偏移量,取Limit整数倍。最小值为0,最大值= Total/Limit向上取整
:type Offset: int
:param _Limit: 返回域名的数量
:type Limit: int
:param _Filters: 过滤数组,过滤字段包括:Edition:实例版本,sparta-waf或clb-waf Domain:域名 DomainId:域名ID InstanceName:实例名称 InstanceId:实例ID FlowMode:流量接入模式,仅支持CLBWAF FlowCheckMode:流量体检模式,仅支持CLBWAF ClsStatus:日志开关 Status:WAF开关BotStatus:BOT开关 ApiStatus:API安全开关 Engine:引擎模式 UpstreamIP:源站IP,仅支持SAAS型WAF UpstreamDomain:源站域名,仅支持SAAS型WAF DomainState:域名状态,仅支持SAAS型WAF SgState:安全组状态,仅支持SAAS型WAF Label:分组标签,同时仅支持一种标签过滤
:type Filters: list of FiltersItemNew
"""
self._Offset = None
self._Limit = None
self._Filters = None
@property
def Offset(self):
"""分页偏移量,取Limit整数倍。最小值为0,最大值= Total/Limit向上取整
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""返回域名的数量
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Filters(self):
"""过滤数组,过滤字段包括:Edition:实例版本,sparta-waf或clb-waf Domain:域名 DomainId:域名ID InstanceName:实例名称 InstanceId:实例ID FlowMode:流量接入模式,仅支持CLBWAF FlowCheckMode:流量体检模式,仅支持CLBWAF ClsStatus:日志开关 Status:WAF开关BotStatus:BOT开关 ApiStatus:API安全开关 Engine:引擎模式 UpstreamIP:源站IP,仅支持SAAS型WAF UpstreamDomain:源站域名,仅支持SAAS型WAF DomainState:域名状态,仅支持SAAS型WAF SgState:安全组状态,仅支持SAAS型WAF Label:分组标签,同时仅支持一种标签过滤
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
def _deserialize(self, params):
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeDomainsResponse(AbstractModel):
"""DescribeDomains返回参数结构体
"""
def __init__(self):
r"""
:param _Total: 总数
:type Total: int
:param _Domains: domain列表
:type Domains: list of DomainInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Total = None
self._Domains = None
self._RequestId = None
@property
def Total(self):
"""总数
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def Domains(self):
"""domain列表
:rtype: list of DomainInfo
"""
return self._Domains
@Domains.setter
def Domains(self, Domains):
self._Domains = Domains
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Total = params.get("Total")
if params.get("Domains") is not None:
self._Domains = []
for item in params.get("Domains"):
obj = DomainInfo()
obj._deserialize(item)
self._Domains.append(obj)
self._RequestId = params.get("RequestId")
class DescribeFindDomainListRequest(AbstractModel):
"""DescribeFindDomainList请求参数结构体
"""
def __init__(self):
r"""
:param _Offset: 分页
:type Offset: int
:param _Limit: 每页容量
:type Limit: int
:param _Key: 过滤条件
:type Key: str
:param _IsWafDomain: 是否接入waf;传"1"返回接入域名的详情,传"0"返回未接入域名的详情,传""返回接入和未接入域名的详情
:type IsWafDomain: str
:param _By: 排序参数
:type By: str
:param _Order: 排序方式
:type Order: str
"""
self._Offset = None
self._Limit = None
self._Key = None
self._IsWafDomain = None
self._By = None
self._Order = None
@property
def Offset(self):
"""分页
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""每页容量
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Key(self):
"""过滤条件
:rtype: str
"""
return self._Key
@Key.setter
def Key(self, Key):
self._Key = Key
@property
def IsWafDomain(self):
"""是否接入waf;传"1"返回接入域名的详情,传"0"返回未接入域名的详情,传""返回接入和未接入域名的详情
:rtype: str
"""
return self._IsWafDomain
@IsWafDomain.setter
def IsWafDomain(self, IsWafDomain):
self._IsWafDomain = IsWafDomain
@property
def By(self):
"""排序参数
:rtype: str
"""
return self._By
@By.setter
def By(self, By):
self._By = By
@property
def Order(self):
"""排序方式
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
def _deserialize(self, params):
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._Key = params.get("Key")
self._IsWafDomain = params.get("IsWafDomain")
self._By = params.get("By")
self._Order = params.get("Order")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeFindDomainListResponse(AbstractModel):
"""DescribeFindDomainList返回参数结构体
"""
def __init__(self):
r"""
:param _Total: 域名总数
:type Total: int
:param _List: 域名信息列表
:type List: list of FindAllDomainDetail
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Total = None
self._List = None
self._RequestId = None
@property
def Total(self):
"""域名总数
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def List(self):
"""域名信息列表
:rtype: list of FindAllDomainDetail
"""
return self._List
@List.setter
def List(self, List):
self._List = List
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Total = params.get("Total")
if params.get("List") is not None:
self._List = []
for item in params.get("List"):
obj = FindAllDomainDetail()
obj._deserialize(item)
self._List.append(obj)
self._RequestId = params.get("RequestId")
class DescribeFlowTrendRequest(AbstractModel):
"""DescribeFlowTrend请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要获取流量趋势的域名, all表示所有域名
:type Domain: str
:param _StartTs: 起始时间戳,精度秒
:type StartTs: int
:param _EndTs: 结束时间戳,精度秒
:type EndTs: int
"""
self._Domain = None
self._StartTs = None
self._EndTs = None
@property
def Domain(self):
"""需要获取流量趋势的域名, all表示所有域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def StartTs(self):
"""起始时间戳,精度秒
:rtype: int
"""
return self._StartTs
@StartTs.setter
def StartTs(self, StartTs):
self._StartTs = StartTs
@property
def EndTs(self):
"""结束时间戳,精度秒
:rtype: int
"""
return self._EndTs
@EndTs.setter
def EndTs(self, EndTs):
self._EndTs = EndTs
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._StartTs = params.get("StartTs")
self._EndTs = params.get("EndTs")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeFlowTrendResponse(AbstractModel):
"""DescribeFlowTrend返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 流量趋势数据
:type Data: list of BotStatPointItem
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""流量趋势数据
:rtype: list of BotStatPointItem
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = []
for item in params.get("Data"):
obj = BotStatPointItem()
obj._deserialize(item)
self._Data.append(obj)
self._RequestId = params.get("RequestId")
class DescribeHistogramRequest(AbstractModel):
"""DescribeHistogram请求参数结构体
"""
def __init__(self):
r"""
:param _FromTime: 起始时间
:type FromTime: str
:param _ToTime: 结束时间
:type ToTime: str
:param _QueryField: 聚类字段,ip为ip聚合,art为响应耗时聚合,url为url聚合,local为ip转化的城市聚合,qps为每秒请求数峰值的聚合,up为上行带宽峰值聚合,down为下行带峰值聚合
:type QueryField: str
:param _Source: 条件,access为访问日志,attack为攻击日志
:type Source: str
:param _Host: 兼容Host,逐步淘汰Host字段
:type Host: str
:param _Edition: 只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:type Edition: str
:param _InstanceID: WAF实例ID,不传则不过滤
:type InstanceID: str
:param _Domain: 域名过滤,不传则不过滤,用于替代Host字段,逐步淘汰Host
:type Domain: str
"""
self._FromTime = None
self._ToTime = None
self._QueryField = None
self._Source = None
self._Host = None
self._Edition = None
self._InstanceID = None
self._Domain = None
@property
def FromTime(self):
"""起始时间
:rtype: str
"""
return self._FromTime
@FromTime.setter
def FromTime(self, FromTime):
self._FromTime = FromTime
@property
def ToTime(self):
"""结束时间
:rtype: str
"""
return self._ToTime
@ToTime.setter
def ToTime(self, ToTime):
self._ToTime = ToTime
@property
def QueryField(self):
"""聚类字段,ip为ip聚合,art为响应耗时聚合,url为url聚合,local为ip转化的城市聚合,qps为每秒请求数峰值的聚合,up为上行带宽峰值聚合,down为下行带峰值聚合
:rtype: str
"""
return self._QueryField
@QueryField.setter
def QueryField(self, QueryField):
self._QueryField = QueryField
@property
def Source(self):
"""条件,access为访问日志,attack为攻击日志
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def Host(self):
"""兼容Host,逐步淘汰Host字段
:rtype: str
"""
return self._Host
@Host.setter
def Host(self, Host):
self._Host = Host
@property
def Edition(self):
"""只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def InstanceID(self):
"""WAF实例ID,不传则不过滤
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def Domain(self):
"""域名过滤,不传则不过滤,用于替代Host字段,逐步淘汰Host
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._FromTime = params.get("FromTime")
self._ToTime = params.get("ToTime")
self._QueryField = params.get("QueryField")
self._Source = params.get("Source")
self._Host = params.get("Host")
self._Edition = params.get("Edition")
self._InstanceID = params.get("InstanceID")
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeHistogramResponse(AbstractModel):
"""DescribeHistogram返回参数结构体
"""
def __init__(self):
r"""
:param _Histogram: 统计数据
:type Histogram: list of str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Histogram = None
self._RequestId = None
@property
def Histogram(self):
"""统计数据
:rtype: list of str
"""
return self._Histogram
@Histogram.setter
def Histogram(self, Histogram):
self._Histogram = Histogram
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Histogram = params.get("Histogram")
self._RequestId = params.get("RequestId")
class DescribeHostLimitRequest(AbstractModel):
"""DescribeHostLimit请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 添加的域名
:type Domain: str
:param _InstanceID: 实例id
:type InstanceID: str
:param _AlbType: 流量来源
:type AlbType: str
"""
self._Domain = None
self._InstanceID = None
self._AlbType = None
@property
def Domain(self):
"""添加的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def InstanceID(self):
"""实例id
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def AlbType(self):
"""流量来源
:rtype: str
"""
return self._AlbType
@AlbType.setter
def AlbType(self, AlbType):
self._AlbType = AlbType
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._InstanceID = params.get("InstanceID")
self._AlbType = params.get("AlbType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeHostLimitResponse(AbstractModel):
"""DescribeHostLimit返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 成功返回的状态码
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""成功返回的状态码
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class DescribeHostRequest(AbstractModel):
"""DescribeHost请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名ID
:type DomainId: str
:param _InstanceID: 实例ID
:type InstanceID: str
"""
self._Domain = None
self._DomainId = None
self._InstanceID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def InstanceID(self):
"""实例ID
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeHostResponse(AbstractModel):
"""DescribeHost返回参数结构体
"""
def __init__(self):
r"""
:param _Host: 域名详情
:type Host: :class:`tencentcloud.waf.v20180125.models.HostRecord`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Host = None
self._RequestId = None
@property
def Host(self):
"""域名详情
:rtype: :class:`tencentcloud.waf.v20180125.models.HostRecord`
"""
return self._Host
@Host.setter
def Host(self, Host):
self._Host = Host
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Host") is not None:
self._Host = HostRecord()
self._Host._deserialize(params.get("Host"))
self._RequestId = params.get("RequestId")
class DescribeHostsRequest(AbstractModel):
"""DescribeHosts请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 防护域名,如果是要查询某一具体的防护域名则传入此参数,要求是准确的域名,此参数不支持模糊搜索
:type Domain: str
:param _DomainId: 防护域名ID,如果是要查询某一具体的防护域名则传入此参数,要求是准确的域名ID,此参数不支持模糊搜索
:type DomainId: str
:param _Search: 搜索条件,根据此参数对域名做模糊搜索
:type Search: str
:param _Item: 复杂的搜索条件
:type Item: :class:`tencentcloud.waf.v20180125.models.SearchItem`
:param _InstanceID: 实例id
:type InstanceID: str
"""
self._Domain = None
self._DomainId = None
self._Search = None
self._Item = None
self._InstanceID = None
@property
def Domain(self):
"""防护域名,如果是要查询某一具体的防护域名则传入此参数,要求是准确的域名,此参数不支持模糊搜索
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""防护域名ID,如果是要查询某一具体的防护域名则传入此参数,要求是准确的域名ID,此参数不支持模糊搜索
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def Search(self):
"""搜索条件,根据此参数对域名做模糊搜索
:rtype: str
"""
return self._Search
@Search.setter
def Search(self, Search):
self._Search = Search
@property
def Item(self):
"""复杂的搜索条件
:rtype: :class:`tencentcloud.waf.v20180125.models.SearchItem`
"""
return self._Item
@Item.setter
def Item(self, Item):
self._Item = Item
@property
def InstanceID(self):
"""实例id
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._Search = params.get("Search")
if params.get("Item") is not None:
self._Item = SearchItem()
self._Item._deserialize(params.get("Item"))
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeHostsResponse(AbstractModel):
"""DescribeHosts返回参数结构体
"""
def __init__(self):
r"""
:param _TotalCount: 防护域名列表的长度
:type TotalCount: int
:param _HostList: 防护域名的列表
:type HostList: list of HostRecord
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TotalCount = None
self._HostList = None
self._RequestId = None
@property
def TotalCount(self):
"""防护域名列表的长度
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def HostList(self):
"""防护域名的列表
:rtype: list of HostRecord
"""
return self._HostList
@HostList.setter
def HostList(self, HostList):
self._HostList = HostList
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("HostList") is not None:
self._HostList = []
for item in params.get("HostList"):
obj = HostRecord()
obj._deserialize(item)
self._HostList.append(obj)
self._RequestId = params.get("RequestId")
class DescribeInstancesRequest(AbstractModel):
"""DescribeInstances请求参数结构体
"""
def __init__(self):
r"""
:param _Offset: 偏移量
:type Offset: int
:param _Limit: 容量
:type Limit: int
:param _Filters: 过滤数组
:type Filters: list of FiltersItemNew
:param _FreeDelayFlag: 释放延期标识
:type FreeDelayFlag: int
"""
self._Offset = None
self._Limit = None
self._Filters = None
self._FreeDelayFlag = None
@property
def Offset(self):
"""偏移量
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""容量
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Filters(self):
"""过滤数组
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
@property
def FreeDelayFlag(self):
"""释放延期标识
:rtype: int
"""
return self._FreeDelayFlag
@FreeDelayFlag.setter
def FreeDelayFlag(self, FreeDelayFlag):
self._FreeDelayFlag = FreeDelayFlag
def _deserialize(self, params):
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
self._FreeDelayFlag = params.get("FreeDelayFlag")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeInstancesResponse(AbstractModel):
"""DescribeInstances返回参数结构体
"""
def __init__(self):
r"""
:param _Total: 总数
:type Total: int
:param _Instances: instance列表
:type Instances: list of InstanceInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Total = None
self._Instances = None
self._RequestId = None
@property
def Total(self):
"""总数
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def Instances(self):
"""instance列表
:rtype: list of InstanceInfo
"""
return self._Instances
@Instances.setter
def Instances(self, Instances):
self._Instances = Instances
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Total = params.get("Total")
if params.get("Instances") is not None:
self._Instances = []
for item in params.get("Instances"):
obj = InstanceInfo()
obj._deserialize(item)
self._Instances.append(obj)
self._RequestId = params.get("RequestId")
class DescribeIpAccessControlRequest(AbstractModel):
"""DescribeIpAccessControl请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Count: 计数标识
:type Count: int
:param _ActionType: 动作,40表示查询白名单,42表示查询黑名单
:type ActionType: int
:param _VtsMin: 最小有效时间的时间戳
:type VtsMin: int
:param _VtsMax: 最大有效时间的时间戳
:type VtsMax: int
:param _CtsMin: 最小创建时间的时间戳
:type CtsMin: int
:param _CtsMax: 最大创建时间的时间戳
:type CtsMax: int
:param _OffSet: 分页偏移量,取Limit整数倍。最小值为0,最大值= Total/Limit向上取整
:type OffSet: int
:param _Limit: 每页返回的数量,默认为20
:type Limit: int
:param _Source: 来源
:type Source: str
:param _Sort: 排序参数
:type Sort: str
:param _Ip: IP
:type Ip: str
:param _ValidStatus: 生效状态,1表示生效中,2表示过期,0表示全部
:type ValidStatus: int
:param _ValidTimeStampMin: 最小有效时间的时间戳
:type ValidTimeStampMin: str
:param _ValidTimeStampMax: 最大有效时间的时间戳
:type ValidTimeStampMax: str
:param _RuleId: 规则ID
:type RuleId: int
:param _TimerType: 0表示全部,1表示永久生效,2表示定时生效,3表示周粒度生效,4表示月粒度生效
:type TimerType: int
"""
self._Domain = None
self._Count = None
self._ActionType = None
self._VtsMin = None
self._VtsMax = None
self._CtsMin = None
self._CtsMax = None
self._OffSet = None
self._Limit = None
self._Source = None
self._Sort = None
self._Ip = None
self._ValidStatus = None
self._ValidTimeStampMin = None
self._ValidTimeStampMax = None
self._RuleId = None
self._TimerType = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Count(self):
"""计数标识
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def ActionType(self):
"""动作,40表示查询白名单,42表示查询黑名单
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def VtsMin(self):
warnings.warn("parameter `VtsMin` is deprecated", DeprecationWarning)
"""最小有效时间的时间戳
:rtype: int
"""
return self._VtsMin
@VtsMin.setter
def VtsMin(self, VtsMin):
warnings.warn("parameter `VtsMin` is deprecated", DeprecationWarning)
self._VtsMin = VtsMin
@property
def VtsMax(self):
warnings.warn("parameter `VtsMax` is deprecated", DeprecationWarning)
"""最大有效时间的时间戳
:rtype: int
"""
return self._VtsMax
@VtsMax.setter
def VtsMax(self, VtsMax):
warnings.warn("parameter `VtsMax` is deprecated", DeprecationWarning)
self._VtsMax = VtsMax
@property
def CtsMin(self):
"""最小创建时间的时间戳
:rtype: int
"""
return self._CtsMin
@CtsMin.setter
def CtsMin(self, CtsMin):
self._CtsMin = CtsMin
@property
def CtsMax(self):
"""最大创建时间的时间戳
:rtype: int
"""
return self._CtsMax
@CtsMax.setter
def CtsMax(self, CtsMax):
self._CtsMax = CtsMax
@property
def OffSet(self):
"""分页偏移量,取Limit整数倍。最小值为0,最大值= Total/Limit向上取整
:rtype: int
"""
return self._OffSet
@OffSet.setter
def OffSet(self, OffSet):
self._OffSet = OffSet
@property
def Limit(self):
"""每页返回的数量,默认为20
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Source(self):
"""来源
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def Sort(self):
"""排序参数
:rtype: str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
@property
def Ip(self):
"""IP
:rtype: str
"""
return self._Ip
@Ip.setter
def Ip(self, Ip):
self._Ip = Ip
@property
def ValidStatus(self):
"""生效状态,1表示生效中,2表示过期,0表示全部
:rtype: int
"""
return self._ValidStatus
@ValidStatus.setter
def ValidStatus(self, ValidStatus):
self._ValidStatus = ValidStatus
@property
def ValidTimeStampMin(self):
"""最小有效时间的时间戳
:rtype: str
"""
return self._ValidTimeStampMin
@ValidTimeStampMin.setter
def ValidTimeStampMin(self, ValidTimeStampMin):
self._ValidTimeStampMin = ValidTimeStampMin
@property
def ValidTimeStampMax(self):
"""最大有效时间的时间戳
:rtype: str
"""
return self._ValidTimeStampMax
@ValidTimeStampMax.setter
def ValidTimeStampMax(self, ValidTimeStampMax):
self._ValidTimeStampMax = ValidTimeStampMax
@property
def RuleId(self):
"""规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def TimerType(self):
"""0表示全部,1表示永久生效,2表示定时生效,3表示周粒度生效,4表示月粒度生效
:rtype: int
"""
return self._TimerType
@TimerType.setter
def TimerType(self, TimerType):
self._TimerType = TimerType
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Count = params.get("Count")
self._ActionType = params.get("ActionType")
self._VtsMin = params.get("VtsMin")
self._VtsMax = params.get("VtsMax")
self._CtsMin = params.get("CtsMin")
self._CtsMax = params.get("CtsMax")
self._OffSet = params.get("OffSet")
self._Limit = params.get("Limit")
self._Source = params.get("Source")
self._Sort = params.get("Sort")
self._Ip = params.get("Ip")
self._ValidStatus = params.get("ValidStatus")
self._ValidTimeStampMin = params.get("ValidTimeStampMin")
self._ValidTimeStampMax = params.get("ValidTimeStampMax")
self._RuleId = params.get("RuleId")
self._TimerType = params.get("TimerType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeIpAccessControlResponse(AbstractModel):
"""DescribeIpAccessControl返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 输出
:type Data: :class:`tencentcloud.waf.v20180125.models.IpAccessControlData`
:param _UsedTotal: 已经使用的IP黑白名单的IP总数
:type UsedTotal: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._UsedTotal = None
self._RequestId = None
@property
def Data(self):
"""输出
:rtype: :class:`tencentcloud.waf.v20180125.models.IpAccessControlData`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def UsedTotal(self):
"""已经使用的IP黑白名单的IP总数
:rtype: int
"""
return self._UsedTotal
@UsedTotal.setter
def UsedTotal(self, UsedTotal):
self._UsedTotal = UsedTotal
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = IpAccessControlData()
self._Data._deserialize(params.get("Data"))
self._UsedTotal = params.get("UsedTotal")
self._RequestId = params.get("RequestId")
class DescribeIpHitItemsRequest(AbstractModel):
"""DescribeIpHitItems请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Count: 计数标识
:type Count: int
:param _Category: 类别,ip封禁传值auto_deny
:type Category: str
:param _VtsMin: 有效时间最小时间戳
:type VtsMin: int
:param _VtsMax: 有效时间最大时间戳
:type VtsMax: int
:param _CtsMin: 创建时间最小时间戳
:type CtsMin: int
:param _CtsMax: 创建时间最大时间戳
:type CtsMax: int
:param _Skip: 偏移参数
:type Skip: int
:param _Limit: 限制数目,category不等于threat_intelligence时,该值需要必传
:type Limit: int
:param _Name: 策略名称
:type Name: str
:param _Sort: 排序参数
:type Sort: str
:param _Ip: IP,category传threat_intelligence的时候,该值必传
:type Ip: str
:param _ValidTimeStampMin: 有效时间最小时间戳
:type ValidTimeStampMin: int
:param _ValidTimeStampMax: 有效时间最大时间戳
:type ValidTimeStampMax: int
"""
self._Domain = None
self._Count = None
self._Category = None
self._VtsMin = None
self._VtsMax = None
self._CtsMin = None
self._CtsMax = None
self._Skip = None
self._Limit = None
self._Name = None
self._Sort = None
self._Ip = None
self._ValidTimeStampMin = None
self._ValidTimeStampMax = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Count(self):
"""计数标识
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Category(self):
"""类别,ip封禁传值auto_deny
:rtype: str
"""
return self._Category
@Category.setter
def Category(self, Category):
self._Category = Category
@property
def VtsMin(self):
warnings.warn("parameter `VtsMin` is deprecated", DeprecationWarning)
"""有效时间最小时间戳
:rtype: int
"""
return self._VtsMin
@VtsMin.setter
def VtsMin(self, VtsMin):
warnings.warn("parameter `VtsMin` is deprecated", DeprecationWarning)
self._VtsMin = VtsMin
@property
def VtsMax(self):
warnings.warn("parameter `VtsMax` is deprecated", DeprecationWarning)
"""有效时间最大时间戳
:rtype: int
"""
return self._VtsMax
@VtsMax.setter
def VtsMax(self, VtsMax):
warnings.warn("parameter `VtsMax` is deprecated", DeprecationWarning)
self._VtsMax = VtsMax
@property
def CtsMin(self):
"""创建时间最小时间戳
:rtype: int
"""
return self._CtsMin
@CtsMin.setter
def CtsMin(self, CtsMin):
self._CtsMin = CtsMin
@property
def CtsMax(self):
"""创建时间最大时间戳
:rtype: int
"""
return self._CtsMax
@CtsMax.setter
def CtsMax(self, CtsMax):
self._CtsMax = CtsMax
@property
def Skip(self):
"""偏移参数
:rtype: int
"""
return self._Skip
@Skip.setter
def Skip(self, Skip):
self._Skip = Skip
@property
def Limit(self):
"""限制数目,category不等于threat_intelligence时,该值需要必传
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Name(self):
"""策略名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Sort(self):
"""排序参数
:rtype: str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
@property
def Ip(self):
"""IP,category传threat_intelligence的时候,该值必传
:rtype: str
"""
return self._Ip
@Ip.setter
def Ip(self, Ip):
self._Ip = Ip
@property
def ValidTimeStampMin(self):
"""有效时间最小时间戳
:rtype: int
"""
return self._ValidTimeStampMin
@ValidTimeStampMin.setter
def ValidTimeStampMin(self, ValidTimeStampMin):
self._ValidTimeStampMin = ValidTimeStampMin
@property
def ValidTimeStampMax(self):
"""有效时间最大时间戳
:rtype: int
"""
return self._ValidTimeStampMax
@ValidTimeStampMax.setter
def ValidTimeStampMax(self, ValidTimeStampMax):
self._ValidTimeStampMax = ValidTimeStampMax
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Count = params.get("Count")
self._Category = params.get("Category")
self._VtsMin = params.get("VtsMin")
self._VtsMax = params.get("VtsMax")
self._CtsMin = params.get("CtsMin")
self._CtsMax = params.get("CtsMax")
self._Skip = params.get("Skip")
self._Limit = params.get("Limit")
self._Name = params.get("Name")
self._Sort = params.get("Sort")
self._Ip = params.get("Ip")
self._ValidTimeStampMin = params.get("ValidTimeStampMin")
self._ValidTimeStampMax = params.get("ValidTimeStampMax")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeIpHitItemsResponse(AbstractModel):
"""DescribeIpHitItems返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 结果
:type Data: :class:`tencentcloud.waf.v20180125.models.IpHitItemsData`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""结果
:rtype: :class:`tencentcloud.waf.v20180125.models.IpHitItemsData`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = IpHitItemsData()
self._Data._deserialize(params.get("Data"))
self._RequestId = params.get("RequestId")
class DescribeModuleStatusRequest(AbstractModel):
"""DescribeModuleStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 要查询状态的域名
:type Domain: str
"""
self._Domain = None
@property
def Domain(self):
"""要查询状态的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeModuleStatusResponse(AbstractModel):
"""DescribeModuleStatus返回参数结构体
"""
def __init__(self):
r"""
:param _WebSecurity: WEB安全规则是否开启
:type WebSecurity: int
:param _AccessControl: 访问控制规则是否开启
:type AccessControl: int
:param _CcProtection: CC防护是否开启
:type CcProtection: int
:param _AntiTamper: 网页防篡改是否开启
:type AntiTamper: int
:param _AntiLeakage: 信息防泄漏是否开启
:type AntiLeakage: int
:param _ApiProtection: API安全是否开启
:type ApiProtection: int
:param _RateLimit: 限流模块开关
:type RateLimit: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._WebSecurity = None
self._AccessControl = None
self._CcProtection = None
self._AntiTamper = None
self._AntiLeakage = None
self._ApiProtection = None
self._RateLimit = None
self._RequestId = None
@property
def WebSecurity(self):
"""WEB安全规则是否开启
:rtype: int
"""
return self._WebSecurity
@WebSecurity.setter
def WebSecurity(self, WebSecurity):
self._WebSecurity = WebSecurity
@property
def AccessControl(self):
"""访问控制规则是否开启
:rtype: int
"""
return self._AccessControl
@AccessControl.setter
def AccessControl(self, AccessControl):
self._AccessControl = AccessControl
@property
def CcProtection(self):
"""CC防护是否开启
:rtype: int
"""
return self._CcProtection
@CcProtection.setter
def CcProtection(self, CcProtection):
self._CcProtection = CcProtection
@property
def AntiTamper(self):
"""网页防篡改是否开启
:rtype: int
"""
return self._AntiTamper
@AntiTamper.setter
def AntiTamper(self, AntiTamper):
self._AntiTamper = AntiTamper
@property
def AntiLeakage(self):
"""信息防泄漏是否开启
:rtype: int
"""
return self._AntiLeakage
@AntiLeakage.setter
def AntiLeakage(self, AntiLeakage):
self._AntiLeakage = AntiLeakage
@property
def ApiProtection(self):
"""API安全是否开启
:rtype: int
"""
return self._ApiProtection
@ApiProtection.setter
def ApiProtection(self, ApiProtection):
self._ApiProtection = ApiProtection
@property
def RateLimit(self):
"""限流模块开关
:rtype: int
"""
return self._RateLimit
@RateLimit.setter
def RateLimit(self, RateLimit):
self._RateLimit = RateLimit
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._WebSecurity = params.get("WebSecurity")
self._AccessControl = params.get("AccessControl")
self._CcProtection = params.get("CcProtection")
self._AntiTamper = params.get("AntiTamper")
self._AntiLeakage = params.get("AntiLeakage")
self._ApiProtection = params.get("ApiProtection")
self._RateLimit = params.get("RateLimit")
self._RequestId = params.get("RequestId")
class DescribeObjectsRequest(AbstractModel):
"""DescribeObjects请求参数结构体
"""
def __init__(self):
r"""
:param _Filters: 支持的过滤器: ObjectId: clb实例ID VIP: clb实例的公网IP InstanceId: waf实例ID Domain: 精准域名 Status: waf防护开关状态: 0关闭,1开启 ClsStatus: waf日志开关: 0关闭,1开启
:type Filters: list of FiltersItemNew
"""
self._Filters = None
@property
def Filters(self):
"""支持的过滤器: ObjectId: clb实例ID VIP: clb实例的公网IP InstanceId: waf实例ID Domain: 精准域名 Status: waf防护开关状态: 0关闭,1开启 ClsStatus: waf日志开关: 0关闭,1开启
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
def _deserialize(self, params):
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeObjectsResponse(AbstractModel):
"""DescribeObjects返回参数结构体
"""
def __init__(self):
r"""
:param _ClbObjects: 对象列表
:type ClbObjects: list of ClbObject
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._ClbObjects = None
self._RequestId = None
@property
def ClbObjects(self):
"""对象列表
:rtype: list of ClbObject
"""
return self._ClbObjects
@ClbObjects.setter
def ClbObjects(self, ClbObjects):
self._ClbObjects = ClbObjects
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("ClbObjects") is not None:
self._ClbObjects = []
for item in params.get("ClbObjects"):
obj = ClbObject()
obj._deserialize(item)
self._ClbObjects.append(obj)
self._RequestId = params.get("RequestId")
class DescribePeakPointsRequest(AbstractModel):
"""DescribePeakPoints请求参数结构体
"""
def __init__(self):
r"""
:param _FromTime: 查询起始时间
:type FromTime: str
:param _ToTime: 查询终止时间
:type ToTime: str
:param _Domain: 查询的域名,如果查询所有域名数据,该参数不填写
:type Domain: str
:param _Edition: 只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:type Edition: str
:param _InstanceID: WAF实例ID,不传则不过滤
:type InstanceID: str
:param _MetricName: 十二个值可选:
access-峰值qps趋势图
botAccess- bot峰值qps趋势图
down-下行峰值带宽趋势图
up-上行峰值带宽趋势图
attack-Web攻击总数趋势图
cc-CC攻击总数趋势图
bw-黑IP攻击总数趋势图
tamper-防篡改攻击总数趋势图
leak-防泄露攻击总数趋势图
acl-访问控制攻击总数趋势图
http_status-状态码各次数趋势图
wx_access-微信小程序峰值qps趋势图
:type MetricName: str
"""
self._FromTime = None
self._ToTime = None
self._Domain = None
self._Edition = None
self._InstanceID = None
self._MetricName = None
@property
def FromTime(self):
"""查询起始时间
:rtype: str
"""
return self._FromTime
@FromTime.setter
def FromTime(self, FromTime):
self._FromTime = FromTime
@property
def ToTime(self):
"""查询终止时间
:rtype: str
"""
return self._ToTime
@ToTime.setter
def ToTime(self, ToTime):
self._ToTime = ToTime
@property
def Domain(self):
"""查询的域名,如果查询所有域名数据,该参数不填写
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Edition(self):
"""只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def InstanceID(self):
"""WAF实例ID,不传则不过滤
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def MetricName(self):
"""十二个值可选:
access-峰值qps趋势图
botAccess- bot峰值qps趋势图
down-下行峰值带宽趋势图
up-上行峰值带宽趋势图
attack-Web攻击总数趋势图
cc-CC攻击总数趋势图
bw-黑IP攻击总数趋势图
tamper-防篡改攻击总数趋势图
leak-防泄露攻击总数趋势图
acl-访问控制攻击总数趋势图
http_status-状态码各次数趋势图
wx_access-微信小程序峰值qps趋势图
:rtype: str
"""
return self._MetricName
@MetricName.setter
def MetricName(self, MetricName):
self._MetricName = MetricName
def _deserialize(self, params):
self._FromTime = params.get("FromTime")
self._ToTime = params.get("ToTime")
self._Domain = params.get("Domain")
self._Edition = params.get("Edition")
self._InstanceID = params.get("InstanceID")
self._MetricName = params.get("MetricName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribePeakPointsResponse(AbstractModel):
"""DescribePeakPoints返回参数结构体
"""
def __init__(self):
r"""
:param _Points: 数据点
:type Points: list of PeakPointsItem
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Points = None
self._RequestId = None
@property
def Points(self):
"""数据点
:rtype: list of PeakPointsItem
"""
return self._Points
@Points.setter
def Points(self, Points):
self._Points = Points
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Points") is not None:
self._Points = []
for item in params.get("Points"):
obj = PeakPointsItem()
obj._deserialize(item)
self._Points.append(obj)
self._RequestId = params.get("RequestId")
class DescribePeakValueRequest(AbstractModel):
"""DescribePeakValue请求参数结构体
"""
def __init__(self):
r"""
:param _FromTime: 查询起始时间
:type FromTime: str
:param _ToTime: 查询结束时间
:type ToTime: str
:param _Domain: 需要查询的域名,当前用户所有域名可以不传
:type Domain: str
:param _Edition: 只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:type Edition: str
:param _InstanceID: WAF实例ID,不传则不过滤
:type InstanceID: str
:param _MetricName: 五个值可选:
access-峰值qps
down-下行峰值带宽
up-上行峰值带宽
attack-Web攻击总数
cc-CC攻击总数趋势图
:type MetricName: str
"""
self._FromTime = None
self._ToTime = None
self._Domain = None
self._Edition = None
self._InstanceID = None
self._MetricName = None
@property
def FromTime(self):
"""查询起始时间
:rtype: str
"""
return self._FromTime
@FromTime.setter
def FromTime(self, FromTime):
self._FromTime = FromTime
@property
def ToTime(self):
"""查询结束时间
:rtype: str
"""
return self._ToTime
@ToTime.setter
def ToTime(self, ToTime):
self._ToTime = ToTime
@property
def Domain(self):
"""需要查询的域名,当前用户所有域名可以不传
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Edition(self):
"""只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def InstanceID(self):
"""WAF实例ID,不传则不过滤
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def MetricName(self):
"""五个值可选:
access-峰值qps
down-下行峰值带宽
up-上行峰值带宽
attack-Web攻击总数
cc-CC攻击总数趋势图
:rtype: str
"""
return self._MetricName
@MetricName.setter
def MetricName(self, MetricName):
self._MetricName = MetricName
def _deserialize(self, params):
self._FromTime = params.get("FromTime")
self._ToTime = params.get("ToTime")
self._Domain = params.get("Domain")
self._Edition = params.get("Edition")
self._InstanceID = params.get("InstanceID")
self._MetricName = params.get("MetricName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribePeakValueResponse(AbstractModel):
"""DescribePeakValue返回参数结构体
"""
def __init__(self):
r"""
:param _Access: QPS峰值
:type Access: int
:param _Up: 上行带宽峰值,单位B
:type Up: int
:param _Down: 下行带宽峰值,单位B
:type Down: int
:param _Attack: Web攻击总数
:type Attack: int
:param _Cc: CC攻击总数
:type Cc: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Access = None
self._Up = None
self._Down = None
self._Attack = None
self._Cc = None
self._RequestId = None
@property
def Access(self):
"""QPS峰值
:rtype: int
"""
return self._Access
@Access.setter
def Access(self, Access):
self._Access = Access
@property
def Up(self):
"""上行带宽峰值,单位B
:rtype: int
"""
return self._Up
@Up.setter
def Up(self, Up):
self._Up = Up
@property
def Down(self):
"""下行带宽峰值,单位B
:rtype: int
"""
return self._Down
@Down.setter
def Down(self, Down):
self._Down = Down
@property
def Attack(self):
"""Web攻击总数
:rtype: int
"""
return self._Attack
@Attack.setter
def Attack(self, Attack):
self._Attack = Attack
@property
def Cc(self):
"""CC攻击总数
:rtype: int
"""
return self._Cc
@Cc.setter
def Cc(self, Cc):
self._Cc = Cc
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Access = params.get("Access")
self._Up = params.get("Up")
self._Down = params.get("Down")
self._Attack = params.get("Attack")
self._Cc = params.get("Cc")
self._RequestId = params.get("RequestId")
class DescribePolicyStatusRequest(AbstractModel):
"""DescribePolicyStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Edition: clb-waf或者saas-waf
:type Edition: str
"""
self._Domain = None
self._Edition = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Edition(self):
"""clb-waf或者saas-waf
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Edition = params.get("Edition")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribePolicyStatusResponse(AbstractModel):
"""DescribePolicyStatus返回参数结构体
"""
def __init__(self):
r"""
:param _InstanceId: 实例ID
:type InstanceId: str
:param _Status: 防护状态
:type Status: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._InstanceId = None
self._Status = None
self._RequestId = None
@property
def InstanceId(self):
"""实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Status(self):
"""防护状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._InstanceId = params.get("InstanceId")
self._Status = params.get("Status")
self._RequestId = params.get("RequestId")
class DescribePortsRequest(AbstractModel):
"""DescribePorts请求参数结构体
"""
def __init__(self):
r"""
:param _InstanceID: 实例ID
:type InstanceID: str
:param _Edition: 实例类型
:type Edition: str
"""
self._InstanceID = None
self._Edition = None
@property
def InstanceID(self):
"""实例ID
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def Edition(self):
"""实例类型
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
def _deserialize(self, params):
self._InstanceID = params.get("InstanceID")
self._Edition = params.get("Edition")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribePortsResponse(AbstractModel):
"""DescribePorts返回参数结构体
"""
def __init__(self):
r"""
:param _HttpPorts: http端口列表
:type HttpPorts: list of str
:param _HttpsPorts: https端口列表
:type HttpsPorts: list of str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._HttpPorts = None
self._HttpsPorts = None
self._RequestId = None
@property
def HttpPorts(self):
"""http端口列表
:rtype: list of str
"""
return self._HttpPorts
@HttpPorts.setter
def HttpPorts(self, HttpPorts):
self._HttpPorts = HttpPorts
@property
def HttpsPorts(self):
"""https端口列表
:rtype: list of str
"""
return self._HttpsPorts
@HttpsPorts.setter
def HttpsPorts(self, HttpsPorts):
self._HttpsPorts = HttpsPorts
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._HttpPorts = params.get("HttpPorts")
self._HttpsPorts = params.get("HttpsPorts")
self._RequestId = params.get("RequestId")
class DescribeProtectionModesRequest(AbstractModel):
"""DescribeProtectionModes请求参数结构体
"""
def __init__(self):
r"""
:param _Edition: sparta-waf或clb
:type Edition: str
:param _Domain: 域名
:type Domain: str
"""
self._Edition = None
self._Domain = None
@property
def Edition(self):
"""sparta-waf或clb
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Edition = params.get("Edition")
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeProtectionModesResponse(AbstractModel):
"""DescribeProtectionModes返回参数结构体
"""
def __init__(self):
r"""
:param _Modes: 规则大类ID及防护模式
:type Modes: list of TigaMainClassMode
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Modes = None
self._RequestId = None
@property
def Modes(self):
"""规则大类ID及防护模式
:rtype: list of TigaMainClassMode
"""
return self._Modes
@Modes.setter
def Modes(self, Modes):
self._Modes = Modes
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Modes") is not None:
self._Modes = []
for item in params.get("Modes"):
obj = TigaMainClassMode()
obj._deserialize(item)
self._Modes.append(obj)
self._RequestId = params.get("RequestId")
class DescribeRuleLimitRequest(AbstractModel):
"""DescribeRuleLimit请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _InstanceId: 实例Id
:type InstanceId: str
"""
self._Domain = None
self._InstanceId = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def InstanceId(self):
"""实例Id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._InstanceId = params.get("InstanceId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeRuleLimitResponse(AbstractModel):
"""DescribeRuleLimit返回参数结构体
"""
def __init__(self):
r"""
:param _Res: waf模块的规格
:type Res: :class:`tencentcloud.waf.v20180125.models.WafRuleLimit`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Res = None
self._RequestId = None
@property
def Res(self):
"""waf模块的规格
:rtype: :class:`tencentcloud.waf.v20180125.models.WafRuleLimit`
"""
return self._Res
@Res.setter
def Res(self, Res):
self._Res = Res
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Res") is not None:
self._Res = WafRuleLimit()
self._Res._deserialize(params.get("Res"))
self._RequestId = params.get("RequestId")
class DescribeScanIpRequest(AbstractModel):
"""DescribeScanIp请求参数结构体
"""
def __init__(self):
r"""
:param _Ip: 要查询的ip地址
:type Ip: str
"""
self._Ip = None
@property
def Ip(self):
"""要查询的ip地址
:rtype: str
"""
return self._Ip
@Ip.setter
def Ip(self, Ip):
self._Ip = Ip
def _deserialize(self, params):
self._Ip = params.get("Ip")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeScanIpResponse(AbstractModel):
"""DescribeScanIp返回参数结构体
"""
def __init__(self):
r"""
:param _IpList: ip列表,当入参Ip为all时,返回所有已知ip列表
:type IpList: list of ScanIpInfo
:param _Bussiness: 所属业务
:type Bussiness: str
:param _Characteristic: 业务特征
:type Characteristic: str
:param _Descibe: 扫描说明
:type Descibe: str
:param _Referer: 官方公告
:type Referer: str
:param _Demo: 扫描示例
:type Demo: str
:param _Target: 扫描对象
:type Target: str
:param _Purpose: 扫描目的
:type Purpose: str
:param _Announcement: 产品文案
:type Announcement: str
:param _UpdateTime: 更新时间
:type UpdateTime: int
:param _IpOwner: ipowner
:type IpOwner: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._IpList = None
self._Bussiness = None
self._Characteristic = None
self._Descibe = None
self._Referer = None
self._Demo = None
self._Target = None
self._Purpose = None
self._Announcement = None
self._UpdateTime = None
self._IpOwner = None
self._RequestId = None
@property
def IpList(self):
"""ip列表,当入参Ip为all时,返回所有已知ip列表
:rtype: list of ScanIpInfo
"""
return self._IpList
@IpList.setter
def IpList(self, IpList):
self._IpList = IpList
@property
def Bussiness(self):
"""所属业务
:rtype: str
"""
return self._Bussiness
@Bussiness.setter
def Bussiness(self, Bussiness):
self._Bussiness = Bussiness
@property
def Characteristic(self):
"""业务特征
:rtype: str
"""
return self._Characteristic
@Characteristic.setter
def Characteristic(self, Characteristic):
self._Characteristic = Characteristic
@property
def Descibe(self):
"""扫描说明
:rtype: str
"""
return self._Descibe
@Descibe.setter
def Descibe(self, Descibe):
self._Descibe = Descibe
@property
def Referer(self):
"""官方公告
:rtype: str
"""
return self._Referer
@Referer.setter
def Referer(self, Referer):
self._Referer = Referer
@property
def Demo(self):
"""扫描示例
:rtype: str
"""
return self._Demo
@Demo.setter
def Demo(self, Demo):
self._Demo = Demo
@property
def Target(self):
"""扫描对象
:rtype: str
"""
return self._Target
@Target.setter
def Target(self, Target):
self._Target = Target
@property
def Purpose(self):
"""扫描目的
:rtype: str
"""
return self._Purpose
@Purpose.setter
def Purpose(self, Purpose):
self._Purpose = Purpose
@property
def Announcement(self):
"""产品文案
:rtype: str
"""
return self._Announcement
@Announcement.setter
def Announcement(self, Announcement):
self._Announcement = Announcement
@property
def UpdateTime(self):
"""更新时间
:rtype: int
"""
return self._UpdateTime
@UpdateTime.setter
def UpdateTime(self, UpdateTime):
self._UpdateTime = UpdateTime
@property
def IpOwner(self):
"""ipowner
:rtype: str
"""
return self._IpOwner
@IpOwner.setter
def IpOwner(self, IpOwner):
self._IpOwner = IpOwner
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("IpList") is not None:
self._IpList = []
for item in params.get("IpList"):
obj = ScanIpInfo()
obj._deserialize(item)
self._IpList.append(obj)
self._Bussiness = params.get("Bussiness")
self._Characteristic = params.get("Characteristic")
self._Descibe = params.get("Descibe")
self._Referer = params.get("Referer")
self._Demo = params.get("Demo")
self._Target = params.get("Target")
self._Purpose = params.get("Purpose")
self._Announcement = params.get("Announcement")
self._UpdateTime = params.get("UpdateTime")
self._IpOwner = params.get("IpOwner")
self._RequestId = params.get("RequestId")
class DescribeSessionRequest(AbstractModel):
"""DescribeSession请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Edition: clb-waf或者sparta-waf
:type Edition: str
"""
self._Domain = None
self._Edition = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Edition(self):
"""clb-waf或者sparta-waf
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Edition = params.get("Edition")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeSessionResponse(AbstractModel):
"""DescribeSession返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 返回结果
:type Data: :class:`tencentcloud.waf.v20180125.models.SessionData`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""返回结果
:rtype: :class:`tencentcloud.waf.v20180125.models.SessionData`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = SessionData()
self._Data._deserialize(params.get("Data"))
self._RequestId = params.get("RequestId")
class DescribeSpartaProtectionInfoRequest(AbstractModel):
"""DescribeSpartaProtectionInfo请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Edition: 版本
:type Edition: str
:param _InstanceID: 实例
:type InstanceID: str
"""
self._Domain = None
self._Edition = None
self._InstanceID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Edition(self):
"""版本
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def InstanceID(self):
"""实例
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Edition = params.get("Edition")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeSpartaProtectionInfoResponse(AbstractModel):
"""DescribeSpartaProtectionInfo返回参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名ID
:type DomainId: str
:param _Cname: cname取值
:type Cname: str
:param _Status: 状态
:type Status: str
:param _SrcList: 源IP地址列表
:type SrcList: list of str
:param _CertType: 证书类型
:type CertType: str
:param _Cert: 证书
:type Cert: str
:param _PrivateKey: 私有密钥
:type PrivateKey: str
:param _Sslid: ssl的id
:type Sslid: str
:param _IsCdn: 是否是cdn
:type IsCdn: str
:param _GrayAreas: 灰度区域列表
:type GrayAreas: list of str
:param _Engine: 引擎
:type Engine: str
:param _HttpsRewrite: HTTPS重写
:type HttpsRewrite: str
:param _UpstreamType: upstreamType取值
:type UpstreamType: str
:param _UpstreamDomain: upstreamDomain取值
:type UpstreamDomain: str
:param _UpstreamScheme: upstreamScheme取值
:type UpstreamScheme: str
:param _IsHttp2: 是否是HTTP2
:type IsHttp2: str
:param _IsWebsocket: 是否含有websocket
:type IsWebsocket: str
:param _LoadBalance: loadBalance信息
:type LoadBalance: str
:param _HttpsUpstreamPort: httpsUpstreamPort取值
:type HttpsUpstreamPort: str
:param _Ports: port信息
:type Ports: list of PortItem
:param _IsGray: 是否灰度
:type IsGray: str
:param _Mode: 模式
:type Mode: str
:param _Level: 防御等级,100,200,300
:type Level: str
:param _IsKeepAlive: 与源站是否保持长连接
:type IsKeepAlive: str
:param _Anycast: 0:BGP 1:Anycast
:type Anycast: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Domain = None
self._DomainId = None
self._Cname = None
self._Status = None
self._SrcList = None
self._CertType = None
self._Cert = None
self._PrivateKey = None
self._Sslid = None
self._IsCdn = None
self._GrayAreas = None
self._Engine = None
self._HttpsRewrite = None
self._UpstreamType = None
self._UpstreamDomain = None
self._UpstreamScheme = None
self._IsHttp2 = None
self._IsWebsocket = None
self._LoadBalance = None
self._HttpsUpstreamPort = None
self._Ports = None
self._IsGray = None
self._Mode = None
self._Level = None
self._IsKeepAlive = None
self._Anycast = None
self._RequestId = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def Cname(self):
"""cname取值
:rtype: str
"""
return self._Cname
@Cname.setter
def Cname(self, Cname):
self._Cname = Cname
@property
def Status(self):
"""状态
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def SrcList(self):
"""源IP地址列表
:rtype: list of str
"""
return self._SrcList
@SrcList.setter
def SrcList(self, SrcList):
self._SrcList = SrcList
@property
def CertType(self):
"""证书类型
:rtype: str
"""
return self._CertType
@CertType.setter
def CertType(self, CertType):
self._CertType = CertType
@property
def Cert(self):
"""证书
:rtype: str
"""
return self._Cert
@Cert.setter
def Cert(self, Cert):
self._Cert = Cert
@property
def PrivateKey(self):
"""私有密钥
:rtype: str
"""
return self._PrivateKey
@PrivateKey.setter
def PrivateKey(self, PrivateKey):
self._PrivateKey = PrivateKey
@property
def Sslid(self):
"""ssl的id
:rtype: str
"""
return self._Sslid
@Sslid.setter
def Sslid(self, Sslid):
self._Sslid = Sslid
@property
def IsCdn(self):
"""是否是cdn
:rtype: str
"""
return self._IsCdn
@IsCdn.setter
def IsCdn(self, IsCdn):
self._IsCdn = IsCdn
@property
def GrayAreas(self):
"""灰度区域列表
:rtype: list of str
"""
return self._GrayAreas
@GrayAreas.setter
def GrayAreas(self, GrayAreas):
self._GrayAreas = GrayAreas
@property
def Engine(self):
"""引擎
:rtype: str
"""
return self._Engine
@Engine.setter
def Engine(self, Engine):
self._Engine = Engine
@property
def HttpsRewrite(self):
"""HTTPS重写
:rtype: str
"""
return self._HttpsRewrite
@HttpsRewrite.setter
def HttpsRewrite(self, HttpsRewrite):
self._HttpsRewrite = HttpsRewrite
@property
def UpstreamType(self):
"""upstreamType取值
:rtype: str
"""
return self._UpstreamType
@UpstreamType.setter
def UpstreamType(self, UpstreamType):
self._UpstreamType = UpstreamType
@property
def UpstreamDomain(self):
"""upstreamDomain取值
:rtype: str
"""
return self._UpstreamDomain
@UpstreamDomain.setter
def UpstreamDomain(self, UpstreamDomain):
self._UpstreamDomain = UpstreamDomain
@property
def UpstreamScheme(self):
"""upstreamScheme取值
:rtype: str
"""
return self._UpstreamScheme
@UpstreamScheme.setter
def UpstreamScheme(self, UpstreamScheme):
self._UpstreamScheme = UpstreamScheme
@property
def IsHttp2(self):
"""是否是HTTP2
:rtype: str
"""
return self._IsHttp2
@IsHttp2.setter
def IsHttp2(self, IsHttp2):
self._IsHttp2 = IsHttp2
@property
def IsWebsocket(self):
"""是否含有websocket
:rtype: str
"""
return self._IsWebsocket
@IsWebsocket.setter
def IsWebsocket(self, IsWebsocket):
self._IsWebsocket = IsWebsocket
@property
def LoadBalance(self):
"""loadBalance信息
:rtype: str
"""
return self._LoadBalance
@LoadBalance.setter
def LoadBalance(self, LoadBalance):
self._LoadBalance = LoadBalance
@property
def HttpsUpstreamPort(self):
"""httpsUpstreamPort取值
:rtype: str
"""
return self._HttpsUpstreamPort
@HttpsUpstreamPort.setter
def HttpsUpstreamPort(self, HttpsUpstreamPort):
self._HttpsUpstreamPort = HttpsUpstreamPort
@property
def Ports(self):
"""port信息
:rtype: list of PortItem
"""
return self._Ports
@Ports.setter
def Ports(self, Ports):
self._Ports = Ports
@property
def IsGray(self):
"""是否灰度
:rtype: str
"""
return self._IsGray
@IsGray.setter
def IsGray(self, IsGray):
self._IsGray = IsGray
@property
def Mode(self):
"""模式
:rtype: str
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Level(self):
"""防御等级,100,200,300
:rtype: str
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
@property
def IsKeepAlive(self):
"""与源站是否保持长连接
:rtype: str
"""
return self._IsKeepAlive
@IsKeepAlive.setter
def IsKeepAlive(self, IsKeepAlive):
self._IsKeepAlive = IsKeepAlive
@property
def Anycast(self):
"""0:BGP 1:Anycast
:rtype: str
"""
return self._Anycast
@Anycast.setter
def Anycast(self, Anycast):
self._Anycast = Anycast
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._Cname = params.get("Cname")
self._Status = params.get("Status")
self._SrcList = params.get("SrcList")
self._CertType = params.get("CertType")
self._Cert = params.get("Cert")
self._PrivateKey = params.get("PrivateKey")
self._Sslid = params.get("Sslid")
self._IsCdn = params.get("IsCdn")
self._GrayAreas = params.get("GrayAreas")
self._Engine = params.get("Engine")
self._HttpsRewrite = params.get("HttpsRewrite")
self._UpstreamType = params.get("UpstreamType")
self._UpstreamDomain = params.get("UpstreamDomain")
self._UpstreamScheme = params.get("UpstreamScheme")
self._IsHttp2 = params.get("IsHttp2")
self._IsWebsocket = params.get("IsWebsocket")
self._LoadBalance = params.get("LoadBalance")
self._HttpsUpstreamPort = params.get("HttpsUpstreamPort")
if params.get("Ports") is not None:
self._Ports = []
for item in params.get("Ports"):
obj = PortItem()
obj._deserialize(item)
self._Ports.append(obj)
self._IsGray = params.get("IsGray")
self._Mode = params.get("Mode")
self._Level = params.get("Level")
self._IsKeepAlive = params.get("IsKeepAlive")
self._Anycast = params.get("Anycast")
self._RequestId = params.get("RequestId")
class DescribeTlsVersionRequest(AbstractModel):
"""DescribeTlsVersion请求参数结构体
"""
class DescribeTlsVersionResponse(AbstractModel):
"""DescribeTlsVersion返回参数结构体
"""
def __init__(self):
r"""
:param _TLS: TLS信息
:type TLS: list of TLSVersion
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TLS = None
self._RequestId = None
@property
def TLS(self):
"""TLS信息
:rtype: list of TLSVersion
"""
return self._TLS
@TLS.setter
def TLS(self, TLS):
self._TLS = TLS
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("TLS") is not None:
self._TLS = []
for item in params.get("TLS"):
obj = TLSVersion()
obj._deserialize(item)
self._TLS.append(obj)
self._RequestId = params.get("RequestId")
class DescribeTopAttackDomainRequest(AbstractModel):
"""DescribeTopAttackDomain请求参数结构体
"""
def __init__(self):
r"""
:param _FromTime: 查询起始时间
:type FromTime: str
:param _ToTime: 查询结束时间
:type ToTime: str
:param _Count: TOP N,可从0-10选择,默认是10
:type Count: int
:param _Edition: 只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:type Edition: str
:param _InstanceID: WAF实例ID,不传则不过滤
:type InstanceID: str
"""
self._FromTime = None
self._ToTime = None
self._Count = None
self._Edition = None
self._InstanceID = None
@property
def FromTime(self):
"""查询起始时间
:rtype: str
"""
return self._FromTime
@FromTime.setter
def FromTime(self, FromTime):
self._FromTime = FromTime
@property
def ToTime(self):
"""查询结束时间
:rtype: str
"""
return self._ToTime
@ToTime.setter
def ToTime(self, ToTime):
self._ToTime = ToTime
@property
def Count(self):
"""TOP N,可从0-10选择,默认是10
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Edition(self):
"""只有两个值有效,sparta-waf,clb-waf,不传则不过滤
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def InstanceID(self):
"""WAF实例ID,不传则不过滤
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._FromTime = params.get("FromTime")
self._ToTime = params.get("ToTime")
self._Count = params.get("Count")
self._Edition = params.get("Edition")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeTopAttackDomainResponse(AbstractModel):
"""DescribeTopAttackDomain返回参数结构体
"""
def __init__(self):
r"""
:param _CC: CC攻击域名列表
:type CC: list of KVInt
:param _Web: Web攻击域名列表
:type Web: list of KVInt
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._CC = None
self._Web = None
self._RequestId = None
@property
def CC(self):
"""CC攻击域名列表
:rtype: list of KVInt
"""
return self._CC
@CC.setter
def CC(self, CC):
self._CC = CC
@property
def Web(self):
"""Web攻击域名列表
:rtype: list of KVInt
"""
return self._Web
@Web.setter
def Web(self, Web):
self._Web = Web
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("CC") is not None:
self._CC = []
for item in params.get("CC"):
obj = KVInt()
obj._deserialize(item)
self._CC.append(obj)
if params.get("Web") is not None:
self._Web = []
for item in params.get("Web"):
obj = KVInt()
obj._deserialize(item)
self._Web.append(obj)
self._RequestId = params.get("RequestId")
class DescribeUserCdcClbWafRegionsRequest(AbstractModel):
"""DescribeUserCdcClbWafRegions请求参数结构体
"""
class DescribeUserCdcClbWafRegionsResponse(AbstractModel):
"""DescribeUserCdcClbWafRegions返回参数结构体
"""
def __init__(self):
r"""
:param _Data: CdcRegion的类型描述
:type Data: list of CdcRegion
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""CdcRegion的类型描述
:rtype: list of CdcRegion
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = []
for item in params.get("Data"):
obj = CdcRegion()
obj._deserialize(item)
self._Data.append(obj)
self._RequestId = params.get("RequestId")
class DescribeUserClbWafRegionsRequest(AbstractModel):
"""DescribeUserClbWafRegions请求参数结构体
"""
def __init__(self):
r"""
:param _AlbType: 流量来源,不填默认clb。clb:负载均衡器,tsegw:云原生API网关,scf:云函数,apisix:腾讯云上其他网关
:type AlbType: str
"""
self._AlbType = None
@property
def AlbType(self):
"""流量来源,不填默认clb。clb:负载均衡器,tsegw:云原生API网关,scf:云函数,apisix:腾讯云上其他网关
:rtype: str
"""
return self._AlbType
@AlbType.setter
def AlbType(self, AlbType):
self._AlbType = AlbType
def _deserialize(self, params):
self._AlbType = params.get("AlbType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeUserClbWafRegionsResponse(AbstractModel):
"""DescribeUserClbWafRegions返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 地域(标准的ap-格式)列表
:type Data: list of str
:param _RichDatas: 包含详细属性的地域信息
:type RichDatas: list of ClbWafRegionItem
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RichDatas = None
self._RequestId = None
@property
def Data(self):
"""地域(标准的ap-格式)列表
:rtype: list of str
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RichDatas(self):
"""包含详细属性的地域信息
:rtype: list of ClbWafRegionItem
"""
return self._RichDatas
@RichDatas.setter
def RichDatas(self, RichDatas):
self._RichDatas = RichDatas
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Data = params.get("Data")
if params.get("RichDatas") is not None:
self._RichDatas = []
for item in params.get("RichDatas"):
obj = ClbWafRegionItem()
obj._deserialize(item)
self._RichDatas.append(obj)
self._RequestId = params.get("RequestId")
class DescribeUserDomainInfoRequest(AbstractModel):
"""DescribeUserDomainInfo请求参数结构体
"""
class DescribeUserDomainInfoResponse(AbstractModel):
"""DescribeUserDomainInfo返回参数结构体
"""
def __init__(self):
r"""
:param _UsersInfo: saas和clb域名信息
:type UsersInfo: list of UserDomainInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._UsersInfo = None
self._RequestId = None
@property
def UsersInfo(self):
"""saas和clb域名信息
:rtype: list of UserDomainInfo
"""
return self._UsersInfo
@UsersInfo.setter
def UsersInfo(self, UsersInfo):
self._UsersInfo = UsersInfo
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("UsersInfo") is not None:
self._UsersInfo = []
for item in params.get("UsersInfo"):
obj = UserDomainInfo()
obj._deserialize(item)
self._UsersInfo.append(obj)
self._RequestId = params.get("RequestId")
class DescribeUserLevelRequest(AbstractModel):
"""DescribeUserLevel请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
"""
self._Domain = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeUserLevelResponse(AbstractModel):
"""DescribeUserLevel返回参数结构体
"""
def __init__(self):
r"""
:param _Level: 300:正常 400:严格
:type Level: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Level = None
self._RequestId = None
@property
def Level(self):
"""300:正常 400:严格
:rtype: int
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Level = params.get("Level")
self._RequestId = params.get("RequestId")
class DescribeUserSignatureClassRequest(AbstractModel):
"""DescribeUserSignatureClass请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 查询域名
:type Domain: str
"""
self._Domain = None
@property
def Domain(self):
"""查询域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeUserSignatureClassResponse(AbstractModel):
"""DescribeUserSignatureClass返回参数结构体
"""
def __init__(self):
r"""
:param _Total: 规则类型数量
:type Total: int
:param _RuleTypeList: 规则类型列表及信息
:type RuleTypeList: list of RuleType
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Total = None
self._RuleTypeList = None
self._RequestId = None
@property
def Total(self):
"""规则类型数量
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def RuleTypeList(self):
"""规则类型列表及信息
:rtype: list of RuleType
"""
return self._RuleTypeList
@RuleTypeList.setter
def RuleTypeList(self, RuleTypeList):
self._RuleTypeList = RuleTypeList
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Total = params.get("Total")
if params.get("RuleTypeList") is not None:
self._RuleTypeList = []
for item in params.get("RuleTypeList"):
obj = RuleType()
obj._deserialize(item)
self._RuleTypeList.append(obj)
self._RequestId = params.get("RequestId")
class DescribeUserSignatureRuleRequest(AbstractModel):
"""DescribeUserSignatureRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要查询的域名
:type Domain: str
:param _Offset: 分页
:type Offset: int
:param _Limit: 每页容量
:type Limit: int
:param _By: 排序字段,支持 signature_id, modify_time
:type By: str
:param _Order: 排序方式
:type Order: str
:param _Filters: 筛选条件,支持 MainClassName,SubClassID ,CveID, Status, ID; ID为规则id
:type Filters: list of FiltersItemNew
"""
self._Domain = None
self._Offset = None
self._Limit = None
self._By = None
self._Order = None
self._Filters = None
@property
def Domain(self):
"""需要查询的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Offset(self):
"""分页
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""每页容量
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def By(self):
"""排序字段,支持 signature_id, modify_time
:rtype: str
"""
return self._By
@By.setter
def By(self, By):
self._By = By
@property
def Order(self):
"""排序方式
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
@property
def Filters(self):
"""筛选条件,支持 MainClassName,SubClassID ,CveID, Status, ID; ID为规则id
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._By = params.get("By")
self._Order = params.get("Order")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeUserSignatureRuleResponse(AbstractModel):
"""DescribeUserSignatureRule返回参数结构体
"""
def __init__(self):
r"""
:param _Total: 规则总数
:type Total: int
:param _Rules: 规则列表
:type Rules: list of UserSignatureRule
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Total = None
self._Rules = None
self._RequestId = None
@property
def Total(self):
"""规则总数
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def Rules(self):
"""规则列表
:rtype: list of UserSignatureRule
"""
return self._Rules
@Rules.setter
def Rules(self, Rules):
self._Rules = Rules
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Total = params.get("Total")
if params.get("Rules") is not None:
self._Rules = []
for item in params.get("Rules"):
obj = UserSignatureRule()
obj._deserialize(item)
self._Rules.append(obj)
self._RequestId = params.get("RequestId")
class DescribeUserSignatureRuleV2Request(AbstractModel):
"""DescribeUserSignatureRuleV2请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要查询的域名
:type Domain: str
:param _Offset: 分页
:type Offset: int
:param _Limit: 每页容量
:type Limit: int
:param _By: 排序字段,支持 signature_id, modify_time
:type By: str
:param _Order: 排序方式
:type Order: str
:param _Filters: 筛选条件,支持 MainClassName,SubClassID ,CveID, Status, ID; ID为规则id
:type Filters: list of FiltersItemNew
"""
self._Domain = None
self._Offset = None
self._Limit = None
self._By = None
self._Order = None
self._Filters = None
@property
def Domain(self):
"""需要查询的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Offset(self):
"""分页
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""每页容量
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def By(self):
"""排序字段,支持 signature_id, modify_time
:rtype: str
"""
return self._By
@By.setter
def By(self, By):
self._By = By
@property
def Order(self):
"""排序方式
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
@property
def Filters(self):
"""筛选条件,支持 MainClassName,SubClassID ,CveID, Status, ID; ID为规则id
:rtype: list of FiltersItemNew
"""
return self._Filters
@Filters.setter
def Filters(self, Filters):
self._Filters = Filters
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._By = params.get("By")
self._Order = params.get("Order")
if params.get("Filters") is not None:
self._Filters = []
for item in params.get("Filters"):
obj = FiltersItemNew()
obj._deserialize(item)
self._Filters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeUserSignatureRuleV2Response(AbstractModel):
"""DescribeUserSignatureRuleV2返回参数结构体
"""
def __init__(self):
r"""
:param _Total: 规则总数
:type Total: int
:param _Rules: 规则列表
:type Rules: list of UserSignatureRule
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Total = None
self._Rules = None
self._RequestId = None
@property
def Total(self):
"""规则总数
:rtype: int
"""
return self._Total
@Total.setter
def Total(self, Total):
self._Total = Total
@property
def Rules(self):
"""规则列表
:rtype: list of UserSignatureRule
"""
return self._Rules
@Rules.setter
def Rules(self, Rules):
self._Rules = Rules
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Total = params.get("Total")
if params.get("Rules") is not None:
self._Rules = []
for item in params.get("Rules"):
obj = UserSignatureRule()
obj._deserialize(item)
self._Rules.append(obj)
self._RequestId = params.get("RequestId")
class DescribeVipInfoRequest(AbstractModel):
"""DescribeVipInfo请求参数结构体
"""
def __init__(self):
r"""
:param _InstanceIds: waf实例id列表
:type InstanceIds: list of str
"""
self._InstanceIds = None
@property
def InstanceIds(self):
"""waf实例id列表
:rtype: list of str
"""
return self._InstanceIds
@InstanceIds.setter
def InstanceIds(self, InstanceIds):
self._InstanceIds = InstanceIds
def _deserialize(self, params):
self._InstanceIds = params.get("InstanceIds")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeVipInfoResponse(AbstractModel):
"""DescribeVipInfo返回参数结构体
"""
def __init__(self):
r"""
:param _VipInfo: VIP信息
:type VipInfo: list of VipInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._VipInfo = None
self._RequestId = None
@property
def VipInfo(self):
"""VIP信息
:rtype: list of VipInfo
"""
return self._VipInfo
@VipInfo.setter
def VipInfo(self, VipInfo):
self._VipInfo = VipInfo
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("VipInfo") is not None:
self._VipInfo = []
for item in params.get("VipInfo"):
obj = VipInfo()
obj._deserialize(item)
self._VipInfo.append(obj)
self._RequestId = params.get("RequestId")
class DescribeWafAutoDenyRulesRequest(AbstractModel):
"""DescribeWafAutoDenyRules请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _InstanceId: 实例Id
:type InstanceId: str
"""
self._Domain = None
self._InstanceId = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def InstanceId(self):
"""实例Id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._InstanceId = params.get("InstanceId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeWafAutoDenyRulesResponse(AbstractModel):
"""DescribeWafAutoDenyRules返回参数结构体
"""
def __init__(self):
r"""
:param _AttackThreshold: 攻击次数阈值
:type AttackThreshold: int
:param _TimeThreshold: 攻击时间阈值
:type TimeThreshold: int
:param _DenyTimeThreshold: 自动封禁时间
:type DenyTimeThreshold: int
:param _DefenseStatus: 自动封禁状态
:type DefenseStatus: int
:param _Source: 数据来源Source字段 custom-自定义(默认)、batch-domain-批量域名
:type Source: str
:param _HWState: 重保护网域名状态
:type HWState: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._AttackThreshold = None
self._TimeThreshold = None
self._DenyTimeThreshold = None
self._DefenseStatus = None
self._Source = None
self._HWState = None
self._RequestId = None
@property
def AttackThreshold(self):
"""攻击次数阈值
:rtype: int
"""
return self._AttackThreshold
@AttackThreshold.setter
def AttackThreshold(self, AttackThreshold):
self._AttackThreshold = AttackThreshold
@property
def TimeThreshold(self):
"""攻击时间阈值
:rtype: int
"""
return self._TimeThreshold
@TimeThreshold.setter
def TimeThreshold(self, TimeThreshold):
self._TimeThreshold = TimeThreshold
@property
def DenyTimeThreshold(self):
"""自动封禁时间
:rtype: int
"""
return self._DenyTimeThreshold
@DenyTimeThreshold.setter
def DenyTimeThreshold(self, DenyTimeThreshold):
self._DenyTimeThreshold = DenyTimeThreshold
@property
def DefenseStatus(self):
"""自动封禁状态
:rtype: int
"""
return self._DefenseStatus
@DefenseStatus.setter
def DefenseStatus(self, DefenseStatus):
self._DefenseStatus = DefenseStatus
@property
def Source(self):
"""数据来源Source字段 custom-自定义(默认)、batch-domain-批量域名
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def HWState(self):
"""重保护网域名状态
:rtype: int
"""
return self._HWState
@HWState.setter
def HWState(self, HWState):
self._HWState = HWState
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._AttackThreshold = params.get("AttackThreshold")
self._TimeThreshold = params.get("TimeThreshold")
self._DenyTimeThreshold = params.get("DenyTimeThreshold")
self._DefenseStatus = params.get("DefenseStatus")
self._Source = params.get("Source")
self._HWState = params.get("HWState")
self._RequestId = params.get("RequestId")
class DescribeWafAutoDenyStatusRequest(AbstractModel):
"""DescribeWafAutoDenyStatus请求参数结构体
"""
class DescribeWafAutoDenyStatusResponse(AbstractModel):
"""DescribeWafAutoDenyStatus返回参数结构体
"""
def __init__(self):
r"""
:param _WafAutoDenyDetails: WAF 自动封禁详情
:type WafAutoDenyDetails: :class:`tencentcloud.waf.v20180125.models.AutoDenyDetail`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._WafAutoDenyDetails = None
self._RequestId = None
@property
def WafAutoDenyDetails(self):
"""WAF 自动封禁详情
:rtype: :class:`tencentcloud.waf.v20180125.models.AutoDenyDetail`
"""
return self._WafAutoDenyDetails
@WafAutoDenyDetails.setter
def WafAutoDenyDetails(self, WafAutoDenyDetails):
self._WafAutoDenyDetails = WafAutoDenyDetails
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("WafAutoDenyDetails") is not None:
self._WafAutoDenyDetails = AutoDenyDetail()
self._WafAutoDenyDetails._deserialize(params.get("WafAutoDenyDetails"))
self._RequestId = params.get("RequestId")
class DescribeWafThreatenIntelligenceRequest(AbstractModel):
"""DescribeWafThreatenIntelligence请求参数结构体
"""
class DescribeWafThreatenIntelligenceResponse(AbstractModel):
"""DescribeWafThreatenIntelligence返回参数结构体
"""
def __init__(self):
r"""
:param _WafThreatenIntelligenceDetails: WAF 威胁情报封禁信息
:type WafThreatenIntelligenceDetails: :class:`tencentcloud.waf.v20180125.models.WafThreatenIntelligenceDetails`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._WafThreatenIntelligenceDetails = None
self._RequestId = None
@property
def WafThreatenIntelligenceDetails(self):
"""WAF 威胁情报封禁信息
:rtype: :class:`tencentcloud.waf.v20180125.models.WafThreatenIntelligenceDetails`
"""
return self._WafThreatenIntelligenceDetails
@WafThreatenIntelligenceDetails.setter
def WafThreatenIntelligenceDetails(self, WafThreatenIntelligenceDetails):
self._WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("WafThreatenIntelligenceDetails") is not None:
self._WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails()
self._WafThreatenIntelligenceDetails._deserialize(params.get("WafThreatenIntelligenceDetails"))
self._RequestId = params.get("RequestId")
class DescribeWebshellStatusRequest(AbstractModel):
"""DescribeWebshellStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
"""
self._Domain = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeWebshellStatusResponse(AbstractModel):
"""DescribeWebshellStatus返回参数结构体
"""
def __init__(self):
r"""
:param _Domain: webshell域名
:type Domain: str
:param _Status: 开关状态
:type Status: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Domain = None
self._Status = None
self._RequestId = None
@property
def Domain(self):
"""webshell域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Status(self):
"""开关状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Status = params.get("Status")
self._RequestId = params.get("RequestId")
class DomainInfo(AbstractModel):
"""domain列表
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名ID
:type DomainId: str
:param _InstanceId: 实例ID
:type InstanceId: str
:param _Cname: cname地址
:type Cname: str
:param _Edition: 域名所属实例类型。
sparta-waf:SaaS型WAF实例
clb-waf:负载均衡型WAF实例
cdc-clb-waf:CDC环境下负载均衡型WAF实例
:type Edition: str
:param _Region: 地域。
"多伦多": "ca"
"广州": "gz"
"成都": "cd"
"福州": "fzec"
"深圳": "szx"
"印度": "in"
"济南": "jnec"
"重庆": "cq"
"天津": "tsn"
"欧洲东北": "ru"
"南京": "nj"
"美国硅谷": "usw"
"泰国": "th"
"广州Open": "gzopen"
"深圳金融": "szjr"
"法兰克福": "de"
"日本": "jp"
"弗吉尼亚": "use"
"北京": "bj"
"中国香港": "hk"
"杭州": "hzec"
"北京金融": "bjjr"
"上海金融": "shjr"
"台北": "tpe"
"首尔": "kr"
"上海": "sh"
"新加坡": "sg"
"清远": "qy"
:type Region: str
:param _InstanceName: 实例名
:type InstanceName: str
:param _ClsStatus: 访问日志开关状态。
0:关闭
1:开启
:type ClsStatus: int
:param _FlowMode: 负载均衡型WAF使用模式。
0:镜像模式
1:清洗模式
:type FlowMode: int
:param _Status: waf开关状态。
0:关闭
1:开启
:type Status: int
:param _Mode: 规则引擎防护模式。
0:观察模式
1:拦截模式
:type Mode: int
:param _Engine: 规则引擎和AI引擎防护模式联合状态。
1:初始状态,规则引擎拦截&&AI引擎未操作开关状态
10:规则引擎观察&&AI引擎关闭模式
11:规则引擎观察&&AI引擎观察模式
12:规则引擎观察&&AI引擎拦截模式
20:规则引擎拦截&&AI引擎关闭模式
21:规则引擎拦截&&AI引擎观察模式
22:规则引擎拦截&&AI引擎拦截模式
:type Engine: int
:param _CCList: 沙箱集群回源出口IP列表
:type CCList: list of str
:param _RsList: 生产集群回源出口IP列表
:type RsList: list of str
:param _Ports: 服务端口配置
:type Ports: list of PortInfo
:param _LoadBalancerSet: 负载均衡器相关配置
:type LoadBalancerSet: list of LoadBalancerPackageNew
:param _AppId: 用户id
:type AppId: int
:param _State: 负载均衡型WAF域名LB监听器状态。
0:操作成功
4:正在绑定LB
6:正在解绑LB
7:解绑LB失败
8:绑定LB失败
10:内部错误
:type State: int
:param _CreateTime: 创建时间
:type CreateTime: str
:param _Ipv6Status: Ipv6开关状态。
0:关闭
1:开启
:type Ipv6Status: int
:param _BotStatus: BOT开关状态。
0:关闭
1:关闭
2:开启
3:开启
:type BotStatus: int
:param _Level: 实例版本信息。
101:小微敏捷版
102:小微超轻版
2:高级版
3:企业版
4:旗舰版
6:独享版
:type Level: int
:param _PostCLSStatus: 投递CLS状态。
0:关闭
1:开启
:type PostCLSStatus: int
:param _PostCKafkaStatus: 投递CKafka状态。
0:关闭
1:开启
:type PostCKafkaStatus: int
:param _CdcClusters: cdc实例域名接入的集群信息,非cdc实例忽略。
:type CdcClusters: str
:param _ApiStatus: api安全开关状态。
0:关闭
1:开启
:type ApiStatus: int
:param _AlbType: 应用型负载均衡类型,默认clb。
clb:七层负载均衡器类型
apisix:apisix网关型
:type AlbType: str
:param _SgState: 安全组状态。
0:不展示
1:非腾讯云源站
2:安全组绑定失败
3:安全组发生变更
:type SgState: int
:param _SgDetail: 安全组状态的详细解释
:type SgDetail: str
:param _CloudType: 域名云环境。hybrid:混合云域名
public:公有云域名
:type CloudType: str
:param _Note: 域名备注信息
:type Note: str
:param _SrcList: SAASWAF源站IP列表
:type SrcList: list of str
:param _UpstreamDomainList: SAASWAF源站域名列表
:type UpstreamDomainList: list of str
:param _SgID: 安全组ID
:type SgID: str
:param _AccessStatus: clbwaf接入状态
:type AccessStatus: int
:param _Labels: 域名标签
:type Labels: list of str
"""
self._Domain = None
self._DomainId = None
self._InstanceId = None
self._Cname = None
self._Edition = None
self._Region = None
self._InstanceName = None
self._ClsStatus = None
self._FlowMode = None
self._Status = None
self._Mode = None
self._Engine = None
self._CCList = None
self._RsList = None
self._Ports = None
self._LoadBalancerSet = None
self._AppId = None
self._State = None
self._CreateTime = None
self._Ipv6Status = None
self._BotStatus = None
self._Level = None
self._PostCLSStatus = None
self._PostCKafkaStatus = None
self._CdcClusters = None
self._ApiStatus = None
self._AlbType = None
self._SgState = None
self._SgDetail = None
self._CloudType = None
self._Note = None
self._SrcList = None
self._UpstreamDomainList = None
self._SgID = None
self._AccessStatus = None
self._Labels = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def InstanceId(self):
"""实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Cname(self):
"""cname地址
:rtype: str
"""
return self._Cname
@Cname.setter
def Cname(self, Cname):
self._Cname = Cname
@property
def Edition(self):
"""域名所属实例类型。
sparta-waf:SaaS型WAF实例
clb-waf:负载均衡型WAF实例
cdc-clb-waf:CDC环境下负载均衡型WAF实例
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Region(self):
"""地域。
"多伦多": "ca"
"广州": "gz"
"成都": "cd"
"福州": "fzec"
"深圳": "szx"
"印度": "in"
"济南": "jnec"
"重庆": "cq"
"天津": "tsn"
"欧洲东北": "ru"
"南京": "nj"
"美国硅谷": "usw"
"泰国": "th"
"广州Open": "gzopen"
"深圳金融": "szjr"
"法兰克福": "de"
"日本": "jp"
"弗吉尼亚": "use"
"北京": "bj"
"中国香港": "hk"
"杭州": "hzec"
"北京金融": "bjjr"
"上海金融": "shjr"
"台北": "tpe"
"首尔": "kr"
"上海": "sh"
"新加坡": "sg"
"清远": "qy"
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def InstanceName(self):
"""实例名
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def ClsStatus(self):
"""访问日志开关状态。
0:关闭
1:开启
:rtype: int
"""
return self._ClsStatus
@ClsStatus.setter
def ClsStatus(self, ClsStatus):
self._ClsStatus = ClsStatus
@property
def FlowMode(self):
"""负载均衡型WAF使用模式。
0:镜像模式
1:清洗模式
:rtype: int
"""
return self._FlowMode
@FlowMode.setter
def FlowMode(self, FlowMode):
self._FlowMode = FlowMode
@property
def Status(self):
"""waf开关状态。
0:关闭
1:开启
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Mode(self):
"""规则引擎防护模式。
0:观察模式
1:拦截模式
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Engine(self):
"""规则引擎和AI引擎防护模式联合状态。
1:初始状态,规则引擎拦截&&AI引擎未操作开关状态
10:规则引擎观察&&AI引擎关闭模式
11:规则引擎观察&&AI引擎观察模式
12:规则引擎观察&&AI引擎拦截模式
20:规则引擎拦截&&AI引擎关闭模式
21:规则引擎拦截&&AI引擎观察模式
22:规则引擎拦截&&AI引擎拦截模式
:rtype: int
"""
return self._Engine
@Engine.setter
def Engine(self, Engine):
self._Engine = Engine
@property
def CCList(self):
"""沙箱集群回源出口IP列表
:rtype: list of str
"""
return self._CCList
@CCList.setter
def CCList(self, CCList):
self._CCList = CCList
@property
def RsList(self):
"""生产集群回源出口IP列表
:rtype: list of str
"""
return self._RsList
@RsList.setter
def RsList(self, RsList):
self._RsList = RsList
@property
def Ports(self):
"""服务端口配置
:rtype: list of PortInfo
"""
return self._Ports
@Ports.setter
def Ports(self, Ports):
self._Ports = Ports
@property
def LoadBalancerSet(self):
"""负载均衡器相关配置
:rtype: list of LoadBalancerPackageNew
"""
return self._LoadBalancerSet
@LoadBalancerSet.setter
def LoadBalancerSet(self, LoadBalancerSet):
self._LoadBalancerSet = LoadBalancerSet
@property
def AppId(self):
"""用户id
:rtype: int
"""
return self._AppId
@AppId.setter
def AppId(self, AppId):
self._AppId = AppId
@property
def State(self):
"""负载均衡型WAF域名LB监听器状态。
0:操作成功
4:正在绑定LB
6:正在解绑LB
7:解绑LB失败
8:绑定LB失败
10:内部错误
:rtype: int
"""
return self._State
@State.setter
def State(self, State):
self._State = State
@property
def CreateTime(self):
"""创建时间
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def Ipv6Status(self):
"""Ipv6开关状态。
0:关闭
1:开启
:rtype: int
"""
return self._Ipv6Status
@Ipv6Status.setter
def Ipv6Status(self, Ipv6Status):
self._Ipv6Status = Ipv6Status
@property
def BotStatus(self):
"""BOT开关状态。
0:关闭
1:关闭
2:开启
3:开启
:rtype: int
"""
return self._BotStatus
@BotStatus.setter
def BotStatus(self, BotStatus):
self._BotStatus = BotStatus
@property
def Level(self):
"""实例版本信息。
101:小微敏捷版
102:小微超轻版
2:高级版
3:企业版
4:旗舰版
6:独享版
:rtype: int
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
@property
def PostCLSStatus(self):
"""投递CLS状态。
0:关闭
1:开启
:rtype: int
"""
return self._PostCLSStatus
@PostCLSStatus.setter
def PostCLSStatus(self, PostCLSStatus):
self._PostCLSStatus = PostCLSStatus
@property
def PostCKafkaStatus(self):
"""投递CKafka状态。
0:关闭
1:开启
:rtype: int
"""
return self._PostCKafkaStatus
@PostCKafkaStatus.setter
def PostCKafkaStatus(self, PostCKafkaStatus):
self._PostCKafkaStatus = PostCKafkaStatus
@property
def CdcClusters(self):
"""cdc实例域名接入的集群信息,非cdc实例忽略。
:rtype: str
"""
return self._CdcClusters
@CdcClusters.setter
def CdcClusters(self, CdcClusters):
self._CdcClusters = CdcClusters
@property
def ApiStatus(self):
"""api安全开关状态。
0:关闭
1:开启
:rtype: int
"""
return self._ApiStatus
@ApiStatus.setter
def ApiStatus(self, ApiStatus):
self._ApiStatus = ApiStatus
@property
def AlbType(self):
"""应用型负载均衡类型,默认clb。
clb:七层负载均衡器类型
apisix:apisix网关型
:rtype: str
"""
return self._AlbType
@AlbType.setter
def AlbType(self, AlbType):
self._AlbType = AlbType
@property
def SgState(self):
"""安全组状态。
0:不展示
1:非腾讯云源站
2:安全组绑定失败
3:安全组发生变更
:rtype: int
"""
return self._SgState
@SgState.setter
def SgState(self, SgState):
self._SgState = SgState
@property
def SgDetail(self):
"""安全组状态的详细解释
:rtype: str
"""
return self._SgDetail
@SgDetail.setter
def SgDetail(self, SgDetail):
self._SgDetail = SgDetail
@property
def CloudType(self):
"""域名云环境。hybrid:混合云域名
public:公有云域名
:rtype: str
"""
return self._CloudType
@CloudType.setter
def CloudType(self, CloudType):
self._CloudType = CloudType
@property
def Note(self):
"""域名备注信息
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
@property
def SrcList(self):
"""SAASWAF源站IP列表
:rtype: list of str
"""
return self._SrcList
@SrcList.setter
def SrcList(self, SrcList):
self._SrcList = SrcList
@property
def UpstreamDomainList(self):
"""SAASWAF源站域名列表
:rtype: list of str
"""
return self._UpstreamDomainList
@UpstreamDomainList.setter
def UpstreamDomainList(self, UpstreamDomainList):
self._UpstreamDomainList = UpstreamDomainList
@property
def SgID(self):
"""安全组ID
:rtype: str
"""
return self._SgID
@SgID.setter
def SgID(self, SgID):
self._SgID = SgID
@property
def AccessStatus(self):
"""clbwaf接入状态
:rtype: int
"""
return self._AccessStatus
@AccessStatus.setter
def AccessStatus(self, AccessStatus):
self._AccessStatus = AccessStatus
@property
def Labels(self):
"""域名标签
:rtype: list of str
"""
return self._Labels
@Labels.setter
def Labels(self, Labels):
self._Labels = Labels
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._InstanceId = params.get("InstanceId")
self._Cname = params.get("Cname")
self._Edition = params.get("Edition")
self._Region = params.get("Region")
self._InstanceName = params.get("InstanceName")
self._ClsStatus = params.get("ClsStatus")
self._FlowMode = params.get("FlowMode")
self._Status = params.get("Status")
self._Mode = params.get("Mode")
self._Engine = params.get("Engine")
self._CCList = params.get("CCList")
self._RsList = params.get("RsList")
if params.get("Ports") is not None:
self._Ports = []
for item in params.get("Ports"):
obj = PortInfo()
obj._deserialize(item)
self._Ports.append(obj)
if params.get("LoadBalancerSet") is not None:
self._LoadBalancerSet = []
for item in params.get("LoadBalancerSet"):
obj = LoadBalancerPackageNew()
obj._deserialize(item)
self._LoadBalancerSet.append(obj)
self._AppId = params.get("AppId")
self._State = params.get("State")
self._CreateTime = params.get("CreateTime")
self._Ipv6Status = params.get("Ipv6Status")
self._BotStatus = params.get("BotStatus")
self._Level = params.get("Level")
self._PostCLSStatus = params.get("PostCLSStatus")
self._PostCKafkaStatus = params.get("PostCKafkaStatus")
self._CdcClusters = params.get("CdcClusters")
self._ApiStatus = params.get("ApiStatus")
self._AlbType = params.get("AlbType")
self._SgState = params.get("SgState")
self._SgDetail = params.get("SgDetail")
self._CloudType = params.get("CloudType")
self._Note = params.get("Note")
self._SrcList = params.get("SrcList")
self._UpstreamDomainList = params.get("UpstreamDomainList")
self._SgID = params.get("SgID")
self._AccessStatus = params.get("AccessStatus")
self._Labels = params.get("Labels")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DomainPackageNew(AbstractModel):
"""waf 域名扩展套餐
"""
def __init__(self):
r"""
:param _ResourceIds: 资源ID
:type ResourceIds: str
:param _ValidTime: 过期时间
:type ValidTime: str
:param _RenewFlag: 是否自动续费,1:自动续费,0:不自动续费
:type RenewFlag: int
:param _Count: 套餐购买个数
:type Count: int
:param _Region: 套餐购买地域,clb-waf暂时没有用到
:type Region: str
"""
self._ResourceIds = None
self._ValidTime = None
self._RenewFlag = None
self._Count = None
self._Region = None
@property
def ResourceIds(self):
"""资源ID
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def ValidTime(self):
"""过期时间
:rtype: str
"""
return self._ValidTime
@ValidTime.setter
def ValidTime(self, ValidTime):
self._ValidTime = ValidTime
@property
def RenewFlag(self):
"""是否自动续费,1:自动续费,0:不自动续费
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
@property
def Count(self):
"""套餐购买个数
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Region(self):
"""套餐购买地域,clb-waf暂时没有用到
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
def _deserialize(self, params):
self._ResourceIds = params.get("ResourceIds")
self._ValidTime = params.get("ValidTime")
self._RenewFlag = params.get("RenewFlag")
self._Count = params.get("Count")
self._Region = params.get("Region")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DomainRuleId(AbstractModel):
"""域名-规则id结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _RuleId: 规则id
:type RuleId: str
"""
self._Domain = None
self._RuleId = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def RuleId(self):
"""规则id
:rtype: str
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._RuleId = params.get("RuleId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DomainURI(AbstractModel):
"""唯一定位Domain
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Edition: 版本
:type Edition: str
:param _InstanceID: 实例ID
:type InstanceID: str
"""
self._Domain = None
self._Edition = None
self._InstanceID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Edition(self):
"""版本
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def InstanceID(self):
"""实例ID
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Edition = params.get("Edition")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DomainsPartInfo(AbstractModel):
"""SaaS型WAF域名详情
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名唯一ID
:type DomainId: str
:param _InstanceId: 域名所属实例唯一ID
:type InstanceId: str
:param _Edition: 域名所属实例类型
:type Edition: str
:param _InstanceName: 域名所属实例名
:type InstanceName: str
:param _Cert: 证书
:type Cert: str
:param _CreateTime: 创建时间
:type CreateTime: str
:param _Engine: 规则引擎和AI引擎防护模式联合状态。
1:初始状态,规则引擎拦截&&AI引擎未操作开关状态
10:规则引擎观察&&AI引擎关闭模式
11:规则引擎观察&&AI引擎观察模式
12:规则引擎观察&&AI引擎拦截模式
20:规则引擎拦截&&AI引擎关闭模式
21:规则引擎拦截&&AI引擎观察模式
22:规则引擎拦截&&AI引擎拦截模式
:type Engine: int
:param _HttpsRewrite: 是否开启HTTP强制跳转到HTTPS。
0:不强制跳转
1:开启强制跳转
:type HttpsRewrite: int
:param _HttpsUpstreamPort: HTTPS回源端口
:type HttpsUpstreamPort: str
:param _IsCdn: waf前是否部署有七层代理服务。
0:没有部署代理服务
1:有部署代理服务,waf将使用XFF获取客户端IP
2:有部署代理服务,waf将使用remote_addr获取客户端IP
3:有部署代理服务,waf将使用ip_headers中的自定义header获取客户端IP
:type IsCdn: int
:param _IsGray: 是否开启灰度,已废弃。
:type IsGray: int
:param _IsHttp2: 是否开启HTTP2,需要开启HTTPS协议支持。
0:关闭
1:开启
:type IsHttp2: int
:param _IsWebsocket: 是否开启WebSocket支持。
0:关闭
1:开启
:type IsWebsocket: int
:param _LoadBalance: 回源负载均衡策略。
0:轮询
1:IP hash
2:加权轮询
:type LoadBalance: int
:param _Mode: 防护模式。
0:观察模式
1:拦截模式
:type Mode: int
:param _PrivateKey: 自有证书的私钥
:type PrivateKey: str
:param _SSLId: CertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:type SSLId: str
:param _UpstreamDomain: 域名回源时的回源域名。UpstreamType为1时,需要填充此字段
:type UpstreamDomain: str
:param _UpstreamType: 回源类型。
0:通过IP回源
1:通过域名回源
:type UpstreamType: int
:param _SrcList: IP回源时的回源IP列表。UpstreamType为0时,需要填充此字段
:type SrcList: list of str
:param _Ports: 域名端口配置
:type Ports: list of PortInfo
:param _CertType: 证书类型。
0:仅配置HTTP监听端口,没有证书
1:证书来源为自有证书
2:证书来源为托管证书
:type CertType: int
:param _UpstreamScheme: 服务配置有HTTPS端口时,HTTPS的回源协议。
http:使用http协议回源,和HttpsUpstreamPort配合使用
https:使用https协议回源
:type UpstreamScheme: str
:param _Cls: 日志包是否开启。
0:关闭
1:开启
:type Cls: int
:param _Cname: 接入Cname,SaaS型域名使用此Cname进行接入
:type Cname: str
:param _IsKeepAlive: 是否开启长连接。
0: 短连接
1: 长连接
:type IsKeepAlive: int
:param _ActiveCheck: 是否开启主动健康检测。
0:不开启
1:开启
:type ActiveCheck: int
:param _TLSVersion: TLS版本信息
:type TLSVersion: int
:param _Ciphers: 自定义的加密套件列表。CipherTemplate为3时需要填此字段,表示自定义的加密套件,值通过DescribeCiphersDetail接口获取。
:type Ciphers: list of int
:param _CipherTemplate: 加密套件模板。
0:不支持选择,使用默认模板
1:通用型模板
2:安全型模板
3:自定义模板
:type CipherTemplate: int
:param _ProxyReadTimeout: WAF与源站的读超时时间,默认300s。
:type ProxyReadTimeout: int
:param _ProxySendTimeout: WAF与源站的写超时时间,默认300s。
:type ProxySendTimeout: int
:param _SniType: WAF回源时的SNI类型。
0:关闭SNI,不配置client_hello中的server_name
1:开启SNI,client_hello中的server_name为防护域名
2:开启SNI,SNI为域名回源时的源站域名
3:开启SNI,SNI为自定义域名
:type SniType: int
:param _SniHost: SniType为3时,需要填此参数,表示自定义的SNI;
:type SniHost: str
:param _Weights: 回源IP权重
:type Weights: list of str
:param _IpHeaders: IsCdn=3时,表示自定义header
:type IpHeaders: list of str
:param _XFFReset: 是否开启XFF重置。
0:关闭
1:开启
:type XFFReset: int
:param _Note: 域名备注信息
:type Note: str
:param _UpstreamHost: 自定义回源Host。默认为空字符串,表示使用防护域名作为回源Host。
:type UpstreamHost: str
:param _Level: 防护规则
:type Level: str
:param _ProxyBuffer: 是否开启缓存 0-关闭 1-开启
:type ProxyBuffer: int
:param _GmType: 国密选项。0:不开启国密 1:在原有TLS选项的基础上追加支持国密 2:开启国密并仅支持国密客户端访问
:type GmType: int
:param _GmCertType: 国密证书类型。0:无国密证书 1:证书来源为自有国密证书 2:证书来源为托管国密证书
:type GmCertType: int
:param _GmCert: GmCertType为1时,需要填充此参数,表示自有国密证书的证书链
:type GmCert: str
:param _GmPrivateKey: GmCertType为1时,需要填充此参数,表示自有国密证书的私钥
:type GmPrivateKey: str
:param _GmEncCert: GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书
:type GmEncCert: str
:param _GmEncPrivateKey: GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书的私钥
:type GmEncPrivateKey: str
:param _GmSSLId: GmCertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:type GmSSLId: str
:param _Labels: 域名标签
:type Labels: list of str
:param _ProbeStatus: 拨测状态。 0: 禁用拨测, 1: 启用拨测
:type ProbeStatus: int
:param _UpstreamPolicy: 回源策略。
0:负载均衡回源
1:分流回源
:type UpstreamPolicy: int
:param _UpstreamRules: 分流回源策略
:type UpstreamRules: list of UpstreamRule
"""
self._Domain = None
self._DomainId = None
self._InstanceId = None
self._Edition = None
self._InstanceName = None
self._Cert = None
self._CreateTime = None
self._Engine = None
self._HttpsRewrite = None
self._HttpsUpstreamPort = None
self._IsCdn = None
self._IsGray = None
self._IsHttp2 = None
self._IsWebsocket = None
self._LoadBalance = None
self._Mode = None
self._PrivateKey = None
self._SSLId = None
self._UpstreamDomain = None
self._UpstreamType = None
self._SrcList = None
self._Ports = None
self._CertType = None
self._UpstreamScheme = None
self._Cls = None
self._Cname = None
self._IsKeepAlive = None
self._ActiveCheck = None
self._TLSVersion = None
self._Ciphers = None
self._CipherTemplate = None
self._ProxyReadTimeout = None
self._ProxySendTimeout = None
self._SniType = None
self._SniHost = None
self._Weights = None
self._IpHeaders = None
self._XFFReset = None
self._Note = None
self._UpstreamHost = None
self._Level = None
self._ProxyBuffer = None
self._GmType = None
self._GmCertType = None
self._GmCert = None
self._GmPrivateKey = None
self._GmEncCert = None
self._GmEncPrivateKey = None
self._GmSSLId = None
self._Labels = None
self._ProbeStatus = None
self._UpstreamPolicy = None
self._UpstreamRules = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名唯一ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def InstanceId(self):
"""域名所属实例唯一ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Edition(self):
"""域名所属实例类型
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def InstanceName(self):
"""域名所属实例名
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def Cert(self):
"""证书
:rtype: str
"""
return self._Cert
@Cert.setter
def Cert(self, Cert):
self._Cert = Cert
@property
def CreateTime(self):
"""创建时间
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def Engine(self):
"""规则引擎和AI引擎防护模式联合状态。
1:初始状态,规则引擎拦截&&AI引擎未操作开关状态
10:规则引擎观察&&AI引擎关闭模式
11:规则引擎观察&&AI引擎观察模式
12:规则引擎观察&&AI引擎拦截模式
20:规则引擎拦截&&AI引擎关闭模式
21:规则引擎拦截&&AI引擎观察模式
22:规则引擎拦截&&AI引擎拦截模式
:rtype: int
"""
return self._Engine
@Engine.setter
def Engine(self, Engine):
self._Engine = Engine
@property
def HttpsRewrite(self):
"""是否开启HTTP强制跳转到HTTPS。
0:不强制跳转
1:开启强制跳转
:rtype: int
"""
return self._HttpsRewrite
@HttpsRewrite.setter
def HttpsRewrite(self, HttpsRewrite):
self._HttpsRewrite = HttpsRewrite
@property
def HttpsUpstreamPort(self):
"""HTTPS回源端口
:rtype: str
"""
return self._HttpsUpstreamPort
@HttpsUpstreamPort.setter
def HttpsUpstreamPort(self, HttpsUpstreamPort):
self._HttpsUpstreamPort = HttpsUpstreamPort
@property
def IsCdn(self):
"""waf前是否部署有七层代理服务。
0:没有部署代理服务
1:有部署代理服务,waf将使用XFF获取客户端IP
2:有部署代理服务,waf将使用remote_addr获取客户端IP
3:有部署代理服务,waf将使用ip_headers中的自定义header获取客户端IP
:rtype: int
"""
return self._IsCdn
@IsCdn.setter
def IsCdn(self, IsCdn):
self._IsCdn = IsCdn
@property
def IsGray(self):
"""是否开启灰度,已废弃。
:rtype: int
"""
return self._IsGray
@IsGray.setter
def IsGray(self, IsGray):
self._IsGray = IsGray
@property
def IsHttp2(self):
"""是否开启HTTP2,需要开启HTTPS协议支持。
0:关闭
1:开启
:rtype: int
"""
return self._IsHttp2
@IsHttp2.setter
def IsHttp2(self, IsHttp2):
self._IsHttp2 = IsHttp2
@property
def IsWebsocket(self):
"""是否开启WebSocket支持。
0:关闭
1:开启
:rtype: int
"""
return self._IsWebsocket
@IsWebsocket.setter
def IsWebsocket(self, IsWebsocket):
self._IsWebsocket = IsWebsocket
@property
def LoadBalance(self):
"""回源负载均衡策略。
0:轮询
1:IP hash
2:加权轮询
:rtype: int
"""
return self._LoadBalance
@LoadBalance.setter
def LoadBalance(self, LoadBalance):
self._LoadBalance = LoadBalance
@property
def Mode(self):
"""防护模式。
0:观察模式
1:拦截模式
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def PrivateKey(self):
"""自有证书的私钥
:rtype: str
"""
return self._PrivateKey
@PrivateKey.setter
def PrivateKey(self, PrivateKey):
self._PrivateKey = PrivateKey
@property
def SSLId(self):
"""CertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:rtype: str
"""
return self._SSLId
@SSLId.setter
def SSLId(self, SSLId):
self._SSLId = SSLId
@property
def UpstreamDomain(self):
"""域名回源时的回源域名。UpstreamType为1时,需要填充此字段
:rtype: str
"""
return self._UpstreamDomain
@UpstreamDomain.setter
def UpstreamDomain(self, UpstreamDomain):
self._UpstreamDomain = UpstreamDomain
@property
def UpstreamType(self):
"""回源类型。
0:通过IP回源
1:通过域名回源
:rtype: int
"""
return self._UpstreamType
@UpstreamType.setter
def UpstreamType(self, UpstreamType):
self._UpstreamType = UpstreamType
@property
def SrcList(self):
"""IP回源时的回源IP列表。UpstreamType为0时,需要填充此字段
:rtype: list of str
"""
return self._SrcList
@SrcList.setter
def SrcList(self, SrcList):
self._SrcList = SrcList
@property
def Ports(self):
"""域名端口配置
:rtype: list of PortInfo
"""
return self._Ports
@Ports.setter
def Ports(self, Ports):
self._Ports = Ports
@property
def CertType(self):
"""证书类型。
0:仅配置HTTP监听端口,没有证书
1:证书来源为自有证书
2:证书来源为托管证书
:rtype: int
"""
return self._CertType
@CertType.setter
def CertType(self, CertType):
self._CertType = CertType
@property
def UpstreamScheme(self):
"""服务配置有HTTPS端口时,HTTPS的回源协议。
http:使用http协议回源,和HttpsUpstreamPort配合使用
https:使用https协议回源
:rtype: str
"""
return self._UpstreamScheme
@UpstreamScheme.setter
def UpstreamScheme(self, UpstreamScheme):
self._UpstreamScheme = UpstreamScheme
@property
def Cls(self):
"""日志包是否开启。
0:关闭
1:开启
:rtype: int
"""
return self._Cls
@Cls.setter
def Cls(self, Cls):
self._Cls = Cls
@property
def Cname(self):
"""接入Cname,SaaS型域名使用此Cname进行接入
:rtype: str
"""
return self._Cname
@Cname.setter
def Cname(self, Cname):
self._Cname = Cname
@property
def IsKeepAlive(self):
"""是否开启长连接。
0: 短连接
1: 长连接
:rtype: int
"""
return self._IsKeepAlive
@IsKeepAlive.setter
def IsKeepAlive(self, IsKeepAlive):
self._IsKeepAlive = IsKeepAlive
@property
def ActiveCheck(self):
"""是否开启主动健康检测。
0:不开启
1:开启
:rtype: int
"""
return self._ActiveCheck
@ActiveCheck.setter
def ActiveCheck(self, ActiveCheck):
self._ActiveCheck = ActiveCheck
@property
def TLSVersion(self):
"""TLS版本信息
:rtype: int
"""
return self._TLSVersion
@TLSVersion.setter
def TLSVersion(self, TLSVersion):
self._TLSVersion = TLSVersion
@property
def Ciphers(self):
"""自定义的加密套件列表。CipherTemplate为3时需要填此字段,表示自定义的加密套件,值通过DescribeCiphersDetail接口获取。
:rtype: list of int
"""
return self._Ciphers
@Ciphers.setter
def Ciphers(self, Ciphers):
self._Ciphers = Ciphers
@property
def CipherTemplate(self):
"""加密套件模板。
0:不支持选择,使用默认模板
1:通用型模板
2:安全型模板
3:自定义模板
:rtype: int
"""
return self._CipherTemplate
@CipherTemplate.setter
def CipherTemplate(self, CipherTemplate):
self._CipherTemplate = CipherTemplate
@property
def ProxyReadTimeout(self):
"""WAF与源站的读超时时间,默认300s。
:rtype: int
"""
return self._ProxyReadTimeout
@ProxyReadTimeout.setter
def ProxyReadTimeout(self, ProxyReadTimeout):
self._ProxyReadTimeout = ProxyReadTimeout
@property
def ProxySendTimeout(self):
"""WAF与源站的写超时时间,默认300s。
:rtype: int
"""
return self._ProxySendTimeout
@ProxySendTimeout.setter
def ProxySendTimeout(self, ProxySendTimeout):
self._ProxySendTimeout = ProxySendTimeout
@property
def SniType(self):
"""WAF回源时的SNI类型。
0:关闭SNI,不配置client_hello中的server_name
1:开启SNI,client_hello中的server_name为防护域名
2:开启SNI,SNI为域名回源时的源站域名
3:开启SNI,SNI为自定义域名
:rtype: int
"""
return self._SniType
@SniType.setter
def SniType(self, SniType):
self._SniType = SniType
@property
def SniHost(self):
"""SniType为3时,需要填此参数,表示自定义的SNI;
:rtype: str
"""
return self._SniHost
@SniHost.setter
def SniHost(self, SniHost):
self._SniHost = SniHost
@property
def Weights(self):
"""回源IP权重
:rtype: list of str
"""
return self._Weights
@Weights.setter
def Weights(self, Weights):
self._Weights = Weights
@property
def IpHeaders(self):
"""IsCdn=3时,表示自定义header
:rtype: list of str
"""
return self._IpHeaders
@IpHeaders.setter
def IpHeaders(self, IpHeaders):
self._IpHeaders = IpHeaders
@property
def XFFReset(self):
"""是否开启XFF重置。
0:关闭
1:开启
:rtype: int
"""
return self._XFFReset
@XFFReset.setter
def XFFReset(self, XFFReset):
self._XFFReset = XFFReset
@property
def Note(self):
"""域名备注信息
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
@property
def UpstreamHost(self):
"""自定义回源Host。默认为空字符串,表示使用防护域名作为回源Host。
:rtype: str
"""
return self._UpstreamHost
@UpstreamHost.setter
def UpstreamHost(self, UpstreamHost):
self._UpstreamHost = UpstreamHost
@property
def Level(self):
"""防护规则
:rtype: str
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
@property
def ProxyBuffer(self):
"""是否开启缓存 0-关闭 1-开启
:rtype: int
"""
return self._ProxyBuffer
@ProxyBuffer.setter
def ProxyBuffer(self, ProxyBuffer):
self._ProxyBuffer = ProxyBuffer
@property
def GmType(self):
"""国密选项。0:不开启国密 1:在原有TLS选项的基础上追加支持国密 2:开启国密并仅支持国密客户端访问
:rtype: int
"""
return self._GmType
@GmType.setter
def GmType(self, GmType):
self._GmType = GmType
@property
def GmCertType(self):
"""国密证书类型。0:无国密证书 1:证书来源为自有国密证书 2:证书来源为托管国密证书
:rtype: int
"""
return self._GmCertType
@GmCertType.setter
def GmCertType(self, GmCertType):
self._GmCertType = GmCertType
@property
def GmCert(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的证书链
:rtype: str
"""
return self._GmCert
@GmCert.setter
def GmCert(self, GmCert):
self._GmCert = GmCert
@property
def GmPrivateKey(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的私钥
:rtype: str
"""
return self._GmPrivateKey
@GmPrivateKey.setter
def GmPrivateKey(self, GmPrivateKey):
self._GmPrivateKey = GmPrivateKey
@property
def GmEncCert(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书
:rtype: str
"""
return self._GmEncCert
@GmEncCert.setter
def GmEncCert(self, GmEncCert):
self._GmEncCert = GmEncCert
@property
def GmEncPrivateKey(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书的私钥
:rtype: str
"""
return self._GmEncPrivateKey
@GmEncPrivateKey.setter
def GmEncPrivateKey(self, GmEncPrivateKey):
self._GmEncPrivateKey = GmEncPrivateKey
@property
def GmSSLId(self):
"""GmCertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:rtype: str
"""
return self._GmSSLId
@GmSSLId.setter
def GmSSLId(self, GmSSLId):
self._GmSSLId = GmSSLId
@property
def Labels(self):
"""域名标签
:rtype: list of str
"""
return self._Labels
@Labels.setter
def Labels(self, Labels):
self._Labels = Labels
@property
def ProbeStatus(self):
"""拨测状态。 0: 禁用拨测, 1: 启用拨测
:rtype: int
"""
return self._ProbeStatus
@ProbeStatus.setter
def ProbeStatus(self, ProbeStatus):
self._ProbeStatus = ProbeStatus
@property
def UpstreamPolicy(self):
"""回源策略。
0:负载均衡回源
1:分流回源
:rtype: int
"""
return self._UpstreamPolicy
@UpstreamPolicy.setter
def UpstreamPolicy(self, UpstreamPolicy):
self._UpstreamPolicy = UpstreamPolicy
@property
def UpstreamRules(self):
"""分流回源策略
:rtype: list of UpstreamRule
"""
return self._UpstreamRules
@UpstreamRules.setter
def UpstreamRules(self, UpstreamRules):
self._UpstreamRules = UpstreamRules
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._InstanceId = params.get("InstanceId")
self._Edition = params.get("Edition")
self._InstanceName = params.get("InstanceName")
self._Cert = params.get("Cert")
self._CreateTime = params.get("CreateTime")
self._Engine = params.get("Engine")
self._HttpsRewrite = params.get("HttpsRewrite")
self._HttpsUpstreamPort = params.get("HttpsUpstreamPort")
self._IsCdn = params.get("IsCdn")
self._IsGray = params.get("IsGray")
self._IsHttp2 = params.get("IsHttp2")
self._IsWebsocket = params.get("IsWebsocket")
self._LoadBalance = params.get("LoadBalance")
self._Mode = params.get("Mode")
self._PrivateKey = params.get("PrivateKey")
self._SSLId = params.get("SSLId")
self._UpstreamDomain = params.get("UpstreamDomain")
self._UpstreamType = params.get("UpstreamType")
self._SrcList = params.get("SrcList")
if params.get("Ports") is not None:
self._Ports = []
for item in params.get("Ports"):
obj = PortInfo()
obj._deserialize(item)
self._Ports.append(obj)
self._CertType = params.get("CertType")
self._UpstreamScheme = params.get("UpstreamScheme")
self._Cls = params.get("Cls")
self._Cname = params.get("Cname")
self._IsKeepAlive = params.get("IsKeepAlive")
self._ActiveCheck = params.get("ActiveCheck")
self._TLSVersion = params.get("TLSVersion")
self._Ciphers = params.get("Ciphers")
self._CipherTemplate = params.get("CipherTemplate")
self._ProxyReadTimeout = params.get("ProxyReadTimeout")
self._ProxySendTimeout = params.get("ProxySendTimeout")
self._SniType = params.get("SniType")
self._SniHost = params.get("SniHost")
self._Weights = params.get("Weights")
self._IpHeaders = params.get("IpHeaders")
self._XFFReset = params.get("XFFReset")
self._Note = params.get("Note")
self._UpstreamHost = params.get("UpstreamHost")
self._Level = params.get("Level")
self._ProxyBuffer = params.get("ProxyBuffer")
self._GmType = params.get("GmType")
self._GmCertType = params.get("GmCertType")
self._GmCert = params.get("GmCert")
self._GmPrivateKey = params.get("GmPrivateKey")
self._GmEncCert = params.get("GmEncCert")
self._GmEncPrivateKey = params.get("GmEncPrivateKey")
self._GmSSLId = params.get("GmSSLId")
self._Labels = params.get("Labels")
self._ProbeStatus = params.get("ProbeStatus")
self._UpstreamPolicy = params.get("UpstreamPolicy")
if params.get("UpstreamRules") is not None:
self._UpstreamRules = []
for item in params.get("UpstreamRules"):
obj = UpstreamRule()
obj._deserialize(item)
self._UpstreamRules.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DownloadAttackRecordInfo(AbstractModel):
"""下载攻击日志记录数据项
"""
def __init__(self):
r"""
:param _Id: 记录ID
:type Id: int
:param _TaskName: 下载任务名
:type TaskName: str
:param _TaskId: 任务ID
:type TaskId: str
:param _Host: 域名
:type Host: str
:param _Count: 当前下载任务的日志条数
:type Count: int
:param _Status: 下载任务运行状态:-1-下载超时,0-下载等待,1-下载完成,2-下载失败,4-正在下载
:type Status: int
:param _Url: 下载文件URL
:type Url: str
:param _CreateTime: 创建时间
:type CreateTime: str
:param _ModifyTime: 最后更新修改时间
:type ModifyTime: str
:param _ExpireTime: 过期时间
:type ExpireTime: str
:param _TotalCount: 下载任务需下载的日志总条数
:type TotalCount: int
"""
self._Id = None
self._TaskName = None
self._TaskId = None
self._Host = None
self._Count = None
self._Status = None
self._Url = None
self._CreateTime = None
self._ModifyTime = None
self._ExpireTime = None
self._TotalCount = None
@property
def Id(self):
"""记录ID
:rtype: int
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def TaskName(self):
"""下载任务名
:rtype: str
"""
return self._TaskName
@TaskName.setter
def TaskName(self, TaskName):
self._TaskName = TaskName
@property
def TaskId(self):
"""任务ID
:rtype: str
"""
return self._TaskId
@TaskId.setter
def TaskId(self, TaskId):
self._TaskId = TaskId
@property
def Host(self):
"""域名
:rtype: str
"""
return self._Host
@Host.setter
def Host(self, Host):
self._Host = Host
@property
def Count(self):
"""当前下载任务的日志条数
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Status(self):
"""下载任务运行状态:-1-下载超时,0-下载等待,1-下载完成,2-下载失败,4-正在下载
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Url(self):
"""下载文件URL
:rtype: str
"""
return self._Url
@Url.setter
def Url(self, Url):
self._Url = Url
@property
def CreateTime(self):
"""创建时间
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def ModifyTime(self):
"""最后更新修改时间
:rtype: str
"""
return self._ModifyTime
@ModifyTime.setter
def ModifyTime(self, ModifyTime):
self._ModifyTime = ModifyTime
@property
def ExpireTime(self):
"""过期时间
:rtype: str
"""
return self._ExpireTime
@ExpireTime.setter
def ExpireTime(self, ExpireTime):
self._ExpireTime = ExpireTime
@property
def TotalCount(self):
"""下载任务需下载的日志总条数
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
def _deserialize(self, params):
self._Id = params.get("Id")
self._TaskName = params.get("TaskName")
self._TaskId = params.get("TaskId")
self._Host = params.get("Host")
self._Count = params.get("Count")
self._Status = params.get("Status")
self._Url = params.get("Url")
self._CreateTime = params.get("CreateTime")
self._ModifyTime = params.get("ModifyTime")
self._ExpireTime = params.get("ExpireTime")
self._TotalCount = params.get("TotalCount")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ExportAccessInfo(AbstractModel):
"""DescribeAccessExports接口
"""
def __init__(self):
r"""
:param _ExportId: 日志导出任务ID
:type ExportId: str
:param _Query: 日志导出查询语句
:type Query: str
:param _FileName: 日志导出文件名
:type FileName: str
:param _FileSize: 日志文件大小
:type FileSize: int
:param _Order: 日志导出时间排序
:type Order: str
:param _Format: 日志导出格式
:type Format: str
:param _Count: 日志导出数量
:type Count: int
:param _Status: 日志下载状态。Processing:导出正在进行中,Complete:导出完成,Failed:导出失败,Expired:日志导出已过期(三天有效期)
:type Status: str
:param _From: 日志导出起始时间
:type From: int
:param _To: 日志导出结束时间
:type To: int
:param _CosPath: 日志导出路径
:type CosPath: str
:param _CreateTime: 日志导出创建时间
:type CreateTime: str
"""
self._ExportId = None
self._Query = None
self._FileName = None
self._FileSize = None
self._Order = None
self._Format = None
self._Count = None
self._Status = None
self._From = None
self._To = None
self._CosPath = None
self._CreateTime = None
@property
def ExportId(self):
"""日志导出任务ID
:rtype: str
"""
return self._ExportId
@ExportId.setter
def ExportId(self, ExportId):
self._ExportId = ExportId
@property
def Query(self):
"""日志导出查询语句
:rtype: str
"""
return self._Query
@Query.setter
def Query(self, Query):
self._Query = Query
@property
def FileName(self):
"""日志导出文件名
:rtype: str
"""
return self._FileName
@FileName.setter
def FileName(self, FileName):
self._FileName = FileName
@property
def FileSize(self):
"""日志文件大小
:rtype: int
"""
return self._FileSize
@FileSize.setter
def FileSize(self, FileSize):
self._FileSize = FileSize
@property
def Order(self):
"""日志导出时间排序
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
@property
def Format(self):
"""日志导出格式
:rtype: str
"""
return self._Format
@Format.setter
def Format(self, Format):
self._Format = Format
@property
def Count(self):
"""日志导出数量
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Status(self):
"""日志下载状态。Processing:导出正在进行中,Complete:导出完成,Failed:导出失败,Expired:日志导出已过期(三天有效期)
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def From(self):
"""日志导出起始时间
:rtype: int
"""
return self._From
@From.setter
def From(self, From):
self._From = From
@property
def To(self):
"""日志导出结束时间
:rtype: int
"""
return self._To
@To.setter
def To(self, To):
self._To = To
@property
def CosPath(self):
"""日志导出路径
:rtype: str
"""
return self._CosPath
@CosPath.setter
def CosPath(self, CosPath):
self._CosPath = CosPath
@property
def CreateTime(self):
"""日志导出创建时间
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
def _deserialize(self, params):
self._ExportId = params.get("ExportId")
self._Query = params.get("Query")
self._FileName = params.get("FileName")
self._FileSize = params.get("FileSize")
self._Order = params.get("Order")
self._Format = params.get("Format")
self._Count = params.get("Count")
self._Status = params.get("Status")
self._From = params.get("From")
self._To = params.get("To")
self._CosPath = params.get("CosPath")
self._CreateTime = params.get("CreateTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class FiltersItemNew(AbstractModel):
"""过滤数组
"""
def __init__(self):
r"""
:param _Name: 字段名; 过滤
子订单号过滤通过name 为:DealName; value为子订单号
:type Name: str
:param _Values: 过滤值
:type Values: list of str
:param _ExactMatch: 是否精确查找
:type ExactMatch: bool
"""
self._Name = None
self._Values = None
self._ExactMatch = None
@property
def Name(self):
"""字段名; 过滤
子订单号过滤通过name 为:DealName; value为子订单号
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Values(self):
"""过滤值
:rtype: list of str
"""
return self._Values
@Values.setter
def Values(self, Values):
self._Values = Values
@property
def ExactMatch(self):
"""是否精确查找
:rtype: bool
"""
return self._ExactMatch
@ExactMatch.setter
def ExactMatch(self, ExactMatch):
self._ExactMatch = ExactMatch
def _deserialize(self, params):
self._Name = params.get("Name")
self._Values = params.get("Values")
self._ExactMatch = params.get("ExactMatch")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class FindAllDomainDetail(AbstractModel):
"""域名列表
"""
def __init__(self):
r"""
:param _Appid: 用户id
:type Appid: int
:param _Domain: 域名
:type Domain: str
:param _Ips: 域名ip
:type Ips: list of str
:param _FindTime: 发现时间
:type FindTime: str
:param _InstanceId: 实例id
:type InstanceId: str
:param _DomainId: 域名id
:type DomainId: str
:param _Edition: waf类型
:type Edition: str
:param _IsWafDomain: 是否接入waf
:type IsWafDomain: int
"""
self._Appid = None
self._Domain = None
self._Ips = None
self._FindTime = None
self._InstanceId = None
self._DomainId = None
self._Edition = None
self._IsWafDomain = None
@property
def Appid(self):
"""用户id
:rtype: int
"""
return self._Appid
@Appid.setter
def Appid(self, Appid):
self._Appid = Appid
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Ips(self):
"""域名ip
:rtype: list of str
"""
return self._Ips
@Ips.setter
def Ips(self, Ips):
self._Ips = Ips
@property
def FindTime(self):
"""发现时间
:rtype: str
"""
return self._FindTime
@FindTime.setter
def FindTime(self, FindTime):
self._FindTime = FindTime
@property
def InstanceId(self):
"""实例id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def DomainId(self):
"""域名id
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def Edition(self):
"""waf类型
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def IsWafDomain(self):
"""是否接入waf
:rtype: int
"""
return self._IsWafDomain
@IsWafDomain.setter
def IsWafDomain(self, IsWafDomain):
self._IsWafDomain = IsWafDomain
def _deserialize(self, params):
self._Appid = params.get("Appid")
self._Domain = params.get("Domain")
self._Ips = params.get("Ips")
self._FindTime = params.get("FindTime")
self._InstanceId = params.get("InstanceId")
self._DomainId = params.get("DomainId")
self._Edition = params.get("Edition")
self._IsWafDomain = params.get("IsWafDomain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class FraudPkg(AbstractModel):
"""业务安全资源信息
"""
def __init__(self):
r"""
:param _ResourceIds: 资源id
:type ResourceIds: str
:param _Status: 状态
:type Status: int
:param _Region: 地域
:type Region: int
:param _BeginTime: 开始时间
:type BeginTime: str
:param _EndTime: 结束时间
:type EndTime: str
:param _InquireNum: 申请数量
:type InquireNum: int
:param _UsedNum: 使用数量
:type UsedNum: int
:param _RenewFlag: 续费标志
:type RenewFlag: int
"""
self._ResourceIds = None
self._Status = None
self._Region = None
self._BeginTime = None
self._EndTime = None
self._InquireNum = None
self._UsedNum = None
self._RenewFlag = None
@property
def ResourceIds(self):
"""资源id
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Region(self):
"""地域
:rtype: int
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def BeginTime(self):
"""开始时间
:rtype: str
"""
return self._BeginTime
@BeginTime.setter
def BeginTime(self, BeginTime):
self._BeginTime = BeginTime
@property
def EndTime(self):
"""结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def InquireNum(self):
"""申请数量
:rtype: int
"""
return self._InquireNum
@InquireNum.setter
def InquireNum(self, InquireNum):
self._InquireNum = InquireNum
@property
def UsedNum(self):
"""使用数量
:rtype: int
"""
return self._UsedNum
@UsedNum.setter
def UsedNum(self, UsedNum):
self._UsedNum = UsedNum
@property
def RenewFlag(self):
"""续费标志
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
def _deserialize(self, params):
self._ResourceIds = params.get("ResourceIds")
self._Status = params.get("Status")
self._Region = params.get("Region")
self._BeginTime = params.get("BeginTime")
self._EndTime = params.get("EndTime")
self._InquireNum = params.get("InquireNum")
self._UsedNum = params.get("UsedNum")
self._RenewFlag = params.get("RenewFlag")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class FreshAntiFakeUrlRequest(AbstractModel):
"""FreshAntiFakeUrl请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Id: Id
:type Id: int
"""
self._Domain = None
self._Id = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Id(self):
"""Id
:rtype: int
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Id = params.get("Id")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class FreshAntiFakeUrlResponse(AbstractModel):
"""FreshAntiFakeUrl返回参数结构体
"""
def __init__(self):
r"""
:param _Result: 结果成功与否
:type Result: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Result = None
self._RequestId = None
@property
def Result(self):
"""结果成功与否
:rtype: str
"""
return self._Result
@Result.setter
def Result(self, Result):
self._Result = Result
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Result = params.get("Result")
self._RequestId = params.get("RequestId")
class GenerateDealsAndPayNewRequest(AbstractModel):
"""GenerateDealsAndPayNew请求参数结构体
"""
def __init__(self):
r"""
:param _Goods: 计费下单入参
:type Goods: list of GoodNews
"""
self._Goods = None
@property
def Goods(self):
"""计费下单入参
:rtype: list of GoodNews
"""
return self._Goods
@Goods.setter
def Goods(self, Goods):
self._Goods = Goods
def _deserialize(self, params):
if params.get("Goods") is not None:
self._Goods = []
for item in params.get("Goods"):
obj = GoodNews()
obj._deserialize(item)
self._Goods.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GenerateDealsAndPayNewResponse(AbstractModel):
"""GenerateDealsAndPayNew返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 计费下单响应结构体
:type Data: :class:`tencentcloud.waf.v20180125.models.DealData`
:param _Status: 1:成功,0:失败
:type Status: int
:param _ReturnMessage: 返回message
:type ReturnMessage: str
:param _InstanceId: 购买的实例ID
:type InstanceId: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._Status = None
self._ReturnMessage = None
self._InstanceId = None
self._RequestId = None
@property
def Data(self):
"""计费下单响应结构体
:rtype: :class:`tencentcloud.waf.v20180125.models.DealData`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def Status(self):
"""1:成功,0:失败
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def ReturnMessage(self):
"""返回message
:rtype: str
"""
return self._ReturnMessage
@ReturnMessage.setter
def ReturnMessage(self, ReturnMessage):
self._ReturnMessage = ReturnMessage
@property
def InstanceId(self):
"""购买的实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = DealData()
self._Data._deserialize(params.get("Data"))
self._Status = params.get("Status")
self._ReturnMessage = params.get("ReturnMessage")
self._InstanceId = params.get("InstanceId")
self._RequestId = params.get("RequestId")
class GetAttackDownloadRecordsRequest(AbstractModel):
"""GetAttackDownloadRecords请求参数结构体
"""
class GetAttackDownloadRecordsResponse(AbstractModel):
"""GetAttackDownloadRecords返回参数结构体
"""
def __init__(self):
r"""
:param _Records: 下载攻击日志记录数组
:type Records: list of DownloadAttackRecordInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Records = None
self._RequestId = None
@property
def Records(self):
"""下载攻击日志记录数组
:rtype: list of DownloadAttackRecordInfo
"""
return self._Records
@Records.setter
def Records(self, Records):
self._Records = Records
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Records") is not None:
self._Records = []
for item in params.get("Records"):
obj = DownloadAttackRecordInfo()
obj._deserialize(item)
self._Records.append(obj)
self._RequestId = params.get("RequestId")
class GetAttackHistogramRequest(AbstractModel):
"""GetAttackHistogram请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 查询的域名,所有域名使用all
:type Domain: str
:param _StartTime: 查询起始时间
:type StartTime: str
:param _EndTime: 查询结束时间
:type EndTime: str
:param _QueryString: Lucene语法
:type QueryString: str
"""
self._Domain = None
self._StartTime = None
self._EndTime = None
self._QueryString = None
@property
def Domain(self):
"""查询的域名,所有域名使用all
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def StartTime(self):
"""查询起始时间
:rtype: str
"""
return self._StartTime
@StartTime.setter
def StartTime(self, StartTime):
self._StartTime = StartTime
@property
def EndTime(self):
"""查询结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def QueryString(self):
"""Lucene语法
:rtype: str
"""
return self._QueryString
@QueryString.setter
def QueryString(self, QueryString):
self._QueryString = QueryString
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._StartTime = params.get("StartTime")
self._EndTime = params.get("EndTime")
self._QueryString = params.get("QueryString")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GetAttackHistogramResponse(AbstractModel):
"""GetAttackHistogram返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 统计详情
:type Data: list of LogHistogramInfo
:param _Period: 时间段大小
:type Period: int
:param _TotalCount: 统计的条目数
:type TotalCount: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._Period = None
self._TotalCount = None
self._RequestId = None
@property
def Data(self):
"""统计详情
:rtype: list of LogHistogramInfo
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def Period(self):
"""时间段大小
:rtype: int
"""
return self._Period
@Period.setter
def Period(self, Period):
self._Period = Period
@property
def TotalCount(self):
"""统计的条目数
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = []
for item in params.get("Data"):
obj = LogHistogramInfo()
obj._deserialize(item)
self._Data.append(obj)
self._Period = params.get("Period")
self._TotalCount = params.get("TotalCount")
self._RequestId = params.get("RequestId")
class GetAttackTotalCountRequest(AbstractModel):
"""GetAttackTotalCount请求参数结构体
"""
def __init__(self):
r"""
:param _StartTime: 起始时间
:type StartTime: str
:param _EndTime: 结束时间
:type EndTime: str
:param _Domain: 查询的域名,全部域名填all
:type Domain: str
:param _QueryString: 查询条件,默认为""
:type QueryString: str
"""
self._StartTime = None
self._EndTime = None
self._Domain = None
self._QueryString = None
@property
def StartTime(self):
"""起始时间
:rtype: str
"""
return self._StartTime
@StartTime.setter
def StartTime(self, StartTime):
self._StartTime = StartTime
@property
def EndTime(self):
"""结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def Domain(self):
"""查询的域名,全部域名填all
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def QueryString(self):
"""查询条件,默认为""
:rtype: str
"""
return self._QueryString
@QueryString.setter
def QueryString(self, QueryString):
self._QueryString = QueryString
def _deserialize(self, params):
self._StartTime = params.get("StartTime")
self._EndTime = params.get("EndTime")
self._Domain = params.get("Domain")
self._QueryString = params.get("QueryString")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GetAttackTotalCountResponse(AbstractModel):
"""GetAttackTotalCount返回参数结构体
"""
def __init__(self):
r"""
:param _TotalCount: 攻击总次数
:type TotalCount: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TotalCount = None
self._RequestId = None
@property
def TotalCount(self):
"""攻击总次数
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
self._RequestId = params.get("RequestId")
class GetInstanceQpsLimitRequest(AbstractModel):
"""GetInstanceQpsLimit请求参数结构体
"""
def __init__(self):
r"""
:param _InstanceId: 套餐实例id
:type InstanceId: str
:param _Type: 套餐类型
:type Type: str
"""
self._InstanceId = None
self._Type = None
@property
def InstanceId(self):
"""套餐实例id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Type(self):
"""套餐类型
:rtype: str
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
def _deserialize(self, params):
self._InstanceId = params.get("InstanceId")
self._Type = params.get("Type")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GetInstanceQpsLimitResponse(AbstractModel):
"""GetInstanceQpsLimit返回参数结构体
"""
def __init__(self):
r"""
:param _QpsData: 弹性qps相关值集合
:type QpsData: :class:`tencentcloud.waf.v20180125.models.QpsData`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._QpsData = None
self._RequestId = None
@property
def QpsData(self):
"""弹性qps相关值集合
:rtype: :class:`tencentcloud.waf.v20180125.models.QpsData`
"""
return self._QpsData
@QpsData.setter
def QpsData(self, QpsData):
self._QpsData = QpsData
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("QpsData") is not None:
self._QpsData = QpsData()
self._QpsData._deserialize(params.get("QpsData"))
self._RequestId = params.get("RequestId")
class GoodNews(AbstractModel):
"""计费下单接口出入参Goods
"""
def __init__(self):
r"""
:param _GoodsNum: 商品数量
:type GoodsNum: int
:param _GoodsDetail: 商品明细
:type GoodsDetail: :class:`tencentcloud.waf.v20180125.models.GoodsDetailNew`
:param _GoodsCategoryId: 订单类型ID,用来唯一标识一个业务的一种场景(总共三种场景:新购、配置变更、续费)
高级版: 102375(新购),102376(续费),102377(变配)
企业版 : 102378(新购),102379(续费),102380(变配)
旗舰版 : 102369(新购),102370(续费),102371(变配)
域名包 : 102372(新购),102373(续费),102374(变配)
业务扩展包 : 101040(新购),101041(续费),101042(变配)
高级版-CLB: 新购 101198 续费 101199 变配 101200
企业版-CLB 101204(新购),101205(续费),101206(变配)
旗舰版-CLB : 101201(新购),101202(续费),101203(变配)
域名包-CLB: 101207(新购),101208(续费),101209(变配)
业务扩展包-CLB: 101210(新购),101211(续费),101212(变配)
:type GoodsCategoryId: int
:param _RegionId: 购买waf实例区域ID
1 表示购买大陆资源;
9表示购买非中国大陆资源
:type RegionId: int
"""
self._GoodsNum = None
self._GoodsDetail = None
self._GoodsCategoryId = None
self._RegionId = None
@property
def GoodsNum(self):
"""商品数量
:rtype: int
"""
return self._GoodsNum
@GoodsNum.setter
def GoodsNum(self, GoodsNum):
self._GoodsNum = GoodsNum
@property
def GoodsDetail(self):
"""商品明细
:rtype: :class:`tencentcloud.waf.v20180125.models.GoodsDetailNew`
"""
return self._GoodsDetail
@GoodsDetail.setter
def GoodsDetail(self, GoodsDetail):
self._GoodsDetail = GoodsDetail
@property
def GoodsCategoryId(self):
"""订单类型ID,用来唯一标识一个业务的一种场景(总共三种场景:新购、配置变更、续费)
高级版: 102375(新购),102376(续费),102377(变配)
企业版 : 102378(新购),102379(续费),102380(变配)
旗舰版 : 102369(新购),102370(续费),102371(变配)
域名包 : 102372(新购),102373(续费),102374(变配)
业务扩展包 : 101040(新购),101041(续费),101042(变配)
高级版-CLB: 新购 101198 续费 101199 变配 101200
企业版-CLB 101204(新购),101205(续费),101206(变配)
旗舰版-CLB : 101201(新购),101202(续费),101203(变配)
域名包-CLB: 101207(新购),101208(续费),101209(变配)
业务扩展包-CLB: 101210(新购),101211(续费),101212(变配)
:rtype: int
"""
return self._GoodsCategoryId
@GoodsCategoryId.setter
def GoodsCategoryId(self, GoodsCategoryId):
self._GoodsCategoryId = GoodsCategoryId
@property
def RegionId(self):
"""购买waf实例区域ID
1 表示购买大陆资源;
9表示购买非中国大陆资源
:rtype: int
"""
return self._RegionId
@RegionId.setter
def RegionId(self, RegionId):
self._RegionId = RegionId
def _deserialize(self, params):
self._GoodsNum = params.get("GoodsNum")
if params.get("GoodsDetail") is not None:
self._GoodsDetail = GoodsDetailNew()
self._GoodsDetail._deserialize(params.get("GoodsDetail"))
self._GoodsCategoryId = params.get("GoodsCategoryId")
self._RegionId = params.get("RegionId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class Goods(AbstractModel):
"""计费下单接口出入参Goods
"""
def __init__(self):
r"""
:param _PayMode: 付费类型,1:预付费,0:后付费
:type PayMode: int
:param _GoodsNum: 商品数量
:type GoodsNum: int
:param _GoodsDetail: 商品明细
:type GoodsDetail: :class:`tencentcloud.waf.v20180125.models.GoodsDetail`
:param _ProjectId: 默认为0
:type ProjectId: int
:param _GoodsCategoryId: 计费类目ID,对应cid
:type GoodsCategoryId: int
:param _Platform: 平台类型,默认1
:type Platform: int
:param _RegionId: 购买waf实例区域ID
:type RegionId: int
"""
self._PayMode = None
self._GoodsNum = None
self._GoodsDetail = None
self._ProjectId = None
self._GoodsCategoryId = None
self._Platform = None
self._RegionId = None
@property
def PayMode(self):
"""付费类型,1:预付费,0:后付费
:rtype: int
"""
return self._PayMode
@PayMode.setter
def PayMode(self, PayMode):
self._PayMode = PayMode
@property
def GoodsNum(self):
"""商品数量
:rtype: int
"""
return self._GoodsNum
@GoodsNum.setter
def GoodsNum(self, GoodsNum):
self._GoodsNum = GoodsNum
@property
def GoodsDetail(self):
"""商品明细
:rtype: :class:`tencentcloud.waf.v20180125.models.GoodsDetail`
"""
return self._GoodsDetail
@GoodsDetail.setter
def GoodsDetail(self, GoodsDetail):
self._GoodsDetail = GoodsDetail
@property
def ProjectId(self):
"""默认为0
:rtype: int
"""
return self._ProjectId
@ProjectId.setter
def ProjectId(self, ProjectId):
self._ProjectId = ProjectId
@property
def GoodsCategoryId(self):
"""计费类目ID,对应cid
:rtype: int
"""
return self._GoodsCategoryId
@GoodsCategoryId.setter
def GoodsCategoryId(self, GoodsCategoryId):
self._GoodsCategoryId = GoodsCategoryId
@property
def Platform(self):
"""平台类型,默认1
:rtype: int
"""
return self._Platform
@Platform.setter
def Platform(self, Platform):
self._Platform = Platform
@property
def RegionId(self):
"""购买waf实例区域ID
:rtype: int
"""
return self._RegionId
@RegionId.setter
def RegionId(self, RegionId):
self._RegionId = RegionId
def _deserialize(self, params):
self._PayMode = params.get("PayMode")
self._GoodsNum = params.get("GoodsNum")
if params.get("GoodsDetail") is not None:
self._GoodsDetail = GoodsDetail()
self._GoodsDetail._deserialize(params.get("GoodsDetail"))
self._ProjectId = params.get("ProjectId")
self._GoodsCategoryId = params.get("GoodsCategoryId")
self._Platform = params.get("Platform")
self._RegionId = params.get("RegionId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GoodsDetail(AbstractModel):
"""产品明细
"""
def __init__(self):
r"""
:param _TimeSpan: 时间间隔
:type TimeSpan: int
:param _TimeUnit: 单位,支持m、y、d
:type TimeUnit: str
:param _ProductCode: 产品码
:type ProductCode: str
:param _SubProductCode: 二级产品码
:type SubProductCode: str
:param _Pid: 计费策略id
:type Pid: int
:param _ProductInfo: waf产品码
:type ProductInfo: list of ProductInfo
:param _InstanceName: waf实例名
:type InstanceName: str
:param _ElasticQps: QPS数量
:type ElasticQps: int
:param _FlexBill: 弹性账单
:type FlexBill: int
:param _AutoRenewFlag: 1:自动续费,0:不自动续费
:type AutoRenewFlag: int
:param _RealRegion: waf购买的实际地域信息
:type RealRegion: int
:param _Type: Waf实例对应的二级产品码
:type Type: str
:param _LabelTypes: 计费细项标签数组
:type LabelTypes: list of str
:param _LabelCounts: 计费细项标签数量,一般和SvLabelType一一对应
:type LabelCounts: list of int
:param _CurDeadline: 变配使用,实例到期时间
:type CurDeadline: str
:param _InstanceId: 对存在的实例购买bot 或api 安全
:type InstanceId: str
"""
self._TimeSpan = None
self._TimeUnit = None
self._ProductCode = None
self._SubProductCode = None
self._Pid = None
self._ProductInfo = None
self._InstanceName = None
self._ElasticQps = None
self._FlexBill = None
self._AutoRenewFlag = None
self._RealRegion = None
self._Type = None
self._LabelTypes = None
self._LabelCounts = None
self._CurDeadline = None
self._InstanceId = None
@property
def TimeSpan(self):
"""时间间隔
:rtype: int
"""
return self._TimeSpan
@TimeSpan.setter
def TimeSpan(self, TimeSpan):
self._TimeSpan = TimeSpan
@property
def TimeUnit(self):
"""单位,支持m、y、d
:rtype: str
"""
return self._TimeUnit
@TimeUnit.setter
def TimeUnit(self, TimeUnit):
self._TimeUnit = TimeUnit
@property
def ProductCode(self):
"""产品码
:rtype: str
"""
return self._ProductCode
@ProductCode.setter
def ProductCode(self, ProductCode):
self._ProductCode = ProductCode
@property
def SubProductCode(self):
"""二级产品码
:rtype: str
"""
return self._SubProductCode
@SubProductCode.setter
def SubProductCode(self, SubProductCode):
self._SubProductCode = SubProductCode
@property
def Pid(self):
"""计费策略id
:rtype: int
"""
return self._Pid
@Pid.setter
def Pid(self, Pid):
self._Pid = Pid
@property
def ProductInfo(self):
"""waf产品码
:rtype: list of ProductInfo
"""
return self._ProductInfo
@ProductInfo.setter
def ProductInfo(self, ProductInfo):
self._ProductInfo = ProductInfo
@property
def InstanceName(self):
"""waf实例名
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def ElasticQps(self):
"""QPS数量
:rtype: int
"""
return self._ElasticQps
@ElasticQps.setter
def ElasticQps(self, ElasticQps):
self._ElasticQps = ElasticQps
@property
def FlexBill(self):
"""弹性账单
:rtype: int
"""
return self._FlexBill
@FlexBill.setter
def FlexBill(self, FlexBill):
self._FlexBill = FlexBill
@property
def AutoRenewFlag(self):
"""1:自动续费,0:不自动续费
:rtype: int
"""
return self._AutoRenewFlag
@AutoRenewFlag.setter
def AutoRenewFlag(self, AutoRenewFlag):
self._AutoRenewFlag = AutoRenewFlag
@property
def RealRegion(self):
"""waf购买的实际地域信息
:rtype: int
"""
return self._RealRegion
@RealRegion.setter
def RealRegion(self, RealRegion):
self._RealRegion = RealRegion
@property
def Type(self):
"""Waf实例对应的二级产品码
:rtype: str
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def LabelTypes(self):
"""计费细项标签数组
:rtype: list of str
"""
return self._LabelTypes
@LabelTypes.setter
def LabelTypes(self, LabelTypes):
self._LabelTypes = LabelTypes
@property
def LabelCounts(self):
"""计费细项标签数量,一般和SvLabelType一一对应
:rtype: list of int
"""
return self._LabelCounts
@LabelCounts.setter
def LabelCounts(self, LabelCounts):
self._LabelCounts = LabelCounts
@property
def CurDeadline(self):
"""变配使用,实例到期时间
:rtype: str
"""
return self._CurDeadline
@CurDeadline.setter
def CurDeadline(self, CurDeadline):
self._CurDeadline = CurDeadline
@property
def InstanceId(self):
"""对存在的实例购买bot 或api 安全
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
def _deserialize(self, params):
self._TimeSpan = params.get("TimeSpan")
self._TimeUnit = params.get("TimeUnit")
self._ProductCode = params.get("ProductCode")
self._SubProductCode = params.get("SubProductCode")
self._Pid = params.get("Pid")
if params.get("ProductInfo") is not None:
self._ProductInfo = []
for item in params.get("ProductInfo"):
obj = ProductInfo()
obj._deserialize(item)
self._ProductInfo.append(obj)
self._InstanceName = params.get("InstanceName")
self._ElasticQps = params.get("ElasticQps")
self._FlexBill = params.get("FlexBill")
self._AutoRenewFlag = params.get("AutoRenewFlag")
self._RealRegion = params.get("RealRegion")
self._Type = params.get("Type")
self._LabelTypes = params.get("LabelTypes")
self._LabelCounts = params.get("LabelCounts")
self._CurDeadline = params.get("CurDeadline")
self._InstanceId = params.get("InstanceId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GoodsDetailNew(AbstractModel):
"""产品明细
"""
def __init__(self):
r"""
:param _TimeSpan: 时间间隔
:type TimeSpan: int
:param _TimeUnit: 单位,支持购买d、m、y 即(日、月、年)
:type TimeUnit: str
:param _SubProductCode: 子产品标签,。新购,续费必传,变配时放在oldConfig newConfig里面
Saas 高级版 :sp_wsm_waf_premium
Saas企业版 :sp_wsm_waf_enterprise
Saas旗舰版 :sp_wsm_waf_ultimate
Saas 业务扩展包:sp_wsm_waf_qpsep
Saas 域名扩展包:sp_wsm_waf_domain
高级版-CLB:sp_wsm_waf_premium_clb
企业版-CLB : sp_wsm_waf_enterprise_clb
旗舰版-CLB:sp_wsm_waf_ultimate_clb
业务扩展包-CLB:sp_wsm_waf_qpsep_clb
域名扩展包-CLB:sp_wsm_waf_domain_clb
:type SubProductCode: str
:param _Pid: 业务产品申请的pid(对应一个定价公式),通过pid计费查询到定价模型
高级版 :1000827
企业版 :1000830
旗舰版 :1000832
域名包 : 1000834
业务扩展包 : 1000481
高级版-CLB:1001150
企业版-CLB : 1001152
旗舰版-CLB:1001154
域名包-CLB: 1001156
业务扩展包-CLB : 1001160
:type Pid: int
:param _InstanceName: waf实例名
:type InstanceName: str
:param _AutoRenewFlag: 1:自动续费,0:不自动续费
:type AutoRenewFlag: int
:param _RealRegion: waf购买的实际地域信息
:type RealRegion: int
:param _LabelTypes: 计费细项标签数组
Saas 高级版 sv_wsm_waf_package_premium
Saas 企业版 sv_wsm_waf_package_enterprise
Saas 旗舰版 sv_wsm_waf_package_ultimate
Saas 非中国大陆高级版 sv_wsm_waf_package_premium_intl
Saas 非中国大陆企业版 sv_wsm_waf_package_enterprise_intl
Saas 非中国大陆旗舰版 sv_wsm_waf_package_ultimate _intl
Saas 业务扩展包 sv_wsm_waf_qps_ep
Saas 域名扩展包 sv_wsm_waf_domain
高级版CLB sv_wsm_waf_package_premium_clb
企业版CLB sv_wsm_waf_package_enterprise_clb
旗舰版CLB sv_wsm_waf_package_ultimate_clb
非中国大陆高级版 CLB sv_wsm_waf_package_premium_clb_intl
非中国大陆企业版CLB sv_wsm_waf_package_premium_clb_intl
非中国大陆旗舰版CLB sv_wsm_waf_package_ultimate_clb _intl
业务扩展包CLB sv_wsm_waf_qps_ep_clb
域名扩展包CLB sv_wsm_waf_domain_clb
:type LabelTypes: list of str
:param _LabelCounts: 计费细项标签数量,一般和SvLabelType一一对应
:type LabelCounts: list of int
:param _CurDeadline: 变配使用,实例到期时间
:type CurDeadline: str
:param _InstanceId: 对存在的实例购买bot 或api 安全
:type InstanceId: str
:param _ResourceId: 资源id
:type ResourceId: str
:param _MicroVersion: 模式clb-waf或者saas-waf
:type MicroVersion: str
"""
self._TimeSpan = None
self._TimeUnit = None
self._SubProductCode = None
self._Pid = None
self._InstanceName = None
self._AutoRenewFlag = None
self._RealRegion = None
self._LabelTypes = None
self._LabelCounts = None
self._CurDeadline = None
self._InstanceId = None
self._ResourceId = None
self._MicroVersion = None
@property
def TimeSpan(self):
"""时间间隔
:rtype: int
"""
return self._TimeSpan
@TimeSpan.setter
def TimeSpan(self, TimeSpan):
self._TimeSpan = TimeSpan
@property
def TimeUnit(self):
"""单位,支持购买d、m、y 即(日、月、年)
:rtype: str
"""
return self._TimeUnit
@TimeUnit.setter
def TimeUnit(self, TimeUnit):
self._TimeUnit = TimeUnit
@property
def SubProductCode(self):
"""子产品标签,。新购,续费必传,变配时放在oldConfig newConfig里面
Saas 高级版 :sp_wsm_waf_premium
Saas企业版 :sp_wsm_waf_enterprise
Saas旗舰版 :sp_wsm_waf_ultimate
Saas 业务扩展包:sp_wsm_waf_qpsep
Saas 域名扩展包:sp_wsm_waf_domain
高级版-CLB:sp_wsm_waf_premium_clb
企业版-CLB : sp_wsm_waf_enterprise_clb
旗舰版-CLB:sp_wsm_waf_ultimate_clb
业务扩展包-CLB:sp_wsm_waf_qpsep_clb
域名扩展包-CLB:sp_wsm_waf_domain_clb
:rtype: str
"""
return self._SubProductCode
@SubProductCode.setter
def SubProductCode(self, SubProductCode):
self._SubProductCode = SubProductCode
@property
def Pid(self):
"""业务产品申请的pid(对应一个定价公式),通过pid计费查询到定价模型
高级版 :1000827
企业版 :1000830
旗舰版 :1000832
域名包 : 1000834
业务扩展包 : 1000481
高级版-CLB:1001150
企业版-CLB : 1001152
旗舰版-CLB:1001154
域名包-CLB: 1001156
业务扩展包-CLB : 1001160
:rtype: int
"""
return self._Pid
@Pid.setter
def Pid(self, Pid):
self._Pid = Pid
@property
def InstanceName(self):
"""waf实例名
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def AutoRenewFlag(self):
"""1:自动续费,0:不自动续费
:rtype: int
"""
return self._AutoRenewFlag
@AutoRenewFlag.setter
def AutoRenewFlag(self, AutoRenewFlag):
self._AutoRenewFlag = AutoRenewFlag
@property
def RealRegion(self):
"""waf购买的实际地域信息
:rtype: int
"""
return self._RealRegion
@RealRegion.setter
def RealRegion(self, RealRegion):
self._RealRegion = RealRegion
@property
def LabelTypes(self):
"""计费细项标签数组
Saas 高级版 sv_wsm_waf_package_premium
Saas 企业版 sv_wsm_waf_package_enterprise
Saas 旗舰版 sv_wsm_waf_package_ultimate
Saas 非中国大陆高级版 sv_wsm_waf_package_premium_intl
Saas 非中国大陆企业版 sv_wsm_waf_package_enterprise_intl
Saas 非中国大陆旗舰版 sv_wsm_waf_package_ultimate _intl
Saas 业务扩展包 sv_wsm_waf_qps_ep
Saas 域名扩展包 sv_wsm_waf_domain
高级版CLB sv_wsm_waf_package_premium_clb
企业版CLB sv_wsm_waf_package_enterprise_clb
旗舰版CLB sv_wsm_waf_package_ultimate_clb
非中国大陆高级版 CLB sv_wsm_waf_package_premium_clb_intl
非中国大陆企业版CLB sv_wsm_waf_package_premium_clb_intl
非中国大陆旗舰版CLB sv_wsm_waf_package_ultimate_clb _intl
业务扩展包CLB sv_wsm_waf_qps_ep_clb
域名扩展包CLB sv_wsm_waf_domain_clb
:rtype: list of str
"""
return self._LabelTypes
@LabelTypes.setter
def LabelTypes(self, LabelTypes):
self._LabelTypes = LabelTypes
@property
def LabelCounts(self):
"""计费细项标签数量,一般和SvLabelType一一对应
:rtype: list of int
"""
return self._LabelCounts
@LabelCounts.setter
def LabelCounts(self, LabelCounts):
self._LabelCounts = LabelCounts
@property
def CurDeadline(self):
"""变配使用,实例到期时间
:rtype: str
"""
return self._CurDeadline
@CurDeadline.setter
def CurDeadline(self, CurDeadline):
self._CurDeadline = CurDeadline
@property
def InstanceId(self):
"""对存在的实例购买bot 或api 安全
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def ResourceId(self):
"""资源id
:rtype: str
"""
return self._ResourceId
@ResourceId.setter
def ResourceId(self, ResourceId):
self._ResourceId = ResourceId
@property
def MicroVersion(self):
"""模式clb-waf或者saas-waf
:rtype: str
"""
return self._MicroVersion
@MicroVersion.setter
def MicroVersion(self, MicroVersion):
self._MicroVersion = MicroVersion
def _deserialize(self, params):
self._TimeSpan = params.get("TimeSpan")
self._TimeUnit = params.get("TimeUnit")
self._SubProductCode = params.get("SubProductCode")
self._Pid = params.get("Pid")
self._InstanceName = params.get("InstanceName")
self._AutoRenewFlag = params.get("AutoRenewFlag")
self._RealRegion = params.get("RealRegion")
self._LabelTypes = params.get("LabelTypes")
self._LabelCounts = params.get("LabelCounts")
self._CurDeadline = params.get("CurDeadline")
self._InstanceId = params.get("InstanceId")
self._ResourceId = params.get("ResourceId")
self._MicroVersion = params.get("MicroVersion")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class HostDel(AbstractModel):
"""CLB-WAF删除域名参数
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名ID
:type DomainId: str
:param _InstanceID: 实例类型
:type InstanceID: str
"""
self._Domain = None
self._DomainId = None
self._InstanceID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def InstanceID(self):
"""实例类型
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class HostRecord(AbstractModel):
"""负载均衡型WAF域名信息
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名唯一ID
:type DomainId: str
:param _MainDomain: 主域名,入参时为空
:type MainDomain: str
:param _Mode: 规则引擎防护模式。
0:观察模式
1:拦截模式
:type Mode: int
:param _Status: waf和负载均衡器的绑定关系。
0:未绑定
1:已绑定
:type Status: int
:param _State: clbwaf域名监听器状态。
0:操作成功
4:正在绑定LB
6:正在解绑LB
7:解绑LB失败
8:绑定LB失败
10:内部错误
:type State: int
:param _Engine: 规则引擎和AI引擎防护模式联合状态。
1:初始状态,规则引擎拦截&&AI引擎未操作开关状态
10:规则引擎观察&&AI引擎关闭模式
11:规则引擎观察&&AI引擎观察模式
12:规则引擎观察&&AI引擎拦截模式
20:规则引擎拦截&&AI引擎关闭模式
21:规则引擎拦截&&AI引擎观察模式
22:规则引擎拦截&&AI引擎拦截模式
:type Engine: int
:param _IsCdn: waf前是否部署有七层代理服务。 0:没有部署代理服务 1:有部署代理服务,waf将使用XFF获取客户端IP 2:有部署代理服务,waf将使用remote_addr获取客户端IP 3:有部署代理服务,waf将使用ip_headers中的自定义header获取客户端IP
:type IsCdn: int
:param _LoadBalancerSet: 绑定的负载均衡器信息列表
:type LoadBalancerSet: list of LoadBalancer
:param _Region: 域名绑定的LB的地域,以逗号分割多个地域
:type Region: str
:param _Edition: 域名所属实例类型。负载均衡型WAF为"clb-waf"
:type Edition: str
:param _FlowMode: 负载均衡型WAF域名的流量模式。
1:清洗模式
0:镜像模式
:type FlowMode: int
:param _ClsStatus: 是否开启访问日志。
1:开启
0:关闭
:type ClsStatus: int
:param _Level: 防护等级,可选值100,200,300
:type Level: int
:param _CdcClusters: 域名需要下发到的cdc集群列表。仅CDC场景下填充
:type CdcClusters: list of str
:param _AlbType: 应用型负载均衡类型,默认clb。
clb:七层负载均衡器类型
apisix:apisix网关型
tsegw:云原生API网关
scf:云函数
:type AlbType: str
:param _IpHeaders: IsCdn=3时,需要填此参数,表示自定义header
:type IpHeaders: list of str
:param _EngineType: 规则引擎类型。
1: menshen
2: tiga
:type EngineType: int
:param _CloudType: 云类型。
public:公有云
private:私有云
hybrid:混合云
:type CloudType: str
:param _Note: 域名备注信息
:type Note: str
"""
self._Domain = None
self._DomainId = None
self._MainDomain = None
self._Mode = None
self._Status = None
self._State = None
self._Engine = None
self._IsCdn = None
self._LoadBalancerSet = None
self._Region = None
self._Edition = None
self._FlowMode = None
self._ClsStatus = None
self._Level = None
self._CdcClusters = None
self._AlbType = None
self._IpHeaders = None
self._EngineType = None
self._CloudType = None
self._Note = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名唯一ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def MainDomain(self):
"""主域名,入参时为空
:rtype: str
"""
return self._MainDomain
@MainDomain.setter
def MainDomain(self, MainDomain):
self._MainDomain = MainDomain
@property
def Mode(self):
"""规则引擎防护模式。
0:观察模式
1:拦截模式
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Status(self):
"""waf和负载均衡器的绑定关系。
0:未绑定
1:已绑定
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def State(self):
"""clbwaf域名监听器状态。
0:操作成功
4:正在绑定LB
6:正在解绑LB
7:解绑LB失败
8:绑定LB失败
10:内部错误
:rtype: int
"""
return self._State
@State.setter
def State(self, State):
self._State = State
@property
def Engine(self):
"""规则引擎和AI引擎防护模式联合状态。
1:初始状态,规则引擎拦截&&AI引擎未操作开关状态
10:规则引擎观察&&AI引擎关闭模式
11:规则引擎观察&&AI引擎观察模式
12:规则引擎观察&&AI引擎拦截模式
20:规则引擎拦截&&AI引擎关闭模式
21:规则引擎拦截&&AI引擎观察模式
22:规则引擎拦截&&AI引擎拦截模式
:rtype: int
"""
return self._Engine
@Engine.setter
def Engine(self, Engine):
self._Engine = Engine
@property
def IsCdn(self):
"""waf前是否部署有七层代理服务。 0:没有部署代理服务 1:有部署代理服务,waf将使用XFF获取客户端IP 2:有部署代理服务,waf将使用remote_addr获取客户端IP 3:有部署代理服务,waf将使用ip_headers中的自定义header获取客户端IP
:rtype: int
"""
return self._IsCdn
@IsCdn.setter
def IsCdn(self, IsCdn):
self._IsCdn = IsCdn
@property
def LoadBalancerSet(self):
"""绑定的负载均衡器信息列表
:rtype: list of LoadBalancer
"""
return self._LoadBalancerSet
@LoadBalancerSet.setter
def LoadBalancerSet(self, LoadBalancerSet):
self._LoadBalancerSet = LoadBalancerSet
@property
def Region(self):
"""域名绑定的LB的地域,以逗号分割多个地域
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def Edition(self):
"""域名所属实例类型。负载均衡型WAF为"clb-waf"
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def FlowMode(self):
"""负载均衡型WAF域名的流量模式。
1:清洗模式
0:镜像模式
:rtype: int
"""
return self._FlowMode
@FlowMode.setter
def FlowMode(self, FlowMode):
self._FlowMode = FlowMode
@property
def ClsStatus(self):
"""是否开启访问日志。
1:开启
0:关闭
:rtype: int
"""
return self._ClsStatus
@ClsStatus.setter
def ClsStatus(self, ClsStatus):
self._ClsStatus = ClsStatus
@property
def Level(self):
"""防护等级,可选值100,200,300
:rtype: int
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
@property
def CdcClusters(self):
"""域名需要下发到的cdc集群列表。仅CDC场景下填充
:rtype: list of str
"""
return self._CdcClusters
@CdcClusters.setter
def CdcClusters(self, CdcClusters):
self._CdcClusters = CdcClusters
@property
def AlbType(self):
"""应用型负载均衡类型,默认clb。
clb:七层负载均衡器类型
apisix:apisix网关型
tsegw:云原生API网关
scf:云函数
:rtype: str
"""
return self._AlbType
@AlbType.setter
def AlbType(self, AlbType):
self._AlbType = AlbType
@property
def IpHeaders(self):
"""IsCdn=3时,需要填此参数,表示自定义header
:rtype: list of str
"""
return self._IpHeaders
@IpHeaders.setter
def IpHeaders(self, IpHeaders):
self._IpHeaders = IpHeaders
@property
def EngineType(self):
"""规则引擎类型。
1: menshen
2: tiga
:rtype: int
"""
return self._EngineType
@EngineType.setter
def EngineType(self, EngineType):
self._EngineType = EngineType
@property
def CloudType(self):
"""云类型。
public:公有云
private:私有云
hybrid:混合云
:rtype: str
"""
return self._CloudType
@CloudType.setter
def CloudType(self, CloudType):
self._CloudType = CloudType
@property
def Note(self):
"""域名备注信息
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._MainDomain = params.get("MainDomain")
self._Mode = params.get("Mode")
self._Status = params.get("Status")
self._State = params.get("State")
self._Engine = params.get("Engine")
self._IsCdn = params.get("IsCdn")
if params.get("LoadBalancerSet") is not None:
self._LoadBalancerSet = []
for item in params.get("LoadBalancerSet"):
obj = LoadBalancer()
obj._deserialize(item)
self._LoadBalancerSet.append(obj)
self._Region = params.get("Region")
self._Edition = params.get("Edition")
self._FlowMode = params.get("FlowMode")
self._ClsStatus = params.get("ClsStatus")
self._Level = params.get("Level")
self._CdcClusters = params.get("CdcClusters")
self._AlbType = params.get("AlbType")
self._IpHeaders = params.get("IpHeaders")
self._EngineType = params.get("EngineType")
self._CloudType = params.get("CloudType")
self._Note = params.get("Note")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class HostStatus(AbstractModel):
"""设置WAF状态的结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名ID
:type DomainId: str
:param _Status: WAF的开关,1:开,0:关
:type Status: int
:param _InstanceID: 实例ID
:type InstanceID: str
"""
self._Domain = None
self._DomainId = None
self._Status = None
self._InstanceID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def Status(self):
"""WAF的开关,1:开,0:关
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def InstanceID(self):
"""实例ID
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._Status = params.get("Status")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class HybridPkg(AbstractModel):
"""混合云节点资源信息
"""
def __init__(self):
r"""
:param _ResourceIds: 资源id
:type ResourceIds: str
:param _Status: 状态
:type Status: int
:param _Region: 地域
:type Region: int
:param _BeginTime: 开始时间
:type BeginTime: str
:param _EndTime: 结束时间
:type EndTime: str
:param _InquireNum: 申请数量
:type InquireNum: int
:param _UsedNum: 使用数量
:type UsedNum: int
:param _RenewFlag: 续费标志
:type RenewFlag: int
"""
self._ResourceIds = None
self._Status = None
self._Region = None
self._BeginTime = None
self._EndTime = None
self._InquireNum = None
self._UsedNum = None
self._RenewFlag = None
@property
def ResourceIds(self):
"""资源id
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Region(self):
"""地域
:rtype: int
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def BeginTime(self):
"""开始时间
:rtype: str
"""
return self._BeginTime
@BeginTime.setter
def BeginTime(self, BeginTime):
self._BeginTime = BeginTime
@property
def EndTime(self):
"""结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def InquireNum(self):
"""申请数量
:rtype: int
"""
return self._InquireNum
@InquireNum.setter
def InquireNum(self, InquireNum):
self._InquireNum = InquireNum
@property
def UsedNum(self):
"""使用数量
:rtype: int
"""
return self._UsedNum
@UsedNum.setter
def UsedNum(self, UsedNum):
self._UsedNum = UsedNum
@property
def RenewFlag(self):
"""续费标志
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
def _deserialize(self, params):
self._ResourceIds = params.get("ResourceIds")
self._Status = params.get("Status")
self._Region = params.get("Region")
self._BeginTime = params.get("BeginTime")
self._EndTime = params.get("EndTime")
self._InquireNum = params.get("InquireNum")
self._UsedNum = params.get("UsedNum")
self._RenewFlag = params.get("RenewFlag")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ImportIpAccessControlRequest(AbstractModel):
"""ImportIpAccessControl请求参数结构体
"""
def __init__(self):
r"""
:param _Data: 导入的IP黑白名单列表
:type Data: list of IpAccessControlParam
:param _Domain: 具体域名如:test.qcloudwaf.com
全局域名为:global
:type Domain: str
:param _SourceType: 是否为批量防护IP黑白名单,当为批量防护IP黑白名单时,取值为batch,否则为空
:type SourceType: str
:param _InstanceId: 实例Id
:type InstanceId: str
"""
self._Data = None
self._Domain = None
self._SourceType = None
self._InstanceId = None
@property
def Data(self):
"""导入的IP黑白名单列表
:rtype: list of IpAccessControlParam
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def Domain(self):
"""具体域名如:test.qcloudwaf.com
全局域名为:global
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def SourceType(self):
"""是否为批量防护IP黑白名单,当为批量防护IP黑白名单时,取值为batch,否则为空
:rtype: str
"""
return self._SourceType
@SourceType.setter
def SourceType(self, SourceType):
self._SourceType = SourceType
@property
def InstanceId(self):
"""实例Id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = []
for item in params.get("Data"):
obj = IpAccessControlParam()
obj._deserialize(item)
self._Data.append(obj)
self._Domain = params.get("Domain")
self._SourceType = params.get("SourceType")
self._InstanceId = params.get("InstanceId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ImportIpAccessControlResponse(AbstractModel):
"""ImportIpAccessControl返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class InstanceInfo(AbstractModel):
"""一个实例的详细信息
"""
def __init__(self):
r"""
:param _InstanceId: 实例唯一ID
:type InstanceId: str
:param _InstanceName: 实例名称
:type InstanceName: str
:param _ResourceIds: 实例对应资源ID,计费使用
:type ResourceIds: str
:param _Region: 实例所属地域
:type Region: str
:param _PayMode: 付费模式
:type PayMode: int
:param _RenewFlag: 自动续费标识。
0:关闭
1:开启
:type RenewFlag: int
:param _Mode: 弹性计费开关。
0:关闭
1:开启
:type Mode: int
:param _Level: 实例套餐版本。
101:小微版
102:超轻版
2:高级版
3:企业版
4:旗舰版
6:独享版
:type Level: int
:param _ValidTime: 实例过期时间
:type ValidTime: str
:param _BeginTime: 实例开始时间
:type BeginTime: str
:param _DomainCount: 已配置域名个数
:type DomainCount: int
:param _SubDomainLimit: 域名数量上限
:type SubDomainLimit: int
:param _MainDomainCount: 已配置主域名个数
:type MainDomainCount: int
:param _MainDomainLimit: 主域名数量上限
:type MainDomainLimit: int
:param _MaxQPS: 实例30天内QPS峰值
:type MaxQPS: int
: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: int
:param _Edition: clb或saas
:type Edition: str
:param _FraudPkg: 业务安全包
:type FraudPkg: :class:`tencentcloud.waf.v20180125.models.FraudPkg`
:param _BotPkg: Bot资源包
:type BotPkg: :class:`tencentcloud.waf.v20180125.models.BotPkg`
:param _BotQPS: bot的qps详情
:type BotQPS: :class:`tencentcloud.waf.v20180125.models.BotQPS`
:param _ElasticBilling: qps弹性计费上限
:type ElasticBilling: int
:param _AttackLogPost: 攻击日志投递开关
:type AttackLogPost: int
:param _MaxBandwidth: 带宽峰值,单位为B/s(字节每秒)
:type MaxBandwidth: int
:param _APISecurity: api安全是否购买
:type APISecurity: int
:param _QpsStandard: 购买的qps规格
:type QpsStandard: int
:param _BandwidthStandard: 购买的带宽规格
:type BandwidthStandard: int
:param _Status: 实例状态
:type Status: int
:param _SandboxQps: 实例沙箱qps值
:type SandboxQps: int
:param _IsAPISecurityTrial: 是否api 安全试用
:type IsAPISecurityTrial: int
:param _MajorEventsPkg: 重保包
:type MajorEventsPkg: :class:`tencentcloud.waf.v20180125.models.MajorEventsPkg`
:param _HybridPkg: 混合云子节点包
:type HybridPkg: :class:`tencentcloud.waf.v20180125.models.HybridPkg`
:param _ApiPkg: API安全资源包
:type ApiPkg: :class:`tencentcloud.waf.v20180125.models.ApiPkg`
:param _MiniPkg: 小程序安全加速包
:type MiniPkg: :class:`tencentcloud.waf.v20180125.models.MiniPkg`
:param _MiniQpsStandard: 小程序qps规格
:type MiniQpsStandard: int
:param _MiniMaxQPS: 小程序qps峰值
:type MiniMaxQPS: int
:param _LastQpsExceedTime: 最近一次超量时间
:type LastQpsExceedTime: str
:param _MiniExtendPkg: 小程序安全接入ID数量扩张包
:type MiniExtendPkg: :class:`tencentcloud.waf.v20180125.models.MiniExtendPkg`
:param _BillingItem: 计费项
:type BillingItem: str
:param _FreeDelayFlag: 实例延期释放标识
:type FreeDelayFlag: int
:param _Last3MaxQPS: 最近3天最大qps
:type Last3MaxQPS: int
:param _Last3MaxBandwidth: 最近3天最大带宽
:type Last3MaxBandwidth: int
"""
self._InstanceId = None
self._InstanceName = None
self._ResourceIds = None
self._Region = None
self._PayMode = None
self._RenewFlag = None
self._Mode = None
self._Level = None
self._ValidTime = None
self._BeginTime = None
self._DomainCount = None
self._SubDomainLimit = None
self._MainDomainCount = None
self._MainDomainLimit = None
self._MaxQPS = None
self._QPS = None
self._DomainPkg = None
self._AppId = None
self._Edition = None
self._FraudPkg = None
self._BotPkg = None
self._BotQPS = None
self._ElasticBilling = None
self._AttackLogPost = None
self._MaxBandwidth = None
self._APISecurity = None
self._QpsStandard = None
self._BandwidthStandard = None
self._Status = None
self._SandboxQps = None
self._IsAPISecurityTrial = None
self._MajorEventsPkg = None
self._HybridPkg = None
self._ApiPkg = None
self._MiniPkg = None
self._MiniQpsStandard = None
self._MiniMaxQPS = None
self._LastQpsExceedTime = None
self._MiniExtendPkg = None
self._BillingItem = None
self._FreeDelayFlag = None
self._Last3MaxQPS = None
self._Last3MaxBandwidth = None
@property
def InstanceId(self):
"""实例唯一ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def InstanceName(self):
"""实例名称
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def ResourceIds(self):
"""实例对应资源ID,计费使用
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def Region(self):
"""实例所属地域
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def PayMode(self):
"""付费模式
:rtype: int
"""
return self._PayMode
@PayMode.setter
def PayMode(self, PayMode):
self._PayMode = PayMode
@property
def RenewFlag(self):
"""自动续费标识。
0:关闭
1:开启
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
@property
def Mode(self):
"""弹性计费开关。
0:关闭
1:开启
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Level(self):
"""实例套餐版本。
101:小微版
102:超轻版
2:高级版
3:企业版
4:旗舰版
6:独享版
:rtype: int
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
@property
def ValidTime(self):
"""实例过期时间
:rtype: str
"""
return self._ValidTime
@ValidTime.setter
def ValidTime(self, ValidTime):
self._ValidTime = ValidTime
@property
def BeginTime(self):
"""实例开始时间
:rtype: str
"""
return self._BeginTime
@BeginTime.setter
def BeginTime(self, BeginTime):
self._BeginTime = BeginTime
@property
def DomainCount(self):
"""已配置域名个数
:rtype: int
"""
return self._DomainCount
@DomainCount.setter
def DomainCount(self, DomainCount):
self._DomainCount = DomainCount
@property
def SubDomainLimit(self):
"""域名数量上限
:rtype: int
"""
return self._SubDomainLimit
@SubDomainLimit.setter
def SubDomainLimit(self, SubDomainLimit):
self._SubDomainLimit = SubDomainLimit
@property
def MainDomainCount(self):
"""已配置主域名个数
:rtype: int
"""
return self._MainDomainCount
@MainDomainCount.setter
def MainDomainCount(self, MainDomainCount):
self._MainDomainCount = MainDomainCount
@property
def MainDomainLimit(self):
"""主域名数量上限
:rtype: int
"""
return self._MainDomainLimit
@MainDomainLimit.setter
def MainDomainLimit(self, MainDomainLimit):
self._MainDomainLimit = MainDomainLimit
@property
def MaxQPS(self):
"""实例30天内QPS峰值
:rtype: int
"""
return self._MaxQPS
@MaxQPS.setter
def MaxQPS(self, MaxQPS):
self._MaxQPS = MaxQPS
@property
def QPS(self):
"""qps扩展包信息
:rtype: :class:`tencentcloud.waf.v20180125.models.QPSPackageNew`
"""
return self._QPS
@QPS.setter
def QPS(self, QPS):
self._QPS = QPS
@property
def DomainPkg(self):
"""域名扩展包信息
:rtype: :class:`tencentcloud.waf.v20180125.models.DomainPackageNew`
"""
return self._DomainPkg
@DomainPkg.setter
def DomainPkg(self, DomainPkg):
self._DomainPkg = DomainPkg
@property
def AppId(self):
"""用户appid
:rtype: int
"""
return self._AppId
@AppId.setter
def AppId(self, AppId):
self._AppId = AppId
@property
def Edition(self):
"""clb或saas
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def FraudPkg(self):
"""业务安全包
:rtype: :class:`tencentcloud.waf.v20180125.models.FraudPkg`
"""
return self._FraudPkg
@FraudPkg.setter
def FraudPkg(self, FraudPkg):
self._FraudPkg = FraudPkg
@property
def BotPkg(self):
"""Bot资源包
:rtype: :class:`tencentcloud.waf.v20180125.models.BotPkg`
"""
return self._BotPkg
@BotPkg.setter
def BotPkg(self, BotPkg):
self._BotPkg = BotPkg
@property
def BotQPS(self):
"""bot的qps详情
:rtype: :class:`tencentcloud.waf.v20180125.models.BotQPS`
"""
return self._BotQPS
@BotQPS.setter
def BotQPS(self, BotQPS):
self._BotQPS = BotQPS
@property
def ElasticBilling(self):
"""qps弹性计费上限
:rtype: int
"""
return self._ElasticBilling
@ElasticBilling.setter
def ElasticBilling(self, ElasticBilling):
self._ElasticBilling = ElasticBilling
@property
def AttackLogPost(self):
"""攻击日志投递开关
:rtype: int
"""
return self._AttackLogPost
@AttackLogPost.setter
def AttackLogPost(self, AttackLogPost):
self._AttackLogPost = AttackLogPost
@property
def MaxBandwidth(self):
"""带宽峰值,单位为B/s(字节每秒)
:rtype: int
"""
return self._MaxBandwidth
@MaxBandwidth.setter
def MaxBandwidth(self, MaxBandwidth):
self._MaxBandwidth = MaxBandwidth
@property
def APISecurity(self):
"""api安全是否购买
:rtype: int
"""
return self._APISecurity
@APISecurity.setter
def APISecurity(self, APISecurity):
self._APISecurity = APISecurity
@property
def QpsStandard(self):
"""购买的qps规格
:rtype: int
"""
return self._QpsStandard
@QpsStandard.setter
def QpsStandard(self, QpsStandard):
self._QpsStandard = QpsStandard
@property
def BandwidthStandard(self):
"""购买的带宽规格
:rtype: int
"""
return self._BandwidthStandard
@BandwidthStandard.setter
def BandwidthStandard(self, BandwidthStandard):
self._BandwidthStandard = BandwidthStandard
@property
def Status(self):
"""实例状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def SandboxQps(self):
"""实例沙箱qps值
:rtype: int
"""
return self._SandboxQps
@SandboxQps.setter
def SandboxQps(self, SandboxQps):
self._SandboxQps = SandboxQps
@property
def IsAPISecurityTrial(self):
"""是否api 安全试用
:rtype: int
"""
return self._IsAPISecurityTrial
@IsAPISecurityTrial.setter
def IsAPISecurityTrial(self, IsAPISecurityTrial):
self._IsAPISecurityTrial = IsAPISecurityTrial
@property
def MajorEventsPkg(self):
"""重保包
:rtype: :class:`tencentcloud.waf.v20180125.models.MajorEventsPkg`
"""
return self._MajorEventsPkg
@MajorEventsPkg.setter
def MajorEventsPkg(self, MajorEventsPkg):
self._MajorEventsPkg = MajorEventsPkg
@property
def HybridPkg(self):
"""混合云子节点包
:rtype: :class:`tencentcloud.waf.v20180125.models.HybridPkg`
"""
return self._HybridPkg
@HybridPkg.setter
def HybridPkg(self, HybridPkg):
self._HybridPkg = HybridPkg
@property
def ApiPkg(self):
"""API安全资源包
:rtype: :class:`tencentcloud.waf.v20180125.models.ApiPkg`
"""
return self._ApiPkg
@ApiPkg.setter
def ApiPkg(self, ApiPkg):
self._ApiPkg = ApiPkg
@property
def MiniPkg(self):
"""小程序安全加速包
:rtype: :class:`tencentcloud.waf.v20180125.models.MiniPkg`
"""
return self._MiniPkg
@MiniPkg.setter
def MiniPkg(self, MiniPkg):
self._MiniPkg = MiniPkg
@property
def MiniQpsStandard(self):
"""小程序qps规格
:rtype: int
"""
return self._MiniQpsStandard
@MiniQpsStandard.setter
def MiniQpsStandard(self, MiniQpsStandard):
self._MiniQpsStandard = MiniQpsStandard
@property
def MiniMaxQPS(self):
"""小程序qps峰值
:rtype: int
"""
return self._MiniMaxQPS
@MiniMaxQPS.setter
def MiniMaxQPS(self, MiniMaxQPS):
self._MiniMaxQPS = MiniMaxQPS
@property
def LastQpsExceedTime(self):
"""最近一次超量时间
:rtype: str
"""
return self._LastQpsExceedTime
@LastQpsExceedTime.setter
def LastQpsExceedTime(self, LastQpsExceedTime):
self._LastQpsExceedTime = LastQpsExceedTime
@property
def MiniExtendPkg(self):
"""小程序安全接入ID数量扩张包
:rtype: :class:`tencentcloud.waf.v20180125.models.MiniExtendPkg`
"""
return self._MiniExtendPkg
@MiniExtendPkg.setter
def MiniExtendPkg(self, MiniExtendPkg):
self._MiniExtendPkg = MiniExtendPkg
@property
def BillingItem(self):
"""计费项
:rtype: str
"""
return self._BillingItem
@BillingItem.setter
def BillingItem(self, BillingItem):
self._BillingItem = BillingItem
@property
def FreeDelayFlag(self):
"""实例延期释放标识
:rtype: int
"""
return self._FreeDelayFlag
@FreeDelayFlag.setter
def FreeDelayFlag(self, FreeDelayFlag):
self._FreeDelayFlag = FreeDelayFlag
@property
def Last3MaxQPS(self):
"""最近3天最大qps
:rtype: int
"""
return self._Last3MaxQPS
@Last3MaxQPS.setter
def Last3MaxQPS(self, Last3MaxQPS):
self._Last3MaxQPS = Last3MaxQPS
@property
def Last3MaxBandwidth(self):
"""最近3天最大带宽
:rtype: int
"""
return self._Last3MaxBandwidth
@Last3MaxBandwidth.setter
def Last3MaxBandwidth(self, Last3MaxBandwidth):
self._Last3MaxBandwidth = Last3MaxBandwidth
def _deserialize(self, params):
self._InstanceId = params.get("InstanceId")
self._InstanceName = params.get("InstanceName")
self._ResourceIds = params.get("ResourceIds")
self._Region = params.get("Region")
self._PayMode = params.get("PayMode")
self._RenewFlag = params.get("RenewFlag")
self._Mode = params.get("Mode")
self._Level = params.get("Level")
self._ValidTime = params.get("ValidTime")
self._BeginTime = params.get("BeginTime")
self._DomainCount = params.get("DomainCount")
self._SubDomainLimit = params.get("SubDomainLimit")
self._MainDomainCount = params.get("MainDomainCount")
self._MainDomainLimit = params.get("MainDomainLimit")
self._MaxQPS = params.get("MaxQPS")
if params.get("QPS") is not None:
self._QPS = QPSPackageNew()
self._QPS._deserialize(params.get("QPS"))
if params.get("DomainPkg") is not None:
self._DomainPkg = DomainPackageNew()
self._DomainPkg._deserialize(params.get("DomainPkg"))
self._AppId = params.get("AppId")
self._Edition = params.get("Edition")
if params.get("FraudPkg") is not None:
self._FraudPkg = FraudPkg()
self._FraudPkg._deserialize(params.get("FraudPkg"))
if params.get("BotPkg") is not None:
self._BotPkg = BotPkg()
self._BotPkg._deserialize(params.get("BotPkg"))
if params.get("BotQPS") is not None:
self._BotQPS = BotQPS()
self._BotQPS._deserialize(params.get("BotQPS"))
self._ElasticBilling = params.get("ElasticBilling")
self._AttackLogPost = params.get("AttackLogPost")
self._MaxBandwidth = params.get("MaxBandwidth")
self._APISecurity = params.get("APISecurity")
self._QpsStandard = params.get("QpsStandard")
self._BandwidthStandard = params.get("BandwidthStandard")
self._Status = params.get("Status")
self._SandboxQps = params.get("SandboxQps")
self._IsAPISecurityTrial = params.get("IsAPISecurityTrial")
if params.get("MajorEventsPkg") is not None:
self._MajorEventsPkg = MajorEventsPkg()
self._MajorEventsPkg._deserialize(params.get("MajorEventsPkg"))
if params.get("HybridPkg") is not None:
self._HybridPkg = HybridPkg()
self._HybridPkg._deserialize(params.get("HybridPkg"))
if params.get("ApiPkg") is not None:
self._ApiPkg = ApiPkg()
self._ApiPkg._deserialize(params.get("ApiPkg"))
if params.get("MiniPkg") is not None:
self._MiniPkg = MiniPkg()
self._MiniPkg._deserialize(params.get("MiniPkg"))
self._MiniQpsStandard = params.get("MiniQpsStandard")
self._MiniMaxQPS = params.get("MiniMaxQPS")
self._LastQpsExceedTime = params.get("LastQpsExceedTime")
if params.get("MiniExtendPkg") is not None:
self._MiniExtendPkg = MiniExtendPkg()
self._MiniExtendPkg._deserialize(params.get("MiniExtendPkg"))
self._BillingItem = params.get("BillingItem")
self._FreeDelayFlag = params.get("FreeDelayFlag")
self._Last3MaxQPS = params.get("Last3MaxQPS")
self._Last3MaxBandwidth = params.get("Last3MaxBandwidth")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class IpAccessControlData(AbstractModel):
"""数据封装
"""
def __init__(self):
r"""
:param _Res: ip黑白名单
:type Res: list of IpAccessControlItem
:param _TotalCount: 计数
:type TotalCount: int
"""
self._Res = None
self._TotalCount = None
@property
def Res(self):
"""ip黑白名单
:rtype: list of IpAccessControlItem
"""
return self._Res
@Res.setter
def Res(self, Res):
self._Res = Res
@property
def TotalCount(self):
"""计数
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
def _deserialize(self, params):
if params.get("Res") is not None:
self._Res = []
for item in params.get("Res"):
obj = IpAccessControlItem()
obj._deserialize(item)
self._Res.append(obj)
self._TotalCount = params.get("TotalCount")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class IpAccessControlItem(AbstractModel):
"""ip黑白名单
"""
def __init__(self):
r"""
:param _Id: mongo表自增Id
:type Id: str
:param _ActionType: 动作
:type ActionType: int
:param _Ip: ip
:type Ip: str
:param _Note: 备注
:type Note: str
:param _Source: 来源
:type Source: str
:param _TsVersion: 更新时间戳
:type TsVersion: int
:param _ValidTs: 有效截止时间戳
:type ValidTs: int
:param _ValidStatus: 生效状态
:type ValidStatus: int
:param _RuleId: 55000001
:type RuleId: int
:param _IpList: IP列表
:type IpList: list of str
:param _CreateTime: 规则创建时间
:type CreateTime: int
:param _JobType: 定时任务类型
:type JobType: str
:param _CronType: 周期任务类型
:type CronType: str
:param _JobDateTime: 定时任务配置详情
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
self._Id = None
self._ActionType = None
self._Ip = None
self._Note = None
self._Source = None
self._TsVersion = None
self._ValidTs = None
self._ValidStatus = None
self._RuleId = None
self._IpList = None
self._CreateTime = None
self._JobType = None
self._CronType = None
self._JobDateTime = None
@property
def Id(self):
"""mongo表自增Id
:rtype: str
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def ActionType(self):
"""动作
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def Ip(self):
"""ip
:rtype: str
"""
return self._Ip
@Ip.setter
def Ip(self, Ip):
self._Ip = Ip
@property
def Note(self):
"""备注
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
@property
def Source(self):
"""来源
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def TsVersion(self):
"""更新时间戳
:rtype: int
"""
return self._TsVersion
@TsVersion.setter
def TsVersion(self, TsVersion):
self._TsVersion = TsVersion
@property
def ValidTs(self):
"""有效截止时间戳
:rtype: int
"""
return self._ValidTs
@ValidTs.setter
def ValidTs(self, ValidTs):
self._ValidTs = ValidTs
@property
def ValidStatus(self):
"""生效状态
:rtype: int
"""
return self._ValidStatus
@ValidStatus.setter
def ValidStatus(self, ValidStatus):
self._ValidStatus = ValidStatus
@property
def RuleId(self):
"""55000001
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def IpList(self):
"""IP列表
:rtype: list of str
"""
return self._IpList
@IpList.setter
def IpList(self, IpList):
self._IpList = IpList
@property
def CreateTime(self):
"""规则创建时间
:rtype: int
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def JobType(self):
"""定时任务类型
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def CronType(self):
"""周期任务类型
:rtype: str
"""
return self._CronType
@CronType.setter
def CronType(self, CronType):
self._CronType = CronType
@property
def JobDateTime(self):
"""定时任务配置详情
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
def _deserialize(self, params):
self._Id = params.get("Id")
self._ActionType = params.get("ActionType")
self._Ip = params.get("Ip")
self._Note = params.get("Note")
self._Source = params.get("Source")
self._TsVersion = params.get("TsVersion")
self._ValidTs = params.get("ValidTs")
self._ValidStatus = params.get("ValidStatus")
self._RuleId = params.get("RuleId")
self._IpList = params.get("IpList")
self._CreateTime = params.get("CreateTime")
self._JobType = params.get("JobType")
self._CronType = params.get("CronType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class IpAccessControlParam(AbstractModel):
"""IP黑白名单参数结构体,主要用于IP黑白名单的导入。
"""
def __init__(self):
r"""
:param _IpList: IP列表
:type IpList: list of str
:param _ValidTs: valid_ts为有效日期,值为秒级时间戳((如1680570420代表2023-04-04 09:07:00))
:type ValidTs: int
:param _ActionType: 42为黑名单,40为白名单
:type ActionType: int
:param _Note: 备注
:type Note: str
"""
self._IpList = None
self._ValidTs = None
self._ActionType = None
self._Note = None
@property
def IpList(self):
"""IP列表
:rtype: list of str
"""
return self._IpList
@IpList.setter
def IpList(self, IpList):
self._IpList = IpList
@property
def ValidTs(self):
"""valid_ts为有效日期,值为秒级时间戳((如1680570420代表2023-04-04 09:07:00))
:rtype: int
"""
return self._ValidTs
@ValidTs.setter
def ValidTs(self, ValidTs):
self._ValidTs = ValidTs
@property
def ActionType(self):
"""42为黑名单,40为白名单
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def Note(self):
"""备注
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
def _deserialize(self, params):
self._IpList = params.get("IpList")
self._ValidTs = params.get("ValidTs")
self._ActionType = params.get("ActionType")
self._Note = params.get("Note")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class IpHitItem(AbstractModel):
"""ip封堵状态数据
"""
def __init__(self):
r"""
:param _Action: 动作
:type Action: int
:param _Category: 类别
:type Category: str
:param _Ip: ip
:type Ip: str
:param _Name: 规则名称
:type Name: str
:param _TsVersion: 时间戳
:type TsVersion: int
:param _ValidTs: 有效截止时间戳
:type ValidTs: int
"""
self._Action = None
self._Category = None
self._Ip = None
self._Name = None
self._TsVersion = None
self._ValidTs = None
@property
def Action(self):
"""动作
:rtype: int
"""
return self._Action
@Action.setter
def Action(self, Action):
self._Action = Action
@property
def Category(self):
"""类别
:rtype: str
"""
return self._Category
@Category.setter
def Category(self, Category):
self._Category = Category
@property
def Ip(self):
"""ip
:rtype: str
"""
return self._Ip
@Ip.setter
def Ip(self, Ip):
self._Ip = Ip
@property
def Name(self):
"""规则名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def TsVersion(self):
"""时间戳
:rtype: int
"""
return self._TsVersion
@TsVersion.setter
def TsVersion(self, TsVersion):
self._TsVersion = TsVersion
@property
def ValidTs(self):
"""有效截止时间戳
:rtype: int
"""
return self._ValidTs
@ValidTs.setter
def ValidTs(self, ValidTs):
self._ValidTs = ValidTs
def _deserialize(self, params):
self._Action = params.get("Action")
self._Category = params.get("Category")
self._Ip = params.get("Ip")
self._Name = params.get("Name")
self._TsVersion = params.get("TsVersion")
self._ValidTs = params.get("ValidTs")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class IpHitItemsData(AbstractModel):
"""封装参数
"""
def __init__(self):
r"""
:param _Res: 数组封装
:type Res: list of IpHitItem
:param _TotalCount: 总数目
:type TotalCount: int
"""
self._Res = None
self._TotalCount = None
@property
def Res(self):
"""数组封装
:rtype: list of IpHitItem
"""
return self._Res
@Res.setter
def Res(self, Res):
self._Res = Res
@property
def TotalCount(self):
"""总数目
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
def _deserialize(self, params):
if params.get("Res") is not None:
self._Res = []
for item in params.get("Res"):
obj = IpHitItem()
obj._deserialize(item)
self._Res.append(obj)
self._TotalCount = params.get("TotalCount")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class JobDateTime(AbstractModel):
"""规则执行的时间结构体
"""
def __init__(self):
r"""
:param _Timed: 定时执行的时间参数
:type Timed: list of TimedJob
:param _Cron: 周期执行的时间参数
:type Cron: list of CronJob
:param _TimeTZone: 时区
:type TimeTZone: str
"""
self._Timed = None
self._Cron = None
self._TimeTZone = None
@property
def Timed(self):
"""定时执行的时间参数
:rtype: list of TimedJob
"""
return self._Timed
@Timed.setter
def Timed(self, Timed):
self._Timed = Timed
@property
def Cron(self):
"""周期执行的时间参数
:rtype: list of CronJob
"""
return self._Cron
@Cron.setter
def Cron(self, Cron):
self._Cron = Cron
@property
def TimeTZone(self):
"""时区
:rtype: str
"""
return self._TimeTZone
@TimeTZone.setter
def TimeTZone(self, TimeTZone):
self._TimeTZone = TimeTZone
def _deserialize(self, params):
if params.get("Timed") is not None:
self._Timed = []
for item in params.get("Timed"):
obj = TimedJob()
obj._deserialize(item)
self._Timed.append(obj)
if params.get("Cron") is not None:
self._Cron = []
for item in params.get("Cron"):
obj = CronJob()
obj._deserialize(item)
self._Cron.append(obj)
self._TimeTZone = params.get("TimeTZone")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class KVInt(AbstractModel):
"""Key-Value的形式,Value为Int
"""
def __init__(self):
r"""
:param _Key: Key
:type Key: str
:param _Value: Value
:type Value: int
"""
self._Key = None
self._Value = None
@property
def Key(self):
"""Key
:rtype: str
"""
return self._Key
@Key.setter
def Key(self, Key):
self._Key = Key
@property
def Value(self):
"""Value
:rtype: int
"""
return self._Value
@Value.setter
def Value(self, Value):
self._Value = Value
def _deserialize(self, params):
self._Key = params.get("Key")
self._Value = params.get("Value")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class LoadBalancer(AbstractModel):
"""负载均衡的监听器
"""
def __init__(self):
r"""
:param _LoadBalancerId: 负载均衡LD的ID
:type LoadBalancerId: str
:param _LoadBalancerName: 负载均衡LD的名称
:type LoadBalancerName: str
:param _ListenerId: 负载均衡监听器的ID
:type ListenerId: str
:param _ListenerName: 负载均衡监听器的名称
:type ListenerName: str
:param _Vip: 负载均衡实例的IP
:type Vip: str
:param _Vport: 负载均衡实例的端口
:type Vport: int
:param _Region: 负载均衡LD的地域
:type Region: str
:param _Protocol: 监听器协议,http、https
:type Protocol: str
:param _Zone: 负载均衡监听器所在的zone
:type Zone: str
:param _NumericalVpcId: 负载均衡的VPCID,公网为-1,内网按实际填写
:type NumericalVpcId: int
:param _LoadBalancerType: 负载均衡的网络类型。OPEN: 公网 INTERNAL :内网
:type LoadBalancerType: str
:param _LoadBalancerDomain: 负载均衡的域名
:type LoadBalancerDomain: str
"""
self._LoadBalancerId = None
self._LoadBalancerName = None
self._ListenerId = None
self._ListenerName = None
self._Vip = None
self._Vport = None
self._Region = None
self._Protocol = None
self._Zone = None
self._NumericalVpcId = None
self._LoadBalancerType = None
self._LoadBalancerDomain = None
@property
def LoadBalancerId(self):
"""负载均衡LD的ID
:rtype: str
"""
return self._LoadBalancerId
@LoadBalancerId.setter
def LoadBalancerId(self, LoadBalancerId):
self._LoadBalancerId = LoadBalancerId
@property
def LoadBalancerName(self):
"""负载均衡LD的名称
:rtype: str
"""
return self._LoadBalancerName
@LoadBalancerName.setter
def LoadBalancerName(self, LoadBalancerName):
self._LoadBalancerName = LoadBalancerName
@property
def ListenerId(self):
"""负载均衡监听器的ID
:rtype: str
"""
return self._ListenerId
@ListenerId.setter
def ListenerId(self, ListenerId):
self._ListenerId = ListenerId
@property
def ListenerName(self):
"""负载均衡监听器的名称
:rtype: str
"""
return self._ListenerName
@ListenerName.setter
def ListenerName(self, ListenerName):
self._ListenerName = ListenerName
@property
def Vip(self):
"""负载均衡实例的IP
:rtype: str
"""
return self._Vip
@Vip.setter
def Vip(self, Vip):
self._Vip = Vip
@property
def Vport(self):
"""负载均衡实例的端口
:rtype: int
"""
return self._Vport
@Vport.setter
def Vport(self, Vport):
self._Vport = Vport
@property
def Region(self):
"""负载均衡LD的地域
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def Protocol(self):
"""监听器协议,http、https
:rtype: str
"""
return self._Protocol
@Protocol.setter
def Protocol(self, Protocol):
self._Protocol = Protocol
@property
def Zone(self):
"""负载均衡监听器所在的zone
:rtype: str
"""
return self._Zone
@Zone.setter
def Zone(self, Zone):
self._Zone = Zone
@property
def NumericalVpcId(self):
"""负载均衡的VPCID,公网为-1,内网按实际填写
:rtype: int
"""
return self._NumericalVpcId
@NumericalVpcId.setter
def NumericalVpcId(self, NumericalVpcId):
self._NumericalVpcId = NumericalVpcId
@property
def LoadBalancerType(self):
"""负载均衡的网络类型。OPEN: 公网 INTERNAL :内网
:rtype: str
"""
return self._LoadBalancerType
@LoadBalancerType.setter
def LoadBalancerType(self, LoadBalancerType):
self._LoadBalancerType = LoadBalancerType
@property
def LoadBalancerDomain(self):
"""负载均衡的域名
:rtype: str
"""
return self._LoadBalancerDomain
@LoadBalancerDomain.setter
def LoadBalancerDomain(self, LoadBalancerDomain):
self._LoadBalancerDomain = LoadBalancerDomain
def _deserialize(self, params):
self._LoadBalancerId = params.get("LoadBalancerId")
self._LoadBalancerName = params.get("LoadBalancerName")
self._ListenerId = params.get("ListenerId")
self._ListenerName = params.get("ListenerName")
self._Vip = params.get("Vip")
self._Vport = params.get("Vport")
self._Region = params.get("Region")
self._Protocol = params.get("Protocol")
self._Zone = params.get("Zone")
self._NumericalVpcId = params.get("NumericalVpcId")
self._LoadBalancerType = params.get("LoadBalancerType")
self._LoadBalancerDomain = params.get("LoadBalancerDomain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class LoadBalancerPackageNew(AbstractModel):
"""负载均衡器
"""
def __init__(self):
r"""
:param _ListenerId: 监听id
:type ListenerId: str
:param _ListenerName: 监听名
:type ListenerName: str
:param _LoadBalancerId: 负载均衡id
:type LoadBalancerId: str
:param _LoadBalancerName: 负载均衡名
:type LoadBalancerName: str
:param _Protocol: 协议
:type Protocol: str
:param _Region: 地区
"多伦多": "ca",
"广州": "gz",
"成都": "cd",
"福州": "fzec",
"深圳": "szx",
"印度": "in",
"济南": "jnec",
"重庆": "cq",
"天津": "tsn",
"欧洲东北": "ru",
"南京": "nj",
"美国硅谷": "usw",
"泰国": "th",
"广州Open": "gzopen",
"深圳金融": "szjr",
"法兰克福": "de",
"日本": "jp",
"弗吉尼亚": "use",
"北京": "bj",
"中国香港": "hk",
"杭州": "hzec",
"北京金融": "bjjr",
"上海金融": "shjr",
"台北": "tpe",
"首尔": "kr",
"上海": "sh",
"新加坡": "sg",
"清远": "qy"
:type Region: str
:param _Vip: 接入IP
:type Vip: str
:param _Vport: 接入端口
:type Vport: int
:param _Zone: 地域
:type Zone: str
:param _NumericalVpcId: VPCID
:type NumericalVpcId: int
:param _LoadBalancerType: CLB类型
:type LoadBalancerType: str
:param _LoadBalancerDomain: 负载均衡器的域名
:type LoadBalancerDomain: str
"""
self._ListenerId = None
self._ListenerName = None
self._LoadBalancerId = None
self._LoadBalancerName = None
self._Protocol = None
self._Region = None
self._Vip = None
self._Vport = None
self._Zone = None
self._NumericalVpcId = None
self._LoadBalancerType = None
self._LoadBalancerDomain = None
@property
def ListenerId(self):
"""监听id
:rtype: str
"""
return self._ListenerId
@ListenerId.setter
def ListenerId(self, ListenerId):
self._ListenerId = ListenerId
@property
def ListenerName(self):
"""监听名
:rtype: str
"""
return self._ListenerName
@ListenerName.setter
def ListenerName(self, ListenerName):
self._ListenerName = ListenerName
@property
def LoadBalancerId(self):
"""负载均衡id
:rtype: str
"""
return self._LoadBalancerId
@LoadBalancerId.setter
def LoadBalancerId(self, LoadBalancerId):
self._LoadBalancerId = LoadBalancerId
@property
def LoadBalancerName(self):
"""负载均衡名
:rtype: str
"""
return self._LoadBalancerName
@LoadBalancerName.setter
def LoadBalancerName(self, LoadBalancerName):
self._LoadBalancerName = LoadBalancerName
@property
def Protocol(self):
"""协议
:rtype: str
"""
return self._Protocol
@Protocol.setter
def Protocol(self, Protocol):
self._Protocol = Protocol
@property
def Region(self):
"""地区
"多伦多": "ca",
"广州": "gz",
"成都": "cd",
"福州": "fzec",
"深圳": "szx",
"印度": "in",
"济南": "jnec",
"重庆": "cq",
"天津": "tsn",
"欧洲东北": "ru",
"南京": "nj",
"美国硅谷": "usw",
"泰国": "th",
"广州Open": "gzopen",
"深圳金融": "szjr",
"法兰克福": "de",
"日本": "jp",
"弗吉尼亚": "use",
"北京": "bj",
"中国香港": "hk",
"杭州": "hzec",
"北京金融": "bjjr",
"上海金融": "shjr",
"台北": "tpe",
"首尔": "kr",
"上海": "sh",
"新加坡": "sg",
"清远": "qy"
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def Vip(self):
"""接入IP
:rtype: str
"""
return self._Vip
@Vip.setter
def Vip(self, Vip):
self._Vip = Vip
@property
def Vport(self):
"""接入端口
:rtype: int
"""
return self._Vport
@Vport.setter
def Vport(self, Vport):
self._Vport = Vport
@property
def Zone(self):
"""地域
:rtype: str
"""
return self._Zone
@Zone.setter
def Zone(self, Zone):
self._Zone = Zone
@property
def NumericalVpcId(self):
"""VPCID
:rtype: int
"""
return self._NumericalVpcId
@NumericalVpcId.setter
def NumericalVpcId(self, NumericalVpcId):
self._NumericalVpcId = NumericalVpcId
@property
def LoadBalancerType(self):
"""CLB类型
:rtype: str
"""
return self._LoadBalancerType
@LoadBalancerType.setter
def LoadBalancerType(self, LoadBalancerType):
self._LoadBalancerType = LoadBalancerType
@property
def LoadBalancerDomain(self):
"""负载均衡器的域名
:rtype: str
"""
return self._LoadBalancerDomain
@LoadBalancerDomain.setter
def LoadBalancerDomain(self, LoadBalancerDomain):
self._LoadBalancerDomain = LoadBalancerDomain
def _deserialize(self, params):
self._ListenerId = params.get("ListenerId")
self._ListenerName = params.get("ListenerName")
self._LoadBalancerId = params.get("LoadBalancerId")
self._LoadBalancerName = params.get("LoadBalancerName")
self._Protocol = params.get("Protocol")
self._Region = params.get("Region")
self._Vip = params.get("Vip")
self._Vport = params.get("Vport")
self._Zone = params.get("Zone")
self._NumericalVpcId = params.get("NumericalVpcId")
self._LoadBalancerType = params.get("LoadBalancerType")
self._LoadBalancerDomain = params.get("LoadBalancerDomain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class LogHistogramInfo(AbstractModel):
"""攻击日志统计详情
"""
def __init__(self):
r"""
:param _Count: 日志条数
:type Count: int
:param _TimeStamp: 时间戳
:type TimeStamp: int
"""
self._Count = None
self._TimeStamp = None
@property
def Count(self):
"""日志条数
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def TimeStamp(self):
"""时间戳
:rtype: int
"""
return self._TimeStamp
@TimeStamp.setter
def TimeStamp(self, TimeStamp):
self._TimeStamp = TimeStamp
def _deserialize(self, params):
self._Count = params.get("Count")
self._TimeStamp = params.get("TimeStamp")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class MajorEventsPkg(AbstractModel):
"""重保防护资源信息
"""
def __init__(self):
r"""
:param _ResourceIds: 资源id
:type ResourceIds: str
:param _Status: 状态
:type Status: int
:param _Region: 地域
:type Region: int
:param _BeginTime: 开始时间
:type BeginTime: str
:param _EndTime: 结束时间
:type EndTime: str
:param _InquireNum: 申请数量
:type InquireNum: int
:param _UsedNum: 使用数量
:type UsedNum: int
:param _RenewFlag: 续费标志
:type RenewFlag: int
:param _BillingItem: 计费项
:type BillingItem: str
:param _HWState: 护网包状态
:type HWState: int
"""
self._ResourceIds = None
self._Status = None
self._Region = None
self._BeginTime = None
self._EndTime = None
self._InquireNum = None
self._UsedNum = None
self._RenewFlag = None
self._BillingItem = None
self._HWState = None
@property
def ResourceIds(self):
"""资源id
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Region(self):
"""地域
:rtype: int
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def BeginTime(self):
"""开始时间
:rtype: str
"""
return self._BeginTime
@BeginTime.setter
def BeginTime(self, BeginTime):
self._BeginTime = BeginTime
@property
def EndTime(self):
"""结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def InquireNum(self):
"""申请数量
:rtype: int
"""
return self._InquireNum
@InquireNum.setter
def InquireNum(self, InquireNum):
self._InquireNum = InquireNum
@property
def UsedNum(self):
"""使用数量
:rtype: int
"""
return self._UsedNum
@UsedNum.setter
def UsedNum(self, UsedNum):
self._UsedNum = UsedNum
@property
def RenewFlag(self):
"""续费标志
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
@property
def BillingItem(self):
"""计费项
:rtype: str
"""
return self._BillingItem
@BillingItem.setter
def BillingItem(self, BillingItem):
self._BillingItem = BillingItem
@property
def HWState(self):
"""护网包状态
:rtype: int
"""
return self._HWState
@HWState.setter
def HWState(self, HWState):
self._HWState = HWState
def _deserialize(self, params):
self._ResourceIds = params.get("ResourceIds")
self._Status = params.get("Status")
self._Region = params.get("Region")
self._BeginTime = params.get("BeginTime")
self._EndTime = params.get("EndTime")
self._InquireNum = params.get("InquireNum")
self._UsedNum = params.get("UsedNum")
self._RenewFlag = params.get("RenewFlag")
self._BillingItem = params.get("BillingItem")
self._HWState = params.get("HWState")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class MiniExtendPkg(AbstractModel):
"""小程序安全接入ID扩展资源信息
"""
def __init__(self):
r"""
:param _ResourceIds: 资源id
:type ResourceIds: str
:param _Status: 状态
:type Status: int
:param _Region: 地域
:type Region: int
:param _BeginTime: 开始时间
:type BeginTime: str
:param _EndTime: 结束时间
:type EndTime: str
:param _Count: 购买数量
:type Count: int
:param _RenewFlag: 续费标志
:type RenewFlag: int
:param _BillingItem: 计费项
:type BillingItem: str
"""
self._ResourceIds = None
self._Status = None
self._Region = None
self._BeginTime = None
self._EndTime = None
self._Count = None
self._RenewFlag = None
self._BillingItem = None
@property
def ResourceIds(self):
"""资源id
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Region(self):
"""地域
:rtype: int
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def BeginTime(self):
"""开始时间
:rtype: str
"""
return self._BeginTime
@BeginTime.setter
def BeginTime(self, BeginTime):
self._BeginTime = BeginTime
@property
def EndTime(self):
"""结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def Count(self):
"""购买数量
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def RenewFlag(self):
"""续费标志
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
@property
def BillingItem(self):
"""计费项
:rtype: str
"""
return self._BillingItem
@BillingItem.setter
def BillingItem(self, BillingItem):
self._BillingItem = BillingItem
def _deserialize(self, params):
self._ResourceIds = params.get("ResourceIds")
self._Status = params.get("Status")
self._Region = params.get("Region")
self._BeginTime = params.get("BeginTime")
self._EndTime = params.get("EndTime")
self._Count = params.get("Count")
self._RenewFlag = params.get("RenewFlag")
self._BillingItem = params.get("BillingItem")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class MiniPkg(AbstractModel):
"""小程序安全资源信息
"""
def __init__(self):
r"""
:param _ResourceIds: 资源id
:type ResourceIds: str
:param _Status: 状态
:type Status: int
:param _Region: 地域
:type Region: int
:param _BeginTime: 开始时间
:type BeginTime: str
:param _EndTime: 结束时间
:type EndTime: str
:param _Count: 购买数量
:type Count: int
:param _RenewFlag: 续费标志
:type RenewFlag: int
:param _BillingItem: 计费项
:type BillingItem: str
"""
self._ResourceIds = None
self._Status = None
self._Region = None
self._BeginTime = None
self._EndTime = None
self._Count = None
self._RenewFlag = None
self._BillingItem = None
@property
def ResourceIds(self):
"""资源id
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Region(self):
"""地域
:rtype: int
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def BeginTime(self):
"""开始时间
:rtype: str
"""
return self._BeginTime
@BeginTime.setter
def BeginTime(self, BeginTime):
self._BeginTime = BeginTime
@property
def EndTime(self):
"""结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def Count(self):
"""购买数量
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def RenewFlag(self):
"""续费标志
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
@property
def BillingItem(self):
"""计费项
:rtype: str
"""
return self._BillingItem
@BillingItem.setter
def BillingItem(self, BillingItem):
self._BillingItem = BillingItem
def _deserialize(self, params):
self._ResourceIds = params.get("ResourceIds")
self._Status = params.get("Status")
self._Region = params.get("Region")
self._BeginTime = params.get("BeginTime")
self._EndTime = params.get("EndTime")
self._Count = params.get("Count")
self._RenewFlag = params.get("RenewFlag")
self._BillingItem = params.get("BillingItem")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyAntiFakeUrlRequest(AbstractModel):
"""ModifyAntiFakeUrl请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Name: 名称
:type Name: str
:param _Uri: uri
:type Uri: str
:param _Id: ID
:type Id: int
"""
self._Domain = None
self._Name = None
self._Uri = None
self._Id = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Name(self):
"""名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Uri(self):
"""uri
:rtype: str
"""
return self._Uri
@Uri.setter
def Uri(self, Uri):
self._Uri = Uri
@property
def Id(self):
"""ID
:rtype: int
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Name = params.get("Name")
self._Uri = params.get("Uri")
self._Id = params.get("Id")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyAntiFakeUrlResponse(AbstractModel):
"""ModifyAntiFakeUrl返回参数结构体
"""
def __init__(self):
r"""
:param _Result: 结果
:type Result: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Result = None
self._RequestId = None
@property
def Result(self):
"""结果
:rtype: str
"""
return self._Result
@Result.setter
def Result(self, Result):
self._Result = Result
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Result = params.get("Result")
self._RequestId = params.get("RequestId")
class ModifyAntiFakeUrlStatusRequest(AbstractModel):
"""ModifyAntiFakeUrlStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Status: 状态
:type Status: int
:param _Ids: Id列表
:type Ids: list of int non-negative
"""
self._Domain = None
self._Status = None
self._Ids = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Ids(self):
"""Id列表
:rtype: list of int non-negative
"""
return self._Ids
@Ids.setter
def Ids(self, Ids):
self._Ids = Ids
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Status = params.get("Status")
self._Ids = params.get("Ids")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyAntiFakeUrlStatusResponse(AbstractModel):
"""ModifyAntiFakeUrlStatus返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyAntiInfoLeakRuleStatusRequest(AbstractModel):
"""ModifyAntiInfoLeakRuleStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _RuleId: 规则
:type RuleId: int
:param _Status: 状态
:type Status: int
"""
self._Domain = None
self._RuleId = None
self._Status = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def RuleId(self):
"""规则
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._RuleId = params.get("RuleId")
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyAntiInfoLeakRuleStatusResponse(AbstractModel):
"""ModifyAntiInfoLeakRuleStatus返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyAntiInfoLeakRulesRequest(AbstractModel):
"""ModifyAntiInfoLeakRules请求参数结构体
"""
def __init__(self):
r"""
:param _RuleId: 规则ID
:type RuleId: int
:param _Name: 规则名称
:type Name: str
:param _Domain: 域名
:type Domain: str
:param _ActionType: Action 值
:type ActionType: int
:param _Strategies: 策略数组
:type Strategies: list of StrategyForAntiInfoLeak
"""
self._RuleId = None
self._Name = None
self._Domain = None
self._ActionType = None
self._Strategies = None
@property
def RuleId(self):
"""规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def Name(self):
"""规则名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def ActionType(self):
"""Action 值
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def Strategies(self):
"""策略数组
:rtype: list of StrategyForAntiInfoLeak
"""
return self._Strategies
@Strategies.setter
def Strategies(self, Strategies):
self._Strategies = Strategies
def _deserialize(self, params):
self._RuleId = params.get("RuleId")
self._Name = params.get("Name")
self._Domain = params.get("Domain")
self._ActionType = params.get("ActionType")
if params.get("Strategies") is not None:
self._Strategies = []
for item in params.get("Strategies"):
obj = StrategyForAntiInfoLeak()
obj._deserialize(item)
self._Strategies.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyAntiInfoLeakRulesResponse(AbstractModel):
"""ModifyAntiInfoLeakRules返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyApiAnalyzeStatusRequest(AbstractModel):
"""ModifyApiAnalyzeStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Status: 开关状态
:type Status: int
:param _Domain: 域名
:type Domain: str
:param _InstanceId: 实例id
:type InstanceId: str
:param _TargetList: 需要批量开启的实体列表
:type TargetList: list of TargetEntity
"""
self._Status = None
self._Domain = None
self._InstanceId = None
self._TargetList = None
@property
def Status(self):
"""开关状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def InstanceId(self):
"""实例id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def TargetList(self):
"""需要批量开启的实体列表
:rtype: list of TargetEntity
"""
return self._TargetList
@TargetList.setter
def TargetList(self, TargetList):
self._TargetList = TargetList
def _deserialize(self, params):
self._Status = params.get("Status")
self._Domain = params.get("Domain")
self._InstanceId = params.get("InstanceId")
if params.get("TargetList") is not None:
self._TargetList = []
for item in params.get("TargetList"):
obj = TargetEntity()
obj._deserialize(item)
self._TargetList.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyApiAnalyzeStatusResponse(AbstractModel):
"""ModifyApiAnalyzeStatus返回参数结构体
"""
def __init__(self):
r"""
:param _Count: 已经开启的数量,如果返回值为3(大于支持的域名开启数量),则表示开启失败
:type Count: int
:param _UnSupportedList: 不支持开启的域名列表
:type UnSupportedList: list of str
:param _FailDomainList: 开启/关闭失败的域名列表
:type FailDomainList: list of str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Count = None
self._UnSupportedList = None
self._FailDomainList = None
self._RequestId = None
@property
def Count(self):
"""已经开启的数量,如果返回值为3(大于支持的域名开启数量),则表示开启失败
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def UnSupportedList(self):
"""不支持开启的域名列表
:rtype: list of str
"""
return self._UnSupportedList
@UnSupportedList.setter
def UnSupportedList(self, UnSupportedList):
self._UnSupportedList = UnSupportedList
@property
def FailDomainList(self):
"""开启/关闭失败的域名列表
:rtype: list of str
"""
return self._FailDomainList
@FailDomainList.setter
def FailDomainList(self, FailDomainList):
self._FailDomainList = FailDomainList
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Count = params.get("Count")
self._UnSupportedList = params.get("UnSupportedList")
self._FailDomainList = params.get("FailDomainList")
self._RequestId = params.get("RequestId")
class ModifyApiSecEventChangeRequest(AbstractModel):
"""ModifyApiSecEventChange请求参数结构体
"""
def __init__(self):
r"""
:param _Mode: 变更状态,1:新发现,2,确认中,3,已确认,4,已下线,5,已忽略
:type Mode: str
:param _UserName: 处理人
:type UserName: str
:param _Remark: 备注,有长度显示1k
:type Remark: str
:param _EventIdList: 批量操作的事件列表
:type EventIdList: list of str
:param _ApiNameList: 批量操作的api列表
:type ApiNameList: list of ApiSecKey
:param _IsDelete: 判断是否删除,包括删除事件和删除资产
:type IsDelete: bool
:param _UpdateApiRemark: 判断是否是更新api的备注,更新api备注的时候,为true
:type UpdateApiRemark: bool
"""
self._Mode = None
self._UserName = None
self._Remark = None
self._EventIdList = None
self._ApiNameList = None
self._IsDelete = None
self._UpdateApiRemark = None
@property
def Mode(self):
"""变更状态,1:新发现,2,确认中,3,已确认,4,已下线,5,已忽略
:rtype: str
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def UserName(self):
"""处理人
:rtype: str
"""
return self._UserName
@UserName.setter
def UserName(self, UserName):
self._UserName = UserName
@property
def Remark(self):
"""备注,有长度显示1k
:rtype: str
"""
return self._Remark
@Remark.setter
def Remark(self, Remark):
self._Remark = Remark
@property
def EventIdList(self):
"""批量操作的事件列表
:rtype: list of str
"""
return self._EventIdList
@EventIdList.setter
def EventIdList(self, EventIdList):
self._EventIdList = EventIdList
@property
def ApiNameList(self):
"""批量操作的api列表
:rtype: list of ApiSecKey
"""
return self._ApiNameList
@ApiNameList.setter
def ApiNameList(self, ApiNameList):
self._ApiNameList = ApiNameList
@property
def IsDelete(self):
"""判断是否删除,包括删除事件和删除资产
:rtype: bool
"""
return self._IsDelete
@IsDelete.setter
def IsDelete(self, IsDelete):
self._IsDelete = IsDelete
@property
def UpdateApiRemark(self):
"""判断是否是更新api的备注,更新api备注的时候,为true
:rtype: bool
"""
return self._UpdateApiRemark
@UpdateApiRemark.setter
def UpdateApiRemark(self, UpdateApiRemark):
self._UpdateApiRemark = UpdateApiRemark
def _deserialize(self, params):
self._Mode = params.get("Mode")
self._UserName = params.get("UserName")
self._Remark = params.get("Remark")
self._EventIdList = params.get("EventIdList")
if params.get("ApiNameList") is not None:
self._ApiNameList = []
for item in params.get("ApiNameList"):
obj = ApiSecKey()
obj._deserialize(item)
self._ApiNameList.append(obj)
self._IsDelete = params.get("IsDelete")
self._UpdateApiRemark = params.get("UpdateApiRemark")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyApiSecEventChangeResponse(AbstractModel):
"""ModifyApiSecEventChange返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyAreaBanAreasRequest(AbstractModel):
"""ModifyAreaBanAreas请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要修改的域名
:type Domain: str
:param _Areas: 需要调整的地域信息,一个字符串数组
:type Areas: list of str
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 定时任务配置
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
self._Domain = None
self._Areas = None
self._JobType = None
self._JobDateTime = None
@property
def Domain(self):
"""需要修改的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Areas(self):
"""需要调整的地域信息,一个字符串数组
:rtype: list of str
"""
return self._Areas
@Areas.setter
def Areas(self, Areas):
self._Areas = Areas
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时任务配置
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Areas = params.get("Areas")
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyAreaBanAreasResponse(AbstractModel):
"""ModifyAreaBanAreas返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyAreaBanRuleRequest(AbstractModel):
"""ModifyAreaBanRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要修改的域名
:type Domain: str
:param _Areas: 需要新增的封禁地域
:type Areas: list of Area
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 定时任务配置
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
:param _Lang: 地域信息的语言,支持cn、en,默认为中文cn
:type Lang: str
"""
self._Domain = None
self._Areas = None
self._JobType = None
self._JobDateTime = None
self._Lang = None
@property
def Domain(self):
"""需要修改的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Areas(self):
"""需要新增的封禁地域
:rtype: list of Area
"""
return self._Areas
@Areas.setter
def Areas(self, Areas):
self._Areas = Areas
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时任务配置
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
@property
def Lang(self):
"""地域信息的语言,支持cn、en,默认为中文cn
:rtype: str
"""
return self._Lang
@Lang.setter
def Lang(self, Lang):
self._Lang = Lang
def _deserialize(self, params):
self._Domain = params.get("Domain")
if params.get("Areas") is not None:
self._Areas = []
for item in params.get("Areas"):
obj = Area()
obj._deserialize(item)
self._Areas.append(obj)
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
self._Lang = params.get("Lang")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyAreaBanRuleResponse(AbstractModel):
"""ModifyAreaBanRule返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyAreaBanStatusRequest(AbstractModel):
"""ModifyAreaBanStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要修改的域名
:type Domain: str
:param _Status: 状态值,0表示关闭,1表示开启
:type Status: int
"""
self._Domain = None
self._Status = None
@property
def Domain(self):
"""需要修改的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Status(self):
"""状态值,0表示关闭,1表示开启
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyAreaBanStatusResponse(AbstractModel):
"""ModifyAreaBanStatus返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyAttackWhiteRuleRequest(AbstractModel):
"""ModifyAttackWhiteRule请求参数结构体
"""
def __init__(self):
r"""
:param _RuleId: 规则序号
:type RuleId: int
:param _Domain: 域名
:type Domain: str
:param _Status: 规则状态
:type Status: int
:param _Rules: 匹配规则项列表
:type Rules: list of UserWhiteRuleItem
:param _SignatureId: 规则Id
:type SignatureId: str
:param _SignatureIds: 编辑的加白的规则ID列表
:type SignatureIds: list of str
:param _TypeIds: 加白的大类规则ID
:type TypeIds: list of str
:param _Mode: 0表示按照特定规则ID加白, 1表示按照规则类型加白
:type Mode: int
:param _Name: 规则名
:type Name: str
"""
self._RuleId = None
self._Domain = None
self._Status = None
self._Rules = None
self._SignatureId = None
self._SignatureIds = None
self._TypeIds = None
self._Mode = None
self._Name = None
@property
def RuleId(self):
"""规则序号
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Status(self):
"""规则状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Rules(self):
"""匹配规则项列表
:rtype: list of UserWhiteRuleItem
"""
return self._Rules
@Rules.setter
def Rules(self, Rules):
self._Rules = Rules
@property
def SignatureId(self):
"""规则Id
:rtype: str
"""
return self._SignatureId
@SignatureId.setter
def SignatureId(self, SignatureId):
self._SignatureId = SignatureId
@property
def SignatureIds(self):
"""编辑的加白的规则ID列表
:rtype: list of str
"""
return self._SignatureIds
@SignatureIds.setter
def SignatureIds(self, SignatureIds):
self._SignatureIds = SignatureIds
@property
def TypeIds(self):
"""加白的大类规则ID
:rtype: list of str
"""
return self._TypeIds
@TypeIds.setter
def TypeIds(self, TypeIds):
self._TypeIds = TypeIds
@property
def Mode(self):
"""0表示按照特定规则ID加白, 1表示按照规则类型加白
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Name(self):
"""规则名
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
def _deserialize(self, params):
self._RuleId = params.get("RuleId")
self._Domain = params.get("Domain")
self._Status = params.get("Status")
if params.get("Rules") is not None:
self._Rules = []
for item in params.get("Rules"):
obj = UserWhiteRuleItem()
obj._deserialize(item)
self._Rules.append(obj)
self._SignatureId = params.get("SignatureId")
self._SignatureIds = params.get("SignatureIds")
self._TypeIds = params.get("TypeIds")
self._Mode = params.get("Mode")
self._Name = params.get("Name")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyAttackWhiteRuleResponse(AbstractModel):
"""ModifyAttackWhiteRule返回参数结构体
"""
def __init__(self):
r"""
:param _RuleId: 规则总数
:type RuleId: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RuleId = None
self._RequestId = None
@property
def RuleId(self):
"""规则总数
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RuleId = params.get("RuleId")
self._RequestId = params.get("RequestId")
class ModifyBotStatusRequest(AbstractModel):
"""ModifyBotStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Category: 类别
:type Category: str
:param _Status: 状态
:type Status: str
:param _Domain: 域名
:type Domain: str
:param _InstanceID: 实例id
:type InstanceID: str
:param _IsVersionFour: 是否是bot4.0版本
:type IsVersionFour: bool
:param _BotVersion: 传入Bot版本号,场景化版本为"4.1.0"
:type BotVersion: str
:param _DomainList: 批量开启BOT开关的域名列表
:type DomainList: list of str
"""
self._Category = None
self._Status = None
self._Domain = None
self._InstanceID = None
self._IsVersionFour = None
self._BotVersion = None
self._DomainList = None
@property
def Category(self):
"""类别
:rtype: str
"""
return self._Category
@Category.setter
def Category(self, Category):
self._Category = Category
@property
def Status(self):
"""状态
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def InstanceID(self):
"""实例id
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def IsVersionFour(self):
"""是否是bot4.0版本
:rtype: bool
"""
return self._IsVersionFour
@IsVersionFour.setter
def IsVersionFour(self, IsVersionFour):
self._IsVersionFour = IsVersionFour
@property
def BotVersion(self):
"""传入Bot版本号,场景化版本为"4.1.0"
:rtype: str
"""
return self._BotVersion
@BotVersion.setter
def BotVersion(self, BotVersion):
self._BotVersion = BotVersion
@property
def DomainList(self):
"""批量开启BOT开关的域名列表
:rtype: list of str
"""
return self._DomainList
@DomainList.setter
def DomainList(self, DomainList):
self._DomainList = DomainList
def _deserialize(self, params):
self._Category = params.get("Category")
self._Status = params.get("Status")
self._Domain = params.get("Domain")
self._InstanceID = params.get("InstanceID")
self._IsVersionFour = params.get("IsVersionFour")
self._BotVersion = params.get("BotVersion")
self._DomainList = params.get("DomainList")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyBotStatusResponse(AbstractModel):
"""ModifyBotStatus返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 正常情况为null
:type Data: str
:param _UnSupportedList: 未购买BOT的域名列表
:type UnSupportedList: list of str
:param _FailDomainList: 已购买但操作失败的域名列表
:type FailDomainList: list of str
:param _Count: 成功数目
:type Count: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._UnSupportedList = None
self._FailDomainList = None
self._Count = None
self._RequestId = None
@property
def Data(self):
"""正常情况为null
:rtype: str
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def UnSupportedList(self):
"""未购买BOT的域名列表
:rtype: list of str
"""
return self._UnSupportedList
@UnSupportedList.setter
def UnSupportedList(self, UnSupportedList):
self._UnSupportedList = UnSupportedList
@property
def FailDomainList(self):
"""已购买但操作失败的域名列表
:rtype: list of str
"""
return self._FailDomainList
@FailDomainList.setter
def FailDomainList(self, FailDomainList):
self._FailDomainList = FailDomainList
@property
def Count(self):
"""成功数目
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Data = params.get("Data")
self._UnSupportedList = params.get("UnSupportedList")
self._FailDomainList = params.get("FailDomainList")
self._Count = params.get("Count")
self._RequestId = params.get("RequestId")
class ModifyCustomRuleRequest(AbstractModel):
"""ModifyCustomRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 编辑的域名
:type Domain: str
:param _RuleId: 编辑的规则ID
:type RuleId: int
:param _RuleName: 编辑的规则名称
:type RuleName: str
:param _RuleAction: 动作类型,1代表阻断,2代表人机识别,3代表观察,4代表重定向,5代表JS校验
:type RuleAction: str
:param _Strategies: 匹配条件数组
:type Strategies: list of Strategy
:param _Edition: WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。
:type Edition: str
:param _Redirect: 动作为重定向的时候重定向URL,默认为"/"
:type Redirect: str
:param _Bypass: 放行时是否继续执行其它检查逻辑,继续执行地域封禁防护:geoip、继续执行CC策略防护:cc、继续执行WEB应用防护:owasp、继续执行AI引擎防护:ai、继续执行信息防泄漏防护:antileakage。如果多个勾选那么以,串接。
默认是"geoip,cc,owasp,ai,antileakage"
:type Bypass: str
:param _SortId: 优先级,1~100的整数,数字越小,代表这条规则的执行优先级越高。
默认是100
:type SortId: int
:param _ExpireTime: 规则生效截止时间,0:永久生效,其它值为对应时间的时间戳。
默认是0
:type ExpireTime: int
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 定时任务配置
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
:param _Source: 规则来源,判断是不是小程序的
:type Source: str
:param _Status: 开关状态,小程序风控规则的时候传该值
:type Status: int
:param _PageId: 拦截页面id
:type PageId: str
:param _LogicalOp: 匹配条件的逻辑关系,支持and、or,分别表示多个逻辑匹配条件是与、或的关系
:type LogicalOp: str
"""
self._Domain = None
self._RuleId = None
self._RuleName = None
self._RuleAction = None
self._Strategies = None
self._Edition = None
self._Redirect = None
self._Bypass = None
self._SortId = None
self._ExpireTime = None
self._JobType = None
self._JobDateTime = None
self._Source = None
self._Status = None
self._PageId = None
self._LogicalOp = None
@property
def Domain(self):
"""编辑的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def RuleId(self):
"""编辑的规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def RuleName(self):
"""编辑的规则名称
:rtype: str
"""
return self._RuleName
@RuleName.setter
def RuleName(self, RuleName):
self._RuleName = RuleName
@property
def RuleAction(self):
"""动作类型,1代表阻断,2代表人机识别,3代表观察,4代表重定向,5代表JS校验
:rtype: str
"""
return self._RuleAction
@RuleAction.setter
def RuleAction(self, RuleAction):
self._RuleAction = RuleAction
@property
def Strategies(self):
"""匹配条件数组
:rtype: list of Strategy
"""
return self._Strategies
@Strategies.setter
def Strategies(self, Strategies):
self._Strategies = Strategies
@property
def Edition(self):
"""WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Redirect(self):
"""动作为重定向的时候重定向URL,默认为"/"
:rtype: str
"""
return self._Redirect
@Redirect.setter
def Redirect(self, Redirect):
self._Redirect = Redirect
@property
def Bypass(self):
warnings.warn("parameter `Bypass` is deprecated", DeprecationWarning)
"""放行时是否继续执行其它检查逻辑,继续执行地域封禁防护:geoip、继续执行CC策略防护:cc、继续执行WEB应用防护:owasp、继续执行AI引擎防护:ai、继续执行信息防泄漏防护:antileakage。如果多个勾选那么以,串接。
默认是"geoip,cc,owasp,ai,antileakage"
:rtype: str
"""
return self._Bypass
@Bypass.setter
def Bypass(self, Bypass):
warnings.warn("parameter `Bypass` is deprecated", DeprecationWarning)
self._Bypass = Bypass
@property
def SortId(self):
"""优先级,1~100的整数,数字越小,代表这条规则的执行优先级越高。
默认是100
:rtype: int
"""
return self._SortId
@SortId.setter
def SortId(self, SortId):
self._SortId = SortId
@property
def ExpireTime(self):
"""规则生效截止时间,0:永久生效,其它值为对应时间的时间戳。
默认是0
:rtype: int
"""
return self._ExpireTime
@ExpireTime.setter
def ExpireTime(self, ExpireTime):
self._ExpireTime = ExpireTime
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时任务配置
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
@property
def Source(self):
"""规则来源,判断是不是小程序的
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def Status(self):
"""开关状态,小程序风控规则的时候传该值
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def PageId(self):
"""拦截页面id
:rtype: str
"""
return self._PageId
@PageId.setter
def PageId(self, PageId):
self._PageId = PageId
@property
def LogicalOp(self):
"""匹配条件的逻辑关系,支持and、or,分别表示多个逻辑匹配条件是与、或的关系
:rtype: str
"""
return self._LogicalOp
@LogicalOp.setter
def LogicalOp(self, LogicalOp):
self._LogicalOp = LogicalOp
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._RuleId = params.get("RuleId")
self._RuleName = params.get("RuleName")
self._RuleAction = params.get("RuleAction")
if params.get("Strategies") is not None:
self._Strategies = []
for item in params.get("Strategies"):
obj = Strategy()
obj._deserialize(item)
self._Strategies.append(obj)
self._Edition = params.get("Edition")
self._Redirect = params.get("Redirect")
self._Bypass = params.get("Bypass")
self._SortId = params.get("SortId")
self._ExpireTime = params.get("ExpireTime")
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
self._Source = params.get("Source")
self._Status = params.get("Status")
self._PageId = params.get("PageId")
self._LogicalOp = params.get("LogicalOp")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyCustomRuleResponse(AbstractModel):
"""ModifyCustomRule返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class ModifyCustomRuleStatusRequest(AbstractModel):
"""ModifyCustomRuleStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _RuleId: 规则ID
:type RuleId: int
:param _Status: 开关的状态,1是开启、0是关闭
:type Status: int
:param _Edition: WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。
:type Edition: str
:param _DomainRuleIdList: 规则id
:type DomainRuleIdList: list of DomainRuleId
"""
self._Domain = None
self._RuleId = None
self._Status = None
self._Edition = None
self._DomainRuleIdList = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def RuleId(self):
"""规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def Status(self):
"""开关的状态,1是开启、0是关闭
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Edition(self):
"""WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def DomainRuleIdList(self):
"""规则id
:rtype: list of DomainRuleId
"""
return self._DomainRuleIdList
@DomainRuleIdList.setter
def DomainRuleIdList(self, DomainRuleIdList):
self._DomainRuleIdList = DomainRuleIdList
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._RuleId = params.get("RuleId")
self._Status = params.get("Status")
self._Edition = params.get("Edition")
if params.get("DomainRuleIdList") is not None:
self._DomainRuleIdList = []
for item in params.get("DomainRuleIdList"):
obj = DomainRuleId()
obj._deserialize(item)
self._DomainRuleIdList.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyCustomRuleStatusResponse(AbstractModel):
"""ModifyCustomRuleStatus返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class ModifyCustomWhiteRuleRequest(AbstractModel):
"""ModifyCustomWhiteRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 编辑的域名
:type Domain: str
:param _RuleId: 编辑的规则ID
:type RuleId: int
:param _RuleName: 编辑的规则名称
:type RuleName: str
:param _Bypass: 放行时是否继续执行其它检查逻辑,继续执行地域封禁防护:geoip、继续执行CC策略防护:cc、继续执行WEB应用防护:owasp、继续执行AI引擎防护:ai、继续执行信息防泄漏防护:antileakage。如果勾选多个,则以“,”串接。
:type Bypass: str
:param _SortId: 优先级,1~100的整数,数字越小,代表这条规则的执行优先级越高。
:type SortId: int
:param _ExpireTime: 如果没有设置JobDateTime字段则用此字段,0表示永久生效,其它表示定时生效的截止时间(单位为秒)
:type ExpireTime: int
:param _Strategies: 匹配条件数组
:type Strategies: list of Strategy
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 定时任务配置
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
self._Domain = None
self._RuleId = None
self._RuleName = None
self._Bypass = None
self._SortId = None
self._ExpireTime = None
self._Strategies = None
self._JobType = None
self._JobDateTime = None
@property
def Domain(self):
"""编辑的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def RuleId(self):
"""编辑的规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def RuleName(self):
"""编辑的规则名称
:rtype: str
"""
return self._RuleName
@RuleName.setter
def RuleName(self, RuleName):
self._RuleName = RuleName
@property
def Bypass(self):
"""放行时是否继续执行其它检查逻辑,继续执行地域封禁防护:geoip、继续执行CC策略防护:cc、继续执行WEB应用防护:owasp、继续执行AI引擎防护:ai、继续执行信息防泄漏防护:antileakage。如果勾选多个,则以“,”串接。
:rtype: str
"""
return self._Bypass
@Bypass.setter
def Bypass(self, Bypass):
self._Bypass = Bypass
@property
def SortId(self):
"""优先级,1~100的整数,数字越小,代表这条规则的执行优先级越高。
:rtype: int
"""
return self._SortId
@SortId.setter
def SortId(self, SortId):
self._SortId = SortId
@property
def ExpireTime(self):
"""如果没有设置JobDateTime字段则用此字段,0表示永久生效,其它表示定时生效的截止时间(单位为秒)
:rtype: int
"""
return self._ExpireTime
@ExpireTime.setter
def ExpireTime(self, ExpireTime):
self._ExpireTime = ExpireTime
@property
def Strategies(self):
"""匹配条件数组
:rtype: list of Strategy
"""
return self._Strategies
@Strategies.setter
def Strategies(self, Strategies):
self._Strategies = Strategies
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时任务配置
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._RuleId = params.get("RuleId")
self._RuleName = params.get("RuleName")
self._Bypass = params.get("Bypass")
self._SortId = params.get("SortId")
self._ExpireTime = params.get("ExpireTime")
if params.get("Strategies") is not None:
self._Strategies = []
for item in params.get("Strategies"):
obj = Strategy()
obj._deserialize(item)
self._Strategies.append(obj)
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyCustomWhiteRuleResponse(AbstractModel):
"""ModifyCustomWhiteRule返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class ModifyCustomWhiteRuleStatusRequest(AbstractModel):
"""ModifyCustomWhiteRuleStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _RuleId: 规则ID
:type RuleId: int
:param _Status: 开关的状态,1是开启、0是关闭
:type Status: int
"""
self._Domain = None
self._RuleId = None
self._Status = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def RuleId(self):
"""规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def Status(self):
"""开关的状态,1是开启、0是关闭
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._RuleId = params.get("RuleId")
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyCustomWhiteRuleStatusResponse(AbstractModel):
"""ModifyCustomWhiteRuleStatus返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class ModifyDomainIpv6StatusRequest(AbstractModel):
"""ModifyDomainIpv6Status请求参数结构体
"""
def __init__(self):
r"""
:param _InstanceId: 需要修改的域名所属的实例ID
:type InstanceId: str
:param _Domain: 需要修改的域名
:type Domain: str
:param _DomainId: 需要修改的域名ID
:type DomainId: str
:param _Status: 修改域名的Ipv6开关为Status (1:开启 2:关闭)
:type Status: int
"""
self._InstanceId = None
self._Domain = None
self._DomainId = None
self._Status = None
@property
def InstanceId(self):
"""需要修改的域名所属的实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Domain(self):
"""需要修改的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""需要修改的域名ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def Status(self):
"""修改域名的Ipv6开关为Status (1:开启 2:关闭)
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
self._InstanceId = params.get("InstanceId")
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyDomainIpv6StatusResponse(AbstractModel):
"""ModifyDomainIpv6Status返回参数结构体
"""
def __init__(self):
r"""
:param _Ipv6Status: 返回的状态 (0: 操作失败 1:操作成功 2:企业版以上不支持 3:企业版以下不支持 )
:type Ipv6Status: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Ipv6Status = None
self._RequestId = None
@property
def Ipv6Status(self):
"""返回的状态 (0: 操作失败 1:操作成功 2:企业版以上不支持 3:企业版以下不支持 )
:rtype: int
"""
return self._Ipv6Status
@Ipv6Status.setter
def Ipv6Status(self, Ipv6Status):
self._Ipv6Status = Ipv6Status
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Ipv6Status = params.get("Ipv6Status")
self._RequestId = params.get("RequestId")
class ModifyDomainPostActionRequest(AbstractModel):
"""ModifyDomainPostAction请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _PostCLSAction: 0-关闭投递,1-开启投递
:type PostCLSAction: int
:param _PostCKafkaAction: 0-关闭投递,1-开启投递
:type PostCKafkaAction: int
"""
self._Domain = None
self._PostCLSAction = None
self._PostCKafkaAction = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def PostCLSAction(self):
"""0-关闭投递,1-开启投递
:rtype: int
"""
return self._PostCLSAction
@PostCLSAction.setter
def PostCLSAction(self, PostCLSAction):
self._PostCLSAction = PostCLSAction
@property
def PostCKafkaAction(self):
"""0-关闭投递,1-开启投递
:rtype: int
"""
return self._PostCKafkaAction
@PostCKafkaAction.setter
def PostCKafkaAction(self, PostCKafkaAction):
self._PostCKafkaAction = PostCKafkaAction
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._PostCLSAction = params.get("PostCLSAction")
self._PostCKafkaAction = params.get("PostCKafkaAction")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyDomainPostActionResponse(AbstractModel):
"""ModifyDomainPostAction返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyDomainWhiteRuleRequest(AbstractModel):
"""ModifyDomainWhiteRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要更改的规则的域名
:type Domain: str
:param _Id: 白名单id
:type Id: int
:param _Rules: 规则的id列表
:type Rules: list of int non-negative
:param _Url: 规则匹配路径
:type Url: str
:param _Function: 规则匹配方法
:type Function: str
:param _Status: 规则的开关状态,0表示关闭开关,1表示打开开关
:type Status: int
"""
self._Domain = None
self._Id = None
self._Rules = None
self._Url = None
self._Function = None
self._Status = None
@property
def Domain(self):
"""需要更改的规则的域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Id(self):
"""白名单id
:rtype: int
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def Rules(self):
"""规则的id列表
:rtype: list of int non-negative
"""
return self._Rules
@Rules.setter
def Rules(self, Rules):
self._Rules = Rules
@property
def Url(self):
"""规则匹配路径
:rtype: str
"""
return self._Url
@Url.setter
def Url(self, Url):
self._Url = Url
@property
def Function(self):
"""规则匹配方法
:rtype: str
"""
return self._Function
@Function.setter
def Function(self, Function):
self._Function = Function
@property
def Status(self):
"""规则的开关状态,0表示关闭开关,1表示打开开关
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Id = params.get("Id")
self._Rules = params.get("Rules")
self._Url = params.get("Url")
self._Function = params.get("Function")
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyDomainWhiteRuleResponse(AbstractModel):
"""ModifyDomainWhiteRule返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyDomainsCLSStatusRequest(AbstractModel):
"""ModifyDomainsCLSStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domains: 需要修改的域名列表
:type Domains: list of DomainURI
:param _Status: 修改域名的访问日志开关为Status
:type Status: int
"""
self._Domains = None
self._Status = None
@property
def Domains(self):
"""需要修改的域名列表
:rtype: list of DomainURI
"""
return self._Domains
@Domains.setter
def Domains(self, Domains):
self._Domains = Domains
@property
def Status(self):
"""修改域名的访问日志开关为Status
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
if params.get("Domains") is not None:
self._Domains = []
for item in params.get("Domains"):
obj = DomainURI()
obj._deserialize(item)
self._Domains.append(obj)
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyDomainsCLSStatusResponse(AbstractModel):
"""ModifyDomainsCLSStatus返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyGenerateDealsRequest(AbstractModel):
"""ModifyGenerateDeals请求参数结构体
"""
def __init__(self):
r"""
:param _Goods: 计费下单入参
:type Goods: list of Goods
"""
self._Goods = None
@property
def Goods(self):
"""计费下单入参
:rtype: list of Goods
"""
return self._Goods
@Goods.setter
def Goods(self, Goods):
self._Goods = Goods
def _deserialize(self, params):
if params.get("Goods") is not None:
self._Goods = []
for item in params.get("Goods"):
obj = Goods()
obj._deserialize(item)
self._Goods.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyGenerateDealsResponse(AbstractModel):
"""ModifyGenerateDeals返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 计费下单响应结构体
:type Data: :class:`tencentcloud.waf.v20180125.models.DealData`
:param _Status: 1:成功,0:失败
:type Status: int
:param _ReturnMessage: 返回message
:type ReturnMessage: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._Status = None
self._ReturnMessage = None
self._RequestId = None
@property
def Data(self):
"""计费下单响应结构体
:rtype: :class:`tencentcloud.waf.v20180125.models.DealData`
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def Status(self):
"""1:成功,0:失败
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def ReturnMessage(self):
"""返回message
:rtype: str
"""
return self._ReturnMessage
@ReturnMessage.setter
def ReturnMessage(self, ReturnMessage):
self._ReturnMessage = ReturnMessage
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Data") is not None:
self._Data = DealData()
self._Data._deserialize(params.get("Data"))
self._Status = params.get("Status")
self._ReturnMessage = params.get("ReturnMessage")
self._RequestId = params.get("RequestId")
class ModifyHostFlowModeRequest(AbstractModel):
"""ModifyHostFlowMode请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名ID
:type DomainId: str
:param _FlowMode: WAF流量模式。
0:镜像模式(默认)
1:清洗模式
:type FlowMode: int
:param _InstanceID: 实例ID
:type InstanceID: str
"""
self._Domain = None
self._DomainId = None
self._FlowMode = None
self._InstanceID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def FlowMode(self):
"""WAF流量模式。
0:镜像模式(默认)
1:清洗模式
:rtype: int
"""
return self._FlowMode
@FlowMode.setter
def FlowMode(self, FlowMode):
self._FlowMode = FlowMode
@property
def InstanceID(self):
"""实例ID
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._FlowMode = params.get("FlowMode")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyHostFlowModeResponse(AbstractModel):
"""ModifyHostFlowMode返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 成功的状态码
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""成功的状态码
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class ModifyHostModeRequest(AbstractModel):
"""ModifyHostMode请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名ID
:type DomainId: str
:param _Mode: 防护状态:
10:规则观察&&AI关闭模式,11:规则观察&&AI观察模式,12:规则观察&&AI拦截模式
20:规则拦截&&AI关闭模式,21:规则拦截&&AI观察模式,22:规则拦截&&AI拦截模式
:type Mode: int
:param _Type: 0:修改防护模式,1:修改AI
:type Type: int
:param _InstanceID: 实例ID
:type InstanceID: str
:param _Edition: 实例类型
:type Edition: str
"""
self._Domain = None
self._DomainId = None
self._Mode = None
self._Type = None
self._InstanceID = None
self._Edition = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def Mode(self):
"""防护状态:
10:规则观察&&AI关闭模式,11:规则观察&&AI观察模式,12:规则观察&&AI拦截模式
20:规则拦截&&AI关闭模式,21:规则拦截&&AI观察模式,22:规则拦截&&AI拦截模式
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Type(self):
"""0:修改防护模式,1:修改AI
:rtype: int
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def InstanceID(self):
"""实例ID
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def Edition(self):
"""实例类型
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._Mode = params.get("Mode")
self._Type = params.get("Type")
self._InstanceID = params.get("InstanceID")
self._Edition = params.get("Edition")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyHostModeResponse(AbstractModel):
"""ModifyHostMode返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class ModifyHostRequest(AbstractModel):
"""ModifyHost请求参数结构体
"""
def __init__(self):
r"""
:param _Host: 编辑的域名配置信息
:type Host: :class:`tencentcloud.waf.v20180125.models.HostRecord`
:param _InstanceID: 实例唯一ID
:type InstanceID: str
"""
self._Host = None
self._InstanceID = None
@property
def Host(self):
"""编辑的域名配置信息
:rtype: :class:`tencentcloud.waf.v20180125.models.HostRecord`
"""
return self._Host
@Host.setter
def Host(self, Host):
self._Host = Host
@property
def InstanceID(self):
"""实例唯一ID
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
if params.get("Host") is not None:
self._Host = HostRecord()
self._Host._deserialize(params.get("Host"))
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyHostResponse(AbstractModel):
"""ModifyHost返回参数结构体
"""
def __init__(self):
r"""
:param _DomainId: 编辑的域名ID
:type DomainId: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._DomainId = None
self._RequestId = None
@property
def DomainId(self):
"""编辑的域名ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._DomainId = params.get("DomainId")
self._RequestId = params.get("RequestId")
class ModifyHostStatusRequest(AbstractModel):
"""ModifyHostStatus请求参数结构体
"""
def __init__(self):
r"""
:param _HostsStatus: 域名状态列表
:type HostsStatus: list of HostStatus
"""
self._HostsStatus = None
@property
def HostsStatus(self):
"""域名状态列表
:rtype: list of HostStatus
"""
return self._HostsStatus
@HostsStatus.setter
def HostsStatus(self, HostsStatus):
self._HostsStatus = HostsStatus
def _deserialize(self, params):
if params.get("HostsStatus") is not None:
self._HostsStatus = []
for item in params.get("HostsStatus"):
obj = HostStatus()
obj._deserialize(item)
self._HostsStatus.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyHostStatusResponse(AbstractModel):
"""ModifyHostStatus返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 成功的状态码,需要JSON解码后再使用,返回的格式是{"域名":"状态"},成功的状态码为Success,其它的为失败的状态码(yunapi定义的错误码)
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""成功的状态码,需要JSON解码后再使用,返回的格式是{"域名":"状态"},成功的状态码为Success,其它的为失败的状态码(yunapi定义的错误码)
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class ModifyInstanceElasticModeRequest(AbstractModel):
"""ModifyInstanceElasticMode请求参数结构体
"""
def __init__(self):
r"""
:param _InstanceId: 实例ID
:type InstanceId: str
:param _Mode: 弹性计费开关
:type Mode: int
"""
self._InstanceId = None
self._Mode = None
@property
def InstanceId(self):
"""实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Mode(self):
"""弹性计费开关
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
def _deserialize(self, params):
self._InstanceId = params.get("InstanceId")
self._Mode = params.get("Mode")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyInstanceElasticModeResponse(AbstractModel):
"""ModifyInstanceElasticMode返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyInstanceNameRequest(AbstractModel):
"""ModifyInstanceName请求参数结构体
"""
def __init__(self):
r"""
:param _InstanceName: 新名称
:type InstanceName: str
:param _InstanceID: 实例id
:type InstanceID: str
:param _Edition: 实例版本,支持clb-waf、sparta-waf
:type Edition: str
"""
self._InstanceName = None
self._InstanceID = None
self._Edition = None
@property
def InstanceName(self):
"""新名称
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def InstanceID(self):
"""实例id
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def Edition(self):
"""实例版本,支持clb-waf、sparta-waf
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
def _deserialize(self, params):
self._InstanceName = params.get("InstanceName")
self._InstanceID = params.get("InstanceID")
self._Edition = params.get("Edition")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyInstanceNameResponse(AbstractModel):
"""ModifyInstanceName返回参数结构体
"""
def __init__(self):
r"""
:param _ModifyCode: 修改状态:0为成功
:type ModifyCode: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._ModifyCode = None
self._RequestId = None
@property
def ModifyCode(self):
"""修改状态:0为成功
:rtype: int
"""
return self._ModifyCode
@ModifyCode.setter
def ModifyCode(self, ModifyCode):
self._ModifyCode = ModifyCode
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._ModifyCode = params.get("ModifyCode")
self._RequestId = params.get("RequestId")
class ModifyInstanceQpsLimitRequest(AbstractModel):
"""ModifyInstanceQpsLimit请求参数结构体
"""
def __init__(self):
r"""
:param _InstanceId: 套餐实例id
:type InstanceId: str
:param _QpsLimit: qps上限
:type QpsLimit: int
"""
self._InstanceId = None
self._QpsLimit = None
@property
def InstanceId(self):
"""套餐实例id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def QpsLimit(self):
"""qps上限
:rtype: int
"""
return self._QpsLimit
@QpsLimit.setter
def QpsLimit(self, QpsLimit):
self._QpsLimit = QpsLimit
def _deserialize(self, params):
self._InstanceId = params.get("InstanceId")
self._QpsLimit = params.get("QpsLimit")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyInstanceQpsLimitResponse(AbstractModel):
"""ModifyInstanceQpsLimit返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyInstanceRenewFlagRequest(AbstractModel):
"""ModifyInstanceRenewFlag请求参数结构体
"""
def __init__(self):
r"""
:param _InstanceId: 实例ID
:type InstanceId: str
:param _RenewFlag: 续费开关
:type RenewFlag: int
"""
self._InstanceId = None
self._RenewFlag = None
@property
def InstanceId(self):
"""实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def RenewFlag(self):
"""续费开关
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
def _deserialize(self, params):
self._InstanceId = params.get("InstanceId")
self._RenewFlag = params.get("RenewFlag")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyInstanceRenewFlagResponse(AbstractModel):
"""ModifyInstanceRenewFlag返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyIpAccessControlRequest(AbstractModel):
"""ModifyIpAccessControl请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 具体域名如:test.qcloudwaf.com
全局域名为:global
:type Domain: str
:param _IpList: ip参数列表
:type IpList: list of str
:param _ActionType: 42为黑名单,40为白名单
:type ActionType: int
:param _RuleId: 规则ID
:type RuleId: int
:param _ValidTS: valid_ts为有效日期,值为秒级时间戳((如1680570420代表2023-04-04 09:07:00))
:type ValidTS: int
:param _InstanceId: 实例Id
:type InstanceId: str
:param _Edition: WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF
:type Edition: str
:param _SourceType: 是否为批量防护IP黑白名单,当为批量防护IP黑白名单时,取值为batch,否则为空
:type SourceType: str
:param _Note: 备注
:type Note: str
:param _JobType: 规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:type JobType: str
:param _JobDateTime: 定时配置详情
:type JobDateTime: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
self._Domain = None
self._IpList = None
self._ActionType = None
self._RuleId = None
self._ValidTS = None
self._InstanceId = None
self._Edition = None
self._SourceType = None
self._Note = None
self._JobType = None
self._JobDateTime = None
@property
def Domain(self):
"""具体域名如:test.qcloudwaf.com
全局域名为:global
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def IpList(self):
"""ip参数列表
:rtype: list of str
"""
return self._IpList
@IpList.setter
def IpList(self, IpList):
self._IpList = IpList
@property
def ActionType(self):
"""42为黑名单,40为白名单
:rtype: int
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def RuleId(self):
"""规则ID
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def ValidTS(self):
warnings.warn("parameter `ValidTS` is deprecated", DeprecationWarning)
"""valid_ts为有效日期,值为秒级时间戳((如1680570420代表2023-04-04 09:07:00))
:rtype: int
"""
return self._ValidTS
@ValidTS.setter
def ValidTS(self, ValidTS):
warnings.warn("parameter `ValidTS` is deprecated", DeprecationWarning)
self._ValidTS = ValidTS
@property
def InstanceId(self):
"""实例Id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Edition(self):
"""WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def SourceType(self):
"""是否为批量防护IP黑白名单,当为批量防护IP黑白名单时,取值为batch,否则为空
:rtype: str
"""
return self._SourceType
@SourceType.setter
def SourceType(self, SourceType):
self._SourceType = SourceType
@property
def Note(self):
"""备注
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
@property
def JobType(self):
"""规则执行的方式,TimedJob为定时执行,CronJob为周期执行
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def JobDateTime(self):
"""定时配置详情
:rtype: :class:`tencentcloud.waf.v20180125.models.JobDateTime`
"""
return self._JobDateTime
@JobDateTime.setter
def JobDateTime(self, JobDateTime):
self._JobDateTime = JobDateTime
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._IpList = params.get("IpList")
self._ActionType = params.get("ActionType")
self._RuleId = params.get("RuleId")
self._ValidTS = params.get("ValidTS")
self._InstanceId = params.get("InstanceId")
self._Edition = params.get("Edition")
self._SourceType = params.get("SourceType")
self._Note = params.get("Note")
self._JobType = params.get("JobType")
if params.get("JobDateTime") is not None:
self._JobDateTime = JobDateTime()
self._JobDateTime._deserialize(params.get("JobDateTime"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyIpAccessControlResponse(AbstractModel):
"""ModifyIpAccessControl返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyModuleStatusRequest(AbstractModel):
"""ModifyModuleStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 需要设置的domain
:type Domain: str
:param _WebSecurity: Web 安全模块开关,0或1
:type WebSecurity: int
:param _AccessControl: 访问控制模块开关,0或者1
:type AccessControl: int
:param _CcProtection: CC模块开关,0或者1
:type CcProtection: int
:param _ApiProtection: API安全模块开关,0或者1
:type ApiProtection: int
:param _AntiTamper: 防篡改模块开关,0或者1
:type AntiTamper: int
:param _AntiLeakage: 防泄漏模块开关,0或者1
:type AntiLeakage: int
:param _RateLimit: 限流模块开关,0或1
:type RateLimit: int
"""
self._Domain = None
self._WebSecurity = None
self._AccessControl = None
self._CcProtection = None
self._ApiProtection = None
self._AntiTamper = None
self._AntiLeakage = None
self._RateLimit = None
@property
def Domain(self):
"""需要设置的domain
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def WebSecurity(self):
"""Web 安全模块开关,0或1
:rtype: int
"""
return self._WebSecurity
@WebSecurity.setter
def WebSecurity(self, WebSecurity):
self._WebSecurity = WebSecurity
@property
def AccessControl(self):
"""访问控制模块开关,0或者1
:rtype: int
"""
return self._AccessControl
@AccessControl.setter
def AccessControl(self, AccessControl):
self._AccessControl = AccessControl
@property
def CcProtection(self):
"""CC模块开关,0或者1
:rtype: int
"""
return self._CcProtection
@CcProtection.setter
def CcProtection(self, CcProtection):
self._CcProtection = CcProtection
@property
def ApiProtection(self):
"""API安全模块开关,0或者1
:rtype: int
"""
return self._ApiProtection
@ApiProtection.setter
def ApiProtection(self, ApiProtection):
self._ApiProtection = ApiProtection
@property
def AntiTamper(self):
"""防篡改模块开关,0或者1
:rtype: int
"""
return self._AntiTamper
@AntiTamper.setter
def AntiTamper(self, AntiTamper):
self._AntiTamper = AntiTamper
@property
def AntiLeakage(self):
"""防泄漏模块开关,0或者1
:rtype: int
"""
return self._AntiLeakage
@AntiLeakage.setter
def AntiLeakage(self, AntiLeakage):
self._AntiLeakage = AntiLeakage
@property
def RateLimit(self):
"""限流模块开关,0或1
:rtype: int
"""
return self._RateLimit
@RateLimit.setter
def RateLimit(self, RateLimit):
self._RateLimit = RateLimit
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._WebSecurity = params.get("WebSecurity")
self._AccessControl = params.get("AccessControl")
self._CcProtection = params.get("CcProtection")
self._ApiProtection = params.get("ApiProtection")
self._AntiTamper = params.get("AntiTamper")
self._AntiLeakage = params.get("AntiLeakage")
self._RateLimit = params.get("RateLimit")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyModuleStatusResponse(AbstractModel):
"""ModifyModuleStatus返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyObjectRequest(AbstractModel):
"""ModifyObject请求参数结构体
"""
def __init__(self):
r"""
:param _ObjectId: 修改对象标识
:type ObjectId: str
:param _OpType: 改动作类型:Status修改开关,InstanceId绑定实例, Proxy设置代理状态
:type OpType: str
:param _Status: 新的Waf开关状态,如果和已有状态相同认为修改成功
:type Status: int
:param _InstanceId: 新的实例ID,如果和已绑定的实例相同认为修改成功
:type InstanceId: str
:param _Proxy: 是否开启代理,0:不开启,1:以XFF的第一个IP地址作为客户端IP,2:以remote_addr作为客户端IP,3:从指定的头部字段获取客户端IP,字段通过IpHeaders字段给出(OpType为Status或Proxy时,该值有效)
:type Proxy: int
:param _IpHeaders: IsCdn=3时,需要填此参数,表示自定义header(OpType为Status或Proxy时,该值有效)
:type IpHeaders: list of str
"""
self._ObjectId = None
self._OpType = None
self._Status = None
self._InstanceId = None
self._Proxy = None
self._IpHeaders = None
@property
def ObjectId(self):
"""修改对象标识
:rtype: str
"""
return self._ObjectId
@ObjectId.setter
def ObjectId(self, ObjectId):
self._ObjectId = ObjectId
@property
def OpType(self):
"""改动作类型:Status修改开关,InstanceId绑定实例, Proxy设置代理状态
:rtype: str
"""
return self._OpType
@OpType.setter
def OpType(self, OpType):
self._OpType = OpType
@property
def Status(self):
"""新的Waf开关状态,如果和已有状态相同认为修改成功
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def InstanceId(self):
"""新的实例ID,如果和已绑定的实例相同认为修改成功
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Proxy(self):
"""是否开启代理,0:不开启,1:以XFF的第一个IP地址作为客户端IP,2:以remote_addr作为客户端IP,3:从指定的头部字段获取客户端IP,字段通过IpHeaders字段给出(OpType为Status或Proxy时,该值有效)
:rtype: int
"""
return self._Proxy
@Proxy.setter
def Proxy(self, Proxy):
self._Proxy = Proxy
@property
def IpHeaders(self):
"""IsCdn=3时,需要填此参数,表示自定义header(OpType为Status或Proxy时,该值有效)
:rtype: list of str
"""
return self._IpHeaders
@IpHeaders.setter
def IpHeaders(self, IpHeaders):
self._IpHeaders = IpHeaders
def _deserialize(self, params):
self._ObjectId = params.get("ObjectId")
self._OpType = params.get("OpType")
self._Status = params.get("Status")
self._InstanceId = params.get("InstanceId")
self._Proxy = params.get("Proxy")
self._IpHeaders = params.get("IpHeaders")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyObjectResponse(AbstractModel):
"""ModifyObject返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyProtectionStatusRequest(AbstractModel):
"""ModifyProtectionStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Status: 1:开启WAF开关,0:关闭WAF开关
:type Status: int
:param _Edition: WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。
:type Edition: str
"""
self._Domain = None
self._Status = None
self._Edition = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Status(self):
"""1:开启WAF开关,0:关闭WAF开关
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Edition(self):
"""WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Status = params.get("Status")
self._Edition = params.get("Edition")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyProtectionStatusResponse(AbstractModel):
"""ModifyProtectionStatus返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifySpartaProtectionModeRequest(AbstractModel):
"""ModifySpartaProtectionMode请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Mode: 防护状态:
10:规则观察&&AI关闭模式,11:规则观察&&AI观察模式,12:规则观察&&AI拦截模式
20:规则拦截&&AI关闭模式,21:规则拦截&&AI观察模式,22:规则拦截&&AI拦截模式
:type Mode: int
:param _Edition: WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。
:type Edition: str
:param _Type: 0是修改规则引擎状态,1是修改AI的状态
:type Type: int
:param _InstanceID: 实例id
:type InstanceID: str
"""
self._Domain = None
self._Mode = None
self._Edition = None
self._Type = None
self._InstanceID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Mode(self):
"""防护状态:
10:规则观察&&AI关闭模式,11:规则观察&&AI观察模式,12:规则观察&&AI拦截模式
20:规则拦截&&AI关闭模式,21:规则拦截&&AI观察模式,22:规则拦截&&AI拦截模式
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Edition(self):
"""WAF的版本,clb-waf代表负载均衡WAF、sparta-waf代表SaaS WAF,默认是sparta-waf。
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Type(self):
"""0是修改规则引擎状态,1是修改AI的状态
:rtype: int
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def InstanceID(self):
"""实例id
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Mode = params.get("Mode")
self._Edition = params.get("Edition")
self._Type = params.get("Type")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifySpartaProtectionModeResponse(AbstractModel):
"""ModifySpartaProtectionMode返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifySpartaProtectionRequest(AbstractModel):
"""ModifySpartaProtection请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _DomainId: 必填项。域名唯一ID
:type DomainId: str
:param _InstanceID: 必填项。域名所属实例id
:type InstanceID: str
:param _CertType: 证书类型。0:仅配置HTTP监听端口,没有证书1:证书来源为自有证书2:证书来源为托管证书
:type CertType: int
:param _Cert: CertType为1时,需要填充此参数,表示自有证书的证书链
:type Cert: str
:param _PrivateKey: CertType为1时,需要填充此参数,表示自有证书的私钥
:type PrivateKey: str
:param _SSLId: CertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:type SSLId: str
:param _IsCdn: waf前是否部署有七层代理服务。0:没有部署代理服务1:有部署代理服务,waf将使用XFF获取客户端IP2:有部署代理服务,waf将使用remote_addr获取客户端IP3:有部署代理服务,waf将使用ip_headers中的自定义header获取客户端IP
:type IsCdn: int
:param _UpstreamScheme: 服务配置有HTTPS端口时,HTTPS的回源协议。
http:使用http协议回源,和HttpsUpstreamPort配合使用
https:使用https协议回源
:type UpstreamScheme: str
:param _HttpsUpstreamPort: HTTPS回源端口,仅UpstreamScheme为http时需要填当前字段
:type HttpsUpstreamPort: str
:param _HttpsRewrite: 是否开启HTTP强制跳转到HTTPS。0:不强制跳转1:开启强制跳转
:type HttpsRewrite: int
:param _UpstreamType: 回源类型。0:通过IP回源1:通过域名回源
:type UpstreamType: int
:param _UpstreamDomain: 域名回源时的回源域名。UpstreamType为1时,需要填充此字段
:type UpstreamDomain: str
:param _SrcList: IP回源时的回源IP列表。UpstreamType为0时,需要填充此字段
:type SrcList: list of str
:param _IsHttp2: 是否开启HTTP2,需要开启HTTPS协议支持。0:关闭1:开启
:type IsHttp2: int
:param _IsWebsocket: 是否开启WebSocket支持。0:关闭1:开启
:type IsWebsocket: int
:param _LoadBalance: 回源负载均衡策略。0:轮询1:IP hash2:加权轮询
:type LoadBalance: int
:param _IsGray: 待废弃,可不填。是否开启灰度,0表示不开启灰度。
:type IsGray: int
:param _Edition: 域名所属实例类型
:type Edition: str
:param _Ports: 端口信息,可通过DescribeDomains接口获取具体参数信息。
:type Ports: list of SpartaProtectionPort
:param _IsKeepAlive: 是否开启长连接。0: 短连接1: 长连接
:type IsKeepAlive: str
:param _Anycast: 待废弃。目前填0即可。anycast IP类型开关: 0 普通IP 1 Anycast IP
:type Anycast: int
:param _Weights: 回源IP列表各IP的权重,和SrcList一一对应。当且仅当UpstreamType为0,并且SrcList有多个IP,并且LoadBalance为2时需要填写,否则填 []
:type Weights: list of int
:param _ActiveCheck: 是否开启主动健康检测。0:不开启1:开启
:type ActiveCheck: int
:param _TLSVersion: TLS版本信息
:type TLSVersion: int
:param _Ciphers: 加密套件信息
:type Ciphers: list of int
:param _CipherTemplate: 加密套件模板。0:不支持选择,使用默认模板 1:通用型模板 2:安全型模板3:自定义模板
:type CipherTemplate: int
:param _ProxyReadTimeout: WAF与源站的读超时时间,默认300s。
:type ProxyReadTimeout: int
:param _ProxySendTimeout: WAF与源站的写超时时间,默认300s。
:type ProxySendTimeout: int
:param _SniType: WAF回源时的SNI类型。
0:关闭SNI,不配置client_hello中的server_name
1:开启SNI,client_hello中的server_name为防护域名
2:开启SNI,SNI为域名回源时的源站域名
3:开启SNI,SNI为自定义域名
:type SniType: int
:param _SniHost: SniType为3时,需要填此参数,表示自定义的SNI;
:type SniHost: str
:param _IpHeaders: IsCdn=3时,需要填此参数,表示自定义header
:type IpHeaders: list of str
:param _XFFReset: 是否开启XFF重置。0:关闭1:开启
:type XFFReset: int
:param _Note: 域名备注信息
:type Note: str
:param _UpstreamHost: 自定义回源Host。默认为空字符串,表示使用防护域名作为回源Host。
:type UpstreamHost: str
:param _ProxyBuffer: 是否开启缓存。 0:关闭 1:开启
:type ProxyBuffer: int
:param _ProbeStatus: 是否开启拨测。 0: 禁用拨测 1: 启用拨测。默认启用拨测
:type ProbeStatus: int
:param _GmType: 国密选项。0:不开启国密 1:在原有TLS选项的基础上追加支持国密 2:开启国密并仅支持国密客户端访问
:type GmType: int
:param _GmCertType: 国密证书类型。0:无国密证书 1:证书来源为自有国密证书 2:证书来源为托管国密证书
:type GmCertType: int
:param _GmCert: GmCertType为1时,需要填充此参数,表示自有国密证书的证书链
:type GmCert: str
:param _GmPrivateKey: GmCertType为1时,需要填充此参数,表示自有国密证书的私钥
:type GmPrivateKey: str
:param _GmEncCert: GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书
:type GmEncCert: str
:param _GmEncPrivateKey: GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书的私钥
:type GmEncPrivateKey: str
:param _GmSSLId: GmCertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:type GmSSLId: str
:param _UpstreamPolicy: 回源策略,支持负载均衡回源和分流回源两种方式。0:默认值,负载均衡回源;1:分流回源
:type UpstreamPolicy: int
:param _UpstreamRules: 分流回源时生效,分流回源的规则。
:type UpstreamRules: list of UpstreamRule
"""
self._Domain = None
self._DomainId = None
self._InstanceID = None
self._CertType = None
self._Cert = None
self._PrivateKey = None
self._SSLId = None
self._IsCdn = None
self._UpstreamScheme = None
self._HttpsUpstreamPort = None
self._HttpsRewrite = None
self._UpstreamType = None
self._UpstreamDomain = None
self._SrcList = None
self._IsHttp2 = None
self._IsWebsocket = None
self._LoadBalance = None
self._IsGray = None
self._Edition = None
self._Ports = None
self._IsKeepAlive = None
self._Anycast = None
self._Weights = None
self._ActiveCheck = None
self._TLSVersion = None
self._Ciphers = None
self._CipherTemplate = None
self._ProxyReadTimeout = None
self._ProxySendTimeout = None
self._SniType = None
self._SniHost = None
self._IpHeaders = None
self._XFFReset = None
self._Note = None
self._UpstreamHost = None
self._ProxyBuffer = None
self._ProbeStatus = None
self._GmType = None
self._GmCertType = None
self._GmCert = None
self._GmPrivateKey = None
self._GmEncCert = None
self._GmEncPrivateKey = None
self._GmSSLId = None
self._UpstreamPolicy = None
self._UpstreamRules = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""必填项。域名唯一ID
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def InstanceID(self):
"""必填项。域名所属实例id
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
@property
def CertType(self):
"""证书类型。0:仅配置HTTP监听端口,没有证书1:证书来源为自有证书2:证书来源为托管证书
:rtype: int
"""
return self._CertType
@CertType.setter
def CertType(self, CertType):
self._CertType = CertType
@property
def Cert(self):
"""CertType为1时,需要填充此参数,表示自有证书的证书链
:rtype: str
"""
return self._Cert
@Cert.setter
def Cert(self, Cert):
self._Cert = Cert
@property
def PrivateKey(self):
"""CertType为1时,需要填充此参数,表示自有证书的私钥
:rtype: str
"""
return self._PrivateKey
@PrivateKey.setter
def PrivateKey(self, PrivateKey):
self._PrivateKey = PrivateKey
@property
def SSLId(self):
"""CertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:rtype: str
"""
return self._SSLId
@SSLId.setter
def SSLId(self, SSLId):
self._SSLId = SSLId
@property
def IsCdn(self):
"""waf前是否部署有七层代理服务。0:没有部署代理服务1:有部署代理服务,waf将使用XFF获取客户端IP2:有部署代理服务,waf将使用remote_addr获取客户端IP3:有部署代理服务,waf将使用ip_headers中的自定义header获取客户端IP
:rtype: int
"""
return self._IsCdn
@IsCdn.setter
def IsCdn(self, IsCdn):
self._IsCdn = IsCdn
@property
def UpstreamScheme(self):
"""服务配置有HTTPS端口时,HTTPS的回源协议。
http:使用http协议回源,和HttpsUpstreamPort配合使用
https:使用https协议回源
:rtype: str
"""
return self._UpstreamScheme
@UpstreamScheme.setter
def UpstreamScheme(self, UpstreamScheme):
self._UpstreamScheme = UpstreamScheme
@property
def HttpsUpstreamPort(self):
"""HTTPS回源端口,仅UpstreamScheme为http时需要填当前字段
:rtype: str
"""
return self._HttpsUpstreamPort
@HttpsUpstreamPort.setter
def HttpsUpstreamPort(self, HttpsUpstreamPort):
self._HttpsUpstreamPort = HttpsUpstreamPort
@property
def HttpsRewrite(self):
"""是否开启HTTP强制跳转到HTTPS。0:不强制跳转1:开启强制跳转
:rtype: int
"""
return self._HttpsRewrite
@HttpsRewrite.setter
def HttpsRewrite(self, HttpsRewrite):
self._HttpsRewrite = HttpsRewrite
@property
def UpstreamType(self):
"""回源类型。0:通过IP回源1:通过域名回源
:rtype: int
"""
return self._UpstreamType
@UpstreamType.setter
def UpstreamType(self, UpstreamType):
self._UpstreamType = UpstreamType
@property
def UpstreamDomain(self):
"""域名回源时的回源域名。UpstreamType为1时,需要填充此字段
:rtype: str
"""
return self._UpstreamDomain
@UpstreamDomain.setter
def UpstreamDomain(self, UpstreamDomain):
self._UpstreamDomain = UpstreamDomain
@property
def SrcList(self):
"""IP回源时的回源IP列表。UpstreamType为0时,需要填充此字段
:rtype: list of str
"""
return self._SrcList
@SrcList.setter
def SrcList(self, SrcList):
self._SrcList = SrcList
@property
def IsHttp2(self):
"""是否开启HTTP2,需要开启HTTPS协议支持。0:关闭1:开启
:rtype: int
"""
return self._IsHttp2
@IsHttp2.setter
def IsHttp2(self, IsHttp2):
self._IsHttp2 = IsHttp2
@property
def IsWebsocket(self):
"""是否开启WebSocket支持。0:关闭1:开启
:rtype: int
"""
return self._IsWebsocket
@IsWebsocket.setter
def IsWebsocket(self, IsWebsocket):
self._IsWebsocket = IsWebsocket
@property
def LoadBalance(self):
"""回源负载均衡策略。0:轮询1:IP hash2:加权轮询
:rtype: int
"""
return self._LoadBalance
@LoadBalance.setter
def LoadBalance(self, LoadBalance):
self._LoadBalance = LoadBalance
@property
def IsGray(self):
"""待废弃,可不填。是否开启灰度,0表示不开启灰度。
:rtype: int
"""
return self._IsGray
@IsGray.setter
def IsGray(self, IsGray):
self._IsGray = IsGray
@property
def Edition(self):
"""域名所属实例类型
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Ports(self):
"""端口信息,可通过DescribeDomains接口获取具体参数信息。
:rtype: list of SpartaProtectionPort
"""
return self._Ports
@Ports.setter
def Ports(self, Ports):
self._Ports = Ports
@property
def IsKeepAlive(self):
"""是否开启长连接。0: 短连接1: 长连接
:rtype: str
"""
return self._IsKeepAlive
@IsKeepAlive.setter
def IsKeepAlive(self, IsKeepAlive):
self._IsKeepAlive = IsKeepAlive
@property
def Anycast(self):
"""待废弃。目前填0即可。anycast IP类型开关: 0 普通IP 1 Anycast IP
:rtype: int
"""
return self._Anycast
@Anycast.setter
def Anycast(self, Anycast):
self._Anycast = Anycast
@property
def Weights(self):
"""回源IP列表各IP的权重,和SrcList一一对应。当且仅当UpstreamType为0,并且SrcList有多个IP,并且LoadBalance为2时需要填写,否则填 []
:rtype: list of int
"""
return self._Weights
@Weights.setter
def Weights(self, Weights):
self._Weights = Weights
@property
def ActiveCheck(self):
"""是否开启主动健康检测。0:不开启1:开启
:rtype: int
"""
return self._ActiveCheck
@ActiveCheck.setter
def ActiveCheck(self, ActiveCheck):
self._ActiveCheck = ActiveCheck
@property
def TLSVersion(self):
"""TLS版本信息
:rtype: int
"""
return self._TLSVersion
@TLSVersion.setter
def TLSVersion(self, TLSVersion):
self._TLSVersion = TLSVersion
@property
def Ciphers(self):
"""加密套件信息
:rtype: list of int
"""
return self._Ciphers
@Ciphers.setter
def Ciphers(self, Ciphers):
self._Ciphers = Ciphers
@property
def CipherTemplate(self):
"""加密套件模板。0:不支持选择,使用默认模板 1:通用型模板 2:安全型模板3:自定义模板
:rtype: int
"""
return self._CipherTemplate
@CipherTemplate.setter
def CipherTemplate(self, CipherTemplate):
self._CipherTemplate = CipherTemplate
@property
def ProxyReadTimeout(self):
"""WAF与源站的读超时时间,默认300s。
:rtype: int
"""
return self._ProxyReadTimeout
@ProxyReadTimeout.setter
def ProxyReadTimeout(self, ProxyReadTimeout):
self._ProxyReadTimeout = ProxyReadTimeout
@property
def ProxySendTimeout(self):
"""WAF与源站的写超时时间,默认300s。
:rtype: int
"""
return self._ProxySendTimeout
@ProxySendTimeout.setter
def ProxySendTimeout(self, ProxySendTimeout):
self._ProxySendTimeout = ProxySendTimeout
@property
def SniType(self):
"""WAF回源时的SNI类型。
0:关闭SNI,不配置client_hello中的server_name
1:开启SNI,client_hello中的server_name为防护域名
2:开启SNI,SNI为域名回源时的源站域名
3:开启SNI,SNI为自定义域名
:rtype: int
"""
return self._SniType
@SniType.setter
def SniType(self, SniType):
self._SniType = SniType
@property
def SniHost(self):
"""SniType为3时,需要填此参数,表示自定义的SNI;
:rtype: str
"""
return self._SniHost
@SniHost.setter
def SniHost(self, SniHost):
self._SniHost = SniHost
@property
def IpHeaders(self):
"""IsCdn=3时,需要填此参数,表示自定义header
:rtype: list of str
"""
return self._IpHeaders
@IpHeaders.setter
def IpHeaders(self, IpHeaders):
self._IpHeaders = IpHeaders
@property
def XFFReset(self):
"""是否开启XFF重置。0:关闭1:开启
:rtype: int
"""
return self._XFFReset
@XFFReset.setter
def XFFReset(self, XFFReset):
self._XFFReset = XFFReset
@property
def Note(self):
"""域名备注信息
:rtype: str
"""
return self._Note
@Note.setter
def Note(self, Note):
self._Note = Note
@property
def UpstreamHost(self):
"""自定义回源Host。默认为空字符串,表示使用防护域名作为回源Host。
:rtype: str
"""
return self._UpstreamHost
@UpstreamHost.setter
def UpstreamHost(self, UpstreamHost):
self._UpstreamHost = UpstreamHost
@property
def ProxyBuffer(self):
"""是否开启缓存。 0:关闭 1:开启
:rtype: int
"""
return self._ProxyBuffer
@ProxyBuffer.setter
def ProxyBuffer(self, ProxyBuffer):
self._ProxyBuffer = ProxyBuffer
@property
def ProbeStatus(self):
"""是否开启拨测。 0: 禁用拨测 1: 启用拨测。默认启用拨测
:rtype: int
"""
return self._ProbeStatus
@ProbeStatus.setter
def ProbeStatus(self, ProbeStatus):
self._ProbeStatus = ProbeStatus
@property
def GmType(self):
"""国密选项。0:不开启国密 1:在原有TLS选项的基础上追加支持国密 2:开启国密并仅支持国密客户端访问
:rtype: int
"""
return self._GmType
@GmType.setter
def GmType(self, GmType):
self._GmType = GmType
@property
def GmCertType(self):
"""国密证书类型。0:无国密证书 1:证书来源为自有国密证书 2:证书来源为托管国密证书
:rtype: int
"""
return self._GmCertType
@GmCertType.setter
def GmCertType(self, GmCertType):
self._GmCertType = GmCertType
@property
def GmCert(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的证书链
:rtype: str
"""
return self._GmCert
@GmCert.setter
def GmCert(self, GmCert):
self._GmCert = GmCert
@property
def GmPrivateKey(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的私钥
:rtype: str
"""
return self._GmPrivateKey
@GmPrivateKey.setter
def GmPrivateKey(self, GmPrivateKey):
self._GmPrivateKey = GmPrivateKey
@property
def GmEncCert(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书
:rtype: str
"""
return self._GmEncCert
@GmEncCert.setter
def GmEncCert(self, GmEncCert):
self._GmEncCert = GmEncCert
@property
def GmEncPrivateKey(self):
"""GmCertType为1时,需要填充此参数,表示自有国密证书的加密证书的私钥
:rtype: str
"""
return self._GmEncPrivateKey
@GmEncPrivateKey.setter
def GmEncPrivateKey(self, GmEncPrivateKey):
self._GmEncPrivateKey = GmEncPrivateKey
@property
def GmSSLId(self):
"""GmCertType为2时,需要填充此参数,表示腾讯云SSL平台托管的证书id
:rtype: str
"""
return self._GmSSLId
@GmSSLId.setter
def GmSSLId(self, GmSSLId):
self._GmSSLId = GmSSLId
@property
def UpstreamPolicy(self):
"""回源策略,支持负载均衡回源和分流回源两种方式。0:默认值,负载均衡回源;1:分流回源
:rtype: int
"""
return self._UpstreamPolicy
@UpstreamPolicy.setter
def UpstreamPolicy(self, UpstreamPolicy):
self._UpstreamPolicy = UpstreamPolicy
@property
def UpstreamRules(self):
"""分流回源时生效,分流回源的规则。
:rtype: list of UpstreamRule
"""
return self._UpstreamRules
@UpstreamRules.setter
def UpstreamRules(self, UpstreamRules):
self._UpstreamRules = UpstreamRules
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._InstanceID = params.get("InstanceID")
self._CertType = params.get("CertType")
self._Cert = params.get("Cert")
self._PrivateKey = params.get("PrivateKey")
self._SSLId = params.get("SSLId")
self._IsCdn = params.get("IsCdn")
self._UpstreamScheme = params.get("UpstreamScheme")
self._HttpsUpstreamPort = params.get("HttpsUpstreamPort")
self._HttpsRewrite = params.get("HttpsRewrite")
self._UpstreamType = params.get("UpstreamType")
self._UpstreamDomain = params.get("UpstreamDomain")
self._SrcList = params.get("SrcList")
self._IsHttp2 = params.get("IsHttp2")
self._IsWebsocket = params.get("IsWebsocket")
self._LoadBalance = params.get("LoadBalance")
self._IsGray = params.get("IsGray")
self._Edition = params.get("Edition")
if params.get("Ports") is not None:
self._Ports = []
for item in params.get("Ports"):
obj = SpartaProtectionPort()
obj._deserialize(item)
self._Ports.append(obj)
self._IsKeepAlive = params.get("IsKeepAlive")
self._Anycast = params.get("Anycast")
self._Weights = params.get("Weights")
self._ActiveCheck = params.get("ActiveCheck")
self._TLSVersion = params.get("TLSVersion")
self._Ciphers = params.get("Ciphers")
self._CipherTemplate = params.get("CipherTemplate")
self._ProxyReadTimeout = params.get("ProxyReadTimeout")
self._ProxySendTimeout = params.get("ProxySendTimeout")
self._SniType = params.get("SniType")
self._SniHost = params.get("SniHost")
self._IpHeaders = params.get("IpHeaders")
self._XFFReset = params.get("XFFReset")
self._Note = params.get("Note")
self._UpstreamHost = params.get("UpstreamHost")
self._ProxyBuffer = params.get("ProxyBuffer")
self._ProbeStatus = params.get("ProbeStatus")
self._GmType = params.get("GmType")
self._GmCertType = params.get("GmCertType")
self._GmCert = params.get("GmCert")
self._GmPrivateKey = params.get("GmPrivateKey")
self._GmEncCert = params.get("GmEncCert")
self._GmEncPrivateKey = params.get("GmEncPrivateKey")
self._GmSSLId = params.get("GmSSLId")
self._UpstreamPolicy = params.get("UpstreamPolicy")
if params.get("UpstreamRules") is not None:
self._UpstreamRules = []
for item in params.get("UpstreamRules"):
obj = UpstreamRule()
obj._deserialize(item)
self._UpstreamRules.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifySpartaProtectionResponse(AbstractModel):
"""ModifySpartaProtection返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyUserLevelRequest(AbstractModel):
"""ModifyUserLevel请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Level: 防护规则等级 300=standard,400=extended
:type Level: int
"""
self._Domain = None
self._Level = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Level(self):
"""防护规则等级 300=standard,400=extended
:rtype: int
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Level = params.get("Level")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyUserLevelResponse(AbstractModel):
"""ModifyUserLevel返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyUserSignatureRuleRequest(AbstractModel):
"""ModifyUserSignatureRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _MainClassID: 主类id
:type MainClassID: str
:param _Status: 主类开关0=关闭,1=开启,2=只告警
:type Status: int
:param _RuleID: 下发修改的规则列表
:type RuleID: list of ReqUserRule
"""
self._Domain = None
self._MainClassID = None
self._Status = None
self._RuleID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def MainClassID(self):
"""主类id
:rtype: str
"""
return self._MainClassID
@MainClassID.setter
def MainClassID(self, MainClassID):
self._MainClassID = MainClassID
@property
def Status(self):
"""主类开关0=关闭,1=开启,2=只告警
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def RuleID(self):
"""下发修改的规则列表
:rtype: list of ReqUserRule
"""
return self._RuleID
@RuleID.setter
def RuleID(self, RuleID):
self._RuleID = RuleID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._MainClassID = params.get("MainClassID")
self._Status = params.get("Status")
if params.get("RuleID") is not None:
self._RuleID = []
for item in params.get("RuleID"):
obj = ReqUserRule()
obj._deserialize(item)
self._RuleID.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyUserSignatureRuleResponse(AbstractModel):
"""ModifyUserSignatureRule返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyUserSignatureRuleV2Request(AbstractModel):
"""ModifyUserSignatureRuleV2请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _MainClassID: 主类id
:type MainClassID: str
:param _Status: 主类开关0=关闭,1=开启,2=只告警
:type Status: int
:param _RuleID: 下发修改的规则列表
:type RuleID: list of ReqUserRule
"""
self._Domain = None
self._MainClassID = None
self._Status = None
self._RuleID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def MainClassID(self):
"""主类id
:rtype: str
"""
return self._MainClassID
@MainClassID.setter
def MainClassID(self, MainClassID):
self._MainClassID = MainClassID
@property
def Status(self):
"""主类开关0=关闭,1=开启,2=只告警
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def RuleID(self):
"""下发修改的规则列表
:rtype: list of ReqUserRule
"""
return self._RuleID
@RuleID.setter
def RuleID(self, RuleID):
self._RuleID = RuleID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._MainClassID = params.get("MainClassID")
self._Status = params.get("Status")
if params.get("RuleID") is not None:
self._RuleID = []
for item in params.get("RuleID"):
obj = ReqUserRule()
obj._deserialize(item)
self._RuleID.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyUserSignatureRuleV2Response(AbstractModel):
"""ModifyUserSignatureRuleV2返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyWafAutoDenyRulesRequest(AbstractModel):
"""ModifyWafAutoDenyRules请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _AttackThreshold: 触发IP封禁的攻击次数阈值,范围为2~100次
:type AttackThreshold: int
:param _TimeThreshold: IP封禁统计时间,范围为1-60分钟
:type TimeThreshold: int
:param _DenyTimeThreshold: 触发IP封禁后的封禁时间,范围为5~360分钟
:type DenyTimeThreshold: int
:param _DefenseStatus: 自动封禁状态,0表示关闭,1表示打开
:type DefenseStatus: int
"""
self._Domain = None
self._AttackThreshold = None
self._TimeThreshold = None
self._DenyTimeThreshold = None
self._DefenseStatus = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def AttackThreshold(self):
"""触发IP封禁的攻击次数阈值,范围为2~100次
:rtype: int
"""
return self._AttackThreshold
@AttackThreshold.setter
def AttackThreshold(self, AttackThreshold):
self._AttackThreshold = AttackThreshold
@property
def TimeThreshold(self):
"""IP封禁统计时间,范围为1-60分钟
:rtype: int
"""
return self._TimeThreshold
@TimeThreshold.setter
def TimeThreshold(self, TimeThreshold):
self._TimeThreshold = TimeThreshold
@property
def DenyTimeThreshold(self):
"""触发IP封禁后的封禁时间,范围为5~360分钟
:rtype: int
"""
return self._DenyTimeThreshold
@DenyTimeThreshold.setter
def DenyTimeThreshold(self, DenyTimeThreshold):
self._DenyTimeThreshold = DenyTimeThreshold
@property
def DefenseStatus(self):
"""自动封禁状态,0表示关闭,1表示打开
:rtype: int
"""
return self._DefenseStatus
@DefenseStatus.setter
def DefenseStatus(self, DefenseStatus):
self._DefenseStatus = DefenseStatus
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._AttackThreshold = params.get("AttackThreshold")
self._TimeThreshold = params.get("TimeThreshold")
self._DenyTimeThreshold = params.get("DenyTimeThreshold")
self._DefenseStatus = params.get("DefenseStatus")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyWafAutoDenyRulesResponse(AbstractModel):
"""ModifyWafAutoDenyRules返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 成功的状态码,需要JSON解码后再使用,返回的格式是{"域名":"状态"},成功的状态码为Success,其它的为失败的状态码(yunapi定义的错误码)
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""成功的状态码,需要JSON解码后再使用,返回的格式是{"域名":"状态"},成功的状态码为Success,其它的为失败的状态码(yunapi定义的错误码)
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class ModifyWafThreatenIntelligenceRequest(AbstractModel):
"""ModifyWafThreatenIntelligence请求参数结构体
"""
def __init__(self):
r"""
:param _WafThreatenIntelligenceDetails: 配置WAF威胁情报封禁模块详情
:type WafThreatenIntelligenceDetails: :class:`tencentcloud.waf.v20180125.models.WafThreatenIntelligenceDetails`
"""
self._WafThreatenIntelligenceDetails = None
@property
def WafThreatenIntelligenceDetails(self):
"""配置WAF威胁情报封禁模块详情
:rtype: :class:`tencentcloud.waf.v20180125.models.WafThreatenIntelligenceDetails`
"""
return self._WafThreatenIntelligenceDetails
@WafThreatenIntelligenceDetails.setter
def WafThreatenIntelligenceDetails(self, WafThreatenIntelligenceDetails):
self._WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails
def _deserialize(self, params):
if params.get("WafThreatenIntelligenceDetails") is not None:
self._WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails()
self._WafThreatenIntelligenceDetails._deserialize(params.get("WafThreatenIntelligenceDetails"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyWafThreatenIntelligenceResponse(AbstractModel):
"""ModifyWafThreatenIntelligence返回参数结构体
"""
def __init__(self):
r"""
:param _WafThreatenIntelligenceDetails: 当前WAF威胁情报封禁模块详情
:type WafThreatenIntelligenceDetails: :class:`tencentcloud.waf.v20180125.models.WafThreatenIntelligenceDetails`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._WafThreatenIntelligenceDetails = None
self._RequestId = None
@property
def WafThreatenIntelligenceDetails(self):
"""当前WAF威胁情报封禁模块详情
:rtype: :class:`tencentcloud.waf.v20180125.models.WafThreatenIntelligenceDetails`
"""
return self._WafThreatenIntelligenceDetails
@WafThreatenIntelligenceDetails.setter
def WafThreatenIntelligenceDetails(self, WafThreatenIntelligenceDetails):
self._WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("WafThreatenIntelligenceDetails") is not None:
self._WafThreatenIntelligenceDetails = WafThreatenIntelligenceDetails()
self._WafThreatenIntelligenceDetails._deserialize(params.get("WafThreatenIntelligenceDetails"))
self._RequestId = params.get("RequestId")
class ModifyWebshellStatusRequest(AbstractModel):
"""ModifyWebshellStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Webshell: 域名webshell状态
:type Webshell: :class:`tencentcloud.waf.v20180125.models.WebshellStatus`
"""
self._Webshell = None
@property
def Webshell(self):
"""域名webshell状态
:rtype: :class:`tencentcloud.waf.v20180125.models.WebshellStatus`
"""
return self._Webshell
@Webshell.setter
def Webshell(self, Webshell):
self._Webshell = Webshell
def _deserialize(self, params):
if params.get("Webshell") is not None:
self._Webshell = WebshellStatus()
self._Webshell._deserialize(params.get("Webshell"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyWebshellStatusResponse(AbstractModel):
"""ModifyWebshellStatus返回参数结构体
"""
def __init__(self):
r"""
:param _Success: 成功的状态码,需要JSON解码后再使用,返回的格式是{"域名":"状态"},成功的状态码为Success,其它的为失败的状态码(yunapi定义的错误码)
:type Success: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Success = None
self._RequestId = None
@property
def Success(self):
"""成功的状态码,需要JSON解码后再使用,返回的格式是{"域名":"状态"},成功的状态码为Success,其它的为失败的状态码(yunapi定义的错误码)
:rtype: :class:`tencentcloud.waf.v20180125.models.ResponseCode`
"""
return self._Success
@Success.setter
def Success(self, Success):
self._Success = Success
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Success") is not None:
self._Success = ResponseCode()
self._Success._deserialize(params.get("Success"))
self._RequestId = params.get("RequestId")
class PeakPointsItem(AbstractModel):
"""PeakPoints数组项
"""
def __init__(self):
r"""
:param _Time: 秒级别时间戳
:type Time: int
:param _Access: QPS
:type Access: int
:param _Up: 上行带宽峰值,单位B
:type Up: int
:param _Down: 下行带宽峰值,单位B
:type Down: int
:param _Attack: Web攻击次数
:type Attack: int
:param _Cc: CC攻击次数
:type Cc: int
:param _BotAccess: Bot qps
:type BotAccess: int
:param _StatusServerError: WAF返回给客户端状态码5xx次数
:type StatusServerError: int
:param _StatusClientError: WAF返回给客户端状态码4xx次数
:type StatusClientError: int
:param _StatusRedirect: WAF返回给客户端状态码302次数
:type StatusRedirect: int
:param _StatusOk: WAF返回给客户端状态码202次数
:type StatusOk: int
:param _UpstreamServerError: 源站返回给WAF状态码5xx次数
:type UpstreamServerError: int
:param _UpstreamClientError: 源站返回给WAF状态码4xx次数
:type UpstreamClientError: int
:param _UpstreamRedirect: 源站返回给WAF状态码302次数
:type UpstreamRedirect: int
:param _BlackIP: 黑名单次数
:type BlackIP: int
:param _Tamper: 防篡改次数
:type Tamper: int
:param _Leak: 信息防泄露次数
:type Leak: int
:param _ACL: 访问控制
:type ACL: int
:param _WxAccess: 小程序 qps
:type WxAccess: int
:param _WxCount: 小程序请求数
:type WxCount: int
:param _WxUp: 小程序上行带宽峰值,单位B
:type WxUp: int
:param _WxDown: 小程序下行带宽峰值,单位B
:type WxDown: int
"""
self._Time = None
self._Access = None
self._Up = None
self._Down = None
self._Attack = None
self._Cc = None
self._BotAccess = None
self._StatusServerError = None
self._StatusClientError = None
self._StatusRedirect = None
self._StatusOk = None
self._UpstreamServerError = None
self._UpstreamClientError = None
self._UpstreamRedirect = None
self._BlackIP = None
self._Tamper = None
self._Leak = None
self._ACL = None
self._WxAccess = None
self._WxCount = None
self._WxUp = None
self._WxDown = None
@property
def Time(self):
"""秒级别时间戳
:rtype: int
"""
return self._Time
@Time.setter
def Time(self, Time):
self._Time = Time
@property
def Access(self):
"""QPS
:rtype: int
"""
return self._Access
@Access.setter
def Access(self, Access):
self._Access = Access
@property
def Up(self):
"""上行带宽峰值,单位B
:rtype: int
"""
return self._Up
@Up.setter
def Up(self, Up):
self._Up = Up
@property
def Down(self):
"""下行带宽峰值,单位B
:rtype: int
"""
return self._Down
@Down.setter
def Down(self, Down):
self._Down = Down
@property
def Attack(self):
"""Web攻击次数
:rtype: int
"""
return self._Attack
@Attack.setter
def Attack(self, Attack):
self._Attack = Attack
@property
def Cc(self):
"""CC攻击次数
:rtype: int
"""
return self._Cc
@Cc.setter
def Cc(self, Cc):
self._Cc = Cc
@property
def BotAccess(self):
"""Bot qps
:rtype: int
"""
return self._BotAccess
@BotAccess.setter
def BotAccess(self, BotAccess):
self._BotAccess = BotAccess
@property
def StatusServerError(self):
"""WAF返回给客户端状态码5xx次数
:rtype: int
"""
return self._StatusServerError
@StatusServerError.setter
def StatusServerError(self, StatusServerError):
self._StatusServerError = StatusServerError
@property
def StatusClientError(self):
"""WAF返回给客户端状态码4xx次数
:rtype: int
"""
return self._StatusClientError
@StatusClientError.setter
def StatusClientError(self, StatusClientError):
self._StatusClientError = StatusClientError
@property
def StatusRedirect(self):
"""WAF返回给客户端状态码302次数
:rtype: int
"""
return self._StatusRedirect
@StatusRedirect.setter
def StatusRedirect(self, StatusRedirect):
self._StatusRedirect = StatusRedirect
@property
def StatusOk(self):
"""WAF返回给客户端状态码202次数
:rtype: int
"""
return self._StatusOk
@StatusOk.setter
def StatusOk(self, StatusOk):
self._StatusOk = StatusOk
@property
def UpstreamServerError(self):
"""源站返回给WAF状态码5xx次数
:rtype: int
"""
return self._UpstreamServerError
@UpstreamServerError.setter
def UpstreamServerError(self, UpstreamServerError):
self._UpstreamServerError = UpstreamServerError
@property
def UpstreamClientError(self):
"""源站返回给WAF状态码4xx次数
:rtype: int
"""
return self._UpstreamClientError
@UpstreamClientError.setter
def UpstreamClientError(self, UpstreamClientError):
self._UpstreamClientError = UpstreamClientError
@property
def UpstreamRedirect(self):
"""源站返回给WAF状态码302次数
:rtype: int
"""
return self._UpstreamRedirect
@UpstreamRedirect.setter
def UpstreamRedirect(self, UpstreamRedirect):
self._UpstreamRedirect = UpstreamRedirect
@property
def BlackIP(self):
"""黑名单次数
:rtype: int
"""
return self._BlackIP
@BlackIP.setter
def BlackIP(self, BlackIP):
self._BlackIP = BlackIP
@property
def Tamper(self):
"""防篡改次数
:rtype: int
"""
return self._Tamper
@Tamper.setter
def Tamper(self, Tamper):
self._Tamper = Tamper
@property
def Leak(self):
"""信息防泄露次数
:rtype: int
"""
return self._Leak
@Leak.setter
def Leak(self, Leak):
self._Leak = Leak
@property
def ACL(self):
"""访问控制
:rtype: int
"""
return self._ACL
@ACL.setter
def ACL(self, ACL):
self._ACL = ACL
@property
def WxAccess(self):
"""小程序 qps
:rtype: int
"""
return self._WxAccess
@WxAccess.setter
def WxAccess(self, WxAccess):
self._WxAccess = WxAccess
@property
def WxCount(self):
"""小程序请求数
:rtype: int
"""
return self._WxCount
@WxCount.setter
def WxCount(self, WxCount):
self._WxCount = WxCount
@property
def WxUp(self):
"""小程序上行带宽峰值,单位B
:rtype: int
"""
return self._WxUp
@WxUp.setter
def WxUp(self, WxUp):
self._WxUp = WxUp
@property
def WxDown(self):
"""小程序下行带宽峰值,单位B
:rtype: int
"""
return self._WxDown
@WxDown.setter
def WxDown(self, WxDown):
self._WxDown = WxDown
def _deserialize(self, params):
self._Time = params.get("Time")
self._Access = params.get("Access")
self._Up = params.get("Up")
self._Down = params.get("Down")
self._Attack = params.get("Attack")
self._Cc = params.get("Cc")
self._BotAccess = params.get("BotAccess")
self._StatusServerError = params.get("StatusServerError")
self._StatusClientError = params.get("StatusClientError")
self._StatusRedirect = params.get("StatusRedirect")
self._StatusOk = params.get("StatusOk")
self._UpstreamServerError = params.get("UpstreamServerError")
self._UpstreamClientError = params.get("UpstreamClientError")
self._UpstreamRedirect = params.get("UpstreamRedirect")
self._BlackIP = params.get("BlackIP")
self._Tamper = params.get("Tamper")
self._Leak = params.get("Leak")
self._ACL = params.get("ACL")
self._WxAccess = params.get("WxAccess")
self._WxCount = params.get("WxCount")
self._WxUp = params.get("WxUp")
self._WxDown = params.get("WxDown")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PiechartItem(AbstractModel):
"""饼图数据类型
"""
def __init__(self):
r"""
:param _Type: 类型
:type Type: str
:param _Count: 数量
:type Count: int
"""
self._Type = None
self._Count = None
@property
def Type(self):
"""类型
:rtype: str
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def Count(self):
"""数量
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
def _deserialize(self, params):
self._Type = params.get("Type")
self._Count = params.get("Count")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PortInfo(AbstractModel):
"""服务端口配置
"""
def __init__(self):
r"""
:param _NginxServerId: Nginx的服务器id
:type NginxServerId: int
:param _Port: 监听端口配置
:type Port: str
:param _Protocol: 与端口对应的协议
:type Protocol: str
:param _UpstreamPort: 回源端口
:type UpstreamPort: str
:param _UpstreamProtocol: 回源协议
:type UpstreamProtocol: str
"""
self._NginxServerId = None
self._Port = None
self._Protocol = None
self._UpstreamPort = None
self._UpstreamProtocol = None
@property
def NginxServerId(self):
"""Nginx的服务器id
:rtype: int
"""
return self._NginxServerId
@NginxServerId.setter
def NginxServerId(self, NginxServerId):
self._NginxServerId = NginxServerId
@property
def Port(self):
"""监听端口配置
:rtype: str
"""
return self._Port
@Port.setter
def Port(self, Port):
self._Port = Port
@property
def Protocol(self):
"""与端口对应的协议
:rtype: str
"""
return self._Protocol
@Protocol.setter
def Protocol(self, Protocol):
self._Protocol = Protocol
@property
def UpstreamPort(self):
"""回源端口
:rtype: str
"""
return self._UpstreamPort
@UpstreamPort.setter
def UpstreamPort(self, UpstreamPort):
self._UpstreamPort = UpstreamPort
@property
def UpstreamProtocol(self):
"""回源协议
:rtype: str
"""
return self._UpstreamProtocol
@UpstreamProtocol.setter
def UpstreamProtocol(self, UpstreamProtocol):
self._UpstreamProtocol = UpstreamProtocol
def _deserialize(self, params):
self._NginxServerId = params.get("NginxServerId")
self._Port = params.get("Port")
self._Protocol = params.get("Protocol")
self._UpstreamPort = params.get("UpstreamPort")
self._UpstreamProtocol = params.get("UpstreamProtocol")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PortItem(AbstractModel):
"""防护域名端口配置信息
"""
def __init__(self):
r"""
:param _Port: 监听端口配置
:type Port: str
:param _Protocol: 与Port一一对应,表示端口对应的协议
:type Protocol: str
:param _UpstreamPort: 与Port一一对应, 表示回源端口
:type UpstreamPort: str
:param _UpstreamProtocol: 与Port一一对应, 表示回源协议
:type UpstreamProtocol: str
:param _NginxServerId: Nginx的服务器ID,新增域名时填"0"
:type NginxServerId: str
"""
self._Port = None
self._Protocol = None
self._UpstreamPort = None
self._UpstreamProtocol = None
self._NginxServerId = None
@property
def Port(self):
"""监听端口配置
:rtype: str
"""
return self._Port
@Port.setter
def Port(self, Port):
self._Port = Port
@property
def Protocol(self):
"""与Port一一对应,表示端口对应的协议
:rtype: str
"""
return self._Protocol
@Protocol.setter
def Protocol(self, Protocol):
self._Protocol = Protocol
@property
def UpstreamPort(self):
"""与Port一一对应, 表示回源端口
:rtype: str
"""
return self._UpstreamPort
@UpstreamPort.setter
def UpstreamPort(self, UpstreamPort):
self._UpstreamPort = UpstreamPort
@property
def UpstreamProtocol(self):
"""与Port一一对应, 表示回源协议
:rtype: str
"""
return self._UpstreamProtocol
@UpstreamProtocol.setter
def UpstreamProtocol(self, UpstreamProtocol):
self._UpstreamProtocol = UpstreamProtocol
@property
def NginxServerId(self):
"""Nginx的服务器ID,新增域名时填"0"
:rtype: str
"""
return self._NginxServerId
@NginxServerId.setter
def NginxServerId(self, NginxServerId):
self._NginxServerId = NginxServerId
def _deserialize(self, params):
self._Port = params.get("Port")
self._Protocol = params.get("Protocol")
self._UpstreamPort = params.get("UpstreamPort")
self._UpstreamProtocol = params.get("UpstreamProtocol")
self._NginxServerId = params.get("NginxServerId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PostAttackDownloadTaskRequest(AbstractModel):
"""PostAttackDownloadTask请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 查询的域名,所有域名使用all
:type Domain: str
:param _StartTime: 查询起始时间
:type StartTime: str
:param _EndTime: 查询结束时间
:type EndTime: str
:param _QueryString: Lucene语法
:type QueryString: str
:param _TaskName: 任务名称
:type TaskName: str
:param _Sort: 默认为desc,可以取值desc和asc
:type Sort: str
:param _Count: 下载的日志条数
:type Count: int
"""
self._Domain = None
self._StartTime = None
self._EndTime = None
self._QueryString = None
self._TaskName = None
self._Sort = None
self._Count = None
@property
def Domain(self):
"""查询的域名,所有域名使用all
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def StartTime(self):
"""查询起始时间
:rtype: str
"""
return self._StartTime
@StartTime.setter
def StartTime(self, StartTime):
self._StartTime = StartTime
@property
def EndTime(self):
"""查询结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def QueryString(self):
"""Lucene语法
:rtype: str
"""
return self._QueryString
@QueryString.setter
def QueryString(self, QueryString):
self._QueryString = QueryString
@property
def TaskName(self):
"""任务名称
:rtype: str
"""
return self._TaskName
@TaskName.setter
def TaskName(self, TaskName):
self._TaskName = TaskName
@property
def Sort(self):
"""默认为desc,可以取值desc和asc
:rtype: str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
@property
def Count(self):
"""下载的日志条数
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._StartTime = params.get("StartTime")
self._EndTime = params.get("EndTime")
self._QueryString = params.get("QueryString")
self._TaskName = params.get("TaskName")
self._Sort = params.get("Sort")
self._Count = params.get("Count")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PostAttackDownloadTaskResponse(AbstractModel):
"""PostAttackDownloadTask返回参数结构体
"""
def __init__(self):
r"""
:param _Flow: 任务task id
:type Flow: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Flow = None
self._RequestId = None
@property
def Flow(self):
"""任务task id
:rtype: str
"""
return self._Flow
@Flow.setter
def Flow(self, Flow):
self._Flow = Flow
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Flow = params.get("Flow")
self._RequestId = params.get("RequestId")
class ProductInfo(AbstractModel):
"""waf产品
"""
def __init__(self):
r"""
:param _Name: 产品名称
:type Name: str
:param _Value: 版本
:type Value: str
"""
self._Name = None
self._Value = None
@property
def Name(self):
"""产品名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Value(self):
"""版本
:rtype: str
"""
return self._Value
@Value.setter
def Value(self, Value):
self._Value = Value
def _deserialize(self, params):
self._Name = params.get("Name")
self._Value = params.get("Value")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class QPSPackageNew(AbstractModel):
"""clb-waf QPS套餐 New
"""
def __init__(self):
r"""
:param _ResourceIds: 资源ID
:type ResourceIds: str
:param _ValidTime: 过期时间
:type ValidTime: str
:param _RenewFlag: 是否自动续费,1:自动续费,0:不自动续费
:type RenewFlag: int
:param _Count: 套餐购买个数
:type Count: int
:param _Region: 套餐购买地域,clb-waf暂时没有用到
:type Region: str
:param _BillingItem: 计费项
:type BillingItem: str
"""
self._ResourceIds = None
self._ValidTime = None
self._RenewFlag = None
self._Count = None
self._Region = None
self._BillingItem = None
@property
def ResourceIds(self):
"""资源ID
:rtype: str
"""
return self._ResourceIds
@ResourceIds.setter
def ResourceIds(self, ResourceIds):
self._ResourceIds = ResourceIds
@property
def ValidTime(self):
"""过期时间
:rtype: str
"""
return self._ValidTime
@ValidTime.setter
def ValidTime(self, ValidTime):
self._ValidTime = ValidTime
@property
def RenewFlag(self):
"""是否自动续费,1:自动续费,0:不自动续费
:rtype: int
"""
return self._RenewFlag
@RenewFlag.setter
def RenewFlag(self, RenewFlag):
self._RenewFlag = RenewFlag
@property
def Count(self):
"""套餐购买个数
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Region(self):
"""套餐购买地域,clb-waf暂时没有用到
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def BillingItem(self):
"""计费项
:rtype: str
"""
return self._BillingItem
@BillingItem.setter
def BillingItem(self, BillingItem):
self._BillingItem = BillingItem
def _deserialize(self, params):
self._ResourceIds = params.get("ResourceIds")
self._ValidTime = params.get("ValidTime")
self._RenewFlag = params.get("RenewFlag")
self._Count = params.get("Count")
self._Region = params.get("Region")
self._BillingItem = params.get("BillingItem")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class QpsData(AbstractModel):
"""获取弹性qps的默认相关值
"""
def __init__(self):
r"""
:param _ElasticBillingDefault: 弹性qps默认值
:type ElasticBillingDefault: int
:param _ElasticBillingMin: 弹性qps最小值
:type ElasticBillingMin: int
:param _ElasticBillingMax: 弹性qps最大值
:type ElasticBillingMax: int
:param _QPSExtendMax: 业务扩展包最大qps
:type QPSExtendMax: int
:param _QPSExtendIntlMax: 境外业务扩展包最大qps
:type QPSExtendIntlMax: int
"""
self._ElasticBillingDefault = None
self._ElasticBillingMin = None
self._ElasticBillingMax = None
self._QPSExtendMax = None
self._QPSExtendIntlMax = None
@property
def ElasticBillingDefault(self):
"""弹性qps默认值
:rtype: int
"""
return self._ElasticBillingDefault
@ElasticBillingDefault.setter
def ElasticBillingDefault(self, ElasticBillingDefault):
self._ElasticBillingDefault = ElasticBillingDefault
@property
def ElasticBillingMin(self):
"""弹性qps最小值
:rtype: int
"""
return self._ElasticBillingMin
@ElasticBillingMin.setter
def ElasticBillingMin(self, ElasticBillingMin):
self._ElasticBillingMin = ElasticBillingMin
@property
def ElasticBillingMax(self):
"""弹性qps最大值
:rtype: int
"""
return self._ElasticBillingMax
@ElasticBillingMax.setter
def ElasticBillingMax(self, ElasticBillingMax):
self._ElasticBillingMax = ElasticBillingMax
@property
def QPSExtendMax(self):
"""业务扩展包最大qps
:rtype: int
"""
return self._QPSExtendMax
@QPSExtendMax.setter
def QPSExtendMax(self, QPSExtendMax):
self._QPSExtendMax = QPSExtendMax
@property
def QPSExtendIntlMax(self):
"""境外业务扩展包最大qps
:rtype: int
"""
return self._QPSExtendIntlMax
@QPSExtendIntlMax.setter
def QPSExtendIntlMax(self, QPSExtendIntlMax):
self._QPSExtendIntlMax = QPSExtendIntlMax
def _deserialize(self, params):
self._ElasticBillingDefault = params.get("ElasticBillingDefault")
self._ElasticBillingMin = params.get("ElasticBillingMin")
self._ElasticBillingMax = params.get("ElasticBillingMax")
self._QPSExtendMax = params.get("QPSExtendMax")
self._QPSExtendIntlMax = params.get("QPSExtendIntlMax")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class RefreshAccessCheckResultRequest(AbstractModel):
"""RefreshAccessCheckResult请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
"""
self._Domain = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class RefreshAccessCheckResultResponse(AbstractModel):
"""RefreshAccessCheckResult返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ReqUserRule(AbstractModel):
"""用户规则更新输出规则子项
"""
def __init__(self):
r"""
:param _Id: 特征序号
:type Id: str
:param _Status: 规则开关
0:关
1:开
2:只告警
:type Status: int
:param _Reason: 修改原因
0:无(兼容记录为空)
1:业务自身特性误报避免
2:规则误报上报
3:核心业务规则灰度
4:其它
:type Reason: int
"""
self._Id = None
self._Status = None
self._Reason = None
@property
def Id(self):
"""特征序号
:rtype: str
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def Status(self):
"""规则开关
0:关
1:开
2:只告警
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Reason(self):
"""修改原因
0:无(兼容记录为空)
1:业务自身特性误报避免
2:规则误报上报
3:核心业务规则灰度
4:其它
:rtype: int
"""
return self._Reason
@Reason.setter
def Reason(self, Reason):
self._Reason = Reason
def _deserialize(self, params):
self._Id = params.get("Id")
self._Status = params.get("Status")
self._Reason = params.get("Reason")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ResponseCode(AbstractModel):
"""响应体的返回码
"""
def __init__(self):
r"""
:param _Code: 如果成功则返回Success,失败则返回云api定义的错误码
:type Code: str
:param _Message: 如果成功则返回Success,失败则返回WAF定义的二级错误码
:type Message: str
"""
self._Code = None
self._Message = None
@property
def Code(self):
"""如果成功则返回Success,失败则返回云api定义的错误码
:rtype: str
"""
return self._Code
@Code.setter
def Code(self, Code):
self._Code = Code
@property
def Message(self):
"""如果成功则返回Success,失败则返回WAF定义的二级错误码
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
def _deserialize(self, params):
self._Code = params.get("Code")
self._Message = params.get("Message")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class Rule(AbstractModel):
"""规则列表详情
"""
def __init__(self):
r"""
:param _Id: 规则id
:type Id: int
:param _Type: 规则类型
:type Type: str
:param _Level: 规则等级
:type Level: str
:param _Description: 规则描述
:type Description: str
:param _CVE: 规则防护的CVE编号
:type CVE: str
:param _Status: 规则的状态
:type Status: int
:param _ModifyTime: 规则修改的时间
:type ModifyTime: str
:param _AddTime: 门神规则新增/更新时间
:type AddTime: str
"""
self._Id = None
self._Type = None
self._Level = None
self._Description = None
self._CVE = None
self._Status = None
self._ModifyTime = None
self._AddTime = None
@property
def Id(self):
"""规则id
:rtype: int
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def Type(self):
"""规则类型
:rtype: str
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def Level(self):
"""规则等级
:rtype: str
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
@property
def Description(self):
"""规则描述
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
@property
def CVE(self):
"""规则防护的CVE编号
:rtype: str
"""
return self._CVE
@CVE.setter
def CVE(self, CVE):
self._CVE = CVE
@property
def Status(self):
"""规则的状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def ModifyTime(self):
"""规则修改的时间
:rtype: str
"""
return self._ModifyTime
@ModifyTime.setter
def ModifyTime(self, ModifyTime):
self._ModifyTime = ModifyTime
@property
def AddTime(self):
"""门神规则新增/更新时间
:rtype: str
"""
return self._AddTime
@AddTime.setter
def AddTime(self, AddTime):
self._AddTime = AddTime
def _deserialize(self, params):
self._Id = params.get("Id")
self._Type = params.get("Type")
self._Level = params.get("Level")
self._Description = params.get("Description")
self._CVE = params.get("CVE")
self._Status = params.get("Status")
self._ModifyTime = params.get("ModifyTime")
self._AddTime = params.get("AddTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class RuleList(AbstractModel):
"""规则白名单
"""
def __init__(self):
r"""
:param _Id: 规则Id
:type Id: int
:param _Rules: 规则列表的id
:type Rules: list of int non-negative
:param _Url: 请求url
:type Url: str
:param _Function: 请求的方法
:type Function: str
:param _Time: 时间戳
:type Time: str
:param _Status: 开关状态
:type Status: int
:param _CreateTime: 创建时间
:type CreateTime: str
"""
self._Id = None
self._Rules = None
self._Url = None
self._Function = None
self._Time = None
self._Status = None
self._CreateTime = None
@property
def Id(self):
"""规则Id
:rtype: int
"""
return self._Id
@Id.setter
def Id(self, Id):
self._Id = Id
@property
def Rules(self):
"""规则列表的id
:rtype: list of int non-negative
"""
return self._Rules
@Rules.setter
def Rules(self, Rules):
self._Rules = Rules
@property
def Url(self):
"""请求url
:rtype: str
"""
return self._Url
@Url.setter
def Url(self, Url):
self._Url = Url
@property
def Function(self):
"""请求的方法
:rtype: str
"""
return self._Function
@Function.setter
def Function(self, Function):
self._Function = Function
@property
def Time(self):
"""时间戳
:rtype: str
"""
return self._Time
@Time.setter
def Time(self, Time):
self._Time = Time
@property
def Status(self):
"""开关状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def CreateTime(self):
"""创建时间
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
def _deserialize(self, params):
self._Id = params.get("Id")
self._Rules = params.get("Rules")
self._Url = params.get("Url")
self._Function = params.get("Function")
self._Time = params.get("Time")
self._Status = params.get("Status")
self._CreateTime = params.get("CreateTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class RuleType(AbstractModel):
"""Tiga规则
"""
def __init__(self):
r"""
:param _TypeID: 规则ID
:type TypeID: str
:param _Name: 规则名称
:type Name: str
:param _Desc: 规则类型描述
:type Desc: str
:param _RuleTypeStatus: 规则类型状态,即类型生效开关,0:关闭,1:开启
:type RuleTypeStatus: int
:param _ActiveRuleCount: 类型下生效的规则数量
:type ActiveRuleCount: int
:param _TotalRuleCount: 类型下的规则总数量
:type TotalRuleCount: int
"""
self._TypeID = None
self._Name = None
self._Desc = None
self._RuleTypeStatus = None
self._ActiveRuleCount = None
self._TotalRuleCount = None
@property
def TypeID(self):
"""规则ID
:rtype: str
"""
return self._TypeID
@TypeID.setter
def TypeID(self, TypeID):
self._TypeID = TypeID
@property
def Name(self):
"""规则名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Desc(self):
"""规则类型描述
:rtype: str
"""
return self._Desc
@Desc.setter
def Desc(self, Desc):
self._Desc = Desc
@property
def RuleTypeStatus(self):
"""规则类型状态,即类型生效开关,0:关闭,1:开启
:rtype: int
"""
return self._RuleTypeStatus
@RuleTypeStatus.setter
def RuleTypeStatus(self, RuleTypeStatus):
self._RuleTypeStatus = RuleTypeStatus
@property
def ActiveRuleCount(self):
"""类型下生效的规则数量
:rtype: int
"""
return self._ActiveRuleCount
@ActiveRuleCount.setter
def ActiveRuleCount(self, ActiveRuleCount):
self._ActiveRuleCount = ActiveRuleCount
@property
def TotalRuleCount(self):
"""类型下的规则总数量
:rtype: int
"""
return self._TotalRuleCount
@TotalRuleCount.setter
def TotalRuleCount(self, TotalRuleCount):
self._TotalRuleCount = TotalRuleCount
def _deserialize(self, params):
self._TypeID = params.get("TypeID")
self._Name = params.get("Name")
self._Desc = params.get("Desc")
self._RuleTypeStatus = params.get("RuleTypeStatus")
self._ActiveRuleCount = params.get("ActiveRuleCount")
self._TotalRuleCount = params.get("TotalRuleCount")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ScanIpInfo(AbstractModel):
"""扫描ip信息
"""
def __init__(self):
r"""
:param _Bussiness: 所属业务
:type Bussiness: str
:param _Target: 扫描对象
:type Target: str
:param _IpList: ip列表
:type IpList: list of str
:param _Descibe: 扫描说明
:type Descibe: str
:param _Referer: 官方公告
:type Referer: str
:param _UpdateTime: 更新时间
:type UpdateTime: int
"""
self._Bussiness = None
self._Target = None
self._IpList = None
self._Descibe = None
self._Referer = None
self._UpdateTime = None
@property
def Bussiness(self):
"""所属业务
:rtype: str
"""
return self._Bussiness
@Bussiness.setter
def Bussiness(self, Bussiness):
self._Bussiness = Bussiness
@property
def Target(self):
"""扫描对象
:rtype: str
"""
return self._Target
@Target.setter
def Target(self, Target):
self._Target = Target
@property
def IpList(self):
"""ip列表
:rtype: list of str
"""
return self._IpList
@IpList.setter
def IpList(self, IpList):
self._IpList = IpList
@property
def Descibe(self):
"""扫描说明
:rtype: str
"""
return self._Descibe
@Descibe.setter
def Descibe(self, Descibe):
self._Descibe = Descibe
@property
def Referer(self):
"""官方公告
:rtype: str
"""
return self._Referer
@Referer.setter
def Referer(self, Referer):
self._Referer = Referer
@property
def UpdateTime(self):
"""更新时间
:rtype: int
"""
return self._UpdateTime
@UpdateTime.setter
def UpdateTime(self, UpdateTime):
self._UpdateTime = UpdateTime
def _deserialize(self, params):
self._Bussiness = params.get("Bussiness")
self._Target = params.get("Target")
self._IpList = params.get("IpList")
self._Descibe = params.get("Descibe")
self._Referer = params.get("Referer")
self._UpdateTime = params.get("UpdateTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SearchAccessLogRequest(AbstractModel):
"""SearchAccessLog请求参数结构体
"""
def __init__(self):
r"""
:param _TopicId: 客户要查询的日志主题ID,每个客户都有对应的一个主题,新版本此字段填空字符串
:type TopicId: str
:param _From: 要查询的日志的起始时间,Unix时间戳,单位ms
:type From: int
:param _To: 要查询的日志的结束时间,Unix时间戳,单位ms
:type To: int
:param _Query: 查询语句,语句长度最大为4096
:type Query: str
:param _Limit: 单次查询返回的日志条数,最大值为100
:type Limit: int
:param _Context: 新版本此字段失效,填空字符串,翻页使用Page
:type Context: str
:param _Sort: 日志接口是否按时间排序返回;可选值:asc(升序)、desc(降序),默认为 desc
:type Sort: str
:param _Page: 第几页,从0开始。新版本接口字段
:type Page: int
"""
self._TopicId = None
self._From = None
self._To = None
self._Query = None
self._Limit = None
self._Context = None
self._Sort = None
self._Page = None
@property
def TopicId(self):
"""客户要查询的日志主题ID,每个客户都有对应的一个主题,新版本此字段填空字符串
:rtype: str
"""
return self._TopicId
@TopicId.setter
def TopicId(self, TopicId):
self._TopicId = TopicId
@property
def From(self):
"""要查询的日志的起始时间,Unix时间戳,单位ms
:rtype: int
"""
return self._From
@From.setter
def From(self, From):
self._From = From
@property
def To(self):
"""要查询的日志的结束时间,Unix时间戳,单位ms
:rtype: int
"""
return self._To
@To.setter
def To(self, To):
self._To = To
@property
def Query(self):
"""查询语句,语句长度最大为4096
:rtype: str
"""
return self._Query
@Query.setter
def Query(self, Query):
self._Query = Query
@property
def Limit(self):
"""单次查询返回的日志条数,最大值为100
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Context(self):
"""新版本此字段失效,填空字符串,翻页使用Page
:rtype: str
"""
return self._Context
@Context.setter
def Context(self, Context):
self._Context = Context
@property
def Sort(self):
"""日志接口是否按时间排序返回;可选值:asc(升序)、desc(降序),默认为 desc
:rtype: str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
@property
def Page(self):
"""第几页,从0开始。新版本接口字段
:rtype: int
"""
return self._Page
@Page.setter
def Page(self, Page):
self._Page = Page
def _deserialize(self, params):
self._TopicId = params.get("TopicId")
self._From = params.get("From")
self._To = params.get("To")
self._Query = params.get("Query")
self._Limit = params.get("Limit")
self._Context = params.get("Context")
self._Sort = params.get("Sort")
self._Page = params.get("Page")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SearchAccessLogResponse(AbstractModel):
"""SearchAccessLog返回参数结构体
"""
def __init__(self):
r"""
:param _Context: 新接口此字段失效,默认返回空字符串
:type Context: str
:param _ListOver: 日志查询结果是否全部返回,其中,“true”表示结果返回,“false”表示结果为返回
:type ListOver: bool
:param _Analysis: 返回的是否为分析结果,其中,“true”表示返回分析结果,“false”表示未返回分析结果
:type Analysis: bool
:param _ColNames: 如果Analysis为True,则返回分析结果的列名,否则为空
注意:此字段可能返回 null,表示取不到有效值。
:type ColNames: list of str
:param _Results: 日志查询结果;当Analysis为True时,可能返回为null
注意:此字段可能返回 null,表示取不到有效值
:type Results: list of AccessLogInfo
:param _AnalysisResults: 日志分析结果;当Analysis为False时,可能返回为null
注意:此字段可能返回 null,表示取不到有效值
:type AnalysisResults: list of AccessLogItems
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Context = None
self._ListOver = None
self._Analysis = None
self._ColNames = None
self._Results = None
self._AnalysisResults = None
self._RequestId = None
@property
def Context(self):
"""新接口此字段失效,默认返回空字符串
:rtype: str
"""
return self._Context
@Context.setter
def Context(self, Context):
self._Context = Context
@property
def ListOver(self):
"""日志查询结果是否全部返回,其中,“true”表示结果返回,“false”表示结果为返回
:rtype: bool
"""
return self._ListOver
@ListOver.setter
def ListOver(self, ListOver):
self._ListOver = ListOver
@property
def Analysis(self):
"""返回的是否为分析结果,其中,“true”表示返回分析结果,“false”表示未返回分析结果
:rtype: bool
"""
return self._Analysis
@Analysis.setter
def Analysis(self, Analysis):
self._Analysis = Analysis
@property
def ColNames(self):
warnings.warn("parameter `ColNames` is deprecated", DeprecationWarning)
"""如果Analysis为True,则返回分析结果的列名,否则为空
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._ColNames
@ColNames.setter
def ColNames(self, ColNames):
warnings.warn("parameter `ColNames` is deprecated", DeprecationWarning)
self._ColNames = ColNames
@property
def Results(self):
"""日志查询结果;当Analysis为True时,可能返回为null
注意:此字段可能返回 null,表示取不到有效值
:rtype: list of AccessLogInfo
"""
return self._Results
@Results.setter
def Results(self, Results):
self._Results = Results
@property
def AnalysisResults(self):
warnings.warn("parameter `AnalysisResults` is deprecated", DeprecationWarning)
"""日志分析结果;当Analysis为False时,可能返回为null
注意:此字段可能返回 null,表示取不到有效值
:rtype: list of AccessLogItems
"""
return self._AnalysisResults
@AnalysisResults.setter
def AnalysisResults(self, AnalysisResults):
warnings.warn("parameter `AnalysisResults` is deprecated", DeprecationWarning)
self._AnalysisResults = AnalysisResults
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Context = params.get("Context")
self._ListOver = params.get("ListOver")
self._Analysis = params.get("Analysis")
self._ColNames = params.get("ColNames")
if params.get("Results") is not None:
self._Results = []
for item in params.get("Results"):
obj = AccessLogInfo()
obj._deserialize(item)
self._Results.append(obj)
if params.get("AnalysisResults") is not None:
self._AnalysisResults = []
for item in params.get("AnalysisResults"):
obj = AccessLogItems()
obj._deserialize(item)
self._AnalysisResults.append(obj)
self._RequestId = params.get("RequestId")
class SearchAttackLogRequest(AbstractModel):
"""SearchAttackLog请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 查询的域名,所有域名使用all
:type Domain: str
:param _StartTime: 查询起始时间
:type StartTime: str
:param _EndTime: 查询结束时间
:type EndTime: str
:param _Context: 接口升级,这个字段传空字符串,翻页使用Page字段
:type Context: str
:param _QueryString: Lucene语法
:type QueryString: str
:param _Count: 查询的数量,默认10条,最多100条
:type Count: int
:param _Sort: 默认为desc,可以取值desc和asc
:type Sort: str
:param _Page: 第几页,从0开始
:type Page: int
"""
self._Domain = None
self._StartTime = None
self._EndTime = None
self._Context = None
self._QueryString = None
self._Count = None
self._Sort = None
self._Page = None
@property
def Domain(self):
"""查询的域名,所有域名使用all
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def StartTime(self):
"""查询起始时间
:rtype: str
"""
return self._StartTime
@StartTime.setter
def StartTime(self, StartTime):
self._StartTime = StartTime
@property
def EndTime(self):
"""查询结束时间
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def Context(self):
"""接口升级,这个字段传空字符串,翻页使用Page字段
:rtype: str
"""
return self._Context
@Context.setter
def Context(self, Context):
self._Context = Context
@property
def QueryString(self):
"""Lucene语法
:rtype: str
"""
return self._QueryString
@QueryString.setter
def QueryString(self, QueryString):
self._QueryString = QueryString
@property
def Count(self):
"""查询的数量,默认10条,最多100条
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Sort(self):
"""默认为desc,可以取值desc和asc
:rtype: str
"""
return self._Sort
@Sort.setter
def Sort(self, Sort):
self._Sort = Sort
@property
def Page(self):
"""第几页,从0开始
:rtype: int
"""
return self._Page
@Page.setter
def Page(self, Page):
self._Page = Page
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._StartTime = params.get("StartTime")
self._EndTime = params.get("EndTime")
self._Context = params.get("Context")
self._QueryString = params.get("QueryString")
self._Count = params.get("Count")
self._Sort = params.get("Sort")
self._Page = params.get("Page")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SearchAttackLogResponse(AbstractModel):
"""SearchAttackLog返回参数结构体
"""
def __init__(self):
r"""
:param _Count: 当前返回的攻击日志条数
:type Count: int
:param _Context: 接口升级,此字段无效,默认返回空字符串
:type Context: str
:param _Data: 攻击日志数组条目内容
:type Data: list of AttackLogInfo
:param _ListOver: CLS接口返回内容
:type ListOver: bool
:param _SqlFlag: CLS接口返回内容,标志是否启动新版本索引
:type SqlFlag: bool
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Count = None
self._Context = None
self._Data = None
self._ListOver = None
self._SqlFlag = None
self._RequestId = None
@property
def Count(self):
"""当前返回的攻击日志条数
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Context(self):
"""接口升级,此字段无效,默认返回空字符串
:rtype: str
"""
return self._Context
@Context.setter
def Context(self, Context):
self._Context = Context
@property
def Data(self):
"""攻击日志数组条目内容
:rtype: list of AttackLogInfo
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def ListOver(self):
"""CLS接口返回内容
:rtype: bool
"""
return self._ListOver
@ListOver.setter
def ListOver(self, ListOver):
self._ListOver = ListOver
@property
def SqlFlag(self):
"""CLS接口返回内容,标志是否启动新版本索引
:rtype: bool
"""
return self._SqlFlag
@SqlFlag.setter
def SqlFlag(self, SqlFlag):
self._SqlFlag = SqlFlag
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Count = params.get("Count")
self._Context = params.get("Context")
if params.get("Data") is not None:
self._Data = []
for item in params.get("Data"):
obj = AttackLogInfo()
obj._deserialize(item)
self._Data.append(obj)
self._ListOver = params.get("ListOver")
self._SqlFlag = params.get("SqlFlag")
self._RequestId = params.get("RequestId")
class SearchItem(AbstractModel):
"""接入列表查询复杂条件
"""
def __init__(self):
r"""
:param _ClsStatus: 日志开关
:type ClsStatus: str
:param _Status: waf开关
:type Status: str
:param _FlowMode: 流量模式
:type FlowMode: str
"""
self._ClsStatus = None
self._Status = None
self._FlowMode = None
@property
def ClsStatus(self):
"""日志开关
:rtype: str
"""
return self._ClsStatus
@ClsStatus.setter
def ClsStatus(self, ClsStatus):
self._ClsStatus = ClsStatus
@property
def Status(self):
"""waf开关
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def FlowMode(self):
"""流量模式
:rtype: str
"""
return self._FlowMode
@FlowMode.setter
def FlowMode(self, FlowMode):
self._FlowMode = FlowMode
def _deserialize(self, params):
self._ClsStatus = params.get("ClsStatus")
self._Status = params.get("Status")
self._FlowMode = params.get("FlowMode")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SessionData(AbstractModel):
"""参数包装
"""
def __init__(self):
r"""
:param _Res: session定义
:type Res: list of SessionItem
"""
self._Res = None
@property
def Res(self):
"""session定义
:rtype: list of SessionItem
"""
return self._Res
@Res.setter
def Res(self, Res):
self._Res = Res
def _deserialize(self, params):
if params.get("Res") is not None:
self._Res = []
for item in params.get("Res"):
obj = SessionItem()
obj._deserialize(item)
self._Res.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SessionItem(AbstractModel):
"""session定义
"""
def __init__(self):
r"""
:param _Category: 匹配类型
:type Category: str
:param _KeyOrStartMat: 起始模式
:type KeyOrStartMat: str
:param _EndMat: 结束模式
:type EndMat: str
:param _StartOffset: 起始偏移
:type StartOffset: str
:param _EndOffset: 结束偏移
:type EndOffset: str
:param _Source: 数据源
:type Source: str
:param _TsVersion: 更新时间戳
:type TsVersion: str
:param _SessionId: SessionID
:type SessionId: int
:param _SessionName: Session名
:type SessionName: str
:param _SessionInUsed: Session是否正在被启用
:type SessionInUsed: bool
:param _RelatedRuleID: Session关联的CC规则ID
:type RelatedRuleID: list of int
"""
self._Category = None
self._KeyOrStartMat = None
self._EndMat = None
self._StartOffset = None
self._EndOffset = None
self._Source = None
self._TsVersion = None
self._SessionId = None
self._SessionName = None
self._SessionInUsed = None
self._RelatedRuleID = None
@property
def Category(self):
"""匹配类型
:rtype: str
"""
return self._Category
@Category.setter
def Category(self, Category):
self._Category = Category
@property
def KeyOrStartMat(self):
"""起始模式
:rtype: str
"""
return self._KeyOrStartMat
@KeyOrStartMat.setter
def KeyOrStartMat(self, KeyOrStartMat):
self._KeyOrStartMat = KeyOrStartMat
@property
def EndMat(self):
"""结束模式
:rtype: str
"""
return self._EndMat
@EndMat.setter
def EndMat(self, EndMat):
self._EndMat = EndMat
@property
def StartOffset(self):
"""起始偏移
:rtype: str
"""
return self._StartOffset
@StartOffset.setter
def StartOffset(self, StartOffset):
self._StartOffset = StartOffset
@property
def EndOffset(self):
"""结束偏移
:rtype: str
"""
return self._EndOffset
@EndOffset.setter
def EndOffset(self, EndOffset):
self._EndOffset = EndOffset
@property
def Source(self):
"""数据源
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def TsVersion(self):
"""更新时间戳
:rtype: str
"""
return self._TsVersion
@TsVersion.setter
def TsVersion(self, TsVersion):
self._TsVersion = TsVersion
@property
def SessionId(self):
"""SessionID
:rtype: int
"""
return self._SessionId
@SessionId.setter
def SessionId(self, SessionId):
self._SessionId = SessionId
@property
def SessionName(self):
"""Session名
:rtype: str
"""
return self._SessionName
@SessionName.setter
def SessionName(self, SessionName):
self._SessionName = SessionName
@property
def SessionInUsed(self):
"""Session是否正在被启用
:rtype: bool
"""
return self._SessionInUsed
@SessionInUsed.setter
def SessionInUsed(self, SessionInUsed):
self._SessionInUsed = SessionInUsed
@property
def RelatedRuleID(self):
"""Session关联的CC规则ID
:rtype: list of int
"""
return self._RelatedRuleID
@RelatedRuleID.setter
def RelatedRuleID(self, RelatedRuleID):
self._RelatedRuleID = RelatedRuleID
def _deserialize(self, params):
self._Category = params.get("Category")
self._KeyOrStartMat = params.get("KeyOrStartMat")
self._EndMat = params.get("EndMat")
self._StartOffset = params.get("StartOffset")
self._EndOffset = params.get("EndOffset")
self._Source = params.get("Source")
self._TsVersion = params.get("TsVersion")
self._SessionId = params.get("SessionId")
self._SessionName = params.get("SessionName")
self._SessionInUsed = params.get("SessionInUsed")
self._RelatedRuleID = params.get("RelatedRuleID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SpartaProtectionPort(AbstractModel):
"""waf斯巴达-编辑防护域名中的端口结构
"""
def __init__(self):
r"""
:param _NginxServerId: 分配的服务器id
:type NginxServerId: int
:param _Port: 端口
:type Port: str
:param _Protocol: 协议
:type Protocol: str
:param _UpstreamPort: 后端端口
:type UpstreamPort: str
:param _UpstreamProtocol: 后端协议
:type UpstreamProtocol: str
"""
self._NginxServerId = None
self._Port = None
self._Protocol = None
self._UpstreamPort = None
self._UpstreamProtocol = None
@property
def NginxServerId(self):
"""分配的服务器id
:rtype: int
"""
return self._NginxServerId
@NginxServerId.setter
def NginxServerId(self, NginxServerId):
self._NginxServerId = NginxServerId
@property
def Port(self):
"""端口
:rtype: str
"""
return self._Port
@Port.setter
def Port(self, Port):
self._Port = Port
@property
def Protocol(self):
"""协议
:rtype: str
"""
return self._Protocol
@Protocol.setter
def Protocol(self, Protocol):
self._Protocol = Protocol
@property
def UpstreamPort(self):
"""后端端口
:rtype: str
"""
return self._UpstreamPort
@UpstreamPort.setter
def UpstreamPort(self, UpstreamPort):
self._UpstreamPort = UpstreamPort
@property
def UpstreamProtocol(self):
"""后端协议
:rtype: str
"""
return self._UpstreamProtocol
@UpstreamProtocol.setter
def UpstreamProtocol(self, UpstreamProtocol):
self._UpstreamProtocol = UpstreamProtocol
def _deserialize(self, params):
self._NginxServerId = params.get("NginxServerId")
self._Port = params.get("Port")
self._Protocol = params.get("Protocol")
self._UpstreamPort = params.get("UpstreamPort")
self._UpstreamProtocol = params.get("UpstreamProtocol")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class Strategy(AbstractModel):
"""规则的匹配条件结构体
"""
def __init__(self):
r"""
:param _Field: 匹配字段
匹配字段不同,相应的匹配参数、逻辑符号、匹配内容有所不同具体如下所示:
<table><thead><tr><th>匹配字段</th><th>匹配参数</th><th>逻辑符号</th><th>匹配内容</th></tr></thead><tbody><tr><td>IP(来源IP)</td><td>不支持参数</td><td>ipmatch(匹配)<br/>ipnmatch(不匹配)</td><td>多个IP以英文逗号隔开,最多20个</td></tr><tr><td>IPV6(来源IPv6)</td><td>不支持参数</td><td>ipmatch(匹配)<br/>ipnmatch(不匹配)</td><td>支持单个IPV6地址</td></tr><tr><td>Referer(Referer)</td><td>不支持参数</td><td>empty(内容为空)<br/>null(不存在)<br/>eq(等于)<br/>neq(不等于)<br/>contains(包含)<br/>ncontains(不包含)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)<br/>rematch(正则匹配)</td><td>请输入内容,512个字符以内</td></tr><tr><td>URL(请求路径)</td><td>不支持参数</td><td>eq(等于)<br/>neq(不等于)<br/>contains(包含)<br/>ncontains(不包含)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)<br/>rematch(正则匹配)<br/></td><td>请以/开头,512个字符以内</td></tr><tr><td>UserAgent(UserAgent)</td><td>不支持参数</td><td>同匹配字段<font color="Red">Referer</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>HTTP_METHOD(HTTP请求方法)</td><td>不支持参数</td><td>eq(等于)<br/>neq(不等于)</td><td>请输入方法名称,建议大写</td></tr><tr><td>QUERY_STRING(请求字符串)</td><td>不支持参数</td><td>同匹配字段<font color="Red">请求路径</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>GET(GET参数值)</td><td>支持参数录入</td><td>contains(包含)<br/>ncontains(不包含)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)</td><td>请输入内容,512个字符以内</td></tr><tr><td>GET_PARAMS_NAMES(GET参数名)</td><td>不支持参数</td><td>exsit(存在参数)<br/>nexsit(不存在参数)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)</td><td>请输入内容,512个字符以内</td></tr><tr><td>POST(POST参数值)</td><td>支持参数录入</td><td>同匹配字段<font color="Red">GET参数值</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>GET_POST_NAMES(POST参数名)</td><td>不支持参数</td><td>同匹配字段<font color="Red">GET参数名</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>POST_BODY(完整BODY)</td><td>不支持参数</td><td>同匹配字段<font color="Red">请求路径</font>逻辑符号</td><td>请输入BODY内容,512个字符以内</td></tr><tr><td>COOKIE(Cookie)</td><td>不支持参数</td><td>empty(内容为空)<br/>null(不存在)<br/>rematch(正则匹配)</td><td><font color="Red">暂不支持</font></td></tr><tr><td>GET_COOKIES_NAMES(Cookie参数名)</td><td>不支持参数</td><td>同匹配字段<font color="Red">GET参数名</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>ARGS_COOKIE(Cookie参数值)</td><td>支持参数录入</td><td>同匹配字段<font color="Red">GET参数值</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>GET_HEADERS_NAMES(Header参数名)</td><td>不支持参数</td><td>exsit(存在参数)<br/>nexsit(不存在参数)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)<br/>rematch(正则匹配)</td><td>请输入内容,建议小写,512个字符以内</td></tr><tr><td>ARGS_HEADER(Header参数值)</td><td>支持参数录入</td><td>contains(包含)<br/>ncontains(不包含)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)<br/>rematch(正则匹配)</td><td>请输入内容,512个字符以内</td></tr><tr><td>CONTENT_LENGTH(Content-length)</td><td>支持参数录入</td><td>numgt(数值大于)<br/>numlt(数值小于)<br/>numeq(数值等于)<br/></td><td>请输入0-9999999999999之间的整数</td></tr><tr><td>IP_GEO(来源IP归属地)</td><td>支持参数录入</td><td>geo_in(属于)<br/>geo_not_in(不属于)<br/></td><td>请输入内容,10240字符以内,格式为序列化的JSON,格式为:[{"Country":"中国","Region":"广东","City":"深圳"}]</td></tr>
</tbody></table>
:type Field: str
:param _CompareFunc: 逻辑符号
逻辑符号一共分为以下几种类型:
empty ( 内容为空)
null (不存在)
eq ( 等于)
neq ( 不等于)
contains ( 包含)
ncontains ( 不包含)
strprefix ( 前缀匹配)
strsuffix ( 后缀匹配)
len_eq ( 长度等于)
len_gt ( 长度大于)
len_lt ( 长度小于)
ipmatch ( 属于)
ipnmatch ( 不属于)
numgt ( 数值大于)
numlt ( 数值小于)
numeq ( 数值等于)
geo_in ( IP地理属于)
geo_not_in ( IP地理不属于)
各匹配字段对应的逻辑符号不同,详见上述匹配字段表格
:type CompareFunc: str
:param _Content: 匹配内容
目前 当匹配字段为COOKIE(Cookie)时,不需要输入 匹配内容其他都需要
:type Content: str
:param _Arg: 匹配参数
配置参数一共分2种类型 不支持参数与支持参数
当匹配字段为以下4个时,匹配参数才能录入,否则不支持该参数
GET(GET参数值)
POST(POST参数值)
ARGS_COOKIE(Cookie参数值)
ARGS_HEADER(Header参数值)
:type Arg: str
:param _CaseNotSensitive: 0:大小写敏感
1:大小写不敏感
:type CaseNotSensitive: int
"""
self._Field = None
self._CompareFunc = None
self._Content = None
self._Arg = None
self._CaseNotSensitive = None
@property
def Field(self):
"""匹配字段
匹配字段不同,相应的匹配参数、逻辑符号、匹配内容有所不同具体如下所示:
<table><thead><tr><th>匹配字段</th><th>匹配参数</th><th>逻辑符号</th><th>匹配内容</th></tr></thead><tbody><tr><td>IP(来源IP)</td><td>不支持参数</td><td>ipmatch(匹配)<br/>ipnmatch(不匹配)</td><td>多个IP以英文逗号隔开,最多20个</td></tr><tr><td>IPV6(来源IPv6)</td><td>不支持参数</td><td>ipmatch(匹配)<br/>ipnmatch(不匹配)</td><td>支持单个IPV6地址</td></tr><tr><td>Referer(Referer)</td><td>不支持参数</td><td>empty(内容为空)<br/>null(不存在)<br/>eq(等于)<br/>neq(不等于)<br/>contains(包含)<br/>ncontains(不包含)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)<br/>rematch(正则匹配)</td><td>请输入内容,512个字符以内</td></tr><tr><td>URL(请求路径)</td><td>不支持参数</td><td>eq(等于)<br/>neq(不等于)<br/>contains(包含)<br/>ncontains(不包含)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)<br/>rematch(正则匹配)<br/></td><td>请以/开头,512个字符以内</td></tr><tr><td>UserAgent(UserAgent)</td><td>不支持参数</td><td>同匹配字段<font color="Red">Referer</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>HTTP_METHOD(HTTP请求方法)</td><td>不支持参数</td><td>eq(等于)<br/>neq(不等于)</td><td>请输入方法名称,建议大写</td></tr><tr><td>QUERY_STRING(请求字符串)</td><td>不支持参数</td><td>同匹配字段<font color="Red">请求路径</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>GET(GET参数值)</td><td>支持参数录入</td><td>contains(包含)<br/>ncontains(不包含)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)</td><td>请输入内容,512个字符以内</td></tr><tr><td>GET_PARAMS_NAMES(GET参数名)</td><td>不支持参数</td><td>exsit(存在参数)<br/>nexsit(不存在参数)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)</td><td>请输入内容,512个字符以内</td></tr><tr><td>POST(POST参数值)</td><td>支持参数录入</td><td>同匹配字段<font color="Red">GET参数值</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>GET_POST_NAMES(POST参数名)</td><td>不支持参数</td><td>同匹配字段<font color="Red">GET参数名</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>POST_BODY(完整BODY)</td><td>不支持参数</td><td>同匹配字段<font color="Red">请求路径</font>逻辑符号</td><td>请输入BODY内容,512个字符以内</td></tr><tr><td>COOKIE(Cookie)</td><td>不支持参数</td><td>empty(内容为空)<br/>null(不存在)<br/>rematch(正则匹配)</td><td><font color="Red">暂不支持</font></td></tr><tr><td>GET_COOKIES_NAMES(Cookie参数名)</td><td>不支持参数</td><td>同匹配字段<font color="Red">GET参数名</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>ARGS_COOKIE(Cookie参数值)</td><td>支持参数录入</td><td>同匹配字段<font color="Red">GET参数值</font>逻辑符号</td><td>请输入内容,512个字符以内</td></tr><tr><td>GET_HEADERS_NAMES(Header参数名)</td><td>不支持参数</td><td>exsit(存在参数)<br/>nexsit(不存在参数)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)<br/>rematch(正则匹配)</td><td>请输入内容,建议小写,512个字符以内</td></tr><tr><td>ARGS_HEADER(Header参数值)</td><td>支持参数录入</td><td>contains(包含)<br/>ncontains(不包含)<br/>len_eq(长度等于)<br/>len_gt(长度大于)<br/>len_lt(长度小于)<br/>strprefix(前缀匹配)<br/>strsuffix(后缀匹配)<br/>rematch(正则匹配)</td><td>请输入内容,512个字符以内</td></tr><tr><td>CONTENT_LENGTH(Content-length)</td><td>支持参数录入</td><td>numgt(数值大于)<br/>numlt(数值小于)<br/>numeq(数值等于)<br/></td><td>请输入0-9999999999999之间的整数</td></tr><tr><td>IP_GEO(来源IP归属地)</td><td>支持参数录入</td><td>geo_in(属于)<br/>geo_not_in(不属于)<br/></td><td>请输入内容,10240字符以内,格式为序列化的JSON,格式为:[{"Country":"中国","Region":"广东","City":"深圳"}]</td></tr>
</tbody></table>
:rtype: str
"""
return self._Field
@Field.setter
def Field(self, Field):
self._Field = Field
@property
def CompareFunc(self):
"""逻辑符号
逻辑符号一共分为以下几种类型:
empty ( 内容为空)
null (不存在)
eq ( 等于)
neq ( 不等于)
contains ( 包含)
ncontains ( 不包含)
strprefix ( 前缀匹配)
strsuffix ( 后缀匹配)
len_eq ( 长度等于)
len_gt ( 长度大于)
len_lt ( 长度小于)
ipmatch ( 属于)
ipnmatch ( 不属于)
numgt ( 数值大于)
numlt ( 数值小于)
numeq ( 数值等于)
geo_in ( IP地理属于)
geo_not_in ( IP地理不属于)
各匹配字段对应的逻辑符号不同,详见上述匹配字段表格
:rtype: str
"""
return self._CompareFunc
@CompareFunc.setter
def CompareFunc(self, CompareFunc):
self._CompareFunc = CompareFunc
@property
def Content(self):
"""匹配内容
目前 当匹配字段为COOKIE(Cookie)时,不需要输入 匹配内容其他都需要
:rtype: str
"""
return self._Content
@Content.setter
def Content(self, Content):
self._Content = Content
@property
def Arg(self):
"""匹配参数
配置参数一共分2种类型 不支持参数与支持参数
当匹配字段为以下4个时,匹配参数才能录入,否则不支持该参数
GET(GET参数值)
POST(POST参数值)
ARGS_COOKIE(Cookie参数值)
ARGS_HEADER(Header参数值)
:rtype: str
"""
return self._Arg
@Arg.setter
def Arg(self, Arg):
self._Arg = Arg
@property
def CaseNotSensitive(self):
"""0:大小写敏感
1:大小写不敏感
:rtype: int
"""
return self._CaseNotSensitive
@CaseNotSensitive.setter
def CaseNotSensitive(self, CaseNotSensitive):
self._CaseNotSensitive = CaseNotSensitive
def _deserialize(self, params):
self._Field = params.get("Field")
self._CompareFunc = params.get("CompareFunc")
self._Content = params.get("Content")
self._Arg = params.get("Arg")
self._CaseNotSensitive = params.get("CaseNotSensitive")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StrategyForAntiInfoLeak(AbstractModel):
"""防信息泄露的匹配条件结构体
"""
def __init__(self):
r"""
:param _Field: 匹配条件,returncode(响应码)、keywords(关键字)、information(敏感信息)
:type Field: str
:param _CompareFunc: 逻辑符号,固定取值为contains
:type CompareFunc: str
:param _Content: 匹配内容。
以下三个对应Field为information时可取的匹配内容:
idcard(身份证)、phone(手机号)、bankcard(银行卡)。
以下为对应Field为returncode时可取的匹配内容:
400(状态码400)、403(状态码403)、404(状态码404)、4xx(其它4xx状态码)、500(状态码500)、501(状态码501)、502(状态码502)、504(状态码504)、5xx(其它5xx状态码)。
当对应Field为keywords时由用户自己输入匹配内容。
:type Content: str
"""
self._Field = None
self._CompareFunc = None
self._Content = None
@property
def Field(self):
"""匹配条件,returncode(响应码)、keywords(关键字)、information(敏感信息)
:rtype: str
"""
return self._Field
@Field.setter
def Field(self, Field):
self._Field = Field
@property
def CompareFunc(self):
"""逻辑符号,固定取值为contains
:rtype: str
"""
return self._CompareFunc
@CompareFunc.setter
def CompareFunc(self, CompareFunc):
self._CompareFunc = CompareFunc
@property
def Content(self):
"""匹配内容。
以下三个对应Field为information时可取的匹配内容:
idcard(身份证)、phone(手机号)、bankcard(银行卡)。
以下为对应Field为returncode时可取的匹配内容:
400(状态码400)、403(状态码403)、404(状态码404)、4xx(其它4xx状态码)、500(状态码500)、501(状态码501)、502(状态码502)、504(状态码504)、5xx(其它5xx状态码)。
当对应Field为keywords时由用户自己输入匹配内容。
:rtype: str
"""
return self._Content
@Content.setter
def Content(self, Content):
self._Content = Content
def _deserialize(self, params):
self._Field = params.get("Field")
self._CompareFunc = params.get("CompareFunc")
self._Content = params.get("Content")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SwitchDomainRulesRequest(AbstractModel):
"""SwitchDomainRules请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Ids: 规则列表
:type Ids: list of int non-negative
:param _Status: 开关状态,0表示关闭,1表示开启,2表示只观察
:type Status: int
:param _Reason: 设置为观察模式原因,
1表示业务自身原因观察,2表示系统规则误报上报,3表示核心业务灰度观察,4表示其他
:type Reason: int
"""
self._Domain = None
self._Ids = None
self._Status = None
self._Reason = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Ids(self):
"""规则列表
:rtype: list of int non-negative
"""
return self._Ids
@Ids.setter
def Ids(self, Ids):
self._Ids = Ids
@property
def Status(self):
"""开关状态,0表示关闭,1表示开启,2表示只观察
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Reason(self):
"""设置为观察模式原因,
1表示业务自身原因观察,2表示系统规则误报上报,3表示核心业务灰度观察,4表示其他
:rtype: int
"""
return self._Reason
@Reason.setter
def Reason(self, Reason):
self._Reason = Reason
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Ids = params.get("Ids")
self._Status = params.get("Status")
self._Reason = params.get("Reason")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SwitchDomainRulesResponse(AbstractModel):
"""SwitchDomainRules返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class SwitchElasticModeRequest(AbstractModel):
"""SwitchElasticMode请求参数结构体
"""
def __init__(self):
r"""
:param _Edition: 版本,只能是sparta-waf, clb-waf, cdn-waf
:type Edition: str
:param _Mode: 0代表关闭,1代表打开
:type Mode: int
:param _InstanceID: 实例id
:type InstanceID: str
"""
self._Edition = None
self._Mode = None
self._InstanceID = None
@property
def Edition(self):
"""版本,只能是sparta-waf, clb-waf, cdn-waf
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Mode(self):
"""0代表关闭,1代表打开
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def InstanceID(self):
"""实例id
:rtype: str
"""
return self._InstanceID
@InstanceID.setter
def InstanceID(self, InstanceID):
self._InstanceID = InstanceID
def _deserialize(self, params):
self._Edition = params.get("Edition")
self._Mode = params.get("Mode")
self._InstanceID = params.get("InstanceID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SwitchElasticModeResponse(AbstractModel):
"""SwitchElasticMode返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class TLSCiphers(AbstractModel):
"""TLS 加密套件
"""
def __init__(self):
r"""
:param _VersionId: TLS版本ID
:type VersionId: int
:param _CipherId: 加密套件ID
:type CipherId: int
:param _CipherName: 加密套件
:type CipherName: str
"""
self._VersionId = None
self._CipherId = None
self._CipherName = None
@property
def VersionId(self):
"""TLS版本ID
:rtype: int
"""
return self._VersionId
@VersionId.setter
def VersionId(self, VersionId):
self._VersionId = VersionId
@property
def CipherId(self):
"""加密套件ID
:rtype: int
"""
return self._CipherId
@CipherId.setter
def CipherId(self, CipherId):
self._CipherId = CipherId
@property
def CipherName(self):
"""加密套件
:rtype: str
"""
return self._CipherName
@CipherName.setter
def CipherName(self, CipherName):
self._CipherName = CipherName
def _deserialize(self, params):
self._VersionId = params.get("VersionId")
self._CipherId = params.get("CipherId")
self._CipherName = params.get("CipherName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class TLSVersion(AbstractModel):
"""TLS信息
"""
def __init__(self):
r"""
:param _VersionId: TLSVERSION的ID
:type VersionId: int
:param _VersionName: TLSVERSION的NAME
:type VersionName: str
"""
self._VersionId = None
self._VersionName = None
@property
def VersionId(self):
"""TLSVERSION的ID
:rtype: int
"""
return self._VersionId
@VersionId.setter
def VersionId(self, VersionId):
self._VersionId = VersionId
@property
def VersionName(self):
"""TLSVERSION的NAME
:rtype: str
"""
return self._VersionName
@VersionName.setter
def VersionName(self, VersionName):
self._VersionName = VersionName
def _deserialize(self, params):
self._VersionId = params.get("VersionId")
self._VersionName = params.get("VersionName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class TargetEntity(AbstractModel):
"""需要开启/关闭API安全的 实例+域名 组合实体
"""
def __init__(self):
r"""
:param _InstanceId: 实例ID
:type InstanceId: str
:param _Domain: 域名
:type Domain: str
"""
self._InstanceId = None
self._Domain = None
@property
def InstanceId(self):
"""实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
def _deserialize(self, params):
self._InstanceId = params.get("InstanceId")
self._Domain = params.get("Domain")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class TigaMainClassMode(AbstractModel):
"""Tiga引擎中Mainclass的TypeID和防护模式
"""
def __init__(self):
r"""
:param _TypeID: MainclassID
:type TypeID: str
:param _Mode: 防护模式,0表示观察,1表示拦截
:type Mode: int
"""
self._TypeID = None
self._Mode = None
@property
def TypeID(self):
"""MainclassID
:rtype: str
"""
return self._TypeID
@TypeID.setter
def TypeID(self, TypeID):
self._TypeID = TypeID
@property
def Mode(self):
"""防护模式,0表示观察,1表示拦截
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
def _deserialize(self, params):
self._TypeID = params.get("TypeID")
self._Mode = params.get("Mode")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class TimedJob(AbstractModel):
"""规则定时任务数据结构
"""
def __init__(self):
r"""
:param _StartDateTime: 开始时间戳,单位为秒
:type StartDateTime: int
:param _EndDateTime: 结束时间戳,单位为秒
:type EndDateTime: int
"""
self._StartDateTime = None
self._EndDateTime = None
@property
def StartDateTime(self):
"""开始时间戳,单位为秒
:rtype: int
"""
return self._StartDateTime
@StartDateTime.setter
def StartDateTime(self, StartDateTime):
self._StartDateTime = StartDateTime
@property
def EndDateTime(self):
"""结束时间戳,单位为秒
:rtype: int
"""
return self._EndDateTime
@EndDateTime.setter
def EndDateTime(self, EndDateTime):
self._EndDateTime = EndDateTime
def _deserialize(self, params):
self._StartDateTime = params.get("StartDateTime")
self._EndDateTime = params.get("EndDateTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UpsertCCAutoStatusRequest(AbstractModel):
"""UpsertCCAutoStatus请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Value: 状态值
:type Value: int
:param _Edition: 版本:clb-waf, spart-waf
:type Edition: str
"""
self._Domain = None
self._Value = None
self._Edition = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Value(self):
"""状态值
:rtype: int
"""
return self._Value
@Value.setter
def Value(self, Value):
self._Value = Value
@property
def Edition(self):
"""版本:clb-waf, spart-waf
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Value = params.get("Value")
self._Edition = params.get("Edition")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UpsertCCAutoStatusResponse(AbstractModel):
"""UpsertCCAutoStatus返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 正常情况为null
:type Data: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RequestId = None
@property
def Data(self):
"""正常情况为null
:rtype: str
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Data = params.get("Data")
self._RequestId = params.get("RequestId")
class UpsertCCRuleRequest(AbstractModel):
"""UpsertCCRule请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Name: 名称
:type Name: str
:param _Status: 状态
:type Status: int
:param _Advance: 高级模式(是否使用Session检测),0表示不启用,1表示启用
:type Advance: str
:param _Limit: CC检测阈值
:type Limit: str
:param _Interval: CC检测周期
:type Interval: str
:param _Url: 检测Url
:type Url: str
:param _MatchFunc: 匹配方法,0表示等于,1表示前缀匹配,2表示包含,3表示不等于,6表示后缀匹配,7表示不包含
:type MatchFunc: int
:param _ActionType: 动作,20表示观察,21表示人机识别,22表示拦截,23表示精准拦截,26表示精准人机识别,27表示JS校验
:type ActionType: str
:param _Priority: 优先级
:type Priority: int
:param _ValidTime: 动作有效时间
:type ValidTime: int
:param _OptionsArr: CC的匹配条件JSON序列化的字符串,示例:[{\"key\":\"Method\",\"args\":[\"=R0VU\"],\"match\":\"0\",\"encodeflag\":true}] Key可选值为 Method、Post、Referer、Cookie、User-Agent、CustomHeader match可选值为,当Key为Method的时候可选值为0(等于)、3(不等于)。 Key为Post的时候可选值为0(等于)、3(不等于),Key为Cookie的时候可选值为0(等于)、2(包含),3(不等于)、7(不包含)、 当Key为Referer的时候可选值为0(等于)、3(不等于)、1(前缀匹配)、6(后缀匹配)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空), 当Key为Cookie的时候可选值为0(等于)、3(不等于)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空), 当Key为User-Agent的时候可选值为0(等于)、3(不等于)、1(前缀匹配)、6(后缀匹配)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空), 当Key为CustomHeader的时候可选值为0(等于)、3(不等于)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空)。 args用来表示匹配内容,需要设置encodeflag为true,当Key为Post、Cookie、CustomHeader时,用等号=来分别串接Key和Value,并分别用Base64编码,类似YWJj=YWJj。当Key为Referer、User-Agent时,用等号=来串接Value,类似=YWJj。
:type OptionsArr: str
:param _Edition: waf版本,sparta-waf或者clb-waf
:type Edition: str
:param _Type: 操作类型
:type Type: int
:param _EventId: 添加规则的来源事件id
:type EventId: str
:param _SessionApplied: 规则需要启用的SessionID
:type SessionApplied: list of int
:param _RuleId: 规则ID,新增时填0
:type RuleId: int
:param _CreateTime: 规则创建时间
:type CreateTime: int
:param _Length: url长度
:type Length: int
"""
self._Domain = None
self._Name = None
self._Status = None
self._Advance = None
self._Limit = None
self._Interval = None
self._Url = None
self._MatchFunc = None
self._ActionType = None
self._Priority = None
self._ValidTime = None
self._OptionsArr = None
self._Edition = None
self._Type = None
self._EventId = None
self._SessionApplied = None
self._RuleId = None
self._CreateTime = None
self._Length = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Name(self):
"""名称
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Advance(self):
"""高级模式(是否使用Session检测),0表示不启用,1表示启用
:rtype: str
"""
return self._Advance
@Advance.setter
def Advance(self, Advance):
self._Advance = Advance
@property
def Limit(self):
"""CC检测阈值
:rtype: str
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Interval(self):
"""CC检测周期
:rtype: str
"""
return self._Interval
@Interval.setter
def Interval(self, Interval):
self._Interval = Interval
@property
def Url(self):
"""检测Url
:rtype: str
"""
return self._Url
@Url.setter
def Url(self, Url):
self._Url = Url
@property
def MatchFunc(self):
"""匹配方法,0表示等于,1表示前缀匹配,2表示包含,3表示不等于,6表示后缀匹配,7表示不包含
:rtype: int
"""
return self._MatchFunc
@MatchFunc.setter
def MatchFunc(self, MatchFunc):
self._MatchFunc = MatchFunc
@property
def ActionType(self):
"""动作,20表示观察,21表示人机识别,22表示拦截,23表示精准拦截,26表示精准人机识别,27表示JS校验
:rtype: str
"""
return self._ActionType
@ActionType.setter
def ActionType(self, ActionType):
self._ActionType = ActionType
@property
def Priority(self):
"""优先级
:rtype: int
"""
return self._Priority
@Priority.setter
def Priority(self, Priority):
self._Priority = Priority
@property
def ValidTime(self):
"""动作有效时间
:rtype: int
"""
return self._ValidTime
@ValidTime.setter
def ValidTime(self, ValidTime):
self._ValidTime = ValidTime
@property
def OptionsArr(self):
"""CC的匹配条件JSON序列化的字符串,示例:[{\"key\":\"Method\",\"args\":[\"=R0VU\"],\"match\":\"0\",\"encodeflag\":true}] Key可选值为 Method、Post、Referer、Cookie、User-Agent、CustomHeader match可选值为,当Key为Method的时候可选值为0(等于)、3(不等于)。 Key为Post的时候可选值为0(等于)、3(不等于),Key为Cookie的时候可选值为0(等于)、2(包含),3(不等于)、7(不包含)、 当Key为Referer的时候可选值为0(等于)、3(不等于)、1(前缀匹配)、6(后缀匹配)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空), 当Key为Cookie的时候可选值为0(等于)、3(不等于)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空), 当Key为User-Agent的时候可选值为0(等于)、3(不等于)、1(前缀匹配)、6(后缀匹配)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空), 当Key为CustomHeader的时候可选值为0(等于)、3(不等于)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空)。 args用来表示匹配内容,需要设置encodeflag为true,当Key为Post、Cookie、CustomHeader时,用等号=来分别串接Key和Value,并分别用Base64编码,类似YWJj=YWJj。当Key为Referer、User-Agent时,用等号=来串接Value,类似=YWJj。
:rtype: str
"""
return self._OptionsArr
@OptionsArr.setter
def OptionsArr(self, OptionsArr):
self._OptionsArr = OptionsArr
@property
def Edition(self):
"""waf版本,sparta-waf或者clb-waf
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Type(self):
"""操作类型
:rtype: int
"""
return self._Type
@Type.setter
def Type(self, Type):
self._Type = Type
@property
def EventId(self):
"""添加规则的来源事件id
:rtype: str
"""
return self._EventId
@EventId.setter
def EventId(self, EventId):
self._EventId = EventId
@property
def SessionApplied(self):
"""规则需要启用的SessionID
:rtype: list of int
"""
return self._SessionApplied
@SessionApplied.setter
def SessionApplied(self, SessionApplied):
self._SessionApplied = SessionApplied
@property
def RuleId(self):
"""规则ID,新增时填0
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def CreateTime(self):
"""规则创建时间
:rtype: int
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def Length(self):
"""url长度
:rtype: int
"""
return self._Length
@Length.setter
def Length(self, Length):
self._Length = Length
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Name = params.get("Name")
self._Status = params.get("Status")
self._Advance = params.get("Advance")
self._Limit = params.get("Limit")
self._Interval = params.get("Interval")
self._Url = params.get("Url")
self._MatchFunc = params.get("MatchFunc")
self._ActionType = params.get("ActionType")
self._Priority = params.get("Priority")
self._ValidTime = params.get("ValidTime")
self._OptionsArr = params.get("OptionsArr")
self._Edition = params.get("Edition")
self._Type = params.get("Type")
self._EventId = params.get("EventId")
self._SessionApplied = params.get("SessionApplied")
self._RuleId = params.get("RuleId")
self._CreateTime = params.get("CreateTime")
self._Length = params.get("Length")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UpsertCCRuleResponse(AbstractModel):
"""UpsertCCRule返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 一般为null
:type Data: str
:param _RuleId: 操作的RuleId
:type RuleId: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._RuleId = None
self._RequestId = None
@property
def Data(self):
"""一般为null
:rtype: str
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def RuleId(self):
"""操作的RuleId
:rtype: int
"""
return self._RuleId
@RuleId.setter
def RuleId(self, RuleId):
self._RuleId = RuleId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Data = params.get("Data")
self._RuleId = params.get("RuleId")
self._RequestId = params.get("RequestId")
class UpsertIpAccessControlRequest(AbstractModel):
"""UpsertIpAccessControl请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 具体域名如:test.qcloudwaf.com
全局域名为:global
:type Domain: str
: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: list of str
:param _InstanceId: 实例Id
:type InstanceId: str
:param _Edition: WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF
:type Edition: str
:param _SourceType: 可选值为:batch(批量添加)、bot、cc、custom(非批量添加时的默认值)
:type SourceType: str
"""
self._Domain = None
self._Items = None
self._InstanceId = None
self._Edition = None
self._SourceType = None
@property
def Domain(self):
"""具体域名如:test.qcloudwaf.com
全局域名为:global
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Items(self):
"""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))
:rtype: list of str
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
@property
def InstanceId(self):
"""实例Id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Edition(self):
"""WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def SourceType(self):
"""可选值为:batch(批量添加)、bot、cc、custom(非批量添加时的默认值)
:rtype: str
"""
return self._SourceType
@SourceType.setter
def SourceType(self, SourceType):
self._SourceType = SourceType
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Items = params.get("Items")
self._InstanceId = params.get("InstanceId")
self._Edition = params.get("Edition")
self._SourceType = params.get("SourceType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UpsertIpAccessControlResponse(AbstractModel):
"""UpsertIpAccessControl返回参数结构体
"""
def __init__(self):
r"""
:param _FailedItems: 添加或修改失败的条目
:type FailedItems: str
:param _FailedCount: 添加或修改失败的数目
:type FailedCount: int
:param _Ids: 添加或修改的IP数据Id列表
:type Ids: list of str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._FailedItems = None
self._FailedCount = None
self._Ids = None
self._RequestId = None
@property
def FailedItems(self):
"""添加或修改失败的条目
:rtype: str
"""
return self._FailedItems
@FailedItems.setter
def FailedItems(self, FailedItems):
self._FailedItems = FailedItems
@property
def FailedCount(self):
"""添加或修改失败的数目
:rtype: int
"""
return self._FailedCount
@FailedCount.setter
def FailedCount(self, FailedCount):
self._FailedCount = FailedCount
@property
def Ids(self):
"""添加或修改的IP数据Id列表
:rtype: list of str
"""
return self._Ids
@Ids.setter
def Ids(self, Ids):
self._Ids = Ids
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._FailedItems = params.get("FailedItems")
self._FailedCount = params.get("FailedCount")
self._Ids = params.get("Ids")
self._RequestId = params.get("RequestId")
class UpsertSessionRequest(AbstractModel):
"""UpsertSession请求参数结构体
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Source: session来源位置
:type Source: str
:param _Category: 提取类别
:type Category: str
:param _KeyOrStartMat: 提取key或者起始匹配模式
:type KeyOrStartMat: str
:param _EndMat: 结束匹配模式
:type EndMat: str
:param _StartOffset: 起始偏移位置
:type StartOffset: str
:param _EndOffset: 结束偏移位置
:type EndOffset: str
:param _Edition: 版本
:type Edition: str
:param _SessionName: Session名
:type SessionName: str
:param _SessionID: Session对应ID
:type SessionID: int
"""
self._Domain = None
self._Source = None
self._Category = None
self._KeyOrStartMat = None
self._EndMat = None
self._StartOffset = None
self._EndOffset = None
self._Edition = None
self._SessionName = None
self._SessionID = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Source(self):
"""session来源位置
:rtype: str
"""
return self._Source
@Source.setter
def Source(self, Source):
self._Source = Source
@property
def Category(self):
"""提取类别
:rtype: str
"""
return self._Category
@Category.setter
def Category(self, Category):
self._Category = Category
@property
def KeyOrStartMat(self):
"""提取key或者起始匹配模式
:rtype: str
"""
return self._KeyOrStartMat
@KeyOrStartMat.setter
def KeyOrStartMat(self, KeyOrStartMat):
self._KeyOrStartMat = KeyOrStartMat
@property
def EndMat(self):
"""结束匹配模式
:rtype: str
"""
return self._EndMat
@EndMat.setter
def EndMat(self, EndMat):
self._EndMat = EndMat
@property
def StartOffset(self):
"""起始偏移位置
:rtype: str
"""
return self._StartOffset
@StartOffset.setter
def StartOffset(self, StartOffset):
self._StartOffset = StartOffset
@property
def EndOffset(self):
"""结束偏移位置
:rtype: str
"""
return self._EndOffset
@EndOffset.setter
def EndOffset(self, EndOffset):
self._EndOffset = EndOffset
@property
def Edition(self):
"""版本
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def SessionName(self):
"""Session名
:rtype: str
"""
return self._SessionName
@SessionName.setter
def SessionName(self, SessionName):
self._SessionName = SessionName
@property
def SessionID(self):
"""Session对应ID
:rtype: int
"""
return self._SessionID
@SessionID.setter
def SessionID(self, SessionID):
self._SessionID = SessionID
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Source = params.get("Source")
self._Category = params.get("Category")
self._KeyOrStartMat = params.get("KeyOrStartMat")
self._EndMat = params.get("EndMat")
self._StartOffset = params.get("StartOffset")
self._EndOffset = params.get("EndOffset")
self._Edition = params.get("Edition")
self._SessionName = params.get("SessionName")
self._SessionID = params.get("SessionID")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UpsertSessionResponse(AbstractModel):
"""UpsertSession返回参数结构体
"""
def __init__(self):
r"""
:param _Data: 结果
:type Data: str
:param _SessionID: SessionID
:type SessionID: int
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Data = None
self._SessionID = None
self._RequestId = None
@property
def Data(self):
"""结果
:rtype: str
"""
return self._Data
@Data.setter
def Data(self, Data):
self._Data = Data
@property
def SessionID(self):
"""SessionID
:rtype: int
"""
return self._SessionID
@SessionID.setter
def SessionID(self, SessionID):
self._SessionID = SessionID
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Data = params.get("Data")
self._SessionID = params.get("SessionID")
self._RequestId = params.get("RequestId")
class UpstreamRule(AbstractModel):
"""SAASWAF规则回源时的规则数据结构
"""
def __init__(self):
r"""
:param _KeyName: 匹配的关键字。目前支持host、uri两种
:type KeyName: str
:param _Symbol: 逻辑符号。
equal:等于
not equal:不等于
belong:属于
not belong:不属于
:type Symbol: str
:param _ContentList: 匹配的内容。equal和not equal时,数组只能有一个元素
:type ContentList: list of str
:param _AddressList: 规则匹配后生效的回源地址。
:type AddressList: list of str
:param _BalanceType: 回源负载均衡类型,仅多个回源地址时生效。
0:轮询
1:IP_HASH
:type BalanceType: int
"""
self._KeyName = None
self._Symbol = None
self._ContentList = None
self._AddressList = None
self._BalanceType = None
@property
def KeyName(self):
"""匹配的关键字。目前支持host、uri两种
:rtype: str
"""
return self._KeyName
@KeyName.setter
def KeyName(self, KeyName):
self._KeyName = KeyName
@property
def Symbol(self):
"""逻辑符号。
equal:等于
not equal:不等于
belong:属于
not belong:不属于
:rtype: str
"""
return self._Symbol
@Symbol.setter
def Symbol(self, Symbol):
self._Symbol = Symbol
@property
def ContentList(self):
"""匹配的内容。equal和not equal时,数组只能有一个元素
:rtype: list of str
"""
return self._ContentList
@ContentList.setter
def ContentList(self, ContentList):
self._ContentList = ContentList
@property
def AddressList(self):
"""规则匹配后生效的回源地址。
:rtype: list of str
"""
return self._AddressList
@AddressList.setter
def AddressList(self, AddressList):
self._AddressList = AddressList
@property
def BalanceType(self):
"""回源负载均衡类型,仅多个回源地址时生效。
0:轮询
1:IP_HASH
:rtype: int
"""
return self._BalanceType
@BalanceType.setter
def BalanceType(self, BalanceType):
self._BalanceType = BalanceType
def _deserialize(self, params):
self._KeyName = params.get("KeyName")
self._Symbol = params.get("Symbol")
self._ContentList = params.get("ContentList")
self._AddressList = params.get("AddressList")
self._BalanceType = params.get("BalanceType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UserDomainInfo(AbstractModel):
"""saas和clb信息
"""
def __init__(self):
r"""
:param _Appid: 用户id
:type Appid: int
:param _Domain: 域名
:type Domain: str
:param _DomainId: 域名id
:type DomainId: str
:param _InstanceId: 实例id
:type InstanceId: str
:param _InstanceName: 实例名
:type InstanceName: str
:param _Edition: waf类型
:type Edition: str
:param _Level: 版本
:type Level: str
:param _WriteConfig: 指定域名访问日志字段的开关
:type WriteConfig: str
:param _Cls: 指定域名是否写cls的开关 1:写 0:不写
:type Cls: int
:param _CloudType: 标记是否是混合云接入。hybrid表示混合云接入域名
:type CloudType: str
:param _AlbType: 标记clbwaf类型
:type AlbType: str
:param _BotStatus: BOT开关状态
:type BotStatus: int
:param _ApiStatus: API开关状态
:type ApiStatus: int
"""
self._Appid = None
self._Domain = None
self._DomainId = None
self._InstanceId = None
self._InstanceName = None
self._Edition = None
self._Level = None
self._WriteConfig = None
self._Cls = None
self._CloudType = None
self._AlbType = None
self._BotStatus = None
self._ApiStatus = None
@property
def Appid(self):
"""用户id
:rtype: int
"""
return self._Appid
@Appid.setter
def Appid(self, Appid):
self._Appid = Appid
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def DomainId(self):
"""域名id
:rtype: str
"""
return self._DomainId
@DomainId.setter
def DomainId(self, DomainId):
self._DomainId = DomainId
@property
def InstanceId(self):
"""实例id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def InstanceName(self):
"""实例名
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def Edition(self):
"""waf类型
:rtype: str
"""
return self._Edition
@Edition.setter
def Edition(self, Edition):
self._Edition = Edition
@property
def Level(self):
"""版本
:rtype: str
"""
return self._Level
@Level.setter
def Level(self, Level):
self._Level = Level
@property
def WriteConfig(self):
"""指定域名访问日志字段的开关
:rtype: str
"""
return self._WriteConfig
@WriteConfig.setter
def WriteConfig(self, WriteConfig):
self._WriteConfig = WriteConfig
@property
def Cls(self):
"""指定域名是否写cls的开关 1:写 0:不写
:rtype: int
"""
return self._Cls
@Cls.setter
def Cls(self, Cls):
self._Cls = Cls
@property
def CloudType(self):
"""标记是否是混合云接入。hybrid表示混合云接入域名
:rtype: str
"""
return self._CloudType
@CloudType.setter
def CloudType(self, CloudType):
self._CloudType = CloudType
@property
def AlbType(self):
"""标记clbwaf类型
:rtype: str
"""
return self._AlbType
@AlbType.setter
def AlbType(self, AlbType):
self._AlbType = AlbType
@property
def BotStatus(self):
"""BOT开关状态
:rtype: int
"""
return self._BotStatus
@BotStatus.setter
def BotStatus(self, BotStatus):
self._BotStatus = BotStatus
@property
def ApiStatus(self):
"""API开关状态
:rtype: int
"""
return self._ApiStatus
@ApiStatus.setter
def ApiStatus(self, ApiStatus):
self._ApiStatus = ApiStatus
def _deserialize(self, params):
self._Appid = params.get("Appid")
self._Domain = params.get("Domain")
self._DomainId = params.get("DomainId")
self._InstanceId = params.get("InstanceId")
self._InstanceName = params.get("InstanceName")
self._Edition = params.get("Edition")
self._Level = params.get("Level")
self._WriteConfig = params.get("WriteConfig")
self._Cls = params.get("Cls")
self._CloudType = params.get("CloudType")
self._AlbType = params.get("AlbType")
self._BotStatus = params.get("BotStatus")
self._ApiStatus = params.get("ApiStatus")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UserSignatureRule(AbstractModel):
"""用户特征规则描述
"""
def __init__(self):
r"""
:param _ID: 特征ID
:type ID: str
:param _Status: 规则开关
:type Status: int
:param _MainClassID: 主类ID
:type MainClassID: str
:param _SubClassID: 子类ID
:type SubClassID: str
:param _CveID: CVE ID
:type CveID: str
:param _CreateTime: 创建时间
:type CreateTime: str
:param _ModifyTime: 更新时间
:type ModifyTime: str
:param _MainClassName: 主类名字,根据Language字段输出中文/英文
:type MainClassName: str
:param _SubClassName: 子类名字,根据Language字段输出中文/英文,若子类id为00000000,此字段为空
:type SubClassName: str
:param _Description: 规则描述
:type Description: str
:param _Reason: 0/1
:type Reason: int
:param _RiskLevel: 1: 高危 2:中危 3:低危
:type RiskLevel: int
"""
self._ID = None
self._Status = None
self._MainClassID = None
self._SubClassID = None
self._CveID = None
self._CreateTime = None
self._ModifyTime = None
self._MainClassName = None
self._SubClassName = None
self._Description = None
self._Reason = None
self._RiskLevel = None
@property
def ID(self):
"""特征ID
:rtype: str
"""
return self._ID
@ID.setter
def ID(self, ID):
self._ID = ID
@property
def Status(self):
"""规则开关
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def MainClassID(self):
"""主类ID
:rtype: str
"""
return self._MainClassID
@MainClassID.setter
def MainClassID(self, MainClassID):
self._MainClassID = MainClassID
@property
def SubClassID(self):
"""子类ID
:rtype: str
"""
return self._SubClassID
@SubClassID.setter
def SubClassID(self, SubClassID):
self._SubClassID = SubClassID
@property
def CveID(self):
"""CVE ID
:rtype: str
"""
return self._CveID
@CveID.setter
def CveID(self, CveID):
self._CveID = CveID
@property
def CreateTime(self):
"""创建时间
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def ModifyTime(self):
"""更新时间
:rtype: str
"""
return self._ModifyTime
@ModifyTime.setter
def ModifyTime(self, ModifyTime):
self._ModifyTime = ModifyTime
@property
def MainClassName(self):
"""主类名字,根据Language字段输出中文/英文
:rtype: str
"""
return self._MainClassName
@MainClassName.setter
def MainClassName(self, MainClassName):
self._MainClassName = MainClassName
@property
def SubClassName(self):
"""子类名字,根据Language字段输出中文/英文,若子类id为00000000,此字段为空
:rtype: str
"""
return self._SubClassName
@SubClassName.setter
def SubClassName(self, SubClassName):
self._SubClassName = SubClassName
@property
def Description(self):
"""规则描述
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
@property
def Reason(self):
"""0/1
:rtype: int
"""
return self._Reason
@Reason.setter
def Reason(self, Reason):
self._Reason = Reason
@property
def RiskLevel(self):
"""1: 高危 2:中危 3:低危
:rtype: int
"""
return self._RiskLevel
@RiskLevel.setter
def RiskLevel(self, RiskLevel):
self._RiskLevel = RiskLevel
def _deserialize(self, params):
self._ID = params.get("ID")
self._Status = params.get("Status")
self._MainClassID = params.get("MainClassID")
self._SubClassID = params.get("SubClassID")
self._CveID = params.get("CveID")
self._CreateTime = params.get("CreateTime")
self._ModifyTime = params.get("ModifyTime")
self._MainClassName = params.get("MainClassName")
self._SubClassName = params.get("SubClassName")
self._Description = params.get("Description")
self._Reason = params.get("Reason")
self._RiskLevel = params.get("RiskLevel")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UserWhiteRule(AbstractModel):
"""用户规则白名单
"""
def __init__(self):
r"""
:param _WhiteRuleId: 白名单的id
:type WhiteRuleId: int
:param _SignatureId: 规则id
:type SignatureId: str
:param _Status: 状态
:type Status: int
:param _MatchField: 匹配域
:type MatchField: str
:param _MatchParams: 匹配参数
:type MatchParams: str
:param _MatchMethod: 匹配方法
:type MatchMethod: str
:param _MatchContent: 匹配内容
:type MatchContent: str
:param _CreateTime: 创建时间
:type CreateTime: str
:param _ModifyTime: 修改时间
:type ModifyTime: str
:param _SignatureIds: 规则ID列表
:type SignatureIds: list of str
:param _TypeIds: 大类规则ID列表
:type TypeIds: list of str
:param _TypeId: 大类规则ID
:type TypeId: str
:param _Mode: 0:按照特定规则ID加白, 1:按照规则类型加白
:type Mode: int
:param _Name: 规则名
:type Name: str
:param _MatchInfo: 匹配规则列表
:type MatchInfo: list of UserWhiteRuleItem
:param _MatchInfoStr: MatchInfo字符串
:type MatchInfoStr: str
"""
self._WhiteRuleId = None
self._SignatureId = None
self._Status = None
self._MatchField = None
self._MatchParams = None
self._MatchMethod = None
self._MatchContent = None
self._CreateTime = None
self._ModifyTime = None
self._SignatureIds = None
self._TypeIds = None
self._TypeId = None
self._Mode = None
self._Name = None
self._MatchInfo = None
self._MatchInfoStr = None
@property
def WhiteRuleId(self):
"""白名单的id
:rtype: int
"""
return self._WhiteRuleId
@WhiteRuleId.setter
def WhiteRuleId(self, WhiteRuleId):
self._WhiteRuleId = WhiteRuleId
@property
def SignatureId(self):
"""规则id
:rtype: str
"""
return self._SignatureId
@SignatureId.setter
def SignatureId(self, SignatureId):
self._SignatureId = SignatureId
@property
def Status(self):
"""状态
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def MatchField(self):
"""匹配域
:rtype: str
"""
return self._MatchField
@MatchField.setter
def MatchField(self, MatchField):
self._MatchField = MatchField
@property
def MatchParams(self):
"""匹配参数
:rtype: str
"""
return self._MatchParams
@MatchParams.setter
def MatchParams(self, MatchParams):
self._MatchParams = MatchParams
@property
def MatchMethod(self):
"""匹配方法
:rtype: str
"""
return self._MatchMethod
@MatchMethod.setter
def MatchMethod(self, MatchMethod):
self._MatchMethod = MatchMethod
@property
def MatchContent(self):
"""匹配内容
:rtype: str
"""
return self._MatchContent
@MatchContent.setter
def MatchContent(self, MatchContent):
self._MatchContent = MatchContent
@property
def CreateTime(self):
"""创建时间
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def ModifyTime(self):
"""修改时间
:rtype: str
"""
return self._ModifyTime
@ModifyTime.setter
def ModifyTime(self, ModifyTime):
self._ModifyTime = ModifyTime
@property
def SignatureIds(self):
"""规则ID列表
:rtype: list of str
"""
return self._SignatureIds
@SignatureIds.setter
def SignatureIds(self, SignatureIds):
self._SignatureIds = SignatureIds
@property
def TypeIds(self):
"""大类规则ID列表
:rtype: list of str
"""
return self._TypeIds
@TypeIds.setter
def TypeIds(self, TypeIds):
self._TypeIds = TypeIds
@property
def TypeId(self):
"""大类规则ID
:rtype: str
"""
return self._TypeId
@TypeId.setter
def TypeId(self, TypeId):
self._TypeId = TypeId
@property
def Mode(self):
"""0:按照特定规则ID加白, 1:按照规则类型加白
:rtype: int
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Name(self):
"""规则名
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
@property
def MatchInfo(self):
"""匹配规则列表
:rtype: list of UserWhiteRuleItem
"""
return self._MatchInfo
@MatchInfo.setter
def MatchInfo(self, MatchInfo):
self._MatchInfo = MatchInfo
@property
def MatchInfoStr(self):
"""MatchInfo字符串
:rtype: str
"""
return self._MatchInfoStr
@MatchInfoStr.setter
def MatchInfoStr(self, MatchInfoStr):
self._MatchInfoStr = MatchInfoStr
def _deserialize(self, params):
self._WhiteRuleId = params.get("WhiteRuleId")
self._SignatureId = params.get("SignatureId")
self._Status = params.get("Status")
self._MatchField = params.get("MatchField")
self._MatchParams = params.get("MatchParams")
self._MatchMethod = params.get("MatchMethod")
self._MatchContent = params.get("MatchContent")
self._CreateTime = params.get("CreateTime")
self._ModifyTime = params.get("ModifyTime")
self._SignatureIds = params.get("SignatureIds")
self._TypeIds = params.get("TypeIds")
self._TypeId = params.get("TypeId")
self._Mode = params.get("Mode")
self._Name = params.get("Name")
if params.get("MatchInfo") is not None:
self._MatchInfo = []
for item in params.get("MatchInfo"):
obj = UserWhiteRuleItem()
obj._deserialize(item)
self._MatchInfo.append(obj)
self._MatchInfoStr = params.get("MatchInfoStr")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class UserWhiteRuleItem(AbstractModel):
"""用户规则白名单规则子项
"""
def __init__(self):
r"""
:param _MatchField: 匹配域
:type MatchField: str
:param _MatchMethod: 匹配方法
:type MatchMethod: str
:param _MatchContent: 匹配内容
:type MatchContent: str
:param _MatchParams: 匹配参数名
:type MatchParams: str
"""
self._MatchField = None
self._MatchMethod = None
self._MatchContent = None
self._MatchParams = None
@property
def MatchField(self):
"""匹配域
:rtype: str
"""
return self._MatchField
@MatchField.setter
def MatchField(self, MatchField):
self._MatchField = MatchField
@property
def MatchMethod(self):
"""匹配方法
:rtype: str
"""
return self._MatchMethod
@MatchMethod.setter
def MatchMethod(self, MatchMethod):
self._MatchMethod = MatchMethod
@property
def MatchContent(self):
"""匹配内容
:rtype: str
"""
return self._MatchContent
@MatchContent.setter
def MatchContent(self, MatchContent):
self._MatchContent = MatchContent
@property
def MatchParams(self):
"""匹配参数名
:rtype: str
"""
return self._MatchParams
@MatchParams.setter
def MatchParams(self, MatchParams):
self._MatchParams = MatchParams
def _deserialize(self, params):
self._MatchField = params.get("MatchField")
self._MatchMethod = params.get("MatchMethod")
self._MatchContent = params.get("MatchContent")
self._MatchParams = params.get("MatchParams")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class VipInfo(AbstractModel):
"""Vip信息
"""
def __init__(self):
r"""
:param _Vip: VIP地址
:type Vip: str
:param _InstanceId: waf实例id
:type InstanceId: str
:param _InstanceCreateTime: 创建时间
:type InstanceCreateTime: str
:param _Region: 地域
:type Region: str
:param _RegionId: 地域ID
:type RegionId: int
:param _ISP: ip运营商类型
:type ISP: str
:param _VipType: ip类型
:type VipType: str
:param _AddressName: 域名信息
:type AddressName: str
"""
self._Vip = None
self._InstanceId = None
self._InstanceCreateTime = None
self._Region = None
self._RegionId = None
self._ISP = None
self._VipType = None
self._AddressName = None
@property
def Vip(self):
"""VIP地址
:rtype: str
"""
return self._Vip
@Vip.setter
def Vip(self, Vip):
self._Vip = Vip
@property
def InstanceId(self):
"""waf实例id
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def InstanceCreateTime(self):
"""创建时间
:rtype: str
"""
return self._InstanceCreateTime
@InstanceCreateTime.setter
def InstanceCreateTime(self, InstanceCreateTime):
self._InstanceCreateTime = InstanceCreateTime
@property
def Region(self):
"""地域
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def RegionId(self):
"""地域ID
:rtype: int
"""
return self._RegionId
@RegionId.setter
def RegionId(self, RegionId):
self._RegionId = RegionId
@property
def ISP(self):
"""ip运营商类型
:rtype: str
"""
return self._ISP
@ISP.setter
def ISP(self, ISP):
self._ISP = ISP
@property
def VipType(self):
"""ip类型
:rtype: str
"""
return self._VipType
@VipType.setter
def VipType(self, VipType):
self._VipType = VipType
@property
def AddressName(self):
"""域名信息
:rtype: str
"""
return self._AddressName
@AddressName.setter
def AddressName(self, AddressName):
self._AddressName = AddressName
def _deserialize(self, params):
self._Vip = params.get("Vip")
self._InstanceId = params.get("InstanceId")
self._InstanceCreateTime = params.get("InstanceCreateTime")
self._Region = params.get("Region")
self._RegionId = params.get("RegionId")
self._ISP = params.get("ISP")
self._VipType = params.get("VipType")
self._AddressName = params.get("AddressName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class WafRuleLimit(AbstractModel):
"""waf模块的规格
"""
def __init__(self):
r"""
:param _CC: 自定义CC的规格
:type CC: int
:param _CustomRule: 自定义策略的规格
:type CustomRule: int
:param _IPControl: 黑白名单的规格
:type IPControl: int
:param _AntiLeak: 信息防泄漏的规格
:type AntiLeak: int
:param _AntiTamper: 防篡改的规格
:type AntiTamper: int
:param _AutoCC: 紧急CC的规格
:type AutoCC: int
:param _AreaBan: 地域封禁的规格
:type AreaBan: int
:param _CCSession: 自定义CC中配置session
:type CCSession: int
:param _AI: AI的规格
:type AI: int
:param _CustomWhite: 精准白名单的规格
:type CustomWhite: int
:param _ApiSecurity: api安全的规格
:type ApiSecurity: int
:param _ClientMsg: 客户端流量标记的规格
:type ClientMsg: int
:param _TrafficMarking: 流量标记的规格
:type TrafficMarking: int
"""
self._CC = None
self._CustomRule = None
self._IPControl = None
self._AntiLeak = None
self._AntiTamper = None
self._AutoCC = None
self._AreaBan = None
self._CCSession = None
self._AI = None
self._CustomWhite = None
self._ApiSecurity = None
self._ClientMsg = None
self._TrafficMarking = None
@property
def CC(self):
"""自定义CC的规格
:rtype: int
"""
return self._CC
@CC.setter
def CC(self, CC):
self._CC = CC
@property
def CustomRule(self):
"""自定义策略的规格
:rtype: int
"""
return self._CustomRule
@CustomRule.setter
def CustomRule(self, CustomRule):
self._CustomRule = CustomRule
@property
def IPControl(self):
"""黑白名单的规格
:rtype: int
"""
return self._IPControl
@IPControl.setter
def IPControl(self, IPControl):
self._IPControl = IPControl
@property
def AntiLeak(self):
"""信息防泄漏的规格
:rtype: int
"""
return self._AntiLeak
@AntiLeak.setter
def AntiLeak(self, AntiLeak):
self._AntiLeak = AntiLeak
@property
def AntiTamper(self):
"""防篡改的规格
:rtype: int
"""
return self._AntiTamper
@AntiTamper.setter
def AntiTamper(self, AntiTamper):
self._AntiTamper = AntiTamper
@property
def AutoCC(self):
"""紧急CC的规格
:rtype: int
"""
return self._AutoCC
@AutoCC.setter
def AutoCC(self, AutoCC):
self._AutoCC = AutoCC
@property
def AreaBan(self):
"""地域封禁的规格
:rtype: int
"""
return self._AreaBan
@AreaBan.setter
def AreaBan(self, AreaBan):
self._AreaBan = AreaBan
@property
def CCSession(self):
"""自定义CC中配置session
:rtype: int
"""
return self._CCSession
@CCSession.setter
def CCSession(self, CCSession):
self._CCSession = CCSession
@property
def AI(self):
"""AI的规格
:rtype: int
"""
return self._AI
@AI.setter
def AI(self, AI):
self._AI = AI
@property
def CustomWhite(self):
"""精准白名单的规格
:rtype: int
"""
return self._CustomWhite
@CustomWhite.setter
def CustomWhite(self, CustomWhite):
self._CustomWhite = CustomWhite
@property
def ApiSecurity(self):
"""api安全的规格
:rtype: int
"""
return self._ApiSecurity
@ApiSecurity.setter
def ApiSecurity(self, ApiSecurity):
self._ApiSecurity = ApiSecurity
@property
def ClientMsg(self):
"""客户端流量标记的规格
:rtype: int
"""
return self._ClientMsg
@ClientMsg.setter
def ClientMsg(self, ClientMsg):
self._ClientMsg = ClientMsg
@property
def TrafficMarking(self):
"""流量标记的规格
:rtype: int
"""
return self._TrafficMarking
@TrafficMarking.setter
def TrafficMarking(self, TrafficMarking):
self._TrafficMarking = TrafficMarking
def _deserialize(self, params):
self._CC = params.get("CC")
self._CustomRule = params.get("CustomRule")
self._IPControl = params.get("IPControl")
self._AntiLeak = params.get("AntiLeak")
self._AntiTamper = params.get("AntiTamper")
self._AutoCC = params.get("AutoCC")
self._AreaBan = params.get("AreaBan")
self._CCSession = params.get("CCSession")
self._AI = params.get("AI")
self._CustomWhite = params.get("CustomWhite")
self._ApiSecurity = params.get("ApiSecurity")
self._ClientMsg = params.get("ClientMsg")
self._TrafficMarking = params.get("TrafficMarking")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class WafThreatenIntelligenceDetails(AbstractModel):
"""当前WAF威胁情报封禁模块详情
"""
def __init__(self):
r"""
:param _Tags: 封禁属性标签
:type Tags: list of str
:param _DefenseStatus: 封禁模组启用状态
:type DefenseStatus: int
:param _LastUpdateTime: 最后更新时间
:type LastUpdateTime: str
"""
self._Tags = None
self._DefenseStatus = None
self._LastUpdateTime = None
@property
def Tags(self):
"""封禁属性标签
:rtype: list of str
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
@property
def DefenseStatus(self):
"""封禁模组启用状态
:rtype: int
"""
return self._DefenseStatus
@DefenseStatus.setter
def DefenseStatus(self, DefenseStatus):
self._DefenseStatus = DefenseStatus
@property
def LastUpdateTime(self):
"""最后更新时间
:rtype: str
"""
return self._LastUpdateTime
@LastUpdateTime.setter
def LastUpdateTime(self, LastUpdateTime):
self._LastUpdateTime = LastUpdateTime
def _deserialize(self, params):
self._Tags = params.get("Tags")
self._DefenseStatus = params.get("DefenseStatus")
self._LastUpdateTime = params.get("LastUpdateTime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class WebshellStatus(AbstractModel):
"""域名的webshell开启状态
"""
def __init__(self):
r"""
:param _Domain: 域名
:type Domain: str
:param _Status: webshell开关,1:开。0:关。2:观察
:type Status: int
"""
self._Domain = None
self._Status = None
@property
def Domain(self):
"""域名
:rtype: str
"""
return self._Domain
@Domain.setter
def Domain(self, Domain):
self._Domain = Domain
@property
def Status(self):
"""webshell开关,1:开。0:关。2:观察
:rtype: int
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
self._Domain = params.get("Domain")
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))