gcore 0.3.0__py3-none-any.whl → 0.5.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 (226) hide show
  1. gcore/__init__.py +2 -1
  2. gcore/_base_client.py +31 -2
  3. gcore/_client.py +18 -0
  4. gcore/_constants.py +2 -2
  5. gcore/_models.py +8 -5
  6. gcore/_version.py +1 -1
  7. gcore/pagination.py +252 -1
  8. gcore/resources/__init__.py +28 -0
  9. gcore/resources/cloud/baremetal/flavors.py +11 -137
  10. gcore/resources/cloud/baremetal/images.py +10 -12
  11. gcore/resources/cloud/baremetal/servers.py +33 -30
  12. gcore/resources/cloud/billing_reservations.py +2 -2
  13. gcore/resources/cloud/file_shares/file_shares.py +7 -8
  14. gcore/resources/cloud/floating_ips.py +7 -12
  15. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +33 -22
  16. gcore/resources/cloud/gpu_baremetal_clusters/images.py +9 -10
  17. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +2 -2
  18. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +8 -4
  19. gcore/resources/cloud/inference/deployments/deployments.py +76 -35
  20. gcore/resources/cloud/inference/deployments/logs.py +7 -7
  21. gcore/resources/cloud/inference/inference.py +5 -5
  22. gcore/resources/cloud/inference/models.py +16 -15
  23. gcore/resources/cloud/inference/registry_credentials.py +18 -18
  24. gcore/resources/cloud/inference/secrets.py +12 -13
  25. gcore/resources/cloud/instances/flavors.py +9 -233
  26. gcore/resources/cloud/instances/images.py +47 -37
  27. gcore/resources/cloud/instances/instances.py +49 -34
  28. gcore/resources/cloud/instances/interfaces.py +2 -2
  29. gcore/resources/cloud/ip_ranges.py +34 -2
  30. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +10 -2
  31. gcore/resources/cloud/load_balancers/listeners.py +17 -8
  32. gcore/resources/cloud/load_balancers/load_balancers.py +73 -21
  33. gcore/resources/cloud/load_balancers/metrics.py +2 -2
  34. gcore/resources/cloud/load_balancers/pools/health_monitors.py +2 -2
  35. gcore/resources/cloud/load_balancers/pools/members.py +6 -2
  36. gcore/resources/cloud/networks/networks.py +81 -17
  37. gcore/resources/cloud/networks/routers.py +18 -18
  38. gcore/resources/cloud/networks/subnets.py +51 -11
  39. gcore/resources/cloud/projects.py +38 -24
  40. gcore/resources/cloud/quotas/quotas.py +6 -6
  41. gcore/resources/cloud/quotas/requests.py +8 -8
  42. gcore/resources/cloud/registries/artifacts.py +4 -4
  43. gcore/resources/cloud/registries/registries.py +14 -16
  44. gcore/resources/cloud/registries/repositories.py +4 -4
  45. gcore/resources/cloud/registries/tags.py +2 -2
  46. gcore/resources/cloud/registries/users.py +21 -22
  47. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +20 -20
  48. gcore/resources/cloud/reserved_fixed_ips/vip.py +10 -10
  49. gcore/resources/cloud/secrets.py +14 -224
  50. gcore/resources/cloud/security_groups/rules.py +6 -6
  51. gcore/resources/cloud/security_groups/security_groups.py +70 -31
  52. gcore/resources/cloud/tasks.py +34 -32
  53. gcore/resources/cloud/users/role_assignments.py +12 -14
  54. gcore/resources/cloud/volumes.py +139 -49
  55. gcore/resources/fastedge/__init__.py +103 -0
  56. gcore/resources/fastedge/apps/__init__.py +33 -0
  57. gcore/resources/fastedge/apps/apps.py +932 -0
  58. gcore/resources/fastedge/apps/logs.py +248 -0
  59. gcore/resources/fastedge/binaries.py +286 -0
  60. gcore/resources/fastedge/fastedge.py +327 -0
  61. gcore/resources/fastedge/kv_stores.py +523 -0
  62. gcore/resources/fastedge/secrets.py +687 -0
  63. gcore/resources/fastedge/statistics.py +347 -0
  64. gcore/resources/fastedge/templates.py +652 -0
  65. gcore/resources/iam/__init__.py +47 -0
  66. gcore/resources/iam/api_tokens.py +521 -0
  67. gcore/resources/iam/iam.py +199 -0
  68. gcore/resources/iam/users.py +642 -0
  69. gcore/resources/waap/__init__.py +0 -14
  70. gcore/resources/waap/waap.py +0 -32
  71. gcore/types/cloud/__init__.py +2 -28
  72. gcore/types/cloud/baremetal/__init__.py +0 -1
  73. gcore/types/cloud/baremetal/image_list_params.py +1 -5
  74. gcore/types/cloud/baremetal/server_create_params.py +5 -9
  75. gcore/types/cloud/baremetal/server_list_params.py +1 -5
  76. gcore/types/cloud/ddos_profile.py +9 -3
  77. gcore/types/cloud/file_share_create_params.py +3 -5
  78. gcore/types/cloud/floating_ip_create_params.py +2 -4
  79. gcore/types/cloud/floating_ip_list_params.py +1 -5
  80. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +3 -4
  81. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +2 -4
  82. gcore/types/cloud/health_monitor.py +6 -1
  83. gcore/types/cloud/inference/__init__.py +12 -8
  84. gcore/types/cloud/inference/deployment_create_params.py +224 -7
  85. gcore/types/cloud/inference/deployment_update_params.py +24 -3
  86. gcore/types/cloud/inference/deployments/__init__.py +1 -0
  87. gcore/types/cloud/inference/{inference_log.py → deployments/inference_deployment_log.py} +3 -3
  88. gcore/types/cloud/inference/inference_deployment.py +266 -0
  89. gcore/types/cloud/inference/{inference_apikey_secret.py → inference_deployment_api_key.py} +2 -2
  90. gcore/types/cloud/inference/{mlcatalog_model_card.py → inference_model.py} +2 -2
  91. gcore/types/cloud/inference/{inference_registry_credential.py → inference_registry_credentials.py} +2 -2
  92. gcore/types/cloud/inference/{inference_registry_credential_full.py → inference_registry_credentials_create.py} +2 -2
  93. gcore/types/cloud/inference/inference_secret.py +10 -3
  94. gcore/types/cloud/inference/model_list_params.py +2 -4
  95. gcore/types/cloud/{container_probe.py → inference/probe.py} +9 -9
  96. gcore/types/cloud/{container_probe_config.py → inference/probe_config.py} +5 -5
  97. gcore/types/cloud/{container_probe_exec.py → inference/probe_exec.py} +3 -3
  98. gcore/types/cloud/{container_probe_http_get.py → inference/probe_http_get.py} +3 -3
  99. gcore/types/cloud/{container_probe_tcp_socket.py → inference/probe_tcp_socket.py} +3 -3
  100. gcore/types/cloud/inference/secret_create_params.py +10 -4
  101. gcore/types/cloud/inference/secret_replace_params.py +10 -4
  102. gcore/types/cloud/{region_capacity.py → inference_region_capacity.py} +10 -3
  103. gcore/types/cloud/{region_capacity_list.py → inference_region_capacity_list.py} +4 -4
  104. gcore/types/cloud/instance_create_params.py +8 -9
  105. gcore/types/cloud/instance_list_params.py +1 -5
  106. gcore/types/cloud/instances/__init__.py +0 -2
  107. gcore/types/cloud/instances/image_create_from_volume_params.py +2 -4
  108. gcore/types/cloud/instances/image_list_params.py +1 -5
  109. gcore/types/cloud/instances/image_upload_params.py +2 -4
  110. gcore/types/cloud/load_balancer_create_params.py +8 -4
  111. gcore/types/cloud/load_balancer_list_params.py +1 -5
  112. gcore/types/cloud/load_balancer_update_params.py +24 -0
  113. gcore/types/cloud/load_balancers/pool_create_params.py +6 -1
  114. gcore/types/cloud/load_balancers/pool_update_params.py +6 -1
  115. gcore/types/cloud/load_balancers/pools/member_add_params.py +6 -1
  116. gcore/types/cloud/member.py +6 -1
  117. gcore/types/cloud/network_create_params.py +2 -3
  118. gcore/types/cloud/network_list_params.py +4 -5
  119. gcore/types/cloud/network_update_params.py +28 -2
  120. gcore/types/cloud/networks/router_list_params.py +2 -2
  121. gcore/types/cloud/networks/subnet_create_params.py +2 -3
  122. gcore/types/cloud/networks/subnet_list_params.py +1 -5
  123. gcore/types/cloud/networks/subnet_update_params.py +25 -0
  124. gcore/types/cloud/registries/__init__.py +1 -0
  125. gcore/types/cloud/registries/user_refresh_secret_response.py +31 -0
  126. gcore/types/cloud/reserved_fixed_ip_list_params.py +2 -2
  127. gcore/types/cloud/security_group_list_params.py +3 -7
  128. gcore/types/cloud/security_group_update_params.py +25 -0
  129. gcore/types/cloud/tag_update_map_param.py +2 -2
  130. gcore/types/cloud/task_list_params.py +15 -14
  131. gcore/types/cloud/volume_list_params.py +1 -5
  132. gcore/types/cloud/volume_update_params.py +29 -3
  133. gcore/types/fastedge/__init__.py +48 -0
  134. gcore/types/fastedge/app.py +81 -0
  135. gcore/types/fastedge/app_create_params.py +56 -0
  136. gcore/types/fastedge/app_list_params.py +50 -0
  137. gcore/types/fastedge/app_param.py +56 -0
  138. gcore/types/fastedge/app_replace_params.py +17 -0
  139. gcore/types/fastedge/app_short.py +60 -0
  140. gcore/types/fastedge/app_update_params.py +56 -0
  141. gcore/types/fastedge/apps/__init__.py +6 -0
  142. gcore/types/fastedge/apps/log.py +28 -0
  143. gcore/types/fastedge/apps/log_list_params.py +37 -0
  144. gcore/types/fastedge/binary.py +40 -0
  145. gcore/types/fastedge/binary_list_response.py +12 -0
  146. gcore/types/fastedge/binary_short.py +32 -0
  147. gcore/types/fastedge/call_status.py +24 -0
  148. gcore/types/fastedge/client.py +57 -0
  149. gcore/types/fastedge/duration_stats.py +30 -0
  150. gcore/types/fastedge/kv_store.py +33 -0
  151. gcore/types/fastedge/kv_store_create_params.py +23 -0
  152. gcore/types/fastedge/kv_store_get_response.py +10 -0
  153. gcore/types/fastedge/kv_store_list_params.py +12 -0
  154. gcore/types/fastedge/kv_store_list_response.py +15 -0
  155. gcore/types/fastedge/kv_store_replace_params.py +23 -0
  156. gcore/types/fastedge/kv_store_short.py +19 -0
  157. gcore/types/fastedge/kv_store_stats.py +26 -0
  158. gcore/types/fastedge/secret.py +29 -0
  159. gcore/types/fastedge/secret_create_params.py +27 -0
  160. gcore/types/fastedge/secret_create_response.py +12 -0
  161. gcore/types/fastedge/secret_delete_params.py +12 -0
  162. gcore/types/fastedge/secret_list_params.py +15 -0
  163. gcore/types/{cloud → fastedge}/secret_list_response.py +2 -6
  164. gcore/types/fastedge/secret_replace_params.py +27 -0
  165. gcore/types/fastedge/secret_short.py +21 -0
  166. gcore/types/fastedge/secret_update_params.py +27 -0
  167. gcore/types/fastedge/statistic_get_call_series_params.py +28 -0
  168. gcore/types/fastedge/statistic_get_call_series_response.py +12 -0
  169. gcore/types/fastedge/statistic_get_duration_series_params.py +28 -0
  170. gcore/types/fastedge/statistic_get_duration_series_response.py +12 -0
  171. gcore/types/fastedge/template.py +31 -0
  172. gcore/types/fastedge/template_create_params.py +30 -0
  173. gcore/types/fastedge/template_delete_params.py +12 -0
  174. gcore/types/fastedge/template_list_params.py +25 -0
  175. gcore/types/fastedge/template_parameter.py +22 -0
  176. gcore/types/fastedge/template_parameter_param.py +21 -0
  177. gcore/types/fastedge/template_replace_params.py +30 -0
  178. gcore/types/fastedge/template_short.py +27 -0
  179. gcore/types/iam/__init__.py +17 -0
  180. gcore/types/iam/account_overview.py +488 -0
  181. gcore/types/iam/api_token.py +78 -0
  182. gcore/types/iam/api_token_create.py +15 -0
  183. gcore/types/iam/api_token_create_params.py +42 -0
  184. gcore/types/iam/api_token_list.py +81 -0
  185. gcore/types/iam/api_token_list_params.py +41 -0
  186. gcore/types/iam/user.py +86 -0
  187. gcore/types/iam/user_detailed.py +104 -0
  188. gcore/types/iam/user_invite.py +15 -0
  189. gcore/types/iam/user_invite_params.py +37 -0
  190. gcore/types/iam/user_list_params.py +15 -0
  191. gcore/types/iam/user_update.py +104 -0
  192. gcore/types/iam/user_update_params.py +52 -0
  193. gcore/types/waap/__init__.py +0 -1
  194. gcore/types/waap/domains/custom_rule_create_params.py +7 -3
  195. gcore/types/waap/domains/custom_rule_update_params.py +7 -3
  196. gcore/types/waap/waap_custom_rule.py +7 -3
  197. {gcore-0.3.0.dist-info → gcore-0.5.0.dist-info}/METADATA +44 -5
  198. {gcore-0.3.0.dist-info → gcore-0.5.0.dist-info}/RECORD +200 -151
  199. gcore/resources/waap/clients.py +0 -135
  200. gcore/types/cloud/aws_iam_data.py +0 -13
  201. gcore/types/cloud/aws_iam_data_param.py +0 -15
  202. gcore/types/cloud/baremetal/flavor_list_suitable_params.py +0 -22
  203. gcore/types/cloud/capacity.py +0 -13
  204. gcore/types/cloud/container_probe_config_create_param.py +0 -17
  205. gcore/types/cloud/container_probe_create_param.py +0 -38
  206. gcore/types/cloud/container_probe_exec_create_param.py +0 -13
  207. gcore/types/cloud/container_probe_http_get_create_param.py +0 -25
  208. gcore/types/cloud/container_probe_tcp_socket_create_param.py +0 -12
  209. gcore/types/cloud/container_scale.py +0 -25
  210. gcore/types/cloud/container_scale_trigger_rate.py +0 -13
  211. gcore/types/cloud/container_scale_trigger_sqs.py +0 -33
  212. gcore/types/cloud/container_scale_trigger_threshold.py +0 -10
  213. gcore/types/cloud/container_scale_triggers.py +0 -36
  214. gcore/types/cloud/deploy_status.py +0 -13
  215. gcore/types/cloud/inference/container.py +0 -26
  216. gcore/types/cloud/inference/inference.py +0 -95
  217. gcore/types/cloud/inference/mlcatalog_order_by_choices.py +0 -7
  218. gcore/types/cloud/inference_probes.py +0 -19
  219. gcore/types/cloud/ingress_opts_out.py +0 -16
  220. gcore/types/cloud/ingress_opts_param.py +0 -18
  221. gcore/types/cloud/instances/flavor_list_for_resize_params.py +0 -16
  222. gcore/types/cloud/instances/flavor_list_suitable_params.py +0 -59
  223. gcore/types/cloud/secret_create_params.py +0 -66
  224. gcore/types/waap/client_me_response.py +0 -34
  225. {gcore-0.3.0.dist-info → gcore-0.5.0.dist-info}/WHEEL +0 -0
  226. {gcore-0.3.0.dist-info → gcore-0.5.0.dist-info}/licenses/LICENSE +0 -0
