tencentcloud-sdk-nodejs-intl-en 3.0.345 → 3.0.346

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.
@@ -173,27 +173,48 @@ Note: this field may return `null`, indicating that no valid values can be obtai
173
173
  }
174
174
 
175
175
  /**
176
- * Smart compression configuration. By default, Gzip compression is performed for files with js, html, css, xml, json, shtml, and htm suffixes, and with sizes between 256 and 2097152 bytes.
176
+ *
177
177
  * @class
178
178
  */
179
- class Compression extends AbstractModel {
179
+ class AdvanceHttps extends AbstractModel {
180
180
  constructor(){
181
181
  super();
182
182
 
183
183
  /**
184
- * Smart compression configuration switch
185
- on: enabled
186
- off: disabled
184
+ *
187
185
  * @type {string || null}
188
186
  */
189
- this.Switch = null;
187
+ this.CustomTlsStatus = null;
190
188
 
191
189
  /**
192
- * Compression rules array
193
- Note: this field may return null, indicating that no valid values can be obtained.
194
- * @type {Array.<CompressionRule> || null}
190
+ *
191
+ * @type {Array.<string> || null}
195
192
  */
196
- this.CompressionRules = null;
193
+ this.TlsVersion = null;
194
+
195
+ /**
196
+ *
197
+ * @type {string || null}
198
+ */
199
+ this.Cipher = null;
200
+
201
+ /**
202
+ *
203
+ * @type {string || null}
204
+ */
205
+ this.VerifyOriginType = null;
206
+
207
+ /**
208
+ *
209
+ * @type {ServerCert || null}
210
+ */
211
+ this.CertInfo = null;
212
+
213
+ /**
214
+ *
215
+ * @type {ClientCert || null}
216
+ */
217
+ this.OriginCertInfo = null;
197
218
 
198
219
  }
199
220
 
@@ -204,15 +225,21 @@ Note: this field may return null, indicating that no valid values can be obtaine
204
225
  if (!params) {
205
226
  return;
206
227
  }
207
- this.Switch = 'Switch' in params ? params.Switch : null;
228
+ this.CustomTlsStatus = 'CustomTlsStatus' in params ? params.CustomTlsStatus : null;
229
+ this.TlsVersion = 'TlsVersion' in params ? params.TlsVersion : null;
230
+ this.Cipher = 'Cipher' in params ? params.Cipher : null;
231
+ this.VerifyOriginType = 'VerifyOriginType' in params ? params.VerifyOriginType : null;
208
232
 
209
- if (params.CompressionRules) {
210
- this.CompressionRules = new Array();
211
- for (let z in params.CompressionRules) {
212
- let obj = new CompressionRule();
213
- obj.deserialize(params.CompressionRules[z]);
214
- this.CompressionRules.push(obj);
215
- }
233
+ if (params.CertInfo) {
234
+ let obj = new ServerCert();
235
+ obj.deserialize(params.CertInfo)
236
+ this.CertInfo = obj;
237
+ }
238
+
239
+ if (params.OriginCertInfo) {
240
+ let obj = new ClientCert();
241
+ obj.deserialize(params.OriginCertInfo)
242
+ this.OriginCertInfo = obj;
216
243
  }
217
244
 
218
245
  }
@@ -456,6 +483,83 @@ class DescribePurgeQuotaResponse extends AbstractModel {
456
483
  }
457
484
  }
458
485
 
486
+ /**
487
+ * SCDN layer-7 rule configuration for CC frequency limiting
488
+ * @class
489
+ */
490
+ class ScdnSevenLayerRules extends AbstractModel {
491
+ constructor(){
492
+ super();
493
+
494
+ /**
495
+ * Whether values are case sensitive
496
+ * @type {boolean || null}
497
+ */
498
+ this.CaseSensitive = null;
499
+
500
+ /**
501
+ * Rule types:
502
+ `protocol`: protocol. Valid values: `HTTP` and `HTTPS`.
503
+ `method`: request method. Valid values: `HEAD`, `GET`, `POST`, `PUT`, `OPTIONS`, `TRACE`, `DELETE`, `PATCH` and `CONNECT`.
504
+ `all`: domain name. The matching content is `*` and cannot be edited.
505
+ `ip`: IP in CIDR format.
506
+ `directory`: path starting with a slash (/). You can specify a directory or specific path using up to 128 characters.
507
+ `index`: default homepage, which is specified by `/;/index.html` and cannot be edited.
508
+ `path`: full path of the file, such as `/acb/test.png`. Wildcard is supported, such as `/abc/*.jpg`.
509
+ `file`: file extension, such as `jpg`, `png` and `css`.
510
+ `param`: request parameter. The value can contain up to 512 characters.
511
+ `referer`: Referer. The value can contain up to 512 characters.
512
+ `cookie`: Cookie. The value can contain up to 512 characters.
513
+ `user-agent`: User-Agent. The value can contain up to 512 characters.
514
+ `head`: custom header. The value can contain up to 512 characters. If the matching content is blank or does not exist, enter the matching parameter directly.
515
+ * @type {string || null}
516
+ */
517
+ this.RuleType = null;
518
+
519
+ /**
520
+ * Logical operator, which connects the relation between RuleType and RuleValue. Valid values:
521
+ `exclude`: the rule value is not contained.
522
+ `include`: the rule value is contained.
523
+ `notequal`: the rule value is not equal to the specified rule type.
524
+ `equal`: the rule value is equal to the specified rule type.
525
+ `matching`: the rule value matches with the prefix of the specified rule type.
526
+ `null`: the rule value is empty or does not exist.
527
+ * @type {string || null}
528
+ */
529
+ this.LogicOperator = null;
530
+
531
+ /**
532
+ * Rule value
533
+ Note: this field may return `null`, indicating that no valid values can be obtained.
534
+ * @type {Array.<string> || null}
535
+ */
536
+ this.RuleValue = null;
537
+
538
+ /**
539
+ * Matched parameter. Only request parameters, Cookie, and custom request headers have a value.
540
+ Note: this field may return `null`, indicating that no valid values can be obtained.
541
+ * @type {string || null}
542
+ */
543
+ this.RuleParam = null;
544
+
545
+ }
546
+
547
+ /**
548
+ * @private
549
+ */
550
+ deserialize(params) {
551
+ if (!params) {
552
+ return;
553
+ }
554
+ this.CaseSensitive = 'CaseSensitive' in params ? params.CaseSensitive : null;
555
+ this.RuleType = 'RuleType' in params ? params.RuleType : null;
556
+ this.LogicOperator = 'LogicOperator' in params ? params.LogicOperator : null;
557
+ this.RuleValue = 'RuleValue' in params ? params.RuleValue : null;
558
+ this.RuleParam = 'RuleParam' in params ? params.RuleParam : null;
559
+
560
+ }
561
+ }
562
+
459
563
  /**
460
564
  * Timestamp hotlink protection configuration
461
565
  * @class
@@ -906,30 +1010,67 @@ Note: This field may return null, indicating that no valid values can be obtaine
906
1010
  }
907
1011
 
908
1012
  /**
909
- * Precise access control match rule
1013
+ * Remote authentication rule
910
1014
  * @class
911
1015
  */
912
- class ScdnAclRule extends AbstractModel {
1016
+ class RemoteAuthenticationRule extends AbstractModel {
913
1017
  constructor(){
914
1018
  super();
915
1019
 
916
1020
  /**
917
- * Match keywords. Valid values: `params`, `url`, `ip`, `referer`, and `user-agent`.
1021
+ * Remote authentication server
1022
+ The server configured in `RemoteAutherntication` is used by default.
918
1023
  * @type {string || null}
919
1024
  */
920
- this.MatchKey = null;
1025
+ this.Server = null;
921
1026
 
922
1027
  /**
923
- * Logical operator. Valid values: `exclude`, `include`, `notequal`, `equal`, `len-less`, `len-equal`, and `len-more`.
1028
+ * HTTP method used by the remote authentication server. Valid values: `get`, `post`, `head`, and `all`.
1029
+ `all`: the remote authentication server follows the client request method.
1030
+ Default: `all`
924
1031
  * @type {string || null}
925
1032
  */
926
- this.LogiOperator = null;
1033
+ this.AuthMethod = null;
927
1034
 
928
1035
  /**
929
- * Match value
1036
+ * Rule types:
1037
+ `all`: apply to all files
1038
+ `file`: apply to files with the specified suffixes
1039
+ `directory`: apply to the specified directories
1040
+ `path`: apply to the specified absolute paths
1041
+ Default: `all`.
930
1042
  * @type {string || null}
931
1043
  */
932
- this.MatchValue = null;
1044
+ this.RuleType = null;
1045
+
1046
+ /**
1047
+ * Content for each `RuleType`:
1048
+ For `all`, enter a wildcard `*`.
1049
+ For `file`, enter a suffix, e.g., `jpg` or `txt`.
1050
+ For `directory`, enter a path, e.g., `/xxx/test/`.
1051
+ For `path`, enter an absolute path, e.g., `/xxx/test.html`.
1052
+ For `index`, enter a forward slash `/`.
1053
+ Default: `*`
1054
+ * @type {Array.<string> || null}
1055
+ */
1056
+ this.RulePaths = null;
1057
+
1058
+ /**
1059
+ * Timeout period of the remote authentication server. Unit: ms.
1060
+ Value range: [1, 30,000]
1061
+ Default: 20000
1062
+ * @type {number || null}
1063
+ */
1064
+ this.AuthTimeout = null;
1065
+
1066
+ /**
1067
+ * Whether to deny or allow the request when the remote authentication server is timed out:
1068
+ `RETURN_200`: the request is allowed when the remote authentication server is timed out.
1069
+ `RETURN_403`: the request is denied when the remote authentication server is timed out.
1070
+ Default: `RETURN_200`
1071
+ * @type {string || null}
1072
+ */
1073
+ this.AuthTimeoutAction = null;
933
1074
 
934
1075
  }
935
1076
 
@@ -940,9 +1081,58 @@ class ScdnAclRule extends AbstractModel {
940
1081
  if (!params) {
941
1082
  return;
942
1083
  }
943
- this.MatchKey = 'MatchKey' in params ? params.MatchKey : null;
944
- this.LogiOperator = 'LogiOperator' in params ? params.LogiOperator : null;
945
- this.MatchValue = 'MatchValue' in params ? params.MatchValue : null;
1084
+ this.Server = 'Server' in params ? params.Server : null;
1085
+ this.AuthMethod = 'AuthMethod' in params ? params.AuthMethod : null;
1086
+ this.RuleType = 'RuleType' in params ? params.RuleType : null;
1087
+ this.RulePaths = 'RulePaths' in params ? params.RulePaths : null;
1088
+ this.AuthTimeout = 'AuthTimeout' in params ? params.AuthTimeout : null;
1089
+ this.AuthTimeoutAction = 'AuthTimeoutAction' in params ? params.AuthTimeoutAction : null;
1090
+
1091
+ }
1092
+ }
1093
+
1094
+ /**
1095
+ * Smart compression configuration. By default, Gzip compression is performed for files with js, html, css, xml, json, shtml, and htm suffixes, and with sizes between 256 and 2097152 bytes.
1096
+ * @class
1097
+ */
1098
+ class Compression extends AbstractModel {
1099
+ constructor(){
1100
+ super();
1101
+
1102
+ /**
1103
+ * Smart compression configuration switch
1104
+ on: enabled
1105
+ off: disabled
1106
+ * @type {string || null}
1107
+ */
1108
+ this.Switch = null;
1109
+
1110
+ /**
1111
+ * Compression rules array
1112
+ Note: this field may return null, indicating that no valid values can be obtained.
1113
+ * @type {Array.<CompressionRule> || null}
1114
+ */
1115
+ this.CompressionRules = null;
1116
+
1117
+ }
1118
+
1119
+ /**
1120
+ * @private
1121
+ */
1122
+ deserialize(params) {
1123
+ if (!params) {
1124
+ return;
1125
+ }
1126
+ this.Switch = 'Switch' in params ? params.Switch : null;
1127
+
1128
+ if (params.CompressionRules) {
1129
+ this.CompressionRules = new Array();
1130
+ for (let z in params.CompressionRules) {
1131
+ let obj = new CompressionRule();
1132
+ obj.deserialize(params.CompressionRules[z]);
1133
+ this.CompressionRules.push(obj);
1134
+ }
1135
+ }
946
1136
 
947
1137
  }
948
1138
  }
@@ -1791,6 +1981,12 @@ client: specifies to query data of the client region (where a user request devic
1791
1981
  */
1792
1982
  this.Product = null;
1793
1983
 
1984
+ /**
1985
+ * Returns the first N data entries. The default value is 100 if this parameter is not specified, whereas 1000 if `Metric` is `url`.
1986
+ * @type {number || null}
1987
+ */
1988
+ this.Limit = null;
1989
+
1794
1990
  }
1795
1991
 
1796
1992
  /**
@@ -1811,6 +2007,7 @@ client: specifies to query data of the client region (where a user request devic
1811
2007
  this.Area = 'Area' in params ? params.Area : null;
1812
2008
  this.AreaType = 'AreaType' in params ? params.AreaType : null;
1813
2009
  this.Product = 'Product' in params ? params.Product : null;
2010
+ this.Limit = 'Limit' in params ? params.Limit : null;
1814
2011
 
1815
2012
  }
1816
2013
  }
@@ -2010,7 +2207,7 @@ class AdvancedAuthenticationTypeD extends AbstractModel {
2010
2207
  }
2011
2208
 
2012
2209
  /**
2013
- * Compression rules configuration. Up to 100 entries can be set.
2210
+ * Intelligent compression rule configuration
2014
2211
  * @class
2015
2212
  */
2016
2213
  class CompressionRule extends AbstractModel {
@@ -2024,14 +2221,6 @@ Note: this field may return null, indicating that no valid values can be obtaine
2024
2221
  */
2025
2222
  this.Compress = null;
2026
2223
 
2027
- /**
2028
- * Compress according to the file suffix type
2029
- Such as: jpg, txt
2030
- Note: this field may return null, indicating that no valid values can be obtained.
2031
- * @type {Array.<string> || null}
2032
- */
2033
- this.FileExtensions = null;
2034
-
2035
2224
  /**
2036
2225
  * The minimum file size to trigger compression (in bytes)
2037
2226
  Note: this field may return null, indicating that no valid values can be obtained.
@@ -2056,6 +2245,39 @@ Note: this field may return null, indicating that no valid values can be obtaine
2056
2245
  */
2057
2246
  this.Algorithms = null;
2058
2247
 
2248
+ /**
2249
+ * Compress according to the file suffix type
2250
+ Such as: jpg, txt
2251
+ Note: this field may return null, indicating that no valid values can be obtained.
2252
+ * @type {Array.<string> || null}
2253
+ */
2254
+ this.FileExtensions = null;
2255
+
2256
+ /**
2257
+ * Rule types:
2258
+ `all`: effective for all files.
2259
+ `file`: effective for specified file suffixes.
2260
+ `directory`: effective for specified paths.
2261
+ `path`: effective for specified absolute paths.
2262
+ `contentType`: effective when the `ContentType` is specified
2263
+ If this field is specified, `FileExtensions` does not take effect.
2264
+ Note: this field may return `null`, indicating that no valid values can be obtained.
2265
+ * @type {string || null}
2266
+ */
2267
+ this.RuleType = null;
2268
+
2269
+ /**
2270
+ * Content for each `CacheType`:
2271
+ For `all`, enter a wildcard `*`.
2272
+ For `file`, enter a suffix, e.g., `jpg` or `txt`.
2273
+ For `directory`, enter a path, e.g., `/xxx/test/`.
2274
+ For `path`, enter an absolute path, e.g., `/xxx/test.html`.
2275
+ For `contentType`, enter `text/html`.
2276
+ Note: this field may return `null`, indicating that no valid values can be obtained.
2277
+ * @type {Array.<string> || null}
2278
+ */
2279
+ this.RulePaths = null;
2280
+
2059
2281
  }
2060
2282
 
2061
2283
  /**
@@ -2066,10 +2288,12 @@ Note: this field may return null, indicating that no valid values can be obtaine
2066
2288
  return;
2067
2289
  }
2068
2290
  this.Compress = 'Compress' in params ? params.Compress : null;
2069
- this.FileExtensions = 'FileExtensions' in params ? params.FileExtensions : null;
2070
2291
  this.MinLength = 'MinLength' in params ? params.MinLength : null;
2071
2292
  this.MaxLength = 'MaxLength' in params ? params.MaxLength : null;
2072
2293
  this.Algorithms = 'Algorithms' in params ? params.Algorithms : null;
2294
+ this.FileExtensions = 'FileExtensions' in params ? params.FileExtensions : null;
2295
+ this.RuleType = 'RuleType' in params ? params.RuleType : null;
2296
+ this.RulePaths = 'RulePaths' in params ? params.RulePaths : null;
2073
2297
 
2074
2298
  }
2075
2299
  }
@@ -2162,19 +2386,22 @@ Note: this field may return null, indicating that no valid values can be obtaine
2162
2386
  this.Origins = null;
2163
2387
 
2164
2388
  /**
2165
- * Master origin server type
2166
- The following types are supported for input parameters:
2167
- domain: domain name type
2168
- cos: COS origin
2169
- ip: IP list used as origin server
2170
- ipv6: origin server list is a single IPv6 address
2171
- ip_ipv6: origin server list is multiple IPv4 addresses and an IPv6 address
2172
- The following types of output parameters are added:
2173
- image: Cloud Infinite origin
2174
- ftp: legacy FTP origin, which is no longer maintained.
2175
- When modifying `Origins`, you need to enter the corresponding OriginType.
2176
- The IPv6 feature is not generally available yet. Please send in a whitelist application to use this feature.
2177
- Note: this field may return null, indicating that no valid values can be obtained.
2389
+ * Primary origin server type
2390
+ Input:
2391
+ `domain`: domain name
2392
+ `cos`: COS bucket address
2393
+ `ip`: IP address
2394
+ `ipv6`: a single IPv6 address
2395
+ `ip_ipv6`: multiple IPv4 addresses and one IPv6 address
2396
+ `ip_domain`: both IP addresses and domain names (only available to beta users)
2397
+ `ipv6_domain`: multiple IPv6 addresses and one domain name
2398
+ `ip_ipv6_domain`: multiple IPv4 and IPv6 addresses and one domain name
2399
+ Output:
2400
+ `image`: Cloud Infinite origin
2401
+ `ftp`: FTP origin (disused)
2402
+ When modifying `Origins`, you need to enter the corresponding `OriginType`.
2403
+ The IPv6 feature is now only available to beta users. Please submit an application to use this feature.
2404
+ Note: this field may return `null`, indicating that no valid values can be obtained.
2178
2405
  * @type {string || null}
2179
2406
  */
2180
2407
  this.OriginType = null;
@@ -2214,11 +2441,16 @@ Note: this field may return null, indicating that no valid values can be obtaine
2214
2441
  this.BackupOrigins = null;
2215
2442
 
2216
2443
  /**
2217
- * Backup origin server type, which supports the following types:
2218
- domain: domain name type
2219
- ip: IP list used as origin server
2220
- When modifying BackupOrigins, you need to enter the corresponding BackupOriginType.
2221
- Note: this field may return null, indicating that no valid values can be obtained.
2444
+ * Secondary origin type. Values:
2445
+ `domain`: domain name
2446
+ `ip`: IP address
2447
+ When modifying `BackupOrigins`, you need to enter the corresponding `BackupOriginType`.
2448
+ The following backup origin servers are only available to beta users. Submit an application if you want to become a beta user.
2449
+ `ipv6_domain`: multiple IPv6 addresses and one domain name
2450
+ `ip_ipv6`: multiple IPv4 addresses and one IPv6 address
2451
+ `ipv6_domain`: multiple IPv6 addresses and one domain name
2452
+ `ip_ipv6_domain`: multiple IPv4 and IPv6 addresses and one domain name
2453
+ Note: this field may return `null`, indicating that no valid values can be obtained.
2222
2454
  * @type {string || null}
2223
2455
  */
2224
2456
  this.BackupOriginType = null;
@@ -2250,6 +2482,12 @@ Note: this field may return `null`, indicating that no valid values can be obtai
2250
2482
  */
2251
2483
  this.PathBasedOrigin = null;
2252
2484
 
2485
+ /**
2486
+ *
2487
+ * @type {AdvanceHttps || null}
2488
+ */
2489
+ this.AdvanceHttps = null;
2490
+
2253
2491
  }
2254
2492
 
2255
2493
  /**
@@ -2287,6 +2525,12 @@ Note: this field may return `null`, indicating that no valid values can be obtai
2287
2525
  }
2288
2526
  }
2289
2527
 
2528
+ if (params.AdvanceHttps) {
2529
+ let obj = new AdvanceHttps();
2530
+ obj.deserialize(params.AdvanceHttps)
2531
+ this.AdvanceHttps = obj;
2532
+ }
2533
+
2290
2534
  }
2291
2535
  }
2292
2536
 
@@ -2915,6 +3159,98 @@ Note: this field may return `null`, indicating that no valid values can be obtai
2915
3159
  }
2916
3160
  }
2917
3161
 
3162
+ /**
3163
+ * SCDN custom CC rules
3164
+ * @class
3165
+ */
3166
+ class AdvancedCCRules extends AbstractModel {
3167
+ constructor(){
3168
+ super();
3169
+
3170
+ /**
3171
+ * Rule name
3172
+ * @type {string || null}
3173
+ */
3174
+ this.RuleName = null;
3175
+
3176
+ /**
3177
+ * Detection duration
3178
+ Note: this field may return `null`, indicating that no valid values can be obtained.
3179
+ * @type {number || null}
3180
+ */
3181
+ this.DetectionTime = null;
3182
+
3183
+ /**
3184
+ * Detection frequency threshold
3185
+ Note: this field may return `null`, indicating that no valid values can be obtained.
3186
+ * @type {number || null}
3187
+ */
3188
+ this.FrequencyLimit = null;
3189
+
3190
+ /**
3191
+ * Whether to enable IP penalty. Valid values: `on` and `off`.
3192
+ Note: this field may return `null`, indicating that no valid values can be obtained.
3193
+ * @type {string || null}
3194
+ */
3195
+ this.PunishmentSwitch = null;
3196
+
3197
+ /**
3198
+ * IP penalty duration
3199
+ Note: this field may return `null`, indicating that no valid values can be obtained.
3200
+ * @type {number || null}
3201
+ */
3202
+ this.PunishmentTime = null;
3203
+
3204
+ /**
3205
+ * Action. Valid values: `intercept` and `redirect`.
3206
+ Note: this field may return `null`, indicating that no valid values can be obtained.
3207
+ * @type {string || null}
3208
+ */
3209
+ this.Action = null;
3210
+
3211
+ /**
3212
+ * A redirection URL used when Action is `redirect`
3213
+ Note: this field may return `null`, indicating that no valid values can be obtained.
3214
+ * @type {string || null}
3215
+ */
3216
+ this.RedirectUrl = null;
3217
+
3218
+ /**
3219
+ * Layer-7 rule configuration for CC frequency limiting
3220
+ Note: this field may return `null`, indicating that no valid values can be obtained.
3221
+ * @type {Array.<ScdnSevenLayerRules> || null}
3222
+ */
3223
+ this.Configure = null;
3224
+
3225
+ }
3226
+
3227
+ /**
3228
+ * @private
3229
+ */
3230
+ deserialize(params) {
3231
+ if (!params) {
3232
+ return;
3233
+ }
3234
+ this.RuleName = 'RuleName' in params ? params.RuleName : null;
3235
+ this.DetectionTime = 'DetectionTime' in params ? params.DetectionTime : null;
3236
+ this.FrequencyLimit = 'FrequencyLimit' in params ? params.FrequencyLimit : null;
3237
+ this.PunishmentSwitch = 'PunishmentSwitch' in params ? params.PunishmentSwitch : null;
3238
+ this.PunishmentTime = 'PunishmentTime' in params ? params.PunishmentTime : null;
3239
+ this.Action = 'Action' in params ? params.Action : null;
3240
+ this.RedirectUrl = 'RedirectUrl' in params ? params.RedirectUrl : null;
3241
+
3242
+ if (params.Configure) {
3243
+ this.Configure = new Array();
3244
+ for (let z in params.Configure) {
3245
+ let obj = new ScdnSevenLayerRules();
3246
+ obj.deserialize(params.Configure[z]);
3247
+ this.Configure.push(obj);
3248
+ }
3249
+ }
3250
+
3251
+ }
3252
+ }
3253
+
2918
3254
  /**
2919
3255
  * DescribeDomainsConfig response structure.
2920
3256
  * @class
@@ -4845,9 +5181,10 @@ Applicable to cases where the acceleration domain name configuration differs for
4845
5181
 
4846
5182
  /**
4847
5183
  * Domain name acceleration region
4848
- mainland: acceleration inside mainland China
4849
- overseas: acceleration outside mainland China
4850
- global: global acceleration
5184
+ `mainland`: acceleration inside the Chinese mainland
5185
+ `overseas`: acceleration outside the Chinese mainland
5186
+ `global`: global acceleration
5187
+ When you change it to from `mainland`/`overseas` to `global`, configurations of the domain name will be deployed to the region inside or outside the Chinese mainland. The deployment will take some time as this domain name has special settings.
4851
5188
  * @type {string || null}
4852
5189
  */
4853
5190
  this.Area = null;
@@ -4877,7 +5214,7 @@ global: global acceleration
4877
5214
  this.AccessControl = null;
4878
5215
 
4879
5216
  /**
4880
- * URL redirect configuration
5217
+ * Configuration of URL rewriting
4881
5218
  * @type {UrlRedirect || null}
4882
5219
  */
4883
5220
  this.UrlRedirect = null;
@@ -4936,6 +5273,18 @@ global: global acceleration
4936
5273
  */
4937
5274
  this.WebSocket = null;
4938
5275
 
5276
+ /**
5277
+ * Configuration of remote authentication
5278
+ * @type {RemoteAuthentication || null}
5279
+ */
5280
+ this.RemoteAuthentication = null;
5281
+
5282
+ /**
5283
+ * Shared CNAME configuration (only available to beta users)
5284
+ * @type {ShareCname || null}
5285
+ */
5286
+ this.ShareCname = null;
5287
+
4939
5288
  }
