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,19 @@
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__ = ["GPUBaremetalClusterListParams"]
8
+
9
+
10
+ class GPUBaremetalClusterListParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ limit: int
16
+ """Limit the number of returned clusters"""
17
+
18
+ offset: int
19
+ """Offset value is used to exclude the first set of records from the result"""
@@ -0,0 +1,26 @@
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, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["GPUBaremetalClusterRebuildParams"]
9
+
10
+
11
+ class GPUBaremetalClusterRebuildParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ nodes: Required[List[str]]
17
+ """List of nodes uuids to be rebuild"""
18
+
19
+ image_id: Optional[str]
20
+ """AI GPU image ID"""
21
+
22
+ user_data: Optional[str]
23
+ """
24
+ String in base64 format.Examples of the user_data:
25
+ https://cloudinit.readthedocs.io/en/latest/topics/examples.html
26
+ """
@@ -0,0 +1,16 @@
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 Required, TypedDict
6
+
7
+ __all__ = ["GPUBaremetalClusterResizeParams"]
8
+
9
+
10
+ class GPUBaremetalClusterResizeParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ instances_count: Required[int]
16
+ """Resized (total) number of instances"""
@@ -0,0 +1,200 @@
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 .ddos_profile import DDOSProfile
10
+ from .fixed_address import FixedAddress
11
+ from .blackhole_port import BlackholePort
12
+ from .floating_address import FloatingAddress
13
+ from .instance_isolation import InstanceIsolation
14
+ from .fixed_address_short import FixedAddressShort
15
+
16
+ __all__ = [
17
+ "GPUBaremetalClusterServer",
18
+ "Address",
19
+ "FixedIPAssignment",
20
+ "Flavor",
21
+ "FlavorHardwareDescription",
22
+ "SecurityGroup",
23
+ ]
24
+
25
+ Address: TypeAlias = Union[FloatingAddress, FixedAddressShort, FixedAddress]
26
+
27
+
28
+ class FixedIPAssignment(BaseModel):
29
+ external: bool
30
+ """Is network external"""
31
+
32
+ ip_address: str
33
+ """Ip address"""
34
+
35
+ subnet_id: str
36
+ """Interface subnet id"""
37
+
38
+
39
+ class FlavorHardwareDescription(BaseModel):
40
+ cpu: str
41
+ """Human-readable CPU description"""
42
+
43
+ disk: str
44
+ """Human-readable disk description"""
45
+
46
+ gpu: str
47
+ """Human-readable GPU description"""
48
+
49
+ license: str
50
+ """If the flavor is licensed, this field contains the license type"""
51
+
52
+ network: str
53
+ """Human-readable NIC description"""
54
+
55
+ ram: str
56
+ """Human-readable RAM description"""
57
+
58
+
59
+ class Flavor(BaseModel):
60
+ architecture: str
61
+ """CPU architecture"""
62
+
63
+ flavor_id: str
64
+ """Flavor ID is the same as name"""
65
+
66
+ flavor_name: str
67
+ """Flavor name"""
68
+
69
+ hardware_description: FlavorHardwareDescription
70
+ """Additional hardware description"""
71
+
72
+ os_type: str
73
+ """Operating system"""
74
+
75
+ ram: int
76
+ """RAM size in MiB"""
77
+
78
+ resource_class: str
79
+ """Flavor resource class for mapping to hardware capacity"""
80
+
81
+ vcpus: int
82
+ """Virtual CPU count. For bare metal flavors, it's a physical CPU count"""
83
+
84
+
85
+ class SecurityGroup(BaseModel):
86
+ name: str
87
+ """Name."""
88
+
89
+
90
+ class GPUBaremetalClusterServer(BaseModel):
91
+ id: str
92
+ """GPU server ID"""
93
+
94
+ addresses: Dict[str, List[Address]]
95
+ """Map of network_name to list of addresses in that network"""
96
+
97
+ blackhole_ports: List[BlackholePort]
98
+ """IP addresses of the instances that are blackholed by DDoS mitigation system"""
99
+
100
+ created_at: datetime
101
+ """Datetime when GPU server was created"""
102
+
103
+ creator_task_id: Optional[str] = None
104
+ """Task that created this entity"""
105
+
106
+ ddos_profile: Optional[DDOSProfile] = None
107
+ """Advanced DDoS protection profile.
108
+
109
+ It is always `null` if query parameter `with_ddos=true` is not set.
110
+ """
111
+
112
+ fixed_ip_assignments: Optional[List[FixedIPAssignment]] = None
113
+ """Fixed IP assigned to instance"""
114
+
115
+ flavor: Flavor
116
+ """Flavor"""
117
+
118
+ instance_description: Optional[str] = None
119
+ """Instance description"""
120
+
121
+ instance_isolation: Optional[InstanceIsolation] = None
122
+ """Instance isolation information"""
123
+
124
+ name: str
125
+ """GPU server name"""
126
+
127
+ project_id: int
128
+ """Project ID"""
129
+
130
+ region: str
131
+ """Region name"""
132
+
133
+ region_id: int
134
+ """Region ID"""
135
+
136
+ security_groups: List[SecurityGroup]
137
+ """Security groups"""
138
+
139
+ ssh_key_name: Optional[str] = None
140
+ """SSH key name assigned to instance"""
141
+
142
+ status: Literal[
143
+ "ACTIVE",
144
+ "BUILD",
145
+ "DELETED",
146
+ "ERROR",
147
+ "HARD_REBOOT",
148
+ "MIGRATING",
149
+ "PASSWORD",
150
+ "PAUSED",
151
+ "REBOOT",
152
+ "REBUILD",
153
+ "RESCUE",
154
+ "RESIZE",
155
+ "REVERT_RESIZE",
156
+ "SHELVED",
157
+ "SHELVED_OFFLOADED",
158
+ "SHUTOFF",
159
+ "SOFT_DELETED",
160
+ "SUSPENDED",
161
+ "UNKNOWN",
162
+ "VERIFY_RESIZE",
163
+ ]
164
+ """Instance status"""
165
+
166
+ tags: List[Tag]
167
+ """List of key-value tags associated with the resource.
168
+
169
+ A tag is a key-value pair that can be associated with a resource, enabling
170
+ efficient filtering and grouping for better organization and management. Some
171
+ tags are read-only and cannot be modified by the user. Tags are also integrated
172
+ with cost reports, allowing cost data to be filtered based on tag keys or
173
+ values.
174
+ """
175
+
176
+ task_id: Optional[str] = None
177
+ """The UUID of the active task that currently holds a lock on the resource.
178
+
179
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
180
+ the resource is not locked.
181
+ """
182
+
183
+ task_state: Optional[str] = None
184
+ """Task state"""
185
+
186
+ vm_state: Literal[
187
+ "active",
188
+ "building",
189
+ "deleted",
190
+ "error",
191
+ "paused",
192
+ "rescued",
193
+ "resized",
194
+ "shelved",
195
+ "shelved_offloaded",
196
+ "soft-deleted",
197
+ "stopped",
198
+ "suspended",
199
+ ]
200
+ """Virtual machine state (active)"""
@@ -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 .gpu_baremetal_cluster_server import GPUBaremetalClusterServer
7
+
8
+ __all__ = ["GPUBaremetalClusterServerList"]
9
+
10
+
11
+ class GPUBaremetalClusterServerList(BaseModel):
12
+ count: int
13
+ """Number of objects"""
14
+
15
+ results: List[GPUBaremetalClusterServer]
16
+ """Objects"""
@@ -0,0 +1,9 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .flavor_list_params import FlavorListParams as FlavorListParams
6
+ from .image_upload_params import ImageUploadParams as ImageUploadParams
7
+ from .server_delete_params import ServerDeleteParams as ServerDeleteParams
8
+ from .server_attach_interface_params import ServerAttachInterfaceParams as ServerAttachInterfaceParams
9
+ from .server_detach_interface_params import ServerDetachInterfaceParams as ServerDetachInterfaceParams
@@ -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 TypedDict
6
+
7
+ __all__ = ["FlavorListParams"]
8
+
9
+
10
+ class FlavorListParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ region_id: int
15
+ """Region ID"""
16
+
17
+ hide_disabled: bool
18
+ """Set to `true` to remove the disabled flavors from the response."""
19
+
20
+ include_prices: bool
21
+ """Set to `true` if the response should include flavor prices."""
@@ -0,0 +1,58 @@
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 Literal, Required, TypedDict
7
+
8
+ from ..tag_update_map_param import TagUpdateMapParam
9
+
10
+ __all__ = ["ImageUploadParams"]
11
+
12
+
13
+ class ImageUploadParams(TypedDict, total=False):
14
+ project_id: int
15
+ """Project ID"""
16
+
17
+ region_id: int
18
+ """Region ID"""
19
+
20
+ name: Required[str]
21
+ """Image name"""
22
+
23
+ url: Required[str]
24
+ """Image URL"""
25
+
26
+ architecture: Optional[Literal["aarch64", "x86_64"]]
27
+ """Image architecture type: aarch64, x86_64"""
28
+
29
+ cow_format: bool
30
+ """
31
+ When True, image cannot be deleted unless all volumes, created from it, are
32
+ deleted.
33
+ """
34
+
35
+ hw_firmware_type: Optional[Literal["bios", "uefi"]]
36
+ """Specifies the type of firmware with which to boot the guest."""
37
+
38
+ os_distro: Optional[str]
39
+ """OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc."""
40
+
41
+ os_type: Optional[Literal["linux", "windows"]]
42
+ """The operating system installed on the image. Linux by default"""
43
+
44
+ os_version: Optional[str]
45
+ """OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian"""
46
+
47
+ ssh_key: Literal["allow", "deny", "required"]
48
+ """Permission to use a ssh key in instances"""
49
+
50
+ tags: TagUpdateMapParam
51
+ """Key-value tags to associate with the resource.
52
+
53
+ A tag is a key-value pair that can be associated with a resource, enabling
54
+ efficient filtering and grouping for better organization and management. Some
55
+ tags are read-only and cannot be modified by the user. Tags are also integrated
56
+ with cost reports, allowing cost data to be filtered based on tag keys or
57
+ values.
58
+ """
@@ -0,0 +1,253 @@
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
+ __all__ = [
9
+ "ServerAttachInterfaceParams",
10
+ "NewInterfaceExternalExtendSchemaWithDDOS",
11
+ "NewInterfaceExternalExtendSchemaWithDDOSDDOSProfile",
12
+ "NewInterfaceExternalExtendSchemaWithDdosddosProfileField",
13
+ "NewInterfaceExternalExtendSchemaWithDDOSSecurityGroup",
14
+ "NewInterfaceSpecificSubnetSchema",
15
+ "NewInterfaceSpecificSubnetSchemaDDOSProfile",
16
+ "NewInterfaceSpecificSubnetSchemaDDOSProfileField",
17
+ "NewInterfaceSpecificSubnetSchemaSecurityGroup",
18
+ "NewInterfaceAnySubnetSchema",
19
+ "NewInterfaceAnySubnetSchemaDDOSProfile",
20
+ "NewInterfaceAnySubnetSchemaDDOSProfileField",
21
+ "NewInterfaceAnySubnetSchemaSecurityGroup",
22
+ "NewInterfaceReservedFixedIPSchema",
23
+ "NewInterfaceReservedFixedIPSchemaDDOSProfile",
24
+ "NewInterfaceReservedFixedIPSchemaDDOSProfileField",
25
+ "NewInterfaceReservedFixedIPSchemaSecurityGroup",
26
+ ]
27
+
28
+
29
+ class NewInterfaceExternalExtendSchemaWithDDOS(TypedDict, total=False):
30
+ project_id: int
31
+
32
+ region_id: int
33
+
34
+ ddos_profile: NewInterfaceExternalExtendSchemaWithDDOSDDOSProfile
35
+ """Advanced DDoS protection."""
36
+
37
+ interface_name: str
38
+ """Interface name"""
39
+
40
+ ip_family: Literal["dual", "ipv4", "ipv6"]
41
+ """Which subnets should be selected: IPv4, IPv6 or use dual stack."""
42
+
43
+ port_group: int
44
+ """Each group will be added to the separate trunk."""
45
+
46
+ security_groups: Iterable[NewInterfaceExternalExtendSchemaWithDDOSSecurityGroup]
47
+ """List of security group IDs"""
48
+
49
+ type: str
50
+ """Must be 'external'. Union tag"""
51
+
52
+
53
+ class NewInterfaceExternalExtendSchemaWithDdosddosProfileField(TypedDict, total=False):
54
+ base_field: Optional[int]
55
+ """ID of DDoS profile field"""
56
+
57
+ field_name: Optional[str]
58
+ """Name of DDoS profile field"""
59
+
60
+ field_value: object
61
+ """Complex value. Only one of 'value' or 'field_value' must be specified."""
62
+
63
+ value: Optional[str]
64
+ """Basic type value. Only one of 'value' or 'field_value' must be specified."""
65
+
66
+
67
+ class NewInterfaceExternalExtendSchemaWithDDOSDDOSProfile(TypedDict, total=False):
68
+ profile_template: Required[int]
69
+ """DDoS profile template ID."""
70
+
71
+ fields: Iterable[NewInterfaceExternalExtendSchemaWithDdosddosProfileField]
72
+ """Protection parameters."""
73
+
74
+ profile_template_name: str
75
+ """DDoS profile template name."""
76
+
77
+
78
+ class NewInterfaceExternalExtendSchemaWithDDOSSecurityGroup(TypedDict, total=False):
79
+ id: Required[str]
80
+ """Resource ID"""
81
+
82
+
83
+ class NewInterfaceSpecificSubnetSchema(TypedDict, total=False):
84
+ project_id: int
85
+
86
+ region_id: int
87
+
88
+ subnet_id: Required[str]
89
+ """Port will get an IP address from this subnet"""
90
+
91
+ ddos_profile: NewInterfaceSpecificSubnetSchemaDDOSProfile
92
+ """Advanced DDoS protection."""
93
+
94
+ interface_name: str
95
+ """Interface name"""
96
+
97
+ port_group: int
98
+ """Each group will be added to the separate trunk."""
99
+
100
+ security_groups: Iterable[NewInterfaceSpecificSubnetSchemaSecurityGroup]
101
+ """List of security group IDs"""
102
+
103
+ type: str
104
+ """Must be 'subnet'"""
105
+
106
+
107
+ class NewInterfaceSpecificSubnetSchemaDDOSProfileField(TypedDict, total=False):
108
+ base_field: Optional[int]
109
+ """ID of DDoS profile field"""
110
+
111
+ field_name: Optional[str]
112
+ """Name of DDoS profile field"""
113
+
114
+ field_value: object
115
+ """Complex value. Only one of 'value' or 'field_value' must be specified."""
116
+
117
+ value: Optional[str]
118
+ """Basic type value. Only one of 'value' or 'field_value' must be specified."""
119
+
120
+
121
+ class NewInterfaceSpecificSubnetSchemaDDOSProfile(TypedDict, total=False):
122
+ profile_template: Required[int]
123
+ """DDoS profile template ID."""
124
+
125
+ fields: Iterable[NewInterfaceSpecificSubnetSchemaDDOSProfileField]
126
+ """Protection parameters."""
127
+
128
+ profile_template_name: str
129
+ """DDoS profile template name."""
130
+
131
+
132
+ class NewInterfaceSpecificSubnetSchemaSecurityGroup(TypedDict, total=False):
133
+ id: Required[str]
134
+ """Resource ID"""
135
+
136
+
137
+ class NewInterfaceAnySubnetSchema(TypedDict, total=False):
138
+ project_id: int
139
+
140
+ region_id: int
141
+
142
+ network_id: Required[str]
143
+ """Port will get an IP address in this network subnet"""
144
+
145
+ ddos_profile: NewInterfaceAnySubnetSchemaDDOSProfile
146
+ """Advanced DDoS protection."""
147
+
148
+ interface_name: str
149
+ """Interface name"""
150
+
151
+ ip_family: Literal["dual", "ipv4", "ipv6"]
152
+ """Which subnets should be selected: IPv4, IPv6 or use dual stack."""
153
+
154
+ port_group: int
155
+ """Each group will be added to the separate trunk."""
156
+
157
+ security_groups: Iterable[NewInterfaceAnySubnetSchemaSecurityGroup]
158
+ """List of security group IDs"""
159
+
160
+ type: str
161
+ """Must be 'any_subnet'"""
162
+
163
+
164
+ class NewInterfaceAnySubnetSchemaDDOSProfileField(TypedDict, total=False):
165
+ base_field: Optional[int]
166
+ """ID of DDoS profile field"""
167
+
168
+ field_name: Optional[str]
169
+ """Name of DDoS profile field"""
170
+
171
+ field_value: object
172
+ """Complex value. Only one of 'value' or 'field_value' must be specified."""
173
+
174
+ value: Optional[str]
175
+ """Basic type value. Only one of 'value' or 'field_value' must be specified."""
176
+
177
+
178
+ class NewInterfaceAnySubnetSchemaDDOSProfile(TypedDict, total=False):
179
+ profile_template: Required[int]
180
+ """DDoS profile template ID."""
181
+
182
+ fields: Iterable[NewInterfaceAnySubnetSchemaDDOSProfileField]
183
+ """Protection parameters."""
184
+
185
+ profile_template_name: str
186
+ """DDoS profile template name."""
187
+
188
+
189
+ class NewInterfaceAnySubnetSchemaSecurityGroup(TypedDict, total=False):
190
+ id: Required[str]
191
+ """Resource ID"""
192
+
193
+
194
+ class NewInterfaceReservedFixedIPSchema(TypedDict, total=False):
195
+ project_id: int
196
+
197
+ region_id: int
198
+
199
+ port_id: Required[str]
200
+ """Port ID"""
201
+
202
+ ddos_profile: NewInterfaceReservedFixedIPSchemaDDOSProfile
203
+ """Advanced DDoS protection."""
204
+
205
+ interface_name: str
206
+ """Interface name"""
207
+
208
+ port_group: int
209
+ """Each group will be added to the separate trunk."""
210
+
211
+ security_groups: Iterable[NewInterfaceReservedFixedIPSchemaSecurityGroup]
212
+ """List of security group IDs"""
213
+
214
+ type: str
215
+ """Must be 'reserved_fixed_ip'. Union tag"""
216
+
217
+
218
+ class NewInterfaceReservedFixedIPSchemaDDOSProfileField(TypedDict, total=False):
219
+ base_field: Optional[int]
220
+ """ID of DDoS profile field"""
221
+
222
+ field_name: Optional[str]
223
+ """Name of DDoS profile field"""
224
+
225
+ field_value: object
226
+ """Complex value. Only one of 'value' or 'field_value' must be specified."""
227
+
228
+ value: Optional[str]
229
+ """Basic type value. Only one of 'value' or 'field_value' must be specified."""
230
+
231
+
232
+ class NewInterfaceReservedFixedIPSchemaDDOSProfile(TypedDict, total=False):
233
+ profile_template: Required[int]
234
+ """DDoS profile template ID."""
235
+
236
+ fields: Iterable[NewInterfaceReservedFixedIPSchemaDDOSProfileField]
237
+ """Protection parameters."""
238
+
239
+ profile_template_name: str
240
+ """DDoS profile template name."""
241
+
242
+
243
+ class NewInterfaceReservedFixedIPSchemaSecurityGroup(TypedDict, total=False):
244
+ id: Required[str]
245
+ """Resource ID"""
246
+
247
+
248
+ ServerAttachInterfaceParams: TypeAlias = Union[
249
+ NewInterfaceExternalExtendSchemaWithDDOS,
250
+ NewInterfaceSpecificSubnetSchema,
251
+ NewInterfaceAnySubnetSchema,
252
+ NewInterfaceReservedFixedIPSchema,
253
+ ]
@@ -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 Required, TypedDict
6
+
7
+ __all__ = ["ServerDeleteParams"]
8
+
9
+
10
+ class ServerDeleteParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ cluster_id: Required[str]
16
+
17
+ delete_floatings: bool
18
+ """Set False if you do not want to delete assigned floating IPs.
19
+
20
+ By default, it's True.
21
+ """
@@ -0,0 +1,19 @@
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 Required, TypedDict
6
+
7
+ __all__ = ["ServerDetachInterfaceParams"]
8
+
9
+
10
+ class ServerDetachInterfaceParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ ip_address: Required[str]
16
+ """IP address"""
17
+
18
+ port_id: Required[str]
19
+ """ID of the port"""