tencentcloud-sdk-python 3.0.1341__py2.py3-none-any.whl → 3.0.1343__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.
Files changed (64) hide show
  1. tencentcloud/__init__.py +1 -1
  2. tencentcloud/bi/v20220105/models.py +68 -0
  3. tencentcloud/billing/v20180709/billing_client.py +3 -1
  4. tencentcloud/billing/v20180709/models.py +90 -456
  5. tencentcloud/captcha/v20190722/models.py +6 -24
  6. tencentcloud/cdc/v20201214/models.py +0 -12
  7. tencentcloud/cdwpg/v20201230/models.py +4 -4
  8. tencentcloud/cdz/v20221123/models.py +0 -4
  9. tencentcloud/cfg/v20210820/models.py +0 -192
  10. tencentcloud/cfs/v20190719/errorcodes.py +3 -0
  11. tencentcloud/clb/v20180317/clb_client.py +2 -2
  12. tencentcloud/cvm/v20170312/cvm_client.py +23 -0
  13. tencentcloud/cvm/v20170312/models.py +211 -4
  14. tencentcloud/cwp/v20180228/models.py +160 -42
  15. tencentcloud/dbbrain/v20210527/dbbrain_client.py +161 -0
  16. tencentcloud/dbbrain/v20210527/models.py +1743 -387
  17. tencentcloud/domain/v20180808/models.py +30 -26
  18. tencentcloud/dts/v20180330/models.py +0 -6
  19. tencentcloud/dts/v20211206/models.py +2 -210
  20. tencentcloud/ess/v20201111/models.py +136 -4
  21. tencentcloud/essbasic/v20210526/models.py +128 -6
  22. tencentcloud/hunyuan/v20230901/models.py +97 -21
  23. tencentcloud/iotexplorer/v20190423/errorcodes.py +12 -0
  24. tencentcloud/iotexplorer/v20190423/iotexplorer_client.py +69 -0
  25. tencentcloud/iotexplorer/v20190423/models.py +995 -65
  26. tencentcloud/iotvideo/v20211125/iotvideo_client.py +46 -0
  27. tencentcloud/iotvideo/v20211125/models.py +188 -0
  28. tencentcloud/lcic/v20220817/errorcodes.py +1 -1
  29. tencentcloud/lighthouse/v20200324/errorcodes.py +12 -9
  30. tencentcloud/lighthouse/v20200324/lighthouse_client.py +24 -17
  31. tencentcloud/lighthouse/v20200324/models.py +68 -36
  32. tencentcloud/lke/v20231130/lke_client.py +1 -1
  33. tencentcloud/lke/v20231130/models.py +2 -2
  34. tencentcloud/lkeap/v20240522/models.py +4 -8
  35. tencentcloud/mariadb/v20170312/models.py +0 -24
  36. tencentcloud/mongodb/v20190725/models.py +6 -6
  37. tencentcloud/mps/v20190612/models.py +170 -0
  38. tencentcloud/mqtt/v20240516/errorcodes.py +9 -0
  39. tencentcloud/organization/v20210331/errorcodes.py +3 -0
  40. tencentcloud/organization/v20210331/models.py +0 -82
  41. tencentcloud/redis/v20180412/models.py +8 -8
  42. tencentcloud/ses/v20201002/models.py +2 -4
  43. tencentcloud/tat/v20201028/models.py +10 -8
  44. tencentcloud/tcb/v20180608/models.py +0 -234
  45. tencentcloud/tdmq/v20200217/models.py +17 -198
  46. tencentcloud/teo/v20220901/models.py +1182 -21
  47. tencentcloud/teo/v20220901/teo_client.py +8 -4
  48. tencentcloud/tione/v20211111/models.py +90 -0
  49. tencentcloud/trocket/v20230308/models.py +109 -0
  50. tencentcloud/trocket/v20230308/trocket_client.py +23 -0
  51. tencentcloud/trro/v20220325/models.py +140 -0
  52. tencentcloud/trro/v20220325/trro_client.py +25 -0
  53. tencentcloud/vdb/v20230616/models.py +45 -0
  54. tencentcloud/vdb/v20230616/vdb_client.py +1 -1
  55. tencentcloud/vpc/v20170312/errorcodes.py +9 -0
  56. tencentcloud/vrs/v20200824/models.py +32 -0
  57. tencentcloud/waf/v20180125/models.py +398 -0
  58. tencentcloud/waf/v20180125/waf_client.py +69 -0
  59. tencentcloud/wedata/v20210820/models.py +77 -0
  60. {tencentcloud_sdk_python-3.0.1341.dist-info → tencentcloud_sdk_python-3.0.1343.dist-info}/METADATA +1 -1
  61. {tencentcloud_sdk_python-3.0.1341.dist-info → tencentcloud_sdk_python-3.0.1343.dist-info}/RECORD +64 -64
  62. {tencentcloud_sdk_python-3.0.1341.dist-info → tencentcloud_sdk_python-3.0.1343.dist-info}/LICENSE +0 -0
  63. {tencentcloud_sdk_python-3.0.1341.dist-info → tencentcloud_sdk_python-3.0.1343.dist-info}/WHEEL +0 -0
  64. {tencentcloud_sdk_python-3.0.1341.dist-info → tencentcloud_sdk_python-3.0.1343.dist-info}/top_level.txt +0 -0
@@ -3294,6 +3294,42 @@ class BindZoneToPlanResponse(AbstractModel):
3294
3294
  self._RequestId = params.get("RequestId")
3295
3295
 
3296
3296
 
3297
+ class BlockIPActionParameters(AbstractModel):
3298
+ """Web安全IP封禁的附加参数
3299
+
3300
+ """
3301
+
3302
+ def __init__(self):
3303
+ r"""
3304
+ :param _Duration: 封禁 IP 的惩罚时长。支持的单位有:<li>s:秒,取值范围1~120;</li><li>m:分,取值范围1~120;</li><li>h:小时,取值范围1~48。</li>
3305
+ :type Duration: str
3306
+ """
3307
+ self._Duration = None
3308
+
3309
+ @property
3310
+ def Duration(self):
3311
+ """封禁 IP 的惩罚时长。支持的单位有:<li>s:秒,取值范围1~120;</li><li>m:分,取值范围1~120;</li><li>h:小时,取值范围1~48。</li>
3312
+ :rtype: str
3313
+ """
3314
+ return self._Duration
3315
+
3316
+ @Duration.setter
3317
+ def Duration(self, Duration):
3318
+ self._Duration = Duration
3319
+
3320
+
3321
+ def _deserialize(self, params):
3322
+ self._Duration = params.get("Duration")
3323
+ memeber_set = set(params.keys())
3324
+ for name, value in vars(self).items():
3325
+ property_name = name[1:]
3326
+ if property_name in memeber_set:
3327
+ memeber_set.remove(property_name)
3328
+ if len(memeber_set) > 0:
3329
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
3330
+
3331
+
3332
+
3297
3333
  class BotConfig(AbstractModel):
