tencentcloud-sdk-nodejs-intl-en 3.0.1217 → 3.0.1218

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.
@@ -193,6 +193,62 @@ class DescribeFunctionsResponse extends AbstractModel {
193
193
  }
194
194
  }
195
195
 
196
+ /**
197
+ * Skipped fields configuration in exception rules.
198
+ * @class
199
+ */
200
+ class RequestFieldsForException extends AbstractModel {
201
+ constructor(){
202
+ super();
203
+
204
+ /**
205
+ * Skip specific field. supported values:.
206
+ <li>body.json: parameter content in json requests. at this point, Condition supports key and value, TargetField supports key and value, for example { "Scope": "body.json", "Condition": "", "TargetField": "key" }, which means all parameters in json requests skip WAF scan.</li>.
207
+ <li style="margin-top:5px">cookie: cookie; at this point Condition supports key, value, TargetField supports key, value, for example { "Scope": "cookie", "Condition": "${key} in ['account-id'] and ${value} like ['prefix-*']", "TargetField": "value" }, which means the cookie parameter name equals account-id and the parameter value wildcard matches prefix-* to skip WAF scan;</li>.
208
+ <li style="margin-top:5px">header: HTTP header parameters. at this point, Condition supports key and value, TargetField supports key and value, for example { "Scope": "header", "Condition": "${key} like ['x-auth-*']", "TargetField": "value" }, which means header parameter name wildcard match x-auth-* skips WAF scan.</li>.
209
+ <li style="margin-top:5px">uri.query: URL encoding content/query parameter. at this point, Condition supports key and value, TargetField supports key and value. example: { "Scope": "uri.query", "Condition": "${key} in ['action'] and ${value} in ['upload', 'delete']", "TargetField": "value" }. indicates URL encoding content/query parameter name equal to action and parameter value equal to upload or delete skips WAF scan.</li>.
210
+ <li style="margin-top:5px">uri: specifies the request path uri. at this point, Condition must be empty. TargetField supports query, path, fullpath, such as {"Scope": "uri", "Condition": "", "TargetField": "query"}, indicates the request path uri skips WAF scan for query parameters.</li>.
211
+ <li style="margin-top:5px">body: request body content. at this point Condition must be empty, TargetField supports fullbody, multipart, such as { "Scope": "body", "Condition": "", "TargetField": "fullbody" }, which means the request body content skips WAF scan as a full request.</li>.
212
+ * @type {string || null}
213
+ */
214
+ this.Scope = null;
215
+
216
+ /**
217
+ * Skip specific field expression must comply with expression grammar.
218
+ Condition supports expression configuration syntax: <li> write according to the matching conditional expression syntax of rules, with support for referencing key and value.</li> <li> supports in, like operators, and logical combination with and.</li>.
219
+ For example: <li>${key} in ['x-trace-id']: the parameter name equals x-trace-id.</li> <li>${key} in ['x-trace-id'] and ${value} like ['Bearer *']: the parameter name equals x-trace-id and the parameter value wildcard matches Bearer *.</li>.
220
+ * @type {string || null}
221
+ */
222
+ this.Condition = null;
223
+
224
+ /**
225
+ * The Scope parameter takes different values. the TargetField expression supports the following values:.
226
+ <Li> body.json: supports key, value.</li>.
227
+ <li>cookie: supports key and value.</li>.
228
+ <li>header: supports key, value</li>.
229
+ <Li> uri.query: supports key and value</li>.
230
+ <li>uri. specifies path, query, or fullpath.</li>.
231
+ <Li>Body: supports fullbody and multipart.</li>.
232
+ * @type {string || null}
233
+ */
234
+ this.TargetField = null;
235
+
236
+ }
237
+
238
+ /**
239
+ * @private
240
+ */
241
+ deserialize(params) {
242
+ if (!params) {
243
+ return;
244
+ }
245
+ this.Scope = 'Scope' in params ? params.Scope : null;
246
+ this.Condition = 'Condition' in params ? params.Condition : null;
247
+ this.TargetField = 'TargetField' in params ? params.TargetField : null;
248
+
249
+ }
250
+ }
251
+
196
252
  /**
197
253
  * DeleteL4ProxyRules request structure.
198
254
  * @class
@@ -335,6 +391,53 @@ class DescribeSecurityIPGroupInfoResponse extends AbstractModel {
335
391
  }
336
392
  }
337
393
 
394
+ /**
395
+ * Adaptive frequency control.
396
+ * @class
397
+ */
398
+ class AdaptiveFrequencyControl extends AbstractModel {
399
+ constructor(){
400
+ super();
401
+
402
+ /**
403
+ * Whether adaptive frequency control is enabled. valid values: <li>on: enable;</li> <li>off: disable.</li>.
404
+ * @type {string || null}
405
+ */
406
+ this.Enabled = null;
407
+
408
+ /**
409
+ * The restriction level of adaptive frequency control. required when Enabled is on. valid values: <li>Loose: Loose</li><li>Moderate: Moderate</li><li>Strict: Strict</li>.
410
+ * @type {string || null}
411
+ */
412
+ this.Sensitivity = null;
413
+
414
+ /**
415
+ * The handling method of adaptive frequency control. this field is required when Enabled is on. valid values for SecurityAction Name: <li>Monitor: observation;</li> <li>Deny: block;</li> <li>Challenge: Challenge, where ChallengeActionParameters.Name only supports JSChallenge.</li>.
416
+ * @type {SecurityAction || null}
417
+ */
418
+ this.Action = null;
419
+
420
+ }
421
+
422
+ /**
423
+ * @private
424
+ */
425
+ deserialize(params) {
426
+ if (!params) {
427
+ return;
428
+ }
429
+ this.Enabled = 'Enabled' in params ? params.Enabled : null;
430
+ this.Sensitivity = 'Sensitivity' in params ? params.Sensitivity : null;
431
+
432
+ if (params.Action) {
433
+ let obj = new SecurityAction();
434
+ obj.deserialize(params.Action)
435
+ this.Action = obj;
436
+ }
437
+
438
+ }
439
+ }
440
+
338
441
  /**
339
442
  * Slow attack defense configuration.
340
443
  * @class
@@ -409,6 +512,70 @@ Note: This field may return `null`, indicating that no valid value can be obtain
409
512
  }
410
513
  }
411
514
 
515
+ /**
516
+ * DescribeWebSecurityTemplates request structure.
517
+ * @class
518
+ */
519
+ class DescribeWebSecurityTemplatesRequest extends AbstractModel {
520
+ constructor(){
521
+ super();
522
+
523
+ /**
524
+ * List of zone IDs. A maximum of 100 zones can be queried in a single request.
525
+ * @type {Array.<string> || null}
526
+ */
527
+ this.ZoneIds = null;
528
+
529
+ }
530
+
531
+ /**
532
+ * @private
533
+ */
534
+ deserialize(params) {
535
+ if (!params) {
536
+ return;
537
+ }
538
+ this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
539
+
540
+ }
541
+ }
542
+
543
+ /**
544
+ * Precision rate limiting configuration.
545
+ * @class
546
+ */
547
+ class RateLimitingRules extends AbstractModel {
548
+ constructor(){
549
+ super();
550
+
551
+ /**
552
+ * Definition list of precise rate limiting. when using ModifySecurityPolicy to modify the Web protection configuration: <br> <li> if the Rules parameter is not specified or its length is zero: clear all precision rate limiting configurations.</li> <li> if the RateLimitingRules parameter value is unspecified in the SecurityPolicy parameter: retain the existing custom rule configuration without modification.</li>.
553
+ * @type {Array.<RateLimitingRule> || null}
554
+ */
555
+ this.Rules = null;
556
+
557
+ }
558
+
559
+ /**
560
+ * @private
561
+ */
562
+ deserialize(params) {
563
+ if (!params) {
564
+ return;
565
+ }
566
+
567
+ if (params.Rules) {
568
+ this.Rules = new Array();
569
+ for (let z in params.Rules) {
570
+ let obj = new RateLimitingRule();
571
+ obj.deserialize(params.Rules[z]);
572
+ this.Rules.push(obj);
573
+ }
574
+ }
575
+
576
+ }
577
+ }
578
+
412
579
  /**
413
580
  * Origin group record
414
581
  * @class
@@ -1026,6 +1193,48 @@ If this field is not specified, the default value 'off' will be used. When auto-
1026
1193
  }
1027
1194
  }
1028
1195
 
1196
+ /**
1197
+ * Minimum minimum body transfer rate threshold configuration. ```.
1198
+ * @class
1199
+ */
1200
+ class MinimalRequestBodyTransferRate extends AbstractModel {
1201
+ constructor(){
1202
+ super();
1203
+
1204
+ /**
1205
+ * Minimum body transfer rate threshold, the measurement unit is only supported in bps.
1206
+ * @type {string || null}
1207
+ */
1208
+ this.MinimalAvgTransferRateThreshold = null;
1209
+
1210
+ /**
1211
+ * Minimum body transfer rate statistical time range, valid values: <li>10s: 10 seconds;</li> <li>30s: 30 seconds;</li> <li>60s: 60 seconds;</li> <li>120s: 120 seconds.</li>.
1212
+ * @type {string || null}
1213
+ */
1214
+ this.CountingPeriod = null;
1215
+
1216
+ /**
1217
+ * Specifies whether the minimum body transfer rate threshold is enabled. valid values: <li>on: enable;</li> <li>off: disable.</li>.
1218
+ * @type {string || null}
1219
+ */
1220
+ this.Enabled = null;
1221
+
1222
+ }
1223
+
1224
+ /**
1225
+ * @private
1226
+ */
1227
+ deserialize(params) {
1228
+ if (!params) {
1229
+ return;
1230
+ }
1231
+ this.MinimalAvgTransferRateThreshold = 'MinimalAvgTransferRateThreshold' in params ? params.MinimalAvgTransferRateThreshold : null;
1232
+ this.CountingPeriod = 'CountingPeriod' in params ? params.CountingPeriod : null;
1233
+ this.Enabled = 'Enabled' in params ? params.Enabled : null;
1234
+
1235
+ }
1236
+ }
1237
+
1029
1238
  /**
1030
1239
  * Access URL redirect configuration parameters.
1031
1240
  * @class
@@ -1119,6 +1328,37 @@ class ModifyAccelerationDomainResponse extends AbstractModel {
1119
1328
  }
1120
1329
  }
1121
1330
 
1331
+ /**
1332
+ * HTTP2 origin-pull configuration
1333
+ * @class
1334
+ */
1335
+ class UpstreamHTTP2Parameters extends AbstractModel {
1336
+ constructor(){
1337
+ super();
1338
+
1339
+ /**
1340
+ * Whether to enable http2 origin-pull. valid values:.
1341
+ <Li>`On`: enable;</li>
1342
+ .
1343
+ <Li>Off: disable.</li>.
1344
+ * @type {string || null}
1345
+ */
1346
+ this.Switch = null;
1347
+
1348
+ }
1349
+
1350
+ /**
1351
+ * @private
1352
+ */
1353
+ deserialize(params) {
1354
+ if (!params) {
1355
+ return;
1356
+ }
1357
+ this.Switch = 'Switch' in params ? params.Switch : null;
1358
+
1359
+ }
1360
+ }
1361
+
1122
1362
  /**
1123
1363
  * The top-ranked data
1124
1364
  * @class
@@ -1204,6 +1444,46 @@ class DescribeHostsSettingResponse extends AbstractModel {
1204
1444
  }
1205
1445
  }
1206
1446
 
1447
+ /**
1448
+ * DescribeWebSecurityTemplate response structure.
1449
+ * @class
1450
+ */
1451
+ class DescribeWebSecurityTemplateResponse extends AbstractModel {
1452
+ constructor(){
1453
+ super();
1454
+
1455
+ /**
1456
+ * Web Security policy template configuration. Bot management configuration is not currently supported (under development).
1457
+ * @type {SecurityPolicy || null}
1458
+ */
1459
+ this.SecurityPolicy = null;
1460
+
1461
+ /**
1462
+ * 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.
1463
+ * @type {string || null}
1464
+ */
1465
+ this.RequestId = null;
1466
+
1467
+ }
1468
+
1469
+ /**
1470
+ * @private
1471
+ */
1472
+ deserialize(params) {
1473
+ if (!params) {
1474
+ return;
1475
+ }
1476
+
1477
+ if (params.SecurityPolicy) {
1478
+ let obj = new SecurityPolicy();
1479
+ obj.deserialize(params.SecurityPolicy)
1480
+ this.SecurityPolicy = obj;
1481
+ }
1482
+ this.RequestId = 'RequestId' in params ? params.RequestId : null;
1483
+
1484
+ }
1485
+ }
1486
+
1207
1487
  /**
1208
1488
  * The origin server configuration.
1209
1489
  * @class
@@ -1497,41 +1777,63 @@ class DescribeBillingDataRequest extends AbstractModel {
1497
1777
  super();
1498
1778
 
1499
1779
  /**
1500
- * Start time.
1780
+ * The start time.
1501
1781
  * @type {string || null}
1502
1782
  */
1503
1783
  this.StartTime = null;
1504
1784
 
1505
1785
  /**
1506
- * End time.
1786
+ * The end time. The query time range (EndTime - StartTime) must be less than or equal to 31 days.
1507
1787
  * @type {string || null}
1508
1788
  */
1509
1789
  this.EndTime = null;
1510
1790
 
1511
1791
  /**
1512
- * Site ID set. This parameter is required.
1792
+ * Zone ID set. This parameter is required. A maximum of 100 zone IDs can be passed in. If you need to query data for all zones under the Tencent Cloud main account, please use "*" instead. To query account-level data, you need to have full resource permissions for all zones of this interface.
1513
1793
  * @type {Array.<string> || null}
1514
1794
  */
1515
1795
  this.ZoneIds = null;
1516
1796
 
1517
1797
  /**
1518
- * Metric list. Valid values:
1798
+ * Metric name. Valid values:
1799
+ **Layer 4/7 Acceleration Traffic (Unit: Byte):**
1519
1800
  <li>acc_flux: content acceleration traffic, in bytes;</li>
1520
1801
  <li>smt_flux: smart acceleration traffic, in bytes;</li>
1521
- <li>l4_flux: L4 acceleration traffic, in bytes;</li>
1802
+ <li>l4_flux: layer 4 acceleration traffic, in bytes;</li>
1522
1803
  <li>sec_flux: exclusive protection traffic, in bytes;</li>
1523
- <li>zxctg_flux: network optimization traffic in the Chinese mainland, in bytes;</li>
1524
- <li>acc_bandwidth: content acceleration bandwidth, in bps;</li>
1804
+ <li>zxctg_flux: network optimization traffic in the chinese mainland, in bytes;</li>
1805
+
1806
+ **Layer 4/7 Acceleration Bandwidth (Unit: bps):**
1807
+ <Li>acc_bandwidth: content acceleration bandwidth, in bps.</li>
1525
1808
  <li>smt_bandwidth: smart acceleration bandwidth, in bps;</li>
1526
- <li>l4_bandwidth: L4 acceleration bandwidth, in bps;</li>
1527
- <li>sec_bandwidth: exclusive protection bandwidth, in bps;</li>
1528
- <li>zxctg_bandwidth: network optimization bandwidth in the Chinese mainland, in bps;</li>
1809
+ <Li>l4_bandwidth: layer 4 acceleration bandwidth, in bps.</li>
1810
+ <li>sec_bandwidth: exclusive protection bandwidth, in bps.</li>
1811
+ <li>zxctg_bandwidth: network optimization bandwidth in the chinese mainland, in bps;</li>
1812
+
1813
+ **HTTP/HTTPS Security Requests (Unit: counts):**
1529
1814
  <li>sec_request_clean: number of HTTP/HTTPS requests;</li>
1530
- <li>smt_request_clean: number of smart acceleration requests;</li>
1531
- <li>quic_request: number of QUIC requests;</li>
1532
- <li>bot_request_clean: number of Bot requests;</li>
1815
+
1816
+ **Value-added Service Usage:**
1817
+ <li>smt_request_clean: number of smart acceleration requests, in counts;</li>
1818
+ <li>quic_request: number of quic requests;</li>
1819
+ <Li>bot_request_clean: number of bot requests;</li>
1533
1820
  <li>cls_count: number of real-time log entries pushed;</li>
1534
- <li>ddos_bandwidth: elastic DDoS protection bandwidth, in bps.</li>
1821
+ <li>ddos_bandwidth: elastic ddos protection bandwidth, in bps.</li>
1822
+
1823
+ **Edge Computing Usage:**
1824
+ <li>edgefunction_request: number of edge function executions, in counts</li>
1825
+ <li>edgefunction_cpu_time: edge function CPU processing time, in milliseconds</li>
1826
+
1827
+ **Media Processing Usage (Unit: seconds):**
1828
+ <li>total_transcode: duration of jit transcoding and transmuxing for all specifications of audio and video, in seconds;</li>
1829
+ <li>remux: transmuxing duration, in seconds;</li>
1830
+ <li>transcode_audio: audio transcoding duration, in seconds;</li>
1831
+ <li>transcode_H264_SD: specifies the duration of standard-definition videos encoded in H.264 (short side <= 480 px), in seconds;</li>
1832
+ <li>transcode_H264_HD: specifies the duration of high-definition video (short side <= 720 px) encoded in H.264, in seconds;</li>
1833
+ <li>transcode_H264_FHD: specifies the duration of a full hd video (short side <= 1080 px) encoded in H.264, in seconds;</li>
1834
+ <li>transcode_H264_2K: specifies the duration of a 2K video (short side <= 1440 px) encoded in H.264, expressed in seconds.</li>
1835
+
1836
+
1535
1837
  * @type {string || null}
1536
1838
  */
1537
1839
  this.MetricName = null;
