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
@@ -2,11 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Iterable, Optional
5
+ from typing import Iterable, Optional
6
6
 
7
7
  import httpx
8
8
 
9
- from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
9
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven, SequenceNotStr
10
10
  from ...._utils import maybe_transform, async_maybe_transform
11
11
  from ...._compat import cached_property
12
12
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -61,11 +61,11 @@ class ListenersResource(SyncAPIResource):
61
61
  name: str,
62
62
  protocol: LbListenerProtocol,
63
63
  protocol_port: int,
64
- allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
64
+ allowed_cidrs: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
65
65
  connection_limit: int | NotGiven = NOT_GIVEN,
66
66
  insert_x_forwarded: bool | NotGiven = NOT_GIVEN,
67
67
  secret_id: str | NotGiven = NOT_GIVEN,
68
- sni_secret_id: List[str] | NotGiven = NOT_GIVEN,
68
+ sni_secret_id: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
69
69
  timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
70
70
  timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
71
71
  timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
@@ -158,11 +158,11 @@ class ListenersResource(SyncAPIResource):
158
158
  *,
159
159
  project_id: int | None = None,
160
160
  region_id: int | None = None,
161
- allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
161
+ allowed_cidrs: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
162
162
  connection_limit: int | NotGiven = NOT_GIVEN,
163
163
  name: str | NotGiven = NOT_GIVEN,
164
164
  secret_id: Optional[str] | NotGiven = NOT_GIVEN,
165
- sni_secret_id: Optional[List[str]] | NotGiven = NOT_GIVEN,
165
+ sni_secret_id: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
166
166
  timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
167
167
  timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
168
168
  timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
@@ -402,11 +402,11 @@ class ListenersResource(SyncAPIResource):
402
402
  name: str,
403
403
  protocol: LbListenerProtocol,
404
404
  protocol_port: int,
405
- allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
405
+ allowed_cidrs: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
406
406
  connection_limit: int | NotGiven = NOT_GIVEN,
407
407
  insert_x_forwarded: bool | NotGiven = NOT_GIVEN,
408
408
  secret_id: str | NotGiven = NOT_GIVEN,
409
- sni_secret_id: List[str] | NotGiven = NOT_GIVEN,
409
+ sni_secret_id: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
410
410
  timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
411
411
  timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
412
412
  timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
@@ -501,11 +501,11 @@ class ListenersResource(SyncAPIResource):
501
501
  *,
502
502
  project_id: int | None = None,
503
503
  region_id: int | None = None,
504
- allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
504
+ allowed_cidrs: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
505
505
  connection_limit: int | NotGiven = NOT_GIVEN,
506
506
  name: str | NotGiven = NOT_GIVEN,
507
507
  secret_id: Optional[str] | NotGiven = NOT_GIVEN,
508
- sni_secret_id: Optional[List[str]] | NotGiven = NOT_GIVEN,
508
+ sni_secret_id: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
509
509
  timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
510
510
  timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
511
511
  timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
@@ -584,11 +584,11 @@ class AsyncListenersResource(AsyncAPIResource):
584
584
  name: str,
585
585
  protocol: LbListenerProtocol,
586
586
  protocol_port: int,
587
- allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
587
+ allowed_cidrs: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
588
588
  connection_limit: int | NotGiven = NOT_GIVEN,
589
589
  insert_x_forwarded: bool | NotGiven = NOT_GIVEN,
590
590
  secret_id: str | NotGiven = NOT_GIVEN,
591
- sni_secret_id: List[str] | NotGiven = NOT_GIVEN,
591
+ sni_secret_id: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
592
592
  timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
593
593
  timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
594
594
  timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
@@ -681,11 +681,11 @@ class AsyncListenersResource(AsyncAPIResource):
681
681
  *,
682
682
  project_id: int | None = None,
683
683
  region_id: int | None = None,
