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
@@ -3,33 +3,140 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from typing import Iterable, Optional
6
- from typing_extensions import TypedDict
6
+ from typing_extensions import Required, TypedDict
7
7
 
8
- from .waap_block_page_data_param import WaapBlockPageDataParam
9
- from .waap_captcha_page_data_param import WaapCaptchaPageDataParam
10
- from .waap_handshake_page_data_param import WaapHandshakePageDataParam
11
- from .waap_block_csrf_page_data_param import WaapBlockCsrfPageDataParam
12
- from .waap_cookie_disabled_page_data_param import WaapCookieDisabledPageDataParam
13
- from .waap_javascript_disabled_page_data_param import WaapJavascriptDisabledPageDataParam
14
-
15
- __all__ = ["CustomPageSetUpdateParams"]
8
+ __all__ = [
9
+ "CustomPageSetUpdateParams",
10
+ "Block",
11
+ "BlockCsrf",
12
+ "Captcha",
13
+ "CookieDisabled",
14
+ "Handshake",
15
+ "JavascriptDisabled",
16
+ ]
16
17
 
17
18
 
18
19
  class CustomPageSetUpdateParams(TypedDict, total=False):
19
- block: Optional[WaapBlockPageDataParam]
20
+ block: Optional[Block]
20
21
 
21
- block_csrf: Optional[WaapBlockCsrfPageDataParam]
22
+ block_csrf: Optional[BlockCsrf]
22
23
 
23
- captcha: Optional[WaapCaptchaPageDataParam]
24
+ captcha: Optional[Captcha]
24
25
 
25
- cookie_disabled: Optional[WaapCookieDisabledPageDataParam]
26
+ cookie_disabled: Optional[CookieDisabled]
26
27
 
27
28
  domains: Optional[Iterable[int]]
28
29
  """List of domain IDs that are associated with this page set"""
29
30
 
30
- handshake: Optional[WaapHandshakePageDataParam]
31
+ handshake: Optional[Handshake]
31
32
 
32
- javascript_disabled: Optional[WaapJavascriptDisabledPageDataParam]
33
+ javascript_disabled: Optional[JavascriptDisabled]
33
34
 
34
35
  name: Optional[str]
35
36
  """Name of the custom page set"""
37
+
38
+
39
+ class Block(TypedDict, total=False):
40
+ enabled: Required[bool]
41
+ """Indicates whether the custom custom page is active or inactive"""
42
+
43
+ header: str
44
+ """The text to display in the header of the custom page"""
45
+
46
+ logo: str
47
+ """
48
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
49
+ height 130px. This should be a base 64 encoding of the full HTML img tag
50
+ compatible image, with the header included.
51
+ """
52
+
53
+ text: str
54
+ """The text to display in the body of the custom page"""
55
+
56
+ title: str
57
+ """The text to display in the title of the custom page"""
58
+
59
+
60
+ class BlockCsrf(TypedDict, total=False):
61
+ enabled: Required[bool]
62
+ """Indicates whether the custom custom page is active or inactive"""
63
+
64
+ header: str
65
+ """The text to display in the header of the custom page"""
66
+
67
+ logo: str
68
+ """
69
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
70
+ height 130px. This should be a base 64 encoding of the full HTML img tag
71
+ compatible image, with the header included.
72
+ """
73
+
74
+ text: str
75
+ """The text to display in the body of the custom page"""
76
+
77
+ title: str
78
+ """The text to display in the title of the custom page"""
79
+
80
+
81
+ class Captcha(TypedDict, total=False):
82
+ enabled: Required[bool]
83
+ """Indicates whether the custom custom page is active or inactive"""
84
+
85
+ error: str
86
+ """Error message"""
87
+
88
+ header: str
89
+ """The text to display in the header of the custom page"""
90
+
91
+ logo: str
92
+ """
93
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
94
+ height 130px. This should be a base 64 encoding of the full HTML img tag
95
+ compatible image, with the header included.
96
+ """
97
+
98
+ text: str
99
+ """The text to display in the body of the custom page"""
100
+
101
+ title: str
102
+ """The text to display in the title of the custom page"""
103
+
104
+
105
+ class CookieDisabled(TypedDict, total=False):
106
+ enabled: Required[bool]
107
+ """Indicates whether the custom custom page is active or inactive"""
108
+
109
+ header: str
110
+ """The text to display in the header of the custom page"""
111
+
112
+ text: str
113
+ """The text to display in the body of the custom page"""
114
+
115
+
116
+ class Handshake(TypedDict, total=False):
117
+ enabled: Required[bool]
118
+ """Indicates whether the custom custom page is active or inactive"""
119
+
120
+ header: str
121
+ """The text to display in the header of the custom page"""
122
+
123
+ logo: str
124
+ """
125
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
126
+ height 130px. This should be a base 64 encoding of the full HTML img tag
127
+ compatible image, with the header included.
128
+ """
129
+
130
+ title: str
131
+ """The text to display in the title of the custom page"""
132
+
133
+
134
+ class JavascriptDisabled(TypedDict, total=False):
135
+ enabled: Required[bool]
136
+ """Indicates whether the custom custom page is active or inactive"""
137
+
138
+ header: str
139
+ """The text to display in the header of the custom page"""
140
+
141
+ text: str
142
+ """The text to display in the body of the custom page"""
@@ -5,8 +5,6 @@ from __future__ import annotations
5
5
  from typing import Iterable
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
- from .waap_domain_status import WaapDomainStatus
9
-
10
8
  __all__ = ["DomainListParams"]
