tencentcloud-sdk-python-intl-en 3.0.1161__py2.py3-none-any.whl → 3.0.1163__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
 
@@ -29932,27 +30951,140 @@ Note: When L4ProxyRule is used here, RuleId is a required field; Protocol, PortR
29932
30951
  self._ProxyId = ProxyId
29933
30952
 
29934
30953
  @property
29935
- def L4ProxyRules(self):
29936
- """List of forwarding rules. A single request supports up to 200 forwarding rules.
29937
- Note: When L4ProxyRule is used here, RuleId is a required field; Protocol, PortRange, OriginType, OriginValue, OriginPortRange, ClientIPPassThroughMode, SessionPersist, SessionPersistTime, and RuleTag are all optional fields. No modification is made when no value is specified for those fields. Status should not be filled.
29938
- :rtype: list of L4ProxyRule
30954
+ def L4ProxyRules(self):
30955
+ """List of forwarding rules. A single request supports up to 200 forwarding rules.
30956
+ Note: When L4ProxyRule is used here, RuleId is a required field; Protocol, PortRange, OriginType, OriginValue, OriginPortRange, ClientIPPassThroughMode, SessionPersist, SessionPersistTime, and RuleTag are all optional fields. No modification is made when no value is specified for those fields. Status should not be filled.
30957
+ :rtype: list of L4ProxyRule
30958
+ """
30959
+ return self._L4ProxyRules
30960
+
30961
+ @L4ProxyRules.setter
30962
+ def L4ProxyRules(self, L4ProxyRules):
30963
+ self._L4ProxyRules = L4ProxyRules
30964
+
30965
+
30966
+ def _deserialize(self, params):
30967
+ self._ZoneId = params.get("ZoneId")
30968
+ self._ProxyId = params.get("ProxyId")
30969
+ if params.get("L4ProxyRules") is not None:
30970
+ self._L4ProxyRules = []
30971
+ for item in params.get("L4ProxyRules"):
30972
+ obj = L4ProxyRule()
30973
+ obj._deserialize(item)
30974
+ self._L4ProxyRules.append(obj)
30975
+ memeber_set = set(params.keys())
30976
+ for name, value in vars(self).items():
30977
+ property_name = name[1:]
30978
+ if property_name in memeber_set:
30979
+ memeber_set.remove(property_name)
30980
+ if len(memeber_set) > 0:
30981
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
30982
+
30983
+
30984
+
30985
+ class ModifyL4ProxyRulesResponse(AbstractModel):
30986
+ """ModifyL4ProxyRules response structure.
30987
+
30988
+ """
30989
+
30990
+ def __init__(self):
30991
+ r"""
30992
+ :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.
30993
+ :type RequestId: str
30994
+ """
30995
+ self._RequestId = None
30996
+
30997
+ @property
30998
+ def RequestId(self):
30999
+ """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.
31000
+ :rtype: str
31001
+ """
31002
+ return self._RequestId
31003
+
31004
+ @RequestId.setter
31005
+ def RequestId(self, RequestId):
31006
+ self._RequestId = RequestId
31007
+
31008
+
31009
+ def _deserialize(self, params):
31010
+ self._RequestId = params.get("RequestId")
31011
+
31012
+
31013
+ class ModifyL4ProxyRulesStatusRequest(AbstractModel):
31014
+ """ModifyL4ProxyRulesStatus request structure.
31015
+
31016
+ """
31017
+
31018
+ def __init__(self):
31019
+ r"""
31020
+ :param _ZoneId: Zone ID.
31021
+ :type ZoneId: str
31022
+ :param _ProxyId: Layer 4 proxy instance ID.
31023
+ :type ProxyId: str
31024
+ :param _RuleIds: List of forwarding rule IDs. It supports up to 200 forwarding rules at a time.
31025
+ :type RuleIds: list of str
31026
+ :param _Status: Status of forwarding rules. Valid values:
31027
+ <li>online: Enabled;</li>
31028
+ <li>offline: Disabled.</li>
31029
+ :type Status: str
31030
+ """
31031
+ self._ZoneId = None
31032
+ self._ProxyId = None
31033
+ self._RuleIds = None
31034
+ self._Status = None
31035
+
31036
+ @property
31037
+ def ZoneId(self):
31038
+ """Zone ID.
31039
+ :rtype: str
31040
+ """
31041
+ return self._ZoneId
31042
+
31043
+ @ZoneId.setter
31044
+ def ZoneId(self, ZoneId):
31045
+ self._ZoneId = ZoneId
31046
+
31047
+ @property
31048
+ def ProxyId(self):
31049
+ """Layer 4 proxy instance ID.
31050
+ :rtype: str
31051
+ """
31052
+ return self._ProxyId
31053
+
31054
+ @ProxyId.setter
31055
+ def ProxyId(self, ProxyId):
31056
+ self._ProxyId = ProxyId
31057
+
31058
+ @property
31059
+ def RuleIds(self):
31060
+ """List of forwarding rule IDs. It supports up to 200 forwarding rules at a time.
31061
+ :rtype: list of str
29939
31062
  """
29940
- return self._L4ProxyRules
31063
+ return self._RuleIds
29941
31064
 
29942
- @L4ProxyRules.setter
29943
- def L4ProxyRules(self, L4ProxyRules):
29944
- self._L4ProxyRules = L4ProxyRules
31065
+ @RuleIds.setter
31066
+ def RuleIds(self, RuleIds):
31067
+ self._RuleIds = RuleIds
31068
+
31069
+ @property
31070
+ def Status(self):
31071
+ """Status of forwarding rules. Valid values:
31072
+ <li>online: Enabled;</li>
31073
+ <li>offline: Disabled.</li>
31074
+ :rtype: str
31075
+ """
31076
+ return self._Status
31077
+
31078
+ @Status.setter
31079
+ def Status(self, Status):
31080
+ self._Status = Status
29945
31081
 
29946
31082
 
29947
31083
  def _deserialize(self, params):
29948
31084
  self._ZoneId = params.get("ZoneId")
29949
31085
  self._ProxyId = params.get("ProxyId")
29950
- if params.get("L4ProxyRules") is not None:
29951
- self._L4ProxyRules = []
29952
- for item in params.get("L4ProxyRules"):
29953
- obj = L4ProxyRule()
29954
- obj._deserialize(item)
29955
- self._L4ProxyRules.append(obj)
31086
+ self._RuleIds = params.get("RuleIds")
31087
+ self._Status = params.get("Status")
29956
31088
  memeber_set = set(params.keys())
29957
31089
  for name, value in vars(self).items():
29958
31090
  property_name = name[1:]
@@ -29963,8 +31095,8 @@ Note: When L4ProxyRule is used here, RuleId is a required field; Protocol, PortR
29963
31095
 
29964
31096
 
29965
31097
 
29966
- class ModifyL4ProxyRulesResponse(AbstractModel):
29967
- """ModifyL4ProxyRules response structure.
31098
+ class ModifyL4ProxyRulesStatusResponse(AbstractModel):
31099
+ """ModifyL4ProxyRulesStatus response structure.
29968
31100
 
29969
31101
  """
