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
@@ -0,0 +1,186 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ...._models import BaseModel
8
+
9
+ __all__ = ["WaapRequestDetails", "CommonTag", "Network", "NetworkOrganization", "PatternMatchedTag", "UserAgent"]
10
+
11
+
12
+ class CommonTag(BaseModel):
13
+ description: str
14
+ """Tag description information"""
15
+
16
+ display_name: str
17
+ """The tag's display name"""
18
+
19
+ tag: str
20
+ """Tag name"""
21
+
22
+
23
+ class NetworkOrganization(BaseModel):
24
+ name: str
25
+ """Organization name"""
26
+
27
+ subnet: str
28
+ """Network range"""
29
+
30
+
31
+ class Network(BaseModel):
32
+ client_ip: str
33
+ """Client IP"""
34
+
35
+ country: str
36
+ """Country code"""
37
+
38
+ organization: NetworkOrganization
39
+ """Organization details"""
40
+
41
+
42
+ class PatternMatchedTag(BaseModel):
43
+ description: str
44
+ """Tag description information"""
45
+
46
+ display_name: str
47
+ """The tag's display name"""
48
+
49
+ execution_phase: str
50
+ """
51
+ The phase in which the tag was triggered: access -> Request, `header_filter` ->
52
+ `response_header`, `body_filter` -> `response_body`
53
+ """
54
+
55
+ field: str
56
+ """The entity to which the variable that triggered the tag belong to.
57
+
58
+ For example: `request_headers`, uri, cookies etc.
59
+ """
60
+
61
+ field_name: str
62
+ """The name of the variable which holds the value that triggered the tag"""
63
+
64
+ pattern_name: str
65
+ """The name of the detected regexp pattern"""
66
+
67
+ pattern_value: str
68
+ """The pattern which triggered the tag"""
69
+
70
+ tag: str
71
+ """Tag name"""
72
+
73
+
74
+ class UserAgent(BaseModel):
75
+ base_browser: str
76
+ """User agent browser"""
77
+
78
+ base_browser_version: str
79
+ """User agent browser version"""
80
+
81
+ client: str
82
+ """Client from User agent header"""
83
+
84
+ client_type: str
85
+ """User agent client type"""
86
+
87
+ client_version: str
88
+ """User agent client version"""
89
+
90
+ cpu: str
91
+ """User agent cpu"""
92
+
93
+ device: str
94
+ """User agent device"""
95
+
96
+ device_type: str
97
+ """User agent device type"""
98
+
99
+ full_string: str
100
+ """User agent"""
101
+
102
+ os: str
103
+ """User agent os"""
104
+
105
+ rendering_engine: str
106
+ """User agent engine"""
107
+
108
+
109
+ class WaapRequestDetails(BaseModel):
110
+ id: str
111
+ """Request ID"""
112
+
113
+ action: str
114
+ """Request action"""
115
+
116
+ common_tags: List[CommonTag]
117
+ """List of common tags"""
118
+
119
+ content_type: str
120
+ """Content type of request"""
121
+
122
+ domain: str
123
+ """Domain name"""
124
+
125
+ http_status_code: int
126
+ """Status code for http request"""
127
+
128
+ http_version: str
129
+ """HTTP version of request"""
130
+
131
+ incident_id: str
132
+ """ID of challenge that was generated"""
133
+
134
+ method: str
135
+ """Request method"""
136
+
137
+ network: Network
138
+ """Network details"""
139
+
140
+ path: str
141
+ """Request path"""
142
+
143
+ pattern_matched_tags: List[PatternMatchedTag]
144
+ """List of shield tags"""
145
+
146
+ query_string: str
147
+ """The query string of the request"""
148
+
149
+ reference_id: str
150
+ """Reference ID to identify user sanction"""
151
+
152
+ request_headers: Dict[str, object]
153
+ """HTTP request headers"""
154
+
155
+ request_time: datetime
156
+ """The time of the request"""
157
+
158
+ request_type: str
159
+ """The type of the request that generated an event"""
160
+
161
+ requested_domain: str
162
+ """The real domain name"""
163
+
164
+ response_time: str
165
+ """Time took to process all request"""
166
+
167
+ result: Literal["passed", "blocked", "suppressed", ""]
168
+ """The result of a request"""
169
+
170
+ rule_id: str
171
+ """ID of the triggered rule"""
172
+
173
+ rule_name: str
174
+ """Name of the triggered rule"""
175
+
176
+ scheme: str
177
+ """The HTTP scheme of the request that generated an event"""
178
+
179
+ session_request_count: str
180
+ """The number requests in session"""
181
+
182
+ traffic_types: List[str]
183
+ """List of traffic types"""
184
+
185
+ user_agent: UserAgent
186
+ """User agent"""
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing_extensions import Literal
4
4
 