@@ -140,7 +140,8 @@ class TasksResource(SyncAPIResource):
140
140
  '`create_ai_cluster_gpu`', '`create_bm`', '`create_caas_container`',
141
141
  '`create_dbaas_postgres_cluster`', '`create_ddos_profile`',
142
142
  '`create_faas_function`', '`create_faas_namespace`', '`create_fip`',
143
- '`create_gpu_virtual_cluster`', '`create_image`', '`create_inference_instance`',
143
+ '`create_gpu_virtual_cluster`', '`create_image`',
144
+ '`create_inference_application`', '`create_inference_instance`',
144
145
  '`create_inference_instance_key`', '`create_k8s_cluster_pool_v2`',
145
146
  '`create_k8s_cluster_v2`', '`create_l7policy`', '`create_l7rule`',
146
147
  '`create_lblistener`', '`create_lbmember`', '`create_lbpool`',
@@ -152,14 +153,14 @@ class TasksResource(SyncAPIResource):
152
153
  '`delete_dbaas_postgres_cluster`', '`delete_ddos_profile`',
153
154
  '`delete_faas_function`', '`delete_faas_namespace`', '`delete_fip`',
154
155
  '`delete_gpu_virtual_cluster`', '`delete_gpu_virtual_server`', '`delete_image`',
