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,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
+ creator_task_id: Optional[str] = None
20
+ """Task that created this entity"""
21
+
22
+ default: Optional[bool] = None
23
+ """True if network has is_default attribute"""
24
+
25
+ external: bool
26
+ """True if the network `router:external` attribute"""
27
+
28
+ mtu: int
29
+ """MTU (maximum transmission unit). Default value is 1450"""
30
+
31
+ name: str
32
+ """Network name"""
33
+
34
+ port_security_enabled: bool
35
+ """
36
+ Indicates port_security_enabled status of all newly created in the network
37
+ ports.
38
+ """
39
+
40
+ project_id: Optional[int] = None
41
+ """Project ID"""
42
+
43
+ region: str
44
+ """Region name"""
45
+
46
+ region_id: int
47
+ """Region ID"""
48
+
49
+ segmentation_id: Optional[int] = None
50
+ """Id of network segment"""
51
+
52
+ shared: bool
53
+ """True when the network is shared with your project by external owner"""
54
+
55
+ subnets: List[str]
56
+ """List of subnetworks"""
57
+
58
+ tags: List[Tag]
59
+ """List of key-value tags associated with the resource.
60
+
61
+ A tag is a key-value pair that can be associated with a resource, enabling
62
+ efficient filtering and grouping for better organization and management. Some
63
+ tags are read-only and cannot be modified by the user. Tags are also integrated
64
+ with cost reports, allowing cost data to be filtered based on tag keys or
65
+ values.
66
+ """
67
+
68
+ task_id: Optional[str] = None
69
+ """The UUID of the active task that currently holds a lock on the resource.
70
+
71
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
72
+ the resource is not locked.
73
+ """
74
+
75
+ type: str
76
+ """Network type (vlan, vxlan)"""
77
+
78
+ updated_at: datetime
79
+ """Datetime when the network was last updated"""
@@ -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_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
+ """Project ID"""
15
+
16
+ region_id: int
17
+ """Region ID"""
18
+
19
+ name: Required[str]
20
+ """Network name"""
21
+
22
+ create_router: bool
23
+ """Defaults to True"""
24
+
25
+ tags: TagUpdateMapParam
26
+ """Key-value tags to associate with the resource.
27
+
28
+ A tag is a key-value pair that can be associated with a resource, enabling
29
+ efficient filtering and grouping for better organization and management. Some
30
+ tags are read-only and cannot be modified by the user. Tags are also integrated
31
+ with cost reports, allowing cost data to be filtered based on tag keys or
32
+ values.
33
+ """
34
+
35
+ type: Literal["vlan", "vxlan"]
36
+ """vlan or vxlan network type is allowed. Default value is vxlan"""
@@ -0,0 +1,80 @@
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
+ creator_task_id: Optional[str] = None
21
+ """Task that created this entity"""
22
+
23
+ default: Optional[bool] = None
24
+ """True if network has is_default attribute"""
25
+
26
+ external: bool
27
+ """True if the network `router:external` attribute"""
28
+
29
+ mtu: int
30
+ """MTU (maximum transmission unit). Default value is 1450"""
31
+
32
+ name: str
33
+ """Network name"""
34
+
35
+ port_security_enabled: bool
36
+ """
37
+ Indicates port_security_enabled status of all newly created in the network
38
+ ports.
39
+ """
40
+
41
+ project_id: Optional[int] = None
42
+ """Project ID"""
43
+
44
+ region: str
45
+ """Region name"""
46
+
47
+ region_id: int
48
+ """Region ID"""
49
+
50
+ segmentation_id: Optional[int] = None
51
+ """Id of network segment"""
52
+
53
+ shared: bool
54
+ """True when the network is shared with your project by external owner"""
55
+
56
+ subnets: List[Subnet]
57
+ """List of subnets associated with the network"""
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
+ type: str
77
+ """Network type (vlan, vxlan)"""
78
+
79
+ updated_at: datetime
80
+ """Datetime when the network was last updated"""
@@ -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,41 @@
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 Literal, TypedDict
7
+
8
+ __all__ = ["NetworkListParams"]
9
+
10
+
11
+ class NetworkListParams(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
+ order_by: Literal["created_at.asc", "created_at.desc", "name.asc", "name.desc"]
28
+ """
29
+ Ordering networks list result by `name`, `created_at` fields of the network and
30
+ directions (`created_at.desc`).
31
+ """
32
+
33
+ tag_key: List[str]
34
+ """Optional. Filter by tag keys. ?tag_key=key1&tag_key=key2"""
35
+
36
+ tag_key_value: str
37
+ """Optional.
38
+
39
+ Filter by tag key-value pairs. curl -G --data-urlencode "tag_key_value={"key":
40
+ "value"}" --url "https://example.com/cloud/v1/resource/1/1"
41
+ """
@@ -0,0 +1,18 @@
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
+ """Project ID"""
13
+
14
+ region_id: int
15
+ """Region ID"""
16
+
17
+ name: Required[str]
18
+ """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
+ """
@@ -0,0 +1,75 @@
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
+ "RouterCreateParams",
10
+ "ExternalGatewayInfo",
11
+ "ExternalGatewayInfoRouterExternalManualGwSerializer",
12
+ "ExternalGatewayInfoRouterExternalDefaultGwSerializer",
13
+ "Interface",
14
+ "Route",
15
+ ]
16
+
17
+
18
+ class RouterCreateParams(TypedDict, total=False):
19
+ project_id: int
20
+
21
+ region_id: int
22
+
23
+ name: Required[str]
24
+ """name of router"""
25
+
26
+ external_gateway_info: Optional[ExternalGatewayInfo]
27
+
28
+ interfaces: Optional[Iterable[Interface]]
29
+ """List of interfaces to attach to router immediately after creation."""
30
+
31
+ routes: Optional[Iterable[Route]]
32
+ """List of custom routes."""
33
+
34
+
35
+ class ExternalGatewayInfoRouterExternalManualGwSerializer(TypedDict, total=False):
36
+ network_id: Required[str]
37
+ """id of the external network."""
38
+
39
+ enable_snat: bool
40
+ """Is SNAT enabled. Defaults to true."""
41
+
42
+ type: Literal["manual"]
43
+ """must be 'manual'."""
44
+
45
+
46
+ class ExternalGatewayInfoRouterExternalDefaultGwSerializer(TypedDict, total=False):
47
+ enable_snat: bool
48
+ """Is SNAT enabled. Defaults to true."""
49
+
50
+ type: Literal["default"]
51
+ """must be 'default'."""
52
+
53
+
54
+ ExternalGatewayInfo: TypeAlias = Union[
55
+ ExternalGatewayInfoRouterExternalManualGwSerializer, ExternalGatewayInfoRouterExternalDefaultGwSerializer
56
+ ]
57
+
58
+
59
+ class Interface(TypedDict, total=False):
60
+ subnet_id: Required[str]
61
+ """id of the subnet to attach to."""
62
+
63
+ type: Literal["subnet"]
64
+ """must be 'subnet'."""
65
+
66
+
67
+ class Route(TypedDict, total=False):
68
+ destination: Required[str]
69
+ """CIDR of destination IPv4 subnet."""
70
+
71
+ nexthop: Required[str]
72
+ """
73
+ IPv4 address to forward traffic to if it's destination IP matches 'destination'
74
+ CIDR.
75
+ """
@@ -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__ = ["RouterDetachSubnetParams"]
8
+
9
+
10
+ class RouterDetachSubnetParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ subnet_id: Required[str]
16
+ """Target IP is identified by it's subnet"""
@@ -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 .router import Router
6
+ from ...._models import BaseModel
7
+
8
+ __all__ = ["RouterList"]
9
+
10
+
11
+ class RouterList(BaseModel):
12
+ count: int
13
+ """Number of objects"""
14
+
15
+ results: List[Router]
16
+ """Objects"""
@@ -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__ = ["RouterListParams"]
8
+
9
+
10
+ class RouterListParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ limit: int
16
+ """Limit the number of returned limit request entities."""
17
+
18
+ offset: int
19
+ """Offset value is used to exclude the first set of records from the result."""
@@ -0,0 +1,45 @@
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 Iterable, Optional
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["RouterUpdateParams", "ExternalGatewayInfo", "Route"]
9
+
10
+
11
+ class RouterUpdateParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ external_gateway_info: Optional[ExternalGatewayInfo]
17
+ """New external gateway."""
18
+
19
+ name: Optional[str]
20
+ """New name of router"""
21
+
22
+ routes: Optional[Iterable[Route]]
23
+ """List of custom routes."""
24
+
25
+
26
+ class ExternalGatewayInfo(TypedDict, total=False):
27
+ network_id: Required[str]
28
+ """id of the external network."""
29
+
30
+ enable_snat: bool
31
+ """Is SNAT enabled. Defaults to true."""
32
+
33
+ type: Literal["manual"]
34
+ """must be 'manual'."""
35
+
36
+
37
+ class Route(TypedDict, total=False):
38
+ destination: Required[str]
39
+ """CIDR of destination IPv4 subnet."""
40
+
41
+ nexthop: Required[str]
42
+ """
43
+ IPv4 address to forward traffic to if it's destination IP matches 'destination'
44
+ CIDR.
45
+ """