tencentcloud-sdk-python-waf 3.1.98__tar.gz → 3.1.100__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/PKG-INFO +2 -2
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/setup.py +1 -1
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud/__init__.py +1 -1
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud/waf/v20180125/errorcodes.py +39 -0
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud/waf/v20180125/models.py +803 -0
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud/waf/v20180125/waf_client.py +46 -0
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud/waf/v20180125/waf_client_async.py +36 -0
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud_sdk_python_waf.egg-info/PKG-INFO +2 -2
- tencentcloud_sdk_python_waf-3.1.100/tencentcloud_sdk_python_waf.egg-info/requires.txt +1 -0
- tencentcloud_sdk_python_waf-3.1.98/tencentcloud_sdk_python_waf.egg-info/requires.txt +0 -1
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/README.rst +0 -0
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/setup.cfg +0 -0
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud/waf/__init__.py +0 -0
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud/waf/v20180125/__init__.py +0 -0
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud_sdk_python_waf.egg-info/SOURCES.txt +0 -0
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud_sdk_python_waf.egg-info/dependency_links.txt +0 -0
- {tencentcloud_sdk_python_waf-3.1.98 → tencentcloud_sdk_python_waf-3.1.100}/tencentcloud_sdk_python_waf.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tencentcloud-sdk-python-waf
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.100
|
|
4
4
|
Summary: Tencent Cloud Waf SDK for Python
|
|
5
5
|
Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
|
|
6
6
|
Author: Tencent Cloud
|
|
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 2.7
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.6
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
-
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.
|
|
18
|
+
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.100
|
|
19
19
|
|
|
20
20
|
============================
|
|
21
21
|
Tencent Cloud SDK for Python
|
|
@@ -8,7 +8,7 @@ ROOT = os.path.dirname(__file__)
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name='tencentcloud-sdk-python-waf',
|
|
11
|
-
install_requires=["tencentcloud-sdk-python-common>=3.1.
|
|
11
|
+
install_requires=["tencentcloud-sdk-python-common>=3.1.100,<4.0.0"],
|
|
12
12
|
|
|
13
13
|
version=tencentcloud.__version__,
|
|
14
14
|
description='Tencent Cloud Waf SDK for Python',
|
|
@@ -197,6 +197,45 @@ INVALIDPARAMETER_QUERYSTRINGSYNTAXERR = 'InvalidParameter.QueryStringSyntaxErr'
|
|
|
197
197
|
# 语法错误:SQL检索语句必须遵循特定的语法规则,如果语法错误,就会导致SQL语句无法执行。例如,缺少关键字、拼写错误、缺少分号等。
|
|
198
198
|
INVALIDPARAMETER_SQLSYNTAXERR = 'InvalidParameter.SQLSyntaxErr'
|
|
199
199
|
|
|
200
|
+
# API Key 已被禁用
|
|
201
|
+
INVALIDPARAMETER_SKILLSCANAPIKEYDISABLED = 'InvalidParameter.SkillScanApiKeyDisabled'
|
|
202
|
+
|
|
203
|
+
# 创建扫描任务失败(服务内部错误)
|
|
204
|
+
INVALIDPARAMETER_SKILLSCANCREATESCANFAILED = 'InvalidParameter.SkillScanCreateScanFailed'
|
|
205
|
+
|
|
206
|
+
# FileData 不是有效的 Base64 编码
|
|
207
|
+
INVALIDPARAMETER_SKILLSCANINVALIDBASE64 = 'InvalidParameter.SkillScanInvalidBase64'
|
|
208
|
+
|
|
209
|
+
# 文件不是有效的 ZIP 格式
|
|
210
|
+
INVALIDPARAMETER_SKILLSCANINVALIDFILEFORMAT = 'InvalidParameter.SkillScanInvalidFileFormat'
|
|
211
|
+
|
|
212
|
+
# 参数校验失败(如 content_hash 格式不合法、缺少必填字段)
|
|
213
|
+
INVALIDPARAMETER_SKILLSCANINVALIDPARAM = 'InvalidParameter.SkillScanInvalidParam'
|
|
214
|
+
|
|
215
|
+
# 请求格式错误(如 Content-Type 不正确、JSON 解析失败)
|
|
216
|
+
INVALIDPARAMETER_SKILLSCANINVALIDREQUEST = 'InvalidParameter.SkillScanInvalidRequest'
|
|
217
|
+
|
|
218
|
+
# 未检测到上传文件
|
|
219
|
+
INVALIDPARAMETER_SKILLSCANNOFILES = 'InvalidParameter.SkillScanNoFiles'
|
|
220
|
+
|
|
221
|
+
# 查询失败(服务内部错误)
|
|
222
|
+
INVALIDPARAMETER_SKILLSCANQUERYFAILED = 'InvalidParameter.SkillScanQueryFailed'
|
|
223
|
+
|
|
224
|
+
# 请求频率超出限制
|
|
225
|
+
INVALIDPARAMETER_SKILLSCANRATELIMITEXCEEDED = 'InvalidParameter.SkillScanRateLimitExceeded'
|
|
226
|
+
|
|
227
|
+
# ServiceId 为空
|
|
228
|
+
INVALIDPARAMETER_SKILLSCANSERVICEIDEMPTY = 'InvalidParameter.SkillScanServiceIdEmpty'
|
|
229
|
+
|
|
230
|
+
# 防护开关未开启
|
|
231
|
+
INVALIDPARAMETER_SKILLSCANSWITCHOFF = 'InvalidParameter.SkillScanSwitchOff'
|
|
232
|
+
|
|
233
|
+
# 触发检测任务失败(服务内部错误)
|
|
234
|
+
INVALIDPARAMETER_SKILLSCANTRIGGERFAILED = 'InvalidParameter.SkillScanTriggerFailed'
|
|
235
|
+
|
|
236
|
+
# API Key 缺失或无效
|
|
237
|
+
INVALIDPARAMETER_SKILLSCANUNAUTHORIZED = 'InvalidParameter.SkillScanUnauthorized'
|
|
238
|
+
|
|
200
239
|
# 当前实例版本不支持开启TLS自定义,请升级到高级版及以上
|
|
201
240
|
INVALIDPARAMETER_SUPPORTTLSCONFFAILED = 'InvalidParameter.SupportTLSConfFailed'
|
|
202
241
|
|
|
@@ -25921,6 +25921,10 @@ class DescribeLLMContentSecCheckRequest(AbstractModel):
|
|
|
25921
25921
|
:type TokenUsage: int
|
|
25922
25922
|
:param _ImageEncode: <p>图片base64编码后的数据,body大小最大支持10M</p>
|
|
25923
25923
|
:type ImageEncode: str
|
|
25924
|
+
:param _ToolName: <p>tool_call 场景工具名称</p>
|
|
25925
|
+
:type ToolName: str
|
|
25926
|
+
:param _ToolArgs: <p>tool_call 场景工具参数</p>
|
|
25927
|
+
:type ToolArgs: str
|
|
25924
25928
|
"""
|
|
25925
25929
|
self._ServiceId = None
|
|
25926
25930
|
self._Type = None
|
|
@@ -25930,6 +25934,8 @@ class DescribeLLMContentSecCheckRequest(AbstractModel):
|
|
|
25930
25934
|
self._UserId = None
|
|
25931
25935
|
self._TokenUsage = None
|
|
25932
25936
|
self._ImageEncode = None
|
|
25937
|
+
self._ToolName = None
|
|
25938
|
+
self._ToolArgs = None
|
|
25933
25939
|
|
|
25934
25940
|
@property
|
|
25935
25941
|
def ServiceId(self):
|
|
@@ -26019,6 +26025,28 @@ class DescribeLLMContentSecCheckRequest(AbstractModel):
|
|
|
26019
26025
|
def ImageEncode(self, ImageEncode):
|
|
26020
26026
|
self._ImageEncode = ImageEncode
|
|
26021
26027
|
|
|
26028
|
+
@property
|
|
26029
|
+
def ToolName(self):
|
|
26030
|
+
r"""<p>tool_call 场景工具名称</p>
|
|
26031
|
+
:rtype: str
|
|
26032
|
+
"""
|
|
26033
|
+
return self._ToolName
|
|
26034
|
+
|
|
26035
|
+
@ToolName.setter
|
|
26036
|
+
def ToolName(self, ToolName):
|
|
26037
|
+
self._ToolName = ToolName
|
|
26038
|
+
|
|
26039
|
+
@property
|
|
26040
|
+
def ToolArgs(self):
|
|
26041
|
+
r"""<p>tool_call 场景工具参数</p>
|
|
26042
|
+
:rtype: str
|
|
26043
|
+
"""
|
|
26044
|
+
return self._ToolArgs
|
|
26045
|
+
|
|
26046
|
+
@ToolArgs.setter
|
|
26047
|
+
def ToolArgs(self, ToolArgs):
|
|
26048
|
+
self._ToolArgs = ToolArgs
|
|
26049
|
+
|
|
26022
26050
|
|
|
26023
26051
|
def _deserialize(self, params):
|
|
26024
26052
|
self._ServiceId = params.get("ServiceId")
|
|
@@ -26029,6 +26057,8 @@ class DescribeLLMContentSecCheckRequest(AbstractModel):
|
|
|
26029
26057
|
self._UserId = params.get("UserId")
|
|
26030
26058
|
self._TokenUsage = params.get("TokenUsage")
|
|
26031
26059
|
self._ImageEncode = params.get("ImageEncode")
|
|
26060
|
+
self._ToolName = params.get("ToolName")
|
|
26061
|
+
self._ToolArgs = params.get("ToolArgs")
|
|
26032
26062
|
memeber_set = set(params.keys())
|
|
26033
26063
|
for name, value in vars(self).items():
|
|
26034
26064
|
property_name = name[1:]
|
|
@@ -29030,6 +29060,117 @@ class DescribeSessionResponse(AbstractModel):
|
|
|
29030
29060
|
self._RequestId = params.get("RequestId")
|
|
29031
29061
|
|
|
29032
29062
|
|
|
29063
|
+
class DescribeSkillSecScanResultRequest(AbstractModel):
|
|
29064
|
+
r"""DescribeSkillSecScanResult请求参数结构体
|
|
29065
|
+
|
|
29066
|
+
"""
|
|
29067
|
+
|
|
29068
|
+
def __init__(self):
|
|
29069
|
+
r"""
|
|
29070
|
+
:param _ServiceId: <p>服务ID</p>
|
|
29071
|
+
:type ServiceId: str
|
|
29072
|
+
:param _ContentHash: <p>ZIP 文件的 SHA256 哈希值,格式为 sha256:hex_digest,请严格遵循文档中的zip打包规范</p>
|
|
29073
|
+
:type ContentHash: str
|
|
29074
|
+
:param _Lang: <p>返回语言。支持 zh / en,默认 zh</p>
|
|
29075
|
+
:type Lang: str
|
|
29076
|
+
"""
|
|
29077
|
+
self._ServiceId = None
|
|
29078
|
+
self._ContentHash = None
|
|
29079
|
+
self._Lang = None
|
|
29080
|
+
|
|
29081
|
+
@property
|
|
29082
|
+
def ServiceId(self):
|
|
29083
|
+
r"""<p>服务ID</p>
|
|
29084
|
+
:rtype: str
|
|
29085
|
+
"""
|
|
29086
|
+
return self._ServiceId
|
|
29087
|
+
|
|
29088
|
+
@ServiceId.setter
|
|
29089
|
+
def ServiceId(self, ServiceId):
|
|
29090
|
+
self._ServiceId = ServiceId
|
|
29091
|
+
|
|
29092
|
+
@property
|
|
29093
|
+
def ContentHash(self):
|
|
29094
|
+
r"""<p>ZIP 文件的 SHA256 哈希值,格式为 sha256:hex_digest,请严格遵循文档中的zip打包规范</p>
|
|
29095
|
+
:rtype: str
|
|
29096
|
+
"""
|
|
29097
|
+
return self._ContentHash
|
|
29098
|
+
|
|
29099
|
+
@ContentHash.setter
|
|
29100
|
+
def ContentHash(self, ContentHash):
|
|
29101
|
+
self._ContentHash = ContentHash
|
|
29102
|
+
|
|
29103
|
+
@property
|
|
29104
|
+
def Lang(self):
|
|
29105
|
+
r"""<p>返回语言。支持 zh / en,默认 zh</p>
|
|
29106
|
+
:rtype: str
|
|
29107
|
+
"""
|
|
29108
|
+
return self._Lang
|
|
29109
|
+
|
|
29110
|
+
@Lang.setter
|
|
29111
|
+
def Lang(self, Lang):
|
|
29112
|
+
self._Lang = Lang
|
|
29113
|
+
|
|
29114
|
+
|
|
29115
|
+
def _deserialize(self, params):
|
|
29116
|
+
self._ServiceId = params.get("ServiceId")
|
|
29117
|
+
self._ContentHash = params.get("ContentHash")
|
|
29118
|
+
self._Lang = params.get("Lang")
|
|
29119
|
+
memeber_set = set(params.keys())
|
|
29120
|
+
for name, value in vars(self).items():
|
|
29121
|
+
property_name = name[1:]
|
|
29122
|
+
if property_name in memeber_set:
|
|
29123
|
+
memeber_set.remove(property_name)
|
|
29124
|
+
if len(memeber_set) > 0:
|
|
29125
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
29126
|
+
|
|
29127
|
+
|
|
29128
|
+
|
|
29129
|
+
class DescribeSkillSecScanResultResponse(AbstractModel):
|
|
29130
|
+
r"""DescribeSkillSecScanResult返回参数结构体
|
|
29131
|
+
|
|
29132
|
+
"""
|
|
29133
|
+
|
|
29134
|
+
def __init__(self):
|
|
29135
|
+
r"""
|
|
29136
|
+
:param _Data: <p>检测结果</p>
|
|
29137
|
+
:type Data: :class:`tencentcloud.waf.v20180125.models.SkillScanQueryData`
|
|
29138
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
29139
|
+
:type RequestId: str
|
|
29140
|
+
"""
|
|
29141
|
+
self._Data = None
|
|
29142
|
+
self._RequestId = None
|
|
29143
|
+
|
|
29144
|
+
@property
|
|
29145
|
+
def Data(self):
|
|
29146
|
+
r"""<p>检测结果</p>
|
|
29147
|
+
:rtype: :class:`tencentcloud.waf.v20180125.models.SkillScanQueryData`
|
|
29148
|
+
"""
|
|
29149
|
+
return self._Data
|
|
29150
|
+
|
|
29151
|
+
@Data.setter
|
|
29152
|
+
def Data(self, Data):
|
|
29153
|
+
self._Data = Data
|
|
29154
|
+
|
|
29155
|
+
@property
|
|
29156
|
+
def RequestId(self):
|
|
29157
|
+
r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
29158
|
+
:rtype: str
|
|
29159
|
+
"""
|
|
29160
|
+
return self._RequestId
|
|
29161
|
+
|
|
29162
|
+
@RequestId.setter
|
|
29163
|
+
def RequestId(self, RequestId):
|
|
29164
|
+
self._RequestId = RequestId
|
|
29165
|
+
|
|
29166
|
+
|
|
29167
|
+
def _deserialize(self, params):
|
|
29168
|
+
if params.get("Data") is not None:
|
|
29169
|
+
self._Data = SkillScanQueryData()
|
|
29170
|
+
self._Data._deserialize(params.get("Data"))
|
|
29171
|
+
self._RequestId = params.get("RequestId")
|
|
29172
|
+
|
|
29173
|
+
|
|
29033
29174
|
class DescribeSpartaProtectionInfoRequest(AbstractModel):
|
|
29034
29175
|
r"""DescribeSpartaProtectionInfo请求参数结构体
|
|
29035
29176
|
|
|
@@ -56182,6 +56323,557 @@ class SessionItem(AbstractModel):
|
|
|
56182
56323
|
|
|
56183
56324
|
|
|
56184
56325
|
|
|
56326
|
+
class SkillRuleCatalogItem(AbstractModel):
|
|
56327
|
+
r"""skills检测命中规则名录
|
|
56328
|
+
|
|
56329
|
+
"""
|
|
56330
|
+
|
|
56331
|
+
def __init__(self):
|
|
56332
|
+
r"""
|
|
56333
|
+
:param _Key: <p>规则分类标识(如 static_analysis、ai_analysis)</p>
|
|
56334
|
+
:type Key: str
|
|
56335
|
+
:param _Value: <p>规则分类中文名称</p>
|
|
56336
|
+
:type Value: str
|
|
56337
|
+
"""
|
|
56338
|
+
self._Key = None
|
|
56339
|
+
self._Value = None
|
|
56340
|
+
|
|
56341
|
+
@property
|
|
56342
|
+
def Key(self):
|
|
56343
|
+
r"""<p>规则分类标识(如 static_analysis、ai_analysis)</p>
|
|
56344
|
+
:rtype: str
|
|
56345
|
+
"""
|
|
56346
|
+
return self._Key
|
|
56347
|
+
|
|
56348
|
+
@Key.setter
|
|
56349
|
+
def Key(self, Key):
|
|
56350
|
+
self._Key = Key
|
|
56351
|
+
|
|
56352
|
+
@property
|
|
56353
|
+
def Value(self):
|
|
56354
|
+
r"""<p>规则分类中文名称</p>
|
|
56355
|
+
:rtype: str
|
|
56356
|
+
"""
|
|
56357
|
+
return self._Value
|
|
56358
|
+
|
|
56359
|
+
@Value.setter
|
|
56360
|
+
def Value(self, Value):
|
|
56361
|
+
self._Value = Value
|
|
56362
|
+
|
|
56363
|
+
|
|
56364
|
+
def _deserialize(self, params):
|
|
56365
|
+
self._Key = params.get("Key")
|
|
56366
|
+
self._Value = params.get("Value")
|
|
56367
|
+
memeber_set = set(params.keys())
|
|
56368
|
+
for name, value in vars(self).items():
|
|
56369
|
+
property_name = name[1:]
|
|
56370
|
+
if property_name in memeber_set:
|
|
56371
|
+
memeber_set.remove(property_name)
|
|
56372
|
+
if len(memeber_set) > 0:
|
|
56373
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
56374
|
+
|
|
56375
|
+
|
|
56376
|
+
|
|
56377
|
+
class SkillScanCapabilityTag(AbstractModel):
|
|
56378
|
+
r"""skills检测能力标签
|
|
56379
|
+
|
|
56380
|
+
"""
|
|
56381
|
+
|
|
56382
|
+
def __init__(self):
|
|
56383
|
+
r"""
|
|
56384
|
+
:param _Id: <p>标签唯一ID</p>
|
|
56385
|
+
:type Id: str
|
|
56386
|
+
:param _Name: <p>标签名称(如 network_access、file_system 等)</p>
|
|
56387
|
+
:type Name: str
|
|
56388
|
+
"""
|
|
56389
|
+
self._Id = None
|
|
56390
|
+
self._Name = None
|
|
56391
|
+
|
|
56392
|
+
@property
|
|
56393
|
+
def Id(self):
|
|
56394
|
+
r"""<p>标签唯一ID</p>
|
|
56395
|
+
:rtype: str
|
|
56396
|
+
"""
|
|
56397
|
+
return self._Id
|
|
56398
|
+
|
|
56399
|
+
@Id.setter
|
|
56400
|
+
def Id(self, Id):
|
|
56401
|
+
self._Id = Id
|
|
56402
|
+
|
|
56403
|
+
@property
|
|
56404
|
+
def Name(self):
|
|
56405
|
+
r"""<p>标签名称(如 network_access、file_system 等)</p>
|
|
56406
|
+
:rtype: str
|
|
56407
|
+
"""
|
|
56408
|
+
return self._Name
|
|
56409
|
+
|
|
56410
|
+
@Name.setter
|
|
56411
|
+
def Name(self, Name):
|
|
56412
|
+
self._Name = Name
|
|
56413
|
+
|
|
56414
|
+
|
|
56415
|
+
def _deserialize(self, params):
|
|
56416
|
+
self._Id = params.get("Id")
|
|
56417
|
+
self._Name = params.get("Name")
|
|
56418
|
+
memeber_set = set(params.keys())
|
|
56419
|
+
for name, value in vars(self).items():
|
|
56420
|
+
property_name = name[1:]
|
|
56421
|
+
if property_name in memeber_set:
|
|
56422
|
+
memeber_set.remove(property_name)
|
|
56423
|
+
if len(memeber_set) > 0:
|
|
56424
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
56425
|
+
|
|
56426
|
+
|
|
56427
|
+
|
|
56428
|
+
class SkillScanItem(AbstractModel):
|
|
56429
|
+
r"""扫描结果详情(按子引擎分组)
|
|
56430
|
+
|
|
56431
|
+
"""
|
|
56432
|
+
|
|
56433
|
+
def __init__(self):
|
|
56434
|
+
r"""
|
|
56435
|
+
:param _ScanType: <p>子引擎类型:AI(AI 分析)/ STATIC(静态分析)</p>
|
|
56436
|
+
:type ScanType: str
|
|
56437
|
+
:param _RuleList: <p>该引擎命中的规则列表</p>
|
|
56438
|
+
:type RuleList: list of SkillScanRuleHit
|
|
56439
|
+
"""
|
|
56440
|
+
self._ScanType = None
|
|
56441
|
+
self._RuleList = None
|
|
56442
|
+
|
|
56443
|
+
@property
|
|
56444
|
+
def ScanType(self):
|
|
56445
|
+
r"""<p>子引擎类型:AI(AI 分析)/ STATIC(静态分析)</p>
|
|
56446
|
+
:rtype: str
|
|
56447
|
+
"""
|
|
56448
|
+
return self._ScanType
|
|
56449
|
+
|
|
56450
|
+
@ScanType.setter
|
|
56451
|
+
def ScanType(self, ScanType):
|
|
56452
|
+
self._ScanType = ScanType
|
|
56453
|
+
|
|
56454
|
+
@property
|
|
56455
|
+
def RuleList(self):
|
|
56456
|
+
r"""<p>该引擎命中的规则列表</p>
|
|
56457
|
+
:rtype: list of SkillScanRuleHit
|
|
56458
|
+
"""
|
|
56459
|
+
return self._RuleList
|
|
56460
|
+
|
|
56461
|
+
@RuleList.setter
|
|
56462
|
+
def RuleList(self, RuleList):
|
|
56463
|
+
self._RuleList = RuleList
|
|
56464
|
+
|
|
56465
|
+
|
|
56466
|
+
def _deserialize(self, params):
|
|
56467
|
+
self._ScanType = params.get("ScanType")
|
|
56468
|
+
if params.get("RuleList") is not None:
|
|
56469
|
+
self._RuleList = []
|
|
56470
|
+
for item in params.get("RuleList"):
|
|
56471
|
+
obj = SkillScanRuleHit()
|
|
56472
|
+
obj._deserialize(item)
|
|
56473
|
+
self._RuleList.append(obj)
|
|
56474
|
+
memeber_set = set(params.keys())
|
|
56475
|
+
for name, value in vars(self).items():
|
|
56476
|
+
property_name = name[1:]
|
|
56477
|
+
if property_name in memeber_set:
|
|
56478
|
+
memeber_set.remove(property_name)
|
|
56479
|
+
if len(memeber_set) > 0:
|
|
56480
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
56481
|
+
|
|
56482
|
+
|
|
56483
|
+
|
|
56484
|
+
class SkillScanQueryData(AbstractModel):
|
|
56485
|
+
r"""skills检测结果列表
|
|
56486
|
+
|
|
56487
|
+
"""
|
|
56488
|
+
|
|
56489
|
+
def __init__(self):
|
|
56490
|
+
r"""
|
|
56491
|
+
:param _Status: <p>检测状态:success(检测完成,有结果)、scanning(检测进行中)、not_found(无记录)、failed(检测失败)</p><p>枚举值:</p><ul><li>success: 检测完成,有结果</li><li>scanning: 检测进行中</li><li>not_found: 无记录</li><li>failed: 检测失败</li></ul>
|
|
56492
|
+
:type Status: str
|
|
56493
|
+
:param _SkillName: <p>Skill 名称,用于页面展示、结果列表呈现和人工研判</p>
|
|
56494
|
+
:type SkillName: str
|
|
56495
|
+
:param _SkillDescription: <p>Skill 描述,通常来自 Skill 元数据或说明信息,用于帮助调用方理解 Skill 的用途</p>
|
|
56496
|
+
:type SkillDescription: str
|
|
56497
|
+
:param _ContentHash: <p>ZIP 文件的 SHA256 哈希值,格式为 sha256:hex_digest</p>
|
|
56498
|
+
:type ContentHash: str
|
|
56499
|
+
:param _RiskLevel: <p>风险等级:malicious(恶意)、suspicious(可疑)、benign(可信)</p>
|
|
56500
|
+
:type RiskLevel: str
|
|
56501
|
+
:param _Mitigation: <p>综合处置建议字段,位于 data 顶层,用于给出本次检测结果的总体修复、缓解或人工处置建议</p>
|
|
56502
|
+
:type Mitigation: str
|
|
56503
|
+
:param _SecurityScore: <p>安全评分(0-100,100 为最安全)</p><p>取值范围:[0, 100]</p>
|
|
56504
|
+
:type SecurityScore: int
|
|
56505
|
+
:param _EngineVersion: <p>本次扫描使用的引擎版本号</p>
|
|
56506
|
+
:type EngineVersion: int
|
|
56507
|
+
:param _CapabilityTags: <p>Skill 的能力标签列表,对外固定返回格式为 [{id,name}]。该字段用于描述 Skill 具备的能力特征或适用场景,便于调用方做检索、展示或分类;不等同于风险标签,也不表示风险高低或命中规则结果。当 lang=en 时,仅 name 会切换为英文,id 保持不变</p>
|
|
56508
|
+
:type CapabilityTags: list of SkillScanCapabilityTag
|
|
56509
|
+
:param _RuleCatalog: <p>融合规则目录全集,key 为融合 rule_id(9xxxx),value 为风险类别名称;包含所有融合规则类别,调用方可据此展示分类标签,无需本地维护映射表。传 lang=en 时返回英文名称。该对象是名称映射表,不表达主标签优先级</p>
|
|
56510
|
+
:type RuleCatalog: list of SkillRuleCatalogItem
|
|
56511
|
+
:param _ScanItems: <p>扫描结果详情,按子引擎分组,每个元素包含 scan_type(引擎类型)和 rule_list(命中的规则列表);规则中的 rule_id 使用融合编码(9xxxx),可与 rule_catalog 交叉引用。传 lang=en 时,description 返回英文文本</p>
|
|
56512
|
+
:type ScanItems: list of SkillScanItem
|
|
56513
|
+
:param _ReportUrl: <p>综合安全审计报告地址。调用方可通过 report_url_expire_hours 指定有效期,不传时默认返回 1 年有效期地址</p>
|
|
56514
|
+
:type ReportUrl: str
|
|
56515
|
+
:param _ScannedAt: <p>扫描完成时间</p>
|
|
56516
|
+
:type ScannedAt: str
|
|
56517
|
+
:param _CreatedAt: <p>任务创建时间</p>
|
|
56518
|
+
:type CreatedAt: str
|
|
56519
|
+
:param _FailedAt: <p>失败时间</p>
|
|
56520
|
+
:type FailedAt: str
|
|
56521
|
+
:param _Message: <p>失败原因描述</p>
|
|
56522
|
+
:type Message: str
|
|
56523
|
+
"""
|
|
56524
|
+
self._Status = None
|
|
56525
|
+
self._SkillName = None
|
|
56526
|
+
self._SkillDescription = None
|
|
56527
|
+
self._ContentHash = None
|
|
56528
|
+
self._RiskLevel = None
|
|
56529
|
+
self._Mitigation = None
|
|
56530
|
+
self._SecurityScore = None
|
|
56531
|
+
self._EngineVersion = None
|
|
56532
|
+
self._CapabilityTags = None
|
|
56533
|
+
self._RuleCatalog = None
|
|
56534
|
+
self._ScanItems = None
|
|
56535
|
+
self._ReportUrl = None
|
|
56536
|
+
self._ScannedAt = None
|
|
56537
|
+
self._CreatedAt = None
|
|
56538
|
+
self._FailedAt = None
|
|
56539
|
+
self._Message = None
|
|
56540
|
+
|
|
56541
|
+
@property
|
|
56542
|
+
def Status(self):
|
|
56543
|
+
r"""<p>检测状态:success(检测完成,有结果)、scanning(检测进行中)、not_found(无记录)、failed(检测失败)</p><p>枚举值:</p><ul><li>success: 检测完成,有结果</li><li>scanning: 检测进行中</li><li>not_found: 无记录</li><li>failed: 检测失败</li></ul>
|
|
56544
|
+
:rtype: str
|
|
56545
|
+
"""
|
|
56546
|
+
return self._Status
|
|
56547
|
+
|
|
56548
|
+
@Status.setter
|
|
56549
|
+
def Status(self, Status):
|
|
56550
|
+
self._Status = Status
|
|
56551
|
+
|
|
56552
|
+
@property
|
|
56553
|
+
def SkillName(self):
|
|
56554
|
+
r"""<p>Skill 名称,用于页面展示、结果列表呈现和人工研判</p>
|
|
56555
|
+
:rtype: str
|
|
56556
|
+
"""
|
|
56557
|
+
return self._SkillName
|
|
56558
|
+
|
|
56559
|
+
@SkillName.setter
|
|
56560
|
+
def SkillName(self, SkillName):
|
|
56561
|
+
self._SkillName = SkillName
|
|
56562
|
+
|
|
56563
|
+
@property
|
|
56564
|
+
def SkillDescription(self):
|
|
56565
|
+
r"""<p>Skill 描述,通常来自 Skill 元数据或说明信息,用于帮助调用方理解 Skill 的用途</p>
|
|
56566
|
+
:rtype: str
|
|
56567
|
+
"""
|
|
56568
|
+
return self._SkillDescription
|
|
56569
|
+
|
|
56570
|
+
@SkillDescription.setter
|
|
56571
|
+
def SkillDescription(self, SkillDescription):
|
|
56572
|
+
self._SkillDescription = SkillDescription
|
|
56573
|
+
|
|
56574
|
+
@property
|
|
56575
|
+
def ContentHash(self):
|
|
56576
|
+
r"""<p>ZIP 文件的 SHA256 哈希值,格式为 sha256:hex_digest</p>
|
|
56577
|
+
:rtype: str
|
|
56578
|
+
"""
|
|
56579
|
+
return self._ContentHash
|
|
56580
|
+
|
|
56581
|
+
@ContentHash.setter
|
|
56582
|
+
def ContentHash(self, ContentHash):
|
|
56583
|
+
self._ContentHash = ContentHash
|
|
56584
|
+
|
|
56585
|
+
@property
|
|
56586
|
+
def RiskLevel(self):
|
|
56587
|
+
r"""<p>风险等级:malicious(恶意)、suspicious(可疑)、benign(可信)</p>
|
|
56588
|
+
:rtype: str
|
|
56589
|
+
"""
|
|
56590
|
+
return self._RiskLevel
|
|
56591
|
+
|
|
56592
|
+
@RiskLevel.setter
|
|
56593
|
+
def RiskLevel(self, RiskLevel):
|
|
56594
|
+
self._RiskLevel = RiskLevel
|
|
56595
|
+
|
|
56596
|
+
@property
|
|
56597
|
+
def Mitigation(self):
|
|
56598
|
+
r"""<p>综合处置建议字段,位于 data 顶层,用于给出本次检测结果的总体修复、缓解或人工处置建议</p>
|
|
56599
|
+
:rtype: str
|
|
56600
|
+
"""
|
|
56601
|
+
return self._Mitigation
|
|
56602
|
+
|
|
56603
|
+
@Mitigation.setter
|
|
56604
|
+
def Mitigation(self, Mitigation):
|
|
56605
|
+
self._Mitigation = Mitigation
|
|
56606
|
+
|
|
56607
|
+
@property
|
|
56608
|
+
def SecurityScore(self):
|
|
56609
|
+
r"""<p>安全评分(0-100,100 为最安全)</p><p>取值范围:[0, 100]</p>
|
|
56610
|
+
:rtype: int
|
|
56611
|
+
"""
|
|
56612
|
+
return self._SecurityScore
|
|
56613
|
+
|
|
56614
|
+
@SecurityScore.setter
|
|
56615
|
+
def SecurityScore(self, SecurityScore):
|
|
56616
|
+
self._SecurityScore = SecurityScore
|
|
56617
|
+
|
|
56618
|
+
@property
|
|
56619
|
+
def EngineVersion(self):
|
|
56620
|
+
r"""<p>本次扫描使用的引擎版本号</p>
|
|
56621
|
+
:rtype: int
|
|
56622
|
+
"""
|
|
56623
|
+
return self._EngineVersion
|
|
56624
|
+
|
|
56625
|
+
@EngineVersion.setter
|
|
56626
|
+
def EngineVersion(self, EngineVersion):
|
|
56627
|
+
self._EngineVersion = EngineVersion
|
|
56628
|
+
|
|
56629
|
+
@property
|
|
56630
|
+
def CapabilityTags(self):
|
|
56631
|
+
r"""<p>Skill 的能力标签列表,对外固定返回格式为 [{id,name}]。该字段用于描述 Skill 具备的能力特征或适用场景,便于调用方做检索、展示或分类;不等同于风险标签,也不表示风险高低或命中规则结果。当 lang=en 时,仅 name 会切换为英文,id 保持不变</p>
|
|
56632
|
+
:rtype: list of SkillScanCapabilityTag
|
|
56633
|
+
"""
|
|
56634
|
+
return self._CapabilityTags
|
|
56635
|
+
|
|
56636
|
+
@CapabilityTags.setter
|
|
56637
|
+
def CapabilityTags(self, CapabilityTags):
|
|
56638
|
+
self._CapabilityTags = CapabilityTags
|
|
56639
|
+
|
|
56640
|
+
@property
|
|
56641
|
+
def RuleCatalog(self):
|
|
56642
|
+
r"""<p>融合规则目录全集,key 为融合 rule_id(9xxxx),value 为风险类别名称;包含所有融合规则类别,调用方可据此展示分类标签,无需本地维护映射表。传 lang=en 时返回英文名称。该对象是名称映射表,不表达主标签优先级</p>
|
|
56643
|
+
:rtype: list of SkillRuleCatalogItem
|
|
56644
|
+
"""
|
|
56645
|
+
return self._RuleCatalog
|
|
56646
|
+
|
|
56647
|
+
@RuleCatalog.setter
|
|
56648
|
+
def RuleCatalog(self, RuleCatalog):
|
|
56649
|
+
self._RuleCatalog = RuleCatalog
|
|
56650
|
+
|
|
56651
|
+
@property
|
|
56652
|
+
def ScanItems(self):
|
|
56653
|
+
r"""<p>扫描结果详情,按子引擎分组,每个元素包含 scan_type(引擎类型)和 rule_list(命中的规则列表);规则中的 rule_id 使用融合编码(9xxxx),可与 rule_catalog 交叉引用。传 lang=en 时,description 返回英文文本</p>
|
|
56654
|
+
:rtype: list of SkillScanItem
|
|
56655
|
+
"""
|
|
56656
|
+
return self._ScanItems
|
|
56657
|
+
|
|
56658
|
+
@ScanItems.setter
|
|
56659
|
+
def ScanItems(self, ScanItems):
|
|
56660
|
+
self._ScanItems = ScanItems
|
|
56661
|
+
|
|
56662
|
+
@property
|
|
56663
|
+
def ReportUrl(self):
|
|
56664
|
+
r"""<p>综合安全审计报告地址。调用方可通过 report_url_expire_hours 指定有效期,不传时默认返回 1 年有效期地址</p>
|
|
56665
|
+
:rtype: str
|
|
56666
|
+
"""
|
|
56667
|
+
return self._ReportUrl
|
|
56668
|
+
|
|
56669
|
+
@ReportUrl.setter
|
|
56670
|
+
def ReportUrl(self, ReportUrl):
|
|
56671
|
+
self._ReportUrl = ReportUrl
|
|
56672
|
+
|
|
56673
|
+
@property
|
|
56674
|
+
def ScannedAt(self):
|
|
56675
|
+
r"""<p>扫描完成时间</p>
|
|
56676
|
+
:rtype: str
|
|
56677
|
+
"""
|
|
56678
|
+
return self._ScannedAt
|
|
56679
|
+
|
|
56680
|
+
@ScannedAt.setter
|
|
56681
|
+
def ScannedAt(self, ScannedAt):
|
|
56682
|
+
self._ScannedAt = ScannedAt
|
|
56683
|
+
|
|
56684
|
+
@property
|
|
56685
|
+
def CreatedAt(self):
|
|
56686
|
+
r"""<p>任务创建时间</p>
|
|
56687
|
+
:rtype: str
|
|
56688
|
+
"""
|
|
56689
|
+
return self._CreatedAt
|
|
56690
|
+
|
|
56691
|
+
@CreatedAt.setter
|
|
56692
|
+
def CreatedAt(self, CreatedAt):
|
|
56693
|
+
self._CreatedAt = CreatedAt
|
|
56694
|
+
|
|
56695
|
+
@property
|
|
56696
|
+
def FailedAt(self):
|
|
56697
|
+
r"""<p>失败时间</p>
|
|
56698
|
+
:rtype: str
|
|
56699
|
+
"""
|
|
56700
|
+
return self._FailedAt
|
|
56701
|
+
|
|
56702
|
+
@FailedAt.setter
|
|
56703
|
+
def FailedAt(self, FailedAt):
|
|
56704
|
+
self._FailedAt = FailedAt
|
|
56705
|
+
|
|
56706
|
+
@property
|
|
56707
|
+
def Message(self):
|
|
56708
|
+
r"""<p>失败原因描述</p>
|
|
56709
|
+
:rtype: str
|
|
56710
|
+
"""
|
|
56711
|
+
return self._Message
|
|
56712
|
+
|
|
56713
|
+
@Message.setter
|
|
56714
|
+
def Message(self, Message):
|
|
56715
|
+
self._Message = Message
|
|
56716
|
+
|
|
56717
|
+
|
|
56718
|
+
def _deserialize(self, params):
|
|
56719
|
+
self._Status = params.get("Status")
|
|
56720
|
+
self._SkillName = params.get("SkillName")
|
|
56721
|
+
self._SkillDescription = params.get("SkillDescription")
|
|
56722
|
+
self._ContentHash = params.get("ContentHash")
|
|
56723
|
+
self._RiskLevel = params.get("RiskLevel")
|
|
56724
|
+
self._Mitigation = params.get("Mitigation")
|
|
56725
|
+
self._SecurityScore = params.get("SecurityScore")
|
|
56726
|
+
self._EngineVersion = params.get("EngineVersion")
|
|
56727
|
+
if params.get("CapabilityTags") is not None:
|
|
56728
|
+
self._CapabilityTags = []
|
|
56729
|
+
for item in params.get("CapabilityTags"):
|
|
56730
|
+
obj = SkillScanCapabilityTag()
|
|
56731
|
+
obj._deserialize(item)
|
|
56732
|
+
self._CapabilityTags.append(obj)
|
|
56733
|
+
if params.get("RuleCatalog") is not None:
|
|
56734
|
+
self._RuleCatalog = []
|
|
56735
|
+
for item in params.get("RuleCatalog"):
|
|
56736
|
+
obj = SkillRuleCatalogItem()
|
|
56737
|
+
obj._deserialize(item)
|
|
56738
|
+
self._RuleCatalog.append(obj)
|
|
56739
|
+
if params.get("ScanItems") is not None:
|
|
56740
|
+
self._ScanItems = []
|
|
56741
|
+
for item in params.get("ScanItems"):
|
|
56742
|
+
obj = SkillScanItem()
|
|
56743
|
+
obj._deserialize(item)
|
|
56744
|
+
self._ScanItems.append(obj)
|
|
56745
|
+
self._ReportUrl = params.get("ReportUrl")
|
|
56746
|
+
self._ScannedAt = params.get("ScannedAt")
|
|
56747
|
+
self._CreatedAt = params.get("CreatedAt")
|
|
56748
|
+
self._FailedAt = params.get("FailedAt")
|
|
56749
|
+
self._Message = params.get("Message")
|
|
56750
|
+
memeber_set = set(params.keys())
|
|
56751
|
+
for name, value in vars(self).items():
|
|
56752
|
+
property_name = name[1:]
|
|
56753
|
+
if property_name in memeber_set:
|
|
56754
|
+
memeber_set.remove(property_name)
|
|
56755
|
+
if len(memeber_set) > 0:
|
|
56756
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
56757
|
+
|
|
56758
|
+
|
|
56759
|
+
|
|
56760
|
+
class SkillScanRuleHit(AbstractModel):
|
|
56761
|
+
r"""SkillScanRuleHit 命中的规则
|
|
56762
|
+
|
|
56763
|
+
"""
|
|
56764
|
+
|
|
56765
|
+
def __init__(self):
|
|
56766
|
+
r"""
|
|
56767
|
+
:param _RuleId: <p>规则唯一ID</p>
|
|
56768
|
+
:type RuleId: str
|
|
56769
|
+
:param _Description: <p>规则描述(命中原因说明)</p>
|
|
56770
|
+
:type Description: str
|
|
56771
|
+
"""
|
|
56772
|
+
self._RuleId = None
|
|
56773
|
+
self._Description = None
|
|
56774
|
+
|
|
56775
|
+
@property
|
|
56776
|
+
def RuleId(self):
|
|
56777
|
+
r"""<p>规则唯一ID</p>
|
|
56778
|
+
:rtype: str
|
|
56779
|
+
"""
|
|
56780
|
+
return self._RuleId
|
|
56781
|
+
|
|
56782
|
+
@RuleId.setter
|
|
56783
|
+
def RuleId(self, RuleId):
|
|
56784
|
+
self._RuleId = RuleId
|
|
56785
|
+
|
|
56786
|
+
@property
|
|
56787
|
+
def Description(self):
|
|
56788
|
+
r"""<p>规则描述(命中原因说明)</p>
|
|
56789
|
+
:rtype: str
|
|
56790
|
+
"""
|
|
56791
|
+
return self._Description
|
|
56792
|
+
|
|
56793
|
+
@Description.setter
|
|
56794
|
+
def Description(self, Description):
|
|
56795
|
+
self._Description = Description
|
|
56796
|
+
|
|
56797
|
+
|
|
56798
|
+
def _deserialize(self, params):
|
|
56799
|
+
self._RuleId = params.get("RuleId")
|
|
56800
|
+
self._Description = params.get("Description")
|
|
56801
|
+
memeber_set = set(params.keys())
|
|
56802
|
+
for name, value in vars(self).items():
|
|
56803
|
+
property_name = name[1:]
|
|
56804
|
+
if property_name in memeber_set:
|
|
56805
|
+
memeber_set.remove(property_name)
|
|
56806
|
+
if len(memeber_set) > 0:
|
|
56807
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
56808
|
+
|
|
56809
|
+
|
|
56810
|
+
|
|
56811
|
+
class SkillScanUploadData(AbstractModel):
|
|
56812
|
+
r"""skills 上检测接口返回信息
|
|
56813
|
+
|
|
56814
|
+
"""
|
|
56815
|
+
|
|
56816
|
+
def __init__(self):
|
|
56817
|
+
r"""
|
|
56818
|
+
:param _ContentHash: <p>文件的 SHA256 Hash,用于轮询查询接口</p>
|
|
56819
|
+
:type ContentHash: str
|
|
56820
|
+
:param _Status: <p>固定为 scanning,表示任务已接收</p>
|
|
56821
|
+
:type Status: str
|
|
56822
|
+
:param _Message: <p>可读的操作结果描述</p>
|
|
56823
|
+
:type Message: str
|
|
56824
|
+
"""
|
|
56825
|
+
self._ContentHash = None
|
|
56826
|
+
self._Status = None
|
|
56827
|
+
self._Message = None
|
|
56828
|
+
|
|
56829
|
+
@property
|
|
56830
|
+
def ContentHash(self):
|
|
56831
|
+
r"""<p>文件的 SHA256 Hash,用于轮询查询接口</p>
|
|
56832
|
+
:rtype: str
|
|
56833
|
+
"""
|
|
56834
|
+
return self._ContentHash
|
|
56835
|
+
|
|
56836
|
+
@ContentHash.setter
|
|
56837
|
+
def ContentHash(self, ContentHash):
|
|
56838
|
+
self._ContentHash = ContentHash
|
|
56839
|
+
|
|
56840
|
+
@property
|
|
56841
|
+
def Status(self):
|
|
56842
|
+
r"""<p>固定为 scanning,表示任务已接收</p>
|
|
56843
|
+
:rtype: str
|
|
56844
|
+
"""
|
|
56845
|
+
return self._Status
|
|
56846
|
+
|
|
56847
|
+
@Status.setter
|
|
56848
|
+
def Status(self, Status):
|
|
56849
|
+
self._Status = Status
|
|
56850
|
+
|
|
56851
|
+
@property
|
|
56852
|
+
def Message(self):
|
|
56853
|
+
r"""<p>可读的操作结果描述</p>
|
|
56854
|
+
:rtype: str
|
|
56855
|
+
"""
|
|
56856
|
+
return self._Message
|
|
56857
|
+
|
|
56858
|
+
@Message.setter
|
|
56859
|
+
def Message(self, Message):
|
|
56860
|
+
self._Message = Message
|
|
56861
|
+
|
|
56862
|
+
|
|
56863
|
+
def _deserialize(self, params):
|
|
56864
|
+
self._ContentHash = params.get("ContentHash")
|
|
56865
|
+
self._Status = params.get("Status")
|
|
56866
|
+
self._Message = params.get("Message")
|
|
56867
|
+
memeber_set = set(params.keys())
|
|
56868
|
+
for name, value in vars(self).items():
|
|
56869
|
+
property_name = name[1:]
|
|
56870
|
+
if property_name in memeber_set:
|
|
56871
|
+
memeber_set.remove(property_name)
|
|
56872
|
+
if len(memeber_set) > 0:
|
|
56873
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
56874
|
+
|
|
56875
|
+
|
|
56876
|
+
|
|
56185
56877
|
class SpartaProtectionPort(AbstractModel):
|
|
56186
56878
|
r"""waf斯巴达-编辑防护域名中的端口结构
|
|
56187
56879
|
|
|
@@ -58543,6 +59235,117 @@ class UpdateRateLimitV2Response(AbstractModel):
|
|
|
58543
59235
|
self._RequestId = params.get("RequestId")
|
|
58544
59236
|
|
|
58545
59237
|
|
|
59238
|
+
class UploadSkillSecScanRequest(AbstractModel):
|
|
59239
|
+
r"""UploadSkillSecScan请求参数结构体
|
|
59240
|
+
|
|
59241
|
+
"""
|
|
59242
|
+
|
|
59243
|
+
def __init__(self):
|
|
59244
|
+
r"""
|
|
59245
|
+
:param _ServiceId: <p>服务ID</p>
|
|
59246
|
+
:type ServiceId: str
|
|
59247
|
+
:param _FileData: <p>zip压缩包base64编码后的数据</p>
|
|
59248
|
+
:type FileData: str
|
|
59249
|
+
:param _FileName: <p>skills文件压缩之后的文件名,.zip结尾</p>
|
|
59250
|
+
:type FileName: str
|
|
59251
|
+
"""
|
|
59252
|
+
self._ServiceId = None
|
|
59253
|
+
self._FileData = None
|
|
59254
|
+
self._FileName = None
|
|
59255
|
+
|
|
59256
|
+
@property
|
|
59257
|
+
def ServiceId(self):
|
|
59258
|
+
r"""<p>服务ID</p>
|
|
59259
|
+
:rtype: str
|
|
59260
|
+
"""
|
|
59261
|
+
return self._ServiceId
|
|
59262
|
+
|
|
59263
|
+
@ServiceId.setter
|
|
59264
|
+
def ServiceId(self, ServiceId):
|
|
59265
|
+
self._ServiceId = ServiceId
|
|
59266
|
+
|
|
59267
|
+
@property
|
|
59268
|
+
def FileData(self):
|
|
59269
|
+
r"""<p>zip压缩包base64编码后的数据</p>
|
|
59270
|
+
:rtype: str
|
|
59271
|
+
"""
|
|
59272
|
+
return self._FileData
|
|
59273
|
+
|
|
59274
|
+
@FileData.setter
|
|
59275
|
+
def FileData(self, FileData):
|
|
59276
|
+
self._FileData = FileData
|
|
59277
|
+
|
|
59278
|
+
@property
|
|
59279
|
+
def FileName(self):
|
|
59280
|
+
r"""<p>skills文件压缩之后的文件名,.zip结尾</p>
|
|
59281
|
+
:rtype: str
|
|
59282
|
+
"""
|
|
59283
|
+
return self._FileName
|
|
59284
|
+
|
|
59285
|
+
@FileName.setter
|
|
59286
|
+
def FileName(self, FileName):
|
|
59287
|
+
self._FileName = FileName
|
|
59288
|
+
|
|
59289
|
+
|
|
59290
|
+
def _deserialize(self, params):
|
|
59291
|
+
self._ServiceId = params.get("ServiceId")
|
|
59292
|
+
self._FileData = params.get("FileData")
|
|
59293
|
+
self._FileName = params.get("FileName")
|
|
59294
|
+
memeber_set = set(params.keys())
|
|
59295
|
+
for name, value in vars(self).items():
|
|
59296
|
+
property_name = name[1:]
|
|
59297
|
+
if property_name in memeber_set:
|
|
59298
|
+
memeber_set.remove(property_name)
|
|
59299
|
+
if len(memeber_set) > 0:
|
|
59300
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
59301
|
+
|
|
59302
|
+
|
|
59303
|
+
|
|
59304
|
+
class UploadSkillSecScanResponse(AbstractModel):
|
|
59305
|
+
r"""UploadSkillSecScan返回参数结构体
|
|
59306
|
+
|
|
59307
|
+
"""
|
|
59308
|
+
|
|
59309
|
+
def __init__(self):
|
|
59310
|
+
r"""
|
|
59311
|
+
:param _Data: <p>上传结果</p>
|
|
59312
|
+
:type Data: :class:`tencentcloud.waf.v20180125.models.SkillScanUploadData`
|
|
59313
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
59314
|
+
:type RequestId: str
|
|
59315
|
+
"""
|
|
59316
|
+
self._Data = None
|
|
59317
|
+
self._RequestId = None
|
|
59318
|
+
|
|
59319
|
+
@property
|
|
59320
|
+
def Data(self):
|
|
59321
|
+
r"""<p>上传结果</p>
|
|
59322
|
+
:rtype: :class:`tencentcloud.waf.v20180125.models.SkillScanUploadData`
|
|
59323
|
+
"""
|
|
59324
|
+
return self._Data
|
|
59325
|
+
|
|
59326
|
+
@Data.setter
|
|
59327
|
+
def Data(self, Data):
|
|
59328
|
+
self._Data = Data
|
|
59329
|
+
|
|
59330
|
+
@property
|
|
59331
|
+
def RequestId(self):
|
|
59332
|
+
r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
59333
|
+
:rtype: str
|
|
59334
|
+
"""
|
|
59335
|
+
return self._RequestId
|
|
59336
|
+
|
|
59337
|
+
@RequestId.setter
|
|
59338
|
+
def RequestId(self, RequestId):
|
|
59339
|
+
self._RequestId = RequestId
|
|
59340
|
+
|
|
59341
|
+
|
|
59342
|
+
def _deserialize(self, params):
|
|
59343
|
+
if params.get("Data") is not None:
|
|
59344
|
+
self._Data = SkillScanUploadData()
|
|
59345
|
+
self._Data._deserialize(params.get("Data"))
|
|
59346
|
+
self._RequestId = params.get("RequestId")
|
|
59347
|
+
|
|
59348
|
+
|
|
58546
59349
|
class UpsertCCAutoStatusRequest(AbstractModel):
|
|
58547
59350
|
r"""UpsertCCAutoStatus请求参数结构体
|
|
58548
59351
|
|
|
@@ -2694,6 +2694,29 @@ class WafClient(AbstractClient):
|
|
|
2694
2694
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
2695
2695
|
|
|
2696
2696
|
|
|
2697
|
+
def DescribeSkillSecScanResult(self, request):
|
|
2698
|
+
r"""根据文件Hash查询Skill安全检测结果
|
|
2699
|
+
|
|
2700
|
+
:param request: Request instance for DescribeSkillSecScanResult.
|
|
2701
|
+
:type request: :class:`tencentcloud.waf.v20180125.models.DescribeSkillSecScanResultRequest`
|
|
2702
|
+
:rtype: :class:`tencentcloud.waf.v20180125.models.DescribeSkillSecScanResultResponse`
|
|
2703
|
+
|
|
2704
|
+
"""
|
|
2705
|
+
try:
|
|
2706
|
+
params = request._serialize()
|
|
2707
|
+
headers = request.headers
|
|
2708
|
+
body = self.call("DescribeSkillSecScanResult", params, headers=headers)
|
|
2709
|
+
response = json.loads(body)
|
|
2710
|
+
model = models.DescribeSkillSecScanResultResponse()
|
|
2711
|
+
model._deserialize(response["Response"])
|
|
2712
|
+
return model
|
|
2713
|
+
except Exception as e:
|
|
2714
|
+
if isinstance(e, TencentCloudSDKException):
|
|
2715
|
+
raise
|
|
2716
|
+
else:
|
|
2717
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
2718
|
+
|
|
2719
|
+
|
|
2697
2720
|
def DescribeSpartaProtectionInfo(self, request):
|
|
2698
2721
|
r"""waf斯巴达-获取防护域名信息
|
|
2699
2722
|
|
|
@@ -4972,6 +4995,29 @@ class WafClient(AbstractClient):
|
|
|
4972
4995
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
4973
4996
|
|
|
4974
4997
|
|
|
4998
|
+
def UploadSkillSecScan(self, request):
|
|
4999
|
+
r"""上传Skill ZIP文件,触发异步安全检测
|
|
5000
|
+
|
|
5001
|
+
:param request: Request instance for UploadSkillSecScan.
|
|
5002
|
+
:type request: :class:`tencentcloud.waf.v20180125.models.UploadSkillSecScanRequest`
|
|
5003
|
+
:rtype: :class:`tencentcloud.waf.v20180125.models.UploadSkillSecScanResponse`
|
|
5004
|
+
|
|
5005
|
+
"""
|
|
5006
|
+
try:
|
|
5007
|
+
params = request._serialize()
|
|
5008
|
+
headers = request.headers
|
|
5009
|
+
body = self.call("UploadSkillSecScan", params, headers=headers)
|
|
5010
|
+
response = json.loads(body)
|
|
5011
|
+
model = models.UploadSkillSecScanResponse()
|
|
5012
|
+
model._deserialize(response["Response"])
|
|
5013
|
+
return model
|
|
5014
|
+
except Exception as e:
|
|
5015
|
+
if isinstance(e, TencentCloudSDKException):
|
|
5016
|
+
raise
|
|
5017
|
+
else:
|
|
5018
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
5019
|
+
|
|
5020
|
+
|
|
4975
5021
|
def UpsertCCAutoStatus(self, request):
|
|
4976
5022
|
r"""编辑SAAS型接入的紧急CC防护状态
|
|
4977
5023
|
|
|
@@ -2113,6 +2113,24 @@ class WafClient(AbstractClient):
|
|
|
2113
2113
|
|
|
2114
2114
|
return await self.call_and_deserialize(**kwargs)
|
|
2115
2115
|
|
|
2116
|
+
async def DescribeSkillSecScanResult(
|
|
2117
|
+
self,
|
|
2118
|
+
request: models.DescribeSkillSecScanResultRequest,
|
|
2119
|
+
opts: Dict = None,
|
|
2120
|
+
) -> models.DescribeSkillSecScanResultResponse:
|
|
2121
|
+
"""
|
|
2122
|
+
根据文件Hash查询Skill安全检测结果
|
|
2123
|
+
"""
|
|
2124
|
+
|
|
2125
|
+
kwargs = {}
|
|
2126
|
+
kwargs["action"] = "DescribeSkillSecScanResult"
|
|
2127
|
+
kwargs["params"] = request._serialize()
|
|
2128
|
+
kwargs["resp_cls"] = models.DescribeSkillSecScanResultResponse
|
|
2129
|
+
kwargs["headers"] = request.headers
|
|
2130
|
+
kwargs["opts"] = opts or {}
|
|
2131
|
+
|
|
2132
|
+
return await self.call_and_deserialize(**kwargs)
|
|
2133
|
+
|
|
2116
2134
|
async def DescribeSpartaProtectionInfo(
|
|
2117
2135
|
self,
|
|
2118
2136
|
request: models.DescribeSpartaProtectionInfoRequest,
|
|
@@ -3901,6 +3919,24 @@ class WafClient(AbstractClient):
|
|
|
3901
3919
|
|
|
3902
3920
|
return await self.call_and_deserialize(**kwargs)
|
|
3903
3921
|
|
|
3922
|
+
async def UploadSkillSecScan(
|
|
3923
|
+
self,
|
|
3924
|
+
request: models.UploadSkillSecScanRequest,
|
|
3925
|
+
opts: Dict = None,
|
|
3926
|
+
) -> models.UploadSkillSecScanResponse:
|
|
3927
|
+
"""
|
|
3928
|
+
上传Skill ZIP文件,触发异步安全检测
|
|
3929
|
+
"""
|
|
3930
|
+
|
|
3931
|
+
kwargs = {}
|
|
3932
|
+
kwargs["action"] = "UploadSkillSecScan"
|
|
3933
|
+
kwargs["params"] = request._serialize()
|
|
3934
|
+
kwargs["resp_cls"] = models.UploadSkillSecScanResponse
|
|
3935
|
+
kwargs["headers"] = request.headers
|
|
3936
|
+
kwargs["opts"] = opts or {}
|
|
3937
|
+
|
|
3938
|
+
return await self.call_and_deserialize(**kwargs)
|
|
3939
|
+
|
|
3904
3940
|
async def UpsertCCAutoStatus(
|
|
3905
3941
|
self,
|
|
3906
3942
|
request: models.UpsertCCAutoStatusRequest,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tencentcloud-sdk-python-waf
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.100
|
|
4
4
|
Summary: Tencent Cloud Waf SDK for Python
|
|
5
5
|
Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
|
|
6
6
|
Author: Tencent Cloud
|
|
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 2.7
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.6
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
-
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.
|
|
18
|
+
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.100
|
|
19
19
|
|
|
20
20
|
============================
|
|
21
21
|
Tencent Cloud SDK for Python
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tencentcloud-sdk-python-common<4.0.0,>=3.1.100
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
tencentcloud-sdk-python-common<4.0.0,>=3.1.98
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|