155
- '`delete_inference_instance`', '`delete_k8s_cluster_pool_v2`',
156
- '`delete_k8s_cluster_v2`', '`delete_l7policy`', '`delete_l7rule`',
157
- '`delete_lblistener`', '`delete_lbmember`', '`delete_lbmetadata`',
158
- '`delete_lbpool`', '`delete_loadbalancer`', '`delete_network`',
159
- '`delete_reserved_fixed_ip`', '`delete_router`', '`delete_secret`',
160
- '`delete_servergroup`', '`delete_sfs`', '`delete_snapshot`', '`delete_subnet`',
161
- '`delete_vm`', '`delete_volume`', '`detach_vm_interface`', '`detach_volume`',
162
- '`download_image`', '`downscale_ai_cluster_gpu`',
156
+ '`delete_inference_application`', '`delete_inference_instance`',
157
+ '`delete_k8s_cluster_pool_v2`', '`delete_k8s_cluster_v2`', '`delete_l7policy`',
158
+ '`delete_l7rule`', '`delete_lblistener`', '`delete_lbmember`',
159
+ '`delete_lbmetadata`', '`delete_lbpool`', '`delete_loadbalancer`',
160
+ '`delete_network`', '`delete_reserved_fixed_ip`', '`delete_router`',
161
+ '`delete_secret`', '`delete_servergroup`', '`delete_sfs`', '`delete_snapshot`',
162
+ '`delete_subnet`', '`delete_vm`', '`delete_volume`', '`detach_vm_interface`',
163
+ '`detach_volume`', '`download_image`', '`downscale_ai_cluster_gpu`',
163
164
  '`downscale_gpu_virtual_cluster`', '`extend_sfs`', '`extend_volume`',
