gcore 0.10.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 (319) 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 +18 -6
  51. gcore/resources/cloud/load_balancers/pools/members.py +32 -2
  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/storage/__init__.py +75 -0
  72. gcore/resources/storage/buckets/__init__.py +61 -0
  73. gcore/resources/storage/buckets/buckets.py +470 -0
  74. gcore/resources/storage/buckets/cors.py +265 -0
  75. gcore/resources/storage/buckets/lifecycle.py +276 -0
  76. gcore/resources/storage/buckets/policy.py +345 -0
  77. gcore/resources/storage/credentials.py +221 -0
  78. gcore/resources/storage/locations.py +190 -0
  79. gcore/resources/storage/statistics.py +364 -0
  80. gcore/resources/storage/storage.py +1042 -0
  81. gcore/resources/streaming/ai_tasks.py +56 -70
  82. gcore/resources/streaming/playlists.py +18 -18
  83. gcore/resources/streaming/quality_sets.py +8 -8
  84. gcore/resources/streaming/statistics.py +4 -122
  85. gcore/resources/streaming/streams/overlays.py +6 -6
  86. gcore/resources/streaming/streams/streams.py +40 -64
  87. gcore/resources/streaming/videos/subtitles.py +32 -30
  88. gcore/resources/streaming/videos/videos.py +78 -72
  89. gcore/resources/waap/domains/advanced_rules.py +2 -2
  90. gcore/resources/waap/domains/api_paths.py +13 -13
  91. gcore/resources/waap/domains/custom_rules.py +2 -2
  92. gcore/resources/waap/domains/domains.py +4 -4
  93. gcore/resources/waap/domains/firewall_rules.py +2 -2
  94. gcore/resources/waap/domains/insight_silences.py +6 -6
  95. gcore/resources/waap/domains/insights.py +7 -7
  96. gcore/resources/waap/domains/statistics.py +47 -47
  97. gcore/types/cloud/__init__.py +2 -4
  98. gcore/types/cloud/audit_log_list_params.py +2 -1
  99. gcore/types/cloud/baremetal/image_list_params.py +3 -2
  100. gcore/types/cloud/baremetal/server_create_params.py +8 -6
  101. gcore/types/cloud/baremetal/server_list_params.py +3 -2
  102. gcore/types/cloud/baremetal/server_rebuild_params.py +2 -0
  103. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +35 -31
  104. gcore/types/cloud/cost_report_get_aggregated_params.py +26 -25
  105. gcore/types/cloud/cost_report_get_detailed_params.py +26 -25
  106. gcore/types/cloud/ddos_profile.py +13 -7
  107. gcore/types/cloud/ddos_profile_field.py +21 -8
  108. gcore/types/cloud/ddos_profile_option_list.py +7 -6
  109. gcore/types/cloud/ddos_profile_status.py +2 -2
  110. gcore/types/cloud/ddos_profile_template.py +7 -3
  111. gcore/types/cloud/ddos_profile_template_field.py +12 -3
  112. gcore/types/cloud/file_share.py +2 -2
  113. gcore/types/cloud/file_share_create_params.py +12 -6
  114. gcore/types/cloud/floating_ip_list_params.py +3 -2
  115. gcore/types/cloud/gpu_baremetal_cluster.py +101 -74
  116. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +76 -93
  117. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +17 -10
  118. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +14 -3
  119. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +4 -2
  120. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +6 -0
  121. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +74 -0
  122. gcore/types/cloud/{gpu_baremetal_cluster_server.py → gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1.py} +10 -10
  123. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1_list.py +16 -0
  124. gcore/types/cloud/{gpu_baremetal_flavor.py → gpu_baremetal_clusters/gpu_baremetal_flavor.py} +1 -1
  125. gcore/types/cloud/{gpu_baremetal_flavor_list.py → gpu_baremetal_clusters/gpu_baremetal_flavor_list.py} +1 -1
  126. gcore/types/cloud/gpu_baremetal_clusters/server_list_params.py +75 -0
  127. gcore/types/cloud/inference/__init__.py +0 -5
  128. gcore/types/cloud/inference/applications/__init__.py +12 -0
  129. gcore/types/cloud/inference/applications/deployment_create_params.py +68 -0
  130. gcore/types/cloud/inference/applications/deployment_patch_params.py +62 -0
  131. gcore/types/cloud/inference/applications/inference_application_deployment.py +111 -0
  132. gcore/types/cloud/inference/applications/inference_application_deployment_list.py +16 -0
  133. gcore/types/cloud/inference/applications/inference_application_template.py +94 -0
  134. gcore/types/cloud/inference/applications/inference_application_template_list.py +16 -0
  135. gcore/types/cloud/inference/deployment_create_params.py +7 -6
  136. gcore/types/cloud/inference/deployment_update_params.py +7 -6
  137. gcore/types/cloud/instance_assign_security_group_params.py +4 -2
  138. gcore/types/cloud/instance_list_params.py +3 -2
  139. gcore/types/cloud/instance_unassign_security_group_params.py +4 -2
  140. gcore/types/cloud/instances/image_list_params.py +3 -2
  141. gcore/types/cloud/k8s/__init__.py +13 -0
  142. gcore/types/cloud/k8s/cluster_create_params.py +299 -0
  143. gcore/types/cloud/k8s/cluster_delete_params.py +16 -0
  144. gcore/types/cloud/k8s/cluster_update_params.py +203 -0
  145. gcore/types/cloud/k8s/cluster_upgrade_params.py +16 -0
  146. gcore/types/cloud/k8s/clusters/__init__.py +10 -0
  147. gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +66 -0
  148. gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +16 -0
  149. gcore/types/cloud/k8s/clusters/node_list_params.py +16 -0
  150. gcore/types/cloud/k8s/clusters/pool_create_params.py +53 -0
  151. gcore/types/cloud/k8s/clusters/pool_resize_params.py +18 -0
  152. gcore/types/cloud/k8s/clusters/pool_update_params.py +34 -0
  153. gcore/types/cloud/k8s/clusters/pools/__init__.py +5 -0
  154. gcore/types/cloud/k8s/clusters/pools/node_list_params.py +18 -0
  155. gcore/types/cloud/k8s/flavor_list_params.py +19 -0
  156. gcore/types/cloud/k8s/k8s_cluster.py +209 -0
  157. gcore/types/cloud/k8s/k8s_cluster_certificate.py +13 -0
  158. gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +19 -0
  159. gcore/types/cloud/k8s/k8s_cluster_list.py +16 -0
  160. gcore/types/cloud/k8s_cluster_version.py +10 -0
  161. gcore/types/cloud/{gpu_baremetal_cluster_server_list.py → k8s_cluster_version_list.py} +4 -4
  162. gcore/types/cloud/load_balancer_create_params.py +23 -4
  163. gcore/types/cloud/load_balancer_list_params.py +3 -2
  164. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +3 -2
  165. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +3 -2
  166. gcore/types/cloud/load_balancers/l7_policy_create_params.py +3 -2
  167. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +3 -2
  168. gcore/types/cloud/load_balancers/listener_create_params.py +4 -3
  169. gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
  170. gcore/types/cloud/load_balancers/pool_create_params.py +19 -1
  171. gcore/types/cloud/load_balancers/pool_update_params.py +19 -1
  172. gcore/types/cloud/load_balancers/pools/member_add_params.py +19 -1
  173. gcore/types/cloud/member.py +19 -1
  174. gcore/types/cloud/network_list_params.py +3 -2
  175. gcore/types/cloud/networks/subnet_create_params.py +3 -2
  176. gcore/types/cloud/networks/subnet_list_params.py +3 -2
  177. gcore/types/cloud/networks/subnet_update_params.py +3 -2
  178. gcore/types/cloud/project.py +9 -9
  179. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +3 -2
  180. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +3 -2
  181. gcore/types/cloud/security_group_create_params.py +4 -2
  182. gcore/types/cloud/security_group_list_params.py +3 -2
  183. gcore/types/cloud/task_id_list.py +8 -1
  184. gcore/types/cloud/task_list_params.py +23 -23
  185. gcore/types/cloud/usage_report_get_params.py +26 -25
  186. gcore/types/cloud/users/role_assignment.py +2 -1
  187. gcore/types/cloud/users/role_assignment_create_params.py +4 -2
  188. gcore/types/cloud/users/role_assignment_update_params.py +4 -2
  189. gcore/types/cloud/volume_list_params.py +3 -2
  190. gcore/types/dns/__init__.py +31 -0
  191. gcore/types/dns/dns_get_account_overview_response.py +21 -0
  192. gcore/types/dns/dns_label_name.py +13 -0
  193. gcore/types/dns/dns_location_translations.py +11 -0
  194. gcore/types/dns/dns_lookup_params.py +15 -0
  195. gcore/types/dns/dns_lookup_response.py +21 -0
  196. gcore/types/dns/dns_name_server.py +17 -0
  197. gcore/types/dns/location_list_continents_response.py +10 -0
  198. gcore/types/dns/location_list_countries_response.py +10 -0
  199. gcore/types/dns/location_list_regions_response.py +10 -0
  200. gcore/types/dns/location_list_response.py +16 -0
  201. gcore/types/dns/metric_list_params.py +24 -0
  202. gcore/types/dns/metric_list_response.py +7 -0
  203. gcore/types/dns/picker_list_response.py +10 -0
  204. gcore/types/dns/pickers/__init__.py +5 -0
  205. gcore/types/dns/pickers/preset_list_response.py +10 -0
  206. gcore/types/dns/zone_check_delegation_status_response.py +20 -0
  207. gcore/types/dns/zone_create_params.py +59 -0
  208. gcore/types/dns/zone_create_response.py +13 -0
  209. gcore/types/dns/zone_export_response.py +11 -0
  210. gcore/types/dns/zone_get_response.py +106 -0
  211. gcore/types/dns/zone_get_statistics_params.py +43 -0
  212. gcore/types/dns/zone_get_statistics_response.py +19 -0
  213. gcore/types/dns/zone_import_params.py +32 -0
  214. gcore/types/dns/zone_import_response.py +26 -0
  215. gcore/types/dns/zone_list_params.py +57 -0
  216. gcore/types/dns/zone_list_response.py +105 -0
  217. gcore/types/dns/zone_replace_params.py +61 -0
  218. gcore/types/dns/zones/__init__.py +15 -0
  219. gcore/types/dns/zones/dns_failover_log.py +19 -0
  220. gcore/types/dns/zones/dns_output_rrset.py +123 -0
  221. gcore/types/dns/zones/dnssec_get_response.py +38 -0
  222. gcore/types/dns/zones/dnssec_update_params.py +11 -0
  223. gcore/types/dns/zones/dnssec_update_response.py +38 -0
  224. gcore/types/dns/zones/rrset_create_params.py +82 -0
  225. gcore/types/dns/zones/rrset_get_failover_logs_params.py +21 -0
  226. gcore/types/dns/zones/rrset_get_failover_logs_response.py +15 -0
  227. gcore/types/dns/zones/rrset_list_params.py +21 -0
  228. gcore/types/dns/zones/rrset_list_response.py +14 -0
  229. gcore/types/dns/zones/rrset_replace_params.py +82 -0
  230. gcore/types/security/client_profile.py +1 -1
  231. gcore/types/security/profile_create_params.py +2 -2
  232. gcore/types/security/profile_recreate_params.py +2 -2
  233. gcore/types/security/profile_replace_params.py +2 -2
  234. gcore/types/storage/__init__.py +21 -0
  235. gcore/types/storage/bucket.py +15 -0
  236. gcore/types/storage/bucket_list_params.py +15 -0
  237. gcore/types/storage/buckets/__init__.py +9 -0
  238. gcore/types/storage/buckets/bucket_cors.py +18 -0
  239. gcore/types/storage/buckets/bucket_policy.py +7 -0
  240. gcore/types/storage/buckets/cor_create_params.py +17 -0
  241. gcore/types/storage/buckets/lifecycle_create_params.py +18 -0
  242. gcore/types/storage/buckets/policy_get_response.py +7 -0
  243. gcore/types/storage/credential_recreate_params.py +36 -0
  244. gcore/types/storage/location.py +24 -0
  245. gcore/types/storage/location_list_params.py +13 -0
  246. gcore/types/storage/statistic_get_usage_aggregated_params.py +24 -0
  247. gcore/types/storage/statistic_get_usage_series_params.py +38 -0
  248. gcore/types/storage/statistic_get_usage_series_response.py +12 -0
  249. gcore/types/storage/storage.py +101 -0
  250. gcore/types/storage/storage_create_params.py +44 -0
  251. gcore/types/storage/storage_list_params.py +39 -0
  252. gcore/types/storage/storage_restore_params.py +11 -0
  253. gcore/types/storage/storage_update_params.py +18 -0
  254. gcore/types/storage/usage_series.py +201 -0
  255. gcore/types/storage/usage_total.py +54 -0
  256. gcore/types/streaming/__init__.py +0 -4
  257. gcore/types/streaming/ai_contentmoderation_hardnudity.py +1 -1
  258. gcore/types/streaming/ai_contentmoderation_nsfw.py +1 -1
  259. gcore/types/streaming/ai_contentmoderation_softnudity.py +1 -1
  260. gcore/types/streaming/ai_contentmoderation_sport.py +1 -1
  261. gcore/types/streaming/ai_task.py +1 -5
  262. gcore/types/streaming/ai_task_create_params.py +2 -2
  263. gcore/types/streaming/ai_task_get_response.py +0 -46
  264. gcore/types/streaming/clip.py +2 -1
  265. gcore/types/streaming/create_video_param.py +13 -12
  266. gcore/types/streaming/max_stream_series.py +5 -5
  267. gcore/types/streaming/playlist.py +1 -1
  268. gcore/types/streaming/playlist_create_params.py +1 -1
  269. gcore/types/streaming/playlist_update_params.py +1 -1
  270. gcore/types/streaming/playlist_video.py +13 -12
  271. gcore/types/streaming/storage_series.py +5 -5
  272. gcore/types/streaming/stream.py +86 -49
  273. gcore/types/streaming/stream_create_clip_params.py +2 -1
  274. gcore/types/streaming/stream_create_params.py +9 -23
  275. gcore/types/streaming/stream_series.py +5 -5
  276. gcore/types/streaming/stream_update_params.py +9 -23
  277. gcore/types/streaming/video.py +53 -42
  278. gcore/types/streaming/video_update_params.py +13 -12
  279. gcore/types/streaming/vod_statistics_series.py +5 -5
  280. gcore/types/streaming/vod_total_stream_duration_series.py +3 -3
  281. gcore/types/waap/domain_list_params.py +1 -1
  282. gcore/types/waap/domain_update_params.py +1 -1
  283. gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
  284. gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
  285. gcore/types/waap/domains/api_path_create_params.py +4 -3
  286. gcore/types/waap/domains/api_path_list_params.py +3 -1
  287. gcore/types/waap/domains/api_path_update_params.py +5 -4
  288. gcore/types/waap/domains/custom_rule_create_params.py +13 -14
  289. gcore/types/waap/domains/custom_rule_update_params.py +12 -13
  290. gcore/types/waap/domains/firewall_rule_create_params.py +3 -2
  291. gcore/types/waap/domains/firewall_rule_update_params.py +2 -1
  292. gcore/types/waap/domains/insight_list_params.py +4 -2
  293. gcore/types/waap/domains/insight_replace_params.py +1 -1
  294. gcore/types/waap/domains/insight_silence_list_params.py +5 -3
  295. gcore/types/waap/domains/setting_update_params.py +3 -2
  296. gcore/types/waap/domains/statistic_get_ddos_info_params.py +6 -9
  297. gcore/types/waap/domains/statistic_get_events_aggregated_params.py +9 -10
  298. gcore/types/waap/domains/statistic_get_requests_series_params.py +8 -9
  299. gcore/types/waap/domains/statistic_get_traffic_series_params.py +6 -9
  300. gcore/types/waap/domains/waap_advanced_rule.py +3 -2
  301. gcore/types/waap/domains/waap_api_path.py +4 -4
  302. gcore/types/waap/domains/waap_api_scan_result.py +2 -2
  303. gcore/types/waap/domains/waap_custom_rule.py +4 -7
  304. gcore/types/waap/domains/waap_firewall_rule.py +3 -2
  305. gcore/types/waap/domains/waap_insight.py +1 -1
  306. gcore/types/waap/domains/waap_request_details.py +5 -4
  307. gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
  308. gcore/types/waap/waap_rule_set.py +1 -1
  309. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/METADATA +7 -2
  310. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/RECORD +312 -192
  311. gcore/types/cloud/inference/inference_model.py +0 -65
  312. gcore/types/cloud/inference/inference_registry_credentials_create.py +0 -22
  313. gcore/types/cloud/inference/model_list_params.py +0 -21
  314. gcore/types/streaming/ai_contentmoderation_casm.py +0 -39
  315. gcore/types/streaming/ai_contentmoderation_weapon.py +0 -39
  316. gcore/types/streaming/meet_series.py +0 -23
  317. gcore/types/streaming/statistic_get_meet_series_params.py +0 -20
  318. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/WHEEL +0 -0
  319. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,8 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- import typing_extensions