4940
5289
 
4941
5290
  /**
@@ -5173,6 +5522,18 @@ global: global acceleration
5173
5522
  this.WebSocket = obj;
5174
5523
  }
5175
5524
 
5525
+ if (params.RemoteAuthentication) {
5526
+ let obj = new RemoteAuthentication();
5527
+ obj.deserialize(params.RemoteAuthentication)
5528
+ this.RemoteAuthentication = obj;
5529
+ }
5530
+
5531
+ if (params.ShareCname) {
5532
+ let obj = new ShareCname();
5533
+ obj.deserialize(params.ShareCname)
5534
+ this.ShareCname = obj;
5535
+ }
5536
+
5176
5537
  }
5177
5538
  }
5178
5539
 
@@ -6058,6 +6419,14 @@ hex: hexadecimal
6058
6419
  */
6059
6420
  this.TimeFormat = null;
6060
6421
 
6422
+ /**
6423
+ * Backup key, which is used to calculate a signature.
6424
+ 6-32 characters. Only digits and letters are allowed.
6425
+ Note: this field may return `null`, indicating that no valid values can be obtained.
6426
+ * @type {string || null}
6427
+ */
6428
+ this.BackupSecretKey = null;
6429
+
6061
6430
  }
6062
6431
 
6063
6432
  /**
@@ -6074,6 +6443,7 @@ hex: hexadecimal
6074
6443
  this.SignParam = 'SignParam' in params ? params.SignParam : null;
6075
6444
  this.TimeParam = 'TimeParam' in params ? params.TimeParam : null;
6076
6445
  this.TimeFormat = 'TimeFormat' in params ? params.TimeFormat : null;
6446
+ this.BackupSecretKey = 'BackupSecretKey' in params ? params.BackupSecretKey : null;
6077
6447
 
6078
6448
  }
6079
6449
  }
@@ -6127,6 +6497,14 @@ Note: this field may return `null`, indicating that no valid value is obtained.
6127
6497
  */
