tencentcloud-sdk-python-waf 3.1.52__tar.gz → 3.1.70__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.
Files changed (17) hide show
  1. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/PKG-INFO +2 -2
  2. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/setup.py +1 -1
  3. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/tencentcloud/__init__.py +1 -1
  4. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/tencentcloud/waf/v20180125/errorcodes.py +24 -0
  5. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/tencentcloud/waf/v20180125/models.py +811 -14
  6. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/tencentcloud/waf/v20180125/waf_client.py +46 -0
  7. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/tencentcloud/waf/v20180125/waf_client_async.py +36 -0
  8. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/tencentcloud_sdk_python_waf.egg-info/PKG-INFO +2 -2
  9. tencentcloud_sdk_python_waf-3.1.70/tencentcloud_sdk_python_waf.egg-info/requires.txt +1 -0
  10. tencentcloud_sdk_python_waf-3.1.52/tencentcloud_sdk_python_waf.egg-info/requires.txt +0 -1
  11. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/README.rst +0 -0
  12. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/setup.cfg +0 -0
  13. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/tencentcloud/waf/__init__.py +0 -0
  14. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/tencentcloud/waf/v20180125/__init__.py +0 -0
  15. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/tencentcloud_sdk_python_waf.egg-info/SOURCES.txt +0 -0
  16. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/tencentcloud_sdk_python_waf.egg-info/dependency_links.txt +0 -0
  17. {tencentcloud_sdk_python_waf-3.1.52 → tencentcloud_sdk_python_waf-3.1.70}/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.52
3
+ Version: 3.1.70
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.52
18
+ Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.70
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.52,<4.0.0"],
11
+ install_requires=["tencentcloud-sdk-python-common>=3.1.70,<4.0.0"],
12
12
 
13
13
  version=tencentcloud.__version__,
14
14
  description='Tencent Cloud Waf SDK for Python',
@@ -14,4 +14,4 @@
14
14
  # limitations under the License.
15
15
 
16
16
 
17
- __version__ = '3.1.52'
17
+ __version__ = '3.1.70'
@@ -140,6 +140,30 @@ INVALIDPARAMETER_DOMAINNOTRECORD = 'InvalidParameter.DomainNotRecord'
140
140
  # 证书内容非法。
141
141
  INVALIDPARAMETER_INVALIDCERTIFICATE = 'InvalidParameter.InvalidCertificate'
142
142
 
143
+ # Content为空
144
+ INVALIDPARAMETER_LLMCONTENTEMPTY = 'InvalidParameter.LLMContentEmpty'
145
+
146
+ # 内部服务错误
147
+ INVALIDPARAMETER_LLMINTERNALERROR = 'InvalidParameter.LLMInternalError'
148
+
149
+ # Type非法
150
+ INVALIDPARAMETER_LLMINVALIDTYPE = 'InvalidParameter.LLMInvalidType'
151
+
152
+ # 大模型调用过程中,serviceid没有配置规则
153
+ INVALIDPARAMETER_LLMNORULES = 'InvalidParameter.LLMNoRules'
154
+
155
+ # 请求body解析失败
156
+ INVALIDPARAMETER_LLMPARSEFAILED = 'InvalidParameter.LLMParseFailed'
157
+
158
+ # RequestId为空
159
+ INVALIDPARAMETER_LLMREQUESTIDEMPTY = 'InvalidParameter.LLMRequestIdEmpty'
160
+
161
+ # ServiceId为空
162
+ INVALIDPARAMETER_LLMSERVICEIDEMPTY = 'InvalidParameter.LLMServiceIdEmpty'
163
+
164
+ # 大模型服务未开启开关
165
+ INVALIDPARAMETER_LLMSWITCHOFF = 'InvalidParameter.LLMSwitchOff'
166
+
143
167
  # 逻辑错误:SQL检索语句中的逻辑错误也可能导致错误。例如,使用错误的运算符、使用错误的条件等
144
168
  INVALIDPARAMETER_LOGICERR = 'InvalidParameter.LogicErr'
145
169
 
@@ -2566,6 +2566,8 @@ https:使用https协议回源
2566
2566
 
2567
2567
  @property
2568
2568
  def HttpsUpstreamPort(self):
2569
+ warnings.warn("parameter `HttpsUpstreamPort` is deprecated", DeprecationWarning)
2570
+
2569
2571
  r"""HTTPS回源端口,仅UpstreamScheme为http时需要填当前字段
2570
2572
  :rtype: str
2571
2573
  """
@@ -2573,6 +2575,8 @@ https:使用https协议回源
2573
2575
 
2574
2576
  @HttpsUpstreamPort.setter
2575
2577
  def HttpsUpstreamPort(self, HttpsUpstreamPort):
2578
+ warnings.warn("parameter `HttpsUpstreamPort` is deprecated", DeprecationWarning)
2579
+
2576
2580
  self._HttpsUpstreamPort = HttpsUpstreamPort
2577
2581
 
2578
2582
  @property
@@ -3507,6 +3511,42 @@ class ApiDetailSampleHistory(AbstractModel):
3507
3511
 
3508
3512
 
3509
3513
 
3514
+ class ApiGuardContent(AbstractModel):
3515
+ r"""guard content
3516
+
3517
+ """
3518
+
3519
+ def __init__(self):
3520
+ r"""
3521
+ :param _Prompt: prompt
3522
+ :type Prompt: str
3523
+ """
3524
+ self._Prompt = None
3525
+
3526
+ @property
3527
+ def Prompt(self):
3528
+ r"""prompt
3529
+ :rtype: str
3530
+ """
3531
+ return self._Prompt
3532
+
3533
+ @Prompt.setter
3534
+ def Prompt(self, Prompt):
3535
+ self._Prompt = Prompt
3536
+
3537
+
3538
+ def _deserialize(self, params):
3539
+ self._Prompt = params.get("Prompt")
3540
+ memeber_set = set(params.keys())
3541
+ for name, value in vars(self).items():
3542
+ property_name = name[1:]
3543
+ if property_name in memeber_set:
3544
+ memeber_set.remove(property_name)
3545
+ if len(memeber_set) > 0:
3546
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
3547
+
3548
+
3549
+
3510
3550
  class ApiNameMethod(AbstractModel):
