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
@@ -76,6 +76,7 @@ class FileSharesResource(SyncAPIResource):
76
76
  size: int,
77
77
  access: Iterable[file_share_create_params.CreateStandardFileShareSerializerAccess] | NotGiven = NOT_GIVEN,
78
78
  tags: Dict[str, str] | NotGiven = NOT_GIVEN,
79
+ type_name: Literal["standard"] | NotGiven = NOT_GIVEN,
79
80
  volume_type: Literal["default_share_type"] | NotGiven = NOT_GIVEN,
80
81
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
81
82
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -98,7 +99,7 @@ class FileSharesResource(SyncAPIResource):
98
99
 
99
100
  protocol: File share protocol
100
101
 
101
- size: File share size
102
+ size: File share size in GiB
102
103
 
103
104
  access: Access Rules
104
105
 
@@ -108,7 +109,9 @@ class FileSharesResource(SyncAPIResource):
108
109
  modified by the user. Tags are also integrated with cost reports, allowing cost
109
110
  data to be filtered based on tag keys or values.
110
111
 
111
- volume_type: File share volume type
112
+ type_name: Standard file share type
113
+
114
+ volume_type: Deprecated. Use `type_name` instead.
112
115
 
113
116
  extra_headers: Send extra headers
114
117
 
@@ -129,9 +132,10 @@ class FileSharesResource(SyncAPIResource):
129
132
  name: str,
130
133
  protocol: Literal["NFS"],
131
134
  size: int,
132
- volume_type: Literal["vast_share_type"],
133
135
  share_settings: file_share_create_params.CreateVastFileShareSerializerShareSettings | NotGiven = NOT_GIVEN,
134
136
  tags: Dict[str, str] | NotGiven = NOT_GIVEN,
137
+ type_name: Literal["vast"] | NotGiven = NOT_GIVEN,
138
+ volume_type: Literal["vast_share_type"] | NotGiven = NOT_GIVEN,
135
139
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
136
140
  # The extra values given here take precedence over values defined on the client or passed to this method.
137
141
  extra_headers: Headers | None = None,
@@ -151,9 +155,7 @@ class FileSharesResource(SyncAPIResource):
151
155
 
152
156
  protocol: File share protocol
153
157
 
154
- size: File share size
155
-
156
- volume_type: File share volume type
158
+ size: File share size in GiB
157
159
 
158
160
  share_settings: Configuration settings for the share
159
161
 
@@ -163,6 +165,10 @@ class FileSharesResource(SyncAPIResource):
163
165
  modified by the user. Tags are also integrated with cost reports, allowing cost
164
166
  data to be filtered based on tag keys or values.
165
167
 
168
+ type_name: Vast file share type
169
+
170
+ volume_type: Deprecated. Use `type_name` instead.
171
+
166
172
  extra_headers: Send extra headers
167
173
 
168
174
  extra_query: Add additional query parameters to the request
