gcore 0.1.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 (437) hide show
  1. gcore/__init__.py +89 -0
  2. gcore/_base_client.py +1943 -0
  3. gcore/_client.py +493 -0
  4. gcore/_compat.py +219 -0
  5. gcore/_constants.py +16 -0
  6. gcore/_exceptions.py +108 -0
  7. gcore/_files.py +123 -0
  8. gcore/_models.py +803 -0
  9. gcore/_qs.py +150 -0
  10. gcore/_resource.py +43 -0
  11. gcore/_response.py +830 -0
  12. gcore/_streaming.py +333 -0
  13. gcore/_types.py +217 -0
  14. gcore/_utils/__init__.py +57 -0
  15. gcore/_utils/_logs.py +25 -0
  16. gcore/_utils/_proxy.py +65 -0
  17. gcore/_utils/_reflection.py +42 -0
  18. gcore/_utils/_resources_proxy.py +24 -0
  19. gcore/_utils/_streams.py +12 -0
  20. gcore/_utils/_sync.py +86 -0
  21. gcore/_utils/_transform.py +447 -0
  22. gcore/_utils/_typing.py +151 -0
  23. gcore/_utils/_utils.py +422 -0
  24. gcore/_version.py +4 -0
  25. gcore/lib/.keep +4 -0
  26. gcore/lib/polling.py +19 -0
  27. gcore/pagination.py +70 -0
  28. gcore/py.typed +0 -0
  29. gcore/resources/__init__.py +33 -0
  30. gcore/resources/cloud/__init__.py +327 -0
  31. gcore/resources/cloud/baremetal/__init__.py +61 -0
  32. gcore/resources/cloud/baremetal/baremetal.py +166 -0
  33. gcore/resources/cloud/baremetal/flavors.py +371 -0
  34. gcore/resources/cloud/baremetal/images.py +238 -0
  35. gcore/resources/cloud/baremetal/servers.py +1042 -0
  36. gcore/resources/cloud/billing_reservations.py +386 -0
  37. gcore/resources/cloud/cloud.py +774 -0
  38. gcore/resources/cloud/file_shares/__init__.py +33 -0
  39. gcore/resources/cloud/file_shares/access_rules.py +434 -0
  40. gcore/resources/cloud/file_shares/file_shares.py +994 -0
  41. gcore/resources/cloud/floating_ips.py +765 -0
  42. gcore/resources/cloud/gpu_baremetal_clusters/__init__.py +75 -0
  43. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +211 -0
  44. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +1493 -0
  45. gcore/resources/cloud/gpu_baremetal_clusters/images.py +785 -0
  46. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +175 -0
  47. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +1178 -0
  48. gcore/resources/cloud/inference/__init__.py +89 -0
  49. gcore/resources/cloud/inference/deployments/__init__.py +33 -0
  50. gcore/resources/cloud/inference/deployments/deployments.py +1493 -0
  51. gcore/resources/cloud/inference/deployments/logs.py +235 -0
  52. gcore/resources/cloud/inference/flavors.py +280 -0
  53. gcore/resources/cloud/inference/inference.py +295 -0
  54. gcore/resources/cloud/inference/models.py +289 -0
  55. gcore/resources/cloud/inference/registry_credentials.py +649 -0
  56. gcore/resources/cloud/inference/secrets.py +629 -0
  57. gcore/resources/cloud/instances/__init__.py +75 -0
  58. gcore/resources/cloud/instances/flavors.py +449 -0
  59. gcore/resources/cloud/instances/images.py +1297 -0
  60. gcore/resources/cloud/instances/instances.py +2821 -0
  61. gcore/resources/cloud/instances/interfaces.py +797 -0
  62. gcore/resources/cloud/instances/metrics.py +217 -0
  63. gcore/resources/cloud/ip_ranges.py +135 -0
  64. gcore/resources/cloud/load_balancers/__init__.py +103 -0
  65. gcore/resources/cloud/load_balancers/flavors.py +193 -0
  66. gcore/resources/cloud/load_balancers/l7_policies/__init__.py +33 -0
  67. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +1020 -0
  68. gcore/resources/cloud/load_balancers/l7_policies/rules.py +1036 -0
  69. gcore/resources/cloud/load_balancers/listeners.py +1089 -0
  70. gcore/resources/cloud/load_balancers/load_balancers.py +1583 -0
  71. gcore/resources/cloud/load_balancers/metrics.py +205 -0
  72. gcore/resources/cloud/load_balancers/pools/__init__.py +47 -0
  73. gcore/resources/cloud/load_balancers/pools/health_monitors.py +352 -0
  74. gcore/resources/cloud/load_balancers/pools/members.py +353 -0
  75. gcore/resources/cloud/load_balancers/pools/pools.py +1190 -0
  76. gcore/resources/cloud/load_balancers/statuses.py +260 -0
  77. gcore/resources/cloud/networks/__init__.py +47 -0
  78. gcore/resources/cloud/networks/networks.py +771 -0
  79. gcore/resources/cloud/networks/routers.py +875 -0
  80. gcore/resources/cloud/networks/subnets.py +865 -0
  81. gcore/resources/cloud/placement_groups.py +465 -0
  82. gcore/resources/cloud/projects.py +608 -0
  83. gcore/resources/cloud/quotas/__init__.py +33 -0
  84. gcore/resources/cloud/quotas/quotas.py +335 -0
  85. gcore/resources/cloud/quotas/requests.py +482 -0
  86. gcore/resources/cloud/regions.py +328 -0
  87. gcore/resources/cloud/registries/__init__.py +75 -0
  88. gcore/resources/cloud/registries/artifacts.py +277 -0
  89. gcore/resources/cloud/registries/registries.py +688 -0
  90. gcore/resources/cloud/registries/repositories.py +265 -0
  91. gcore/resources/cloud/registries/tags.py +190 -0
  92. gcore/resources/cloud/registries/users.py +701 -0
  93. gcore/resources/cloud/reserved_fixed_ips/__init__.py +33 -0
  94. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +965 -0
  95. gcore/resources/cloud/reserved_fixed_ips/vip.py +577 -0
  96. gcore/resources/cloud/secrets.py +797 -0
  97. gcore/resources/cloud/security_groups/__init__.py +33 -0
  98. gcore/resources/cloud/security_groups/rules.py +626 -0
  99. gcore/resources/cloud/security_groups/security_groups.py +863 -0
  100. gcore/resources/cloud/ssh_keys.py +635 -0
  101. gcore/resources/cloud/tasks.py +700 -0
  102. gcore/resources/cloud/users/__init__.py +33 -0
  103. gcore/resources/cloud/users/role_assignments.py +533 -0
  104. gcore/resources/cloud/users/users.py +102 -0
  105. gcore/resources/cloud/volumes.py +1710 -0
  106. gcore/resources/waap/__init__.py +33 -0
  107. gcore/resources/waap/domains/__init__.py +33 -0
  108. gcore/resources/waap/domains/domains.py +515 -0
  109. gcore/resources/waap/domains/settings.py +271 -0
  110. gcore/resources/waap/waap.py +102 -0
  111. gcore/types/__init__.py +3 -0
  112. gcore/types/cloud/__init__.py +199 -0
  113. gcore/types/cloud/allowed_address_pairs.py +15 -0
  114. gcore/types/cloud/aws_iam_data.py +13 -0
  115. gcore/types/cloud/aws_iam_data_param.py +15 -0
  116. gcore/types/cloud/baremetal/__init__.py +13 -0
  117. gcore/types/cloud/baremetal/baremetal_fixed_address.py +30 -0
  118. gcore/types/cloud/baremetal/baremetal_floating_address.py +15 -0
  119. gcore/types/cloud/baremetal/baremetal_server.py +178 -0
  120. gcore/types/cloud/baremetal/flavor_list_params.py +35 -0
  121. gcore/types/cloud/baremetal/flavor_list_suitable_params.py +22 -0
  122. gcore/types/cloud/baremetal/image_list_params.py +33 -0
  123. gcore/types/cloud/baremetal/server_create_params.py +370 -0
  124. gcore/types/cloud/baremetal/server_list_params.py +114 -0
  125. gcore/types/cloud/baremetal/server_rebuild_params.py +23 -0
  126. gcore/types/cloud/baremetal_flavor.py +58 -0
  127. gcore/types/cloud/baremetal_flavor_list.py +16 -0
  128. gcore/types/cloud/billing_reservation.py +153 -0
  129. gcore/types/cloud/billing_reservation_list_params.py +59 -0
  130. gcore/types/cloud/blackhole_port.py +66 -0
  131. gcore/types/cloud/capacity.py +13 -0
  132. gcore/types/cloud/console.py +18 -0
  133. gcore/types/cloud/container_probe.py +36 -0
  134. gcore/types/cloud/container_probe_config.py +16 -0
  135. gcore/types/cloud/container_probe_config_create_param.py +18 -0
  136. gcore/types/cloud/container_probe_create_param.py +38 -0
  137. gcore/types/cloud/container_probe_exec.py +12 -0
  138. gcore/types/cloud/container_probe_exec_create_param.py +13 -0
  139. gcore/types/cloud/container_probe_http_get.py +26 -0
  140. gcore/types/cloud/container_probe_http_get_create_param.py +25 -0
  141. gcore/types/cloud/container_probe_tcp_socket.py +10 -0
  142. gcore/types/cloud/container_probe_tcp_socket_create_param.py +12 -0
  143. gcore/types/cloud/container_scale.py +25 -0
  144. gcore/types/cloud/container_scale_trigger_rate.py +13 -0
  145. gcore/types/cloud/container_scale_trigger_sqs.py +33 -0
  146. gcore/types/cloud/container_scale_trigger_threshold.py +10 -0
  147. gcore/types/cloud/container_scale_triggers.py +36 -0
  148. gcore/types/cloud/ddos_profile.py +33 -0
  149. gcore/types/cloud/ddos_profile_field.py +31 -0
  150. gcore/types/cloud/ddos_profile_option_list.py +15 -0
  151. gcore/types/cloud/ddos_profile_status.py +13 -0
  152. gcore/types/cloud/ddos_profile_template.py +18 -0
  153. gcore/types/cloud/ddos_profile_template_field.py +23 -0
  154. gcore/types/cloud/deploy_status.py +13 -0
  155. gcore/types/cloud/file_share.py +111 -0
  156. gcore/types/cloud/file_share_create_params.py +104 -0
  157. gcore/types/cloud/file_share_list_params.py +24 -0
  158. gcore/types/cloud/file_share_resize_params.py +18 -0
  159. gcore/types/cloud/file_share_update_params.py +18 -0
  160. gcore/types/cloud/file_shares/__init__.py +7 -0
  161. gcore/types/cloud/file_shares/access_rule.py +21 -0
  162. gcore/types/cloud/file_shares/access_rule_create_params.py +21 -0
  163. gcore/types/cloud/file_shares/access_rule_list.py +16 -0
  164. gcore/types/cloud/fixed_address.py +38 -0
  165. gcore/types/cloud/fixed_address_short.py +24 -0
  166. gcore/types/cloud/flavor_hardware_description.py +27 -0
  167. gcore/types/cloud/floating_address.py +15 -0
  168. gcore/types/cloud/floating_ip.py +77 -0
  169. gcore/types/cloud/floating_ip_assign_params.py +20 -0
  170. gcore/types/cloud/floating_ip_create_params.py +40 -0
  171. gcore/types/cloud/floating_ip_detailed.py +222 -0
  172. gcore/types/cloud/floating_ip_list_params.py +35 -0
  173. gcore/types/cloud/floating_ip_status.py +7 -0
  174. gcore/types/cloud/gpu_baremetal_cluster.py +116 -0
  175. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +155 -0
  176. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +28 -0
  177. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +19 -0
  178. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +26 -0
  179. gcore/types/cloud/gpu_baremetal_cluster_resize_params.py +16 -0
  180. gcore/types/cloud/gpu_baremetal_cluster_server.py +200 -0
  181. gcore/types/cloud/gpu_baremetal_cluster_server_list.py +16 -0
  182. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +9 -0
  183. gcore/types/cloud/gpu_baremetal_clusters/flavor_list_params.py +21 -0
  184. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +58 -0
  185. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +253 -0
  186. gcore/types/cloud/gpu_baremetal_clusters/server_delete_params.py +21 -0
  187. gcore/types/cloud/gpu_baremetal_clusters/server_detach_interface_params.py +19 -0
  188. gcore/types/cloud/gpu_baremetal_flavor.py +133 -0
  189. gcore/types/cloud/gpu_baremetal_flavor_list.py +16 -0
  190. gcore/types/cloud/gpu_image.py +70 -0
  191. gcore/types/cloud/gpu_image_list.py +16 -0
  192. gcore/types/cloud/health_monitor.py +48 -0
  193. gcore/types/cloud/health_monitor_status.py +22 -0
  194. gcore/types/cloud/http_method.py +7 -0
  195. gcore/types/cloud/image.py +100 -0
  196. gcore/types/cloud/image_list.py +16 -0
  197. gcore/types/cloud/inference/__init__.py +25 -0
  198. gcore/types/cloud/inference/container.py +26 -0
  199. gcore/types/cloud/inference/deployment_create_params.py +222 -0
  200. gcore/types/cloud/inference/deployment_list_params.py +21 -0
  201. gcore/types/cloud/inference/deployment_update_params.py +215 -0
  202. gcore/types/cloud/inference/deployments/__init__.py +5 -0
  203. gcore/types/cloud/inference/deployments/log_list_params.py +28 -0
  204. gcore/types/cloud/inference/flavor_list_params.py +18 -0
  205. gcore/types/cloud/inference/inference.py +95 -0
  206. gcore/types/cloud/inference/inference_apikey_secret.py +15 -0
  207. gcore/types/cloud/inference/inference_flavor.py +34 -0
  208. gcore/types/cloud/inference/inference_log.py +21 -0
  209. gcore/types/cloud/inference/inference_registry_credential.py +19 -0
  210. gcore/types/cloud/inference/inference_registry_credential_full.py +22 -0
  211. gcore/types/cloud/inference/inference_secret.py +17 -0
  212. gcore/types/cloud/inference/mlcatalog_model_card.py +65 -0
  213. gcore/types/cloud/inference/mlcatalog_order_by_choices.py +7 -0
  214. gcore/types/cloud/inference/model_list_params.py +23 -0
  215. gcore/types/cloud/inference/registry_credential_create_params.py +24 -0
  216. gcore/types/cloud/inference/registry_credential_list_params.py +21 -0
  217. gcore/types/cloud/inference/registry_credential_replace_params.py +21 -0
  218. gcore/types/cloud/inference/secret_create_params.py +23 -0
  219. gcore/types/cloud/inference/secret_list_params.py +21 -0
  220. gcore/types/cloud/inference/secret_replace_params.py +20 -0
  221. gcore/types/cloud/inference_probes.py +19 -0
  222. gcore/types/cloud/ingress_opts_out.py +16 -0
  223. gcore/types/cloud/ingress_opts_param.py +18 -0
  224. gcore/types/cloud/instance.py +296 -0
  225. gcore/types/cloud/instance_action_params.py +32 -0
  226. gcore/types/cloud/instance_add_to_placement_group_params.py +16 -0
  227. gcore/types/cloud/instance_assign_security_group_params.py +28 -0
  228. gcore/types/cloud/instance_create_params.py +622 -0
  229. gcore/types/cloud/instance_delete_params.py +33 -0
  230. gcore/types/cloud/instance_get_console_params.py +16 -0
  231. gcore/types/cloud/instance_interface.py +40 -0
  232. gcore/types/cloud/instance_isolation.py +12 -0
  233. gcore/types/cloud/instance_list.py +16 -0
  234. gcore/types/cloud/instance_list_params.py +146 -0
  235. gcore/types/cloud/instance_metrics_time_unit.py +7 -0
  236. gcore/types/cloud/instance_resize_params.py +16 -0
  237. gcore/types/cloud/instance_unassign_security_group_params.py +28 -0
  238. gcore/types/cloud/instance_update_params.py +18 -0
  239. gcore/types/cloud/instances/__init__.py +19 -0
  240. gcore/types/cloud/instances/flavor_list_for_resize_params.py +16 -0
  241. gcore/types/cloud/instances/flavor_list_params.py +25 -0
  242. gcore/types/cloud/instances/flavor_list_suitable_params.py +56 -0
  243. gcore/types/cloud/instances/image_create_from_volume_params.py +53 -0
  244. gcore/types/cloud/instances/image_get_params.py +16 -0
  245. gcore/types/cloud/instances/image_list_params.py +33 -0
  246. gcore/types/cloud/instances/image_update_params.py +43 -0
  247. gcore/types/cloud/instances/image_upload_params.py +62 -0
  248. gcore/types/cloud/instances/instance_flavor.py +49 -0
  249. gcore/types/cloud/instances/instance_flavor_list.py +16 -0
  250. gcore/types/cloud/instances/interface_attach_params.py +253 -0
  251. gcore/types/cloud/instances/interface_detach_params.py +19 -0
  252. gcore/types/cloud/instances/metric_list_params.py +23 -0
  253. gcore/types/cloud/instances/metrics.py +52 -0
  254. gcore/types/cloud/instances/metrics_list.py +16 -0
  255. gcore/types/cloud/interface_ip_family.py +7 -0
  256. gcore/types/cloud/ip_assignment.py +13 -0
  257. gcore/types/cloud/ip_ranges.py +12 -0
  258. gcore/types/cloud/ip_version.py +7 -0
  259. gcore/types/cloud/laas_index_retention_policy.py +12 -0
  260. gcore/types/cloud/laas_index_retention_policy_param.py +13 -0
  261. gcore/types/cloud/lb_algorithm.py +7 -0
  262. gcore/types/cloud/lb_health_monitor_type.py +7 -0
  263. gcore/types/cloud/lb_listener_protocol.py +7 -0
  264. gcore/types/cloud/lb_pool_protocol.py +7 -0
  265. gcore/types/cloud/lb_session_persistence_type.py +7 -0
  266. gcore/types/cloud/listener_status.py +27 -0
  267. gcore/types/cloud/load_balancer.py +144 -0
  268. gcore/types/cloud/load_balancer_create_params.py +327 -0
  269. gcore/types/cloud/load_balancer_failover_params.py +16 -0
  270. gcore/types/cloud/load_balancer_flavor_detail.py +40 -0
  271. gcore/types/cloud/load_balancer_flavor_list.py +16 -0
  272. gcore/types/cloud/load_balancer_get_params.py +19 -0
  273. gcore/types/cloud/load_balancer_instance_role.py +7 -0
  274. gcore/types/cloud/load_balancer_l7_policy.py +86 -0
  275. gcore/types/cloud/load_balancer_l7_policy_list.py +16 -0
  276. gcore/types/cloud/load_balancer_l7_rule.py +72 -0
  277. gcore/types/cloud/load_balancer_l7_rule_list.py +16 -0
  278. gcore/types/cloud/load_balancer_list_params.py +53 -0
  279. gcore/types/cloud/load_balancer_listener_detail.py +97 -0
  280. gcore/types/cloud/load_balancer_listener_list.py +16 -0
  281. gcore/types/cloud/load_balancer_member_connectivity.py +7 -0
  282. gcore/types/cloud/load_balancer_metrics.py +32 -0
  283. gcore/types/cloud/load_balancer_metrics_list.py +16 -0
  284. gcore/types/cloud/load_balancer_operating_status.py +7 -0
  285. gcore/types/cloud/load_balancer_pool.py +87 -0
  286. gcore/types/cloud/load_balancer_pool_list.py +16 -0
  287. gcore/types/cloud/load_balancer_resize_params.py +16 -0
  288. gcore/types/cloud/load_balancer_statistics.py +22 -0
  289. gcore/types/cloud/load_balancer_status.py +38 -0
  290. gcore/types/cloud/load_balancer_status_list.py +16 -0
  291. gcore/types/cloud/load_balancer_update_params.py +43 -0
  292. gcore/types/cloud/load_balancers/__init__.py +15 -0
  293. gcore/types/cloud/load_balancers/flavor_list_params.py +16 -0
  294. gcore/types/cloud/load_balancers/l7_policies/__init__.py +6 -0
  295. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +50 -0
  296. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +43 -0
  297. gcore/types/cloud/load_balancers/l7_policy_create_params.py +54 -0
  298. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +51 -0
  299. gcore/types/cloud/load_balancers/listener_create_params.py +72 -0
  300. gcore/types/cloud/load_balancers/listener_get_params.py +16 -0
  301. gcore/types/cloud/load_balancers/listener_list_params.py +19 -0
  302. gcore/types/cloud/load_balancers/listener_update_params.py +55 -0
  303. gcore/types/cloud/load_balancers/metric_list_params.py +21 -0
  304. gcore/types/cloud/load_balancers/pool_create_params.py +141 -0
  305. gcore/types/cloud/load_balancers/pool_list_params.py +25 -0
  306. gcore/types/cloud/load_balancers/pool_update_params.py +139 -0
  307. gcore/types/cloud/load_balancers/pools/__init__.py +6 -0
  308. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +49 -0
  309. gcore/types/cloud/load_balancers/pools/member_add_params.py +44 -0
  310. gcore/types/cloud/logging.py +22 -0
  311. gcore/types/cloud/member.py +47 -0
  312. gcore/types/cloud/member_status.py +24 -0
  313. gcore/types/cloud/network.py +79 -0
  314. gcore/types/cloud/network_create_params.py +36 -0
  315. gcore/types/cloud/network_details.py +80 -0
  316. gcore/types/cloud/network_interface.py +78 -0
  317. gcore/types/cloud/network_interface_list.py +16 -0
  318. gcore/types/cloud/network_list_params.py +41 -0
  319. gcore/types/cloud/network_update_params.py +18 -0
  320. gcore/types/cloud/networks/__init__.py +14 -0
  321. gcore/types/cloud/networks/router.py +83 -0
  322. gcore/types/cloud/networks/router_attach_subnet_params.py +24 -0
  323. gcore/types/cloud/networks/router_create_params.py +75 -0
  324. gcore/types/cloud/networks/router_detach_subnet_params.py +16 -0
  325. gcore/types/cloud/networks/router_list.py +16 -0
  326. gcore/types/cloud/networks/router_list_params.py +19 -0
  327. gcore/types/cloud/networks/router_update_params.py +45 -0
  328. gcore/types/cloud/networks/subnet_create_params.py +82 -0
  329. gcore/types/cloud/networks/subnet_list_params.py +58 -0
  330. gcore/types/cloud/networks/subnet_update_params.py +47 -0
  331. gcore/types/cloud/placement_group.py +41 -0
  332. gcore/types/cloud/placement_group_create_params.py +19 -0
  333. gcore/types/cloud/placement_group_list.py +16 -0
  334. gcore/types/cloud/pool_status.py +31 -0
  335. gcore/types/cloud/project.py +47 -0
  336. gcore/types/cloud/project_create_params.py +22 -0
  337. gcore/types/cloud/project_list_params.py +27 -0
  338. gcore/types/cloud/project_replace_params.py +18 -0
  339. gcore/types/cloud/provisioning_status.py +9 -0
  340. gcore/types/cloud/quota_get_all_response.py +340 -0
  341. gcore/types/cloud/quota_get_by_region_response.py +288 -0
  342. gcore/types/cloud/quota_get_global_response.py +51 -0
  343. gcore/types/cloud/quotas/__init__.py +8 -0
  344. gcore/types/cloud/quotas/request_create_params.py +193 -0
  345. gcore/types/cloud/quotas/request_get_response.py +205 -0
  346. gcore/types/cloud/quotas/request_list_params.py +22 -0
  347. gcore/types/cloud/quotas/request_list_response.py +205 -0
  348. gcore/types/cloud/region.py +101 -0
  349. gcore/types/cloud/region_capacity.py +16 -0
  350. gcore/types/cloud/region_capacity_list.py +16 -0
  351. gcore/types/cloud/region_get_params.py +18 -0
  352. gcore/types/cloud/region_list_params.py +31 -0
  353. gcore/types/cloud/registries/__init__.py +14 -0
  354. gcore/types/cloud/registries/registry_artifact.py +35 -0
  355. gcore/types/cloud/registries/registry_artifact_list.py +16 -0
  356. gcore/types/cloud/registries/registry_repository.py +30 -0
  357. gcore/types/cloud/registries/registry_repository_list.py +16 -0
  358. gcore/types/cloud/registries/registry_user.py +28 -0
  359. gcore/types/cloud/registries/registry_user_created.py +31 -0
  360. gcore/types/cloud/registries/registry_user_list.py +16 -0
  361. gcore/types/cloud/registries/user_create_multiple_params.py +36 -0
  362. gcore/types/cloud/registries/user_create_params.py +30 -0
  363. gcore/types/cloud/registries/user_update_params.py +21 -0
  364. gcore/types/cloud/registry.py +33 -0
  365. gcore/types/cloud/registry_create_params.py +24 -0
  366. gcore/types/cloud/registry_list.py +16 -0
  367. gcore/types/cloud/registry_resize_params.py +16 -0
  368. gcore/types/cloud/registry_tag.py +27 -0
  369. gcore/types/cloud/reserved_fixed_ip.py +98 -0
  370. gcore/types/cloud/reserved_fixed_ip_create_params.py +107 -0
  371. gcore/types/cloud/reserved_fixed_ip_list_params.py +47 -0
  372. gcore/types/cloud/reserved_fixed_ips/__init__.py +12 -0
  373. gcore/types/cloud/reserved_fixed_ips/candidate_port.py +26 -0
  374. gcore/types/cloud/reserved_fixed_ips/candidate_port_list.py +16 -0
  375. gcore/types/cloud/reserved_fixed_ips/connected_port.py +26 -0
  376. gcore/types/cloud/reserved_fixed_ips/connected_port_list.py +16 -0
  377. gcore/types/cloud/reserved_fixed_ips/ip_with_subnet.py +17 -0
  378. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +17 -0
  379. gcore/types/cloud/reserved_fixed_ips/vip_toggle_params.py +16 -0
  380. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +17 -0
  381. gcore/types/cloud/route.py +16 -0
  382. gcore/types/cloud/secret.py +64 -0
  383. gcore/types/cloud/secret_create_params.py +66 -0
  384. gcore/types/cloud/secret_list_response.py +16 -0
  385. gcore/types/cloud/secret_upload_tls_certificate_params.py +39 -0
  386. gcore/types/cloud/security_group.py +45 -0
  387. gcore/types/cloud/security_group_copy_params.py +16 -0
  388. gcore/types/cloud/security_group_create_params.py +94 -0
  389. gcore/types/cloud/security_group_list_params.py +30 -0
  390. gcore/types/cloud/security_group_rule.py +83 -0
  391. gcore/types/cloud/security_group_update_params.py +83 -0
  392. gcore/types/cloud/security_groups/__init__.py +6 -0
  393. gcore/types/cloud/security_groups/rule_create_params.py +65 -0
  394. gcore/types/cloud/security_groups/rule_replace_params.py +72 -0
  395. gcore/types/cloud/session_persistence.py +22 -0
  396. gcore/types/cloud/ssh_key.py +39 -0
  397. gcore/types/cloud/ssh_key_create_params.py +31 -0
  398. gcore/types/cloud/ssh_key_created.py +53 -0
  399. gcore/types/cloud/ssh_key_list_params.py +21 -0
  400. gcore/types/cloud/ssh_key_update_params.py +15 -0
  401. gcore/types/cloud/subnet.py +87 -0
  402. gcore/types/cloud/tag.py +16 -0
  403. gcore/types/cloud/tag_update_map_param.py +10 -0
  404. gcore/types/cloud/task.py +191 -0
  405. gcore/types/cloud/task_acknowledge_all_params.py +16 -0
  406. gcore/types/cloud/task_id_list.py +12 -0
  407. gcore/types/cloud/task_list_params.py +104 -0
  408. gcore/types/cloud/users/__init__.py +9 -0
  409. gcore/types/cloud/users/role_assignment.py +33 -0
  410. gcore/types/cloud/users/role_assignment_create_params.py +22 -0
  411. gcore/types/cloud/users/role_assignment_list_params.py +25 -0
  412. gcore/types/cloud/users/role_assignment_update_delete.py +10 -0
  413. gcore/types/cloud/users/role_assignment_update_params.py +22 -0
  414. gcore/types/cloud/volume.py +141 -0
  415. gcore/types/cloud/volume_attach_to_instance_params.py +21 -0
  416. gcore/types/cloud/volume_change_type_params.py +18 -0
  417. gcore/types/cloud/volume_create_params.py +176 -0
  418. gcore/types/cloud/volume_delete_params.py +18 -0
  419. gcore/types/cloud/volume_detach_from_instance_params.py +18 -0
  420. gcore/types/cloud/volume_list_params.py +56 -0
  421. gcore/types/cloud/volume_resize_params.py +18 -0
  422. gcore/types/cloud/volume_update_params.py +18 -0
  423. gcore/types/waap/__init__.py +12 -0
  424. gcore/types/waap/domain_list_params.py +30 -0
  425. gcore/types/waap/domain_update_params.py +12 -0
  426. gcore/types/waap/domains/__init__.py +5 -0
  427. gcore/types/waap/domains/setting_update_params.py +41 -0
  428. gcore/types/waap/waap_api_urls.py +15 -0
  429. gcore/types/waap/waap_detailed_domain.py +37 -0
  430. gcore/types/waap/waap_domain_ddos_settings.py +31 -0
  431. gcore/types/waap/waap_domain_settings.py +15 -0
  432. gcore/types/waap/waap_domain_status.py +7 -0
  433. gcore/types/waap/waap_summary_domain.py +26 -0
  434. gcore-0.1.0.dist-info/METADATA +482 -0
  435. gcore-0.1.0.dist-info/RECORD +437 -0
  436. gcore-0.1.0.dist-info/WHEEL +4 -0
  437. gcore-0.1.0.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,700 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import time