3511
3551
  r"""带有请求方式的apiname结构体
3512
3552
 
@@ -9592,6 +9632,87 @@ class CdcRegion(AbstractModel):
9592
9632
 
9593
9633
 
9594
9634
 
9635
+ class ClawRiskItem(AbstractModel):
9636
+ r"""ClawRiskItem
9637
+
9638
+ """
9639
+
9640
+ def __init__(self):
9641
+ r"""
9642
+ :param _RiskType: 风险类别
9643
+ :type RiskType: str
9644
+ :param _RuleId: 规则id
9645
+ :type RuleId: str
9646
+ :param _RuleName: 规则名称
9647
+ :type RuleName: str
9648
+ :param _Score: 分数
9649
+ :type Score: float
9650
+ """
9651
+ self._RiskType = None
9652
+ self._RuleId = None
9653
+ self._RuleName = None
9654
+ self._Score = None
9655
+
9656
+ @property
9657
+ def RiskType(self):
9658
+ r"""风险类别
9659
+ :rtype: str
9660
+ """
9661
+ return self._RiskType
9662
+
9663
+ @RiskType.setter
9664
+ def RiskType(self, RiskType):
9665
+ self._RiskType = RiskType
9666
+
9667
+ @property
9668
+ def RuleId(self):
9669
+ r"""规则id
9670
+ :rtype: str
9671
+ """
9672
+ return self._RuleId
9673
+
9674
+ @RuleId.setter
9675
+ def RuleId(self, RuleId):
9676
+ self._RuleId = RuleId
9677
+
9678
+ @property
9679
+ def RuleName(self):
9680
+ r"""规则名称
9681
+ :rtype: str
9682
+ """
9683
+ return self._RuleName
9684
+
9685
+ @RuleName.setter
9686
+ def RuleName(self, RuleName):
9687
+ self._RuleName = RuleName
9688
+
9689
+ @property
9690
+ def Score(self):
9691
+ r"""分数
9692
+ :rtype: float
9693
+ """
9694
+ return self._Score
9695
+
9696
+ @Score.setter
9697
+ def Score(self, Score):
9698
+ self._Score = Score
9699
+
9700
+
9701
+ def _deserialize(self, params):
9702
+ self._RiskType = params.get("RiskType")
9703
+ self._RuleId = params.get("RuleId")
9704
+ self._RuleName = params.get("RuleName")
9705
+ self._Score = params.get("Score")
9706
+ memeber_set = set(params.keys())
9707
+ for name, value in vars(self).items():
9708
+ property_name = name[1:]
9709
+ if property_name in memeber_set:
9710
+ memeber_set.remove(property_name)
9711
+ if len(memeber_set) > 0:
9712
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
9713
+
9714
+
9715
+
9595
9716
  class ClbDomainsInfo(AbstractModel):
9596
9717
  r"""负载均衡型WAF域名详情
9597
9718
 
@@ -14560,7 +14681,7 @@ class DeleteIpAccessControlRequest(AbstractModel):
14560
14681
 
14561
14682
  def __init__(self):
14562
14683
  r"""
14563
- :param _Domain: 域名
14684
+ :param _Domain: 域名,当操作对象为全局规则时,Domain参数应填写为"global"
14564
14685
  :type Domain: str
14565
14686
  :param _Items: 删除的ip数组
14566
14687
  :type Items: list of str
@@ -14568,7 +14689,7 @@ class DeleteIpAccessControlRequest(AbstractModel):
14568
14689
  :type IsId: bool
14569
14690
  :param _DeleteAll: 是否删除对应的域名下的所有黑/白IP名单,true表示全部删除,false表示只删除指定ip名单
14570
14691
  :type DeleteAll: bool
14571
- :param _SourceType: 是否为多域名黑白名单
14692
+ :param _SourceType: 用于按数据来源删除黑白名单记录,非必填,默认为custom。 custom(自定义),用户在控制台手动添加的黑白名单规则 cc(CC 防护 ),由 CC 防护模块自动添加的 IP 黑白名单 bot(Bot 防护),由 Bot 防护模块自动添加的 IP 黑白名单 batch(批量域名防护),批量域名维度添加的黑白名单规则
14572
14693
  :type SourceType: str
14573
14694
  :param _ActionType: IP黑白名单类型,40为IP白名单,42为IP黑名单
14574
14695
  :type ActionType: int
@@ -14582,7 +14703,7 @@ class DeleteIpAccessControlRequest(AbstractModel):
14582
14703
 
14583
14704
  @property
14584
14705
  def Domain(self):
14585
- r"""域名
14706
+ r"""域名,当操作对象为全局规则时,Domain参数应填写为"global"
14586
14707
  :rtype: str
14587
14708
  """
14588
14709
  return self._Domain
@@ -14626,7 +14747,7 @@ class DeleteIpAccessControlRequest(AbstractModel):
14626
14747
 
14627
14748
  @property
14628
14749
  def SourceType(self):
14629
- r"""是否为多域名黑白名单
14750
+ r"""用于按数据来源删除黑白名单记录,非必填,默认为custom。 custom(自定义),用户在控制台手动添加的黑白名单规则 cc(CC 防护 ),由 CC 防护模块自动添加的 IP 黑白名单 bot(Bot 防护),由 Bot 防护模块自动添加的 IP 黑白名单 batch(批量域名防护),批量域名维度添加的黑白名单规则
14630
14751
  :rtype: str
14631
14752
  """
14632
14753
  return self._SourceType
@@ -14729,13 +14850,13 @@ class DeleteIpAccessControlV2Request(AbstractModel):
14729
14850
 
14730
14851
  def __init__(self):
14731
14852
  r"""
14732
- :param _Domain: 域名
14853
+ :param _Domain: 域名,当操作对象为全局规则时,Domain参数应填写为"global"
14733
14854
  :type Domain: str
14734
14855
  :param _RuleIds: 规则ID列表,支持批量删除,在DeleteAll参数为true的时候可以不传
14735
14856
  :type RuleIds: list of int non-negative
14736
14857
  :param _DeleteAll: 是否删除对应的域名下的所有黑/白IP名单,true表示全部删除,false表示只删除指定IP名单,批量防护不支持
14737
14858
  :type DeleteAll: bool
