gcore 0.1.0a1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gcore might be problematic. Click here for more details.

Files changed (420) hide show
  1. gcore/__init__.py +84 -0
  2. gcore/_base_client.py +1943 -0
  3. gcore/_client.py +484 -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 +62 -0
  17. gcore/_utils/_reflection.py +42 -0
  18. gcore/_utils/_streams.py +12 -0
  19. gcore/_utils/_sync.py +86 -0
  20. gcore/_utils/_transform.py +447 -0
  21. gcore/_utils/_typing.py +151 -0
  22. gcore/_utils/_utils.py +422 -0
  23. gcore/_version.py +4 -0
  24. gcore/lib/.keep +4 -0
  25. gcore/lib/polling.py +19 -0
  26. gcore/pagination.py +70 -0
  27. gcore/py.typed +0 -0
  28. gcore/resources/__init__.py +19 -0
  29. gcore/resources/cloud/__init__.py +327 -0
  30. gcore/resources/cloud/baremetal/__init__.py +61 -0
  31. gcore/resources/cloud/baremetal/baremetal.py +166 -0
  32. gcore/resources/cloud/baremetal/flavors.py +371 -0
  33. gcore/resources/cloud/baremetal/images.py +238 -0
  34. gcore/resources/cloud/baremetal/servers.py +808 -0
  35. gcore/resources/cloud/billing_reservations.py +362 -0
  36. gcore/resources/cloud/cloud.py +774 -0
  37. gcore/resources/cloud/file_shares/__init__.py +33 -0
  38. gcore/resources/cloud/file_shares/access_rules.py +434 -0
  39. gcore/resources/cloud/file_shares/file_shares.py +994 -0
  40. gcore/resources/cloud/floating_ips.py +765 -0
  41. gcore/resources/cloud/gpu_baremetal_clusters/__init__.py +75 -0
  42. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +211 -0
  43. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +1143 -0
  44. gcore/resources/cloud/gpu_baremetal_clusters/images.py +581 -0
  45. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +175 -0
  46. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +1098 -0
  47. gcore/resources/cloud/inference/__init__.py +89 -0
  48. gcore/resources/cloud/inference/deployments/__init__.py +33 -0
  49. gcore/resources/cloud/inference/deployments/deployments.py +1187 -0
  50. gcore/resources/cloud/inference/deployments/logs.py +235 -0
  51. gcore/resources/cloud/inference/flavors.py +280 -0
  52. gcore/resources/cloud/inference/inference.py +295 -0
  53. gcore/resources/cloud/inference/models.py +289 -0
  54. gcore/resources/cloud/inference/registry_credentials.py +649 -0
  55. gcore/resources/cloud/inference/secrets.py +629 -0
  56. gcore/resources/cloud/instances/__init__.py +75 -0
  57. gcore/resources/cloud/instances/flavors.py +449 -0
  58. gcore/resources/cloud/instances/images.py +987 -0
  59. gcore/resources/cloud/instances/instances.py +2349 -0
  60. gcore/resources/cloud/instances/interfaces.py +797 -0
  61. gcore/resources/cloud/instances/metrics.py +217 -0
  62. gcore/resources/cloud/ip_ranges.py +135 -0
  63. gcore/resources/cloud/load_balancers/__init__.py +103 -0
  64. gcore/resources/cloud/load_balancers/flavors.py +193 -0
  65. gcore/resources/cloud/load_balancers/l7_policies/__init__.py +33 -0
  66. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +738 -0
  67. gcore/resources/cloud/load_balancers/l7_policies/rules.py +722 -0
  68. gcore/resources/cloud/load_balancers/listeners.py +788 -0
  69. gcore/resources/cloud/load_balancers/load_balancers.py +1237 -0
  70. gcore/resources/cloud/load_balancers/metrics.py +205 -0
  71. gcore/resources/cloud/load_balancers/pools/__init__.py +47 -0
  72. gcore/resources/cloud/load_balancers/pools/health_monitors.py +352 -0
  73. gcore/resources/cloud/load_balancers/pools/members.py +353 -0
  74. gcore/resources/cloud/load_balancers/pools/pools.py +872 -0
  75. gcore/resources/cloud/load_balancers/statuses.py +260 -0
  76. gcore/resources/cloud/networks/__init__.py +47 -0
  77. gcore/resources/cloud/networks/networks.py +715 -0
  78. gcore/resources/cloud/networks/routers.py +875 -0
  79. gcore/resources/cloud/networks/subnets.py +865 -0
  80. gcore/resources/cloud/placement_groups.py +465 -0
  81. gcore/resources/cloud/projects.py +608 -0
  82. gcore/resources/cloud/quotas/__init__.py +33 -0
  83. gcore/resources/cloud/quotas/quotas.py +335 -0
  84. gcore/resources/cloud/quotas/requests.py +482 -0
  85. gcore/resources/cloud/regions.py +328 -0
  86. gcore/resources/cloud/registries/__init__.py +75 -0
  87. gcore/resources/cloud/registries/artifacts.py +277 -0
  88. gcore/resources/cloud/registries/registries.py +688 -0
  89. gcore/resources/cloud/registries/repositories.py +265 -0
  90. gcore/resources/cloud/registries/tags.py +190 -0
  91. gcore/resources/cloud/registries/users.py +701 -0
  92. gcore/resources/cloud/reserved_fixed_ips/__init__.py +33 -0
  93. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +965 -0
  94. gcore/resources/cloud/reserved_fixed_ips/vip.py +577 -0
  95. gcore/resources/cloud/secrets.py +797 -0
  96. gcore/resources/cloud/security_groups/__init__.py +33 -0
  97. gcore/resources/cloud/security_groups/rules.py +626 -0
  98. gcore/resources/cloud/security_groups/security_groups.py +863 -0
  99. gcore/resources/cloud/ssh_keys.py +635 -0
  100. gcore/resources/cloud/tasks.py +699 -0
  101. gcore/resources/cloud/users/__init__.py +33 -0
  102. gcore/resources/cloud/users/role_assignments.py +533 -0
  103. gcore/resources/cloud/users/users.py +102 -0
  104. gcore/resources/cloud/volumes.py +1710 -0
  105. gcore/types/__init__.py +3 -0
  106. gcore/types/cloud/__init__.py +199 -0
  107. gcore/types/cloud/allowed_address_pairs.py +15 -0
  108. gcore/types/cloud/aws_iam_data.py +13 -0
  109. gcore/types/cloud/aws_iam_data_param.py +15 -0
  110. gcore/types/cloud/baremetal/__init__.py +13 -0
  111. gcore/types/cloud/baremetal/baremetal_fixed_address.py +30 -0
  112. gcore/types/cloud/baremetal/baremetal_floating_address.py +15 -0
  113. gcore/types/cloud/baremetal/baremetal_server.py +178 -0
  114. gcore/types/cloud/baremetal/flavor_list_params.py +35 -0
  115. gcore/types/cloud/baremetal/flavor_list_suitable_params.py +22 -0
  116. gcore/types/cloud/baremetal/image_list_params.py +33 -0
  117. gcore/types/cloud/baremetal/server_create_params.py +370 -0
  118. gcore/types/cloud/baremetal/server_list_params.py +114 -0
  119. gcore/types/cloud/baremetal/server_rebuild_params.py +23 -0
  120. gcore/types/cloud/baremetal_flavor.py +58 -0
  121. gcore/types/cloud/baremetal_flavor_list.py +16 -0
  122. gcore/types/cloud/billing_reservation.py +153 -0
  123. gcore/types/cloud/billing_reservation_list_params.py +54 -0
  124. gcore/types/cloud/blackhole_port.py +66 -0
  125. gcore/types/cloud/capacity.py +13 -0
  126. gcore/types/cloud/console.py +18 -0
  127. gcore/types/cloud/container_probe.py +36 -0
  128. gcore/types/cloud/container_probe_config.py +16 -0
  129. gcore/types/cloud/container_probe_config_create_param.py +18 -0
  130. gcore/types/cloud/container_probe_create_param.py +38 -0
  131. gcore/types/cloud/container_probe_exec.py +12 -0
  132. gcore/types/cloud/container_probe_exec_create_param.py +13 -0
  133. gcore/types/cloud/container_probe_http_get.py +26 -0
  134. gcore/types/cloud/container_probe_http_get_create_param.py +25 -0
  135. gcore/types/cloud/container_probe_tcp_socket.py +10 -0
  136. gcore/types/cloud/container_probe_tcp_socket_create_param.py +12 -0
  137. gcore/types/cloud/container_scale.py +25 -0
  138. gcore/types/cloud/container_scale_trigger_rate.py +13 -0
  139. gcore/types/cloud/container_scale_trigger_sqs.py +33 -0
  140. gcore/types/cloud/container_scale_trigger_threshold.py +10 -0
  141. gcore/types/cloud/container_scale_triggers.py +36 -0
  142. gcore/types/cloud/ddos_profile.py +33 -0
  143. gcore/types/cloud/ddos_profile_field.py +31 -0
  144. gcore/types/cloud/ddos_profile_option_list.py +15 -0
  145. gcore/types/cloud/ddos_profile_status.py +13 -0
  146. gcore/types/cloud/ddos_profile_template.py +18 -0
  147. gcore/types/cloud/ddos_profile_template_field.py +23 -0
  148. gcore/types/cloud/deploy_status.py +13 -0
  149. gcore/types/cloud/file_share.py +111 -0
  150. gcore/types/cloud/file_share_create_params.py +104 -0
  151. gcore/types/cloud/file_share_list_params.py +24 -0
  152. gcore/types/cloud/file_share_resize_params.py +18 -0
  153. gcore/types/cloud/file_share_update_params.py +18 -0
  154. gcore/types/cloud/file_shares/__init__.py +7 -0
  155. gcore/types/cloud/file_shares/access_rule.py +21 -0
  156. gcore/types/cloud/file_shares/access_rule_create_params.py +21 -0
  157. gcore/types/cloud/file_shares/access_rule_list.py +16 -0
  158. gcore/types/cloud/fixed_address.py +38 -0
  159. gcore/types/cloud/fixed_address_short.py +24 -0
  160. gcore/types/cloud/flavor_hardware_description.py +27 -0
  161. gcore/types/cloud/floating_address.py +15 -0
  162. gcore/types/cloud/floating_ip.py +77 -0
  163. gcore/types/cloud/floating_ip_assign_params.py +20 -0
  164. gcore/types/cloud/floating_ip_create_params.py +40 -0
  165. gcore/types/cloud/floating_ip_detailed.py +222 -0
  166. gcore/types/cloud/floating_ip_list_params.py +35 -0
  167. gcore/types/cloud/floating_ip_status.py +7 -0
  168. gcore/types/cloud/gpu_baremetal_cluster.py +116 -0
  169. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +135 -0
  170. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +28 -0
  171. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +19 -0
  172. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +26 -0
  173. gcore/types/cloud/gpu_baremetal_cluster_resize_params.py +16 -0
  174. gcore/types/cloud/gpu_baremetal_cluster_server.py +200 -0
  175. gcore/types/cloud/gpu_baremetal_cluster_server_list.py +16 -0
  176. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +9 -0
  177. gcore/types/cloud/gpu_baremetal_clusters/flavor_list_params.py +21 -0
  178. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +58 -0
  179. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +253 -0
  180. gcore/types/cloud/gpu_baremetal_clusters/server_delete_params.py +21 -0
  181. gcore/types/cloud/gpu_baremetal_clusters/server_detach_interface_params.py +19 -0
  182. gcore/types/cloud/gpu_baremetal_flavor.py +133 -0
  183. gcore/types/cloud/gpu_baremetal_flavor_list.py +16 -0
  184. gcore/types/cloud/gpu_image.py +70 -0
  185. gcore/types/cloud/gpu_image_list.py +16 -0
  186. gcore/types/cloud/health_monitor.py +48 -0
  187. gcore/types/cloud/health_monitor_status.py +22 -0
  188. gcore/types/cloud/http_method.py +7 -0
  189. gcore/types/cloud/image.py +100 -0
  190. gcore/types/cloud/image_list.py +16 -0
  191. gcore/types/cloud/inference/__init__.py +25 -0
  192. gcore/types/cloud/inference/container.py +26 -0
  193. gcore/types/cloud/inference/deployment_create_params.py +222 -0
  194. gcore/types/cloud/inference/deployment_list_params.py +21 -0
  195. gcore/types/cloud/inference/deployment_update_params.py +215 -0
  196. gcore/types/cloud/inference/deployments/__init__.py +5 -0
  197. gcore/types/cloud/inference/deployments/log_list_params.py +28 -0
  198. gcore/types/cloud/inference/flavor_list_params.py +18 -0
  199. gcore/types/cloud/inference/inference.py +95 -0
  200. gcore/types/cloud/inference/inference_apikey_secret.py +15 -0
  201. gcore/types/cloud/inference/inference_flavor.py +34 -0
  202. gcore/types/cloud/inference/inference_log.py +21 -0
  203. gcore/types/cloud/inference/inference_registry_credential.py +19 -0
  204. gcore/types/cloud/inference/inference_registry_credential_full.py +22 -0
  205. gcore/types/cloud/inference/inference_secret.py +17 -0
  206. gcore/types/cloud/inference/mlcatalog_model_card.py +65 -0
  207. gcore/types/cloud/inference/mlcatalog_order_by_choices.py +7 -0
  208. gcore/types/cloud/inference/model_list_params.py +23 -0
  209. gcore/types/cloud/inference/registry_credential_create_params.py +24 -0
  210. gcore/types/cloud/inference/registry_credential_list_params.py +21 -0
  211. gcore/types/cloud/inference/registry_credential_replace_params.py +21 -0
  212. gcore/types/cloud/inference/secret_create_params.py +23 -0
  213. gcore/types/cloud/inference/secret_list_params.py +21 -0
  214. gcore/types/cloud/inference/secret_replace_params.py +20 -0
  215. gcore/types/cloud/inference_probes.py +19 -0
  216. gcore/types/cloud/ingress_opts_out.py +16 -0
  217. gcore/types/cloud/ingress_opts_param.py +18 -0
  218. gcore/types/cloud/instance.py +296 -0
  219. gcore/types/cloud/instance_action_params.py +32 -0
  220. gcore/types/cloud/instance_add_to_placement_group_params.py +16 -0
  221. gcore/types/cloud/instance_assign_security_group_params.py +28 -0
  222. gcore/types/cloud/instance_create_params.py +622 -0
  223. gcore/types/cloud/instance_delete_params.py +33 -0
  224. gcore/types/cloud/instance_get_console_params.py +16 -0
  225. gcore/types/cloud/instance_interface.py +40 -0
  226. gcore/types/cloud/instance_isolation.py +12 -0
  227. gcore/types/cloud/instance_list.py +16 -0
  228. gcore/types/cloud/instance_list_params.py +146 -0
  229. gcore/types/cloud/instance_metrics_time_unit.py +7 -0
  230. gcore/types/cloud/instance_resize_params.py +16 -0
  231. gcore/types/cloud/instance_unassign_security_group_params.py +28 -0
  232. gcore/types/cloud/instance_update_params.py +18 -0
  233. gcore/types/cloud/instances/__init__.py +19 -0
  234. gcore/types/cloud/instances/flavor_list_for_resize_params.py +16 -0
  235. gcore/types/cloud/instances/flavor_list_params.py +25 -0
  236. gcore/types/cloud/instances/flavor_list_suitable_params.py +56 -0
  237. gcore/types/cloud/instances/image_create_from_volume_params.py +53 -0
  238. gcore/types/cloud/instances/image_get_params.py +16 -0
  239. gcore/types/cloud/instances/image_list_params.py +33 -0
  240. gcore/types/cloud/instances/image_update_params.py +43 -0
  241. gcore/types/cloud/instances/image_upload_params.py +62 -0
  242. gcore/types/cloud/instances/instance_flavor.py +49 -0
  243. gcore/types/cloud/instances/instance_flavor_list.py +16 -0
  244. gcore/types/cloud/instances/interface_attach_params.py +253 -0
  245. gcore/types/cloud/instances/interface_detach_params.py +19 -0
  246. gcore/types/cloud/instances/metric_list_params.py +23 -0
  247. gcore/types/cloud/instances/metrics.py +52 -0
  248. gcore/types/cloud/instances/metrics_list.py +16 -0
  249. gcore/types/cloud/interface_ip_family.py +7 -0
  250. gcore/types/cloud/ip_assignment.py +13 -0
  251. gcore/types/cloud/ip_ranges.py +12 -0
  252. gcore/types/cloud/ip_version.py +7 -0
  253. gcore/types/cloud/laas_index_retention_policy.py +12 -0
  254. gcore/types/cloud/laas_index_retention_policy_param.py +13 -0
  255. gcore/types/cloud/lb_algorithm.py +7 -0
  256. gcore/types/cloud/lb_health_monitor_type.py +7 -0
  257. gcore/types/cloud/lb_listener_protocol.py +7 -0
  258. gcore/types/cloud/lb_pool_protocol.py +7 -0
  259. gcore/types/cloud/lb_session_persistence_type.py +7 -0
  260. gcore/types/cloud/listener_status.py +27 -0
  261. gcore/types/cloud/load_balancer.py +144 -0
  262. gcore/types/cloud/load_balancer_create_params.py +327 -0
  263. gcore/types/cloud/load_balancer_failover_params.py +16 -0
  264. gcore/types/cloud/load_balancer_flavor_detail.py +40 -0
  265. gcore/types/cloud/load_balancer_flavor_list.py +16 -0
  266. gcore/types/cloud/load_balancer_get_params.py +19 -0
  267. gcore/types/cloud/load_balancer_instance_role.py +7 -0
  268. gcore/types/cloud/load_balancer_l7_policy.py +86 -0
  269. gcore/types/cloud/load_balancer_l7_policy_list.py +16 -0
  270. gcore/types/cloud/load_balancer_l7_rule.py +72 -0
  271. gcore/types/cloud/load_balancer_l7_rule_list.py +16 -0
  272. gcore/types/cloud/load_balancer_list_params.py +53 -0
  273. gcore/types/cloud/load_balancer_listener_detail.py +97 -0
  274. gcore/types/cloud/load_balancer_listener_list.py +16 -0
  275. gcore/types/cloud/load_balancer_member_connectivity.py +7 -0
  276. gcore/types/cloud/load_balancer_metrics.py +32 -0
  277. gcore/types/cloud/load_balancer_metrics_list.py +16 -0
  278. gcore/types/cloud/load_balancer_operating_status.py +7 -0
  279. gcore/types/cloud/load_balancer_pool.py +87 -0
  280. gcore/types/cloud/load_balancer_pool_list.py +16 -0
  281. gcore/types/cloud/load_balancer_resize_params.py +16 -0
  282. gcore/types/cloud/load_balancer_statistics.py +22 -0
  283. gcore/types/cloud/load_balancer_status.py +38 -0
  284. gcore/types/cloud/load_balancer_status_list.py +16 -0
  285. gcore/types/cloud/load_balancer_update_params.py +43 -0
  286. gcore/types/cloud/load_balancers/__init__.py +15 -0
  287. gcore/types/cloud/load_balancers/flavor_list_params.py +16 -0
  288. gcore/types/cloud/load_balancers/l7_policies/__init__.py +6 -0
  289. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +50 -0
  290. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +43 -0
  291. gcore/types/cloud/load_balancers/l7_policy_create_params.py +54 -0
  292. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +51 -0
  293. gcore/types/cloud/load_balancers/listener_create_params.py +72 -0
  294. gcore/types/cloud/load_balancers/listener_get_params.py +16 -0
  295. gcore/types/cloud/load_balancers/listener_list_params.py +19 -0
  296. gcore/types/cloud/load_balancers/listener_update_params.py +55 -0
  297. gcore/types/cloud/load_balancers/metric_list_params.py +21 -0
  298. gcore/types/cloud/load_balancers/pool_create_params.py +141 -0
  299. gcore/types/cloud/load_balancers/pool_list_params.py +25 -0
  300. gcore/types/cloud/load_balancers/pool_update_params.py +139 -0
  301. gcore/types/cloud/load_balancers/pools/__init__.py +6 -0
  302. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +49 -0
  303. gcore/types/cloud/load_balancers/pools/member_add_params.py +44 -0
  304. gcore/types/cloud/logging.py +22 -0
  305. gcore/types/cloud/member.py +47 -0
  306. gcore/types/cloud/member_status.py +24 -0
  307. gcore/types/cloud/network.py +79 -0
  308. gcore/types/cloud/network_create_params.py +34 -0
  309. gcore/types/cloud/network_details.py +79 -0
  310. gcore/types/cloud/network_interface.py +78 -0
  311. gcore/types/cloud/network_interface_list.py +16 -0
  312. gcore/types/cloud/network_list_params.py +36 -0
  313. gcore/types/cloud/network_update_params.py +16 -0
  314. gcore/types/cloud/networks/__init__.py +14 -0
  315. gcore/types/cloud/networks/router.py +83 -0
  316. gcore/types/cloud/networks/router_attach_subnet_params.py +24 -0
  317. gcore/types/cloud/networks/router_create_params.py +75 -0
  318. gcore/types/cloud/networks/router_detach_subnet_params.py +16 -0
  319. gcore/types/cloud/networks/router_list.py +16 -0
  320. gcore/types/cloud/networks/router_list_params.py +19 -0
  321. gcore/types/cloud/networks/router_update_params.py +45 -0
  322. gcore/types/cloud/networks/subnet_create_params.py +82 -0
  323. gcore/types/cloud/networks/subnet_list_params.py +58 -0
  324. gcore/types/cloud/networks/subnet_update_params.py +47 -0
  325. gcore/types/cloud/placement_group.py +41 -0
  326. gcore/types/cloud/placement_group_create_params.py +19 -0
  327. gcore/types/cloud/placement_group_list.py +16 -0
  328. gcore/types/cloud/pool_status.py +31 -0
  329. gcore/types/cloud/project.py +47 -0
  330. gcore/types/cloud/project_create_params.py +22 -0
  331. gcore/types/cloud/project_list_params.py +27 -0
  332. gcore/types/cloud/project_replace_params.py +18 -0
  333. gcore/types/cloud/provisioning_status.py +9 -0
  334. gcore/types/cloud/quota_get_all_response.py +340 -0
  335. gcore/types/cloud/quota_get_by_region_response.py +288 -0
  336. gcore/types/cloud/quota_get_global_response.py +51 -0
  337. gcore/types/cloud/quotas/__init__.py +8 -0
  338. gcore/types/cloud/quotas/request_create_params.py +193 -0
  339. gcore/types/cloud/quotas/request_get_response.py +205 -0
  340. gcore/types/cloud/quotas/request_list_params.py +22 -0
  341. gcore/types/cloud/quotas/request_list_response.py +205 -0
  342. gcore/types/cloud/region.py +101 -0
  343. gcore/types/cloud/region_capacity.py +16 -0
  344. gcore/types/cloud/region_capacity_list.py +16 -0
  345. gcore/types/cloud/region_get_params.py +18 -0
  346. gcore/types/cloud/region_list_params.py +31 -0
  347. gcore/types/cloud/registries/__init__.py +14 -0
  348. gcore/types/cloud/registries/registry_artifact.py +35 -0
  349. gcore/types/cloud/registries/registry_artifact_list.py +16 -0
  350. gcore/types/cloud/registries/registry_repository.py +30 -0
  351. gcore/types/cloud/registries/registry_repository_list.py +16 -0
  352. gcore/types/cloud/registries/registry_user.py +28 -0
  353. gcore/types/cloud/registries/registry_user_created.py +31 -0
  354. gcore/types/cloud/registries/registry_user_list.py +16 -0
  355. gcore/types/cloud/registries/user_create_multiple_params.py +36 -0
  356. gcore/types/cloud/registries/user_create_params.py +30 -0
  357. gcore/types/cloud/registries/user_update_params.py +21 -0
  358. gcore/types/cloud/registry.py +33 -0
  359. gcore/types/cloud/registry_create_params.py +24 -0
  360. gcore/types/cloud/registry_list.py +16 -0
  361. gcore/types/cloud/registry_resize_params.py +16 -0
  362. gcore/types/cloud/registry_tag.py +27 -0
  363. gcore/types/cloud/reserved_fixed_ip.py +98 -0
  364. gcore/types/cloud/reserved_fixed_ip_create_params.py +107 -0
  365. gcore/types/cloud/reserved_fixed_ip_list_params.py +47 -0
  366. gcore/types/cloud/reserved_fixed_ips/__init__.py +12 -0
  367. gcore/types/cloud/reserved_fixed_ips/candidate_port.py +26 -0
  368. gcore/types/cloud/reserved_fixed_ips/candidate_port_list.py +16 -0
  369. gcore/types/cloud/reserved_fixed_ips/connected_port.py +26 -0
  370. gcore/types/cloud/reserved_fixed_ips/connected_port_list.py +16 -0
  371. gcore/types/cloud/reserved_fixed_ips/ip_with_subnet.py +17 -0
  372. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +17 -0
  373. gcore/types/cloud/reserved_fixed_ips/vip_toggle_params.py +16 -0
  374. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +17 -0
  375. gcore/types/cloud/route.py +16 -0
  376. gcore/types/cloud/secret.py +64 -0
  377. gcore/types/cloud/secret_create_params.py +66 -0
  378. gcore/types/cloud/secret_list_response.py +16 -0
  379. gcore/types/cloud/secret_upload_tls_certificate_params.py +39 -0
  380. gcore/types/cloud/security_group.py +45 -0
  381. gcore/types/cloud/security_group_copy_params.py +16 -0
  382. gcore/types/cloud/security_group_create_params.py +94 -0
  383. gcore/types/cloud/security_group_list_params.py +30 -0
  384. gcore/types/cloud/security_group_rule.py +83 -0
  385. gcore/types/cloud/security_group_update_params.py +83 -0
  386. gcore/types/cloud/security_groups/__init__.py +6 -0
  387. gcore/types/cloud/security_groups/rule_create_params.py +65 -0
  388. gcore/types/cloud/security_groups/rule_replace_params.py +72 -0
  389. gcore/types/cloud/session_persistence.py +22 -0
  390. gcore/types/cloud/ssh_key.py +39 -0
  391. gcore/types/cloud/ssh_key_create_params.py +31 -0
  392. gcore/types/cloud/ssh_key_created.py +53 -0
  393. gcore/types/cloud/ssh_key_list_params.py +21 -0
  394. gcore/types/cloud/ssh_key_update_params.py +15 -0
  395. gcore/types/cloud/subnet.py +87 -0
  396. gcore/types/cloud/tag.py +16 -0
  397. gcore/types/cloud/tag_update_map_param.py +10 -0
  398. gcore/types/cloud/task.py +191 -0
  399. gcore/types/cloud/task_acknowledge_all_params.py +16 -0
  400. gcore/types/cloud/task_id_list.py +12 -0
  401. gcore/types/cloud/task_list_params.py +104 -0
  402. gcore/types/cloud/users/__init__.py +9 -0
  403. gcore/types/cloud/users/role_assignment.py +33 -0
  404. gcore/types/cloud/users/role_assignment_create_params.py +22 -0
  405. gcore/types/cloud/users/role_assignment_list_params.py +25 -0
  406. gcore/types/cloud/users/role_assignment_update_delete.py +10 -0
  407. gcore/types/cloud/users/role_assignment_update_params.py +22 -0
  408. gcore/types/cloud/volume.py +141 -0
  409. gcore/types/cloud/volume_attach_to_instance_params.py +21 -0
  410. gcore/types/cloud/volume_change_type_params.py +18 -0
  411. gcore/types/cloud/volume_create_params.py +176 -0
  412. gcore/types/cloud/volume_delete_params.py +18 -0
  413. gcore/types/cloud/volume_detach_from_instance_params.py +18 -0
  414. gcore/types/cloud/volume_list_params.py +56 -0
  415. gcore/types/cloud/volume_resize_params.py +18 -0
  416. gcore/types/cloud/volume_update_params.py +18 -0
  417. gcore-0.1.0a1.dist-info/METADATA +485 -0
  418. gcore-0.1.0a1.dist-info/RECORD +420 -0
  419. gcore-0.1.0a1.dist-info/WHEEL +4 -0
  420. gcore-0.1.0a1.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,77 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from .tag import Tag
