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,66 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, Optional
4
+
5
+ from ....._models import BaseModel
6
+
7
+ __all__ = ["K8sClusterPool"]
8
+
9
+
10
+ class K8sClusterPool(BaseModel):
11
+ id: str
12
+ """UUID of the cluster pool"""
13
+
14
+ auto_healing_enabled: bool
15
+ """Indicates the status of auto healing"""
16
+
17
+ boot_volume_size: int
18
+ """Size of the boot volume"""
19
+
20
+ boot_volume_type: str
21
+ """Type of the boot volume"""
22
+
23
+ created_at: str
24
+ """Date of function creation"""
25
+
26
+ crio_config: Dict[str, str]
27
+ """Crio configuration for pool nodes"""
28
+
29
+ flavor_id: str
30
+ """ID of the cluster pool flavor"""
31
+
32
+ is_public_ipv4: bool
33
+ """Indicates if the pool is public"""
34
+
35
+ kubelet_config: Dict[str, str]
36
+ """Kubelet configuration for pool nodes"""
37
+
38
+ labels: Dict[str, str]
39
+ """Labels applied to the cluster pool"""
40
+
41
+ max_node_count: int
42
+ """Maximum node count in the cluster pool"""
43
+
44
+ min_node_count: int
45
+ """Minimum node count in the cluster pool"""
46
+
47
+ name: str
48
+ """Name of the cluster pool"""
49
+
50
+ node_count: int
51
+ """Node count in the cluster pool"""
52
+
53
+ status: str
54
+ """Status of the cluster pool"""
55
+
56
+ taints: Dict[str, str]
57
+ """Taints applied to the cluster pool"""
58
+
59
+ servergroup_id: Optional[str] = None
60
+ """Server group ID"""
61
+
62
+ servergroup_name: Optional[str] = None
63
+ """Server group name"""
64
+
65
+ servergroup_policy: Optional[str] = None
66
+ """Anti-affinity, affinity or soft-anti-affinity server group policy"""
@@ -0,0 +1,16 @@
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
+ from .k8s_cluster_pool import K8sClusterPool
7
+
8
+ __all__ = ["K8sClusterPoolList"]
9
+
10
+
11
+ class K8sClusterPoolList(BaseModel):
12
+ count: int
13
+ """Number of objects"""
14
+
15
+ results: List[K8sClusterPool]
16
+ """Objects"""
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["NodeListParams"]
8
+
9
+
10
+ class NodeListParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ with_ddos: bool
16
+ """Include DDoS profile information if set to true. Default is false."""
@@ -0,0 +1,53 @@
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 Dict, Optional
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["PoolCreateParams"]
9
+
10
+
11
+ class PoolCreateParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ flavor_id: Required[str]
17
+ """Flavor ID"""
18
+
19
+ min_node_count: Required[int]
20
+ """Minimum node count"""
21
+
22
+ name: Required[str]
23
+ """Pool's name"""
24
+
25
+ auto_healing_enabled: Optional[bool]
26
+ """Enable auto healing"""
27
+
28
+ boot_volume_size: Optional[int]
29
+ """Boot volume size"""
30
+
31
+ boot_volume_type: Optional[Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]]
32
+ """Boot volume type"""
33
+
34
+ crio_config: Optional[Dict[str, str]]
35
+ """Cri-o configuration for pool nodes"""
36
+
37
+ is_public_ipv4: Optional[bool]
38
+ """Enable public v4 address"""
39
+
40
+ kubelet_config: Optional[Dict[str, str]]
41
+ """Kubelet configuration for pool nodes"""
42
+
43
+ labels: Optional[Dict[str, str]]
44
+ """Labels applied to the cluster pool"""
45
+
46
+ max_node_count: Optional[int]
47
+ """Maximum node count"""
48
+
49
+ servergroup_policy: Optional[Literal["affinity", "anti-affinity", "soft-anti-affinity"]]
50
+ """Server group policy: anti-affinity, soft-anti-affinity or affinity"""
51
+
52
+ taints: Optional[Dict[str, str]]
53
+ """Taints applied to the cluster pool"""
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["PoolResizeParams"]
8
+
9
+
10
+ class PoolResizeParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ cluster_name: Required[str]
16
+
17
+ node_count: Required[int]
18
+ """Target node count"""
@@ -0,0 +1,34 @@
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 Dict, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["PoolUpdateParams"]
9
+
10
+
11
+ class PoolUpdateParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ cluster_name: Required[str]
17
+
18
+ auto_healing_enabled: Optional[bool]
19
+ """Enable/disable auto healing"""
20
+
21
+ labels: Optional[Dict[str, str]]
22
+ """Labels applied to the cluster pool"""
23
+
24
+ max_node_count: Optional[int]
25
+ """Maximum node count"""
26
+
27
+ min_node_count: Optional[int]
28
+ """Minimum node count"""
29
+
30
+ node_count: Optional[int]
31
+ """Current node count"""
32
+
33
+ taints: Optional[Dict[str, str]]
34
+ """Taints applied to the cluster pool"""
@@ -2,4 +2,4 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from .request_list_params import RequestListParams as RequestListParams
5
+ from .node_list_params import NodeListParams as NodeListParams
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["NodeListParams"]
8
+
9
+
10
+ class NodeListParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ cluster_name: Required[str]
16
+
17
+ with_ddos: bool
18
+ """Include DDoS profile information if set to true. Default is false."""
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["FlavorListParams"]
8
+
9
+
10
+ class FlavorListParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ exclude_gpu: bool
16
+ """Set to false to include GPU flavors. Default is True."""
17
+
18
+ include_prices: bool
19
+ """Set to true to include flavor prices. Default is False."""
@@ -0,0 +1,209 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ..logging import Logging
8
+ from ...._models import BaseModel
9
+ from .clusters.k8s_cluster_pool import K8sClusterPool
10
+
11
+ __all__ = [
12
+ "K8sCluster",
13
+ "Csi",
14
+ "CsiNfs",
15
+ "Authentication",
16
+ "AuthenticationOidc",
17
+ "Cni",
18
+ "CniCilium",
19
+ "DDOSProfile",
20
+ "DDOSProfileField",
21
+ ]
22
+
23
+
24
+ class CsiNfs(BaseModel):
25
+ vast_enabled: bool
26
+ """Indicates the status of VAST NFS integration"""
27
+
28
+
29
+ class Csi(BaseModel):
30
+ nfs: CsiNfs
31
+ """NFS settings"""
32
+
33
+
34
+ class AuthenticationOidc(BaseModel):
35
+ client_id: Optional[str] = None
36
+ """Client ID"""
37
+
38
+ groups_claim: Optional[str] = None
39
+ """JWT claim to use as the user's group"""
40
+
41
+ groups_prefix: Optional[str] = None
42
+ """Prefix prepended to group claims"""
43
+
44
+ issuer_url: Optional[str] = None
45
+ """Issuer URL"""
46
+
47
+ required_claims: Optional[Dict[str, str]] = None
48
+ """Key-value pairs that describe required claims in the token"""
49
+
50
+ signing_algs: Optional[
51
+ List[Literal["ES256", "ES384", "ES512", "PS256", "PS384", "PS512", "RS256", "RS384", "RS512"]]
52
+ ] = None
53
+ """Accepted signing algorithms"""
54
+
55
+ username_claim: Optional[str] = None
56
+ """JWT claim to use as the user name"""
57
+
58
+ username_prefix: Optional[str] = None
59
+ """Prefix prepended to username claims to prevent clashes"""
60
+
61
+
62
+ class Authentication(BaseModel):
63
+ kubeconfig_created_at: Optional[datetime] = None
64
+ """Kubeconfig creation date"""
65
+
66
+ kubeconfig_expires_at: Optional[datetime] = None
67
+ """Kubeconfig expiration date"""
68
+
69
+ oidc: Optional[AuthenticationOidc] = None
70
+ """OIDC authentication settings"""
71
+
72
+
73
+ class CniCilium(BaseModel):
74
+ encryption: Optional[bool] = None
75
+ """Wireguard encryption"""
76
+
77
+ hubble_relay: Optional[bool] = None
78
+ """Hubble Relay"""
79
+
80
+ hubble_ui: Optional[bool] = None
81
+ """Hubble UI"""
82
+
83
+ lb_acceleration: Optional[bool] = None
84
+ """LoadBalancer acceleration"""
85
+
86
+ lb_mode: Optional[Literal["dsr", "hybrid", "snat"]] = None
87
+ """LoadBalancer mode"""
88
+
89
+ mask_size: Optional[int] = None
90
+ """Mask size for IPv4"""
91
+
92
+ mask_size_v6: Optional[int] = None
93
+ """Mask size for IPv6"""
94
+
95
+ routing_mode: Optional[Literal["native", "tunnel"]] = None
96
+ """Routing mode"""
97
+
98
+ tunnel: Optional[Literal["", "geneve", "vxlan"]] = None
99
+ """CNI provider"""
100
+
101
+
102
+ class Cni(BaseModel):
103
+ cilium: Optional[CniCilium] = None
104
+ """Cilium settings"""
105
+
106
+ provider: Optional[Literal["calico", "cilium"]] = None
107
+ """CNI provider"""
108
+
109
+
110
+ class DDOSProfileField(BaseModel):
111
+ base_field: int
112
+
113
+ field_value: Optional[object] = None
114
+ """Complex value. Only one of 'value' or '`field_value`' must be specified"""
115
+
116
+ value: Optional[str] = None
117
+ """Basic value. Only one of 'value' or '`field_value`' must be specified"""
118
+
119
+
120
+ class DDOSProfile(BaseModel):
121
+ enabled: bool
122
+ """Enable advanced DDoS protection"""
123
+
124
+ fields: Optional[List[DDOSProfileField]] = None
125
+ """DDoS profile parameters"""
126
+
127
+ profile_template: Optional[int] = None
128
+ """DDoS profile template ID"""
129
+
130
+ profile_template_name: Optional[str] = None
131
+ """DDoS profile template name"""
132
+
133
+
134
+ class K8sCluster(BaseModel):
135
+ id: str
136
+ """Cluster pool uuid"""
137
+
138
+ created_at: str
139
+ """Function creation date"""
140
+
141
+ csi: Csi
142
+ """Cluster CSI settings"""
143
+
144
+ is_public: bool
145
+ """Cluster is public"""
146
+
147
+ keypair: str
148
+ """Keypair"""
149
+
150
+ logging: Optional[Logging] = None
151
+ """Logging configuration"""
152
+
153
+ name: str
154
+ """Name"""
155
+
156
+ pools: List[K8sClusterPool]
157
+ """pools"""
158
+
159
+ status: Literal["Deleting", "Provisioned", "Provisioning"]
160
+ """Status"""
161
+
162
+ version: str
163
+ """K8s version"""
164
+
165
+ authentication: Optional[Authentication] = None
166
+ """Cluster authentication settings"""
167
+
168
+ autoscaler_config: Optional[Dict[str, str]] = None
169
+ """
170
+ Cluster autoscaler configuration. It contains overrides to the default
171
+ cluster-autoscaler parameters provided by the platform.
172
+ """
173
+
174
+ cni: Optional[Cni] = None
175
+ """Cluster CNI settings"""
176
+
177
+ creator_task_id: Optional[str] = None
178
+ """Task that created this entity"""
179
+
180
+ ddos_profile: Optional[DDOSProfile] = None
181
+ """Advanced DDoS Protection profile"""
182
+
183
+ fixed_network: Optional[str] = None
184
+ """Fixed network id"""
185
+
186
+ fixed_subnet: Optional[str] = None
187
+ """Fixed subnet id"""
188
+
189
+ is_ipv6: Optional[bool] = None
190
+ """Enable public v6 address"""
191
+
192
+ pods_ip_pool: Optional[str] = None
193
+ """The IP pool for the pods"""
194
+
195
+ pods_ipv6_pool: Optional[str] = None
196
+ """The IPv6 pool for the pods"""
197
+
198
+ services_ip_pool: Optional[str] = None
199
+ """The IP pool for the services"""
200
+
201
+ services_ipv6_pool: Optional[str] = None
202
+ """The IPv6 pool for the services"""
203
+
204
+ task_id: Optional[str] = None
205
+ """The UUID of the active task that currently holds a lock on the resource.
206
+
207
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
208
+ the resource is not locked.
209
+ """
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ...._models import BaseModel
4
+
5
+ __all__ = ["K8sClusterCertificate"]
6
+
7
+
8
+ class K8sClusterCertificate(BaseModel):
9
+ certificate: str
10
+ """Cluster CA certificate"""
11
+
12
+ key: str
13
+ """Cluster CA private key"""
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+
6
+ from ...._models import BaseModel
7
+
8
+ __all__ = ["K8sClusterKubeconfig"]
9
+
10
+
11
+ class K8sClusterKubeconfig(BaseModel):
12
+ config: str
13
+ """Cluster kubeconfig"""
14
+
15
+ created_at: Optional[datetime] = None
16
+ """Kubeconfig creation date"""
17
+
18
+ expires_at: Optional[datetime] = None
19
+ """Kubeconfig expiration date"""
@@ -0,0 +1,16 @@
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
+ from .k8s_cluster import K8sCluster
7
+
8
+ __all__ = ["K8sClusterList"]
9
+
10
+
11
+ class K8sClusterList(BaseModel):
12
+ count: int
13
+ """Number of objects"""
14
+
15
+ results: List[K8sCluster]
16
+ """Objects"""
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["K8sClusterVersion"]
6
+
7
+
8
+ class K8sClusterVersion(BaseModel):
9
+ version: str
10
+ """List of supported Kubernetes cluster versions"""
@@ -3,14 +3,14 @@
3
3
  from typing import List