14738
- :param _SourceType: batch表示为批量防护的IP黑白名单
14859
+ :param _SourceType: 用于按数据来源删除黑白名单记录,非必填,默认为custom。 custom(自定义),用户在控制台手动添加的黑白名单规则 cc(CC 防护 ),由 CC 防护模块自动添加的 IP 黑白名单 bot(Bot 防护),由 Bot 防护模块自动添加的 IP 黑白名单 batch(批量域名防护),批量域名维度添加的黑白名单规则
14739
14860
  :type SourceType: str
14740
14861
  :param _ActionType: IP黑白名单类型,40为IP白名单,42为IP黑名单,在DeleteAll为true的时候必传此参数
14741
14862
  :type ActionType: int
@@ -14748,7 +14869,7 @@ class DeleteIpAccessControlV2Request(AbstractModel):
14748
14869
 
14749
14870
  @property
14750
14871
  def Domain(self):
14751
- r"""域名
14872
+ r"""域名,当操作对象为全局规则时,Domain参数应填写为"global"
14752
14873
  :rtype: str
14753
14874
  """
14754
14875
  return self._Domain
@@ -14781,7 +14902,7 @@ class DeleteIpAccessControlV2Request(AbstractModel):
14781
14902
 
14782
14903
  @property
14783
14904
  def SourceType(self):
14784
- r"""batch表示为批量防护的IP黑白名单
14905
+ r"""用于按数据来源删除黑白名单记录,非必填,默认为custom。 custom(自定义),用户在控制台手动添加的黑白名单规则 cc(CC 防护 ),由 CC 防护模块自动添加的 IP 黑白名单 bot(Bot 防护),由 Bot 防护模块自动添加的 IP 黑白名单 batch(批量域名防护),批量域名维度添加的黑白名单规则
14785
14906
  :rtype: str
14786
14907
  """
14787
14908
  return self._SourceType
@@ -23205,7 +23326,7 @@ class DescribeIpAccessControlRequest(AbstractModel):
23205
23326
 
23206
23327
  def __init__(self):
23207
23328
  r"""
23208
- :param _Domain: 域名
23329
+ :param _Domain: 域名,当操作对象为全局规则时,Domain参数应填写为"global"
23209
23330
  :type Domain: str
23210
23331
  :param _Count: 计数标识
23211
23332
  :type Count: int
@@ -23223,7 +23344,7 @@ class DescribeIpAccessControlRequest(AbstractModel):
23223
23344
  :type OffSet: int
23224
23345
  :param _Limit: 每页返回的数量,默认为20
23225
23346
  :type Limit: int
23226
- :param _Source: 来源
23347
+ :param _Source: 用于按数据来源过滤黑白名单记录,非必填(默认为空字符串,表示不过滤/查询全部)。 "" (空字符串) ,不按来源过滤,返回所有记录(默认值) custom(自定义),用户在控制台手动添加的黑白名单规则 cc(CC 防护 ),由 CC 防护模块自动添加的 IP 黑白名单 bot(Bot 防护),由 Bot 防护模块自动添加的 IP 黑白名单 batch(批量域名防护),批量域名维度添加的黑白名单规则 batch-group(防护对象组),防护对象组维度添加的黑白名单规则
23227
23348
  :type Source: str
23228
23349
  :param _Sort: 排序参数
23229
23350
  :type Sort: str
@@ -23260,7 +23381,7 @@ class DescribeIpAccessControlRequest(AbstractModel):
23260
23381
 
23261
23382
  @property
23262
23383
  def Domain(self):
23263
- r"""域名
23384
+ r"""域名,当操作对象为全局规则时,Domain参数应填写为"global"
23264
23385
  :rtype: str
23265
23386
  """
23266
23387
  return self._Domain
@@ -23367,7 +23488,7 @@ class DescribeIpAccessControlRequest(AbstractModel):
23367
23488
 
23368
23489
  @property
23369
23490
  def Source(self):
23370
- r"""来源
23491
+ r"""用于按数据来源过滤黑白名单记录,非必填(默认为空字符串,表示不过滤/查询全部)。 "" (空字符串) ,不按来源过滤,返回所有记录(默认值) custom(自定义),用户在控制台手动添加的黑白名单规则 cc(CC 防护 ),由 CC 防护模块自动添加的 IP 黑白名单 bot(Bot 防护),由 Bot 防护模块自动添加的 IP 黑白名单 batch(批量域名防护),批量域名维度添加的黑白名单规则 batch-group(防护对象组),防护对象组维度添加的黑白名单规则
23371
23492
  :rtype: str
