gcore 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gcore might be problematic. Click here for more details.

Files changed (437) hide show
  1. gcore/__init__.py +89 -0
  2. gcore/_base_client.py +1943 -0
  3. gcore/_client.py +493 -0
  4. gcore/_compat.py +219 -0
  5. gcore/_constants.py +16 -0
  6. gcore/_exceptions.py +108 -0
  7. gcore/_files.py +123 -0
  8. gcore/_models.py +803 -0
  9. gcore/_qs.py +150 -0
  10. gcore/_resource.py +43 -0
  11. gcore/_response.py +830 -0
  12. gcore/_streaming.py +333 -0
  13. gcore/_types.py +217 -0
  14. gcore/_utils/__init__.py +57 -0
  15. gcore/_utils/_logs.py +25 -0
  16. gcore/_utils/_proxy.py +65 -0
  17. gcore/_utils/_reflection.py +42 -0
  18. gcore/_utils/_resources_proxy.py +24 -0
  19. gcore/_utils/_streams.py +12 -0
  20. gcore/_utils/_sync.py +86 -0
  21. gcore/_utils/_transform.py +447 -0
  22. gcore/_utils/_typing.py +151 -0
  23. gcore/_utils/_utils.py +422 -0
  24. gcore/_version.py +4 -0
  25. gcore/lib/.keep +4 -0
  26. gcore/lib/polling.py +19 -0
  27. gcore/pagination.py +70 -0
  28. gcore/py.typed +0 -0
  29. gcore/resources/__init__.py +33 -0
  30. gcore/resources/cloud/__init__.py +327 -0
  31. gcore/resources/cloud/baremetal/__init__.py +61 -0
  32. gcore/resources/cloud/baremetal/baremetal.py +166 -0
  33. gcore/resources/cloud/baremetal/flavors.py +371 -0
  34. gcore/resources/cloud/baremetal/images.py +238 -0
  35. gcore/resources/cloud/baremetal/servers.py +1042 -0
  36. gcore/resources/cloud/billing_reservations.py +386 -0
  37. gcore/resources/cloud/cloud.py +774 -0
  38. gcore/resources/cloud/file_shares/__init__.py +33 -0
  39. gcore/resources/cloud/file_shares/access_rules.py +434 -0
  40. gcore/resources/cloud/file_shares/file_shares.py +994 -0
  41. gcore/resources/cloud/floating_ips.py +765 -0
  42. gcore/resources/cloud/gpu_baremetal_clusters/__init__.py +75 -0
  43. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +211 -0
  44. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +1493 -0
  45. gcore/resources/cloud/gpu_baremetal_clusters/images.py +785 -0
  46. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +175 -0
  47. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +1178 -0
  48. gcore/resources/cloud/inference/__init__.py +89 -0
  49. gcore/resources/cloud/inference/deployments/__init__.py +33 -0
  50. gcore/resources/cloud/inference/deployments/deployments.py +1493 -0
  51. gcore/resources/cloud/inference/deployments/logs.py +235 -0
  52. gcore/resources/cloud/inference/flavors.py +280 -0
  53. gcore/resources/cloud/inference/inference.py +295 -0
  54. gcore/resources/cloud/inference/models.py +289 -0
  55. gcore/resources/cloud/inference/registry_credentials.py +649 -0
  56. gcore/resources/cloud/inference/secrets.py +629 -0
  57. gcore/resources/cloud/instances/__init__.py +75 -0
  58. gcore/resources/cloud/instances/flavors.py +449 -0
  59. gcore/resources/cloud/instances/images.py +1297 -0
  60. gcore/resources/cloud/instances/instances.py +2821 -0
  61. gcore/resources/cloud/instances/interfaces.py +797 -0
  62. gcore/resources/cloud/instances/metrics.py +217 -0
  63. gcore/resources/cloud/ip_ranges.py +135 -0
  64. gcore/resources/cloud/load_balancers/__init__.py +103 -0
  65. gcore/resources/cloud/load_balancers/flavors.py +193 -0
  66. gcore/resources/cloud/load_balancers/l7_policies/__init__.py +33 -0
  67. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +1020 -0
  68. gcore/resources/cloud/load_balancers/l7_policies/rules.py +1036 -0
  69. gcore/resources/cloud/load_balancers/listeners.py +1089 -0
  70. gcore/resources/cloud/load_balancers/load_balancers.py +1583 -0
  71. gcore/resources/cloud/load_balancers/metrics.py +205 -0
  72. gcore/resources/cloud/load_balancers/pools/__init__.py +47 -0
  73. gcore/resources/cloud/load_balancers/pools/health_monitors.py +352 -0
  74. gcore/resources/cloud/load_balancers/pools/members.py +353 -0
  75. gcore/resources/cloud/load_balancers/pools/pools.py +1190 -0
  76. gcore/resources/cloud/load_balancers/statuses.py +260 -0
  77. gcore/resources/cloud/networks/__init__.py +47 -0
  78. gcore/resources/cloud/networks/networks.py +771 -0
  79. gcore/resources/cloud/networks/routers.py +875 -0
  80. gcore/resources/cloud/networks/subnets.py +865 -0
  81. gcore/resources/cloud/placement_groups.py +465 -0
  82. gcore/resources/cloud/projects.py +608 -0
  83. gcore/resources/cloud/quotas/__init__.py +33 -0
  84. gcore/resources/cloud/quotas/quotas.py +335 -0
  85. gcore/resources/cloud/quotas/requests.py +482 -0
  86. gcore/resources/cloud/regions.py +328 -0
  87. gcore/resources/cloud/registries/__init__.py +75 -0
  88. gcore/resources/cloud/registries/artifacts.py +277 -0
  89. gcore/resources/cloud/registries/registries.py +688 -0
  90. gcore/resources/cloud/registries/repositories.py +265 -0
  91. gcore/resources/cloud/registries/tags.py +190 -0
  92. gcore/resources/cloud/registries/users.py +701 -0
  93. gcore/resources/cloud/reserved_fixed_ips/__init__.py +33 -0
  94. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +965 -0
  95. gcore/resources/cloud/reserved_fixed_ips/vip.py +577 -0
  96. gcore/resources/cloud/secrets.py +797 -0
  97. gcore/resources/cloud/security_groups/__init__.py +33 -0
  98. gcore/resources/cloud/security_groups/rules.py +626 -0
  99. gcore/resources/cloud/security_groups/security_groups.py +863 -0
  100. gcore/resources/cloud/ssh_keys.py +635 -0
  101. gcore/resources/cloud/tasks.py +700 -0
  102. gcore/resources/cloud/users/__init__.py +33 -0
  103. gcore/resources/cloud/users/role_assignments.py +533 -0
  104. gcore/resources/cloud/users/users.py +102 -0
  105. gcore/resources/cloud/volumes.py +1710 -0
  106. gcore/resources/waap/__init__.py +33 -0
  107. gcore/resources/waap/domains/__init__.py +33 -0
  108. gcore/resources/waap/domains/domains.py +515 -0
  109. gcore/resources/waap/domains/settings.py +271 -0
  110. gcore/resources/waap/waap.py +102 -0
  111. gcore/types/__init__.py +3 -0
  112. gcore/types/cloud/__init__.py +199 -0
  113. gcore/types/cloud/allowed_address_pairs.py +15 -0
  114. gcore/types/cloud/aws_iam_data.py +13 -0
  115. gcore/types/cloud/aws_iam_data_param.py +15 -0
  116. gcore/types/cloud/baremetal/__init__.py +13 -0
  117. gcore/types/cloud/baremetal/baremetal_fixed_address.py +30 -0
  118. gcore/types/cloud/baremetal/baremetal_floating_address.py +15 -0
  119. gcore/types/cloud/baremetal/baremetal_server.py +178 -0
  120. gcore/types/cloud/baremetal/flavor_list_params.py +35 -0
  121. gcore/types/cloud/baremetal/flavor_list_suitable_params.py +22 -0
  122. gcore/types/cloud/baremetal/image_list_params.py +33 -0
  123. gcore/types/cloud/baremetal/server_create_params.py +370 -0
  124. gcore/types/cloud/baremetal/server_list_params.py +114 -0
  125. gcore/types/cloud/baremetal/server_rebuild_params.py +23 -0
  126. gcore/types/cloud/baremetal_flavor.py +58 -0
  127. gcore/types/cloud/baremetal_flavor_list.py +16 -0
  128. gcore/types/cloud/billing_reservation.py +153 -0
  129. gcore/types/cloud/billing_reservation_list_params.py +59 -0
  130. gcore/types/cloud/blackhole_port.py +66 -0
  131. gcore/types/cloud/capacity.py +13 -0
  132. gcore/types/cloud/console.py +18 -0
  133. gcore/types/cloud/container_probe.py +36 -0
  134. gcore/types/cloud/container_probe_config.py +16 -0
  135. gcore/types/cloud/container_probe_config_create_param.py +18 -0
  136. gcore/types/cloud/container_probe_create_param.py +38 -0
  137. gcore/types/cloud/container_probe_exec.py +12 -0
  138. gcore/types/cloud/container_probe_exec_create_param.py +13 -0
  139. gcore/types/cloud/container_probe_http_get.py +26 -0
  140. gcore/types/cloud/container_probe_http_get_create_param.py +25 -0
  141. gcore/types/cloud/container_probe_tcp_socket.py +10 -0
  142. gcore/types/cloud/container_probe_tcp_socket_create_param.py +12 -0
  143. gcore/types/cloud/container_scale.py +25 -0
  144. gcore/types/cloud/container_scale_trigger_rate.py +13 -0
  145. gcore/types/cloud/container_scale_trigger_sqs.py +33 -0
  146. gcore/types/cloud/container_scale_trigger_threshold.py +10 -0
  147. gcore/types/cloud/container_scale_triggers.py +36 -0
  148. gcore/types/cloud/ddos_profile.py +33 -0
  149. gcore/types/cloud/ddos_profile_field.py +31 -0
  150. gcore/types/cloud/ddos_profile_option_list.py +15 -0
  151. gcore/types/cloud/ddos_profile_status.py +13 -0
  152. gcore/types/cloud/ddos_profile_template.py +18 -0
  153. gcore/types/cloud/ddos_profile_template_field.py +23 -0
  154. gcore/types/cloud/deploy_status.py +13 -0
  155. gcore/types/cloud/file_share.py +111 -0
  156. gcore/types/cloud/file_share_create_params.py +104 -0
  157. gcore/types/cloud/file_share_list_params.py +24 -0
  158. gcore/types/cloud/file_share_resize_params.py +18 -0
  159. gcore/types/cloud/file_share_update_params.py +18 -0
  160. gcore/types/cloud/file_shares/__init__.py +7 -0
  161. gcore/types/cloud/file_shares/access_rule.py +21 -0
  162. gcore/types/cloud/file_shares/access_rule_create_params.py +21 -0
  163. gcore/types/cloud/file_shares/access_rule_list.py +16 -0
  164. gcore/types/cloud/fixed_address.py +38 -0
  165. gcore/types/cloud/fixed_address_short.py +24 -0
  166. gcore/types/cloud/flavor_hardware_description.py +27 -0
  167. gcore/types/cloud/floating_address.py +15 -0
  168. gcore/types/cloud/floating_ip.py +77 -0
  169. gcore/types/cloud/floating_ip_assign_params.py +20 -0
  170. gcore/types/cloud/floating_ip_create_params.py +40 -0
  171. gcore/types/cloud/floating_ip_detailed.py +222 -0
  172. gcore/types/cloud/floating_ip_list_params.py +35 -0
  173. gcore/types/cloud/floating_ip_status.py +7 -0
  174. gcore/types/cloud/gpu_baremetal_cluster.py +116 -0
  175. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +155 -0
  176. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +28 -0
  177. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +19 -0
  178. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +26 -0
  179. gcore/types/cloud/gpu_baremetal_cluster_resize_params.py +16 -0
  180. gcore/types/cloud/gpu_baremetal_cluster_server.py +200 -0
  181. gcore/types/cloud/gpu_baremetal_cluster_server_list.py +16 -0
  182. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +9 -0
  183. gcore/types/cloud/gpu_baremetal_clusters/flavor_list_params.py +21 -0
  184. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +58 -0
  185. gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +253 -0
  186. gcore/types/cloud/gpu_baremetal_clusters/server_delete_params.py +21 -0
  187. gcore/types/cloud/gpu_baremetal_clusters/server_detach_interface_params.py +19 -0
  188. gcore/types/cloud/gpu_baremetal_flavor.py +133 -0
  189. gcore/types/cloud/gpu_baremetal_flavor_list.py +16 -0
  190. gcore/types/cloud/gpu_image.py +70 -0
  191. gcore/types/cloud/gpu_image_list.py +16 -0
  192. gcore/types/cloud/health_monitor.py +48 -0
  193. gcore/types/cloud/health_monitor_status.py +22 -0
  194. gcore/types/cloud/http_method.py +7 -0
  195. gcore/types/cloud/image.py +100 -0
  196. gcore/types/cloud/image_list.py +16 -0
  197. gcore/types/cloud/inference/__init__.py +25 -0
  198. gcore/types/cloud/inference/container.py +26 -0
  199. gcore/types/cloud/inference/deployment_create_params.py +222 -0
  200. gcore/types/cloud/inference/deployment_list_params.py +21 -0
  201. gcore/types/cloud/inference/deployment_update_params.py +215 -0
  202. gcore/types/cloud/inference/deployments/__init__.py +5 -0
  203. gcore/types/cloud/inference/deployments/log_list_params.py +28 -0
  204. gcore/types/cloud/inference/flavor_list_params.py +18 -0
  205. gcore/types/cloud/inference/inference.py +95 -0
  206. gcore/types/cloud/inference/inference_apikey_secret.py +15 -0
  207. gcore/types/cloud/inference/inference_flavor.py +34 -0
  208. gcore/types/cloud/inference/inference_log.py +21 -0
  209. gcore/types/cloud/inference/inference_registry_credential.py +19 -0
  210. gcore/types/cloud/inference/inference_registry_credential_full.py +22 -0
  211. gcore/types/cloud/inference/inference_secret.py +17 -0
  212. gcore/types/cloud/inference/mlcatalog_model_card.py +65 -0
  213. gcore/types/cloud/inference/mlcatalog_order_by_choices.py +7 -0
  214. gcore/types/cloud/inference/model_list_params.py +23 -0
  215. gcore/types/cloud/inference/registry_credential_create_params.py +24 -0
  216. gcore/types/cloud/inference/registry_credential_list_params.py +21 -0
  217. gcore/types/cloud/inference/registry_credential_replace_params.py +21 -0
  218. gcore/types/cloud/inference/secret_create_params.py +23 -0
  219. gcore/types/cloud/inference/secret_list_params.py +21 -0
  220. gcore/types/cloud/inference/secret_replace_params.py +20 -0
  221. gcore/types/cloud/inference_probes.py +19 -0
  222. gcore/types/cloud/ingress_opts_out.py +16 -0
  223. gcore/types/cloud/ingress_opts_param.py +18 -0
  224. gcore/types/cloud/instance.py +296 -0
  225. gcore/types/cloud/instance_action_params.py +32 -0
  226. gcore/types/cloud/instance_add_to_placement_group_params.py +16 -0
  227. gcore/types/cloud/instance_assign_security_group_params.py +28 -0
  228. gcore/types/cloud/instance_create_params.py +622 -0
  229. gcore/types/cloud/instance_delete_params.py +33 -0
  230. gcore/types/cloud/instance_get_console_params.py +16 -0
  231. gcore/types/cloud/instance_interface.py +40 -0
  232. gcore/types/cloud/instance_isolation.py +12 -0
  233. gcore/types/cloud/instance_list.py +16 -0
  234. gcore/types/cloud/instance_list_params.py +146 -0
  235. gcore/types/cloud/instance_metrics_time_unit.py +7 -0
  236. gcore/types/cloud/instance_resize_params.py +16 -0
  237. gcore/types/cloud/instance_unassign_security_group_params.py +28 -0
  238. gcore/types/cloud/instance_update_params.py +18 -0
  239. gcore/types/cloud/instances/__init__.py +19 -0
  240. gcore/types/cloud/instances/flavor_list_for_resize_params.py +16 -0
  241. gcore/types/cloud/instances/flavor_list_params.py +25 -0
  242. gcore/types/cloud/instances/flavor_list_suitable_params.py +56 -0
  243. gcore/types/cloud/instances/image_create_from_volume_params.py +53 -0
  244. gcore/types/cloud/instances/image_get_params.py +16 -0
  245. gcore/types/cloud/instances/image_list_params.py +33 -0
  246. gcore/types/cloud/instances/image_update_params.py +43 -0
  247. gcore/types/cloud/instances/image_upload_params.py +62 -0
  248. gcore/types/cloud/instances/instance_flavor.py +49 -0
  249. gcore/types/cloud/instances/instance_flavor_list.py +16 -0
  250. gcore/types/cloud/instances/interface_attach_params.py +253 -0
  251. gcore/types/cloud/instances/interface_detach_params.py +19 -0
  252. gcore/types/cloud/instances/metric_list_params.py +23 -0
  253. gcore/types/cloud/instances/metrics.py +52 -0
  254. gcore/types/cloud/instances/metrics_list.py +16 -0
  255. gcore/types/cloud/interface_ip_family.py +7 -0
  256. gcore/types/cloud/ip_assignment.py +13 -0
  257. gcore/types/cloud/ip_ranges.py +12 -0
  258. gcore/types/cloud/ip_version.py +7 -0
  259. gcore/types/cloud/laas_index_retention_policy.py +12 -0
  260. gcore/types/cloud/laas_index_retention_policy_param.py +13 -0
  261. gcore/types/cloud/lb_algorithm.py +7 -0
  262. gcore/types/cloud/lb_health_monitor_type.py +7 -0
  263. gcore/types/cloud/lb_listener_protocol.py +7 -0
  264. gcore/types/cloud/lb_pool_protocol.py +7 -0
  265. gcore/types/cloud/lb_session_persistence_type.py +7 -0
  266. gcore/types/cloud/listener_status.py +27 -0
  267. gcore/types/cloud/load_balancer.py +144 -0
  268. gcore/types/cloud/load_balancer_create_params.py +327 -0
  269. gcore/types/cloud/load_balancer_failover_params.py +16 -0
  270. gcore/types/cloud/load_balancer_flavor_detail.py +40 -0
  271. gcore/types/cloud/load_balancer_flavor_list.py +16 -0
  272. gcore/types/cloud/load_balancer_get_params.py +19 -0
  273. gcore/types/cloud/load_balancer_instance_role.py +7 -0
  274. gcore/types/cloud/load_balancer_l7_policy.py +86 -0
  275. gcore/types/cloud/load_balancer_l7_policy_list.py +16 -0
  276. gcore/types/cloud/load_balancer_l7_rule.py +72 -0
  277. gcore/types/cloud/load_balancer_l7_rule_list.py +16 -0
  278. gcore/types/cloud/load_balancer_list_params.py +53 -0
  279. gcore/types/cloud/load_balancer_listener_detail.py +97 -0
  280. gcore/types/cloud/load_balancer_listener_list.py +16 -0
  281. gcore/types/cloud/load_balancer_member_connectivity.py +7 -0
  282. gcore/types/cloud/load_balancer_metrics.py +32 -0
  283. gcore/types/cloud/load_balancer_metrics_list.py +16 -0
  284. gcore/types/cloud/load_balancer_operating_status.py +7 -0
  285. gcore/types/cloud/load_balancer_pool.py +87 -0
  286. gcore/types/cloud/load_balancer_pool_list.py +16 -0
  287. gcore/types/cloud/load_balancer_resize_params.py +16 -0
  288. gcore/types/cloud/load_balancer_statistics.py +22 -0
  289. gcore/types/cloud/load_balancer_status.py +38 -0
  290. gcore/types/cloud/load_balancer_status_list.py +16 -0
  291. gcore/types/cloud/load_balancer_update_params.py +43 -0
  292. gcore/types/cloud/load_balancers/__init__.py +15 -0
  293. gcore/types/cloud/load_balancers/flavor_list_params.py +16 -0
  294. gcore/types/cloud/load_balancers/l7_policies/__init__.py +6 -0
  295. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +50 -0
  296. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +43 -0
  297. gcore/types/cloud/load_balancers/l7_policy_create_params.py +54 -0
  298. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +51 -0
  299. gcore/types/cloud/load_balancers/listener_create_params.py +72 -0
  300. gcore/types/cloud/load_balancers/listener_get_params.py +16 -0
  301. gcore/types/cloud/load_balancers/listener_list_params.py +19 -0
  302. gcore/types/cloud/load_balancers/listener_update_params.py +55 -0
  303. gcore/types/cloud/load_balancers/metric_list_params.py +21 -0
  304. gcore/types/cloud/load_balancers/pool_create_params.py +141 -0
  305. gcore/types/cloud/load_balancers/pool_list_params.py +25 -0
  306. gcore/types/cloud/load_balancers/pool_update_params.py +139 -0
  307. gcore/types/cloud/load_balancers/pools/__init__.py +6 -0
  308. gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +49 -0
  309. gcore/types/cloud/load_balancers/pools/member_add_params.py +44 -0
  310. gcore/types/cloud/logging.py +22 -0
  311. gcore/types/cloud/member.py +47 -0
  312. gcore/types/cloud/member_status.py +24 -0
  313. gcore/types/cloud/network.py +79 -0
  314. gcore/types/cloud/network_create_params.py +36 -0
  315. gcore/types/cloud/network_details.py +80 -0
  316. gcore/types/cloud/network_interface.py +78 -0
  317. gcore/types/cloud/network_interface_list.py +16 -0
  318. gcore/types/cloud/network_list_params.py +41 -0
  319. gcore/types/cloud/network_update_params.py +18 -0
  320. gcore/types/cloud/networks/__init__.py +14 -0
  321. gcore/types/cloud/networks/router.py +83 -0
  322. gcore/types/cloud/networks/router_attach_subnet_params.py +24 -0
  323. gcore/types/cloud/networks/router_create_params.py +75 -0
  324. gcore/types/cloud/networks/router_detach_subnet_params.py +16 -0
  325. gcore/types/cloud/networks/router_list.py +16 -0
  326. gcore/types/cloud/networks/router_list_params.py +19 -0
  327. gcore/types/cloud/networks/router_update_params.py +45 -0
  328. gcore/types/cloud/networks/subnet_create_params.py +82 -0
  329. gcore/types/cloud/networks/subnet_list_params.py +58 -0
  330. gcore/types/cloud/networks/subnet_update_params.py +47 -0
  331. gcore/types/cloud/placement_group.py +41 -0
  332. gcore/types/cloud/placement_group_create_params.py +19 -0
  333. gcore/types/cloud/placement_group_list.py +16 -0
  334. gcore/types/cloud/pool_status.py +31 -0
  335. gcore/types/cloud/project.py +47 -0
  336. gcore/types/cloud/project_create_params.py +22 -0
  337. gcore/types/cloud/project_list_params.py +27 -0
  338. gcore/types/cloud/project_replace_params.py +18 -0
  339. gcore/types/cloud/provisioning_status.py +9 -0
  340. gcore/types/cloud/quota_get_all_response.py +340 -0
  341. gcore/types/cloud/quota_get_by_region_response.py +288 -0
  342. gcore/types/cloud/quota_get_global_response.py +51 -0
  343. gcore/types/cloud/quotas/__init__.py +8 -0
  344. gcore/types/cloud/quotas/request_create_params.py +193 -0
  345. gcore/types/cloud/quotas/request_get_response.py +205 -0
  346. gcore/types/cloud/quotas/request_list_params.py +22 -0
  347. gcore/types/cloud/quotas/request_list_response.py +205 -0
  348. gcore/types/cloud/region.py +101 -0
  349. gcore/types/cloud/region_capacity.py +16 -0
  350. gcore/types/cloud/region_capacity_list.py +16 -0
  351. gcore/types/cloud/region_get_params.py +18 -0
  352. gcore/types/cloud/region_list_params.py +31 -0
  353. gcore/types/cloud/registries/__init__.py +14 -0
  354. gcore/types/cloud/registries/registry_artifact.py +35 -0
  355. gcore/types/cloud/registries/registry_artifact_list.py +16 -0
  356. gcore/types/cloud/registries/registry_repository.py +30 -0
  357. gcore/types/cloud/registries/registry_repository_list.py +16 -0
  358. gcore/types/cloud/registries/registry_user.py +28 -0
  359. gcore/types/cloud/registries/registry_user_created.py +31 -0
  360. gcore/types/cloud/registries/registry_user_list.py +16 -0
  361. gcore/types/cloud/registries/user_create_multiple_params.py +36 -0
  362. gcore/types/cloud/registries/user_create_params.py +30 -0
  363. gcore/types/cloud/registries/user_update_params.py +21 -0
  364. gcore/types/cloud/registry.py +33 -0
  365. gcore/types/cloud/registry_create_params.py +24 -0
  366. gcore/types/cloud/registry_list.py +16 -0
  367. gcore/types/cloud/registry_resize_params.py +16 -0
  368. gcore/types/cloud/registry_tag.py +27 -0
  369. gcore/types/cloud/reserved_fixed_ip.py +98 -0
  370. gcore/types/cloud/reserved_fixed_ip_create_params.py +107 -0
  371. gcore/types/cloud/reserved_fixed_ip_list_params.py +47 -0
  372. gcore/types/cloud/reserved_fixed_ips/__init__.py +12 -0
  373. gcore/types/cloud/reserved_fixed_ips/candidate_port.py +26 -0
  374. gcore/types/cloud/reserved_fixed_ips/candidate_port_list.py +16 -0
  375. gcore/types/cloud/reserved_fixed_ips/connected_port.py +26 -0
  376. gcore/types/cloud/reserved_fixed_ips/connected_port_list.py +16 -0
  377. gcore/types/cloud/reserved_fixed_ips/ip_with_subnet.py +17 -0
  378. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +17 -0
  379. gcore/types/cloud/reserved_fixed_ips/vip_toggle_params.py +16 -0
  380. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +17 -0
  381. gcore/types/cloud/route.py +16 -0
  382. gcore/types/cloud/secret.py +64 -0
  383. gcore/types/cloud/secret_create_params.py +66 -0
  384. gcore/types/cloud/secret_list_response.py +16 -0
  385. gcore/types/cloud/secret_upload_tls_certificate_params.py +39 -0
  386. gcore/types/cloud/security_group.py +45 -0
  387. gcore/types/cloud/security_group_copy_params.py +16 -0
  388. gcore/types/cloud/security_group_create_params.py +94 -0
  389. gcore/types/cloud/security_group_list_params.py +30 -0
  390. gcore/types/cloud/security_group_rule.py +83 -0
  391. gcore/types/cloud/security_group_update_params.py +83 -0
  392. gcore/types/cloud/security_groups/__init__.py +6 -0
  393. gcore/types/cloud/security_groups/rule_create_params.py +65 -0
  394. gcore/types/cloud/security_groups/rule_replace_params.py +72 -0
  395. gcore/types/cloud/session_persistence.py +22 -0
  396. gcore/types/cloud/ssh_key.py +39 -0
  397. gcore/types/cloud/ssh_key_create_params.py +31 -0
  398. gcore/types/cloud/ssh_key_created.py +53 -0
  399. gcore/types/cloud/ssh_key_list_params.py +21 -0
  400. gcore/types/cloud/ssh_key_update_params.py +15 -0
  401. gcore/types/cloud/subnet.py +87 -0
  402. gcore/types/cloud/tag.py +16 -0
  403. gcore/types/cloud/tag_update_map_param.py +10 -0
  404. gcore/types/cloud/task.py +191 -0
  405. gcore/types/cloud/task_acknowledge_all_params.py +16 -0
  406. gcore/types/cloud/task_id_list.py +12 -0
  407. gcore/types/cloud/task_list_params.py +104 -0
  408. gcore/types/cloud/users/__init__.py +9 -0
  409. gcore/types/cloud/users/role_assignment.py +33 -0
  410. gcore/types/cloud/users/role_assignment_create_params.py +22 -0
  411. gcore/types/cloud/users/role_assignment_list_params.py +25 -0
  412. gcore/types/cloud/users/role_assignment_update_delete.py +10 -0
  413. gcore/types/cloud/users/role_assignment_update_params.py +22 -0
  414. gcore/types/cloud/volume.py +141 -0
  415. gcore/types/cloud/volume_attach_to_instance_params.py +21 -0
  416. gcore/types/cloud/volume_change_type_params.py +18 -0
  417. gcore/types/cloud/volume_create_params.py +176 -0
  418. gcore/types/cloud/volume_delete_params.py +18 -0
  419. gcore/types/cloud/volume_detach_from_instance_params.py +18 -0
  420. gcore/types/cloud/volume_list_params.py +56 -0
  421. gcore/types/cloud/volume_resize_params.py +18 -0
  422. gcore/types/cloud/volume_update_params.py +18 -0
  423. gcore/types/waap/__init__.py +12 -0
  424. gcore/types/waap/domain_list_params.py +30 -0
  425. gcore/types/waap/domain_update_params.py +12 -0
  426. gcore/types/waap/domains/__init__.py +5 -0
  427. gcore/types/waap/domains/setting_update_params.py +41 -0
  428. gcore/types/waap/waap_api_urls.py +15 -0
  429. gcore/types/waap/waap_detailed_domain.py +37 -0
  430. gcore/types/waap/waap_domain_ddos_settings.py +31 -0
  431. gcore/types/waap/waap_domain_settings.py +15 -0
  432. gcore/types/waap/waap_domain_status.py +7 -0
  433. gcore/types/waap/waap_summary_domain.py +26 -0
  434. gcore-0.1.0.dist-info/METADATA +482 -0
  435. gcore-0.1.0.dist-info/RECORD +437 -0
  436. gcore-0.1.0.dist-info/WHEEL +4 -0
  437. gcore-0.1.0.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,771 @@
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
+ project_id: Project ID
95
+
96
+ region_id: Region ID
97
+
98
+ name: Network name
99
+
100
+ create_router: Defaults to True
101
+
102
+ tags: Key-value tags to associate with the resource. A tag is a key-value pair that
103
+ can be associated with a resource, enabling efficient filtering and grouping for
104
+ better organization and management. Some tags are read-only and cannot be
105
+ modified by the user. Tags are also integrated with cost reports, allowing cost
106
+ data to be filtered based on tag keys or values.
107
+
108
+ type: vlan or vxlan network type is allowed. Default value is vxlan
109
+
110
+ extra_headers: Send extra headers
111
+
112
+ extra_query: Add additional query parameters to the request
113
+
114
+ extra_body: Add additional JSON properties to the request
115
+
116
+ timeout: Override the client-level default timeout for this request, in seconds
117
+ """
118
+ if project_id is None:
119
+ project_id = self._client._get_cloud_project_id_path_param()
120
+ if region_id is None:
121
+ region_id = self._client._get_cloud_region_id_path_param()
122
+ return self._post(
123
+ f"/cloud/v1/networks/{project_id}/{region_id}",
124
+ body=maybe_transform(
125
+ {
126
+ "name": name,
127
+ "create_router": create_router,
128
+ "tags": tags,
129
+ "type": type,
130
+ },
131
+ network_create_params.NetworkCreateParams,
132
+ ),
133
+ options=make_request_options(
134
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
135
+ ),
136
+ cast_to=TaskIDList,
137
+ )
138
+
139
+ def update(
140
+ self,
141
+ network_id: str,
142
+ *,
143
+ project_id: int | None = None,
144
+ region_id: int | None = None,
145
+ name: str,
146
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
147
+ # The extra values given here take precedence over values defined on the client or passed to this method.
148
+ extra_headers: Headers | None = None,
149
+ extra_query: Query | None = None,
150
+ extra_body: Body | None = None,
151
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
152
+ ) -> Network:
153
+ """
154
+ Change network name
155
+
156
+ Args:
157
+ project_id: Project ID
158
+
159
+ region_id: Region ID
160
+
161
+ network_id: Network ID
162
+
163
+ name: Name.
164
+
165
+ extra_headers: Send extra headers
166
+
167
+ extra_query: Add additional query parameters to the request
168
+
169
+ extra_body: Add additional JSON properties to the request
170
+
171
+ timeout: Override the client-level default timeout for this request, in seconds
172
+ """
173
+ if project_id is None:
174
+ project_id = self._client._get_cloud_project_id_path_param()
175
+ if region_id is None:
176
+ region_id = self._client._get_cloud_region_id_path_param()
177
+ if not network_id:
178
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
179
+ return self._patch(
180
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
181
+ body=maybe_transform({"name": name}, network_update_params.NetworkUpdateParams),
182
+ options=make_request_options(
183
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
184
+ ),
185
+ cast_to=Network,
186
+ )
187
+
188
+ def list(
189
+ self,
190
+ *,
191
+ project_id: int | None = None,
192
+ region_id: int | None = None,
193
+ limit: int | NotGiven = NOT_GIVEN,
194
+ offset: int | NotGiven = NOT_GIVEN,
195
+ order_by: Literal["created_at.asc", "created_at.desc", "name.asc", "name.desc"] | NotGiven = NOT_GIVEN,
196
+ tag_key: List[str] | NotGiven = NOT_GIVEN,
197
+ tag_key_value: str | NotGiven = NOT_GIVEN,
198
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
199
+ # The extra values given here take precedence over values defined on the client or passed to this method.
200
+ extra_headers: Headers | None = None,
201
+ extra_query: Query | None = None,
202
+ extra_body: Body | None = None,
203
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
204
+ ) -> SyncOffsetPage[Network]:
205
+ """
206
+ List networks
207
+
208
+ Args:
209
+ project_id: Project ID
210
+
211
+ region_id: Region ID
212
+
213
+ limit: Optional. Limit the number of returned items
214
+
215
+ offset: Optional. Offset value is used to exclude the first set of records from the
216
+ result
217
+
218
+ order_by: Ordering networks list result by `name`, `created_at` fields of the network and
219
+ directions (`created_at.desc`).
220
+
221
+ tag_key: Optional. Filter by tag keys. ?tag_key=key1&tag_key=key2
222
+
223
+ tag_key_value: Optional. Filter by tag key-value pairs. curl -G --data-urlencode
224
+ "tag_key_value={"key": "value"}" --url
225
+ "https://example.com/cloud/v1/resource/1/1"
226
+
227
+ extra_headers: Send extra headers
228
+
229
+ extra_query: Add additional query parameters to the request
230
+
231
+ extra_body: Add additional JSON properties to the request
232
+
233
+ timeout: Override the client-level default timeout for this request, in seconds
234
+ """
235
+ if project_id is None:
236
+ project_id = self._client._get_cloud_project_id_path_param()
237
+ if region_id is None:
238
+ region_id = self._client._get_cloud_region_id_path_param()
239
+ return self._get_api_list(
240
+ f"/cloud/v1/networks/{project_id}/{region_id}",
241
+ page=SyncOffsetPage[Network],
242
+ options=make_request_options(
243
+ extra_headers=extra_headers,
244
+ extra_query=extra_query,
245
+ extra_body=extra_body,
246
+ timeout=timeout,
247
+ query=maybe_transform(
248
+ {
249
+ "limit": limit,
250
+ "offset": offset,
251
+ "order_by": order_by,
252
+ "tag_key": tag_key,
253
+ "tag_key_value": tag_key_value,
254
+ },
255
+ network_list_params.NetworkListParams,
256
+ ),
257
+ ),
258
+ model=Network,
259
+ )
260
+
261
+ def delete(
262
+ self,
263
+ network_id: str,
264
+ *,
265
+ project_id: int | None = None,
266
+ region_id: int | None = None,
267
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
268
+ # The extra values given here take precedence over values defined on the client or passed to this method.
269
+ extra_headers: Headers | None = None,
270
+ extra_query: Query | None = None,
271
+ extra_body: Body | None = None,
272
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
273
+ ) -> TaskIDList:
274
+ """
275
+ Delete network
276
+
277
+ Args:
278
+ project_id: Project ID
279
+
280
+ region_id: Region ID
281
+
282
+ network_id: Network ID
283
+
284
+ extra_headers: Send extra headers
285
+
286
+ extra_query: Add additional query parameters to the request
287
+
288
+ extra_body: Add additional JSON properties to the request
289
+
290
+ timeout: Override the client-level default timeout for this request, in seconds
291
+ """
292
+ if project_id is None:
293
+ project_id = self._client._get_cloud_project_id_path_param()
294
+ if region_id is None:
295
+ region_id = self._client._get_cloud_region_id_path_param()
296
+ if not network_id:
297
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
298
+ return self._delete(
299
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
300
+ options=make_request_options(
301
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
302
+ ),
303
+ cast_to=TaskIDList,
304
+ )
305
+
306
+ def get(
307
+ self,
308
+ network_id: str,
309
+ *,
310
+ project_id: int | None = None,
311
+ region_id: int | None = None,
312
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
313
+ # The extra values given here take precedence over values defined on the client or passed to this method.
314
+ extra_headers: Headers | None = None,
315
+ extra_query: Query | None = None,
316
+ extra_body: Body | None = None,
317
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
318
+ ) -> Network:
319
+ """
320
+ Get network
321
+
322
+ Args:
323
+ project_id: Project ID
324
+
325
+ region_id: Region ID
326
+
327
+ network_id: Network ID
328
+
329
+ extra_headers: Send extra headers
330
+
331
+ extra_query: Add additional query parameters to the request
332
+
333
+ extra_body: Add additional JSON properties to the request
334
+
335
+ timeout: Override the client-level default timeout for this request, in seconds
336
+ """
337
+ if project_id is None:
338
+ project_id = self._client._get_cloud_project_id_path_param()
339
+ if region_id is None:
340
+ region_id = self._client._get_cloud_region_id_path_param()
341
+ if not network_id:
342
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
343
+ return self._get(
344
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
345
+ options=make_request_options(
346
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
347
+ ),
348
+ cast_to=Network,
349
+ )
350
+
351
+
352
+ class AsyncNetworksResource(AsyncAPIResource):
353
+ @cached_property
354
+ def subnets(self) -> AsyncSubnetsResource:
355
+ return AsyncSubnetsResource(self._client)
356
+
357
+ @cached_property
358
+ def routers(self) -> AsyncRoutersResource:
359
+ return AsyncRoutersResource(self._client)
360
+
361
+ @cached_property
362
+ def with_raw_response(self) -> AsyncNetworksResourceWithRawResponse:
363
+ """
364
+ This property can be used as a prefix for any HTTP method call to return
365
+ the raw response object instead of the parsed content.
366
+
367
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
368
+ """
369
+ return AsyncNetworksResourceWithRawResponse(self)
370
+
371
+ @cached_property
372
+ def with_streaming_response(self) -> AsyncNetworksResourceWithStreamingResponse:
373
+ """
374
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
375
+
376
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
377
+ """
378
+ return AsyncNetworksResourceWithStreamingResponse(self)
379
+
380
+ async def create(
381
+ self,
382
+ *,
383
+ project_id: int | None = None,
384
+ region_id: int | None = None,
385
+ name: str,
386
+ create_router: bool | NotGiven = NOT_GIVEN,
387
+ tags: TagUpdateMapParam | NotGiven = NOT_GIVEN,
388
+ type: Literal["vlan", "vxlan"] | NotGiven = NOT_GIVEN,
389
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
390
+ # The extra values given here take precedence over values defined on the client or passed to this method.
391
+ extra_headers: Headers | None = None,
392
+ extra_query: Query | None = None,
393
+ extra_body: Body | None = None,
394
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
395
+ ) -> TaskIDList:
396
+ """
397
+ Create network
398
+
399
+ Args:
400
+ project_id: Project ID
401
+
402
+ region_id: Region ID
403
+
404
+ name: Network name
405
+
406
+ create_router: Defaults to True
407
+
408
+ tags: Key-value tags to associate with the resource. A tag is a key-value pair that
409
+ can be associated with a resource, enabling efficient filtering and grouping for
410
+ better organization and management. Some tags are read-only and cannot be
411
+ modified by the user. Tags are also integrated with cost reports, allowing cost
412
+ data to be filtered based on tag keys or values.
413
+
414
+ type: vlan or vxlan network type is allowed. Default value is vxlan
415
+
416
+ extra_headers: Send extra headers
417
+
418
+ extra_query: Add additional query parameters to the request
419
+
420
+ extra_body: Add additional JSON properties to the request
421
+
422
+ timeout: Override the client-level default timeout for this request, in seconds
423
+ """
424
+ if project_id is None:
425
+ project_id = self._client._get_cloud_project_id_path_param()
426
+ if region_id is None:
427
+ region_id = self._client._get_cloud_region_id_path_param()
428
+ return await self._post(
429
+ f"/cloud/v1/networks/{project_id}/{region_id}",
430
+ body=await async_maybe_transform(
431
+ {
432
+ "name": name,
433
+ "create_router": create_router,
434
+ "tags": tags,
435
+ "type": type,
436
+ },
437
+ network_create_params.NetworkCreateParams,
438
+ ),
439
+ options=make_request_options(
440
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
441
+ ),
442
+ cast_to=TaskIDList,
443
+ )
444
+
445
+ async def update(
446
+ self,
447
+ network_id: str,
448
+ *,
449
+ project_id: int | None = None,
450
+ region_id: int | None = None,
451
+ name: str,
452
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
453
+ # The extra values given here take precedence over values defined on the client or passed to this method.
454
+ extra_headers: Headers | None = None,
455
+ extra_query: Query | None = None,
456
+ extra_body: Body | None = None,
457
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
458
+ ) -> Network:
459
+ """
460
+ Change network name
461
+
462
+ Args:
463
+ project_id: Project ID
464
+
465
+ region_id: Region ID
466
+
467
+ network_id: Network ID
468
+
469
+ name: Name.
470
+
471
+ extra_headers: Send extra headers
472
+
473
+ extra_query: Add additional query parameters to the request
474
+
475
+ extra_body: Add additional JSON properties to the request
476
+
477
+ timeout: Override the client-level default timeout for this request, in seconds
478
+ """
479
+ if project_id is None:
480
+ project_id = self._client._get_cloud_project_id_path_param()
481
+ if region_id is None:
482
+ region_id = self._client._get_cloud_region_id_path_param()
483
+ if not network_id:
484
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
485
+ return await self._patch(
486
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
487
+ body=await async_maybe_transform({"name": name}, network_update_params.NetworkUpdateParams),
488
+ options=make_request_options(
489
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
490
+ ),
491
+ cast_to=Network,
492
+ )
493
+
494
+ def list(
495
+ self,
496
+ *,
497
+ project_id: int | None = None,
498
+ region_id: int | None = None,
499
+ limit: int | NotGiven = NOT_GIVEN,
500
+ offset: int | NotGiven = NOT_GIVEN,
501
+ order_by: Literal["created_at.asc", "created_at.desc", "name.asc", "name.desc"] | NotGiven = NOT_GIVEN,
502
+ tag_key: List[str] | NotGiven = NOT_GIVEN,
503
+ tag_key_value: str | NotGiven = NOT_GIVEN,
504
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
505
+ # The extra values given here take precedence over values defined on the client or passed to this method.
506
+ extra_headers: Headers | None = None,
507
+ extra_query: Query | None = None,
508
+ extra_body: Body | None = None,
509
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
510
+ ) -> AsyncPaginator[Network, AsyncOffsetPage[Network]]:
511
+ """
512
+ List networks
513
+
514
+ Args:
515
+ project_id: Project ID
516
+
517
+ region_id: Region ID
518
+
519
+ limit: Optional. Limit the number of returned items
520
+
521
+ offset: Optional. Offset value is used to exclude the first set of records from the
522
+ result
523
+
524
+ order_by: Ordering networks list result by `name`, `created_at` fields of the network and
525
+ directions (`created_at.desc`).
526
+
527
+ tag_key: Optional. Filter by tag keys. ?tag_key=key1&tag_key=key2
528
+
529
+ tag_key_value: Optional. Filter by tag key-value pairs. curl -G --data-urlencode
530
+ "tag_key_value={"key": "value"}" --url
531
+ "https://example.com/cloud/v1/resource/1/1"
532
+
533
+ extra_headers: Send extra headers
534
+
535
+ extra_query: Add additional query parameters to the request
536
+
537
+ extra_body: Add additional JSON properties to the request
538
+
539
+ timeout: Override the client-level default timeout for this request, in seconds
540
+ """
541
+ if project_id is None:
542
+ project_id = self._client._get_cloud_project_id_path_param()
543
+ if region_id is None:
544
+ region_id = self._client._get_cloud_region_id_path_param()
545
+ return self._get_api_list(
546
+ f"/cloud/v1/networks/{project_id}/{region_id}",
547
+ page=AsyncOffsetPage[Network],
548
+ options=make_request_options(
549
+ extra_headers=extra_headers,
550
+ extra_query=extra_query,
551
+ extra_body=extra_body,
552
+ timeout=timeout,
553
+ query=maybe_transform(
554
+ {
555
+ "limit": limit,
556
+ "offset": offset,
557
+ "order_by": order_by,
558
+ "tag_key": tag_key,
559
+ "tag_key_value": tag_key_value,
560
+ },
561
+ network_list_params.NetworkListParams,
562
+ ),
563
+ ),
564
+ model=Network,
565
+ )
566
+
567
+ async def delete(
568
+ self,
569
+ network_id: str,
570
+ *,
571
+ project_id: int | None = None,
572
+ region_id: int | None = None,
573
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
574
+ # The extra values given here take precedence over values defined on the client or passed to this method.
575
+ extra_headers: Headers | None = None,
576
+ extra_query: Query | None = None,
577
+ extra_body: Body | None = None,
578
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
579
+ ) -> TaskIDList:
580
+ """
581
+ Delete network
582
+
583
+ Args:
584
+ project_id: Project ID
585
+
586
+ region_id: Region ID
587
+
588
+ network_id: Network ID
589
+
590
+ extra_headers: Send extra headers
591
+
592
+ extra_query: Add additional query parameters to the request
593
+
594
+ extra_body: Add additional JSON properties to the request
595
+
596
+ timeout: Override the client-level default timeout for this request, in seconds
597
+ """
598
+ if project_id is None:
599
+ project_id = self._client._get_cloud_project_id_path_param()
600
+ if region_id is None:
601
+ region_id = self._client._get_cloud_region_id_path_param()
602
+ if not network_id:
603
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
604
+ return await self._delete(
605
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
606
+ options=make_request_options(
607
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
608
+ ),
609
+ cast_to=TaskIDList,
610
+ )
611
+
612
+ async def get(
613
+ self,
614
+ network_id: str,
615
+ *,
616
+ project_id: int | None = None,
617
+ region_id: int | None = None,
618
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
619
+ # The extra values given here take precedence over values defined on the client or passed to this method.
620
+ extra_headers: Headers | None = None,
621
+ extra_query: Query | None = None,
622
+ extra_body: Body | None = None,
623
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
624
+ ) -> Network:
625
+ """
626
+ Get network
627
+
628
+ Args:
629
+ project_id: Project ID
630
+
631
+ region_id: Region ID
632
+
633
+ network_id: Network ID
634
+
635
+ extra_headers: Send extra headers
636
+
637
+ extra_query: Add additional query parameters to the request
638
+
639
+ extra_body: Add additional JSON properties to the request
640
+
641
+ timeout: Override the client-level default timeout for this request, in seconds
642
+ """
643
+ if project_id is None:
644
+ project_id = self._client._get_cloud_project_id_path_param()
645
+ if region_id is None:
646
+ region_id = self._client._get_cloud_region_id_path_param()
647
+ if not network_id:
648
+ raise ValueError(f"Expected a non-empty value for `network_id` but received {network_id!r}")
649
+ return await self._get(
650
+ f"/cloud/v1/networks/{project_id}/{region_id}/{network_id}",
651
+ options=make_request_options(
652
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
653
+ ),
654
+ cast_to=Network,
655
+ )
656
+
657
+
658
+ class NetworksResourceWithRawResponse:
659
+ def __init__(self, networks: NetworksResource) -> None:
660
+ self._networks = networks
661
+
662
+ self.create = to_raw_response_wrapper(
663
+ networks.create,
664
+ )
665
+ self.update = to_raw_response_wrapper(
666
+ networks.update,
667
+ )
668
+ self.list = to_raw_response_wrapper(
669
+ networks.list,
670
+ )
671
+ self.delete = to_raw_response_wrapper(
672
+ networks.delete,
673
+ )
674
+ self.get = to_raw_response_wrapper(
675
+ networks.get,
676
+ )
677
+
678
+ @cached_property
679
+ def subnets(self) -> SubnetsResourceWithRawResponse:
680
+ return SubnetsResourceWithRawResponse(self._networks.subnets)
681
+
682
+ @cached_property
683
+ def routers(self) -> RoutersResourceWithRawResponse:
684
+ return RoutersResourceWithRawResponse(self._networks.routers)
685
+
686
+
687
+ class AsyncNetworksResourceWithRawResponse:
688
+ def __init__(self, networks: AsyncNetworksResource) -> None:
689
+ self._networks = networks
690
+
691
+ self.create = async_to_raw_response_wrapper(
692
+ networks.create,
693
+ )
694
+ self.update = async_to_raw_response_wrapper(
695
+ networks.update,
696
+ )
697
+ self.list = async_to_raw_response_wrapper(
698
+ networks.list,
699
+ )
700
+ self.delete = async_to_raw_response_wrapper(
701
+ networks.delete,
702
+ )
703
+ self.get = async_to_raw_response_wrapper(
704
+ networks.get,
705
+ )
706
+
707
+ @cached_property
708
+ def subnets(self) -> AsyncSubnetsResourceWithRawResponse:
709
+ return AsyncSubnetsResourceWithRawResponse(self._networks.subnets)
710
+
711
+ @cached_property
712
+ def routers(self) -> AsyncRoutersResourceWithRawResponse:
713
+ return AsyncRoutersResourceWithRawResponse(self._networks.routers)
714
+
715
+
716
+ class NetworksResourceWithStreamingResponse:
717
+ def __init__(self, networks: NetworksResource) -> None:
718
+ self._networks = networks
719
+
720
+ self.create = to_streamed_response_wrapper(
721
+ networks.create,
722
+ )
723
+ self.update = to_streamed_response_wrapper(
724
+ networks.update,
725
+ )
726
+ self.list = to_streamed_response_wrapper(
727
+ networks.list,
728
+ )
729
+ self.delete = to_streamed_response_wrapper(
730
+ networks.delete,
731
+ )
732
+ self.get = to_streamed_response_wrapper(
733
+ networks.get,
734
+ )
735
+
736
+ @cached_property
737
+ def subnets(self) -> SubnetsResourceWithStreamingResponse:
738
+ return SubnetsResourceWithStreamingResponse(self._networks.subnets)
739
+
740
+ @cached_property
741
+ def routers(self) -> RoutersResourceWithStreamingResponse:
742
+ return RoutersResourceWithStreamingResponse(self._networks.routers)
743
+
744
+
745
+ class AsyncNetworksResourceWithStreamingResponse:
746
+ def __init__(self, networks: AsyncNetworksResource) -> None:
747
+ self._networks = networks
748
+
749
+ self.create = async_to_streamed_response_wrapper(
750
+ networks.create,
751
+ )
752
+ self.update = async_to_streamed_response_wrapper(
753
+ networks.update,
754
+ )
755
+ self.list = async_to_streamed_response_wrapper(
756
+ networks.list,
757
+ )
758
+ self.delete = async_to_streamed_response_wrapper(
759
+ networks.delete,
760
+ )
761
+ self.get = async_to_streamed_response_wrapper(
762
+ networks.get,
763
+ )
764
+
765
+ @cached_property
766
+ def subnets(self) -> AsyncSubnetsResourceWithStreamingResponse:
767
+ return AsyncSubnetsResourceWithStreamingResponse(self._networks.subnets)
768
+
769
+ @cached_property
770
+ def routers(self) -> AsyncRoutersResourceWithStreamingResponse:
771
+ return AsyncRoutersResourceWithStreamingResponse(self._networks.routers)