gcore 0.9.0__py3-none-any.whl → 0.11.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 (420) hide show
  1. gcore/_base_client.py +3 -3
  2. gcore/_client.py +18 -0
  3. gcore/_compat.py +48 -48
  4. gcore/_models.py +41 -41
  5. gcore/_types.py +35 -1
  6. gcore/_utils/__init__.py +9 -2
  7. gcore/_utils/_compat.py +45 -0
  8. gcore/_utils/_datetime_parse.py +136 -0
  9. gcore/_utils/_transform.py +11 -1
  10. gcore/_utils/_typing.py +6 -1
  11. gcore/_utils/_utils.py +0 -1
  12. gcore/_version.py +1 -1
  13. gcore/resources/__init__.py +28 -0
  14. gcore/resources/cloud/__init__.py +14 -0
  15. gcore/resources/cloud/audit_logs.py +3 -3
  16. gcore/resources/cloud/baremetal/images.py +3 -4
  17. gcore/resources/cloud/baremetal/servers.py +16 -4
  18. gcore/resources/cloud/cloud.py +32 -0
  19. gcore/resources/cloud/cost_reports.py +24 -16
  20. gcore/resources/cloud/file_shares/access_rules.py +2 -2
  21. gcore/resources/cloud/file_shares/file_shares.py +30 -14
  22. gcore/resources/cloud/floating_ips.py +196 -4
  23. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +1 -1
  24. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +166 -190
  25. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +268 -12
  26. gcore/resources/cloud/inference/__init__.py +14 -14
  27. gcore/resources/cloud/inference/applications/__init__.py +47 -0
  28. gcore/resources/cloud/inference/applications/applications.py +134 -0
  29. gcore/resources/cloud/inference/applications/deployments.py +649 -0
  30. gcore/resources/cloud/inference/applications/templates.py +238 -0
  31. gcore/resources/cloud/inference/deployments/deployments.py +41 -22
  32. gcore/resources/cloud/inference/inference.py +32 -32
  33. gcore/resources/cloud/inference/registry_credentials.py +8 -9
  34. gcore/resources/cloud/instances/images.py +4 -4
  35. gcore/resources/cloud/instances/instances.py +254 -4
  36. gcore/resources/cloud/instances/interfaces.py +544 -0
  37. gcore/resources/cloud/k8s/__init__.py +47 -0
  38. gcore/resources/cloud/k8s/clusters/__init__.py +47 -0
  39. gcore/resources/cloud/k8s/clusters/clusters.py +1391 -0
  40. gcore/resources/cloud/k8s/clusters/nodes.py +291 -0
  41. gcore/resources/cloud/k8s/clusters/pools/__init__.py +33 -0
  42. gcore/resources/cloud/k8s/clusters/pools/nodes.py +303 -0
  43. gcore/resources/cloud/k8s/clusters/pools/pools.py +870 -0
  44. gcore/resources/cloud/k8s/flavors.py +209 -0
  45. gcore/resources/cloud/k8s/k8s.py +233 -0
  46. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +11 -12
  47. gcore/resources/cloud/load_balancers/l7_policies/rules.py +9 -10
  48. gcore/resources/cloud/load_balancers/listeners.py +18 -18
  49. gcore/resources/cloud/load_balancers/load_balancers.py +4 -4
  50. gcore/resources/cloud/load_balancers/pools/health_monitors.py +26 -10
  51. gcore/resources/cloud/load_balancers/pools/members.py +34 -4
  52. gcore/resources/cloud/load_balancers/pools/pools.py +32 -8
  53. gcore/resources/cloud/networks/networks.py +192 -4
  54. gcore/resources/cloud/networks/subnets.py +140 -8
  55. gcore/resources/cloud/reserved_fixed_ips/vip.py +5 -7
  56. gcore/resources/cloud/security_groups/security_groups.py +6 -6
  57. gcore/resources/cloud/tasks.py +46 -46
  58. gcore/resources/cloud/users/role_assignments.py +5 -4
  59. gcore/resources/cloud/volumes.py +4 -4
  60. gcore/resources/dns/__init__.py +75 -0
  61. gcore/resources/dns/dns.py +374 -0
  62. gcore/resources/dns/locations.py +288 -0
  63. gcore/resources/dns/metrics.py +214 -0
  64. gcore/resources/dns/pickers/__init__.py +33 -0
  65. gcore/resources/dns/pickers/pickers.py +167 -0
  66. gcore/resources/dns/pickers/presets.py +135 -0
  67. gcore/resources/dns/zones/__init__.py +47 -0
  68. gcore/resources/{cloud/inference/models.py → dns/zones/dnssec.py} +80 -122
  69. gcore/resources/dns/zones/rrsets.py +1005 -0
  70. gcore/resources/dns/zones/zones.py +1493 -0
  71. gcore/resources/security/bgp_announces.py +15 -15
  72. gcore/resources/storage/__init__.py +75 -0
  73. gcore/resources/storage/buckets/__init__.py +61 -0
  74. gcore/resources/storage/buckets/buckets.py +470 -0
  75. gcore/resources/storage/buckets/cors.py +265 -0
  76. gcore/resources/storage/buckets/lifecycle.py +276 -0
  77. gcore/resources/storage/buckets/policy.py +345 -0
  78. gcore/resources/storage/credentials.py +221 -0
  79. gcore/resources/storage/locations.py +190 -0
  80. gcore/resources/storage/statistics.py +364 -0
  81. gcore/resources/storage/storage.py +1042 -0
  82. gcore/resources/streaming/ai_tasks.py +56 -70
  83. gcore/resources/streaming/playlists.py +18 -18
  84. gcore/resources/streaming/quality_sets.py +8 -8
  85. gcore/resources/streaming/statistics.py +4 -122
  86. gcore/resources/streaming/streams/overlays.py +6 -6
  87. gcore/resources/streaming/streams/streams.py +40 -64
  88. gcore/resources/streaming/videos/subtitles.py +32 -30
  89. gcore/resources/streaming/videos/videos.py +78 -72
  90. gcore/resources/waap/__init__.py +14 -0
  91. gcore/resources/waap/custom_page_sets.py +40 -34
  92. gcore/resources/waap/domains/__init__.py +14 -28
  93. gcore/resources/waap/domains/advanced_rules.py +7 -10
  94. gcore/resources/waap/domains/{api_discovery/api_discovery.py → api_discovery.py} +292 -59
  95. gcore/resources/waap/domains/api_path_groups.py +5 -5
  96. gcore/resources/waap/domains/api_paths.py +28 -30
  97. gcore/resources/waap/domains/custom_rules.py +7 -10
  98. gcore/resources/waap/domains/domains.py +124 -68
  99. gcore/resources/waap/domains/firewall_rules.py +5 -7
  100. gcore/resources/waap/domains/insight_silences.py +34 -11
  101. gcore/resources/waap/domains/insights.py +43 -17
  102. gcore/resources/waap/domains/statistics.py +977 -0
  103. gcore/resources/waap/insights.py +233 -0
  104. gcore/resources/waap/ip_info/__init__.py +33 -0
  105. gcore/resources/waap/{ip_info.py → ip_info/ip_info.py} +149 -235
  106. gcore/resources/waap/ip_info/metrics.py +203 -0
  107. gcore/resources/waap/waap.py +40 -8
  108. gcore/types/cloud/__init__.py +2 -4
  109. gcore/types/cloud/audit_log_list_params.py +2 -1
  110. gcore/types/cloud/baremetal/image_list_params.py +3 -2
  111. gcore/types/cloud/baremetal/server_create_params.py +8 -6
  112. gcore/types/cloud/baremetal/server_list_params.py +3 -2
  113. gcore/types/cloud/baremetal/server_rebuild_params.py +2 -0
  114. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +35 -31
  115. gcore/types/cloud/cost_report_get_aggregated_params.py +26 -25
  116. gcore/types/cloud/cost_report_get_detailed_params.py +26 -25
  117. gcore/types/cloud/ddos_profile.py +13 -7
  118. gcore/types/cloud/ddos_profile_field.py +21 -8
  119. gcore/types/cloud/ddos_profile_option_list.py +7 -6
  120. gcore/types/cloud/ddos_profile_status.py +2 -2
  121. gcore/types/cloud/ddos_profile_template.py +7 -3
  122. gcore/types/cloud/ddos_profile_template_field.py +12 -3
  123. gcore/types/cloud/file_share.py +2 -2
  124. gcore/types/cloud/file_share_create_params.py +12 -6
  125. gcore/types/cloud/floating_ip_list_params.py +3 -2
  126. gcore/types/cloud/gpu_baremetal_cluster.py +101 -74
  127. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +76 -93
  128. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +17 -10
  129. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +14 -3
  130. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +4 -2
  131. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +6 -0
  132. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +74 -0
  133. gcore/types/cloud/{gpu_baremetal_cluster_server.py → gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1.py} +10 -10
  134. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1_list.py +16 -0
  135. gcore/types/cloud/{gpu_baremetal_flavor.py → gpu_baremetal_clusters/gpu_baremetal_flavor.py} +1 -1
  136. gcore/types/cloud/{gpu_baremetal_flavor_list.py → gpu_baremetal_clusters/gpu_baremetal_flavor_list.py} +1 -1
  137. gcore/types/cloud/gpu_baremetal_clusters/server_list_params.py +75 -0
  138. gcore/types/cloud/health_monitor.py +6 -0
  139. gcore/types/cloud/inference/__init__.py +0 -5
  140. gcore/types/cloud/inference/applications/__init__.py +12 -0
  141. gcore/types/cloud/inference/applications/deployment_create_params.py +68 -0
  142. gcore/types/cloud/inference/applications/deployment_patch_params.py +62 -0
  143. gcore/types/cloud/inference/applications/inference_application_deployment.py +111 -0
  144. gcore/types/cloud/inference/applications/inference_application_deployment_list.py +16 -0
  145. gcore/types/cloud/inference/applications/inference_application_template.py +94 -0
  146. gcore/types/cloud/inference/applications/inference_application_template_list.py +16 -0
  147. gcore/types/cloud/inference/deployment_create_params.py +7 -6
  148. gcore/types/cloud/inference/deployment_update_params.py +7 -6
  149. gcore/types/cloud/instance_assign_security_group_params.py +4 -2
  150. gcore/types/cloud/instance_list_params.py +3 -2
  151. gcore/types/cloud/instance_unassign_security_group_params.py +4 -2
  152. gcore/types/cloud/instances/image_list_params.py +3 -2
  153. gcore/types/cloud/k8s/__init__.py +13 -0
  154. gcore/types/cloud/k8s/cluster_create_params.py +299 -0
  155. gcore/types/cloud/k8s/cluster_delete_params.py +16 -0
  156. gcore/types/cloud/k8s/cluster_update_params.py +203 -0
  157. gcore/types/cloud/k8s/cluster_upgrade_params.py +16 -0
  158. gcore/types/cloud/k8s/clusters/__init__.py +10 -0
  159. gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +66 -0
  160. gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +16 -0
  161. gcore/types/cloud/k8s/clusters/node_list_params.py +16 -0
  162. gcore/types/cloud/k8s/clusters/pool_create_params.py +53 -0
  163. gcore/types/cloud/k8s/clusters/pool_resize_params.py +18 -0
  164. gcore/types/cloud/k8s/clusters/pool_update_params.py +34 -0
  165. gcore/types/{waap/domains/analytics → cloud/k8s/clusters/pools}/__init__.py +1 -1
  166. gcore/types/cloud/k8s/clusters/pools/node_list_params.py +18 -0
  167. gcore/types/cloud/k8s/flavor_list_params.py +19 -0
  168. gcore/types/cloud/k8s/k8s_cluster.py +209 -0
  169. gcore/types/cloud/k8s/k8s_cluster_certificate.py +13 -0
  170. gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +19 -0
  171. gcore/types/cloud/k8s/k8s_cluster_list.py +16 -0
  172. gcore/types/cloud/k8s_cluster_version.py +10 -0
  173. gcore/types/cloud/{gpu_baremetal_cluster_server_list.py → k8s_cluster_version_list.py} +4 -4
  174. gcore/types/cloud/load_balancer_create_params.py +31 -7
  175. gcore/types/cloud/load_balancer_list_params.py +3 -2
  176. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +3 -2
  177. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +3 -2
  178. gcore/types/cloud/load_balancers/l7_policy_create_params.py +3 -2
  179. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +3 -2
  180. gcore/types/cloud/load_balancers/listener_create_params.py +4 -3
  181. gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
  182. gcore/types/cloud/load_balancers/pool_create_params.py +27 -4
  183. gcore/types/cloud/load_balancers/pool_update_params.py +27 -4
  184. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +7 -2
  185. gcore/types/cloud/load_balancers/pools/member_add_params.py +20 -2
  186. gcore/types/cloud/member.py +19 -1
  187. gcore/types/cloud/network_list_params.py +3 -2
  188. gcore/types/cloud/networks/subnet_create_params.py +3 -2
  189. gcore/types/cloud/networks/subnet_list_params.py +3 -2
  190. gcore/types/cloud/networks/subnet_update_params.py +3 -2
  191. gcore/types/cloud/project.py +9 -9
  192. gcore/types/cloud/region.py +0 -3
  193. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +3 -2
  194. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +3 -2
  195. gcore/types/cloud/security_group_create_params.py +4 -2
  196. gcore/types/cloud/security_group_list_params.py +3 -2
  197. gcore/types/cloud/task_id_list.py +8 -1
  198. gcore/types/cloud/task_list_params.py +23 -23
  199. gcore/types/cloud/usage_report_get_params.py +26 -25
  200. gcore/types/cloud/users/role_assignment.py +2 -1
  201. gcore/types/cloud/users/role_assignment_create_params.py +4 -2
  202. gcore/types/cloud/users/role_assignment_update_params.py +4 -2
  203. gcore/types/cloud/volume_list_params.py +3 -2
  204. gcore/types/dns/__init__.py +31 -0
  205. gcore/types/dns/dns_get_account_overview_response.py +21 -0
  206. gcore/types/dns/dns_label_name.py +13 -0
  207. gcore/types/dns/dns_location_translations.py +11 -0
  208. gcore/types/dns/dns_lookup_params.py +15 -0
  209. gcore/types/dns/dns_lookup_response.py +21 -0
  210. gcore/types/dns/dns_name_server.py +17 -0
  211. gcore/types/dns/location_list_continents_response.py +10 -0
  212. gcore/types/dns/location_list_countries_response.py +10 -0
  213. gcore/types/dns/location_list_regions_response.py +10 -0
  214. gcore/types/dns/location_list_response.py +16 -0
  215. gcore/types/dns/metric_list_params.py +24 -0
  216. gcore/types/dns/metric_list_response.py +7 -0
  217. gcore/types/dns/picker_list_response.py +10 -0
  218. gcore/types/dns/pickers/__init__.py +5 -0
  219. gcore/types/dns/pickers/preset_list_response.py +10 -0
  220. gcore/types/dns/zone_check_delegation_status_response.py +20 -0
  221. gcore/types/dns/zone_create_params.py +59 -0
  222. gcore/types/dns/zone_create_response.py +13 -0
  223. gcore/types/dns/zone_export_response.py +11 -0
  224. gcore/types/dns/zone_get_response.py +106 -0
  225. gcore/types/dns/zone_get_statistics_params.py +43 -0
  226. gcore/types/dns/zone_get_statistics_response.py +19 -0
  227. gcore/types/dns/zone_import_params.py +32 -0
  228. gcore/types/dns/zone_import_response.py +26 -0
  229. gcore/types/dns/zone_list_params.py +57 -0
  230. gcore/types/dns/zone_list_response.py +105 -0
  231. gcore/types/dns/zone_replace_params.py +61 -0
  232. gcore/types/dns/zones/__init__.py +15 -0
  233. gcore/types/dns/zones/dns_failover_log.py +19 -0
  234. gcore/types/dns/zones/dns_output_rrset.py +123 -0
  235. gcore/types/dns/zones/dnssec_get_response.py +38 -0
  236. gcore/types/dns/zones/dnssec_update_params.py +11 -0
  237. gcore/types/dns/zones/dnssec_update_response.py +38 -0
  238. gcore/types/dns/zones/rrset_create_params.py +82 -0
  239. gcore/types/dns/zones/rrset_get_failover_logs_params.py +21 -0
  240. gcore/types/dns/zones/rrset_get_failover_logs_response.py +15 -0
  241. gcore/types/dns/zones/rrset_list_params.py +21 -0
  242. gcore/types/dns/zones/rrset_list_response.py +14 -0
  243. gcore/types/dns/zones/rrset_replace_params.py +82 -0
  244. gcore/types/security/__init__.py +1 -1
  245. gcore/types/security/{bgp_announce_change_params.py → bgp_announce_toggle_params.py} +2 -2
  246. gcore/types/security/client_profile.py +1 -1
  247. gcore/types/security/profile_create_params.py +2 -2
  248. gcore/types/security/profile_recreate_params.py +2 -2
  249. gcore/types/security/profile_replace_params.py +2 -2
  250. gcore/types/storage/__init__.py +21 -0
  251. gcore/types/storage/bucket.py +15 -0
  252. gcore/types/storage/bucket_list_params.py +15 -0
  253. gcore/types/storage/buckets/__init__.py +9 -0
  254. gcore/types/storage/buckets/bucket_cors.py +18 -0
  255. gcore/types/storage/buckets/bucket_policy.py +7 -0
  256. gcore/types/storage/buckets/cor_create_params.py +17 -0
  257. gcore/types/storage/buckets/lifecycle_create_params.py +18 -0
  258. gcore/types/storage/buckets/policy_get_response.py +7 -0
  259. gcore/types/storage/credential_recreate_params.py +36 -0
  260. gcore/types/storage/location.py +24 -0
  261. gcore/types/storage/location_list_params.py +13 -0
  262. gcore/types/storage/statistic_get_usage_aggregated_params.py +24 -0
  263. gcore/types/storage/statistic_get_usage_series_params.py +38 -0
  264. gcore/types/storage/statistic_get_usage_series_response.py +12 -0
  265. gcore/types/storage/storage.py +101 -0
  266. gcore/types/storage/storage_create_params.py +44 -0
  267. gcore/types/storage/storage_list_params.py +39 -0
  268. gcore/types/storage/storage_restore_params.py +11 -0
  269. gcore/types/storage/storage_update_params.py +18 -0
  270. gcore/types/storage/usage_series.py +201 -0
  271. gcore/types/storage/usage_total.py +54 -0
  272. gcore/types/streaming/__init__.py +0 -4
  273. gcore/types/streaming/ai_contentmoderation_hardnudity.py +1 -1
  274. gcore/types/streaming/ai_contentmoderation_nsfw.py +1 -1
  275. gcore/types/streaming/ai_contentmoderation_softnudity.py +1 -1
  276. gcore/types/streaming/ai_contentmoderation_sport.py +1 -1
  277. gcore/types/streaming/ai_task.py +1 -5
  278. gcore/types/streaming/ai_task_create_params.py +2 -2
  279. gcore/types/streaming/ai_task_get_response.py +0 -46
  280. gcore/types/streaming/clip.py +2 -1
  281. gcore/types/streaming/create_video_param.py +13 -12
  282. gcore/types/streaming/max_stream_series.py +5 -5
  283. gcore/types/streaming/playlist.py +1 -1
  284. gcore/types/streaming/playlist_create_params.py +1 -1
  285. gcore/types/streaming/playlist_update_params.py +1 -1
  286. gcore/types/streaming/playlist_video.py +13 -12
  287. gcore/types/streaming/storage_series.py +5 -5
  288. gcore/types/streaming/stream.py +86 -49
  289. gcore/types/streaming/stream_create_clip_params.py +2 -1
  290. gcore/types/streaming/stream_create_params.py +9 -23
  291. gcore/types/streaming/stream_series.py +5 -5
  292. gcore/types/streaming/stream_update_params.py +9 -23
  293. gcore/types/streaming/video.py +53 -42
  294. gcore/types/streaming/video_update_params.py +13 -12
  295. gcore/types/streaming/vod_statistics_series.py +5 -5
  296. gcore/types/streaming/vod_total_stream_duration_series.py +3 -3
  297. gcore/types/waap/__init__.py +6 -54
  298. gcore/types/waap/custom_page_set_create_params.py +121 -14
  299. gcore/types/waap/custom_page_set_preview_params.py +11 -4
  300. gcore/types/waap/custom_page_set_update_params.py +122 -15
  301. gcore/types/waap/domain_list_params.py +2 -4
  302. gcore/types/waap/domain_update_params.py +1 -1
  303. gcore/types/waap/domains/__init__.py +28 -18
  304. gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
  305. gcore/types/waap/domains/advanced_rule_list_params.py +1 -3
  306. gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
  307. gcore/types/waap/domains/{api_discovery/scan_result_list_params.py → api_discovery_list_scan_results_params.py} +2 -2
  308. gcore/types/waap/domains/api_path_create_params.py +4 -3
  309. gcore/types/waap/domains/{api_path_group_list_response.py → api_path_group_list.py} +2 -2
  310. gcore/types/waap/domains/api_path_list_params.py +3 -1
  311. gcore/types/waap/domains/api_path_update_params.py +5 -4
  312. gcore/types/waap/domains/custom_rule_create_params.py +13 -14
  313. gcore/types/waap/domains/custom_rule_list_params.py +1 -3
  314. gcore/types/waap/domains/custom_rule_update_params.py +12 -13
  315. gcore/types/waap/domains/firewall_rule_create_params.py +3 -2
  316. gcore/types/waap/domains/firewall_rule_update_params.py +2 -1
  317. gcore/types/waap/domains/insight_list_params.py +19 -7
  318. gcore/types/waap/domains/insight_replace_params.py +3 -5
  319. gcore/types/waap/domains/insight_silence_list_params.py +17 -6
  320. gcore/types/waap/domains/setting_update_params.py +3 -2
  321. gcore/types/waap/domains/{analytics_list_ddos_attacks_params.py → statistic_get_ddos_attacks_params.py} +2 -2
  322. gcore/types/waap/domains/statistic_get_ddos_info_params.py +28 -0
  323. gcore/types/waap/domains/statistic_get_events_aggregated_params.py +33 -0
  324. gcore/types/waap/domains/statistic_get_requests_series_params.py +74 -0
  325. gcore/types/waap/domains/statistic_get_traffic_series_params.py +22 -0
  326. gcore/types/waap/domains/statistic_get_traffic_series_response.py +10 -0
  327. gcore/types/waap/{waap_advanced_rule.py → domains/waap_advanced_rule.py} +4 -3
  328. gcore/types/waap/domains/{api_discovery_get_settings_response.py → waap_api_discovery_settings.py} +2 -2
  329. gcore/types/waap/domains/{api_path_get_response.py → waap_api_path.py} +6 -6
  330. gcore/types/waap/domains/{api_discovery/scan_result_get_response.py → waap_api_scan_result.py} +5 -5
  331. gcore/types/waap/{waap_blocked_statistics.py → domains/waap_blocked_statistics.py} +1 -1
  332. gcore/types/waap/{waap_count_statistics.py → domains/waap_count_statistics.py} +1 -1
  333. gcore/types/waap/{waap_custom_rule.py → domains/waap_custom_rule.py} +5 -8
  334. gcore/types/waap/{waap_ddos_attack.py → domains/waap_ddos_attack.py} +1 -1
  335. gcore/types/waap/{waap_ddos_info.py → domains/waap_ddos_info.py} +1 -1
  336. gcore/types/waap/{waap_event_statistics.py → domains/waap_event_statistics.py} +1 -1
  337. gcore/types/waap/{waap_firewall_rule.py → domains/waap_firewall_rule.py} +4 -3
  338. gcore/types/waap/{waap_insight.py → domains/waap_insight.py} +4 -4
  339. gcore/types/waap/{waap_insight_silence.py → domains/waap_insight_silence.py} +1 -1
  340. gcore/types/waap/domains/waap_request_details.py +186 -0
  341. gcore/types/waap/{waap_request_summary.py → domains/waap_request_summary.py} +1 -1
  342. gcore/types/waap/domains/{api_discovery_scan_openapi_response.py → waap_task_id.py} +2 -2
  343. gcore/types/waap/{waap_traffic_metrics.py → domains/waap_traffic_metrics.py} +1 -1
  344. gcore/types/waap/insight_list_types_params.py +28 -0
  345. gcore/types/waap/ip_info/__init__.py +6 -0
  346. gcore/types/waap/{ip_info_get_counts_params.py → ip_info/metric_list_params.py} +2 -2
  347. gcore/types/waap/{waap_ip_info_counts.py → ip_info/waap_ip_info_counts.py} +1 -1
  348. gcore/types/waap/{ip_info_get_params.py → ip_info_get_ip_info_params.py} +2 -2
  349. gcore/types/waap/{waap_ip_info.py → ip_info_get_ip_info_response.py} +2 -2
  350. gcore/types/waap/ip_info_get_top_urls_response.py +12 -3
  351. gcore/types/waap/{ip_info_get_top_sessions_params.py → ip_info_get_top_user_sessions_params.py} +2 -2
  352. gcore/types/waap/{ip_info_get_top_sessions_response.py → ip_info_get_top_user_sessions_response.py} +2 -2
  353. gcore/types/waap/waap_custom_page_set.py +113 -13
  354. gcore/types/waap/waap_detailed_domain.py +2 -2
  355. gcore/types/waap/waap_insight_type.py +33 -0
  356. gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
  357. gcore/types/waap/waap_rule_set.py +26 -3
  358. gcore/types/waap/waap_summary_domain.py +2 -2
  359. {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/METADATA +7 -2
  360. {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/RECORD +362 -281
  361. gcore/resources/waap/domains/analytics/__init__.py +0 -33
  362. gcore/resources/waap/domains/analytics/analytics.py +0 -676
  363. gcore/resources/waap/domains/analytics/requests.py +0 -378
  364. gcore/resources/waap/domains/api_discovery/__init__.py +0 -33
  365. gcore/resources/waap/domains/api_discovery/scan_results.py +0 -352
  366. gcore/resources/waap/domains/policies.py +0 -173
  367. gcore/types/cloud/inference/inference_model.py +0 -65
  368. gcore/types/cloud/inference/inference_registry_credentials_create.py +0 -22
  369. gcore/types/cloud/inference/model_list_params.py +0 -21
  370. gcore/types/streaming/ai_contentmoderation_casm.py +0 -39
  371. gcore/types/streaming/ai_contentmoderation_weapon.py +0 -39
  372. gcore/types/streaming/meet_series.py +0 -23
  373. gcore/types/streaming/statistic_get_meet_series_params.py +0 -20
  374. gcore/types/waap/domains/analytics/request_list_params.py +0 -53
  375. gcore/types/waap/domains/analytics_get_event_statistics_params.py +0 -34
  376. gcore/types/waap/domains/analytics_list_ddos_info_params.py +0 -31
  377. gcore/types/waap/domains/analytics_list_event_traffic_params.py +0 -26
  378. gcore/types/waap/domains/analytics_list_event_traffic_response.py +0 -10
  379. gcore/types/waap/domains/api_discovery/__init__.py +0 -7
  380. gcore/types/waap/domains/api_discovery/scan_result_list_response.py +0 -29
  381. gcore/types/waap/domains/api_discovery_update_settings_response.py +0 -36
  382. gcore/types/waap/domains/api_discovery_upload_openapi_response.py +0 -10
  383. gcore/types/waap/domains/api_path_create_response.py +0 -50
  384. gcore/types/waap/domains/api_path_list_response.py +0 -50
  385. gcore/types/waap/waap_block_csrf_page_data.py +0 -28
  386. gcore/types/waap/waap_block_csrf_page_data_param.py +0 -28
  387. gcore/types/waap/waap_block_page_data.py +0 -28
  388. gcore/types/waap/waap_block_page_data_param.py +0 -28
  389. gcore/types/waap/waap_captcha_page_data.py +0 -31
  390. gcore/types/waap/waap_captcha_page_data_param.py +0 -31
  391. gcore/types/waap/waap_common_tag.py +0 -16
  392. gcore/types/waap/waap_cookie_disabled_page_data.py +0 -18
  393. gcore/types/waap/waap_cookie_disabled_page_data_param.py +0 -18
  394. gcore/types/waap/waap_customer_rule_state.py +0 -7
  395. gcore/types/waap/waap_domain_policy.py +0 -29
  396. gcore/types/waap/waap_domain_status.py +0 -7
  397. gcore/types/waap/waap_handshake_page_data.py +0 -25
  398. gcore/types/waap/waap_handshake_page_data_param.py +0 -25
  399. gcore/types/waap/waap_insight_silence_sort_by.py +0 -9
  400. gcore/types/waap/waap_insight_sort_by.py +0 -20
  401. gcore/types/waap/waap_insight_status.py +0 -7
  402. gcore/types/waap/waap_javascript_disabled_page_data.py +0 -18
  403. gcore/types/waap/waap_javascript_disabled_page_data_param.py +0 -18
  404. gcore/types/waap/waap_network_details.py +0 -17
  405. gcore/types/waap/waap_page_type.py +0 -9
  406. gcore/types/waap/waap_paginated_custom_page_set.py +0 -22
  407. gcore/types/waap/waap_paginated_ddos_attack.py +0 -22
  408. gcore/types/waap/waap_paginated_ddos_info.py +0 -22
  409. gcore/types/waap/waap_paginated_request_summary.py +0 -22
  410. gcore/types/waap/waap_pattern_matched_tag.py +0 -37
  411. gcore/types/waap/waap_policy_action.py +0 -7
  412. gcore/types/waap/waap_request_details.py +0 -92
  413. gcore/types/waap/waap_request_organization.py +0 -13
  414. gcore/types/waap/waap_resolution.py +0 -7
  415. gcore/types/waap/waap_rule_action_type.py +0 -7
  416. gcore/types/waap/waap_top_url.py +0 -13
  417. gcore/types/waap/waap_traffic_type.py +0 -28
  418. gcore/types/waap/waap_user_agent_details.py +0 -40
  419. {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/WHEEL +0 -0
  420. {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/licenses/LICENSE +0 -0
@@ -10,7 +10,7 @@ __all__ = ["FirewallRuleCreateParams", "Action", "ActionBlock", "Condition", "Co
10
10
 
11
11
  class FirewallRuleCreateParams(TypedDict, total=False):
12
12
  action: Required[Action]
13
- """The action that a firewall rule takes when triggered"""
13
+ """The action that the rule takes when triggered"""
14
14
 
15
15
  conditions: Required[Iterable[Condition]]
16
16
  """The condition required for the WAAP engine to trigger the rule."""
@@ -30,7 +30,8 @@ class ActionBlock(TypedDict, total=False):
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
33
- 'd' to represent time format (seconds, minutes, hours, or days)
33
+ 'd' to represent time format (seconds, minutes, hours, or days). Empty time
34
+ intervals are not allowed.
34
35
  """
35
36
 
36
37
  status_code: Optional[Literal[403, 405, 418, 429]]
@@ -33,7 +33,8 @@ class ActionBlock(TypedDict, total=False):
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
36
- 'd' to represent time format (seconds, minutes, hours, or days)
36
+ 'd' to represent time format (seconds, minutes, hours, or days). Empty time
37
+ intervals are not allowed.
37
38
  """
38
39
 
39
40
  status_code: Optional[Literal[403, 405, 418, 429]]
@@ -3,22 +3,21 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from typing import List, Optional
6
- from typing_extensions import TypedDict
6
+ from typing_extensions import Literal, TypedDict
7
7
 
8
- from ..waap_insight_status import WaapInsightStatus
9
- from ..waap_insight_sort_by import WaapInsightSortBy
8
+ from ...._types import SequenceNotStr
10
9
 
11
10
  __all__ = ["InsightListParams"]
12
11
 
13
12
 
14
13
  class InsightListParams(TypedDict, total=False):
15
- id: Optional[List[str]]
14
+ id: Optional[SequenceNotStr[str]]
16
15
  """The ID of the insight"""
17
16
 
18
17
  description: Optional[str]
19
18
  """The description of the insight. Supports '\\**' as a wildcard."""
20
19
 
21
- insight_type: Optional[List[str]]
20
+ insight_type: Optional[SequenceNotStr[str]]
22
21
  """The type of the insight"""
23
22
 
24
23
  limit: int
@@ -27,8 +26,21 @@ class InsightListParams(TypedDict, total=False):
27
26
  offset: int
28
27
  """Number of items to skip"""
29
28
 
30
- ordering: WaapInsightSortBy
29
+ ordering: Literal[
30
+ "id",
31
+ "-id",
32
+ "insight_type",
33
+ "-insight_type",
34
+ "first_seen",
35
+ "-first_seen",
36
+ "last_seen",
37
+ "-last_seen",
38
+ "last_status_change",
39
+ "-last_status_change",
40
+ "status",
41
+ "-status",
42
+ ]
31
43
  """Sort the response by given field."""
32
44
 
33
- status: Optional[List[WaapInsightStatus]]
45
+ status: Optional[List[Literal["OPEN", "ACKED", "CLOSED"]]]
34
46
  """The status of the insight"""
@@ -2,9 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Required, TypedDict
6
-
7
- from ..waap_insight_status import WaapInsightStatus
5
+ from typing_extensions import Literal, Required, TypedDict
8
6
 
9
7
  __all__ = ["InsightReplaceParams"]
10
8
 
@@ -13,5 +11,5 @@ class InsightReplaceParams(TypedDict, total=False):
13
11
  domain_id: Required[int]
14
12
  """The domain ID"""
15
13
 
16
- status: Required[WaapInsightStatus]
17
- """The different statuses an insight can have"""
14
+ status: Required[Literal["OPEN", "ACKED", "CLOSED"]]
15
+ """The status of the insight"""
@@ -2,16 +2,16 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
6
- from typing_extensions import TypedDict
5
+ from typing import Optional
6
+ from typing_extensions import Literal, TypedDict
7
7
 
8
- from ..waap_insight_silence_sort_by import WaapInsightSilenceSortBy
8
+ from ...._types import SequenceNotStr
9
9
 
10
10
  __all__ = ["InsightSilenceListParams"]
11
11
 
12
12
 
13
13
  class InsightSilenceListParams(TypedDict, total=False):
14
- id: Optional[List[str]]
14
+ id: Optional[SequenceNotStr[str]]
15
15
  """The ID of the insight silence"""
16
16
 
17
17
  author: Optional[str]
@@ -20,7 +20,7 @@ class InsightSilenceListParams(TypedDict, total=False):
20
20
  comment: Optional[str]
21
21
  """The comment of the insight silence"""
22
22
 
23
- insight_type: Optional[List[str]]
23
+ insight_type: Optional[SequenceNotStr[str]]
24
24
  """The type of the insight silence"""
25
25
 
26
26
  limit: int
@@ -29,5 +29,16 @@ class InsightSilenceListParams(TypedDict, total=False):
29
29
  offset: int
30
30
  """Number of items to skip"""
31
31
 
32
- ordering: WaapInsightSilenceSortBy
32
+ ordering: Literal[
33
+ "id",
34
+ "-id",
35
+ "insight_type",
36
+ "-insight_type",
37
+ "comment",
38
+ "-comment",
39
+ "author",
40
+ "-author",
41
+ "expire_at",
42
+ "-expire_at",
43
+ ]
33
44
  """Sort the response by given field."""
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import TypedDict
7
6
 
7
+ from ...._types import SequenceNotStr
8
+
8
9
  __all__ = ["SettingUpdateParams", "API", "DDOS"]
9
10
 
10
11
 
@@ -17,7 +18,7 @@ class SettingUpdateParams(TypedDict, total=False):
17
18
 
18
19
 
19
20
  class API(TypedDict, total=False):
20
- api_urls: List[str]
21
+ api_urls: SequenceNotStr[str]
21
22
  """The API URLs for a domain.
22
23
 
23
24
  If your domain has a common base URL for all API paths, it can be set here
@@ -8,10 +8,10 @@ from typing_extensions import Literal, Annotated, TypedDict
8
8
 
9
9
  from ...._utils import PropertyInfo
10
10
 
11
- __all__ = ["AnalyticsListDDOSAttacksParams"]
11
+ __all__ = ["StatisticGetDDOSAttacksParams"]
12
12
 
13
13
 
14
- class AnalyticsListDDOSAttacksParams(TypedDict, total=False):
14
+ class StatisticGetDDOSAttacksParams(TypedDict, total=False):
15
15
  end_time: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
16
16
  """Filter attacks up to a specified end date in ISO 8601 format"""
17
17
 
@@ -0,0 +1,28 @@
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 Optional
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["StatisticGetDDOSInfoParams"]
9
+
10
+
11
+ class StatisticGetDDOSInfoParams(TypedDict, total=False):
12
+ group_by: Required[Literal["URL", "User-Agent", "IP"]]
13
+ """The identity of the requests to group by"""
14
+
15
+ start: Required[str]
16
+ """Filter data items starting from a specified date in ISO 8601 format"""
17
+
18
+ end: Optional[str]
19
+ """Filter data items up to a specified end date in ISO 8601 format.
20
+
21
+ If not provided, defaults to the current date and time.
22
+ """
23
+
24
+ limit: int
25
+ """Number of items to return"""
26
+
27
+ offset: int
28
+ """Number of items to skip"""
@@ -0,0 +1,33 @@
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 List, Optional
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ from ...._types import SequenceNotStr
9
+
10
+ __all__ = ["StatisticGetEventsAggregatedParams"]
11
+
12
+
13
+ class StatisticGetEventsAggregatedParams(TypedDict, total=False):
14
+ start: Required[str]
15
+ """Filter data items starting from a specified date in ISO 8601 format"""
16
+
17
+ action: Optional[List[Literal["block", "captcha", "handshake", "monitor"]]]
18
+ """A list of action names to filter on."""
19
+
20
+ end: Optional[str]
21
+ """Filter data items up to a specified end date in ISO 8601 format.
22
+
23
+ If not provided, defaults to the current date and time.
24
+ """
25
+
26
+ ip: Optional[SequenceNotStr[str]]
27
+ """A list of IPs to filter event statistics."""
28
+
29
+ reference_id: Optional[SequenceNotStr[str]]
30
+ """A list of reference IDs to filter event statistics."""
31
+
32
+ result: Optional[List[Literal["passed", "blocked", "monitored", "allowed"]]]
33
+ """A list of results to filter event statistics."""
@@ -0,0 +1,74 @@
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 List, Optional
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ from ...._types import SequenceNotStr
9
+
10
+ __all__ = ["StatisticGetRequestsSeriesParams"]
11
+
12
+
13
+ class StatisticGetRequestsSeriesParams(TypedDict, total=False):
14
+ start: Required[str]
15
+ """Filter data items starting from a specified date in ISO 8601 format"""
16
+
17
+ actions: List[Literal["allow", "block", "captcha", "handshake"]]
18
+ """Filter the response by actions."""
19
+
20
+ countries: SequenceNotStr[str]
21
+ """Filter the response by country codes in ISO 3166-1 alpha-2 format."""
22
+
23
+ end: Optional[str]
24
+ """Filter data items up to a specified end date in ISO 8601 format.
25
+
26
+ If not provided, defaults to the current date and time.
27
+ """
28
+
29
+ ip: str
30
+ """Filter the response by IP."""
31
+
32
+ limit: int
33
+ """Number of items to return"""
34
+
35
+ offset: int
36
+ """Number of items to skip"""
37
+
38
+ ordering: str
39
+ """Sort the response by given field."""
40
+
41
+ reference_id: str
42
+ """Filter the response by reference ID."""
43
+
44
+ security_rule_name: str
45
+ """Filter the response by security rule name."""
46
+
47
+ status_code: int
48
+ """Filter the response by response code."""
49
+
50
+ traffic_types: List[
51
+ Literal[
52
+ "policy_allowed",
53
+ "policy_blocked",
54
+ "custom_rule_allowed",
55
+ "custom_blocked",
56
+ "legit_requests",
57
+ "sanctioned",
58
+ "dynamic",
59
+ "api",
60
+ "static",
61
+ "ajax",
62
+ "redirects",
63
+ "monitor",
64
+ "err_40x",
65
+ "err_50x",
66
+ "passed_to_origin",
67
+ "timeout",
68
+ "other",
69
+ "ddos",
70
+ "legit",
71
+ "monitored",
72
+ ]
73
+ ]
74
+ """Filter the response by traffic types."""
@@ -0,0 +1,22 @@
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 Optional
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["StatisticGetTrafficSeriesParams"]
9
+
10
+
11
+ class StatisticGetTrafficSeriesParams(TypedDict, total=False):
12
+ resolution: Required[Literal["daily", "hourly", "minutely"]]
13
+ """Specifies the granularity of the result data."""
14
+
15
+ start: Required[str]
16
+ """Filter data items starting from a specified date in ISO 8601 format"""
17
+
18
+ end: Optional[str]
19
+ """Filter data items up to a specified end date in ISO 8601 format.
20
+
21
+ If not provided, defaults to the current date and time.
22
+ """
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import TypeAlias
5
+
6
+ from .waap_traffic_metrics import WaapTrafficMetrics
7
+
8
+ __all__ = ["StatisticGetTrafficSeriesResponse"]
9
+
10
+ StatisticGetTrafficSeriesResponse: TypeAlias = List[WaapTrafficMetrics]
@@ -3,7 +3,7 @@
3
3
  from typing import List, Optional
4
4
  from typing_extensions import Literal
5
5
 
6
- from ..._models import BaseModel
6
+ from ...._models import BaseModel
7
7
 
8
8
  __all__ = ["WaapAdvancedRule", "Action", "ActionBlock", "ActionTag"]
9
9
 
@@ -13,7 +13,8 @@ class ActionBlock(BaseModel):
13
13
  """How long a rule's block action will apply to subsequent requests.
14
14
 
15
15
  Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
16
- 'd' to represent time format (seconds, minutes, hours, or days)
16
+ 'd' to represent time format (seconds, minutes, hours, or days). Empty time
17
+ intervals are not allowed.
17
18
  """
18
19
 
19
20
  status_code: Optional[Literal[403, 405, 418, 429]] = None
@@ -53,7 +54,7 @@ class WaapAdvancedRule(BaseModel):
53
54
  """The unique identifier for the rule"""
54
55
 
55
56
  action: Action
56
- """The action that a WAAP rule takes when triggered"""
57
+ """The action that the rule takes when triggered"""
57
58
 
58
59
  enabled: bool
59
60
  """Whether or not the rule is enabled"""
@@ -6,10 +6,10 @@ from pydantic import Field as FieldInfo
6
6
 
7
7
  from ...._models import BaseModel
8
8
 
9
- __all__ = ["APIDiscoveryGetSettingsResponse"]
9
+ __all__ = ["WaapAPIDiscoverySettings"]
10
10
 
11
11
 
12
- class APIDiscoveryGetSettingsResponse(BaseModel):
12
+ class WaapAPIDiscoverySettings(BaseModel):
13
13
  description_file_location: Optional[str] = FieldInfo(alias="descriptionFileLocation", default=None)
14
14
  """The URL of the API description file.
15
15
 
@@ -6,10 +6,10 @@ from typing_extensions import Literal
6
6
 
7
7
  from ...._models import BaseModel
8
8
 
9
- __all__ = ["APIPathGetResponse"]
9
+ __all__ = ["WaapAPIPath"]
10
10
 
11
11
 
12
- class APIPathGetResponse(BaseModel):
12
+ class WaapAPIPath(BaseModel):
13
13
  id: str
14
14
  """The path ID"""
15
15
 
@@ -23,13 +23,13 @@ class APIPathGetResponse(BaseModel):
23
23
  """The date and time in ISO 8601 format the API path was first detected."""
24
24
 
25
25
  http_scheme: Literal["HTTP", "HTTPS"]
26
- """The different HTTP schemes an API path can have"""
26
+ """The HTTP version of the API path"""
27
27
 
28
28
  last_detected: datetime
29
29
  """The date and time in ISO 8601 format the API path was last detected."""
30
30
 
31
31
  method: Literal["GET", "POST", "PUT", "PATCH", "DELETE", "TRACE", "HEAD", "OPTIONS"]
32
- """The different methods an API path can have"""
32
+ """The API RESTful method"""
33
33
 
34
34
  path: str
35
35
  """
@@ -41,10 +41,10 @@ class APIPathGetResponse(BaseModel):
41
41
  """The number of requests for this path in the last 24 hours"""
42
42
 
43
43
  source: Literal["API_DESCRIPTION_FILE", "TRAFFIC_SCAN", "USER_DEFINED"]
44
- """The different sources an API path can have"""
44
+ """The source of the discovered API"""
45
45
 
46
46
  status: Literal["CONFIRMED_API", "POTENTIAL_API", "NOT_API", "DELISTED_API"]
47
- """The different statuses an API path can have"""
47
+ """The status of the discovered API path"""
48
48
 
49
49
  tags: List[str]
50
50
  """An array of tags associated with the API path"""
@@ -4,12 +4,12 @@ from typing import Optional
4
4
  from datetime import datetime
5
5
  from typing_extensions import Literal
6
6
 
7
- from ....._models import BaseModel
7
+ from ...._models import BaseModel
8
8
 
9
- __all__ = ["ScanResultGetResponse"]
9
+ __all__ = ["WaapAPIScanResult"]
10
10
 
11
11
 
12
- class ScanResultGetResponse(BaseModel):
12
+ class WaapAPIScanResult(BaseModel):
13
13
  id: str
14
14
  """The scan ID"""
15
15
 
@@ -23,7 +23,7 @@ class ScanResultGetResponse(BaseModel):
23
23
  """The date and time the scan started"""
24
24
 
25
25
  status: Literal["SUCCESS", "FAILURE", "IN_PROGRESS"]
26
- """The different statuses a task result can have"""
26
+ """The status of the scan"""
27
27
 
28
28
  type: Literal["TRAFFIC_SCAN", "API_DESCRIPTION_FILE_SCAN"]
29
- """The different types of scans that can be performed"""
29
+ """The type of scan"""
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing import List, Union
4
4
 
5
- from ..._models import BaseModel
5
+ from ...._models import BaseModel
6
6
 
7
7
  __all__ = ["WaapBlockedStatistics"]
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing import List, Union
4
4
 
5
- from ..._models import BaseModel
5
+ from ...._models import BaseModel
6
6
 
7
7
  __all__ = ["WaapCountStatistics"]
8
8
 
@@ -3,7 +3,7 @@
3
3
  from typing import List, Optional
4
4
  from typing_extensions import Literal
5
5
 
6
- from ..._models import BaseModel
6
+ from ...._models import BaseModel
7
7
 
8
8
  __all__ = [
9
9
  "WaapCustomRule",
@@ -37,7 +37,8 @@ class ActionBlock(BaseModel):
37
37
  """How long a rule's block action will apply to subsequent requests.
38
38
 
39
39
  Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
40
- 'd' to represent time format (seconds, minutes, hours, or days)
40
+ 'd' to represent time format (seconds, minutes, hours, or days). Empty time
41
+ intervals are not allowed.
41
42
  """
42
43
 
43
44
  status_code: Optional[Literal[403, 405, 418, 429]] = None
@@ -123,11 +124,7 @@ class ConditionHeaderExists(BaseModel):
123
124
 
124
125
  class ConditionHTTPMethod(BaseModel):
125
126
  http_method: Literal["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"]
126
- """HTTP methods and descriptions Methods from the following RFCs are all observed:
127
-
128
- - RFC 7231: Hypertext Transfer Protocol (HTTP/1.1), obsoletes 2616
129
- - RFC 5789: PATCH Method for HTTP
130
- """
127
+ """HTTP methods of a request"""
131
128
 
132
129
  negation: Optional[bool] = None
133
130
  """Whether or not to apply a boolean NOT operation to the rule's condition"""
@@ -358,7 +355,7 @@ class WaapCustomRule(BaseModel):
358
355
  """The unique identifier for the rule"""
359
356
 
360
357
  action: Action
361
- """The action that a WAAP rule takes when triggered"""
358
+ """The action that the rule takes when triggered"""
362
359
 
363
360
  conditions: List[Condition]
364
361
  """The conditions required for the WAAP engine to trigger the rule.
@@ -3,7 +3,7 @@
3
3
  from typing import Optional
4
4
  from datetime import datetime
5
5
 
6
- from ..._models import BaseModel
6
+ from ...._models import BaseModel
7
7
 
8
8
  __all__ = ["WaapDDOSAttack"]
9
9
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing_extensions import Literal
4
4
 
5
- from ..._models import BaseModel
5
+ from ...._models import BaseModel
6
6
 
7
7
  __all__ = ["WaapDDOSInfo"]
8
8
 
@@ -1,6 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from ..._models import BaseModel
3
+ from ...._models import BaseModel
4
4
  from .waap_count_statistics import WaapCountStatistics
5
5
  from .waap_blocked_statistics import WaapBlockedStatistics
6
6
 
@@ -3,7 +3,7 @@
3
3
  from typing import List, Optional
4
4
  from typing_extensions import Literal
5
5
 
6
- from ..._models import BaseModel
6
+ from ...._models import BaseModel
7
7
 
8
8
  __all__ = ["WaapFirewallRule", "Action", "ActionBlock", "Condition", "ConditionIP", "ConditionIPRange"]
9
9
 
@@ -13,7 +13,8 @@ class ActionBlock(BaseModel):
13
13
  """How long a rule's block action will apply to subsequent requests.
14
14
 
15
15
  Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
16
- 'd' to represent time format (seconds, minutes, hours, or days)
16
+ 'd' to represent time format (seconds, minutes, hours, or days). Empty time
17
+ intervals are not allowed.
17
18
  """
18
19
 
19
20
  status_code: Optional[Literal[403, 405, 418, 429]] = None
@@ -63,7 +64,7 @@ class WaapFirewallRule(BaseModel):
63
64
  """The unique identifier of the rule"""
64
65
 
65
66
  action: Action
66
- """The action that a firewall rule takes when triggered"""
67
+ """The action that the rule takes when triggered"""
67
68
 
68
69
  conditions: List[Condition]
69
70
  """The condition required for the WAAP engine to trigger the rule."""
@@ -2,9 +2,9 @@
2
2
 
3
3
  from typing import Dict
4
4
  from datetime import datetime
5
+ from typing_extensions import Literal
5
6
 
6
- from ..._models import BaseModel
7
- from .waap_insight_status import WaapInsightStatus
7
+ from ...._models import BaseModel
8
8
 
9
9
  __all__ = ["WaapInsight"]
10
10
 
@@ -34,5 +34,5 @@ class WaapInsight(BaseModel):
34
34
  recommendation: str
35
35
  """The recommended action to perform to resolve the insight"""
36
36
 
37
- status: WaapInsightStatus
38
- """The different statuses an insight can have"""
37
+ status: Literal["OPEN", "ACKED", "CLOSED"]
38
+ """The status of the insight"""
@@ -3,7 +3,7 @@
3
3
  from typing import Dict, Optional
4
4
  from datetime import datetime
5
5
 
6
- from ..._models import BaseModel
6
+ from ...._models import BaseModel
7
7
 
8
8
  __all__ = ["WaapInsightSilence"]
9
9