11
9
 
12
10
 
@@ -26,5 +24,5 @@ class DomainListParams(TypedDict, total=False):
26
24
  ordering: Literal["id", "name", "status", "created_at", "-id", "-name", "-status", "-created_at"]
27
25
  """Sort the response by given field."""
28
26
 
29
- status: WaapDomainStatus
30
- """The different statuses a domain can have"""
27
+ status: Literal["active", "bypass", "monitor", "locked"]
28
+ """Filter domains based on the domain status"""
@@ -9,4 +9,4 @@ __all__ = ["DomainUpdateParams"]
9
9
 
10
10
  class DomainUpdateParams(TypedDict, total=False):
11
11
  status: Literal["active", "monitor"]
12
- """Domain statuses that can be used when updating a domain"""
12
+ """The current status of the domain"""
@@ -2,16 +2,30 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from .waap_insight import WaapInsight as WaapInsight
6
+ from .waap_task_id import WaapTaskID as WaapTaskID
7
+ from .waap_api_path import WaapAPIPath as WaapAPIPath
8
+ from .waap_ddos_info import WaapDDOSInfo as WaapDDOSInfo
9
+ from .waap_custom_rule import WaapCustomRule as WaapCustomRule
10
+ from .waap_ddos_attack import WaapDDOSAttack as WaapDDOSAttack
11
+ from .waap_advanced_rule import WaapAdvancedRule as WaapAdvancedRule
12
+ from .waap_firewall_rule import WaapFirewallRule as WaapFirewallRule
13
+ from .api_path_group_list import APIPathGroupList as APIPathGroupList
5
14
  from .insight_list_params import InsightListParams as InsightListParams
6
15
  from .api_path_list_params import APIPathListParams as APIPathListParams
7
- from .api_path_get_response import APIPathGetResponse as APIPathGetResponse
16
+ from .waap_api_scan_result import WaapAPIScanResult as WaapAPIScanResult
17
+ from .waap_insight_silence import WaapInsightSilence as WaapInsightSilence
18
+ from .waap_request_details import WaapRequestDetails as WaapRequestDetails
19
+ from .waap_request_summary import WaapRequestSummary as WaapRequestSummary
20
+ from .waap_traffic_metrics import WaapTrafficMetrics as WaapTrafficMetrics
8
21
  from .setting_update_params import SettingUpdateParams as SettingUpdateParams
22
+ from .waap_count_statistics import WaapCountStatistics as WaapCountStatistics
23
+ from .waap_event_statistics import WaapEventStatistics as WaapEventStatistics
9
24
  from .api_path_create_params import APIPathCreateParams as APIPathCreateParams