23372
23493
  """
23373
23494
  return self._Source
@@ -23826,6 +23947,177 @@ class DescribeIpHitItemsResponse(AbstractModel):
23826
23947
  self._RequestId = params.get("RequestId")
23827
23948
 
23828
23949
 
23950
+ class DescribeLLMContentSecCheckRequest(AbstractModel):
23951
+ r"""DescribeLLMContentSecCheck请求参数结构体
23952
+
23953
+ """
23954
+
23955
+ def __init__(self):
23956
+ r"""
23957
+ :param _ServiceId: 服务id,使用哪一套防护策略,就需要传哪一套服务id,模型会检测该服务id下的所有规则
23958
+ :type ServiceId: str
23959
+ :param _Content: 要审核的内容
23960
+ :type Content: str
23961
+ :param _Type: 流量类型,是入向流量还是出向流量,入向:1,出向:2;入向和出向必填
23962
+ :type Type: int
23963
+ :param _InstanceId: 实例id,必传
23964
+ :type InstanceId: str
23965
+ :param _ChatId: 对话的id
23966
+ :type ChatId: str
23967
+ :param _UserId: 标识用户的id,限速使用,不填,则限速会不生效
23968
+ :type UserId: str
23969
+ :param _TokenUsage: token使用量,不填,会采用默认的token计算方法,计算的是模型的消耗,因为该值时在出向方向上添加,即Type=2
23970
+ :type TokenUsage: int
23971
+ """
23972
+ self._ServiceId = None
23973
+ self._Content = None
23974
+ self._Type = None
23975
+ self._InstanceId = None
23976
+ self._ChatId = None
23977
+ self._UserId = None
23978
+ self._TokenUsage = None
23979
+
23980
+ @property
23981
+ def ServiceId(self):
23982
+ r""" 服务id,使用哪一套防护策略,就需要传哪一套服务id,模型会检测该服务id下的所有规则
23983
+ :rtype: str
23984
+ """
23985
+ return self._ServiceId
23986
+
23987
+ @ServiceId.setter
23988
+ def ServiceId(self, ServiceId):
23989
+ self._ServiceId = ServiceId
23990
+
23991
+ @property
23992
+ def Content(self):
23993
+ r"""要审核的内容
23994
+ :rtype: str
23995
+ """
23996
+ return self._Content
23997
+
23998
+ @Content.setter
23999
+ def Content(self, Content):
24000
+ self._Content = Content
24001
+
24002
+ @property
24003
+ def Type(self):
24004
+ r"""流量类型,是入向流量还是出向流量,入向:1,出向:2;入向和出向必填
24005
+ :rtype: int
24006
+ """
24007
+ return self._Type
24008
+
24009
+ @Type.setter
24010
+ def Type(self, Type):
24011
+ self._Type = Type
24012
+
24013
+ @property
24014
+ def InstanceId(self):
24015
+ r"""实例id,必传
24016
+ :rtype: str
24017
+ """
24018
+ return self._InstanceId
24019
+
24020
+ @InstanceId.setter
24021
+ def InstanceId(self, InstanceId):
24022
+ self._InstanceId = InstanceId
24023
+
24024
+ @property
24025
+ def ChatId(self):
24026
+ r"""对话的id
24027
+ :rtype: str
24028
+ """
24029
+ return self._ChatId
24030
+
24031
+ @ChatId.setter
24032
+ def ChatId(self, ChatId):
24033
+ self._ChatId = ChatId
24034
+
24035
+ @property
24036
+ def UserId(self):
24037
+ r"""标识用户的id,限速使用,不填,则限速会不生效
24038
+ :rtype: str
24039
+ """
24040
+ return self._UserId
24041
+
24042
+ @UserId.setter
24043
+ def UserId(self, UserId):
24044
+ self._UserId = UserId
24045
+
24046
+ @property
24047
+ def TokenUsage(self):
24048
+ r"""token使用量,不填,会采用默认的token计算方法,计算的是模型的消耗,因为该值时在出向方向上添加,即Type=2
24049
+ :rtype: int
24050
+ """
24051
+ return self._TokenUsage
24052
+
24053
+ @TokenUsage.setter
24054
+ def TokenUsage(self, TokenUsage):
24055
+ self._TokenUsage = TokenUsage
24056
+
24057
+
24058
+ def _deserialize(self, params):
24059
+ self._ServiceId = params.get("ServiceId")
24060
+ self._Content = params.get("Content")
24061
+ self._Type = params.get("Type")
24062
+ self._InstanceId = params.get("InstanceId")
24063
+ self._ChatId = params.get("ChatId")
24064
+ self._UserId = params.get("UserId")
24065
+ self._TokenUsage = params.get("TokenUsage")
24066
+ memeber_set = set(params.keys())
24067
+ for name, value in vars(self).items():
24068
+ property_name = name[1:]
24069
+ if property_name in memeber_set:
24070
+ memeber_set.remove(property_name)
24071
+ if len(memeber_set) > 0:
24072
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
24073
+
24074
+
24075
+
24076
+ class DescribeLLMContentSecCheckResponse(AbstractModel):
24077
+ r"""DescribeLLMContentSecCheck返回参数结构体
24078
+
24079
+ """
24080
+
24081
+ def __init__(self):
24082
+ r"""
24083
+ :param _Data: 检测结果
24084
+ :type Data: :class:`tencentcloud.waf.v20180125.models.LLMDetectResult`
24085
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
24086
+ :type RequestId: str
24087
+ """
24088
+ self._Data = None
24089
+ self._RequestId = None
24090
+
24091
+ @property
24092
+ def Data(self):
24093
+ r"""检测结果
24094
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LLMDetectResult`
24095
+ """
24096
+ return self._Data
24097
+
24098
+ @Data.setter
24099
+ def Data(self, Data):
24100
+ self._Data = Data
24101
+
24102
+ @property
24103
+ def RequestId(self):
24104
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
24105
+ :rtype: str
24106
+ """
24107
+ return self._RequestId
24108
+
24109
+ @RequestId.setter
24110
+ def RequestId(self, RequestId):
24111
+ self._RequestId = RequestId
24112
+
24113
+
24114
+ def _deserialize(self, params):
24115
+ if params.get("Data") is not None:
24116
+ self._Data = LLMDetectResult()
24117
+ self._Data._deserialize(params.get("Data"))
24118
+ self._RequestId = params.get("RequestId")
24119
+
24120
+
23829
24121
  class DescribeLogHistogramRequest(AbstractModel):
23830
24122
  r"""DescribeLogHistogram请求参数结构体
23831
24123
 
@@ -25751,6 +26043,164 @@ class DescribeProtectionModesResponse(AbstractModel):
25751
26043
  self._RequestId = params.get("RequestId")
25752
26044
 
25753
26045
 
26046
+ class DescribeQClawContentSecCheckRequest(AbstractModel):
26047
+ r"""DescribeQClawContentSecCheck请求参数结构体
26048
+
26049
+ """
26050
+
26051
+ def __init__(self):
26052
+ r"""
26053
+ :param _ServiceId: <p>服务id,使用哪一套防护策略,就需要传哪一套服务id,模型会检测该服务id下的所有规则</p>
26054
+ :type ServiceId: str
26055
+ :param _Content: <p>要审核的内容</p>
26056
+ :type Content: :class:`tencentcloud.waf.v20180125.models.ApiGuardContent`
26057
+ :param _UserId: <p>标识用户的id,限速使用,不填,则限速会不生效</p>
26058
+ :type UserId: str
26059
+ :param _SessionId: <p>会话id</p>
26060
+ :type SessionId: str
26061
+ :param _ToolName: <p>工具名称</p>
26062
+ :type ToolName: str
26063
+ :param _ToolArgs: <p>工具执行的参数</p>
26064
+ :type ToolArgs: str
26065
+ """
26066
+ self._ServiceId = None
26067
+ self._Content = None
26068
+ self._UserId = None
26069
+ self._SessionId = None
26070
+ self._ToolName = None
26071
+ self._ToolArgs = None
26072
+
26073
+ @property
26074
+ def ServiceId(self):
26075
+ r"""<p>服务id,使用哪一套防护策略,就需要传哪一套服务id,模型会检测该服务id下的所有规则</p>
26076
+ :rtype: str
26077
+ """
26078
+ return self._ServiceId
26079
+
26080
+ @ServiceId.setter
26081
+ def ServiceId(self, ServiceId):
26082
+ self._ServiceId = ServiceId
26083
+
26084
+ @property
26085
+ def Content(self):
26086
+ r"""<p>要审核的内容</p>
26087
+ :rtype: :class:`tencentcloud.waf.v20180125.models.ApiGuardContent`
26088
+ """
26089
+ return self._Content
26090
+
26091
+ @Content.setter
26092
+ def Content(self, Content):
26093
+ self._Content = Content
26094
+
26095
+ @property
26096
+ def UserId(self):
26097
+ r"""<p>标识用户的id,限速使用,不填,则限速会不生效</p>
26098
+ :rtype: str
26099
+ """
26100
+ return self._UserId
26101
+
26102
+ @UserId.setter
26103
+ def UserId(self, UserId):
26104
+ self._UserId = UserId
26105
+
26106
+ @property
26107
+ def SessionId(self):
26108
+ r"""<p>会话id</p>
26109
+ :rtype: str
26110
+ """
26111
+ return self._SessionId
26112
+
26113
+ @SessionId.setter
26114
+ def SessionId(self, SessionId):
26115
+ self._SessionId = SessionId
26116
+
26117
+ @property
26118
+ def ToolName(self):
26119
+ r"""<p>工具名称</p>
26120
+ :rtype: str
26121
+ """
26122
+ return self._ToolName
26123
+
26124
+ @ToolName.setter
26125
+ def ToolName(self, ToolName):
26126
+ self._ToolName = ToolName
26127
+
26128
+ @property
26129
+ def ToolArgs(self):
26130
+ r"""<p>工具执行的参数</p>
26131
+ :rtype: str
26132
+ """
26133
+ return self._ToolArgs
26134
+
26135
+ @ToolArgs.setter
26136
+ def ToolArgs(self, ToolArgs):
26137
+ self._ToolArgs = ToolArgs
26138
+
26139
+
26140
+ def _deserialize(self, params):
26141
+ self._ServiceId = params.get("ServiceId")
26142
+ if params.get("Content") is not None:
26143
+ self._Content = ApiGuardContent()
26144
+ self._Content._deserialize(params.get("Content"))
26145
+ self._UserId = params.get("UserId")
26146
+ self._SessionId = params.get("SessionId")
26147
+ self._ToolName = params.get("ToolName")
26148
+ self._ToolArgs = params.get("ToolArgs")
26149
+ memeber_set = set(params.keys())
26150
+ for name, value in vars(self).items():
26151
+ property_name = name[1:]
26152
+ if property_name in memeber_set:
26153
+ memeber_set.remove(property_name)
26154
+ if len(memeber_set) > 0:
26155
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
26156
+
26157
+
26158
+
26159
+ class DescribeQClawContentSecCheckResponse(AbstractModel):
26160
+ r"""DescribeQClawContentSecCheck返回参数结构体
26161
+
26162
+ """
26163
+
26164
+ def __init__(self):
26165
+ r"""
26166
+ :param _Data: <p>检测结果</p>
26167
+ :type Data: :class:`tencentcloud.waf.v20180125.models.LLMRisks`
26168
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
26169
+ :type RequestId: str
26170
+ """
26171
+ self._Data = None
26172
+ self._RequestId = None
26173
+
26174
+ @property
26175
+ def Data(self):
26176
+ r"""<p>检测结果</p>
26177
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LLMRisks`
26178
+ """
26179
+ return self._Data
26180
+
26181
+ @Data.setter
26182
+ def Data(self, Data):
26183
+ self._Data = Data
26184
+
26185
+ @property
26186
+ def RequestId(self):
26187
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
26188
+ :rtype: str
26189
+ """
26190
+ return self._RequestId
26191
+
26192
+ @RequestId.setter
26193
+ def RequestId(self, RequestId):
26194
+ self._RequestId = RequestId
26195
+
26196
+
26197
+ def _deserialize(self, params):
26198
+ if params.get("Data") is not None:
26199
+ self._Data = LLMRisks()
26200
+ self._Data._deserialize(params.get("Data"))
26201
+ self._RequestId = params.get("RequestId")
26202
+
26203
+
25754
26204
  class DescribeRateLimitsV2Request(AbstractModel):