5
- from ..._models import BaseModel
5
+ from ...._models import BaseModel
6
6
 
7
7
  __all__ = ["WaapRequestSummary"]
8
8
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  from ...._models import BaseModel
4
4
 
5
- __all__ = ["APIDiscoveryScanOpenAPIResponse"]
5
+ __all__ = ["WaapTaskID"]
6
6
 
7
7
 
8
- class APIDiscoveryScanOpenAPIResponse(BaseModel):
8
+ class WaapTaskID(BaseModel):
9
9
  id: str
10
10
  """The task ID"""
@@ -4,7 +4,7 @@ from typing import Optional
4
4
 
5
5
  from pydantic import Field as FieldInfo
6
6
 
7
- from ..._models import BaseModel
7
+ from ...._models import BaseModel
8
8
 
9
9
  __all__ = ["WaapTrafficMetrics"]
10
10
 
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import Literal, TypedDict
7
+
8
+ __all__ = ["InsightListTypesParams"]
9
+
10
+
11
+ class InsightListTypesParams(TypedDict, total=False):
12
+ insight_frequency: Optional[int]
13
+ """Filter by the frequency of the insight type"""
14
+
15
+ limit: int
16
+ """Number of items to return"""
17
+
18
+ name: Optional[str]
19
+ """Filter by the name of the insight type"""
20
+
21
+ offset: int
22
+ """Number of items to skip"""
23
+
24
+ ordering: Literal["name", "-name", "slug", "-slug", "insight_frequency", "-insight_frequency"]
25
+ """Sort the response by given field."""
26
+
27
+ slug: Optional[str]
28
+ """Filter by the slug of the insight type"""
@@ -0,0 +1,6 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .metric_list_params import MetricListParams as MetricListParams
6
+ from .waap_ip_info_counts import WaapIPInfoCounts as WaapIPInfoCounts
@@ -5,10 +5,10 @@ from __future__ import annotations
5
5
  from typing import Optional
6
6
  from typing_extensions import Required, TypedDict
7
7
 
8
- __all__ = ["IPInfoGetCountsParams"]
8
+ __all__ = ["MetricListParams"]
9
9
 
10
10
 
11
- class IPInfoGetCountsParams(TypedDict, total=False):
11
+ class MetricListParams(TypedDict, total=False):
12
12
  ip: Required[str]
13
13
  """The IP address to check"""
14
14
 
@@ -1,6 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from ..._models import BaseModel
3
+ from ...._models import BaseModel
4
4
 
5
5
  __all__ = ["WaapIPInfoCounts"]
6
6
 
@@ -4,9 +4,9 @@ from __future__ import annotations
4
4
 
5
5
  from typing_extensions import Required, TypedDict
6
6
 
7
- __all__ = ["IPInfoGetParams"]
7
+ __all__ = ["IPInfoGetIPInfoParams"]
8
8
 
9
9
 
10
- class IPInfoGetParams(TypedDict, total=False):
10
+ class IPInfoGetIPInfoParams(TypedDict, total=False):
11
11
  ip: Required[str]
12
12
  """The IP address to check"""
@@ -5,7 +5,7 @@ from typing_extensions import Literal
5
5
 
6
6
  from ..._models import BaseModel
7
7
 
8
- __all__ = ["WaapIPInfo", "Whois"]
8
+ __all__ = ["IPInfoGetIPInfoResponse", "Whois"]
9
9
 
10
10
 
11
11
  class Whois(BaseModel):
@@ -46,7 +46,7 @@ class Whois(BaseModel):
46
46
  """The state"""
47
47
 
48
48
 
49
- class WaapIPInfo(BaseModel):
49
+ class IPInfoGetIPInfoResponse(BaseModel):
50
50
  risk_score: Literal["NO_RISK", "LOW", "MEDIUM", "HIGH", "EXTREME", "NOT_ENOUGH_DATA"]
51
51
  """The risk score of the IP address"""
52
52
 
@@ -3,8 +3,17 @@
3
3
  from typing import List
4
4
  from typing_extensions import TypeAlias
5
5
 
6
- from .waap_top_url import WaapTopURL
6
+ from ..._models import BaseModel
7
7
 
