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,21 @@
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 Literal, Required, TypedDict
6
+
7
+ __all__ = ["AccessRuleCreateParams"]
8
+
9
+
10
+ class AccessRuleCreateParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ region_id: int
15
+ """Region ID"""
16
+
17
+ access_mode: Required[Literal["ro", "rw"]]
18
+ """Access mode"""
19
+
20
+ ip_address: Required[str]
21
+ """Source IP or network"""
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from ...._models import BaseModel
6
+ from .access_rule import AccessRule
7
+
8
+ __all__ = ["AccessRuleList"]
9
+
10
+
11
+ class AccessRuleList(BaseModel):
12
+ count: int
13
+ """Number of objects"""
14
+
15
+ results: List[AccessRule]
16
+ """Objects"""
@@ -0,0 +1,38 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["FixedAddress"]
9
+
10
+
11
+ class FixedAddress(BaseModel):
12
+ addr: str
13
+ """IP address"""
14
+
15
+ interface_name: Optional[str] = None
16
+ """Interface name.
17
+
18
+ This field will be `null` if `with_interfaces_name=true` is not set in the
19
+ request when listing instances. It will also be `null` if the `interface_name`
20
+ was not specified during instance creation or when attaching the interface.
21
+ """
22
+
23
+ subnet_id: str
24
+ """The unique identifier of the subnet associated with this address.
25
+
26
+ Included only in the response for a single-resource lookup (GET by ID). For the
27
+ trunk subports, this field is always set.
28
+ """
29
+
30
+ subnet_name: str
31
+ """The name of the subnet associated with this address.
32
+
33
+ Included only in the response for a single-resource lookup (GET by ID). For the
34
+ trunk subports, this field is always set.
35
+ """
36
+
37
+ type: Literal["fixed"]
38
+ """Type of the address"""
@@ -0,0 +1,24 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["FixedAddressShort"]
9
+
10
+
11
+ class FixedAddressShort(BaseModel):
12
+ addr: str
13
+ """IP address"""
14
+
15
+ interface_name: Optional[str] = None
16
+ """Interface name.
17
+
18
+ This field will be `null` if `with_interfaces_name=true` is not set in the
19
+ request when listing instances. It will also be `null` if the `interface_name`
20
+ was not specified during instance creation or when attaching the interface.
21
+ """
22
+
23
+ type: Literal["fixed"]
24
+ """Type of the address"""
@@ -0,0 +1,27 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["FlavorHardwareDescription"]
8
+
9
+
10
+ class FlavorHardwareDescription(BaseModel):
11
+ cpu: Optional[str] = None
12
+ """Human-readable CPU description"""
13
+
14
+ disk: Optional[str] = None
15
+ """Human-readable disk description"""
16
+
17
+ ephemeral: Optional[str] = None
18
+ """Human-readable ephemeral disk description"""
19
+
20
+ gpu: Optional[str] = None
21
+ """Human-readable GPU description"""
22
+
23
+ network: Optional[str] = None
24
+ """Human-readable NIC description"""
25
+
26
+ ram: Optional[str] = None
27
+ """Human-readable RAM description"""
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["FloatingAddress"]
8
+
9
+
10
+ class FloatingAddress(BaseModel):
11
+ addr: str
12
+ """Address"""
13
+
14
+ type: Literal["floating"]
15
+ """Type of the address"""
@@ -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
+ """