6
+ from typing import List, Union, Iterable, Optional, cast
7
+ from datetime import datetime
8
+ from typing_extensions import Literal
9
+
10
+ import httpx
11
+
12
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
13
+ from ..._utils import is_given, maybe_transform, async_maybe_transform
14
+ from ..._compat import cached_property
15
+ from ..._resource import SyncAPIResource, AsyncAPIResource
16
+ from ..._response import (
17
+ to_raw_response_wrapper,
18
+ to_streamed_response_wrapper,
19
+ async_to_raw_response_wrapper,
20
+ async_to_streamed_response_wrapper,
21
+ )
22
+ from ...pagination import SyncOffsetPage, AsyncOffsetPage
23
+ from ...lib.polling import extract_timeout_value
24
+ from ...types.cloud import task_list_params, task_acknowledge_all_params
25
+ from ..._base_client import AsyncPaginator, make_request_options
26
+ from ...types.cloud.task import Task
27
+
28
+ __all__ = ["TasksResource", "AsyncTasksResource"]
29
+
30
+
31
+ class TasksResource(SyncAPIResource):
32
+ @cached_property
33
+ def with_raw_response(self) -> TasksResourceWithRawResponse:
34
+ """
35
+ This property can be used as a prefix for any HTTP method call to return
36
+ the raw response object instead of the parsed content.
37
+
38
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
39
+ """
40
+ return TasksResourceWithRawResponse(self)
41
+
42
+ @cached_property
43
+ def with_streaming_response(self) -> TasksResourceWithStreamingResponse:
44
+ """
45
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
46
+
47
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
48
+ """
49
+ return TasksResourceWithStreamingResponse(self)
50
+
51
+ def poll(
52
+ self,
53
+ task_id: str,
54
+ *,
55
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
56
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
57
+ # The extra values given here take precedence over values defined on the client or passed to this method.
58
+ extra_headers: Headers | None = None,
59
+ extra_query: Query | None = None,
60
+ extra_body: Body | None = None,
61
+ timeout: float | NotGiven = NOT_GIVEN,
62
+ ) -> Task:
63
+ if not is_given(polling_interval_seconds):
64
+ polling_interval_seconds = cast(int, self._client.cloud_polling_interval_seconds)
65
+ # Ensure the polling interval is at least 1 second
66
+ polling_interval_seconds = max(1, polling_interval_seconds)
67
+
68
+ if not is_given(timeout):
69
+ timeout = extract_timeout_value(self._client.timeout)
70
+
71
+ end_time = time.time() + timeout
72
+ while time.time() <= end_time:
73
+ task = self.get(
74
+ task_id,
75
+ extra_headers=extra_headers,
76
+ extra_query=extra_query,
77
+ extra_body=extra_body,
78
+ )
79
+ if task.state == "ERROR":
80
+ raise ValueError(task.error or f"Task {task_id} failed")
81
+ elif task.state == "FINISHED":
82
+ return task
83
+ self._sleep(polling_interval_seconds)
84
+
85
+ raise TimeoutError(f"Timed out waiting for task {task_id}")
86
+
87
+ def list(
88
+ self,
89
+ *,
90
+ from_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
91
+ is_acknowledged: Optional[bool] | NotGiven = NOT_GIVEN,
92
+ limit: int | NotGiven = NOT_GIVEN,
93
+ offset: int | NotGiven = NOT_GIVEN,
94
+ project_id: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
95
+ region_id: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
96
+ sorting: Optional[Literal["asc", "desc"]] | NotGiven = NOT_GIVEN,
97
+ state: Optional[List[Literal["ERROR", "FINISHED", "NEW", "RUNNING"]]] | NotGiven = NOT_GIVEN,
98
+ task_type: Optional[str] | NotGiven = NOT_GIVEN,
99
+ to_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
100
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
101
+ # The extra values given here take precedence over values defined on the client or passed to this method.
102
+ extra_headers: Headers | None = None,
103
+ extra_query: Query | None = None,
104
+ extra_body: Body | None = None,
105
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
106
+ ) -> SyncOffsetPage[Task]:
107
+ """List tasks
108
+
109
+ Args:
110
+ from_timestamp: ISO formatted datetime string.
111
+
112
+ Filter the tasks by creation date greater than or
113
+ equal to from_timestamp
114
+
115
+ is_acknowledged: Filter the tasks by their acknowledgement status
116
+
117
+ limit: Limit the number of returned tasks. Falls back to default of 10 if not
118
+ specified. Limited by max limit value of 1000
119
+
120
+ offset: Offset value is used to exclude the first set of records from the result
121
+
122
+ project_id: The project ID to filter the tasks by project. Supports multiple values of kind
123
+ key=value1&key=value2
124
+
125
+ region_id: The region ID to filter the tasks by region. Supports multiple values of kind
126
+ key=value1&key=value2
127
+
128
+ sorting: Sorting by creation date. Oldest first, or most recent first
129
+
130
+ state: Filter the tasks by state. Supports multiple values of kind
131
+ key=value1&key=value2
132
+
133
+ task_type: Filter the tasks by their type one of ['activate_ddos_profile',
134
+ 'attach_bm_to_reserved_fixed_ip', 'attach_vm_interface',
135
+ 'attach_vm_to_reserved_fixed_ip', 'attach_volume', 'create_ai_cluster_gpu',
136
+ 'create_bm', 'create_caas_container', 'create_dbaas_postgres_cluster',
137
+ 'create_ddos_profile', 'create_faas_function', 'create_faas_namespace',
138
+ 'create_fip', 'create_gpu_virtual_cluster', 'create_image',
139
+ 'create_inference_instance', 'create_inference_instance_key',
140
+ 'create_k8s_cluster_pool_v2', 'create_k8s_cluster_v2', 'create_l7policy',
141
+ 'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool',
142
+ 'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network',
143
+ 'create_reserved_fixed_ip', 'create_router', 'create_secret',
144
+ 'create_servergroup', 'create_sfs', 'create_snapshot', 'create_subnet',
145
+ 'create_vm', 'create_volume', 'deactivate_ddos_profile',
146
+ 'delete_ai_cluster_gpu', 'delete_caas_container',
147
+ 'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function',
148
+ 'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster',
149
+ 'delete_gpu_virtual_server', 'delete_image', 'delete_inference_instance',
150
+ 'delete_k8s_cluster_pool_v2', 'delete_k8s_cluster_v2', 'delete_l7policy',
151
+ 'delete_l7rule', 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata',
152
+ 'delete_lbpool', 'delete_loadbalancer', 'delete_network',
153
+ 'delete_reserved_fixed_ip', 'delete_router', 'delete_secret',
154
+ 'delete_servergroup', 'delete_sfs', 'delete_snapshot', 'delete_subnet',
155
+ 'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume',
156
+ 'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster',
157
+ 'extend_sfs', 'extend_volume', 'failover_loadbalancer',
158
+ 'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster',
159
+ 'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container',
160
+ 'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace',
161
+ 'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7policy',
162
+ 'put_l7rule', 'rebuild_bm', 'rebuild_gpu_baremetal_node',
163
+ 'remove_from_server_group', 'replace_lbmetadata', 'resize_k8s_cluster_v2',
164
+ 'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume',
165
+ 'soft_reboot_gpu_baremetal_server', 'soft_reboot_gpu_virtual_cluster',
166
+ 'soft_reboot_gpu_virtual_server', 'soft_reboot_vm',
167
+ 'start_gpu_baremetal_server', 'start_gpu_virtual_cluster',
168
+ 'start_gpu_virtual_server', 'start_vm', 'stop_gpu_baremetal_server',
169
+ 'stop_gpu_virtual_cluster', 'stop_gpu_virtual_server', 'stop_vm', 'suspend_vm',
170
+ 'sync_private_flavors', 'update_ddos_profile', 'update_inference_instance',
171
+ 'update_inference_instance_key', 'update_k8s_cluster_v2', 'update_lbmetadata',
172
+ 'update_port_allowed_address_pairs', 'update_tags_gpu_virtual_cluster',
173
+ 'upgrade_k8s_cluster_v2', 'upscale_ai_cluster_gpu',
174
+ 'upscale_gpu_virtual_cluster']
175
+
176
+ to_timestamp: ISO formatted datetime string. Filter the tasks by creation date less than or
177
+ equal to to_timestamp
178
+
179
+ extra_headers: Send extra headers
180
+
181
+ extra_query: Add additional query parameters to the request
182
+
183
+ extra_body: Add additional JSON properties to the request
184
+
185
+ timeout: Override the client-level default timeout for this request, in seconds
186
+ """
187
+ return self._get_api_list(
188
+ "/cloud/v1/tasks",
189
+ page=SyncOffsetPage[Task],
190
+ options=make_request_options(
191
+ extra_headers=extra_headers,
192
+ extra_query=extra_query,
193
+ extra_body=extra_body,
194
+ timeout=timeout,
195
+ query=maybe_transform(
196
+ {
197
+ "from_timestamp": from_timestamp,
198
+ "is_acknowledged": is_acknowledged,
199
+ "limit": limit,
200
+ "offset": offset,
201
+ "project_id": project_id,
202
+ "region_id": region_id,
203
+ "sorting": sorting,
204
+ "state": state,
205
+ "task_type": task_type,
206
+ "to_timestamp": to_timestamp,
207
+ },
208
+ task_list_params.TaskListParams,
209
+ ),
210
+ ),
211
+ model=Task,
212
+ )
213
+
214
+ def acknowledge_all(
215
+ self,
216
+ *,
217
+ project_id: Optional[int] | NotGiven = NOT_GIVEN,
218
+ region_id: Optional[int] | NotGiven = NOT_GIVEN,
219
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
220
+ # The extra values given here take precedence over values defined on the client or passed to this method.
221
+ extra_headers: Headers | None = None,
222
+ extra_query: Query | None = None,
223
+ extra_body: Body | None = None,
224
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
225
+ ) -> None:
226
+ """
227
+ Acknowledge all client tasks in project or region
228
+
229
+ Args:
230
+ project_id: Project ID
231
+
232
+ region_id: Region ID
233
+
234
+ extra_headers: Send extra headers
235
+
236
+ extra_query: Add additional query parameters to the request
237
+
238
+ extra_body: Add additional JSON properties to the request
239
+
240
+ timeout: Override the client-level default timeout for this request, in seconds
241
+ """
242
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
243
+ return self._post(
244
+ "/cloud/v1/tasks/acknowledge_all",
245
+ options=make_request_options(
246
+ extra_headers=extra_headers,
247
+ extra_query=extra_query,
248
+ extra_body=extra_body,
249
+ timeout=timeout,
250
+ query=maybe_transform(
251
+ {
252
+ "project_id": project_id,
253
+ "region_id": region_id,
254
+ },
255
+ task_acknowledge_all_params.TaskAcknowledgeAllParams,
256
+ ),
257
+ ),
258
+ cast_to=NoneType,
259
+ )
260
+
261
+ def acknowledge_one(
262
+ self,
263
+ task_id: str,
264
+ *,
265
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
266
+ # The extra values given here take precedence over values defined on the client or passed to this method.
267
+ extra_headers: Headers | None = None,
268
+ extra_query: Query | None = None,
269
+ extra_body: Body | None = None,
270
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
271
+ ) -> Task:
272
+ """
273
+ Acknowledge one task on project scope
274
+
275
+ Args:
276
+ task_id: Task ID
277
+
278
+ extra_headers: Send extra headers
279
+
280
+ extra_query: Add additional query parameters to the request
281
+
282
+ extra_body: Add additional JSON properties to the request
283
+
284
+ timeout: Override the client-level default timeout for this request, in seconds
285
+ """
286
+ if not task_id:
287
+ raise ValueError(f"Expected a non-empty value for `task_id` but received {task_id!r}")
288
+ return self._post(
289
+ f"/cloud/v1/tasks/{task_id}/acknowledge",
290
+ options=make_request_options(
291
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
292
+ ),
293
+ cast_to=Task,
294
+ )
295
+
296
+ def get(
297
+ self,
298
+ task_id: str,
299
+ *,
300
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
301
+ # The extra values given here take precedence over values defined on the client or passed to this method.
302
+ extra_headers: Headers | None = None,
303
+ extra_query: Query | None = None,
304
+ extra_body: Body | None = None,
305
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
306
+ ) -> Task:
307
+ """
308
+ Get task
309
+
310
+ Args:
311
+ task_id: Task ID
312
+
313
+ extra_headers: Send extra headers
314
+
315
+ extra_query: Add additional query parameters to the request
316
+
317
+ extra_body: Add additional JSON properties to the request
318
+
319
+ timeout: Override the client-level default timeout for this request, in seconds
320
+ """
321
+ if not task_id:
322
+ raise ValueError(f"Expected a non-empty value for `task_id` but received {task_id!r}")
323
+ return self._get(
324
+ f"/cloud/v1/tasks/{task_id}",
325
+ options=make_request_options(
326
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
327
+ ),
328
+ cast_to=Task,
329
+ )
330
+
331
+
332
+ class AsyncTasksResource(AsyncAPIResource):
333
+ @cached_property
334
+ def with_raw_response(self) -> AsyncTasksResourceWithRawResponse:
335
+ """
336
+ This property can be used as a prefix for any HTTP method call to return
337
+ the raw response object instead of the parsed content.
338
+
339
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
340
+ """
341
+ return AsyncTasksResourceWithRawResponse(self)
342
+
343
+ @cached_property
344
+ def with_streaming_response(self) -> AsyncTasksResourceWithStreamingResponse:
345
+ """
346
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
347
+
348
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
349
+ """
350
+ return AsyncTasksResourceWithStreamingResponse(self)
351
+
352
+ async def poll(
353
+ self,
354
+ task_id: str,
355
+ *,
356
+ polling_interval_seconds: int | 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
+ timeout: float | NotGiven = NOT_GIVEN,
363
+ ) -> Task:
364
+ if not is_given(polling_interval_seconds):
365
+ polling_interval_seconds = cast(int, self._client.cloud_polling_interval_seconds)
366
+
367
+ if not is_given(timeout):
368
+ timeout = extract_timeout_value(self._client.timeout)
369
+
370
+ end_time = time.time() + timeout
371
+ while time.time() <= end_time:
372
+ task = await self.get(
373
+ task_id,
374
+ extra_headers=extra_headers,
375
+ extra_query=extra_query,
376
+ extra_body=extra_body,
377
+ )
378
+ if task.state == "ERROR":
379
+ raise ValueError(task.error or f"Task {task_id} failed")
380
+ elif task.state == "FINISHED":
381
+ return task
382
+ await self._sleep(polling_interval_seconds)
383
+
384
+ raise TimeoutError(f"Timed out waiting for task {task_id}")
385
+
386
+ def list(
387
+ self,
388
+ *,
389
+ from_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
390
+ is_acknowledged: Optional[bool] | NotGiven = NOT_GIVEN,
391
+ limit: int | NotGiven = NOT_GIVEN,
392
+ offset: int | NotGiven = NOT_GIVEN,
393
+ project_id: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
394
+ region_id: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
395
+ sorting: Optional[Literal["asc", "desc"]] | NotGiven = NOT_GIVEN,
396
+ state: Optional[List[Literal["ERROR", "FINISHED", "NEW", "RUNNING"]]] | NotGiven = NOT_GIVEN,
397
+ task_type: Optional[str] | NotGiven = NOT_GIVEN,
398
+ to_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
399
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
400
+ # The extra values given here take precedence over values defined on the client or passed to this method.
401
+ extra_headers: Headers | None = None,
402
+ extra_query: Query | None = None,
403
+ extra_body: Body | None = None,
404
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
405
+ ) -> AsyncPaginator[Task, AsyncOffsetPage[Task]]:
406
+ """List tasks
407
+
408
+ Args:
409
+ from_timestamp: ISO formatted datetime string.
410
+
411
+ Filter the tasks by creation date greater than or
412
+ equal to from_timestamp
413
+
414
+ is_acknowledged: Filter the tasks by their acknowledgement status
415
+
416
+ limit: Limit the number of returned tasks. Falls back to default of 10 if not
417
+ specified. Limited by max limit value of 1000
418
+
419
+ offset: Offset value is used to exclude the first set of records from the result
420
+
421
+ project_id: The project ID to filter the tasks by project. Supports multiple values of kind
422
+ key=value1&key=value2
423
+
424
+ region_id: The region ID to filter the tasks by region. Supports multiple values of kind
425
+ key=value1&key=value2
426
+
427
+ sorting: Sorting by creation date. Oldest first, or most recent first
428
+
429
+ state: Filter the tasks by state. Supports multiple values of kind
430
+ key=value1&key=value2
431
+
432
+ task_type: Filter the tasks by their type one of ['activate_ddos_profile',
433
+ 'attach_bm_to_reserved_fixed_ip', 'attach_vm_interface',
434
+ 'attach_vm_to_reserved_fixed_ip', 'attach_volume', 'create_ai_cluster_gpu',
435
+ 'create_bm', 'create_caas_container', 'create_dbaas_postgres_cluster',
436
+ 'create_ddos_profile', 'create_faas_function', 'create_faas_namespace',
437
+ 'create_fip', 'create_gpu_virtual_cluster', 'create_image',
438
+ 'create_inference_instance', 'create_inference_instance_key',
439
+ 'create_k8s_cluster_pool_v2', 'create_k8s_cluster_v2', 'create_l7policy',
440
+ 'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool',
441
+ 'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network',
442
+ 'create_reserved_fixed_ip', 'create_router', 'create_secret',
443
+ 'create_servergroup', 'create_sfs', 'create_snapshot', 'create_subnet',
444
+ 'create_vm', 'create_volume', 'deactivate_ddos_profile',
445
+ 'delete_ai_cluster_gpu', 'delete_caas_container',
446
+ 'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function',
447
+ 'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster',
448
+ 'delete_gpu_virtual_server', 'delete_image', 'delete_inference_instance',
449
+ 'delete_k8s_cluster_pool_v2', 'delete_k8s_cluster_v2', 'delete_l7policy',
450
+ 'delete_l7rule', 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata',
451
+ 'delete_lbpool', 'delete_loadbalancer', 'delete_network',
452
+ 'delete_reserved_fixed_ip', 'delete_router', 'delete_secret',
453
+ 'delete_servergroup', 'delete_sfs', 'delete_snapshot', 'delete_subnet',
454
+ 'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume',
455
+ 'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster',
456
+ 'extend_sfs', 'extend_volume', 'failover_loadbalancer',
457
+ 'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster',
458
+ 'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container',
459
+ 'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace',
460
+ 'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7policy',
461
+ 'put_l7rule', 'rebuild_bm', 'rebuild_gpu_baremetal_node',
462
+ 'remove_from_server_group', 'replace_lbmetadata', 'resize_k8s_cluster_v2',
463
+ 'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume',
464
+ 'soft_reboot_gpu_baremetal_server', 'soft_reboot_gpu_virtual_cluster',
465
+ 'soft_reboot_gpu_virtual_server', 'soft_reboot_vm',
466
+ 'start_gpu_baremetal_server', 'start_gpu_virtual_cluster',
467
+ 'start_gpu_virtual_server', 'start_vm', 'stop_gpu_baremetal_server',
468
+ 'stop_gpu_virtual_cluster', 'stop_gpu_virtual_server', 'stop_vm', 'suspend_vm',
469
+ 'sync_private_flavors', 'update_ddos_profile', 'update_inference_instance',
470
+ 'update_inference_instance_key', 'update_k8s_cluster_v2', 'update_lbmetadata',
471
+ 'update_port_allowed_address_pairs', 'update_tags_gpu_virtual_cluster',
472
+ 'upgrade_k8s_cluster_v2', 'upscale_ai_cluster_gpu',
473
+ 'upscale_gpu_virtual_cluster']
474
+
475
+ to_timestamp: ISO formatted datetime string. Filter the tasks by creation date less than or
476
+ equal to to_timestamp
477
+
478
+ extra_headers: Send extra headers
479
+
480
+ extra_query: Add additional query parameters to the request
481
+
482
+ extra_body: Add additional JSON properties to the request
483
+
484
+ timeout: Override the client-level default timeout for this request, in seconds
485
+ """
486
+ return self._get_api_list(
487
+ "/cloud/v1/tasks",
488
+ page=AsyncOffsetPage[Task],
489
+ options=make_request_options(
490
+ extra_headers=extra_headers,
491
+ extra_query=extra_query,
492
+ extra_body=extra_body,
493
+ timeout=timeout,
494
+ query=maybe_transform(
495
+ {
496
+ "from_timestamp": from_timestamp,
497
+ "is_acknowledged": is_acknowledged,
498
+ "limit": limit,
499
+ "offset": offset,
500
+ "project_id": project_id,
501
+ "region_id": region_id,
502
+ "sorting": sorting,
503
+ "state": state,
504
+ "task_type": task_type,
505
+ "to_timestamp": to_timestamp,
506
+ },
507
+ task_list_params.TaskListParams,
508
+ ),
509
+ ),
510
+ model=Task,
511
+ )
512
+
513
+ async def acknowledge_all(
514
+ self,
515
+ *,
516
+ project_id: Optional[int] | NotGiven = NOT_GIVEN,
517
+ region_id: Optional[int] | NotGiven = NOT_GIVEN,
518
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
519
+ # The extra values given here take precedence over values defined on the client or passed to this method.
520
+ extra_headers: Headers | None = None,
521
+ extra_query: Query | None = None,
522
+ extra_body: Body | None = None,
523
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
524
+ ) -> None:
525
+ """
526
+ Acknowledge all client tasks in project or region
527
+
528
+ Args:
529
+ project_id: Project ID
530
+
531
+ region_id: Region ID
532
+
533
+ extra_headers: Send extra headers
534
+
535
+ extra_query: Add additional query parameters to the request
536
+
537
+ extra_body: Add additional JSON properties to the request
538
+
539
+ timeout: Override the client-level default timeout for this request, in seconds
540
+ """
541
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
542
+ return await self._post(
543
+ "/cloud/v1/tasks/acknowledge_all",
544
+ options=make_request_options(
545
+ extra_headers=extra_headers,
546
+ extra_query=extra_query,
547
+ extra_body=extra_body,
548
+ timeout=timeout,
549
+ query=await async_maybe_transform(
550
+ {
551
+ "project_id": project_id,
552
+ "region_id": region_id,
553
+ },
554
+ task_acknowledge_all_params.TaskAcknowledgeAllParams,
555
+ ),
556
+ ),
557
+ cast_to=NoneType,
558
+ )
559
+
560
+ async def acknowledge_one(
561
+ self,
562
+ task_id: str,
563
+ *,
564
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
565
+ # The extra values given here take precedence over values defined on the client or passed to this method.
566
+ extra_headers: Headers | None = None,
567
+ extra_query: Query | None = None,
568
+ extra_body: Body | None = None,
569
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
570
+ ) -> Task:
571
+ """
572
+ Acknowledge one task on project scope
573
+
574
+ Args:
575
+ task_id: Task ID
576
+
577
+ extra_headers: Send extra headers
578
+
579
+ extra_query: Add additional query parameters to the request
580
+
581
+ extra_body: Add additional JSON properties to the request
582
+
583
+ timeout: Override the client-level default timeout for this request, in seconds
584
+ """
585
+ if not task_id:
586
+ raise ValueError(f"Expected a non-empty value for `task_id` but received {task_id!r}")
587
+ return await self._post(
588
+ f"/cloud/v1/tasks/{task_id}/acknowledge",
589
+ options=make_request_options(
590
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
591
+ ),
592
+ cast_to=Task,
593
+ )
594
+
595
+ async def get(
596
+ self,
597
+ task_id: str,
598
+ *,
599
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
600
+ # The extra values given here take precedence over values defined on the client or passed to this method.
601
+ extra_headers: Headers | None = None,
602
+ extra_query: Query | None = None,
603
+ extra_body: Body | None = None,
604
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
605
+ ) -> Task:
606
+ """
607
+ Get task
608
+
609
+ Args:
610
+ task_id: Task ID
611
+
612
+ extra_headers: Send extra headers
613
+
614
+ extra_query: Add additional query parameters to the request
615
+
616
+ extra_body: Add additional JSON properties to the request
617
+
618
+ timeout: Override the client-level default timeout for this request, in seconds
619
+ """
620
+ if not task_id:
621
+ raise ValueError(f"Expected a non-empty value for `task_id` but received {task_id!r}")
622
+ return await self._get(
623
+ f"/cloud/v1/tasks/{task_id}",
624
+ options=make_request_options(
625
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
626
+ ),
627
+ cast_to=Task,
628
+ )
629
+
630
+
631
+ class TasksResourceWithRawResponse:
632
+ def __init__(self, tasks: TasksResource) -> None:
633
+ self._tasks = tasks
634
+
635
+ self.list = to_raw_response_wrapper(
636
+ tasks.list,
637
+ )
638
+ self.acknowledge_all = to_raw_response_wrapper(
639
+ tasks.acknowledge_all,
640
+ )
641
+ self.acknowledge_one = to_raw_response_wrapper(
642
+ tasks.acknowledge_one,
643
+ )
644
+ self.get = to_raw_response_wrapper(
645
+ tasks.get,
646
+ )
647
+
648
+
649
+ class AsyncTasksResourceWithRawResponse:
650
+ def __init__(self, tasks: AsyncTasksResource) -> None:
651
+ self._tasks = tasks
652
+
653
+ self.list = async_to_raw_response_wrapper(
654
+ tasks.list,
655
+ )
656
+ self.acknowledge_all = async_to_raw_response_wrapper(
657
+ tasks.acknowledge_all,
658
+ )
659
+ self.acknowledge_one = async_to_raw_response_wrapper(
660
+ tasks.acknowledge_one,
661
+ )
662
+ self.get = async_to_raw_response_wrapper(
663
+ tasks.get,
664
+ )
665
+
666
+
667
+ class TasksResourceWithStreamingResponse:
668
+ def __init__(self, tasks: TasksResource) -> None:
669
+ self._tasks = tasks
670
+
671
+ self.list = to_streamed_response_wrapper(
672
+ tasks.list,
673
+ )
674
+ self.acknowledge_all = to_streamed_response_wrapper(
675
+ tasks.acknowledge_all,
676
+ )
677
+ self.acknowledge_one = to_streamed_response_wrapper(
678
+ tasks.acknowledge_one,
679
+ )
680
+ self.get = to_streamed_response_wrapper(
681
+ tasks.get,
682
+ )
683
+
684
+
685
+ class AsyncTasksResourceWithStreamingResponse:
686
+ def __init__(self, tasks: AsyncTasksResource) -> None:
687
+ self._tasks = tasks
688
+
689
+ self.list = async_to_streamed_response_wrapper(
690
+ tasks.list,
691
+ )
692
+ self.acknowledge_all = async_to_streamed_response_wrapper(
693
+ tasks.acknowledge_all,
694
+ )
695
+ self.acknowledge_one = async_to_streamed_response_wrapper(
696
+ tasks.acknowledge_one,
697
+ )
698
+ self.get = async_to_streamed_response_wrapper(
699
+ tasks.get,
700
+ )