@@ -173,7 +179,7 @@ class FileSharesResource(SyncAPIResource):
173
179
  """
174
180
  ...
175
181
 
176
- @required_args(["name", "network", "protocol", "size"], ["name", "protocol", "size", "volume_type"])
182
+ @required_args(["name", "network", "protocol", "size"], ["name", "protocol", "size"])
177
183
  def create(
178
184
  self,
179
185
  *,
@@ -185,6 +191,7 @@ class FileSharesResource(SyncAPIResource):
185
191
  size: int,
186
192
  access: Iterable[file_share_create_params.CreateStandardFileShareSerializerAccess] | NotGiven = NOT_GIVEN,
187
193
  tags: Dict[str, str] | NotGiven = NOT_GIVEN,
194
+ type_name: Literal["standard"] | Literal["vast"] | NotGiven = NOT_GIVEN,
188
195
  volume_type: Literal["default_share_type"] | Literal["vast_share_type"] | NotGiven = NOT_GIVEN,
189
196
  share_settings: file_share_create_params.CreateVastFileShareSerializerShareSettings | NotGiven = NOT_GIVEN,
190
197
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -208,6 +215,7 @@ class FileSharesResource(SyncAPIResource):
208
215
  "size": size,
209
216
  "access": access,
210
217
  "tags": tags,
218
+ "type_name": type_name,
211
219
  "volume_type": volume_type,
212
220
  "share_settings": share_settings,
213
221
  },
@@ -537,6 +545,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
537
545
  size: int,
538
546
  access: Iterable[file_share_create_params.CreateStandardFileShareSerializerAccess] | NotGiven = NOT_GIVEN,
539
547
  tags: Dict[str, str] | NotGiven = NOT_GIVEN,
548
+ type_name: Literal["standard"] | NotGiven = NOT_GIVEN,
540
549
  volume_type: Literal["default_share_type"] | NotGiven = NOT_GIVEN,
541
550
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
542
551
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -559,7 +568,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
559
568
 
560
569
  protocol: File share protocol
561
570
 
562
- size: File share size
571
+ size: File share size in GiB
563
572
 
564
573
  access: Access Rules
565
574
 
@@ -569,7 +578,9 @@ class AsyncFileSharesResource(AsyncAPIResource):
569
578
  modified by the user. Tags are also integrated with cost reports, allowing cost
570
579
  data to be filtered based on tag keys or values.
571
580
 
572
- volume_type: File share volume type
581
+ type_name: Standard file share type
582
+
583
+ volume_type: Deprecated. Use `type_name` instead.
573
584
 
574
585
  extra_headers: Send extra headers
575
586
 
@@ -590,9 +601,10 @@ class AsyncFileSharesResource(AsyncAPIResource):
590
601
  name: str,
591
602
  protocol: Literal["NFS"],
592
603
  size: int,
593
- volume_type: Literal["vast_share_type"],
594
604
  share_settings: file_share_create_params.CreateVastFileShareSerializerShareSettings | NotGiven = NOT_GIVEN,
595
605
  tags: Dict[str, str] | NotGiven = NOT_GIVEN,
606
+ type_name: Literal["vast"] | NotGiven = NOT_GIVEN,
607
+ volume_type: Literal["vast_share_type"] | NotGiven = NOT_GIVEN,
596
608
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
597
609
  # The extra values given here take precedence over values defined on the client or passed to this method.
598
610
  extra_headers: Headers | None = None,
@@ -612,9 +624,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
612
624
 
613
625
  protocol: File share protocol
614
626
 
615
- size: File share size
616
-
617
- volume_type: File share volume type
627
+ size: File share size in GiB
618
628
 
619
629
  share_settings: Configuration settings for the share
620
630
 
@@ -624,6 +634,10 @@ class AsyncFileSharesResource(AsyncAPIResource):
624
634
  modified by the user. Tags are also integrated with cost reports, allowing cost
625
635
  data to be filtered based on tag keys or values.
626
636
 
637
+ type_name: Vast file share type
638
+
639
+ volume_type: Deprecated. Use `type_name` instead.
640
+
627
641
  extra_headers: Send extra headers
628
642
 
629
643
  extra_query: Add additional query parameters to the request
@@ -634,7 +648,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
634
648
  """
635
649
  ...
636
650
 