6
- from typing import Dict, List, Iterable, Optional
5
+ from typing import Dict, List, Optional
6
+ from typing_extensions import Literal
7
7
 
8
8
  import httpx
9
9
 
@@ -31,7 +31,7 @@ from .servers import (
31
31
  ServersResourceWithStreamingResponse,
32
32
  AsyncServersResourceWithStreamingResponse,
33
33
  )
34
- from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
34
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven, SequenceNotStr
35
35
  from ...._utils import maybe_transform, async_maybe_transform
36
36
  from ...._compat import cached_property
37
37
  from .interfaces import (
@@ -60,7 +60,7 @@ from ....types.cloud import (
60
60
  from ...._base_client import AsyncPaginator, make_request_options
61
61
  from ....types.cloud.task_id_list import TaskIDList
62
62
  from ....types.cloud.gpu_baremetal_cluster import GPUBaremetalCluster
63
- from ....types.cloud.gpu_baremetal_cluster_server_list import GPUBaremetalClusterServerList
63
+ from ....types.cloud.gpu_baremetal_clusters.gpu_baremetal_cluster_server_v1_list import GPUBaremetalClusterServerV1List
64
64
 
65
65
  __all__ = ["GPUBaremetalClustersResource", "AsyncGPUBaremetalClustersResource"]
66
66
 
@@ -108,15 +108,10 @@ class GPUBaremetalClustersResource(SyncAPIResource):
108
108
  region_id: int | None = None,
109
109
  flavor: str,
110
110
  image_id: str,
111
- interfaces: Iterable[gpu_baremetal_cluster_create_params.Interface],
112
111
  name: str,
113
- instances_count: int | NotGiven = NOT_GIVEN,
114
- password: str | NotGiven = NOT_GIVEN,
115
- security_groups: Iterable[gpu_baremetal_cluster_create_params.SecurityGroup] | NotGiven = NOT_GIVEN,
116
- ssh_key_name: str | NotGiven = NOT_GIVEN,
112
+ servers_count: int,
113
+ servers_settings: gpu_baremetal_cluster_create_params.ServersSettings,
117
114
  tags: Dict[str, str] | NotGiven = NOT_GIVEN,
118
- user_data: str | NotGiven = NOT_GIVEN,
119
- username: str | NotGiven = NOT_GIVEN,
120
115
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
121
116
  # The extra values given here take precedence over values defined on the client or passed to this method.
122
117
  extra_headers: Headers | None = None,
@@ -124,31 +119,23 @@ class GPUBaremetalClustersResource(SyncAPIResource):
124
119
  extra_body: Body | None = None,
125
120
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
126
121
  ) -> TaskIDList:
127
- """Create a new GPU cluster with specified configuration.
128
-
129
- The cluster can be
130
- created with one or more nodes.
122
+ """
123
+ Create a new bare metal GPU cluster with the specified configuration.
131
124
 
132
125
  Args:
133
- flavor: Flavor name
134
-
135
- image_id: Image ID
126
+ project_id: Project ID
136
127
 
137
- interfaces: A list of network interfaces for the server. You can create one or more
138
- interfaces - private, public, or both.
128
+ region_id: Region ID
139
129
 
140
- name: GPU Cluster name
130
+ flavor: Cluster flavor ID
141
131
 
142
- instances_count: Number of servers to create
132
+ image_id: System image ID
143
133
 
144
- password: A password for a bare metal server. This parameter is used to set a password for
145
- the "Admin" user on a Windows instance, a default user or a new user on a Linux
146
- instance
134
+ name: Cluster name
147
135
 
148
- security_groups: Security group UUIDs
136
+ servers_count: Number of servers in the cluster
149
137
 
150
- ssh_key_name: Specifies the name of the SSH keypair, created via the
151
- [/v1/`ssh_keys` endpoint](/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).
138
+ servers_settings: Configuration settings for the servers in the cluster
152
139
 
153
140
  tags: Key-value tags to associate with the resource. A tag is a key-value pair that
154
141
  can be associated with a resource, enabling efficient filtering and grouping for
@@ -156,13 +143,6 @@ class GPUBaremetalClustersResource(SyncAPIResource):
156
143
  modified by the user. Tags are also integrated with cost reports, allowing cost
157
144
  data to be filtered based on tag keys or values.
158
145
 
159
- user_data: String in base64 format. Must not be passed together with 'username' or
160
- 'password'. Examples of the `user_data`:
161
- https://cloudinit.readthedocs.io/en/latest/topics/examples.html
162
-
163
- username: A name of a new user in the Linux instance. It may be passed with a 'password'
164
- parameter
165
-
166
146
  extra_headers: Send extra headers
167
147
 
168
148
  extra_query: Add additional query parameters to the request
@@ -176,20 +156,15 @@ class GPUBaremetalClustersResource(SyncAPIResource):
176
156
  if region_id is None:
177
157
  region_id = self._client._get_cloud_region_id_path_param()
178
158
  return self._post(
179
- f"/cloud/v1/ai/clusters/gpu/{project_id}/{region_id}",
159
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters",
180
160
  body=maybe_transform(
181
161
  {
182
162
  "flavor": flavor,
183
163
  "image_id": image_id,
184
- "interfaces": interfaces,
185
164
  "name": name,
186
- "instances_count": instances_count,
187
- "password": password,
188
- "security_groups": security_groups,
189
- "ssh_key_name": ssh_key_name,
165
+ "servers_count": servers_count,
166
+ "servers_settings": servers_settings,
190
167
  "tags": tags,
191
- "user_data": user_data,
192
- "username": username,
193
168
  },
194
169
  gpu_baremetal_cluster_create_params.GPUBaremetalClusterCreateParams,
195
170
  ),
@@ -199,13 +174,13 @@ class GPUBaremetalClustersResource(SyncAPIResource):
199
174
  cast_to=TaskIDList,
200
175
  )
201
176
 
202
- @typing_extensions.deprecated("deprecated")
203
177
  def list(
204
178
  self,
205
179
  *,
206
180
  project_id: int | None = None,
207
181
  region_id: int | None = None,
208
182
  limit: int | NotGiven = NOT_GIVEN,
183
+ managed_by: List[Literal["k8s", "user"]] | NotGiven = NOT_GIVEN,
209
184
  offset: int | NotGiven = NOT_GIVEN,
210
185
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
211
186
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -215,13 +190,22 @@ class GPUBaremetalClustersResource(SyncAPIResource):
215
190
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
216
191
  ) -> SyncOffsetPage[GPUBaremetalCluster]:
217
192
  """
218
- Please use the `/v3/gpu/baremetal/{`project_id`}/{`region_id`}/clusters`
219
- instead.
193
+ List all bare metal GPU clusters in the specified project and region.
220
194
 
221
195
  Args:
222
- limit: Limit the number of returned clusters
196
+ project_id: Project ID
197
+
198
+ region_id: Region ID
199
+
200
+ limit: Limit of items on a single page
201
+
202
+ managed_by: Specifies the entity responsible for managing the resource.
223
203
 
224
- offset: Offset value is used to exclude the first set of records from the result
204
+ - `user`: The resource (cluster) is created and maintained directly by the user.
205
+ - `k8s`: The resource is created and maintained automatically by Managed
206
+ Kubernetes service
207
+
208
+ offset: Offset in results list
225
209
 
226
210
  extra_headers: Send extra headers
227
211
 
@@ -236,7 +220,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
236
220
  if region_id is None:
237
221
  region_id = self._client._get_cloud_region_id_path_param()
238
222
  return self._get_api_list(
239
- f"/cloud/v2/ai/clusters/{project_id}/{region_id}",
223
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters",
240
224
  page=SyncOffsetPage[GPUBaremetalCluster],
241
225
  options=make_request_options(
242
226
  extra_headers=extra_headers,
@@ -246,6 +230,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
246
230
  query=maybe_transform(
247
231
  {
248
232
  "limit": limit,
233
+ "managed_by": managed_by,
249
234
  "offset": offset,
250
235
  },
251
236
  gpu_baremetal_cluster_list_params.GPUBaremetalClusterListParams,
@@ -260,9 +245,10 @@ class GPUBaremetalClustersResource(SyncAPIResource):
260
245
  *,
261
246
  project_id: int | None = None,
262
247
  region_id: int | None = None,
263
- delete_floatings: bool | NotGiven = NOT_GIVEN,
264
- floatings: str | NotGiven = NOT_GIVEN,
265
- reserved_fixed_ips: str | NotGiven = NOT_GIVEN,
248
+ all_floating_ips: bool | NotGiven = NOT_GIVEN,
249
+ all_reserved_fixed_ips: bool | NotGiven = NOT_GIVEN,
250
+ floating_ip_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
251
+ reserved_fixed_ip_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
266
252
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
267
253
  # The extra values given here take precedence over values defined on the client or passed to this method.
268
254
  extra_headers: Headers | None = None,
@@ -271,16 +257,24 @@ class GPUBaremetalClustersResource(SyncAPIResource):
271
257
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
272
258
  ) -> TaskIDList:
273
259
  """
274
- Delete bare metal GPU cluster
260
+ Delete a bare metal GPU cluster and all its associated resources.
275
261
 
276
262
  Args:
277
- delete_floatings: True if it is required to delete floating IPs assigned to the servers. Can't be
278
- used with floatings.
263
+ project_id: Project ID
264
+
265
+ region_id: Region ID
266
+
267
+ cluster_id: Cluster unique identifier
268
+
269
+ all_floating_ips: Flag indicating whether the floating ips associated with server / cluster are
270
+ deleted
271
+
272
+ all_reserved_fixed_ips: Flag indicating whether the reserved fixed ips associated with server / cluster
273
+ are deleted
279
274
 
280
- floatings: Comma separated list of floating ids that should be deleted. Can't be used with
281
- `delete_floatings`.
275
+ floating_ip_ids: Optional list of floating ips to be deleted
282
276
 
283
- reserved_fixed_ips: Comma separated list of port IDs to be deleted with the servers
277
+ reserved_fixed_ip_ids: Optional list of reserved fixed ips to be deleted
284
278
 
285
279
  extra_headers: Send extra headers
286
280
 
@@ -297,7 +291,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
297
291
  if not cluster_id:
298
292
  raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
299
293
  return self._delete(
300
- f"/cloud/v2/ai/clusters/{project_id}/{region_id}/{cluster_id}",
294
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}",
301
295
  options=make_request_options(
302
296
  extra_headers=extra_headers,
303
297
  extra_query=extra_query,
@@ -305,9 +299,10 @@ class GPUBaremetalClustersResource(SyncAPIResource):
305
299
  timeout=timeout,
306
300
  query=maybe_transform(
307
301
  {
308
- "delete_floatings": delete_floatings,
309
- "floatings": floatings,
310
- "reserved_fixed_ips": reserved_fixed_ips,
302
+ "all_floating_ips": all_floating_ips,
303
+ "all_reserved_fixed_ips": all_reserved_fixed_ips,
304
+ "floating_ip_ids": floating_ip_ids,
305
+ "reserved_fixed_ip_ids": reserved_fixed_ip_ids,
311
306
  },
312
307
  gpu_baremetal_cluster_delete_params.GPUBaremetalClusterDeleteParams,
313
308
  ),
@@ -315,7 +310,6 @@ class GPUBaremetalClustersResource(SyncAPIResource):
315
310
  cast_to=TaskIDList,
316
311
  )
317
312
 
318
- @typing_extensions.deprecated("deprecated")
319
313
  def get(
320
314
  self,
321
315
  cluster_id: str,
@@ -330,11 +324,15 @@ class GPUBaremetalClustersResource(SyncAPIResource):
330
324
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
331
325
  ) -> GPUBaremetalCluster:
332
326
  """
333
- Please use the
334
- `/v3/gpu/baremetal/{`project_id`}/{`region_id`}/clusters/{`cluster_id`}`
335
- instead.
327
+ Get detailed information about a specific bare metal GPU cluster.
336
328
 
337
329
  Args:
330
+ project_id: Project ID
331
+
332
+ region_id: Region ID
333
+
334
+ cluster_id: Cluster unique identifier
335
+
338
336
  extra_headers: Send extra headers
339
337
 
340
338
  extra_query: Add additional query parameters to the request
@@ -350,7 +348,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
350
348
  if not cluster_id:
351
349
  raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
352
350
  return self._get(
353
- f"/cloud/v2/ai/clusters/{project_id}/{region_id}/{cluster_id}",
351
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}",
354
352
  options=make_request_options(
355
353
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
356
354
  ),
@@ -369,7 +367,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
369
367
  extra_query: Query | None = None,
370
368
  extra_body: Body | None = None,
371
369
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
372
- ) -> GPUBaremetalClusterServerList:
370
+ ) -> GPUBaremetalClusterServerV1List:
373
371
  """
374
372
  Stops and then starts all cluster servers, effectively performing a hard reboot.
375
373
 
@@ -393,7 +391,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
393
391
  options=make_request_options(
394
392
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
395
393
  ),
396
- cast_to=GPUBaremetalClusterServerList,
394
+ cast_to=GPUBaremetalClusterServerV1List,
397
395
  )