8
- __all__ = ["IPInfoGetTopURLsResponse"]
8
+ __all__ = ["IPInfoGetTopURLsResponse", "IPInfoGetTopURLsResponseItem"]
9
9
 
10
- IPInfoGetTopURLsResponse: TypeAlias = List[WaapTopURL]
10
+
11
+ class IPInfoGetTopURLsResponseItem(BaseModel):
12
+ count: int
13
+ """The number of attacks to the URL"""
14
+
15
+ url: str
16
+ """The URL that was attacked"""
17
+
18
+
19
+ IPInfoGetTopURLsResponse: TypeAlias = List[IPInfoGetTopURLsResponseItem]
@@ -4,10 +4,10 @@ from __future__ import annotations
4
4
 
5
5
  from typing_extensions import Required, TypedDict
6
6
 
7
- __all__ = ["IPInfoGetTopSessionsParams"]
7
+ __all__ = ["IPInfoGetTopUserSessionsParams"]
8
8
 
9
9
 
10
- class IPInfoGetTopSessionsParams(TypedDict, total=False):
10
+ class IPInfoGetTopUserSessionsParams(TypedDict, total=False):
11
11
  domain_id: Required[int]
12
12
  """The identifier for a domain.
13
13
 
@@ -5,6 +5,6 @@ from typing_extensions import TypeAlias
5
5
 
6
6
  from .waap_top_session import WaapTopSession
7
7
 
8
- __all__ = ["IPInfoGetTopSessionsResponse"]
8
+ __all__ = ["IPInfoGetTopUserSessionsResponse"]
9
9
 
10
- IPInfoGetTopSessionsResponse: TypeAlias = List[WaapTopSession]
10
+ IPInfoGetTopUserSessionsResponse: TypeAlias = List[WaapTopSession]
@@ -3,14 +3,114 @@
3
3
  from typing import List, Optional
4
4
 
5
5
  from ..._models import BaseModel
6
- from .waap_block_page_data import WaapBlockPageData
7
- from .waap_captcha_page_data import WaapCaptchaPageData
8
- from .waap_handshake_page_data import WaapHandshakePageData
9
- from .waap_block_csrf_page_data import WaapBlockCsrfPageData
10
- from .waap_cookie_disabled_page_data import WaapCookieDisabledPageData
11
- from .waap_javascript_disabled_page_data import WaapJavascriptDisabledPageData
12
6
 
13
- __all__ = ["WaapCustomPageSet"]
7
+ __all__ = ["WaapCustomPageSet", "Block", "BlockCsrf", "Captcha", "CookieDisabled", "Handshake", "JavascriptDisabled"]
8
+
9
+
10
+ class Block(BaseModel):
11
+ enabled: bool
12
+ """Indicates whether the custom custom page is active or inactive"""
13
+
14
+ header: Optional[str] = None
15
+ """The text to display in the header of the custom page"""
16
+
17
+ logo: Optional[str] = None
18
+ """
19
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
20
+ height 130px. This should be a base 64 encoding of the full HTML img tag
21
+ compatible image, with the header included.
22
+ """
23
+
24
+ text: Optional[str] = None
25
+ """The text to display in the body of the custom page"""
26
+
27
+ title: Optional[str] = None
28
+ """The text to display in the title of the custom page"""
29
+
30
+
31
+ class BlockCsrf(BaseModel):
32
+ enabled: bool
33
+ """Indicates whether the custom custom page is active or inactive"""
34
+
35
+ header: Optional[str] = None
36
+ """The text to display in the header of the custom page"""
37
+
38
+ logo: Optional[str] = None
39
+ """
40
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
41
+ height 130px. This should be a base 64 encoding of the full HTML img tag
42
+ compatible image, with the header included.
43
+ """
44
+
45
+ text: Optional[str] = None
46
+ """The text to display in the body of the custom page"""
47
+
48
+ title: Optional[str] = None
49
+ """The text to display in the title of the custom page"""
50
+
51
+
52
+ class Captcha(BaseModel):
53
+ enabled: bool
54
+ """Indicates whether the custom custom page is active or inactive"""
55
+
56
+ error: Optional[str] = None
57
+ """Error message"""
58
+
59
+ header: Optional[str] = None
60
+ """The text to display in the header of the custom page"""
61
+
62
+ logo: Optional[str] = None
63
+ """
64
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
65
+ height 130px. This should be a base 64 encoding of the full HTML img tag
66
+ compatible image, with the header included.
67
+ """
68
+
69
+ text: Optional[str] = None
70
+ """The text to display in the body of the custom page"""
71
+
72
+ title: Optional[str] = None
73
+ """The text to display in the title of the custom page"""
74
+
75
+
76
+ class CookieDisabled(BaseModel):
77
+ enabled: bool
78
+ """Indicates whether the custom custom page is active or inactive"""
79
+
80
+ header: Optional[str] = None
81
+ """The text to display in the header of the custom page"""
82
+
83
+ text: Optional[str] = None
84
+ """The text to display in the body of the custom page"""
85
+
86
+
87
+ class Handshake(BaseModel):
88
+ enabled: bool
89
+ """Indicates whether the custom custom page is active or inactive"""
90
+
91
+ header: Optional[str] = None
92
+ """The text to display in the header of the custom page"""
93
+
94
+ logo: Optional[str] = None
95
+ """
96
+ Supported image types are JPEG, PNG and JPG, size is limited to width 450px,
97
+ height 130px. This should be a base 64 encoding of the full HTML img tag
98
+ compatible image, with the header included.
99
+ """
100
+
101
+ title: Optional[str] = None
102
+ """The text to display in the title of the custom page"""
103
+
104
+
105
+ class JavascriptDisabled(BaseModel):
106
+ enabled: bool
107
+ """Indicates whether the custom custom page is active or inactive"""
108
+
109
+ header: Optional[str] = None
110
+ """The text to display in the header of the custom page"""
111
+
112
+ text: Optional[str] = None
113
+ """The text to display in the body of the custom page"""
14
114
 
15
115
 
16
116
  class WaapCustomPageSet(BaseModel):
@@ -20,17 +120,17 @@ class WaapCustomPageSet(BaseModel):
20
120
  name: str
21
121
  """Name of the custom page set"""
22
122
 
23
- block: Optional[WaapBlockPageData] = None
123
+ block: Optional[Block] = None
24
124
 
25
- block_csrf: Optional[WaapBlockCsrfPageData] = None
125
+ block_csrf: Optional[BlockCsrf] = None
26
126
 
27
- captcha: Optional[WaapCaptchaPageData] = None
127
+ captcha: Optional[Captcha] = None
28
128
 
29
- cookie_disabled: Optional[WaapCookieDisabledPageData] = None
129
+ cookie_disabled: Optional[CookieDisabled] = None
30
130
 
31
131
  domains: Optional[List[int]] = None
32
132
  """List of domain IDs that are associated with this page set"""
33
133
 
34
- handshake: Optional[WaapHandshakePageData] = None
134
+ handshake: Optional[Handshake] = None
35
135
 
36
- javascript_disabled: Optional[WaapJavascriptDisabledPageData] = None
136
+ javascript_disabled: Optional[JavascriptDisabled] = None
@@ -2,9 +2,9 @@
2
2
 
3
3
  from typing import Dict, Optional
4
4
  from datetime import datetime
5
+ from typing_extensions import Literal
5
6
 
6
7
  from ..._models import BaseModel
7
- from .waap_domain_status import WaapDomainStatus
8
8
 
9
9
  __all__ = ["WaapDetailedDomain", "Quotas"]
10
10
 
@@ -30,7 +30,7 @@ class WaapDetailedDomain(BaseModel):
30
30
  name: str
31
31
  """The domain name"""
32
32
 
33
- status: WaapDomainStatus
33
+ status: Literal["active", "bypass", "monitor", "locked"]
34
34
  """The different statuses a domain can have"""
35
35
 
36
36
  quotas: Optional[Dict[str, Quotas]] = None
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["WaapInsightType"]
8
+
9
+
10
+ class WaapInsightType(BaseModel):
11
+ description: str
12
+ """The description of the insight type"""
13
+
14
+ insight_frequency: int
15
+ """The frequency of the insight type"""
16
+
17
+ insight_grouping_dimensions: List[str]
18
+ """The grouping dimensions of the insight type"""
19
+
20
+ insight_template: str
21
+ """The insight template"""
22
+
23
+ labels: List[str]
24
+ """The labels of the insight type"""
25
+
26
+ name: str
27
+ """The name of the insight type"""
28
+
29
+ recommendation_template: str
30
+ """The recommendation template"""
31
+
32
+ slug: str
33
+ """The slug of the insight type"""
@@ -4,10 +4,10 @@ from typing import List
4
4
 
5
5
  from ..._models import BaseModel
6
6
 
7
- __all__ = ["WaapIPDDOSInfoModel", "TimeSery"]
7
+ __all__ = ["WaapIPDDOSInfoModel", "TimeSeries"]
8
8
 
9
9
 
10
- class TimeSery(BaseModel):
10
+ class TimeSeries(BaseModel):
11
11
  count: int
12
12
  """The number of attacks"""
13
13
 
@@ -19,5 +19,5 @@ class WaapIPDDOSInfoModel(BaseModel):
19
19
  botnet_client: bool
20
20
  """Indicates if the IP is tagged as a botnet client"""
21
21
 
22
- time_series: List[TimeSery]
22
+ time_series: List[TimeSeries]
23
23
  """The time series data for the DDoS attacks from the IP address"""
@@ -1,11 +1,11 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  from typing import List, Optional
4
+ from typing_extensions import Literal
4
5
 
5
6
  from ..._models import BaseModel
6
- from .waap_domain_policy import WaapDomainPolicy
7
7
 
8
- __all__ = ["WaapRuleSet", "Tag"]
8
+ __all__ = ["WaapRuleSet", "Tag", "Rule"]
9
9
 
10
10
 
11
11
  class Tag(BaseModel):
@@ -19,6 +19,29 @@ class Tag(BaseModel):
19
19
  """Name of the tag."""
20
20
 
21
21
 
22
+ class Rule(BaseModel):
23
+ id: str
24
+ """Unique identifier for the security rule"""
25
+
26
+ action: Literal["Allow", "Block", "Captcha", "Gateway", "Handshake", "Monitor", "Composite"]
27
+ """Specifies the action taken by the WAAP upon rule activation"""
28
+
29
+ description: str
30
+ """Detailed description of the security rule"""
31
+
32
+ group: str
33
+ """The rule set group name to which the rule belongs"""
34
+
35
+ mode: bool
36
+ """Indicates if the security rule is active"""
37
+
38
+ name: str
39
+ """Name of the security rule"""
40
+
41
+ rule_set_id: int
42
+ """Identifier of the rule set to which the rule belongs"""
43
+
44
+
22
45
  class WaapRuleSet(BaseModel):
23
46
  id: int
24
47
  """Identifier of the rule set."""
@@ -38,4 +61,4 @@ class WaapRuleSet(BaseModel):
38
61
  resource_slug: Optional[str] = None
39
62
  """The resource slug associated with the rule set."""
40
63
 
41
- rules: Optional[List[WaapDomainPolicy]] = None
64
+ rules: Optional[List[Rule]] = None
@@ -2,9 +2,9 @@
2
2
 
3
3
  from typing import Optional
4
4
  from datetime import datetime
5
+ from typing_extensions import Literal
5
6
 
6
7
  from ..._models import BaseModel
7
- from .waap_domain_status import WaapDomainStatus
8
8
 
9
9
  __all__ = ["WaapSummaryDomain"]
10
10
 
@@ -22,5 +22,5 @@ class WaapSummaryDomain(BaseModel):
22
22
  name: str
23
23
  """The domain name"""
24
24
 
25
- status: WaapDomainStatus
25
+ status: Literal["active", "bypass", "monitor", "locked"]
26
26
  """The different statuses a domain can have"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: gcore