164
165
  '`failover_loadbalancer`', '`hard_reboot_gpu_baremetal_server`',
165
166
  '`hard_reboot_gpu_virtual_cluster`', '`hard_reboot_gpu_virtual_server`',
@@ -175,11 +176,11 @@ class TasksResource(SyncAPIResource):
175
176
  '`start_gpu_virtual_server`', '`start_vm`', '`stop_gpu_baremetal_server`',
176
177
  '`stop_gpu_virtual_cluster`', '`stop_gpu_virtual_server`', '`stop_vm`',
177
178
  '`suspend_vm`', '`sync_private_flavors`', '`update_ddos_profile`',
178
- '`update_inference_instance`', '`update_inference_instance_key`',
179
- '`update_k8s_cluster_v2`', '`update_lbmetadata`',
180
- '`update_port_allowed_address_pairs`', '`update_tags_gpu_virtual_cluster`',
181
- '`upgrade_k8s_cluster_v2`', '`upscale_ai_cluster_gpu`',
182
- '`upscale_gpu_virtual_cluster`']
179
+ '`update_inference_application`', '`update_inference_instance`',
180
+ '`update_inference_instance_key`', '`update_k8s_cluster_v2`',
181
+ '`update_lbmetadata`', '`update_port_allowed_address_pairs`',
182
+ '`update_tags_gpu_virtual_cluster`', '`upgrade_k8s_cluster_v2`',
183
+ '`upscale_ai_cluster_gpu`', '`upscale_gpu_virtual_cluster`']
183
184
 
184
185
  to_timestamp: ISO formatted datetime string. Filter the tasks by creation date less than or
185
186
  equal to `to_timestamp`
@@ -233,7 +234,7 @@ class TasksResource(SyncAPIResource):
233
234
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
234
235
  ) -> None:
235
236
  """
236
- Acknowledge all client tasks in project or region
237
+ Acknowledge all tasks
237
238
 
238
239
  Args:
239
240
  project_id: Project ID
@@ -279,7 +280,7 @@ class TasksResource(SyncAPIResource):
279
280
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
280
281
  ) -> Task:
281
282
  """
282
- Acknowledge one task on project scope
283
+ Acknowledge one task
283
284
 
284
285
  Args:
285
286
  task_id: Task ID
@@ -448,7 +449,8 @@ class AsyncTasksResource(AsyncAPIResource):
448
449
  '`create_ai_cluster_gpu`', '`create_bm`', '`create_caas_container`',
449
450
  '`create_dbaas_postgres_cluster`', '`create_ddos_profile`',
450
451
  '`create_faas_function`', '`create_faas_namespace`', '`create_fip`',
451
- '`create_gpu_virtual_cluster`', '`create_image`', '`create_inference_instance`',
452
+ '`create_gpu_virtual_cluster`', '`create_image`',
453
+ '`create_inference_application`', '`create_inference_instance`',
452
454
  '`create_inference_instance_key`', '`create_k8s_cluster_pool_v2`',
453
455
  '`create_k8s_cluster_v2`', '`create_l7policy`', '`create_l7rule`',
454
456
  '`create_lblistener`', '`create_lbmember`', '`create_lbpool`',
@@ -460,14 +462,14 @@ class AsyncTasksResource(AsyncAPIResource):
460
462
  '`delete_dbaas_postgres_cluster`', '`delete_ddos_profile`',
