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,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__ = ["SecurityGroupCopyParams"]
8
+
9
+
10
+ class SecurityGroupCopyParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ name: Required[str]
16
+ """Name."""
@@ -0,0 +1,94 @@
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 Dict, List, Iterable, Optional
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["SecurityGroupCreateParams", "SecurityGroup", "SecurityGroupSecurityGroupRule"]
9
+
10
+
11
+ class SecurityGroupCreateParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ security_group: Required[SecurityGroup]
17
+ """Security group"""
18
+
19
+ instances: List[str]
20
+ """List of instances"""
21
+
22
+
23
+ class SecurityGroupSecurityGroupRule(TypedDict, total=False):
24
+ description: str
25
+ """Rule description"""
26
+
27
+ direction: Literal["egress", "ingress"]
28
+ """
29
+ Ingress or egress, which is the direction in which the security group is applied
30
+ """
31
+
32
+ ethertype: Literal["IPv4", "IPv6"]
33
+ """Ether type"""
34
+
35
+ port_range_max: Optional[int]
36
+ """The maximum port number in the range that is matched by the security group rule"""
37
+
38
+ port_range_min: Optional[int]
39
+ """The minimum port number in the range that is matched by the security group rule"""
40
+
41
+ protocol: Literal[
42
+ "ah",
43
+ "any",
44
+ "dccp",
45
+ "egp",
46
+ "esp",
47
+ "gre",
48
+ "icmp",
49
+ "igmp",
50
+ "ipencap",
51
+ "ipip",
52
+ "ipv6-encap",
53
+ "ipv6-frag",
54
+ "ipv6-icmp",
55
+ "ipv6-nonxt",
56
+ "ipv6-opts",
57
+ "ipv6-route",
58
+ "ospf",
59
+ "pgm",
60
+ "rsvp",
61
+ "sctp",
62
+ "tcp",
63
+ "udp",
64
+ "udplite",
65
+ "vrrp",
66
+ ]
67
+ """Protocol"""
68
+
69
+ remote_group_id: str
70
+ """The remote group UUID to associate with this security group"""
71
+
72
+ remote_ip_prefix: Optional[str]
73
+ """The remote IP prefix that is matched by this security group rule"""
74
+
75
+
76
+ class SecurityGroup(TypedDict, total=False):
77
+ name: Required[str]
78
+ """Security group name"""
79
+
80
+ description: Optional[str]
81
+ """Security group description"""
82
+
83
+ security_group_rules: Iterable[SecurityGroupSecurityGroupRule]
84
+ """Security group rules"""
85
+
86
+ tags: Dict[str, object]
87
+ """Key-value tags to associate with the resource.
88
+
89
+ A tag is a key-value pair that can be associated with a resource, enabling
90
+ efficient filtering and grouping for better organization and management. Some
91
+ tags are read-only and cannot be modified by the user. Tags are also integrated
92
+ with cost reports, allowing cost data to be filtered based on tag keys or
93
+ values.
94
+ """
@@ -0,0 +1,30 @@
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__ = ["SecurityGroupListParams"]
9
+
10
+
11
+ class SecurityGroupListParams(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
+ tag_key: List[str]
23
+ """Filter by tag keys."""
24
+
25
+ tag_key_value: str
26
+ """Filter by tag key-value pairs.
27
+
28
+ Must be a valid JSON string. curl -G --data-urlencode "tag_key_value={"key":
29
+ "value"}" --url "http://localhost:1111/v1/securitygroups/1/1"
30
+ """
@@ -0,0 +1,83 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["SecurityGroupRule"]
10
+
11
+
12
+ class SecurityGroupRule(BaseModel):
13
+ id: str
14
+ """The ID of the security group rule"""
15
+
16
+ created_at: datetime
17
+ """Datetime when the rule was created"""
18
+
19
+ direction: Literal["egress", "ingress"]
20
+ """
21
+ Ingress or egress, which is the direction in which the security group rule is
22
+ applied
23
+ """
24
+
25
+ revision_number: int
26
+ """The revision number of the resource"""
27
+
28
+ security_group_id: str
29
+ """The security group ID to associate with this security group rule"""
30
+
31
+ updated_at: datetime
32
+ """Datetime when the rule was last updated"""
33
+
34
+ description: Optional[str] = None
35
+ """Rule description"""
36
+
37
+ ethertype: Optional[Literal["IPv4", "IPv6"]] = None
38
+ """
39
+ Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress
40
+ or egress rules.
41
+ """
42
+
43
+ port_range_max: Optional[int] = None
44
+ """The maximum port number in the range that is matched by the security group rule"""
45
+
46
+ port_range_min: Optional[int] = None
47
+ """The minimum port number in the range that is matched by the security group rule"""
48
+
49
+ protocol: Optional[
50
+ Literal[
51
+ "ah",
52
+ "any",
53
+ "dccp",
54
+ "egp",
55
+ "esp",
56
+ "gre",
57
+ "icmp",
58
+ "igmp",
59
+ "ipencap",
60
+ "ipip",
61
+ "ipv6-encap",
62
+ "ipv6-frag",
63
+ "ipv6-icmp",
64
+ "ipv6-nonxt",
65
+ "ipv6-opts",
66
+ "ipv6-route",
67
+ "ospf",
68
+ "pgm",
69
+ "rsvp",
70
+ "sctp",
71
+ "tcp",
72
+ "udp",
73
+ "udplite",
74
+ "vrrp",
75
+ ]
76
+ ] = None
77
+ """Protocol"""
78
+
79
+ remote_group_id: Optional[str] = None
80
+ """The remote group UUID to associate with this security group rule"""
81
+
82
+ remote_ip_prefix: Optional[str] = None
83
+ """The remote IP prefix that is matched by this security group rule"""
@@ -0,0 +1,83 @@
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__ = ["SecurityGroupUpdateParams", "ChangedRule"]
9
+
10
+
11
+ class SecurityGroupUpdateParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ changed_rules: Iterable[ChangedRule]
17
+ """List of rules to create or delete"""
18
+
19
+ name: str
20
+ """Name"""
21
+
22
+
23
+ class ChangedRule(TypedDict, total=False):
24
+ action: Required[Literal["create", "delete"]]
25
+ """Action for a rule"""
26
+
27
+ description: str
28
+ """Security grpup rule description"""
29
+
30
+ direction: Literal["egress", "ingress"]
31
+ """
32
+ Ingress or egress, which is the direction in which the security group rule is
33
+ applied
34
+ """
35
+
36
+ ethertype: Optional[Literal["IPv4", "IPv6"]]
37
+ """
38
+ Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress
39
+ or egress rules.
40
+ """
41
+
42
+ port_range_max: int
43
+ """The maximum port number in the range that is matched by the security group rule"""
44
+
45
+ port_range_min: int
46
+ """The minimum port number in the range that is matched by the security group rule"""
47
+
48
+ protocol: Literal[
49
+ "ah",
50
+ "any",
51
+ "dccp",
52
+ "egp",
53
+ "esp",
54
+ "gre",
55
+ "icmp",
56
+ "igmp",
57
+ "ipencap",
58
+ "ipip",
59
+ "ipv6-encap",
60
+ "ipv6-frag",
61
+ "ipv6-icmp",
62
+ "ipv6-nonxt",
63
+ "ipv6-opts",
64
+ "ipv6-route",
65
+ "ospf",
66
+ "pgm",
67
+ "rsvp",
68
+ "sctp",
69
+ "tcp",
70
+ "udp",
71
+ "udplite",
72
+ "vrrp",
73
+ ]
74
+ """Protocol"""
75
+
76
+ remote_group_id: Optional[str]
77
+ """The remote group UUID to associate with this security group rule"""
78
+
79
+ remote_ip_prefix: Optional[str]
80
+ """The remote IP prefix that is matched by this security group rule"""
81
+
82
+ security_group_rule_id: Optional[str]
83
+ """UUID of rule to be deleted. Required for action 'delete' only"""
@@ -0,0 +1,6 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .rule_create_params import RuleCreateParams as RuleCreateParams
6
+ from .rule_replace_params import RuleReplaceParams as RuleReplaceParams
@@ -0,0 +1,65 @@
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, TypedDict
7
+
8
+ __all__ = ["RuleCreateParams"]
9
+
10
+
11
+ class RuleCreateParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ description: str
17
+ """Rule description"""
18
+
19
+ direction: Literal["egress", "ingress"]
20
+ """
21
+ Ingress or egress, which is the direction in which the security group is applied
22
+ """
23
+
24
+ ethertype: Literal["IPv4", "IPv6"]
25
+ """Ether type"""
26
+
27
+ port_range_max: Optional[int]
28
+ """The maximum port number in the range that is matched by the security group rule"""
29
+
30
+ port_range_min: Optional[int]
31
+ """The minimum port number in the range that is matched by the security group rule"""
32
+
33
+ protocol: Literal[
34
+ "ah",
35
+ "any",
36
+ "dccp",
37
+ "egp",
38
+ "esp",
39
+ "gre",
40
+ "icmp",
41
+ "igmp",
42
+ "ipencap",
43
+ "ipip",
44
+ "ipv6-encap",
45
+ "ipv6-frag",
46
+ "ipv6-icmp",
47
+ "ipv6-nonxt",
48
+ "ipv6-opts",
49
+ "ipv6-route",
50
+ "ospf",
51
+ "pgm",
52
+ "rsvp",
53
+ "sctp",
54
+ "tcp",
55
+ "udp",
56
+ "udplite",
57
+ "vrrp",
58
+ ]
59
+ """Protocol"""
60
+
61
+ remote_group_id: str
62
+ """The remote group UUID to associate with this security group"""
63
+
64
+ remote_ip_prefix: Optional[str]
65
+ """The remote IP prefix that is matched by this security group rule"""
@@ -0,0 +1,72 @@
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
+ __all__ = ["RuleReplaceParams"]
9
+
10
+
11
+ class RuleReplaceParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ direction: Required[Literal["egress", "ingress"]]
17
+ """
18
+ Ingress or egress, which is the direction in which the security group rule is
19
+ applied
20
+ """
21
+
22
+ security_group_id: Required[str]
23
+ """Parent security group of this rule"""
24
+
25
+ description: str
26
+ """Rule description"""
27
+
28
+ ethertype: Optional[Literal["IPv4", "IPv6"]]
29
+ """
30
+ Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress
31
+ or egress rules.
32
+ """
33
+
34
+ port_range_max: Optional[int]
35
+ """The maximum port number in the range that is matched by the security group rule"""
36
+
37
+ port_range_min: Optional[int]
38
+ """The minimum port number in the range that is matched by the security group rule"""
39
+
40
+ protocol: Literal[
41
+ "ah",
42
+ "any",
43
+ "dccp",
44
+ "egp",
45
+ "esp",
46
+ "gre",
47
+ "icmp",
48
+ "igmp",
49
+ "ipencap",
50
+ "ipip",
51
+ "ipv6-encap",
52
+ "ipv6-frag",
53
+ "ipv6-icmp",
54
+ "ipv6-nonxt",
55
+ "ipv6-opts",
56
+ "ipv6-route",
57
+ "ospf",
58
+ "pgm",
59
+ "rsvp",
60
+ "sctp",
61
+ "tcp",
62
+ "udp",
63
+ "udplite",
64
+ "vrrp",
65
+ ]
66
+ """Protocol"""
67
+
68
+ remote_group_id: Optional[str]
69
+ """The remote group UUID to associate with this security group rule"""
70
+
71
+ remote_ip_prefix: Optional[str]
72
+ """The remote IP prefix that is matched by this security group rule"""
@@ -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 .lb_session_persistence_type import LbSessionPersistenceType
7
+
8
+ __all__ = ["SessionPersistence"]
9
+
10
+
11
+ class SessionPersistence(BaseModel):
12
+ type: LbSessionPersistenceType
13
+ """Session persistence type"""
14
+
15
+ cookie_name: Optional[str] = None
16
+ """Should be set if app cookie or http cookie is used"""
17
+
18
+ persistence_granularity: Optional[str] = None
19
+ """Subnet mask if source_ip is used. For UDP ports only"""
20
+
21
+ persistence_timeout: Optional[int] = None
22
+ """Session persistence timeout. For UDP ports only"""
@@ -0,0 +1,39 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["SSHKey"]
10
+
11
+
12
+ class SSHKey(BaseModel):
13
+ id: str
14
+ """SSH key ID"""
15
+
16
+ created_at: Optional[datetime] = None
17
+ """SSH key creation time"""
18
+
19
+ fingerprint: str
20
+ """Fingerprint"""
21
+
22
+ name: str
23
+ """SSH key name"""
24
+
25
+ project_id: Optional[int] = None
26
+ """Project ID"""
27
+
28
+ public_key: str
29
+ """The public part of an SSH key is the shareable portion of an SSH key pair.
30
+
31
+ It can be safely sent to servers or services to grant access. It does not
32
+ contain sensitive information.
33
+ """
34
+
35
+ shared_in_project: bool
36
+ """SSH key will be visible to all users in the project"""
37
+
38
+ state: Literal["ACTIVE", "DELETING"]
39
+ """SSH key state"""
@@ -0,0 +1,31 @@
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__ = ["SSHKeyCreateParams"]
8
+
9
+
10
+ class SSHKeyCreateParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ name: Required[str]
15
+ """SSH key name"""
16
+
17
+ public_key: str
18
+ """The public part of an SSH key is the shareable portion of an SSH key pair.
19
+
20
+ It can be safely sent to servers or services to grant access. It does not
21
+ contain sensitive information.
22
+
23
+ - If you’re uploading your own key, provide the public part here (usually found
24
+ in a file like `id_ed25519.pub`).
25
+ - If you want the platform to generate an Ed25519 key pair for you, leave this
26
+ field empty — the system will return the private key in the response **once
27
+ only**.
28
+ """
29
+
30
+ shared_in_project: bool
31
+ """SSH key is shared with all users in the project"""
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["SSHKeyCreated"]
10
+
11
+
12
+ class SSHKeyCreated(BaseModel):
13
+ id: str
14
+ """SSH key ID"""
15
+
16
+ created_at: datetime
17
+ """SSH key creation time"""
18
+
19
+ fingerprint: str
20
+ """Fingerprint"""
21
+
22
+ name: str
23
+ """SSH key name"""
24
+
25
+ private_key: Optional[str] = None
26
+ """The private part of an SSH key is the confidential portion of the key pair.
27
+
28
+ It should never be shared or exposed. This key is used to prove your identity
29
+ when connecting to a server.
30
+
31
+ If you omit the `public_key`, the platform will generate a key for you. The
32
+ private_key will be returned **once** in the API response. Be sure to save it
33
+ securely, as it cannot be retrieved again later.
34
+
35
+ Best practice: Save the private key to a secure location on your machine (e.g.,
36
+ `~/.ssh/id_ed25519`) and set the file permissions to be readable only by you.
37
+ """
38
+
39
+ project_id: int
40
+ """Project ID"""
41
+
42
+ public_key: str
43
+ """The public part of an SSH key is the shareable portion of an SSH key pair.
44
+
45
+ It can be safely sent to servers or services to grant access. It does not
46
+ contain sensitive information.
47
+ """
48
+
49
+ shared_in_project: bool
50
+ """SSH key will be visible to all users in the project"""
51
+
52
+ state: Literal["ACTIVE", "DELETING"]
53
+ """SSH key state"""
@@ -0,0 +1,21 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, TypedDict
6
+
7
+ __all__ = ["SSHKeyListParams"]
8
+
9
+
10
+ class SSHKeyListParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ limit: int
15
+ """Maximum number of SSH keys to return"""
16
+
17
+ offset: int
18
+ """Offset for pagination"""
19
+
20
+ order_by: Literal["created_at.asc", "created_at.desc", "name.asc", "name.desc"]
21
+ """Sort order for the SSH keys"""
@@ -0,0 +1,15 @@
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__ = ["SSHKeyUpdateParams"]
8
+
9
+
10
+ class SSHKeyUpdateParams(TypedDict, total=False):
11
+ project_id: int
12
+ """Project ID"""
13
+
14
+ shared_in_project: Required[bool]
15
+ """Share your ssh key with all users in the project"""