7
+ from ..._models import BaseModel
8
+ from .floating_ip_status import FloatingIPStatus
9
+
10
+ __all__ = ["FloatingIP"]
11
+
12
+
13
+ class FloatingIP(BaseModel):
14
+ id: Optional[str] = None
15
+ """Floating IP ID"""
16
+
17
+ created_at: datetime
18
+ """Datetime when the floating IP was created"""
19
+
20
+ creator_task_id: Optional[str] = None
21
+ """Task that created this entity"""
22
+
23
+ dns_domain: Optional[str] = None
24
+ """This field is deprecated and can be ignored"""
25
+
26
+ dns_name: Optional[str] = None
27
+ """This field is deprecated and can be ignored"""
28
+
29
+ fixed_ip_address: Optional[str] = None
30
+ """IP address of the port the floating IP is attached to"""
31
+
32
+ floating_ip_address: Optional[str] = None
33
+ """IP Address of the floating IP"""
34
+
35
+ port_id: Optional[str] = None
36
+ """Port ID the floating IP is attached to.
37
+
38
+ The `fixed_ip_address` is the IP address of the port.
39
+ """
40
+
41
+ project_id: int
42
+ """Project ID"""
43
+
44
+ region: str
45
+ """Region name"""
46
+
47
+ region_id: int
48
+ """Region ID"""
49
+
50
+ router_id: Optional[str] = None
51
+ """Router ID"""
52
+
53
+ status: Optional[FloatingIPStatus] = None
54
+ """Floating IP status"""
55
+
56
+ subnet_id: Optional[str] = None
57
+ """This field is deprecated and can be ignored"""
58
+
59
+ tags: List[Tag]
60
+ """List of key-value tags associated with the resource.
61
+
62
+ A tag is a key-value pair that can be associated with a resource, enabling
63
+ efficient filtering and grouping for better organization and management. Some
64
+ tags are read-only and cannot be modified by the user. Tags are also integrated
65
+ with cost reports, allowing cost data to be filtered based on tag keys or
66
+ values.
67
+ """
68
+
69
+ task_id: Optional[str] = None
70
+ """The UUID of the active task that currently holds a lock on the resource.
71
+
72
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
73
+ the resource is not locked.
74
+ """
75
+
76
+ updated_at: datetime
77
+ """Datetime when the floating IP was last updated"""
@@ -0,0 +1,20 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["FloatingIPAssignParams"]
9
+
10
+
11
+ class FloatingIPAssignParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ port_id: Required[str]
17
+ """Port ID"""
18
+
19
+ fixed_ip_address: Optional[str]
20
+ """Fixed IP address"""
@@ -0,0 +1,40 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import TypedDict
7
+
8
+ from .tag_update_map_param import TagUpdateMapParam
9
+
10
+ __all__ = ["FloatingIPCreateParams"]
11
+
12
+
13
+ class FloatingIPCreateParams(TypedDict, total=False):
14
+ project_id: int
15
+ """Project ID"""
16
+
17
+ region_id: int
18
+ """Region ID"""
19
+
20
+ fixed_ip_address: Optional[str]
21
+ """
22
+ If the port has multiple IP addresses, a specific one can be selected using this
23
+ field. If not specified, the first IP in the port's list will be used by
24
+ default.
25
+ """
26
+
27
+ port_id: Optional[str]
28
+ """
29
+ If provided, the floating IP will be immediately attached to the specified port.
30
+ """
31
+
32
+ tags: TagUpdateMapParam
33
+ """Key-value tags to associate with the resource.
34
+
35
+ A tag is a key-value pair that can be associated with a resource, enabling
36
+ efficient filtering and grouping for better organization and management. Some
37
+ tags are read-only and cannot be modified by the user. Tags are also integrated
38
+ with cost reports, allowing cost data to be filtered based on tag keys or
39
+ values.
40
+ """
@@ -0,0 +1,222 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Union, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal, TypeAlias
6
+
7
+ from .tag import Tag
8
+ from ..._models import BaseModel
9
+ from .fixed_address import FixedAddress
10
+ from .load_balancer import LoadBalancer
11
+ from .floating_address import FloatingAddress
12
+ from .floating_ip_status import FloatingIPStatus
13
+ from .fixed_address_short import FixedAddressShort
14
+
15
+ __all__ = [
16
+ "FloatingIPDetailed",
17
+ "Instance",
18
+ "InstanceAddress",
19
+ "InstanceFlavor",
20
+ "InstanceSecurityGroup",
21
+ "InstanceVolume",
22
+ ]
23
+
24
+ InstanceAddress: TypeAlias = Union[FloatingAddress, FixedAddressShort, FixedAddress]
25
+
26
+
27
+ class InstanceFlavor(BaseModel):
28
+ flavor_id: str
29
+ """Flavor ID is the same as name"""
30
+
31
+ flavor_name: str
32
+ """Flavor name"""
33
+
34
+ ram: int
35
+ """RAM size in MiB"""
36
+
37
+ vcpus: int
38
+ """Virtual CPU count. For bare metal flavors, it's a physical CPU count"""
39
+
40
+
41
+ class InstanceSecurityGroup(BaseModel):
42
+ name: str
43
+ """Name."""
44
+
45
+
46
+ class InstanceVolume(BaseModel):
47
+ id: str
48
+ """Volume ID"""
49
+
50
+ delete_on_termination: bool
51
+ """Whether the volume is deleted together with the VM"""
52
+
53
+
54
+ class Instance(BaseModel):
55
+ id: str
56
+ """Instance ID"""
57
+
58
+ addresses: Dict[str, List[InstanceAddress]]
59
+ """Map of network_name to list of addresses in that network"""
60
+
61
+ created_at: datetime
62
+ """Datetime when instance was created"""
63
+
64
+ creator_task_id: str
65
+ """Task that created this entity"""
66
+
67
+ flavor: InstanceFlavor
68
+ """Flavor"""
69
+
70
+ instance_description: Optional[str] = None
71
+ """Instance description"""
72
+
73
+ name: str
74
+ """Instance name"""
75
+
76
+ project_id: int
77
+ """Project ID"""
78
+
79
+ region: str
80
+ """Region name"""
81
+
82
+ region_id: int
83
+ """Region ID"""
84
+
85
+ security_groups: List[InstanceSecurityGroup]
86
+ """Security groups"""
87
+
88
+ ssh_key_name: Optional[str] = None
89
+ """SSH key name assigned to instance"""
90
+
91
+ status: Literal[
92
+ "ACTIVE",
93
+ "BUILD",
94
+ "DELETED",
95
+ "ERROR",
96
+ "HARD_REBOOT",
97
+ "MIGRATING",
98
+ "PASSWORD",
99
+ "PAUSED",
100
+ "REBOOT",
101
+ "REBUILD",
102
+ "RESCUE",
103
+ "RESIZE",
104
+ "REVERT_RESIZE",
105
+ "SHELVED",
106
+ "SHELVED_OFFLOADED",
107
+ "SHUTOFF",
108
+ "SOFT_DELETED",
109
+ "SUSPENDED",
110
+ "UNKNOWN",
111
+ "VERIFY_RESIZE",
112
+ ]
113
+ """Instance status"""
114
+
115
+ tags: List[Tag]
116
+ """List of key-value tags associated with the resource.
117
+
118
+ A tag is a key-value pair that can be associated with a resource, enabling
119
+ efficient filtering and grouping for better organization and management. Some
120
+ tags are read-only and cannot be modified by the user. Tags are also integrated
121
+ with cost reports, allowing cost data to be filtered based on tag keys or
122
+ values.
123
+ """
124
+
125
+ task_id: Optional[str] = None
126
+ """The UUID of the active task that currently holds a lock on the resource.
127
+
128
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
129
+ the resource is not locked.
130
+ """
131
+
132
+ task_state: Optional[str] = None
133
+ """Task state"""
134
+
135
+ vm_state: Literal[
136
+ "active",
137
+ "building",
138
+ "deleted",
139
+ "error",
140
+ "paused",
141
+ "rescued",
142
+ "resized",
143
+ "shelved",
144
+ "shelved_offloaded",
145
+ "soft-deleted",
146
+ "stopped",
147
+ "suspended",
148
+ ]
149
+ """Virtual machine state (active)"""
150
+
151
+ volumes: List[InstanceVolume]
152
+ """List of volumes"""
153
+
154
+
155
+ class FloatingIPDetailed(BaseModel):
156
+ id: Optional[str] = None
157
+ """Floating IP ID"""
158
+
159
+ created_at: datetime
160
+ """Datetime when the floating IP was created"""
161
+
162
+ creator_task_id: Optional[str] = None
163
+ """Task that created this entity"""
164
+
165
+ dns_domain: Optional[str] = None
166
+ """This field is deprecated and can be ignored"""
167
+
168
+ dns_name: Optional[str] = None
169
+ """This field is deprecated and can be ignored"""
170
+
171
+ fixed_ip_address: Optional[str] = None
172
+ """IP address of the port the floating IP is attached to"""
173
+
174
+ floating_ip_address: Optional[str] = None
175
+ """IP Address of the floating IP"""
176
+
177
+ instance: Optional[Instance] = None
178
+ """Instance the floating IP is attached to"""
179
+
180
+ loadbalancer: Optional[LoadBalancer] = None
181
+ """Load balancer the floating IP is attached to"""
182
+
183
+ port_id: Optional[str] = None
184
+ """Port ID"""
185
+
186
+ project_id: int
187
+ """Project ID"""
188
+
189
+ region: str
190
+ """Region name"""
191
+
192
+ region_id: int
193
+ """Region ID"""
194
+
195
+ router_id: Optional[str] = None
196
+ """Router ID"""
197
+
198
+ status: Optional[FloatingIPStatus] = None
199
+ """Floating IP status"""
200
+
201
+ subnet_id: Optional[str] = None
202
+ """This field is deprecated and can be ignored"""
203
+
204
+ tags: List[Tag]
205
+ """List of key-value tags associated with the resource.
206
+
207
+ A tag is a key-value pair that can be associated with a resource, enabling
208
+ efficient filtering and grouping for better organization and management. Some
209
+ tags are read-only and cannot be modified by the user. Tags are also integrated
210
+ with cost reports, allowing cost data to be filtered based on tag keys or
211
+ values.
212
+ """
213
+
214
+ task_id: Optional[str] = None
215
+ """The UUID of the active task that currently holds a lock on the resource.
216
+
217
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
218
+ the resource is not locked.
219
+ """
220
+
221
+ updated_at: datetime
222
+ """Datetime when the floating IP was last updated"""
@@ -0,0 +1,35 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List
6
+ from typing_extensions import TypedDict
7
+
8
+ __all__ = ["FloatingIPListParams"]
9
+
10
+
11
+ class FloatingIPListParams(TypedDict, total=False):
12
+ project_id: int
13
+ """Project ID"""
14
+
15
+ region_id: int
16
+ """Region ID"""
17
+
18
+ limit: int
19
+ """Optional. Limit the number of returned items"""
20
+
21
+ offset: int
22
+ """Optional.
23
+
24
+ Offset value is used to exclude the first set of records from the result
25
+ """
26
+
27
+ tag_key: List[str]
28
+ """Optional. Filter by tag keys. ?tag_key=key1&tag_key=key2"""
29
+
30
+ tag_key_value: str
31
+ """Optional.
32
+
33
+ Filter by tag key-value pairs. curl -G --data-urlencode "tag_key_value={"key":
34
+ "value"}" --url "https://example.com/cloud/v1/resource/1/1"
35
+ """
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["FloatingIPStatus"]
6
+
7
+ FloatingIPStatus: TypeAlias = Literal["ACTIVE", "DOWN", "ERROR"]
@@ -0,0 +1,116 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from typing_extensions import Literal
5
+
6
+ from .tag import Tag
7
+ from ..._models import BaseModel
8
+ from .gpu_baremetal_cluster_server import GPUBaremetalClusterServer
9
+
10
+ __all__ = ["GPUBaremetalCluster", "Interface"]
11
+
12
+
13
+ class Interface(BaseModel):
14
+ network_id: str
15
+ """Network ID"""
16
+
17
+ port_id: str
18
+ """Network ID the subnet belongs to. Port will be plugged in this network"""
19
+
20
+ subnet_id: str
21
+ """Port is assigned to IP address from the subnet"""
22
+
23
+ type: str
24
+ """Network type"""
25
+
26
+
27
+ class GPUBaremetalCluster(BaseModel):
28
+ cluster_id: str
29
+ """GPU Cluster ID"""
30
+
31
+ cluster_name: str
32
+ """GPU Cluster Name"""
33
+
34
+ cluster_status: Literal["ACTIVE", "ERROR", "PENDING", "SUSPENDED"]
35
+ """GPU Cluster status"""
36
+
37
+ created_at: Optional[str] = None
38
+ """Datetime when the cluster was created"""
39
+
40
+ creator_task_id: str
41
+ """Task that created this entity"""
42
+
43
+ flavor: str
44
+ """Flavor ID is the same as the name"""
45
+
46
+ image_id: str
47
+ """Image ID"""
48
+
49
+ image_name: str
50
+ """Image name"""
51
+
52
+ interfaces: Optional[List[Interface]] = None
53
+ """Networks managed by user and associated with the cluster"""
54
+
55
+ password: Optional[str] = None
56
+ """A password for a bare metal server.
57
+
58
+ This parameter is used to set a password for the "Admin" user on a Windows
59
+ instance, a default user or a new user on a Linux instance
60
+ """
61
+
62
+ project_id: int
63
+ """Project ID"""
64
+
65
+ region: str
66
+ """Region name"""
67
+
68
+ region_id: int
69
+ """Region ID"""
70
+
71
+ servers: List[GPUBaremetalClusterServer]
72
+ """GPU cluster servers"""
73
+
74
+ ssh_key_name: Optional[str] = None
75
+ """Keypair name to inject into new cluster(s)"""
76
+
77
+ tags: List[Tag]
78
+ """List of key-value tags associated with the resource.
79
+
80
+ A tag is a key-value pair that can be associated with a resource, enabling
81
+ efficient filtering and grouping for better organization and management. Some
82
+ tags are read-only and cannot be modified by the user. Tags are also integrated
83
+ with cost reports, allowing cost data to be filtered based on tag keys or
84
+ values.
85
+ """
86
+
87
+ task_id: Optional[str] = None
88
+ """Task ID associated with the cluster"""
89
+
90
+ task_status: Literal[
91
+ "CLUSTER_CLEAN_UP",
92
+ "CLUSTER_RESIZE",
93
+ "CLUSTER_RESUME",
94
+ "CLUSTER_SUSPEND",
95
+ "ERROR",
96
+ "FINISHED",
97
+ "IPU_SERVERS",
98
+ "NETWORK",
99
+ "POPLAR_SERVERS",
100
+ "POST_DEPLOY_SETUP",
101
+ "VIPU_CONTROLLER",
102
+ ]
103
+ """Task status"""
104
+
105
+ user_data: Optional[str] = None
106
+ """String in base64 format.
107
+
108
+ Must not be passed together with 'username' or 'password'. Examples of the
109
+ user_data: https://cloudinit.readthedocs.io/en/latest/topics/examples.html
110
+ """
111
+
112
+ username: Optional[str] = None
113
+ """A name of a new user in the Linux instance.
114
+
115
+ It may be passed with a 'password' parameter
116
+ """
@@ -0,0 +1,135 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union, Iterable, Optional
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
+
8
+ from .interface_ip_family import InterfaceIPFamily
9
+ from .tag_update_map_param import TagUpdateMapParam
10
+
11
+ __all__ = [
12
+ "GPUBaremetalClusterCreateParams",
13
+ "Interface",
14
+ "InterfaceCreateGPUClusterExternalInterfaceSerializer",
15
+ "InterfaceCreateGPUClusterSubnetInterfaceSerializer",
16
+ "InterfaceCreateGPUClusterSubnetInterfaceSerializerFloatingIP",
17
+ "InterfaceCreateGPUClusterAnySubnetInterfaceSerializer",
18
+ "InterfaceCreateGPUClusterAnySubnetInterfaceSerializerFloatingIP",
19
+ ]
20
+
21
+
22
+ class GPUBaremetalClusterCreateParams(TypedDict, total=False):
23
+ project_id: int
24
+
25
+ region_id: int
26
+
27
+ flavor: Required[str]
28
+ """Flavor name"""
29
+
30
+ image_id: Required[str]
31
+ """Image ID"""
32
+
33
+ interfaces: Required[Iterable[Interface]]
34
+ """A list of network interfaces for the server.
35
+
36
+ You can create one or more interfaces - private, public, or both.
37
+ """
38
+
39
+ name: Required[str]
40
+ """GPU Cluster name"""
41
+
42
+ instances_count: int
43
+ """Number of servers to create"""
44
+
45
+ ssh_key_name: str
46
+ """
47
+ Specifies the name of the SSH keypair, created via the
48
+ <a href="#operation/SSHKeyCollectionViewSet.post">/v1/ssh_keys endpoint</a>.
49
+ """
50
+
51
+ tags: TagUpdateMapParam
52
+ """Key-value tags to associate with the resource.
53
+
54
+ A tag is a key-value pair that can be associated with a resource, enabling
55
+ efficient filtering and grouping for better organization and management. Some
56
+ tags are read-only and cannot be modified by the user. Tags are also integrated
57
+ with cost reports, allowing cost data to be filtered based on tag keys or
58
+ values.
59
+ """
60
+
61
+
62
+ class InterfaceCreateGPUClusterExternalInterfaceSerializer(TypedDict, total=False):
63
+ type: Required[Literal["external"]]
64
+ """A public IP address will be assigned to the server."""
65
+
66
+ interface_name: str
67
+ """Interface name.
68
+
69
+ Defaults to `null` and is returned as `null` in the API response if not set.
70
+ """
71
+
72
+ ip_family: Optional[InterfaceIPFamily]
73
+ """Specify `ipv4`, `ipv6`, or `dual` to enable both."""
74
+
75
+
76
+ class InterfaceCreateGPUClusterSubnetInterfaceSerializerFloatingIP(TypedDict, total=False):
77
+ source: Required[Literal["new"]]
78
+
79
+
80
+ class InterfaceCreateGPUClusterSubnetInterfaceSerializer(TypedDict, total=False):
81
+ network_id: Required[str]
82
+ """The network where the server will be connected."""
83
+
84
+ subnet_id: Required[str]
85
+ """The server will get an IP address from this subnet."""
86
+
87
+ type: Required[Literal["subnet"]]
88
+ """The instance will get an IP address from the selected network.
89
+
90
+ If you choose to add a floating IP, the instance will be reachable from the
91
+ internet. Otherwise, it will only have a private IP within the network.
92
+ """
93
+
94
+ floating_ip: InterfaceCreateGPUClusterSubnetInterfaceSerializerFloatingIP
95
+ """Floating IP config for this subnet attachment"""
96
+
97
+ interface_name: str
98
+ """Interface name.
99
+
100
+ Defaults to `null` and is returned as `null` in the API response if not set.
101
+ """
102
+
103
+
104
+ class InterfaceCreateGPUClusterAnySubnetInterfaceSerializerFloatingIP(TypedDict, total=False):
105
+ source: Required[Literal["new"]]
106
+
107
+
108
+ class InterfaceCreateGPUClusterAnySubnetInterfaceSerializer(TypedDict, total=False):
109
+ network_id: Required[str]
110
+ """The network where the server will be connected."""
111
+
112
+ type: Required[Literal["any_subnet"]]
113
+ """Server will be attached to a subnet with the largest count of free IPs."""
114
+
115
+ floating_ip: InterfaceCreateGPUClusterAnySubnetInterfaceSerializerFloatingIP
116
+ """Allows the server to have a public IP that can be reached from the internet."""
117
+
118
+ interface_name: str
119
+ """Interface name.
120
+
121
+ Defaults to `null` and is returned as `null` in the API response if not set.
122
+ """
123
+
124
+ ip_address: str
125
+ """You can specify a specific IP address from your subnet."""
126
+
127
+ ip_family: InterfaceIPFamily
128
+ """Specify `ipv4`, `ipv6`, or `dual` to enable both."""
129
+
130
+
131
+ Interface: TypeAlias = Union[
132
+ InterfaceCreateGPUClusterExternalInterfaceSerializer,
133
+ InterfaceCreateGPUClusterSubnetInterfaceSerializer,
134
+ InterfaceCreateGPUClusterAnySubnetInterfaceSerializer,
135
+ ]
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["GPUBaremetalClusterDeleteParams"]
8
+
9
+
10
+ class GPUBaremetalClusterDeleteParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ delete_floatings: bool
16
+ """True if it is required to delete floating IPs assigned to the servers.
17
+
18
+ Can't be used with floatings.
19
+ """
20
+
21
+ floatings: str
22
+ """Comma separated list of floating ids that should be deleted.
23
+
24
+ Can't be used with delete_floatings.
25
+ """
26
+
27
+ reserved_fixed_ips: str
28
+ """Comma separated list of port IDs to be deleted with the servers"""