tencentcloud-sdk-python-intl-en 3.0.1161__py2.py3-none-any.whl → 3.0.1162__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.

Potentially problematic release.


This version of tencentcloud-sdk-python-intl-en might be problematic. Click here for more details.

@@ -3300,6 +3300,42 @@ class BindZoneToPlanResponse(AbstractModel):
3300
3300
  self._RequestId = params.get("RequestId")
3301
3301
 
3302
3302
 
3303
+ class BlockIPActionParameters(AbstractModel):
3304
+ """Additional parameter for SecurityAction `BlockIP`.
3305
+
3306
+ """
3307
+
3308
+ def __init__(self):
3309
+ r"""
3310
+ :param _Duration: Penalty duration for `BlockIP`. Units: <li>`s`: second, value range 1-120;</li> <li>`m`: minute, value range 1-120;</li> <li>`h`: hour, value range 1-48.</li>.
3311
+ :type Duration: str
3312
+ """
3313
+ self._Duration = None
3314
+
3315
+ @property
3316
+ def Duration(self):
3317
+ """Penalty duration for `BlockIP`. Units: <li>`s`: second, value range 1-120;</li> <li>`m`: minute, value range 1-120;</li> <li>`h`: hour, value range 1-48.</li>.
3318
+ :rtype: str
3319
+ """
3320
+ return self._Duration
3321
+
3322
+ @Duration.setter
3323
+ def Duration(self, Duration):
3324
+ self._Duration = Duration
3325
+
3326
+
3327
+ def _deserialize(self, params):
3328
+ self._Duration = params.get("Duration")
3329
+ memeber_set = set(params.keys())
3330
+ for name, value in vars(self).items():
3331
+ property_name = name[1:]
3332
+ if property_name in memeber_set:
3333
+ memeber_set.remove(property_name)
3334
+ if len(memeber_set) > 0:
3335
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
3336
+
3337
+
3338
+
3303
3339
  class BotConfig(AbstractModel):
3304
3340
  """Bot security configuration
3305
3341
 
@@ -10731,6 +10767,175 @@ Note: This field may return null, indicating that no valid values can be obtaine
10731
10767
 
10732
10768
 
10733
10769
 
10770
+ class CustomRule(AbstractModel):
10771
+ """Custom rule configuration.
10772
+
10773
+ """
10774
+
10775
+ def __init__(self):
10776
+ r"""
10777
+ :param _Name: The custom rule name.
10778
+ :type Name: str
10779
+ :param _Condition: The specifics of the custom rule, must comply with the expression grammar, please refer to product documentation for details.
10780
+ :type Condition: str
10781
+ :param _Action: Action for custom rules. The Name parameter of SecurityAction supports: <li>`Deny`: block;</li> <li>`Monitor`: observe;</li> <li>`ReturnCustomPage`: block with customized page;</li> <li>`Redirect`: Redirect to URL;</li> <li>`BlockIP`: IP blocking;</li> <li>`JSChallenge`: JavaScript challenge;</li> <li>`ManagedChallenge`: managed challenge;</li> <li>`Allow`: Allow.</li>.
10782
+ :type Action: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
10783
+ :param _Enabled: The custom rule status. Values: <li>`on`: enabled</li> <li>`off`: disabled</li>.
10784
+ :type Enabled: str
10785
+ :param _Id: Custom rule ID. <br>Different rule configuration operations are supported by rule ID : <br> - Add a new rule: ID is empty or the ID parameter is not specified; <br> - Modify an existing rule: specify the rule ID that needs to be updated/modified; <br> - Delete an existing rule: existing rules not included in the Rules parameter will be deleted.
10786
+ :type Id: str
10787
+ :param _RuleType: Type of custom rule. Values: <li>`BasicAccessRule`: basic access control;</li> <li>`PreciseMatchRule`: exact custom rule, default;</li> <li>`ManagedAccessRule`: expert customized rule, output parameter only.</li>The default value is PreciseMatchRule.
10788
+ :type RuleType: str
10789
+ :param _Priority: Customize the priority of custom rule. Range: 0-100, the default value is 0, this parameter only supports PreciseMatchRule.
10790
+ :type Priority: int
10791
+ """
10792
+ self._Name = None
10793
+ self._Condition = None
10794
+ self._Action = None
10795
+ self._Enabled = None
10796
+ self._Id = None
10797
+ self._RuleType = None
10798
+ self._Priority = None
10799
+
10800
+ @property
10801
+ def Name(self):
10802
+ """The custom rule name.
10803
+ :rtype: str
10804
+ """
10805
+ return self._Name
10806
+
10807
+ @Name.setter
10808
+ def Name(self, Name):
10809
+ self._Name = Name
10810
+
10811
+ @property
10812
+ def Condition(self):
10813
+ """The specifics of the custom rule, must comply with the expression grammar, please refer to product documentation for details.
10814
+ :rtype: str
10815
+ """
10816
+ return self._Condition
10817
+
10818
+ @Condition.setter
10819
+ def Condition(self, Condition):
10820
+ self._Condition = Condition
10821
+
10822
+ @property
10823
+ def Action(self):
10824
+ """Action for custom rules. The Name parameter of SecurityAction supports: <li>`Deny`: block;</li> <li>`Monitor`: observe;</li> <li>`ReturnCustomPage`: block with customized page;</li> <li>`Redirect`: Redirect to URL;</li> <li>`BlockIP`: IP blocking;</li> <li>`JSChallenge`: JavaScript challenge;</li> <li>`ManagedChallenge`: managed challenge;</li> <li>`Allow`: Allow.</li>.
10825
+ :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
10826
+ """
10827
+ return self._Action
10828
+
10829
+ @Action.setter
10830
+ def Action(self, Action):
10831
+ self._Action = Action
10832
+
10833
+ @property
10834
+ def Enabled(self):
10835
+ """The custom rule status. Values: <li>`on`: enabled</li> <li>`off`: disabled</li>.
10836
+ :rtype: str
10837
+ """
10838
+ return self._Enabled
10839
+
10840
+ @Enabled.setter
10841
+ def Enabled(self, Enabled):
10842
+ self._Enabled = Enabled
10843
+
10844
+ @property
10845
+ def Id(self):
10846
+ """Custom rule ID. <br>Different rule configuration operations are supported by rule ID : <br> - Add a new rule: ID is empty or the ID parameter is not specified; <br> - Modify an existing rule: specify the rule ID that needs to be updated/modified; <br> - Delete an existing rule: existing rules not included in the Rules parameter will be deleted.
10847
+ :rtype: str
10848
+ """
10849
+ return self._Id
10850
+
10851
+ @Id.setter
10852
+ def Id(self, Id):
10853
+ self._Id = Id
10854
+
10855
+ @property
10856
+ def RuleType(self):
10857
+ """Type of custom rule. Values: <li>`BasicAccessRule`: basic access control;</li> <li>`PreciseMatchRule`: exact custom rule, default;</li> <li>`ManagedAccessRule`: expert customized rule, output parameter only.</li>The default value is PreciseMatchRule.
10858
+ :rtype: str
10859
+ """
10860
+ return self._RuleType
10861
+
10862
+ @RuleType.setter
10863
+ def RuleType(self, RuleType):
10864
+ self._RuleType = RuleType
10865
+
10866
+ @property
10867
+ def Priority(self):
10868
+ """Customize the priority of custom rule. Range: 0-100, the default value is 0, this parameter only supports PreciseMatchRule.
10869
+ :rtype: int
10870
+ """
10871
+ return self._Priority
10872
+
10873
+ @Priority.setter
10874
+ def Priority(self, Priority):
10875
+ self._Priority = Priority
10876
+
10877
+
10878
+ def _deserialize(self, params):
10879
+ self._Name = params.get("Name")
10880
+ self._Condition = params.get("Condition")
10881
+ if params.get("Action") is not None:
10882
+ self._Action = SecurityAction()
10883
+ self._Action._deserialize(params.get("Action"))
10884
+ self._Enabled = params.get("Enabled")
10885
+ self._Id = params.get("Id")
10886
+ self._RuleType = params.get("RuleType")
10887
+ self._Priority = params.get("Priority")
10888
+ memeber_set = set(params.keys())
10889
+ for name, value in vars(self).items():
10890
+ property_name = name[1:]
10891
+ if property_name in memeber_set:
10892
+ memeber_set.remove(property_name)
10893
+ if len(memeber_set) > 0:
10894
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
10895
+
10896
+
10897
+
10898
+ class CustomRules(AbstractModel):
10899
+ """Custom rules configuration.
10900
+
10901
+ """
10902
+
10903
+ def __init__(self):
10904
+ r"""
10905
+ :param _Rules: The custom rule. <br>when modifying the Web protection configuration using ModifySecurityPolicy: <br> - if the Rules parameter is not specified or the parameter length of Rules is zero: clear all custom rule configurations. <br> - if the Rules parameter is not specified: keep the existing custom rule configuration without modification.
10906
+ :type Rules: list of CustomRule
10907
+ """
10908
+ self._Rules = None
10909
+
10910
+ @property
10911
+ def Rules(self):
10912
+ """The custom rule. <br>when modifying the Web protection configuration using ModifySecurityPolicy: <br> - if the Rules parameter is not specified or the parameter length of Rules is zero: clear all custom rule configurations. <br> - if the Rules parameter is not specified: keep the existing custom rule configuration without modification.
10913
+ :rtype: list of CustomRule
10914
+ """
10915
+ return self._Rules
10916
+
10917
+ @Rules.setter
10918
+ def Rules(self, Rules):
10919
+ self._Rules = Rules
10920
+
10921
+
10922
+ def _deserialize(self, params):
10923
+ if params.get("Rules") is not None:
10924
+ self._Rules = []
10925
+ for item in params.get("Rules"):
10926
+ obj = CustomRule()
10927
+ obj._deserialize(item)
10928
+ self._Rules.append(obj)
10929
+ memeber_set = set(params.keys())
10930
+ for name, value in vars(self).items():
10931
+ property_name = name[1:]
10932
+ if property_name in memeber_set:
10933
+ memeber_set.remove(property_name)
10934
+ if len(memeber_set) > 0:
10935
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
10936
+
10937
+
10938
+
10734
10939
  class CustomTime(AbstractModel):
10735
10940
  """Node cache TTL custom cache time parameter configuration.
