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
@@ -7,7 +7,7 @@ from typing_extensions import Literal
7
7
 
8
8
  import httpx
9
9
 
10
- from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
10
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven, SequenceNotStr
11
11
  from ...._utils import maybe_transform, async_maybe_transform
12
12
  from ...._compat import cached_property
13
13
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -20,9 +20,7 @@ from ...._response import (
20
20
  from ....pagination import SyncOffsetPage, AsyncOffsetPage
21
21
  from ...._base_client import AsyncPaginator, make_request_options
22
22
  from ....types.waap.domains import api_path_list_params, api_path_create_params, api_path_update_params
23
- from ....types.waap.domains.api_path_get_response import APIPathGetResponse
24
- from ....types.waap.domains.api_path_list_response import APIPathListResponse
25
- from ....types.waap.domains.api_path_create_response import APIPathCreateResponse
23
+ from ....types.waap.domains.waap_api_path import WaapAPIPath
26
24
 
27
25
  __all__ = ["APIPathsResource", "AsyncAPIPathsResource"]
28
26
 
@@ -54,16 +52,16 @@ class APIPathsResource(SyncAPIResource):
54
52
  http_scheme: Literal["HTTP", "HTTPS"],
55
53
  method: Literal["GET", "POST", "PUT", "PATCH", "DELETE", "TRACE", "HEAD", "OPTIONS"],
56
54
  path: str,
57
- api_groups: List[str] | NotGiven = NOT_GIVEN,
55
+ api_groups: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
58
56
  api_version: str | NotGiven = NOT_GIVEN,
59
- tags: List[str] | NotGiven = NOT_GIVEN,
57
+ tags: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
60
58
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
61
59
  # The extra values given here take precedence over values defined on the client or passed to this method.
62
60
  extra_headers: Headers | None = None,
63
61
  extra_query: Query | None = None,
64
62
  extra_body: Body | None = None,
65
63
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
66
- ) -> APIPathCreateResponse:
64
+ ) -> WaapAPIPath:
67
65
  """
68
66
  Create an API path for a domain
69
67
 
@@ -107,7 +105,7 @@ class APIPathsResource(SyncAPIResource):
107
105
  options=make_request_options(
108
106
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
109
107
  ),
110
- cast_to=APIPathCreateResponse,
108
+ cast_to=WaapAPIPath,
111
109
  )
112
110
 
113
111
  def update(
@@ -115,10 +113,10 @@ class APIPathsResource(SyncAPIResource):
115
113
  path_id: str,
116
114
  *,
117
115
  domain_id: int,
118
- api_groups: List[str] | NotGiven = NOT_GIVEN,
116
+ api_groups: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
119
117
  path: str | NotGiven = NOT_GIVEN,
120
118
  status: Literal["CONFIRMED_API", "POTENTIAL_API", "NOT_API", "DELISTED_API"] | NotGiven = NOT_GIVEN,
121
- tags: List[str] | NotGiven = NOT_GIVEN,
119
+ tags: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
122
120
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
123
121
  # The extra values given here take precedence over values defined on the client or passed to this method.
124
122
  extra_headers: Headers | None = None,
@@ -139,7 +137,7 @@ class APIPathsResource(SyncAPIResource):
139
137
  path: The updated API path. When updating the path, variables can be renamed, path
140
138
  parts can be converted to variables and vice versa.
141
139
 
142
- status: The different statuses an API path can have
140
+ status: The status of the discovered API path
143
141
 
144
142
  tags: An array of tags associated with the API path
145
143
 
@@ -178,7 +176,7 @@ class APIPathsResource(SyncAPIResource):
178
176
  api_group: Optional[str] | NotGiven = NOT_GIVEN,
179
177
  api_version: Optional[str] | NotGiven = NOT_GIVEN,
180
178
  http_scheme: Optional[Literal["HTTP", "HTTPS"]] | NotGiven = NOT_GIVEN,
181
- ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
179
+ ids: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
182
180
  limit: int | NotGiven = NOT_GIVEN,
183
181
  method: Optional[Literal["GET", "POST", "PUT", "PATCH", "DELETE", "TRACE", "HEAD", "OPTIONS"]]
184
182
  | NotGiven = NOT_GIVEN,
@@ -214,7 +212,7 @@ class APIPathsResource(SyncAPIResource):
214
212
  extra_query: Query | None = None,
215
213
  extra_body: Body | None = None,
216
214
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
217
- ) -> SyncOffsetPage[APIPathListResponse]:
215
+ ) -> SyncOffsetPage[WaapAPIPath]:
218
216
  """