3298
3334
  """安全Bot配置
3299
3335
 
@@ -10713,6 +10749,175 @@ class CustomField(AbstractModel):
10713
10749
 
10714
10750
 
10715
10751
 
10752
+ class CustomRule(AbstractModel):
10753
+ """Web安全的自定义规则
10754
+
10755
+ """
10756
+
10757
+ def __init__(self):
10758
+ r"""
10759
+ :param _Name: 自定义规则的名称。
10760
+ :type Name: str
10761
+ :param _Condition: 自定义规则的具体内容,需符合表达式语法,详细规范参见产品文档。
10762
+ :type Condition: str
10763
+ :param _Action: 自定义规则的执行动作。 SecurityAction 的 Name 取值支持:<li>Deny:拦截;</li><li>Monitor:观察;</li><li>ReturnCustomPage:使用指定页面拦截;</li><li>Redirect:重定向至 URL;</li><li>BlockIP:IP 封禁;</li><li>JSChallenge:JavaScript 挑战;</li><li>ManagedChallenge:托管挑战;</li><li>Allow:放行。</li>
10764
+ :type Action: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
10765
+ :param _Enabled: 自定义规则是否开启。取值有:<li>on:开启</li><li>off:关闭</li>
10766
+ :type Enabled: str
10767
+ :param _Id: 自定义规则的 ID。<br>通过规则 ID 可支持不同的规则配置操作:<br> - 增加新规则:ID 为空或不指定 ID 参数;<br> - 修改已有规则:指定需要更新/修改的规则 ID;<br> - 删除已有规则:CustomRules 参数中,Rules 列表中未包含的已有规则将被删除。
10768
+ :type Id: str
10769
+ :param _RuleType: 自定义规则的类型。取值有:<li>BasicAccessRule:基础访问管控;</li><li>PreciseMatchRule:精准匹配规则,默认;</li><li>ManagedAccessRule:专家定制规则,仅出参。</li><br/>默认为PreciseMatchRule。
10770
+ :type RuleType: str
10771
+ :param _Priority: 自定义规则的优先级,范围是 0 ~ 100,默认为 0,仅支持精准匹配规则(PreciseMatchRule)。
10772
+ :type Priority: int
10773
+ """
10774
+ self._Name = None
10775
+ self._Condition = None
10776
+ self._Action = None
10777
+ self._Enabled = None
10778
+ self._Id = None
10779
+ self._RuleType = None
10780
+ self._Priority = None
10781
+
10782
+ @property
10783
+ def Name(self):
10784
+ """自定义规则的名称。
10785
+ :rtype: str
10786
+ """
10787
+ return self._Name
10788
+
10789
+ @Name.setter
10790
+ def Name(self, Name):
10791
+ self._Name = Name
10792
+
10793
+ @property
10794
+ def Condition(self):
10795
+ """自定义规则的具体内容,需符合表达式语法,详细规范参见产品文档。
10796
+ :rtype: str
10797
+ """
10798
+ return self._Condition
10799
+
10800
+ @Condition.setter
10801
+ def Condition(self, Condition):
10802
+ self._Condition = Condition
10803
+
10804
+ @property
10805
+ def Action(self):
10806
+ """自定义规则的执行动作。 SecurityAction 的 Name 取值支持:<li>Deny:拦截;</li><li>Monitor:观察;</li><li>ReturnCustomPage:使用指定页面拦截;</li><li>Redirect:重定向至 URL;</li><li>BlockIP:IP 封禁;</li><li>JSChallenge:JavaScript 挑战;</li><li>ManagedChallenge:托管挑战;</li><li>Allow:放行。</li>
10807
+ :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
10808
+ """
10809
+ return self._Action
10810
+
10811
+ @Action.setter
10812
+ def Action(self, Action):
10813
+ self._Action = Action
10814
+
10815
+ @property
10816
+ def Enabled(self):
10817
+ """自定义规则是否开启。取值有:<li>on:开启</li><li>off:关闭</li>
10818
+ :rtype: str
10819
+ """
10820
+ return self._Enabled
10821
+
10822
+ @Enabled.setter
10823
+ def Enabled(self, Enabled):
10824
+ self._Enabled = Enabled
10825
+
10826
+ @property
10827
+ def Id(self):
10828
+ """自定义规则的 ID。<br>通过规则 ID 可支持不同的规则配置操作:<br> - 增加新规则:ID 为空或不指定 ID 参数;<br> - 修改已有规则:指定需要更新/修改的规则 ID;<br> - 删除已有规则:CustomRules 参数中,Rules 列表中未包含的已有规则将被删除。
10829
+ :rtype: str
10830
+ """
10831
+ return self._Id
10832
+
10833
+ @Id.setter
10834
+ def Id(self, Id):
10835
+ self._Id = Id
10836
+
10837
+ @property
10838
+ def RuleType(self):
10839
+ """自定义规则的类型。取值有:<li>BasicAccessRule:基础访问管控;</li><li>PreciseMatchRule:精准匹配规则,默认;</li><li>ManagedAccessRule:专家定制规则,仅出参。</li><br/>默认为PreciseMatchRule。
10840
+ :rtype: str
10841
+ """
10842
+ return self._RuleType
10843
+
10844
+ @RuleType.setter
10845
+ def RuleType(self, RuleType):
10846
+ self._RuleType = RuleType
10847
+
10848
+ @property
10849
+ def Priority(self):
10850
+ """自定义规则的优先级,范围是 0 ~ 100,默认为 0,仅支持精准匹配规则(PreciseMatchRule)。
10851
+ :rtype: int
10852
+ """
10853
+ return self._Priority
10854
+
10855
+ @Priority.setter
10856
+ def Priority(self, Priority):
10857
+ self._Priority = Priority
10858
+
10859
+
10860
+ def _deserialize(self, params):
10861
+ self._Name = params.get("Name")
10862
+ self._Condition = params.get("Condition")
10863
+ if params.get("Action") is not None:
10864
+ self._Action = SecurityAction()
10865
+ self._Action._deserialize(params.get("Action"))
10866
+ self._Enabled = params.get("Enabled")
10867
+ self._Id = params.get("Id")
10868
+ self._RuleType = params.get("RuleType")
10869
+ self._Priority = params.get("Priority")
10870
+ memeber_set = set(params.keys())
10871
+ for name, value in vars(self).items():
10872
+ property_name = name[1:]
10873
+ if property_name in memeber_set:
10874
+ memeber_set.remove(property_name)
10875
+ if len(memeber_set) > 0:
10876
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
10877
+
10878
+
10879
+
10880
+ class CustomRules(AbstractModel):
10881
+ """Web安全的自定义规则结构
10882
+
10883
+ """
10884
+
10885
+ def __init__(self):
10886
+ r"""
10887
+ :param _Rules: 自定义规则的定义列表。<br>使用 ModifySecurityPolicy 修改 Web 防护配置时: <br> - 若未指定 Rules 参数,或 Rules 参数长度为零:清空所有自定义规则配置。<br> - 若 SecurityPolicy 参数中,未指定 CustomRules 参数值:保持已有自定义规则配置,不做修改。
10888
+ :type Rules: list of CustomRule
10889
+ """
10890
+ self._Rules = None
10891
+
10892
+ @property
10893
+ def Rules(self):
10894
+ """自定义规则的定义列表。<br>使用 ModifySecurityPolicy 修改 Web 防护配置时: <br> - 若未指定 Rules 参数,或 Rules 参数长度为零:清空所有自定义规则配置。<br> - 若 SecurityPolicy 参数中,未指定 CustomRules 参数值:保持已有自定义规则配置,不做修改。
10895
+ :rtype: list of CustomRule
10896
+ """
10897
+ return self._Rules
10898
+
10899
+ @Rules.setter
10900
+ def Rules(self, Rules):
10901
+ self._Rules = Rules
10902
+
10903
+
10904
+ def _deserialize(self, params):
10905
+ if params.get("Rules") is not None:
10906
+ self._Rules = []
10907
+ for item in params.get("Rules"):
10908
+ obj = CustomRule()
10909
+ obj._deserialize(item)
10910
+ self._Rules.append(obj)
10911
+ memeber_set = set(params.keys())
10912
+ for name, value in vars(self).items():
10913
+ property_name = name[1:]
10914
+ if property_name in memeber_set:
10915
+ memeber_set.remove(property_name)
10916
+ if len(memeber_set) > 0:
10917
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
10918
+
10919
+
10920
+
10716
10921
  class CustomTime(AbstractModel):
10717
10922
  """节点缓存 TTL 自定义缓存时间参数配置。
10718
10923
 
@@ -21417,6 +21622,213 @@ class DetailHost(AbstractModel):
21417
21622
 
21418
21623
 
21419
21624
 