6128
6498
  this.TimeFormat = null;
6129
6499
 
6500
+ /**
6501
+ * Backup key, which is used to calculate a signature.
6502
+ 6-32 characters. Only digits and letters are allowed.
6503
+ Note: this field may return `null`, indicating that no valid values can be obtained.
6504
+ * @type {string || null}
6505
+ */
6506
+ this.BackupSecretKey = null;
6507
+
6130
6508
  }
6131
6509
 
6132
6510
  /**
@@ -6141,6 +6519,7 @@ Note: this field may return `null`, indicating that no valid value is obtained.
6141
6519
  this.FileExtensions = 'FileExtensions' in params ? params.FileExtensions : null;
6142
6520
  this.FilterType = 'FilterType' in params ? params.FilterType : null;
6143
6521
  this.TimeFormat = 'TimeFormat' in params ? params.TimeFormat : null;
6522
+ this.BackupSecretKey = 'BackupSecretKey' in params ? params.BackupSecretKey : null;
6144
6523
 
6145
6524
  }
6146
6525
  }
@@ -6182,6 +6561,14 @@ blacklist: indicates that only the file types in the FileExtensions list are aut
6182
6561
  */
6183
6562
  this.FilterType = null;
6184
6563
 
6564
+ /**
6565
+ * Backup key, which is used to calculate a signature.
6566
+ 6-32 characters. Only digits and letters are allowed.
6567
+ Note: this field may return `null`, indicating that no valid values can be obtained.
6568
+ * @type {string || null}
6569
+ */
6570
+ this.BackupSecretKey = null;
6571
+
6185
6572
  }