219
217
  Retrieve a list of API paths for a specific domain
220
218
 
@@ -253,7 +251,7 @@ class APIPathsResource(SyncAPIResource):
253
251
  """
254
252
  return self._get_api_list(
255
253
  f"/waap/v1/domains/{domain_id}/api-paths",
256
- page=SyncOffsetPage[APIPathListResponse],
254
+ page=SyncOffsetPage[WaapAPIPath],
257
255
  options=make_request_options(
258
256
  extra_headers=extra_headers,
259
257
  extra_query=extra_query,
@@ -276,7 +274,7 @@ class APIPathsResource(SyncAPIResource):
276
274
  api_path_list_params.APIPathListParams,
277
275
  ),
278
276
  ),
279
- model=APIPathListResponse,
277
+ model=WaapAPIPath,
280
278
  )
281
279
 
282
280
  def delete(
@@ -329,7 +327,7 @@ class APIPathsResource(SyncAPIResource):
329
327
  extra_query: Query | None = None,
330
328
  extra_body: Body | None = None,
331
329
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
332
- ) -> APIPathGetResponse:
330
+ ) -> WaapAPIPath:
333
331
  """
334
332
  Retrieve a specific API path for a domain
335
333
 
@@ -353,7 +351,7 @@ class APIPathsResource(SyncAPIResource):
353
351
  options=make_request_options(
354
352
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
355
353
  ),
356
- cast_to=APIPathGetResponse,
354
+ cast_to=WaapAPIPath,
357
355
  )
358
356
 
359
357
 
@@ -384,16 +382,16 @@ class AsyncAPIPathsResource(AsyncAPIResource):
384
382
  http_scheme: Literal["HTTP", "HTTPS"],
385
383
  method: Literal["GET", "POST", "PUT", "PATCH", "DELETE", "TRACE", "HEAD", "OPTIONS"],
386
384
  path: str,
387
- api_groups: List[str] | NotGiven = NOT_GIVEN,
385
+ api_groups: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
388
386
  api_version: str | NotGiven = NOT_GIVEN,
389
- tags: List[str] | NotGiven = NOT_GIVEN,
387
+ tags: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
390
388
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
391
389
  # The extra values given here take precedence over values defined on the client or passed to this method.
392
390
  extra_headers: Headers | None = None,
393
391
  extra_query: Query | None = None,
394
392
  extra_body: Body | None = None,