21625
+ class DetectLengthLimitCondition(AbstractModel):
21626
+ """检测长度限制配置条件。
21627
+
21628
+ """
21629
+
21630
+ def __init__(self):
21631
+ r"""
21632
+ :param _Name: 匹配条件的参数名称,取值有:
21633
+ <li>body_depth:请求正文包部分的检测深度。</li>
21634
+ :type Name: str
21635
+ :param _Values: 匹配条件的参数值,取值与 Name 成对使用。
21636
+ 当 Name 值为 body_depth 时, Values 只支持传入单个值,取值有:
21637
+ <li>8KB;</li>
21638
+ <li>64KB;</li>
21639
+ <li>128KB。</li>
21640
+ :type Values: list of str
21641
+ """
21642
+ self._Name = None
21643
+ self._Values = None
21644
+
21645
+ @property
21646
+ def Name(self):
21647
+ """匹配条件的参数名称,取值有:
21648
+ <li>body_depth:请求正文包部分的检测深度。</li>
21649
+ :rtype: str
21650
+ """
21651
+ return self._Name
21652
+
21653
+ @Name.setter
21654
+ def Name(self, Name):
21655
+ self._Name = Name
21656
+
21657
+ @property
21658
+ def Values(self):
21659
+ """匹配条件的参数值,取值与 Name 成对使用。
21660
+ 当 Name 值为 body_depth 时, Values 只支持传入单个值,取值有:
21661
+ <li>8KB;</li>
21662
+ <li>64KB;</li>
21663
+ <li>128KB。</li>
21664
+ :rtype: list of str
21665
+ """
21666
+ return self._Values
21667
+
21668
+ @Values.setter
21669
+ def Values(self, Values):
21670
+ self._Values = Values
21671
+
21672
+
21673
+ def _deserialize(self, params):
21674
+ self._Name = params.get("Name")
21675
+ self._Values = params.get("Values")
21676
+ memeber_set = set(params.keys())
21677
+ for name, value in vars(self).items():
21678
+ property_name = name[1:]
21679
+ if property_name in memeber_set:
21680
+ memeber_set.remove(property_name)
21681
+ if len(memeber_set) > 0:
21682
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
21683
+
21684
+
21685
+
21686
+ class DetectLengthLimitConfig(AbstractModel):
21687
+ """检测长度限制
21688
+
21689
+ """
21690
+
21691
+ def __init__(self):
21692
+ r"""
21693
+ :param _DetectLengthLimitRules: 检测长度限制的规则列表。
21694
+ :type DetectLengthLimitRules: list of DetectLengthLimitRule
21695
+ """
21696
+ self._DetectLengthLimitRules = None
21697
+
21698
+ @property
21699
+ def DetectLengthLimitRules(self):
21700
+ """检测长度限制的规则列表。
21701
+ :rtype: list of DetectLengthLimitRule
21702
+ """
21703
+ return self._DetectLengthLimitRules
21704
+
21705
+ @DetectLengthLimitRules.setter
21706
+ def DetectLengthLimitRules(self, DetectLengthLimitRules):
21707
+ self._DetectLengthLimitRules = DetectLengthLimitRules
21708
+
21709
+
21710
+ def _deserialize(self, params):
21711
+ if params.get("DetectLengthLimitRules") is not None:
21712
+ self._DetectLengthLimitRules = []
21713
+ for item in params.get("DetectLengthLimitRules"):
21714
+ obj = DetectLengthLimitRule()
21715
+ obj._deserialize(item)
21716
+ self._DetectLengthLimitRules.append(obj)
21717
+ memeber_set = set(params.keys())
21718
+ for name, value in vars(self).items():
21719
+ property_name = name[1:]
21720
+ if property_name in memeber_set:
21721
+ memeber_set.remove(property_name)
21722
+ if len(memeber_set) > 0:
21723
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
21724
+
21725
+
21726
+
21727
+ class DetectLengthLimitRule(AbstractModel):
21728
+ """检测长度限制规则详情
21729
+
21730
+ """
21731
+
21732
+ def __init__(self):
21733
+ r"""
21734
+ :param _RuleId: 规则Id。仅出参使用。
21735
+ :type RuleId: int
21736
+ :param _RuleName: 规则名称。仅出参使用。
21737
+ :type RuleName: str
21738
+ :param _Description: 规则描述,仅出参使用。
21739
+ :type Description: str
21740
+ :param _Conditions: 规则配置条件。仅出参使用。
21741
+ :type Conditions: list of DetectLengthLimitCondition
21742
+ :param _Action: 处置方式,取值有:
21743
+ <li>skip:当请求正文数据超过 Conditions 出参中 body_depth 设置的检测深度时,跳过所有请求正文内容的检测;</li>
21744
+ <li>scan:仅检测 Conditions 出参中 body_depth 设置的检测深度,对超出部分的请求正文内容直接截断处理,超出部分的请求正文不会经过安全检测。</li>仅出参使用。
21745
+ :type Action: str
21746
+ """
21747
+ self._RuleId = None
21748
+ self._RuleName = None
21749
+ self._Description = None
21750
+ self._Conditions = None
21751
+ self._Action = None
21752
+
21753
+ @property
21754
+ def RuleId(self):
21755
+ """规则Id。仅出参使用。
21756
+ :rtype: int
21757
+ """
21758
+ return self._RuleId
21759
+
21760
+ @RuleId.setter
21761
+ def RuleId(self, RuleId):
21762
+ self._RuleId = RuleId
21763
+
21764
+ @property
21765
+ def RuleName(self):
21766
+ """规则名称。仅出参使用。
21767
+ :rtype: str
21768
+ """
21769
+ return self._RuleName
21770
+
21771
+ @RuleName.setter
21772
+ def RuleName(self, RuleName):
21773
+ self._RuleName = RuleName
21774
+
21775
+ @property
21776
+ def Description(self):
21777
+ """规则描述,仅出参使用。
21778
+ :rtype: str
21779
+ """
21780
+ return self._Description
21781
+
21782
+ @Description.setter
21783
+ def Description(self, Description):
21784
+ self._Description = Description
21785
+
21786
+ @property
21787
+ def Conditions(self):
21788
+ """规则配置条件。仅出参使用。
21789
+ :rtype: list of DetectLengthLimitCondition
21790
+ """
21791
+ return self._Conditions
21792
+
21793
+ @Conditions.setter
21794
+ def Conditions(self, Conditions):
21795
+ self._Conditions = Conditions
21796
+
21797
+ @property
21798
+ def Action(self):
21799
+ """处置方式,取值有:
21800
+ <li>skip:当请求正文数据超过 Conditions 出参中 body_depth 设置的检测深度时,跳过所有请求正文内容的检测;</li>
21801
+ <li>scan:仅检测 Conditions 出参中 body_depth 设置的检测深度,对超出部分的请求正文内容直接截断处理,超出部分的请求正文不会经过安全检测。</li>仅出参使用。
21802
+ :rtype: str
21803
+ """
21804
+ return self._Action
21805
+
21806
+ @Action.setter
21807
+ def Action(self, Action):
21808
+ self._Action = Action
21809
+
21810
+
21811
+ def _deserialize(self, params):
21812
+ self._RuleId = params.get("RuleId")
21813
+ self._RuleName = params.get("RuleName")
21814
+ self._Description = params.get("Description")
21815
+ if params.get("Conditions") is not None:
21816
+ self._Conditions = []
21817
+ for item in params.get("Conditions"):
21818
+ obj = DetectLengthLimitCondition()
21819
+ obj._deserialize(item)
21820
+ self._Conditions.append(obj)
21821
+ self._Action = params.get("Action")
21822
+ memeber_set = set(params.keys())
21823
+ for name, value in vars(self).items():
21824
+ property_name = name[1:]
21825
+ if property_name in memeber_set:
21826
+ memeber_set.remove(property_name)
21827
+ if len(memeber_set) > 0:
21828
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
21829
+
21830
+
21831
+
21420
21832
  class DiffIPWhitelist(AbstractModel):