29970
31102
 
@@ -29991,8 +31123,8 @@ class ModifyL4ProxyRulesResponse(AbstractModel):
29991
31123
  self._RequestId = params.get("RequestId")
29992
31124
 
29993
31125
 
29994
- class ModifyL4ProxyRulesStatusRequest(AbstractModel):
29995
- """ModifyL4ProxyRulesStatus request structure.
31126
+ class ModifyL4ProxyStatusRequest(AbstractModel):
31127
+ """ModifyL4ProxyStatus request structure.
29996
31128
 
29997
31129
  """
29998
31130
 
@@ -30002,16 +31134,12 @@ class ModifyL4ProxyRulesStatusRequest(AbstractModel):
30002
31134
  :type ZoneId: str
30003
31135
  :param _ProxyId: Layer 4 proxy instance ID.
30004
31136
  :type ProxyId: str
30005
- :param _RuleIds: List of forwarding rule IDs. It supports up to 200 forwarding rules at a time.
30006
- :type RuleIds: list of str
30007
- :param _Status: Status of forwarding rules. Valid values:
30008
- <li>online: Enabled;</li>
31137
+ :param _Status: Layer 4 proxy instance status. Valid values:<li>online: Enabled;</li>
30009
31138
  <li>offline: Disabled.</li>
30010
31139
  :type Status: str
30011
31140
  """