6186
6573
 
6187
6574
  /**
@@ -6195,6 +6582,7 @@ blacklist: indicates that only the file types in the FileExtensions list are aut
6195
6582
  this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null;
6196
6583
  this.FileExtensions = 'FileExtensions' in params ? params.FileExtensions : null;
6197
6584
  this.FilterType = 'FilterType' in params ? params.FilterType : null;
6585
+ this.BackupSecretKey = 'BackupSecretKey' in params ? params.BackupSecretKey : null;
6198
6586
 
6199
6587
  }
6200
6588
  }
@@ -6249,6 +6637,14 @@ blacklist: indicates that only the file types in the FileExtensions list are aut
6249
6637
  */
6250
6638
  this.FilterType = null;
6251
6639
 
6640
+ /**
6641
+ * Backup key, which is used to calculate a signature.
6642
+ 6-32 characters. Only digits and letters are allowed.
6643
+ Note: this field may return `null`, indicating that no valid values can be obtained.
6644
+ * @type {string || null}
6645
+ */
6646
+ this.BackupSecretKey = null;
6647
+
6252
6648
  }
6253
6649
 
6254
6650
  /**
@@ -6263,6 +6659,7 @@ blacklist: indicates that only the file types in the FileExtensions list are aut
6263
6659
  this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null;
6264
6660
  this.FileExtensions = 'FileExtensions' in params ? params.FileExtensions : null;
6265
6661
  this.FilterType = 'FilterType' in params ? params.FilterType : null;
6662
+ this.BackupSecretKey = 'BackupSecretKey' in params ? params.BackupSecretKey : null;
6266
6663
 
6267
6664
  }
6268
6665
  }
@@ -6760,6 +7157,48 @@ Up to 100 entries can be submitted at a time and 3,000 entries per day.
6760
7157
  }
6761
7158
  }
6762
7159
 
7160
+ /**
7161
+ * Precise access control match rule
7162
+ * @class
7163
+ */
7164
+ class ScdnAclRule extends AbstractModel {
7165
+ constructor(){
7166
+ super();
7167
+
7168
+ /**
7169
+ * Keyword
7170
+ * @type {string || null}
7171
+ */
7172
+ this.MatchKey = null;
7173
+
7174
+ /**
7175
+ * Logical operator. Valid values:
7176
+ * @type {string || null}
7177
+ */
7178
+ this.LogiOperator = null;
7179
+
7180
+ /**
7181
+ * Matched value
7182
+ * @type {string || null}
7183
+ */
7184
+ this.MatchValue = null;
7185
+
7186
+ }
7187
+
7188
+ /**
7189
+ * @private
7190
+ */
7191
+ deserialize(params) {
7192
+ if (!params) {
7193
+ return;
7194
+ }
7195
+ this.MatchKey = 'MatchKey' in params ? params.MatchKey : null;
7196
+ this.LogiOperator = 'LogiOperator' in params ? params.LogiOperator : null;
7197
+ this.MatchValue = 'MatchValue' in params ? params.MatchValue : null;
7198
+
7199
+ }
7200
+ }
7201
+
6763
7202
  /**
6764
7203
  * Cache expiration rules configuration
6765
7204
  * @class
@@ -7066,8 +7505,8 @@ Note: this field may return null, indicating that no valid values can be obtaine
7066
7505
  this.FollowRedirect = null;
7067
7506
 
7068
7507
  /**
7069
- * Custom error page configuration (in beta)
7070
- Note: this field may return null, indicating that no valid values can be obtained.
7508
+ * Configuration of custom error page
7509
+ Note: this field may return `null`, indicating that no valid values can be obtained.
7071
7510
  * @type {ErrorPage || null}
7072
7511
  */
7073
7512
  this.ErrorPage = null;
@@ -7317,21 +7756,21 @@ Note: this field may return `null`, indicating that no valid values can be obtai
7317
7756
  this.Ipv6Access = null;
7318
7757
 
7319
7758
  /**
7320
- * Advanced configuration set
7759
+ * Advanced configuration settings
7321
7760
  Note: this field may return `null`, indicating that no valid values can be obtained.
7322
7761
  * @type {Array.<AdvanceConfig> || null}
7323
7762
  */
7324
7763
  this.AdvanceSet = null;
7325
7764
 
7326
7765
  /**
7327
- * Offline cache
7766
+ * Offline cache (only available to beta users)
7328
7767
  Note: this field may return `null`, indicating that no valid values can be obtained.
7329
7768
  * @type {OfflineCache || null}
7330
7769
  */
7331
7770
  this.OfflineCache = null;
7332
7771
 
7333
7772
  /**
7334
- * Merging pull requests
7773
+ * Merging origin-pull requests (only available to beta users)
7335
7774
  Note: this field may return `null`, indicating that no valid values can be obtained.
7336
7775
  * @type {OriginCombine || null}
7337
7776
  */
@@ -7365,6 +7804,20 @@ Note: this field may return `null`, indicating that no valid values can be obtai
7365
7804
  */
7366
7805
  this.WebSocket = null;
7367
7806
 
7807
+ /**
7808
+ * Remote authentication configuration
7809
+ Note: this field may return `null`, indicating that no valid values can be obtained.
7810
+ * @type {RemoteAuthentication || null}
7811
+ */
7812
+ this.RemoteAuthentication = null;
7813
+
7814
+ /**
7815
+ * Shared CNAME configuration (only available to beta users)
7816
+ Note: this field may return `null`, indicating that no valid values can be obtained.
7817
+ * @type {ShareCname || null}
7818
+ */
7819
+ this.ShareCname = null;
7820
+
7368
7821
  }
7369
7822
 
7370
7823
  /**
@@ -7659,6 +8112,18 @@ Note: this field may return `null`, indicating that no valid values can be obtai
7659
8112
  this.WebSocket = obj;
7660
8113
  }
7661
8114
 
8115
+ if (params.RemoteAuthentication) {
8116
+ let obj = new RemoteAuthentication();
8117
+ obj.deserialize(params.RemoteAuthentication)
8118
+ this.RemoteAuthentication = obj;
8119
+ }
8120
+
8121
+ if (params.ShareCname) {
8122
+ let obj = new ShareCname();
8123
+ obj.deserialize(params.ShareCname)
8124
+ this.ShareCname = obj;
8125
+ }
8126
+
7662
8127
  }
7663
8128
  }
7664
8129
 
@@ -8418,6 +8883,13 @@ off: disabled
8418
8883
  */