21421
21833
  """最新IP白名单列表相比于当前IP白名单列表的区别
21422
21834
 
@@ -27677,6 +28089,485 @@ class LogFormat(AbstractModel):
27677
28089
 
27678
28090
 
27679
28091
 
28092
+ class ManagedRuleAction(AbstractModel):
28093
+ """托管规则的项配置
28094
+
28095
+ """
28096
+
28097
+ def __init__(self):
28098
+ r"""
28099
+ :param _RuleId: 托管规则组下的具体项,用于改写此单条规则项配置的内容,具体参考产品文档。
28100
+ :type RuleId: str
28101
+ :param _Action: RuleId 中指定托管规则项的处置动作。 SecurityAction 的 Name 取值支持:<li>Deny:拦截,响应拦截页面;</li><li>Monitor:观察,不处理请求记录安全事件到日志中;</li><li>Disabled:未启用,不扫描请求跳过该规则。</li>
28102
+ :type Action: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
28103
+ """
28104
+ self._RuleId = None
28105
+ self._Action = None
28106
+
28107
+ @property
28108
+ def RuleId(self):
28109
+ """托管规则组下的具体项,用于改写此单条规则项配置的内容,具体参考产品文档。
28110
+ :rtype: str
28111
+ """
28112
+ return self._RuleId
28113
+
28114
+ @RuleId.setter
28115
+ def RuleId(self, RuleId):
28116
+ self._RuleId = RuleId
28117
+
28118
+ @property
28119
+ def Action(self):
28120
+ """RuleId 中指定托管规则项的处置动作。 SecurityAction 的 Name 取值支持:<li>Deny:拦截,响应拦截页面;</li><li>Monitor:观察,不处理请求记录安全事件到日志中;</li><li>Disabled:未启用,不扫描请求跳过该规则。</li>
28121
+ :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
28122
+ """
28123
+ return self._Action
28124
+
28125
+ @Action.setter
28126
+ def Action(self, Action):
28127
+ self._Action = Action
28128
+
28129
+
28130
+ def _deserialize(self, params):
28131
+ self._RuleId = params.get("RuleId")
28132
+ if params.get("Action") is not None:
28133
+ self._Action = SecurityAction()
28134
+ self._Action._deserialize(params.get("Action"))
28135
+ memeber_set = set(params.keys())
28136
+ for name, value in vars(self).items():
28137
+ property_name = name[1:]
28138
+ if property_name in memeber_set:
28139
+ memeber_set.remove(property_name)
28140
+ if len(memeber_set) > 0:
28141
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28142
+
28143
+
28144
+
28145
+ class ManagedRuleAutoUpdate(AbstractModel):
28146
+ """托管规则自动更新选项
28147
+
28148
+ """
28149
+
28150
+ def __init__(self):
28151
+ r"""
28152
+ :param _AutoUpdateToLatestVersion: 是否开启自动更新至最新版本。取值有:<li>on:开启</li><li>off:关闭</li>
28153
+ :type AutoUpdateToLatestVersion: str
28154
+ :param _RulesetVersion: 当前使用的版本,格式符合ISO 8601标准,如2023-12-21T12:00:32Z,默认为空,仅出参。
28155
+ :type RulesetVersion: str
28156
+ """
28157
+ self._AutoUpdateToLatestVersion = None
28158
+ self._RulesetVersion = None
28159
+
28160
+ @property
28161
+ def AutoUpdateToLatestVersion(self):
28162
+ """是否开启自动更新至最新版本。取值有:<li>on:开启</li><li>off:关闭</li>
28163
+ :rtype: str
28164
+ """
28165
+ return self._AutoUpdateToLatestVersion
28166
+
28167
+ @AutoUpdateToLatestVersion.setter
28168
+ def AutoUpdateToLatestVersion(self, AutoUpdateToLatestVersion):
28169
+ self._AutoUpdateToLatestVersion = AutoUpdateToLatestVersion
28170
+
28171
+ @property
28172
+ def RulesetVersion(self):
28173
+ """当前使用的版本,格式符合ISO 8601标准,如2023-12-21T12:00:32Z,默认为空,仅出参。
28174
+ :rtype: str
28175
+ """
28176
+ return self._RulesetVersion
28177
+
28178
+ @RulesetVersion.setter
28179
+ def RulesetVersion(self, RulesetVersion):
28180
+ self._RulesetVersion = RulesetVersion
28181
+
28182
+
28183
+ def _deserialize(self, params):
28184
+ self._AutoUpdateToLatestVersion = params.get("AutoUpdateToLatestVersion")
28185
+ self._RulesetVersion = params.get("RulesetVersion")
28186
+ memeber_set = set(params.keys())
28187
+ for name, value in vars(self).items():
28188
+ property_name = name[1:]
28189
+ if property_name in memeber_set:
28190
+ memeber_set.remove(property_name)
28191
+ if len(memeber_set) > 0:
28192
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28193
+
28194
+
28195
+
28196
+ class ManagedRuleDetail(AbstractModel):
28197
+ """托管规则详情
28198
+
28199
+ """
28200
+
28201
+ def __init__(self):
28202
+ r"""
28203
+ :param _RuleId: 托管规则Id。
28204
+ :type RuleId: str
28205
+ :param _RiskLevel: 托管规则的防护级别。取值有:<li>low:低风险,此规则风险较低,适用于非常严格控制环境下的访问场景,该等级规则可能造成较多的误报;</li><li>medium:中风险,表示此条规则风险正常,适用较为严格的防护场景;</li><li>high:高风险,表示此条规则风险较高,大多数场景不会产生误报;</li><li>extreme:超高风险,表示此条规则风险极高,基本不会产生误报;</li>
28206
+ :type RiskLevel: str
28207
+ :param _Description: 规则描述。
28208
+ :type Description: str
28209
+ :param _Tags: 规则标签。部分类型的规则不存在标签。
28210
+ :type Tags: list of str
28211
+ :param _RuleVersion: 规则所属版本。
28212
+ :type RuleVersion: str
28213
+ """
28214
+ self._RuleId = None
28215
+ self._RiskLevel = None
28216
+ self._Description = None
28217
+ self._Tags = None
28218
+ self._RuleVersion = None
28219
+
28220
+ @property
28221
+ def RuleId(self):
28222
+ """托管规则Id。
28223
+ :rtype: str
28224
+ """
28225
+ return self._RuleId
28226
+
28227
+ @RuleId.setter
28228
+ def RuleId(self, RuleId):
28229
+ self._RuleId = RuleId
28230
+
28231
+ @property
28232
+ def RiskLevel(self):
28233
+ """托管规则的防护级别。取值有:<li>low:低风险,此规则风险较低,适用于非常严格控制环境下的访问场景,该等级规则可能造成较多的误报;</li><li>medium:中风险,表示此条规则风险正常,适用较为严格的防护场景;</li><li>high:高风险,表示此条规则风险较高,大多数场景不会产生误报;</li><li>extreme:超高风险,表示此条规则风险极高,基本不会产生误报;</li>
28234
+ :rtype: str
28235
+ """
28236
+ return self._RiskLevel
28237
+
28238
+ @RiskLevel.setter
28239
+ def RiskLevel(self, RiskLevel):
28240
+ self._RiskLevel = RiskLevel
28241
+
28242
+ @property
28243
+ def Description(self):
28244
+ """规则描述。
28245
+ :rtype: str
28246
+ """
28247
+ return self._Description
28248
+
28249
+ @Description.setter
28250
+ def Description(self, Description):
28251
+ self._Description = Description
28252
+
28253
+ @property
28254
+ def Tags(self):
28255
+ """规则标签。部分类型的规则不存在标签。
28256
+ :rtype: list of str
28257
+ """
28258
+ return self._Tags
28259
+
28260
+ @Tags.setter
28261
+ def Tags(self, Tags):
28262
+ self._Tags = Tags
28263
+
28264
+ @property
28265
+ def RuleVersion(self):
28266
+ """规则所属版本。
28267
+ :rtype: str
28268
+ """
28269
+ return self._RuleVersion
28270
+
28271
+ @RuleVersion.setter
28272
+ def RuleVersion(self, RuleVersion):
28273
+ self._RuleVersion = RuleVersion
28274
+
28275
+
28276
+ def _deserialize(self, params):
28277
+ self._RuleId = params.get("RuleId")
28278
+ self._RiskLevel = params.get("RiskLevel")
28279
+ self._Description = params.get("Description")
28280
+ self._Tags = params.get("Tags")
28281
+ self._RuleVersion = params.get("RuleVersion")
28282
+ memeber_set = set(params.keys())
28283
+ for name, value in vars(self).items():
28284
+ property_name = name[1:]
28285
+ if property_name in memeber_set:
28286
+ memeber_set.remove(property_name)
28287
+ if len(memeber_set) > 0:
28288
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28289
+
28290
+
28291
+
28292
+ class ManagedRuleGroup(AbstractModel):
28293
+ """托管规则组配置。
28294
+
28295
+ """
28296
+
28297
+ def __init__(self):
28298
+ r"""
28299
+ :param _GroupId: 托管规则的组名称,未指定配置的规则分组将按照默认配置处理,GroupId 的具体取值参考产品文档。
28300
+ :type GroupId: str
28301
+ :param _SensitivityLevel: 托管规则组的防护级别。取值有:<li>loose:宽松,只包含超高风险规则,此时需配置Action,且RuleActions配置无效;</li><li>normal:正常,包含超高风险和高风险规则,此时需配置Action,且RuleActions配置无效;</li><li>strict:严格,包含超高风险、高风险和中风险规则,此时需配置Action,且RuleActions配置无效;</li><li>extreme:超严格,包含超高风险、高风险、中风险和低风险规则,此时需配置Action,且RuleActions配置无效;</li><li>custom:自定义,精细化策略,按单条规则配置处置方式,此时Action字段无效,使用RuleActions配置单条规则的精细化策略。</li>
28302
+ :type SensitivityLevel: str
28303
+ :param _Action: 托管规则组的处置动作。SecurityAction 的 Name 取值支持:<li>Deny:拦截,响应拦截页面;</li><li>Monitor:观察,不处理请求记录安全事件到日志中;</li><li>Disabled:未启用,不扫描请求跳过该规则。</li>
28304
+ :type Action: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
28305
+ :param _RuleActions: 托管规则组下规则项的具体配置,仅在 SensitivityLevel 为 custom 时配置生效。
28306
+ :type RuleActions: list of ManagedRuleAction
28307
+ :param _MetaData: 托管规则组信息,仅出参。
28308
+ :type MetaData: :class:`tencentcloud.teo.v20220901.models.ManagedRuleGroupMeta`
28309
+ """
28310
+ self._GroupId = None
28311
+ self._SensitivityLevel = None
28312
+ self._Action = None
28313
+ self._RuleActions = None
28314
+ self._MetaData = None
28315
+
28316
+ @property
28317
+ def GroupId(self):
28318
+ """托管规则的组名称,未指定配置的规则分组将按照默认配置处理,GroupId 的具体取值参考产品文档。
28319
+ :rtype: str
28320
+ """
28321
+ return self._GroupId
28322
+
28323
+ @GroupId.setter
28324
+ def GroupId(self, GroupId):
28325
+ self._GroupId = GroupId
28326
+
28327
+ @property
28328
+ def SensitivityLevel(self):
28329
+ """托管规则组的防护级别。取值有:<li>loose:宽松,只包含超高风险规则,此时需配置Action,且RuleActions配置无效;</li><li>normal:正常,包含超高风险和高风险规则,此时需配置Action,且RuleActions配置无效;</li><li>strict:严格,包含超高风险、高风险和中风险规则,此时需配置Action,且RuleActions配置无效;</li><li>extreme:超严格,包含超高风险、高风险、中风险和低风险规则,此时需配置Action,且RuleActions配置无效;</li><li>custom:自定义,精细化策略,按单条规则配置处置方式,此时Action字段无效,使用RuleActions配置单条规则的精细化策略。</li>
28330
+ :rtype: str
28331
+ """
28332
+ return self._SensitivityLevel
28333
+
28334
+ @SensitivityLevel.setter
28335
+ def SensitivityLevel(self, SensitivityLevel):
28336
+ self._SensitivityLevel = SensitivityLevel
28337
+
28338
+ @property
28339
+ def Action(self):
28340
+ """托管规则组的处置动作。SecurityAction 的 Name 取值支持:<li>Deny:拦截,响应拦截页面;</li><li>Monitor:观察,不处理请求记录安全事件到日志中;</li><li>Disabled:未启用,不扫描请求跳过该规则。</li>
28341
+ :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
28342
+ """
28343
+ return self._Action
28344
+
28345
+ @Action.setter
28346
+ def Action(self, Action):
28347
+ self._Action = Action
28348
+
28349
+ @property
28350
+ def RuleActions(self):
28351
+ """托管规则组下规则项的具体配置,仅在 SensitivityLevel 为 custom 时配置生效。
28352
+ :rtype: list of ManagedRuleAction
28353
+ """
28354
+ return self._RuleActions
28355
+
28356
+ @RuleActions.setter
28357
+ def RuleActions(self, RuleActions):
28358
+ self._RuleActions = RuleActions
28359
+
28360
+ @property
28361
+ def MetaData(self):
28362
+ """托管规则组信息,仅出参。
28363
+ :rtype: :class:`tencentcloud.teo.v20220901.models.ManagedRuleGroupMeta`
28364
+ """
28365
+ return self._MetaData
28366
+
28367
+ @MetaData.setter
28368
+ def MetaData(self, MetaData):
28369
+ self._MetaData = MetaData
28370
+
28371
+
28372
+ def _deserialize(self, params):
28373
+ self._GroupId = params.get("GroupId")
28374
+ self._SensitivityLevel = params.get("SensitivityLevel")
28375
+ if params.get("Action") is not None:
28376
+ self._Action = SecurityAction()
28377
+ self._Action._deserialize(params.get("Action"))
28378
+ if params.get("RuleActions") is not None:
28379
+ self._RuleActions = []
28380
+ for item in params.get("RuleActions"):
28381
+ obj = ManagedRuleAction()
28382
+ obj._deserialize(item)
28383
+ self._RuleActions.append(obj)
28384
+ if params.get("MetaData") is not None:
28385
+ self._MetaData = ManagedRuleGroupMeta()
28386
+ self._MetaData._deserialize(params.get("MetaData"))
28387
+ memeber_set = set(params.keys())
28388
+ for name, value in vars(self).items():
28389
+ property_name = name[1:]
28390
+ if property_name in memeber_set:
28391
+ memeber_set.remove(property_name)
28392
+ if len(memeber_set) > 0:
28393
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28394
+
28395
+
28396
+
28397
+ class ManagedRuleGroupMeta(AbstractModel):
28398
+ """托管规则组信息
28399
+
28400
+ """
28401
+
28402
+ def __init__(self):
28403
+ r"""
28404
+ :param _GroupDetail: 托管规则组描述,仅出参。
28405
+ :type GroupDetail: str
28406
+ :param _GroupName: 托管规则组名称,仅出参。
28407
+ :type GroupName: str
28408
+ :param _RuleDetails: 当前托管规则组下的所有子规则信息,仅出参。
28409
+ :type RuleDetails: list of ManagedRuleDetail
28410
+ """
28411
+ self._GroupDetail = None
28412
+ self._GroupName = None
28413
+ self._RuleDetails = None
28414
+
28415
+ @property
28416
+ def GroupDetail(self):
28417
+ """托管规则组描述,仅出参。
28418
+ :rtype: str
28419
+ """
28420
+ return self._GroupDetail
28421
+
28422
+ @GroupDetail.setter
28423
+ def GroupDetail(self, GroupDetail):
28424
+ self._GroupDetail = GroupDetail
28425
+
28426
+ @property
28427
+ def GroupName(self):
28428
+ """托管规则组名称,仅出参。
28429
+ :rtype: str
28430
+ """
28431
+ return self._GroupName
28432
+
28433
+ @GroupName.setter
28434
+ def GroupName(self, GroupName):
28435
+ self._GroupName = GroupName
28436
+
28437
+ @property
28438
+ def RuleDetails(self):
28439
+ """当前托管规则组下的所有子规则信息,仅出参。
28440
+ :rtype: list of ManagedRuleDetail
28441
+ """
28442
+ return self._RuleDetails
28443
+
28444
+ @RuleDetails.setter
28445
+ def RuleDetails(self, RuleDetails):
28446
+ self._RuleDetails = RuleDetails
28447
+
28448
+
28449
+ def _deserialize(self, params):
28450
+ self._GroupDetail = params.get("GroupDetail")
28451
+ self._GroupName = params.get("GroupName")
28452
+ if params.get("RuleDetails") is not None:
28453
+ self._RuleDetails = []
28454
+ for item in params.get("RuleDetails"):
28455
+ obj = ManagedRuleDetail()
28456
+ obj._deserialize(item)
28457
+ self._RuleDetails.append(obj)
28458
+ memeber_set = set(params.keys())
28459
+ for name, value in vars(self).items():
28460
+ property_name = name[1:]
28461
+ if property_name in memeber_set:
28462
+ memeber_set.remove(property_name)
28463
+ if len(memeber_set) > 0:
28464
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28465
+
28466
+
28467
+
28468
+ class ManagedRules(AbstractModel):
28469
+ """Web安全的托管规则
28470
+
28471
+ """
28472
+
28473
+ def __init__(self):
28474
+ r"""
28475
+ :param _Enabled: 托管规则是否开启。取值有:<li>on:开启,所有托管规则按配置生效;</li><li>off:关闭,所有托管规则不生效。</li>
28476
+ :type Enabled: str
28477
+ :param _DetectionOnly: 评估模式是否开启,仅在 Enabled 参数为 on 时有效。取值有:<li>on:开启,表示所有托管规则以观察模式生效;</li><li>off:关闭,表示所有托管规则以实际配置生效。</li>
28478
+ :type DetectionOnly: str
28479
+ :param _SemanticAnalysis: 托管规则语义分析选项是否开启,仅在 Enabled 参数为 on 时有效。取值有:<li>on:开启,对请求进行语义分析后进行处理;</li><li>off:关闭,对请求不进行语义分析,直接进行处理。</li> <br/>默认为 off。
28480
+ :type SemanticAnalysis: str
28481
+ :param _AutoUpdate: 托管规则自动更新选项。
28482
+ :type AutoUpdate: :class:`tencentcloud.teo.v20220901.models.ManagedRuleAutoUpdate`
28483
+ :param _ManagedRuleGroups: 托管规则组的配置。如果此结构传空数组或 GroupId 未包含在列表内将按照默认方式处理。
28484
+ :type ManagedRuleGroups: list of ManagedRuleGroup
28485
+ """
28486
+ self._Enabled = None
28487
+ self._DetectionOnly = None
28488
+ self._SemanticAnalysis = None
28489
+ self._AutoUpdate = None
28490
+ self._ManagedRuleGroups = None
28491
+
28492
+ @property
28493
+ def Enabled(self):
28494
+ """托管规则是否开启。取值有:<li>on:开启,所有托管规则按配置生效;</li><li>off:关闭,所有托管规则不生效。</li>
28495
+ :rtype: str
28496
+ """
28497
+ return self._Enabled
28498
+
28499
+ @Enabled.setter
28500
+ def Enabled(self, Enabled):
28501
+ self._Enabled = Enabled
28502
+
28503
+ @property
28504
+ def DetectionOnly(self):
28505
+ """评估模式是否开启,仅在 Enabled 参数为 on 时有效。取值有:<li>on:开启,表示所有托管规则以观察模式生效;</li><li>off:关闭,表示所有托管规则以实际配置生效。</li>
28506
+ :rtype: str
28507
+ """
28508
+ return self._DetectionOnly
28509
+
28510
+ @DetectionOnly.setter
28511
+ def DetectionOnly(self, DetectionOnly):
28512
+ self._DetectionOnly = DetectionOnly
28513
+
28514
+ @property
28515
+ def SemanticAnalysis(self):
28516
+ """托管规则语义分析选项是否开启,仅在 Enabled 参数为 on 时有效。取值有:<li>on:开启,对请求进行语义分析后进行处理;</li><li>off:关闭,对请求不进行语义分析,直接进行处理。</li> <br/>默认为 off。
28517
+ :rtype: str
28518
+ """
28519
+ return self._SemanticAnalysis
28520
+
28521
+ @SemanticAnalysis.setter
28522
+ def SemanticAnalysis(self, SemanticAnalysis):
28523
+ self._SemanticAnalysis = SemanticAnalysis
28524
+
28525
+ @property
28526
+ def AutoUpdate(self):
28527
+ """托管规则自动更新选项。
28528
+ :rtype: :class:`tencentcloud.teo.v20220901.models.ManagedRuleAutoUpdate`
28529
+ """
28530
+ return self._AutoUpdate
28531
+
28532
+ @AutoUpdate.setter
28533
+ def AutoUpdate(self, AutoUpdate):
28534
+ self._AutoUpdate = AutoUpdate
28535
+
28536
+ @property
28537
+ def ManagedRuleGroups(self):
28538
+ """托管规则组的配置。如果此结构传空数组或 GroupId 未包含在列表内将按照默认方式处理。
28539
+ :rtype: list of ManagedRuleGroup
28540
+ """
28541
+ return self._ManagedRuleGroups
28542
+
28543
+ @ManagedRuleGroups.setter
28544
+ def ManagedRuleGroups(self, ManagedRuleGroups):
28545
+ self._ManagedRuleGroups = ManagedRuleGroups
28546
+
28547
+
28548
+ def _deserialize(self, params):
28549
+ self._Enabled = params.get("Enabled")
28550
+ self._DetectionOnly = params.get("DetectionOnly")
28551
+ self._SemanticAnalysis = params.get("SemanticAnalysis")
28552
+ if params.get("AutoUpdate") is not None:
28553
+ self._AutoUpdate = ManagedRuleAutoUpdate()
28554
+ self._AutoUpdate._deserialize(params.get("AutoUpdate"))
28555
+ if params.get("ManagedRuleGroups") is not None:
28556
+ self._ManagedRuleGroups = []
28557
+ for item in params.get("ManagedRuleGroups"):
28558
+ obj = ManagedRuleGroup()
28559
+ obj._deserialize(item)
28560
+ self._ManagedRuleGroups.append(obj)
28561
+ memeber_set = set(params.keys())
28562
+ for name, value in vars(self).items():
28563
+ property_name = name[1:]
28564
+ if property_name in memeber_set:
28565
+ memeber_set.remove(property_name)
28566
+ if len(memeber_set) > 0:
28567
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28568
+
28569
+
28570
+
27680
28571
  class MaxAge(AbstractModel):
27681
28572
  """浏览器缓存规则配置,用于设置 MaxAge 默认值,默认为关闭状态