@@ -1547,13 +1849,41 @@ class DescribeBillingDataRequest extends AbstractModel {
1547
1849
 
1548
1850
  /**
1549
1851
  * Filter criteria. The detailed values of filter criteria are as follows:
1550
- <li>host: Filter by domain name, such as test.example.com.<br></li>
1551
- <li>proxy-id: Filter by L4 proxy instance ID, such as sid-2rugn89bkla9.<br></li>
1552
- <li>region-id: Filter by billing region. Options:<br> CH: Chinese mainland<br> AF: Africa<br> AS1: Asia-Pacific Region 1<br> AS2: Asia-Pacific Region 2<br> AS3: Asia-Pacific Region 3<br> EU: Europe<br> MidEast: Middle East<br> NA: North America<br> SA: South America</li>
1852
+ <ul>
1853
+ <li>host: Filter by domain name, such as test.example.com.</li>
1854
+ <li>proxy-id: Filter by L4 proxy instance ID, such as sid-2rugn89bkla9.</li>
1855
+ <li>region-id: Filter by billing region. Options:
1856
+ <ul>
1857
+ <li>CH: Chinese mainland</li>
1858
+ <li>AF: Africa</li>
1859
+ <li>AS1: Asia-Pacific Region 1</li>
1860
+ <li>AS2: Asia-Pacific Region 2</li>
1861
+ <li>AS3: Asia-Pacific Region 3</li>
1862
+ <li>EU: Europe</li>
1863
+ <li>MidEast: Middle East</li>
1864
+ <li>NA: North America</li>
1865
+ <li>SA: South America</li>
1866
+ </ul>
1867
+ </li>
1868
+ </ul>
1869
+ <p>Note: Filters of the same `Type` use OR logic, while filters of different `Type` use AND logic.</p>
1870
+
1553
1871
  * @type {Array.<BillingDataFilter> || null}
1554
1872
  */
1555
1873
  this.Filters = null;
1556
1874
 
1875
+ /**
1876
+ * <p>Grouping aggregation dimensions. A maximum of two dimensions can be used for grouping simultaneously. The values are as follows:</p>
1877
+ <ul>
1878
+ <li>zone-id: Group by zone ID. If content identifiers are used, grouping by content identifier takes priority.</li>
1879
+ <li>host: Group by domain name.</li>
1880
+ <li>proxy-id: Group by layer-4 proxy instance ID.</li>
1881
+ <li>region-id: Group by billing region.</li>
1882
+ </ul>
1883
+ * @type {Array.<string> || null}
1884
+ */
1885
+ this.GroupBy = null;
1886
+
1557
1887
  }
1558
1888
 
1559
1889
  /**
@@ -1577,6 +1907,7 @@ class DescribeBillingDataRequest extends AbstractModel {
1577
1907
  this.Filters.push(obj);
1578
1908
  }
1579
1909
  }
1910
+ this.GroupBy = 'GroupBy' in params ? params.GroupBy : null;
1580
1911
 
1581
1912
  }
1582
1913
  }
@@ -4734,21 +5065,78 @@ class CacheKeyCookie extends AbstractModel {
4734
5065
  }
4735
5066
 
4736
5067
  /**
4737
- * The settings of the exception rule
5068
+ * Policy template information.
4738
5069
  * @class
4739
5070
  */