398
396
 
399
397
  def reboot_all_servers(
@@ -408,7 +406,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
408
406
  extra_query: Query | None = None,
409
407
  extra_body: Body | None = None,
410
408
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
411
- ) -> GPUBaremetalClusterServerList:
409
+ ) -> GPUBaremetalClusterServerV1List:
412
410
  """
413
411
  Reboot all bare metal GPU cluster servers
414
412
 
@@ -432,7 +430,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
432
430
  options=make_request_options(
433
431
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
434
432
  ),
435
- cast_to=GPUBaremetalClusterServerList,
433
+ cast_to=GPUBaremetalClusterServerV1List,
436
434
  )
437
435
 
438
436
  def rebuild(
@@ -441,7 +439,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
441
439
  *,
442
440
  project_id: int | None = None,
443
441
  region_id: int | None = None,
444
- nodes: List[str],
442
+ nodes: SequenceNotStr[str],
445
443
  image_id: Optional[str] | NotGiven = NOT_GIVEN,
446
444
  user_data: Optional[str] | NotGiven = NOT_GIVEN,
447
445
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -550,10 +548,9 @@ class GPUBaremetalClustersResource(SyncAPIResource):
550
548
  region_id: int | None = None,
551
549
  flavor: str,
552
550
  image_id: str,
553
- interfaces: Iterable[gpu_baremetal_cluster_create_params.Interface],
554
551
  name: str,
555
- instances_count: int | NotGiven = NOT_GIVEN,
556
- ssh_key_name: str | NotGiven = NOT_GIVEN,
552
+ servers_count: int,
553
+ servers_settings: gpu_baremetal_cluster_create_params.ServersSettings,
557
554
  tags: Dict[str, str] | NotGiven = NOT_GIVEN,
558
555
  polling_interval_seconds: int | NotGiven = NOT_GIVEN,
559
556
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -571,10 +568,9 @@ class GPUBaremetalClustersResource(SyncAPIResource):
571
568
  region_id=region_id,
572
569
  flavor=flavor,
573
570
  image_id=image_id,
574
- interfaces=interfaces,
575
571
  name=name,
576
- instances_count=instances_count,
577
- ssh_key_name=ssh_key_name,
572
+ servers_count=servers_count,
573
+ servers_settings=servers_settings,
578
574
  tags=tags,
579
575
  extra_headers=extra_headers,
580
576
  extra_query=extra_query,
@@ -593,7 +589,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
593
589
  if not task.created_resources or not task.created_resources.ai_clusters:
594
590
  raise ValueError("No cluster was created")
595
591
  cluster_id = task.created_resources.ai_clusters[0]
596
- return self.get( # pyright: ignore[reportDeprecated]
592
+ return self.get( # pyright: ignore[reportDeprecated]
597
593
  cluster_id=cluster_id,
598
594
  project_id=project_id,
599
595
  region_id=region_id,
@@ -644,7 +640,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
644
640
  extra_body=extra_body,
645
641
  polling_interval_seconds=polling_interval_seconds,
646
642
  )
647
- return self.get( # pyright: ignore[reportDeprecated]
643
+ return self.get( # pyright: ignore[reportDeprecated]
648
644
  cluster_id=cluster_id,
649
645
  project_id=project_id,
650
646
  region_id=region_id,
@@ -691,7 +687,7 @@ class GPUBaremetalClustersResource(SyncAPIResource):
691
687
  extra_body=extra_body,
692
688
  polling_interval_seconds=polling_interval_seconds,
693
689
  )
694
- return self.get( # pyright: ignore[reportDeprecated]
690
+ return self.get( # pyright: ignore[reportDeprecated]
695
691
  cluster_id=cluster_id,
696
692
  project_id=project_id,
697
693
  region_id=region_id,
@@ -745,15 +741,10 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
745
741
  region_id: int | None = None,
746
742
  flavor: str,
747
743
  image_id: str,
748
- interfaces: Iterable[gpu_baremetal_cluster_create_params.Interface],
749
744
  name: str,
750
- instances_count: int | NotGiven = NOT_GIVEN,
751
- password: str | NotGiven = NOT_GIVEN,
752
- security_groups: Iterable[gpu_baremetal_cluster_create_params.SecurityGroup] | NotGiven = NOT_GIVEN,
753
- ssh_key_name: str | NotGiven = NOT_GIVEN,
745
+ servers_count: int,
746
+ servers_settings: gpu_baremetal_cluster_create_params.ServersSettings,
754
747
  tags: Dict[str, str] | NotGiven = NOT_GIVEN,
755
- user_data: str | NotGiven = NOT_GIVEN,
756
- username: str | NotGiven = NOT_GIVEN,
757
748
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
758
749
  # The extra values given here take precedence over values defined on the client or passed to this method.
759
750
  extra_headers: Headers | None = None,
@@ -761,31 +752,23 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
761
752
  extra_body: Body | None = None,
762
753
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
763
754
  ) -> TaskIDList:
764
- """Create a new GPU cluster with specified configuration.
765
-
766
- The cluster can be
767
- created with one or more nodes.
755
+ """
756
+ Create a new bare metal GPU cluster with the specified configuration.
768
757
 
769
758
  Args:
770
- flavor: Flavor name
771
-
772
- image_id: Image ID
759
+ project_id: Project ID
773
760
 
774
- interfaces: A list of network interfaces for the server. You can create one or more
775
- interfaces - private, public, or both.
761
+ region_id: Region ID
776
762
 
777
- name: GPU Cluster name
763
+ flavor: Cluster flavor ID
778
764
 
779
- instances_count: Number of servers to create
765
+ image_id: System image ID
780
766
 
781
- password: A password for a bare metal server. This parameter is used to set a password for
782
- the "Admin" user on a Windows instance, a default user or a new user on a Linux
783
- instance
767
+ name: Cluster name
784
768
 
785
- security_groups: Security group UUIDs
769
+ servers_count: Number of servers in the cluster
786
770
 
787
- ssh_key_name: Specifies the name of the SSH keypair, created via the
788
- [/v1/`ssh_keys` endpoint](/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).
771
+ servers_settings: Configuration settings for the servers in the cluster
789
772
 
790
773
  tags: Key-value tags to associate with the resource. A tag is a key-value pair that
791
774
  can be associated with a resource, enabling efficient filtering and grouping for
@@ -793,13 +776,6 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
793
776
  modified by the user. Tags are also integrated with cost reports, allowing cost
794
777
  data to be filtered based on tag keys or values.
795
778
 
796
- user_data: String in base64 format. Must not be passed together with 'username' or
797
- 'password'. Examples of the `user_data`:
798
- https://cloudinit.readthedocs.io/en/latest/topics/examples.html
799
-
800
- username: A name of a new user in the Linux instance. It may be passed with a 'password'
801
- parameter
802
-
803
779
  extra_headers: Send extra headers
804
780
 
805
781
  extra_query: Add additional query parameters to the request
@@ -813,20 +789,15 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
813
789
  if region_id is None:
814
790
  region_id = self._client._get_cloud_region_id_path_param()
815
791
  return await self._post(
816
- f"/cloud/v1/ai/clusters/gpu/{project_id}/{region_id}",
792
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters",
817
793
  body=await async_maybe_transform(
818
794
  {
819
795
  "flavor": flavor,
820
796
  "image_id": image_id,
821
- "interfaces": interfaces,
822
797
  "name": name,
823
- "instances_count": instances_count,
824
- "password": password,
825
- "security_groups": security_groups,
826
- "ssh_key_name": ssh_key_name,
798
+ "servers_count": servers_count,
799
+ "servers_settings": servers_settings,
827
800
  "tags": tags,
828
- "user_data": user_data,
829
- "username": username,
830
801
  },
831
802
  gpu_baremetal_cluster_create_params.GPUBaremetalClusterCreateParams,
832
803
  ),
@@ -836,13 +807,13 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
836
807
  cast_to=TaskIDList,
837
808
  )
838
809
 
839
- @typing_extensions.deprecated("deprecated")
840
810
  def list(
841
811
  self,
842
812
  *,
843
813
  project_id: int | None = None,
844
814
  region_id: int | None = None,
845
815
  limit: int | NotGiven = NOT_GIVEN,
816
+ managed_by: List[Literal["k8s", "user"]] | NotGiven = NOT_GIVEN,
846
817
  offset: int | NotGiven = NOT_GIVEN,
847
818
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
848
819
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -852,13 +823,22 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
852
823
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
853
824
  ) -> AsyncPaginator[GPUBaremetalCluster, AsyncOffsetPage[GPUBaremetalCluster]]:
854
825
  """