10736
10941
 
@@ -19104,6 +19309,134 @@ class DescribeSecurityIPGroupResponse(AbstractModel):
19104
19309
  self._RequestId = params.get("RequestId")
19105
19310
 
19106
19311
 
19312
+ class DescribeSecurityPolicyRequest(AbstractModel):
19313
+ """DescribeSecurityPolicy request structure.
19314
+
19315
+ """
19316
+
19317
+ def __init__(self):
19318
+ r"""
19319
+ :param _ZoneId: Zone ID.
19320
+ :type ZoneId: str
19321
+ :param _Entity: `SecurityPolicy` type, the following parameter values can be used for query: <li>`ZoneDefaultPolicy`: used to specify a query for site-level policies;</li> <li>`Template`: used to specify a query for policy templates. the `TemplateId` parameter needs to be specified simultaneously;</li> <li>`Host`: used to specify a query for domain-level policies (note: when using `Host` to specify a domain name service policy, only domain name services or policy templates that have been applied domain-level policies are supported).</li>
19322
+ :type Entity: str
19323
+ :param _TemplateId: Specify the policy Template ID. Use this parameter to specify the ID of the policy Template to query the Template configuration when the `Entity` parameter value is set to `Template`.
19324
+ :type TemplateId: str
19325
+ :param _Host: Specify the domain name. When the `Entity` parameter value is set to `Host`, use the domain-level policy specified by this parameter to query the domain configuration. For example, use `www.example.com` to configure the domain-level policy for that domain name.
19326
+ :type Host: str
19327
+ """
19328
+ self._ZoneId = None
19329
+ self._Entity = None
19330
+ self._TemplateId = None
19331
+ self._Host = None
19332
+
19333
+ @property
19334
+ def ZoneId(self):
19335
+ """Zone ID.
19336
+ :rtype: str
19337
+ """
19338
+ return self._ZoneId
19339
+
19340
+ @ZoneId.setter
19341
+ def ZoneId(self, ZoneId):
19342
+ self._ZoneId = ZoneId
19343
+
19344
+ @property
19345
+ def Entity(self):
19346
+ """`SecurityPolicy` type, the following parameter values can be used for query: <li>`ZoneDefaultPolicy`: used to specify a query for site-level policies;</li> <li>`Template`: used to specify a query for policy templates. the `TemplateId` parameter needs to be specified simultaneously;</li> <li>`Host`: used to specify a query for domain-level policies (note: when using `Host` to specify a domain name service policy, only domain name services or policy templates that have been applied domain-level policies are supported).</li>
19347
+ :rtype: str
19348
+ """
19349
+ return self._Entity
19350
+
19351
+ @Entity.setter
19352
+ def Entity(self, Entity):
19353
+ self._Entity = Entity
19354
+
19355
+ @property
19356
+ def TemplateId(self):
19357
+ """Specify the policy Template ID. Use this parameter to specify the ID of the policy Template to query the Template configuration when the `Entity` parameter value is set to `Template`.
19358
+ :rtype: str
19359
+ """
19360
+ return self._TemplateId
19361
+
19362
+ @TemplateId.setter
19363
+ def TemplateId(self, TemplateId):
19364
+ self._TemplateId = TemplateId
19365
+
19366
+ @property
19367
+ def Host(self):
19368
+ """Specify the domain name. When the `Entity` parameter value is set to `Host`, use the domain-level policy specified by this parameter to query the domain configuration. For example, use `www.example.com` to configure the domain-level policy for that domain name.
19369
+ :rtype: str
19370
+ """
19371
+ return self._Host
19372
+
19373
+ @Host.setter
19374
+ def Host(self, Host):
19375
+ self._Host = Host
19376
+
19377
+
19378
+ def _deserialize(self, params):
19379
+ self._ZoneId = params.get("ZoneId")
19380
+ self._Entity = params.get("Entity")
19381
+ self._TemplateId = params.get("TemplateId")
19382
+ self._Host = params.get("Host")
19383
+ memeber_set = set(params.keys())
19384
+ for name, value in vars(self).items():
19385
+ property_name = name[1:]
19386
+ if property_name in memeber_set:
19387
+ memeber_set.remove(property_name)
19388
+ if len(memeber_set) > 0:
19389
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
19390
+
19391
+
19392
+
19393
+ class DescribeSecurityPolicyResponse(AbstractModel):
19394
+ """DescribeSecurityPolicy response structure.
19395
+
19396
+ """
19397
+
19398
+ def __init__(self):
19399
+ r"""
19400
+ :param _SecurityPolicy: Security policy configuration.
19401
+ Note: This field may return null, which indicates a failure to obtain a valid value.
19402
+ :type SecurityPolicy: :class:`tencentcloud.teo.v20220901.models.SecurityPolicy`
19403
+ :param _RequestId: The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
19404
+ :type RequestId: str
19405
+ """
19406
+ self._SecurityPolicy = None
19407
+ self._RequestId = None
19408
+
19409
+ @property
19410
+ def SecurityPolicy(self):
19411
+ """Security policy configuration.
19412
+ Note: This field may return null, which indicates a failure to obtain a valid value.
19413
+ :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityPolicy`
19414
+ """
19415
+ return self._SecurityPolicy
19416
+
19417
+ @SecurityPolicy.setter
19418
+ def SecurityPolicy(self, SecurityPolicy):
19419
+ self._SecurityPolicy = SecurityPolicy
19420
+
19421
+ @property
19422
+ def RequestId(self):
19423
+ """The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
19424
+ :rtype: str
19425
+ """
19426
+ return self._RequestId
19427
+
19428
+ @RequestId.setter
19429
+ def RequestId(self, RequestId):
19430
+ self._RequestId = RequestId
19431
+
19432
+
19433
+ def _deserialize(self, params):
19434
+ if params.get("SecurityPolicy") is not None:
19435
+ self._SecurityPolicy = SecurityPolicy()
19436
+ self._SecurityPolicy._deserialize(params.get("SecurityPolicy"))
19437
+ self._RequestId = params.get("RequestId")
19438
+
19439
+
19107
19440
  class DescribeSecurityTemplateBindingsRequest(AbstractModel):