25755
26205
  r"""DescribeRateLimitsV2请求参数结构体
25756
26206
 
@@ -34308,7 +34758,7 @@ class ImportIpAccessControlRequest(AbstractModel):
34308
34758
  :param _Domain: 具体域名如:test.qcloudwaf.com
34309
34759
  全局域名为:global
34310
34760
  :type Domain: str
34311
- :param _SourceType: 是否为批量防护IP黑白名单,当为批量防护IP黑白名单时,取值为batch,否则为空
34761
+ :param _SourceType: 用于按数据来源导入黑白名单记录,必填。 custom(自定义),用户在控制台手动添加的黑白名单规则 cc(CC 防护 ),由 CC 防护模块自动添加的 IP 黑白名单 bot(Bot 防护),由 Bot 防护模块自动添加的 IP 黑白名单 batch(批量域名防护),批量域名维度添加的黑白名单规则
34312
34762
  :type SourceType: str
34313
34763
  :param _InstanceId: 实例Id
34314
34764
  :type InstanceId: str
@@ -34343,7 +34793,7 @@ class ImportIpAccessControlRequest(AbstractModel):
34343
34793
 
34344
34794
  @property
34345
34795
  def SourceType(self):
34346
- r"""是否为批量防护IP黑白名单,当为批量防护IP黑白名单时,取值为batch,否则为空
34796
+ r"""用于按数据来源导入黑白名单记录,必填。 custom(自定义),用户在控制台手动添加的黑白名单规则 cc(CC 防护 ),由 CC 防护模块自动添加的 IP 黑白名单 bot(Bot 防护),由 Bot 防护模块自动添加的 IP 黑白名单 batch(批量域名防护),批量域名维度添加的黑白名单规则
34347
34797
  :rtype: str
34348
34798
  """