855
- Please use the `/v3/gpu/baremetal/{`project_id`}/{`region_id`}/clusters`
856
- instead.
826
+ List all bare metal GPU clusters in the specified project and region.
857
827
 
858
828
  Args:
859
- limit: Limit the number of returned clusters
829
+ project_id: Project ID
830
+
831
+ region_id: Region ID
832
+
833
+ limit: Limit of items on a single page
834
+
835
+ managed_by: Specifies the entity responsible for managing the resource.
860
836
 
861
- offset: Offset value is used to exclude the first set of records from the result
837
+ - `user`: The resource (cluster) is created and maintained directly by the user.
838
+ - `k8s`: The resource is created and maintained automatically by Managed
839
+ Kubernetes service
840
+
841
+ offset: Offset in results list
862
842
 
863
843
  extra_headers: Send extra headers
864
844
 
@@ -873,7 +853,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
873
853
  if region_id is None:
874
854
  region_id = self._client._get_cloud_region_id_path_param()
875
855
  return self._get_api_list(
876
- f"/cloud/v2/ai/clusters/{project_id}/{region_id}",
856
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters",
877
857
  page=AsyncOffsetPage[GPUBaremetalCluster],
878
858
  options=make_request_options(
879
859
  extra_headers=extra_headers,
@@ -883,6 +863,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
883
863
  query=maybe_transform(
884
864
  {
885
865
  "limit": limit,
866
+ "managed_by": managed_by,
886
867
  "offset": offset,
887
868
  },
888
869
  gpu_baremetal_cluster_list_params.GPUBaremetalClusterListParams,
@@ -897,9 +878,10 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
897
878
  *,
898
879
  project_id: int | None = None,
899
880
  region_id: int | None = None,
900
- delete_floatings: bool | NotGiven = NOT_GIVEN,
901
- floatings: str | NotGiven = NOT_GIVEN,
902
- reserved_fixed_ips: str | NotGiven = NOT_GIVEN,
881
+ all_floating_ips: bool | NotGiven = NOT_GIVEN,
882
+ all_reserved_fixed_ips: bool | NotGiven = NOT_GIVEN,
883
+ floating_ip_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
884
+ reserved_fixed_ip_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
903
885
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
904
886
  # The extra values given here take precedence over values defined on the client or passed to this method.
905
887
  extra_headers: Headers | None = None,
@@ -908,16 +890,24 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
908
890
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
909
891
  ) -> TaskIDList:
910
892
  """
911
- Delete bare metal GPU cluster
893
+ Delete a bare metal GPU cluster and all its associated resources.
912
894
 
913
895
  Args:
914
- delete_floatings: True if it is required to delete floating IPs assigned to the servers. Can't be
915
- used with floatings.
896
+ project_id: Project ID
897
+
898
+ region_id: Region ID
899
+
900
+ cluster_id: Cluster unique identifier
901
+
902
+ all_floating_ips: Flag indicating whether the floating ips associated with server / cluster are
903
+ deleted
904
+
905
+ all_reserved_fixed_ips: Flag indicating whether the reserved fixed ips associated with server / cluster
906
+ are deleted
916
907
 
917
- floatings: Comma separated list of floating ids that should be deleted. Can't be used with
918
- `delete_floatings`.
908
+ floating_ip_ids: Optional list of floating ips to be deleted
919
909
 
920
- reserved_fixed_ips: Comma separated list of port IDs to be deleted with the servers
910
+ reserved_fixed_ip_ids: Optional list of reserved fixed ips to be deleted
921
911
 
922
912
  extra_headers: Send extra headers
923
913
 
@@ -934,7 +924,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
934
924
  if not cluster_id:
935
925
  raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
936
926
  return await self._delete(
937
- f"/cloud/v2/ai/clusters/{project_id}/{region_id}/{cluster_id}",
927
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}",
938
928
  options=make_request_options(
939
929
  extra_headers=extra_headers,
940
930
  extra_query=extra_query,
@@ -942,9 +932,10 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
942
932
  timeout=timeout,
943
933
  query=await async_maybe_transform(
944
934
  {
945
- "delete_floatings": delete_floatings,
946
- "floatings": floatings,
947
- "reserved_fixed_ips": reserved_fixed_ips,
935
+ "all_floating_ips": all_floating_ips,
936
+ "all_reserved_fixed_ips": all_reserved_fixed_ips,
937
+ "floating_ip_ids": floating_ip_ids,
938
+ "reserved_fixed_ip_ids": reserved_fixed_ip_ids,
948
939
  },
949
940
  gpu_baremetal_cluster_delete_params.GPUBaremetalClusterDeleteParams,
950
941
  ),
@@ -952,7 +943,6 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
952
943
  cast_to=TaskIDList,
953
944
  )
954
945
 
955
- @typing_extensions.deprecated("deprecated")
956
946
  async def get(
957
947
  self,
958
948
  cluster_id: str,
@@ -967,11 +957,15 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
967
957
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
968
958
  ) -> GPUBaremetalCluster:
969
959
  """
970
- Please use the
971
- `/v3/gpu/baremetal/{`project_id`}/{`region_id`}/clusters/{`cluster_id`}`
972
- instead.
960
+ Get detailed information about a specific bare metal GPU cluster.
973
961
 
974
962
  Args:
963
+ project_id: Project ID
964
+
965
+ region_id: Region ID
966
+
967
+ cluster_id: Cluster unique identifier
968
+
975
969
  extra_headers: Send extra headers
976
970
 
977
971
  extra_query: Add additional query parameters to the request
@@ -987,7 +981,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
987
981
  if not cluster_id:
988
982
  raise ValueError(f"Expected a non-empty value for `cluster_id` but received {cluster_id!r}")
989
983
  return await self._get(
990
- f"/cloud/v2/ai/clusters/{project_id}/{region_id}/{cluster_id}",
984
+ f"/cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}",
991
985
  options=make_request_options(
992
986
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
993
987
  ),
@@ -1006,7 +1000,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
1006
1000
  extra_query: Query | None = None,
1007
1001
  extra_body: Body | None = None,
1008
1002
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1009
- ) -> GPUBaremetalClusterServerList:
1003
+ ) -> GPUBaremetalClusterServerV1List:
1010
1004
  """
1011
1005
  Stops and then starts all cluster servers, effectively performing a hard reboot.
1012
1006
 
@@ -1030,7 +1024,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
1030
1024
  options=make_request_options(
1031
1025
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1032
1026
  ),
1033
- cast_to=GPUBaremetalClusterServerList,
1027
+ cast_to=GPUBaremetalClusterServerV1List,
1034
1028
  )
1035
1029
 
1036
1030
  async def reboot_all_servers(
@@ -1045,7 +1039,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
1045
1039
  extra_query: Query | None = None,
1046
1040
  extra_body: Body | None = None,
1047
1041
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1048
- ) -> GPUBaremetalClusterServerList:
1042
+ ) -> GPUBaremetalClusterServerV1List:
1049
1043
  """
1050
1044
  Reboot all bare metal GPU cluster servers
1051
1045
 
@@ -1069,7 +1063,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
1069
1063
  options=make_request_options(
1070
1064
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1071
1065
  ),
1072
- cast_to=GPUBaremetalClusterServerList,
1066
+ cast_to=GPUBaremetalClusterServerV1List,
1073
1067
  )