4740
- class ExceptUserRule extends AbstractModel {
5071
+ class SecurityPolicyTemplateInfo extends AbstractModel {
4741
5072
  constructor(){
4742
5073
  super();
4743
5074
 
4744
5075
  /**
4745
- * The rule name.
5076
+ * The zone ID to which the policy template belongs.
4746
5077
  * @type {string || null}
4747
5078
  */
4748
- this.RuleName = null;
5079
+ this.ZoneId = null;
4749
5080
 
4750
5081
  /**
4751
- * The rule action. It only supports the value `skip`, which indicates skipping all managed rules.
5082
+ * Policy template ID.
5083
+ * @type {string || null}
5084
+ */
5085
+ this.TemplateId = null;
5086
+
5087
+ /**
5088
+ * The name of the policy template.
5089
+ * @type {string || null}
5090
+ */
5091
+ this.TemplateName = null;
5092
+
5093
+ /**
5094
+ * Information about domains bound to the policy template.
5095
+ * @type {Array.<BindDomainInfo> || null}
5096
+ */
5097
+ this.BindDomains = null;
5098
+
5099
+ }
5100
+
5101
+ /**
5102
+ * @private
5103
+ */
5104
+ deserialize(params) {
5105
+ if (!params) {
5106
+ return;
5107
+ }
5108
+ this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
5109
+ this.TemplateId = 'TemplateId' in params ? params.TemplateId : null;
5110
+ this.TemplateName = 'TemplateName' in params ? params.TemplateName : null;
5111
+
5112
+ if (params.BindDomains) {
5113
+ this.BindDomains = new Array();
5114
+ for (let z in params.BindDomains) {
5115
+ let obj = new BindDomainInfo();
5116
+ obj.deserialize(params.BindDomains[z]);
5117
+ this.BindDomains.push(obj);
5118
+ }
5119
+ }
5120
+
5121
+ }
5122
+ }
5123
+
5124
+ /**
5125
+ * The settings of the exception rule
5126
+ * @class
5127
+ */
5128
+ class ExceptUserRule extends AbstractModel {
5129
+ constructor(){
5130
+ super();
5131
+
5132
+ /**
5133
+ * The rule name.
5134
+ * @type {string || null}
5135
+ */
5136
+ this.RuleName = null;
5137
+
5138
+ /**
5139
+ * The rule action. It only supports the value `skip`, which indicates skipping all managed rules.
4752
5140
  * @type {string || null}
4753
5141
  */
4754
5142
  this.Action = null;
@@ -5353,30 +5741,57 @@ class SecurityAction extends AbstractModel {
5353
5741
  super();
5354
5742
 
5355
5743
  /**
5356
- * Specific action name for security operation. Values:
5357
- <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>.
5744
+ * Safe execution actions. valid values:.
5745
+ <Li>Deny: block request to access site resource;</li>.
5746
+ <Li>`Monitor`: observe; only record logs</li>.
5747
+ <li>`Redirect`: Redirect to URL</li>.
5748
+ <Li>Disabled: disabled; specify rule is not enabled.</li>.
5749
+ <Li>Allow: allow access but delay processing the request.</li>.
5750
+ <Li>Challenge: challenge, respond to challenge content;</li>.
5751
+ <Li>BlockIP: to be deprecated, ip block;</li>.
5752
+ <Li>`ReturnCustomPage`: to be deprecated, use specified page block;</li>.
5753
+ <li>JSChallenge: to be deprecated, JavaScript challenge;</li>.
5754
+ <Li>ManagedChallenge: to be deprecated. managed challenge.</li>.
5358
5755
  * @type {string || null}
5359
5756
  */
5360
5757
  this.Name = null;
5361
5758
 
5362
5759
  /**
5363
- * Additional parameter when Name is BlockIP.
5760
+ * Additional parameters when Name is Deny.
5761
+ * @type {DenyActionParameters || null}
5762
+ */
5763
+ this.DenyActionParameters = null;
5764
+
5765
+ /**
5766
+ * Additional parameter when Name is Redirect.
5767
+ * @type {RedirectActionParameters || null}
5768
+ */
5769
+ this.RedirectActionParameters = null;
5770
+
5771
+ /**
5772
+ * Additional parameters when Name is Allow.
5773
+ * @type {AllowActionParameters || null}
5774
+ */
5775
+ this.AllowActionParameters = null;
5776
+
5777
+ /**
5778
+ * Additional parameter when Name is Challenge.
5779
+ * @type {ChallengeActionParameters || null}
5780
+ */
5781
+ this.ChallengeActionParameters = null;
5782
+
5783
+ /**
5784
+ * To be deprecated, additional parameter when Name is BlockIP.
5364
5785
  * @type {BlockIPActionParameters || null}
5365
5786
  */
5366
5787
  this.BlockIPActionParameters = null;
5367
5788
 
5368
5789
  /**
5369
- * Additional parameter when Name is ReturnCustomPage.
5790
+ * To be deprecated, additional parameter when Name is ReturnCustomPage.
5370
5791
  * @type {ReturnCustomPageActionParameters || null}
5371
5792
  */
5372
5793
  this.ReturnCustomPageActionParameters = null;
5373
5794
 
5374
- /**
5375
- * Additional parameter when Name is Redirect.
5376
- * @type {RedirectActionParameters || null}
5377
- */
5378
- this.RedirectActionParameters = null;
5379
-
5380
5795
  }
5381
5796
 
5382
5797
  /**
@@ -5388,6 +5803,30 @@ class SecurityAction extends AbstractModel {
5388
5803
  }
5389
5804
  this.Name = 'Name' in params ? params.Name : null;
5390
5805
 
5806
+ if (params.DenyActionParameters) {
5807
+ let obj = new DenyActionParameters();
5808
+ obj.deserialize(params.DenyActionParameters)
5809
+ this.DenyActionParameters = obj;
5810
+ }
5811
+
5812
+ if (params.RedirectActionParameters) {
5813
+ let obj = new RedirectActionParameters();
5814
+ obj.deserialize(params.RedirectActionParameters)
5815
+ this.RedirectActionParameters = obj;
5816
+ }
5817
+
5818
+ if (params.AllowActionParameters) {
5819
+ let obj = new AllowActionParameters();
5820
+ obj.deserialize(params.AllowActionParameters)
5821
+ this.AllowActionParameters = obj;
5822
+ }
5823
+
5824
+ if (params.ChallengeActionParameters) {
5825
+ let obj = new ChallengeActionParameters();
5826
+ obj.deserialize(params.ChallengeActionParameters)
5827
+ this.ChallengeActionParameters = obj;
5828
+ }
5829
+
5391
5830
  if (params.BlockIPActionParameters) {
5392
5831
  let obj = new BlockIPActionParameters();
5393
5832
  obj.deserialize(params.BlockIPActionParameters)
@@ -5400,12 +5839,6 @@ class SecurityAction extends AbstractModel {
5400
5839
  this.ReturnCustomPageActionParameters = obj;
5401
5840
  }
5402
5841
 
5403
- if (params.RedirectActionParameters) {
5404
- let obj = new RedirectActionParameters();
5405
- obj.deserialize(params.RedirectActionParameters)
5406
- this.RedirectActionParameters = obj;
5407
- }
5408
-
5409
5842
  }
5410
5843
  }
5411
5844
 
@@ -6630,26 +7063,46 @@ class ModifyPlanRequest extends AbstractModel {
6630
7063
  }
6631
7064
 
6632
7065
  /**
6633
- * Access URL redirect HostName configuration parameters.
7066
+ * The scope to which the exception rule applies
6634
7067
  * @class
6635
7068
  */
6636
- class HostName extends AbstractModel {
7069
+ class ExceptUserRuleScope extends AbstractModel {
6637
7070
  constructor(){
6638
7071
  super();
6639
7072
 
6640
7073
  /**
6641
- * Target hostname configuration, valid values are:.
6642
- <Li>`Follow`: follow the request;</li>.
6643
- <Li>`Custom`: custom</li>.
7074
+ * Exception mode. Values:
7075
+ <li>`complete`: Skip the exception rule for full requests.</li>
7076
+ <li>`partial`: Skip the exception rule for partial requests.</li>
6644
7077
  * @type {string || null}
6645
7078
  */
6646
- this.Action = null;
7079
+ this.Type = null;
6647
7080
 
6648
7081
  /**
6649
- * Custom value for target hostname, maximum length is 1024.<br>note: when action is custom, this field is required; when action is follow, this field is not effective.
6650
- * @type {string || null}
7082
+ * The module to be activated. Values:
7083
+ <li>`waf`: Tencent Cloud-managed rules</li>
7084
+ <li>`rate`: Rate limiting rules</li>
7085
+ <li>`acl`: Custom rule</li>
7086
+ <li>`cc`: CC attack defense</li>
7087
+ <li>`bot`: Bot protection</li>
7088
+ Note: this field may return `null`, indicating that no valid value is obtained.
7089
+ * @type {Array.<string> || null}
6651
7090
  */
6652
- this.Value = null;
7091
+ this.Modules = null;
7092
+
7093
+ /**
7094
+ * Module settings of the exception rule. If it is null, the settings that were last configured will be used.
7095
+ Note: This field may return `null`, indicating that no valid value can be obtained.
7096
+ * @type {Array.<PartialModule> || null}
7097
+ */
7098
+ this.PartialModules = null;
7099
+
7100
+ /**
7101
+ * Condition settings of the exception rule. If it is null, the settings that were last configured will be used.
7102
+ Note: This field may return `null`, indicating that no valid value can be obtained.
7103
+ * @type {Array.<SkipCondition> || null}
7104
+ */
7105
+ this.SkipConditions = null;
6653
7106
 
6654
7107
  }
6655
7108
 
@@ -6660,8 +7113,26 @@ class HostName extends AbstractModel {
6660
7113
  if (!params) {
6661
7114
  return;
6662
7115
  }
6663
- this.Action = 'Action' in params ? params.Action : null;
6664
- this.Value = 'Value' in params ? params.Value : null;
7116
+ this.Type = 'Type' in params ? params.Type : null;
7117
+ this.Modules = 'Modules' in params ? params.Modules : null;
7118
+
7119
+ if (params.PartialModules) {
7120
+ this.PartialModules = new Array();
7121
+ for (let z in params.PartialModules) {
7122
+ let obj = new PartialModule();
7123
+ obj.deserialize(params.PartialModules[z]);
7124
+ this.PartialModules.push(obj);
7125
+ }
7126
+ }
7127
+
7128
+ if (params.SkipConditions) {
7129
+ this.SkipConditions = new Array();
7130
+ for (let z in params.SkipConditions) {
7131
+ let obj = new SkipCondition();
7132
+ obj.deserialize(params.SkipConditions[z]);
7133
+ this.SkipConditions.push(obj);
7134
+ }
7135
+ }
6665
7136
 
6666
7137
  }
6667
7138
  }
@@ -7398,37 +7869,42 @@ class ModifyRealtimeLogDeliveryTaskResponse extends AbstractModel {
7398
7869
  }
7399
7870
 
7400
7871
  /**
7401
- * Information of the acceleration domain name certificate.
7872
+ * Describes the client device configuration.
7402
7873
  * @class
7403
7874
  */
7404
- class AccelerationDomainCertificate extends AbstractModel {
7875
+ class DeviceProfile extends AbstractModel {
7405
7876
  constructor(){
7406
7877
  super();
7407
7878
 
7408
7879
  /**
7409
- * Certificate configuration mode. Values: <li>`disable`: Do not configure the certificate;</li><li>`eofreecert`: Use a free certificate provided by EdgeOne; </li><li>`sslcert`: Configure an SSL certificate.</li>
7880
+ * Client device type. valid values: <li>iOS;</li> <li>Android;</li> <li>WebView.</li>.
7410
7881
  * @type {string || null}
7411
7882
  */
7412
- this.Mode = null;
7883
+ this.ClientType = null;
7413
7884
 
7414
7885
  /**
7415
- * List of server certificates. The relevant certificates are deployed on the entrance side of the EO.
7416
- Note: This field may return null, which indicates a failure to obtain a valid value.
7417
- * @type {Array.<CertificateInfo> || null}
7886
+ * The minimum value to determine a request as high-risk ranges from 1–99. the larger the value, the higher the request risk, and the closer it resembles a request initiated by a Bot client. the default value is 50, corresponding to high-risk for values 51–100.
7887
+ * @type {number || null}
7418
7888
  */
7419
- this.List = null;
7889
+ this.HighRiskMinScore = null;
7420
7890
 
7421
7891
  /**
7422
- * In the edge mutual authentication scenario, this field represents the client's CA certificate, which is deployed inside the EO node and used for EO node authentication of the client certificate.
7423
- * @type {MutualTLS || null}
7892
+ * Handling method for high-risk requests. valid values for SecurityAction Name: <li>Deny: block;</li> <li>Monitor: observation;</li> <li>Redirect: redirection;</li> <li>Challenge: Challenge.</li> default value: Monitor.
7893
+ * @type {SecurityAction || null}
7424
7894
  */
7425
- this.ClientCertInfo = null;
7895
+ this.HighRiskRequestAction = null;
7426
7896
 
7427
7897
  /**
7428
- * The certificate carried during EO node origin-pull is used when the origin server enables the mutual authentication handshake to validate the client certificate, ensuring that the request originates from a trusted EO node.
7429
- * @type {UpstreamCertInfo || null}
7898
+ * Specifies the minimum value to determine a request as medium-risk. value range: 1–99. the larger the value, the higher the request risk, resembling requests initiated by a Bot client. default value: 15, corresponding to medium-risk for values 16–50.
7899
+ * @type {number || null}
7430
7900
  */
7431
- this.UpstreamCertInfo = null;
7901
+ this.MediumRiskMinScore = null;
7902
+
7903
+ /**
7904
+ * Handling method for medium-risk requests. SecurityAction Name parameter supports: <li>Deny: block;</li> <li>Monitor: observe;</li> <li>Redirect: Redirect;</li> <li>Challenge: Challenge.</li> default value is Monitor.
7905
+ * @type {SecurityAction || null}
7906
+ */
7907
+ this.MediumRiskRequestAction = null;
7432
7908
 
7433
7909
  }
7434
7910
 
@@ -7439,27 +7915,20 @@ Note: This field may return null, which indicates a failure to obtain a valid va
7439
7915
  if (!params) {
7440
7916
  return;
7441
7917
  }
7442
- this.Mode = 'Mode' in params ? params.Mode : null;
7443
-
7444
- if (params.List) {
7445
- this.List = new Array();
7446
- for (let z in params.List) {
7447
- let obj = new CertificateInfo();
7448
- obj.deserialize(params.List[z]);
7449
- this.List.push(obj);
7450
- }
7451
- }
7918
+ this.ClientType = 'ClientType' in params ? params.ClientType : null;
7919
+ this.HighRiskMinScore = 'HighRiskMinScore' in params ? params.HighRiskMinScore : null;
7452
7920
 
7453
- if (params.ClientCertInfo) {
7454
- let obj = new MutualTLS();
7455
- obj.deserialize(params.ClientCertInfo)
7456
- this.ClientCertInfo = obj;
7921
+ if (params.HighRiskRequestAction) {
7922
+ let obj = new SecurityAction();
7923
+ obj.deserialize(params.HighRiskRequestAction)
7924
+ this.HighRiskRequestAction = obj;
7457
7925
  }
7926
+ this.MediumRiskMinScore = 'MediumRiskMinScore' in params ? params.MediumRiskMinScore : null;
7458
7927
 
7459
- if (params.UpstreamCertInfo) {
7460
- let obj = new UpstreamCertInfo();
7461
- obj.deserialize(params.UpstreamCertInfo)
7462
- this.UpstreamCertInfo = obj;
7928
+ if (params.MediumRiskRequestAction) {
7929
+ let obj = new SecurityAction();
7930
+ obj.deserialize(params.MediumRiskRequestAction)
7931
+ this.MediumRiskRequestAction = obj;
7463
7932
  }
7464
7933
 
7465
7934
  }
@@ -8020,6 +8489,43 @@ class LoadBalancer extends AbstractModel {
8020
8489
  }
8021
8490
  }
8022
8491
 
8492
+ /**
8493
+ * Access URL redirect HostName configuration parameters.
8494
+ * @class
8495
+ */
8496
+ class HostName extends AbstractModel {
8497
+ constructor(){
8498
+ super();
8499
+
8500
+ /**
8501
+ * Target hostname configuration, valid values are:.
8502
+ <Li>`Follow`: follow the request;</li>.
8503
+ <Li>`Custom`: custom</li>.
8504
+ * @type {string || null}
8505
+ */
8506
+ this.Action = null;
8507
+
8508
+ /**
8509
+ * Custom value for target hostname, maximum length is 1024.<br>note: when action is custom, this field is required; when action is follow, this field is not effective.
8510
+ * @type {string || null}
8511
+ */
8512
+ this.Value = null;
8513
+
8514
+ }
8515
+
8516
+ /**
8517
+ * @private
8518
+ */
8519
+ deserialize(params) {
8520
+ if (!params) {
8521
+ return;
8522
+ }
8523
+ this.Action = 'Action' in params ? params.Action : null;
8524
+ this.Value = 'Value' in params ? params.Value : null;
8525
+
8526
+ }
8527
+ }
8528
+
8023
8529
  /**
8024
8530
  * DeleteRules request structure.
8025
8531
  * @class
@@ -8131,6 +8637,34 @@ class ExceptUserRuleCondition extends AbstractModel {
8131
8637
  }
8132
8638
  }
8133
8639
 
8640
+ /**
8641
+ * DeleteWebSecurityTemplate response structure.
8642
+ * @class
8643
+ */
8644
+ class DeleteWebSecurityTemplateResponse extends AbstractModel {
8645
+ constructor(){
8646
+ super();
8647
+
8648
+ /**
8649
+ * 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.
8650
+ * @type {string || null}
8651
+ */
8652
+ this.RequestId = null;
8653
+
8654
+ }
8655
+
8656
+ /**
8657
+ * @private
8658
+ */
8659
+ deserialize(params) {
8660
+ if (!params) {
8661
+ return;
8662
+ }
8663
+ this.RequestId = 'RequestId' in params ? params.RequestId : null;
8664
+
8665
+ }
8666
+ }
8667
+
8134
8668
  /**
8135
8669
  * ModifyL7AccRule request structure.
8136
8670
  * @class
@@ -8964,18 +9498,46 @@ class FileVerification extends AbstractModel {
8964
9498
  }
8965
9499
 
8966
9500
  /**
8967
- * ModifySecurityPolicy request structure.
9501
+ * ModifyWebSecurityTemplate response structure.
8968
9502
  * @class
8969
9503
  */
8970
- class ModifySecurityPolicyRequest extends AbstractModel {
9504
+ class ModifyWebSecurityTemplateResponse extends AbstractModel {
8971
9505
  constructor(){
8972
9506
  super();
8973
9507
 
8974
9508
  /**
8975
- * Zone ID.
9509
+ * 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.
8976
9510
  * @type {string || null}
8977
9511
  */
8978
- this.ZoneId = null;
9512
+ this.RequestId = null;
9513
+
9514
+ }
9515
+
9516
+ /**
9517
+ * @private
9518
+ */
9519
+ deserialize(params) {
9520
+ if (!params) {
9521
+ return;
9522
+ }
9523
+ this.RequestId = 'RequestId' in params ? params.RequestId : null;
9524
+
9525
+ }
9526
+ }
9527
+
9528
+ /**
9529
+ * ModifySecurityPolicy request structure.
9530
+ * @class
9531
+ */
9532
+ class ModifySecurityPolicyRequest extends AbstractModel {
9533
+ constructor(){
9534
+ super();
9535
+
9536
+ /**
9537
+ * Zone ID.
9538
+ * @type {string || null}
9539
+ */
9540
+ this.ZoneId = null;
8979
9541
 
8980
9542
  /**
8981
9543
  * 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>
@@ -10211,6 +10773,42 @@ class DeleteAccelerationDomainsResponse extends AbstractModel {
10211
10773
  }
10212
10774
  }
10213
10775
 
10776
+ /**
10777
+ * Web security exception rules.
10778
+ * @class
10779
+ */
10780
+ class ExceptionRules extends AbstractModel {
10781
+ constructor(){
10782
+ super();
10783
+
10784
+ /**
10785
+ * Definition list of exception Rules. when using ModifySecurityPolicy to modify Web protection configuration: <li>if the Rules parameter is not specified or the parameter length is zero: clear all exception rule configurations.</li><li>if the ExceptionRules parameter value is not specified in SecurityPolicy: keep existing exception rule configurations without modification.</li>.
10786
+ * @type {Array.<ExceptionRule> || null}
10787
+ */
10788
+ this.Rules = null;
10789
+
10790
+ }
10791
+
10792
+ /**
10793
+ * @private
10794
+ */
10795
+ deserialize(params) {
10796
+ if (!params) {
10797
+ return;
10798
+ }
10799
+
10800
+ if (params.Rules) {
10801
+ this.Rules = new Array();
10802
+ for (let z in params.Rules) {
10803
+ let obj = new ExceptionRule();
10804
+ obj.deserialize(params.Rules[z]);
10805
+ this.Rules.push(obj);
10806
+ }
10807
+ }
10808
+
10809
+ }
10810
+ }
10811
+
10214
10812
  /**
10215
10813
  * Exception rules, which are used to bypass specific rules
10216
10814
  * @class
@@ -10403,6 +11001,41 @@ class AclCondition extends AbstractModel {
10403
11001
  }
10404
11002
  }
10405
11003
 
11004
+ /**
11005
+ * Body transfer timeout duration configuration.
11006
+ * @class
11007
+ */
11008
+ class RequestBodyTransferTimeout extends AbstractModel {
11009
+ constructor(){
11010
+ super();
11011
+
11012
+ /**
11013
+ * Body transfer timeout duration. valid values: 5-120. measurement unit: seconds (s) only.
11014
+ * @type {string || null}
11015
+ */
11016
+ this.IdleTimeout = null;
11017
+
11018
+ /**
11019
+ * Whether body transfer timeout is enabled. valid values: <li>`on`: enable</li> <li>`off`: disable</li>.
11020
+ * @type {string || null}
11021
+ */
11022
+ this.Enabled = null;
11023
+
11024
+ }
11025
+
11026
+ /**
11027
+ * @private
11028
+ */
11029
+ deserialize(params) {
11030
+ if (!params) {
11031
+ return;
11032
+ }
11033
+ this.IdleTimeout = 'IdleTimeout' in params ? params.IdleTimeout : null;
11034
+ this.Enabled = 'Enabled' in params ? params.Enabled : null;
11035
+
11036
+ }
11037
+ }
11038
+
10406
11039
  /**
10407
11040
  * Details of L7 logs.
10408
11041
  * @class
@@ -11352,24 +11985,24 @@ Note: This field may return null, indicating that no valid values can be obtaine
11352
11985
  }
11353
11986
 
11354
11987
  /**
11355
- * CreateDnsRecord response structure.
11988
+ * Bandwidth abuse protection configuration (chinese mainland only).
11356
11989
  * @class
11357
11990
  */
11358
- class CreateDnsRecordResponse extends AbstractModel {
11991
+ class BandwidthAbuseDefense extends AbstractModel {
11359
11992
  constructor(){
11360
11993
  super();
11361
11994
 
11362
11995
  /**
11363
- * DNS record id.
11996
+ * Whether bandwidth abuse protection (applicable to chinese mainland only) is enabled. valid values: <li>on: enabled;</li> <li>off: disabled.</li>.
11364
11997
  * @type {string || null}
11365
11998
  */
11366
- this.RecordId = null;
11999
+ this.Enabled = null;
11367
12000
 
11368
12001
  /**
11369
- * 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.
11370
- * @type {string || null}
12002
+ * Bandwidth abuse protection (applicable to chinese mainland) handling method. required when Enabled is on. valid values for SecurityAction Name: <li>Monitor: observe;</li> <li>Deny: block;</li> <li>Challenge: Challenge, where ChallengeActionParameters.Name only supports JSChallenge.</li>.
12003
+ * @type {SecurityAction || null}
11371
12004
  */
11372
- this.RequestId = null;
12005
+ this.Action = null;
11373
12006
 
11374
12007
  }
11375
12008
 
@@ -11380,8 +12013,13 @@ class CreateDnsRecordResponse extends AbstractModel {
11380
12013
  if (!params) {
11381
12014
  return;
11382
12015
  }
11383
- this.RecordId = 'RecordId' in params ? params.RecordId : null;
11384
- this.RequestId = 'RequestId' in params ? params.RequestId : null;
12016
+ this.Enabled = 'Enabled' in params ? params.Enabled : null;
12017
+
12018
+ if (params.Action) {
12019
+ let obj = new SecurityAction();
12020
+ obj.deserialize(params.Action)
12021
+ this.Action = obj;
12022
+ }
11385
12023
 
11386
12024
  }
11387
12025
  }
@@ -11880,36 +12518,18 @@ class ModifyRealtimeLogDeliveryTaskRequest extends AbstractModel {
11880
12518
  }
11881
12519
 
11882
12520
  /**
11883
- * DescribeHostsSetting request structure.
12521
+ * HandleFunctionRuntimeEnvironment response structure.
11884
12522
  * @class
11885
12523
  */
11886
- class DescribeHostsSettingRequest extends AbstractModel {
12524
+ class HandleFunctionRuntimeEnvironmentResponse extends AbstractModel {
11887
12525
  constructor(){
11888
12526
  super();
11889
12527
 
11890
12528
  /**
11891
- * The site ID.
12529
+ * 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.
11892
12530
  * @type {string || null}
11893
12531
  */
11894
- this.ZoneId = null;
11895
-
11896
- /**
11897
- * Offset for paginated queries. Default value: 0. Minimum value: 0.
11898
- * @type {number || null}
11899
- */
11900
- this.Offset = null;
11901
-
11902
- /**
11903
- * Limit on paginated queries. Default value: 100. Maximum value: 1000.
11904
- * @type {number || null}
11905
- */
11906
- this.Limit = null;
11907
-
11908
- /**
11909
- * Filter conditions. The maximum value for Filters.Values is 20. The detailed conditions are as follows:<li>host: Filter by domain name.</li>
11910
- * @type {Array.<Filter> || null}
11911
- */
11912
- this.Filters = null;
12532
+ this.RequestId = null;
11913
12533
 
11914
12534
  }
11915
12535
 
@@ -11920,18 +12540,7 @@ class DescribeHostsSettingRequest extends AbstractModel {
11920
12540
  if (!params) {
11921
12541
  return;
11922
12542
  }
11923
- this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
11924
- this.Offset = 'Offset' in params ? params.Offset : null;
11925
- this.Limit = 'Limit' in params ? params.Limit : null;
11926
-
11927
- if (params.Filters) {
11928
- this.Filters = new Array();
11929
- for (let z in params.Filters) {
11930
- let obj = new Filter();
11931
- obj.deserialize(params.Filters[z]);
11932
- this.Filters.push(obj);
11933
- }
11934
- }
12543
+ this.RequestId = 'RequestId' in params ? params.RequestId : null;
11935
12544
 
11936
12545
  }
11937
12546
  }
@@ -13932,6 +14541,74 @@ class CreatePlanForZoneRequest extends AbstractModel {
13932
14541
  }
13933
14542
  }
13934
14543
 
14544
+ /**
14545
+ * Information of the acceleration domain name certificate.
14546
+ * @class
14547
+ */
14548
+ class AccelerationDomainCertificate extends AbstractModel {
14549
+ constructor(){
14550
+ super();
14551
+
14552
+ /**
14553
+ * Certificate configuration mode. Values: <li>`disable`: Do not configure the certificate;</li><li>`eofreecert`: Use a free certificate provided by EdgeOne; </li><li>`sslcert`: Configure an SSL certificate.</li>
14554
+ * @type {string || null}
14555
+ */
14556
+ this.Mode = null;
14557
+
14558
+ /**
14559
+ * List of server certificates. The relevant certificates are deployed on the entrance side of the EO.
14560
+ Note: This field may return null, which indicates a failure to obtain a valid value.
14561
+ * @type {Array.<CertificateInfo> || null}
14562
+ */
14563
+ this.List = null;
14564
+
14565
+ /**
14566
+ * In the edge mutual authentication scenario, this field represents the client's CA certificate, which is deployed inside the EO node and used for EO node authentication of the client certificate.
14567
+ * @type {MutualTLS || null}
14568
+ */
14569
+ this.ClientCertInfo = null;
14570
+
14571
+ /**
14572
+ * The certificate carried during EO node origin-pull is used when the origin server enables the mutual authentication handshake to validate the client certificate, ensuring that the request originates from a trusted EO node.
14573
+ * @type {UpstreamCertInfo || null}
14574
+ */
14575
+ this.UpstreamCertInfo = null;
14576
+
14577
+ }
14578
+
14579
+ /**
14580
+ * @private
14581
+ */
14582
+ deserialize(params) {
14583
+ if (!params) {
14584
+ return;
14585
+ }
14586
+ this.Mode = 'Mode' in params ? params.Mode : null;
14587
+
14588
+ if (params.List) {
14589
+ this.List = new Array();
14590
+ for (let z in params.List) {
14591
+ let obj = new CertificateInfo();
14592
+ obj.deserialize(params.List[z]);
14593
+ this.List.push(obj);
14594
+ }
14595
+ }
14596
+
14597
+ if (params.ClientCertInfo) {
14598
+ let obj = new MutualTLS();
14599
+ obj.deserialize(params.ClientCertInfo)
14600
+ this.ClientCertInfo = obj;
14601
+ }
14602
+
14603
+ if (params.UpstreamCertInfo) {
14604
+ let obj = new UpstreamCertInfo();
14605
+ obj.deserialize(params.UpstreamCertInfo)
14606
+ this.UpstreamCertInfo = obj;
14607
+ }
14608
+
14609
+ }
14610
+ }
14611
+
13935
14612
  /**
13936
14613
  * CreateL4ProxyRules response structure.
13937
14614
  * @class
@@ -14789,24 +15466,67 @@ class NormalAction extends AbstractModel {
14789
15466
  }
14790
15467
 
14791
15468
  /**
14792
- * The top-ranked data details
15469
+ * Safe execution action specifies additional parameters for the ban.
14793
15470
  * @class
14794
15471
  */
14795
- class TopDetailData extends AbstractModel {
15472
+ class DenyActionParameters extends AbstractModel {
14796
15473
  constructor(){
14797
15474
  super();
14798
15475
 
14799
15476
  /**
14800
- * The field name.
15477
+ * Specifies whether to extend the ban on the source IP. valid values.
15478
+ <li>`on`: Enable;</li>
15479
+
15480
+ <li>off: Disable.</li>
15481
+
15482
+ After enabled, continuously blocks client ips that trigger the rule. when this option is enabled, the BlockIpDuration parameter must be simultaneously designated.
15483
+ Note: this option cannot intersect with ReturnCustomPage or Stall.
14801
15484
  * @type {string || null}
14802
15485
  */
14803
- this.Key = null;
15486
+ this.BlockIp = null;
14804
15487
 
14805
15488
  /**
14806
- * The field value.
14807
- * @type {number || null}
15489
+ * The ban duration when BlockIP is on.
15490
+ * @type {string || null}
14808
15491
  */
14809
- this.Value = null;
15492
+ this.BlockIpDuration = null;
15493
+
15494
+ /**
15495
+ * Specifies whether to use a custom page. valid values:.
15496
+ <li>`on`: Enable;</li>
15497
+
15498
+ <li>off: Disable.</li>
15499
+
15500
+ Enabled, use custom page content to intercept requests. when this option is enabled, ResponseCode and ErrorPageId parameters must be specified simultaneously.
15501
+ Note: this option cannot intersect with the BlockIp or Stall option.
15502
+
15503
+ * @type {string || null}
15504
+ */
15505
+ this.ReturnCustomPage = null;
15506
+
15507
+ /**
15508
+ * Status code of the custom page.
15509
+ * @type {string || null}
15510
+ */
15511
+ this.ResponseCode = null;
15512
+
15513
+ /**
15514
+ * Specifies the page id of the custom page.
15515
+ * @type {string || null}
15516
+ */
15517
+ this.ErrorPageId = null;
15518
+
15519
+ /**
15520
+ * Specifies whether to suspend the request source without processing. valid values:.
15521
+ <li>`on`: Enable;</li>
15522
+
15523
+ <li>off: Disable.</li>
15524
+
15525
+ Enabled, no longer responds to requests in the current connection session and does not actively disconnect. used for crawler combat to consume client connection resources.
15526
+ Note: this option cannot intersect with BlockIp or ReturnCustomPage options.
15527
+ * @type {string || null}
15528
+ */
15529
+ this.Stall = null;
14810
15530
 
14811
15531
  }
14812
15532
 
@@ -14817,9 +15537,48 @@ class TopDetailData extends AbstractModel {
14817
15537
  if (!params) {
14818
15538
  return;
14819
15539
  }
14820
- this.Key = 'Key' in params ? params.Key : null;
14821
- this.Value = 'Value' in params ? params.Value : null;
14822
-
15540
+ this.BlockIp = 'BlockIp' in params ? params.BlockIp : null;
15541
+ this.BlockIpDuration = 'BlockIpDuration' in params ? params.BlockIpDuration : null;
15542
+ this.ReturnCustomPage = 'ReturnCustomPage' in params ? params.ReturnCustomPage : null;
15543
+ this.ResponseCode = 'ResponseCode' in params ? params.ResponseCode : null;
15544
+ this.ErrorPageId = 'ErrorPageId' in params ? params.ErrorPageId : null;
15545
+ this.Stall = 'Stall' in params ? params.Stall : null;
15546
+
15547
+ }
15548
+ }
15549
+
15550
+ /**
15551
+ * The top-ranked data details
15552
+ * @class
15553
+ */
15554
+ class TopDetailData extends AbstractModel {
15555
+ constructor(){
15556
+ super();
15557
+
15558
+ /**
15559
+ * The field name.
15560
+ * @type {string || null}
15561
+ */
15562
+ this.Key = null;
15563
+
15564
+ /**
15565
+ * The field value.
15566
+ * @type {number || null}
15567
+ */
15568
+ this.Value = null;
15569
+
15570
+ }
15571
+
15572
+ /**
15573
+ * @private
15574
+ */
15575
+ deserialize(params) {
15576
+ if (!params) {
15577
+ return;
15578
+ }
15579
+ this.Key = 'Key' in params ? params.Key : null;
15580
+ this.Value = 'Value' in params ? params.Value : null;
15581
+
14823
15582
  }
14824
15583
  }
14825
15584
 
@@ -15079,6 +15838,42 @@ Note: This field may return null, indicating that no valid values can be obtaine
15079
15838
  }
15080
15839
  }
15081
15840
 
15841
+ /**
15842
+ * Describes the client authentication configuration.
15843
+ * @class
15844
+ */
15845
+ class ClientAttestationRules extends AbstractModel {
15846
+ constructor(){
15847
+ super();
15848
+
15849
+ /**
15850
+ * List of client authentication. when using ModifySecurityPolicy to modify Web protection configuration: <li> if Rules in SecurityPolicy.BotManagement.ClientAttestationRules is not specified or the parameter length of Rules is zero: clear all client authentication rule configuration. </li> <li> if ClientAttestationRules in SecurityPolicy.BotManagement parameters is unspecified: keep existing client authentication rule configuration and do not modify. </li>.
15851
+ * @type {Array.<ClientAttestationRule> || null}
15852
+ */
15853
+ this.Rules = null;
15854
+
15855
+ }
15856
+
15857
+ /**
15858
+ * @private
15859
+ */
15860
+ deserialize(params) {
15861
+ if (!params) {
15862
+ return;
15863
+ }
15864
+
15865
+ if (params.Rules) {
15866
+ this.Rules = new Array();
15867
+ for (let z in params.Rules) {
15868
+ let obj = new ClientAttestationRule();
15869
+ obj.deserialize(params.Rules[z]);
15870
+ this.Rules.push(obj);
15871
+ }
15872
+ }
15873
+
15874
+ }
15875
+ }
15876
+
15082
15877
  /**
15083
15878
  * DescribeL7AccSetting request structure.
15084
15879
  * @class
@@ -16120,6 +16915,51 @@ class DescribeIPRegionRequest extends AbstractModel {
16120
16915
  }
16121
16916
  }
16122
16917
 
16918
+ /**
16919
+ * Describes the domain names bound to the policy template.
16920
+ * @class
16921
+ */
16922
+ class BindDomainInfo extends AbstractModel {
16923
+ constructor(){
16924
+ super();
16925
+
16926
+ /**
16927
+ * Domain name.
16928
+ * @type {string || null}
16929
+ */
16930
+ this.Domain = null;
16931
+
16932
+ /**
16933
+ * Zone ID to which the domain belongs.
16934
+ * @type {string || null}
16935
+ */
16936
+ this.ZoneId = null;
16937
+
16938
+ /**
16939
+ * Binding status. valid values:.
16940
+ <li>`process`: binding in progress</li>
16941
+ <li>`online`: binding succeeded.</li>
16942
+ <Li>`fail`: binding failed.</li>
16943
+ * @type {string || null}
16944
+ */
16945
+ this.Status = null;
16946
+
16947
+ }
16948
+
16949
+ /**
16950
+ * @private
16951
+ */
16952
+ deserialize(params) {
16953
+ if (!params) {
16954
+ return;
16955
+ }
16956
+ this.Domain = 'Domain' in params ? params.Domain : null;
16957
+ this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
16958
+ this.Status = 'Status' in params ? params.Status : null;
16959
+
16960
+ }
16961
+ }
16962
+
16123
16963
  /**
16124
16964
  * Detailed data of time series type
16125
16965
  * @class
@@ -16333,6 +17173,186 @@ class ImportZoneConfigResponse extends AbstractModel {
16333
17173
  }
16334
17174
  }
16335
17175
 
17176
+ /**
17177
+ * ModifyWebSecurityTemplate request structure.
17178
+ * @class
17179
+ */
17180
+ class ModifyWebSecurityTemplateRequest extends AbstractModel {
17181
+ constructor(){
17182
+ super();
17183
+
17184
+ /**
17185
+ * Zone ID. The zone to which the target policy template belongs for access control. Use the DescribeWebSecurityTemplates interface to query the zone of the policy template.
17186
+ * @type {string || null}
17187
+ */
17188
+ this.ZoneId = null;
17189
+
17190
+ /**
17191
+ * Policy template ID.
17192
+ * @type {string || null}
17193
+ */
17194
+ this.TemplateId = null;
17195
+
17196
+ /**
17197
+ * Modified policy template name. Consists of Chinese characters, letters, numbers, and underscores, cannot start with an underscore, and must not exceed 32 characters. If the field is empty, no modification will be made.
17198
+ * @type {string || null}
17199
+ */
17200
+ this.TemplateName = null;
17201
+
17202
+ /**
17203
+ * Security policy template configuration content. If the value is empty, no modification will be made; submodule structures not passed in will not be modified. Currently supports exception rules, custom rules, rate limiting rules, and managed rule configurations in the Web Security module, using expression syntax for security policy configuration. Bot management rule configuration is not yet supported (under development).
17204
+ Special note: When passing a submodule structure as input, ensure all rule content to be retained is included. Rule content not passed in will be treated as deleted.
17205
+ * @type {SecurityPolicy || null}
17206
+ */
17207
+ this.SecurityPolicy = null;
17208
+
17209
+ }
17210
+
17211
+ /**
17212
+ * @private
17213
+ */
17214
+ deserialize(params) {
17215
+ if (!params) {
17216
+ return;
17217
+ }
17218
+ this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
17219
+ this.TemplateId = 'TemplateId' in params ? params.TemplateId : null;
17220
+ this.TemplateName = 'TemplateName' in params ? params.TemplateName : null;
17221
+
17222
+ if (params.SecurityPolicy) {
17223
+ let obj = new SecurityPolicy();
17224
+ obj.deserialize(params.SecurityPolicy)
17225
+ this.SecurityPolicy = obj;
17226
+ }
17227
+
17228
+ }
17229
+ }
17230
+
17231
+ /**
17232
+ * DescribeWebSecurityTemplate request structure.
17233
+ * @class
17234
+ */
17235
+ class DescribeWebSecurityTemplateRequest extends AbstractModel {
17236
+ constructor(){
17237
+ super();
17238
+
17239
+ /**
17240
+ * Zone ID. The zone to which the target policy template belongs for access control. Use the DescribeWebSecurityTemplates interface to query the zone of the policy template.
17241
+ * @type {string || null}
17242
+ */
17243
+ this.ZoneId = null;
17244
+
17245
+ /**
17246
+ * Policy template ID.
17247
+ * @type {string || null}
17248
+ */
17249
+ this.TemplateId = null;
17250
+
17251
+ }
17252
+
17253
+ /**
17254
+ * @private
17255
+ */
17256
+ deserialize(params) {
17257
+ if (!params) {
17258
+ return;
17259
+ }
17260
+ this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
17261
+ this.TemplateId = 'TemplateId' in params ? params.TemplateId : null;
17262
+
17263
+ }
17264
+ }
17265
+
17266
+ /**
17267
+ * Client authentication rule.
17268
+ * @class
17269
+ */
17270
+ class ClientAttestationRule extends AbstractModel {
17271
+ constructor(){
17272
+ super();
17273
+
17274
+ /**
17275
+ * Client authentication rule ID. supported rule configuration operations by rule ID: <li> <b>add</b> a new rule: leave the ID empty or do not specify the ID parameter.</li> <li> <b>modify</b> an existing rule: specify the rule ID that needs to be updated/modified.</li> <li> <b>delete</b> an existing rule: existing rules not included in the ClientAttestationRule list under BotManagement parameters will be deleted.</li>.
17276
+ * @type {string || null}
17277
+ */
17278
+ this.Id = null;
17279
+
17280
+ /**
17281
+ * Specifies the name of the client authentication rule.
17282
+ * @type {string || null}
17283
+ */
17284
+ this.Name = null;
17285
+
17286
+ /**
17287
+ * Whether the rule is enabled. valid values: <li>`on`: enable</li> <li>`off`: disable</li>.
17288
+ * @type {string || null}
17289
+ */
17290
+ this.Enabled = null;
17291
+
17292
+ /**
17293
+ * Priority of rules. a smaller value indicates higher priority execution. value range: 0-100. default value: 0.
17294
+ * @type {number || null}
17295
+ */
17296
+ this.Priority = null;
17297
+
17298
+ /**
17299
+ * The rule content must comply with expression grammar. for details, see the product document.
17300
+ * @type {string || null}
17301
+ */
17302
+ this.Condition = null;
17303
+
17304
+ /**
17305
+ * Specifies the client authentication option ID.
17306
+ * @type {string || null}
17307
+ */
17308
+ this.AttesterId = null;
17309
+
17310
+ /**
17311
+ * Client device configuration. if the DeviceProfiles parameter value is not specified in the ClientAttestationRules parameter, keep the existing client device configuration and do not modify it.
17312
+ * @type {Array.<DeviceProfile> || null}
17313
+ */
17314
+ this.DeviceProfiles = null;
17315
+
17316
+ /**
17317
+ * Handling method for failed client authentication. valid values for SecurityAction Name: <li>Deny: block;</li> <li>Monitor: observation;</li> <li>Redirect: redirection;</li> <li>Challenge: Challenge.</li> default value: Monitor.
17318
+ * @type {SecurityAction || null}
17319
+ */
17320
+ this.InvalidAttestationAction = null;
17321
+
17322
+ }
17323
+
17324
+ /**
17325
+ * @private
17326
+ */
17327
+ deserialize(params) {
17328
+ if (!params) {
17329
+ return;
17330
+ }
17331
+ this.Id = 'Id' in params ? params.Id : null;
17332
+ this.Name = 'Name' in params ? params.Name : null;
17333
+ this.Enabled = 'Enabled' in params ? params.Enabled : null;
17334
+ this.Priority = 'Priority' in params ? params.Priority : null;
17335
+ this.Condition = 'Condition' in params ? params.Condition : null;
17336
+ this.AttesterId = 'AttesterId' in params ? params.AttesterId : null;
17337
+
17338
+ if (params.DeviceProfiles) {
17339
+ this.DeviceProfiles = new Array();
17340
+ for (let z in params.DeviceProfiles) {
17341
+ let obj = new DeviceProfile();
17342
+ obj.deserialize(params.DeviceProfiles[z]);
17343
+ this.DeviceProfiles.push(obj);
17344
+ }
17345
+ }
17346
+
17347
+ if (params.InvalidAttestationAction) {
17348
+ let obj = new SecurityAction();
17349
+ obj.deserialize(params.InvalidAttestationAction)
17350
+ this.InvalidAttestationAction = obj;
17351
+ }
17352
+
17353
+ }
17354
+ }
17355
+
16336
17356
  /**
16337
17357
  * The configuration information of real-time log delivery to a custom HTTP(S) interface
16338
17358
  * @class
@@ -16507,6 +17527,39 @@ class ResponseSpeedLimitParameters extends AbstractModel {
16507
17527
  }
16508
17528
  }
16509
17529
 
17530
+ /**
17531
+ * Web security BOT managed rules architecture.
17532
+ * @class
17533
+ */
17534
+ class BotManagement extends AbstractModel {
17535
+ constructor(){
17536
+ super();
17537
+
17538
+ /**
17539
+ * Definition list of client authentication rules. feature in beta test. submit a ticket or contact smart customer service if needed.
17540
+ * @type {ClientAttestationRules || null}
17541
+ */
17542
+ this.ClientAttestationRules = null;
17543
+
17544
+ }
17545
+
17546
+ /**
17547
+ * @private
17548
+ */
17549
+ deserialize(params) {
17550
+ if (!params) {
17551
+ return;
17552
+ }
17553
+
17554
+ if (params.ClientAttestationRules) {
17555
+ let obj = new ClientAttestationRules();
17556
+ obj.deserialize(params.ClientAttestationRules)
17557
+ this.ClientAttestationRules = obj;
17558
+ }
17559
+
17560
+ }
17561
+ }
17562
+
16510
17563
  /**
16511
17564
  * DeleteL4Proxy request structure.
16512
17565
  * @class
@@ -17067,7 +18120,7 @@ class BillingData extends AbstractModel {
17067
18120
  super();
17068
18121
 
17069
18122
  /**
17070
- * Time.
18123
+ * Data timestamp.
17071
18124
  * @type {string || null}
17072
18125
  */
17073
18126
  this.Time = null;
@@ -17078,6 +18131,31 @@ class BillingData extends AbstractModel {
17078
18131
  */
17079
18132
  this.Value = null;
17080
18133
 
18134
+ /**
18135
+ * Zone ID (or content identifier if enabled).
18136
+ * @type {string || null}
18137
+ */
18138
+ this.ZoneId = null;
18139
+
18140
+ /**
18141
+ * Domain name.
18142
+ * @type {string || null}
18143
+ */
18144
+ this.Host = null;
18145
+
18146
+ /**
18147
+ * Layer-4 proxy instance ID.
18148
+ * @type {string || null}
18149
+ */
18150
+ this.ProxyId = null;
18151
+
18152
+ /**
18153
+ * Billing region (based on EdgeOne node location). Values:
18154
+ <li>CH: Mainland China</li> <li>AF: Africa</li> <li>AS1: Asia Pacific Region 1</li> <li>AS2: Asia Pacific Region 2</li> <li>AS3: Asia Pacific Region 3</li> <li>EU: Europe</li> <li>MidEast: Middle East</li> <li>NA: North America</li> <li>SA: South America</li>
18155
+ * @type {string || null}
18156
+ */
18157
+ this.RegionId = null;
18158
+
17081
18159
  }
17082
18160
 
17083
18161
  /**
@@ -17089,6 +18167,10 @@ class BillingData extends AbstractModel {
17089
18167
  }
17090
18168
  this.Time = 'Time' in params ? params.Time : null;
17091
18169
  this.Value = 'Value' in params ? params.Value : null;
18170
+ this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
18171
+ this.Host = 'Host' in params ? params.Host : null;
18172
+ this.ProxyId = 'ProxyId' in params ? params.ProxyId : null;
18173
+ this.RegionId = 'RegionId' in params ? params.RegionId : null;
17092
18174
 
17093
18175
  }
17094
18176
  }
@@ -17321,21 +18403,24 @@ class BindZoneToPlanResponse extends AbstractModel {
17321
18403
  }
17322
18404
 
17323
18405
  /**
17324
- * HTTP2 origin-pull configuration
18406
+ * DeleteWebSecurityTemplate request structure.
17325
18407
  * @class
17326
18408
  */
17327
- class UpstreamHTTP2Parameters extends AbstractModel {
18409
+ class DeleteWebSecurityTemplateRequest extends AbstractModel {
17328
18410
  constructor(){
17329
18411
  super();
17330
18412
 
17331
18413
  /**
17332
- * Whether to enable http2 origin-pull. valid values:.
17333
- <Li>`On`: enable;</li>
17334
- .
17335
- <Li>Off: disable.</li>.
18414
+ * Zone ID. The zone to which the target policy template belongs for access control. Use the DescribeWebSecurityTemplates interface to query the zone of the policy template.
17336
18415
  * @type {string || null}
17337
18416
  */
17338
- this.Switch = null;
18417
+ this.ZoneId = null;
18418
+
18419
+ /**
18420
+ * Policy template ID.
18421
+ * @type {string || null}
18422
+ */
18423
+ this.TemplateId = null;
17339
18424
 
17340
18425
  }
17341
18426
 
@@ -17346,7 +18431,8 @@ class UpstreamHTTP2Parameters extends AbstractModel {
17346
18431
  if (!params) {
17347
18432
  return;
17348
18433
  }
17349
- this.Switch = 'Switch' in params ? params.Switch : null;
18434
+ this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
18435
+ this.TemplateId = 'TemplateId' in params ? params.TemplateId : null;
17350
18436
 
17351
18437
  }
17352
18438
  }
@@ -19514,6 +20600,30 @@ Note: This field may return null, indicating that no valid value can be obtained
19514
20600
  */
19515
20601
  this.ManagedRules = null;
19516
20602
 
20603
+ /**
20604
+ * HTTP DDOS protection configuration.
20605
+ * @type {HttpDDoSProtection || null}
20606
+ */
20607
+ this.HttpDDoSProtection = null;
20608
+
20609
+ /**
20610
+ * Configures the rate limiting rule.
20611
+ * @type {RateLimitingRules || null}
20612
+ */
20613
+ this.RateLimitingRules = null;
20614
+
20615
+ /**
20616
+ * Exception rule configuration.
20617
+ * @type {ExceptionRules || null}
20618
+ */
20619
+ this.ExceptionRules = null;
20620
+
20621
+ /**
20622
+ * Bot management configuration.
20623
+ * @type {BotManagement || null}
20624
+ */
20625
+ this.BotManagement = null;
20626
+
19517
20627
  }
19518
20628
 
19519
20629
  /**
@@ -19536,6 +20646,30 @@ Note: This field may return null, indicating that no valid value can be obtained
19536
20646
  this.ManagedRules = obj;
19537
20647
  }
19538
20648
 
20649
+ if (params.HttpDDoSProtection) {
20650
+ let obj = new HttpDDoSProtection();
20651
+ obj.deserialize(params.HttpDDoSProtection)
20652
+ this.HttpDDoSProtection = obj;
20653
+ }
20654
+
20655
+ if (params.RateLimitingRules) {
20656
+ let obj = new RateLimitingRules();
20657
+ obj.deserialize(params.RateLimitingRules)
20658
+ this.RateLimitingRules = obj;
20659
+ }
20660
+
20661
+ if (params.ExceptionRules) {
20662
+ let obj = new ExceptionRules();
20663
+ obj.deserialize(params.ExceptionRules)
20664
+ this.ExceptionRules = obj;
20665
+ }
20666
+
20667
+ if (params.BotManagement) {
20668
+ let obj = new BotManagement();
20669
+ obj.deserialize(params.BotManagement)
20670
+ this.BotManagement = obj;
20671
+ }
20672
+
19539
20673
  }
19540
20674
  }
19541
20675
 
@@ -19920,65 +21054,30 @@ class DescribeDnsRecordsResponse extends AbstractModel {
19920
21054
  }
19921
21055
 
19922
21056
  /**
19923
- * DescribeDDoSAttackData request structure.
21057
+ * CreateWebSecurityTemplate request structure.
19924
21058
  * @class
19925
21059
  */
19926
- class DescribeDDoSAttackDataRequest extends AbstractModel {
21060
+ class CreateWebSecurityTemplateRequest extends AbstractModel {
19927
21061
  constructor(){
19928
21062
  super();
19929
21063
 
19930
21064
  /**
19931
- * The start time.
19932
- * @type {string || null}
19933
- */
19934
- this.StartTime = null;
19935
-
19936
- /**
19937
- * The end time. The query time range (`EndTime` - `StartTime`) must be less than or equal to 31 days.
21065
+ * Zone ID. Explicitly identifies the zone to which the policy template belongs for access control purposes.
19938
21066
  * @type {string || null}
19939
21067
  */
19940
- this.EndTime = null;
19941
-
19942
- /**
19943
- * Statistical metrics.
19944
- <li>`ddos_attackMaxBandwidth`: Peak attack bandwidth;</li>
19945
- <li>`ddos_attackMaxPackageRate`: Peak attack packet rate;</li>
19946
- <li>`ddos_attackBandwidth`: Time-series data of attack bandwidth;</li>
19947
- <li>`ddos_attackPackageRate`: Time-series data of attack packet rate.</li>
19948
- * @type {Array.<string> || null}
19949
- */
19950
- this.MetricNames = null;
19951
-
19952
- /**
19953
- * Zone ID set. This parameter is required. A maximum of 100 zone IDs can be passed in. If you need to query data for all zones under the Tencent Cloud main account, please use "*" instead. To query account-level data, you need to have full resource permissions for all zones of this interface.
19954
- * @type {Array.<string> || null}
19955
- */
19956
- this.ZoneIds = null;
19957
-
19958
- /**
19959
- * IDs of DDoS policies to be queried. All policies will be selected if this field is not specified.
19960
- * @type {Array.<number> || null}
19961
- */
19962
- this.PolicyIds = null;
21068
+ this.ZoneId = null;
19963
21069
 
19964
21070
  /**
19965
- * Query period granularity. Valid values:
19966
- <li>min: 1 minute;</li>
19967
- <li>5min: 5 minutes;</li>
19968
- <li>hour: 1 hour;</li>
19969
- <li>day: 1 day.</li>If this parameter is not filled in, the granularity will be automatically calculated based on the interval between the start time and end time. Specifically, data will be queried with a granularity of min, 5min, hour, and day respectively when the period is no more than 2 hours, no more than 2 days, no more than 7 days, and over 7 days.
21071
+ * Policy template name. Composed of Chinese characters, letters, digits, and underscores. Cannot begin with an underscore and must be less than or equal to 32 characters.
19970
21072
  * @type {string || null}
19971
21073
  */
19972
- this.Interval = null;
21074
+ this.TemplateName = null;
19973
21075
 
19974
21076
  /**
19975
- * Geolocation scope. Values:
19976
- <li>`overseas`: Regions outside the Chinese mainland</li>
19977
- <li>`mainland`: Chinese mainland</li>
19978
- <li>`global`: Global </li>If this field is not specified, the default value `global` is used.
19979
- * @type {string || null}
21077
+ * Web security policy template configuration. Generates default config if empty. Supported: Exception rules, custom rules, rate limiting rules, managed rules. Not supported: Bot management rules (under development).
21078
+ * @type {SecurityPolicy || null}
19980
21079
  */
19981
- this.Area = null;
21080
+ this.SecurityPolicy = null;
19982
21081
 
19983
21082
  }
19984
21083
 
@@ -19989,13 +21088,14 @@ class DescribeDDoSAttackDataRequest extends AbstractModel {
19989
21088
  if (!params) {
19990
21089
  return;
19991
21090
  }
19992
- this.StartTime = 'StartTime' in params ? params.StartTime : null;
19993
- this.EndTime = 'EndTime' in params ? params.EndTime : null;
19994
- this.MetricNames = 'MetricNames' in params ? params.MetricNames : null;
19995
- this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
19996
- this.PolicyIds = 'PolicyIds' in params ? params.PolicyIds : null;
19997
- this.Interval = 'Interval' in params ? params.Interval : null;
19998
- this.Area = 'Area' in params ? params.Area : null;
21091
+ this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
21092
+ this.TemplateName = 'TemplateName' in params ? params.TemplateName : null;
21093
+
21094
+ if (params.SecurityPolicy) {
21095
+ let obj = new SecurityPolicy();
21096
+ obj.deserialize(params.SecurityPolicy)
21097
+ this.SecurityPolicy = obj;
21098
+ }
19999
21099
 
20000
21100
  }
20001
21101
  }
@@ -20216,6 +21316,41 @@ class DescribeContentQuotaRequest extends AbstractModel {
20216
21316
  }
20217
21317
  }
20218
21318
 
21319
+ /**
21320
+ * Additional parameter for Web security Allow.
21321
+ * @class
21322
+ */
21323
+ class AllowActionParameters extends AbstractModel {
21324
+ constructor(){
21325
+ super();
21326
+
21327
+ /**
21328
+ * Minimum latency response time. when configured as 0s, it means no delay for direct response. supported units: <li>s: seconds, value ranges from 0 to 5.</li>.
21329
+ * @type {string || null}
21330
+ */
21331
+ this.MinDelayTime = null;
21332
+
21333
+ /**
21334
+ * Maximum delayed response time. supported units: <li>s: seconds, value ranges from 5 to 10.</li>.
21335
+ * @type {string || null}
21336
+ */
21337
+ this.MaxDelayTime = null;
21338
+
21339
+ }
21340
+
21341
+ /**
21342
+ * @private
21343
+ */
21344
+ deserialize(params) {
21345
+ if (!params) {
21346
+ return;
21347
+ }
21348
+ this.MinDelayTime = 'MinDelayTime' in params ? params.MinDelayTime : null;
21349
+ this.MaxDelayTime = 'MaxDelayTime' in params ? params.MaxDelayTime : null;
21350
+
21351
+ }
21352
+ }
21353
+
20219
21354
  /**
20220
21355
  * HSTS configuration
20221
21356
  * @class
@@ -20554,6 +21689,102 @@ class CreateApplicationProxyRuleResponse extends AbstractModel {
20554
21689
  }
20555
21690
  }
20556
21691
 
21692
+ /**
21693
+ * Specifies the rate limit configuration.
21694
+ * @class
21695
+ */
21696
+ class RateLimitingRule extends AbstractModel {
21697
+ constructor(){
21698
+ super();
21699
+
21700
+ /**
21701
+ * The ID of precise rate limiting. rule ID supports different rule configuration operations: <li><b>add</b> a new rule: leave the ID empty or do not specify the ID parameter.</li> <li><b>modify</b> an existing rule: specify the rule ID that needs to be updated/modified.</li> <li><b>delete</b> an existing rule: existing Rules not included in the Rules list under the RateLimitingRules parameter will be deleted.</li>.
21702
+ * @type {string || null}
21703
+ */
21704
+ this.Id = null;
21705
+
21706
+ /**
21707
+ * Specifies the name of the precise rate limit.
21708
+ * @type {string || null}
21709
+ */
21710
+ this.Name = null;
21711
+
21712
+ /**
21713
+ * The specific content of precise speed limit shall comply with the expression syntax. for detailed specifications, see the product documentation.
21714
+ * @type {string || null}
21715
+ */
21716
+ this.Condition = null;
21717
+
21718
+ /**
21719
+ * Rate threshold request feature match mode. this field is required when Enabled is on. when there are multiple conditions, composite multiple conditions will perform statistics count. the maximum number of conditions must not exceed 5. valid values: <li><b>http.request.ip</b>: client ip;</li> <li><b>http.request.xff_header_ip</b>: client ip (priority match xff header);</li> <li><b>http.request.uri.path</b>: request access path;</li> <li><b>http.request.cookies['session']</b>: Cookie named session, where session can be replaced with your own specified parameter;</li> <li><b>http.request.headers['user-agent']</b>: http header named user-agent, where user-agent can be replaced with your own specified parameter;</li> <li><b>http.request.ja3</b>: request ja3 fingerprint;</li> <li><b>http.request.uri.query['test']</b>: URL query parameter named test, where test can be replaced with your own specified parameter.</li>.
21720
+ * @type {Array.<string> || null}
21721
+ */
21722
+ this.CountBy = null;
21723
+
21724
+ /**
21725
+ * Precision rate limiting specifies the cumulative number of interceptions within the time range. value ranges from 1 to 100000.
21726
+ * @type {number || null}
21727
+ */
21728
+ this.MaxRequestThreshold = null;
21729
+
21730
+ /**
21731
+ * Specifies the time window for statistics. valid values: <li>1s: 1 second;</li><li>5s: 5 seconds;</li><li>10s: 10 seconds;</li><li>20s: 20 seconds;</li><li>30s: 30 seconds;</li><li>40s: 40 seconds;</li><li>50s: 50 seconds;</li><li>1m: 1 minute;</li><li>2m: 2 minutes;</li><li>5m: 5 minutes;</li><li>10m: 10 minutes;</li><li>1h: 1 hour.</li>.
21732
+ * @type {string || null}
21733
+ */
21734
+ this.CountingPeriod = null;
21735
+
21736
+ /**
21737
+ * The duration of an Action is only supported in the following units: <li>s: seconds, value range 1–120;</li> <li>m: minutes, value range 1–120;</li> <li>h: hours, value range 1–48;</li> <li>d: days, value range 1–30.</li>.
21738
+ * @type {string || null}
21739
+ */
21740
+ this.ActionDuration = null;
21741
+
21742
+ /**
21743
+ * Precision rate limiting handling methods. valid values: <li>Monitor: Monitor;</li> <li>Deny: block, where DenyActionParameters.Name supports Deny and ReturnCustomPage;</li> <li>Challenge: Challenge, where ChallengeActionParameters.Name supports JSChallenge and ManagedChallenge;</li> <li>Redirect: Redirect to URL;</li>.
21744
+ * @type {SecurityAction || null}
21745
+ */
21746
+ this.Action = null;
21747
+
21748
+ /**
21749
+ * Precision rate limiting specifies the priority. value range is 0 to 100. default is 0.
21750
+ * @type {number || null}
21751
+ */
21752
+ this.Priority = null;
21753
+
21754
+ /**
21755
+ * Whether the precise rate limiting rule is enabled. valid values: <li>on: enabled;</li> <li>off: disabled.</li>.
21756
+ * @type {string || null}
21757
+ */
21758
+ this.Enabled = null;
21759
+
21760
+ }
21761
+
21762
+ /**
21763
+ * @private
21764
+ */
21765
+ deserialize(params) {
21766
+ if (!params) {
21767
+ return;
21768
+ }
21769
+ this.Id = 'Id' in params ? params.Id : null;
21770
+ this.Name = 'Name' in params ? params.Name : null;
21771
+ this.Condition = 'Condition' in params ? params.Condition : null;
21772
+ this.CountBy = 'CountBy' in params ? params.CountBy : null;
21773
+ this.MaxRequestThreshold = 'MaxRequestThreshold' in params ? params.MaxRequestThreshold : null;
21774
+ this.CountingPeriod = 'CountingPeriod' in params ? params.CountingPeriod : null;
21775
+ this.ActionDuration = 'ActionDuration' in params ? params.ActionDuration : null;
21776
+
21777
+ if (params.Action) {
21778
+ let obj = new SecurityAction();
21779
+ obj.deserialize(params.Action)
21780
+ this.Action = obj;
21781
+ }
21782
+ this.Priority = 'Priority' in params ? params.Priority : null;
21783
+ this.Enabled = 'Enabled' in params ? params.Enabled : null;
21784
+
21785
+ }
21786
+ }
21787
+
20557
21788
  /**
20558
21789
  * HTTPS server certificate configuration
20559
21790
  * @class
@@ -21912,81 +23143,6 @@ class DescribeSecurityIPGroupInfoRequest extends AbstractModel {
21912
23143
  }
21913
23144
  }
21914
23145
 
21915
- /**
21916
- * The scope to which the exception rule applies
21917
- * @class
21918
- */
21919
- class ExceptUserRuleScope extends AbstractModel {
21920
- constructor(){
21921
- super();
21922
-
21923
- /**
21924
- * Exception mode. Values:
21925
- <li>`complete`: Skip the exception rule for full requests.</li>
21926
- <li>`partial`: Skip the exception rule for partial requests.</li>
21927
- * @type {string || null}
21928
- */
21929
- this.Type = null;
21930
-
21931
- /**
21932
- * The module to be activated. Values:
21933
- <li>`waf`: Tencent Cloud-managed rules</li>
21934
- <li>`rate`: Rate limiting rules</li>
21935
- <li>`acl`: Custom rule</li>
21936
- <li>`cc`: CC attack defense</li>
21937
- <li>`bot`: Bot protection</li>
21938
- Note: this field may return `null`, indicating that no valid value is obtained.
21939
- * @type {Array.<string> || null}
21940
- */
21941
- this.Modules = null;
21942
-
21943
- /**
21944
- * Module settings of the exception rule. If it is null, the settings that were last configured will be used.
21945
- Note: This field may return `null`, indicating that no valid value can be obtained.
21946
- * @type {Array.<PartialModule> || null}
21947
- */
21948
- this.PartialModules = null;
21949
-
21950
- /**
21951
- * Condition settings of the exception rule. If it is null, the settings that were last configured will be used.
21952
- Note: This field may return `null`, indicating that no valid value can be obtained.
21953
- * @type {Array.<SkipCondition> || null}
21954
- */
21955
- this.SkipConditions = null;
21956
-
21957
- }
21958
-
21959
- /**
21960
- * @private
21961
- */
21962
- deserialize(params) {
21963
- if (!params) {
21964
- return;
21965
- }
21966
- this.Type = 'Type' in params ? params.Type : null;
21967
- this.Modules = 'Modules' in params ? params.Modules : null;
21968
-
21969
- if (params.PartialModules) {
21970
- this.PartialModules = new Array();
21971
- for (let z in params.PartialModules) {
21972
- let obj = new PartialModule();
21973
- obj.deserialize(params.PartialModules[z]);
21974
- this.PartialModules.push(obj);
21975
- }
21976
- }
21977
-
21978
- if (params.SkipConditions) {
21979
- this.SkipConditions = new Array();
21980
- for (let z in params.SkipConditions) {
21981
- let obj = new SkipCondition();
21982
- obj.deserialize(params.SkipConditions[z]);
21983
- this.SkipConditions.push(obj);
21984
- }
21985
- }
21986
-
21987
- }
21988
- }
21989
-
21990
23146
  /**
21991
23147
  * Module settings of the exception rule
21992
23148
  * @class
@@ -22137,26 +23293,116 @@ class AccelerateType extends AbstractModel {
22137
23293
  }
22138
23294
  this.Switch = 'Switch' in params ? params.Switch : null;
22139
23295
 
22140
- }
22141
- }
23296
+ }
23297
+ }
23298
+
23299
+ /**
23300
+ * Real-time log delivery conditions used to define the scope of log delivery. The relationship between items in a DeliveryCondition array is "or", whereas the relationship between items in an inner Conditions array is "and".
23301
+ * @class
23302
+ */
23303
+ class DeliveryCondition extends AbstractModel {
23304
+ constructor(){
23305
+ super();
23306
+
23307
+ /**
23308
+ * Log filter criteria. The detailed filter criteria are as follows:
23309
+ <li>EdgeResponseStatusCode: Filter by response status code returned from the EdgeOne node to the client.<br>?? Supported operators: equal, great, less, great_equal, less_equal<br>?? Valid values: any integer greater than or equal to 0</li>
23310
+ <li>OriginResponseStatusCode: Filter by response status code of the origin server.<br>?? Supported operators: equal, great, less, great_equal, less_equal.<br>?? Valid values: any integer greater than or equal to -1</li>
23311
+ <li>SecurityAction: Filter by final action after the request matches a security rule.<br>?? Supported operator: equal<br>?? Options:<br>?? -: unknown/not matched<br>?? Monitor: observation<br>?? JSChallenge: JavaScript challenge<br>?? Deny: blocking<br>?? Allow: allowing<br>?? BlockIP: IP blocking<br>?? Redirect: redirection<br>?? ReturnCustomPage: returning to a custom page<br>?? ManagedChallenge: managed challenge<br>?? Silence: silence<br>?? LongDelay: response after a long delay<br>?? ShortDelay: response after a short delay</li>
23312
+ <li>SecurityModule: Filter by name of the security module finally handling the request.<br>??Supported operator: equal<br>??Options:<br>?? -: unknown/not matched<br>?? CustomRule: Custom Rules in Web Protection<br>?? RateLimitingCustomRule: Rate Limiting Rules in Web Protection<br>?? ManagedRule: Managed Rules in Web Protection<br>?? L7DDoS: CC Attack Defense in Web Protection<br>?? BotManagement: Bot Basic Management in Bot Management<br>?? BotClientReputation: Client Reputation Analysis in Bot Management<br>?? BotBehaviorAnalysis: Bot Intelligent Analysis in Bot Management<br>?? BotCustomRule: Custom Bot Rules in Bot Management<br>?? BotActiveDetection: Active Detection in Bot Management</li>
23313
+ * @type {Array.<QueryCondition> || null}
23314
+ */
23315
+ this.Conditions = null;
23316
+
23317
+ }
23318
+
23319
+ /**
23320
+ * @private
23321
+ */
23322
+ deserialize(params) {
23323
+ if (!params) {
23324
+ return;
23325
+ }
23326
+
23327
+ if (params.Conditions) {
23328
+ this.Conditions = new Array();
23329
+ for (let z in params.Conditions) {
23330
+ let obj = new QueryCondition();
23331
+ obj.deserialize(params.Conditions[z]);
23332
+ this.Conditions.push(obj);
23333
+ }
23334
+ }
23335
+
23336
+ }
23337
+ }
23338
+
23339
+ /**
23340
+ * Web security exception rule.
23341
+ * @class
23342
+ */
23343
+ class ExceptionRule extends AbstractModel {
23344
+ constructor(){
23345
+ super();
23346
+
23347
+ /**
23348
+ * The ID of the exception rule. different rule configuration operations are supported by rule ID: <li> <b>add</b> a new rule: leave the ID empty or do not specify the ID parameter.</li> <li> <b>modify</b> an existing rule: specify the rule ID that needs to be updated/modified.</li> <li> <b>delete</b> an existing rule: existing Rules not included in the Rules list under the ExceptionRules parameter will be deleted.</li>.
23349
+ * @type {string || null}
23350
+ */
23351
+ this.Id = null;
23352
+
23353
+ /**
23354
+ * The name of the exception rule.
23355
+ * @type {string || null}
23356
+ */
23357
+ this.Name = null;
23358
+
23359
+ /**
23360
+ * Describes the specific content of the exception rule, which must comply with the expression grammar. for details, please refer to the product document.
23361
+ * @type {string || null}
23362
+ */
23363
+ this.Condition = null;
23364
+
23365
+ /**
23366
+ * Exception rule execution options, valid values: <li>WebSecurityModules: designate the security protection module for the exception rule.</li> <li>ManagedRules: designate the managed rule.</li>.
23367
+ * @type {string || null}
23368
+ */
23369
+ this.SkipScope = null;
23370
+
23371
+ /**
23372
+ * Skip the specific type of request. valid values: <li>SkipOnAllRequestFields: skip all requests;</li> <li>SkipOnSpecifiedRequestFields: skip specified request fields.</li> valid only when SkipScope is ManagedRules.
23373
+ * @type {string || null}
23374
+ */
23375
+ this.SkipOption = null;
23376
+
23377
+ /**
23378
+ * Specifies the security protection module for exception rules. valid only when SkipScope is WebSecurityModules. valid values: <li>websec-mod-managed-rules: managed rule.</li><li>websec-mod-rate-limiting: rate limit.</li><li>websec-mod-custom-rules: custom rule.</li><li>websec-mod-adaptive-control: adaptive frequency control, intelligent client filtering, slow attack protection, traffic theft protection.</li><li>websec-mod-bot: bot management.</li>.
23379
+ * @type {Array.<string> || null}
23380
+ */
23381
+ this.WebSecurityModulesForException = null;
23382
+
23383
+ /**
23384
+ * Specifies the managed rule for the exception rule. valid only when SkipScope is ManagedRules. cannot specify ManagedRuleGroupsForException at this time.
23385
+ * @type {Array.<string> || null}
23386
+ */
23387
+ this.ManagedRulesForException = null;
22142
23388
 
22143
- /**
22144
- * Real-time log delivery conditions used to define the scope of log delivery. The relationship between items in a DeliveryCondition array is "or", whereas the relationship between items in an inner Conditions array is "and".
22145
- * @class
22146
- */
22147
- class DeliveryCondition extends AbstractModel {
22148
- constructor(){
22149
- super();
23389
+ /**
23390
+ * A managed rule group with designated exception rules is valid only when SkipScope is ManagedRules, and at this point you cannot specify ManagedRulesForException.
23391
+ * @type {Array.<string> || null}
23392
+ */
23393
+ this.ManagedRuleGroupsForException = null;
22150
23394
 
22151
23395
  /**
22152
- * Log filter criteria. The detailed filter criteria are as follows:
22153
- <li>EdgeResponseStatusCode: Filter by response status code returned from the EdgeOne node to the client.<br>?? Supported operators: equal, great, less, great_equal, less_equal<br>?? Valid values: any integer greater than or equal to 0</li>
22154
- <li>OriginResponseStatusCode: Filter by response status code of the origin server.<br>?? Supported operators: equal, great, less, great_equal, less_equal.<br>?? Valid values: any integer greater than or equal to -1</li>
22155
- <li>SecurityAction: Filter by final action after the request matches a security rule.<br>?? Supported operator: equal<br>?? Options:<br>?? -: unknown/not matched<br>?? Monitor: observation<br>?? JSChallenge: JavaScript challenge<br>?? Deny: blocking<br>?? Allow: allowing<br>?? BlockIP: IP blocking<br>?? Redirect: redirection<br>?? ReturnCustomPage: returning to a custom page<br>?? ManagedChallenge: managed challenge<br>?? Silence: silence<br>?? LongDelay: response after a long delay<br>?? ShortDelay: response after a short delay</li>
22156
- <li>SecurityModule: Filter by name of the security module finally handling the request.<br>??Supported operator: equal<br>??Options:<br>?? -: unknown/not matched<br>?? CustomRule: Custom Rules in Web Protection<br>?? RateLimitingCustomRule: Rate Limiting Rules in Web Protection<br>?? ManagedRule: Managed Rules in Web Protection<br>?? L7DDoS: CC Attack Defense in Web Protection<br>?? BotManagement: Bot Basic Management in Bot Management<br>?? BotClientReputation: Client Reputation Analysis in Bot Management<br>?? BotBehaviorAnalysis: Bot Intelligent Analysis in Bot Management<br>?? BotCustomRule: Custom Bot Rules in Bot Management<br>?? BotActiveDetection: Active Detection in Bot Management</li>
22157
- * @type {Array.<QueryCondition> || null}
23396
+ * Specify exception rules to skip request fields. valid only when SkipScope is ManagedRules and SkipOption is SkipOnSpecifiedRequestFields.
23397
+ * @type {Array.<RequestFieldsForException> || null}
22158
23398
  */
22159
- this.Conditions = null;
23399
+ this.RequestFieldsForException = null;
23400
+
23401
+ /**
23402
+ * Whether the exception rule is enabled. valid values: <li>`on`: enable</li> <li>`off`: disable</li>.
23403
+ * @type {string || null}
23404
+ */
23405
+ this.Enabled = null;
22160
23406
 
22161
23407
  }
22162
23408
 
@@ -22167,15 +23413,24 @@ class DeliveryCondition extends AbstractModel {
22167
23413
  if (!params) {
22168
23414
  return;
22169
23415
  }
22170
-
22171
- if (params.Conditions) {
22172
- this.Conditions = new Array();
22173
- for (let z in params.Conditions) {
22174
- let obj = new QueryCondition();
22175
- obj.deserialize(params.Conditions[z]);
22176
- this.Conditions.push(obj);
23416
+ this.Id = 'Id' in params ? params.Id : null;
23417
+ this.Name = 'Name' in params ? params.Name : null;
23418
+ this.Condition = 'Condition' in params ? params.Condition : null;
23419
+ this.SkipScope = 'SkipScope' in params ? params.SkipScope : null;
23420
+ this.SkipOption = 'SkipOption' in params ? params.SkipOption : null;
23421
+ this.WebSecurityModulesForException = 'WebSecurityModulesForException' in params ? params.WebSecurityModulesForException : null;
23422
+ this.ManagedRulesForException = 'ManagedRulesForException' in params ? params.ManagedRulesForException : null;
23423
+ this.ManagedRuleGroupsForException = 'ManagedRuleGroupsForException' in params ? params.ManagedRuleGroupsForException : null;
23424
+
23425
+ if (params.RequestFieldsForException) {
23426
+ this.RequestFieldsForException = new Array();
23427
+ for (let z in params.RequestFieldsForException) {
23428
+ let obj = new RequestFieldsForException();
23429
+ obj.deserialize(params.RequestFieldsForException[z]);
23430
+ this.RequestFieldsForException.push(obj);
22177
23431
  }
22178
23432
  }
23433
+ this.Enabled = 'Enabled' in params ? params.Enabled : null;
22179
23434
 
22180
23435
  }
22181
23436
  }
@@ -23061,18 +24316,36 @@ class DeleteContentIdentifierResponse extends AbstractModel {
23061
24316
  }
23062
24317
 
23063
24318
  /**
23064
- * HandleFunctionRuntimeEnvironment response structure.
24319
+ * DescribeHostsSetting request structure.
23065
24320
  * @class
23066
24321
  */
23067
- class HandleFunctionRuntimeEnvironmentResponse extends AbstractModel {
24322
+ class DescribeHostsSettingRequest extends AbstractModel {
23068
24323
  constructor(){
23069
24324
  super();
23070
24325
 
23071
24326
  /**
23072
- * 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.
24327
+ * The site ID.
23073
24328
  * @type {string || null}
23074
24329
  */
23075
- this.RequestId = null;
24330
+ this.ZoneId = null;
24331
+
24332
+ /**
24333
+ * Offset for paginated queries. Default value: 0. Minimum value: 0.
24334
+ * @type {number || null}
24335
+ */
24336
+ this.Offset = null;
24337
+
24338
+ /**
24339
+ * Limit on paginated queries. Default value: 100. Maximum value: 1000.
24340
+ * @type {number || null}
24341
+ */
24342
+ this.Limit = null;
24343
+
24344
+ /**
24345
+ * Filter conditions. The maximum value for Filters.Values is 20. The detailed conditions are as follows:<li>host: Filter by domain name.</li>
24346
+ * @type {Array.<Filter> || null}
24347
+ */
24348
+ this.Filters = null;
23076
24349
 
23077
24350
  }
23078
24351
 
@@ -23083,7 +24356,18 @@ class HandleFunctionRuntimeEnvironmentResponse extends AbstractModel {
23083
24356
  if (!params) {
23084
24357
  return;
23085
24358
  }
23086
- this.RequestId = 'RequestId' in params ? params.RequestId : null;
24359
+ this.ZoneId = 'ZoneId' in params ? params.ZoneId : null;
24360
+ this.Offset = 'Offset' in params ? params.Offset : null;
24361
+ this.Limit = 'Limit' in params ? params.Limit : null;
24362
+
24363
+ if (params.Filters) {
24364
+ this.Filters = new Array();
24365
+ for (let z in params.Filters) {
24366
+ let obj = new Filter();
24367
+ obj.deserialize(params.Filters[z]);
24368
+ this.Filters.push(obj);
24369
+ }
24370
+ }
23087
24371
 
23088
24372
  }
23089
24373
  }
@@ -23803,6 +25087,46 @@ class ModifyZoneResponse extends AbstractModel {
23803
25087
  }
23804
25088
  }
23805
25089
 
25090
+ /**
25091
+ * Intelligent client filtering.
25092
+ * @class
25093
+ */
25094
+ class ClientFiltering extends AbstractModel {
25095
+ constructor(){
25096
+ super();
25097
+
25098
+ /**
25099
+ * Whether intelligent client filtering is enabled. valid values: <li>on: enable;</li> <li>off: disable.</li>.
25100
+ * @type {string || null}
25101
+ */
25102
+ this.Enabled = null;
25103
+
25104
+ /**
25105
+ * The handling method of intelligent client filtering. when Enabled is on, this field is required. the Name parameter of SecurityAction supports: <li>Monitor: observation;</li> <li>Deny: block;</li> <li>Challenge: Challenge, where ChallengeActionParameters.Name only supports JSChallenge.</li>.
25106
+ * @type {SecurityAction || null}
25107
+ */
25108
+ this.Action = null;
25109
+
25110
+ }
25111
+
25112
+ /**
25113
+ * @private
25114
+ */
25115
+ deserialize(params) {
25116
+ if (!params) {
25117
+ return;
25118
+ }
25119
+ this.Enabled = 'Enabled' in params ? params.Enabled : null;
25120
+
25121
+ if (params.Action) {
25122
+ let obj = new SecurityAction();
25123
+ obj.deserialize(params.Action)
25124
+ this.Action = obj;
25125
+ }
25126
+
25127
+ }
25128
+ }
25129
+
23806
25130
  /**
23807
25131
  * DescribeTopL7CacheData request structure.
23808
25132
  * @class
@@ -25850,6 +27174,151 @@ class Quic extends AbstractModel {
25850
27174
  }
25851
27175
  }
25852
27176
 
27177
+ /**
27178
+ * DescribeDDoSAttackData request structure.
27179
+ * @class
27180
+ */
27181
+ class DescribeDDoSAttackDataRequest extends AbstractModel {
27182
+ constructor(){
27183
+ super();
27184
+
27185
+ /**
27186
+ * The start time.
27187
+ * @type {string || null}
27188
+ */
27189
+ this.StartTime = null;
27190
+
27191
+ /**
27192
+ * The end time. The query time range (`EndTime` - `StartTime`) must be less than or equal to 31 days.
27193
+ * @type {string || null}
27194
+ */
27195
+ this.EndTime = null;
27196
+
27197
+ /**
27198
+ * Statistical metrics.
27199
+ <li>`ddos_attackMaxBandwidth`: Peak attack bandwidth;</li>
27200
+ <li>`ddos_attackMaxPackageRate`: Peak attack packet rate;</li>
27201
+ <li>`ddos_attackBandwidth`: Time-series data of attack bandwidth;</li>
27202
+ <li>`ddos_attackPackageRate`: Time-series data of attack packet rate.</li>
27203
+ * @type {Array.<string> || null}
27204
+ */
27205
+ this.MetricNames = null;
27206
+
27207
+ /**
27208
+ * Zone ID set. This parameter is required. A maximum of 100 zone IDs can be passed in. If you need to query data for all zones under the Tencent Cloud main account, please use "*" instead. To query account-level data, you need to have full resource permissions for all zones of this interface.
27209
+ * @type {Array.<string> || null}
27210
+ */
27211
+ this.ZoneIds = null;
27212
+
27213
+ /**
27214
+ * IDs of DDoS policies to be queried. All policies will be selected if this field is not specified.
27215
+ * @type {Array.<number> || null}
27216
+ */
27217
+ this.PolicyIds = null;
27218
+
27219
+ /**
27220
+ * Query period granularity. Valid values:
27221
+ <li>min: 1 minute;</li>
27222
+ <li>5min: 5 minutes;</li>
27223
+ <li>hour: 1 hour;</li>
27224
+ <li>day: 1 day.</li>If this parameter is not filled in, the granularity will be automatically calculated based on the interval between the start time and end time. Specifically, data will be queried with a granularity of min, 5min, hour, and day respectively when the period is no more than 2 hours, no more than 2 days, no more than 7 days, and over 7 days.
27225
+ * @type {string || null}
27226
+ */
27227
+ this.Interval = null;
27228
+
27229
+ /**
27230
+ * Geolocation scope. Values:
27231
+ <li>`overseas`: Regions outside the Chinese mainland</li>
27232
+ <li>`mainland`: Chinese mainland</li>
27233
+ <li>`global`: Global </li>If this field is not specified, the default value `global` is used.
27234
+ * @type {string || null}
27235
+ */
27236
+ this.Area = null;
27237
+
27238
+ }
27239
+
27240
+ /**
27241
+ * @private
27242
+ */
27243
+ deserialize(params) {
27244
+ if (!params) {
27245
+ return;
27246
+ }
27247
+ this.StartTime = 'StartTime' in params ? params.StartTime : null;
27248
+ this.EndTime = 'EndTime' in params ? params.EndTime : null;
27249
+ this.MetricNames = 'MetricNames' in params ? params.MetricNames : null;
27250
+ this.ZoneIds = 'ZoneIds' in params ? params.ZoneIds : null;
27251
+ this.PolicyIds = 'PolicyIds' in params ? params.PolicyIds : null;
27252
+ this.Interval = 'Interval' in params ? params.Interval : null;
27253
+ this.Area = 'Area' in params ? params.Area : null;
27254
+
27255
+ }
27256
+ }
27257
+
27258
+ /**
27259
+ * Slow attack protection configuration.
27260
+ * @class
27261
+ */
27262
+ class SlowAttackDefense extends AbstractModel {
27263
+ constructor(){
27264
+ super();
27265
+
27266
+ /**
27267
+ * Whether slow attack protection is enabled. valid values: <li>on: enabled;</li> <li>off: disabled.</li>.
27268
+ * @type {string || null}
27269
+ */
27270
+ this.Enabled = null;
27271
+
27272
+ /**
27273
+ * Slow attack protection handling method. required when Enabled is on. valid values for SecurityAction Name: <li>Monitor: observation;</li> <li>Deny: block;</li>.
27274
+ * @type {SecurityAction || null}
27275
+ */
27276
+ this.Action = null;
27277
+
27278
+ /**
27279
+ * The specific configuration of the minimum body transfer rate threshold is required when Enabled is on.
27280
+ * @type {MinimalRequestBodyTransferRate || null}
27281
+ */
27282
+ this.MinimalRequestBodyTransferRate = null;
27283
+
27284
+ /**
27285
+ * Specifies the specific configuration of body transfer timeout duration. required when Enabled is on.
27286
+ * @type {RequestBodyTransferTimeout || null}
27287
+ */
27288
+ this.RequestBodyTransferTimeout = null;
27289
+
27290
+ }
27291
+
27292
+ /**
27293
+ * @private
27294
+ */
27295
+ deserialize(params) {
27296
+ if (!params) {
27297
+ return;
27298
+ }
27299
+ this.Enabled = 'Enabled' in params ? params.Enabled : null;
27300
+
27301
+ if (params.Action) {
27302
+ let obj = new SecurityAction();
27303
+ obj.deserialize(params.Action)
27304
+ this.Action = obj;
27305
+ }
27306
+
27307
+ if (params.MinimalRequestBodyTransferRate) {
27308
+ let obj = new MinimalRequestBodyTransferRate();
27309
+ obj.deserialize(params.MinimalRequestBodyTransferRate)
27310
+ this.MinimalRequestBodyTransferRate = obj;
27311
+ }
27312
+
27313
+ if (params.RequestBodyTransferTimeout) {
27314
+ let obj = new RequestBodyTransferTimeout();
27315
+ obj.deserialize(params.RequestBodyTransferTimeout)
27316
+ this.RequestBodyTransferTimeout = obj;
27317
+ }
27318
+
27319
+ }
27320
+ }
27321
+
25853
27322
  /**
25854
27323
  * CreateCLSIndex request structure.
25855
27324
  * @class
@@ -27958,33 +29427,24 @@ class OriginGroupInLoadBalancer extends AbstractModel {
27958
29427
  }
27959
29428
 
27960
29429
  /**
27961
- * Health status of origin servers in each health check region.
29430
+ * HTTP response configuration parameters.
27962
29431
  * @class
27963
29432
  */
27964
- class CheckRegionHealthStatus extends AbstractModel {
29433
+ class HTTPResponseParameters extends AbstractModel {
27965
29434
  constructor(){
27966
29435
  super();
27967
29436
 
27968
29437
  /**
27969
- * Health check region, which is a two-letter code according to ISO-3166-1.
27970
- * @type {string || null}
27971
- */
27972
- this.Region = null;
27973
-
27974
- /**
27975
- * Health status of origin servers in a single health check region. Valid values:
27976
- <li>Healthy: healthy.</li>
27977
- <li>Unhealthy: unhealthy.</li>
27978
- <li>Undetected: no data detected.</li>Note: If all origin servers in a single health check region are healthy, the status is healthy; otherwise, it is unhealthy.
27979
- * @type {string || null}
29438
+ * Response status code. supports 2xx, 4xx, 5xx, excluding 499, 514, 101, 301, 302, 303, 509, 520-599.
29439
+ * @type {number || null}
27980
29440
  */
27981
- this.Healthy = null;
29441
+ this.StatusCode = null;
27982
29442
 
27983
29443
  /**
27984
- * Origin server health status.
27985
- * @type {Array.<OriginHealthStatus> || null}
29444
+ * Response page id.
29445
+ * @type {string || null}
27986
29446
  */
27987
- this.OriginHealthStatus = null;
29447
+ this.ResponsePage = null;
27988
29448
 
27989
29449
  }
27990
29450
 
@@ -27995,17 +29455,8 @@ class CheckRegionHealthStatus extends AbstractModel {
27995
29455
  if (!params) {
27996
29456
  return;
27997
29457
  }
27998
- this.Region = 'Region' in params ? params.Region : null;
27999
- this.Healthy = 'Healthy' in params ? params.Healthy : null;
28000
-
28001
- if (params.OriginHealthStatus) {
28002
- this.OriginHealthStatus = new Array();
28003
- for (let z in params.OriginHealthStatus) {
28004
- let obj = new OriginHealthStatus();
28005
- obj.deserialize(params.OriginHealthStatus[z]);
28006
- this.OriginHealthStatus.push(obj);
28007
- }
28008
- }
29458
+ this.StatusCode = 'StatusCode' in params ? params.StatusCode : null;
29459
+ this.ResponsePage = 'ResponsePage' in params ? params.ResponsePage : null;
28009
29460
 
28010
29461
  }
28011
29462
  }
@@ -28158,6 +29609,49 @@ class AccelerateMainland extends AbstractModel {
28158
29609
  }
28159
29610
  }
28160
29611
 
29612
+ /**
29613
+ * Web security Challenge additional parameter.
29614
+ * @class
29615
+ */
29616
+ class ChallengeActionParameters extends AbstractModel {
29617
+ constructor(){
29618
+ super();
29619
+
29620
+ /**
29621
+ * Safe execution challenge actions. valid values: <li> InterstitialChallenge: interstitial challenge;</li> <li> InlineChallenge: embedded challenge;</li> <li> JSChallenge: JavaScript challenge;</li> <li> ManagedChallenge: managed challenge.</li>.
29622
+ * @type {string || null}
29623
+ */
29624
+ this.ChallengeOption = null;
29625
+
29626
+ /**
29627
+ * Specifies the time interval for challenge repetition. this field is required when Name is InterstitialChallenge/InlineChallenge. default value is 300s. supported units: <li>s: second, value ranges from 1 to 60;</li><li>m: minute, value ranges from 1 to 60;</li><li>h: hour, value ranges from 1 to 24.</li>.
29628
+
29629
+ * @type {string || null}
29630
+ */
29631
+ this.Interval = null;
29632
+
29633
+ /**
29634
+ * Client authentication method ID. this field is required when Name is InterstitialChallenge/InlineChallenge.
29635
+ * @type {string || null}
29636
+ */
29637
+ this.AttesterId = null;
29638
+
29639
+ }
29640
+
29641
+ /**
29642
+ * @private
29643
+ */
29644
+ deserialize(params) {
29645
+ if (!params) {
29646
+ return;
29647
+ }
29648
+ this.ChallengeOption = 'ChallengeOption' in params ? params.ChallengeOption : null;
29649
+ this.Interval = 'Interval' in params ? params.Interval : null;
29650
+ this.AttesterId = 'AttesterId' in params ? params.AttesterId : null;
29651
+
29652
+ }
29653
+ }
29654
+
28161
29655
  /**
28162
29656
  * Standard debugging
28163
29657
  * @class
@@ -29562,6 +31056,56 @@ class Function extends AbstractModel {
29562
31056
  }
29563
31057
  }
29564
31058
 
31059
+ /**
31060
+ * DescribeWebSecurityTemplates response structure.
31061
+ * @class
31062
+ */
31063
+ class DescribeWebSecurityTemplatesResponse extends AbstractModel {
31064
+ constructor(){
31065
+ super();
31066
+
31067
+ /**
31068
+ * Total number of policy templates.
31069
+ * @type {number || null}
31070
+ */
31071
+ this.TotalCount = null;
31072
+
31073
+ /**
31074
+ * List of policy templates.
31075
+ * @type {Array.<SecurityPolicyTemplateInfo> || null}
31076
+ */
31077
+ this.SecurityPolicyTemplates = null;
31078
+
31079
+ /**
31080
+ * 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.
31081
+ * @type {string || null}
31082
+ */
31083
+ this.RequestId = null;
31084
+
31085
+ }
31086
+
31087
+ /**
31088
+ * @private
31089
+ */
31090
+ deserialize(params) {
31091
+ if (!params) {
31092
+ return;
31093
+ }
31094
+ this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
31095
+
31096
+ if (params.SecurityPolicyTemplates) {
31097
+ this.SecurityPolicyTemplates = new Array();
31098
+ for (let z in params.SecurityPolicyTemplates) {
31099
+ let obj = new SecurityPolicyTemplateInfo();
31100
+ obj.deserialize(params.SecurityPolicyTemplates[z]);
31101
+ this.SecurityPolicyTemplates.push(obj);
31102
+ }
31103
+ }
31104
+ this.RequestId = 'RequestId' in params ? params.RequestId : null;
31105
+
31106
+ }
31107
+ }
31108
+
29565
31109
  /**
29566
31110
  * Purging/Pre-warming available usage and quota
29567
31111
  * @class
@@ -29900,6 +31444,41 @@ class DeleteDnsRecordsResponse extends AbstractModel {
29900
31444
  }
29901
31445
  }
29902
31446
 
31447
+ /**
31448
+ * CreateWebSecurityTemplate response structure.
31449
+ * @class
31450
+ */
31451
+ class CreateWebSecurityTemplateResponse extends AbstractModel {
31452
+ constructor(){
31453
+ super();
31454
+
31455
+ /**
31456
+ * Policy template ID.
31457
+ * @type {string || null}
31458
+ */
31459
+ this.TemplateId = null;
31460
+
31461
+ /**
31462
+ * 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.
31463
+ * @type {string || null}
31464
+ */
31465
+ this.RequestId = null;
31466
+
31467
+ }
31468
+
31469
+ /**
31470
+ * @private
31471
+ */
31472
+ deserialize(params) {
31473
+ if (!params) {
31474
+ return;
31475
+ }
31476
+ this.TemplateId = 'TemplateId' in params ? params.TemplateId : null;
31477
+ this.RequestId = 'RequestId' in params ? params.RequestId : null;
31478
+
31479
+ }
31480
+ }
31481
+
29903
31482
  /**
29904
31483
  * DescribePurgeTasks response structure.
29905
31484
  * @class
@@ -29951,24 +31530,102 @@ class DescribePurgeTasksResponse extends AbstractModel {
29951
31530
  }
29952
31531
 
29953
31532
  /**
29954
- * HTTP response configuration parameters.
31533
+ * HTTP DDOS protection configuration.
29955
31534
  * @class
29956
31535
  */
29957
- class HTTPResponseParameters extends AbstractModel {
31536
+ class HttpDDoSProtection extends AbstractModel {
29958
31537
  constructor(){
29959
31538
  super();
29960
31539
 
29961
31540
  /**
29962
- * Response status code. supports 2xx, 4xx, 5xx, excluding 499, 514, 101, 301, 302, 303, 509, 520-599.
29963
- * @type {number || null}
31541
+ * Specifies the specific configuration of adaptive frequency control.
31542
+ * @type {AdaptiveFrequencyControl || null}
29964
31543
  */
29965
- this.StatusCode = null;
31544
+ this.AdaptiveFrequencyControl = null;
29966
31545
 
29967
31546
  /**
29968
- * Response page id.
31547
+ * Specifies the intelligent client filter configuration.
31548
+ * @type {ClientFiltering || null}
31549
+ */
31550
+ this.ClientFiltering = null;
31551
+
31552
+ /**
31553
+ * Specifies the specific configuration for bandwidth abuse protection.
31554
+ * @type {BandwidthAbuseDefense || null}
31555
+ */
31556
+ this.BandwidthAbuseDefense = null;
31557
+
31558
+ /**
31559
+ * Specifies the configuration of slow attack protection.
31560
+ * @type {SlowAttackDefense || null}
31561
+ */
31562
+ this.SlowAttackDefense = null;
31563
+
31564
+ }
31565
+
31566
+ /**
31567
+ * @private
31568
+ */
31569
+ deserialize(params) {
31570
+ if (!params) {
31571
+ return;
31572
+ }
31573
+
31574
+ if (params.AdaptiveFrequencyControl) {
31575
+ let obj = new AdaptiveFrequencyControl();
31576
+ obj.deserialize(params.AdaptiveFrequencyControl)
31577
+ this.AdaptiveFrequencyControl = obj;
31578
+ }
31579
+
31580
+ if (params.ClientFiltering) {
31581
+ let obj = new ClientFiltering();
31582
+ obj.deserialize(params.ClientFiltering)
31583
+ this.ClientFiltering = obj;
31584
+ }
31585
+
31586
+ if (params.BandwidthAbuseDefense) {
31587
+ let obj = new BandwidthAbuseDefense();
31588
+ obj.deserialize(params.BandwidthAbuseDefense)
31589
+ this.BandwidthAbuseDefense = obj;
31590
+ }
31591
+
31592
+ if (params.SlowAttackDefense) {
31593
+ let obj = new SlowAttackDefense();
31594
+ obj.deserialize(params.SlowAttackDefense)
31595
+ this.SlowAttackDefense = obj;
31596
+ }
31597
+
31598
+ }
31599
+ }
31600
+
31601
+ /**
31602
+ * Health status of origin servers in each health check region.
31603
+ * @class
31604
+ */
31605
+ class CheckRegionHealthStatus extends AbstractModel {
31606
+ constructor(){
31607
+ super();
31608
+
31609
+ /**
31610
+ * Health check region, which is a two-letter code according to ISO-3166-1.
29969
31611
  * @type {string || null}
29970
31612
  */
29971
- this.ResponsePage = null;
31613
+ this.Region = null;
31614
+
31615
+ /**
31616
+ * Health status of origin servers in a single health check region. Valid values:
31617
+ <li>Healthy: healthy.</li>
31618
+ <li>Unhealthy: unhealthy.</li>
31619
+ <li>Undetected: no data detected.</li>Note: If all origin servers in a single health check region are healthy, the status is healthy; otherwise, it is unhealthy.
31620
+ * @type {string || null}
31621
+ */
31622
+ this.Healthy = null;
31623
+
31624
+ /**
31625
+ * Origin server health status.
31626
+ * @type {Array.<OriginHealthStatus> || null}
31627
+ */
31628
+ this.OriginHealthStatus = null;
29972
31629
 
29973
31630
  }
29974
31631
 
@@ -29979,8 +31636,17 @@ class HTTPResponseParameters extends AbstractModel {
29979
31636
  if (!params) {
29980
31637
  return;
29981
31638
  }
29982
- this.StatusCode = 'StatusCode' in params ? params.StatusCode : null;
29983
- this.ResponsePage = 'ResponsePage' in params ? params.ResponsePage : null;
31639
+ this.Region = 'Region' in params ? params.Region : null;
31640
+ this.Healthy = 'Healthy' in params ? params.Healthy : null;
31641
+
31642
+ if (params.OriginHealthStatus) {
31643
+ this.OriginHealthStatus = new Array();
31644
+ for (let z in params.OriginHealthStatus) {
31645
+ let obj = new OriginHealthStatus();
31646
+ obj.deserialize(params.OriginHealthStatus[z]);
31647
+ this.OriginHealthStatus.push(obj);
31648
+ }
31649
+ }
29984
31650
 
29985
31651
  }
29986
31652
  }
@@ -30335,6 +32001,41 @@ class DescribeAccelerationDomainsRequest extends AbstractModel {
30335
32001
  }
30336
32002
  }
30337
32003
 
32004
+ /**
32005
+ * CreateDnsRecord response structure.
32006
+ * @class
32007
+ */
32008
+ class CreateDnsRecordResponse extends AbstractModel {
32009
+ constructor(){
32010
+ super();
32011
+
32012
+ /**
32013
+ * DNS record id.
32014
+ * @type {string || null}
32015
+ */
32016
+ this.RecordId = null;
32017
+
32018
+ /**
32019
+ * 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.
32020
+ * @type {string || null}
32021
+ */
32022
+ this.RequestId = null;
32023
+
32024
+ }
32025
+
32026
+ /**
32027
+ * @private
32028
+ */
32029
+ deserialize(params) {
32030
+ if (!params) {
32031
+ return;
32032
+ }
32033
+ this.RecordId = 'RecordId' in params ? params.RecordId : null;
32034
+ this.RequestId = 'RequestId' in params ? params.RequestId : null;
32035
+
32036
+ }
32037
+ }
32038
+
30338
32039
  /**
30339
32040
  * DescribeTimingL4Data request structure.
30340
32041
  * @class
@@ -30524,10 +32225,14 @@ module.exports = {
30524
32225
  RenewFlag: RenewFlag,
30525
32226
  Compression: Compression,
30526
32227
  DescribeFunctionsResponse: DescribeFunctionsResponse,
32228
+ RequestFieldsForException: RequestFieldsForException,
30527
32229
  DeleteL4ProxyRulesRequest: DeleteL4ProxyRulesRequest,
30528
32230
  DescribeOriginGroupResponse: DescribeOriginGroupResponse,
30529
32231
  DescribeSecurityIPGroupInfoResponse: DescribeSecurityIPGroupInfoResponse,
32232
+ AdaptiveFrequencyControl: AdaptiveFrequencyControl,
30530
32233
  SlowPostConfig: SlowPostConfig,
32234
+ DescribeWebSecurityTemplatesRequest: DescribeWebSecurityTemplatesRequest,
32235
+ RateLimitingRules: RateLimitingRules,
30531
32236
  OriginRecord: OriginRecord,
30532
32237
  OriginACLEntity: OriginACLEntity,
30533
32238
  CompressionParameters: CompressionParameters,
@@ -30536,11 +32241,14 @@ module.exports = {
30536
32241
  HeaderAction: HeaderAction,
30537
32242
  RealtimeLogDeliveryTask: RealtimeLogDeliveryTask,
30538
32243
  PrepaidPlanParam: PrepaidPlanParam,
32244
+ MinimalRequestBodyTransferRate: MinimalRequestBodyTransferRate,
30539
32245
  AccessURLRedirectQueryString: AccessURLRedirectQueryString,
30540
32246
  ModifyFunctionRulePriorityRequest: ModifyFunctionRulePriorityRequest,
30541
32247
  ModifyAccelerationDomainResponse: ModifyAccelerationDomainResponse,
32248
+ UpstreamHTTP2Parameters: UpstreamHTTP2Parameters,
30542
32249
  TopEntryValue: TopEntryValue,
30543
32250
  DescribeHostsSettingResponse: DescribeHostsSettingResponse,
32251
+ DescribeWebSecurityTemplateResponse: DescribeWebSecurityTemplateResponse,
30544
32252
  Origin: Origin,
30545
32253
  DescribeRulesResponse: DescribeRulesResponse,
30546
32254
  TimingDataRecord: TimingDataRecord,
@@ -30605,6 +32313,7 @@ module.exports = {
30605
32313
  OriginGroupReference: OriginGroupReference,
30606
32314
  DeleteLoadBalancerRequest: DeleteLoadBalancerRequest,
30607
32315
  CacheKeyCookie: CacheKeyCookie,
32316
+ SecurityPolicyTemplateInfo: SecurityPolicyTemplateInfo,
30608
32317
  ExceptUserRule: ExceptUserRule,
30609
32318
  SecEntry: SecEntry,
30610
32319
  ModifyCustomErrorPageResponse: ModifyCustomErrorPageResponse,
@@ -30636,7 +32345,7 @@ module.exports = {
30636
32345
  SecurityConfig: SecurityConfig,
30637
32346
  CreateSecurityIPGroupRequest: CreateSecurityIPGroupRequest,
30638
32347
  ModifyPlanRequest: ModifyPlanRequest,
30639
- HostName: HostName,
32348
+ ExceptUserRuleScope: ExceptUserRuleScope,
30640
32349
  DDoS: DDoS,
30641
32350
  ModifyL4ProxyRulesRequest: ModifyL4ProxyRulesRequest,
30642
32351
  DescribeRulesSettingRequest: DescribeRulesSettingRequest,
@@ -30655,7 +32364,7 @@ module.exports = {
30655
32364
  DescribeAvailablePlansResponse: DescribeAvailablePlansResponse,
30656
32365
  RateLimitTemplate: RateLimitTemplate,
30657
32366
  ModifyRealtimeLogDeliveryTaskResponse: ModifyRealtimeLogDeliveryTaskResponse,
30658
- AccelerationDomainCertificate: AccelerationDomainCertificate,
32367
+ DeviceProfile: DeviceProfile,
30659
32368
  DescribeSecurityTemplateBindingsRequest: DescribeSecurityTemplateBindingsRequest,
30660
32369
  L4ProxyRemoteAuth: L4ProxyRemoteAuth,
30661
32370
  AlgDetectResult: AlgDetectResult,
@@ -30665,8 +32374,10 @@ module.exports = {
30665
32374
  CreateL4ProxyRulesRequest: CreateL4ProxyRulesRequest,
30666
32375
  DescribeDDoSAttackTopDataResponse: DescribeDDoSAttackTopDataResponse,
30667
32376
  LoadBalancer: LoadBalancer,
32377
+ HostName: HostName,
30668
32378
  DeleteRulesRequest: DeleteRulesRequest,
30669
32379
  ExceptUserRuleCondition: ExceptUserRuleCondition,
32380
+ DeleteWebSecurityTemplateResponse: DeleteWebSecurityTemplateResponse,
30670
32381
  ModifyL7AccRuleRequest: ModifyL7AccRuleRequest,
30671
32382
  MaxAge: MaxAge,
30672
32383
  DescribeCustomErrorPagesResponse: DescribeCustomErrorPagesResponse,
@@ -30684,6 +32395,7 @@ module.exports = {
30684
32395
  DescribeZoneSettingRequest: DescribeZoneSettingRequest,
30685
32396
  ModifyL4ProxyStatusResponse: ModifyL4ProxyStatusResponse,
30686
32397
  FileVerification: FileVerification,
32398
+ ModifyWebSecurityTemplateResponse: ModifyWebSecurityTemplateResponse,
30687
32399
  ModifySecurityPolicyRequest: ModifySecurityPolicyRequest,
30688
32400
  DeleteL7AccRulesRequest: DeleteL7AccRulesRequest,
30689
32401
  SmartRouting: SmartRouting,
@@ -30702,10 +32414,12 @@ module.exports = {
30702
32414
  CreatePurgeTaskResponse: CreatePurgeTaskResponse,
30703
32415
  DeleteApplicationProxyRuleResponse: DeleteApplicationProxyRuleResponse,
30704
32416
  DeleteAccelerationDomainsResponse: DeleteAccelerationDomainsResponse,
32417
+ ExceptionRules: ExceptionRules,
30705
32418
  ExceptConfig: ExceptConfig,
30706
32419
  RedirectActionParameters: RedirectActionParameters,
30707
32420
  DeleteOriginGroupRequest: DeleteOriginGroupRequest,
30708
32421
  AclCondition: AclCondition,
32422
+ RequestBodyTransferTimeout: RequestBodyTransferTimeout,
30709
32423
  L7OfflineLog: L7OfflineLog,
30710
32424
  ModifyRuleResponse: ModifyRuleResponse,
30711
32425
  ApplicationProxyRule: ApplicationProxyRule,
@@ -30721,7 +32435,7 @@ module.exports = {
30721
32435
  ModifyPlanResponse: ModifyPlanResponse,
30722
32436
  DropPageDetail: DropPageDetail,
30723
32437
  CnameStatus: CnameStatus,
30724
- CreateDnsRecordResponse: CreateDnsRecordResponse,
32438
+ BandwidthAbuseDefense: BandwidthAbuseDefense,
30725
32439
  ServerCertInfo: ServerCertInfo,
30726
32440
  DescribeZonesRequest: DescribeZonesRequest,
30727
32441
  DescribeZoneConfigImportResultResponse: DescribeZoneConfigImportResultResponse,
@@ -30730,7 +32444,7 @@ module.exports = {
30730
32444
  DeleteSharedCNAMERequest: DeleteSharedCNAMERequest,
30731
32445
  CustomRules: CustomRules,
30732
32446
  ModifyRealtimeLogDeliveryTaskRequest: ModifyRealtimeLogDeliveryTaskRequest,
30733
- DescribeHostsSettingRequest: DescribeHostsSettingRequest,
32447
+ HandleFunctionRuntimeEnvironmentResponse: HandleFunctionRuntimeEnvironmentResponse,
30734
32448
  DestroyPlanRequest: DestroyPlanRequest,
30735
32449
  BlockIPActionParameters: BlockIPActionParameters,
30736
32450
  CreatePlanRequest: CreatePlanRequest,
@@ -30767,6 +32481,7 @@ module.exports = {
30767
32481
  RateLimitUserRule: RateLimitUserRule,
30768
32482
  DeployRecord: DeployRecord,
30769
32483
  CreatePlanForZoneRequest: CreatePlanForZoneRequest,
32484
+ AccelerationDomainCertificate: AccelerationDomainCertificate,
30770
32485
  CreateL4ProxyRulesResponse: CreateL4ProxyRulesResponse,
30771
32486
  ModifyCustomErrorPageRequest: ModifyCustomErrorPageRequest,
30772
32487
  ModifyFunctionRuleResponse: ModifyFunctionRuleResponse,
@@ -30784,12 +32499,14 @@ module.exports = {
30784
32499
  ModifyHostsCertificateResponse: ModifyHostsCertificateResponse,
30785
32500
  CreateAccelerationDomainRequest: CreateAccelerationDomainRequest,
30786
32501
  NormalAction: NormalAction,
32502
+ DenyActionParameters: DenyActionParameters,
30787
32503
  TopDetailData: TopDetailData,
30788
32504
  DescribeZoneSettingResponse: DescribeZoneSettingResponse,
30789
32505
  DescribePurgeTasksRequest: DescribePurgeTasksRequest,
30790
32506
  ModifyDnsRecordsRequest: ModifyDnsRecordsRequest,
30791
32507
  IdentifyZoneRequest: IdentifyZoneRequest,
30792
32508
  CacheConfig: CacheConfig,
32509
+ ClientAttestationRules: ClientAttestationRules,
30793
32510
  DescribeL7AccSettingRequest: DescribeL7AccSettingRequest,
30794
32511
  UpgradePlanResponse: UpgradePlanResponse,
30795
32512
  AclConfig: AclConfig,
@@ -30808,15 +32525,20 @@ module.exports = {
30808
32525
  ModifyFunctionResponse: ModifyFunctionResponse,
30809
32526
  DescribeOriginGroupRequest: DescribeOriginGroupRequest,
30810
32527
  DescribeIPRegionRequest: DescribeIPRegionRequest,
32528
+ BindDomainInfo: BindDomainInfo,
30811
32529
  TimingTypeValue: TimingTypeValue,
30812
32530
  CreatePlanForZoneResponse: CreatePlanForZoneResponse,
30813
32531
  ModifyL4ProxyRulesStatusResponse: ModifyL4ProxyRulesStatusResponse,
30814
32532
  CheckCnameStatusResponse: CheckCnameStatusResponse,
30815
32533
  ImportZoneConfigResponse: ImportZoneConfigResponse,
32534
+ ModifyWebSecurityTemplateRequest: ModifyWebSecurityTemplateRequest,
32535
+ DescribeWebSecurityTemplateRequest: DescribeWebSecurityTemplateRequest,
32536
+ ClientAttestationRule: ClientAttestationRule,
30816
32537
  CustomEndpoint: CustomEndpoint,
30817
32538
  ModifyOriginACLResponse: ModifyOriginACLResponse,
30818
32539
  VerifyOwnershipRequest: VerifyOwnershipRequest,
30819
32540
  ResponseSpeedLimitParameters: ResponseSpeedLimitParameters,
32541
+ BotManagement: BotManagement,
30820
32542
  DeleteL4ProxyRequest: DeleteL4ProxyRequest,
30821
32543
  DeleteApplicationProxyRequest: DeleteApplicationProxyRequest,
30822
32544
  AccelerateMainlandParameters: AccelerateMainlandParameters,
@@ -30836,7 +32558,7 @@ module.exports = {
30836
32558
  ModifyL7AccSettingResponse: ModifyL7AccSettingResponse,
30837
32559
  ReturnCustomPageActionParameters: ReturnCustomPageActionParameters,
30838
32560
  BindZoneToPlanResponse: BindZoneToPlanResponse,
30839
- UpstreamHTTP2Parameters: UpstreamHTTP2Parameters,
32561
+ DeleteWebSecurityTemplateRequest: DeleteWebSecurityTemplateRequest,
30840
32562
  DescribeL7AccSettingResponse: DescribeL7AccSettingResponse,
30841
32563
  ModifyAliasDomainRequest: ModifyAliasDomainRequest,
30842
32564
  OriginInfo: OriginInfo,
@@ -30886,17 +32608,19 @@ module.exports = {
30886
32608
  Waf: Waf,
30887
32609
  CreateApplicationProxyRuleRequest: CreateApplicationProxyRuleRequest,
30888
32610
  DescribeDnsRecordsResponse: DescribeDnsRecordsResponse,
30889
- DescribeDDoSAttackDataRequest: DescribeDDoSAttackDataRequest,
32611
+ CreateWebSecurityTemplateRequest: CreateWebSecurityTemplateRequest,
30890
32612
  CreateL4ProxyRequest: CreateL4ProxyRequest,
30891
32613
  CreatePlanResponse: CreatePlanResponse,
30892
32614
  DescribeApplicationProxiesRequest: DescribeApplicationProxiesRequest,
30893
32615
  DescribeContentQuotaRequest: DescribeContentQuotaRequest,
32616
+ AllowActionParameters: AllowActionParameters,
30894
32617
  Hsts: Hsts,
30895
32618
  OwnershipVerification: OwnershipVerification,
30896
32619
  CreateRuleRequest: CreateRuleRequest,
30897
32620
  ModifyL4ProxyStatusRequest: ModifyL4ProxyStatusRequest,
30898
32621
  RateLimitTemplateDetail: RateLimitTemplateDetail,
30899
32622
  CreateApplicationProxyRuleResponse: CreateApplicationProxyRuleResponse,
32623
+ RateLimitingRule: RateLimitingRule,
30900
32624
  CertificateInfo: CertificateInfo,
30901
32625
  CreateApplicationProxyRequest: CreateApplicationProxyRequest,
30902
32626
  CC: CC,
@@ -30915,12 +32639,12 @@ module.exports = {
30915
32639
  RuleAndConditions: RuleAndConditions,
30916
32640
  DropPageConfig: DropPageConfig,
30917
32641
  DescribeSecurityIPGroupInfoRequest: DescribeSecurityIPGroupInfoRequest,
30918
- ExceptUserRuleScope: ExceptUserRuleScope,
30919
32642
  PartialModule: PartialModule,
30920
32643
  DescribeZoneConfigImportResultRequest: DescribeZoneConfigImportResultRequest,
30921
32644
  ModifyApplicationProxyRuleStatusRequest: ModifyApplicationProxyRuleStatusRequest,
30922
32645
  AccelerateType: AccelerateType,
30923
32646
  DeliveryCondition: DeliveryCondition,
32647
+ ExceptionRule: ExceptionRule,
30924
32648
  FollowOrigin: FollowOrigin,
30925
32649
  IPRegionInfo: IPRegionInfo,
30926
32650
  DestroyPlanResponse: DestroyPlanResponse,
@@ -30941,7 +32665,7 @@ module.exports = {
30941
32665
  ModifyResponseHeaderParameters: ModifyResponseHeaderParameters,
30942
32666
  DescribeOriginProtectionRequest: DescribeOriginProtectionRequest,
30943
32667
  DeleteContentIdentifierResponse: DeleteContentIdentifierResponse,
30944
- HandleFunctionRuntimeEnvironmentResponse: HandleFunctionRuntimeEnvironmentResponse,
32668
+ DescribeHostsSettingRequest: DescribeHostsSettingRequest,
30945
32669
  DeleteRulesResponse: DeleteRulesResponse,
30946
32670
  OriginGroup: OriginGroup,
30947
32671
  ModifySecurityIPGroupRequest: ModifySecurityIPGroupRequest,
@@ -30954,6 +32678,7 @@ module.exports = {
30954
32678
  BotConfig: BotConfig,
30955
32679
  EnableOriginACLRequest: EnableOriginACLRequest,
30956
32680
  ModifyZoneResponse: ModifyZoneResponse,
32681
+ ClientFiltering: ClientFiltering,
30957
32682
  DescribeTopL7CacheDataRequest: DescribeTopL7CacheDataRequest,
30958
32683
  CreateLoadBalancerRequest: CreateLoadBalancerRequest,
30959
32684
  Https: Https,
@@ -30991,6 +32716,8 @@ module.exports = {
30991
32716
  UpstreamRequestCookie: UpstreamRequestCookie,
30992
32717
  DescribeDDoSAttackTopDataRequest: DescribeDDoSAttackTopDataRequest,
30993
32718
  Quic: Quic,
32719
+ DescribeDDoSAttackDataRequest: DescribeDDoSAttackDataRequest,
32720
+ SlowAttackDefense: SlowAttackDefense,
30994
32721
  CreateCLSIndexRequest: CreateCLSIndexRequest,
30995
32722
  DescribeRulesRequest: DescribeRulesRequest,
30996
32723
  DetectLengthLimitCondition: DetectLengthLimitCondition,
@@ -31024,11 +32751,12 @@ module.exports = {
31024
32751
  ModifyApplicationProxyStatusResponse: ModifyApplicationProxyStatusResponse,
31025
32752
  Identification: Identification,
31026
32753
  OriginGroupInLoadBalancer: OriginGroupInLoadBalancer,
31027
- CheckRegionHealthStatus: CheckRegionHealthStatus,
32754
+ HTTPResponseParameters: HTTPResponseParameters,
31028
32755
  UpstreamRequestParameters: UpstreamRequestParameters,
31029
32756
  TopEntry: TopEntry,
31030
32757
  NsVerification: NsVerification,
31031
32758
  AccelerateMainland: AccelerateMainland,
32759
+ ChallengeActionParameters: ChallengeActionParameters,
31032
32760
  StandardDebug: StandardDebug,
31033
32761
  AuthenticationParameters: AuthenticationParameters,
31034
32762
  BindSecurityTemplateToEntityRequest: BindSecurityTemplateToEntityRequest,
@@ -31060,6 +32788,7 @@ module.exports = {
31060
32788
  DescribeL4ProxyRulesRequest: DescribeL4ProxyRulesRequest,
31061
32789
  AiRule: AiRule,
31062
32790
  Function: Function,
32791
+ DescribeWebSecurityTemplatesResponse: DescribeWebSecurityTemplatesResponse,
31063
32792
  Quota: Quota,
31064
32793
  CheckCnameStatusRequest: CheckCnameStatusRequest,
31065
32794
  DescribeContentQuotaResponse: DescribeContentQuotaResponse,
@@ -31067,8 +32796,10 @@ module.exports = {
31067
32796
  UpgradePlanRequest: UpgradePlanRequest,
31068
32797
  CreatePurgeTaskRequest: CreatePurgeTaskRequest,
31069
32798
  DeleteDnsRecordsResponse: DeleteDnsRecordsResponse,
32799
+ CreateWebSecurityTemplateResponse: CreateWebSecurityTemplateResponse,
31070
32800
  DescribePurgeTasksResponse: DescribePurgeTasksResponse,
31071
- HTTPResponseParameters: HTTPResponseParameters,
32801
+ HttpDDoSProtection: HttpDDoSProtection,
32802
+ CheckRegionHealthStatus: CheckRegionHealthStatus,
31072
32803
  DescribeFunctionRulesRequest: DescribeFunctionRulesRequest,
31073
32804
  DeployConfigGroupVersionResponse: DeployConfigGroupVersionResponse,
31074
32805
  Addresses: Addresses,
@@ -31076,6 +32807,7 @@ module.exports = {
31076
32807
  DescribeDeployHistoryResponse: DescribeDeployHistoryResponse,
31077
32808
  QueryString: QueryString,
31078
32809
  DescribeAccelerationDomainsRequest: DescribeAccelerationDomainsRequest,
32810
+ CreateDnsRecordResponse: CreateDnsRecordResponse,
31079
32811
  DescribeTimingL4DataRequest: DescribeTimingL4DataRequest,
31080
32812
  DescribeTimingL4DataResponse: DescribeTimingL4DataResponse,
31081
32813
  VanityNameServersIps: VanityNameServersIps,