gcore 0.13.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 (334) 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 +101 -59
  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 +245 -187
  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 +65 -33
  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 +1 -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_update_params.py +3 -1
  268. gcore/types/cloud/gpu_baremetal_cluster_action_params.py +46 -0
  269. gcore/types/cloud/inference/inference_deployment.py +3 -1
  270. gcore/types/cloud/instance_create_params.py +3 -1
  271. gcore/types/cloud/k8s/cluster_create_params.py +46 -4
  272. gcore/types/cloud/k8s/cluster_update_params.py +60 -6
  273. gcore/types/cloud/k8s/clusters/pool_update_params.py +1 -1
  274. gcore/types/cloud/k8s/k8s_cluster.py +40 -3
  275. gcore/types/cloud/load_balancer_update_params.py +3 -1
  276. gcore/types/cloud/network_update_params.py +3 -1
  277. gcore/types/cloud/networks/subnet_update_params.py +3 -1
  278. gcore/types/cloud/registries/user_create_multiple_params.py +5 -3
  279. gcore/types/cloud/registries/user_create_params.py +5 -3
  280. gcore/types/cloud/registry_create_params.py +5 -3
  281. gcore/types/cloud/security_group_update_params.py +3 -1
  282. gcore/types/cloud/ssh_key_created.py +6 -3
  283. gcore/types/cloud/volume_update_params.py +3 -1
  284. gcore/types/dns/zone_get_statistics_params.py +12 -9
  285. gcore/types/dns/zone_get_statistics_response.py +3 -1
  286. gcore/types/dns/zone_import_params.py +21 -15
  287. gcore/types/dns/zones/dns_output_rrset.py +7 -3
  288. gcore/types/iam/account_overview.py +7 -2
  289. gcore/types/iam/user.py +7 -2
  290. gcore/types/iam/user_detailed.py +7 -2
  291. gcore/types/iam/user_invite_params.py +4 -1
  292. gcore/types/iam/user_update.py +7 -2
  293. gcore/types/iam/user_update_params.py +7 -2
  294. gcore/types/streaming/ai_contentmoderation_hardnudity.py +6 -4
  295. gcore/types/streaming/ai_contentmoderation_nsfw.py +6 -4
  296. gcore/types/streaming/ai_contentmoderation_softnudity.py +6 -4
  297. gcore/types/streaming/ai_contentmoderation_sport.py +6 -4
  298. gcore/types/streaming/ai_task.py +20 -11
  299. gcore/types/streaming/ai_task_create_params.py +20 -11
  300. gcore/types/streaming/ai_task_get_response.py +5 -4
  301. gcore/types/streaming/ai_task_list_params.py +11 -5
  302. gcore/types/streaming/clip.py +33 -22
  303. gcore/types/streaming/create_video_param.py +75 -43
  304. gcore/types/streaming/playlist.py +7 -5
  305. gcore/types/streaming/playlist_create_params.py +7 -5
  306. gcore/types/streaming/playlist_update_params.py +7 -5
  307. gcore/types/streaming/playlist_video.py +75 -43
  308. gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +7 -4
  309. gcore/types/streaming/stream.py +207 -136
  310. gcore/types/streaming/stream_create_clip_params.py +33 -22
  311. gcore/types/streaming/stream_create_params.py +41 -24
  312. gcore/types/streaming/stream_update_params.py +41 -24
  313. gcore/types/streaming/video.py +138 -76
  314. gcore/types/streaming/video_list_params.py +4 -2
  315. gcore/types/streaming/video_update_params.py +75 -43
  316. gcore/types/waap/domain_update_params.py +2 -2
  317. gcore/types/waap/domains/advanced_rule_create_params.py +26 -18
  318. gcore/types/waap/domains/advanced_rule_list_params.py +10 -7
  319. gcore/types/waap/domains/advanced_rule_update_params.py +22 -17
  320. gcore/types/waap/domains/api_path_create_params.py +0 -3
  321. gcore/types/waap/domains/api_path_update_params.py +1 -3
  322. gcore/types/waap/domains/custom_rule_create_params.py +36 -35
  323. gcore/types/waap/domains/custom_rule_update_params.py +31 -33
  324. gcore/types/waap/domains/firewall_rule_create_params.py +6 -6
  325. gcore/types/waap/domains/firewall_rule_update_params.py +5 -5
  326. gcore/types/waap/domains/waap_advanced_rule.py +17 -9
  327. gcore/types/waap/domains/waap_custom_rule.py +5 -2
  328. gcore/types/waap/domains/waap_firewall_rule.py +1 -1
  329. gcore/types/waap/domains/waap_insight.py +1 -1
  330. gcore/types/waap/insight_list_types_params.py +1 -1
  331. {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/METADATA +1 -1
  332. {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/RECORD +334 -214
  333. {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/WHEEL +0 -0
  334. {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/licenses/LICENSE +0 -0
@@ -39,7 +39,7 @@ class CustomRuleUpdateParams(TypedDict, total=False):
39
39
  """The domain ID"""
40
40
 
41
41
  action: Optional[Action]
42
- """The action that a WAAP rule takes when triggered"""
42
+ """The action that a WAAP rule takes when triggered."""
43
43
 
44
44
  conditions: Optional[Iterable[Condition]]
45
45
  """The conditions required for the WAAP engine to trigger the rule.
@@ -59,7 +59,7 @@ class CustomRuleUpdateParams(TypedDict, total=False):
59
59
 
60
60
 
61
61
  class ActionBlock(TypedDict, total=False):
62
- action_duration: Optional[str]
62
+ action_duration: str
63
63
  """How long a rule's block action will apply to subsequent requests.
64
64
 
65
65
  Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
@@ -67,8 +67,8 @@ class ActionBlock(TypedDict, total=False):
67
67
  intervals are not allowed.
68
68
  """
69
69
 
70
- status_code: Optional[Literal[403, 405, 418, 429]]
71
- """Designates the HTTP status code to deliver when a request is blocked."""
70
+ status_code: Literal[403, 405, 418, 429]
71
+ """A custom HTTP status code that the WAAP returns if a rule blocks a request"""
72
72
 
73
73
 
74
74
  class ActionTag(TypedDict, total=False):
@@ -77,25 +77,25 @@ class ActionTag(TypedDict, total=False):
77
77
 
78
78
 
79
79
  class Action(TypedDict, total=False):
80
- allow: Optional[object]
80
+ allow: object
81
81
  """The WAAP allowed the request"""
82
82
 
83
- block: Optional[ActionBlock]
83
+ block: ActionBlock
84
84
  """
85
85
  WAAP block action behavior could be configured with response status code and
86
86
  action duration.
87
87
  """
88
88
 
89
- captcha: Optional[object]
89
+ captcha: object
90
90
  """The WAAP presented the user with a captcha"""
91
91
 
92
- handshake: Optional[object]
92
+ handshake: object
93
93
  """The WAAP performed automatic browser validation"""
94
94
 
95
- monitor: Optional[object]
95
+ monitor: object
96
96
  """The WAAP monitored the request but took no action"""
97
97
 
98
- tag: Optional[ActionTag]
98
+ tag: ActionTag
99
99
  """WAAP tag action gets a list of tags to tag the request scope with"""
100
100
 
101
101
 
@@ -221,15 +221,13 @@ class ConditionRequestRate(TypedDict, total=False):
221
221
  triggering a request rate condition
222
222
  """
223
223
 
224
- http_methods: Optional[
225
- List[Literal["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"]]
226
- ]
224
+ http_methods: List[Literal["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"]]
227
225
  """Possible HTTP request methods that can trigger a request rate condition"""
228
226
 
229
- ips: Optional[SequenceNotStr[str]]
227
+ ips: SequenceNotStr[str]
230
228
  """A list of source IPs that can trigger a request rate condition"""
231
229
 
232
- user_defined_tag: Optional[str]
230
+ user_defined_tag: str
233
231
  """
234
232
  A user-defined tag that can be included in incoming requests and used to trigger
235
233
  a request rate condition
@@ -313,62 +311,62 @@ class ConditionUserDefinedTags(TypedDict, total=False):
313
311
 
314
312
 
315
313
  class Condition(TypedDict, total=False):
316
- content_type: Optional[ConditionContentType]
314
+ content_type: ConditionContentType
317
315
  """Match the requested Content-Type"""
318
316
 
319
- country: Optional[ConditionCountry]
317
+ country: ConditionCountry
320
318
  """Match the country that the request originated from"""
321
319
 
322
- file_extension: Optional[ConditionFileExtension]
320
+ file_extension: ConditionFileExtension
323
321
  """Match the incoming file extension"""
324
322
 
325
- header: Optional[ConditionHeader]
323
+ header: ConditionHeader
326
324
  """Match an incoming request header"""
327
325
 
328
- header_exists: Optional[ConditionHeaderExists]
326
+ header_exists: ConditionHeaderExists
329
327
  """Match when an incoming request header is present"""
330
328
 
331
- http_method: Optional[ConditionHTTPMethod]
329
+ http_method: ConditionHTTPMethod
332
330
  """Match the incoming HTTP method"""
333
331
 
334
- ip: Optional[ConditionIP]
332
+ ip: ConditionIP
335
333
  """Match the incoming request against a single IP address"""
336
334
 
337
- ip_range: Optional[ConditionIPRange]
335
+ ip_range: ConditionIPRange
338
336
  """Match the incoming request against an IP range"""
339
337
 
340
- organization: Optional[ConditionOrganization]
338
+ organization: ConditionOrganization
341
339
  """
342
340
  Match the organization the request originated from, as determined by a WHOIS
343
341
  lookup of the requesting IP
344
342
  """
345
343
 
346
- owner_types: Optional[ConditionOwnerTypes]
344
+ owner_types: ConditionOwnerTypes
347
345
  """
348
346
  Match the type of organization that owns the IP address making an incoming
349
347
  request
350
348
  """
351
349
 
352
- request_rate: Optional[ConditionRequestRate]
350
+ request_rate: ConditionRequestRate
353
351
  """Match the rate at which requests come in that match certain conditions"""
354
352
 
355
- response_header: Optional[ConditionResponseHeader]
353
+ response_header: ConditionResponseHeader
356
354
  """Match a response header"""
357
355
 
358
- response_header_exists: Optional[ConditionResponseHeaderExists]
356
+ response_header_exists: ConditionResponseHeaderExists
359
357
  """Match when a response header is present"""
360
358
 
361
- session_request_count: Optional[ConditionSessionRequestCount]
359
+ session_request_count: ConditionSessionRequestCount
362
360
  """Match the number of dynamic page requests made in a WAAP session"""
363
361
 
364
- tags: Optional[ConditionTags]
362
+ tags: ConditionTags
365
363
  """Matches requests based on specified tags"""
366
364
 
367
- url: Optional[ConditionURL]
365
+ url: ConditionURL
368
366
  """Match the incoming request URL"""
369
367
 
370
- user_agent: Optional[ConditionUserAgent]
368
+ user_agent: ConditionUserAgent
371
369
  """Match the user agent making the request"""
372
370
 
373
- user_defined_tags: Optional[ConditionUserDefinedTags]
371
+ user_defined_tags: ConditionUserDefinedTags
374
372
  """Matches requests based on user-defined tags"""
@@ -21,12 +21,12 @@ class FirewallRuleCreateParams(TypedDict, total=False):
21
21
  name: Required[str]
22
22
  """The name assigned to the rule"""
23
23
 
24
- description: Optional[str]
24
+ description: str
25
25
  """The description assigned to the rule"""
26
26
 
27
27
 
28
28
  class ActionBlock(TypedDict, total=False):
29
- action_duration: Optional[str]
29
+ action_duration: str
30
30
  """How long a rule's block action will apply to subsequent requests.
31
31
 
32
32
  Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
@@ -34,8 +34,8 @@ class ActionBlock(TypedDict, total=False):
34
34
  intervals are not allowed.
35
35
  """
36
36
 
37
- status_code: Optional[Literal[403, 405, 418, 429]]
38
- """Designates the HTTP status code to deliver when a request is blocked."""
37
+ status_code: Literal[403, 405, 418, 429]
38
+ """A custom HTTP status code that the WAAP returns if a rule blocks a request"""
39
39
 
40
40
 
41
41
  class Action(TypedDict, total=False):
@@ -69,8 +69,8 @@ class ConditionIPRange(TypedDict, total=False):
69
69
 
70
70
 
71
71
  class Condition(TypedDict, total=False):
72
- ip: Optional[ConditionIP]
72
+ ip: ConditionIP
73
73
  """Match the incoming request against a single IP address"""
74
74
 
75
- ip_range: Optional[ConditionIPRange]
75
+ ip_range: ConditionIPRange
76
76
  """Match the incoming request against an IP range"""
@@ -29,7 +29,7 @@ class FirewallRuleUpdateParams(TypedDict, total=False):
29
29
 
30
30
 
31
31
  class ActionBlock(TypedDict, total=False):
32
- action_duration: Optional[str]
32
+ action_duration: str
33
33
  """How long a rule's block action will apply to subsequent requests.
34
34
 
35
35
  Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
@@ -37,8 +37,8 @@ class ActionBlock(TypedDict, total=False):
37
37
  intervals are not allowed.
38
38
  """
39
39
 
40
- status_code: Optional[Literal[403, 405, 418, 429]]
41
- """Designates the HTTP status code to deliver when a request is blocked."""
40
+ status_code: Literal[403, 405, 418, 429]
41
+ """A custom HTTP status code that the WAAP returns if a rule blocks a request"""
42
42
 
43
43
 
44
44
  class Action(TypedDict, total=False):
@@ -72,8 +72,8 @@ class ConditionIPRange(TypedDict, total=False):
72
72
 
73
73
 
74
74
  class Condition(TypedDict, total=False):
75
- ip: Optional[ConditionIP]
75
+ ip: ConditionIP
76
76
  """Match the incoming request against a single IP address"""
77
77
 
78
- ip_range: Optional[ConditionIPRange]
78
+ ip_range: ConditionIPRange
79
79
  """Match the incoming request against an IP range"""
@@ -18,7 +18,7 @@ class ActionBlock(BaseModel):
18
18
  """
19
19
 
20
20
  status_code: Optional[Literal[403, 405, 418, 429]] = None
21
- """Designates the HTTP status code to deliver when a request is blocked."""
21
+ """A custom HTTP status code that the WAAP returns if a rule blocks a request"""
22
22
 
23
23
 
24
24
  class ActionTag(BaseModel):
@@ -54,7 +54,10 @@ class WaapAdvancedRule(BaseModel):
54
54
  """The unique identifier for the rule"""
55
55
 
56
56
  action: Action
57
- """The action that the rule takes when triggered"""
57
+ """The action that the rule takes when triggered.
58
+
59
+ Only one action can be set per rule.
60
+ """
58
61
 
59
62
  enabled: bool
60
63
  """Whether or not the rule is enabled"""
@@ -66,7 +69,9 @@ class WaapAdvancedRule(BaseModel):
66
69
  """A CEL syntax expression that contains the rule's conditions.
67
70
 
68
71
  Allowed objects are: request, whois, session, response, tags,
69
- `user_defined_tags`, `user_agent`, `client_data`. More info can be found here:
72
+ `user_defined_tags`, `user_agent`, `client_data`.
73
+
74
+ More info can be found here:
70
75
  https://gcore.com/docs/waap/waap-rules/advanced-rules
71
76
  """
72
77
 
@@ -74,11 +79,14 @@ class WaapAdvancedRule(BaseModel):
74
79
  """The description assigned to the rule"""
75
80
 
76
81
  phase: Optional[Literal["access", "header_filter", "body_filter"]] = None
77
- """The WAAP request/response phase for applying the rule.
82
+ """The WAAP request/response phase for applying the rule. Default is "access".
83
+
84
+ The "access" phase is responsible for modifying the request before it is sent to
85
+ the origin server.
86
+
87
+ The "`header_filter`" phase is responsible for modifying the HTTP headers of a
88
+ response before they are sent back to the client.
78
89
 
79
- Default is "access". The "access" phase is responsible for modifying the request
80
- before it is sent to the origin server. The "`header_filter`" phase is
81
- responsible for modifying the HTTP headers of a response before they are sent
82
- back to the client. The "`body_filter`" phase is responsible for modifying the
83
- body of a response before it is sent back to the client.
90
+ The "`body_filter`" phase is responsible for modifying the body of a response
91
+ before it is sent back to the client.
84
92
  """
@@ -42,7 +42,7 @@ class ActionBlock(BaseModel):
42
42
  """
43
43
 
44
44
  status_code: Optional[Literal[403, 405, 418, 429]] = None
45
- """Designates the HTTP status code to deliver when a request is blocked."""
45
+ """A custom HTTP status code that the WAAP returns if a rule blocks a request"""
46
46
 
47
47
 
48
48
  class ActionTag(BaseModel):
@@ -355,7 +355,10 @@ class WaapCustomRule(BaseModel):
355
355
  """The unique identifier for the rule"""
356
356
 
357
357
  action: Action
358
- """The action that the rule takes when triggered"""
358
+ """The action that the rule takes when triggered.
359
+
360
+ Only one action can be set per rule.
361
+ """
359
362
 
360
363
  conditions: List[Condition]
361
364
  """The conditions required for the WAAP engine to trigger the rule.
@@ -18,7 +18,7 @@ class ActionBlock(BaseModel):
18
18
  """
19
19
 
20
20
  status_code: Optional[Literal[403, 405, 418, 429]] = None
21
- """Designates the HTTP status code to deliver when a request is blocked."""
21
+ """A custom HTTP status code that the WAAP returns if a rule blocks a request"""
22
22
 
23
23
 
24
24
  class Action(BaseModel):
@@ -20,7 +20,7 @@ class WaapInsight(BaseModel):
20
20
  """The date and time the insight was first seen in ISO 8601 format"""
21
21
 
22
22
  insight_type: str
23
- """The type of the insight represented as a slug"""
23
+ """The slug of the insight type"""
24
24
 
25
25
  labels: Dict[str, str]
26
26
  """A hash table of label names and values that apply to the insight"""
@@ -25,4 +25,4 @@ class InsightListTypesParams(TypedDict, total=False):
25
25
  """Sort the response by given field."""
26
26
 
27
27
  slug: Optional[str]
28
- """Filter by the slug of the insight type"""
28
+ """The slug of the insight type"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: gcore
3
- Version: 0.13.0
3
+ Version: 0.14.0
4
4
  Summary: The official Python library for the gcore API
5
5
  Project-URL: Homepage, https://github.com/G-Core/gcore-python
6
6
  Project-URL: Repository, https://github.com/G-Core/gcore-python