27682
28573
 
@@ -31589,29 +32480,29 @@ class ModifySecurityPolicyRequest(AbstractModel):
31589
32480
 
31590
32481
  def __init__(self):
31591
32482
  r"""
31592
- :param _ZoneId: 站点Id
32483
+ :param _ZoneId: 站点 ID
31593
32484
  :type ZoneId: str
31594
- :param _SecurityConfig: 安全配置。
32485
+ :param _SecurityConfig: 安全策略配置。<li>当 SecurityPolicy 参数中的 CustomRule 被设置时,SecurityConfig 参数中的 AclConfg、 IpTableConfg 将被忽略;</li><li>当 SecurityPolicy 参数中的 ManagedRule 被设置时,SecurityConfig 参数中的 WafConfig 将被忽略。</li><li>对于自定义规则以及托管规则策略配置建议使用 SecurityPolicy 参数进行设置。</li>
31595
32486
  :type SecurityConfig: :class:`tencentcloud.teo.v20220901.models.SecurityConfig`
31596
- :param _Entity: 子域名/应用名。
31597
-
31598
- 注意:当同时指定本参数和 TemplateId 参数时,本参数不生效。请勿同时指定本参数和 TemplateId 参数。
32487
+ :param _SecurityPolicy: 安全策略配置。对 Web 防护自定义策略和托管规则配置建议使用,支持表达式语法对安全策略进行配置。
32488
+ :type SecurityPolicy: :class:`tencentcloud.teo.v20220901.models.SecurityPolicy`
32489
+ :param _Entity: 安全策略类型,可使用以下参数值: <li>ZoneDefaultPolicy:用于指定站点级策略;</li><li>Template:用于指定策略模板,需要同时指定 TemplateId 参数;</li><li>Host:用于指定域名级策略(注意:当使用域名来指定域名服务策略时,仅支持已经应用了域名级策略的域名服务或者策略模板)。</li>
31599
32490
  :type Entity: str
31600
- :param _TemplateId: 指定模板策略 ID,或指定站点全局策略。
31601
- - 如需配置策略模板,请指定策略模板 ID。
31602
- - 如需配置站点全局策略,请使用 @ZoneLevel@Domain 参数值
31603
-
31604
- 注意:当使用本参数时,Entity 参数不生效。请勿同时使用本参数和 Entity 参数。
32491
+ :param _Host: 指定域名。当 Entity 参数值为 Host 时,使用本参数指定的域名级策略,例如:使用 www.example.com ,配置该域名的域名级策略。
32492
+ :type Host: str
32493
+ :param _TemplateId: 指定策略模板 ID。当 Entity 参数值为 Template 时,使用本参数指定策略模板的 ID。
31605
32494
  :type TemplateId: str
31606
32495
  """