395
393
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
396
- ) -> APIPathCreateResponse:
394
+ ) -> WaapAPIPath:
397
395
  """
398
396
  Create an API path for a domain
399
397
 
@@ -437,7 +435,7 @@ class AsyncAPIPathsResource(AsyncAPIResource):
437
435
  options=make_request_options(
438
436
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
439
437
  ),
440
- cast_to=APIPathCreateResponse,
438
+ cast_to=WaapAPIPath,
441
439
  )
442
440
 
443
441
  async def update(
@@ -445,10 +443,10 @@ class AsyncAPIPathsResource(AsyncAPIResource):
445
443
  path_id: str,
446
444
  *,
447
445
  domain_id: int,
448
- api_groups: List[str] | NotGiven = NOT_GIVEN,
446
+ api_groups: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
449
447
  path: str | NotGiven = NOT_GIVEN,
450
448
  status: Literal["CONFIRMED_API", "POTENTIAL_API", "NOT_API", "DELISTED_API"] | NotGiven = NOT_GIVEN,
451
- tags: List[str] | NotGiven = NOT_GIVEN,
449
+ tags: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
452
450
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
453
451
  # The extra values given here take precedence over values defined on the client or passed to this method.
454
452
  extra_headers: Headers | None = None,
@@ -469,7 +467,7 @@ class AsyncAPIPathsResource(AsyncAPIResource):
469
467
  path: The updated API path. When updating the path, variables can be renamed, path
470
468
  parts can be converted to variables and vice versa.
471
469
 
472
- status: The different statuses an API path can have
470
+ status: The status of the discovered API path
473
471
 
474
472
  tags: An array of tags associated with the API path
475
473
 
@@ -508,7 +506,7 @@ class AsyncAPIPathsResource(AsyncAPIResource):
508
506
  api_group: Optional[str] | NotGiven = NOT_GIVEN,
509
507
  api_version: Optional[str] | NotGiven = NOT_GIVEN,
510
508
  http_scheme: Optional[Literal["HTTP", "HTTPS"]] | NotGiven = NOT_GIVEN,
511
- ids: Optional[List[str]] | NotGiven = NOT_GIVEN,
509
+ ids: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
512
510
  limit: int | NotGiven = NOT_GIVEN,
513
511
  method: Optional[Literal["GET", "POST", "PUT", "PATCH", "DELETE", "TRACE", "HEAD", "OPTIONS"]]
514
512
  | NotGiven = NOT_GIVEN,
@@ -544,7 +542,7 @@ class AsyncAPIPathsResource(AsyncAPIResource):
544
542
  extra_query: Query | None = None,
545
543
  extra_body: Body | None = None,
546
544
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
547
- ) -> AsyncPaginator[APIPathListResponse, AsyncOffsetPage[APIPathListResponse]]:
545
+ ) -> AsyncPaginator[WaapAPIPath, AsyncOffsetPage[WaapAPIPath]]:
548
546
  """
549
547
  Retrieve a list of API paths for a specific domain
550
548
 
@@ -583,7 +581,7 @@ class AsyncAPIPathsResource(AsyncAPIResource):
583
581
  """
584
582
  return self._get_api_list(
585
583
  f"/waap/v1/domains/{domain_id}/api-paths",
586
- page=AsyncOffsetPage[APIPathListResponse],
584
+ page=AsyncOffsetPage[WaapAPIPath],
587
585
  options=make_request_options(
588
586
  extra_headers=extra_headers,
589
587
  extra_query=extra_query,
@@ -606,7 +604,7 @@ class AsyncAPIPathsResource(AsyncAPIResource):
606
604
  api_path_list_params.APIPathListParams,
607
605
  ),
608
606
  ),
609
- model=APIPathListResponse,
607
+ model=WaapAPIPath,
610
608
  )
611
609
 
612
610
  async def delete(
@@ -659,7 +657,7 @@ class AsyncAPIPathsResource(AsyncAPIResource):
659
657
  extra_query: Query | None = None,
660
658
  extra_body: Body | None = None,
661
659
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
662
- ) -> APIPathGetResponse:
660
+ ) -> WaapAPIPath:
663
661
  """
664
662
  Retrieve a specific API path for a domain
665
663
 
@@ -683,7 +681,7 @@ class AsyncAPIPathsResource(AsyncAPIResource):
683
681
  options=make_request_options(
684
682
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
685
683
  ),
686
- cast_to=APIPathGetResponse,
684
+ cast_to=WaapAPIPath,
687
685
  )
688
686
 
689
687
 
@@ -18,7 +18,6 @@ from ...._response import (
18
18
  async_to_streamed_response_wrapper,
19
19
  )
20
20
  from ....pagination import SyncOffsetPage, AsyncOffsetPage
21
- from ....types.waap import WaapRuleActionType, WaapCustomerRuleState
22
21
  from ...._base_client import AsyncPaginator, make_request_options