30012
31141
  self._ZoneId = None
30013
31142
  self._ProxyId = None
30014
- self._RuleIds = None
30015
31143
  self._Status = None
30016
31144
 
30017
31145
  @property
@@ -30036,21 +31164,9 @@ class ModifyL4ProxyRulesStatusRequest(AbstractModel):
30036
31164
  def ProxyId(self, ProxyId):
30037
31165
  self._ProxyId = ProxyId
30038
31166
 
30039
- @property
30040
- def RuleIds(self):
30041
- """List of forwarding rule IDs. It supports up to 200 forwarding rules at a time.
30042
- :rtype: list of str
30043
- """
30044
- return self._RuleIds
30045
-
30046
- @RuleIds.setter
30047
- def RuleIds(self, RuleIds):
30048
- self._RuleIds = RuleIds
30049
-
30050
31167
  @property
30051
31168
  def Status(self):
30052
- """Status of forwarding rules. Valid values:
30053
- <li>online: Enabled;</li>
31169
+ """Layer 4 proxy instance status. Valid values:<li>online: Enabled;</li>
30054
31170
  <li>offline: Disabled.</li>
30055
31171
  :rtype: str
30056
31172
  """
@@ -30064,7 +31180,6 @@ class ModifyL4ProxyRulesStatusRequest(AbstractModel):
30064
31180
  def _deserialize(self, params):
30065
31181
  self._ZoneId = params.get("ZoneId")
30066
31182
  self._ProxyId = params.get("ProxyId")
30067
- self._RuleIds = params.get("RuleIds")
30068
31183
  self._Status = params.get("Status")
30069
31184
  memeber_set = set(params.keys())
30070
31185
  for name, value in vars(self).items():
@@ -30076,8 +31191,8 @@ class ModifyL4ProxyRulesStatusRequest(AbstractModel):
30076
31191
 
30077
31192
 
30078
31193
 
30079
- class ModifyL4ProxyRulesStatusResponse(AbstractModel):
30080
- """ModifyL4ProxyRulesStatus response structure.
31194
+ class ModifyL4ProxyStatusResponse(AbstractModel):
31195
+ """ModifyL4ProxyStatus response structure.
30081
31196
 
30082
31197
  """
30083
31198
 
@@ -30104,8 +31219,8 @@ class ModifyL4ProxyRulesStatusResponse(AbstractModel):
30104
31219
  self._RequestId = params.get("RequestId")
30105
31220
 
30106
31221
 
30107
- class ModifyL4ProxyStatusRequest(AbstractModel):
30108
- """ModifyL4ProxyStatus request structure.
31222
+ class ModifyL7AccRulePriorityRequest(AbstractModel):
31223
+ """ModifyL7AccRulePriority request structure.
30109
31224
 
30110
31225
  """
30111
31226
 
@@ -30113,15 +31228,11 @@ class ModifyL4ProxyStatusRequest(AbstractModel):
30113
31228
  r"""
30114
31229
  :param _ZoneId: Zone ID.
30115
31230
  :type ZoneId: str
30116
- :param _ProxyId: Layer 4 proxy instance ID.
30117
- :type ProxyId: str
30118
- :param _Status: Layer 4 proxy instance status. Valid values:<li>online: Enabled;</li>
30119
- <li>offline: Disabled.</li>
30120
- :type Status: str
31231
+ :param _RuleIds: The complete rule ID list under the site ID can be obtained by [Querying the seven-layer acceleration rules](https://intl.cloud.tencent.com/document/product/1552/115820?from_cn_redirect=1). The final priority order will be adjusted to the order of the rule ID list, and will be executed from the front to the back.
31232
+ :type RuleIds: list of str
30121
31233
  """
30122
31234
  self._ZoneId = None
30123
- self._ProxyId = None
30124
- self._Status = None
31235
+ self._RuleIds = None
30125
31236
 
30126
31237
  @property
30127
31238
  def ZoneId(self):
@@ -30135,33 +31246,20 @@ class ModifyL4ProxyStatusRequest(AbstractModel):
30135
31246
  self._ZoneId = ZoneId
30136
31247
 
30137
31248
  @property
30138
- def ProxyId(self):
30139
- """Layer 4 proxy instance ID.
30140
- :rtype: str
30141
- """
30142
- return self._ProxyId
30143
-
30144
- @ProxyId.setter
30145
- def ProxyId(self, ProxyId):
30146
- self._ProxyId = ProxyId
30147
-
30148
- @property
30149
- def Status(self):
30150
- """Layer 4 proxy instance status. Valid values:<li>online: Enabled;</li>
30151
- <li>offline: Disabled.</li>
30152
- :rtype: str
31249
+ def RuleIds(self):
31250
+ """The complete rule ID list under the site ID can be obtained by [Querying the seven-layer acceleration rules](https://intl.cloud.tencent.com/document/product/1552/115820?from_cn_redirect=1). The final priority order will be adjusted to the order of the rule ID list, and will be executed from the front to the back.
31251
+ :rtype: list of str
30153
31252
  """
30154
- return self._Status
31253
+ return self._RuleIds
30155
31254
 
30156
- @Status.setter
30157
- def Status(self, Status):
30158
- self._Status = Status
31255
+ @RuleIds.setter
31256
+ def RuleIds(self, RuleIds):
31257
+ self._RuleIds = RuleIds
30159
31258
 
30160
31259
 
30161
31260
  def _deserialize(self, params):
30162
31261
  self._ZoneId = params.get("ZoneId")
30163
- self._ProxyId = params.get("ProxyId")
30164
- self._Status = params.get("Status")
31262
+ self._RuleIds = params.get("RuleIds")
30165
31263
  memeber_set = set(params.keys())
30166
31264
  for name, value in vars(self).items():
30167
31265
  property_name = name[1:]
@@ -30172,8 +31270,8 @@ class ModifyL4ProxyStatusRequest(AbstractModel):
30172
31270
 
30173
31271
 
30174
31272
 
30175
- class ModifyL4ProxyStatusResponse(AbstractModel):
30176
- """ModifyL4ProxyStatus response structure.
31273
+ class ModifyL7AccRulePriorityResponse(AbstractModel):
31274
+ """ModifyL7AccRulePriority response structure.
30177
31275
 
30178
31276
  """
30179
31277
 
@@ -31533,29 +32631,29 @@ class ModifySecurityPolicyRequest(AbstractModel):
31533
32631
 
31534
32632
  def __init__(self):
31535
32633
  r"""
31536
- :param _ZoneId: The site ID.
32634
+ :param _ZoneId: Zone ID.
31537
32635
  :type ZoneId: str
31538
- :param _SecurityConfig: Security configuration.
32636
+ :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
32637
  :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.
32638
+ :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.
32639
+ :type SecurityPolicy: :class:`tencentcloud.teo.v20220901.models.SecurityPolicy`
32640
+ :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
32641
  :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.
32642
+ :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.
32643
+ :type Host: str
32644
+ :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
32645
  :type TemplateId: str
31550
32646
  """
31551
32647
  self._ZoneId = None
31552
32648
  self._SecurityConfig = None
32649
+ self._SecurityPolicy = None
31553
32650
  self._Entity = None
32651
+ self._Host = None
31554
32652
  self._TemplateId = None
31555
32653
 
31556
32654
  @property
31557
32655
  def ZoneId(self):
31558
- """The site ID.
32656
+ """Zone ID.
31559
32657
  :rtype: str
31560
32658
  """
31561
32659
  return self._ZoneId
@@ -31566,7 +32664,7 @@ Note: When this parameter is used, the Entity parameter will not take effect. Do
31566
32664
 
31567
32665
  @property
31568
32666
  def SecurityConfig(self):
31569
- """Security configuration.
32667
+ """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
32668
  :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityConfig`
31571
32669
  """
31572
32670
  return self._SecurityConfig
@@ -31576,10 +32674,19 @@ Note: When this parameter is used, the Entity parameter will not take effect. Do
31576
32674
  self._SecurityConfig = SecurityConfig
31577
32675
 
31578
32676
  @property
31579
- def Entity(self):
31580
- """Subdomain/application name.
32677
+ def SecurityPolicy(self):
32678
+ """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.
32679
+ :rtype: :class:`tencentcloud.teo.v20220901.models.SecurityPolicy`
32680
+ """
32681
+ return self._SecurityPolicy
32682
+
32683
+ @SecurityPolicy.setter
32684
+ def SecurityPolicy(self, SecurityPolicy):
32685
+ self._SecurityPolicy = SecurityPolicy
31581
32686
 
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.
32687
+ @property
32688
+ def Entity(self):
32689
+ """`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
32690
  :rtype: str
31584
32691
  """
31585
32692
  return self._Entity
@@ -31589,12 +32696,19 @@ Note: When both this parameter and the TemplateId parameter are specified, this
31589
32696
  self._Entity = Entity
31590
32697
 
31591
32698
  @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.
32699
+ def Host(self):
32700
+ """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.
32701
+ :rtype: str
32702
+ """
32703
+ return self._Host
31596
32704
 
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.
32705
+ @Host.setter
32706
+ def Host(self, Host):
32707
+ self._Host = Host
32708
+
32709
+ @property
32710
+ def TemplateId(self):
32711
+ """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
32712
  :rtype: str
31599
32713
  """
31600
32714
  return self._TemplateId
@@ -31609,7 +32723,11 @@ Note: When this parameter is used, the Entity parameter will not take effect. Do
31609
32723
  if params.get("SecurityConfig") is not None:
31610
32724
  self._SecurityConfig = SecurityConfig()
31611
32725
  self._SecurityConfig._deserialize(params.get("SecurityConfig"))
32726
+ if params.get("SecurityPolicy") is not None:
32727
+ self._SecurityPolicy = SecurityPolicy()
32728
+ self._SecurityPolicy._deserialize(params.get("SecurityPolicy"))
31612
32729
  self._Entity = params.get("Entity")
32730
+ self._Host = params.get("Host")
31613
32731
  self._TemplateId = params.get("TemplateId")
31614
32732
  memeber_set = set(params.keys())
31615
32733
  for name, value in vars(self).items():
@@ -36022,6 +37140,42 @@ Note: This field may return null, which indicates a failure to obtain a valid va
36022
37140
 
36023
37141
 
36024
37142
 
37143
+ class RedirectActionParameters(AbstractModel):
37144
+ """Additional parameter for SecurityAction `Redirect`.
37145
+
37146
+ """
37147
+
37148
+ def __init__(self):
37149
+ r"""
37150
+ :param _URL: Redirect URL.
37151
+ :type URL: str
37152
+ """
37153
+ self._URL = None
37154
+
37155
+ @property
37156
+ def URL(self):
37157
+ """Redirect URL.
37158
+ :rtype: str
37159
+ """
37160
+ return self._URL
37161
+
37162
+ @URL.setter
37163
+ def URL(self, URL):
37164
+ self._URL = URL
37165
+
37166
+
37167
+ def _deserialize(self, params):
37168
+ self._URL = params.get("URL")
37169
+ memeber_set = set(params.keys())
37170
+ for name, value in vars(self).items():
37171
+ property_name = name[1:]
37172
+ if property_name in memeber_set:
37173
+ memeber_set.remove(property_name)
37174
+ if len(memeber_set) > 0:
37175
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37176
+
37177
+
37178
+
36025
37179
  class RenewFlag(AbstractModel):
36026
37180
  """Auto-renewal configuration item in a prepaid plan.
36027
37181
 
@@ -36496,6 +37650,57 @@ class ResponseSpeedLimitParameters(AbstractModel):
36496
37650
 
36497
37651
 
36498
37652
 
37653
+ class ReturnCustomPageActionParameters(AbstractModel):
37654
+ """Additional parameter for SecurityAction `ReturnCustomPage`.
37655
+
37656
+ """
37657
+
37658
+ def __init__(self):
37659
+ r"""
37660
+ :param _ResponseCode: Response custom status code.
37661
+ :type ResponseCode: str
37662
+ :param _ErrorPageId: Response custom page ID.
37663
+ :type ErrorPageId: str
37664
+ """
37665
+ self._ResponseCode = None
37666
+ self._ErrorPageId = None
37667
+
37668
+ @property
37669
+ def ResponseCode(self):
37670
+ """Response custom status code.
37671
+ :rtype: str
37672
+ """
37673
+ return self._ResponseCode
37674
+
37675
+ @ResponseCode.setter
37676
+ def ResponseCode(self, ResponseCode):
37677
+ self._ResponseCode = ResponseCode
37678
+
37679
+ @property
37680
+ def ErrorPageId(self):
37681
+ """Response custom page ID.
37682
+ :rtype: str
37683
+ """
37684
+ return self._ErrorPageId
37685
+
37686
+ @ErrorPageId.setter
37687
+ def ErrorPageId(self, ErrorPageId):
37688
+ self._ErrorPageId = ErrorPageId
37689
+
37690
+
37691
+ def _deserialize(self, params):
37692
+ self._ResponseCode = params.get("ResponseCode")
37693
+ self._ErrorPageId = params.get("ErrorPageId")
37694
+ memeber_set = set(params.keys())
37695
+ for name, value in vars(self).items():
37696
+ property_name = name[1:]
37697
+ if property_name in memeber_set:
37698
+ memeber_set.remove(property_name)
37699
+ if len(memeber_set) > 0:
37700
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37701
+
37702
+
37703
+
36499
37704
  class RewriteAction(AbstractModel):
36500
37705
  """Rule engine action for the HTTP request/response header
36501
37706
 
@@ -38872,8 +40077,97 @@ class SecEntryValue(AbstractModel):
38872
40077
 
38873
40078
 
38874
40079
 
40080
+ class SecurityAction(AbstractModel):
40081
+ """Action for security operation.
40082
+
40083
+ """
40084
+
40085
+ def __init__(self):
40086
+ r"""
40087
+ :param _Name: Specific action name for security operation. Values:
40088
+ <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>.
40089
+ :type Name: str
40090
+ :param _BlockIPActionParameters: Additional parameter when Name is BlockIP.
40091
+ :type BlockIPActionParameters: :class:`tencentcloud.teo.v20220901.models.BlockIPActionParameters`
40092
+ :param _ReturnCustomPageActionParameters: Additional parameter when Name is ReturnCustomPage.
40093
+ :type ReturnCustomPageActionParameters: :class:`tencentcloud.teo.v20220901.models.ReturnCustomPageActionParameters`
40094
+ :param _RedirectActionParameters: Additional parameter when Name is Redirect.
40095
+ :type RedirectActionParameters: :class:`tencentcloud.teo.v20220901.models.RedirectActionParameters`
40096
+ """
40097
+ self._Name = None
40098
+ self._BlockIPActionParameters = None
40099
+ self._ReturnCustomPageActionParameters = None
40100
+ self._RedirectActionParameters = None
40101
+
40102
+ @property
40103
+ def Name(self):
40104
+ """Specific action name for security operation. Values:
40105
+ <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>.
40106
+ :rtype: str
40107
+ """
40108
+ return self._Name
40109
+
40110
+ @Name.setter
40111
+ def Name(self, Name):
40112
+ self._Name = Name
40113
+
40114
+ @property
40115
+ def BlockIPActionParameters(self):
40116
+ """Additional parameter when Name is BlockIP.
40117
+ :rtype: :class:`tencentcloud.teo.v20220901.models.BlockIPActionParameters`
40118
+ """
40119
+ return self._BlockIPActionParameters
40120
+
40121
+ @BlockIPActionParameters.setter
40122
+ def BlockIPActionParameters(self, BlockIPActionParameters):
40123
+ self._BlockIPActionParameters = BlockIPActionParameters
40124
+
40125
+ @property
40126
+ def ReturnCustomPageActionParameters(self):
40127
+ """Additional parameter when Name is ReturnCustomPage.
40128
+ :rtype: :class:`tencentcloud.teo.v20220901.models.ReturnCustomPageActionParameters`
40129
+ """
40130
+ return self._ReturnCustomPageActionParameters
40131
+
40132
+ @ReturnCustomPageActionParameters.setter
40133
+ def ReturnCustomPageActionParameters(self, ReturnCustomPageActionParameters):
40134
+ self._ReturnCustomPageActionParameters = ReturnCustomPageActionParameters
40135
+
40136
+ @property
40137
+ def RedirectActionParameters(self):
40138
+ """Additional parameter when Name is Redirect.
40139
+ :rtype: :class:`tencentcloud.teo.v20220901.models.RedirectActionParameters`
40140
+ """
40141
+ return self._RedirectActionParameters
40142
+
40143
+ @RedirectActionParameters.setter
40144
+ def RedirectActionParameters(self, RedirectActionParameters):
40145
+ self._RedirectActionParameters = RedirectActionParameters
40146
+
40147
+
40148
+ def _deserialize(self, params):
40149
+ self._Name = params.get("Name")
40150
+ if params.get("BlockIPActionParameters") is not None:
40151
+ self._BlockIPActionParameters = BlockIPActionParameters()
40152
+ self._BlockIPActionParameters._deserialize(params.get("BlockIPActionParameters"))
40153
+ if params.get("ReturnCustomPageActionParameters") is not None:
40154
+ self._ReturnCustomPageActionParameters = ReturnCustomPageActionParameters()
40155
+ self._ReturnCustomPageActionParameters._deserialize(params.get("ReturnCustomPageActionParameters"))
40156
+ if params.get("RedirectActionParameters") is not None:
40157
+ self._RedirectActionParameters = RedirectActionParameters()
40158
+ self._RedirectActionParameters._deserialize(params.get("RedirectActionParameters"))
40159
+ memeber_set = set(params.keys())
40160
+ for name, value in vars(self).items():
40161
+ property_name = name[1:]
40162
+ if property_name in memeber_set:
40163
+ memeber_set.remove(property_name)
40164
+ if len(memeber_set) > 0:
40165
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
40166
+
40167
+
40168
+
38875
40169
  class SecurityConfig(AbstractModel):
38876
- """Security configuration
40170
+ """Web security configuration.
38877
40171
 
38878
40172
  """
38879
40173
 
@@ -38905,6 +40199,9 @@ Note: This field may return `null`, indicating that no valid value can be obtain
38905
40199
  :type TemplateConfig: :class:`tencentcloud.teo.v20220901.models.TemplateConfig`
38906
40200
  :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
40201
  :type SlowPostConfig: :class:`tencentcloud.teo.v20220901.models.SlowPostConfig`
40202
+ :param _DetectLengthLimitConfig: Detect the length limit configuration, output parameter only.
40203
+ Note: This field may return null, which indicates a failure to obtain a valid value.
40204
+ :type DetectLengthLimitConfig: :class:`tencentcloud.teo.v20220901.models.DetectLengthLimitConfig`
38908
40205
  """
38909
40206
  self._WafConfig = None
38910
40207
  self._RateLimitConfig = None
@@ -38916,6 +40213,7 @@ Note: This field may return `null`, indicating that no valid value can be obtain
38916
40213
  self._DropPageConfig = None
38917
40214
  self._TemplateConfig = None
38918
40215
  self._SlowPostConfig = None
40216
+ self._DetectLengthLimitConfig = None
38919
40217
 
38920
40218
  @property
38921
40219
  def WafConfig(self):
@@ -39033,6 +40331,18 @@ Note: This field may return `null`, indicating that no valid value can be obtain
39033
40331
  def SlowPostConfig(self, SlowPostConfig):
39034
40332
  self._SlowPostConfig = SlowPostConfig
39035
40333
 
40334
+ @property
40335
+ def DetectLengthLimitConfig(self):
40336
+ """Detect the length limit configuration, output parameter only.
40337
+ Note: This field may return null, which indicates a failure to obtain a valid value.
40338
+ :rtype: :class:`tencentcloud.teo.v20220901.models.DetectLengthLimitConfig`
40339
+ """
40340
+ return self._DetectLengthLimitConfig
40341
+
40342
+ @DetectLengthLimitConfig.setter
40343
+ def DetectLengthLimitConfig(self, DetectLengthLimitConfig):
40344
+ self._DetectLengthLimitConfig = DetectLengthLimitConfig
40345
+
39036
40346
 
39037
40347
  def _deserialize(self, params):
39038
40348
  if params.get("WafConfig") is not None:
@@ -39065,6 +40375,68 @@ Note: This field may return `null`, indicating that no valid value can be obtain
39065
40375
  if params.get("SlowPostConfig") is not None:
39066
40376
  self._SlowPostConfig = SlowPostConfig()
39067
40377
  self._SlowPostConfig._deserialize(params.get("SlowPostConfig"))
40378
+ if params.get("DetectLengthLimitConfig") is not None:
40379
+ self._DetectLengthLimitConfig = DetectLengthLimitConfig()
40380
+ self._DetectLengthLimitConfig._deserialize(params.get("DetectLengthLimitConfig"))
40381
+ memeber_set = set(params.keys())
40382
+ for name, value in vars(self).items():
40383
+ property_name = name[1:]
40384
+ if property_name in memeber_set:
40385
+ memeber_set.remove(property_name)
40386
+ if len(memeber_set) > 0:
40387
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
40388
+
40389
+
40390
+
40391
+ class SecurityPolicy(AbstractModel):
40392
+ """Web security policy.
40393
+
40394
+ """
40395
+
40396
+ def __init__(self):
40397
+ r"""
40398
+ :param _CustomRules: Custom rules. If the parameter is null or not filled, the configuration last set will be used by default.
40399
+ Note: This field may return null, indicating that no valid value can be obtained.
40400
+ :type CustomRules: :class:`tencentcloud.teo.v20220901.models.CustomRules`
40401
+ :param _ManagedRules: Managed. If the parameter is null or not filled, the configuration last set will be used by default.
40402
+ Note: This field may return null, indicating that no valid value can be obtained.
40403
+ :type ManagedRules: :class:`tencentcloud.teo.v20220901.models.ManagedRules`
40404
+ """
40405
+ self._CustomRules = None
40406
+ self._ManagedRules = None
40407
+
40408
+ @property
40409
+ def CustomRules(self):
40410
+ """Custom rules. If the parameter is null or not filled, the configuration last set will be used by default.
40411
+ Note: This field may return null, indicating that no valid value can be obtained.
40412
+ :rtype: :class:`tencentcloud.teo.v20220901.models.CustomRules`
40413
+ """
40414
+ return self._CustomRules
40415
+
40416
+ @CustomRules.setter
40417
+ def CustomRules(self, CustomRules):
40418
+ self._CustomRules = CustomRules
40419
+
40420
+ @property
40421
+ def ManagedRules(self):
40422
+ """Managed. If the parameter is null or not filled, the configuration last set will be used by default.
40423
+ Note: This field may return null, indicating that no valid value can be obtained.
40424
+ :rtype: :class:`tencentcloud.teo.v20220901.models.ManagedRules`
40425
+ """
40426
+ return self._ManagedRules
40427
+
40428
+ @ManagedRules.setter
40429
+ def ManagedRules(self, ManagedRules):
40430
+ self._ManagedRules = ManagedRules
40431
+
40432
+
40433
+ def _deserialize(self, params):
40434
+ if params.get("CustomRules") is not None:
40435
+ self._CustomRules = CustomRules()
40436
+ self._CustomRules._deserialize(params.get("CustomRules"))
40437
+ if params.get("ManagedRules") is not None:
40438
+ self._ManagedRules = ManagedRules()
40439
+ self._ManagedRules._deserialize(params.get("ManagedRules"))
39068
40440
  memeber_set = set(params.keys())
39069
40441
  for name, value in vars(self).items():
39070
40442
  property_name = name[1:]