8419
8884
  this.Switch = null;
8420
8885
 
8886
+ /**
8887
+ * Range GETs configuration
8888
+ Note: this field may return `null`, indicating that no valid values can be obtained.
8889
+ * @type {Array.<RangeOriginPullRule> || null}
8890
+ */
8891
+ this.RangeRules = null;
8892
+
8421
8893
  }
8422
8894
 
8423
8895
  /**
@@ -8429,6 +8901,15 @@ off: disabled
8429
8901
  }
8430
8902
  this.Switch = 'Switch' in params ? params.Switch : null;
8431
8903
 
8904
+ if (params.RangeRules) {
8905
+ this.RangeRules = new Array();
8906
+ for (let z in params.RangeRules) {
8907
+ let obj = new RangeOriginPullRule();
8908
+ obj.deserialize(params.RangeRules[z]);
8909
+ this.RangeRules.push(obj);
8910
+ }
8911
+ }
8912
+
8432
8913
  }
8433
8914
  }
8434
8915
 
@@ -9643,6 +10124,13 @@ Note: This field may return null, indicating that no valid values can be obtaine
9643
10124
  */
9644
10125
  this.CacheOptResult = null;
9645
10126
 
10127
+ /**
10128
+ * Task ID
10129
+ Note: this field may return `null`, indicating that no valid values can be obtained.
10130
+ * @type {string || null}
10131
+ */
10132
+ this.TaskId = null;
10133
+
9646
10134
  /**
9647
10135
  * The unique request ID, which is returned for each request. RequestId is required for locating a problem.
9648
10136
  * @type {string || null}
@@ -9664,6 +10152,7 @@ Note: This field may return null, indicating that no valid values can be obtaine
9664
10152
  obj.deserialize(params.CacheOptResult)
9665
10153
  this.CacheOptResult = obj;
9666
10154
  }
10155
+ this.TaskId = 'TaskId' in params ? params.TaskId : null;
9667
10156
  this.RequestId = 'RequestId' in params ? params.RequestId : null;
9668
10157
 
9669
10158
  }
@@ -9678,25 +10167,316 @@ class RuleQueryString extends AbstractModel {
9678
10167
  super();
9679
10168
 
9680
10169
  /**
9681
- * Whether to use `QueryString` as part of `CacheKey`. Valid values: on, off
9682
- Note: this field may return null, indicating that no valid value is obtained.
10170
+ * Whether to use `QueryString` as part of `CacheKey`. Valid values: on, off
10171
+ Note: this field may return null, indicating that no valid value is obtained.
10172
+ * @type {string || null}
10173
+ */
10174
+ this.Switch = null;
10175
+
10176
+ /**
10177
+ * `includeCustom` will retain partial query strings
10178
+ Note: this field may return null, indicating that no valid value is obtained.
10179
+ * @type {string || null}
10180
+ */
10181
+ this.Action = null;
10182
+
10183
+ /**
10184
+ * Array of included/excluded query strings (separated by ';')
10185
+ Note: this field may return null, indicating that no valid value is obtained.
10186
+ * @type {string || null}
10187
+ */
10188
+ this.Value = null;
10189
+
10190
+ }
10191
+
10192
+ /**
10193
+ * @private
10194
+ */
10195
+ deserialize(params) {
10196
+ if (!params) {
10197
+ return;
10198
+ }
10199
+ this.Switch = 'Switch' in params ? params.Switch : null;
10200
+ this.Action = 'Action' in params ? params.Action : null;
10201
+ this.Value = 'Value' in params ? params.Value : null;
10202
+
10203
+ }
10204
+ }
10205
+
10206
+ /**
10207
+ * Precise access control rule
10208
+ * @class
10209
+ */
10210
+ class AdvancedScdnAclRule extends AbstractModel {
10211
+ constructor(){
10212
+ super();
10213
+
10214
+ /**
10215
+ * Keyword. Valid values:
10216
+ `protocol`: HTTP protocol
10217
+ `httpVersion`: HTTP version
10218
+ `method`: request method
10219
+ `ip`: requester IP
10220
+ `ipAsn`: ASN of the requester IP
10221
+ `ipCountry`: country/region of the requester IP
10222
+ `ipArea`: region of the requester IP
10223
+ `xForwardFor`: X-Forward-For request header
10224
+ `directory`: path
10225
+ `index`: homepage
10226
+ `path`: full path of a file
10227
+ `file`: file extension
10228
+ `param`: request parameter
10229
+ `referer`: Referer request header
10230
+ `cookie`: Cookie request header
10231
+ `userAgent`: User-Agent request header
10232
+ `head`: custom request header
10233
+ * @type {string || null}
10234
+ */
10235
+ this.MatchKey = null;
10236
+
10237
+ /**
10238
+ * Logical operator. Valid values:
10239
+ `exclude`: the keyword is not included
10240
+ `include`: the keyword is included
10241
+ `notequal`: not the same as the keyword
10242
+ `equal`: the same as the keyword
10243
+ `matching`: the prefix is matched
10244
+ `null`: empty or does not exist
9683
10245
  * @type {string || null}
9684
10246
  */
9685
- this.Switch = null;
10247
+ this.LogicOperator = null;
9686
10248
 
9687
10249
  /**
9688
- * `includeCustom` will retain partial query strings
9689
- Note: this field may return null, indicating that no valid value is obtained.
9690
- * @type {string || null}
10250
+ * Match value
10251
+ When `MatchKey` is `protocol`,
10252
+ Values: `HTTP` and `HTTPS`.
10253
+
10254
+ When `MatchKey` is `httpVersion`,
10255
+ Values: `HTTP/1.0`, `HTTP/1.1`, `HTTP/1.2`, `HTTP/2`, and `HTTP/3`.
10256
+
10257
+ When `MatchKey` is `method`,
10258
+ Values: `HEAD`, `GET`, `POST`, `PUT`, `OPTIONS`, `TRACE`, `DELETE`, `PATCH` and `CONNECT`.
10259
+
10260
+ When `MatchKey` is `ipCountry`, valid values include:
10261
+ `OTHER`: other countries/regions
10262
+ `VE`: Venezuela
10263
+ `UY`: Uruguay
10264
+ `SR`: Suriname
10265
+ `PY`: Paraguay
10266
+ `PE`: Peru
10267
+ `GY`: Guyana
10268
+ `EC`: Ecuador
10269
+ `CO`: Colombia
10270
+ `CL`: Chile
10271
+ `BR`: Brazil
10272
+ `BO`: Bolivia
10273
+ `AR`: Argentina
10274
+ `NZ`: New Zealand
10275
+ `WS`: Samoa
10276
+ `VU`: Vanuatu
10277
+ `TV`: Tuvalu
10278
+ `TO`: Tonga
10279
+ `TK`: Tokelau
10280
+ `PW`: Palau
10281
+ `NU`: Niue
10282
+ `NR`: Nauru
10283
+ `KI`: Kiribati
10284
+ `GU`: Guam
10285
+ `FM`: Micronesia
10286
+ `AU`: Australia
10287
+ `US`: United States
10288
+ `PR`: Puerto Rico
10289
+ `DO`: Dominican Republic
10290
+ `CR`: Costa Rica
10291
+ `AS`: American Samoa
10292
+ `AG`: Antigua and Barbuda
10293
+ `PA`: Panama
10294
+ `NI`: Nicaragua
10295
+ `MX`: Mexico
10296
+ `JM`: Jamaica
10297
+ `HT`: Haiti
10298
+ `HN`: Honduras
10299
+ `GT`: Guatemala
10300
+ `GP`: Guadeloupe
10301
+ `GL`: Greenland
10302
+ `GD`: Grenada
10303
+ `CU`: Cuba
10304
+ `CA`: Canada
10305
+ `BZ`: Belize
10306
+ `BS`: Bahamas
10307
+ `BM`: Bermuda
10308
+ `BB`: Barbados
10309
+ `AW`: Aruba
10310
+ `AI`: Anguilla
10311
+ `VA`: Vatican
10312
+ `SK`: Slovakia
10313
+ `RU`: Russia
10314
+ `GB`: United Kingdom
10315
+ `CZ`: Czech Republic
10316
+ `UA`: Ukraine
10317
+ `TR`: Turkey
10318
+ `SI`: Slovenia
10319
+ `SE`: Sweden
10320
+ `RS`: Republic of Serbia
10321
+ `RO`: Romania
10322
+ `PT`: Portugal
10323
+ `PL`: Poland
10324
+ `NO`: Norway
10325
+ `NL`: Netherlands
10326
+ `MT`: Malta
10327
+ `MK`: Macedonia
10328
+ `ME`: Montenegro
10329
+ `MD`: Moldova
10330
+ `MC`: Monaco
10331
+ `LV`: Latvia
10332
+ `LU`: Luxembourg
10333
+ `LT`: Lithuania
10334
+ `LI`: Liechtenstein
10335
+ `KZ`: Kazakhstan
10336
+ `IT`: Italy
10337
+ `IS`: Iceland
10338
+ `IE`: Ireland
10339
+ `HU`: Hungary
10340
+ `HR`: Croatia
10341
+ `GR`: Greece
10342
+ `GI`: Gibraltar
10343
+ `GG`: Guernsey
10344
+ `GE`: Georgia
10345
+ `FR`: France
10346
+ `FI`: Finland
10347
+ `ES`: Spain
10348
+ `EE`: Estonia
10349
+ `DK`: Denmark
10350
+ `DE`: Germany
10351
+ `CY`: Cyprus
10352
+ `CH`: Switzerland
10353
+ `BY`: Belarus
10354
+ `BG`: Bulgaria
10355
+ `BE`: Belgium
10356
+ `AZ`: Azerbaijan
10357
+ `AT`: Austria
10358
+ `AM`: Armenia
10359
+ `AL`: Albania
10360
+ `AD`: Andorra
10361
+ `TL`: East Timor
10362
+ `SY`: Syria
10363
+ `SA`: Saudi Arabia
10364
+ `PS`: Palestine
10365
+ `LK`: Sri Lanka
10366
+ `LK`: Sri Lanka
10367
+ `KP`: North Korea
10368
+ `KG`: Kyrgyzstan
10369
+ `HK`: Hong Kong, China
10370
+ `BN`: Brunei
10371
+ `BD`: Bangladesh
10372
+ `AE`: United Arab Emirates
10373
+ `YE`: Yemen
10374
+ `VN`: Vietnam
10375
+ `UZ`: Uzbekistan
10376
+ `TW`: Taiwan, China
10377
+ `TM`: Turkmenistan
10378
+ `TJ`: Tajikistan
10379
+ `TH`: Thailand
10380
+ `SG`: Singapore
10381
+ `QA`: Qatar
10382
+ `PK`: Pakistan
10383
+ `PH`: Philippines
10384
+ `OM`: Oman
10385
+ `NP`: Nepal
10386
+ `MY`: Malaysia
10387
+ `MV`: Maldives
10388
+ `MO`: Macao, China
10389
+ `MN`: Mongolia
10390
+ `MM`: Myanmar
10391
+ `LB`: Lebanon
10392
+ `KW`: Kuwait
10393
+ `KR`: South Korea
10394
+ `KH`: Cambodia
10395
+ `JP`: Japan
10396
+ `JO`: Jordan
10397
+ `IR`: Iran
10398
+ `IQ`: Iraq
10399
+ `IN`: India
10400
+ `IL`: Israel
10401
+ `ID`: Indonesia
10402
+ `CN`: China
10403
+ `BT`: Bhutan
10404
+ `BH`: Bahrain
10405
+ `AF`: Afghanistan
10406
+ `LY`: Libya
10407
+ `CD`: Democratic Republic of the Congo
10408
+ `RE`: La Réunion
10409
+ `SZ`: Swaziland
10410
+ `ZW`: Zimbabwe
10411
+ `ZM`: Zambia
10412
+ `YT`: Mayotte
10413
+ `UG`: Uganda
10414
+ `TZ`: Tanzania
10415
+ `TN`: Tunisia
10416
+ `TG`: Togo
10417
+ `TD`: Chad
10418
+ `SO`: Somalia
10419
+ `SN`: Senegal
10420
+ `SD`: Sudan
10421
+ `SC`: Seychelles
10422
+ `RW`: Rwanda
10423
+ `NG`: Nigeria
10424
+ `NE`: Niger
10425
+ `NA`: Namibia
10426
+ `MZ`: Mozambique
10427
+ `MW`: Malawi
10428
+ `MU`: Mauritius
10429
+ `MR`: Mauritania
10430
+ `ML`: Mali
10431
+ `MG`: Madagascar
10432
+ `MA`: Morocco
10433
+ `LS`: Lesotho
10434
+ `LR`: Liberia
10435
+ `KM`: Comoros
10436
+ `KE`: Kenya
10437
+ `GN`: Guinea
10438
+ `GM`: Gambia
10439
+ `GH`: Ghana
10440
+ `GA`: Gabon
10441
+ `ET`: Ethiopia
10442
+ `ER`: Eritrea
10443
+ `EG`: Egypt
10444
+ `DZ`: Algeria
10445
+ `DJ`: Djibouti
10446
+ `CM`: Cameroon
10447
+ `CG`: Republic of the Congo
10448
+ `BW`: Botswana
10449
+ `BJ`: Benin
10450
+ `BI`: Burundi
10451
+ `AO`: Angola
10452
+
10453
+ When MatchKey is `ipArea`, valid values include:
10454
+ `OTHER`: other areas
10455
+ `AS`: Asia
10456
+ `EU`: Europe
10457
+ `AN`: Antarctica
10458
+ `AF`: Africa
10459
+ `OC`: Oceania
10460
+ `NA`: North America
10461
+ `SA`: South America
10462
+
10463
+ When MatchKey is `index`,
10464
+ valid value is `/;/index.html`.
10465
+ * @type {Array.<string> || null}
9691
10466
  */
9692
- this.Action = null;
10467
+ this.MatchValue = null;
9693
10468
 
9694
10469
  /**
9695
- * Array of included/excluded query strings (separated by ';')
9696
- Note: this field may return null, indicating that no valid value is obtained.
10470
+ * Whether to distinguish uppercase or lowercase letters. `true`: case sensitive; `false`: case insensitive.
10471
+ * @type {boolean || null}
10472
+ */
10473
+ this.CaseSensitive = null;
10474
+
10475
+ /**
10476
+ * This field is required when `MatchKey` is `param` or `cookie`. For `param`, it indicates a key value of the request parameter if MatchKey is `param`, while a key value of the Cookie request header if MatchKey is `cookie`.
9697
10477
  * @type {string || null}
9698
10478
  */
9699
- this.Value = null;
10479
+ this.MatchKeyParam = null;
9700
10480
 
9701
10481
  }
9702
10482
 
@@ -9707,9 +10487,11 @@ Note: this field may return null, indicating that no valid value is obtained.
9707
10487
  if (!params) {
9708
10488
  return;
9709
10489
  }
9710
- this.Switch = 'Switch' in params ? params.Switch : null;
9711
- this.Action = 'Action' in params ? params.Action : null;
9712
- this.Value = 'Value' in params ? params.Value : null;
10490
+ this.MatchKey = 'MatchKey' in params ? params.MatchKey : null;
10491
+ this.LogicOperator = 'LogicOperator' in params ? params.LogicOperator : null;
10492
+ this.MatchValue = 'MatchValue' in params ? params.MatchValue : null;
10493
+ this.CaseSensitive = 'CaseSensitive' in params ? params.CaseSensitive : null;
10494
+ this.MatchKeyParam = 'MatchKeyParam' in params ? params.MatchKeyParam : null;
9713
10495
 
9714
10496
  }