1074
1068
 
1075
1069
  async def rebuild(
@@ -1078,7 +1072,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
1078
1072
  *,
1079
1073
  project_id: int | None = None,
1080
1074
  region_id: int | None = None,
1081
- nodes: List[str],
1075
+ nodes: SequenceNotStr[str],
1082
1076
  image_id: Optional[str] | NotGiven = NOT_GIVEN,
1083
1077
  user_data: Optional[str] | NotGiven = NOT_GIVEN,
1084
1078
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -1187,10 +1181,9 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
1187
1181
  region_id: int | None = None,
1188
1182
  flavor: str,
1189
1183
  image_id: str,
1190
- interfaces: Iterable[gpu_baremetal_cluster_create_params.Interface],
1191
1184
  name: str,
1192
- instances_count: int | NotGiven = NOT_GIVEN,
1193
- ssh_key_name: str | NotGiven = NOT_GIVEN,
1185
+ servers_count: int,
1186
+ servers_settings: gpu_baremetal_cluster_create_params.ServersSettings,
1194
1187
  tags: Dict[str, str] | NotGiven = NOT_GIVEN,
1195
1188
  polling_interval_seconds: int | NotGiven = NOT_GIVEN,
1196
1189
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -1208,10 +1201,9 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
1208
1201
  region_id=region_id,
1209
1202
  flavor=flavor,
1210
1203
  image_id=image_id,
1211
- interfaces=interfaces,
1212
1204
  name=name,
1213
- instances_count=instances_count,
1214
- ssh_key_name=ssh_key_name,
1205
+ servers_count=servers_count,
1206
+ servers_settings=servers_settings,
1215
1207
  tags=tags,
1216
1208
  extra_headers=extra_headers,
1217
1209
  extra_query=extra_query,
@@ -1230,7 +1222,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
1230
1222
  if not task.created_resources or not task.created_resources.ai_clusters:
1231
1223
  raise ValueError("No cluster was created")
1232
1224
  cluster_id = task.created_resources.ai_clusters[0]
1233
- return await self.get( # pyright: ignore[reportDeprecated]
1225
+ return await self.get( # pyright: ignore[reportDeprecated]
1234
1226
  cluster_id=cluster_id,
1235
1227
  project_id=project_id,
1236
1228
  region_id=region_id,
@@ -1281,7 +1273,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
1281
1273
  extra_body=extra_body,
1282
1274
  polling_interval_seconds=polling_interval_seconds,
1283
1275
  )
1284
- return await self.get( # pyright: ignore[reportDeprecated]
1276
+ return await self.get( # pyright: ignore[reportDeprecated]
1285
1277
  cluster_id=cluster_id,
1286
1278
  project_id=project_id,
1287
1279
  region_id=region_id,
@@ -1328,7 +1320,7 @@ class AsyncGPUBaremetalClustersResource(AsyncAPIResource):
1328
1320
  extra_body=extra_body,
1329
1321
  polling_interval_seconds=polling_interval_seconds,
1330
1322
  )
1331
- return await self.get( # pyright: ignore[reportDeprecated]
1323
+ return await self.get( # pyright: ignore[reportDeprecated]
1332
1324
  cluster_id=cluster_id,
1333
1325
  project_id=project_id,
1334
1326
  region_id=region_id,
@@ -1346,18 +1338,14 @@ class GPUBaremetalClustersResourceWithRawResponse:
1346
1338
  self.create = to_raw_response_wrapper(
1347
1339
  gpu_baremetal_clusters.create,
1348
1340
  )
1349
- self.list = ( # pyright: ignore[reportDeprecated]
1350
- to_raw_response_wrapper(
1351
- gpu_baremetal_clusters.list # pyright: ignore[reportDeprecated],
1352
- )
1341
+ self.list = to_raw_response_wrapper(
1342
+ gpu_baremetal_clusters.list,
1353
1343
  )
1354
1344
  self.delete = to_raw_response_wrapper(
1355
1345
  gpu_baremetal_clusters.delete,
1356
1346
  )
1357
- self.get = ( # pyright: ignore[reportDeprecated]
1358
- to_raw_response_wrapper(
1359
- gpu_baremetal_clusters.get # pyright: ignore[reportDeprecated],
1360
- )
1347
+ self.get = to_raw_response_wrapper(
1348
+ gpu_baremetal_clusters.get,
1361
1349
  )
1362
1350
  self.powercycle_all_servers = to_raw_response_wrapper(
1363
1351
  gpu_baremetal_clusters.powercycle_all_servers,
@@ -1396,18 +1384,14 @@ class AsyncGPUBaremetalClustersResourceWithRawResponse:
1396
1384
  self.create = async_to_raw_response_wrapper(
1397
1385
  gpu_baremetal_clusters.create,
1398
1386
  )
1399
- self.list = ( # pyright: ignore[reportDeprecated]
1400
- async_to_raw_response_wrapper(
1401
- gpu_baremetal_clusters.list # pyright: ignore[reportDeprecated],
1402
- )
1387
+ self.list = async_to_raw_response_wrapper(
1388
+ gpu_baremetal_clusters.list,
1403
1389
  )
1404
1390
  self.delete = async_to_raw_response_wrapper(
1405
1391
  gpu_baremetal_clusters.delete,
1406
1392
  )
1407
- self.get = ( # pyright: ignore[reportDeprecated]
1408
- async_to_raw_response_wrapper(
1409
- gpu_baremetal_clusters.get # pyright: ignore[reportDeprecated],
1410
- )
1393
+ self.get = async_to_raw_response_wrapper(
1394
+ gpu_baremetal_clusters.get,
1411
1395
  )
1412
1396
  self.powercycle_all_servers = async_to_raw_response_wrapper(
1413
1397
  gpu_baremetal_clusters.powercycle_all_servers,
@@ -1446,18 +1430,14 @@ class GPUBaremetalClustersResourceWithStreamingResponse:
1446
1430
  self.create = to_streamed_response_wrapper(
1447
1431
  gpu_baremetal_clusters.create,
1448
1432
  )
1449
- self.list = ( # pyright: ignore[reportDeprecated]
1450
- to_streamed_response_wrapper(
1451
- gpu_baremetal_clusters.list # pyright: ignore[reportDeprecated],
1452
- )
1433
+ self.list = to_streamed_response_wrapper(
1434
+ gpu_baremetal_clusters.list,
1453
1435
  )
1454
1436
  self.delete = to_streamed_response_wrapper(
1455
1437
  gpu_baremetal_clusters.delete,
1456
1438
  )
1457
- self.get = ( # pyright: ignore[reportDeprecated]
1458
- to_streamed_response_wrapper(
1459
- gpu_baremetal_clusters.get # pyright: ignore[reportDeprecated],
1460
- )
1439
+ self.get = to_streamed_response_wrapper(
1440
+ gpu_baremetal_clusters.get,
1461
1441
  )
1462
1442
  self.powercycle_all_servers = to_streamed_response_wrapper(
1463
1443
  gpu_baremetal_clusters.powercycle_all_servers,
@@ -1496,18 +1476,14 @@ class AsyncGPUBaremetalClustersResourceWithStreamingResponse:
1496
1476
  self.create = async_to_streamed_response_wrapper(
1497
1477
  gpu_baremetal_clusters.create,
1498
1478
  )
1499
- self.list = ( # pyright: ignore[reportDeprecated]
1500
- async_to_streamed_response_wrapper(
1501
- gpu_baremetal_clusters.list # pyright: ignore[reportDeprecated],
1502
- )
1479
+ self.list = async_to_streamed_response_wrapper(
1480
+ gpu_baremetal_clusters.list,
1503
1481
  )
1504
1482
  self.delete = async_to_streamed_response_wrapper(
1505
1483
  gpu_baremetal_clusters.delete,
1506
1484
  )
1507
- self.get = ( # pyright: ignore[reportDeprecated]
1508
- async_to_streamed_response_wrapper(
1509
- gpu_baremetal_clusters.get # pyright: ignore[reportDeprecated],
1510
- )
1485
+ self.get = async_to_streamed_response_wrapper(
1486
+ gpu_baremetal_clusters.get,
1511
1487
  )
1512
1488
  self.powercycle_all_servers = async_to_streamed_response_wrapper(
1513
1489
  gpu_baremetal_clusters.powercycle_all_servers,