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,49 @@
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, Annotated, TypedDict
7
+
8
+ from ....._utils import PropertyInfo
9
+ from ...http_method import HTTPMethod
10
+ from ...lb_health_monitor_type import LbHealthMonitorType
11
+
12
+ __all__ = ["HealthMonitorCreateParams"]
13
+
14
+
15
+ class HealthMonitorCreateParams(TypedDict, total=False):
16
+ project_id: int
17
+
18
+ region_id: int
19
+
20
+ delay: Required[int]
21
+ """The time, in seconds, between sending probes to members"""
22
+
23
+ max_retries: Required[int]
24
+ """Number of successes before the member is switched to ONLINE state"""
25
+
26
+ api_timeout: Required[Annotated[int, PropertyInfo(alias="timeout")]]
27
+ """The maximum time to connect. Must be less than the delay value"""
28
+
29
+ type: Required[LbHealthMonitorType]
30
+ """Health monitor type. Once health monitor is created, cannot be changed."""
31
+
32
+ expected_codes: Optional[str]
33
+ """Can only be used together with `HTTP` or `HTTPS` health monitor type."""
34
+
35
+ http_method: Optional[HTTPMethod]
36
+ """HTTP method.
37
+
38
+ Can only be used together with `HTTP` or `HTTPS` health monitor type.
39
+ """
40
+
41
+ max_retries_down: Optional[int]
42
+ """Number of failures before the member is switched to ERROR state."""
43
+
44
+ url_path: Optional[str]
45
+ """URL Path.
46
+
47
+ Defaults to '/'. Can only be used together with `HTTP` or `HTTPS` health monitor
48
+ type.
49
+ """
@@ -0,0 +1,44 @@
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__ = ["MemberAddParams"]
9
+
10
+
11
+ class MemberAddParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ address: Required[str]
17
+ """Member IP address"""
18
+
19
+ protocol_port: Required[int]
20
+ """Member IP port"""
21
+
22
+ admin_state_up: Optional[bool]
23
+ """true if enabled. Defaults to true"""
24
+
25
+ instance_id: Optional[str]
26
+ """Either subnet_id or instance_id should be provided"""
27
+
28
+ monitor_address: Optional[str]
29
+ """An alternate IP address used for health monitoring of a backend member.
30
+
31
+ Default is null which monitors the member address.
32
+ """
33
+
34
+ monitor_port: Optional[int]
35
+ """An alternate protocol port used for health monitoring of a backend member.
36
+
37
+ Default is null which monitors the member protocol_port.
38
+ """
39
+
40
+ subnet_id: Optional[str]
41
+ """Either subnet_id or instance_id should be provided"""
42
+
43
+ weight: Optional[int]
44
+ """Member weight. Valid values: 0 to 256, defaults to 1"""
@@ -0,0 +1,22 @@
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
+ from .laas_index_retention_policy import LaasIndexRetentionPolicy
7
+
8
+ __all__ = ["Logging"]
9
+
10
+
11
+ class Logging(BaseModel):
12
+ destination_region_id: Optional[int] = None
13
+ """ID of the region in which the logs will be stored"""
14
+
15
+ enabled: bool
16
+ """Indicates if log streaming is enabled or disabled"""
17
+
18
+ topic_name: Optional[str] = None
19
+ """The topic name to stream logs to"""
20
+
21
+ retention_policy: Optional[LaasIndexRetentionPolicy] = None
22
+ """Logs retention policy"""
@@ -0,0 +1,47 @@
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
+ from .provisioning_status import ProvisioningStatus
7
+ from .load_balancer_operating_status import LoadBalancerOperatingStatus
8
+
9
+ __all__ = ["Member"]
10
+
11
+
12
+ class Member(BaseModel):
13
+ id: str
14
+ """Member ID must be provided if an existing member is being updated"""
15
+
16
+ address: str
17
+ """Member IP address"""
18
+
19
+ admin_state_up: bool
20
+ """true if enabled. Defaults to true"""
21
+
22
+ operating_status: LoadBalancerOperatingStatus
23
+ """Member operating status of the entity"""
24
+
25
+ protocol_port: int
26
+ """Member IP port"""
27
+
28
+ provisioning_status: ProvisioningStatus
29
+ """Pool member lifecycle status"""
30
+
31
+ weight: int
32
+ """Member weight. Valid values: 0 to 256, defaults to 1"""
33
+
34
+ monitor_address: Optional[str] = None
35
+ """An alternate IP address used for health monitoring of a backend member.
36
+
37
+ Default is null which monitors the member address.
38
+ """
39
+
40
+ monitor_port: Optional[int] = None
41
+ """An alternate protocol port used for health monitoring of a backend member.
42
+
43
+ Default is null which monitors the member protocol_port.
44
+ """
45
+
46
+ subnet_id: Optional[str] = None
47
+ """Either subnet_id or instance_id should be provided"""
@@ -0,0 +1,24 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+ from .provisioning_status import ProvisioningStatus
5
+ from .load_balancer_operating_status import LoadBalancerOperatingStatus
6
+
7
+ __all__ = ["MemberStatus"]
8
+
9
+
10
+ class MemberStatus(BaseModel):
11
+ id: str
12
+ """UUID of the entity"""
13
+
14
+ address: str
15
+ """Address of the member (server)"""
16
+
17
+ operating_status: LoadBalancerOperatingStatus
18
+ """Operating status of the entity"""
19
+
20
+ protocol_port: int
21
+ """Port of the member (server)"""
22
+
23
+ provisioning_status: ProvisioningStatus
24
+ """Provisioning status of the entity"""
@@ -0,0 +1,79 @@
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
+
9
+ __all__ = ["Network"]
10
+
11
+
12
+ class Network(BaseModel):
13
+ id: str
14
+ """Network ID"""
15
+
16
+ created_at: datetime
17
+ """Datetime when the network was created"""
18
+
19
+ external: bool
20
+ """True if the network `router:external` attribute"""
21
+
22
+ name: str
23
+ """Network name"""
24
+
25
+ port_security_enabled: bool
26
+ """
27
+ Indicates port_security_enabled status of all newly created in the network
28
+ ports.
29
+ """
30
+
31
+ region: str
32
+ """Region name"""
33
+
34
+ region_id: int
35
+ """Region ID"""
36
+
37
+ shared: bool
38
+ """True when the network is shared with your project by external owner"""
39
+
40
+ subnets: List[str]
41
+ """List of subnetworks"""
42
+
43
+ tags: List[Tag]
44
+ """List of key-value tags associated with the resource.
45
+
46
+ A tag is a key-value pair that can be associated with a resource, enabling
47
+ efficient filtering and grouping for better organization and management. Some
48
+ tags are read-only and cannot be modified by the user. Tags are also integrated
49
+ with cost reports, allowing cost data to be filtered based on tag keys or
50
+ values.
51
+ """
52
+
53
+ type: str
54
+ """Network type (vlan, vxlan)"""
55
+
56
+ updated_at: datetime
57
+ """Datetime when the network was last updated"""
58
+
59
+ creator_task_id: Optional[str] = None
60
+ """Task that created this entity"""
61
+
62
+ default: Optional[bool] = None
63
+ """True if network has is_default attribute"""
64
+
65
+ mtu: Optional[int] = None
66
+ """MTU (maximum transmission unit). Default value is 1450"""
67
+
68
+ project_id: Optional[int] = None
69
+ """Project ID"""
70
+
71
+ segmentation_id: Optional[int] = None
72
+ """Id of network segment"""
73
+
74
+ task_id: Optional[str] = None
75
+ """The UUID of the active task that currently holds a lock on the resource.
76
+
77
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
78
+ the resource is not locked.
79
+ """
@@ -0,0 +1,34 @@
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
+ from .tag_update_map_param import TagUpdateMapParam
8
+
9
+ __all__ = ["NetworkCreateParams"]
10
+
11
+
12
+ class NetworkCreateParams(TypedDict, total=False):
13
+ project_id: int
14
+
15
+ region_id: int
16
+
17
+ name: Required[str]
18
+ """Network name"""
19
+
20
+ create_router: bool
21
+ """Defaults to True"""
22
+
23
+ tags: TagUpdateMapParam
24
+ """Key-value tags to associate with the resource.
25
+
26
+ A tag is a key-value pair that can be associated with a resource, enabling
27
+ efficient filtering and grouping for better organization and management. Some
28
+ tags are read-only and cannot be modified by the user. Tags are also integrated
29
+ with cost reports, allowing cost data to be filtered based on tag keys or
30
+ values.
31
+ """
32
+
33
+ type: Literal["vlan", "vxlan"]
34
+ """vlan or vxlan network type is allowed. Default value is vxlan"""
@@ -0,0 +1,79 @@
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 .subnet import Subnet
8
+ from ..._models import BaseModel
9
+
10
+ __all__ = ["NetworkDetails"]
11
+
12
+
13
+ class NetworkDetails(BaseModel):
14
+ id: str
15
+ """Network ID"""
16
+
17
+ created_at: datetime
18
+ """Datetime when the network was created"""
19
+
20
+ external: bool
21
+ """True if the network `router:external` attribute"""
22
+
23
+ name: str
24
+ """Network name"""
25
+
26
+ port_security_enabled: bool
27
+ """
28
+ Indicates port_security_enabled status of all newly created in the network
29
+ ports.
30
+ """
31
+
32
+ region: str
33
+ """Region name"""
34
+
35
+ region_id: int
36
+ """Region ID"""
37
+
38
+ shared: bool
39
+ """True when the network is shared with your project by external owner"""
40
+
41
+ tags: List[Tag]
42
+ """List of key-value tags associated with the resource.
43
+
44
+ A tag is a key-value pair that can be associated with a resource, enabling
45
+ efficient filtering and grouping for better organization and management. Some
46
+ tags are read-only and cannot be modified by the user. Tags are also integrated
47
+ with cost reports, allowing cost data to be filtered based on tag keys or
48
+ values.
49
+ """
50
+
51
+ type: str
52
+ """Network type (vlan, vxlan)"""
53
+
54
+ updated_at: datetime
55
+ """Datetime when the network was last updated"""
56
+
57
+ creator_task_id: Optional[str] = None
58
+ """Task that created this entity"""
59
+
60
+ default: Optional[bool] = None
61
+ """True if network has is_default attribute"""
62
+
63
+ mtu: Optional[int] = None
64
+ """MTU (maximum transmission unit). Default value is 1450"""
65
+
66
+ project_id: Optional[int] = None
67
+ """Project ID"""
68
+
69
+ segmentation_id: Optional[int] = None
70
+ """Id of network segment"""
71
+
72
+ subnets: Optional[List[Subnet]] = None
73
+
74
+ task_id: Optional[str] = None
75
+ """The UUID of the active task that currently holds a lock on the resource.
76
+
77
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
78
+ the resource is not locked.
79
+ """
@@ -0,0 +1,78 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+ from .floating_ip import FloatingIP
7
+ from .ip_assignment import IPAssignment
8
+ from .network_details import NetworkDetails
9
+ from .allowed_address_pairs import AllowedAddressPairs
10
+
11
+ __all__ = ["NetworkInterface", "SubPort"]
12
+
13
+
14
+ class SubPort(BaseModel):
15
+ allowed_address_pairs: List[AllowedAddressPairs]
16
+ """Group of subnet masks and/or IP addresses that share the current IP as VIP"""
17
+
18
+ floatingip_details: List[FloatingIP]
19
+ """Bodies of floating IPs that are NAT-ing IPs of this port"""
20
+
21
+ ip_assignments: List[IPAssignment]
22
+ """IP addresses assigned to this port"""
23
+
24
+ network_details: NetworkDetails
25
+ """Body of the network this port is attached to"""
26
+
27
+ network_id: str
28
+ """ID of the network the port is attached to"""
29
+
30
+ port_id: str
31
+ """ID of virtual ethernet port object"""
32
+
33
+ port_security_enabled: bool
34
+ """Port security status"""
35
+
36
+ segmentation_id: int
37
+ """id of network segment"""
38
+
39
+ segmentation_type: str
40
+ """type of network segment"""
41
+
42
+ interface_name: Optional[str] = None
43
+ """Interface name"""
44
+
45
+ mac_address: Optional[str] = None
46
+ """MAC address of the virtual port"""
47
+
48
+
49
+ class NetworkInterface(BaseModel):
50
+ allowed_address_pairs: List[AllowedAddressPairs]
51
+ """Group of subnet masks and/or IP addresses that share the current IP as VIP"""
52
+
53
+ floatingip_details: List[FloatingIP]
54
+ """Bodies of floating IPs that are NAT-ing IPs of this port"""
55
+
56
+ ip_assignments: List[IPAssignment]
57
+ """IP addresses assigned to this port"""
58
+
59
+ network_details: NetworkDetails
60
+ """Body of the network this port is attached to"""
61
+
62
+ network_id: str
63
+ """ID of the network the port is attached to"""
64
+
65
+ port_id: str
66
+ """ID of virtual ethernet port object"""
67
+
68
+ port_security_enabled: bool
69
+ """Port security status"""
70
+
71
+ sub_ports: List[SubPort]
72
+ """body of ports that are included into trunk port"""
73
+
74
+ interface_name: Optional[str] = None
75
+ """Interface name"""
76
+
77
+ mac_address: Optional[str] = None
78
+ """MAC address of the virtual port"""
@@ -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 .network_interface import NetworkInterface
7
+
8
+ __all__ = ["NetworkInterfaceList"]
9
+
10
+
11
+ class NetworkInterfaceList(BaseModel):
12
+ count: int
13
+ """Number of objects"""
14
+
15
+ results: List[NetworkInterface]
16
+ """Objects"""
@@ -0,0 +1,36 @@
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__ = ["NetworkListParams"]
9
+
10
+
11
+ class NetworkListParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ limit: int
17
+ """Limit the number of returned limit request entities."""
18
+
19
+ offset: int
20
+ """Offset value is used to exclude the first set of records from the result."""
21
+
22
+ order_by: str
23
+ """Order networks by fields and directions (name.asc).
24
+
25
+ Default is `created_at.asc`.
26
+ """
27
+
28
+ tag_key: List[str]
29
+ """Filter by tag keys."""
30
+
31
+ tag_key_value: str
32
+ """Filter by tag key-value pairs.
33
+
34
+ Must be a valid JSON string. curl -G --data-urlencode "tag_key_value={"key":
35
+ "value"}" --url "http://localhost:1111/v1/networks/1/1"
36
+ """
@@ -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__ = ["NetworkUpdateParams"]
8
+
9
+
10
+ class NetworkUpdateParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ name: Required[str]
16
+ """Name."""
@@ -0,0 +1,14 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .router import Router as Router
6
+ from .router_list import RouterList as RouterList
7
+ from .router_list_params import RouterListParams as RouterListParams
8
+ from .subnet_list_params import SubnetListParams as SubnetListParams
9
+ from .router_create_params import RouterCreateParams as RouterCreateParams
10
+ from .router_update_params import RouterUpdateParams as RouterUpdateParams
11
+ from .subnet_create_params import SubnetCreateParams as SubnetCreateParams
12
+ from .subnet_update_params import SubnetUpdateParams as SubnetUpdateParams
13
+ from .router_attach_subnet_params import RouterAttachSubnetParams as RouterAttachSubnetParams
14
+ from .router_detach_subnet_params import RouterDetachSubnetParams as RouterDetachSubnetParams
@@ -0,0 +1,83 @@
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 ..route import Route
7
+ from ...._models import BaseModel
8
+ from ..ip_assignment import IPAssignment
9
+
10
+ __all__ = ["Router", "Interface", "ExternalGatewayInfo"]
11
+
12
+
13
+ class Interface(BaseModel):
14
+ ip_assignments: List[IPAssignment]
15
+ """IP addresses assigned to this port"""
16
+
17
+ network_id: str
18
+ """ID of the network the port is attached to"""
19
+
20
+ port_id: str
21
+ """ID of virtual ethernet port object"""
22
+
23
+ mac_address: Optional[str] = None
24
+ """MAC address of the virtual port"""
25
+
26
+
27
+ class ExternalGatewayInfo(BaseModel):
28
+ enable_snat: bool
29
+ """Is SNAT enabled."""
30
+
31
+ external_fixed_ips: List[IPAssignment]
32
+ """List of external IPs that emit SNAT-ed traffic."""
33
+
34
+ network_id: str
35
+ """Id of the external network."""
36
+
37
+
38
+ class Router(BaseModel):
39
+ id: str
40
+ """Router ID"""
41
+
42
+ created_at: datetime
43
+ """Datetime when the router was created"""
44
+
45
+ distributed: bool
46
+ """Whether the router is distributed or centralized."""
47
+
48
+ interfaces: List[Interface]
49
+ """List of router interfaces."""
50
+
51
+ name: str
52
+ """Router name"""
53
+
54
+ project_id: int
55
+ """Project ID"""
56
+
57
+ region: str
58
+ """Region name"""
59
+
60
+ region_id: int
61
+ """Region ID"""
62
+
63
+ routes: List[Route]
64
+ """List of custom routes."""
65
+
66
+ status: str
67
+ """Status of the router."""
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 router was last updated"""
78
+
79
+ creator_task_id: Optional[str] = None
80
+ """Task that created this entity"""
81
+
82
+ external_gateway_info: Optional[ExternalGatewayInfo] = None
83
+ """State of this router's external gateway."""
@@ -0,0 +1,24 @@
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__ = ["RouterAttachSubnetParams"]
8
+
9
+
10
+ class RouterAttachSubnetParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ region_id: int
15
+ """Region ID"""
16
+
17
+ subnet_id: Required[str]
18
+ """Subnet ID on which router interface will be created"""
19
+
20
+ ip_address: str
21
+ """
22
+ IP address to assign for router's interface, if not specified, address will be
23
+ selected automatically
24
+ """