19108
19441
  """DescribeSecurityTemplateBindings request structure.
19109
19442
 
@@ -21409,6 +21742,213 @@ Note: This field may return `null`, indicating that no valid value can be obtain
21409
21742
 
21410
21743
 
21411
21744
 
21745
+ class DetectLengthLimitCondition(AbstractModel):
21746
+ """Length limit detection condition configuration.
21747
+
21748
+ """
21749
+
21750
+ def __init__(self):
21751
+ r"""
21752
+ :param _Name: Parameter name of the matched condition. Values:.
21753
+ <li>`body_depth`: detection depth of the request body packet part.</li>
21754
+ :type Name: str
21755
+ :param _Values: Parameter value of the matched condition, used in pairs with the `Name` parameter.
21756
+ When the `Name` value is body_depth, `Values` only support passing in a single value. Values:
21757
+ <li>`8KB`;</li>
21758
+ <li>`64KB`;</li>
21759
+ <li>`128KB`.</li>
21760
+ :type Values: list of str
21761
+ """
21762
+ self._Name = None
21763
+ self._Values = None
21764
+
21765
+ @property
21766
+ def Name(self):
21767
+ """Parameter name of the matched condition. Values:.
21768
+ <li>`body_depth`: detection depth of the request body packet part.</li>
21769
+ :rtype: str
21770
+ """
21771
+ return self._Name
21772
+
21773
+ @Name.setter
21774
+ def Name(self, Name):
21775
+ self._Name = Name
21776
+
21777
+ @property
21778
+ def Values(self):
21779
+ """Parameter value of the matched condition, used in pairs with the `Name` parameter.
21780
+ When the `Name` value is body_depth, `Values` only support passing in a single value. Values:
21781
+ <li>`8KB`;</li>
21782
+ <li>`64KB`;</li>
21783
+ <li>`128KB`.</li>
21784
+ :rtype: list of str
21785
+ """
21786
+ return self._Values
21787
+
21788
+ @Values.setter
21789
+ def Values(self, Values):
21790
+ self._Values = Values
21791
+
21792
+
21793
+ def _deserialize(self, params):
21794
+ self._Name = params.get("Name")
21795
+ self._Values = params.get("Values")
21796
+ memeber_set = set(params.keys())
21797
+ for name, value in vars(self).items():
21798
+ property_name = name[1:]
21799
+ if property_name in memeber_set:
21800
+ memeber_set.remove(property_name)
21801
+ if len(memeber_set) > 0:
21802
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
21803
+
21804
+
21805
+
21806
+ class DetectLengthLimitConfig(AbstractModel):
21807
+ """Length limit detection configuration.
21808
+
21809
+ """
21810
+
21811
+ def __init__(self):
21812
+ r"""
21813
+ :param _DetectLengthLimitRules: List of rules that detect length limits.
21814
+ :type DetectLengthLimitRules: list of DetectLengthLimitRule
21815
+ """
21816
+ self._DetectLengthLimitRules = None
21817
+
21818
+ @property
21819
+ def DetectLengthLimitRules(self):
21820
+ """List of rules that detect length limits.
21821
+ :rtype: list of DetectLengthLimitRule
21822
+ """
21823
+ return self._DetectLengthLimitRules
21824
+
21825
+ @DetectLengthLimitRules.setter
21826
+ def DetectLengthLimitRules(self, DetectLengthLimitRules):
21827
+ self._DetectLengthLimitRules = DetectLengthLimitRules
21828
+
21829
+
21830
+ def _deserialize(self, params):
21831
+ if params.get("DetectLengthLimitRules") is not None:
21832
+ self._DetectLengthLimitRules = []
21833
+ for item in params.get("DetectLengthLimitRules"):
21834
+ obj = DetectLengthLimitRule()
21835
+ obj._deserialize(item)
21836
+ self._DetectLengthLimitRules.append(obj)
21837
+ memeber_set = set(params.keys())
21838
+ for name, value in vars(self).items():
21839
+ property_name = name[1:]
21840
+ if property_name in memeber_set:
21841
+ memeber_set.remove(property_name)
21842
+ if len(memeber_set) > 0:
21843
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
21844
+
21845
+
21846
+
21847
+ class DetectLengthLimitRule(AbstractModel):
21848
+ """Length limit detection rule details configuration.
21849
+
21850
+ """
21851
+
21852
+ def __init__(self):
21853
+ r"""
21854
+ :param _RuleId: Rule Id, output parameter only.
21855
+ :type RuleId: int
21856
+ :param _RuleName: Rule name, output parameter only.
21857
+ :type RuleName: str
21858
+ :param _Description: Rule description, output parameter only.
21859
+ :type Description: str
21860
+ :param _Conditions: Rule configuration conditions, output parameter only.
21861
+ :type Conditions: list of DetectLengthLimitCondition
21862
+ :param _Action: Handling method. Values:.
21863
+ <li>`skip`: when request body data exceeds the detection depth set by `body_depth` in `Conditions` output parameters, skip all request body content detection.</li>.
21864
+ <li>`scan`: detect at the detection depth set by `body_depth` in the `Conditions` output parameters only. Truncate the excess part of the request body content directly, the excess part of the request body will not go through security detection.</li> Output paramter only.
21865
+ :type Action: str
21866
+ """
21867
+ self._RuleId = None
21868
+ self._RuleName = None
21869
+ self._Description = None
21870
+ self._Conditions = None
21871
+ self._Action = None
21872
+
21873
+ @property
21874
+ def RuleId(self):
21875
+ """Rule Id, output parameter only.
21876
+ :rtype: int
21877
+ """
21878
+ return self._RuleId
21879
+
21880
+ @RuleId.setter
21881
+ def RuleId(self, RuleId):
21882
+ self._RuleId = RuleId
21883
+
21884
+ @property
21885
+ def RuleName(self):
21886
+ """Rule name, output parameter only.
21887
+ :rtype: str
21888
+ """
21889
+ return self._RuleName
21890
+
21891
+ @RuleName.setter
21892
+ def RuleName(self, RuleName):
21893
+ self._RuleName = RuleName
21894
+
21895
+ @property
21896
+ def Description(self):
21897
+ """Rule description, output parameter only.
21898
+ :rtype: str
21899
+ """
21900
+ return self._Description
21901
+
21902
+ @Description.setter
21903
+ def Description(self, Description):
21904
+ self._Description = Description
21905
+
21906
+ @property
21907
+ def Conditions(self):
21908
+ """Rule configuration conditions, output parameter only.
21909
+ :rtype: list of DetectLengthLimitCondition
21910
+ """
21911
+ return self._Conditions
21912
+
21913
+ @Conditions.setter
21914
+ def Conditions(self, Conditions):
21915
+ self._Conditions = Conditions
21916
+
21917
+ @property
21918
+ def Action(self):
21919
+ """Handling method. Values:.
21920
+ <li>`skip`: when request body data exceeds the detection depth set by `body_depth` in `Conditions` output parameters, skip all request body content detection.</li>.
21921
+ <li>`scan`: detect at the detection depth set by `body_depth` in the `Conditions` output parameters only. Truncate the excess part of the request body content directly, the excess part of the request body will not go through security detection.</li> Output paramter only.
21922
+ :rtype: str
21923
+ """
21924
+ return self._Action
21925
+
21926
+ @Action.setter
21927
+ def Action(self, Action):
21928
+ self._Action = Action
21929
+
21930
+
21931
+ def _deserialize(self, params):
21932
+ self._RuleId = params.get("RuleId")
21933
+ self._RuleName = params.get("RuleName")
21934
+ self._Description = params.get("Description")
21935
+ if params.get("Conditions") is not None:
21936
+ self._Conditions = []
21937
+ for item in params.get("Conditions"):
21938
+ obj = DetectLengthLimitCondition()
21939
+ obj._deserialize(item)
21940
+ self._Conditions.append(obj)
21941
+ self._Action = params.get("Action")
21942
+ memeber_set = set(params.keys())
21943
+ for name, value in vars(self).items():
21944
+ property_name = name[1:]
21945
+ if property_name in memeber_set:
21946
+ memeber_set.remove(property_name)
21947
+ if len(memeber_set) > 0:
21948
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
21949
+
21950
+
21951
+
21412
21952
  class DiffIPWhitelist(AbstractModel):
21413
21953
  """Differences between the newest and existing intermediate IPs
21414
21954
 
@@ -27631,6 +28171,485 @@ class LogFormat(AbstractModel):
27631
28171
 
27632
28172
 
27633
28173
 