3
- Version: 0.9.0
3
+ Version: 0.11.0
4
4
  Summary: The official Python library for the gcore API
5
5
  Project-URL: Homepage, https://github.com/G-Core/gcore-python
6
6
  Project-URL: Repository, https://github.com/G-Core/gcore-python
@@ -36,7 +36,8 @@ Description-Content-Type: text/markdown
36
36
  # Gcore Python API library
37
37
 
38
38
  <!-- prettier-ignore -->
39
- [![PyPI version](https://img.shields.io/pypi/v/gcore.svg?label=pypi%20(stable))](https://pypi.org/project/gcore/)
39
+ [![PyPI version](https://img.shields.io/pypi/v/gcore.svg?label=pypi%20(stable))[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FG-Core%2Fgcore-python.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FG-Core%2Fgcore-python?ref=badge_shield)
40
+ ](https://pypi.org/project/gcore/)
40
41
 
41
42
  The Gcore Python library provides convenient access to the Gcore REST API from any Python 3.8+
42
43
  application. The library includes type definitions for all request params and response fields,
@@ -518,3 +519,7 @@ Python 3.8 or higher.
518
519
  ## Contributing
519
520
 
520
521
  See [the contributing documentation](https://github.com/G-Core/gcore-python/tree/main/./CONTRIBUTING.md).
522
+
523
+
524
+ ## License
525
+ [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FG-Core%2Fgcore-python.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FG-Core%2Fgcore-python?ref=badge_large)