34349
34799
  return self._SourceType
@@ -36751,6 +37201,210 @@ class KVInt(AbstractModel):
36751
37201
 
36752
37202
 
36753
37203
 
37204
+ class KeyWordInfo(AbstractModel):
37205
+ r"""大模型安全检测敏感词库命中信息结构体
37206
+
37207
+ """
37208
+
37209
+ def __init__(self):
37210
+ r"""
37211
+ :param _Id: 命中的词库id
37212
+ :type Id: str
37213
+ :param _Name: 命中的词库名称
37214
+ :type Name: str
37215
+ """
37216
+ self._Id = None
37217
+ self._Name = None
37218
+
37219
+ @property
37220
+ def Id(self):
37221
+ r"""命中的词库id
37222
+ :rtype: str
37223
+ """
37224
+ return self._Id
37225
+
37226
+ @Id.setter
37227
+ def Id(self, Id):
37228
+ self._Id = Id
37229
+
37230
+ @property
37231
+ def Name(self):
37232
+ r"""命中的词库名称
37233
+ :rtype: str
37234
+ """
37235
+ return self._Name
37236
+
37237
+ @Name.setter
37238
+ def Name(self, Name):
37239
+ self._Name = Name
37240
+
37241
+
37242
+ def _deserialize(self, params):
37243
+ self._Id = params.get("Id")
37244
+ self._Name = params.get("Name")
37245
+ memeber_set = set(params.keys())
37246
+ for name, value in vars(self).items():
37247
+ property_name = name[1:]
37248
+ if property_name in memeber_set:
37249
+ memeber_set.remove(property_name)
37250
+ if len(memeber_set) > 0:
37251
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37252
+
37253
+
37254
+
37255
+ class LLMDetectResult(AbstractModel):
37256
+ r"""大模型安全检测综合结果
37257
+
37258
+ """
37259
+
37260
+ def __init__(self):
37261
+ r"""
37262
+ :param _SensitiveResult: <p>仅输出侧:涉敏信息</p>
37263
+ :type SensitiveResult: list of LLMSensitiveValueLevel
37264
+ :param _KeyWordsResult: <p>输入输出均检测:关键词库命中信息</p>
37265
+ :type KeyWordsResult: list of KeyWordInfo
37266
+ :param _DataCategoryResult: <p>输入输出均检测:数据分类分级结果</p>
37267
+ :type DataCategoryResult: list of str
37268
+ :param _PromptInjectionResult: <p>仅输入侧检出:prompt检测的结果</p>
37269
+ :type PromptInjectionResult: :class:`tencentcloud.waf.v20180125.models.PromptDetectResult`
37270
+ :param _RuleId: <p>命中的规则ID</p>
37271
+ :type RuleId: str
37272
+ :param _RuleName: <p>命中的规则名称</p>
37273
+ :type RuleName: str
37274
+ :param _Action: <p>规则动作</p>
37275
+ :type Action: str
37276
+ :param _Payload: <p>攻击payload</p>
37277
+ :type Payload: str
37278
+ """
37279
+ self._SensitiveResult = None
37280
+ self._KeyWordsResult = None
37281
+ self._DataCategoryResult = None
37282
+ self._PromptInjectionResult = None
37283
+ self._RuleId = None
37284
+ self._RuleName = None
37285
+ self._Action = None
37286
+ self._Payload = None
37287
+
37288
+ @property
37289
+ def SensitiveResult(self):
37290
+ r"""<p>仅输出侧:涉敏信息</p>
37291
+ :rtype: list of LLMSensitiveValueLevel
37292
+ """
37293
+ return self._SensitiveResult
37294
+
37295
+ @SensitiveResult.setter
37296
+ def SensitiveResult(self, SensitiveResult):
37297
+ self._SensitiveResult = SensitiveResult
37298
+
37299
+ @property
37300
+ def KeyWordsResult(self):
37301
+ r"""<p>输入输出均检测:关键词库命中信息</p>
37302
+ :rtype: list of KeyWordInfo
37303
+ """
37304
+ return self._KeyWordsResult
37305
+
37306
+ @KeyWordsResult.setter
37307
+ def KeyWordsResult(self, KeyWordsResult):
37308
+ self._KeyWordsResult = KeyWordsResult
37309
+
37310
+ @property
37311
+ def DataCategoryResult(self):
37312
+ r"""<p>输入输出均检测:数据分类分级结果</p>
37313
+ :rtype: list of str
37314
+ """
37315
+ return self._DataCategoryResult
37316
+
37317
+ @DataCategoryResult.setter
37318
+ def DataCategoryResult(self, DataCategoryResult):
37319
+ self._DataCategoryResult = DataCategoryResult
37320
+
37321
+ @property
37322
+ def PromptInjectionResult(self):
37323
+ r"""<p>仅输入侧检出:prompt检测的结果</p>
37324
+ :rtype: :class:`tencentcloud.waf.v20180125.models.PromptDetectResult`
37325
+ """
37326
+ return self._PromptInjectionResult
37327
+
37328
+ @PromptInjectionResult.setter
37329
+ def PromptInjectionResult(self, PromptInjectionResult):
37330
+ self._PromptInjectionResult = PromptInjectionResult
37331
+
37332
+ @property
37333
+ def RuleId(self):
37334
+ r"""<p>命中的规则ID</p>
37335
+ :rtype: str
37336
+ """
37337
+ return self._RuleId
37338
+
37339
+ @RuleId.setter
37340
+ def RuleId(self, RuleId):
37341
+ self._RuleId = RuleId
37342
+
37343
+ @property
37344
+ def RuleName(self):
37345
+ r"""<p>命中的规则名称</p>
37346
+ :rtype: str
37347
+ """
37348
+ return self._RuleName
37349
+
37350
+ @RuleName.setter
37351
+ def RuleName(self, RuleName):
37352
+ self._RuleName = RuleName
37353
+
37354
+ @property
37355
+ def Action(self):
37356
+ r"""<p>规则动作</p>
37357
+ :rtype: str
37358
+ """
37359
+ return self._Action
37360
+
37361
+ @Action.setter
37362
+ def Action(self, Action):
37363
+ self._Action = Action
37364
+
37365
+ @property
37366
+ def Payload(self):
37367
+ r"""<p>攻击payload</p>
37368
+ :rtype: str
37369
+ """
37370
+ return self._Payload
37371
+
37372
+ @Payload.setter
37373
+ def Payload(self, Payload):
37374
+ self._Payload = Payload
37375
+
37376
+
37377
+ def _deserialize(self, params):
37378
+ if params.get("SensitiveResult") is not None:
37379
+ self._SensitiveResult = []
37380
+ for item in params.get("SensitiveResult"):
37381
+ obj = LLMSensitiveValueLevel()
37382
+ obj._deserialize(item)
37383
+ self._SensitiveResult.append(obj)
37384
+ if params.get("KeyWordsResult") is not None:
37385
+ self._KeyWordsResult = []
37386
+ for item in params.get("KeyWordsResult"):
37387
+ obj = KeyWordInfo()
37388
+ obj._deserialize(item)
37389
+ self._KeyWordsResult.append(obj)
37390
+ self._DataCategoryResult = params.get("DataCategoryResult")
37391
+ if params.get("PromptInjectionResult") is not None:
37392
+ self._PromptInjectionResult = PromptDetectResult()
37393
+ self._PromptInjectionResult._deserialize(params.get("PromptInjectionResult"))
37394
+ self._RuleId = params.get("RuleId")
37395
+ self._RuleName = params.get("RuleName")
37396
+ self._Action = params.get("Action")
37397
+ self._Payload = params.get("Payload")
37398
+ memeber_set = set(params.keys())
37399
+ for name, value in vars(self).items():
37400
+ property_name = name[1:]
37401
+ if property_name in memeber_set:
37402
+ memeber_set.remove(property_name)
37403
+ if len(memeber_set) > 0:
37404
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37405
+
37406
+
37407
+
36754
37408
  class LLMMonPkg(AbstractModel):