28174
+ class ManagedRuleAction(AbstractModel):
28175
+ """Action for specific RuleId.
28176
+
28177
+ """
28178
+
28179
+ def __init__(self):
28180
+ r"""
28181
+ :param _RuleId: Specific items under ManagedRuleGroup, used to rewrite the configuration of this individual rule item, refer to product documentation for details.
28182
+ :type RuleId: str
28183
+ :param _Action: Action for the managed rule item specified by RuleId, the SecurityAction Name parameter supports: <li>`Deny`: block and respond with an block page;</li> <li>`Monitor`: observe, do not process the request and record the security event in logs;</li> <li>`Disabled`: disabled, do not scan the request and skip this rule.</li>.
28184
+ :type Action: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
28185
+ """
28186
+ self._RuleId = None
28187
+ self._Action = None
28188
+
28189
+ @property
28190
+ def RuleId(self):
28191
+ """Specific items under ManagedRuleGroup, used to rewrite the configuration of this individual rule item, refer to product documentation for details.
28192
+ :rtype: str
28193
+ """
28194
+ return self._RuleId
28195
+
28196
+ @RuleId.setter
28197
+ def RuleId(self, RuleId):
28198
+ self._RuleId = RuleId
28199
+
28200
+ @property
28201
+ def Action(self):
28202
+ """Action for the managed rule item specified by RuleId, the SecurityAction Name parameter supports: <li>`Deny`: block and respond with an block page;</li> <li>`Monitor`: observe, do not process the request and record the security event in logs;</li> <li>`Disabled`: disabled, do not scan the request and skip this rule.</li>.
28203
+ :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
28204
+ """
28205
+ return self._Action
28206
+
28207
+ @Action.setter
28208
+ def Action(self, Action):
28209
+ self._Action = Action
28210
+
28211
+
28212
+ def _deserialize(self, params):
28213
+ self._RuleId = params.get("RuleId")
28214
+ if params.get("Action") is not None:
28215
+ self._Action = SecurityAction()
28216
+ self._Action._deserialize(params.get("Action"))
28217
+ memeber_set = set(params.keys())
28218
+ for name, value in vars(self).items():
28219
+ property_name = name[1:]
28220
+ if property_name in memeber_set:
28221
+ memeber_set.remove(property_name)
28222
+ if len(memeber_set) > 0:
28223
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28224
+
28225
+
28226
+
28227
+ class ManagedRuleAutoUpdate(AbstractModel):
28228
+ """Managed rule automatic update option.
28229
+
28230
+ """
28231
+
28232
+ def __init__(self):
28233
+ r"""
28234
+ :param _AutoUpdateToLatestVersion: Enable automatic update to the latest version or not. Values: <li>`on`: enabled</li> <li>`off`: disabled</li>.
28235
+ :type AutoUpdateToLatestVersion: str
28236
+ :param _RulesetVersion: Current version, compliant with ISO 8601 standard format, such as 2023-12-21T12:00:32Z, empty by default, output parameter only.
28237
+ :type RulesetVersion: str
28238
+ """
28239
+ self._AutoUpdateToLatestVersion = None
28240
+ self._RulesetVersion = None
28241
+
28242
+ @property
28243
+ def AutoUpdateToLatestVersion(self):
28244
+ """Enable automatic update to the latest version or not. Values: <li>`on`: enabled</li> <li>`off`: disabled</li>.
28245
+ :rtype: str
28246
+ """
28247
+ return self._AutoUpdateToLatestVersion
28248
+
28249
+ @AutoUpdateToLatestVersion.setter
28250
+ def AutoUpdateToLatestVersion(self, AutoUpdateToLatestVersion):
28251
+ self._AutoUpdateToLatestVersion = AutoUpdateToLatestVersion
28252
+
28253
+ @property
28254
+ def RulesetVersion(self):
28255
+ """Current version, compliant with ISO 8601 standard format, such as 2023-12-21T12:00:32Z, empty by default, output parameter only.
28256
+ :rtype: str
28257
+ """
28258
+ return self._RulesetVersion
28259
+
28260
+ @RulesetVersion.setter
28261
+ def RulesetVersion(self, RulesetVersion):
28262
+ self._RulesetVersion = RulesetVersion
28263
+
28264
+
28265
+ def _deserialize(self, params):
28266
+ self._AutoUpdateToLatestVersion = params.get("AutoUpdateToLatestVersion")
28267
+ self._RulesetVersion = params.get("RulesetVersion")
28268
+ memeber_set = set(params.keys())
28269
+ for name, value in vars(self).items():
28270
+ property_name = name[1:]
28271
+ if property_name in memeber_set:
28272
+ memeber_set.remove(property_name)
28273
+ if len(memeber_set) > 0:
28274
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28275
+
28276
+
28277
+
28278
+ class ManagedRuleDetail(AbstractModel):
28279
+ """Managed rule detail.
28280
+
28281
+ """
28282
+
28283
+ def __init__(self):
28284
+ r"""
28285
+ :param _RuleId: Managed rule Id.
28286
+ :type RuleId: str
28287
+ :param _RiskLevel: Protection level of managed rules. Values: <li>`low`: low risk, this rule has a relatively low risk and is applicable to very strict access scenarios, this level of rule may generate considerable false alarms.</li> <li>`medium`: medium risk, this means the risk of this rule is normal and is suitable for protection scenarios with stricter requirements.</li> <li>`high`: high risk, this indicates that the risk of this rule is relatively high and will not generate false alarms in most scenarios.</li> <li>`extreme`: ultra-high risk. this represents that the risk of this rule is extremely high and will not generate false alarms basically.</li>.
28288
+ :type RiskLevel: str
28289
+ :param _Description: Rule description.
28290
+ :type Description: str
28291
+ :param _Tags: Rule tag. Some types of rules do not have tags.
28292
+ :type Tags: list of str
28293
+ :param _RuleVersion: Rule version.
28294
+ :type RuleVersion: str
28295
+ """
28296
+ self._RuleId = None
28297
+ self._RiskLevel = None
28298
+ self._Description = None
28299
+ self._Tags = None
28300
+ self._RuleVersion = None
28301
+
28302
+ @property
28303
+ def RuleId(self):
28304
+ """Managed rule Id.
28305
+ :rtype: str
28306
+ """
28307
+ return self._RuleId
28308
+
28309
+ @RuleId.setter
28310
+ def RuleId(self, RuleId):
28311
+ self._RuleId = RuleId
28312
+
28313
+ @property
28314
+ def RiskLevel(self):
28315
+ """Protection level of managed rules. Values: <li>`low`: low risk, this rule has a relatively low risk and is applicable to very strict access scenarios, this level of rule may generate considerable false alarms.</li> <li>`medium`: medium risk, this means the risk of this rule is normal and is suitable for protection scenarios with stricter requirements.</li> <li>`high`: high risk, this indicates that the risk of this rule is relatively high and will not generate false alarms in most scenarios.</li> <li>`extreme`: ultra-high risk. this represents that the risk of this rule is extremely high and will not generate false alarms basically.</li>.
28316
+ :rtype: str
28317
+ """
28318
+ return self._RiskLevel
28319
+
28320
+ @RiskLevel.setter
28321
+ def RiskLevel(self, RiskLevel):
28322
+ self._RiskLevel = RiskLevel
28323
+
28324
+ @property
28325
+ def Description(self):
28326
+ """Rule description.
28327
+ :rtype: str
28328
+ """
28329
+ return self._Description
28330
+
28331
+ @Description.setter
28332
+ def Description(self, Description):
28333
+ self._Description = Description
28334
+
28335
+ @property
28336
+ def Tags(self):
28337
+ """Rule tag. Some types of rules do not have tags.
28338
+ :rtype: list of str
28339
+ """
28340
+ return self._Tags
28341
+
28342
+ @Tags.setter
28343
+ def Tags(self, Tags):
28344
+ self._Tags = Tags
28345
+
28346
+ @property
28347
+ def RuleVersion(self):
28348
+ """Rule version.
28349
+ :rtype: str
28350
+ """
28351
+ return self._RuleVersion
28352
+
28353
+ @RuleVersion.setter
28354
+ def RuleVersion(self, RuleVersion):
28355
+ self._RuleVersion = RuleVersion
28356
+
28357
+
28358
+ def _deserialize(self, params):
28359
+ self._RuleId = params.get("RuleId")
28360
+ self._RiskLevel = params.get("RiskLevel")
28361
+ self._Description = params.get("Description")
28362
+ self._Tags = params.get("Tags")
28363
+ self._RuleVersion = params.get("RuleVersion")
28364
+ memeber_set = set(params.keys())
28365
+ for name, value in vars(self).items():
28366
+ property_name = name[1:]
28367
+ if property_name in memeber_set:
28368
+ memeber_set.remove(property_name)
28369
+ if len(memeber_set) > 0:
28370
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28371
+
28372
+
28373
+
28374
+ class ManagedRuleGroup(AbstractModel):
28375
+ """Managed rule group configuration.
28376
+
28377
+ """
28378
+
28379
+ def __init__(self):
28380
+ r"""
28381
+ :param _GroupId: Name of the managed rule group, if the configuration for the rule group is not specified, it will be processed by default, refer to product documentation for the specific value of GroupId.
28382
+ :type GroupId: str
28383
+ :param _SensitivityLevel: Protection level of the managed rule group. Values: <li>`loose`: lenient, only contain ultra-high risk rules, at this point, Action parameter needs configured instead of RuleActions parameter;</li> <li>`normal`: normal, contain ultra-high risk and high-risk rules, at this point,Action parameter needs configured instead of RuleActions parameter;</li> <li>`strict`: strict, contains ultra-high risk, high-risk and medium-risk rules, at this point, Action parameter needs configured instead of RuleActions parameter;</li> <li>`extreme`: super strict, contains ultra-high risk, high-risk, medium-risk and low-risk rules, at this point, Action parameter needs configured instead of RuleActions parameter;</li> <li>`custom`: custom, refined strategy, configure the RuleActions parameter for each individual rule, at this point, the Action field is invalid, use RuleActions to configure the refined strategy for each individual rule.</li>.
28384
+ :type SensitivityLevel: str
28385
+ :param _Action: Action for ManagedRuleGroup. the Name parameter value of SecurityAction supports: <li>`Deny`: block and respond with a block page;</li> <li>`Monitor`: observe, do not process requests and record security events in logs;</li> <li>`Disabled`: not enabled, do not scan requests and skip this rule.</li>.
28386
+ :type Action: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
28387
+ :param _RuleActions: Specific configuration of rule items under the managed rule group, valid only when SensitivityLevel is custom.
28388
+ :type RuleActions: list of ManagedRuleAction
28389
+ :param _MetaData: ManagedRuleGroup detailed information, output parameter only.
28390
+ :type MetaData: :class:`tencentcloud.teo.v20220901.models.ManagedRuleGroupMeta`
28391
+ """
28392
+ self._GroupId = None
28393
+ self._SensitivityLevel = None
28394
+ self._Action = None
28395
+ self._RuleActions = None
28396
+ self._MetaData = None
28397
+
28398
+ @property
28399
+ def GroupId(self):
28400
+ """Name of the managed rule group, if the configuration for the rule group is not specified, it will be processed by default, refer to product documentation for the specific value of GroupId.
28401
+ :rtype: str
28402
+ """
28403
+ return self._GroupId
28404
+
28405
+ @GroupId.setter
28406
+ def GroupId(self, GroupId):
28407
+ self._GroupId = GroupId
28408
+
28409
+ @property
28410
+ def SensitivityLevel(self):
28411
+ """Protection level of the managed rule group. Values: <li>`loose`: lenient, only contain ultra-high risk rules, at this point, Action parameter needs configured instead of RuleActions parameter;</li> <li>`normal`: normal, contain ultra-high risk and high-risk rules, at this point,Action parameter needs configured instead of RuleActions parameter;</li> <li>`strict`: strict, contains ultra-high risk, high-risk and medium-risk rules, at this point, Action parameter needs configured instead of RuleActions parameter;</li> <li>`extreme`: super strict, contains ultra-high risk, high-risk, medium-risk and low-risk rules, at this point, Action parameter needs configured instead of RuleActions parameter;</li> <li>`custom`: custom, refined strategy, configure the RuleActions parameter for each individual rule, at this point, the Action field is invalid, use RuleActions to configure the refined strategy for each individual rule.</li>.
28412
+ :rtype: str
28413
+ """
28414
+ return self._SensitivityLevel
28415
+
28416
+ @SensitivityLevel.setter
28417
+ def SensitivityLevel(self, SensitivityLevel):
28418
+ self._SensitivityLevel = SensitivityLevel
28419
+
28420
+ @property
28421
+ def Action(self):
28422
+ """Action for ManagedRuleGroup. the Name parameter value of SecurityAction supports: <li>`Deny`: block and respond with a block page;</li> <li>`Monitor`: observe, do not process requests and record security events in logs;</li> <li>`Disabled`: not enabled, do not scan requests and skip this rule.</li>.
28423
+ :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityAction`
28424
+ """
28425
+ return self._Action
28426
+
28427
+ @Action.setter
28428
+ def Action(self, Action):
28429
+ self._Action = Action
28430
+
28431
+ @property
28432
+ def RuleActions(self):
28433
+ """Specific configuration of rule items under the managed rule group, valid only when SensitivityLevel is custom.
28434
+ :rtype: list of ManagedRuleAction
28435
+ """
28436
+ return self._RuleActions
28437
+
28438
+ @RuleActions.setter
28439
+ def RuleActions(self, RuleActions):
28440
+ self._RuleActions = RuleActions
28441
+
28442
+ @property
28443
+ def MetaData(self):
28444
+ """ManagedRuleGroup detailed information, output parameter only.
28445
+ :rtype: :class:`tencentcloud.teo.v20220901.models.ManagedRuleGroupMeta`
28446
+ """
28447
+ return self._MetaData
28448
+
28449
+ @MetaData.setter
28450
+ def MetaData(self, MetaData):
28451
+ self._MetaData = MetaData
28452
+
28453
+
28454
+ def _deserialize(self, params):
28455
+ self._GroupId = params.get("GroupId")
28456
+ self._SensitivityLevel = params.get("SensitivityLevel")
28457
+ if params.get("Action") is not None:
28458
+ self._Action = SecurityAction()
28459
+ self._Action._deserialize(params.get("Action"))
28460
+ if params.get("RuleActions") is not None:
28461
+ self._RuleActions = []
28462
+ for item in params.get("RuleActions"):
28463
+ obj = ManagedRuleAction()
28464
+ obj._deserialize(item)
28465
+ self._RuleActions.append(obj)
28466
+ if params.get("MetaData") is not None:
28467
+ self._MetaData = ManagedRuleGroupMeta()
28468
+ self._MetaData._deserialize(params.get("MetaData"))
28469
+ memeber_set = set(params.keys())
28470
+ for name, value in vars(self).items():
28471
+ property_name = name[1:]
28472
+ if property_name in memeber_set:
28473
+ memeber_set.remove(property_name)
28474
+ if len(memeber_set) > 0:
28475
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28476
+
28477
+
28478
+
28479
+ class ManagedRuleGroupMeta(AbstractModel):
28480
+ """Managed rule group meta information.
28481
+
28482
+ """
28483
+
28484
+ def __init__(self):
28485
+ r"""
28486
+ :param _GroupDetail: ManagedRuleGroup detailed information, output parameter only.
28487
+ :type GroupDetail: str
28488
+ :param _GroupName: ManagedRuleGroup name, output parameter only.
28489
+ :type GroupName: str
28490
+ :param _RuleDetails: All sub-rules information under current ManagedRuleGroup, output parameter only.
28491
+ :type RuleDetails: list of ManagedRuleDetail
28492
+ """
28493
+ self._GroupDetail = None
28494
+ self._GroupName = None
28495
+ self._RuleDetails = None
28496
+
28497
+ @property
28498
+ def GroupDetail(self):
28499
+ """ManagedRuleGroup detailed information, output parameter only.
28500
+ :rtype: str
28501
+ """
28502
+ return self._GroupDetail
28503
+
28504
+ @GroupDetail.setter
28505
+ def GroupDetail(self, GroupDetail):
28506
+ self._GroupDetail = GroupDetail
28507
+
28508
+ @property
28509
+ def GroupName(self):
28510
+ """ManagedRuleGroup name, output parameter only.
28511
+ :rtype: str
28512
+ """
28513
+ return self._GroupName
28514
+
28515
+ @GroupName.setter
28516
+ def GroupName(self, GroupName):
28517
+ self._GroupName = GroupName
28518
+
28519
+ @property
28520
+ def RuleDetails(self):
28521
+ """All sub-rules information under current ManagedRuleGroup, output parameter only.
28522
+ :rtype: list of ManagedRuleDetail
28523
+ """
28524
+ return self._RuleDetails
28525
+
28526
+ @RuleDetails.setter
28527
+ def RuleDetails(self, RuleDetails):
28528
+ self._RuleDetails = RuleDetails
28529
+
28530
+
28531
+ def _deserialize(self, params):
28532
+ self._GroupDetail = params.get("GroupDetail")
28533
+ self._GroupName = params.get("GroupName")
28534
+ if params.get("RuleDetails") is not None:
28535
+ self._RuleDetails = []
28536
+ for item in params.get("RuleDetails"):
28537
+ obj = ManagedRuleDetail()
28538
+ obj._deserialize(item)
28539
+ self._RuleDetails.append(obj)
28540
+ memeber_set = set(params.keys())
28541
+ for name, value in vars(self).items():
28542
+ property_name = name[1:]
28543
+ if property_name in memeber_set:
28544
+ memeber_set.remove(property_name)
28545
+ if len(memeber_set) > 0:
28546
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28547
+
28548
+
28549
+
28550
+ class ManagedRules(AbstractModel):
28551
+ """Managed rules configuration.
28552
+
28553
+ """
28554
+
28555
+ def __init__(self):
28556
+ r"""
28557
+ :param _Enabled: The managed rule status. Values: <li>`on`: enabled, all managed rules take effect as configured;</li> <li>`off`: disabled, all managed rules do not take effect.</li>.
28558
+ :type Enabled: str
28559
+ :param _DetectionOnly: Evaluation mode is enabled or not, it is valid only when the `Enabled` parameter is set to `on`. Values: <li>`on`: enabled, all managed rules take effect in `observe` mode.</li> <li>off: disabled, all managed rules take effect according to the specified configuration.</li>.
28560
+ :type DetectionOnly: str
28561
+ :param _SemanticAnalysis: Managed rule semantic analysis is enabled or not, it is valid only when the `Enabled` parameter is `on`. Values: <li>`on`: enabled, perform semantic analysis before processing requests;</li> <li>`off`: disabled, process requests directly without semantic analysis.</li> <br/>The default value is `off`.
28562
+ :type SemanticAnalysis: str
28563
+ :param _AutoUpdate: Managed rule automatic update option.
28564
+ :type AutoUpdate: :class:`tencentcloud.teo.v20220901.models.ManagedRuleAutoUpdate`
28565
+ :param _ManagedRuleGroups: Configuration of the managed rule group. If this structure is passed as an empty array or the GroupId is not included in the array, it will be processed based by default.
28566
+ :type ManagedRuleGroups: list of ManagedRuleGroup
28567
+ """
28568
+ self._Enabled = None
28569
+ self._DetectionOnly = None
28570
+ self._SemanticAnalysis = None
28571
+ self._AutoUpdate = None
28572
+ self._ManagedRuleGroups = None
28573
+
28574
+ @property
28575
+ def Enabled(self):
28576
+ """The managed rule status. Values: <li>`on`: enabled, all managed rules take effect as configured;</li> <li>`off`: disabled, all managed rules do not take effect.</li>.
28577
+ :rtype: str
28578
+ """
28579
+ return self._Enabled
28580
+
28581
+ @Enabled.setter
28582
+ def Enabled(self, Enabled):
28583
+ self._Enabled = Enabled
28584
+
28585
+ @property
28586
+ def DetectionOnly(self):
28587
+ """Evaluation mode is enabled or not, it is valid only when the `Enabled` parameter is set to `on`. Values: <li>`on`: enabled, all managed rules take effect in `observe` mode.</li> <li>off: disabled, all managed rules take effect according to the specified configuration.</li>.
28588
+ :rtype: str
28589
+ """
28590
+ return self._DetectionOnly
28591
+
28592
+ @DetectionOnly.setter
28593
+ def DetectionOnly(self, DetectionOnly):
28594
+ self._DetectionOnly = DetectionOnly
28595
+
28596
+ @property
28597
+ def SemanticAnalysis(self):
28598
+ """Managed rule semantic analysis is enabled or not, it is valid only when the `Enabled` parameter is `on`. Values: <li>`on`: enabled, perform semantic analysis before processing requests;</li> <li>`off`: disabled, process requests directly without semantic analysis.</li> <br/>The default value is `off`.
28599
+ :rtype: str
28600
+ """
28601
+ return self._SemanticAnalysis
28602
+
28603
+ @SemanticAnalysis.setter
28604
+ def SemanticAnalysis(self, SemanticAnalysis):
28605
+ self._SemanticAnalysis = SemanticAnalysis
28606
+
28607
+ @property
28608
+ def AutoUpdate(self):
28609
+ """Managed rule automatic update option.
28610
+ :rtype: :class:`tencentcloud.teo.v20220901.models.ManagedRuleAutoUpdate`
28611
+ """
28612
+ return self._AutoUpdate
28613
+
28614
+ @AutoUpdate.setter
28615
+ def AutoUpdate(self, AutoUpdate):
28616
+ self._AutoUpdate = AutoUpdate
28617
+
28618
+ @property
28619
+ def ManagedRuleGroups(self):
28620
+ """Configuration of the managed rule group. If this structure is passed as an empty array or the GroupId is not included in the array, it will be processed based by default.
28621
+ :rtype: list of ManagedRuleGroup
28622
+ """
28623
+ return self._ManagedRuleGroups
28624
+
28625
+ @ManagedRuleGroups.setter
28626
+ def ManagedRuleGroups(self, ManagedRuleGroups):
28627
+ self._ManagedRuleGroups = ManagedRuleGroups
28628
+
28629
+
28630
+ def _deserialize(self, params):
28631
+ self._Enabled = params.get("Enabled")
28632
+ self._DetectionOnly = params.get("DetectionOnly")
28633
+ self._SemanticAnalysis = params.get("SemanticAnalysis")
28634
+ if params.get("AutoUpdate") is not None:
28635
+ self._AutoUpdate = ManagedRuleAutoUpdate()
28636
+ self._AutoUpdate._deserialize(params.get("AutoUpdate"))
28637
+ if params.get("ManagedRuleGroups") is not None:
28638
+ self._ManagedRuleGroups = []
28639
+ for item in params.get("ManagedRuleGroups"):
28640
+ obj = ManagedRuleGroup()
28641
+ obj._deserialize(item)
28642
+ self._ManagedRuleGroups.append(obj)
28643
+ memeber_set = set(params.keys())
28644
+ for name, value in vars(self).items():
28645
+ property_name = name[1:]
28646
+ if property_name in memeber_set:
28647
+ memeber_set.remove(property_name)
28648
+ if len(memeber_set) > 0:
28649
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28650
+
28651
+
28652
+
27634
28653
  class MaxAge(AbstractModel):
