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,788 @@
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, Iterable, Optional
6
+
7
+ import httpx
8
+
9
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
10
+ from ...._utils import maybe_transform, async_maybe_transform
11
+ from ...._compat import cached_property
12
+ from ...._resource import SyncAPIResource, AsyncAPIResource
13
+ from ...._response import (
14
+ to_raw_response_wrapper,
15
+ to_streamed_response_wrapper,
16
+ async_to_raw_response_wrapper,
17
+ async_to_streamed_response_wrapper,
18
+ )
19
+ from ....types.cloud import LbListenerProtocol
20
+ from ...._base_client import make_request_options
21
+ from ....types.cloud.task_id_list import TaskIDList
22
+ from ....types.cloud.load_balancers import (
23
+ listener_get_params,
24
+ listener_list_params,
25
+ listener_create_params,
26
+ listener_update_params,
27
+ )
28
+ from ....types.cloud.lb_listener_protocol import LbListenerProtocol
29
+ from ....types.cloud.load_balancer_listener_list import LoadBalancerListenerList
30
+ from ....types.cloud.load_balancer_listener_detail import LoadBalancerListenerDetail
31
+
32
+ __all__ = ["ListenersResource", "AsyncListenersResource"]
33
+
34
+
35
+ class ListenersResource(SyncAPIResource):
36
+ @cached_property
37
+ def with_raw_response(self) -> ListenersResourceWithRawResponse:
38
+ """
39
+ This property can be used as a prefix for any HTTP method call to return
40
+ the raw response object instead of the parsed content.
41
+
42
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
43
+ """
44
+ return ListenersResourceWithRawResponse(self)
45
+
46
+ @cached_property
47
+ def with_streaming_response(self) -> ListenersResourceWithStreamingResponse:
48
+ """
49
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
50
+
51
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
52
+ """
53
+ return ListenersResourceWithStreamingResponse(self)
54
+
55
+ def create(
56
+ self,
57
+ *,
58
+ project_id: int | None = None,
59
+ region_id: int | None = None,
60
+ loadbalancer_id: str,
61
+ name: str,
62
+ protocol: LbListenerProtocol,
63
+ protocol_port: int,
64
+ allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
65
+ connection_limit: int | NotGiven = NOT_GIVEN,
66
+ insert_x_forwarded: bool | NotGiven = NOT_GIVEN,
67
+ secret_id: str | NotGiven = NOT_GIVEN,
68
+ sni_secret_id: List[str] | NotGiven = NOT_GIVEN,
69
+ timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
70
+ timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
71
+ timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
72
+ user_list: Iterable[listener_create_params.UserList] | NotGiven = NOT_GIVEN,
73
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
74
+ # The extra values given here take precedence over values defined on the client or passed to this method.
75
+ extra_headers: Headers | None = None,
76
+ extra_query: Query | None = None,
77
+ extra_body: Body | None = None,
78
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
79
+ ) -> TaskIDList:
80
+ """
81
+ Create load balancer listener
82
+
83
+ Args:
84
+ loadbalancer_id: Load balancer ID
85
+
86
+ name: Load balancer listener name
87
+
88
+ protocol: Load balancer listener protocol
89
+
90
+ protocol_port: Protocol port
91
+
92
+ allowed_cidrs: Network CIDRs from which service will be accessible
93
+
94
+ connection_limit: Limit of the simultaneous connections
95
+
96
+ insert_x_forwarded: Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests.
97
+ Only used with HTTP or TERMINATED_HTTPS protocols.
98
+
99
+ secret_id: ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or PROMETHEUS
100
+ listener
101
+
102
+ sni_secret_id: List of secrets IDs containing PKCS12 format certificate/key bundles for
103
+ TERMINATED_HTTPS or PROMETHEUS listeners
104
+
105
+ timeout_client_data: Frontend client inactivity timeout in milliseconds
106
+
107
+ timeout_member_connect: Backend member connection timeout in milliseconds
108
+
109
+ timeout_member_data: Backend member inactivity timeout in milliseconds
110
+
111
+ user_list: Load balancer listener list of username and encrypted password items
112
+
113
+ extra_headers: Send extra headers
114
+
115
+ extra_query: Add additional query parameters to the request
116
+
117
+ extra_body: Add additional JSON properties to the request
118
+
119
+ timeout: Override the client-level default timeout for this request, in seconds
120
+ """
121
+ if project_id is None:
122
+ project_id = self._client._get_cloud_project_id_path_param()
123
+ if region_id is None:
124
+ region_id = self._client._get_cloud_region_id_path_param()
125
+ return self._post(
126
+ f"/cloud/v1/lblisteners/{project_id}/{region_id}",
127
+ body=maybe_transform(
128
+ {
129
+ "loadbalancer_id": loadbalancer_id,
130
+ "name": name,
131
+ "protocol": protocol,
132
+ "protocol_port": protocol_port,
133
+ "allowed_cidrs": allowed_cidrs,
134
+ "connection_limit": connection_limit,
135
+ "insert_x_forwarded": insert_x_forwarded,
136
+ "secret_id": secret_id,
137
+ "sni_secret_id": sni_secret_id,
138
+ "timeout_client_data": timeout_client_data,
139
+ "timeout_member_connect": timeout_member_connect,
140
+ "timeout_member_data": timeout_member_data,
141
+ "user_list": user_list,
142
+ },
143
+ listener_create_params.ListenerCreateParams,
144
+ ),
145
+ options=make_request_options(
146
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
147
+ ),
148
+ cast_to=TaskIDList,
149
+ )
150
+
151
+ def update(
152
+ self,
153
+ listener_id: str,
154
+ *,
155
+ project_id: int | None = None,
156
+ region_id: int | None = None,
157
+ allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
158
+ connection_limit: int | NotGiven = NOT_GIVEN,
159
+ name: str | NotGiven = NOT_GIVEN,
160
+ secret_id: Optional[str] | NotGiven = NOT_GIVEN,
161
+ sni_secret_id: Optional[List[str]] | NotGiven = NOT_GIVEN,
162
+ timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
163
+ timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
164
+ timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
165
+ user_list: Optional[Iterable[listener_update_params.UserList]] | NotGiven = NOT_GIVEN,
166
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
167
+ # The extra values given here take precedence over values defined on the client or passed to this method.
168
+ extra_headers: Headers | None = None,
169
+ extra_query: Query | None = None,
170
+ extra_body: Body | None = None,
171
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
172
+ ) -> TaskIDList:
173
+ """
174
+ Update listener
175
+
176
+ Args:
177
+ allowed_cidrs: Network CIDRs from which service will be accessible
178
+
179
+ connection_limit: Limit of simultaneous connections
180
+
181
+ name: Load balancer listener name
182
+
183
+ secret_id: ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or PROMETHEUS
184
+ load balancer
185
+
186
+ sni_secret_id: List of secret's ID containing PKCS12 format certificate/key bundfles for
187
+ TERMINATED_HTTPS or PROMETHEUS listeners
188
+
189
+ timeout_client_data: Frontend client inactivity timeout in milliseconds
190
+
191
+ timeout_member_connect: Backend member connection timeout in milliseconds
192
+
193
+ timeout_member_data: Backend member inactivity timeout in milliseconds
194
+
195
+ user_list: Load balancer listener users list
196
+
197
+ extra_headers: Send extra headers
198
+
199
+ extra_query: Add additional query parameters to the request
200
+
201
+ extra_body: Add additional JSON properties to the request
202
+
203
+ timeout: Override the client-level default timeout for this request, in seconds
204
+ """
205
+ if project_id is None:
206
+ project_id = self._client._get_cloud_project_id_path_param()
207
+ if region_id is None:
208
+ region_id = self._client._get_cloud_region_id_path_param()
209
+ if not listener_id:
210
+ raise ValueError(f"Expected a non-empty value for `listener_id` but received {listener_id!r}")
211
+ return self._patch(
212
+ f"/cloud/v2/lblisteners/{project_id}/{region_id}/{listener_id}",
213
+ body=maybe_transform(
214
+ {
215
+ "allowed_cidrs": allowed_cidrs,
216
+ "connection_limit": connection_limit,
217
+ "name": name,
218
+ "secret_id": secret_id,
219
+ "sni_secret_id": sni_secret_id,
220
+ "timeout_client_data": timeout_client_data,
221
+ "timeout_member_connect": timeout_member_connect,
222
+ "timeout_member_data": timeout_member_data,
223
+ "user_list": user_list,
224
+ },
225
+ listener_update_params.ListenerUpdateParams,
226
+ ),
227
+ options=make_request_options(
228
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
229
+ ),
230
+ cast_to=TaskIDList,
231
+ )
232
+
233
+ def list(
234
+ self,
235
+ *,
236
+ project_id: int | None = None,
237
+ region_id: int | None = None,
238
+ loadbalancer_id: str | NotGiven = NOT_GIVEN,
239
+ show_stats: bool | NotGiven = NOT_GIVEN,
240
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
241
+ # The extra values given here take precedence over values defined on the client or passed to this method.
242
+ extra_headers: Headers | None = None,
243
+ extra_query: Query | None = None,
244
+ extra_body: Body | None = None,
245
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
246
+ ) -> LoadBalancerListenerList:
247
+ """
248
+ List load balancer listeners
249
+
250
+ Args:
251
+ loadbalancer_id: Load balancer ID
252
+
253
+ show_stats: Show statistics
254
+
255
+ extra_headers: Send extra headers
256
+
257
+ extra_query: Add additional query parameters to the request
258
+
259
+ extra_body: Add additional JSON properties to the request
260
+
261
+ timeout: Override the client-level default timeout for this request, in seconds
262
+ """
263
+ if project_id is None:
264
+ project_id = self._client._get_cloud_project_id_path_param()
265
+ if region_id is None:
266
+ region_id = self._client._get_cloud_region_id_path_param()
267
+ return self._get(
268
+ f"/cloud/v1/lblisteners/{project_id}/{region_id}",
269
+ options=make_request_options(
270
+ extra_headers=extra_headers,
271
+ extra_query=extra_query,
272
+ extra_body=extra_body,
273
+ timeout=timeout,
274
+ query=maybe_transform(
275
+ {
276
+ "loadbalancer_id": loadbalancer_id,
277
+ "show_stats": show_stats,
278
+ },
279
+ listener_list_params.ListenerListParams,
280
+ ),
281
+ ),
282
+ cast_to=LoadBalancerListenerList,
283
+ )
284
+
285
+ def delete(
286
+ self,
287
+ listener_id: str,
288
+ *,
289
+ project_id: int | None = None,
290
+ region_id: int | None = None,
291
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
292
+ # The extra values given here take precedence over values defined on the client or passed to this method.
293
+ extra_headers: Headers | None = None,
294
+ extra_query: Query | None = None,
295
+ extra_body: Body | None = None,
296
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
297
+ ) -> TaskIDList:
298
+ """
299
+ Delete load balancer listener
300
+
301
+ Args:
302
+ extra_headers: Send extra headers
303
+
304
+ extra_query: Add additional query parameters to the request
305
+
306
+ extra_body: Add additional JSON properties to the request
307
+
308
+ timeout: Override the client-level default timeout for this request, in seconds
309
+ """
310
+ if project_id is None:
311
+ project_id = self._client._get_cloud_project_id_path_param()
312
+ if region_id is None:
313
+ region_id = self._client._get_cloud_region_id_path_param()
314
+ if not listener_id:
315
+ raise ValueError(f"Expected a non-empty value for `listener_id` but received {listener_id!r}")
316
+ return self._delete(
317
+ f"/cloud/v1/lblisteners/{project_id}/{region_id}/{listener_id}",
318
+ options=make_request_options(
319
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
320
+ ),
321
+ cast_to=TaskIDList,
322
+ )
323
+
324
+ def get(
325
+ self,
326
+ listener_id: str,
327
+ *,
328
+ project_id: int | None = None,
329
+ region_id: int | None = None,
330
+ show_stats: bool | NotGiven = NOT_GIVEN,
331
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
332
+ # The extra values given here take precedence over values defined on the client or passed to this method.
333
+ extra_headers: Headers | None = None,
334
+ extra_query: Query | None = None,
335
+ extra_body: Body | None = None,
336
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
337
+ ) -> LoadBalancerListenerDetail:
338
+ """
339
+ Get listener
340
+
341
+ Args:
342
+ show_stats: Show statistics
343
+
344
+ extra_headers: Send extra headers
345
+
346
+ extra_query: Add additional query parameters to the request
347
+
348
+ extra_body: Add additional JSON properties to the request
349
+
350
+ timeout: Override the client-level default timeout for this request, in seconds
351
+ """
352
+ if project_id is None:
353
+ project_id = self._client._get_cloud_project_id_path_param()
354
+ if region_id is None:
355
+ region_id = self._client._get_cloud_region_id_path_param()
356
+ if not listener_id:
357
+ raise ValueError(f"Expected a non-empty value for `listener_id` but received {listener_id!r}")
358
+ return self._get(
359
+ f"/cloud/v1/lblisteners/{project_id}/{region_id}/{listener_id}",
360
+ options=make_request_options(
361
+ extra_headers=extra_headers,
362
+ extra_query=extra_query,
363
+ extra_body=extra_body,
364
+ timeout=timeout,
365
+ query=maybe_transform({"show_stats": show_stats}, listener_get_params.ListenerGetParams),
366
+ ),
367
+ cast_to=LoadBalancerListenerDetail,
368
+ )
369
+
370
+
371
+ class AsyncListenersResource(AsyncAPIResource):
372
+ @cached_property
373
+ def with_raw_response(self) -> AsyncListenersResourceWithRawResponse:
374
+ """
375
+ This property can be used as a prefix for any HTTP method call to return
376
+ the raw response object instead of the parsed content.
377
+
378
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
379
+ """
380
+ return AsyncListenersResourceWithRawResponse(self)
381
+
382
+ @cached_property
383
+ def with_streaming_response(self) -> AsyncListenersResourceWithStreamingResponse:
384
+ """
385
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
386
+
387
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
388
+ """
389
+ return AsyncListenersResourceWithStreamingResponse(self)
390
+
391
+ async def create(
392
+ self,
393
+ *,
394
+ project_id: int | None = None,
395
+ region_id: int | None = None,
396
+ loadbalancer_id: str,
397
+ name: str,
398
+ protocol: LbListenerProtocol,
399
+ protocol_port: int,
400
+ allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
401
+ connection_limit: int | NotGiven = NOT_GIVEN,
402
+ insert_x_forwarded: bool | NotGiven = NOT_GIVEN,
403
+ secret_id: str | NotGiven = NOT_GIVEN,
404
+ sni_secret_id: List[str] | NotGiven = NOT_GIVEN,
405
+ timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
406
+ timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
407
+ timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
408
+ user_list: Iterable[listener_create_params.UserList] | NotGiven = NOT_GIVEN,
409
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
410
+ # The extra values given here take precedence over values defined on the client or passed to this method.
411
+ extra_headers: Headers | None = None,
412
+ extra_query: Query | None = None,
413
+ extra_body: Body | None = None,
414
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
415
+ ) -> TaskIDList:
416
+ """
417
+ Create load balancer listener
418
+
419
+ Args:
420
+ loadbalancer_id: Load balancer ID
421
+
422
+ name: Load balancer listener name
423
+
424
+ protocol: Load balancer listener protocol
425
+
426
+ protocol_port: Protocol port
427
+
428
+ allowed_cidrs: Network CIDRs from which service will be accessible
429
+
430
+ connection_limit: Limit of the simultaneous connections
431
+
432
+ insert_x_forwarded: Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests.
433
+ Only used with HTTP or TERMINATED_HTTPS protocols.
434
+
435
+ secret_id: ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or PROMETHEUS
436
+ listener
437
+
438
+ sni_secret_id: List of secrets IDs containing PKCS12 format certificate/key bundles for
439
+ TERMINATED_HTTPS or PROMETHEUS listeners
440
+
441
+ timeout_client_data: Frontend client inactivity timeout in milliseconds
442
+
443
+ timeout_member_connect: Backend member connection timeout in milliseconds
444
+
445
+ timeout_member_data: Backend member inactivity timeout in milliseconds
446
+
447
+ user_list: Load balancer listener list of username and encrypted password items
448
+
449
+ extra_headers: Send extra headers
450
+
451
+ extra_query: Add additional query parameters to the request
452
+
453
+ extra_body: Add additional JSON properties to the request
454
+
455
+ timeout: Override the client-level default timeout for this request, in seconds
456
+ """
457
+ if project_id is None:
458
+ project_id = self._client._get_cloud_project_id_path_param()
459
+ if region_id is None:
460
+ region_id = self._client._get_cloud_region_id_path_param()
461
+ return await self._post(
462
+ f"/cloud/v1/lblisteners/{project_id}/{region_id}",
463
+ body=await async_maybe_transform(
464
+ {
465
+ "loadbalancer_id": loadbalancer_id,
466
+ "name": name,
467
+ "protocol": protocol,
468
+ "protocol_port": protocol_port,
469
+ "allowed_cidrs": allowed_cidrs,
470
+ "connection_limit": connection_limit,
471
+ "insert_x_forwarded": insert_x_forwarded,
472
+ "secret_id": secret_id,
473
+ "sni_secret_id": sni_secret_id,
474
+ "timeout_client_data": timeout_client_data,
475
+ "timeout_member_connect": timeout_member_connect,
476
+ "timeout_member_data": timeout_member_data,
477
+ "user_list": user_list,
478
+ },
479
+ listener_create_params.ListenerCreateParams,
480
+ ),
481
+ options=make_request_options(
482
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
483
+ ),
484
+ cast_to=TaskIDList,
485
+ )
486
+
487
+ async def update(
488
+ self,
489
+ listener_id: str,
490
+ *,
491
+ project_id: int | None = None,
492
+ region_id: int | None = None,
493
+ allowed_cidrs: Optional[List[str]] | NotGiven = NOT_GIVEN,
494
+ connection_limit: int | NotGiven = NOT_GIVEN,
495
+ name: str | NotGiven = NOT_GIVEN,
496
+ secret_id: Optional[str] | NotGiven = NOT_GIVEN,
497
+ sni_secret_id: Optional[List[str]] | NotGiven = NOT_GIVEN,
498
+ timeout_client_data: Optional[int] | NotGiven = NOT_GIVEN,
499
+ timeout_member_connect: Optional[int] | NotGiven = NOT_GIVEN,
500
+ timeout_member_data: Optional[int] | NotGiven = NOT_GIVEN,
501
+ user_list: Optional[Iterable[listener_update_params.UserList]] | NotGiven = NOT_GIVEN,
502
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
503
+ # The extra values given here take precedence over values defined on the client or passed to this method.
504
+ extra_headers: Headers | None = None,
505
+ extra_query: Query | None = None,
506
+ extra_body: Body | None = None,
507
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
508
+ ) -> TaskIDList:
509
+ """
510
+ Update listener
511
+
512
+ Args:
513
+ allowed_cidrs: Network CIDRs from which service will be accessible
514
+
515
+ connection_limit: Limit of simultaneous connections
516
+
517
+ name: Load balancer listener name
518
+
519
+ secret_id: ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or PROMETHEUS
520
+ load balancer
521
+
522
+ sni_secret_id: List of secret's ID containing PKCS12 format certificate/key bundfles for
523
+ TERMINATED_HTTPS or PROMETHEUS listeners
524
+
525
+ timeout_client_data: Frontend client inactivity timeout in milliseconds
526
+
527
+ timeout_member_connect: Backend member connection timeout in milliseconds
528
+
529
+ timeout_member_data: Backend member inactivity timeout in milliseconds
530
+
531
+ user_list: Load balancer listener users list
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
+ if not listener_id:
546
+ raise ValueError(f"Expected a non-empty value for `listener_id` but received {listener_id!r}")
547
+ return await self._patch(
548
+ f"/cloud/v2/lblisteners/{project_id}/{region_id}/{listener_id}",
549
+ body=await async_maybe_transform(
550
+ {
551
+ "allowed_cidrs": allowed_cidrs,
552
+ "connection_limit": connection_limit,
553
+ "name": name,
554
+ "secret_id": secret_id,
555
+ "sni_secret_id": sni_secret_id,
556
+ "timeout_client_data": timeout_client_data,
557
+ "timeout_member_connect": timeout_member_connect,
558
+ "timeout_member_data": timeout_member_data,
559
+ "user_list": user_list,
560
+ },
561
+ listener_update_params.ListenerUpdateParams,
562
+ ),
563
+ options=make_request_options(
564
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
565
+ ),
566
+ cast_to=TaskIDList,
567
+ )
568
+
569
+ async def list(
570
+ self,
571
+ *,
572
+ project_id: int | None = None,
573
+ region_id: int | None = None,
574
+ loadbalancer_id: str | NotGiven = NOT_GIVEN,
575
+ show_stats: bool | NotGiven = NOT_GIVEN,
576
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
577
+ # The extra values given here take precedence over values defined on the client or passed to this method.
578
+ extra_headers: Headers | None = None,
579
+ extra_query: Query | None = None,
580
+ extra_body: Body | None = None,
581
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
582
+ ) -> LoadBalancerListenerList:
583
+ """
584
+ List load balancer listeners
585
+
586
+ Args:
587
+ loadbalancer_id: Load balancer ID
588
+
589
+ show_stats: Show statistics
590
+
591
+ extra_headers: Send extra headers
592
+
593
+ extra_query: Add additional query parameters to the request
594
+
595
+ extra_body: Add additional JSON properties to the request
596
+
597
+ timeout: Override the client-level default timeout for this request, in seconds
598
+ """
599
+ if project_id is None:
600
+ project_id = self._client._get_cloud_project_id_path_param()
601
+ if region_id is None:
602
+ region_id = self._client._get_cloud_region_id_path_param()
603
+ return await self._get(
604
+ f"/cloud/v1/lblisteners/{project_id}/{region_id}",
605
+ options=make_request_options(
606
+ extra_headers=extra_headers,
607
+ extra_query=extra_query,
608
+ extra_body=extra_body,
609
+ timeout=timeout,
610
+ query=await async_maybe_transform(
611
+ {
612
+ "loadbalancer_id": loadbalancer_id,
613
+ "show_stats": show_stats,
614
+ },
615
+ listener_list_params.ListenerListParams,
616
+ ),
617
+ ),
618
+ cast_to=LoadBalancerListenerList,
619
+ )
620
+
621
+ async def delete(
622
+ self,
623
+ listener_id: str,
624
+ *,
625
+ project_id: int | None = None,
626
+ region_id: int | None = None,
627
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
628
+ # The extra values given here take precedence over values defined on the client or passed to this method.
629
+ extra_headers: Headers | None = None,
630
+ extra_query: Query | None = None,
631
+ extra_body: Body | None = None,
632
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
633
+ ) -> TaskIDList:
634
+ """
635
+ Delete load balancer listener
636
+
637
+ Args:
638
+ extra_headers: Send extra headers
639
+
640
+ extra_query: Add additional query parameters to the request
641
+
642
+ extra_body: Add additional JSON properties to the request
643
+
644
+ timeout: Override the client-level default timeout for this request, in seconds
645
+ """
646
+ if project_id is None:
647
+ project_id = self._client._get_cloud_project_id_path_param()
648
+ if region_id is None:
649
+ region_id = self._client._get_cloud_region_id_path_param()
650
+ if not listener_id:
651
+ raise ValueError(f"Expected a non-empty value for `listener_id` but received {listener_id!r}")
652
+ return await self._delete(
653
+ f"/cloud/v1/lblisteners/{project_id}/{region_id}/{listener_id}",
654
+ options=make_request_options(
655
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
656
+ ),
657
+ cast_to=TaskIDList,
658
+ )
659
+
660
+ async def get(
661
+ self,
662
+ listener_id: str,
663
+ *,
664
+ project_id: int | None = None,
665
+ region_id: int | None = None,
666
+ show_stats: bool | NotGiven = NOT_GIVEN,
667
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
668
+ # The extra values given here take precedence over values defined on the client or passed to this method.
669
+ extra_headers: Headers | None = None,
670
+ extra_query: Query | None = None,
671
+ extra_body: Body | None = None,
672
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
673
+ ) -> LoadBalancerListenerDetail:
674
+ """
675
+ Get listener
676
+
677
+ Args:
678
+ show_stats: Show statistics
679
+
680
+ extra_headers: Send extra headers
681
+
682
+ extra_query: Add additional query parameters to the request
683
+
684
+ extra_body: Add additional JSON properties to the request
685
+
686
+ timeout: Override the client-level default timeout for this request, in seconds
687
+ """
688
+ if project_id is None:
689
+ project_id = self._client._get_cloud_project_id_path_param()
690
+ if region_id is None:
691
+ region_id = self._client._get_cloud_region_id_path_param()
692
+ if not listener_id:
693
+ raise ValueError(f"Expected a non-empty value for `listener_id` but received {listener_id!r}")
694
+ return await self._get(
695
+ f"/cloud/v1/lblisteners/{project_id}/{region_id}/{listener_id}",
696
+ options=make_request_options(
697
+ extra_headers=extra_headers,
698
+ extra_query=extra_query,
699
+ extra_body=extra_body,
700
+ timeout=timeout,
701
+ query=await async_maybe_transform({"show_stats": show_stats}, listener_get_params.ListenerGetParams),
702
+ ),
703
+ cast_to=LoadBalancerListenerDetail,
704
+ )
705
+
706
+
707
+ class ListenersResourceWithRawResponse:
708
+ def __init__(self, listeners: ListenersResource) -> None:
709
+ self._listeners = listeners
710
+
711
+ self.create = to_raw_response_wrapper(
712
+ listeners.create,
713
+ )
714
+ self.update = to_raw_response_wrapper(
715
+ listeners.update,
716
+ )
717
+ self.list = to_raw_response_wrapper(
718
+ listeners.list,
719
+ )
720
+ self.delete = to_raw_response_wrapper(
721
+ listeners.delete,
722
+ )
723
+ self.get = to_raw_response_wrapper(
724
+ listeners.get,
725
+ )
726
+
727
+
728
+ class AsyncListenersResourceWithRawResponse:
729
+ def __init__(self, listeners: AsyncListenersResource) -> None:
730
+ self._listeners = listeners
731
+
732
+ self.create = async_to_raw_response_wrapper(
733
+ listeners.create,
734
+ )
735
+ self.update = async_to_raw_response_wrapper(
736
+ listeners.update,
737
+ )
738
+ self.list = async_to_raw_response_wrapper(
739
+ listeners.list,
740
+ )
741
+ self.delete = async_to_raw_response_wrapper(
742
+ listeners.delete,
743
+ )
744
+ self.get = async_to_raw_response_wrapper(
745
+ listeners.get,
746
+ )
747
+
748
+
749
+ class ListenersResourceWithStreamingResponse:
750
+ def __init__(self, listeners: ListenersResource) -> None:
751
+ self._listeners = listeners
752
+
753
+ self.create = to_streamed_response_wrapper(
754
+ listeners.create,
755
+ )
756
+ self.update = to_streamed_response_wrapper(
757
+ listeners.update,
758
+ )
759
+ self.list = to_streamed_response_wrapper(
760
+ listeners.list,
761
+ )
762
+ self.delete = to_streamed_response_wrapper(
763
+ listeners.delete,
764
+ )
765
+ self.get = to_streamed_response_wrapper(
766
+ listeners.get,
767
+ )
768
+
769
+
770
+ class AsyncListenersResourceWithStreamingResponse:
771
+ def __init__(self, listeners: AsyncListenersResource) -> None:
772
+ self._listeners = listeners
773
+
774
+ self.create = async_to_streamed_response_wrapper(
775
+ listeners.create,
776
+ )
777
+ self.update = async_to_streamed_response_wrapper(
778
+ listeners.update,
779
+ )
780
+ self.list = async_to_streamed_response_wrapper(
781
+ listeners.list,
782
+ )
783
+ self.delete = async_to_streamed_response_wrapper(
784
+ listeners.delete,
785
+ )
786
+ self.get = async_to_streamed_response_wrapper(
787
+ listeners.get,
788
+ )