@distilled.cloud/cloudflare 0.22.3 → 0.22.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/lib/services/abuse-reports.d.ts +39 -11
  2. package/lib/services/abuse-reports.d.ts.map +1 -1
  3. package/lib/services/abuse-reports.js +89 -11
  4. package/lib/services/abuse-reports.js.map +1 -1
  5. package/lib/services/accounts.d.ts +21 -1
  6. package/lib/services/accounts.d.ts.map +1 -1
  7. package/lib/services/accounts.js +33 -1
  8. package/lib/services/accounts.js.map +1 -1
  9. package/lib/services/ai.d.ts +97 -1
  10. package/lib/services/ai.d.ts.map +1 -1
  11. package/lib/services/ai.js +119 -2
  12. package/lib/services/ai.js.map +1 -1
  13. package/lib/services/bot-management.d.ts +16 -0
  14. package/lib/services/bot-management.d.ts.map +1 -1
  15. package/lib/services/bot-management.js +22 -0
  16. package/lib/services/bot-management.js.map +1 -1
  17. package/lib/services/browser-rendering.d.ts +25 -9
  18. package/lib/services/browser-rendering.d.ts.map +1 -1
  19. package/lib/services/browser-rendering.js +18 -9
  20. package/lib/services/browser-rendering.js.map +1 -1
  21. package/lib/services/cache.d.ts +11 -0
  22. package/lib/services/cache.d.ts.map +1 -1
  23. package/lib/services/cache.js +17 -1
  24. package/lib/services/cache.js.map +1 -1
  25. package/lib/services/connectivity.d.ts +18 -32
  26. package/lib/services/connectivity.d.ts.map +1 -1
  27. package/lib/services/connectivity.js +56 -66
  28. package/lib/services/connectivity.js.map +1 -1
  29. package/lib/services/d1.d.ts +18 -4
  30. package/lib/services/d1.d.ts.map +1 -1
  31. package/lib/services/d1.js +23 -5
  32. package/lib/services/d1.js.map +1 -1
  33. package/lib/services/dns.d.ts +129 -3
  34. package/lib/services/dns.d.ts.map +1 -1
  35. package/lib/services/dns.js +330 -6
  36. package/lib/services/dns.js.map +1 -1
  37. package/lib/services/magic-transit.d.ts +7 -1
  38. package/lib/services/magic-transit.d.ts.map +1 -1
  39. package/lib/services/magic-transit.js +7 -1
  40. package/lib/services/magic-transit.js.map +1 -1
  41. package/lib/services/network-interconnects.d.ts +5 -1
  42. package/lib/services/network-interconnects.d.ts.map +1 -1
  43. package/lib/services/network-interconnects.js +21 -1
  44. package/lib/services/network-interconnects.js.map +1 -1
  45. package/lib/services/queues.d.ts +6 -4
  46. package/lib/services/queues.d.ts.map +1 -1
  47. package/lib/services/queues.js +8 -4
  48. package/lib/services/queues.js.map +1 -1
  49. package/lib/services/r2.d.ts +11 -4
  50. package/lib/services/r2.d.ts.map +1 -1
  51. package/lib/services/r2.js +13 -4
  52. package/lib/services/r2.js.map +1 -1
  53. package/lib/services/resource-tagging.d.ts +4 -2
  54. package/lib/services/resource-tagging.d.ts.map +1 -1
  55. package/lib/services/resource-tagging.js +4 -1
  56. package/lib/services/resource-tagging.js.map +1 -1
  57. package/lib/services/rulesets.d.ts +510 -6
  58. package/lib/services/rulesets.d.ts.map +1 -1
  59. package/lib/services/rulesets.js +1298 -36
  60. package/lib/services/rulesets.js.map +1 -1
  61. package/lib/services/spectrum.d.ts +4 -8
  62. package/lib/services/spectrum.d.ts.map +1 -1
  63. package/lib/services/spectrum.js +12 -34
  64. package/lib/services/spectrum.js.map +1 -1
  65. package/lib/services/workers-for-platforms.d.ts +12 -2
  66. package/lib/services/workers-for-platforms.d.ts.map +1 -1
  67. package/lib/services/workers-for-platforms.js +35 -3
  68. package/lib/services/workers-for-platforms.js.map +1 -1
  69. package/lib/services/workers.d.ts +12 -2
  70. package/lib/services/workers.d.ts.map +1 -1
  71. package/lib/services/workers.js +35 -3
  72. package/lib/services/workers.js.map +1 -1
  73. package/lib/services/zero-trust.d.ts +1463 -557
  74. package/lib/services/zero-trust.d.ts.map +1 -1
  75. package/lib/services/zero-trust.js +1654 -93
  76. package/lib/services/zero-trust.js.map +1 -1
  77. package/lib/services/zones.d.ts +2 -0
  78. package/lib/services/zones.d.ts.map +1 -1
  79. package/lib/services/zones.js +1 -0
  80. package/lib/services/zones.js.map +1 -1
  81. package/package.json +2 -2
  82. package/src/services/abuse-reports.ts +173 -22
  83. package/src/services/accounts.ts +66 -2
  84. package/src/services/ai.ts +235 -2
  85. package/src/services/bot-management.ts +48 -0
  86. package/src/services/browser-rendering.ts +43 -18
  87. package/src/services/cache.ts +31 -0
  88. package/src/services/connectivity.ts +78 -70
  89. package/src/services/d1.ts +43 -8
  90. package/src/services/dns.ts +549 -12
  91. package/src/services/magic-transit.ts +14 -2
  92. package/src/services/network-interconnects.ts +41 -2
  93. package/src/services/queues.ts +16 -8
  94. package/src/services/r2.ts +30 -7
  95. package/src/services/resource-tagging.ts +8 -2
  96. package/src/services/rulesets.ts +3283 -963
  97. package/src/services/spectrum.ts +36 -52
  98. package/src/services/workers-for-platforms.ts +63 -4
  99. package/src/services/workers.ts +63 -4
  100. package/src/services/zero-trust.ts +3071 -478
  101. package/src/services/zones.ts +3 -0