27635
28654
  """Browser cache rule configuration, which is used to set the default value of `MaxAge` and is disabled by default.
27636
28655
 
@@ -31533,29 +32552,29 @@ class ModifySecurityPolicyRequest(AbstractModel):
31533
32552
 
31534
32553
  def __init__(self):
31535
32554
  r"""
31536
- :param _ZoneId: The site ID.
32555
+ :param _ZoneId: Zone ID.
31537
32556
  :type ZoneId: str
31538
- :param _SecurityConfig: Security configuration.
32557
+ :param _SecurityConfig: Security policy configuration. <li>When the `CustomRule` in the `SecurityPolicy` parameter is set, the `AclConfg` and `IpTableConfg` in the `SecurityConfig` parameter will be ignored;</li> <li>when the `ManagedRule` in the `SecurityPolicy` parameter is set, the `WafConfig` in the `SecurityConfig` parameter will be ignored.</li> <li>For custom rules and managed rule policy configuration, using `SecurityPolicy` parameter to configure settings is recommended.</li>
31539
32558
  :type SecurityConfig: :class:`tencentcloud.teo.v20220901.models.SecurityConfig`
31540
- :param _Entity: Subdomain/application name.
31541
-
31542
- Note: When both this parameter and the TemplateId parameter are specified, this parameter will not take effect. Do not specify this parameter and the TemplateId parameter at the same time.
32559
+ :param _SecurityPolicy: Security policy configuration. The parameter is recommended to use for custom policies and managed rule configurations of web protection, it supports configuring security policies with expression grammar.
32560
+ :type SecurityPolicy: :class:`tencentcloud.teo.v20220901.models.SecurityPolicy`
32561
+ :param _Entity: `SecurityPolicy` type, the following parameter values can be used for query: <li>`ZoneDefaultPolicy`: used to specify a query for site-level policies;</li> <li>`Template`: used to specify a query for policy templates. the `TemplateId` parameter needs to be specified simultaneously;</li> <li>`Host`: used to specify a query for domain-level policies (note: when using `Host` to specify a domain name service policy, only domain name services or policy templates that have been applied domain-level policies are supported).</li>
31543
32562
  :type Entity: str