10
- from .api_path_list_response import APIPathListResponse as APIPathListResponse
11
25
  from .api_path_update_params import APIPathUpdateParams as APIPathUpdateParams
12
26
  from .insight_replace_params import InsightReplaceParams as InsightReplaceParams
13
27
  from .custom_rule_list_params import CustomRuleListParams as CustomRuleListParams
14
- from .api_path_create_response import APIPathCreateResponse as APIPathCreateResponse
28
+ from .waap_blocked_statistics import WaapBlockedStatistics as WaapBlockedStatistics
15
29
  from .advanced_rule_list_params import AdvancedRuleListParams as AdvancedRuleListParams
16
30
  from .custom_rule_create_params import CustomRuleCreateParams as CustomRuleCreateParams
17
31
  from .custom_rule_update_params import CustomRuleUpdateParams as CustomRuleUpdateParams
@@ -21,27 +35,23 @@ from .advanced_rule_update_params import AdvancedRuleUpdateParams as AdvancedRul
21
35
  from .firewall_rule_create_params import FirewallRuleCreateParams as FirewallRuleCreateParams
22
36
  from .firewall_rule_update_params import FirewallRuleUpdateParams as FirewallRuleUpdateParams
23
37
  from .insight_silence_list_params import InsightSilenceListParams as InsightSilenceListParams
24
- from .api_path_group_list_response import APIPathGroupListResponse as APIPathGroupListResponse
38
+ from .waap_api_discovery_settings import WaapAPIDiscoverySettings as WaapAPIDiscoverySettings
25
39
  from .insight_silence_create_params import InsightSilenceCreateParams as InsightSilenceCreateParams
26
40
  from .insight_silence_update_params import InsightSilenceUpdateParams as InsightSilenceUpdateParams
27
- from .analytics_list_ddos_info_params import AnalyticsListDDOSInfoParams as AnalyticsListDDOSInfoParams
28
- from .analytics_list_ddos_attacks_params import AnalyticsListDDOSAttacksParams as AnalyticsListDDOSAttacksParams
41
+ from .statistic_get_ddos_info_params import StatisticGetDDOSInfoParams as StatisticGetDDOSInfoParams
42
+ from .statistic_get_ddos_attacks_params import StatisticGetDDOSAttacksParams as StatisticGetDDOSAttacksParams
29
43
  from .custom_rule_delete_multiple_params import CustomRuleDeleteMultipleParams as CustomRuleDeleteMultipleParams
30
- from .analytics_list_event_traffic_params import AnalyticsListEventTrafficParams as AnalyticsListEventTrafficParams
31
- from .api_discovery_get_settings_response import APIDiscoveryGetSettingsResponse as APIDiscoveryGetSettingsResponse
32
- from .api_discovery_scan_openapi_response import APIDiscoveryScanOpenAPIResponse as APIDiscoveryScanOpenAPIResponse
33
44
  from .api_discovery_upload_openapi_params import APIDiscoveryUploadOpenAPIParams as APIDiscoveryUploadOpenAPIParams
45
+ from .statistic_get_traffic_series_params import StatisticGetTrafficSeriesParams as StatisticGetTrafficSeriesParams
34
46
  from .api_discovery_update_settings_params import APIDiscoveryUpdateSettingsParams as APIDiscoveryUpdateSettingsParams
35
47
  from .firewall_rule_delete_multiple_params import FirewallRuleDeleteMultipleParams as FirewallRuleDeleteMultipleParams