31607
32496
  self._ZoneId = None
31608
32497
  self._SecurityConfig = None
32498
+ self._SecurityPolicy = None
31609
32499
  self._Entity = None
32500
+ self._Host = None
31610
32501
  self._TemplateId = None
31611
32502
 
31612
32503
  @property
31613
32504
  def ZoneId(self):
31614
- """站点Id
32505
+ """站点 ID
31615
32506
  :rtype: str
31616
32507
  """
31617
32508
  return self._ZoneId
@@ -31622,7 +32513,7 @@ class ModifySecurityPolicyRequest(AbstractModel):
31622
32513
 
31623
32514
  @property
31624
32515
  def SecurityConfig(self):
31625
- """安全配置。
32516
+ """安全策略配置。<li>当 SecurityPolicy 参数中的 CustomRule 被设置时,SecurityConfig 参数中的 AclConfg、 IpTableConfg 将被忽略;</li><li>当 SecurityPolicy 参数中的 ManagedRule 被设置时,SecurityConfig 参数中的 WafConfig 将被忽略。</li><li>对于自定义规则以及托管规则策略配置建议使用 SecurityPolicy 参数进行设置。</li>
31626
32517
  :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityConfig`
31627
32518
  """
31628
32519
  return self._SecurityConfig
@@ -31632,10 +32523,19 @@ class ModifySecurityPolicyRequest(AbstractModel):
31632
32523
  self._SecurityConfig = SecurityConfig
31633
32524
 
31634
32525
  @property