4
4
 
5
5
  from ..._models import BaseModel
6
- from .gpu_baremetal_cluster_server import GPUBaremetalClusterServer
6
+ from .k8s_cluster_version import K8sClusterVersion
7
7
 
8
- __all__ = ["GPUBaremetalClusterServerList"]
8
+ __all__ = ["K8sClusterVersionList"]
9
9
 
10
10
 
11
- class GPUBaremetalClusterServerList(BaseModel):
11
+ class K8sClusterVersionList(BaseModel):
12
12
  count: int
13
13
  """Number of objects"""
14
14
 
15
- results: List[GPUBaremetalClusterServer]
15
+ results: List[K8sClusterVersion]
16
16
  """Objects"""
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Union, Iterable, Optional
5
+ from typing import Dict, Union, Iterable, Optional
6
6
  from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
7
 
8
+ from ..._types import SequenceNotStr
8
9
  from .http_method import HTTPMethod
9
10
  from .lb_algorithm import LbAlgorithm
10
11
  from .lb_pool_protocol import LbPoolProtocol
@@ -147,7 +148,12 @@ class ListenerPoolHealthmonitor(TypedDict, total=False):
147
148
  """Health monitor type. Once health monitor is created, cannot be changed."""
148
149
 
149
150
  expected_codes: Optional[str]