684
- allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
684
+ allowed_cidrs: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
685
685
  connection_limit: int | NotGiven = NOT_GIVEN,
686
686
  name: str | NotGiven = NOT_GIVEN,
687
687
  secret_id: Optional[str] | NotGiven = NOT_GIVEN,
688
- sni_secret_id: Optional[List[str]] | NotGiven = NOT_GIVEN,
688
+ sni_secret_id: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
689
689
  timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
690
690
  timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
691
691
  timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
@@ -925,11 +925,11 @@ class AsyncListenersResource(AsyncAPIResource):
925
925
  name: str,
926
926
  protocol: LbListenerProtocol,
927
927
  protocol_port: int,
928
- allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
928
+ allowed_cidrs: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
929
929
  connection_limit: int | NotGiven = NOT_GIVEN,
930
930
  insert_x_forwarded: bool | NotGiven = NOT_GIVEN,
931
931
  secret_id: str | NotGiven = NOT_GIVEN,
932
- sni_secret_id: List[str] | NotGiven = NOT_GIVEN,
932
+ sni_secret_id: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
933
933
  timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
934
934
  timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
935
935
  timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
@@ -1024,11 +1024,11 @@ class AsyncListenersResource(AsyncAPIResource):
1024
1024
  *,
1025
1025
  project_id: int | None = None,
1026
1026
  region_id: int | None = None,
1027
- allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
1027
+ allowed_cidrs: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
1028
1028
  connection_limit: int | NotGiven = NOT_GIVEN,
1029
1029
  name: str | NotGiven = NOT_GIVEN,
1030
1030
  secret_id: Optional[str] | NotGiven = NOT_GIVEN,
1031
- sni_secret_id: Optional[List[str]] | NotGiven = NOT_GIVEN,
1031
+ sni_secret_id: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
1032
1032
  timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
1033
1033
  timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
1034
1034
  timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Iterable, Optional
5
+ from typing import Dict, Iterable, Optional
6
6
 
7
7
  import httpx
8
8
 
@@ -30,7 +30,7 @@ from .statuses import (
30
30
  StatusesResourceWithStreamingResponse,
31
31
  AsyncStatusesResourceWithStreamingResponse,
32
32
  )
33
- from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
33
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven, SequenceNotStr
34
34
  from ...._utils import maybe_transform, async_maybe_transform
35
35
  from .listeners import (
36
36
  ListenersResource,
@@ -325,7 +325,7 @@ class LoadBalancersResource(SyncAPIResource):
325
325
  offset: int | NotGiven = NOT_GIVEN,
326
326
  order_by: str | NotGiven = NOT_GIVEN,
327
327
  show_stats: bool | NotGiven = NOT_GIVEN,
328
- tag_key: List[str] | NotGiven = NOT_GIVEN,
328
+ tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
329
329
  tag_key_value: str | NotGiven = NOT_GIVEN,
330
330
  with_ddos: bool | NotGiven = NOT_GIVEN,
331
331
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -1008,7 +1008,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
1008
1008
  offset: int | NotGiven = NOT_GIVEN,
1009
1009
  order_by: str | NotGiven = NOT_GIVEN,
1010
1010
  show_stats: bool | NotGiven = NOT_GIVEN,
1011
- tag_key: List[str] | NotGiven = NOT_GIVEN,
1011
+ tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
1012
1012
  tag_key_value: str | NotGiven = NOT_GIVEN,
1013
1013
  with_ddos: bool | NotGiven = NOT_GIVEN,
1014
1014
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -58,7 +58,7 @@ class HealthMonitorsResource(SyncAPIResource):
58
58
  type: LbHealthMonitorType,
59
59
  expected_codes: Optional[str] | NotGiven = NOT_GIVEN,
60
60
  http_method: Optional[HTTPMethod] | NotGiven = NOT_GIVEN,
61
- max_retries_down: Optional[int] | NotGiven = NOT_GIVEN,
61
+ max_retries_down: int | NotGiven = NOT_GIVEN,
62
62
  url_path: Optional[str] | NotGiven = NOT_GIVEN,
63
63
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
64
64
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -68,7 +68,10 @@ class HealthMonitorsResource(SyncAPIResource):
68
68
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
69
69
  ) -> TaskIDList:
70
70
  """
71
- Create load balancer pool health monitor
71
+ Creates a health monitor for a load balancer pool to automatically check the
72
+ health status of pool members. The health monitor performs periodic checks on
73
+ pool members and removes unhealthy members from rotation, ensuring only healthy
74
+ servers receive traffic.
72
75
 
73
76
  Args:
74
77
  project_id: Project ID
@@ -85,7 +88,9 @@ class HealthMonitorsResource(SyncAPIResource):
85
88
 
86
89
  type: Health monitor type. Once health monitor is created, cannot be changed.
87
90
 
88
- expected_codes: Can only be used together with `HTTP` or `HTTPS` health monitor type.
91
+ expected_codes: Expected HTTP response codes. Can be a single code or a range of codes. Can only
92
+ be used together with `HTTP` or `HTTPS` health monitor type. For example,
93
+ 200,202,300-302,401,403,404,500-504. If not specified, the default is 200.
89
94
 
90
95
  http_method: HTTP method. Can only be used together with `HTTP` or `HTTPS` health monitor
91
96
  type.
@@ -143,8 +148,11 @@ class HealthMonitorsResource(SyncAPIResource):
143
148
  extra_body: Body | None = None,
144
149
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
145
150
  ) -> None:
146
- """
147
- Delete load balancer pool health monitor
151
+ """Removes the health monitor from a load balancer pool.
152
+
153
+ After deletion, the pool
154
+ will no longer perform automatic health checks on its members, and all members
155
+ will remain in rotation regardless of their actual health status.
148
156
 
149
157
  Args:
150
158
  project_id: Project ID
@@ -209,7 +217,7 @@ class AsyncHealthMonitorsResource(AsyncAPIResource):
209
217
  type: LbHealthMonitorType,
210
218
  expected_codes: Optional[str] | NotGiven = NOT_GIVEN,
211
219
  http_method: Optional[HTTPMethod] | NotGiven = NOT_GIVEN,
212
- max_retries_down: Optional[int] | NotGiven = NOT_GIVEN,
220
+ max_retries_down: int | NotGiven = NOT_GIVEN,
213
221
  url_path: Optional[str] | NotGiven = NOT_GIVEN,
214
222
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
215
223
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -219,7 +227,10 @@ class AsyncHealthMonitorsResource(AsyncAPIResource):
219
227
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
220
228
  ) -> TaskIDList:
221
229
  """
222
- Create load balancer pool health monitor
230
+ Creates a health monitor for a load balancer pool to automatically check the
231
+ health status of pool members. The health monitor performs periodic checks on
232
+ pool members and removes unhealthy members from rotation, ensuring only healthy
233
+ servers receive traffic.
223
234
 
224
235
  Args:
225
236
  project_id: Project ID
@@ -236,7 +247,9 @@ class AsyncHealthMonitorsResource(AsyncAPIResource):
236
247
 
237
248
  type: Health monitor type. Once health monitor is created, cannot be changed.
238
249
 
239
- expected_codes: Can only be used together with `HTTP` or `HTTPS` health monitor type.
250
+ expected_codes: Expected HTTP response codes. Can be a single code or a range of codes. Can only
251
+ be used together with `HTTP` or `HTTPS` health monitor type. For example,
252
+ 200,202,300-302,401,403,404,500-504. If not specified, the default is 200.
240
253
 
241
254
  http_method: HTTP method. Can only be used together with `HTTP` or `HTTPS` health monitor
242
255
  type.
@@ -294,8 +307,11 @@ class AsyncHealthMonitorsResource(AsyncAPIResource):
294
307
  extra_body: Body | None = None,
295
308
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
296
309
  ) -> None:
297
- """
298
- Delete load balancer pool health monitor
310
+ """Removes the health monitor from a load balancer pool.
311
+
312
+ After deletion, the pool
313
+ will no longer perform automatic health checks on its members, and all members
314
+ will remain in rotation regardless of their actual health status.
299
315
 
300
316
  Args:
301
317
  project_id: Project ID
@@ -57,7 +57,7 @@ class MembersResource(SyncAPIResource):
57
57
  monitor_address: Optional[str] | NotGiven = NOT_GIVEN,
58
58
  monitor_port: Optional[int] | NotGiven = NOT_GIVEN,
59
59
  subnet_id: Optional[str] | NotGiven = NOT_GIVEN,
60
- weight: Optional[int] | NotGiven = NOT_GIVEN,
60
+ weight: int | NotGiven = NOT_GIVEN,
61
61
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
62
62
  # The extra values given here take precedence over values defined on the client or passed to this method.
63
63
  extra_headers: Headers | None = None,
@@ -99,7 +99,22 @@ class MembersResource(SyncAPIResource):
99
99
  subnet_id: `subnet_id` in which `address` is present. Either `subnet_id` or `instance_id`
100
100
  should be provided
101
101
 
102
- weight: Member weight. Valid values are 0 < `weight` <= 256, defaults to 1.
102
+ weight: Member weight. Valid values are 0 < `weight` <= 256, defaults to 1. Controls
103
+ traffic distribution based on the pool's load balancing algorithm:
104
+
105
+ - `ROUND_ROBIN`: Distributes connections to each member in turn according to
106
+ weights. Higher weight = more turns in the cycle. Example: weights 3 vs 1 =
107
+ ~75% vs ~25% of requests.
108
+ - `LEAST_CONNECTIONS`: Sends new connections to the member with fewest active
109
+ connections, performing round-robin within groups of the same normalized load.
110
+ Higher weight = allowed to hold more simultaneous connections before being
111
+ considered 'more loaded'. Example: weights 2 vs 1 means 20 vs 10 active
112
+ connections is treated as balanced.
113
+ - `SOURCE_IP`: Routes clients consistently to the same member by hashing client
114
+ source IP; hash result is modulo total weight of running members. Higher
115
+ weight = more hash buckets, so more client IPs map to that member. Example:
116
+ weights 2 vs 1 = roughly two-thirds of distinct client IPs map to the
117
+ higher-weight member.
103
118
 
104
119
  extra_headers: Send extra headers
105
120
 
@@ -222,7 +237,7 @@ class AsyncMembersResource(AsyncAPIResource):
222
237
  monitor_address: Optional[str] | NotGiven = NOT_GIVEN,
223
238
  monitor_port: Optional[int] | NotGiven = NOT_GIVEN,
224
239
  subnet_id: Optional[str] | NotGiven = NOT_GIVEN,
225
- weight: Optional[int] | NotGiven = NOT_GIVEN,
240
+ weight: int | NotGiven = NOT_GIVEN,
226
241
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
227
242
  # The extra values given here take precedence over values defined on the client or passed to this method.
228
243
  extra_headers: Headers | None = None,
@@ -264,7 +279,22 @@ class AsyncMembersResource(AsyncAPIResource):
264
279
  subnet_id: `subnet_id` in which `address` is present. Either `subnet_id` or `instance_id`
265
280
  should be provided
266
281
 