9715
10497
  }
@@ -9930,6 +10712,13 @@ Note: this field may return `null`, indicating that no valid values can be obtai
9930
10712
  */
9931
10713
  this.Rules = null;
9932
10714
 
10715
+ /**
10716
+ * Advanced custom CC attack defense rule
10717
+ Note: this field may return `null`, indicating that no valid values can be obtained.
10718
+ * @type {Array.<AdvancedCCRules> || null}
10719
+ */
10720
+ this.AdvancedRules = null;
10721
+
9933
10722
  }
9934
10723
 
9935
10724
  /**
@@ -9950,6 +10739,15 @@ Note: this field may return `null`, indicating that no valid values can be obtai
9950
10739
  }
9951
10740
  }
9952
10741
 
10742
+ if (params.AdvancedRules) {
10743
+ this.AdvancedRules = new Array();
10744
+ for (let z in params.AdvancedRules) {
10745
+ let obj = new AdvancedCCRules();
10746
+ obj.deserialize(params.AdvancedRules[z]);
10747
+ this.AdvancedRules.push(obj);
10748
+ }
10749
+ }
10750
+
9953
10751
  }
9954
10752
  }
9955
10753
 
@@ -10343,6 +11141,56 @@ Note: this field may return null, indicating that no valid values can be obtaine
10343
11141
  }
10344
11142
  }
10345
11143
 
11144
+ /**
11145
+ * Range GETs configuration
11146
+ * @class
11147
+ */
11148
+ class RangeOriginPullRule extends AbstractModel {
11149
+ constructor(){
11150
+ super();
11151
+
11152
+ /**
11153
+ * Specifies whether Range GETs is enabled
11154
+ * @type {string || null}
11155
+ */
11156
+ this.Switch = null;
11157
+
11158
+ /**
11159
+ * Rule types:
11160
+ `file`: effective for specified file suffixes.
11161
+ `directory`: effective for specified paths.
11162
+ `path`: effective for specified absolute paths.
11163
+ Note: this field may return `null`, indicating that no valid values can be obtained.
11164
+ * @type {string || null}
11165
+ */
11166
+ this.RuleType = null;
11167
+
11168
+ /**
11169
+ * Content for each `RuleType`:
11170
+ For `file`, enter a suffix, e.g., `jpg` or `txt`.
11171
+ For `directory`, enter a path, e.g., `/xxx/test/`.
11172
+ For `path`, enter an absolute path, e.g., `/xxx/test.html`.
11173
+ Note: this field may return `null`, indicating that no valid values can be obtained.
11174
+ * @type {Array.<string> || null}
11175
+ */
11176
+ this.RulePaths = null;
11177
+
11178
+ }
11179
+
11180
+ /**
11181
+ * @private
11182
+ */
11183
+ deserialize(params) {
11184
+ if (!params) {
11185
+ return;
11186
+ }
11187
+ this.Switch = 'Switch' in params ? params.Switch : null;
11188
+ this.RuleType = 'RuleType' in params ? params.RuleType : null;
11189
+ this.RulePaths = 'RulePaths' in params ? params.RulePaths : null;
11190
+
11191
+ }
11192
+ }
11193
+
10346
11194
  /**
10347
11195
  * DescribeCdnIp response structure.
10348
11196
  * @class
@@ -10554,6 +11402,8 @@ class ScdnErrorPage extends AbstractModel {
10554
11402
 
10555
11403
  /**
10556
11404
  * Status code
11405
+ `403` is passed in when the action is `intercept`.
11406
+ `301` is passed in when the action is `redirect`.
10557
11407
  * @type {number || null}
10558
11408
  */