637
- @required_args(["name", "network", "protocol", "size"], ["name", "protocol", "size", "volume_type"])
651
+ @required_args(["name", "network", "protocol", "size"], ["name", "protocol", "size"])
638
652
  async def create(
639
653
  self,
640
654
  *,
@@ -646,6 +660,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
646
660
  size: int,
647
661
  access: Iterable[file_share_create_params.CreateStandardFileShareSerializerAccess] | NotGiven = NOT_GIVEN,
648
662
  tags: Dict[str, str] | NotGiven = NOT_GIVEN,
663
+ type_name: Literal["standard"] | Literal["vast"] | NotGiven = NOT_GIVEN,
649
664
  volume_type: Literal["default_share_type"] | Literal["vast_share_type"] | NotGiven = NOT_GIVEN,
650
665
  share_settings: file_share_create_params.CreateVastFileShareSerializerShareSettings | NotGiven = NOT_GIVEN,
651
666
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -669,6 +684,7 @@ class AsyncFileSharesResource(AsyncAPIResource):
669
684
  "size": size,
670
685
  "access": access,
671
686
  "tags": tags,
687
+ "type_name": type_name,
672
688
  "volume_type": volume_type,
673
689
  "share_settings": share_settings,
674
690
  },
@@ -2,11 +2,11 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Optional
5
+ from typing import Dict, Optional
6
6
 
7
7
  import httpx
8
8
 
9
- from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
9
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven, SequenceNotStr
10
10
  from ..._utils import maybe_transform, async_maybe_transform
11
11
  from ..._compat import cached_property
12
12
  from ..._resource import SyncAPIResource, AsyncAPIResource
@@ -116,7 +116,7 @@ class FloatingIPsResource(SyncAPIResource):
116
116
  region_id: int | None = None,
117
117
  limit: int | NotGiven = NOT_GIVEN,
118
118
  offset: int | NotGiven = NOT_GIVEN,
119
- tag_key: List[str] | NotGiven = NOT_GIVEN,
119
+ tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
120
120
  tag_key_value: str | NotGiven = NOT_GIVEN,
121
121
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
122
122
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -344,6 +344,90 @@ class FloatingIPsResource(SyncAPIResource):
344
344
  cast_to=FloatingIP,
345
345
  )
346
346
 
347
+ def create_and_poll(
348
+ self,
349
+ *,
350
+ project_id: int | None = None,
351
+ region_id: int | None = None,
352
+ fixed_ip_address: Optional[str] | NotGiven = NOT_GIVEN,
353
+ port_id: Optional[str] | NotGiven = NOT_GIVEN,
354
+ tags: Dict[str, str] | NotGiven = NOT_GIVEN,
355
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
356
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
357
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
358
+ # The extra values given here take precedence over values defined on the client or passed to this method.
359
+ extra_headers: Headers | None = None,
360
+ extra_query: Query | None = None,
361
+ extra_body: Body | None = None,
362
+ ) -> FloatingIP:
363
+ """
364
+ Create floating IP and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
365
+ """
366
+ response = self.create(
367
+ project_id=project_id,
368
+ region_id=region_id,
369
+ fixed_ip_address=fixed_ip_address,
370
+ port_id=port_id,
371
+ tags=tags,
372
+ extra_headers=extra_headers,
373
+ extra_query=extra_query,
374
+ extra_body=extra_body,
375
+ timeout=timeout,
376
+ )
377
+ if not response.tasks:
378
+ raise ValueError("Expected at least one task to be created")
379
+ task = self._client.cloud.tasks.poll(
380
+ task_id=response.tasks[0],
381
+ extra_headers=extra_headers,
382
+ polling_interval_seconds=polling_interval_seconds,
383
+ )
384
+ if task.created_resources is None or task.created_resources.floatingips is None:
385
+ raise ValueError("Task completed but created_resources or floatingips is missing")
386
+ floating_ip_id = task.created_resources.floatingips[0]
387
+ return self.get(
388
+ floating_ip_id=floating_ip_id,
389
+ project_id=project_id,
390
+ region_id=region_id,
391
+ extra_headers=extra_headers,
392
+ extra_query=extra_query,
393
+ extra_body=extra_body,
394
+ timeout=timeout,
395
+ )
396
+
397
+ def delete_and_poll(
398
+ self,
399
+ floating_ip_id: str,
400
+ *,
401
+ project_id: int | None = None,
402
+ region_id: int | None = None,
403
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
404
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
405
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
406
+ # The extra values given here take precedence over values defined on the client or passed to this method.
407
+ extra_headers: Headers | None = None,
408
+ extra_query: Query | None = None,
409
+ extra_body: Body | None = None,
410
+ ) -> None:
411
+ """
412
+ Delete floating IP and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
413
+ """
414
+ response = self.delete(
415
+ floating_ip_id=floating_ip_id,
416
+ project_id=project_id,
417
+ region_id=region_id,
418
+ extra_headers=extra_headers,
419
+ extra_query=extra_query,
420
+ extra_body=extra_body,
421
+ timeout=timeout,
422
+ )
423
+ if not response.tasks:
424
+ raise ValueError("Expected at least one task to be created")
425
+ self._client.cloud.tasks.poll(
426
+ task_id=response.tasks[0],
427
+ extra_headers=extra_headers,
428
+ polling_interval_seconds=polling_interval_seconds,
429
+ )
430
+
347
431
 