31544
- :param _TemplateId: Specifies the policy template ID, or the site's global policy.
31545
- - To configure a policy template, specify the policy template ID.
31546
- - To configure the site's global policy, use the @ZoneLevel@Domain parameter value.
31547
-
31548
- Note: When this parameter is used, the Entity parameter will not take effect. Do not use this parameter and the Entity parameter at the same time.
32563
+ :param _Host: Specify the domain name. When the `Entity` parameter value is set to `Host`, use the domain-level policy specified by this parameter to query the domain configuration. For example, use `www.example.com` to configure the domain-level policy for that domain name.
32564
+ :type Host: str
32565
+ :param _TemplateId: Specify the policy template ID. Use this parameter to specify the ID of the policy Template to query the Template configuration when the `Entity` parameter value is set to `Template`.
31549
32566
  :type TemplateId: str
31550
32567
  """
31551
32568
  self._ZoneId = None
31552
32569
  self._SecurityConfig = None
32570
+ self._SecurityPolicy = None
31553
32571
  self._Entity = None
32572
+ self._Host = None
31554
32573
  self._TemplateId = None
31555
32574
 
31556
32575
  @property
31557
32576
  def ZoneId(self):
31558
- """The site ID.
32577
+ """Zone ID.
31559
32578
  :rtype: str
31560
32579
  """
31561
32580
  return self._ZoneId
@@ -31566,7 +32585,7 @@ Note: When this parameter is used, the Entity parameter will not take effect. Do
31566
32585
 
31567
32586
  @property
31568
32587
  def SecurityConfig(self):
31569
- """Security configuration.
32588
+ """Security policy configuration. <li>When the `CustomRule` in the `SecurityPolicy` parameter is set, the `AclConfg` and `IpTableConfg` in the `SecurityConfig` parameter will be ignored;</li> <li>when the `ManagedRule` in the `SecurityPolicy` parameter is set, the `WafConfig` in the `SecurityConfig` parameter will be ignored.</li> <li>For custom rules and managed rule policy configuration, using `SecurityPolicy` parameter to configure settings is recommended.</li>
31570
32589
  :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityConfig`
31571
32590
  """
31572
32591
  return self._SecurityConfig
@@ -31576,10 +32595,19 @@ Note: When this parameter is used, the Entity parameter will not take effect. Do
31576
32595
  self._SecurityConfig = SecurityConfig
31577
32596
 
31578
32597
  @property
31579
- def Entity(self):
31580
- """Subdomain/application name.
32598
+ def SecurityPolicy(self):
32599
+ """Security policy configuration. The parameter is recommended to use for custom policies and managed rule configurations of web protection, it supports configuring security policies with expression grammar.
32600
+ :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityPolicy`
32601
+ """
32602
+ return self._SecurityPolicy
31581
32603
 
31582
- Note: When both this parameter and the TemplateId parameter are specified, this parameter will not take effect. Do not specify this parameter and the TemplateId parameter at the same time.
32604
+ @SecurityPolicy.setter
32605
+ def SecurityPolicy(self, SecurityPolicy):
32606
+ self._SecurityPolicy = SecurityPolicy
32607
+
32608
+ @property
32609
+ def Entity(self):
32610
+ """`SecurityPolicy` type, the following parameter values can be used for query: <li>`ZoneDefaultPolicy`: used to specify a query for site-level policies;</li> <li>`Template`: used to specify a query for policy templates. the `TemplateId` parameter needs to be specified simultaneously;</li> <li>`Host`: used to specify a query for domain-level policies (note: when using `Host` to specify a domain name service policy, only domain name services or policy templates that have been applied domain-level policies are supported).</li>
31583
32611
  :rtype: str