10559
11409
  this.RedirectCode = null;
@@ -10827,6 +11677,63 @@ Note: this field may return null, indicating that no valid values can be obtaine
10827
11677
  }
10828
11678
  }
10829
11679
 
11680
+ /**
11681
+ * Configuration of remote authentication rules. Setting up multiple rules is supported.
11682
+ `RemoteAuthenticationRules` and `Server` cannot be configured at the same time.
11683
+ If only `Server` is configured, all parameters of `RemoteAuthenticationRules` will be set to the default values. The default values are described in each configuration parameter.
11684
+ * @class
11685
+ */
11686
+ class RemoteAuthentication extends AbstractModel {
11687
+ constructor(){
11688
+ super();
11689
+
11690
+ /**
11691
+ * Remote authentication switch
11692
+ `on`: enable
11693
+ `off`: disable
11694
+ Note: this field may return `null`, indicating that no valid values can be obtained.
11695
+ * @type {string || null}
11696
+ */
11697
+ this.Switch = null;
11698
+
11699
+ /**
11700
+ * Remote authentication rule configuration
11701
+ Note: this field may return `null`, indicating that no valid values can be obtained.
11702
+ * @type {Array.<RemoteAuthenticationRule> || null}
11703
+ */
11704
+ this.RemoteAuthenticationRules = null;
11705
+
11706
+ /**
11707
+ * Remote authentication server
11708
+ Note: this field may return `null`, indicating that no valid values can be obtained.
11709
+ * @type {string || null}
11710
+ */
11711
+ this.Server = null;
11712
+
11713
+ }
11714
+
11715
+ /**
11716
+ * @private
11717
+ */
11718
+ deserialize(params) {
11719
+ if (!params) {
11720
+ return;
11721
+ }
11722
+ this.Switch = 'Switch' in params ? params.Switch : null;
11723
+
11724
+ if (params.RemoteAuthenticationRules) {
11725
+ this.RemoteAuthenticationRules = new Array();
11726
+ for (let z in params.RemoteAuthenticationRules) {
11727
+ let obj = new RemoteAuthenticationRule();
11728
+ obj.deserialize(params.RemoteAuthenticationRules[z]);
11729
+ this.RemoteAuthenticationRules.push(obj);
11730
+ }
11731
+ }
11732
+ this.Server = 'Server' in params ? params.Server : null;
11733
+
11734
+ }
11735
+ }
11736
+
10830
11737
  /**
10831
11738
  * Path-based cache key configuration
10832
11739
  * @class
@@ -10961,6 +11868,44 @@ For `path`, enter the corresponding absolute path, such as /xxx/test.html.
10961
11868
  }
10962
11869
  }
10963
11870
 
11871
+ /**
11872
+ * Shared CNAME configuration
11873
+ * @class
11874
+ */
11875
+ class ShareCname extends AbstractModel {
11876
+ constructor(){
11877
+ super();
11878
+
11879
+ /**
11880
+ * Specifies whether to enable Shared CNAME. If it is set to `off`, the default CNAME is used. If it is set to `on`, a shared CNAME is used.
11881
+
11882
+ * ShareCname is only available to beta users. To use this feature, please submit a ticket for application.
11883
+ * @type {string || null}
11884
+ */
11885
+ this.Switch = null;
11886
+
11887
+ /**
11888
+ * Shared CNAME to be configured
11889
+ Note: this field may return `null`, indicating that no valid values can be obtained.
11890
+ * @type {string || null}
11891
+ */
11892
+ this.Cname = null;
11893
+
11894
+ }
11895
+
11896
+ /**
11897
+ * @private
11898
+ */
11899
+ deserialize(params) {
11900
+ if (!params) {
11901
+ return;
11902
+ }
11903
+ this.Switch = 'Switch' in params ? params.Switch : null;
11904
+ this.Cname = 'Cname' in params ? params.Cname : null;
11905
+
11906
+ }
11907
+ }
11908
+
10964
11909
  /**
10965
11910
  * ListClsLogTopics request structure.
10966
11911
  * @class
@@ -12473,18 +13418,42 @@ Note: this field may return null, indicating that no valid values can be obtaine
12473
13418
  }
12474
13419
 
12475
13420
  /**
12476
- * ManageClsTopicDomains response structure.
13421
+ * SCDN precise access control configuration
12477
13422
  * @class
12478
13423
  */
12479
- class ManageClsTopicDomainsResponse extends AbstractModel {
13424
+ class AdvancedScdnAclGroup extends AbstractModel {
12480
13425
  constructor(){
12481
13426
  super();
12482
13427
 
12483
13428
  /**
12484
- * The unique request ID, which is returned for each request. RequestId is required for locating a problem.
13429
+ * Rule name
12485
13430
  * @type {string || null}
12486
13431
  */
12487
- this.RequestId = null;
13432
+ this.RuleName = null;
13433
+
13434
+ /**
13435
+ * Specific configurations
13436
+ * @type {Array.<AdvancedScdnAclRule> || null}
13437
+ */
13438
+ this.Configure = null;
13439
+
13440
+ /**
13441
+ * Action. Valid values: `intercept` and `redirect`.
13442
+ * @type {string || null}
13443
+ */
13444
+ this.Result = null;
13445
+
13446
+ /**
13447
+ * Whether the rule is activated. Valid values: `active` and `inactive`.
13448
+ * @type {string || null}
13449
+ */
13450
+ this.Status = null;
13451
+
13452
+ /**
13453
+ * Error page configuration
13454
+ * @type {ScdnErrorPage || null}
13455
+ */
13456
+ this.ErrorPage = null;
12488
13457
 
12489
13458
  }
12490
13459
 
@@ -12495,7 +13464,24 @@ class ManageClsTopicDomainsResponse extends AbstractModel {
12495
13464
  if (!params) {
12496
13465
  return;
12497
13466
  }
12498
- this.RequestId = 'RequestId' in params ? params.RequestId : null;
13467
+ this.RuleName = 'RuleName' in params ? params.RuleName : null;
13468
+
13469
+ if (params.Configure) {
13470
+ this.Configure = new Array();
13471
+ for (let z in params.Configure) {
13472
+ let obj = new AdvancedScdnAclRule();
13473
+ obj.deserialize(params.Configure[z]);
13474
+ this.Configure.push(obj);
13475
+ }
13476
+ }
13477
+ this.Result = 'Result' in params ? params.Result : null;
13478
+ this.Status = 'Status' in params ? params.Status : null;
13479
+
13480
+ if (params.ErrorPage) {
13481
+ let obj = new ScdnErrorPage();
13482
+ obj.deserialize(params.ErrorPage)
13483
+ this.ErrorPage = obj;
13484
+ }
12499
13485
 
12500
13486
  }
12501
13487
  }
@@ -12559,6 +13545,34 @@ Note: this field may return null, indicating that no valid values can be obtaine
12559
13545
  }
12560
13546
  }
12561
13547
 
13548
+ /**
13549
+ * ManageClsTopicDomains response structure.
13550
+ * @class
13551
+ */
13552
+ class ManageClsTopicDomainsResponse extends AbstractModel {
13553
+ constructor(){
13554
+ super();
13555
+
13556
+ /**
13557
+ * The unique request ID, which is returned for each request. RequestId is required for locating a problem.
13558
+ * @type {string || null}
13559
+ */
13560
+ this.RequestId = null;
13561
+
13562
+ }
13563
+
13564
+ /**
13565
+ * @private
13566
+ */
13567
+ deserialize(params) {
13568
+ if (!params) {
13569
+ return;
13570
+ }
13571
+ this.RequestId = 'RequestId' in params ? params.RequestId : null;
13572
+
13573
+ }
13574
+ }
13575
+
12562
13576
  /**
12563
13577
  * SCDN precise access control configuration
12564
13578
  * @class
@@ -12580,7 +13594,7 @@ class ScdnAclGroup extends AbstractModel {
12580
13594
  this.Configure = null;
12581
13595
 
12582
13596
  /**
12583
- * Rule action, which can be `refuse` or `redirect`.
13597
+ * Action. Valid values: `intercept` and `redirect`.
12584
13598
  * @type {string || null}
12585
13599
  */