461
463
  '`delete_faas_function`', '`delete_faas_namespace`', '`delete_fip`',
462
464
  '`delete_gpu_virtual_cluster`', '`delete_gpu_virtual_server`', '`delete_image`',
463
- '`delete_inference_instance`', '`delete_k8s_cluster_pool_v2`',
464
- '`delete_k8s_cluster_v2`', '`delete_l7policy`', '`delete_l7rule`',
465
- '`delete_lblistener`', '`delete_lbmember`', '`delete_lbmetadata`',
466
- '`delete_lbpool`', '`delete_loadbalancer`', '`delete_network`',
467
- '`delete_reserved_fixed_ip`', '`delete_router`', '`delete_secret`',
468
- '`delete_servergroup`', '`delete_sfs`', '`delete_snapshot`', '`delete_subnet`',
469
- '`delete_vm`', '`delete_volume`', '`detach_vm_interface`', '`detach_volume`',
470
- '`download_image`', '`downscale_ai_cluster_gpu`',
465
+ '`delete_inference_application`', '`delete_inference_instance`',
466
+ '`delete_k8s_cluster_pool_v2`', '`delete_k8s_cluster_v2`', '`delete_l7policy`',
467
+ '`delete_l7rule`', '`delete_lblistener`', '`delete_lbmember`',
468
+ '`delete_lbmetadata`', '`delete_lbpool`', '`delete_loadbalancer`',
469
+ '`delete_network`', '`delete_reserved_fixed_ip`', '`delete_router`',
470
+ '`delete_secret`', '`delete_servergroup`', '`delete_sfs`', '`delete_snapshot`',
471
+ '`delete_subnet`', '`delete_vm`', '`delete_volume`', '`detach_vm_interface`',
472
+ '`detach_volume`', '`download_image`', '`downscale_ai_cluster_gpu`',
471
473
  '`downscale_gpu_virtual_cluster`', '`extend_sfs`', '`extend_volume`',
472
474
  '`failover_loadbalancer`', '`hard_reboot_gpu_baremetal_server`',
473
475
  '`hard_reboot_gpu_virtual_cluster`', '`hard_reboot_gpu_virtual_server`',
@@ -483,11 +485,11 @@ class AsyncTasksResource(AsyncAPIResource):
483
485
  '`start_gpu_virtual_server`', '`start_vm`', '`stop_gpu_baremetal_server`',
484
486
  '`stop_gpu_virtual_cluster`', '`stop_gpu_virtual_server`', '`stop_vm`',
485
487
  '`suspend_vm`', '`sync_private_flavors`', '`update_ddos_profile`',
486
- '`update_inference_instance`', '`update_inference_instance_key`',
487
- '`update_k8s_cluster_v2`', '`update_lbmetadata`',
488
- '`update_port_allowed_address_pairs`', '`update_tags_gpu_virtual_cluster`',
489
- '`upgrade_k8s_cluster_v2`', '`upscale_ai_cluster_gpu`',
490
- '`upscale_gpu_virtual_cluster`']
488
+ '`update_inference_application`', '`update_inference_instance`',
489
+ '`update_inference_instance_key`', '`update_k8s_cluster_v2`',
490
+ '`update_lbmetadata`', '`update_port_allowed_address_pairs`',
491
+ '`update_tags_gpu_virtual_cluster`', '`upgrade_k8s_cluster_v2`',
492
+ '`upscale_ai_cluster_gpu`', '`upscale_gpu_virtual_cluster`']
491
493
 
492
494
  to_timestamp: ISO formatted datetime string. Filter the tasks by creation date less than or
493
495
  equal to `to_timestamp`
@@ -541,7 +543,7 @@ class AsyncTasksResource(AsyncAPIResource):
541
543
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
542
544
  ) -> None:
543
545
  """
544
- Acknowledge all client tasks in project or region
546
+ Acknowledge all tasks
545
547
 
546
548
  Args:
547
549
  project_id: Project ID
@@ -587,7 +589,7 @@ class AsyncTasksResource(AsyncAPIResource):
587
589
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
588
590
  ) -> Task:
589
591
  """
590
- Acknowledge one task on project scope
592
+ Acknowledge one task
591
593
 
592
594
  Args:
593
595
  task_id: Task ID
@@ -64,7 +64,7 @@ class RoleAssignmentsResource(SyncAPIResource):
64
64
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
65
65
  ) -> RoleAssignment:
66
66
  """
67
- Assign role to existing user
67
+ Assign a role to an existing user in the specified scope.
68
68
 
69
69
  Args:
70
70
  role: User role
@@ -116,7 +116,7 @@ class RoleAssignmentsResource(SyncAPIResource):
116
116
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
117
117
  ) -> RoleAssignmentUpdateDelete:
118
118
  """
119
- Modify role assignment to existing user
119
+ Modify an existing role assignment for a user.
120
120
 
121
121
  Args:
122
122
  assignment_id: Assignment ID
@@ -168,12 +168,11 @@ class RoleAssignmentsResource(SyncAPIResource):
168
168
  extra_body: Body | None = None,
169
169
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
170
170
  ) -> SyncOffsetPage[RoleAssignment]:
171
- """List assignments
171
+ """
172
+ List all role assignments in the specified scope.
172
173
 
173
174
  Args:
174
- limit: Limit the number of returned items.
175
-
176
- Falls back to default of 1000 if not
175
+ limit: Limit the number of returned items. Falls back to default of 1000 if not
177
176
  specified. Limited by max limit value of 1000
178
177
 
179
178
  offset: Offset value is used to exclude the first set of records from the result