31584
32612
  """
31585
32613
  return self._Entity
@@ -31589,12 +32617,19 @@ Note: When both this parameter and the TemplateId parameter are specified, this
31589
32617
  self._Entity = Entity
31590
32618
 
31591
32619
  @property
31592
- def TemplateId(self):
31593
- """Specifies the policy template ID, or the site's global policy.
31594
- - To configure a policy template, specify the policy template ID.
31595
- - To configure the site's global policy, use the @ZoneLevel@Domain parameter value.
32620
+ def Host(self):
32621
+ """Specify the domain name. When the `Entity` parameter value is set to `Host`, use the domain-level policy specified by this parameter to query the domain configuration. For example, use `www.example.com` to configure the domain-level policy for that domain name.
32622
+ :rtype: str
32623
+ """
32624
+ return self._Host
32625
+
32626
+ @Host.setter
32627
+ def Host(self, Host):
32628
+ self._Host = Host
31596
32629
 
31597
- Note: When this parameter is used, the Entity parameter will not take effect. Do not use this parameter and the Entity parameter at the same time.
32630
+ @property
32631
+ def TemplateId(self):
32632
+ """Specify the policy template ID. Use this parameter to specify the ID of the policy Template to query the Template configuration when the `Entity` parameter value is set to `Template`.
31598
32633
  :rtype: str
31599
32634
  """
31600
32635
  return self._TemplateId
@@ -31609,7 +32644,11 @@ Note: When this parameter is used, the Entity parameter will not take effect. Do
31609
32644
  if params.get("SecurityConfig") is not None:
31610
32645
  self._SecurityConfig = SecurityConfig()
31611
32646
  self._SecurityConfig._deserialize(params.get("SecurityConfig"))
32647
+ if params.get("SecurityPolicy") is not None:
32648
+ self._SecurityPolicy = SecurityPolicy()
32649
+ self._SecurityPolicy._deserialize(params.get("SecurityPolicy"))
31612
32650
  self._Entity = params.get("Entity")
32651
+ self._Host = params.get("Host")
31613
32652
  self._TemplateId = params.get("TemplateId")
31614
32653
  memeber_set = set(params.keys())
31615
32654
  for name, value in vars(self).items():
@@ -36022,6 +37061,42 @@ Note: This field may return null, which indicates a failure to obtain a valid va
36022
37061
 
36023
37062
 
36024
37063
 
37064
+ class RedirectActionParameters(AbstractModel):
37065
+ """Additional parameter for SecurityAction `Redirect`.
37066
+
37067
+ """
37068
+
37069
+ def __init__(self):
37070
+ r"""
37071
+ :param _URL: Redirect URL.
37072
+ :type URL: str
37073
+ """
37074
+ self._URL = None
37075
+
37076
+ @property
37077
+ def URL(self):
37078
+ """Redirect URL.
37079
+ :rtype: str
37080
+ """
37081
+ return self._URL
37082
+
37083
+ @URL.setter
37084
+ def URL(self, URL):
37085
+ self._URL = URL
37086
+
37087
+
37088
+ def _deserialize(self, params):
37089
+ self._URL = params.get("URL")
37090
+ memeber_set = set(params.keys())
37091
+ for name, value in vars(self).items():
37092
+ property_name = name[1:]
37093
+ if property_name in memeber_set:
37094
+ memeber_set.remove(property_name)
37095
+ if len(memeber_set) > 0:
37096
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37097
+
37098
+
37099
+
36025
37100
  class RenewFlag(AbstractModel):
36026
37101
  """Auto-renewal configuration item in a prepaid plan.
36027
37102
 
@@ -36496,6 +37571,57 @@ class ResponseSpeedLimitParameters(AbstractModel):
36496
37571
 
36497
37572
 
36498
37573
 
37574
+ class ReturnCustomPageActionParameters(AbstractModel):
37575
+ """Additional parameter for SecurityAction `ReturnCustomPage`.
37576
+
37577
+ """
37578
+
37579
+ def __init__(self):
37580
+ r"""
37581
+ :param _ResponseCode: Response custom status code.
37582
+ :type ResponseCode: str
37583
+ :param _ErrorPageId: Response custom page ID.
37584
+ :type ErrorPageId: str
37585
+ """
37586
+ self._ResponseCode = None
37587
+ self._ErrorPageId = None
37588
+
37589
+ @property
37590
+ def ResponseCode(self):
37591
+ """Response custom status code.
37592
+ :rtype: str
37593
+ """
37594
+ return self._ResponseCode
37595
+
37596
+ @ResponseCode.setter
37597
+ def ResponseCode(self, ResponseCode):
37598
+ self._ResponseCode = ResponseCode
37599
+
37600
+ @property
37601
+ def ErrorPageId(self):
37602
+ """Response custom page ID.
37603
+ :rtype: str
37604
+ """
37605
+ return self._ErrorPageId
37606
+
37607
+ @ErrorPageId.setter
37608
+ def ErrorPageId(self, ErrorPageId):
37609
+ self._ErrorPageId = ErrorPageId
37610
+
37611
+
37612
+ def _deserialize(self, params):
37613
+ self._ResponseCode = params.get("ResponseCode")
37614
+ self._ErrorPageId = params.get("ErrorPageId")
37615
+ memeber_set = set(params.keys())
37616
+ for name, value in vars(self).items():
37617
+ property_name = name[1:]
37618
+ if property_name in memeber_set:
37619
+ memeber_set.remove(property_name)
37620
+ if len(memeber_set) > 0:
37621
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37622
+
37623
+
37624
+
36499
37625
  class RewriteAction(AbstractModel):
36500
37626
  """Rule engine action for the HTTP request/response header
36501
37627
 
@@ -38872,8 +39998,97 @@ class SecEntryValue(AbstractModel):
38872
39998
 
38873
39999
 
38874
40000
 