36755
37409
  r"""有效预付费大模型安全包信息
36756
37410
 
@@ -37020,6 +37674,98 @@ class LLMPkg(AbstractModel):
37020
37674
 
37021
37675
 
37022
37676
 
37677
+ class LLMRisks(AbstractModel):
37678
+ r"""LLMRisks
37679
+
37680
+ """
37681
+
37682
+ def __init__(self):
37683
+ r"""
37684
+ :param _Risks: 分数
37685
+ :type Risks: list of ClawRiskItem
37686
+ """
37687
+ self._Risks = None
37688
+
37689
+ @property
37690
+ def Risks(self):
37691
+ r"""分数
37692
+ :rtype: list of ClawRiskItem
37693
+ """
37694
+ return self._Risks
37695
+
37696
+ @Risks.setter
37697
+ def Risks(self, Risks):
37698
+ self._Risks = Risks
37699
+
37700
+
37701
+ def _deserialize(self, params):
37702
+ if params.get("Risks") is not None:
37703
+ self._Risks = []
37704
+ for item in params.get("Risks"):
37705
+ obj = ClawRiskItem()
37706
+ obj._deserialize(item)
37707
+ self._Risks.append(obj)
37708
+ memeber_set = set(params.keys())
37709
+ for name, value in vars(self).items():
37710
+ property_name = name[1:]
37711
+ if property_name in memeber_set:
37712
+ memeber_set.remove(property_name)
37713
+ if len(memeber_set) > 0:
37714
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37715
+
37716
+
37717
+
37718
+ class LLMSensitiveValueLevel(AbstractModel):
37719
+ r"""涉敏信息结果结构体
37720
+
37721
+ """
37722
+
37723
+ def __init__(self):
37724
+ r"""
37725
+ :param _Label: 敏感数据标签,如政治、色情
37726
+ :type Label: str
37727
+ :param _Level: 敏感数据等级,250,300,400分别代表超严格、严格、标准等级
37728
+ :type Level: int
37729
+ """
37730
+ self._Label = None
37731
+ self._Level = None
37732
+
37733
+ @property
37734
+ def Label(self):
37735
+ r"""敏感数据标签,如政治、色情
37736
+ :rtype: str
37737
+ """
37738
+ return self._Label
37739
+
37740
+ @Label.setter
37741
+ def Label(self, Label):
37742
+ self._Label = Label
37743
+
37744
+ @property
37745
+ def Level(self):
37746
+ r"""敏感数据等级,250,300,400分别代表超严格、严格、标准等级
37747
+ :rtype: int
37748
+ """
37749
+ return self._Level
37750
+
37751
+ @Level.setter
37752
+ def Level(self, Level):
37753
+ self._Level = Level
37754
+
37755
+
37756
+ def _deserialize(self, params):
37757
+ self._Label = params.get("Label")
37758
+ self._Level = params.get("Level")
37759
+ memeber_set = set(params.keys())
37760
+ for name, value in vars(self).items():
37761
+ property_name = name[1:]
37762
+ if property_name in memeber_set:
37763
+ memeber_set.remove(property_name)
37764
+ if len(memeber_set) > 0:
37765
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37766
+
37767
+
37768
+
37023
37769
  class LimitHeader(AbstractModel):
37024
37770
  r"""限流Header数据结构
37025
37771
 
@@ -49246,6 +49992,57 @@ class ProductInfo(AbstractModel):
49246
49992
 
49247
49993
 
49248
49994
 
49995
+ class PromptDetectResult(AbstractModel):
49996
+ r"""prompt注入检测结果结构体
49997
+
49998
+ """
49999
+
50000
+ def __init__(self):
50001
+ r"""
50002
+ :param _Result: 检测结果
50003
+ :type Result: str
50004
+ :param _Confidence: 置信度
50005
+ :type Confidence: int
50006
+ """
50007
+ self._Result = None
50008
+ self._Confidence = None
50009
+
50010
+ @property
50011
+ def Result(self):
50012
+ r"""检测结果
50013
+ :rtype: str
50014
+ """
50015
+ return self._Result
50016
+
50017
+ @Result.setter
50018
+ def Result(self, Result):
50019
+ self._Result = Result
50020
+
50021
+ @property
50022
+ def Confidence(self):
50023
+ r"""置信度
50024
+ :rtype: int
50025
+ """
50026
+ return self._Confidence
50027
+
50028
+ @Confidence.setter
50029
+ def Confidence(self, Confidence):
50030
+ self._Confidence = Confidence
50031
+
50032
+
50033
+ def _deserialize(self, params):
50034
+ self._Result = params.get("Result")
50035
+ self._Confidence = params.get("Confidence")
50036
+ memeber_set = set(params.keys())
50037
+ for name, value in vars(self).items():
50038
+ property_name = name[1:]
50039
+ if property_name in memeber_set:
50040
+ memeber_set.remove(property_name)
50041
+ if len(memeber_set) > 0:
50042
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
50043
+
50044
+
50045
+
49249
50046
  class QPSPackageNew(AbstractModel):