@@ -223,7 +222,7 @@ class RoleAssignmentsResource(SyncAPIResource):
223
222
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
224
223
  ) -> RoleAssignmentUpdateDelete:
225
224
  """
226
- Delete role assignment
225
+ Delete an existing role assignment.
227
226
 
228
227
  Args:
229
228
  assignment_id: Assignment ID
@@ -280,7 +279,7 @@ class AsyncRoleAssignmentsResource(AsyncAPIResource):
280
279
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
281
280
  ) -> RoleAssignment:
282
281
  """
283
- Assign role to existing user
282
+ Assign a role to an existing user in the specified scope.
284
283
 
285
284
  Args:
286
285
  role: User role
@@ -332,7 +331,7 @@ class AsyncRoleAssignmentsResource(AsyncAPIResource):
332
331
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
333
332
  ) -> RoleAssignmentUpdateDelete:
334
333
  """
335
- Modify role assignment to existing user
334
+ Modify an existing role assignment for a user.
336
335
 
337
336
  Args:
338
337
  assignment_id: Assignment ID
@@ -384,12 +383,11 @@ class AsyncRoleAssignmentsResource(AsyncAPIResource):
384
383
  extra_body: Body | None = None,
385
384
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
386
385
  ) -> AsyncPaginator[RoleAssignment, AsyncOffsetPage[RoleAssignment]]:
387
- """List assignments
386
+ """
387
+ List all role assignments in the specified scope.
388
388
 
389
389
  Args:
390
- limit: Limit the number of returned items.
391
-
392
- Falls back to default of 1000 if not
390
+ limit: Limit the number of returned items. Falls back to default of 1000 if not
393
391
  specified. Limited by max limit value of 1000
394
392
 
395
393
  offset: Offset value is used to exclude the first set of records from the result
@@ -439,7 +437,7 @@ class AsyncRoleAssignmentsResource(AsyncAPIResource):
439
437
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
440
438
  ) -> RoleAssignmentUpdateDelete:
441
439
  """
442
- Delete role assignment
440
+ Delete an existing role assignment.
443
441
 
444
442
  Args:
445
443
  assignment_id: Assignment ID
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Iterable
5
+ from typing import List, Iterable, Optional
6
6
  from typing_extensions import Literal, overload
7
7
 
8
8
  import httpx
@@ -79,8 +79,11 @@ class VolumesResource(SyncAPIResource):
79
79
  extra_body: Body | None = None,
80
80
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
81
81
  ) -> TaskIDList:
82
- """
83
- Create volume
82
+ """Create a new volume in the project and region.
83
+
84
+ The volume can be created from
85
+ scratch, from an image, or from a snapshot. Optionally attach the volume to an
86
+ instance during creation.
84
87
 
85
88
  Args:
86
89
  project_id: Project ID
@@ -145,8 +148,11 @@ class VolumesResource(SyncAPIResource):
145
148
  extra_body: Body | None = None,
146
149
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
147
150
  ) -> TaskIDList:
148
- """
149
- Create volume
151
+ """Create a new volume in the project and region.
152
+
153
+ The volume can be created from
154
+ scratch, from an image, or from a snapshot. Optionally attach the volume to an
155
+ instance during creation.
150
156
 
151
157
  Args:
152
158
  project_id: Project ID
@@ -211,8 +217,11 @@ class VolumesResource(SyncAPIResource):
211
217
  extra_body: Body | None = None,
212
218
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
213
219
  ) -> TaskIDList:
214
- """
215
- Create volume
220
+ """Create a new volume in the project and region.
221
+
222
+ The volume can be created from
223
+ scratch, from an image, or from a snapshot. Optionally attach the volume to an
224
+ instance during creation.
216
225
 
217
226
  Args:
218
227
  project_id: Project ID
@@ -311,7 +320,8 @@ class VolumesResource(SyncAPIResource):
311
320
  *,
312
321
  project_id: int | None = None,
313
322
  region_id: int | None = None,
314
- name: str,
323
+ name: str | NotGiven = NOT_GIVEN,
324
+ tags: Optional[TagUpdateMapParam] | NotGiven = NOT_GIVEN,
315
325
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
316
326
  # The extra values given here take precedence over values defined on the client or passed to this method.
317
327
  extra_headers: Headers | None = None,
@@ -320,7 +330,7 @@ class VolumesResource(SyncAPIResource):
320
330
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
321
331
  ) -> Volume:
322
332
  """
323
- Rename volume
333
+ Rename a volume or update tags
324
334
 
325
335
  Args:
326
336
  project_id: Project ID
@@ -329,7 +339,27 @@ class VolumesResource(SyncAPIResource):
329
339
 
330
340
  volume_id: Volume ID
331
341
 
332
- name: Name.
342
+ name: Name
343
+
344
+ tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
345
+ key-value pairs to add or update tags. Set tag values to `null` to remove tags.
346
+ Unspecified tags remain unchanged. Read-only tags are always preserved and
347
+ cannot be modified. **Examples:**
348
+
349
+ - **Add/update tags:**
350
+ `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
351
+ updates existing ones.
352
+ - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
353
+ - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
354
+ tags are preserved).
355
+ - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
356
+ specified tags.
357
+ - **Mixed operations:**
358
+ `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
359
+ adds/updates 'environment' and '`cost_center`' while removing
360
+ '`deprecated_tag`', preserving other existing tags.
361
+ - **Replace all:** first delete existing tags with null values, then add new
362
+ ones in the same request.
333
363
 
334
364
  extra_headers: Send extra headers
335
365
 
@@ -347,7 +377,13 @@ class VolumesResource(SyncAPIResource):
347
377
  raise ValueError(f"Expected a non-empty value for `volume_id` but received {volume_id!r}")
348
378
  return self._patch(
349
379
  f"/cloud/v1/volumes/{project_id}/{region_id}/{volume_id}",
350
- body=maybe_transform({"name": name}, volume_update_params.VolumeUpdateParams),
380
+ body=maybe_transform(
381
+ {
382
+ "name": name,
383
+ "tags": tags,
384
+ },
385
+ volume_update_params.VolumeUpdateParams,
386
+ ),
351
387
  options=make_request_options(
352
388
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
353
389
  ),
@@ -376,8 +412,11 @@ class VolumesResource(SyncAPIResource):
376
412
  extra_body: Body | None = None,
377
413
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
378
414
  ) -> SyncOffsetPage[Volume]:
379
- """
380
- List volumes
415
+ """Retrieve a list of volumes in the project and region.
416
+
417
+ The list can be filtered
418
+ by various parameters like bootable status, metadata/tags, attachments, instance
419
+ ID, name, and ID.
381
420
 
382
421
  Args:
383
422
  project_id: Project ID
@@ -404,9 +443,7 @@ class VolumesResource(SyncAPIResource):
404
443
 
405
444
  tag_key: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
406
445
 
407
- tag_key_value: Optional. Filter by tag key-value pairs. curl -G --data-urlencode
408
- "`tag_key_value`={"key": "value"}" --url
409
- "https://example.com/cloud/v1/resource/1/1"
446
+ tag_key_value: Optional. Filter by tag key-value pairs.
410
447
 
411
448
  extra_headers: Send extra headers
412
449
 
@@ -461,8 +498,10 @@ class VolumesResource(SyncAPIResource):
461
498
  extra_body: Body | None = None,
462
499
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
463
500
  ) -> TaskIDList:
464
- """
465
- Delete volume
501
+ """Delete a volume and all its snapshots.
502
+
503
+ The volume must be in an available state
504
+ to be deleted.
466
505
 
467
506
  Args:
468
507
  project_id: Project ID
@@ -573,8 +612,10 @@ class VolumesResource(SyncAPIResource):
573
612
  extra_body: Body | None = None,
574
613
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
575
614
  ) -> Volume:
576
- """
577
- Change volume type
615
+ """Change the type of a volume.
616
+
617
+ The volume must not have any snapshots to change
618
+ its type.
578
619
 
579
620
  Args:
580
621
  project_id: Project ID
@@ -673,7 +714,7 @@ class VolumesResource(SyncAPIResource):
673
714
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
674
715
  ) -> Volume:
675
716
  """
676
- Get volume
717
+ Retrieve detailed information about a specific volume.
677
718
 
678
719
  Args:
679
720
  project_id: Project ID
@@ -718,8 +759,10 @@ class VolumesResource(SyncAPIResource):
718
759
  extra_body: Body | None = None,
719
760
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
720
761
  ) -> TaskIDList:
721
- """
722
- Extend volume
762
+ """Increase the size of a volume.
763
+
764
+ The new size must be greater than the current
765
+ size.
723
766
 
724
767
  Args:
725
768
  project_id: Project ID
@@ -766,8 +809,10 @@ class VolumesResource(SyncAPIResource):
766
809
  extra_body: Body | None = None,
767
810
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
768
811
  ) -> None:
769
- """
770
- Revert volume to it's last snapshot
812
+ """Revert a volume to its last snapshot.
813
+
814
+ The volume must be in an available state
815
+ to be reverted.
771
816
 
772
817
  Args:
773
818
  project_id: Project ID
@@ -843,8 +888,11 @@ class AsyncVolumesResource(AsyncAPIResource):
843
888
  extra_body: Body | None = None,
844
889
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
845
890
  ) -> TaskIDList:
846
- """
847
- Create volume
891
+ """Create a new volume in the project and region.
892
+
893
+ The volume can be created from
894
+ scratch, from an image, or from a snapshot. Optionally attach the volume to an
895
+ instance during creation.
848
896
 
849
897
  Args:
850
898
  project_id: Project ID
@@ -909,8 +957,11 @@ class AsyncVolumesResource(AsyncAPIResource):
909
957
  extra_body: Body | None = None,
910
958
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
911
959
  ) -> TaskIDList:
912
- """
913
- Create volume
960
+ """Create a new volume in the project and region.
961
+
962
+ The volume can be created from
963
+ scratch, from an image, or from a snapshot. Optionally attach the volume to an
964
+ instance during creation.
914
965
 
915
966
  Args:
916
967
  project_id: Project ID
@@ -975,8 +1026,11 @@ class AsyncVolumesResource(AsyncAPIResource):
975
1026
  extra_body: Body | None = None,
976
1027
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
977
1028
  ) -> TaskIDList:
978
- """
979
- Create volume
1029
+ """Create a new volume in the project and region.
1030
+
1031
+ The volume can be created from
1032
+ scratch, from an image, or from a snapshot. Optionally attach the volume to an
1033
+ instance during creation.
980
1034
 
981
1035
  Args:
982
1036
  project_id: Project ID
@@ -1075,7 +1129,8 @@ class AsyncVolumesResource(AsyncAPIResource):
1075
1129
  *,
1076
1130
  project_id: int | None = None,
1077
1131
  region_id: int | None = None,
1078
- name: str,
1132
+ name: str | NotGiven = NOT_GIVEN,
1133
+ tags: Optional[TagUpdateMapParam] | NotGiven = NOT_GIVEN,
1079
1134
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1080
1135
  # The extra values given here take precedence over values defined on the client or passed to this method.
1081
1136
  extra_headers: Headers | None = None,