12586
13600
  this.Result = null;
@@ -12806,6 +13820,14 @@ Note: this field may return `null`, indicating that no valid value is obtained.
12806
13820
  */
12807
13821
  this.FilterRules = null;
12808
13822
 
13823
+ /**
13824
+ * HTTP code returned when the IP allowlist/blocklist verification fails
13825
+ Valid values: 400-499
13826
+ Note: this field may return `null`, indicating that no valid values can be obtained.
13827
+ * @type {number || null}
13828
+ */
13829
+ this.ReturnCode = null;
13830
+
12809
13831
  }
12810
13832
 
12811
13833
  /**
@@ -12827,6 +13849,7 @@ Note: this field may return `null`, indicating that no valid value is obtained.
12827
13849
  this.FilterRules.push(obj);
12828
13850
  }
12829
13851
  }
13852
+ this.ReturnCode = 'ReturnCode' in params ? params.ReturnCode : null;
12830
13853
 
12831
13854
  }
12832
13855
  }
@@ -12846,7 +13869,7 @@ class ScdnAclConfig extends AbstractModel {
12846
13869
  this.Switch = null;
12847
13870
 
12848
13871
  /**
12849
- * ACL rule group, which is required when the access control is on.
13872
+ * This field is disused. Please use `AdvancedScriptData` instead.
12850
13873
  Note: this field may return `null`, indicating that no valid values can be obtained.
12851
13874
  * @type {Array.<ScdnAclGroup> || null}
12852
13875
  */
@@ -12859,6 +13882,13 @@ Note: this field may return `null`, indicating that no valid values can be obtai
12859
13882
  */
12860
13883
  this.ErrorPage = null;
12861
13884
 
13885
+ /**
13886
+ * ACL rule group, which is required when the access control is on.
13887
+ Note: this field may return `null`, indicating that no valid values can be obtained.
13888
+ * @type {Array.<AdvancedScdnAclGroup> || null}
13889
+ */
13890
+ this.AdvancedScriptData = null;
13891
+
12862
13892
  }
12863
13893
 
12864
13894
  /**
@@ -12885,6 +13915,15 @@ Note: this field may return `null`, indicating that no valid values can be obtai
12885
13915
  this.ErrorPage = obj;
12886
13916
  }
12887
13917
 
13918
+ if (params.AdvancedScriptData) {
13919
+ this.AdvancedScriptData = new Array();
13920
+ for (let z in params.AdvancedScriptData) {
13921
+ let obj = new AdvancedScdnAclGroup();
13922
+ obj.deserialize(params.AdvancedScriptData[z]);
13923
+ this.AdvancedScriptData.push(obj);
13924
+ }
13925
+ }
13926
+
12888
13927
  }
12889
13928
  }
12890
13929
 
@@ -13695,6 +14734,13 @@ Note: this field may return `null`, indicating that no valid values can be obtai
13695
14734
  */
13696
14735
  this.RedirectHost = null;
13697
14736
 
14737
+ /**
14738
+ * Whether to use full-path matching or arbitrary matching
14739
+ Note: this field may return `null`, indicating that no valid values can be obtained.
14740
+ * @type {boolean || null}
14741
+ */
14742
+ this.FullMatch = null;
14743
+
13698
14744
  }
13699
14745
 
13700
14746
  /**
@@ -13708,6 +14754,7 @@ Note: this field may return `null`, indicating that no valid values can be obtai
13708
14754
  this.Pattern = 'Pattern' in params ? params.Pattern : null;
13709
14755
  this.RedirectUrl = 'RedirectUrl' in params ? params.RedirectUrl : null;
13710
14756
  this.RedirectHost = 'RedirectHost' in params ? params.RedirectHost : null;
14757
+ this.FullMatch = 'FullMatch' in params ? params.FullMatch : null;
13711
14758
 
13712
14759
  }
13713
14760
  }
@@ -13780,19 +14827,21 @@ Note: this field may return `null`, indicating that no valid value is obtained.
13780
14827
  module.exports = {
13781
14828
  DescribeCdnDomainLogsResponse: DescribeCdnDomainLogsResponse,
13782
14829
  AdvancedAuthentication: AdvancedAuthentication,
13783
- Compression: Compression,
14830
+ AdvanceHttps: AdvanceHttps,
13784
14831
  Revalidate: Revalidate,
13785
14832
  ResourceData: ResourceData,
13786
14833
  UrlRecord: UrlRecord,
13787
14834
  DescribePushQuotaResponse: DescribePushQuotaResponse,
13788
14835
  DescribePurgeQuotaResponse: DescribePurgeQuotaResponse,
14836
+ ScdnSevenLayerRules: ScdnSevenLayerRules,
13789
14837
  Authentication: Authentication,
13790
14838
  ImageOptimization: ImageOptimization,
13791
14839
  Https: Https,
13792
14840
  RuleCache: RuleCache,
13793
14841
  DescribeCdnDomainLogsRequest: DescribeCdnDomainLogsRequest,
13794
14842
  CreateClsLogTopicResponse: CreateClsLogTopicResponse,
13795
- ScdnAclRule: ScdnAclRule,
14843
+ RemoteAuthenticationRule: RemoteAuthenticationRule,
14844
+ Compression: Compression,
13796
14845
  PurgePathCacheResponse: PurgePathCacheResponse,
13797
14846
  DomainFilter: DomainFilter,
13798
14847
  DescribeCdnOriginIpResponse: DescribeCdnOriginIpResponse,
@@ -13830,6 +14879,7 @@ module.exports = {
13830
14879
  DescribeCdnOriginIpRequest: DescribeCdnOriginIpRequest,
13831
14880
  UpdatePayTypeResponse: UpdatePayTypeResponse,
13832
14881
  TopicInfo: TopicInfo,
14882
+ AdvancedCCRules: AdvancedCCRules,
13833
14883
  DescribeDomainsConfigResponse: DescribeDomainsConfigResponse,
13834
14884
  BriefDomain: BriefDomain,
13835
14885
  TimestampData: TimestampData,
@@ -13881,6 +14931,7 @@ module.exports = {
13881
14931
  AccessControlRule: AccessControlRule,
13882
14932
  HttpHeaderPathRule: HttpHeaderPathRule,
13883
14933
  DisableCachesRequest: DisableCachesRequest,
14934
+ ScdnAclRule: ScdnAclRule,
13884
14935
  SimpleCacheRule: SimpleCacheRule,
13885
14936
  DisableClsLogTopicResponse: DisableClsLogTopicResponse,
13886
14937
  Hsts: Hsts,
@@ -13918,6 +14969,7 @@ module.exports = {
13918
14969
  DescribeMapInfoRequest: DescribeMapInfoRequest,
13919
14970
  EnableCachesResponse: EnableCachesResponse,
13920
14971
  RuleQueryString: RuleQueryString,
14972
+ AdvancedScdnAclRule: AdvancedScdnAclRule,
13921
14973
  DescribeIpVisitRequest: DescribeIpVisitRequest,
13922
14974
  HttpHeaderRule: HttpHeaderRule,
13923
14975
  StatusCodeCacheRule: StatusCodeCacheRule,
@@ -13931,6 +14983,7 @@ module.exports = {
13931
14983
  DescribeBillingDataResponse: DescribeBillingDataResponse,
13932
14984
  DisableCachesResponse: DisableCachesResponse,
13933
14985
  SchemeKey: SchemeKey,
14986
+ RangeOriginPullRule: RangeOriginPullRule,
13934
14987
  DescribeCdnIpResponse: DescribeCdnIpResponse,
13935
14988
  AdvanceCacheRule: AdvanceCacheRule,
13936
14989
  DescribeIpStatusResponse: DescribeIpStatusResponse,
@@ -13940,8 +14993,10 @@ module.exports = {
13940
14993
  UrlRedirect: UrlRedirect,
13941
14994
  DownstreamCapping: DownstreamCapping,
13942
14995
  CookieKey: CookieKey,
14996
+ RemoteAuthentication: RemoteAuthentication,
13943
14997
  KeyRule: KeyRule,
13944
14998
  CappingRule: CappingRule,
14999
+ ShareCname: ShareCname,
13945
15000
  ListClsLogTopicsRequest: ListClsLogTopicsRequest,
13946
15001
  Seo: Seo,
13947
15002
  BandwidthAlert: BandwidthAlert,
@@ -13974,9 +15029,10 @@ module.exports = {
13974
15029
  SearchClsLogRequest: SearchClsLogRequest,
13975
15030
  AdvanceConfig: AdvanceConfig,
13976
15031
  AwsPrivateAccess: AwsPrivateAccess,
13977
- ManageClsTopicDomainsResponse: ManageClsTopicDomainsResponse,
15032
+ AdvancedScdnAclGroup: AdvancedScdnAclGroup,
13978
15033
  VideoSeek: VideoSeek,
13979
15034
  Compatibility: Compatibility,
15035
+ ManageClsTopicDomainsResponse: ManageClsTopicDomainsResponse,
13980
15036
  ScdnAclGroup: ScdnAclGroup,
13981
15037
  ScdnWafRule: ScdnWafRule,
13982
15038
  ClsSearchLogs: ClsSearchLogs,