40001
+ class SecurityAction(AbstractModel):
40002
+ """Action for security operation.
40003
+
40004
+ """
40005
+
40006
+ def __init__(self):
40007
+ r"""
40008
+ :param _Name: Specific action name for security operation. Values:
40009
+ <li>`Deny`: block</li> <li>`Monitor`: monitor</li> <li>`ReturnCustomPage`: block with customized page</li> <li>`Redirect`: Redirect to URL</li> <li>`BlockIP`: IP block</li> <li>`JSChallenge`: javaScript challenge</li> <li>`ManagedChallenge`: managed challenge</li> <li>`Disabled`: disabled</li> <li>`Allow`: allow</li>.
40010
+ :type Name: str
40011
+ :param _BlockIPActionParameters: Additional parameter when Name is BlockIP.
40012
+ :type BlockIPActionParameters: :class:`tencentcloud.teo.v20220901.models.BlockIPActionParameters`
40013
+ :param _ReturnCustomPageActionParameters: Additional parameter when Name is ReturnCustomPage.
40014
+ :type ReturnCustomPageActionParameters: :class:`tencentcloud.teo.v20220901.models.ReturnCustomPageActionParameters`
40015
+ :param _RedirectActionParameters: Additional parameter when Name is Redirect.
40016
+ :type RedirectActionParameters: :class:`tencentcloud.teo.v20220901.models.RedirectActionParameters`
40017
+ """
40018
+ self._Name = None
40019
+ self._BlockIPActionParameters = None
40020
+ self._ReturnCustomPageActionParameters = None
40021
+ self._RedirectActionParameters = None
40022
+
40023
+ @property
40024
+ def Name(self):
40025
+ """Specific action name for security operation. Values:
40026
+ <li>`Deny`: block</li> <li>`Monitor`: monitor</li> <li>`ReturnCustomPage`: block with customized page</li> <li>`Redirect`: Redirect to URL</li> <li>`BlockIP`: IP block</li> <li>`JSChallenge`: javaScript challenge</li> <li>`ManagedChallenge`: managed challenge</li> <li>`Disabled`: disabled</li> <li>`Allow`: allow</li>.
40027
+ :rtype: str
40028
+ """
40029
+ return self._Name
40030
+
40031
+ @Name.setter
40032
+ def Name(self, Name):
40033
+ self._Name = Name
40034
+
40035
+ @property
40036
+ def BlockIPActionParameters(self):
40037
+ """Additional parameter when Name is BlockIP.
40038
+ :rtype: :class:`tencentcloud.teo.v20220901.models.BlockIPActionParameters`
40039
+ """
40040
+ return self._BlockIPActionParameters
40041
+
40042
+ @BlockIPActionParameters.setter
40043
+ def BlockIPActionParameters(self, BlockIPActionParameters):
40044
+ self._BlockIPActionParameters = BlockIPActionParameters
40045
+
40046
+ @property
40047
+ def ReturnCustomPageActionParameters(self):
40048
+ """Additional parameter when Name is ReturnCustomPage.
40049
+ :rtype: :class:`tencentcloud.teo.v20220901.models.ReturnCustomPageActionParameters`
40050
+ """
40051
+ return self._ReturnCustomPageActionParameters
40052
+
40053
+ @ReturnCustomPageActionParameters.setter
40054
+ def ReturnCustomPageActionParameters(self, ReturnCustomPageActionParameters):
40055
+ self._ReturnCustomPageActionParameters = ReturnCustomPageActionParameters
40056
+
40057
+ @property
40058
+ def RedirectActionParameters(self):
40059
+ """Additional parameter when Name is Redirect.
40060
+ :rtype: :class:`tencentcloud.teo.v20220901.models.RedirectActionParameters`
40061
+ """
40062
+ return self._RedirectActionParameters
40063
+
40064
+ @RedirectActionParameters.setter
40065
+ def RedirectActionParameters(self, RedirectActionParameters):
40066
+ self._RedirectActionParameters = RedirectActionParameters
40067
+
40068
+
40069
+ def _deserialize(self, params):
40070
+ self._Name = params.get("Name")
40071
+ if params.get("BlockIPActionParameters") is not None:
40072
+ self._BlockIPActionParameters = BlockIPActionParameters()
40073
+ self._BlockIPActionParameters._deserialize(params.get("BlockIPActionParameters"))
40074
+ if params.get("ReturnCustomPageActionParameters") is not None:
40075
+ self._ReturnCustomPageActionParameters = ReturnCustomPageActionParameters()
40076
+ self._ReturnCustomPageActionParameters._deserialize(params.get("ReturnCustomPageActionParameters"))
40077
+ if params.get("RedirectActionParameters") is not None:
40078
+ self._RedirectActionParameters = RedirectActionParameters()
40079
+ self._RedirectActionParameters._deserialize(params.get("RedirectActionParameters"))
40080
+ memeber_set = set(params.keys())
40081
+ for name, value in vars(self).items():
40082
+ property_name = name[1:]
40083
+ if property_name in memeber_set:
40084
+ memeber_set.remove(property_name)
40085
+ if len(memeber_set) > 0:
40086
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
40087
+
40088
+
40089
+
38875
40090
  class SecurityConfig(AbstractModel):
38876
- """Security configuration
40091
+ """Web security configuration.
38877
40092
 
38878
40093
  """
38879
40094
 
@@ -38905,6 +40120,9 @@ Note: This field may return `null`, indicating that no valid value can be obtain
38905
40120
  :type TemplateConfig: :class:`tencentcloud.teo.v20220901.models.TemplateConfig`
38906
40121
  :param _SlowPostConfig: Settings for slow attack defense. If the parameter is null or not filled, the configuration last set will be used by default.Note: This field may return null, indicating that no valid value can be obtained.
38907
40122
  :type SlowPostConfig: :class:`tencentcloud.teo.v20220901.models.SlowPostConfig`
40123
+ :param _DetectLengthLimitConfig: Detect the length limit configuration, output parameter only.
40124
+ Note: This field may return null, which indicates a failure to obtain a valid value.
40125
+ :type DetectLengthLimitConfig: :class:`tencentcloud.teo.v20220901.models.DetectLengthLimitConfig`
38908
40126
  """
38909
40127
  self._WafConfig = None
38910
40128
  self._RateLimitConfig = None
@@ -38916,6 +40134,7 @@ Note: This field may return `null`, indicating that no valid value can be obtain
38916
40134
  self._DropPageConfig = None
38917
40135
  self._TemplateConfig = None
38918
40136
  self._SlowPostConfig = None
40137
+ self._DetectLengthLimitConfig = None
38919
40138
 
38920
40139
  @property
38921
40140
  def WafConfig(self):
@@ -39033,6 +40252,18 @@ Note: This field may return `null`, indicating that no valid value can be obtain
39033
40252
  def SlowPostConfig(self, SlowPostConfig):
39034
40253
  self._SlowPostConfig = SlowPostConfig
39035
40254
 
40255
+ @property
40256
+ def DetectLengthLimitConfig(self):
40257
+ """Detect the length limit configuration, output parameter only.
40258
+ Note: This field may return null, which indicates a failure to obtain a valid value.
40259
+ :rtype: :class:`tencentcloud.teo.v20220901.models.DetectLengthLimitConfig`
40260
+ """
40261
+ return self._DetectLengthLimitConfig
40262
+
40263
+ @DetectLengthLimitConfig.setter
40264
+ def DetectLengthLimitConfig(self, DetectLengthLimitConfig):
40265
+ self._DetectLengthLimitConfig = DetectLengthLimitConfig
40266
+
39036
40267
 
39037
40268
  def _deserialize(self, params):
39038
40269
  if params.get("WafConfig") is not None:
@@ -39065,6 +40296,68 @@ Note: This field may return `null`, indicating that no valid value can be obtain
39065
40296
  if params.get("SlowPostConfig") is not None:
39066
40297
  self._SlowPostConfig = SlowPostConfig()
39067
40298
  self._SlowPostConfig._deserialize(params.get("SlowPostConfig"))
40299
+ if params.get("DetectLengthLimitConfig") is not None:
40300
+ self._DetectLengthLimitConfig = DetectLengthLimitConfig()
40301
+ self._DetectLengthLimitConfig._deserialize(params.get("DetectLengthLimitConfig"))
40302
+ memeber_set = set(params.keys())
40303
+ for name, value in vars(self).items():
40304
+ property_name = name[1:]
40305
+ if property_name in memeber_set:
40306
+ memeber_set.remove(property_name)
40307
+ if len(memeber_set) > 0:
40308
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
40309
+
40310
+
40311
+
40312
+ class SecurityPolicy(AbstractModel):
40313
+ """Web security policy.
40314
+
40315
+ """
40316
+
40317
+ def __init__(self):
40318
+ r"""
40319
+ :param _CustomRules: Custom rules. If the parameter is null or not filled, the configuration last set will be used by default.
40320
+ Note: This field may return null, indicating that no valid value can be obtained.
40321
+ :type CustomRules: :class:`tencentcloud.teo.v20220901.models.CustomRules`
40322
+ :param _ManagedRules: Managed. If the parameter is null or not filled, the configuration last set will be used by default.
40323
+ Note: This field may return null, indicating that no valid value can be obtained.
40324
+ :type ManagedRules: :class:`tencentcloud.teo.v20220901.models.ManagedRules`
40325
+ """
40326
+ self._CustomRules = None
40327
+ self._ManagedRules = None
40328
+
40329
+ @property
40330
+ def CustomRules(self):
40331
+ """Custom rules. If the parameter is null or not filled, the configuration last set will be used by default.
40332
+ Note: This field may return null, indicating that no valid value can be obtained.
40333
+ :rtype: :class:`tencentcloud.teo.v20220901.models.CustomRules`
40334
+ """
40335
+ return self._CustomRules
40336
+
40337
+ @CustomRules.setter
40338
+ def CustomRules(self, CustomRules):
40339
+ self._CustomRules = CustomRules
40340
+
40341
+ @property
40342
+ def ManagedRules(self):
40343
+ """Managed. If the parameter is null or not filled, the configuration last set will be used by default.
40344
+ Note: This field may return null, indicating that no valid value can be obtained.
40345
+ :rtype: :class:`tencentcloud.teo.v20220901.models.ManagedRules`
40346
+ """
40347
+ return self._ManagedRules
40348
+
40349
+ @ManagedRules.setter
40350
+ def ManagedRules(self, ManagedRules):
40351
+ self._ManagedRules = ManagedRules
40352
+
40353
+
40354
+ def _deserialize(self, params):
40355
+ if params.get("CustomRules") is not None:
40356
+ self._CustomRules = CustomRules()
40357
+ self._CustomRules._deserialize(params.get("CustomRules"))
40358
+ if params.get("ManagedRules") is not None:
40359
+ self._ManagedRules = ManagedRules()
40360
+ self._ManagedRules._deserialize(params.get("ManagedRules"))
39068
40361
  memeber_set = set(params.keys())
39069
40362
  for name, value in vars(self).items():
39070
40363
  property_name = name[1:]