348
432
  class AsyncFloatingIPsResource(AsyncAPIResource):
349
433
  @cached_property
@@ -435,7 +519,7 @@ class AsyncFloatingIPsResource(AsyncAPIResource):
435
519
  region_id: int | None = None,
436
520
  limit: int | NotGiven = NOT_GIVEN,
437
521
  offset: int | NotGiven = NOT_GIVEN,
438
- tag_key: List[str] | NotGiven = NOT_GIVEN,
522
+ tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
439
523
  tag_key_value: str | NotGiven = NOT_GIVEN,
440
524
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
441
525
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -663,6 +747,90 @@ class AsyncFloatingIPsResource(AsyncAPIResource):
663
747
  cast_to=FloatingIP,
664
748
  )
665
749
 
750
+ async def create_and_poll(
751
+ self,
752
+ *,
753
+ project_id: int | None = None,
754
+ region_id: int | None = None,
755
+ fixed_ip_address: Optional[str] | NotGiven = NOT_GIVEN,
756
+ port_id: Optional[str] | NotGiven = NOT_GIVEN,
757
+ tags: Dict[str, str] | NotGiven = NOT_GIVEN,
758
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
759
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
760
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
761
+ # The extra values given here take precedence over values defined on the client or passed to this method.
762
+ extra_headers: Headers | None = None,
763
+ extra_query: Query | None = None,
764
+ extra_body: Body | None = None,
765
+ ) -> FloatingIP:
766
+ """
767
+ Create floating IP and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
768
+ """
769
+ response = await self.create(
770
+ project_id=project_id,
771
+ region_id=region_id,
772
+ fixed_ip_address=fixed_ip_address,
773
+ port_id=port_id,
774
+ tags=tags,
775
+ extra_headers=extra_headers,
776
+ extra_query=extra_query,
777
+ extra_body=extra_body,
778
+ timeout=timeout,
779
+ )
780
+ if not response.tasks:
781
+ raise ValueError("Expected at least one task to be created")
782
+ task = await self._client.cloud.tasks.poll(
783
+ task_id=response.tasks[0],
784
+ extra_headers=extra_headers,
785
+ polling_interval_seconds=polling_interval_seconds,
786
+ )
787
+ if task.created_resources is None or task.created_resources.floatingips is None:
788
+ raise ValueError("Task completed but created_resources or floatingips is missing")
789
+ floating_ip_id = task.created_resources.floatingips[0]
790
+ return await self.get(
791
+ floating_ip_id=floating_ip_id,
792
+ project_id=project_id,
793
+ region_id=region_id,
794
+ extra_headers=extra_headers,
795
+ extra_query=extra_query,
796
+ extra_body=extra_body,
797
+ timeout=timeout,
798
+ )
799
+
800
+ async def delete_and_poll(
801
+ self,
802
+ floating_ip_id: str,
803
+ *,
804
+ project_id: int | None = None,
805
+ region_id: int | None = None,
806
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
807
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
808
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
809
+ # The extra values given here take precedence over values defined on the client or passed to this method.
810
+ extra_headers: Headers | None = None,
811
+ extra_query: Query | None = None,
812
+ extra_body: Body | None = None,
813
+ ) -> None:
814
+ """
815
+ Delete floating IP and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
816
+ """
817
+ response = await self.delete(
818
+ floating_ip_id=floating_ip_id,
819
+ project_id=project_id,
820
+ region_id=region_id,
821
+ extra_headers=extra_headers,
822
+ extra_query=extra_query,
823
+ extra_body=extra_body,
824
+ timeout=timeout,
825
+ )
826
+ if not response.tasks:
827
+ raise ValueError("Expected at least one task to be created")
828
+ await self._client.cloud.tasks.poll(
829
+ task_id=response.tasks[0],
830
+ extra_headers=extra_headers,
831
+ polling_interval_seconds=polling_interval_seconds,
832
+ )
833
+
666
834
 