36
- from .analytics_get_event_statistics_params import (
37
- AnalyticsGetEventStatisticsParams as AnalyticsGetEventStatisticsParams,
48
+ from .statistic_get_requests_series_params import StatisticGetRequestsSeriesParams as StatisticGetRequestsSeriesParams
49
+ from .statistic_get_traffic_series_response import (
50
+ StatisticGetTrafficSeriesResponse as StatisticGetTrafficSeriesResponse,
38
51
  )
39
- from .analytics_list_event_traffic_response import (
40
- AnalyticsListEventTrafficResponse as AnalyticsListEventTrafficResponse,
52
+ from .api_discovery_list_scan_results_params import (
53
+ APIDiscoveryListScanResultsParams as APIDiscoveryListScanResultsParams,
41
54
  )
42
- from .api_discovery_upload_openapi_response import (
43
- APIDiscoveryUploadOpenAPIResponse as APIDiscoveryUploadOpenAPIResponse,
44
- )
45
- from .api_discovery_update_settings_response import (
46
- APIDiscoveryUpdateSettingsResponse as APIDiscoveryUpdateSettingsResponse,
55
+ from .statistic_get_events_aggregated_params import (
56
+ StatisticGetEventsAggregatedParams as StatisticGetEventsAggregatedParams,
47
57
  )
@@ -2,15 +2,17 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from ...._types import SequenceNotStr
9
+
8
10
  __all__ = ["AdvancedRuleCreateParams", "Action", "ActionBlock", "ActionTag"]
9
11
 
10
12
 
11
13
  class AdvancedRuleCreateParams(TypedDict, total=False):
12
14
  action: Required[Action]
13
- """The action that a WAAP rule takes when triggered"""
15
+ """The action that the rule takes when triggered"""
14
16
 
15
17
  enabled: Required[bool]
16
18
  """Whether or not the rule is enabled"""
@@ -45,7 +47,8 @@ class ActionBlock(TypedDict, total=False):
45
47
  """How long a rule's block action will apply to subsequent requests.
46
48
 
47
49
  Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
48
- 'd' to represent time format (seconds, minutes, hours, or days)
50
+ 'd' to represent time format (seconds, minutes, hours, or days). Empty time
51
+ intervals are not allowed.
49
52
  """
50
53
 
51
54
  status_code: Optional[Literal[403, 405, 418, 429]]
@@ -53,7 +56,7 @@ class ActionBlock(TypedDict, total=False):
53
56
 
54
57
 
55
58
  class ActionTag(TypedDict, total=False):
56
- tags: Required[List[str]]
59
+ tags: Required[SequenceNotStr[str]]
57
60
  """The list of user defined tags to tag the request with"""
58
61
 
59
62
 
@@ -5,13 +5,11 @@ from __future__ import annotations
5
5
  from typing import Optional
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
- from ..waap_rule_action_type import WaapRuleActionType
9
-
10
8
  __all__ = ["AdvancedRuleListParams"]
11
9
 
12
10
 
13
11
  class AdvancedRuleListParams(TypedDict, total=False):
14
- action: WaapRuleActionType
12
+ action: Literal["allow", "block", "captcha", "handshake", "monitor", "tag"]
15
13
  """Filter to refine results by specific actions"""
16
14
 
17
15
  description: str
@@ -2,9 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from ...._types import SequenceNotStr
9
+
8
10
  __all__ = ["AdvancedRuleUpdateParams", "Action", "ActionBlock", "ActionTag"]
9
11
 
10
12
 
@@ -48,7 +50,8 @@ class ActionBlock(TypedDict, total=False):
48
50
  """How long a rule's block action will apply to subsequent requests.
49
51
 
50
52
  Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
51
- 'd' to represent time format (seconds, minutes, hours, or days)
53
+ 'd' to represent time format (seconds, minutes, hours, or days). Empty time
54
+ intervals are not allowed.
52
55
  """
53
56
 
54
57
  status_code: Optional[Literal[403, 405, 418, 429]]
@@ -56,7 +59,7 @@ class ActionBlock(TypedDict, total=False):
56
59
 
57
60
 
58
61
  class ActionTag(TypedDict, total=False):
59
- tags: Required[List[str]]
62
+ tags: Required[SequenceNotStr[str]]
60
63
  """The list of user defined tags to tag the request with"""
61
64
 
62
65
 
@@ -5,10 +5,10 @@ from __future__ import annotations
5
5
  from typing import Optional
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
- __all__ = ["ScanResultListParams"]
8
+ __all__ = ["APIDiscoveryListScanResultsParams"]
9
9
 
10
10
 
11
- class ScanResultListParams(TypedDict, total=False):
11
+ class APIDiscoveryListScanResultsParams(TypedDict, total=False):
12
12
  limit: int
13
13
  """Number of items to return"""
14
14
 
@@ -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 Literal, Required, TypedDict
7
6
 
7
+ from ...._types import SequenceNotStr
8
+
8
9
  __all__ = ["APIPathCreateParams"]
9
10
 
10
11
 
@@ -21,11 +22,11 @@ class APIPathCreateParams(TypedDict, total=False):
21
22
  brackets
22
23
  """
23
24
 
24
- api_groups: List[str]
25
+ api_groups: SequenceNotStr[str]
25
26
  """An array of api groups associated with the API path"""
26
27
 
27
28
  api_version: str
28
29
  """The API version"""
29
30
 
30
- tags: List[str]
31
+ tags: SequenceNotStr[str]
31
32
  """An array of tags associated with the API path"""
@@ -4,9 +4,9 @@ from typing import List
4
4
 
5
5
  from ...._models import BaseModel
6
6
 
7
- __all__ = ["APIPathGroupListResponse"]
7
+ __all__ = ["APIPathGroupList"]
8
8
 
9
9
 
10
- class APIPathGroupListResponse(BaseModel):
10
+ class APIPathGroupList(BaseModel):
11
11
  api_path_groups: List[str]
12
12
  """An array of api groups associated with the API path"""
@@ -5,6 +5,8 @@ from __future__ import annotations
5
5
  from typing import List, Optional
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
+ from ...._types import SequenceNotStr
9
+
8
10
  __all__ = ["APIPathListParams"]
9
11
 
10
12
 
@@ -18,7 +20,7 @@ class APIPathListParams(TypedDict, total=False):
18
20
  http_scheme: Optional[Literal["HTTP", "HTTPS"]]
19
21
  """The different HTTP schemes an API path can have"""
20
22
 
21
- ids: Optional[List[str]]
23
+ ids: Optional[SequenceNotStr[str]]
22
24
  """Filter by the path ID"""
23
25
 
24
26
  limit: int
@@ -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 Literal, Required, TypedDict
7
6
 
7
+ from ...._types import SequenceNotStr
8
+
8
9
  __all__ = ["APIPathUpdateParams"]
9
10
 
10
11
 
@@ -12,7 +13,7 @@ class APIPathUpdateParams(TypedDict, total=False):
12
13
  domain_id: Required[int]
13
14
  """The domain ID"""
14
15
 
15
- api_groups: List[str]
16
+ api_groups: SequenceNotStr[str]
16
17
  """An array of api groups associated with the API path"""
17
18
 
18
19
  path: str
@@ -23,7 +24,7 @@ class APIPathUpdateParams(TypedDict, total=False):
23
24
  """
24
25
 
25
26
  status: Literal["CONFIRMED_API", "POTENTIAL_API", "NOT_API", "DELISTED_API"]
26
- """The different statuses an API path can have"""
27
+ """The status of the discovered API path"""
27
28
 
28
- tags: List[str]
29
+ tags: SequenceNotStr[str]
29
30
  """An array of tags associated with the API path"""
@@ -5,6 +5,8 @@ from __future__ import annotations
5
5
  from typing import List, Iterable, Optional
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from ...._types import SequenceNotStr
9
+
8
10
  __all__ = [
9
11
  "CustomRuleCreateParams",
10
12
  "Action",
@@ -34,7 +36,7 @@ __all__ = [
34
36
 
35
37
  class CustomRuleCreateParams(TypedDict, total=False):
36
38
  action: Required[Action]
37
- """The action that a WAAP rule takes when triggered"""
39
+ """The action that the rule takes when triggered"""
38
40
 
39
41
  conditions: Required[Iterable[Condition]]
40
42
  """The conditions required for the WAAP engine to trigger the rule.
@@ -58,7 +60,8 @@ class ActionBlock(TypedDict, total=False):
58
60
  """How long a rule's block action will apply to subsequent requests.
59
61
 
60
62
  Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
61
- 'd' to represent time format (seconds, minutes, hours, or days)
63
+ 'd' to represent time format (seconds, minutes, hours, or days). Empty time
64
+ intervals are not allowed.
62
65
  """
63
66
 
64
67
  status_code: Optional[Literal[403, 405, 418, 429]]
@@ -66,7 +69,7 @@ class ActionBlock(TypedDict, total=False):
66
69
 
67
70
 
68
71
  class ActionTag(TypedDict, total=False):
69
- tags: Required[List[str]]
72
+ tags: Required[SequenceNotStr[str]]
70
73
  """The list of user defined tags to tag the request with"""
71
74
 
72
75
 
@@ -94,7 +97,7 @@ class Action(TypedDict, total=False):
94
97
 
95
98
 
96
99
  class ConditionContentType(TypedDict, total=False):
97
- content_type: Required[List[str]]
100
+ content_type: Required[SequenceNotStr[str]]
98
101
  """The list of content types to match against"""
99
102
 
100
103
  negation: bool
@@ -102,7 +105,7 @@ class ConditionContentType(TypedDict, total=False):
102
105
 
103
106
 
104
107
  class ConditionCountry(TypedDict, total=False):
105
- country_code: Required[List[str]]
108
+ country_code: Required[SequenceNotStr[str]]
106
109
  """
107
110
  A list of ISO 3166-1 alpha-2 formatted strings representing the countries to
108
111
  match against
@@ -113,7 +116,7 @@ class ConditionCountry(TypedDict, total=False):
113
116
 
114
117
 
115
118
  class ConditionFileExtension(TypedDict, total=False):
116
- file_extension: Required[List[str]]
119
+ file_extension: Required[SequenceNotStr[str]]
117
120
  """The list of file extensions to match against"""
118
121
 
119
122
  negation: bool
@@ -144,11 +147,7 @@ class ConditionHeaderExists(TypedDict, total=False):
144
147
 
145
148
  class ConditionHTTPMethod(TypedDict, total=False):
146
149
  http_method: Required[Literal["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"]]
147
- """HTTP methods and descriptions Methods from the following RFCs are all observed:
148
-
149
- - RFC 7231: Hypertext Transfer Protocol (HTTP/1.1), obsoletes 2616
150
- - RFC 5789: PATCH Method for HTTP
151
- """
150
+ """HTTP methods of a request"""
152
151
 
153
152
  negation: bool
154
153
  """Whether or not to apply a boolean NOT operation to the rule's condition"""
@@ -224,7 +223,7 @@ class ConditionRequestRate(TypedDict, total=False):
224
223
  ]
225
224
  """Possible HTTP request methods that can trigger a request rate condition"""
226
225
 
227
- ips: Optional[List[str]]
226
+ ips: Optional[SequenceNotStr[str]]
228
227
  """A list of source IPs that can trigger a request rate condition"""
229
228
 
230
229
  user_defined_tag: Optional[str]
@@ -265,7 +264,7 @@ class ConditionSessionRequestCount(TypedDict, total=False):
265
264
 
266
265
 
267
266
  class ConditionTags(TypedDict, total=False):
268
- tags: Required[List[str]]
267
+ tags: Required[SequenceNotStr[str]]
269
268
  """A list of tags to match against the request tags"""
270
269
 
271
270
  negation: bool
@@ -303,7 +302,7 @@ class ConditionUserAgent(TypedDict, total=False):
303
302
 
304
303
 
305
304
  class ConditionUserDefinedTags(TypedDict, total=False):
306
- tags: Required[List[str]]
305
+ tags: Required[SequenceNotStr[str]]
307
306
  """A list of user-defined tags to match against the request tags"""
308
307
 
309
308
  negation: bool
@@ -5,13 +5,11 @@ from __future__ import annotations
5
5
  from typing import Optional
6
6
  from typing_extensions import Literal, TypedDict
7
7
 
8
- from ..waap_rule_action_type import WaapRuleActionType
9
-
10
8
  __all__ = ["CustomRuleListParams"]
11
9
 
12
10
 
13
11
  class CustomRuleListParams(TypedDict, total=False):
14
- action: WaapRuleActionType
12
+ action: Literal["allow", "block", "captcha", "handshake", "monitor", "tag"]
15
13
  """Filter to refine results by specific actions"""
16
14
 
17
15
  description: str
@@ -5,6 +5,8 @@ from __future__ import annotations
5
5
  from typing import List, Iterable, Optional
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
+ from ...._types import SequenceNotStr
9
+
8
10
  __all__ = [
9
11
  "CustomRuleUpdateParams",
10
12
  "Action",
@@ -61,7 +63,8 @@ class ActionBlock(TypedDict, total=False):
61
63
  """How long a rule's block action will apply to subsequent requests.
62
64
 
63
65
  Can be specified in seconds or by using a numeral followed by 's', 'm', 'h', or
64
- 'd' to represent time format (seconds, minutes, hours, or days)
66
+ 'd' to represent time format (seconds, minutes, hours, or days). Empty time
67
+ intervals are not allowed.
65
68
  """
66
69
 
67
70
  status_code: Optional[Literal[403, 405, 418, 429]]
@@ -69,7 +72,7 @@ class ActionBlock(TypedDict, total=False):
69
72
 
70
73
 
71
74
  class ActionTag(TypedDict, total=False):
72
- tags: Required[List[str]]
75
+ tags: Required[SequenceNotStr[str]]
73
76
  """The list of user defined tags to tag the request with"""
74
77
 
75
78
 
@@ -97,7 +100,7 @@ class Action(TypedDict, total=False):
97
100
 
98
101
 
99
102
  class ConditionContentType(TypedDict, total=False):
100
- content_type: Required[List[str]]
103
+ content_type: Required[SequenceNotStr[str]]
101
104
  """The list of content types to match against"""
102
105
 
103
106
  negation: bool
@@ -105,7 +108,7 @@ class ConditionContentType(TypedDict, total=False):
105
108
 
106
109
 
107
110
  class ConditionCountry(TypedDict, total=False):
108
- country_code: Required[List[str]]
111
+ country_code: Required[SequenceNotStr[str]]
109
112
  """
110
113
  A list of ISO 3166-1 alpha-2 formatted strings representing the countries to
111
114
  match against
@@ -116,7 +119,7 @@ class ConditionCountry(TypedDict, total=False):
116
119
 
117
120
 
118
121
  class ConditionFileExtension(TypedDict, total=False):
119
- file_extension: Required[List[str]]
122
+ file_extension: Required[SequenceNotStr[str]]
120
123
  """The list of file extensions to match against"""
121
124
 
122
125
  negation: bool
@@ -147,11 +150,7 @@ class ConditionHeaderExists(TypedDict, total=False):
147
150
 
148
151
  class ConditionHTTPMethod(TypedDict, total=False):
149
152
  http_method: Required[Literal["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"]]
150
- """HTTP methods and descriptions Methods from the following RFCs are all observed:
151
-
152
- - RFC 7231: Hypertext Transfer Protocol (HTTP/1.1), obsoletes 2616
153
- - RFC 5789: PATCH Method for HTTP
154
- """
153
+ """HTTP methods of a request"""
155
154
 
156
155
  negation: bool
157
156
  """Whether or not to apply a boolean NOT operation to the rule's condition"""
@@ -227,7 +226,7 @@ class ConditionRequestRate(TypedDict, total=False):
227
226
  ]
228
227
  """Possible HTTP request methods that can trigger a request rate condition"""
229
228
 
230
- ips: Optional[List[str]]
229
+ ips: Optional[SequenceNotStr[str]]
231
230
  """A list of source IPs that can trigger a request rate condition"""
232
231
 
233
232
  user_defined_tag: Optional[str]
@@ -268,7 +267,7 @@ class ConditionSessionRequestCount(TypedDict, total=False):
268
267
 
269
268
 
270
269
  class ConditionTags(TypedDict, total=False):
271
- tags: Required[List[str]]
270
+ tags: Required[SequenceNotStr[str]]
272
271
  """A list of tags to match against the request tags"""
273
272
 
274
273
  negation: bool
@@ -306,7 +305,7 @@ class ConditionUserAgent(TypedDict, total=False):
306
305
 
307
306
 
308
307
  class ConditionUserDefinedTags(TypedDict, total=False):
309
- tags: Required[List[str]]
308
+ tags: Required[SequenceNotStr[str]]
310
309
  """A list of user-defined tags to match against the request tags"""
311
310
 
312
311
  negation: bool