150
- """Can only be used together with `HTTP` or `HTTPS` health monitor type."""
151
+ """Expected HTTP response codes.
152
+
153
+ Can be a single code or a range of codes. Can only be used together with `HTTP`
154
+ or `HTTPS` health monitor type. For example,
155
+ 200,202,300-302,401,403,404,500-504. If not specified, the default is 200.
156
+ """
151
157
 
152
158
  http_method: Optional[HTTPMethod]
153
159
  """HTTP method.
@@ -155,7 +161,7 @@ class ListenerPoolHealthmonitor(TypedDict, total=False):
155
161
  Can only be used together with `HTTP` or `HTTPS` health monitor type.
156
162
  """
157
163
 
158
- max_retries_down: Optional[int]
164
+ max_retries_down: int
159
165
  """Number of failures before the member is switched to ERROR state."""
160
166
 
161
167
  url_path: Optional[str]
@@ -210,8 +216,26 @@ class ListenerPoolMember(TypedDict, total=False):
210
216
  Either `subnet_id` or `instance_id` should be provided
211
217
  """
212
218
 
213
- weight: Optional[int]
214
- """Member weight. Valid values are 0 < `weight` <= 256, defaults to 1."""
219
+ weight: int
220
+ """Member weight.
221
+
222
+ Valid values are 0 < `weight` <= 256, defaults to 1. Controls traffic
223
+ distribution based on the pool's load balancing algorithm:
224
+
225
+ - `ROUND_ROBIN`: Distributes connections to each member in turn according to
226
+ weights. Higher weight = more turns in the cycle. Example: weights 3 vs 1 =
227
+ ~75% vs ~25% of requests.
228
+ - `LEAST_CONNECTIONS`: Sends new connections to the member with fewest active
229
+ connections, performing round-robin within groups of the same normalized load.
230
+ Higher weight = allowed to hold more simultaneous connections before being
231
+ considered 'more loaded'. Example: weights 2 vs 1 means 20 vs 10 active
232
+ connections is treated as balanced.
233
+ - `SOURCE_IP`: Routes clients consistently to the same member by hashing client
234
+ source IP; hash result is modulo total weight of running members. Higher
235
+ weight = more hash buckets, so more client IPs map to that member. Example:
236
+ weights 2 vs 1 = roughly two-thirds of distinct client IPs map to the
237
+ higher-weight member.
238
+ """
215
239
 
216
240
 
217
241
  class ListenerPoolSessionPersistence(TypedDict, total=False):
@@ -290,7 +314,7 @@ class Listener(TypedDict, total=False):
290
314
  protocol_port: Required[int]
291
315
  """Protocol port"""
292
316
 
293
- allowed_cidrs: Optional[List[str]]
317
+ allowed_cidrs: Optional[SequenceNotStr[str]]
294
318
  """Network CIDRs from which service will be accessible"""
295
319
 
296
320
  connection_limit: int
@@ -311,7 +335,7 @@ class Listener(TypedDict, total=False):
311
335
  PROMETHEUS listener
312
336
  """
313
337
 
314
- sni_secret_id: List[str]
338
+ sni_secret_id: SequenceNotStr[str]
315
339
  """
316
340
  List of secrets IDs containing PKCS12 format certificate/key bundles for
317
341
  `TERMINATED_HTTPS` or PROMETHEUS listeners
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["LoadBalancerListParams"]
9
10
 
10
11
 
@@ -39,7 +40,7 @@ class LoadBalancerListParams(TypedDict, total=False):
39
40
  show_stats: bool
40
41
  """Show statistics"""
41
42
 
42
- tag_key: List[str]
43
+ tag_key: SequenceNotStr[str]
43
44
  """Filter by tag keys."""
44
45
 
45
46
  tag_key_value: str
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Literal, Required, TypedDict
7
6
 
7
+ from ....._types import SequenceNotStr
8
+
8
9
  __all__ = ["RuleCreateParams"]
9
10
 
10
11
 
@@ -46,5 +47,5 @@ class RuleCreateParams(TypedDict, total=False):
46
47
  For example, the name of the cookie to evaluate.
47
48
  """
48
49
 
49
- tags: List[str]
50
+ tags: SequenceNotStr[str]
50
51
  """A list of simple strings assigned to the l7 rule"""