667
835
  class FloatingIPsResourceWithRawResponse:
668
836
  def __init__(self, floating_ips: FloatingIPsResource) -> None:
@@ -686,6 +854,12 @@ class FloatingIPsResourceWithRawResponse:
686
854
  self.unassign = to_raw_response_wrapper(
687
855
  floating_ips.unassign,
688
856
  )
857
+ self.create_and_poll = to_raw_response_wrapper(
858
+ floating_ips.create_and_poll,
859
+ )
860
+ self.delete_and_poll = to_raw_response_wrapper(
861
+ floating_ips.delete_and_poll,
862
+ )
689
863
 
690
864
 
691
865
  class AsyncFloatingIPsResourceWithRawResponse:
@@ -710,6 +884,12 @@ class AsyncFloatingIPsResourceWithRawResponse:
710
884
  self.unassign = async_to_raw_response_wrapper(
711
885
  floating_ips.unassign,
712
886
  )
887
+ self.create_and_poll = async_to_raw_response_wrapper(
888
+ floating_ips.create_and_poll,
889
+ )
890
+ self.delete_and_poll = async_to_raw_response_wrapper(
891
+ floating_ips.delete_and_poll,
892
+ )
713
893
 
714
894
 
715
895
  class FloatingIPsResourceWithStreamingResponse:
@@ -734,6 +914,12 @@ class FloatingIPsResourceWithStreamingResponse:
734
914
  self.unassign = to_streamed_response_wrapper(
735
915
  floating_ips.unassign,
736
916
  )
917
+ self.create_and_poll = to_streamed_response_wrapper(
918
+ floating_ips.create_and_poll,
919
+ )
920
+ self.delete_and_poll = to_streamed_response_wrapper(
921
+ floating_ips.delete_and_poll,
922
+ )
737
923
 
738
924
 
739
925
  class AsyncFloatingIPsResourceWithStreamingResponse:
@@ -758,3 +944,9 @@ class AsyncFloatingIPsResourceWithStreamingResponse:
758
944
  self.unassign = async_to_streamed_response_wrapper(
759
945
  floating_ips.unassign,
760
946
  )
947
+ self.create_and_poll = async_to_streamed_response_wrapper(
948
+ floating_ips.create_and_poll,
949
+ )
950
+ self.delete_and_poll = async_to_streamed_response_wrapper(
951
+ floating_ips.delete_and_poll,
952
+ )
@@ -16,7 +16,7 @@ from ...._response import (
16
16
  )
17
17
  from ...._base_client import make_request_options
18
18
  from ....types.cloud.gpu_baremetal_clusters import flavor_list_params
19
- from ....types.cloud.gpu_baremetal_flavor_list import GPUBaremetalFlavorList
19
+ from ....types.cloud.gpu_baremetal_clusters.gpu_baremetal_flavor_list import GPUBaremetalFlavorList
20
20
 
21
21
  __all__ = ["FlavorsResource", "AsyncFlavorsResource"]
22
22