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,715 @@
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
7
+
8
+ import httpx
9
+
10
+ from .routers import (
11
+ RoutersResource,
12
+ AsyncRoutersResource,
13
+ RoutersResourceWithRawResponse,
14
+ AsyncRoutersResourceWithRawResponse,
15
+ RoutersResourceWithStreamingResponse,
16
+ AsyncRoutersResourceWithStreamingResponse,
17
+ )
18
+ from .subnets import (
19
+ SubnetsResource,
20
+ AsyncSubnetsResource,
21
+ SubnetsResourceWithRawResponse,
22
+ AsyncSubnetsResourceWithRawResponse,
23
+ SubnetsResourceWithStreamingResponse,
24
+ AsyncSubnetsResourceWithStreamingResponse,
25
+ )
26
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
27
+ from ...._utils import maybe_transform, async_maybe_transform
28
+ from ...._compat import cached_property
29
+ from ...._resource import SyncAPIResource, AsyncAPIResource
30
+ from ...._response import (
31
+ to_raw_response_wrapper,
32
+ to_streamed_response_wrapper,
33
+ async_to_raw_response_wrapper,
34
+ async_to_streamed_response_wrapper,
35
+ )
36
+ from ....pagination import SyncOffsetPage, AsyncOffsetPage
37
+ from ....types.cloud import network_list_params, network_create_params, network_update_params
38
+ from ...._base_client import AsyncPaginator, make_request_options
39
+ from ....types.cloud.network import Network
40
+ from ....types.cloud.task_id_list import TaskIDList
41
+ from ....types.cloud.tag_update_map_param import TagUpdateMapParam
42
+
43
+ __all__ = ["NetworksResource", "AsyncNetworksResource"]
44
+
45
+
46
+ class NetworksResource(SyncAPIResource):
47
+ @cached_property
48
+ def subnets(self) -> SubnetsResource:
49
+ return SubnetsResource(self._client)
50
+
51
+ @cached_property
52
+ def routers(self) -> RoutersResource:
53
+ return RoutersResource(self._client)
54
+
55
+ @cached_property
56
+ def with_raw_response(self) -> NetworksResourceWithRawResponse:
57
+ """
58
+ This property can be used as a prefix for any HTTP method call to return
59
+ the raw response object instead of the parsed content.
60
+
61
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
62
+ """
63
+ return NetworksResourceWithRawResponse(self)
64
+
65
+ @cached_property
66
+ def with_streaming_response(self) -> NetworksResourceWithStreamingResponse:
67
+ """
68
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
69
+
70
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
71
+ """
72
+ return NetworksResourceWithStreamingResponse(self)
73
+
74
+ def create(
75
+ self,
76
+ *,
77
+ project_id: int | None = None,
78
+ region_id: int | None = None,
79
+ name: str,
80
+ create_router: bool | NotGiven = NOT_GIVEN,
81
+ tags: TagUpdateMapParam | NotGiven = NOT_GIVEN,
82
+ type: Literal["vlan", "vxlan"] | NotGiven = NOT_GIVEN,
83
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
84
+ # The extra values given here take precedence over values defined on the client or passed to this method.
85
+ extra_headers: Headers | None = None,
86
+ extra_query: Query | None = None,
87
+ extra_body: Body | None = None,
88
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
89
+ ) -> TaskIDList:
90
+ """
91
+ Create network
92
+
93
+ Args:
94
+ name: Network name
95
+
96
+ create_router: Defaults to True
97
+
98
+ tags: Key-value tags to associate with the resource. A tag is a key-value pair that
99
+ can be associated with a resource, enabling efficient filtering and grouping for
100
+ better organization and management. Some tags are read-only and cannot be
101
+ modified by the user. Tags are also integrated with cost reports, allowing cost
102
+ data to be filtered based on tag keys or values.
103
+
104
+ type: vlan or vxlan network type is allowed. Default value is vxlan
105
+
106
+ extra_headers: Send extra headers
107
+
108
+ extra_query: Add additional query parameters to the request
109
+
110
+ extra_body: Add additional JSON properties to the request
111
+
112
+ timeout: Override the client-level default timeout for this request, in seconds
113
+ """
114
+ if project_id is None:
115
+ project_id = self._client._get_cloud_project_id_path_param()
116
+ if region_id is None:
117
+ region_id = self._client._get_cloud_region_id_path_param()
118
+ return self._post(
119
+ f"/cloud/v1/networks/{project_id}/{region_id}",
120
+ body=maybe_transform(
121
+ {
122
+ "name": name,
123
+ "create_router": create_router,
124
+ "tags": tags,
125
+ "type": type,
126
+ },
127
+ network_create_params.NetworkCreateParams,
128
+ ),
129
+ options=make_request_options(
130
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
131
+ ),
132
+ cast_to=TaskIDList,
133
+ )
134
+
135
+ def update(
136
+ self,
137
+ network_id: str,
138
+ *,
139
+ project_id: int | None = None,
140
+ region_id: int | None = None,
141
+ name: str,
142
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
143
+ # The extra values given here take precedence over values defined on the client or passed to this method.
144
+ extra_headers: Headers | None = None,
145
+ extra_query: Query | None = None,
146
+ extra_body: Body | None = None,
147
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
148
+ ) -> Network:
149
+ """
150
+ Change network name
151
+
152
+ Args:
153
+ name: Name.
154
+
155
+ extra_headers: Send extra headers
156
+
157
+ extra_query: Add additional query parameters to the request
158
+
159
+ extra_body: Add additional JSON properties to the request
160
+
161
+ timeout: Override the client-level default timeout for this request, in seconds
162
+ """
163
+ if project_id is None:
164
+ project_id = self._client._get_cloud_project_id_path_param()
165
+ if region_id is None:
166
+ region_id = self._client._get_cloud_region_id_path_param()
167
+ if not network_id:
168
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
169
+ return self._patch(
170
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
171
+ body=maybe_transform({"name": name}, network_update_params.NetworkUpdateParams),
172
+ options=make_request_options(
173
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
174
+ ),
175
+ cast_to=Network,
176
+ )
177
+
178
+ def list(
179
+ self,
180
+ *,
181
+ project_id: int | None = None,
182
+ region_id: int | None = None,
183
+ limit: int | NotGiven = NOT_GIVEN,
184
+ offset: int | NotGiven = NOT_GIVEN,
185
+ order_by: str | NotGiven = NOT_GIVEN,
186
+ tag_key: List[str] | NotGiven = NOT_GIVEN,
187
+ tag_key_value: str | NotGiven = NOT_GIVEN,
188
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
189
+ # The extra values given here take precedence over values defined on the client or passed to this method.
190
+ extra_headers: Headers | None = None,
191
+ extra_query: Query | None = None,
192
+ extra_body: Body | None = None,
193
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
194
+ ) -> SyncOffsetPage[Network]:
195
+ """
196
+ List networks
197
+
198
+ Args:
199
+ limit: Limit the number of returned limit request entities.
200
+
201
+ offset: Offset value is used to exclude the first set of records from the result.
202
+
203
+ order_by: Order networks by fields and directions (name.asc). Default is `created_at.asc`.
204
+
205
+ tag_key: Filter by tag keys.
206
+
207
+ tag_key_value: Filter by tag key-value pairs. Must be a valid JSON string. curl -G
208
+ --data-urlencode "tag_key_value={"key": "value"}" --url
209
+ "http://localhost:1111/v1/networks/1/1"
210
+
211
+ extra_headers: Send extra headers
212
+
213
+ extra_query: Add additional query parameters to the request
214
+
215
+ extra_body: Add additional JSON properties to the request
216
+
217
+ timeout: Override the client-level default timeout for this request, in seconds
218
+ """
219
+ if project_id is None:
220
+ project_id = self._client._get_cloud_project_id_path_param()
221
+ if region_id is None:
222
+ region_id = self._client._get_cloud_region_id_path_param()
223
+ return self._get_api_list(
224
+ f"/cloud/v1/networks/{project_id}/{region_id}",
225
+ page=SyncOffsetPage[Network],
226
+ options=make_request_options(
227
+ extra_headers=extra_headers,
228
+ extra_query=extra_query,
229
+ extra_body=extra_body,
230
+ timeout=timeout,
231
+ query=maybe_transform(
232
+ {
233
+ "limit": limit,
234
+ "offset": offset,
235
+ "order_by": order_by,
236
+ "tag_key": tag_key,
237
+ "tag_key_value": tag_key_value,
238
+ },
239
+ network_list_params.NetworkListParams,
240
+ ),
241
+ ),
242
+ model=Network,
243
+ )
244
+
245
+ def delete(
246
+ self,
247
+ network_id: str,
248
+ *,
249
+ project_id: int | None = None,
250
+ region_id: int | None = None,
251
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
252
+ # The extra values given here take precedence over values defined on the client or passed to this method.
253
+ extra_headers: Headers | None = None,
254
+ extra_query: Query | None = None,
255
+ extra_body: Body | None = None,
256
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
257
+ ) -> TaskIDList:
258
+ """
259
+ Delete network
260
+
261
+ Args:
262
+ extra_headers: Send extra headers
263
+
264
+ extra_query: Add additional query parameters to the request
265
+
266
+ extra_body: Add additional JSON properties to the request
267
+
268
+ timeout: Override the client-level default timeout for this request, in seconds
269
+ """
270
+ if project_id is None:
271
+ project_id = self._client._get_cloud_project_id_path_param()
272
+ if region_id is None:
273
+ region_id = self._client._get_cloud_region_id_path_param()
274
+ if not network_id:
275
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
276
+ return self._delete(
277
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
278
+ options=make_request_options(
279
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
280
+ ),
281
+ cast_to=TaskIDList,
282
+ )
283
+
284
+ def get(
285
+ self,
286
+ network_id: str,
287
+ *,
288
+ project_id: int | None = None,
289
+ region_id: int | None = None,
290
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
291
+ # The extra values given here take precedence over values defined on the client or passed to this method.
292
+ extra_headers: Headers | None = None,
293
+ extra_query: Query | None = None,
294
+ extra_body: Body | None = None,
295
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
296
+ ) -> Network:
297
+ """
298
+ Get network
299
+
300
+ Args:
301
+ extra_headers: Send extra headers
302
+
303
+ extra_query: Add additional query parameters to the request
304
+
305
+ extra_body: Add additional JSON properties to the request
306
+
307
+ timeout: Override the client-level default timeout for this request, in seconds
308
+ """
309
+ if project_id is None:
310
+ project_id = self._client._get_cloud_project_id_path_param()
311
+ if region_id is None:
312
+ region_id = self._client._get_cloud_region_id_path_param()
313
+ if not network_id:
314
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
315
+ return self._get(
316
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
317
+ options=make_request_options(
318
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
319
+ ),
320
+ cast_to=Network,
321
+ )
322
+
323
+
324
+ class AsyncNetworksResource(AsyncAPIResource):
325
+ @cached_property
326
+ def subnets(self) -> AsyncSubnetsResource:
327
+ return AsyncSubnetsResource(self._client)
328
+
329
+ @cached_property
330
+ def routers(self) -> AsyncRoutersResource:
331
+ return AsyncRoutersResource(self._client)
332
+
333
+ @cached_property
334
+ def with_raw_response(self) -> AsyncNetworksResourceWithRawResponse:
335
+ """
336
+ This property can be used as a prefix for any HTTP method call to return
337
+ the raw response object instead of the parsed content.
338
+
339
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
340
+ """
341
+ return AsyncNetworksResourceWithRawResponse(self)
342
+
343
+ @cached_property
344
+ def with_streaming_response(self) -> AsyncNetworksResourceWithStreamingResponse:
345
+ """
346
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
347
+
348
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
349
+ """
350
+ return AsyncNetworksResourceWithStreamingResponse(self)
351
+
352
+ async def create(
353
+ self,
354
+ *,
355
+ project_id: int | None = None,
356
+ region_id: int | None = None,
357
+ name: str,
358
+ create_router: bool | NotGiven = NOT_GIVEN,
359
+ tags: TagUpdateMapParam | NotGiven = NOT_GIVEN,
360
+ type: Literal["vlan", "vxlan"] | NotGiven = NOT_GIVEN,
361
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
362
+ # The extra values given here take precedence over values defined on the client or passed to this method.
363
+ extra_headers: Headers | None = None,
364
+ extra_query: Query | None = None,
365
+ extra_body: Body | None = None,
366
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
367
+ ) -> TaskIDList:
368
+ """
369
+ Create network
370
+
371
+ Args:
372
+ name: Network name
373
+
374
+ create_router: Defaults to True
375
+
376
+ tags: Key-value tags to associate with the resource. A tag is a key-value pair that
377
+ can be associated with a resource, enabling efficient filtering and grouping for
378
+ better organization and management. Some tags are read-only and cannot be
379
+ modified by the user. Tags are also integrated with cost reports, allowing cost
380
+ data to be filtered based on tag keys or values.
381
+
382
+ type: vlan or vxlan network type is allowed. Default value is vxlan
383
+
384
+ extra_headers: Send extra headers
385
+
386
+ extra_query: Add additional query parameters to the request
387
+
388
+ extra_body: Add additional JSON properties to the request
389
+
390
+ timeout: Override the client-level default timeout for this request, in seconds
391
+ """
392
+ if project_id is None:
393
+ project_id = self._client._get_cloud_project_id_path_param()
394
+ if region_id is None:
395
+ region_id = self._client._get_cloud_region_id_path_param()
396
+ return await self._post(
397
+ f"/cloud/v1/networks/{project_id}/{region_id}",
398
+ body=await async_maybe_transform(
399
+ {
400
+ "name": name,
401
+ "create_router": create_router,
402
+ "tags": tags,
403
+ "type": type,
404
+ },
405
+ network_create_params.NetworkCreateParams,
406
+ ),
407
+ options=make_request_options(
408
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
409
+ ),
410
+ cast_to=TaskIDList,
411
+ )
412
+
413
+ async def update(
414
+ self,
415
+ network_id: str,
416
+ *,
417
+ project_id: int | None = None,
418
+ region_id: int | None = None,
419
+ name: str,
420
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
421
+ # The extra values given here take precedence over values defined on the client or passed to this method.
422
+ extra_headers: Headers | None = None,
423
+ extra_query: Query | None = None,
424
+ extra_body: Body | None = None,
425
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
426
+ ) -> Network:
427
+ """
428
+ Change network name
429
+
430
+ Args:
431
+ name: Name.
432
+
433
+ extra_headers: Send extra headers
434
+
435
+ extra_query: Add additional query parameters to the request
436
+
437
+ extra_body: Add additional JSON properties to the request
438
+
439
+ timeout: Override the client-level default timeout for this request, in seconds
440
+ """
441
+ if project_id is None:
442
+ project_id = self._client._get_cloud_project_id_path_param()
443
+ if region_id is None:
444
+ region_id = self._client._get_cloud_region_id_path_param()
445
+ if not network_id:
446
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
447
+ return await self._patch(
448
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
449
+ body=await async_maybe_transform({"name": name}, network_update_params.NetworkUpdateParams),
450
+ options=make_request_options(
451
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
452
+ ),
453
+ cast_to=Network,
454
+ )
455
+
456
+ def list(
457
+ self,
458
+ *,
459
+ project_id: int | None = None,
460
+ region_id: int | None = None,
461
+ limit: int | NotGiven = NOT_GIVEN,
462
+ offset: int | NotGiven = NOT_GIVEN,
463
+ order_by: str | NotGiven = NOT_GIVEN,
464
+ tag_key: List[str] | NotGiven = NOT_GIVEN,
465
+ tag_key_value: str | NotGiven = NOT_GIVEN,
466
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
467
+ # The extra values given here take precedence over values defined on the client or passed to this method.
468
+ extra_headers: Headers | None = None,
469
+ extra_query: Query | None = None,
470
+ extra_body: Body | None = None,
471
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
472
+ ) -> AsyncPaginator[Network, AsyncOffsetPage[Network]]:
473
+ """
474
+ List networks
475
+
476
+ Args:
477
+ limit: Limit the number of returned limit request entities.
478
+
479
+ offset: Offset value is used to exclude the first set of records from the result.
480
+
481
+ order_by: Order networks by fields and directions (name.asc). Default is `created_at.asc`.
482
+
483
+ tag_key: Filter by tag keys.
484
+
485
+ tag_key_value: Filter by tag key-value pairs. Must be a valid JSON string. curl -G
486
+ --data-urlencode "tag_key_value={"key": "value"}" --url
487
+ "http://localhost:1111/v1/networks/1/1"
488
+
489
+ extra_headers: Send extra headers
490
+
491
+ extra_query: Add additional query parameters to the request
492
+
493
+ extra_body: Add additional JSON properties to the request
494
+
495
+ timeout: Override the client-level default timeout for this request, in seconds
496
+ """
497
+ if project_id is None:
498
+ project_id = self._client._get_cloud_project_id_path_param()
499
+ if region_id is None:
500
+ region_id = self._client._get_cloud_region_id_path_param()
501
+ return self._get_api_list(
502
+ f"/cloud/v1/networks/{project_id}/{region_id}",
503
+ page=AsyncOffsetPage[Network],
504
+ options=make_request_options(
505
+ extra_headers=extra_headers,
506
+ extra_query=extra_query,
507
+ extra_body=extra_body,
508
+ timeout=timeout,
509
+ query=maybe_transform(
510
+ {
511
+ "limit": limit,
512
+ "offset": offset,
513
+ "order_by": order_by,
514
+ "tag_key": tag_key,
515
+ "tag_key_value": tag_key_value,
516
+ },
517
+ network_list_params.NetworkListParams,
518
+ ),
519
+ ),
520
+ model=Network,
521
+ )
522
+
523
+ async def delete(
524
+ self,
525
+ network_id: str,
526
+ *,
527
+ project_id: int | None = None,
528
+ region_id: int | None = None,
529
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
530
+ # The extra values given here take precedence over values defined on the client or passed to this method.
531
+ extra_headers: Headers | None = None,
532
+ extra_query: Query | None = None,
533
+ extra_body: Body | None = None,
534
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
535
+ ) -> TaskIDList:
536
+ """
537
+ Delete network
538
+
539
+ Args:
540
+ extra_headers: Send extra headers
541
+
542
+ extra_query: Add additional query parameters to the request
543
+
544
+ extra_body: Add additional JSON properties to the request
545
+
546
+ timeout: Override the client-level default timeout for this request, in seconds
547
+ """
548
+ if project_id is None:
549
+ project_id = self._client._get_cloud_project_id_path_param()
550
+ if region_id is None:
551
+ region_id = self._client._get_cloud_region_id_path_param()
552
+ if not network_id:
553
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
554
+ return await self._delete(
555
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
556
+ options=make_request_options(
557
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
558
+ ),
559
+ cast_to=TaskIDList,
560
+ )
561
+
562
+ async def get(
563
+ self,
564
+ network_id: str,
565
+ *,
566
+ project_id: int | None = None,
567
+ region_id: int | None = None,
568
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
569
+ # The extra values given here take precedence over values defined on the client or passed to this method.
570
+ extra_headers: Headers | None = None,
571
+ extra_query: Query | None = None,
572
+ extra_body: Body | None = None,
573
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
574
+ ) -> Network:
575
+ """
576
+ Get network
577
+
578
+ Args:
579
+ extra_headers: Send extra headers
580
+
581
+ extra_query: Add additional query parameters to the request
582
+
583
+ extra_body: Add additional JSON properties to the request
584
+
585
+ timeout: Override the client-level default timeout for this request, in seconds
586
+ """
587
+ if project_id is None:
588
+ project_id = self._client._get_cloud_project_id_path_param()
589
+ if region_id is None:
590
+ region_id = self._client._get_cloud_region_id_path_param()
591
+ if not network_id:
592
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
593
+ return await self._get(
594
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
595
+ options=make_request_options(
596
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
597
+ ),
598
+ cast_to=Network,
599
+ )
600
+
601
+
602
+ class NetworksResourceWithRawResponse:
603
+ def __init__(self, networks: NetworksResource) -> None:
604
+ self._networks = networks
605
+
606
+ self.create = to_raw_response_wrapper(
607
+ networks.create,
608
+ )
609
+ self.update = to_raw_response_wrapper(
610
+ networks.update,
611
+ )
612
+ self.list = to_raw_response_wrapper(
613
+ networks.list,
614
+ )
615
+ self.delete = to_raw_response_wrapper(
616
+ networks.delete,
617
+ )
618
+ self.get = to_raw_response_wrapper(
619
+ networks.get,
620
+ )
621
+
622
+ @cached_property
623
+ def subnets(self) -> SubnetsResourceWithRawResponse:
624
+ return SubnetsResourceWithRawResponse(self._networks.subnets)
625
+
626
+ @cached_property
627
+ def routers(self) -> RoutersResourceWithRawResponse:
628
+ return RoutersResourceWithRawResponse(self._networks.routers)
629
+
630
+
631
+ class AsyncNetworksResourceWithRawResponse:
632
+ def __init__(self, networks: AsyncNetworksResource) -> None:
633
+ self._networks = networks
634
+
635
+ self.create = async_to_raw_response_wrapper(
636
+ networks.create,
637
+ )
638
+ self.update = async_to_raw_response_wrapper(
639
+ networks.update,
640
+ )
641
+ self.list = async_to_raw_response_wrapper(
642
+ networks.list,
643
+ )
644
+ self.delete = async_to_raw_response_wrapper(
645
+ networks.delete,
646
+ )
647
+ self.get = async_to_raw_response_wrapper(
648
+ networks.get,
649
+ )
650
+
651
+ @cached_property
652
+ def subnets(self) -> AsyncSubnetsResourceWithRawResponse:
653
+ return AsyncSubnetsResourceWithRawResponse(self._networks.subnets)
654
+
655
+ @cached_property
656
+ def routers(self) -> AsyncRoutersResourceWithRawResponse:
657
+ return AsyncRoutersResourceWithRawResponse(self._networks.routers)
658
+
659
+
660
+ class NetworksResourceWithStreamingResponse:
661
+ def __init__(self, networks: NetworksResource) -> None:
662
+ self._networks = networks
663
+
664
+ self.create = to_streamed_response_wrapper(
665
+ networks.create,
666
+ )
667
+ self.update = to_streamed_response_wrapper(
668
+ networks.update,
669
+ )
670
+ self.list = to_streamed_response_wrapper(
671
+ networks.list,
672
+ )
673
+ self.delete = to_streamed_response_wrapper(
674
+ networks.delete,
675
+ )
676
+ self.get = to_streamed_response_wrapper(
677
+ networks.get,
678
+ )
679
+
680
+ @cached_property
681
+ def subnets(self) -> SubnetsResourceWithStreamingResponse:
682
+ return SubnetsResourceWithStreamingResponse(self._networks.subnets)
683
+
684
+ @cached_property
685
+ def routers(self) -> RoutersResourceWithStreamingResponse:
686
+ return RoutersResourceWithStreamingResponse(self._networks.routers)
687
+
688
+
689
+ class AsyncNetworksResourceWithStreamingResponse:
690
+ def __init__(self, networks: AsyncNetworksResource) -> None:
691
+ self._networks = networks
692
+
693
+ self.create = async_to_streamed_response_wrapper(
694
+ networks.create,
695
+ )
696
+ self.update = async_to_streamed_response_wrapper(
697
+ networks.update,
698
+ )
699
+ self.list = async_to_streamed_response_wrapper(
700
+ networks.list,
701
+ )
702
+ self.delete = async_to_streamed_response_wrapper(
703
+ networks.delete,
704
+ )
705
+ self.get = async_to_streamed_response_wrapper(
706
+ networks.get,
707
+ )
708
+
709
+ @cached_property
710
+ def subnets(self) -> AsyncSubnetsResourceWithStreamingResponse:
711
+ return AsyncSubnetsResourceWithStreamingResponse(self._networks.subnets)
712
+
713
+ @cached_property
714
+ def routers(self) -> AsyncRoutersResourceWithStreamingResponse:
715
+ return AsyncRoutersResourceWithStreamingResponse(self._networks.routers)