49250
50047
  r"""clb-waf QPS套餐 New
49251
50048
 
@@ -2027,6 +2027,29 @@ class WafClient(AbstractClient):
2027
2027
  raise TencentCloudSDKException(type(e).__name__, str(e))
2028
2028
 
2029
2029
 
2030
+ def DescribeLLMContentSecCheck(self, request):
2031
+ r"""大模型请求内容和响应内容审核接口
2032
+
2033
+ :param request: Request instance for DescribeLLMContentSecCheck.
2034
+ :type request: :class:`tencentcloud.waf.v20180125.models.DescribeLLMContentSecCheckRequest`
2035
+ :rtype: :class:`tencentcloud.waf.v20180125.models.DescribeLLMContentSecCheckResponse`
2036
+
2037
+ """
2038
+ try:
2039
+ params = request._serialize()
2040
+ headers = request.headers
2041
+ body = self.call("DescribeLLMContentSecCheck", params, headers=headers)
2042
+ response = json.loads(body)
2043
+ model = models.DescribeLLMContentSecCheckResponse()
2044
+ model._deserialize(response["Response"])
2045
+ return model
2046
+ except Exception as e:
2047
+ if isinstance(e, TencentCloudSDKException):
2048
+ raise
2049
+ else:
2050
+ raise TencentCloudSDKException(type(e).__name__, str(e))
2051
+
2052
+
2030
2053
  def DescribeLogHistogram(self, request):
2031
2054
  r"""本接口用于构建日志数量直方图
2032
2055
 
@@ -2326,6 +2349,29 @@ class WafClient(AbstractClient):
2326
2349
  raise TencentCloudSDKException(type(e).__name__, str(e))
2327
2350
 
2328
2351
 
2352
+ def DescribeQClawContentSecCheck(self, request):
2353
+ r"""大模型请求内容和响应内容审核接口
2354
+
2355
+ :param request: Request instance for DescribeQClawContentSecCheck.
2356
+ :type request: :class:`tencentcloud.waf.v20180125.models.DescribeQClawContentSecCheckRequest`
2357
+ :rtype: :class:`tencentcloud.waf.v20180125.models.DescribeQClawContentSecCheckResponse`
2358
+
2359
+ """
2360
+ try:
2361
+ params = request._serialize()
2362
+ headers = request.headers
2363
+ body = self.call("DescribeQClawContentSecCheck", params, headers=headers)
2364
+ response = json.loads(body)
2365
+ model = models.DescribeQClawContentSecCheckResponse()
2366
+ model._deserialize(response["Response"])
2367
+ return model
2368
+ except Exception as e:
2369
+ if isinstance(e, TencentCloudSDKException):
2370
+ raise
2371
+ else:
2372
+ raise TencentCloudSDKException(type(e).__name__, str(e))
2373
+
2374
+
2329
2375
  def DescribeRateLimitsV2(self, request):
2330
2376
  r"""查询限流规则列表接口
2331
2377
 
@@ -1591,6 +1591,24 @@ class WafClient(AbstractClient):
1591
1591
 
1592
1592
  return await self.call_and_deserialize(**kwargs)
1593
1593
 
1594
+ async def DescribeLLMContentSecCheck(
1595
+ self,
1596
+ request: models.DescribeLLMContentSecCheckRequest,
1597
+ opts: Dict = None,
1598
+ ) -> models.DescribeLLMContentSecCheckResponse:
1599
+ """
1600
+ 大模型请求内容和响应内容审核接口
1601
+ """
1602
+
1603
+ kwargs = {}
1604
+ kwargs["action"] = "DescribeLLMContentSecCheck"
1605
+ kwargs["params"] = request._serialize()
1606
+ kwargs["resp_cls"] = models.DescribeLLMContentSecCheckResponse
1607
+ kwargs["headers"] = request.headers
1608
+ kwargs["opts"] = opts or {}
1609
+
1610
+ return await self.call_and_deserialize(**kwargs)
1611
+
1594
1612
  async def DescribeLogHistogram(
1595
1613
  self,
1596
1614
  request: models.DescribeLogHistogramRequest,
@@ -1825,6 +1843,24 @@ class WafClient(AbstractClient):
1825
1843
 
1826
1844
  return await self.call_and_deserialize(**kwargs)
1827
1845
 
1846
+ async def DescribeQClawContentSecCheck(
1847
+ self,
1848
+ request: models.DescribeQClawContentSecCheckRequest,
1849
+ opts: Dict = None,
1850
+ ) -> models.DescribeQClawContentSecCheckResponse:
1851
+ """
1852
+ 大模型请求内容和响应内容审核接口
1853
+ """
1854
+
1855
+ kwargs = {}
1856
+ kwargs["action"] = "DescribeQClawContentSecCheck"
1857
+ kwargs["params"] = request._serialize()
1858
+ kwargs["resp_cls"] = models.DescribeQClawContentSecCheckResponse
1859
+ kwargs["headers"] = request.headers
1860
+ kwargs["opts"] = opts or {}
1861
+
1862
+ return await self.call_and_deserialize(**kwargs)
1863
+
1828
1864
  async def DescribeRateLimitsV2(
1829
1865
  self,
1830
1866
  request: models.DescribeRateLimitsV2Request,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tencentcloud-sdk-python-waf
3
- Version: 3.1.52
3
+ Version: 3.1.70
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.52
18
+ Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.70
19
19
 
20
20
  ============================
21
21
  Tencent Cloud SDK for Python
@@ -0,0 +1 @@
1
+ tencentcloud-sdk-python-common<4.0.0,>=3.1.70
@@ -1 +0,0 @@
1
- tencentcloud-sdk-python-common<4.0.0,>=3.1.52