267
- weight: Member weight. Valid values are 0 < `weight` <= 256, defaults to 1.
282
+ weight: Member weight. Valid values are 0 < `weight` <= 256, defaults to 1. Controls
283
+ traffic distribution based on the pool's load balancing algorithm:
284
+
285
+ - `ROUND_ROBIN`: Distributes connections to each member in turn according to
286
+ weights. Higher weight = more turns in the cycle. Example: weights 3 vs 1 =
287
+ ~75% vs ~25% of requests.
288
+ - `LEAST_CONNECTIONS`: Sends new connections to the member with fewest active
289
+ connections, performing round-robin within groups of the same normalized load.
290
+ Higher weight = allowed to hold more simultaneous connections before being
291
+ considered 'more loaded'. Example: weights 2 vs 1 means 20 vs 10 active
292
+ connections is treated as balanced.
293
+ - `SOURCE_IP`: Routes clients consistently to the same member by hashing client
294
+ source IP; hash result is modulo total weight of running members. Higher
295
+ weight = more hash buckets, so more client IPs map to that member. Example:
296
+ weights 2 vs 1 = roughly two-thirds of distinct client IPs map to the
297
+ higher-weight member.
268
298
 
269
299
  extra_headers: Send extra headers
270
300
 
@@ -199,9 +199,21 @@ class PoolsResource(SyncAPIResource):
199
199
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
200
200
  ) -> TaskIDList:
201
201
  """
202
- Changes provided here will overwrite existing load balancer pool settings.
203
- Undefined fields will be kept as is. Complex objects need to be specified fully,
204
- they will be overwritten.
202
+ Updates the specified load balancer pool with the provided changes.
203
+ **Behavior:**
204
+
205
+ - Simple fields (strings, numbers, booleans) will be updated if provided
206
+ - Complex objects (nested structures like members, health monitors, etc.) must
207
+ be specified completely - partial updates are not supported for these objects
208
+ - Undefined fields will remain unchanged
209
+ - If no change is detected for a specific field compared to the current pool
210
+ state, that field will be skipped
211
+ - If no changes are detected at all across all fields, no task will be created
212
+ and an empty task list will be returned **Examples of complex objects that
213
+ require full specification:**
214
+ - Pool members: All member properties must be provided when updating members
215
+ - Health monitors: Complete health monitor configuration must be specified
216
+ - Session persistence: Full session persistence settings must be included
205
217
 
206
218
  Args:
207
219
  project_id: Project ID
@@ -250,7 +262,7 @@ class PoolsResource(SyncAPIResource):
250
262
  if not pool_id:
251
263
  raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}")
252
264
  return self._patch(
253
- f"/cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}",
265
+ f"/cloud/v2/lbpools/{project_id}/{region_id}/{pool_id}",
254
266
  body=maybe_transform(
255
267
  {
256
268
  "ca_secret_id": ca_secret_id,
@@ -745,9 +757,21 @@ class AsyncPoolsResource(AsyncAPIResource):
745
757
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
746
758
  ) -> TaskIDList:
747
759
  """
748
- Changes provided here will overwrite existing load balancer pool settings.
749
- Undefined fields will be kept as is. Complex objects need to be specified fully,
750
- they will be overwritten.
760
+ Updates the specified load balancer pool with the provided changes.
761
+ **Behavior:**
762
+
763
+ - Simple fields (strings, numbers, booleans) will be updated if provided
764
+ - Complex objects (nested structures like members, health monitors, etc.) must
765
+ be specified completely - partial updates are not supported for these objects
766
+ - Undefined fields will remain unchanged
767
+ - If no change is detected for a specific field compared to the current pool
768
+ state, that field will be skipped
769
+ - If no changes are detected at all across all fields, no task will be created
770
+ and an empty task list will be returned **Examples of complex objects that
771
+ require full specification:**
772
+ - Pool members: All member properties must be provided when updating members
773
+ - Health monitors: Complete health monitor configuration must be specified
774
+ - Session persistence: Full session persistence settings must be included
751
775
 
752
776
  Args:
753
777
  project_id: Project ID
@@ -796,7 +820,7 @@ class AsyncPoolsResource(AsyncAPIResource):
796
820
  if not pool_id:
797
821
  raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}")
798
822
  return await self._patch(
799
- f"/cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}",
823
+ f"/cloud/v2/lbpools/{project_id}/{region_id}/{pool_id}",
800
824
  body=await async_maybe_transform(
801
825
  {
802
826
  "ca_secret_id": ca_secret_id,