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,872 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Iterable, Optional
6
+
7
+ import httpx
8
+
9
+ from .members import (
10
+ MembersResource,
11
+ AsyncMembersResource,
12
+ MembersResourceWithRawResponse,
13
+ AsyncMembersResourceWithRawResponse,
14
+ MembersResourceWithStreamingResponse,
15
+ AsyncMembersResourceWithStreamingResponse,
16
+ )
17
+ from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
18
+ from ....._utils import maybe_transform, async_maybe_transform
19
+ from ....._compat import cached_property
20
+ from ....._resource import SyncAPIResource, AsyncAPIResource
21
+ from ....._response import (
22
+ to_raw_response_wrapper,
23
+ to_streamed_response_wrapper,
24
+ async_to_raw_response_wrapper,
25
+ async_to_streamed_response_wrapper,
26
+ )
27
+ from .....types.cloud import LbAlgorithm, LbPoolProtocol
28
+ from .health_monitors import (
29
+ HealthMonitorsResource,
30
+ AsyncHealthMonitorsResource,
31
+ HealthMonitorsResourceWithRawResponse,
32
+ AsyncHealthMonitorsResourceWithRawResponse,
33
+ HealthMonitorsResourceWithStreamingResponse,
34
+ AsyncHealthMonitorsResourceWithStreamingResponse,
35
+ )
36
+ from ....._base_client import make_request_options
37
+ from .....types.cloud.lb_algorithm import LbAlgorithm
38
+ from .....types.cloud.task_id_list import TaskIDList
39
+ from .....types.cloud.load_balancers import pool_list_params, pool_create_params, pool_update_params
40
+ from .....types.cloud.lb_pool_protocol import LbPoolProtocol
41
+ from .....types.cloud.load_balancer_pool import LoadBalancerPool
42
+ from .....types.cloud.load_balancer_pool_list import LoadBalancerPoolList
43
+
44
+ __all__ = ["PoolsResource", "AsyncPoolsResource"]
45
+
46
+
47
+ class PoolsResource(SyncAPIResource):
48
+ @cached_property
49
+ def health_monitors(self) -> HealthMonitorsResource:
50
+ return HealthMonitorsResource(self._client)
51
+
52
+ @cached_property
53
+ def members(self) -> MembersResource:
54
+ return MembersResource(self._client)
55
+
56
+ @cached_property
57
+ def with_raw_response(self) -> PoolsResourceWithRawResponse:
58
+ """
59
+ This property can be used as a prefix for any HTTP method call to return
60
+ the raw response object instead of the parsed content.
61
+
62
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
63
+ """
64
+ return PoolsResourceWithRawResponse(self)
65
+
66
+ @cached_property
67
+ def with_streaming_response(self) -> PoolsResourceWithStreamingResponse:
68
+ """
69
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
70
+
71
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
72
+ """
73
+ return PoolsResourceWithStreamingResponse(self)
74
+
75
+ def create(
76
+ self,
77
+ *,
78
+ project_id: int | None = None,
79
+ region_id: int | None = None,
80
+ lb_algorithm: LbAlgorithm,
81
+ name: str,
82
+ protocol: LbPoolProtocol,
83
+ ca_secret_id: Optional[str] | NotGiven = NOT_GIVEN,
84
+ crl_secret_id: Optional[str] | NotGiven = NOT_GIVEN,
85
+ healthmonitor: Optional[pool_create_params.Healthmonitor] | NotGiven = NOT_GIVEN,
86
+ listener_id: Optional[str] | NotGiven = NOT_GIVEN,
87
+ loadbalancer_id: Optional[str] | NotGiven = NOT_GIVEN,
88
+ members: Optional[Iterable[pool_create_params.Member]] | NotGiven = NOT_GIVEN,
89
+ secret_id: Optional[str] | NotGiven = NOT_GIVEN,
90
+ session_persistence: Optional[pool_create_params.SessionPersistence] | NotGiven = NOT_GIVEN,
91
+ timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
92
+ timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
93
+ timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
94
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
95
+ # The extra values given here take precedence over values defined on the client or passed to this method.
96
+ extra_headers: Headers | None = None,
97
+ extra_query: Query | None = None,
98
+ extra_body: Body | None = None,
99
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
100
+ ) -> TaskIDList:
101
+ """
102
+ Create load balancer pool
103
+
104
+ Args:
105
+ lb_algorithm: Load balancer algorithm
106
+
107
+ name: Pool name
108
+
109
+ protocol: Protocol
110
+
111
+ ca_secret_id: Secret ID of CA certificate bundle
112
+
113
+ crl_secret_id: Secret ID of CA revocation list file
114
+
115
+ healthmonitor: Health monitor details
116
+
117
+ listener_id: Listener ID
118
+
119
+ loadbalancer_id: Loadbalancer ID
120
+
121
+ members: Pool members
122
+
123
+ secret_id: Secret ID for TLS client authentication to the member servers
124
+
125
+ session_persistence: Session persistence details
126
+
127
+ timeout_client_data: Frontend client inactivity timeout in milliseconds
128
+
129
+ timeout_member_connect: Backend member connection timeout in milliseconds
130
+
131
+ timeout_member_data: Backend member inactivity timeout in milliseconds
132
+
133
+ extra_headers: Send extra headers
134
+
135
+ extra_query: Add additional query parameters to the request
136
+
137
+ extra_body: Add additional JSON properties to the request
138
+
139
+ timeout: Override the client-level default timeout for this request, in seconds
140
+ """
141
+ if project_id is None:
142
+ project_id = self._client._get_cloud_project_id_path_param()
143
+ if region_id is None:
144
+ region_id = self._client._get_cloud_region_id_path_param()
145
+ return self._post(
146
+ f"/cloud/v1/lbpools/{project_id}/{region_id}",
147
+ body=maybe_transform(
148
+ {
149
+ "lb_algorithm": lb_algorithm,
150
+ "name": name,
151
+ "protocol": protocol,
152
+ "ca_secret_id": ca_secret_id,
153
+ "crl_secret_id": crl_secret_id,
154
+ "healthmonitor": healthmonitor,
155
+ "listener_id": listener_id,
156
+ "loadbalancer_id": loadbalancer_id,
157
+ "members": members,
158
+ "secret_id": secret_id,
159
+ "session_persistence": session_persistence,
160
+ "timeout_client_data": timeout_client_data,
161
+ "timeout_member_connect": timeout_member_connect,
162
+ "timeout_member_data": timeout_member_data,
163
+ },
164
+ pool_create_params.PoolCreateParams,
165
+ ),
166
+ options=make_request_options(
167
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
168
+ ),
169
+ cast_to=TaskIDList,
170
+ )
171
+
172
+ def update(
173
+ self,
174
+ pool_id: str,
175
+ *,
176
+ project_id: int | None = None,
177
+ region_id: int | None = None,
178
+ ca_secret_id: Optional[str] | NotGiven = NOT_GIVEN,
179
+ crl_secret_id: Optional[str] | NotGiven = NOT_GIVEN,
180
+ healthmonitor: Optional[pool_update_params.Healthmonitor] | NotGiven = NOT_GIVEN,
181
+ lb_algorithm: LbAlgorithm | NotGiven = NOT_GIVEN,
182
+ members: Optional[Iterable[pool_update_params.Member]] | NotGiven = NOT_GIVEN,
183
+ name: str | NotGiven = NOT_GIVEN,
184
+ protocol: LbPoolProtocol | NotGiven = NOT_GIVEN,
185
+ secret_id: Optional[str] | NotGiven = NOT_GIVEN,
186
+ session_persistence: Optional[pool_update_params.SessionPersistence] | NotGiven = NOT_GIVEN,
187
+ timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
188
+ timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
189
+ timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
190
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
191
+ # The extra values given here take precedence over values defined on the client or passed to this method.
192
+ extra_headers: Headers | None = None,
193
+ extra_query: Query | None = None,
194
+ extra_body: Body | None = None,
195
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
196
+ ) -> TaskIDList:
197
+ """
198
+ Changes provided here will overwrite existing load balancer pool settings.
199
+ Undefined fields will be kept as is. Complex objects need to be specified fully,
200
+ they will be overwritten.
201
+
202
+ Args:
203
+ ca_secret_id: Secret ID of CA certificate bundle
204
+
205
+ crl_secret_id: Secret ID of CA revocation list file
206
+
207
+ healthmonitor: New pool health monitor settings
208
+
209
+ lb_algorithm: New load balancer pool algorithm of how to distribute requests
210
+
211
+ members: New sequence of load balancer pool members. If members are the same (by
212
+ address + port), they will be kept as is without recreation and downtime.
213
+
214
+ name: New pool name
215
+
216
+ protocol: New communication protocol
217
+
218
+ secret_id: Secret ID for TLS client authentication to the member servers
219
+
220
+ session_persistence: New session persistence settings
221
+
222
+ timeout_client_data: Frontend client inactivity timeout in milliseconds
223
+
224
+ timeout_member_connect: Backend member connection timeout in milliseconds
225
+
226
+ timeout_member_data: Backend member inactivity timeout in milliseconds
227
+
228
+ extra_headers: Send extra headers
229
+
230
+ extra_query: Add additional query parameters to the request
231
+
232
+ extra_body: Add additional JSON properties to the request
233
+
234
+ timeout: Override the client-level default timeout for this request, in seconds
235
+ """
236
+ if project_id is None:
237
+ project_id = self._client._get_cloud_project_id_path_param()
238
+ if region_id is None:
239
+ region_id = self._client._get_cloud_region_id_path_param()
240
+ if not pool_id:
241
+ raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}")
242
+ return self._patch(
243
+ f"/cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}",
244
+ body=maybe_transform(
245
+ {
246
+ "ca_secret_id": ca_secret_id,
247
+ "crl_secret_id": crl_secret_id,
248
+ "healthmonitor": healthmonitor,
249
+ "lb_algorithm": lb_algorithm,
250
+ "members": members,
251
+ "name": name,
252
+ "protocol": protocol,
253
+ "secret_id": secret_id,
254
+ "session_persistence": session_persistence,
255
+ "timeout_client_data": timeout_client_data,
256
+ "timeout_member_connect": timeout_member_connect,
257
+ "timeout_member_data": timeout_member_data,
258
+ },
259
+ pool_update_params.PoolUpdateParams,
260
+ ),
261
+ options=make_request_options(
262
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
263
+ ),
264
+ cast_to=TaskIDList,
265
+ )
266
+
267
+ def list(
268
+ self,
269
+ *,
270
+ project_id: int | None = None,
271
+ region_id: int | None = None,
272
+ details: bool | NotGiven = NOT_GIVEN,
273
+ listener_id: str | NotGiven = NOT_GIVEN,
274
+ loadbalancer_id: str | NotGiven = NOT_GIVEN,
275
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
276
+ # The extra values given here take precedence over values defined on the client or passed to this method.
277
+ extra_headers: Headers | None = None,
278
+ extra_query: Query | None = None,
279
+ extra_body: Body | None = None,
280
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
281
+ ) -> LoadBalancerPoolList:
282
+ """
283
+ List load balancer pools
284
+
285
+ Args:
286
+ details: If true, show member and healthmonitor details of each pool (increases request
287
+ time)
288
+
289
+ listener_id: Load balancer listener ID
290
+
291
+ loadbalancer_id: Load balancer ID
292
+
293
+ extra_headers: Send extra headers
294
+
295
+ extra_query: Add additional query parameters to the request
296
+
297
+ extra_body: Add additional JSON properties to the request
298
+
299
+ timeout: Override the client-level default timeout for this request, in seconds
300
+ """
301
+ if project_id is None:
302
+ project_id = self._client._get_cloud_project_id_path_param()
303
+ if region_id is None:
304
+ region_id = self._client._get_cloud_region_id_path_param()
305
+ return self._get(
306
+ f"/cloud/v1/lbpools/{project_id}/{region_id}",
307
+ options=make_request_options(
308
+ extra_headers=extra_headers,
309
+ extra_query=extra_query,
310
+ extra_body=extra_body,
311
+ timeout=timeout,
312
+ query=maybe_transform(
313
+ {
314
+ "details": details,
315
+ "listener_id": listener_id,
316
+ "loadbalancer_id": loadbalancer_id,
317
+ },
318
+ pool_list_params.PoolListParams,
319
+ ),
320
+ ),
321
+ cast_to=LoadBalancerPoolList,
322
+ )
323
+
324
+ def delete(
325
+ self,
326
+ pool_id: str,
327
+ *,
328
+ project_id: int | None = None,
329
+ region_id: int | None = None,
330
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
331
+ # The extra values given here take precedence over values defined on the client or passed to this method.
332
+ extra_headers: Headers | None = None,
333
+ extra_query: Query | None = None,
334
+ extra_body: Body | None = None,
335
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
336
+ ) -> TaskIDList:
337
+ """
338
+ Delete load balancer pool
339
+
340
+ Args:
341
+ extra_headers: Send extra headers
342
+
343
+ extra_query: Add additional query parameters to the request
344
+
345
+ extra_body: Add additional JSON properties to the request
346
+
347
+ timeout: Override the client-level default timeout for this request, in seconds
348
+ """
349
+ if project_id is None:
350
+ project_id = self._client._get_cloud_project_id_path_param()
351
+ if region_id is None:
352
+ region_id = self._client._get_cloud_region_id_path_param()
353
+ if not pool_id:
354
+ raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}")
355
+ return self._delete(
356
+ f"/cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}",
357
+ options=make_request_options(
358
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
359
+ ),
360
+ cast_to=TaskIDList,
361
+ )
362
+
363
+ def get(
364
+ self,
365
+ pool_id: str,
366
+ *,
367
+ project_id: int | None = None,
368
+ region_id: int | None = None,
369
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
370
+ # The extra values given here take precedence over values defined on the client or passed to this method.
371
+ extra_headers: Headers | None = None,
372
+ extra_query: Query | None = None,
373
+ extra_body: Body | None = None,
374
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
375
+ ) -> LoadBalancerPool:
376
+ """
377
+ Get load balancer pool
378
+
379
+ Args:
380
+ extra_headers: Send extra headers
381
+
382
+ extra_query: Add additional query parameters to the request
383
+
384
+ extra_body: Add additional JSON properties to the request
385
+
386
+ timeout: Override the client-level default timeout for this request, in seconds
387
+ """
388
+ if project_id is None:
389
+ project_id = self._client._get_cloud_project_id_path_param()
390
+ if region_id is None:
391
+ region_id = self._client._get_cloud_region_id_path_param()
392
+ if not pool_id:
393
+ raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}")
394
+ return self._get(
395
+ f"/cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}",
396
+ options=make_request_options(
397
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
398
+ ),
399
+ cast_to=LoadBalancerPool,
400
+ )
401
+
402
+
403
+ class AsyncPoolsResource(AsyncAPIResource):
404
+ @cached_property
405
+ def health_monitors(self) -> AsyncHealthMonitorsResource:
406
+ return AsyncHealthMonitorsResource(self._client)
407
+
408
+ @cached_property
409
+ def members(self) -> AsyncMembersResource:
410
+ return AsyncMembersResource(self._client)
411
+
412
+ @cached_property
413
+ def with_raw_response(self) -> AsyncPoolsResourceWithRawResponse:
414
+ """
415
+ This property can be used as a prefix for any HTTP method call to return
416
+ the raw response object instead of the parsed content.
417
+
418
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
419
+ """
420
+ return AsyncPoolsResourceWithRawResponse(self)
421
+
422
+ @cached_property
423
+ def with_streaming_response(self) -> AsyncPoolsResourceWithStreamingResponse:
424
+ """
425
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
426
+
427
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
428
+ """
429
+ return AsyncPoolsResourceWithStreamingResponse(self)
430
+
431
+ async def create(
432
+ self,
433
+ *,
434
+ project_id: int | None = None,
435
+ region_id: int | None = None,
436
+ lb_algorithm: LbAlgorithm,
437
+ name: str,
438
+ protocol: LbPoolProtocol,
439
+ ca_secret_id: Optional[str] | NotGiven = NOT_GIVEN,
440
+ crl_secret_id: Optional[str] | NotGiven = NOT_GIVEN,
441
+ healthmonitor: Optional[pool_create_params.Healthmonitor] | NotGiven = NOT_GIVEN,
442
+ listener_id: Optional[str] | NotGiven = NOT_GIVEN,
443
+ loadbalancer_id: Optional[str] | NotGiven = NOT_GIVEN,
444
+ members: Optional[Iterable[pool_create_params.Member]] | NotGiven = NOT_GIVEN,
445
+ secret_id: Optional[str] | NotGiven = NOT_GIVEN,
446
+ session_persistence: Optional[pool_create_params.SessionPersistence] | NotGiven = NOT_GIVEN,
447
+ timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
448
+ timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
449
+ timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
450
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
451
+ # The extra values given here take precedence over values defined on the client or passed to this method.
452
+ extra_headers: Headers | None = None,
453
+ extra_query: Query | None = None,
454
+ extra_body: Body | None = None,
455
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
456
+ ) -> TaskIDList:
457
+ """
458
+ Create load balancer pool
459
+
460
+ Args:
461
+ lb_algorithm: Load balancer algorithm
462
+
463
+ name: Pool name
464
+
465
+ protocol: Protocol
466
+
467
+ ca_secret_id: Secret ID of CA certificate bundle
468
+
469
+ crl_secret_id: Secret ID of CA revocation list file
470
+
471
+ healthmonitor: Health monitor details
472
+
473
+ listener_id: Listener ID
474
+
475
+ loadbalancer_id: Loadbalancer ID
476
+
477
+ members: Pool members
478
+
479
+ secret_id: Secret ID for TLS client authentication to the member servers
480
+
481
+ session_persistence: Session persistence details
482
+
483
+ timeout_client_data: Frontend client inactivity timeout in milliseconds
484
+
485
+ timeout_member_connect: Backend member connection timeout in milliseconds
486
+
487
+ timeout_member_data: Backend member inactivity timeout in milliseconds
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 await self._post(
502
+ f"/cloud/v1/lbpools/{project_id}/{region_id}",
503
+ body=await async_maybe_transform(
504
+ {
505
+ "lb_algorithm": lb_algorithm,
506
+ "name": name,
507
+ "protocol": protocol,
508
+ "ca_secret_id": ca_secret_id,
509
+ "crl_secret_id": crl_secret_id,
510
+ "healthmonitor": healthmonitor,
511
+ "listener_id": listener_id,
512
+ "loadbalancer_id": loadbalancer_id,
513
+ "members": members,
514
+ "secret_id": secret_id,
515
+ "session_persistence": session_persistence,
516
+ "timeout_client_data": timeout_client_data,
517
+ "timeout_member_connect": timeout_member_connect,
518
+ "timeout_member_data": timeout_member_data,
519
+ },
520
+ pool_create_params.PoolCreateParams,
521
+ ),
522
+ options=make_request_options(
523
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
524
+ ),
525
+ cast_to=TaskIDList,
526
+ )
527
+
528
+ async def update(
529
+ self,
530
+ pool_id: str,
531
+ *,
532
+ project_id: int | None = None,
533
+ region_id: int | None = None,
534
+ ca_secret_id: Optional[str] | NotGiven = NOT_GIVEN,
535
+ crl_secret_id: Optional[str] | NotGiven = NOT_GIVEN,
536
+ healthmonitor: Optional[pool_update_params.Healthmonitor] | NotGiven = NOT_GIVEN,
537
+ lb_algorithm: LbAlgorithm | NotGiven = NOT_GIVEN,
538
+ members: Optional[Iterable[pool_update_params.Member]] | NotGiven = NOT_GIVEN,
539
+ name: str | NotGiven = NOT_GIVEN,
540
+ protocol: LbPoolProtocol | NotGiven = NOT_GIVEN,
541
+ secret_id: Optional[str] | NotGiven = NOT_GIVEN,
542
+ session_persistence: Optional[pool_update_params.SessionPersistence] | NotGiven = NOT_GIVEN,
543
+ timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
544
+ timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
545
+ timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
546
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
547
+ # The extra values given here take precedence over values defined on the client or passed to this method.
548
+ extra_headers: Headers | None = None,
549
+ extra_query: Query | None = None,
550
+ extra_body: Body | None = None,
551
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
552
+ ) -> TaskIDList:
553
+ """
554
+ Changes provided here will overwrite existing load balancer pool settings.
555
+ Undefined fields will be kept as is. Complex objects need to be specified fully,
556
+ they will be overwritten.
557
+
558
+ Args:
559
+ ca_secret_id: Secret ID of CA certificate bundle
560
+
561
+ crl_secret_id: Secret ID of CA revocation list file
562
+
563
+ healthmonitor: New pool health monitor settings
564
+
565
+ lb_algorithm: New load balancer pool algorithm of how to distribute requests
566
+
567
+ members: New sequence of load balancer pool members. If members are the same (by
568
+ address + port), they will be kept as is without recreation and downtime.
569
+
570
+ name: New pool name
571
+
572
+ protocol: New communication protocol
573
+
574
+ secret_id: Secret ID for TLS client authentication to the member servers
575
+
576
+ session_persistence: New session persistence settings
577
+
578
+ timeout_client_data: Frontend client inactivity timeout in milliseconds
579
+
580
+ timeout_member_connect: Backend member connection timeout in milliseconds
581
+
582
+ timeout_member_data: Backend member inactivity timeout in milliseconds
583
+
584
+ extra_headers: Send extra headers
585
+
586
+ extra_query: Add additional query parameters to the request
587
+
588
+ extra_body: Add additional JSON properties to the request
589
+
590
+ timeout: Override the client-level default timeout for this request, in seconds
591
+ """
592
+ if project_id is None:
593
+ project_id = self._client._get_cloud_project_id_path_param()
594
+ if region_id is None:
595
+ region_id = self._client._get_cloud_region_id_path_param()
596
+ if not pool_id:
597
+ raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}")
598
+ return await self._patch(
599
+ f"/cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}",
600
+ body=await async_maybe_transform(
601
+ {
602
+ "ca_secret_id": ca_secret_id,
603
+ "crl_secret_id": crl_secret_id,
604
+ "healthmonitor": healthmonitor,
605
+ "lb_algorithm": lb_algorithm,
606
+ "members": members,
607
+ "name": name,
608
+ "protocol": protocol,
609
+ "secret_id": secret_id,
610
+ "session_persistence": session_persistence,
611
+ "timeout_client_data": timeout_client_data,
612
+ "timeout_member_connect": timeout_member_connect,
613
+ "timeout_member_data": timeout_member_data,
614
+ },
615
+ pool_update_params.PoolUpdateParams,
616
+ ),
617
+ options=make_request_options(
618
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
619
+ ),
620
+ cast_to=TaskIDList,
621
+ )
622
+
623
+ async def list(
624
+ self,
625
+ *,
626
+ project_id: int | None = None,
627
+ region_id: int | None = None,
628
+ details: bool | NotGiven = NOT_GIVEN,
629
+ listener_id: str | NotGiven = NOT_GIVEN,
630
+ loadbalancer_id: str | NotGiven = NOT_GIVEN,
631
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
632
+ # The extra values given here take precedence over values defined on the client or passed to this method.
633
+ extra_headers: Headers | None = None,
634
+ extra_query: Query | None = None,
635
+ extra_body: Body | None = None,
636
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
637
+ ) -> LoadBalancerPoolList:
638
+ """
639
+ List load balancer pools
640
+
641
+ Args:
642
+ details: If true, show member and healthmonitor details of each pool (increases request
643
+ time)
644
+
645
+ listener_id: Load balancer listener ID
646
+
647
+ loadbalancer_id: Load balancer ID
648
+
649
+ extra_headers: Send extra headers
650
+
651
+ extra_query: Add additional query parameters to the request
652
+
653
+ extra_body: Add additional JSON properties to the request
654
+
655
+ timeout: Override the client-level default timeout for this request, in seconds
656
+ """
657
+ if project_id is None:
658
+ project_id = self._client._get_cloud_project_id_path_param()
659
+ if region_id is None:
660
+ region_id = self._client._get_cloud_region_id_path_param()
661
+ return await self._get(
662
+ f"/cloud/v1/lbpools/{project_id}/{region_id}",
663
+ options=make_request_options(
664
+ extra_headers=extra_headers,
665
+ extra_query=extra_query,
666
+ extra_body=extra_body,
667
+ timeout=timeout,
668
+ query=await async_maybe_transform(
669
+ {
670
+ "details": details,
671
+ "listener_id": listener_id,
672
+ "loadbalancer_id": loadbalancer_id,
673
+ },
674
+ pool_list_params.PoolListParams,
675
+ ),
676
+ ),
677
+ cast_to=LoadBalancerPoolList,
678
+ )
679
+
680
+ async def delete(
681
+ self,
682
+ pool_id: str,
683
+ *,
684
+ project_id: int | None = None,
685
+ region_id: int | None = None,
686
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
687
+ # The extra values given here take precedence over values defined on the client or passed to this method.
688
+ extra_headers: Headers | None = None,
689
+ extra_query: Query | None = None,
690
+ extra_body: Body | None = None,
691
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
692
+ ) -> TaskIDList:
693
+ """
694
+ Delete load balancer pool
695
+
696
+ Args:
697
+ extra_headers: Send extra headers
698
+
699
+ extra_query: Add additional query parameters to the request
700
+
701
+ extra_body: Add additional JSON properties to the request
702
+
703
+ timeout: Override the client-level default timeout for this request, in seconds
704
+ """
705
+ if project_id is None:
706
+ project_id = self._client._get_cloud_project_id_path_param()
707
+ if region_id is None:
708
+ region_id = self._client._get_cloud_region_id_path_param()
709
+ if not pool_id:
710
+ raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}")
711
+ return await self._delete(
712
+ f"/cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}",
713
+ options=make_request_options(
714
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
715
+ ),
716
+ cast_to=TaskIDList,
717
+ )
718
+
719
+ async def get(
720
+ self,
721
+ pool_id: str,
722
+ *,
723
+ project_id: int | None = None,
724
+ region_id: int | None = None,
725
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
726
+ # The extra values given here take precedence over values defined on the client or passed to this method.
727
+ extra_headers: Headers | None = None,
728
+ extra_query: Query | None = None,
729
+ extra_body: Body | None = None,
730
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
731
+ ) -> LoadBalancerPool:
732
+ """
733
+ Get load balancer pool
734
+
735
+ Args:
736
+ extra_headers: Send extra headers
737
+
738
+ extra_query: Add additional query parameters to the request
739
+
740
+ extra_body: Add additional JSON properties to the request
741
+
742
+ timeout: Override the client-level default timeout for this request, in seconds
743
+ """
744
+ if project_id is None:
745
+ project_id = self._client._get_cloud_project_id_path_param()
746
+ if region_id is None:
747
+ region_id = self._client._get_cloud_region_id_path_param()
748
+ if not pool_id:
749
+ raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}")
750
+ return await self._get(
751
+ f"/cloud/v1/lbpools/{project_id}/{region_id}/{pool_id}",
752
+ options=make_request_options(
753
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
754
+ ),
755
+ cast_to=LoadBalancerPool,
756
+ )
757
+
758
+
759
+ class PoolsResourceWithRawResponse:
760
+ def __init__(self, pools: PoolsResource) -> None:
761
+ self._pools = pools
762
+
763
+ self.create = to_raw_response_wrapper(
764
+ pools.create,
765
+ )
766
+ self.update = to_raw_response_wrapper(
767
+ pools.update,
768
+ )
769
+ self.list = to_raw_response_wrapper(
770
+ pools.list,
771
+ )
772
+ self.delete = to_raw_response_wrapper(
773
+ pools.delete,
774
+ )
775
+ self.get = to_raw_response_wrapper(
776
+ pools.get,
777
+ )
778
+
779
+ @cached_property
780
+ def health_monitors(self) -> HealthMonitorsResourceWithRawResponse:
781
+ return HealthMonitorsResourceWithRawResponse(self._pools.health_monitors)
782
+
783
+ @cached_property
784
+ def members(self) -> MembersResourceWithRawResponse:
785
+ return MembersResourceWithRawResponse(self._pools.members)
786
+
787
+
788
+ class AsyncPoolsResourceWithRawResponse:
789
+ def __init__(self, pools: AsyncPoolsResource) -> None:
790
+ self._pools = pools
791
+
792
+ self.create = async_to_raw_response_wrapper(
793
+ pools.create,
794
+ )
795
+ self.update = async_to_raw_response_wrapper(
796
+ pools.update,
797
+ )
798
+ self.list = async_to_raw_response_wrapper(
799
+ pools.list,
800
+ )
801
+ self.delete = async_to_raw_response_wrapper(
802
+ pools.delete,
803
+ )
804
+ self.get = async_to_raw_response_wrapper(
805
+ pools.get,
806
+ )
807
+
808
+ @cached_property
809
+ def health_monitors(self) -> AsyncHealthMonitorsResourceWithRawResponse:
810
+ return AsyncHealthMonitorsResourceWithRawResponse(self._pools.health_monitors)
811
+
812
+ @cached_property
813
+ def members(self) -> AsyncMembersResourceWithRawResponse:
814
+ return AsyncMembersResourceWithRawResponse(self._pools.members)
815
+
816
+
817
+ class PoolsResourceWithStreamingResponse:
818
+ def __init__(self, pools: PoolsResource) -> None:
819
+ self._pools = pools
820
+
821
+ self.create = to_streamed_response_wrapper(
822
+ pools.create,
823
+ )
824
+ self.update = to_streamed_response_wrapper(
825
+ pools.update,
826
+ )
827
+ self.list = to_streamed_response_wrapper(
828
+ pools.list,
829
+ )
830
+ self.delete = to_streamed_response_wrapper(
831
+ pools.delete,
832
+ )
833
+ self.get = to_streamed_response_wrapper(
834
+ pools.get,
835
+ )
836
+
837
+ @cached_property
838
+ def health_monitors(self) -> HealthMonitorsResourceWithStreamingResponse:
839
+ return HealthMonitorsResourceWithStreamingResponse(self._pools.health_monitors)
840
+
841
+ @cached_property
842
+ def members(self) -> MembersResourceWithStreamingResponse:
843
+ return MembersResourceWithStreamingResponse(self._pools.members)
844
+
845
+
846
+ class AsyncPoolsResourceWithStreamingResponse:
847
+ def __init__(self, pools: AsyncPoolsResource) -> None:
848
+ self._pools = pools
849
+
850
+ self.create = async_to_streamed_response_wrapper(
851
+ pools.create,
852
+ )
853
+ self.update = async_to_streamed_response_wrapper(
854
+ pools.update,
855
+ )
856
+ self.list = async_to_streamed_response_wrapper(
857
+ pools.list,
858
+ )
859
+ self.delete = async_to_streamed_response_wrapper(
860
+ pools.delete,
861
+ )
862
+ self.get = async_to_streamed_response_wrapper(
863
+ pools.get,
864
+ )
865
+
866
+ @cached_property
867
+ def health_monitors(self) -> AsyncHealthMonitorsResourceWithStreamingResponse:
868
+ return AsyncHealthMonitorsResourceWithStreamingResponse(self._pools.health_monitors)
869
+
870
+ @cached_property
871
+ def members(self) -> AsyncMembersResourceWithStreamingResponse:
872
+ return AsyncMembersResourceWithStreamingResponse(self._pools.members)