31635
- def Entity(self):
31636
- """子域名/应用名。
32526
+ def SecurityPolicy(self):
32527
+ """安全策略配置。对 Web 防护自定义策略和托管规则配置建议使用,支持表达式语法对安全策略进行配置。
32528
+ :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityPolicy`
32529
+ """
32530
+ return self._SecurityPolicy
32531
+
32532
+ @SecurityPolicy.setter
32533
+ def SecurityPolicy(self, SecurityPolicy):
32534
+ self._SecurityPolicy = SecurityPolicy
31637
32535
 
31638
- 注意:当同时指定本参数和 TemplateId 参数时,本参数不生效。请勿同时指定本参数和 TemplateId 参数。
32536
+ @property
32537
+ def Entity(self):
32538
+ """安全策略类型,可使用以下参数值: <li>ZoneDefaultPolicy:用于指定站点级策略;</li><li>Template:用于指定策略模板,需要同时指定 TemplateId 参数;</li><li>Host:用于指定域名级策略(注意:当使用域名来指定域名服务策略时,仅支持已经应用了域名级策略的域名服务或者策略模板)。</li>
31639
32539
  :rtype: str
31640
32540
  """
31641
32541
  return self._Entity
@@ -31645,12 +32545,19 @@ class ModifySecurityPolicyRequest(AbstractModel):
31645
32545
  self._Entity = Entity
31646
32546
 
31647
32547
  @property
31648
- def TemplateId(self):
31649
- """指定模板策略 ID,或指定站点全局策略。
31650
- - 如需配置策略模板,请指定策略模板 ID。
31651
- - 如需配置站点全局策略,请使用 @ZoneLevel@Domain 参数值
32548
+ def Host(self):
32549
+ """指定域名。当 Entity 参数值为 Host 时,使用本参数指定的域名级策略,例如:使用 www.example.com ,配置该域名的域名级策略。
32550
+ :rtype: str
32551
+ """
32552
+ return self._Host
31652
32553
 
31653
- 注意:当使用本参数时,Entity 参数不生效。请勿同时使用本参数和 Entity 参数。
32554
+ @Host.setter
32555
+ def Host(self, Host):
32556
+ self._Host = Host
32557
+
32558
+ @property
32559
+ def TemplateId(self):
32560
+ """指定策略模板 ID。当 Entity 参数值为 Template 时,使用本参数指定策略模板的 ID。
31654
32561
  :rtype: str
31655
32562
  """
31656
32563
  return self._TemplateId
@@ -31665,7 +32572,11 @@ class ModifySecurityPolicyRequest(AbstractModel):
31665
32572
  if params.get("SecurityConfig") is not None:
31666
32573
  self._SecurityConfig = SecurityConfig()
31667
32574
  self._SecurityConfig._deserialize(params.get("SecurityConfig"))
32575
+ if params.get("SecurityPolicy") is not None:
32576
+ self._SecurityPolicy = SecurityPolicy()
32577
+ self._SecurityPolicy._deserialize(params.get("SecurityPolicy"))
31668
32578
  self._Entity = params.get("Entity")
32579
+ self._Host = params.get("Host")
31669
32580
  self._TemplateId = params.get("TemplateId")
31670
32581
  memeber_set = set(params.keys())
31671
32582
  for name, value in vars(self).items():
@@ -36138,6 +37049,42 @@ class RealtimeLogDeliveryTask(AbstractModel):
36138
37049
 
36139
37050
 
36140
37051
 
37052
+ class RedirectActionParameters(AbstractModel):
37053
+ """Web安全重定向的附加参数
37054
+
37055
+ """
37056
+
37057
+ def __init__(self):
37058
+ r"""
37059
+ :param _URL: 重定向的URL。
37060
+ :type URL: str
37061
+ """
37062
+ self._URL = None
37063
+
37064
+ @property
37065
+ def URL(self):
37066
+ """重定向的URL。
37067
+ :rtype: str
37068
+ """
37069
+ return self._URL
37070
+
37071
+ @URL.setter
37072
+ def URL(self, URL):
37073
+ self._URL = URL
37074
+
37075
+
37076
+ def _deserialize(self, params):
37077
+ self._URL = params.get("URL")
37078
+ memeber_set = set(params.keys())
37079
+ for name, value in vars(self).items():
37080
+ property_name = name[1:]
37081
+ if property_name in memeber_set:
37082
+ memeber_set.remove(property_name)
37083
+ if len(memeber_set) > 0:
37084
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37085
+
37086
+
37087
+
36141
37088
  class RenewFlag(AbstractModel):
36142
37089
  """预付费套餐自动续费配置项。
36143
37090
 
@@ -36622,6 +37569,57 @@ class ResponseSpeedLimitParameters(AbstractModel):
36622
37569
 
36623
37570
 
36624
37571
 
37572
+ class ReturnCustomPageActionParameters(AbstractModel):
37573
+ """Web安全自定义页面的附加参数
37574
+
37575
+ """
37576
+
37577
+ def __init__(self):
37578
+ r"""
37579
+ :param _ResponseCode: 响应状态码。
37580
+ :type ResponseCode: str
37581
+ :param _ErrorPageId: 响应的自定义页面ID。
37582
+ :type ErrorPageId: str
37583
+ """
37584
+ self._ResponseCode = None
37585
+ self._ErrorPageId = None
37586
+
37587
+ @property
37588
+ def ResponseCode(self):
37589
+ """响应状态码。
37590
+ :rtype: str
37591
+ """
37592
+ return self._ResponseCode
37593
+
37594
+ @ResponseCode.setter
37595
+ def ResponseCode(self, ResponseCode):
37596
+ self._ResponseCode = ResponseCode
37597
+
37598
+ @property
37599
+ def ErrorPageId(self):
37600
+ """响应的自定义页面ID。
37601
+ :rtype: str
37602
+ """
37603
+ return self._ErrorPageId
37604
+
37605
+ @ErrorPageId.setter
37606
+ def ErrorPageId(self, ErrorPageId):
37607
+ self._ErrorPageId = ErrorPageId
37608
+
37609
+
37610
+ def _deserialize(self, params):
37611
+ self._ResponseCode = params.get("ResponseCode")
37612
+ self._ErrorPageId = params.get("ErrorPageId")
37613
+ memeber_set = set(params.keys())
37614
+ for name, value in vars(self).items():
37615
+ property_name = name[1:]
37616
+ if property_name in memeber_set:
37617
+ memeber_set.remove(property_name)
37618
+ if len(memeber_set) > 0:
37619
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37620
+
37621
+
37622
+
36625
37623
  class RewriteAction(AbstractModel):
36626
37624
  """规则引擎HTTP请求头/响应头类型的动作
36627
37625
 
@@ -39070,8 +40068,97 @@ class SecEntryValue(AbstractModel):
39070
40068
 
39071
40069
 
39072
40070
 
40071
+ class SecurityAction(AbstractModel):
40072
+ """安全的执行动作
40073
+
40074
+ """
40075
+
40076
+ def __init__(self):
40077
+ r"""
40078
+ :param _Name: 安全执行的具体动作。取值有:
40079
+ <li>Deny:拦截;</li><li>Monitor:观察;</li><li>ReturnCustomPage:使用指定页面拦截;</li><li>Redirect:重定向至 URL;</li><li>BlockIP:IP 封禁;</li><li>JSChallenge:JavaScript 挑战;</li><li>ManagedChallenge:托管挑战;</li><li>Disabled:未启用;</li><li>Allow:放行。</li>
40080
+ :type Name: str
40081
+ :param _BlockIPActionParameters: 当 Name 为 BlockIP 时的附加参数。
40082
+ :type BlockIPActionParameters: :class:`tencentcloud.teo.v20220901.models.BlockIPActionParameters`
40083
+ :param _ReturnCustomPageActionParameters: 当 Name 为 ReturnCustomPage 时的附加参数。
40084
+ :type ReturnCustomPageActionParameters: :class:`tencentcloud.teo.v20220901.models.ReturnCustomPageActionParameters`
40085
+ :param _RedirectActionParameters: 当 Name 为 Redirect 时的附加参数。
40086
+ :type RedirectActionParameters: :class:`tencentcloud.teo.v20220901.models.RedirectActionParameters`
40087
+ """
40088
+ self._Name = None
40089
+ self._BlockIPActionParameters = None
40090
+ self._ReturnCustomPageActionParameters = None
40091
+ self._RedirectActionParameters = None
40092
+
40093
+ @property
40094
+ def Name(self):
40095
+ """安全执行的具体动作。取值有:
40096
+ <li>Deny:拦截;</li><li>Monitor:观察;</li><li>ReturnCustomPage:使用指定页面拦截;</li><li>Redirect:重定向至 URL;</li><li>BlockIP:IP 封禁;</li><li>JSChallenge:JavaScript 挑战;</li><li>ManagedChallenge:托管挑战;</li><li>Disabled:未启用;</li><li>Allow:放行。</li>
40097
+ :rtype: str
40098
+ """
40099
+ return self._Name
40100
+
40101
+ @Name.setter
40102
+ def Name(self, Name):
40103
+ self._Name = Name
40104
+
40105
+ @property
40106
+ def BlockIPActionParameters(self):
40107
+ """当 Name 为 BlockIP 时的附加参数。
40108
+ :rtype: :class:`tencentcloud.teo.v20220901.models.BlockIPActionParameters`
40109
+ """
40110
+ return self._BlockIPActionParameters
40111
+
40112
+ @BlockIPActionParameters.setter
40113
+ def BlockIPActionParameters(self, BlockIPActionParameters):
40114
+ self._BlockIPActionParameters = BlockIPActionParameters
40115
+
40116
+ @property
40117
+ def ReturnCustomPageActionParameters(self):
40118
+ """当 Name 为 ReturnCustomPage 时的附加参数。
40119
+ :rtype: :class:`tencentcloud.teo.v20220901.models.ReturnCustomPageActionParameters`
40120
+ """
40121
+ return self._ReturnCustomPageActionParameters
40122
+
40123
+ @ReturnCustomPageActionParameters.setter
40124
+ def ReturnCustomPageActionParameters(self, ReturnCustomPageActionParameters):
40125
+ self._ReturnCustomPageActionParameters = ReturnCustomPageActionParameters
40126
+
40127
+ @property
40128
+ def RedirectActionParameters(self):
40129
+ """当 Name 为 Redirect 时的附加参数。
40130
+ :rtype: :class:`tencentcloud.teo.v20220901.models.RedirectActionParameters`
40131
+ """
40132
+ return self._RedirectActionParameters
40133
+
40134
+ @RedirectActionParameters.setter
40135
+ def RedirectActionParameters(self, RedirectActionParameters):
40136
+ self._RedirectActionParameters = RedirectActionParameters
40137
+
40138
+
40139
+ def _deserialize(self, params):
40140
+ self._Name = params.get("Name")
40141
+ if params.get("BlockIPActionParameters") is not None:
40142
+ self._BlockIPActionParameters = BlockIPActionParameters()
40143
+ self._BlockIPActionParameters._deserialize(params.get("BlockIPActionParameters"))
40144
+ if params.get("ReturnCustomPageActionParameters") is not None:
40145
+ self._ReturnCustomPageActionParameters = ReturnCustomPageActionParameters()
40146
+ self._ReturnCustomPageActionParameters._deserialize(params.get("ReturnCustomPageActionParameters"))
40147
+ if params.get("RedirectActionParameters") is not None:
40148
+ self._RedirectActionParameters = RedirectActionParameters()
40149
+ self._RedirectActionParameters._deserialize(params.get("RedirectActionParameters"))
40150
+ memeber_set = set(params.keys())
40151
+ for name, value in vars(self).items():
40152
+ property_name = name[1:]
40153
+ if property_name in memeber_set:
40154
+ memeber_set.remove(property_name)
40155
+ if len(memeber_set) > 0:
40156
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
40157
+
40158
+
40159
+
39073
40160
  class SecurityConfig(AbstractModel):
39074
- """安全配置
40161
+ """Web安全配置
39075
40162
 
39076
40163
  """
39077
40164
 
@@ -39107,6 +40194,9 @@ class SecurityConfig(AbstractModel):
39107
40194
  :param _SlowPostConfig: 慢速攻击配置。如果入参为空或不填,默认使用历史配置。
39108
40195
  注意:此字段可能返回 null,表示取不到有效值。
39109
40196
  :type SlowPostConfig: :class:`tencentcloud.teo.v20220901.models.SlowPostConfig`
40197
+ :param _DetectLengthLimitConfig: 检测长度限制配置。仅出参使用。
40198
+ 注意:此字段可能返回 null,表示取不到有效值。
40199
+ :type DetectLengthLimitConfig: :class:`tencentcloud.teo.v20220901.models.DetectLengthLimitConfig`
39110
40200
  """
39111
40201
  self._WafConfig = None
39112
40202
  self._RateLimitConfig = None
@@ -39118,6 +40208,7 @@ class SecurityConfig(AbstractModel):
39118
40208
  self._DropPageConfig = None
39119
40209
  self._TemplateConfig = None
39120
40210
  self._SlowPostConfig = None
40211
+ self._DetectLengthLimitConfig = None
39121
40212
 
39122
40213
  @property
39123
40214
  def WafConfig(self):
@@ -39239,6 +40330,18 @@ class SecurityConfig(AbstractModel):
39239
40330
  def SlowPostConfig(self, SlowPostConfig):
39240
40331
  self._SlowPostConfig = SlowPostConfig
39241
40332
 
40333
+ @property
40334
+ def DetectLengthLimitConfig(self):
40335
+ """检测长度限制配置。仅出参使用。
40336
+ 注意:此字段可能返回 null,表示取不到有效值。
40337
+ :rtype: :class:`tencentcloud.teo.v20220901.models.DetectLengthLimitConfig`
40338
+ """
40339
+ return self._DetectLengthLimitConfig
40340
+
40341
+ @DetectLengthLimitConfig.setter
40342
+ def DetectLengthLimitConfig(self, DetectLengthLimitConfig):
40343
+ self._DetectLengthLimitConfig = DetectLengthLimitConfig
40344
+
39242
40345
 
39243
40346
  def _deserialize(self, params):
39244
40347
  if params.get("WafConfig") is not None:
@@ -39271,6 +40374,64 @@ class SecurityConfig(AbstractModel):
39271
40374
  if params.get("SlowPostConfig") is not None:
39272
40375
  self._SlowPostConfig = SlowPostConfig()
39273
40376
  self._SlowPostConfig._deserialize(params.get("SlowPostConfig"))
40377
+ if params.get("DetectLengthLimitConfig") is not None:
40378
+ self._DetectLengthLimitConfig = DetectLengthLimitConfig()
40379
+ self._DetectLengthLimitConfig._deserialize(params.get("DetectLengthLimitConfig"))
40380
+ memeber_set = set(params.keys())
40381
+ for name, value in vars(self).items():
40382
+ property_name = name[1:]
40383
+ if property_name in memeber_set:
40384
+ memeber_set.remove(property_name)
40385
+ if len(memeber_set) > 0:
40386
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
40387
+
40388
+
40389
+
40390
+ class SecurityPolicy(AbstractModel):
40391
+ """安全策略配置
40392
+
40393
+ """
40394
+
40395
+ def __init__(self):
40396
+ r"""
40397
+ :param _CustomRules: 自定义规则配置。
40398
+ :type CustomRules: :class:`tencentcloud.teo.v20220901.models.CustomRules`
40399
+ :param _ManagedRules: 托管规则配置。
40400
+ :type ManagedRules: :class:`tencentcloud.teo.v20220901.models.ManagedRules`
40401
+ """
40402
+ self._CustomRules = None
40403
+ self._ManagedRules = None
40404
+
40405
+ @property
40406
+ def CustomRules(self):
40407
+ """自定义规则配置。
40408
+ :rtype: :class:`tencentcloud.teo.v20220901.models.CustomRules`
40409
+ """
40410
+ return self._CustomRules
40411
+
40412
+ @CustomRules.setter
40413
+ def CustomRules(self, CustomRules):
40414
+ self._CustomRules = CustomRules
40415
+
40416
+ @property
40417
+ def ManagedRules(self):
40418
+ """托管规则配置。
40419
+ :rtype: :class:`tencentcloud.teo.v20220901.models.ManagedRules`
40420
+ """
40421
+ return self._ManagedRules
40422
+
40423
+ @ManagedRules.setter
40424
+ def ManagedRules(self, ManagedRules):
40425
+ self._ManagedRules = ManagedRules
40426
+
40427
+
40428
+ def _deserialize(self, params):
40429
+ if params.get("CustomRules") is not None:
40430
+ self._CustomRules = CustomRules()
40431
+ self._CustomRules._deserialize(params.get("CustomRules"))
40432
+ if params.get("ManagedRules") is not None:
40433
+ self._ManagedRules = ManagedRules()
40434
+ self._ManagedRules._deserialize(params.get("ManagedRules"))
39274
40435
  memeber_set = set(params.keys())
39275
40436
  for name, value in vars(self).items():
39276
40437
  property_name = name[1:]