@@ -3380,7 +3380,7 @@ interface CreateRuleBaseRequest {
3380
3380
  /** Body param: The unique ID of the rule. */
3381
3381
  id?: string;
3382
3382
  /** Body param: The action to perform when the rule matches. */
3383
- action?: "block";
3383
+ action?: "block" | "challenge" | "compress_response" | "ddos_dynamic" | "execute" | "force_connection_close" | "js_challenge" | "log" | "log_custom_field" | "managed_challenge" | "redirect" | "rewrite" | "route" | "score" | "serve_error" | "set_cache_control" | "set_cache_settings" | "set_cache_tags" | "set_config" | "skip" | (string & {});
3384
3384
  /** Body param: The parameters configuring the rule's action. */
3385
3385
  actionParameters?: {
3386
3386
  response?: {
@@ -3388,6 +3388,260 @@ interface CreateRuleBaseRequest {
3388
3388
  contentType: string;
3389
3389
  statusCode: number;
3390
3390
  };
3391
+ } | {
3392
+ algorithms: {
3393
+ name?: "none" | "auto" | "default" | "gzip" | "brotli" | "zstd" | (string & {});
3394
+ }[];
3395
+ } | {
3396
+ id: string;
3397
+ matchedData?: {
3398
+ publicKey: string;
3399
+ };
3400
+ overrides?: {
3401
+ action?: string;
3402
+ categories?: {
3403
+ category: string;
3404
+ action?: string;
3405
+ enabled?: boolean;
3406
+ sensitivityLevel?: "default" | "medium" | "low" | "eoff" | (string & {});
3407
+ }[];
3408
+ enabled?: boolean;
3409
+ rules?: {
3410
+ id: string;
3411
+ action?: string;
3412
+ enabled?: boolean;
3413
+ scoreThreshold?: number;
3414
+ sensitivityLevel?: "default" | "medium" | "low" | "eoff" | (string & {});
3415
+ }[];
3416
+ sensitivityLevel?: "default" | "medium" | "low" | "eoff" | (string & {});
3417
+ };
3418
+ } | {
3419
+ cookieFields?: {
3420
+ name: string;
3421
+ }[];
3422
+ rawResponseFields?: {
3423
+ name: string;
3424
+ preserveDuplicates?: boolean;
3425
+ }[];
3426
+ requestFields?: {
3427
+ name: string;
3428
+ }[];
3429
+ responseFields?: {
3430
+ name: string;
3431
+ preserveDuplicates?: boolean;
3432
+ }[];
3433
+ transformedRequestFields?: {
3434
+ name: string;
3435
+ }[];
3436
+ } | {
3437
+ fromList?: {
3438
+ key: string;
3439
+ name: string;
3440
+ };
3441
+ fromValue?: {
3442
+ targetUrl: {
3443
+ expression?: string;
3444
+ value?: string;
3445
+ };
3446
+ preserveQueryString?: boolean;
3447
+ statusCode?: "301" | "302" | "303" | "307" | "308" | (string & {});
3448
+ };
3449
+ } | {
3450
+ headers?: Record<string, unknown>;
3451
+ uri?: {
3452
+ path: {
3453
+ expression?: string;
3454
+ value?: string;
3455
+ };
3456
+ } | {
3457
+ query: {
3458
+ expression?: string;
3459
+ value?: string;
3460
+ };
3461
+ };
3462
+ } | {
3463
+ hostHeader?: string;
3464
+ origin?: {
3465
+ host?: string;
3466
+ port?: number;
3467
+ };
3468
+ sni?: {
3469
+ value: string;
3470
+ };
3471
+ } | {
3472
+ increment: number;
3473
+ } | {
3474
+ content: string;
3475
+ contentType?: "application/json" | "text/html" | "text/plain" | "text/xml" | (string & {});
3476
+ statusCode?: number;
3477
+ } | {
3478
+ assetName: string;
3479
+ contentType?: "application/json" | "text/html" | "text/plain" | "text/xml" | (string & {});
3480
+ statusCode?: number;
3481
+ } | {
3482
+ immutable?: {
3483
+ operation: "set" | "remove" | (string & {});
3484
+ cloudflareOnly?: boolean;
3485
+ };
3486
+ maxAge?: {
3487
+ operation: "set" | "remove" | (string & {});
3488
+ cloudflareOnly?: boolean;
3489
+ };
3490
+ mustRevalidate?: {
3491
+ operation: "set" | "remove" | (string & {});
3492
+ cloudflareOnly?: boolean;
3493
+ };
3494
+ mustUnderstand?: {
3495
+ operation: "set" | "remove" | (string & {});
3496
+ cloudflareOnly?: boolean;
3497
+ };
3498
+ noCache?: {
3499
+ operation: "set" | "remove" | (string & {});
3500
+ cloudflareOnly?: boolean;
3501
+ };
3502
+ noStore?: {
3503
+ operation: "set" | "remove" | (string & {});
3504
+ cloudflareOnly?: boolean;
3505
+ };
3506
+ noTransform?: {
3507
+ operation: "set" | "remove" | (string & {});
3508
+ cloudflareOnly?: boolean;
3509
+ };
3510
+ private?: {
3511
+ operation: "set" | "remove" | (string & {});
3512
+ cloudflareOnly?: boolean;
3513
+ };
3514
+ proxyRevalidate?: {
3515
+ operation: "set" | "remove" | (string & {});
3516
+ cloudflareOnly?: boolean;
3517
+ };
3518
+ public?: {
3519
+ operation: "set" | "remove" | (string & {});
3520
+ cloudflareOnly?: boolean;
3521
+ };
3522
+ sMaxage?: {
3523
+ operation: "set" | "remove" | (string & {});
3524
+ cloudflareOnly?: boolean;
3525
+ };
3526
+ staleIfError?: {
3527
+ operation: "set" | "remove" | (string & {});
3528
+ cloudflareOnly?: boolean;
3529
+ };
3530
+ staleWhileRevalidate?: {
3531
+ operation: "set" | "remove" | (string & {});
3532
+ cloudflareOnly?: boolean;
3533
+ };
3534
+ } | {
3535
+ additionalCacheablePorts?: number[];
3536
+ browserTtl?: {
3537
+ mode: "respect_origin" | "bypass_by_default" | "override_origin" | "bypass" | (string & {});
3538
+ default?: number;
3539
+ };
3540
+ cache?: boolean;
3541
+ cacheKey?: {
3542
+ cacheByDeviceType?: boolean;
3543
+ cacheDeceptionArmor?: boolean;
3544
+ customKey?: {
3545
+ cookie?: {
3546
+ checkPresence?: string[];
3547
+ include?: string[];
3548
+ };
3549
+ header?: {
3550
+ checkPresence?: string[];
3551
+ contains?: Record<string, unknown>;
3552
+ excludeOrigin?: boolean;
3553
+ include?: string[];
3554
+ };
3555
+ host?: {
3556
+ resolved?: boolean;
3557
+ };
3558
+ queryString?: {
3559
+ exclude?: {
3560
+ all?: true;
3561
+ list?: string[];
3562
+ };
3563
+ include?: {
3564
+ all?: true;
3565
+ list?: string[];
3566
+ };
3567
+ };
3568
+ user?: {
3569
+ deviceType?: boolean;
3570
+ geo?: boolean;
3571
+ lang?: boolean;
3572
+ };
3573
+ };
3574
+ ignoreQueryStringsOrder?: boolean;
3575
+ };
3576
+ cacheReserve?: {
3577
+ eligible: boolean;
3578
+ minimumFileSize?: number;
3579
+ };
3580
+ edgeTtl?: {
3581
+ mode: "respect_origin" | "bypass_by_default" | "override_origin" | (string & {});
3582
+ default?: number;
3583
+ statusCodeTtl?: {
3584
+ value: number;
3585
+ statusCode?: number;
3586
+ statusCodeRange?: {
3587
+ from?: number;
3588
+ to?: number;
3589
+ };
3590
+ }[];
3591
+ };
3592
+ originCacheControl?: boolean;
3593
+ originErrorPagePassthru?: boolean;
3594
+ readTimeout?: number;
3595
+ respectStrongEtags?: boolean;
3596
+ serveStale?: {
3597
+ disableStaleWhileUpdating?: boolean;
3598
+ };
3599
+ sharedDictionary?: {
3600
+ matchPattern: string;
3601
+ };
3602
+ stripEtags?: boolean;
3603
+ stripLastModified?: boolean;
3604
+ stripSetCookie?: boolean;
3605
+ } | {
3606
+ operation: "add" | "remove" | "set" | (string & {});
3607
+ values: string[];
3608
+ } | {
3609
+ expression: string;
3610
+ operation: "add" | "remove" | "set" | (string & {});
3611
+ } | {
3612
+ automaticHttpsRewrites?: boolean;
3613
+ autominify?: {
3614
+ css?: boolean;
3615
+ html?: boolean;
3616
+ js?: boolean;
3617
+ };
3618
+ bic?: boolean;
3619
+ contentConverter?: boolean;
3620
+ disableApps?: true;
3621
+ disablePayPerCrawl?: true;
3622
+ disableRum?: true;
3623
+ disableZaraz?: true;
3624
+ emailObfuscation?: boolean;
3625
+ fonts?: boolean;
3626
+ hotlinkProtection?: boolean;
3627
+ mirage?: boolean;
3628
+ opportunisticEncryption?: boolean;
3629
+ polish?: "off" | "lossless" | "lossy" | "webp" | (string & {});
3630
+ redirectsForAiTraining?: boolean;
3631
+ requestBodyBuffering?: "none" | "standard" | "full" | (string & {});
3632
+ responseBodyBuffering?: "none" | "standard" | (string & {});
3633
+ rocketLoader?: boolean;
3634
+ securityLevel?: "off" | "essentially_off" | "low" | "medium" | "high" | "under_attack" | (string & {});
3635
+ serverSideExcludes?: boolean;
3636
+ ssl?: "off" | "flexible" | "full" | "strict" | "origin_pull" | (string & {});
3637
+ sxg?: boolean;
3638
+ } | {
3639
+ phase?: "current";
3640
+ phases?: ("ddos_l4" | "ddos_l7" | "http_config_settings" | "http_custom_errors" | "http_log_custom_fields" | "http_ratelimit" | "http_request_cache_settings" | "http_request_dynamic_redirect" | "http_request_firewall_custom" | "http_request_firewall_managed" | "http_request_late_transform" | "http_request_origin" | "http_request_redirect" | "http_request_sanitize" | "http_request_sbfm" | "http_request_transform" | "http_response_cache_settings" | "http_response_compression" | "http_response_firewall_managed" | "http_response_headers_transform" | "magic_transit" | "magic_transit_ids_managed" | "magic_transit_managed" | "magic_transit_ratelimit" | (string & {}))[];
3641
+ products?: ("bic" | "hot" | "rateLimit" | "securityLevel" | "uaBlock" | "waf" | "zoneLockdown" | (string & {}))[];
3642
+ rules?: Record<string, unknown>;
3643
+ ruleset?: "current";
3644
+ rulesets?: string[];
3391
3645
  };
3392
3646
  /** Body param: An informative description of the rule. */
3393
3647
  description?: string;
@@ -3407,9 +3661,7 @@ interface CreateRuleBaseRequest {
3407
3661
  /** Body param: An object configuring where the rule will be placed. */
3408
3662
  position?: {
3409
3663
  before?: string;
3410
- } | {
3411
3664
  after?: string;
3412
- } | {
3413
3665
  index?: number;
3414
3666
  };
3415
3667
  /** Body param: An object configuring the rule's rate limit behavior. */
@@ -4286,7 +4538,7 @@ interface PatchRuleBaseRequest {
4286
4538
  /** Body param: The unique ID of the rule. */
4287
4539
  id?: string;
4288
4540
  /** Body param: The action to perform when the rule matches. */
4289
- action?: "block";
4541
+ action?: "block" | "challenge" | "compress_response" | "ddos_dynamic" | "execute" | "force_connection_close" | "js_challenge" | "log" | "log_custom_field" | "managed_challenge" | "redirect" | "rewrite" | "route" | "score" | "serve_error" | "set_cache_control" | "set_cache_settings" | "set_cache_tags" | "set_config" | "skip" | (string & {});
4290
4542
  /** Body param: The parameters configuring the rule's action. */
4291
4543
  actionParameters?: {
4292
4544
  response?: {
@@ -4294,6 +4546,260 @@ interface PatchRuleBaseRequest {
4294
4546
  contentType: string;
4295
4547
  statusCode: number;
4296
4548
  };
4549
+ } | {
4550
+ algorithms: {
4551
+ name?: "none" | "auto" | "default" | "gzip" | "brotli" | "zstd" | (string & {});
4552
+ }[];
4553
+ } | {
4554
+ id: string;
4555
+ matchedData?: {
4556
+ publicKey: string;
4557
+ };
4558
+ overrides?: {
4559
+ action?: string;
4560
+ categories?: {
4561
+ category: string;
4562
+ action?: string;
4563
+ enabled?: boolean;
4564
+ sensitivityLevel?: "default" | "medium" | "low" | "eoff" | (string & {});
4565
+ }[];
4566
+ enabled?: boolean;
4567
+ rules?: {
4568
+ id: string;
4569
+ action?: string;
4570
+ enabled?: boolean;
4571
+ scoreThreshold?: number;
4572
+ sensitivityLevel?: "default" | "medium" | "low" | "eoff" | (string & {});
4573
+ }[];
4574
+ sensitivityLevel?: "default" | "medium" | "low" | "eoff" | (string & {});
4575
+ };
4576
+ } | {
4577
+ cookieFields?: {
4578
+ name: string;
4579
+ }[];
4580
+ rawResponseFields?: {
4581
+ name: string;
4582
+ preserveDuplicates?: boolean;
4583
+ }[];
4584
+ requestFields?: {
4585
+ name: string;
4586
+ }[];
4587
+ responseFields?: {
4588
+ name: string;
4589
+ preserveDuplicates?: boolean;
4590
+ }[];
4591
+ transformedRequestFields?: {
4592
+ name: string;
4593
+ }[];
4594
+ } | {
4595
+ fromList?: {
4596
+ key: string;
4597
+ name: string;
4598
+ };
4599
+ fromValue?: {
4600
+ targetUrl: {
4601
+ expression?: string;
4602
+ value?: string;
4603
+ };
4604
+ preserveQueryString?: boolean;
4605
+ statusCode?: "301" | "302" | "303" | "307" | "308" | (string & {});
4606
+ };
4607
+ } | {
4608
+ headers?: Record<string, unknown>;
4609
+ uri?: {
4610
+ path: {
4611
+ expression?: string;
4612
+ value?: string;
4613
+ };
4614
+ } | {
4615
+ query: {
4616
+ expression?: string;
4617
+ value?: string;
4618
+ };
4619
+ };
4620
+ } | {
4621
+ hostHeader?: string;
4622
+ origin?: {
4623
+ host?: string;
4624
+ port?: number;
4625
+ };
4626
+ sni?: {
4627
+ value: string;
4628
+ };
4629
+ } | {
4630
+ increment: number;
4631
+ } | {
4632
+ content: string;
4633
+ contentType?: "application/json" | "text/html" | "text/plain" | "text/xml" | (string & {});
4634
+ statusCode?: number;
4635
+ } | {
4636
+ assetName: string;
4637
+ contentType?: "application/json" | "text/html" | "text/plain" | "text/xml" | (string & {});
4638
+ statusCode?: number;
4639
+ } | {
4640
+ immutable?: {
4641
+ operation: "set" | "remove" | (string & {});
4642
+ cloudflareOnly?: boolean;
4643
+ };
4644
+ maxAge?: {
4645
+ operation: "set" | "remove" | (string & {});
4646
+ cloudflareOnly?: boolean;
4647
+ };
4648
+ mustRevalidate?: {
4649
+ operation: "set" | "remove" | (string & {});
4650
+ cloudflareOnly?: boolean;
4651
+ };
4652
+ mustUnderstand?: {
4653
+ operation: "set" | "remove" | (string & {});
4654
+ cloudflareOnly?: boolean;
4655
+ };
4656
+ noCache?: {
4657
+ operation: "set" | "remove" | (string & {});
4658
+ cloudflareOnly?: boolean;
4659
+ };
4660
+ noStore?: {
4661
+ operation: "set" | "remove" | (string & {});
4662
+ cloudflareOnly?: boolean;
4663
+ };
4664
+ noTransform?: {
4665
+ operation: "set" | "remove" | (string & {});
4666
+ cloudflareOnly?: boolean;
4667
+ };
4668
+ private?: {
4669
+ operation: "set" | "remove" | (string & {});
4670
+ cloudflareOnly?: boolean;
4671
+ };
4672
+ proxyRevalidate?: {
4673
+ operation: "set" | "remove" | (string & {});
4674
+ cloudflareOnly?: boolean;
4675
+ };
4676
+ public?: {
4677
+ operation: "set" | "remove" | (string & {});
4678
+ cloudflareOnly?: boolean;
4679
+ };
4680
+ sMaxage?: {
4681
+ operation: "set" | "remove" | (string & {});
4682
+ cloudflareOnly?: boolean;
4683
+ };
4684
+ staleIfError?: {
4685
+ operation: "set" | "remove" | (string & {});
4686
+ cloudflareOnly?: boolean;
4687
+ };
4688
+ staleWhileRevalidate?: {
4689
+ operation: "set" | "remove" | (string & {});
4690
+ cloudflareOnly?: boolean;
4691
+ };
4692
+ } | {
4693
+ additionalCacheablePorts?: number[];
4694
+ browserTtl?: {
4695
+ mode: "respect_origin" | "bypass_by_default" | "override_origin" | "bypass" | (string & {});
4696
+ default?: number;
4697
+ };
4698
+ cache?: boolean;
4699
+ cacheKey?: {
4700
+ cacheByDeviceType?: boolean;
4701
+ cacheDeceptionArmor?: boolean;
4702
+ customKey?: {
4703
+ cookie?: {
4704
+ checkPresence?: string[];
4705
+ include?: string[];
4706
+ };
4707
+ header?: {
4708
+ checkPresence?: string[];
4709
+ contains?: Record<string, unknown>;
4710
+ excludeOrigin?: boolean;
4711
+ include?: string[];
4712
+ };
4713
+ host?: {
4714
+ resolved?: boolean;
4715
+ };
4716
+ queryString?: {
4717
+ exclude?: {
4718
+ all?: true;
4719
+ list?: string[];
4720
+ };
4721
+ include?: {
4722
+ all?: true;
4723
+ list?: string[];
4724
+ };
4725
+ };
4726
+ user?: {
4727
+ deviceType?: boolean;
4728
+ geo?: boolean;
4729
+ lang?: boolean;
4730
+ };
4731
+ };
4732
+ ignoreQueryStringsOrder?: boolean;
4733
+ };
4734
+ cacheReserve?: {
4735
+ eligible: boolean;
4736
+ minimumFileSize?: number;
4737
+ };
4738
+ edgeTtl?: {
4739
+ mode: "respect_origin" | "bypass_by_default" | "override_origin" | (string & {});
4740
+ default?: number;
4741
+ statusCodeTtl?: {
4742
+ value: number;
4743
+ statusCode?: number;
4744
+ statusCodeRange?: {
4745
+ from?: number;
4746
+ to?: number;
4747
+ };
4748
+ }[];
4749
+ };
4750
+ originCacheControl?: boolean;
4751
+ originErrorPagePassthru?: boolean;
4752
+ readTimeout?: number;
4753
+ respectStrongEtags?: boolean;
4754
+ serveStale?: {
4755
+ disableStaleWhileUpdating?: boolean;
4756
+ };
4757
+ sharedDictionary?: {
4758
+ matchPattern: string;
4759
+ };
4760
+ stripEtags?: boolean;
4761
+ stripLastModified?: boolean;
4762
+ stripSetCookie?: boolean;
4763
+ } | {
4764
+ operation: "add" | "remove" | "set" | (string & {});
4765
+ values: string[];
4766
+ } | {
4767
+ expression: string;
4768
+ operation: "add" | "remove" | "set" | (string & {});
4769
+ } | {
4770
+ automaticHttpsRewrites?: boolean;
4771
+ autominify?: {
4772
+ css?: boolean;
4773
+ html?: boolean;
4774
+ js?: boolean;
4775
+ };
4776
+ bic?: boolean;
4777
+ contentConverter?: boolean;
4778
+ disableApps?: true;
4779
+ disablePayPerCrawl?: true;
4780
+ disableRum?: true;
4781
+ disableZaraz?: true;
4782
+ emailObfuscation?: boolean;
4783
+ fonts?: boolean;
4784
+ hotlinkProtection?: boolean;
4785
+ mirage?: boolean;
4786
+ opportunisticEncryption?: boolean;
4787
+ polish?: "off" | "lossless" | "lossy" | "webp" | (string & {});
4788
+ redirectsForAiTraining?: boolean;
4789
+ requestBodyBuffering?: "none" | "standard" | "full" | (string & {});
4790
+ responseBodyBuffering?: "none" | "standard" | (string & {});
4791
+ rocketLoader?: boolean;
4792
+ securityLevel?: "off" | "essentially_off" | "low" | "medium" | "high" | "under_attack" | (string & {});
4793
+ serverSideExcludes?: boolean;
4794
+ ssl?: "off" | "flexible" | "full" | "strict" | "origin_pull" | (string & {});
4795
+ sxg?: boolean;
4796
+ } | {
4797
+ phase?: "current";
4798
+ phases?: ("ddos_l4" | "ddos_l7" | "http_config_settings" | "http_custom_errors" | "http_log_custom_fields" | "http_ratelimit" | "http_request_cache_settings" | "http_request_dynamic_redirect" | "http_request_firewall_custom" | "http_request_firewall_managed" | "http_request_late_transform" | "http_request_origin" | "http_request_redirect" | "http_request_sanitize" | "http_request_sbfm" | "http_request_transform" | "http_response_cache_settings" | "http_response_compression" | "http_response_firewall_managed" | "http_response_headers_transform" | "magic_transit" | "magic_transit_ids_managed" | "magic_transit_managed" | "magic_transit_ratelimit" | (string & {}))[];
4799
+ products?: ("bic" | "hot" | "rateLimit" | "securityLevel" | "uaBlock" | "waf" | "zoneLockdown" | (string & {}))[];
4800
+ rules?: Record<string, unknown>;
4801
+ ruleset?: "current";
4802
+ rulesets?: string[];
4297
4803
  };
4298
4804
  /** Body param: An informative description of the rule. */
4299
4805
  description?: string;
@@ -4313,9 +4819,7 @@ interface PatchRuleBaseRequest {
4313
4819
  /** Body param: An object configuring where the rule will be placed. */
4314
4820
  position?: {
4315
4821
  before?: string;
4316
- } | {
4317
4822
  after?: string;
4318
- } | {
4319
4823
  index?: number;
4320
4824
  };
4321
4825
  /** Body param: An object configuring the rule's rate limit behavior. */