@@ -1084,7 +1139,7 @@ class AsyncVolumesResource(AsyncAPIResource):
1084
1139
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1085
1140
  ) -> Volume:
1086
1141
  """
1087
- Rename volume
1142
+ Rename a volume or update tags
1088
1143
 
1089
1144
  Args:
1090
1145
  project_id: Project ID
@@ -1093,7 +1148,27 @@ class AsyncVolumesResource(AsyncAPIResource):
1093
1148
 
1094
1149
  volume_id: Volume ID
1095
1150
 
1096
- name: Name.
1151
+ name: Name
1152
+
1153
+ tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
1154
+ key-value pairs to add or update tags. Set tag values to `null` to remove tags.
1155
+ Unspecified tags remain unchanged. Read-only tags are always preserved and
1156
+ cannot be modified. **Examples:**
1157
+
1158
+ - **Add/update tags:**
1159
+ `{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
1160
+ updates existing ones.
1161
+ - **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
1162
+ - **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
1163
+ tags are preserved).
1164
+ - **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
1165
+ specified tags.
1166
+ - **Mixed operations:**
1167
+ `{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
1168
+ adds/updates 'environment' and '`cost_center`' while removing
1169
+ '`deprecated_tag`', preserving other existing tags.
1170
+ - **Replace all:** first delete existing tags with null values, then add new
1171
+ ones in the same request.
1097
1172
 
1098
1173
  extra_headers: Send extra headers
1099
1174
 
@@ -1111,7 +1186,13 @@ class AsyncVolumesResource(AsyncAPIResource):
1111
1186
  raise ValueError(f"Expected a non-empty value for `volume_id` but received {volume_id!r}")
1112
1187
  return await self._patch(
1113
1188
  f"/cloud/v1/volumes/{project_id}/{region_id}/{volume_id}",
1114
- body=await async_maybe_transform({"name": name}, volume_update_params.VolumeUpdateParams),
1189
+ body=await async_maybe_transform(
1190
+ {
1191
+ "name": name,
1192
+ "tags": tags,
1193
+ },
1194
+ volume_update_params.VolumeUpdateParams,
1195
+ ),
1115
1196
  options=make_request_options(
1116
1197
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1117
1198
  ),
@@ -1140,8 +1221,11 @@ class AsyncVolumesResource(AsyncAPIResource):
1140
1221
  extra_body: Body | None = None,
1141
1222
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1142
1223
  ) -> AsyncPaginator[Volume, AsyncOffsetPage[Volume]]:
1143
- """
1144
- List volumes
1224
+ """Retrieve a list of volumes in the project and region.
1225
+
1226
+ The list can be filtered
1227
+ by various parameters like bootable status, metadata/tags, attachments, instance
1228
+ ID, name, and ID.
1145
1229
 
1146
1230
  Args:
1147
1231
  project_id: Project ID
@@ -1168,9 +1252,7 @@ class AsyncVolumesResource(AsyncAPIResource):
1168
1252
 
1169
1253
  tag_key: Optional. Filter by tag keys. ?`tag_key`=key1&`tag_key`=key2
1170
1254
 
1171
- tag_key_value: Optional. Filter by tag key-value pairs. curl -G --data-urlencode
1172
- "`tag_key_value`={"key": "value"}" --url
1173
- "https://example.com/cloud/v1/resource/1/1"
1255
+ tag_key_value: Optional. Filter by tag key-value pairs.
1174
1256
 
1175
1257
  extra_headers: Send extra headers
1176
1258
 
@@ -1225,8 +1307,10 @@ class AsyncVolumesResource(AsyncAPIResource):
1225
1307
  extra_body: Body | None = None,
1226
1308
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1227
1309
  ) -> TaskIDList:
1228
- """
1229
- Delete volume
1310
+ """Delete a volume and all its snapshots.
1311
+
1312
+ The volume must be in an available state
1313
+ to be deleted.
1230
1314
 
1231
1315
  Args:
1232
1316
  project_id: Project ID
@@ -1337,8 +1421,10 @@ class AsyncVolumesResource(AsyncAPIResource):
1337
1421
  extra_body: Body | None = None,
1338
1422
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1339
1423
  ) -> Volume:
1340
- """
1341
- Change volume type
1424
+ """Change the type of a volume.
1425
+
1426
+ The volume must not have any snapshots to change
1427
+ its type.
1342
1428
 
1343
1429
  Args:
1344
1430
  project_id: Project ID
@@ -1439,7 +1525,7 @@ class AsyncVolumesResource(AsyncAPIResource):
1439
1525
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1440
1526
  ) -> Volume:
1441
1527
  """
1442
- Get volume
1528
+ Retrieve detailed information about a specific volume.
1443
1529
 
1444
1530
  Args:
1445
1531
  project_id: Project ID
@@ -1484,8 +1570,10 @@ class AsyncVolumesResource(AsyncAPIResource):
1484
1570
  extra_body: Body | None = None,
1485
1571
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1486
1572
  ) -> TaskIDList:
1487
- """
1488
- Extend volume
1573
+ """Increase the size of a volume.
1574
+
1575
+ The new size must be greater than the current
1576
+ size.
1489
1577
 
1490
1578
  Args:
1491
1579
  project_id: Project ID
@@ -1532,8 +1620,10 @@ class AsyncVolumesResource(AsyncAPIResource):
1532
1620
  extra_body: Body | None = None,
1533
1621
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1534
1622
  ) -> None:
1535
- """
1536
- Revert volume to it's last snapshot
1623
+ """Revert a volume to its last snapshot.
1624
+
1625
+ The volume must be in an available state
1626
+ to be reverted.
1537
1627
 
1538
1628
  Args:
1539
1629
  project_id: Project ID