23
22
  from ....types.waap.domains import (
24
23
  custom_rule_list_params,
@@ -26,9 +25,7 @@ from ....types.waap.domains import (
26
25
  custom_rule_update_params,
27
26
  custom_rule_delete_multiple_params,
28
27
  )
29
- from ....types.waap.waap_custom_rule import WaapCustomRule
30
- from ....types.waap.waap_rule_action_type import WaapRuleActionType
31
- from ....types.waap.waap_customer_rule_state import WaapCustomerRuleState
28
+ from ....types.waap.domains.waap_custom_rule import WaapCustomRule
32
29
 
33
30
  __all__ = ["CustomRulesResource", "AsyncCustomRulesResource"]
34
31
 
@@ -75,7 +72,7 @@ class CustomRulesResource(SyncAPIResource):
75
72
  Args:
76
73
  domain_id: The domain ID
77
74
 
78
- action: The action that a WAAP rule takes when triggered
75
+ action: The action that the rule takes when triggered
79
76
 
80
77
  conditions: The conditions required for the WAAP engine to trigger the rule. Rules may have
81
78
  between 1 and 5 conditions. All conditions must pass for the rule to trigger
@@ -179,7 +176,7 @@ class CustomRulesResource(SyncAPIResource):
179
176
  self,
180
177
  domain_id: int,
181
178
  *,
182
- action: WaapRuleActionType | NotGiven = NOT_GIVEN,
179
+ action: Literal["allow", "block", "captcha", "handshake", "monitor", "tag"] | NotGiven = NOT_GIVEN,
183
180
  description: str | NotGiven = NOT_GIVEN,
184
181
  enabled: bool | NotGiven = NOT_GIVEN,
185
182
  limit: int | NotGiven = NOT_GIVEN,
@@ -366,7 +363,7 @@ class CustomRulesResource(SyncAPIResource):
366
363
 
367
364
  def toggle(
368
365
  self,
369
- action: WaapCustomerRuleState,
366
+ action: Literal["enable", "disable"],
370
367
  *,
371
368
  domain_id: int,
372
369
  rule_id: int,
@@ -449,7 +446,7 @@ class AsyncCustomRulesResource(AsyncAPIResource):
449
446
  Args:
450
447
  domain_id: The domain ID
451
448
 
452
- action: The action that a WAAP rule takes when triggered
449
+ action: The action that the rule takes when triggered
453
450
 
454
451
  conditions: The conditions required for the WAAP engine to trigger the rule. Rules may have
455
452
  between 1 and 5 conditions. All conditions must pass for the rule to trigger
@@ -553,7 +550,7 @@ class AsyncCustomRulesResource(AsyncAPIResource):
553
550
  self,
554
551
  domain_id: int,
555
552
  *,
556
- action: WaapRuleActionType | NotGiven = NOT_GIVEN,
553
+ action: Literal["allow", "block", "captcha", "handshake", "monitor", "tag"] | NotGiven = NOT_GIVEN,
557
554
  description: str | NotGiven = NOT_GIVEN,
558
555
  enabled: bool | NotGiven = NOT_GIVEN,
559
556
  limit: int | NotGiven = NOT_GIVEN,
@@ -740,7 +737,7 @@ class AsyncCustomRulesResource(AsyncAPIResource):
740
737
 
741
738
  async def toggle(
742
739
  self,
743
- action: WaapCustomerRuleState,
740
+ action: Literal["enable", "disable"],
744
741
  *,
745
742
  domain_id: int,
746
743
  rule_id: int,
@@ -15,14 +15,6 @@ from .insights import (
15
15
  InsightsResourceWithStreamingResponse,
16
16
  AsyncInsightsResourceWithStreamingResponse,
17
17
  )
18
- from .policies import (
19
- PoliciesResource,
20
- AsyncPoliciesResource,
21
- PoliciesResourceWithRawResponse,
22
- AsyncPoliciesResourceWithRawResponse,
23
- PoliciesResourceWithStreamingResponse,
24
- AsyncPoliciesResourceWithStreamingResponse,
25
- )
26
18
  from .settings import (
27
19
  SettingsResource,
28
20
  AsyncSettingsResource,
@@ -42,6 +34,14 @@ from .api_paths import (
42
34
  AsyncAPIPathsResourceWithStreamingResponse,
43
35
  )
44
36
  from ...._compat import cached_property
37
+ from .statistics import (
38
+ StatisticsResource,
39
+ AsyncStatisticsResource,
40
+ StatisticsResourceWithRawResponse,
41
+ AsyncStatisticsResourceWithRawResponse,
42
+ StatisticsResourceWithStreamingResponse,
43
+ AsyncStatisticsResourceWithStreamingResponse,
44
+ )
45
45
  from ...._resource import SyncAPIResource, AsyncAPIResource
46
46
  from ...._response import (
47
47
  to_raw_response_wrapper,
@@ -58,7 +58,15 @@ from .custom_rules import (
58
58
  AsyncCustomRulesResourceWithStreamingResponse,
59
59
  )
60
60
  from ....pagination import SyncOffsetPage, AsyncOffsetPage
61
- from ....types.waap import WaapDomainStatus, domain_list_params, domain_update_params
61
+ from ....types.waap import domain_list_params, domain_update_params
62
+ from .api_discovery import (
63
+ APIDiscoveryResource,
64
+ AsyncAPIDiscoveryResource,
65
+ APIDiscoveryResourceWithRawResponse,
66
+ AsyncAPIDiscoveryResourceWithRawResponse,
67
+ APIDiscoveryResourceWithStreamingResponse,
68
+ AsyncAPIDiscoveryResourceWithStreamingResponse,
69
+ )
62
70
  from .advanced_rules import (
63
71
  AdvancedRulesResource,
64
72
  AsyncAdvancedRulesResource,
@@ -92,23 +100,7 @@ from .insight_silences import (
92
100
  InsightSilencesResourceWithStreamingResponse,
93
101
  AsyncInsightSilencesResourceWithStreamingResponse,
94
102
  )
95
- from .analytics.analytics import (
96
- AnalyticsResource,
97
- AsyncAnalyticsResource,
98
- AnalyticsResourceWithRawResponse,
99
- AsyncAnalyticsResourceWithRawResponse,
100
- AnalyticsResourceWithStreamingResponse,
101
- AsyncAnalyticsResourceWithStreamingResponse,
102
- )
103
- from .api_discovery.api_discovery import (
104
- APIDiscoveryResource,
105
- AsyncAPIDiscoveryResource,
106
- APIDiscoveryResourceWithRawResponse,
107
- AsyncAPIDiscoveryResourceWithRawResponse,
108
- APIDiscoveryResourceWithStreamingResponse,
109
- AsyncAPIDiscoveryResourceWithStreamingResponse,
110
- )
111
- from ....types.waap.waap_domain_status import WaapDomainStatus
103
+ from ....types.waap.waap_policy_mode import WaapPolicyMode
112
104
  from ....types.waap.waap_summary_domain import WaapSummaryDomain
113
105
  from ....types.waap.waap_detailed_domain import WaapDetailedDomain
114
106
  from ....types.waap.domain_list_rule_sets_response import DomainListRuleSetsResponse
@@ -142,12 +134,8 @@ class DomainsResource(SyncAPIResource):
142
134
  return InsightSilencesResource(self._client)
143
135
 
144
136
  @cached_property
145
- def policies(self) -> PoliciesResource:
146
- return PoliciesResource(self._client)
147
-
148
- @cached_property
149
- def analytics(self) -> AnalyticsResource:
150
- return AnalyticsResource(self._client)
137
+ def statistics(self) -> StatisticsResource:
138
+ return StatisticsResource(self._client)
151
139
 
152
140
  @cached_property
153
141
  def custom_rules(self) -> CustomRulesResource:
@@ -198,7 +186,7 @@ class DomainsResource(SyncAPIResource):
198
186
  Args:
199
187
  domain_id: The domain ID
200
188
 
201
- status: Domain statuses that can be used when updating a domain
189
+ status: The current status of the domain
202
190
 
203
191
  extra_headers: Send extra headers
204
192
 
@@ -227,7 +215,7 @@ class DomainsResource(SyncAPIResource):
227
215
  offset: int | NotGiven = NOT_GIVEN,
228
216
  ordering: Literal["id", "name", "status", "created_at", "-id", "-name", "-status", "-created_at"]
229
217
  | NotGiven = NOT_GIVEN,
230
- status: WaapDomainStatus | NotGiven = NOT_GIVEN,
218
+ status: Literal["active", "bypass", "monitor", "locked"] | NotGiven = NOT_GIVEN,
231
219
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
232
220
  # The extra values given here take precedence over values defined on the client or passed to this method.
233
221
  extra_headers: Headers | None = None,
@@ -249,7 +237,7 @@ class DomainsResource(SyncAPIResource):
249
237
 
250
238
  ordering: Sort the response by given field.
251
239
 
252
- status: The different statuses a domain can have
240
+ status: Filter domains based on the domain status
253
241
 
254
242
  extra_headers: Send extra headers
255
243
 
@@ -384,6 +372,44 @@ class DomainsResource(SyncAPIResource):
384
372
  cast_to=DomainListRuleSetsResponse,
385
373
  )
386
374
 
375
+ def toggle_policy(
376
+ self,
377
+ policy_id: str,
378
+ *,
379
+ domain_id: int,
380
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
381
+ # The extra values given here take precedence over values defined on the client or passed to this method.
382
+ extra_headers: Headers | None = None,
383
+ extra_query: Query | None = None,
384
+ extra_body: Body | None = None,
385
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
386
+ ) -> WaapPolicyMode:
387
+ """
388
+ Modify the activation state of a policy associated with a domain
389
+
390
+ Args:
391
+ domain_id: The domain ID
392
+
393
+ policy_id: The ID of the policy to toggle
394
+
395
+ extra_headers: Send extra headers
396
+
397
+ extra_query: Add additional query parameters to the request
398
+
399
+ extra_body: Add additional JSON properties to the request
400
+
401
+ timeout: Override the client-level default timeout for this request, in seconds
402
+ """
403
+ if not policy_id:
404
+ raise ValueError(f"Expected a non-empty value for `policy_id` but received {policy_id!r}")
405
+ return self._patch(
406
+ f"/waap/v1/domains/{domain_id}/policies/{policy_id}/toggle",
407
+ options=make_request_options(
408
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
409
+ ),
410
+ cast_to=WaapPolicyMode,
411
+ )
412
+
387
413
 
388
414
  class AsyncDomainsResource(AsyncAPIResource):
389
415
  @cached_property
@@ -411,12 +437,8 @@ class AsyncDomainsResource(AsyncAPIResource):
411
437
  return AsyncInsightSilencesResource(self._client)
412
438
 
413
439
  @cached_property
414
- def policies(self) -> AsyncPoliciesResource:
415
- return AsyncPoliciesResource(self._client)
416
-
417
- @cached_property
418
- def analytics(self) -> AsyncAnalyticsResource:
419
- return AsyncAnalyticsResource(self._client)
440
+ def statistics(self) -> AsyncStatisticsResource:
441
+ return AsyncStatisticsResource(self._client)
420
442
 
421
443
  @cached_property
422
444
  def custom_rules(self) -> AsyncCustomRulesResource:
@@ -467,7 +489,7 @@ class AsyncDomainsResource(AsyncAPIResource):
467
489
  Args:
468
490
  domain_id: The domain ID
469
491
 
470
- status: Domain statuses that can be used when updating a domain
492
+ status: The current status of the domain
471
493
 
472
494
  extra_headers: Send extra headers
473
495
 
@@ -496,7 +518,7 @@ class AsyncDomainsResource(AsyncAPIResource):
496
518
  offset: int | NotGiven = NOT_GIVEN,
497
519
  ordering: Literal["id", "name", "status", "created_at", "-id", "-name", "-status", "-created_at"]
498
520
  | NotGiven = NOT_GIVEN,
499
- status: WaapDomainStatus | NotGiven = NOT_GIVEN,
521
+ status: Literal["active", "bypass", "monitor", "locked"] | NotGiven = NOT_GIVEN,
500
522
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
501
523
  # The extra values given here take precedence over values defined on the client or passed to this method.
502
524
  extra_headers: Headers | None = None,
@@ -518,7 +540,7 @@ class AsyncDomainsResource(AsyncAPIResource):
518
540
 
519
541
  ordering: Sort the response by given field.
520
542
 
521
- status: The different statuses a domain can have
543
+ status: Filter domains based on the domain status
522
544
 
523
545
  extra_headers: Send extra headers
524
546
 
@@ -653,6 +675,44 @@ class AsyncDomainsResource(AsyncAPIResource):
653
675
  cast_to=DomainListRuleSetsResponse,
654
676
  )
655
677
 
678
+ async def toggle_policy(
679
+ self,
680
+ policy_id: str,
681
+ *,
682
+ domain_id: int,
683
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
684
+ # The extra values given here take precedence over values defined on the client or passed to this method.
685
+ extra_headers: Headers | None = None,
686
+ extra_query: Query | None = None,
687
+ extra_body: Body | None = None,
688
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
689
+ ) -> WaapPolicyMode:
690
+ """
691
+ Modify the activation state of a policy associated with a domain
692
+
693
+ Args:
694
+ domain_id: The domain ID
695
+
696
+ policy_id: The ID of the policy to toggle
697
+
698
+ extra_headers: Send extra headers
699
+
700
+ extra_query: Add additional query parameters to the request
701
+
702
+ extra_body: Add additional JSON properties to the request
703
+
704
+ timeout: Override the client-level default timeout for this request, in seconds
705
+ """
706
+ if not policy_id:
707
+ raise ValueError(f"Expected a non-empty value for `policy_id` but received {policy_id!r}")
708
+ return await self._patch(
709
+ f"/waap/v1/domains/{domain_id}/policies/{policy_id}/toggle",
710
+ options=make_request_options(
711
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
712
+ ),
713
+ cast_to=WaapPolicyMode,
714
+ )
715
+
656
716
 
657
717
  class DomainsResourceWithRawResponse:
658
718
  def __init__(self, domains: DomainsResource) -> None:
@@ -673,6 +733,9 @@ class DomainsResourceWithRawResponse:
673
733
  self.list_rule_sets = to_raw_response_wrapper(
674
734
  domains.list_rule_sets,
675
735
  )
736
+ self.toggle_policy = to_raw_response_wrapper(
737
+ domains.toggle_policy,
738
+ )
676
739
 
677
740
  @cached_property
678
741
  def settings(self) -> SettingsResourceWithRawResponse:
@@ -699,12 +762,8 @@ class DomainsResourceWithRawResponse:
699
762
  return InsightSilencesResourceWithRawResponse(self._domains.insight_silences)
700
763
 
701
764
  @cached_property
702
- def policies(self) -> PoliciesResourceWithRawResponse:
703
- return PoliciesResourceWithRawResponse(self._domains.policies)
704
-
705
- @cached_property
706
- def analytics(self) -> AnalyticsResourceWithRawResponse:
707
- return AnalyticsResourceWithRawResponse(self._domains.analytics)
765
+ def statistics(self) -> StatisticsResourceWithRawResponse:
766
+ return StatisticsResourceWithRawResponse(self._domains.statistics)
708
767
 
709
768
  @cached_property
710
769
  def custom_rules(self) -> CustomRulesResourceWithRawResponse:
@@ -738,6 +797,9 @@ class AsyncDomainsResourceWithRawResponse:
738
797
  self.list_rule_sets = async_to_raw_response_wrapper(
739
798
  domains.list_rule_sets,
740
799
  )
800
+ self.toggle_policy = async_to_raw_response_wrapper(
801
+ domains.toggle_policy,
802
+ )
741
803
 
742
804
  @cached_property
743
805
  def settings(self) -> AsyncSettingsResourceWithRawResponse:
@@ -764,12 +826,8 @@ class AsyncDomainsResourceWithRawResponse:
764
826
  return AsyncInsightSilencesResourceWithRawResponse(self._domains.insight_silences)
765
827
 
766
828
  @cached_property
767
- def policies(self) -> AsyncPoliciesResourceWithRawResponse:
768
- return AsyncPoliciesResourceWithRawResponse(self._domains.policies)
769
-
770
- @cached_property
771
- def analytics(self) -> AsyncAnalyticsResourceWithRawResponse:
772
- return AsyncAnalyticsResourceWithRawResponse(self._domains.analytics)
829
+ def statistics(self) -> AsyncStatisticsResourceWithRawResponse:
830
+ return AsyncStatisticsResourceWithRawResponse(self._domains.statistics)
773
831
 
774
832
  @cached_property
775
833
  def custom_rules(self) -> AsyncCustomRulesResourceWithRawResponse:
@@ -803,6 +861,9 @@ class DomainsResourceWithStreamingResponse:
803
861
  self.list_rule_sets = to_streamed_response_wrapper(
804
862
  domains.list_rule_sets,
805
863
  )
864
+ self.toggle_policy = to_streamed_response_wrapper(
865
+ domains.toggle_policy,
866
+ )
806
867
 
807
868
  @cached_property
808
869
  def settings(self) -> SettingsResourceWithStreamingResponse:
@@ -829,12 +890,8 @@ class DomainsResourceWithStreamingResponse:
829
890
  return InsightSilencesResourceWithStreamingResponse(self._domains.insight_silences)
830
891
 
831
892
  @cached_property
832
- def policies(self) -> PoliciesResourceWithStreamingResponse:
833
- return PoliciesResourceWithStreamingResponse(self._domains.policies)
834
-
835
- @cached_property
836
- def analytics(self) -> AnalyticsResourceWithStreamingResponse:
837
- return AnalyticsResourceWithStreamingResponse(self._domains.analytics)
893
+ def statistics(self) -> StatisticsResourceWithStreamingResponse:
894
+ return StatisticsResourceWithStreamingResponse(self._domains.statistics)
838
895
 
839
896
  @cached_property
840
897
  def custom_rules(self) -> CustomRulesResourceWithStreamingResponse:
@@ -868,6 +925,9 @@ class AsyncDomainsResourceWithStreamingResponse:
868
925
  self.list_rule_sets = async_to_streamed_response_wrapper(
869
926
  domains.list_rule_sets,
870
927
  )
928
+ self.toggle_policy = async_to_streamed_response_wrapper(
929
+ domains.toggle_policy,
930
+ )
871
931
 
872
932
  @cached_property
873
933
  def settings(self) -> AsyncSettingsResourceWithStreamingResponse:
@@ -894,12 +954,8 @@ class AsyncDomainsResourceWithStreamingResponse:
894
954
  return AsyncInsightSilencesResourceWithStreamingResponse(self._domains.insight_silences)
895
955
 
896
956
  @cached_property
897
- def policies(self) -> AsyncPoliciesResourceWithStreamingResponse:
898
- return AsyncPoliciesResourceWithStreamingResponse(self._domains.policies)
899
-
900
- @cached_property
901
- def analytics(self) -> AsyncAnalyticsResourceWithStreamingResponse:
902
- return AsyncAnalyticsResourceWithStreamingResponse(self._domains.analytics)
957
+ def statistics(self) -> AsyncStatisticsResourceWithStreamingResponse:
958
+ return AsyncStatisticsResourceWithStreamingResponse(self._domains.statistics)
903
959
 
904
960
  @cached_property
905
961
  def custom_rules(self) -> AsyncCustomRulesResourceWithStreamingResponse: