tencentcloud-sdk-python 3.0.1412__py2.py3-none-any.whl → 3.0.1414__py2.py3-none-any.whl
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/__init__.py +1 -1
- tencentcloud/ams/v20201229/models.py +2 -14
- tencentcloud/batch/v20170312/batch_client.py +23 -0
- tencentcloud/batch/v20170312/models.py +236 -0
- tencentcloud/bh/v20230418/models.py +424 -0
- tencentcloud/bi/v20220105/models.py +15 -0
- tencentcloud/ccc/v20200210/models.py +17 -0
- tencentcloud/cdb/v20170320/cdb_client.py +6 -5
- tencentcloud/cdb/v20170320/models.py +50 -42
- tencentcloud/cdwch/v20200915/cdwch_client.py +23 -0
- tencentcloud/cdwch/v20200915/models.py +700 -0
- tencentcloud/cdwdoris/v20211228/models.py +36 -2
- tencentcloud/cfg/v20210820/models.py +123 -0
- tencentcloud/ckafka/v20190819/models.py +32 -2
- tencentcloud/csip/v20221121/csip_client.py +73 -4
- tencentcloud/csip/v20221121/models.py +1510 -227
- tencentcloud/cvm/v20170312/models.py +17 -4
- tencentcloud/dlc/v20210125/models.py +101 -0
- tencentcloud/emr/v20190103/emr_client.py +69 -0
- tencentcloud/emr/v20190103/errorcodes.py +54 -0
- tencentcloud/emr/v20190103/models.py +1536 -98
- tencentcloud/ess/v20201111/models.py +57 -10
- tencentcloud/essbasic/v20210526/models.py +2 -2
- tencentcloud/gs/v20191118/models.py +67 -2
- tencentcloud/hai/v20230812/errorcodes.py +3 -0
- tencentcloud/igtm/__init__.py +0 -0
- tencentcloud/igtm/v20231024/__init__.py +0 -0
- tencentcloud/igtm/v20231024/errorcodes.py +264 -0
- tencentcloud/igtm/v20231024/igtm_client.py +555 -0
- tencentcloud/igtm/v20231024/models.py +6234 -0
- tencentcloud/ims/v20201229/models.py +0 -4
- tencentcloud/ioa/v20220601/errorcodes.py +9 -0
- tencentcloud/ioa/v20220601/ioa_client.py +46 -0
- tencentcloud/ioa/v20220601/models.py +396 -0
- tencentcloud/iss/v20230517/models.py +17 -2
- tencentcloud/kms/v20190118/models.py +10 -22
- tencentcloud/mps/v20190612/models.py +82 -2
- tencentcloud/ocr/v20181119/models.py +247 -842
- tencentcloud/partners/v20180321/models.py +6 -2
- tencentcloud/securitylake/__init__.py +0 -0
- tencentcloud/securitylake/v20240117/__init__.py +0 -0
- tencentcloud/securitylake/v20240117/errorcodes.py +75 -0
- tencentcloud/securitylake/v20240117/models.py +1152 -0
- tencentcloud/securitylake/v20240117/securitylake_client.py +49 -0
- tencentcloud/sms/v20190711/errorcodes.py +2 -2
- tencentcloud/sms/v20210111/errorcodes.py +2 -2
- tencentcloud/tcbr/v20220217/models.py +113 -0
- tencentcloud/tdmq/v20200217/models.py +437 -10
- tencentcloud/teo/v20220901/models.py +47 -28
- tencentcloud/teo/v20220901/teo_client.py +3 -1
- tencentcloud/tione/v20211111/models.py +491 -2
- tencentcloud/tione/v20211111/tione_client.py +23 -0
- tencentcloud/tke/v20180525/models.py +79 -54
- tencentcloud/trocket/v20230308/models.py +148 -148
- tencentcloud/trocket/v20230308/trocket_client.py +46 -18
- tencentcloud/tsf/v20180326/models.py +6363 -4491
- tencentcloud/tsf/v20180326/tsf_client.py +23 -0
- tencentcloud/vdb/v20230616/models.py +75 -0
- tencentcloud/vm/v20210922/models.py +0 -8
- tencentcloud/vpc/v20170312/errorcodes.py +6 -0
- tencentcloud/wav/v20210129/models.py +6 -6
- tencentcloud/wedata/v20210820/models.py +15 -0
- {tencentcloud_sdk_python-3.0.1412.dist-info → tencentcloud_sdk_python-3.0.1414.dist-info}/METADATA +1 -1
- {tencentcloud_sdk_python-3.0.1412.dist-info → tencentcloud_sdk_python-3.0.1414.dist-info}/RECORD +67 -57
- {tencentcloud_sdk_python-3.0.1412.dist-info → tencentcloud_sdk_python-3.0.1414.dist-info}/LICENSE +0 -0
- {tencentcloud_sdk_python-3.0.1412.dist-info → tencentcloud_sdk_python-3.0.1414.dist-info}/WHEEL +0 -0
- {tencentcloud_sdk_python-3.0.1412.dist-info → tencentcloud_sdk_python-3.0.1414.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1152 @@
|
|
1
|
+
# -*- coding: utf8 -*-
|
2
|
+
# Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
|
16
|
+
import warnings
|
17
|
+
|
18
|
+
from tencentcloud.common.abstract_model import AbstractModel
|
19
|
+
|
20
|
+
|
21
|
+
class DescribeSecurityAlarmTableListRequest(AbstractModel):
|
22
|
+
"""DescribeSecurityAlarmTableList请求参数结构体
|
23
|
+
|
24
|
+
"""
|
25
|
+
|
26
|
+
def __init__(self):
|
27
|
+
r"""
|
28
|
+
:param _SdlId: 实例ID
|
29
|
+
:type SdlId: str
|
30
|
+
:param _Filters: 过滤条件
|
31
|
+
:type Filters: list of WebSearchFilter
|
32
|
+
:param _Limit: 长度
|
33
|
+
:type Limit: int
|
34
|
+
:param _Offset: 偏移
|
35
|
+
:type Offset: int
|
36
|
+
:param _Order: 排序
|
37
|
+
:type Order: str
|
38
|
+
:param _By: 排序字段
|
39
|
+
:type By: str
|
40
|
+
:param _StartTime: 开始时间,毫秒
|
41
|
+
:type StartTime: int
|
42
|
+
:param _EndTime: 结束时间
|
43
|
+
:type EndTime: int
|
44
|
+
"""
|
45
|
+
self._SdlId = None
|
46
|
+
self._Filters = None
|
47
|
+
self._Limit = None
|
48
|
+
self._Offset = None
|
49
|
+
self._Order = None
|
50
|
+
self._By = None
|
51
|
+
self._StartTime = None
|
52
|
+
self._EndTime = None
|
53
|
+
|
54
|
+
@property
|
55
|
+
def SdlId(self):
|
56
|
+
"""实例ID
|
57
|
+
:rtype: str
|
58
|
+
"""
|
59
|
+
return self._SdlId
|
60
|
+
|
61
|
+
@SdlId.setter
|
62
|
+
def SdlId(self, SdlId):
|
63
|
+
self._SdlId = SdlId
|
64
|
+
|
65
|
+
@property
|
66
|
+
def Filters(self):
|
67
|
+
"""过滤条件
|
68
|
+
:rtype: list of WebSearchFilter
|
69
|
+
"""
|
70
|
+
return self._Filters
|
71
|
+
|
72
|
+
@Filters.setter
|
73
|
+
def Filters(self, Filters):
|
74
|
+
self._Filters = Filters
|
75
|
+
|
76
|
+
@property
|
77
|
+
def Limit(self):
|
78
|
+
"""长度
|
79
|
+
:rtype: int
|
80
|
+
"""
|
81
|
+
return self._Limit
|
82
|
+
|
83
|
+
@Limit.setter
|
84
|
+
def Limit(self, Limit):
|
85
|
+
self._Limit = Limit
|
86
|
+
|
87
|
+
@property
|
88
|
+
def Offset(self):
|
89
|
+
"""偏移
|
90
|
+
:rtype: int
|
91
|
+
"""
|
92
|
+
return self._Offset
|
93
|
+
|
94
|
+
@Offset.setter
|
95
|
+
def Offset(self, Offset):
|
96
|
+
self._Offset = Offset
|
97
|
+
|
98
|
+
@property
|
99
|
+
def Order(self):
|
100
|
+
"""排序
|
101
|
+
:rtype: str
|
102
|
+
"""
|
103
|
+
return self._Order
|
104
|
+
|
105
|
+
@Order.setter
|
106
|
+
def Order(self, Order):
|
107
|
+
self._Order = Order
|
108
|
+
|
109
|
+
@property
|
110
|
+
def By(self):
|
111
|
+
"""排序字段
|
112
|
+
:rtype: str
|
113
|
+
"""
|
114
|
+
return self._By
|
115
|
+
|
116
|
+
@By.setter
|
117
|
+
def By(self, By):
|
118
|
+
self._By = By
|
119
|
+
|
120
|
+
@property
|
121
|
+
def StartTime(self):
|
122
|
+
"""开始时间,毫秒
|
123
|
+
:rtype: int
|
124
|
+
"""
|
125
|
+
return self._StartTime
|
126
|
+
|
127
|
+
@StartTime.setter
|
128
|
+
def StartTime(self, StartTime):
|
129
|
+
self._StartTime = StartTime
|
130
|
+
|
131
|
+
@property
|
132
|
+
def EndTime(self):
|
133
|
+
"""结束时间
|
134
|
+
:rtype: int
|
135
|
+
"""
|
136
|
+
return self._EndTime
|
137
|
+
|
138
|
+
@EndTime.setter
|
139
|
+
def EndTime(self, EndTime):
|
140
|
+
self._EndTime = EndTime
|
141
|
+
|
142
|
+
|
143
|
+
def _deserialize(self, params):
|
144
|
+
self._SdlId = params.get("SdlId")
|
145
|
+
if params.get("Filters") is not None:
|
146
|
+
self._Filters = []
|
147
|
+
for item in params.get("Filters"):
|
148
|
+
obj = WebSearchFilter()
|
149
|
+
obj._deserialize(item)
|
150
|
+
self._Filters.append(obj)
|
151
|
+
self._Limit = params.get("Limit")
|
152
|
+
self._Offset = params.get("Offset")
|
153
|
+
self._Order = params.get("Order")
|
154
|
+
self._By = params.get("By")
|
155
|
+
self._StartTime = params.get("StartTime")
|
156
|
+
self._EndTime = params.get("EndTime")
|
157
|
+
memeber_set = set(params.keys())
|
158
|
+
for name, value in vars(self).items():
|
159
|
+
property_name = name[1:]
|
160
|
+
if property_name in memeber_set:
|
161
|
+
memeber_set.remove(property_name)
|
162
|
+
if len(memeber_set) > 0:
|
163
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
class DescribeSecurityAlarmTableListResponse(AbstractModel):
|
168
|
+
"""DescribeSecurityAlarmTableList返回参数结构体
|
169
|
+
|
170
|
+
"""
|
171
|
+
|
172
|
+
def __init__(self):
|
173
|
+
r"""
|
174
|
+
:param _AlarmList: 字段列表
|
175
|
+
:type AlarmList: list of SecurityAlarmTable
|
176
|
+
:param _TotalCount: 数量
|
177
|
+
:type TotalCount: int
|
178
|
+
:param _Limit: 限制
|
179
|
+
:type Limit: int
|
180
|
+
:param _Offset: 偏移
|
181
|
+
:type Offset: int
|
182
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
183
|
+
:type RequestId: str
|
184
|
+
"""
|
185
|
+
self._AlarmList = None
|
186
|
+
self._TotalCount = None
|
187
|
+
self._Limit = None
|
188
|
+
self._Offset = None
|
189
|
+
self._RequestId = None
|
190
|
+
|
191
|
+
@property
|
192
|
+
def AlarmList(self):
|
193
|
+
"""字段列表
|
194
|
+
:rtype: list of SecurityAlarmTable
|
195
|
+
"""
|
196
|
+
return self._AlarmList
|
197
|
+
|
198
|
+
@AlarmList.setter
|
199
|
+
def AlarmList(self, AlarmList):
|
200
|
+
self._AlarmList = AlarmList
|
201
|
+
|
202
|
+
@property
|
203
|
+
def TotalCount(self):
|
204
|
+
"""数量
|
205
|
+
:rtype: int
|
206
|
+
"""
|
207
|
+
return self._TotalCount
|
208
|
+
|
209
|
+
@TotalCount.setter
|
210
|
+
def TotalCount(self, TotalCount):
|
211
|
+
self._TotalCount = TotalCount
|
212
|
+
|
213
|
+
@property
|
214
|
+
def Limit(self):
|
215
|
+
"""限制
|
216
|
+
:rtype: int
|
217
|
+
"""
|
218
|
+
return self._Limit
|
219
|
+
|
220
|
+
@Limit.setter
|
221
|
+
def Limit(self, Limit):
|
222
|
+
self._Limit = Limit
|
223
|
+
|
224
|
+
@property
|
225
|
+
def Offset(self):
|
226
|
+
"""偏移
|
227
|
+
:rtype: int
|
228
|
+
"""
|
229
|
+
return self._Offset
|
230
|
+
|
231
|
+
@Offset.setter
|
232
|
+
def Offset(self, Offset):
|
233
|
+
self._Offset = Offset
|
234
|
+
|
235
|
+
@property
|
236
|
+
def RequestId(self):
|
237
|
+
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
238
|
+
:rtype: str
|
239
|
+
"""
|
240
|
+
return self._RequestId
|
241
|
+
|
242
|
+
@RequestId.setter
|
243
|
+
def RequestId(self, RequestId):
|
244
|
+
self._RequestId = RequestId
|
245
|
+
|
246
|
+
|
247
|
+
def _deserialize(self, params):
|
248
|
+
if params.get("AlarmList") is not None:
|
249
|
+
self._AlarmList = []
|
250
|
+
for item in params.get("AlarmList"):
|
251
|
+
obj = SecurityAlarmTable()
|
252
|
+
obj._deserialize(item)
|
253
|
+
self._AlarmList.append(obj)
|
254
|
+
self._TotalCount = params.get("TotalCount")
|
255
|
+
self._Limit = params.get("Limit")
|
256
|
+
self._Offset = params.get("Offset")
|
257
|
+
self._RequestId = params.get("RequestId")
|
258
|
+
|
259
|
+
|
260
|
+
class SecurityAlarmTable(AbstractModel):
|
261
|
+
"""告警列表
|
262
|
+
|
263
|
+
"""
|
264
|
+
|
265
|
+
def __init__(self):
|
266
|
+
r"""
|
267
|
+
:param _Timestamp: 时间
|
268
|
+
:type Timestamp: str
|
269
|
+
:param _AlarmName: 告警名称
|
270
|
+
:type AlarmName: str
|
271
|
+
:param _RuleName: 规则名称
|
272
|
+
:type RuleName: str
|
273
|
+
:param _AlarmId: 告警id
|
274
|
+
:type AlarmId: int
|
275
|
+
:param _Severity: 安全性
|
276
|
+
:type Severity: int
|
277
|
+
:param _Score: 评分
|
278
|
+
:type Score: int
|
279
|
+
:param _Category: 分类
|
280
|
+
:type Category: str
|
281
|
+
:param _SubCategory: 子分类
|
282
|
+
:type SubCategory: str
|
283
|
+
:param _Tags: 标签
|
284
|
+
:type Tags: str
|
285
|
+
:param _Payload: 有效载荷
|
286
|
+
:type Payload: str
|
287
|
+
:param _Result: 结果
|
288
|
+
:type Result: str
|
289
|
+
:param _Confidence: 可信度
|
290
|
+
:type Confidence: int
|
291
|
+
:param _Status: 状态
|
292
|
+
:type Status: str
|
293
|
+
:param _RuleTopic: 规则主题
|
294
|
+
:type RuleTopic: str
|
295
|
+
:param _HandleTime: 处理时间
|
296
|
+
:type HandleTime: str
|
297
|
+
:param _Suggestion: 建议
|
298
|
+
:type Suggestion: str
|
299
|
+
:param _Description: 描述
|
300
|
+
:type Description: str
|
301
|
+
:param _SourceName: 来源名称
|
302
|
+
:type SourceName: str
|
303
|
+
:param _AppId: APPID
|
304
|
+
:type AppId: int
|
305
|
+
:param _RuleId: 规则ID
|
306
|
+
:type RuleId: int
|
307
|
+
:param _EventTime: 事件时间
|
308
|
+
:type EventTime: str
|
309
|
+
:param _RuleType: 规则类型
|
310
|
+
:type RuleType: str
|
311
|
+
:param _AttackNum: 攻击次数
|
312
|
+
:type AttackNum: int
|
313
|
+
:param _AlarmCount: 告警数量
|
314
|
+
:type AlarmCount: int
|
315
|
+
:param _AttackSubTechnique: ATT&CK子技术
|
316
|
+
:type AttackSubTechnique: str
|
317
|
+
:param _AttackTechnique: ATT&CK技术
|
318
|
+
:type AttackTechnique: str
|
319
|
+
:param _AttackTactic: ATT&CK战术
|
320
|
+
:type AttackTactic: str
|
321
|
+
:param _AttackSubTechniqueName: ATT&CK子技术名称
|
322
|
+
:type AttackSubTechniqueName: str
|
323
|
+
:param _AttackTechniqueName: ATT&CK技术名称
|
324
|
+
:type AttackTechniqueName: str
|
325
|
+
:param _AttackTacticName: 凭证访问
|
326
|
+
:type AttackTacticName: str
|
327
|
+
:param _StartTime: 开始时间
|
328
|
+
:type StartTime: str
|
329
|
+
:param _EndTime: 结束时间
|
330
|
+
:type EndTime: str
|
331
|
+
:param _RuleExpression: 规则表达式
|
332
|
+
:type RuleExpression: str
|
333
|
+
:param _ExpressionType: 表达式类型
|
334
|
+
:type ExpressionType: str
|
335
|
+
:param _DrillDownExpression: 下钻表达式
|
336
|
+
:type DrillDownExpression: str
|
337
|
+
:param _SrcIp: 源IP
|
338
|
+
:type SrcIp: str
|
339
|
+
:param _SrcPort: 源端口
|
340
|
+
:type SrcPort: int
|
341
|
+
:param _DstIp: 目的IP
|
342
|
+
:type DstIp: str
|
343
|
+
:param _DstPort: 目的端口
|
344
|
+
:type DstPort: int
|
345
|
+
:param _HostIp: 主机IP
|
346
|
+
:type HostIp: str
|
347
|
+
:param _HostAsset: 主机资产
|
348
|
+
:type HostAsset: str
|
349
|
+
:param _SdlId: 实例id
|
350
|
+
:type SdlId: str
|
351
|
+
:param _RichCustomInfos: 自定义富化字段信息
|
352
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
353
|
+
:type RichCustomInfos: list of str
|
354
|
+
:param _AttackerIp: 攻击者ip
|
355
|
+
:type AttackerIp: str
|
356
|
+
:param _AttackerAsset: 攻击者资产ID
|
357
|
+
:type AttackerAsset: str
|
358
|
+
:param _VictimIp: 受害者ip
|
359
|
+
:type VictimIp: str
|
360
|
+
:param _VictimAsset: 受害者资产ID
|
361
|
+
:type VictimAsset: str
|
362
|
+
:param _AttackDirection: 攻击方向
|
363
|
+
:type AttackDirection: str
|
364
|
+
:param _TrafficDirection: 流量方向
|
365
|
+
:type TrafficDirection: str
|
366
|
+
:param _SecurityGroupAlertInfos: 测试
|
367
|
+
:type SecurityGroupAlertInfos: list of SecurityGroupAlertInfo
|
368
|
+
"""
|
369
|
+
self._Timestamp = None
|
370
|
+
self._AlarmName = None
|
371
|
+
self._RuleName = None
|
372
|
+
self._AlarmId = None
|
373
|
+
self._Severity = None
|
374
|
+
self._Score = None
|
375
|
+
self._Category = None
|
376
|
+
self._SubCategory = None
|
377
|
+
self._Tags = None
|
378
|
+
self._Payload = None
|
379
|
+
self._Result = None
|
380
|
+
self._Confidence = None
|
381
|
+
self._Status = None
|
382
|
+
self._RuleTopic = None
|
383
|
+
self._HandleTime = None
|
384
|
+
self._Suggestion = None
|
385
|
+
self._Description = None
|
386
|
+
self._SourceName = None
|
387
|
+
self._AppId = None
|
388
|
+
self._RuleId = None
|
389
|
+
self._EventTime = None
|
390
|
+
self._RuleType = None
|
391
|
+
self._AttackNum = None
|
392
|
+
self._AlarmCount = None
|
393
|
+
self._AttackSubTechnique = None
|
394
|
+
self._AttackTechnique = None
|
395
|
+
self._AttackTactic = None
|
396
|
+
self._AttackSubTechniqueName = None
|
397
|
+
self._AttackTechniqueName = None
|
398
|
+
self._AttackTacticName = None
|
399
|
+
self._StartTime = None
|
400
|
+
self._EndTime = None
|
401
|
+
self._RuleExpression = None
|
402
|
+
self._ExpressionType = None
|
403
|
+
self._DrillDownExpression = None
|
404
|
+
self._SrcIp = None
|
405
|
+
self._SrcPort = None
|
406
|
+
self._DstIp = None
|
407
|
+
self._DstPort = None
|
408
|
+
self._HostIp = None
|
409
|
+
self._HostAsset = None
|
410
|
+
self._SdlId = None
|
411
|
+
self._RichCustomInfos = None
|
412
|
+
self._AttackerIp = None
|
413
|
+
self._AttackerAsset = None
|
414
|
+
self._VictimIp = None
|
415
|
+
self._VictimAsset = None
|
416
|
+
self._AttackDirection = None
|
417
|
+
self._TrafficDirection = None
|
418
|
+
self._SecurityGroupAlertInfos = None
|
419
|
+
|
420
|
+
@property
|
421
|
+
def Timestamp(self):
|
422
|
+
"""时间
|
423
|
+
:rtype: str
|
424
|
+
"""
|
425
|
+
return self._Timestamp
|
426
|
+
|
427
|
+
@Timestamp.setter
|
428
|
+
def Timestamp(self, Timestamp):
|
429
|
+
self._Timestamp = Timestamp
|
430
|
+
|
431
|
+
@property
|
432
|
+
def AlarmName(self):
|
433
|
+
"""告警名称
|
434
|
+
:rtype: str
|
435
|
+
"""
|
436
|
+
return self._AlarmName
|
437
|
+
|
438
|
+
@AlarmName.setter
|
439
|
+
def AlarmName(self, AlarmName):
|
440
|
+
self._AlarmName = AlarmName
|
441
|
+
|
442
|
+
@property
|
443
|
+
def RuleName(self):
|
444
|
+
"""规则名称
|
445
|
+
:rtype: str
|
446
|
+
"""
|
447
|
+
return self._RuleName
|
448
|
+
|
449
|
+
@RuleName.setter
|
450
|
+
def RuleName(self, RuleName):
|
451
|
+
self._RuleName = RuleName
|
452
|
+
|
453
|
+
@property
|
454
|
+
def AlarmId(self):
|
455
|
+
"""告警id
|
456
|
+
:rtype: int
|
457
|
+
"""
|
458
|
+
return self._AlarmId
|
459
|
+
|
460
|
+
@AlarmId.setter
|
461
|
+
def AlarmId(self, AlarmId):
|
462
|
+
self._AlarmId = AlarmId
|
463
|
+
|
464
|
+
@property
|
465
|
+
def Severity(self):
|
466
|
+
"""安全性
|
467
|
+
:rtype: int
|
468
|
+
"""
|
469
|
+
return self._Severity
|
470
|
+
|
471
|
+
@Severity.setter
|
472
|
+
def Severity(self, Severity):
|
473
|
+
self._Severity = Severity
|
474
|
+
|
475
|
+
@property
|
476
|
+
def Score(self):
|
477
|
+
"""评分
|
478
|
+
:rtype: int
|
479
|
+
"""
|
480
|
+
return self._Score
|
481
|
+
|
482
|
+
@Score.setter
|
483
|
+
def Score(self, Score):
|
484
|
+
self._Score = Score
|
485
|
+
|
486
|
+
@property
|
487
|
+
def Category(self):
|
488
|
+
"""分类
|
489
|
+
:rtype: str
|
490
|
+
"""
|
491
|
+
return self._Category
|
492
|
+
|
493
|
+
@Category.setter
|
494
|
+
def Category(self, Category):
|
495
|
+
self._Category = Category
|
496
|
+
|
497
|
+
@property
|
498
|
+
def SubCategory(self):
|
499
|
+
"""子分类
|
500
|
+
:rtype: str
|
501
|
+
"""
|
502
|
+
return self._SubCategory
|
503
|
+
|
504
|
+
@SubCategory.setter
|
505
|
+
def SubCategory(self, SubCategory):
|
506
|
+
self._SubCategory = SubCategory
|
507
|
+
|
508
|
+
@property
|
509
|
+
def Tags(self):
|
510
|
+
"""标签
|
511
|
+
:rtype: str
|
512
|
+
"""
|
513
|
+
return self._Tags
|
514
|
+
|
515
|
+
@Tags.setter
|
516
|
+
def Tags(self, Tags):
|
517
|
+
self._Tags = Tags
|
518
|
+
|
519
|
+
@property
|
520
|
+
def Payload(self):
|
521
|
+
"""有效载荷
|
522
|
+
:rtype: str
|
523
|
+
"""
|
524
|
+
return self._Payload
|
525
|
+
|
526
|
+
@Payload.setter
|
527
|
+
def Payload(self, Payload):
|
528
|
+
self._Payload = Payload
|
529
|
+
|
530
|
+
@property
|
531
|
+
def Result(self):
|
532
|
+
"""结果
|
533
|
+
:rtype: str
|
534
|
+
"""
|
535
|
+
return self._Result
|
536
|
+
|
537
|
+
@Result.setter
|
538
|
+
def Result(self, Result):
|
539
|
+
self._Result = Result
|
540
|
+
|
541
|
+
@property
|
542
|
+
def Confidence(self):
|
543
|
+
"""可信度
|
544
|
+
:rtype: int
|
545
|
+
"""
|
546
|
+
return self._Confidence
|
547
|
+
|
548
|
+
@Confidence.setter
|
549
|
+
def Confidence(self, Confidence):
|
550
|
+
self._Confidence = Confidence
|
551
|
+
|
552
|
+
@property
|
553
|
+
def Status(self):
|
554
|
+
"""状态
|
555
|
+
:rtype: str
|
556
|
+
"""
|
557
|
+
return self._Status
|
558
|
+
|
559
|
+
@Status.setter
|
560
|
+
def Status(self, Status):
|
561
|
+
self._Status = Status
|
562
|
+
|
563
|
+
@property
|
564
|
+
def RuleTopic(self):
|
565
|
+
"""规则主题
|
566
|
+
:rtype: str
|
567
|
+
"""
|
568
|
+
return self._RuleTopic
|
569
|
+
|
570
|
+
@RuleTopic.setter
|
571
|
+
def RuleTopic(self, RuleTopic):
|
572
|
+
self._RuleTopic = RuleTopic
|
573
|
+
|
574
|
+
@property
|
575
|
+
def HandleTime(self):
|
576
|
+
"""处理时间
|
577
|
+
:rtype: str
|
578
|
+
"""
|
579
|
+
return self._HandleTime
|
580
|
+
|
581
|
+
@HandleTime.setter
|
582
|
+
def HandleTime(self, HandleTime):
|
583
|
+
self._HandleTime = HandleTime
|
584
|
+
|
585
|
+
@property
|
586
|
+
def Suggestion(self):
|
587
|
+
"""建议
|
588
|
+
:rtype: str
|
589
|
+
"""
|
590
|
+
return self._Suggestion
|
591
|
+
|
592
|
+
@Suggestion.setter
|
593
|
+
def Suggestion(self, Suggestion):
|
594
|
+
self._Suggestion = Suggestion
|
595
|
+
|
596
|
+
@property
|
597
|
+
def Description(self):
|
598
|
+
"""描述
|
599
|
+
:rtype: str
|
600
|
+
"""
|
601
|
+
return self._Description
|
602
|
+
|
603
|
+
@Description.setter
|
604
|
+
def Description(self, Description):
|
605
|
+
self._Description = Description
|
606
|
+
|
607
|
+
@property
|
608
|
+
def SourceName(self):
|
609
|
+
"""来源名称
|
610
|
+
:rtype: str
|
611
|
+
"""
|
612
|
+
return self._SourceName
|
613
|
+
|
614
|
+
@SourceName.setter
|
615
|
+
def SourceName(self, SourceName):
|
616
|
+
self._SourceName = SourceName
|
617
|
+
|
618
|
+
@property
|
619
|
+
def AppId(self):
|
620
|
+
"""APPID
|
621
|
+
:rtype: int
|
622
|
+
"""
|
623
|
+
return self._AppId
|
624
|
+
|
625
|
+
@AppId.setter
|
626
|
+
def AppId(self, AppId):
|
627
|
+
self._AppId = AppId
|
628
|
+
|
629
|
+
@property
|
630
|
+
def RuleId(self):
|
631
|
+
"""规则ID
|
632
|
+
:rtype: int
|
633
|
+
"""
|
634
|
+
return self._RuleId
|
635
|
+
|
636
|
+
@RuleId.setter
|
637
|
+
def RuleId(self, RuleId):
|
638
|
+
self._RuleId = RuleId
|
639
|
+
|
640
|
+
@property
|
641
|
+
def EventTime(self):
|
642
|
+
"""事件时间
|
643
|
+
:rtype: str
|
644
|
+
"""
|
645
|
+
return self._EventTime
|
646
|
+
|
647
|
+
@EventTime.setter
|
648
|
+
def EventTime(self, EventTime):
|
649
|
+
self._EventTime = EventTime
|
650
|
+
|
651
|
+
@property
|
652
|
+
def RuleType(self):
|
653
|
+
"""规则类型
|
654
|
+
:rtype: str
|
655
|
+
"""
|
656
|
+
return self._RuleType
|
657
|
+
|
658
|
+
@RuleType.setter
|
659
|
+
def RuleType(self, RuleType):
|
660
|
+
self._RuleType = RuleType
|
661
|
+
|
662
|
+
@property
|
663
|
+
def AttackNum(self):
|
664
|
+
"""攻击次数
|
665
|
+
:rtype: int
|
666
|
+
"""
|
667
|
+
return self._AttackNum
|
668
|
+
|
669
|
+
@AttackNum.setter
|
670
|
+
def AttackNum(self, AttackNum):
|
671
|
+
self._AttackNum = AttackNum
|
672
|
+
|
673
|
+
@property
|
674
|
+
def AlarmCount(self):
|
675
|
+
"""告警数量
|
676
|
+
:rtype: int
|
677
|
+
"""
|
678
|
+
return self._AlarmCount
|
679
|
+
|
680
|
+
@AlarmCount.setter
|
681
|
+
def AlarmCount(self, AlarmCount):
|
682
|
+
self._AlarmCount = AlarmCount
|
683
|
+
|
684
|
+
@property
|
685
|
+
def AttackSubTechnique(self):
|
686
|
+
"""ATT&CK子技术
|
687
|
+
:rtype: str
|
688
|
+
"""
|
689
|
+
return self._AttackSubTechnique
|
690
|
+
|
691
|
+
@AttackSubTechnique.setter
|
692
|
+
def AttackSubTechnique(self, AttackSubTechnique):
|
693
|
+
self._AttackSubTechnique = AttackSubTechnique
|
694
|
+
|
695
|
+
@property
|
696
|
+
def AttackTechnique(self):
|
697
|
+
"""ATT&CK技术
|
698
|
+
:rtype: str
|
699
|
+
"""
|
700
|
+
return self._AttackTechnique
|
701
|
+
|
702
|
+
@AttackTechnique.setter
|
703
|
+
def AttackTechnique(self, AttackTechnique):
|
704
|
+
self._AttackTechnique = AttackTechnique
|
705
|
+
|
706
|
+
@property
|
707
|
+
def AttackTactic(self):
|
708
|
+
"""ATT&CK战术
|
709
|
+
:rtype: str
|
710
|
+
"""
|
711
|
+
return self._AttackTactic
|
712
|
+
|
713
|
+
@AttackTactic.setter
|
714
|
+
def AttackTactic(self, AttackTactic):
|
715
|
+
self._AttackTactic = AttackTactic
|
716
|
+
|
717
|
+
@property
|
718
|
+
def AttackSubTechniqueName(self):
|
719
|
+
"""ATT&CK子技术名称
|
720
|
+
:rtype: str
|
721
|
+
"""
|
722
|
+
return self._AttackSubTechniqueName
|
723
|
+
|
724
|
+
@AttackSubTechniqueName.setter
|
725
|
+
def AttackSubTechniqueName(self, AttackSubTechniqueName):
|
726
|
+
self._AttackSubTechniqueName = AttackSubTechniqueName
|
727
|
+
|
728
|
+
@property
|
729
|
+
def AttackTechniqueName(self):
|
730
|
+
"""ATT&CK技术名称
|
731
|
+
:rtype: str
|
732
|
+
"""
|
733
|
+
return self._AttackTechniqueName
|
734
|
+
|
735
|
+
@AttackTechniqueName.setter
|
736
|
+
def AttackTechniqueName(self, AttackTechniqueName):
|
737
|
+
self._AttackTechniqueName = AttackTechniqueName
|
738
|
+
|
739
|
+
@property
|
740
|
+
def AttackTacticName(self):
|
741
|
+
"""凭证访问
|
742
|
+
:rtype: str
|
743
|
+
"""
|
744
|
+
return self._AttackTacticName
|
745
|
+
|
746
|
+
@AttackTacticName.setter
|
747
|
+
def AttackTacticName(self, AttackTacticName):
|
748
|
+
self._AttackTacticName = AttackTacticName
|
749
|
+
|
750
|
+
@property
|
751
|
+
def StartTime(self):
|
752
|
+
"""开始时间
|
753
|
+
:rtype: str
|
754
|
+
"""
|
755
|
+
return self._StartTime
|
756
|
+
|
757
|
+
@StartTime.setter
|
758
|
+
def StartTime(self, StartTime):
|
759
|
+
self._StartTime = StartTime
|
760
|
+
|
761
|
+
@property
|
762
|
+
def EndTime(self):
|
763
|
+
"""结束时间
|
764
|
+
:rtype: str
|
765
|
+
"""
|
766
|
+
return self._EndTime
|
767
|
+
|
768
|
+
@EndTime.setter
|
769
|
+
def EndTime(self, EndTime):
|
770
|
+
self._EndTime = EndTime
|
771
|
+
|
772
|
+
@property
|
773
|
+
def RuleExpression(self):
|
774
|
+
"""规则表达式
|
775
|
+
:rtype: str
|
776
|
+
"""
|
777
|
+
return self._RuleExpression
|
778
|
+
|
779
|
+
@RuleExpression.setter
|
780
|
+
def RuleExpression(self, RuleExpression):
|
781
|
+
self._RuleExpression = RuleExpression
|
782
|
+
|
783
|
+
@property
|
784
|
+
def ExpressionType(self):
|
785
|
+
"""表达式类型
|
786
|
+
:rtype: str
|
787
|
+
"""
|
788
|
+
return self._ExpressionType
|
789
|
+
|
790
|
+
@ExpressionType.setter
|
791
|
+
def ExpressionType(self, ExpressionType):
|
792
|
+
self._ExpressionType = ExpressionType
|
793
|
+
|
794
|
+
@property
|
795
|
+
def DrillDownExpression(self):
|
796
|
+
"""下钻表达式
|
797
|
+
:rtype: str
|
798
|
+
"""
|
799
|
+
return self._DrillDownExpression
|
800
|
+
|
801
|
+
@DrillDownExpression.setter
|
802
|
+
def DrillDownExpression(self, DrillDownExpression):
|
803
|
+
self._DrillDownExpression = DrillDownExpression
|
804
|
+
|
805
|
+
@property
|
806
|
+
def SrcIp(self):
|
807
|
+
"""源IP
|
808
|
+
:rtype: str
|
809
|
+
"""
|
810
|
+
return self._SrcIp
|
811
|
+
|
812
|
+
@SrcIp.setter
|
813
|
+
def SrcIp(self, SrcIp):
|
814
|
+
self._SrcIp = SrcIp
|
815
|
+
|
816
|
+
@property
|
817
|
+
def SrcPort(self):
|
818
|
+
"""源端口
|
819
|
+
:rtype: int
|
820
|
+
"""
|
821
|
+
return self._SrcPort
|
822
|
+
|
823
|
+
@SrcPort.setter
|
824
|
+
def SrcPort(self, SrcPort):
|
825
|
+
self._SrcPort = SrcPort
|
826
|
+
|
827
|
+
@property
|
828
|
+
def DstIp(self):
|
829
|
+
"""目的IP
|
830
|
+
:rtype: str
|
831
|
+
"""
|
832
|
+
return self._DstIp
|
833
|
+
|
834
|
+
@DstIp.setter
|
835
|
+
def DstIp(self, DstIp):
|
836
|
+
self._DstIp = DstIp
|
837
|
+
|
838
|
+
@property
|
839
|
+
def DstPort(self):
|
840
|
+
"""目的端口
|
841
|
+
:rtype: int
|
842
|
+
"""
|
843
|
+
return self._DstPort
|
844
|
+
|
845
|
+
@DstPort.setter
|
846
|
+
def DstPort(self, DstPort):
|
847
|
+
self._DstPort = DstPort
|
848
|
+
|
849
|
+
@property
|
850
|
+
def HostIp(self):
|
851
|
+
"""主机IP
|
852
|
+
:rtype: str
|
853
|
+
"""
|
854
|
+
return self._HostIp
|
855
|
+
|
856
|
+
@HostIp.setter
|
857
|
+
def HostIp(self, HostIp):
|
858
|
+
self._HostIp = HostIp
|
859
|
+
|
860
|
+
@property
|
861
|
+
def HostAsset(self):
|
862
|
+
"""主机资产
|
863
|
+
:rtype: str
|
864
|
+
"""
|
865
|
+
return self._HostAsset
|
866
|
+
|
867
|
+
@HostAsset.setter
|
868
|
+
def HostAsset(self, HostAsset):
|
869
|
+
self._HostAsset = HostAsset
|
870
|
+
|
871
|
+
@property
|
872
|
+
def SdlId(self):
|
873
|
+
"""实例id
|
874
|
+
:rtype: str
|
875
|
+
"""
|
876
|
+
return self._SdlId
|
877
|
+
|
878
|
+
@SdlId.setter
|
879
|
+
def SdlId(self, SdlId):
|
880
|
+
self._SdlId = SdlId
|
881
|
+
|
882
|
+
@property
|
883
|
+
def RichCustomInfos(self):
|
884
|
+
"""自定义富化字段信息
|
885
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
886
|
+
:rtype: list of str
|
887
|
+
"""
|
888
|
+
return self._RichCustomInfos
|
889
|
+
|
890
|
+
@RichCustomInfos.setter
|
891
|
+
def RichCustomInfos(self, RichCustomInfos):
|
892
|
+
self._RichCustomInfos = RichCustomInfos
|
893
|
+
|
894
|
+
@property
|
895
|
+
def AttackerIp(self):
|
896
|
+
"""攻击者ip
|
897
|
+
:rtype: str
|
898
|
+
"""
|
899
|
+
return self._AttackerIp
|
900
|
+
|
901
|
+
@AttackerIp.setter
|
902
|
+
def AttackerIp(self, AttackerIp):
|
903
|
+
self._AttackerIp = AttackerIp
|
904
|
+
|
905
|
+
@property
|
906
|
+
def AttackerAsset(self):
|
907
|
+
"""攻击者资产ID
|
908
|
+
:rtype: str
|
909
|
+
"""
|
910
|
+
return self._AttackerAsset
|
911
|
+
|
912
|
+
@AttackerAsset.setter
|
913
|
+
def AttackerAsset(self, AttackerAsset):
|
914
|
+
self._AttackerAsset = AttackerAsset
|
915
|
+
|
916
|
+
@property
|
917
|
+
def VictimIp(self):
|
918
|
+
"""受害者ip
|
919
|
+
:rtype: str
|
920
|
+
"""
|
921
|
+
return self._VictimIp
|
922
|
+
|
923
|
+
@VictimIp.setter
|
924
|
+
def VictimIp(self, VictimIp):
|
925
|
+
self._VictimIp = VictimIp
|
926
|
+
|
927
|
+
@property
|
928
|
+
def VictimAsset(self):
|
929
|
+
"""受害者资产ID
|
930
|
+
:rtype: str
|
931
|
+
"""
|
932
|
+
return self._VictimAsset
|
933
|
+
|
934
|
+
@VictimAsset.setter
|
935
|
+
def VictimAsset(self, VictimAsset):
|
936
|
+
self._VictimAsset = VictimAsset
|
937
|
+
|
938
|
+
@property
|
939
|
+
def AttackDirection(self):
|
940
|
+
"""攻击方向
|
941
|
+
:rtype: str
|
942
|
+
"""
|
943
|
+
return self._AttackDirection
|
944
|
+
|
945
|
+
@AttackDirection.setter
|
946
|
+
def AttackDirection(self, AttackDirection):
|
947
|
+
self._AttackDirection = AttackDirection
|
948
|
+
|
949
|
+
@property
|
950
|
+
def TrafficDirection(self):
|
951
|
+
"""流量方向
|
952
|
+
:rtype: str
|
953
|
+
"""
|
954
|
+
return self._TrafficDirection
|
955
|
+
|
956
|
+
@TrafficDirection.setter
|
957
|
+
def TrafficDirection(self, TrafficDirection):
|
958
|
+
self._TrafficDirection = TrafficDirection
|
959
|
+
|
960
|
+
@property
|
961
|
+
def SecurityGroupAlertInfos(self):
|
962
|
+
"""测试
|
963
|
+
:rtype: list of SecurityGroupAlertInfo
|
964
|
+
"""
|
965
|
+
return self._SecurityGroupAlertInfos
|
966
|
+
|
967
|
+
@SecurityGroupAlertInfos.setter
|
968
|
+
def SecurityGroupAlertInfos(self, SecurityGroupAlertInfos):
|
969
|
+
self._SecurityGroupAlertInfos = SecurityGroupAlertInfos
|
970
|
+
|
971
|
+
|
972
|
+
def _deserialize(self, params):
|
973
|
+
self._Timestamp = params.get("Timestamp")
|
974
|
+
self._AlarmName = params.get("AlarmName")
|
975
|
+
self._RuleName = params.get("RuleName")
|
976
|
+
self._AlarmId = params.get("AlarmId")
|
977
|
+
self._Severity = params.get("Severity")
|
978
|
+
self._Score = params.get("Score")
|
979
|
+
self._Category = params.get("Category")
|
980
|
+
self._SubCategory = params.get("SubCategory")
|
981
|
+
self._Tags = params.get("Tags")
|
982
|
+
self._Payload = params.get("Payload")
|
983
|
+
self._Result = params.get("Result")
|
984
|
+
self._Confidence = params.get("Confidence")
|
985
|
+
self._Status = params.get("Status")
|
986
|
+
self._RuleTopic = params.get("RuleTopic")
|
987
|
+
self._HandleTime = params.get("HandleTime")
|
988
|
+
self._Suggestion = params.get("Suggestion")
|
989
|
+
self._Description = params.get("Description")
|
990
|
+
self._SourceName = params.get("SourceName")
|
991
|
+
self._AppId = params.get("AppId")
|
992
|
+
self._RuleId = params.get("RuleId")
|
993
|
+
self._EventTime = params.get("EventTime")
|
994
|
+
self._RuleType = params.get("RuleType")
|
995
|
+
self._AttackNum = params.get("AttackNum")
|
996
|
+
self._AlarmCount = params.get("AlarmCount")
|
997
|
+
self._AttackSubTechnique = params.get("AttackSubTechnique")
|
998
|
+
self._AttackTechnique = params.get("AttackTechnique")
|
999
|
+
self._AttackTactic = params.get("AttackTactic")
|
1000
|
+
self._AttackSubTechniqueName = params.get("AttackSubTechniqueName")
|
1001
|
+
self._AttackTechniqueName = params.get("AttackTechniqueName")
|
1002
|
+
self._AttackTacticName = params.get("AttackTacticName")
|
1003
|
+
self._StartTime = params.get("StartTime")
|
1004
|
+
self._EndTime = params.get("EndTime")
|
1005
|
+
self._RuleExpression = params.get("RuleExpression")
|
1006
|
+
self._ExpressionType = params.get("ExpressionType")
|
1007
|
+
self._DrillDownExpression = params.get("DrillDownExpression")
|
1008
|
+
self._SrcIp = params.get("SrcIp")
|
1009
|
+
self._SrcPort = params.get("SrcPort")
|
1010
|
+
self._DstIp = params.get("DstIp")
|
1011
|
+
self._DstPort = params.get("DstPort")
|
1012
|
+
self._HostIp = params.get("HostIp")
|
1013
|
+
self._HostAsset = params.get("HostAsset")
|
1014
|
+
self._SdlId = params.get("SdlId")
|
1015
|
+
self._RichCustomInfos = params.get("RichCustomInfos")
|
1016
|
+
self._AttackerIp = params.get("AttackerIp")
|
1017
|
+
self._AttackerAsset = params.get("AttackerAsset")
|
1018
|
+
self._VictimIp = params.get("VictimIp")
|
1019
|
+
self._VictimAsset = params.get("VictimAsset")
|
1020
|
+
self._AttackDirection = params.get("AttackDirection")
|
1021
|
+
self._TrafficDirection = params.get("TrafficDirection")
|
1022
|
+
if params.get("SecurityGroupAlertInfos") is not None:
|
1023
|
+
self._SecurityGroupAlertInfos = []
|
1024
|
+
for item in params.get("SecurityGroupAlertInfos"):
|
1025
|
+
obj = SecurityGroupAlertInfo()
|
1026
|
+
obj._deserialize(item)
|
1027
|
+
self._SecurityGroupAlertInfos.append(obj)
|
1028
|
+
memeber_set = set(params.keys())
|
1029
|
+
for name, value in vars(self).items():
|
1030
|
+
property_name = name[1:]
|
1031
|
+
if property_name in memeber_set:
|
1032
|
+
memeber_set.remove(property_name)
|
1033
|
+
if len(memeber_set) > 0:
|
1034
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
1035
|
+
|
1036
|
+
|
1037
|
+
|
1038
|
+
class SecurityGroupAlertInfo(AbstractModel):
|
1039
|
+
"""被归并的原始告警信息
|
1040
|
+
|
1041
|
+
"""
|
1042
|
+
|
1043
|
+
def __init__(self):
|
1044
|
+
r"""
|
1045
|
+
:param _AlarmUuid: 告警Uuid
|
1046
|
+
:type AlarmUuid: str
|
1047
|
+
:param _Timestamp: 告警生成时间
|
1048
|
+
:type Timestamp: str
|
1049
|
+
"""
|
1050
|
+
self._AlarmUuid = None
|
1051
|
+
self._Timestamp = None
|
1052
|
+
|
1053
|
+
@property
|
1054
|
+
def AlarmUuid(self):
|
1055
|
+
"""告警Uuid
|
1056
|
+
:rtype: str
|
1057
|
+
"""
|
1058
|
+
return self._AlarmUuid
|
1059
|
+
|
1060
|
+
@AlarmUuid.setter
|
1061
|
+
def AlarmUuid(self, AlarmUuid):
|
1062
|
+
self._AlarmUuid = AlarmUuid
|
1063
|
+
|
1064
|
+
@property
|
1065
|
+
def Timestamp(self):
|
1066
|
+
"""告警生成时间
|
1067
|
+
:rtype: str
|
1068
|
+
"""
|
1069
|
+
return self._Timestamp
|
1070
|
+
|
1071
|
+
@Timestamp.setter
|
1072
|
+
def Timestamp(self, Timestamp):
|
1073
|
+
self._Timestamp = Timestamp
|
1074
|
+
|
1075
|
+
|
1076
|
+
def _deserialize(self, params):
|
1077
|
+
self._AlarmUuid = params.get("AlarmUuid")
|
1078
|
+
self._Timestamp = params.get("Timestamp")
|
1079
|
+
memeber_set = set(params.keys())
|
1080
|
+
for name, value in vars(self).items():
|
1081
|
+
property_name = name[1:]
|
1082
|
+
if property_name in memeber_set:
|
1083
|
+
memeber_set.remove(property_name)
|
1084
|
+
if len(memeber_set) > 0:
|
1085
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
1086
|
+
|
1087
|
+
|
1088
|
+
|
1089
|
+
class WebSearchFilter(AbstractModel):
|
1090
|
+
"""web搜索过滤
|
1091
|
+
|
1092
|
+
"""
|
1093
|
+
|
1094
|
+
def __init__(self):
|
1095
|
+
r"""
|
1096
|
+
:param _Name: 过滤字段
|
1097
|
+
:type Name: str
|
1098
|
+
:param _Values: 值
|
1099
|
+
:type Values: list of str
|
1100
|
+
:param _ExactMatch: 是否全匹配
|
1101
|
+
:type ExactMatch: bool
|
1102
|
+
"""
|
1103
|
+
self._Name = None
|
1104
|
+
self._Values = None
|
1105
|
+
self._ExactMatch = None
|
1106
|
+
|
1107
|
+
@property
|
1108
|
+
def Name(self):
|
1109
|
+
"""过滤字段
|
1110
|
+
:rtype: str
|
1111
|
+
"""
|
1112
|
+
return self._Name
|
1113
|
+
|
1114
|
+
@Name.setter
|
1115
|
+
def Name(self, Name):
|
1116
|
+
self._Name = Name
|
1117
|
+
|
1118
|
+
@property
|
1119
|
+
def Values(self):
|
1120
|
+
"""值
|
1121
|
+
:rtype: list of str
|
1122
|
+
"""
|
1123
|
+
return self._Values
|
1124
|
+
|
1125
|
+
@Values.setter
|
1126
|
+
def Values(self, Values):
|
1127
|
+
self._Values = Values
|
1128
|
+
|
1129
|
+
@property
|
1130
|
+
def ExactMatch(self):
|
1131
|
+
"""是否全匹配
|
1132
|
+
:rtype: bool
|
1133
|
+
"""
|
1134
|
+
return self._ExactMatch
|
1135
|
+
|
1136
|
+
@ExactMatch.setter
|
1137
|
+
def ExactMatch(self, ExactMatch):
|
1138
|
+
self._ExactMatch = ExactMatch
|
1139
|
+
|
1140
|
+
|
1141
|
+
def _deserialize(self, params):
|
1142
|
+
self._Name = params.get("Name")
|
1143
|
+
self._Values = params.get("Values")
|
1144
|
+
self._ExactMatch = params.get("ExactMatch")
|
1145
|
+
memeber_set = set(params.keys())
|
1146
|
+
for name, value in vars(self).items():
|
1147
|
+
property_name = name[1:]
|
1148
|
+
if property_name in memeber_set:
|
1149
|
+
memeber_set.remove(property_name)
|
1150
|
+
if len(memeber_set) > 0:
|
1151
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
1152
|
+
|