gcore 0.12.0__py3-none-any.whl → 0.14.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gcore might be problematic. Click here for more details.

Files changed (340) hide show
  1. gcore/__init__.py +3 -1
  2. gcore/_base_client.py +9 -9
  3. gcore/_client.py +25 -10
  4. gcore/_models.py +10 -4
  5. gcore/_qs.py +7 -7
  6. gcore/_types.py +18 -11
  7. gcore/_utils/_transform.py +2 -2
  8. gcore/_utils/_utils.py +4 -4
  9. gcore/_version.py +1 -1
  10. gcore/pagination.py +137 -0
  11. gcore/resources/__init__.py +14 -0
  12. gcore/resources/cdn/__init__.py +201 -0
  13. gcore/resources/cdn/audit_log.py +406 -0
  14. gcore/resources/cdn/cdn.py +957 -0
  15. gcore/resources/cdn/certificates.py +1062 -0
  16. gcore/resources/cdn/ip_ranges.py +224 -0
  17. gcore/resources/cdn/logs/__init__.py +33 -0
  18. gcore/resources/cdn/logs/logs.py +1424 -0
  19. gcore/resources/cdn/logs/settings.py +1081 -0
  20. gcore/resources/cdn/logs_uploader/__init__.py +61 -0
  21. gcore/resources/cdn/logs_uploader/configs.py +868 -0
  22. gcore/resources/cdn/logs_uploader/logs_uploader.py +166 -0
  23. gcore/resources/cdn/logs_uploader/policies.py +1060 -0
  24. gcore/resources/cdn/logs_uploader/targets.py +811 -0
  25. gcore/resources/cdn/metrics.py +419 -0
  26. gcore/resources/cdn/network_capacity.py +139 -0
  27. gcore/resources/cdn/origin_groups.py +1496 -0
  28. gcore/resources/cdn/resources/__init__.py +47 -0
  29. gcore/resources/cdn/resources/resources.py +2060 -0
  30. gcore/resources/cdn/resources/rules.py +1027 -0
  31. gcore/resources/cdn/resources/shield.py +259 -0
  32. gcore/resources/cdn/rule_templates.py +883 -0
  33. gcore/resources/cdn/shields.py +139 -0
  34. gcore/resources/cdn/statistics.py +1408 -0
  35. gcore/resources/cdn/trusted_ca_certificates.py +592 -0
  36. gcore/resources/cloud/audit_logs.py +33 -29
  37. gcore/resources/cloud/baremetal/flavors.py +21 -17
  38. gcore/resources/cloud/baremetal/images.py +19 -15
  39. gcore/resources/cloud/baremetal/servers.py +141 -119
  40. gcore/resources/cloud/billing_reservations.py +41 -33
  41. gcore/resources/cloud/cloud.py +24 -0
  42. gcore/resources/cloud/cost_reports.py +149 -119
  43. gcore/resources/cloud/file_shares/access_rules.py +25 -13
  44. gcore/resources/cloud/file_shares/file_shares.py +107 -71
  45. gcore/resources/cloud/floating_ips.py +270 -52
  46. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +13 -9
  47. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +275 -65
  48. gcore/resources/cloud/gpu_baremetal_clusters/images.py +69 -53
  49. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +9 -5
  50. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +151 -127
  51. gcore/resources/cloud/inference/api_keys.py +51 -31
  52. gcore/resources/cloud/inference/applications/deployments.py +49 -31
  53. gcore/resources/cloud/inference/applications/templates.py +17 -9
  54. gcore/resources/cloud/inference/deployments/deployments.py +171 -139
  55. gcore/resources/cloud/inference/deployments/logs.py +17 -13
  56. gcore/resources/cloud/inference/flavors.py +21 -13
  57. gcore/resources/cloud/inference/inference.py +9 -5
  58. gcore/resources/cloud/inference/registry_credentials.py +45 -25
  59. gcore/resources/cloud/inference/secrets.py +45 -25
  60. gcore/resources/cloud/instances/flavors.py +17 -13
  61. gcore/resources/cloud/instances/images.py +153 -129
  62. gcore/resources/cloud/instances/instances.py +287 -213
  63. gcore/resources/cloud/instances/interfaces.py +165 -161
  64. gcore/resources/cloud/instances/metrics.py +9 -5
  65. gcore/resources/cloud/ip_ranges.py +25 -15
  66. gcore/resources/cloud/k8s/clusters/clusters.py +151 -87
  67. gcore/resources/cloud/k8s/clusters/nodes.py +19 -11
  68. gcore/resources/cloud/k8s/clusters/pools/nodes.py +19 -11
  69. gcore/resources/cloud/k8s/clusters/pools/pools.py +83 -59
  70. gcore/resources/cloud/k8s/flavors.py +13 -9
  71. gcore/resources/cloud/k8s/k8s.py +9 -5
  72. gcore/resources/cloud/load_balancers/flavors.py +11 -7
  73. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +103 -83
  74. gcore/resources/cloud/load_balancers/l7_policies/rules.py +77 -57
  75. gcore/resources/cloud/load_balancers/listeners.py +125 -105
  76. gcore/resources/cloud/load_balancers/load_balancers.py +155 -123
  77. gcore/resources/cloud/load_balancers/metrics.py +9 -5
  78. gcore/resources/cloud/load_balancers/pools/health_monitors.py +25 -17
  79. gcore/resources/cloud/load_balancers/pools/members.py +31 -23
  80. gcore/resources/cloud/load_balancers/pools/pools.py +155 -129
  81. gcore/resources/cloud/load_balancers/statuses.py +17 -9
  82. gcore/resources/cloud/networks/networks.py +79 -55
  83. gcore/resources/cloud/networks/routers.py +75 -47
  84. gcore/resources/cloud/networks/subnets.py +105 -81
  85. gcore/resources/cloud/placement_groups.py +33 -17
  86. gcore/resources/cloud/projects.py +53 -41
  87. gcore/resources/cloud/quotas/quotas.py +25 -13
  88. gcore/resources/cloud/quotas/requests.py +41 -25
  89. gcore/resources/cloud/regions.py +25 -23
  90. gcore/resources/cloud/registries/artifacts.py +17 -9
  91. gcore/resources/cloud/registries/registries.py +55 -29
  92. gcore/resources/cloud/registries/repositories.py +17 -9
  93. gcore/resources/cloud/registries/tags.py +9 -5
  94. gcore/resources/cloud/registries/users.py +65 -35
  95. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +123 -107
  96. gcore/resources/cloud/reserved_fixed_ips/vip.py +45 -25
  97. gcore/resources/cloud/secrets.py +43 -27
  98. gcore/resources/cloud/security_groups/rules.py +55 -43
  99. gcore/resources/cloud/security_groups/security_groups.py +79 -47
  100. gcore/resources/cloud/ssh_keys.py +51 -31
  101. gcore/resources/cloud/tasks.py +57 -45
  102. gcore/resources/cloud/usage_reports.py +27 -23
  103. gcore/resources/cloud/users/role_assignments.py +49 -33
  104. gcore/resources/cloud/volumes.py +237 -201
  105. gcore/resources/dns/dns.py +17 -13
  106. gcore/resources/dns/locations.py +29 -17
  107. gcore/resources/dns/metrics.py +13 -9
  108. gcore/resources/dns/pickers/pickers.py +5 -5
  109. gcore/resources/dns/pickers/presets.py +9 -5
  110. gcore/resources/dns/zones/dnssec.py +19 -11
  111. gcore/resources/dns/zones/rrsets.py +149 -91
  112. gcore/resources/dns/zones/zones.py +247 -189
  113. gcore/resources/fastedge/apps/apps.py +105 -89
  114. gcore/resources/fastedge/apps/logs.py +25 -21
  115. gcore/resources/fastedge/binaries.py +33 -17
  116. gcore/resources/fastedge/fastedge.py +5 -5
  117. gcore/resources/fastedge/kv_stores.py +43 -31
  118. gcore/resources/fastedge/secrets.py +69 -45
  119. gcore/resources/fastedge/statistics.py +25 -17
  120. gcore/resources/fastedge/templates.py +59 -39
  121. gcore/resources/iam/api_tokens.py +43 -27
  122. gcore/resources/iam/iam.py +5 -5
  123. gcore/resources/iam/users.py +97 -65
  124. gcore/resources/security/bgp_announces.py +27 -19
  125. gcore/resources/security/events.py +23 -19
  126. gcore/resources/security/profile_templates.py +9 -5
  127. gcore/resources/security/profiles.py +69 -45
  128. gcore/resources/storage/buckets/buckets.py +37 -25
  129. gcore/resources/storage/buckets/cors.py +19 -11
  130. gcore/resources/storage/buckets/lifecycle.py +19 -11
  131. gcore/resources/storage/buckets/policy.py +25 -13
  132. gcore/resources/storage/credentials.py +19 -15
  133. gcore/resources/storage/locations.py +13 -9
  134. gcore/resources/storage/statistics.py +39 -31
  135. gcore/resources/storage/storage.py +105 -69
  136. gcore/resources/streaming/ai_tasks.py +307 -197
  137. gcore/resources/streaming/broadcasts.py +63 -35
  138. gcore/resources/streaming/directories.py +65 -39
  139. gcore/resources/streaming/players.py +47 -31
  140. gcore/resources/streaming/playlists.py +189 -123
  141. gcore/resources/streaming/quality_sets.py +69 -39
  142. gcore/resources/streaming/restreams.py +47 -27
  143. gcore/resources/streaming/statistics.py +613 -407
  144. gcore/resources/streaming/streams/overlays.py +107 -67
  145. gcore/resources/streaming/streams/streams.py +403 -263
  146. gcore/resources/streaming/videos/subtitles.py +131 -75
  147. gcore/resources/streaming/videos/videos.py +429 -279
  148. gcore/resources/waap/advanced_rules.py +9 -5
  149. gcore/resources/waap/custom_page_sets.py +99 -75
  150. gcore/resources/waap/domains/advanced_rules.py +157 -99
  151. gcore/resources/waap/domains/api_discovery.py +71 -47
  152. gcore/resources/waap/domains/api_path_groups.py +9 -5
  153. gcore/resources/waap/domains/api_paths.py +79 -83
  154. gcore/resources/waap/domains/custom_rules.py +89 -59
  155. gcore/resources/waap/domains/domains.py +59 -41
  156. gcore/resources/waap/domains/firewall_rules.py +83 -55
  157. gcore/resources/waap/domains/insight_silences.py +59 -39
  158. gcore/resources/waap/domains/insights.py +39 -27
  159. gcore/resources/waap/domains/settings.py +21 -13
  160. gcore/resources/waap/domains/statistics.py +99 -75
  161. gcore/resources/waap/insights.py +23 -21
  162. gcore/resources/waap/ip_info/ip_info.py +70 -38
  163. gcore/resources/waap/ip_info/metrics.py +11 -7
  164. gcore/resources/waap/organizations.py +17 -13
  165. gcore/resources/waap/statistics.py +9 -5
  166. gcore/resources/waap/tags.py +17 -17
  167. gcore/resources/waap/waap.py +5 -5
  168. gcore/types/cdn/__init__.py +80 -0
  169. gcore/types/cdn/audit_log_list_params.py +73 -0
  170. gcore/types/cdn/ca_certificate.py +53 -0
  171. gcore/types/cdn/ca_certificate_list.py +10 -0
  172. gcore/types/cdn/cdn_account.py +86 -0
  173. gcore/types/cdn/cdn_account_limits.py +27 -0
  174. gcore/types/cdn/cdn_audit_log_entry.py +66 -0
  175. gcore/types/cdn/cdn_available_features.py +46 -0
  176. gcore/types/cdn/cdn_list_purge_statuses_params.py +67 -0
  177. gcore/types/cdn/cdn_log_entry.py +70 -0
  178. gcore/types/cdn/cdn_metrics.py +22 -0
  179. gcore/types/cdn/cdn_metrics_groups.py +13 -0
  180. gcore/types/cdn/cdn_metrics_values.py +19 -0
  181. gcore/types/cdn/cdn_resource.py +1977 -0
  182. gcore/types/cdn/cdn_resource_list.py +10 -0
  183. gcore/types/cdn/cdn_update_account_params.py +15 -0
  184. gcore/types/cdn/certificate_create_params.py +51 -0
  185. gcore/types/cdn/certificate_get_status_params.py +14 -0
  186. gcore/types/cdn/certificate_list_params.py +29 -0
  187. gcore/types/cdn/certificate_replace_params.py +39 -0
  188. gcore/types/cdn/log_download_params.py +279 -0
  189. gcore/types/cdn/log_list_params.py +273 -0
  190. gcore/types/cdn/logs/__init__.py +7 -0
  191. gcore/types/cdn/logs/log_settings.py +172 -0
  192. gcore/types/cdn/logs/setting_create_params.py +200 -0
  193. gcore/types/cdn/logs/setting_update_params.py +200 -0
  194. gcore/types/cdn/logs_aggregated_stats.py +23 -0
  195. gcore/types/cdn/logs_uploader/__init__.py +23 -0
  196. gcore/types/cdn/logs_uploader/config_create_params.py +32 -0
  197. gcore/types/cdn/logs_uploader/config_list_params.py +16 -0
  198. gcore/types/cdn/logs_uploader/config_replace_params.py +32 -0
  199. gcore/types/cdn/logs_uploader/config_update_params.py +32 -0
  200. gcore/types/cdn/logs_uploader/logs_uploader_config.py +51 -0
  201. gcore/types/cdn/logs_uploader/logs_uploader_config_list.py +10 -0
  202. gcore/types/cdn/logs_uploader/logs_uploader_policy.py +73 -0
  203. gcore/types/cdn/logs_uploader/logs_uploader_policy_list.py +10 -0
  204. gcore/types/cdn/logs_uploader/logs_uploader_target.py +236 -0
  205. gcore/types/cdn/logs_uploader/logs_uploader_target_list.py +10 -0
  206. gcore/types/cdn/logs_uploader/policy_create_params.py +61 -0
  207. gcore/types/cdn/logs_uploader/policy_list_fields_response.py +8 -0
  208. gcore/types/cdn/logs_uploader/policy_list_params.py +16 -0
  209. gcore/types/cdn/logs_uploader/policy_replace_params.py +61 -0
  210. gcore/types/cdn/logs_uploader/policy_update_params.py +61 -0
  211. gcore/types/cdn/logs_uploader/target_create_params.py +249 -0
  212. gcore/types/cdn/logs_uploader/target_list_params.py +16 -0
  213. gcore/types/cdn/logs_uploader/target_replace_params.py +249 -0
  214. gcore/types/cdn/logs_uploader/target_update_params.py +249 -0
  215. gcore/types/cdn/logs_uploader_validation.py +23 -0
  216. gcore/types/cdn/metric_list_params.py +168 -0
  217. gcore/types/cdn/network_capacity.py +22 -0
  218. gcore/types/cdn/origin_group_create_params.py +184 -0
  219. gcore/types/cdn/origin_group_list_params.py +24 -0
  220. gcore/types/cdn/origin_group_replace_params.py +190 -0
  221. gcore/types/cdn/origin_group_update_params.py +190 -0
  222. gcore/types/cdn/origin_groups.py +212 -0
  223. gcore/types/cdn/origin_groups_list.py +10 -0
  224. gcore/types/cdn/public_ip_list.py +15 -0
  225. gcore/types/cdn/public_network_list.py +15 -0
  226. gcore/types/cdn/purge_status.py +55 -0
  227. gcore/types/cdn/resource_aggregated_stats.py +80 -0
  228. gcore/types/cdn/resource_create_params.py +1825 -0
  229. gcore/types/cdn/resource_list_params.py +107 -0
  230. gcore/types/cdn/resource_prefetch_params.py +17 -0
  231. gcore/types/cdn/resource_purge_params.py +71 -0
  232. gcore/types/cdn/resource_replace_params.py +1803 -0
  233. gcore/types/cdn/resource_update_params.py +1794 -0
  234. gcore/types/cdn/resource_usage_stats.py +111 -0
  235. gcore/types/cdn/resources/__init__.py +11 -0
  236. gcore/types/cdn/resources/cdn_resource_rule.py +1695 -0
  237. gcore/types/cdn/resources/origin_shielding.py +15 -0
  238. gcore/types/cdn/resources/rule_create_params.py +1652 -0
  239. gcore/types/cdn/resources/rule_list_response.py +10 -0
  240. gcore/types/cdn/resources/rule_replace_params.py +1654 -0
  241. gcore/types/cdn/resources/rule_update_params.py +1654 -0
  242. gcore/types/cdn/resources/shield_replace_params.py +16 -0
  243. gcore/types/cdn/rule_template.py +1666 -0
  244. gcore/types/cdn/rule_template_create_params.py +1636 -0
  245. gcore/types/cdn/rule_template_list.py +10 -0
  246. gcore/types/cdn/rule_template_replace_params.py +1636 -0
  247. gcore/types/cdn/rule_template_update_params.py +1636 -0
  248. gcore/types/cdn/shield_aggregated_stats.py +23 -0
  249. gcore/types/cdn/shield_list_response.py +25 -0
  250. gcore/types/cdn/ssl_detail.py +62 -0
  251. gcore/types/cdn/ssl_detail_list.py +10 -0
  252. gcore/types/cdn/ssl_request_status.py +135 -0
  253. gcore/types/cdn/statistic_get_logs_usage_aggregated_params.py +42 -0
  254. gcore/types/cdn/statistic_get_logs_usage_series_params.py +35 -0
  255. gcore/types/cdn/statistic_get_resource_usage_aggregated_params.py +151 -0
  256. gcore/types/cdn/statistic_get_resource_usage_series_params.py +131 -0
  257. gcore/types/cdn/statistic_get_shield_usage_aggregated_params.py +42 -0
  258. gcore/types/cdn/statistic_get_shield_usage_series_params.py +25 -0
  259. gcore/types/cdn/trusted_ca_certificate_create_params.py +23 -0
  260. gcore/types/cdn/trusted_ca_certificate_list_params.py +29 -0
  261. gcore/types/cdn/trusted_ca_certificate_replace_params.py +15 -0
  262. gcore/types/cdn/usage_series_stats.py +31 -0
  263. gcore/types/cloud/__init__.py +2 -0
  264. gcore/types/cloud/file_share.py +4 -0
  265. gcore/types/cloud/file_share_create_params.py +20 -0
  266. gcore/types/cloud/file_share_update_params.py +40 -3
  267. gcore/types/cloud/floating_ip.py +1 -1
  268. gcore/types/cloud/floating_ip_detailed.py +1 -1
  269. gcore/types/cloud/floating_ip_update_params.py +43 -0
  270. gcore/types/cloud/gpu_baremetal_cluster_action_params.py +46 -0
  271. gcore/types/cloud/inference/inference_deployment.py +3 -1
  272. gcore/types/cloud/instance_create_params.py +3 -1
  273. gcore/types/cloud/k8s/cluster_create_params.py +46 -4
  274. gcore/types/cloud/k8s/cluster_update_params.py +60 -6
  275. gcore/types/cloud/k8s/clusters/pool_update_params.py +1 -1
  276. gcore/types/cloud/k8s/k8s_cluster.py +40 -3
  277. gcore/types/cloud/load_balancer_update_params.py +3 -1
  278. gcore/types/cloud/network_update_params.py +3 -1
  279. gcore/types/cloud/networks/subnet_update_params.py +3 -1
  280. gcore/types/cloud/registries/user_create_multiple_params.py +5 -3
  281. gcore/types/cloud/registries/user_create_params.py +5 -3
  282. gcore/types/cloud/registry_create_params.py +5 -3
  283. gcore/types/cloud/security_group_update_params.py +3 -1
  284. gcore/types/cloud/ssh_key_created.py +6 -3
  285. gcore/types/cloud/volume_update_params.py +3 -1
  286. gcore/types/dns/zone_get_statistics_params.py +12 -9
  287. gcore/types/dns/zone_get_statistics_response.py +3 -1
  288. gcore/types/dns/zone_import_params.py +21 -15
  289. gcore/types/dns/zones/dns_output_rrset.py +7 -3
  290. gcore/types/iam/account_overview.py +7 -2
  291. gcore/types/iam/user.py +7 -2
  292. gcore/types/iam/user_detailed.py +7 -2
  293. gcore/types/iam/user_invite_params.py +4 -1
  294. gcore/types/iam/user_update.py +7 -2
  295. gcore/types/iam/user_update_params.py +7 -2
  296. gcore/types/streaming/ai_contentmoderation_hardnudity.py +6 -4
  297. gcore/types/streaming/ai_contentmoderation_nsfw.py +6 -4
  298. gcore/types/streaming/ai_contentmoderation_softnudity.py +6 -4
  299. gcore/types/streaming/ai_contentmoderation_sport.py +6 -4
  300. gcore/types/streaming/ai_task.py +20 -11
  301. gcore/types/streaming/ai_task_create_params.py +20 -11
  302. gcore/types/streaming/ai_task_get_response.py +5 -4
  303. gcore/types/streaming/ai_task_list_params.py +11 -5
  304. gcore/types/streaming/clip.py +33 -22
  305. gcore/types/streaming/create_video_param.py +75 -43
  306. gcore/types/streaming/playlist.py +7 -5
  307. gcore/types/streaming/playlist_create_params.py +7 -5
  308. gcore/types/streaming/playlist_update_params.py +7 -5
  309. gcore/types/streaming/playlist_video.py +75 -43
  310. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +7 -4
  311. gcore/types/streaming/stream.py +207 -136
  312. gcore/types/streaming/stream_create_clip_params.py +33 -22
  313. gcore/types/streaming/stream_create_params.py +41 -24
  314. gcore/types/streaming/stream_update_params.py +41 -24
  315. gcore/types/streaming/video.py +138 -76
  316. gcore/types/streaming/video_list_params.py +4 -2
  317. gcore/types/streaming/video_update_params.py +75 -43
  318. gcore/types/waap/__init__.py +2 -1
  319. gcore/types/waap/domain_update_params.py +2 -2
  320. gcore/types/waap/domains/advanced_rule_create_params.py +26 -18
  321. gcore/types/waap/domains/advanced_rule_list_params.py +10 -7
  322. gcore/types/waap/domains/advanced_rule_update_params.py +22 -17
  323. gcore/types/waap/domains/api_path_create_params.py +0 -3
  324. gcore/types/waap/domains/api_path_update_params.py +1 -3
  325. gcore/types/waap/domains/custom_rule_create_params.py +36 -35
  326. gcore/types/waap/domains/custom_rule_update_params.py +31 -33
  327. gcore/types/waap/domains/firewall_rule_create_params.py +6 -6
  328. gcore/types/waap/domains/firewall_rule_update_params.py +5 -5
  329. gcore/types/waap/domains/waap_advanced_rule.py +17 -9
  330. gcore/types/waap/domains/waap_custom_rule.py +5 -2
  331. gcore/types/waap/domains/waap_firewall_rule.py +1 -1
  332. gcore/types/waap/domains/waap_insight.py +1 -1
  333. gcore/types/waap/insight_list_types_params.py +1 -1
  334. gcore/types/waap/ip_info_get_top_urls_response.py +3 -12
  335. gcore/types/waap/{ip_info_get_ip_info_response.py → waap_ip_info.py} +2 -2
  336. gcore/types/waap/waap_top_url.py +13 -0
  337. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/METADATA +1 -1
  338. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/RECORD +340 -218
  339. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/WHEEL +0 -0
  340. {gcore-0.12.0.dist-info → gcore-0.14.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1825 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, List, Iterable, Optional
6
+ from typing_extensions import Literal, Required, Annotated, TypedDict
7
+
8
+ from ..._types import SequenceNotStr
9
+ from ..._utils import PropertyInfo
10
+
11
+ __all__ = [
12
+ "ResourceCreateParams",
13
+ "Options",
14
+ "OptionsAllowedHTTPMethods",
15
+ "OptionsBotProtection",
16
+ "OptionsBotProtectionBotChallenge",
17
+ "OptionsBrotliCompression",
18
+ "OptionsBrowserCacheSettings",
19
+ "OptionsCacheHTTPHeaders",
20
+ "OptionsCors",
21
+ "OptionsCountryACL",
22
+ "OptionsDisableCache",
23
+ "OptionsDisableProxyForceRanges",
24
+ "OptionsEdgeCacheSettings",
25
+ "OptionsFastedge",
26
+ "OptionsFastedgeOnRequestBody",
27
+ "OptionsFastedgeOnRequestHeaders",
28
+ "OptionsFastedgeOnResponseBody",
29
+ "OptionsFastedgeOnResponseHeaders",
30
+ "OptionsFetchCompressed",
31
+ "OptionsFollowOriginRedirect",
32
+ "OptionsForceReturn",
33
+ "OptionsForceReturnTimeInterval",
34
+ "OptionsForwardHostHeader",
35
+ "OptionsGzipOn",
36
+ "OptionsHostHeader",
37
+ "OptionsHttp3Enabled",
38
+ "OptionsIgnoreCookie",
39
+ "OptionsIgnoreQueryString",
40
+ "OptionsImageStack",
41
+ "OptionsIPAddressACL",
42
+ "OptionsLimitBandwidth",
43
+ "OptionsProxyCacheKey",
44
+ "OptionsProxyCacheMethodsSet",
45
+ "OptionsProxyConnectTimeout",
46
+ "OptionsProxyReadTimeout",
47
+ "OptionsQueryParamsBlacklist",
48
+ "OptionsQueryParamsWhitelist",
49
+ "OptionsQueryStringForwarding",
50
+ "OptionsRedirectHTTPToHTTPS",
51
+ "OptionsRedirectHTTPSToHTTP",
52
+ "OptionsReferrerACL",
53
+ "OptionsRequestLimiter",
54
+ "OptionsResponseHeadersHidingPolicy",
55
+ "OptionsRewrite",
56
+ "OptionsSecureKey",
57
+ "OptionsSlice",
58
+ "OptionsSni",
59
+ "OptionsStale",
60
+ "OptionsStaticResponseHeaders",
61
+ "OptionsStaticResponseHeadersValue",
62
+ "OptionsStaticHeaders",
63
+ "OptionsStaticRequestHeaders",
64
+ "OptionsTlsVersions",
65
+ "OptionsUseDefaultLeChain",
66
+ "OptionsUseDns01LeChallenge",
67
+ "OptionsUseRsaLeCert",
68
+ "OptionsUserAgentACL",
69
+ "OptionsWaap",
70
+ "OptionsWebsockets",
71
+ ]
72
+
73
+
74
+ class ResourceCreateParams(TypedDict, total=False):
75
+ cname: Required[str]
76
+ """Delivery domains that will be used for content delivery through a CDN.
77
+
78
+ Delivery domains should be added to your DNS settings.
79
+ """
80
+
81
+ origin: Required[str]
82
+ """IP address or domain name of the origin and the port, if custom port is used.
83
+
84
+ You can use either the `origin` or `originGroup` parameter in the request.
85
+ """
86
+
87
+ origin_group: Required[Annotated[int, PropertyInfo(alias="originGroup")]]
88
+ """Origin group ID with which the CDN resource is associated.
89
+
90
+ You can use either the `origin` or `originGroup` parameter in the request.
91
+ """
92
+
93
+ active: bool
94
+ """Enables or disables a CDN resource.
95
+
96
+ Possible values:
97
+
98
+ - **true** - CDN resource is active. Content is being delivered.
99
+ - **false** - CDN resource is deactivated. Content is not being delivered.
100
+ """
101
+
102
+ description: str
103
+ """Optional comment describing the CDN resource."""
104
+
105
+ name: Optional[str]
106
+ """CDN resource name."""
107
+
108
+ options: Options
109
+ """List of options that can be configured for the CDN resource.
110
+
111
+ In case of `null` value the option is not added to the CDN resource. Option may
112
+ inherit its value from the global account settings.
113
+ """
114
+
115
+ origin_protocol: Annotated[Literal["HTTP", "HTTPS", "MATCH"], PropertyInfo(alias="originProtocol")]
116
+ """Protocol used by CDN servers to request content from an origin source.
117
+
118
+ Possible values:
119
+
120
+ - **HTTPS** - CDN servers will connect to the origin via HTTPS.
121
+ - **HTTP** - CDN servers will connect to the origin via HTTP.
122
+ - **MATCH** - connection protocol will be chosen automatically (content on the
123
+ origin source should be available for the CDN both through HTTP and HTTPS).
124
+
125
+ If protocol is not specified, HTTP is used to connect to an origin server.
126
+ """
127
+
128
+ primary_resource: Optional[int]
129
+ """
130
+ ID of the main CDN resource which has a shared caching zone with a reserve CDN
131
+ resource.
132
+
133
+ If the parameter is not empty, then the current CDN resource is the reserve. You
134
+ cannot change some options, create rules, set up origin shielding, or use the
135
+ reserve CDN resource for Streaming.
136
+ """
137
+
138
+ proxy_ssl_ca: Optional[int]
139
+ """ID of the trusted CA certificate used to verify an origin.
140
+
141
+ It can be used only with `"`proxy_ssl_enabled`": true`.
142
+ """
143
+
144
+ proxy_ssl_data: Optional[int]
145
+ """ID of the SSL certificate used to verify an origin.
146
+
147
+ It can be used only with `"`proxy_ssl_enabled`": true`.
148
+ """
149
+
150
+ proxy_ssl_enabled: bool
151
+ """
152
+ Enables or disables SSL certificate validation of the origin server before
153
+ completing any connection.
154
+
155
+ Possible values:
156
+
157
+ - **true** - Origin SSL certificate validation is enabled.
158
+ - **false** - Origin SSL certificate validation is disabled.
159
+ """
160
+
161
+ secondary_hostnames: Annotated[SequenceNotStr[str], PropertyInfo(alias="secondaryHostnames")]
162
+ """
163
+ Additional delivery domains (CNAMEs) that will be used to deliver content via
164
+ the CDN.
165
+
166
+ Up to ten additional CNAMEs are possible.
167
+ """
168
+
169
+ ssl_data: Annotated[Optional[int], PropertyInfo(alias="sslData")]
170
+ """ID of the SSL certificate linked to the CDN resource.
171
+
172
+ Can be used only with `"sslEnabled": true`.
173
+ """
174
+
175
+ ssl_enabled: Annotated[bool, PropertyInfo(alias="sslEnabled")]
176
+ """Defines whether the HTTPS protocol enabled for content delivery.
177
+
178
+ Possible values:
179
+
180
+ - **true** - HTTPS is enabled.
181
+ - **false** - HTTPS is disabled.
182
+ """
183
+
184
+ waap_api_domain_enabled: bool
185
+ """Defines whether the associated WAAP Domain is identified as an API Domain.
186
+
187
+ Possible values:
188
+
189
+ - **true** - The associated WAAP Domain is designated as an API Domain.
190
+ - **false** - The associated WAAP Domain is not designated as an API Domain.
191
+ """
192
+
193
+
194
+ class OptionsAllowedHTTPMethods(TypedDict, total=False):
195
+ enabled: Required[bool]
196
+ """Controls the option state.
197
+
198
+ Possible values:
199
+
200
+ - **true** - Option is enabled.
201
+ - **false** - Option is disabled.
202
+ """
203
+
204
+ value: Required[List[Literal["GET", "HEAD", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]]]
205
+
206
+
207
+ class OptionsBotProtectionBotChallenge(TypedDict, total=False):
208
+ enabled: bool
209
+ """Possible values:
210
+
211
+ - **true** - Bot challenge is enabled.
212
+ - **false** - Bot challenge is disabled.
213
+ """
214
+
215
+
216
+ class OptionsBotProtection(TypedDict, total=False):
217
+ bot_challenge: Required[OptionsBotProtectionBotChallenge]
218
+ """Controls the bot challenge module state."""
219
+
220
+ enabled: Required[bool]
221
+ """Controls the option state.
222
+
223
+ Possible values:
224
+
225
+ - **true** - Option is enabled.
226
+ - **false** - Option is disabled.
227
+ """
228
+
229
+
230
+ class OptionsBrotliCompression(TypedDict, total=False):
231
+ enabled: Required[bool]
232
+ """Controls the option state.
233
+
234
+ Possible values:
235
+
236
+ - **true** - Option is enabled.
237
+ - **false** - Option is disabled.
238
+ """
239
+
240
+ value: Required[
241
+ List[
242
+ Literal[
243
+ "application/javascript",
244
+ "application/json",
245
+ "application/vnd.ms-fontobject",
246
+ "application/wasm",
247
+ "application/x-font-ttf",
248
+ "application/x-javascript",
249
+ "application/xml",
250
+ "application/xml+rss",
251
+ "image/svg+xml",
252
+ "image/x-icon",
253
+ "text/css",
254
+ "text/html",
255
+ "text/javascript",
256
+ "text/plain",
257
+ "text/xml",
258
+ ]
259
+ ]
260
+ ]
261
+ """Allows to select the content types you want to compress.
262
+
263
+ `text/html` is a mandatory content type.
264
+ """
265
+
266
+
267
+ class OptionsBrowserCacheSettings(TypedDict, total=False):
268
+ enabled: Required[bool]
269
+ """Controls the option state.
270
+
271
+ Possible values:
272
+
273
+ - **true** - Option is enabled.
274
+ - **false** - Option is disabled.
275
+ """
276
+
277
+ value: Required[str]
278
+ """Set the cache expiration time to '0s' to disable caching.
279
+
280
+ The maximum duration is any equivalent to `1y`.
281
+ """
282
+
283
+
284
+ class OptionsCacheHTTPHeaders(TypedDict, total=False):
285
+ enabled: Required[bool]
286
+ """Controls the option state.
287
+
288
+ Possible values:
289
+
290
+ - **true** - Option is enabled.
291
+ - **false** - Option is disabled.
292
+ """
293
+
294
+ value: Required[SequenceNotStr[str]]
295
+
296
+
297
+ class OptionsCors(TypedDict, total=False):
298
+ enabled: Required[bool]
299
+ """Controls the option state.
300
+
301
+ Possible values:
302
+
303
+ - **true** - Option is enabled.
304
+ - **false** - Option is disabled.
305
+ """
306
+
307
+ value: Required[SequenceNotStr[str]]
308
+ """Value of the Access-Control-Allow-Origin header.
309
+
310
+ Possible values:
311
+
312
+ - **Adds \\** as the Access-Control-Allow-Origin header value** - Content will be
313
+ uploaded for requests from any domain. `"value": ["\\**"]`
314
+ - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value if the
315
+ origin matches one of the listed domains** - Content will be uploaded only for
316
+ requests from the domains specified in the field.
317
+ `"value": ["domain.com", "second.dom.com"]`
318
+ - **Adds "$`http_origin`" as the Access-Control-Allow-Origin header value** -
319
+ Content will be uploaded for requests from any domain, and the domain from
320
+ which the request was sent will be added to the "Access-Control-Allow-Origin"
321
+ header in the response. `"value": ["$`http_origin`"]`
322
+ """
323
+
324
+ always: bool
325
+ """
326
+ Defines whether the Access-Control-Allow-Origin header should be added to a
327
+ response from CDN regardless of response code.
328
+
329
+ Possible values:
330
+
331
+ - **true** - Header will be added to a response regardless of response code.
332
+ - **false** - Header will only be added to responses with codes: 200, 201, 204,
333
+ 206, 301, 302, 303, 304, 307, 308.
334
+ """
335
+
336
+
337
+ class OptionsCountryACL(TypedDict, total=False):
338
+ enabled: Required[bool]
339
+ """Controls the option state.
340
+
341
+ Possible values:
342
+
343
+ - **true** - Option is enabled.
344
+ - **false** - Option is disabled.
345
+ """
346
+
347
+ excepted_values: Required[SequenceNotStr[str]]
348
+ """List of countries according to ISO-3166-1.
349
+
350
+ The meaning of the parameter depends on `policy_type` value:
351
+
352
+ - **allow** - List of countries for which access is prohibited.
353
+ - **deny** - List of countries for which access is allowed.
354
+ """
355
+
356
+ policy_type: Required[Literal["allow", "deny"]]
357
+ """Defines the type of CDN resource access policy.
358
+
359
+ Possible values:
360
+
361
+ - **allow** - Access is allowed for all the countries except for those specified
362
+ in `excepted_values` field.
363
+ - **deny** - Access is denied for all the countries except for those specified
364
+ in `excepted_values` field.
365
+ """
366
+
367
+
368
+ class OptionsDisableCache(TypedDict, total=False):
369
+ enabled: Required[bool]
370
+ """Controls the option state.
371
+
372
+ Possible values:
373
+
374
+ - **true** - Option is enabled.
375
+ - **false** - Option is disabled.
376
+ """
377
+
378
+ value: Required[bool]
379
+ """Possible values:
380
+
381
+ - **true** - content caching is disabled.
382
+ - **false** - content caching is enabled.
383
+ """
384
+
385
+
386
+ class OptionsDisableProxyForceRanges(TypedDict, total=False):
387
+ enabled: Required[bool]
388
+ """Controls the option state.
389
+
390
+ Possible values:
391
+
392
+ - **true** - Option is enabled.
393
+ - **false** - Option is disabled.
394
+ """
395
+
396
+ value: Required[bool]
397
+ """Possible values:
398
+
399
+ - **true** - Option is enabled.
400
+ - **false** - Option is disabled.
401
+ """
402
+
403
+
404
+ class OptionsEdgeCacheSettings(TypedDict, total=False):
405
+ enabled: Required[bool]
406
+ """Controls the option state.
407
+
408
+ Possible values:
409
+
410
+ - **true** - Option is enabled.
411
+ - **false** - Option is disabled.
412
+ """
413
+
414
+ custom_values: Dict[str, str]
415
+ """
416
+ A MAP object representing the caching time in seconds for a response with a
417
+ specific response code.
418
+
419
+ These settings have a higher priority than the `value` field.
420
+
421
+ - Use `any` key to specify caching time for all response codes.
422
+ - Use `0s` value to disable caching for a specific response code.
423
+ """
424
+
425
+ default: str
426
+ """Enables content caching according to the origin cache settings.
427
+
428
+ The value is applied to the following response codes 200, 201, 204, 206, 301,
429
+ 302, 303, 304, 307, 308, if an origin server does not have caching HTTP headers.
430
+
431
+ Responses with other codes will not be cached.
432
+
433
+ The maximum duration is any equivalent to `1y`.
434
+ """
435
+
436
+ value: str
437
+ """Caching time.
438
+
439
+ The value is applied to the following response codes: 200, 206, 301, 302.
440
+ Responses with codes 4xx, 5xx will not be cached.
441
+
442
+ Use `0s` to disable caching.
443
+
444
+ The maximum duration is any equivalent to `1y`.
445
+ """
446
+
447
+
448
+ class OptionsFastedgeOnRequestBody(TypedDict, total=False):
449
+ app_id: Required[str]
450
+ """The ID of the application in FastEdge."""
451
+
452
+ enabled: bool
453
+ """
454
+ Determines if the FastEdge application should be called whenever HTTP request
455
+ headers are received.
456
+ """
457
+
458
+ execute_on_edge: bool
459
+ """Determines if the request should be executed at the edge nodes."""
460
+
461
+ execute_on_shield: bool
462
+ """Determines if the request should be executed at the shield nodes."""
463
+
464
+ interrupt_on_error: bool
465
+ """Determines if the request execution should be interrupted when an error occurs."""
466
+
467
+
468
+ class OptionsFastedgeOnRequestHeaders(TypedDict, total=False):
469
+ app_id: Required[str]
470
+ """The ID of the application in FastEdge."""
471
+
472
+ enabled: bool
473
+ """
474
+ Determines if the FastEdge application should be called whenever HTTP request
475
+ headers are received.
476
+ """
477
+
478
+ execute_on_edge: bool
479
+ """Determines if the request should be executed at the edge nodes."""
480
+
481
+ execute_on_shield: bool
482
+ """Determines if the request should be executed at the shield nodes."""
483
+
484
+ interrupt_on_error: bool
485
+ """Determines if the request execution should be interrupted when an error occurs."""
486
+
487
+
488
+ class OptionsFastedgeOnResponseBody(TypedDict, total=False):
489
+ app_id: Required[str]
490
+ """The ID of the application in FastEdge."""
491
+
492
+ enabled: bool
493
+ """
494
+ Determines if the FastEdge application should be called whenever HTTP request
495
+ headers are received.
496
+ """
497
+
498
+ execute_on_edge: bool
499
+ """Determines if the request should be executed at the edge nodes."""
500
+
501
+ execute_on_shield: bool
502
+ """Determines if the request should be executed at the shield nodes."""
503
+
504
+ interrupt_on_error: bool
505
+ """Determines if the request execution should be interrupted when an error occurs."""
506
+
507
+
508
+ class OptionsFastedgeOnResponseHeaders(TypedDict, total=False):
509
+ app_id: Required[str]
510
+ """The ID of the application in FastEdge."""
511
+
512
+ enabled: bool
513
+ """
514
+ Determines if the FastEdge application should be called whenever HTTP request
515
+ headers are received.
516
+ """
517
+
518
+ execute_on_edge: bool
519
+ """Determines if the request should be executed at the edge nodes."""
520
+
521
+ execute_on_shield: bool
522
+ """Determines if the request should be executed at the shield nodes."""
523
+
524
+ interrupt_on_error: bool
525
+ """Determines if the request execution should be interrupted when an error occurs."""
526
+
527
+
528
+ class OptionsFastedge(TypedDict, total=False):
529
+ enabled: Required[bool]
530
+ """Controls the option state.
531
+
532
+ Possible values:
533
+
534
+ - **true** - Option is enabled.
535
+ - **false** - Option is disabled.
536
+ """
537
+
538
+ on_request_body: OptionsFastedgeOnRequestBody
539
+ """
540
+ Allows to configure FastEdge application that will be called to handle request
541
+ body as soon as CDN receives incoming HTTP request.
542
+ """
543
+
544
+ on_request_headers: OptionsFastedgeOnRequestHeaders
545
+ """
546
+ Allows to configure FastEdge application that will be called to handle request
547
+ headers as soon as CDN receives incoming HTTP request.
548
+ """
549
+
550
+ on_response_body: OptionsFastedgeOnResponseBody
551
+ """
552
+ Allows to configure FastEdge application that will be called to handle response
553
+ body before CDN sends the HTTP response.
554
+ """
555
+
556
+ on_response_headers: OptionsFastedgeOnResponseHeaders
557
+ """
558
+ Allows to configure FastEdge application that will be called to handle response
559
+ headers before CDN sends the HTTP response.
560
+ """
561
+
562
+
563
+ class OptionsFetchCompressed(TypedDict, total=False):
564
+ enabled: Required[bool]
565
+ """Controls the option state.
566
+
567
+ Possible values:
568
+
569
+ - **true** - Option is enabled.
570
+ - **false** - Option is disabled.
571
+ """
572
+
573
+ value: Required[bool]
574
+ """Possible values:
575
+
576
+ - **true** - Option is enabled.
577
+ - **false** - Option is disabled.
578
+ """
579
+
580
+
581
+ class OptionsFollowOriginRedirect(TypedDict, total=False):
582
+ codes: Required[Iterable[Literal[301, 302, 303, 307, 308]]]
583
+ """Redirect status code that the origin server returns.
584
+
585
+ To serve up to date content to end users, you will need to purge the cache after
586
+ managing the option.
587
+ """
588
+
589
+ enabled: Required[bool]
590
+ """Controls the option state.
591
+
592
+ Possible values:
593
+
594
+ - **true** - Option is enabled.
595
+ - **false** - Option is disabled.
596
+ """
597
+
598
+
599
+ class OptionsForceReturnTimeInterval(TypedDict, total=False):
600
+ end_time: Required[str]
601
+ """Time until which a custom HTTP response code should be applied.
602
+
603
+ Indicated in 24-hour format.
604
+ """
605
+
606
+ start_time: Required[str]
607
+ """Time from which a custom HTTP response code should be applied.
608
+
609
+ Indicated in 24-hour format.
610
+ """
611
+
612
+ time_zone: str
613
+ """Time zone used to calculate time."""
614
+
615
+
616
+ class OptionsForceReturn(TypedDict, total=False):
617
+ body: Required[str]
618
+ """URL for redirection or text."""
619
+
620
+ code: Required[int]
621
+ """Status code value."""
622
+
623
+ enabled: Required[bool]
624
+ """Controls the option state.
625
+
626
+ Possible values:
627
+
628
+ - **true** - Option is enabled.
629
+ - **false** - Option is disabled.
630
+ """
631
+
632
+ time_interval: Optional[OptionsForceReturnTimeInterval]
633
+ """Controls the time at which a custom HTTP response code should be applied.
634
+
635
+ By default, a custom HTTP response code is applied at any time.
636
+ """
637
+
638
+
639
+ class OptionsForwardHostHeader(TypedDict, total=False):
640
+ enabled: Required[bool]
641
+ """Controls the option state.
642
+
643
+ Possible values:
644
+
645
+ - **true** - Option is enabled.
646
+ - **false** - Option is disabled.
647
+ """
648
+
649
+ value: Required[bool]
650
+ """Possible values:
651
+
652
+ - **true** - Option is enabled.
653
+ - **false** - Option is disabled.
654
+ """
655
+
656
+
657
+ class OptionsGzipOn(TypedDict, total=False):
658
+ enabled: Required[bool]
659
+ """Controls the option state.
660
+
661
+ Possible values:
662
+
663
+ - **true** - Option is enabled.
664
+ - **false** - Option is disabled.
665
+ """
666
+
667
+ value: Required[bool]
668
+ """Possible values:
669
+
670
+ - **true** - Option is enabled.
671
+ - **false** - Option is disabled.
672
+ """
673
+
674
+
675
+ class OptionsHostHeader(TypedDict, total=False):
676
+ enabled: Required[bool]
677
+ """Controls the option state.
678
+
679
+ Possible values:
680
+
681
+ - **true** - Option is enabled.
682
+ - **false** - Option is disabled.
683
+ """
684
+
685
+ value: Required[str]
686
+ """Host Header value."""
687
+
688
+
689
+ class OptionsHttp3Enabled(TypedDict, total=False):
690
+ enabled: Required[bool]
691
+ """Controls the option state.
692
+
693
+ Possible values:
694
+
695
+ - **true** - Option is enabled.
696
+ - **false** - Option is disabled.
697
+ """
698
+
699
+ value: Required[bool]
700
+ """Possible values:
701
+
702
+ - **true** - Option is enabled.
703
+ - **false** - Option is disabled.
704
+ """
705
+
706
+
707
+ class OptionsIgnoreCookie(TypedDict, total=False):
708
+ enabled: Required[bool]
709
+ """Controls the option state.
710
+
711
+ Possible values:
712
+
713
+ - **true** - Option is enabled.
714
+ - **false** - Option is disabled.
715
+ """
716
+
717
+ value: Required[bool]
718
+ """Possible values:
719
+
720
+ - **true** - Option is enabled, files with cookies are cached as one file.
721
+ - **false** - Option is disabled, files with cookies are cached as different
722
+ files.
723
+ """
724
+
725
+
726
+ class OptionsIgnoreQueryString(TypedDict, total=False):
727
+ enabled: Required[bool]
728
+ """Controls the option state.
729
+
730
+ Possible values:
731
+
732
+ - **true** - Option is enabled.
733
+ - **false** - Option is disabled.
734
+ """
735
+
736
+ value: Required[bool]
737
+ """Possible values:
738
+
739
+ - **true** - Option is enabled.
740
+ - **false** - Option is disabled.
741
+ """
742
+
743
+
744
+ class OptionsImageStack(TypedDict, total=False):
745
+ enabled: Required[bool]
746
+ """Controls the option state.
747
+
748
+ Possible values:
749
+
750
+ - **true** - Option is enabled.
751
+ - **false** - Option is disabled.
752
+ """
753
+
754
+ avif_enabled: bool
755
+ """Enables or disables automatic conversion of JPEG and PNG images to AVI format."""
756
+
757
+ png_lossless: bool
758
+ """Enables or disables compression without quality loss for PNG format."""
759
+
760
+ quality: int
761
+ """Defines quality settings for JPG and PNG images.
762
+
763
+ The higher the value, the better the image quality, and the larger the file size
764
+ after conversion.
765
+ """
766
+
767
+ webp_enabled: bool
768
+ """Enables or disables automatic conversion of JPEG and PNG images to WebP format."""
769
+
770
+
771
+ class OptionsIPAddressACL(TypedDict, total=False):
772
+ enabled: Required[bool]
773
+ """Controls the option state.
774
+
775
+ Possible values:
776
+
777
+ - **true** - Option is enabled.
778
+ - **false** - Option is disabled.
779
+ """
780
+
781
+ excepted_values: Required[SequenceNotStr[str]]
782
+ """List of IP addresses with a subnet mask.
783
+
784
+ The meaning of the parameter depends on `policy_type` value:
785
+
786
+ - **allow** - List of IP addresses for which access is prohibited.
787
+ - **deny** - List of IP addresses for which access is allowed.
788
+
789
+ Examples:
790
+
791
+ - `192.168.3.2/32`
792
+ - `2a03:d000:2980:7::8/128`
793
+ """
794
+
795
+ policy_type: Required[Literal["allow", "deny"]]
796
+ """IP access policy type.
797
+
798
+ Possible values:
799
+
800
+ - **allow** - Allow access to all IPs except IPs specified in
801
+ "`excepted_values`" field.
802
+ - **deny** - Deny access to all IPs except IPs specified in "`excepted_values`"
803
+ field.
804
+ """
805
+
806
+
807
+ class OptionsLimitBandwidth(TypedDict, total=False):
808
+ enabled: Required[bool]
809
+ """Controls the option state.
810
+
811
+ Possible values:
812
+
813
+ - **true** - Option is enabled.
814
+ - **false** - Option is disabled.
815
+ """
816
+
817
+ limit_type: Required[Literal["static", "dynamic"]]
818
+ """Method of controlling the download speed per connection.
819
+
820
+ Possible values:
821
+
822
+ - **static** - Use speed and buffer fields to set the download speed limit.
823
+ - **dynamic** - Use query strings **speed** and **buffer** to set the download
824
+ speed limit.
825
+
826
+ For example, when requesting content at the link
827
+
828
+ ```
829
+ http://cdn.example.com/video.mp4?speed=50k&buffer=500k
830
+ ```
831
+
832
+ the download speed will be limited to 50kB/s after 500 kB.
833
+ """
834
+
835
+ buffer: int
836
+ """Amount of downloaded data after which the user will be rate limited."""
837
+
838
+ speed: int
839
+ """Maximum download speed per connection."""
840
+
841
+
842
+ class OptionsProxyCacheKey(TypedDict, total=False):
843
+ enabled: Required[bool]
844
+ """Controls the option state.
845
+
846
+ Possible values:
847
+
848
+ - **true** - Option is enabled.
849
+ - **false** - Option is disabled.
850
+ """
851
+
852
+ value: Required[str]
853
+ """Key for caching."""
854
+
855
+
856
+ class OptionsProxyCacheMethodsSet(TypedDict, total=False):
857
+ enabled: Required[bool]
858
+ """Controls the option state.
859
+
860
+ Possible values:
861
+
862
+ - **true** - Option is enabled.
863
+ - **false** - Option is disabled.
864
+ """
865
+
866
+ value: Required[bool]
867
+ """Possible values:
868
+
869
+ - **true** - Option is enabled.
870
+ - **false** - Option is disabled.
871
+ """
872
+
873
+
874
+ class OptionsProxyConnectTimeout(TypedDict, total=False):
875
+ enabled: Required[bool]
876
+ """Controls the option state.
877
+
878
+ Possible values:
879
+
880
+ - **true** - Option is enabled.
881
+ - **false** - Option is disabled.
882
+ """
883
+
884
+ value: Required[str]
885
+ """Timeout value in seconds."""
886
+
887
+
888
+ class OptionsProxyReadTimeout(TypedDict, total=False):
889
+ enabled: Required[bool]
890
+ """Controls the option state.
891
+
892
+ Possible values:
893
+
894
+ - **true** - Option is enabled.
895
+ - **false** - Option is disabled.
896
+ """
897
+
898
+ value: Required[str]
899
+ """Timeout value in seconds."""
900
+
901
+
902
+ class OptionsQueryParamsBlacklist(TypedDict, total=False):
903
+ enabled: Required[bool]
904
+ """Controls the option state.
905
+
906
+ Possible values:
907
+
908
+ - **true** - Option is enabled.
909
+ - **false** - Option is disabled.
910
+ """
911
+
912
+ value: Required[SequenceNotStr[str]]
913
+ """List of query parameters."""
914
+
915
+
916
+ class OptionsQueryParamsWhitelist(TypedDict, total=False):
917
+ enabled: Required[bool]
918
+ """Controls the option state.
919
+
920
+ Possible values:
921
+
922
+ - **true** - Option is enabled.
923
+ - **false** - Option is disabled.
924
+ """
925
+
926
+ value: Required[SequenceNotStr[str]]
927
+ """List of query parameters."""
928
+
929
+
930
+ class OptionsQueryStringForwarding(TypedDict, total=False):
931
+ enabled: Required[bool]
932
+ """Controls the option state.
933
+
934
+ Possible values:
935
+
936
+ - **true** - Option is enabled.
937
+ - **false** - Option is disabled.
938
+ """
939
+
940
+ forward_from_file_types: Required[SequenceNotStr[str]]
941
+ """
942
+ The `forward_from_files_types` field specifies the types of playlist files from
943
+ which parameters will be extracted and forwarded. This typically includes
944
+ formats that list multiple media chunk references, such as HLS and DASH
945
+ playlists. Parameters associated with these playlist files (like query strings
946
+ or headers) will be propagated to the chunks they reference.
947
+ """
948
+
949
+ forward_to_file_types: Required[SequenceNotStr[str]]
950
+ """
951
+ The field specifies the types of media chunk files to which parameters,
952
+ extracted from playlist files, will be forwarded. These refer to the actual
953
+ segments of media content that are delivered to viewers. Ensuring the correct
954
+ parameters are forwarded to these files is crucial for maintaining the integrity
955
+ of the streaming session.
956
+ """
957
+
958
+
959
+ class OptionsRedirectHTTPToHTTPS(TypedDict, total=False):
960
+ enabled: Required[bool]
961
+ """Controls the option state.
962
+
963
+ Possible values:
964
+
965
+ - **true** - Option is enabled.
966
+ - **false** - Option is disabled.
967
+ """
968
+
969
+ value: Required[bool]
970
+ """Possible values:
971
+
972
+ - **true** - Option is enabled.
973
+ - **false** - Option is disabled.
974
+ """
975
+
976
+
977
+ class OptionsRedirectHTTPSToHTTP(TypedDict, total=False):
978
+ enabled: Required[bool]
979
+ """Controls the option state.
980
+
981
+ Possible values:
982
+
983
+ - **true** - Option is enabled.
984
+ - **false** - Option is disabled.
985
+ """
986
+
987
+ value: Required[bool]
988
+ """Possible values:
989
+
990
+ - **true** - Option is enabled.
991
+ - **false** - Option is disabled.
992
+ """
993
+
994
+
995
+ class OptionsReferrerACL(TypedDict, total=False):
996
+ enabled: Required[bool]
997
+ """Controls the option state.
998
+
999
+ Possible values:
1000
+
1001
+ - **true** - Option is enabled.
1002
+ - **false** - Option is disabled.
1003
+ """
1004
+
1005
+ excepted_values: Required[SequenceNotStr[str]]
1006
+ """
1007
+ List of domain names or wildcard domains (without protocol: `http://` or
1008
+ `https://`.)
1009
+
1010
+ The meaning of the parameter depends on `policy_type` value:
1011
+
1012
+ - **allow** - List of domain names for which access is prohibited.
1013
+ - **deny** - List of IP domain names for which access is allowed.
1014
+
1015
+ Examples:
1016
+
1017
+ - `example.com`
1018
+ - `\\**.example.com`
1019
+ """
1020
+
1021
+ policy_type: Required[Literal["allow", "deny"]]
1022
+ """Policy type.
1023
+
1024
+ Possible values:
1025
+
1026
+ - **allow** - Allow access to all domain names except the domain names specified
1027
+ in `excepted_values` field.
1028
+ - **deny** - Deny access to all domain names except the domain names specified
1029
+ in `excepted_values` field.
1030
+ """
1031
+
1032
+
1033
+ class OptionsRequestLimiter(TypedDict, total=False):
1034
+ enabled: Required[bool]
1035
+ """Controls the option state.
1036
+
1037
+ Possible values:
1038
+
1039
+ - **true** - Option is enabled.
1040
+ - **false** - Option is disabled.
1041
+ """
1042
+
1043
+ rate: Required[int]
1044
+ """Maximum request rate."""
1045
+
1046
+ rate_unit: Literal["r/s", "r/m"]
1047
+ """Units of measurement for the `rate` field.
1048
+
1049
+ Possible values:
1050
+
1051
+ - **r/s** - Requests per second.
1052
+ - **r/m** - Requests per minute.
1053
+
1054
+ If the rate is less than one request per second, it is specified in request per
1055
+ minute (r/m.)
1056
+ """
1057
+
1058
+
1059
+ class OptionsResponseHeadersHidingPolicy(TypedDict, total=False):
1060
+ enabled: Required[bool]
1061
+ """Controls the option state.
1062
+
1063
+ Possible values:
1064
+
1065
+ - **true** - Option is enabled.
1066
+ - **false** - Option is disabled.
1067
+ """
1068
+
1069
+ excepted: Required[SequenceNotStr[str]]
1070
+ """List of HTTP headers.
1071
+
1072
+ Parameter meaning depends on the value of the `mode` field:
1073
+
1074
+ - **show** - List of HTTP headers to hide from response.
1075
+ - **hide** - List of HTTP headers to include in response. Other HTTP headers
1076
+ will be hidden.
1077
+
1078
+ The following headers are required and cannot be hidden from response:
1079
+
1080
+ - `Connection`
1081
+ - `Content-Length`
1082
+ - `Content-Type`
1083
+ - `Date`
1084
+ - `Server`
1085
+ """
1086
+
1087
+ mode: Required[Literal["hide", "show"]]
1088
+ """How HTTP headers are hidden from the response.
1089
+
1090
+ Possible values:
1091
+
1092
+ - **show** - Hide only HTTP headers listed in the `excepted` field.
1093
+ - **hide** - Hide all HTTP headers except headers listed in the "excepted"
1094
+ field.
1095
+ """
1096
+
1097
+
1098
+ class OptionsRewrite(TypedDict, total=False):
1099
+ body: Required[str]
1100
+ """Path for the Rewrite option.
1101
+
1102
+ Example:
1103
+
1104
+ - `/(.\\**) /media/$1`
1105
+ """
1106
+
1107
+ enabled: Required[bool]
1108
+ """Controls the option state.
1109
+
1110
+ Possible values:
1111
+
1112
+ - **true** - Option is enabled.
1113
+ - **false** - Option is disabled.
1114
+ """
1115
+
1116
+ flag: Literal["break", "last", "redirect", "permanent"]
1117
+ """Flag for the Rewrite option.
1118
+
1119
+ Possible values:
1120
+
1121
+ - **last** - Stop processing the current set of `ngx_http_rewrite_module`
1122
+ directives and start a search for a new location matching changed URI.
1123
+ - **break** - Stop processing the current set of the Rewrite option.
1124
+ - **redirect** - Return a temporary redirect with the 302 code; used when a
1125
+ replacement string does not start with `http://`, `https://`, or `$scheme`.
1126
+ - **permanent** - Return a permanent redirect with the 301 code.
1127
+ """
1128
+
1129
+
1130
+ class OptionsSecureKey(TypedDict, total=False):
1131
+ enabled: Required[bool]
1132
+ """Controls the option state.
1133
+
1134
+ Possible values:
1135
+
1136
+ - **true** - Option is enabled.
1137
+ - **false** - Option is disabled.
1138
+ """
1139
+
1140
+ key: Required[Optional[str]]
1141
+ """Key generated on your side that will be used for URL signing."""
1142
+
1143
+ type: Literal[0, 2]
1144
+ """Type of URL signing.
1145
+
1146
+ Possible types:
1147
+
1148
+ - **Type 0** - Includes end user IP to secure token generation.
1149
+ - **Type 2** - Excludes end user IP from secure token generation.
1150
+ """
1151
+
1152
+
1153
+ class OptionsSlice(TypedDict, total=False):
1154
+ enabled: Required[bool]
1155
+ """Controls the option state.
1156
+
1157
+ Possible values:
1158
+
1159
+ - **true** - Option is enabled.
1160
+ - **false** - Option is disabled.
1161
+ """
1162
+
1163
+ value: Required[bool]
1164
+ """Possible values:
1165
+
1166
+ - **true** - Option is enabled.
1167
+ - **false** - Option is disabled.
1168
+ """
1169
+
1170
+
1171
+ class OptionsSni(TypedDict, total=False):
1172
+ custom_hostname: Required[str]
1173
+ """Custom SNI hostname.
1174
+
1175
+ It is required if `sni_type` is set to custom.
1176
+ """
1177
+
1178
+ enabled: Required[bool]
1179
+ """Controls the option state.
1180
+
1181
+ Possible values:
1182
+
1183
+ - **true** - Option is enabled.
1184
+ - **false** - Option is disabled.
1185
+ """
1186
+
1187
+ sni_type: Literal["dynamic", "custom"]
1188
+ """SNI (Server Name Indication) type.
1189
+
1190
+ Possible values:
1191
+
1192
+ - **dynamic** - SNI hostname depends on `hostHeader` and `forward_host_header`
1193
+ options. It has several possible combinations:
1194
+ - If the `hostHeader` option is enabled and specified, SNI hostname matches the
1195
+ Host header.
1196
+ - If the `forward_host_header` option is enabled and has true value, SNI
1197
+ hostname matches the Host header used in the request made to a CDN.
1198
+ - If the `hostHeader` and `forward_host_header` options are disabled, SNI
1199
+ hostname matches the primary CNAME.
1200
+ - **custom** - custom SNI hostname is in use.
1201
+ """
1202
+
1203
+
1204
+ class OptionsStale(TypedDict, total=False):
1205
+ enabled: Required[bool]
1206
+ """Controls the option state.
1207
+
1208
+ Possible values:
1209
+
1210
+ - **true** - Option is enabled.
1211
+ - **false** - Option is disabled.
1212
+ """
1213
+
1214
+ value: Required[
1215
+ List[
1216
+ Literal[
1217
+ "error",
1218
+ "http_403",
1219
+ "http_404",
1220
+ "http_429",
1221
+ "http_500",
1222
+ "http_502",
1223
+ "http_503",
1224
+ "http_504",
1225
+ "invalid_header",
1226
+ "timeout",
1227
+ "updating",
1228
+ ]
1229
+ ]
1230
+ ]
1231
+ """Defines list of errors for which "Always online" option is applied."""
1232
+
1233
+
1234
+ class OptionsStaticResponseHeadersValue(TypedDict, total=False):
1235
+ name: Required[str]
1236
+ """HTTP Header name.
1237
+
1238
+ Restrictions:
1239
+
1240
+ - Maximum 128 symbols.
1241
+ - Latin letters (A-Z, a-z,) numbers (0-9,) dashes, and underscores only.
1242
+ """
1243
+
1244
+ value: Required[SequenceNotStr[str]]
1245
+ """Header value.
1246
+
1247
+ Restrictions:
1248
+
1249
+ - Maximum 512 symbols.
1250
+ - Letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&\\**()-\\__=+
1251
+ /|\";:?.,><{}[]).
1252
+ - Must start with a letter, number, asterisk or {.
1253
+ - Multiple values can be added.
1254
+ """
1255
+
1256
+ always: bool
1257
+ """
1258
+ Defines whether the header will be added to a response from CDN regardless of
1259
+ response code.
1260
+
1261
+ Possible values:
1262
+
1263
+ - **true** - Header will be added to a response from CDN regardless of response
1264
+ code.
1265
+ - **false** - Header will be added only to the following response codes: 200,
1266
+ 201, 204, 206, 301, 302, 303, 304, 307, 308.
1267
+ """
1268
+
1269
+
1270
+ class OptionsStaticResponseHeaders(TypedDict, total=False):
1271
+ enabled: Required[bool]
1272
+ """Controls the option state.
1273
+
1274
+ Possible values:
1275
+
1276
+ - **true** - Option is enabled.
1277
+ - **false** - Option is disabled.
1278
+ """
1279
+
1280
+ value: Required[Iterable[OptionsStaticResponseHeadersValue]]
1281
+
1282
+
1283
+ class OptionsStaticHeaders(TypedDict, total=False):
1284
+ enabled: Required[bool]
1285
+ """Controls the option state.
1286
+
1287
+ Possible values:
1288
+
1289
+ - **true** - Option is enabled.
1290
+ - **false** - Option is disabled.
1291
+ """
1292
+
1293
+ value: Required[Dict[str, str]]
1294
+ """A MAP for static headers in a format of `header_name: header_value`.
1295
+
1296
+ Restrictions:
1297
+
1298
+ - **Header name** - Maximum 128 symbols, may contain Latin letters (A-Z, a-z),
1299
+ numbers (0-9), dashes, and underscores.
1300
+ - **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers
1301
+ (0-9), spaces, and symbols (`~!@#%%^&\\**()-\\__=+ /|\";:?.,><{}[]). Must start
1302
+ with a letter, number, asterisk or {.
1303
+ """
1304
+
1305
+
1306
+ class OptionsStaticRequestHeaders(TypedDict, total=False):
1307
+ enabled: Required[bool]
1308
+ """Controls the option state.
1309
+
1310
+ Possible values:
1311
+
1312
+ - **true** - Option is enabled.
1313
+ - **false** - Option is disabled.
1314
+ """
1315
+
1316
+ value: Required[Dict[str, str]]
1317
+ """A MAP for static headers in a format of `header_name: header_value`.
1318
+
1319
+ Restrictions:
1320
+
1321
+ - **Header name** - Maximum 255 symbols, may contain Latin letters (A-Z, a-z),
1322
+ numbers (0-9), dashes, and underscores.
1323
+ - **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers
1324
+ (0-9), spaces, and symbols (`~!@#%%^&\\**()-\\__=+ /|\";:?.,><{}[]). Must start
1325
+ with a letter, number, asterisk or {.
1326
+ """
1327
+
1328
+
1329
+ class OptionsTlsVersions(TypedDict, total=False):
1330
+ enabled: Required[bool]
1331
+ """Controls the option state.
1332
+
1333
+ Possible values:
1334
+
1335
+ - **true** - Option is enabled.
1336
+ - **false** - Option is disabled.
1337
+ """
1338
+
1339
+ value: Required[List[Literal["SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3"]]]
1340
+ """List of SSL/TLS protocol versions (case sensitive)."""
1341
+
1342
+
1343
+ class OptionsUseDefaultLeChain(TypedDict, total=False):
1344
+ enabled: Required[bool]
1345
+ """Controls the option state.
1346
+
1347
+ Possible values:
1348
+
1349
+ - **true** - Option is enabled.
1350
+ - **false** - Option is disabled.
1351
+ """
1352
+
1353
+ value: Required[bool]
1354
+ """Possible values:
1355
+
1356
+ - **true** - Default Let's Encrypt certificate chain. This is a deprecated
1357
+ version, use it only for compatibilities with Android devices 7.1.1 or lower.
1358
+ - **false** - Alternative Let's Encrypt certificate chain.
1359
+ """
1360
+
1361
+
1362
+ class OptionsUseDns01LeChallenge(TypedDict, total=False):
1363
+ enabled: Required[bool]
1364
+ """Controls the option state.
1365
+
1366
+ Possible values:
1367
+
1368
+ - **true** - Option is enabled.
1369
+ - **false** - Option is disabled.
1370
+ """
1371
+
1372
+ value: Required[bool]
1373
+ """Possible values:
1374
+
1375
+ - **true** - DNS-01 challenge is used to issue Let's Encrypt certificate.
1376
+ - **false** - HTTP-01 challenge is used to issue Let's Encrypt certificate.
1377
+ """
1378
+
1379
+
1380
+ class OptionsUseRsaLeCert(TypedDict, total=False):
1381
+ enabled: Required[bool]
1382
+ """Controls the option state.
1383
+
1384
+ Possible values:
1385
+
1386
+ - **true** - Option is enabled.
1387
+ - **false** - Option is disabled.
1388
+ """
1389
+
1390
+ value: Required[bool]
1391
+ """Possible values:
1392
+
1393
+ - **true** - RSA Let's Encrypt certificate.
1394
+ - **false** - ECDSA Let's Encrypt certificate.
1395
+ """
1396
+
1397
+
1398
+ class OptionsUserAgentACL(TypedDict, total=False):
1399
+ enabled: Required[bool]
1400
+ """Controls the option state.
1401
+
1402
+ Possible values:
1403
+
1404
+ - **true** - Option is enabled.
1405
+ - **false** - Option is disabled.
1406
+ """
1407
+
1408
+ excepted_values: Required[SequenceNotStr[str]]
1409
+ """List of User-Agents that will be allowed/denied.
1410
+
1411
+ The meaning of the parameter depends on `policy_type`:
1412
+
1413
+ - **allow** - List of User-Agents for which access is prohibited.
1414
+ - **deny** - List of User-Agents for which access is allowed.
1415
+
1416
+ Use an empty string `""` to allow/deny access when the User-Agent header is
1417
+ empty.
1418
+ """
1419
+
1420
+ policy_type: Required[Literal["allow", "deny"]]
1421
+ """User-Agents policy type.
1422
+
1423
+ Possible values:
1424
+
1425
+ - **allow** - Allow access for all User-Agents except specified in
1426
+ `excepted_values` field.
1427
+ - **deny** - Deny access for all User-Agents except specified in
1428
+ `excepted_values` field.
1429
+ """
1430
+
1431
+
1432
+ class OptionsWaap(TypedDict, total=False):
1433
+ enabled: Required[bool]
1434
+ """Controls the option state.
1435
+
1436
+ Possible values:
1437
+
1438
+ - **true** - Option is enabled.
1439
+ - **false** - Option is disabled.
1440
+ """
1441
+
1442
+ value: Required[bool]
1443
+ """Possible values:
1444
+
1445
+ - **true** - Option is enabled.
1446
+ - **false** - Option is disabled.
1447
+ """
1448
+
1449
+
1450
+ class OptionsWebsockets(TypedDict, total=False):
1451
+ enabled: Required[bool]
1452
+ """Controls the option state.
1453
+
1454
+ Possible values:
1455
+
1456
+ - **true** - Option is enabled.
1457
+ - **false** - Option is disabled.
1458
+ """
1459
+
1460
+ value: Required[bool]
1461
+ """Possible values:
1462
+
1463
+ - **true** - Option is enabled.
1464
+ - **false** - Option is disabled.
1465
+ """
1466
+
1467
+
1468
+ class Options(TypedDict, total=False):
1469
+ allowed_http_methods: Annotated[Optional[OptionsAllowedHTTPMethods], PropertyInfo(alias="allowedHttpMethods")]
1470
+ """HTTP methods allowed for content requests from the CDN."""
1471
+
1472
+ bot_protection: Optional[OptionsBotProtection]
1473
+ """
1474
+ Allows to prevent online services from overloading and ensure your business
1475
+ workflow running smoothly.
1476
+ """
1477
+
1478
+ brotli_compression: Optional[OptionsBrotliCompression]
1479
+ """Compresses content with Brotli on the CDN side.
1480
+
1481
+ CDN servers will request only uncompressed content from the origin.
1482
+
1483
+ Notes:
1484
+
1485
+ 1. CDN only supports "Brotli compression" when the "origin shielding" feature is
1486
+ activated.
1487
+ 2. If a precache server is not active for a CDN resource, no compression occurs,
1488
+ even if the option is enabled.
1489
+ 3. `brotli_compression` is not supported with `fetch_compressed` or `slice`
1490
+ options enabled.
1491
+ 4. `fetch_compressed` option in CDN resource settings overrides
1492
+ `brotli_compression` in rules. If you enabled `fetch_compressed` in CDN
1493
+ resource and want to enable `brotli_compression` in a rule, you must specify
1494
+ `fetch_compressed:false` in the rule.
1495
+ """
1496
+
1497
+ browser_cache_settings: Optional[OptionsBrowserCacheSettings]
1498
+ """Cache expiration time for users browsers in seconds.
1499
+
1500
+ Cache expiration time is applied to the following response codes: 200, 201, 204,
1501
+ 206, 301, 302, 303, 304, 307, 308.
1502
+
1503
+ Responses with other codes will not be cached.
1504
+ """
1505
+
1506
+ cache_http_headers: Optional[OptionsCacheHTTPHeaders]
1507
+ """**Legacy option**. Use the `response_headers_hiding_policy` option instead.
1508
+
1509
+ HTTP Headers that must be included in the response.
1510
+ """
1511
+
1512
+ cors: Optional[OptionsCors]
1513
+ """Enables or disables CORS (Cross-Origin Resource Sharing) header support.
1514
+
1515
+ CORS header support allows the CDN to add the Access-Control-Allow-Origin header
1516
+ to a response to a browser.
1517
+ """
1518
+
1519
+ country_acl: Optional[OptionsCountryACL]
1520
+ """Enables control access to content for specified countries."""
1521
+
1522
+ disable_cache: Optional[OptionsDisableCache]
1523
+ """**Legacy option**. Use the `edge_cache_settings` option instead.
1524
+
1525
+ Allows the complete disabling of content caching.
1526
+ """
1527
+
1528
+ disable_proxy_force_ranges: Optional[OptionsDisableProxyForceRanges]
1529
+ """Allows 206 responses regardless of the settings of an origin source."""
1530
+
1531
+ edge_cache_settings: Optional[OptionsEdgeCacheSettings]
1532
+ """Cache expiration time for CDN servers.
1533
+
1534
+ `value` and `default` fields cannot be used simultaneously.
1535
+ """
1536
+
1537
+ fastedge: Optional[OptionsFastedge]
1538
+ """
1539
+ Allows to configure FastEdge app to be called on different request/response
1540
+ phases.
1541
+
1542
+ Note: At least one of `on_request_headers`, `on_request_body`,
1543
+ `on_response_headers`, or `on_response_body` must be specified.
1544
+ """
1545
+
1546
+ fetch_compressed: Optional[OptionsFetchCompressed]
1547
+ """Makes the CDN request compressed content from the origin.
1548
+
1549
+ The origin server should support compression. CDN servers will not decompress
1550
+ your content even if a user browser does not accept compression.
1551
+
1552
+ Notes:
1553
+
1554
+ 1. `fetch_compressed` is not supported with `gzipON` or `brotli_compression` or
1555
+ `slice` options enabled.
1556
+ 2. `fetch_compressed` overrides `gzipON` and `brotli_compression` in rule. If
1557
+ you enable it in CDN resource and want to use `gzipON` and
1558
+ `brotli_compression` in a rule, you have to specify
1559
+ `"`fetch_compressed`": false` in the rule.
1560
+ """
1561
+
1562
+ follow_origin_redirect: Optional[OptionsFollowOriginRedirect]
1563
+ """
1564
+ Enables redirection from origin. If the origin server returns a redirect, the
1565
+ option allows the CDN to pull the requested content from the origin server that
1566
+ was returned in the redirect.
1567
+ """
1568
+
1569
+ force_return: Optional[OptionsForceReturn]
1570
+ """Applies custom HTTP response codes for CDN content.
1571
+
1572
+ The following codes are reserved by our system and cannot be specified in this
1573
+ option: 408, 444, 477, 494, 495, 496, 497, 499.
1574
+ """
1575
+
1576
+ forward_host_header: Optional[OptionsForwardHostHeader]
1577
+ """Forwards the Host header from a end-user request to an origin server.
1578
+
1579
+ `hostHeader` and `forward_host_header` options cannot be enabled simultaneously.
1580
+ """
1581
+
1582
+ gzip_on: Annotated[Optional[OptionsGzipOn], PropertyInfo(alias="gzipOn")]
1583
+ """Compresses content with gzip on the CDN end.
1584
+
1585
+ CDN servers will request only uncompressed content from the origin.
1586
+
1587
+ Notes:
1588
+
1589
+ 1. Compression with gzip is not supported with `fetch_compressed` or `slice`
1590
+ options enabled.
1591
+ 2. `fetch_compressed` option in CDN resource settings overrides `gzipON` in
1592
+ rules. If you enable `fetch_compressed` in CDN resource and want to enable
1593
+ `gzipON` in rules, you need to specify `"`fetch_compressed`":false` for
1594
+ rules.
1595
+ """
1596
+
1597
+ host_header: Annotated[Optional[OptionsHostHeader], PropertyInfo(alias="hostHeader")]
1598
+ """
1599
+ Sets the Host header that CDN servers use when request content from an origin
1600
+ server. Your server must be able to process requests with the chosen header.
1601
+
1602
+ If the option is `null`, the Host Header value is equal to first CNAME.
1603
+
1604
+ `hostHeader` and `forward_host_header` options cannot be enabled simultaneously.
1605
+ """
1606
+
1607
+ http3_enabled: Optional[OptionsHttp3Enabled]
1608
+ """Enables HTTP/3 protocol for content delivery.
1609
+
1610
+ `http3_enabled` option works only with `"sslEnabled": true`.
1611
+ """
1612
+
1613
+ ignore_cookie: Optional[OptionsIgnoreCookie]
1614
+ """
1615
+ Defines whether the files with the Set-Cookies header are cached as one file or
1616
+ as different ones.
1617
+ """
1618
+
1619
+ ignore_query_string: Annotated[Optional[OptionsIgnoreQueryString], PropertyInfo(alias="ignoreQueryString")]
1620
+ """
1621
+ How a file with different query strings is cached: either as one object (option
1622
+ is enabled) or as different objects (option is disabled.)
1623
+
1624
+ `ignoreQueryString`, `query_params_whitelist` and `query_params_blacklist`
1625
+ options cannot be enabled simultaneously.
1626
+ """
1627
+
1628
+ image_stack: Optional[OptionsImageStack]
1629
+ """
1630
+ Transforms JPG and PNG images (for example, resize or crop) and automatically
1631
+ converts them to WebP or AVIF format.
1632
+ """
1633
+
1634
+ ip_address_acl: Optional[OptionsIPAddressACL]
1635
+ """Controls access to the CDN resource content for specific IP addresses.
1636
+
1637
+ If you want to use IPs from our CDN servers IP list for IP ACL configuration,
1638
+ you have to independently monitor their relevance. We recommend you use a script
1639
+ for automatically update IP ACL.
1640
+ [Read more.](/docs/api-reference/cdn/ip-addresses-list/get-cdn-servers-ip-addresses)
1641
+ """
1642
+
1643
+ limit_bandwidth: Optional[OptionsLimitBandwidth]
1644
+ """Allows to control the download speed per connection."""
1645
+
1646
+ proxy_cache_key: Optional[OptionsProxyCacheKey]
1647
+ """Allows you to modify your cache key.
1648
+
1649
+ If omitted, the default value is `$request_uri`.
1650
+
1651
+ Combine the specified variables to create a key for caching.
1652
+
1653
+ - **$`request_uri`**
1654
+ - **$scheme**
1655
+ - **$uri**
1656
+
1657
+ **Warning**: Enabling and changing this option can invalidate your current cache
1658
+ and affect the cache hit ratio. Furthermore, the "Purge by pattern" option will
1659
+ not work.
1660
+ """
1661
+
1662
+ proxy_cache_methods_set: Optional[OptionsProxyCacheMethodsSet]
1663
+ """Caching for POST requests along with default GET and HEAD."""
1664
+
1665
+ proxy_connect_timeout: Optional[OptionsProxyConnectTimeout]
1666
+ """The time limit for establishing a connection with the origin."""
1667
+
1668
+ proxy_read_timeout: Optional[OptionsProxyReadTimeout]
1669
+ """
1670
+ The time limit for receiving a partial response from the origin. If no response
1671
+ is received within this time, the connection will be closed.
1672
+
1673
+ **Note:** When used with a WebSocket connection, this option supports values
1674
+ only in the range 1–20 seconds (instead of the usual 1–30 seconds).
1675
+ """
1676
+
1677
+ query_params_blacklist: Optional[OptionsQueryParamsBlacklist]
1678
+ """
1679
+ Files with the specified query parameters are cached as one object, files with
1680
+ other parameters are cached as different objects.
1681
+
1682
+ `ignoreQueryString`, `query_params_whitelist` and `query_params_blacklist`
1683
+ options cannot be enabled simultaneously.
1684
+ """
1685
+
1686
+ query_params_whitelist: Optional[OptionsQueryParamsWhitelist]
1687
+ """
1688
+ Files with the specified query parameters are cached as different objects, files
1689
+ with other parameters are cached as one object.
1690
+
1691
+ `ignoreQueryString`, `query_params_whitelist` and `query_params_blacklist`
1692
+ options cannot be enabled simultaneously.
1693
+ """
1694
+
1695
+ query_string_forwarding: Optional[OptionsQueryStringForwarding]
1696
+ """
1697
+ The Query String Forwarding feature allows for the seamless transfer of
1698
+ parameters embedded in playlist files to the corresponding media chunk files.
1699
+ This functionality ensures that specific attributes, such as authentication
1700
+ tokens or tracking information, are consistently passed along from the playlist
1701
+ manifest to the individual media segments. This is particularly useful for
1702
+ maintaining continuity in security, analytics, and any other parameter-based
1703
+ operations across the entire media delivery workflow.
1704
+ """
1705
+
1706
+ redirect_http_to_https: Optional[OptionsRedirectHTTPToHTTPS]
1707
+ """Enables redirect from HTTP to HTTPS.
1708
+
1709
+ `redirect_http_to_https` and `redirect_https_to_http` options cannot be enabled
1710
+ simultaneously.
1711
+ """
1712
+
1713
+ redirect_https_to_http: Optional[OptionsRedirectHTTPSToHTTP]
1714
+ """Enables redirect from HTTPS to HTTP.
1715
+
1716
+ `redirect_http_to_https` and `redirect_https_to_http` options cannot be enabled
1717
+ simultaneously.
1718
+ """
1719
+
1720
+ referrer_acl: Optional[OptionsReferrerACL]
1721
+ """Controls access to the CDN resource content for specified domain names."""
1722
+
1723
+ request_limiter: Optional[OptionsRequestLimiter]
1724
+ """Option allows to limit the amount of HTTP requests."""
1725
+
1726
+ response_headers_hiding_policy: Optional[OptionsResponseHeadersHidingPolicy]
1727
+ """Hides HTTP headers from an origin server in the CDN response."""
1728
+
1729
+ rewrite: Optional[OptionsRewrite]
1730
+ """Changes and redirects requests from the CDN to the origin.
1731
+
1732
+ It operates according to the
1733
+ [Nginx](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite)
1734
+ configuration.
1735
+ """
1736
+
1737
+ secure_key: Optional[OptionsSecureKey]
1738
+ """Configures access with tokenized URLs.
1739
+
1740
+ This makes impossible to access content without a valid (unexpired) token.
1741
+ """
1742
+
1743
+ slice: Optional[OptionsSlice]
1744
+ """
1745
+ Requests and caches files larger than 10 MB in parts (no larger than 10 MB per
1746
+ part.) This reduces time to first byte.
1747
+
1748
+ The option is based on the
1749
+ [Slice](https://nginx.org/en/docs/http/ngx_http_slice_module.html) module.
1750
+
1751
+ Notes:
1752
+
1753
+ 1. Origin must support HTTP Range requests.
1754
+ 2. Not supported with `gzipON`, `brotli_compression` or `fetch_compressed`
1755
+ options enabled.
1756
+ """
1757
+
1758
+ sni: Optional[OptionsSni]
1759
+ """
1760
+ The hostname that is added to SNI requests from CDN servers to the origin server
1761
+ via HTTPS.
1762
+
1763
+ SNI is generally only required if your origin uses shared hosting or does not
1764
+ have a dedicated IP address. If the origin server presents multiple
1765
+ certificates, SNI allows the origin server to know which certificate to use for
1766
+ the connection.
1767
+
1768
+ The option works only if `originProtocol` parameter is `HTTPS` or `MATCH`.
1769
+ """
1770
+
1771
+ stale: Optional[OptionsStale]
1772
+ """Serves stale cached content in case of origin unavailability."""
1773
+
1774
+ static_response_headers: Optional[OptionsStaticResponseHeaders]
1775
+ """Custom HTTP Headers that a CDN server adds to a response."""
1776
+
1777
+ static_headers: Annotated[Optional[OptionsStaticHeaders], PropertyInfo(alias="staticHeaders")]
1778
+ """**Legacy option**. Use the `static_response_headers` option instead.
1779
+
1780
+ Custom HTTP Headers that a CDN server adds to response. Up to fifty custom HTTP
1781
+ Headers can be specified. May contain a header with multiple values.
1782
+ """
1783
+
1784
+ static_request_headers: Annotated[Optional[OptionsStaticRequestHeaders], PropertyInfo(alias="staticRequestHeaders")]
1785
+ """Custom HTTP Headers for a CDN server to add to request.
1786
+
1787
+ Up to fifty custom HTTP Headers can be specified.
1788
+ """
1789
+
1790
+ tls_versions: Optional[OptionsTlsVersions]
1791
+ """
1792
+ List of SSL/TLS protocol versions allowed for HTTPS connections from end users
1793
+ to the domain.
1794
+
1795
+ When the option is disabled, all protocols versions are allowed.
1796
+ """
1797
+
1798
+ use_default_le_chain: Optional[OptionsUseDefaultLeChain]
1799
+ """Let's Encrypt certificate chain.
1800
+
1801
+ The specified chain will be used during the next Let's Encrypt certificate issue
1802
+ or renewal.
1803
+ """
1804
+
1805
+ use_dns01_le_challenge: Optional[OptionsUseDns01LeChallenge]
1806
+ """DNS-01 challenge to issue a Let's Encrypt certificate for the resource.
1807
+
1808
+ DNS service should be activated to enable this option.
1809
+ """
1810
+
1811
+ use_rsa_le_cert: Optional[OptionsUseRsaLeCert]
1812
+ """RSA Let's Encrypt certificate type for the CDN resource.
1813
+
1814
+ The specified value will be used during the next Let's Encrypt certificate issue
1815
+ or renewal.
1816
+ """
1817
+
1818
+ user_agent_acl: Optional[OptionsUserAgentACL]
1819
+ """Controls access to the content for specified User-Agents."""
1820
+
1821
+ waap: Optional[OptionsWaap]
1822
+ """Allows to enable WAAP (Web Application and API Protection)."""
1823
+
1824
+ websockets: Optional[OptionsWebsockets]
1825
+ """Enables or disables WebSockets connections to an origin server."""