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,144 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from .tag import Tag
7
+ from .logging import Logging
8
+ from ..._models import BaseModel
9
+ from .floating_ip import FloatingIP
10
+ from .ddos_profile import DDOSProfile
11
+ from .interface_ip_family import InterfaceIPFamily
12
+ from .provisioning_status import ProvisioningStatus
13
+ from .load_balancer_statistics import LoadBalancerStatistics
14
+ from .load_balancer_instance_role import LoadBalancerInstanceRole
15
+ from .load_balancer_operating_status import LoadBalancerOperatingStatus
16
+ from .load_balancer_member_connectivity import LoadBalancerMemberConnectivity
17
+
18
+ __all__ = ["LoadBalancer", "AdditionalVip", "Flavor", "Listener", "VrrpIP"]
19
+
20
+
21
+ class AdditionalVip(BaseModel):
22
+ ip_address: str
23
+ """IP address"""
24
+
25
+ subnet_id: str
26
+ """Subnet UUID"""
27
+
28
+
29
+ class Flavor(BaseModel):
30
+ flavor_id: str
31
+ """Flavor ID is the same as name"""
32
+
33
+ flavor_name: str
34
+ """Flavor name"""
35
+
36
+ ram: int
37
+ """RAM size in MiB"""
38
+
39
+ vcpus: int
40
+ """Virtual CPU count. For bare metal flavors, it's a physical CPU count"""
41
+
42
+
43
+ class Listener(BaseModel):
44
+ id: str
45
+ """Listener ID"""
46
+
47
+
48
+ class VrrpIP(BaseModel):
49
+ ip_address: str
50
+ """IP address"""
51
+
52
+ role: LoadBalancerInstanceRole
53
+ """LoadBalancer instance role to which VRRP IP belong"""
54
+
55
+ subnet_id: str
56
+ """Subnet UUID"""
57
+
58
+
59
+ class LoadBalancer(BaseModel):
60
+ id: str
61
+ """Load balancer ID"""
62
+
63
+ created_at: datetime
64
+ """Datetime when the load balancer was created"""
65
+
66
+ name: str
67
+ """Load balancer name"""
68
+
69
+ operating_status: LoadBalancerOperatingStatus
70
+ """Load balancer operating status"""
71
+
72
+ project_id: int
73
+ """Project ID"""
74
+
75
+ provisioning_status: ProvisioningStatus
76
+ """Load balancer lifecycle status"""
77
+
78
+ region: str
79
+ """Region name"""
80
+
81
+ region_id: int
82
+ """Region ID"""
83
+
84
+ tags_v2: List[Tag]
85
+ """List of key-value tags associated with the resource.
86
+
87
+ A tag is a key-value pair that can be associated with a resource, enabling
88
+ efficient filtering and grouping for better organization and management. Some
89
+ tags are read-only and cannot be modified by the user. Tags are also integrated
90
+ with cost reports, allowing cost data to be filtered based on tag keys or
91
+ values.
92
+ """
93
+
94
+ additional_vips: Optional[List[AdditionalVip]] = None
95
+ """List of additional IP addresses"""
96
+
97
+ creator_task_id: Optional[str] = None
98
+ """Task that created this entity"""
99
+
100
+ ddos_profile: Optional[DDOSProfile] = None
101
+ """Loadbalancer advanced DDoS protection profile."""
102
+
103
+ flavor: Optional[Flavor] = None
104
+ """Load balancer flavor (if not default)"""
105
+
106
+ floating_ips: Optional[List[FloatingIP]] = None
107
+ """List of assigned floating IPs"""
108
+
109
+ listeners: Optional[List[Listener]] = None
110
+ """Load balancer listeners"""
111
+
112
+ logging: Optional[Logging] = None
113
+ """Logging configuration"""
114
+
115
+ preferred_connectivity: Optional[LoadBalancerMemberConnectivity] = None
116
+ """
117
+ Preferred option to establish connectivity between load balancer and its pools
118
+ members
119
+ """
120
+
121
+ stats: Optional[LoadBalancerStatistics] = None
122
+ """Statistics of load balancer."""
123
+
124
+ task_id: Optional[str] = None
125
+ """The UUID of the active task that currently holds a lock on the resource.
126
+
127
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
128
+ the resource is not locked.
129
+ """
130
+
131
+ updated_at: Optional[datetime] = None
132
+ """Datetime when the load balancer was last updated"""
133
+
134
+ vip_address: Optional[str] = None
135
+ """Load balancer IP address"""
136
+
137
+ vip_ip_family: Optional[InterfaceIPFamily] = None
138
+ """Load balancer IP family"""
139
+
140
+ vip_port_id: Optional[str] = None
141
+ """The ID of the Virtual IP (VIP) port."""
142
+
143
+ vrrp_ips: Optional[List[VrrpIP]] = None
144
+ """List of VRRP IP addresses"""
@@ -0,0 +1,327 @@
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, Union, Iterable, Optional
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
+
8
+ from .http_method import HTTPMethod
9
+ from .lb_algorithm import LbAlgorithm
10
+ from .lb_pool_protocol import LbPoolProtocol
11
+ from .interface_ip_family import InterfaceIPFamily
12
+ from .lb_listener_protocol import LbListenerProtocol
13
+ from .tag_update_map_param import TagUpdateMapParam
14
+ from .lb_health_monitor_type import LbHealthMonitorType
15
+ from .lb_session_persistence_type import LbSessionPersistenceType
16
+ from .laas_index_retention_policy_param import LaasIndexRetentionPolicyParam
17
+ from .load_balancer_member_connectivity import LoadBalancerMemberConnectivity
18
+
19
+ __all__ = [
20
+ "LoadBalancerCreateParams",
21
+ "FloatingIP",
22
+ "FloatingIPNewInstanceFloatingIPInterfaceSerializer",
23
+ "FloatingIPExistingInstanceFloatingIPInterfaceSerializer",
24
+ "Listener",
25
+ "ListenerPool",
26
+ "ListenerPoolHealthmonitor",
27
+ "ListenerPoolMember",
28
+ "ListenerPoolSessionPersistence",
29
+ "ListenerUserList",
30
+ "Logging",
31
+ ]
32
+
33
+
34
+ class LoadBalancerCreateParams(TypedDict, total=False):
35
+ project_id: int
36
+
37
+ region_id: int
38
+
39
+ flavor: str
40
+ """Load balancer flavor name"""
41
+
42
+ floating_ip: FloatingIP
43
+ """Floating IP configuration for assignment"""
44
+
45
+ listeners: Iterable[Listener]
46
+ """Load balancer listeners.
47
+
48
+ Maximum 50 per LB (excluding Prometheus endpoint listener).
49
+ """
50
+
51
+ logging: Logging
52
+ """Logging configuration"""
53
+
54
+ name: str
55
+ """Load balancer name"""
56
+
57
+ name_template: str
58
+ """Load balancer name which will be changed by template."""
59
+
60
+ preferred_connectivity: LoadBalancerMemberConnectivity
61
+ """
62
+ Preferred option to establish connectivity between load balancer and its pools
63
+ members. L2 provides best performance, L3 provides less IPs usage. It is taking
64
+ effect only if instance_id + ip_address is provided, not subnet_id + ip_address,
65
+ because we're considering this as intentional subnet_id specification.
66
+ """
67
+
68
+ tags: TagUpdateMapParam
69
+ """Key-value tags to associate with the resource.
70
+
71
+ A tag is a key-value pair that can be associated with a resource, enabling
72
+ efficient filtering and grouping for better organization and management. Some
73
+ tags are read-only and cannot be modified by the user. Tags are also integrated
74
+ with cost reports, allowing cost data to be filtered based on tag keys or
75
+ values.
76
+ """
77
+
78
+ vip_ip_family: InterfaceIPFamily
79
+ """
80
+ IP family for load balancer subnet auto-selection if vip_network_id is specified
81
+ """
82
+
83
+ vip_network_id: str
84
+ """Network ID for load balancer.
85
+
86
+ If not specified, default external network will be used. Mutually exclusive with
87
+ vip_port_id
88
+ """
89
+
90
+ vip_port_id: str
91
+ """Existing Reserved Fixed IP port ID for load balancer.
92
+
93
+ Mutually exclusive with vip_network_id
94
+ """
95
+
96
+ vip_subnet_id: str
97
+ """Subnet ID for load balancer.
98
+
99
+ If not specified, any subnet from vip_network_id will be selected. Ignored when
100
+ vip_network_id is not specified.
101
+ """
102
+
103
+
104
+ class FloatingIPNewInstanceFloatingIPInterfaceSerializer(TypedDict, total=False):
105
+ source: Required[Literal["new"]]
106
+ """A new floating IP will be created and attached to the instance.
107
+
108
+ A floating IP is a public IP that makes the instance accessible from the
109
+ internet, even if it only has a private IP. It works like SNAT, allowing
110
+ outgoing and incoming traffic.
111
+ """
112
+
113
+
114
+ class FloatingIPExistingInstanceFloatingIPInterfaceSerializer(TypedDict, total=False):
115
+ existing_floating_id: Required[str]
116
+ """
117
+ An existing available floating IP id must be specified if the source is set to
118
+ `existing`
119
+ """
120
+
121
+ source: Required[Literal["existing"]]
122
+ """An existing available floating IP will be attached to the instance.
123
+
124
+ A floating IP is a public IP that makes the instance accessible from the
125
+ internet, even if it only has a private IP. It works like SNAT, allowing
126
+ outgoing and incoming traffic.
127
+ """
128
+
129
+
130
+ FloatingIP: TypeAlias = Union[
131
+ FloatingIPNewInstanceFloatingIPInterfaceSerializer, FloatingIPExistingInstanceFloatingIPInterfaceSerializer
132
+ ]
133
+
134
+
135
+ class ListenerPoolHealthmonitor(TypedDict, total=False):
136
+ delay: Required[int]
137
+ """The time, in seconds, between sending probes to members"""
138
+
139
+ max_retries: Required[int]
140
+ """Number of successes before the member is switched to ONLINE state"""
141
+
142
+ timeout: Required[int]
143
+ """The maximum time to connect. Must be less than the delay value"""
144
+
145
+ type: Required[LbHealthMonitorType]
146
+ """Health monitor type. Once health monitor is created, cannot be changed."""
147
+
148
+ expected_codes: Optional[str]
149
+ """Can only be used together with `HTTP` or `HTTPS` health monitor type."""
150
+
151
+ http_method: Optional[HTTPMethod]
152
+ """HTTP method.
153
+
154
+ Can only be used together with `HTTP` or `HTTPS` health monitor type.
155
+ """
156
+
157
+ max_retries_down: Optional[int]
158
+ """Number of failures before the member is switched to ERROR state."""
159
+
160
+ url_path: Optional[str]
161
+ """URL Path.
162
+
163
+ Defaults to '/'. Can only be used together with `HTTP` or `HTTPS` health monitor
164
+ type.
165
+ """
166
+
167
+
168
+ class ListenerPoolMember(TypedDict, total=False):
169
+ address: Required[str]
170
+ """Member IP address"""
171
+
172
+ protocol_port: Required[int]
173
+ """Member IP port"""
174
+
175
+ admin_state_up: Optional[bool]
176
+ """true if enabled. Defaults to true"""
177
+
178
+ instance_id: Optional[str]
179
+ """Either subnet_id or instance_id should be provided"""
180
+
181
+ monitor_address: Optional[str]
182
+ """An alternate IP address used for health monitoring of a backend member.
183
+
184
+ Default is null which monitors the member address.
185
+ """
186
+
187
+ monitor_port: Optional[int]
188
+ """An alternate protocol port used for health monitoring of a backend member.
189
+
190
+ Default is null which monitors the member protocol_port.
191
+ """
192
+
193
+ subnet_id: Optional[str]
194
+ """Either subnet_id or instance_id should be provided"""
195
+
196
+ weight: Optional[int]
197
+ """Member weight. Valid values: 0 to 256, defaults to 1"""
198
+
199
+
200
+ class ListenerPoolSessionPersistence(TypedDict, total=False):
201
+ type: Required[LbSessionPersistenceType]
202
+ """Session persistence type"""
203
+
204
+ cookie_name: Optional[str]
205
+ """Should be set if app cookie or http cookie is used"""
206
+
207
+ persistence_granularity: Optional[str]
208
+ """Subnet mask if source_ip is used. For UDP ports only"""
209
+
210
+ persistence_timeout: Optional[int]
211
+ """Session persistence timeout. For UDP ports only"""
212
+
213
+
214
+ class ListenerPool(TypedDict, total=False):
215
+ lb_algorithm: Required[LbAlgorithm]
216
+ """Load balancer algorithm"""
217
+
218
+ name: Required[str]
219
+ """Pool name"""
220
+
221
+ protocol: Required[LbPoolProtocol]
222
+ """Protocol"""
223
+
224
+ ca_secret_id: Optional[str]
225
+ """Secret ID of CA certificate bundle"""
226
+
227
+ crl_secret_id: Optional[str]
228
+ """Secret ID of CA revocation list file"""
229
+
230
+ healthmonitor: Optional[ListenerPoolHealthmonitor]
231
+ """Health monitor details"""
232
+
233
+ listener_id: Optional[str]
234
+ """Listener ID"""
235
+
236
+ loadbalancer_id: Optional[str]
237
+ """Loadbalancer ID"""
238
+
239
+ members: Optional[Iterable[ListenerPoolMember]]
240
+ """Pool members"""
241
+
242
+ secret_id: Optional[str]
243
+ """Secret ID for TLS client authentication to the member servers"""
244
+
245
+ session_persistence: Optional[ListenerPoolSessionPersistence]
246
+ """Session persistence details"""
247
+
248
+ timeout_client_data: Optional[int]
249
+ """Frontend client inactivity timeout in milliseconds"""
250
+
251
+ timeout_member_connect: Optional[int]
252
+ """Backend member connection timeout in milliseconds"""
253
+
254
+ timeout_member_data: Optional[int]
255
+ """Backend member inactivity timeout in milliseconds"""
256
+
257
+
258
+ class ListenerUserList(TypedDict, total=False):
259
+ encrypted_password: Required[str]
260
+ """Encrypted password to auth via Basic Authentication"""
261
+
262
+ username: Required[str]
263
+ """Username to auth via Basic Authentication"""
264
+
265
+
266
+ class Listener(TypedDict, total=False):
267
+ name: Required[str]
268
+ """Load balancer listener name"""
269
+
270
+ protocol: Required[LbListenerProtocol]
271
+ """Load balancer listener protocol"""
272
+
273
+ protocol_port: Required[int]
274
+ """Protocol port"""
275
+
276
+ allowed_cidrs: Optional[List[str]]
277
+ """Network CIDRs from which service will be accessible"""
278
+
279
+ connection_limit: int
280
+ """Limit of the simultaneous connections"""
281
+
282
+ insert_x_forwarded: bool
283
+ """Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests.
284
+
285
+ Only used with HTTP or TERMINATED_HTTPS protocols.
286
+ """
287
+
288
+ pools: Iterable[ListenerPool]
289
+ """Member pools"""
290
+
291
+ secret_id: str
292
+ """
293
+ ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or PROMETHEUS
294
+ listener
295
+ """
296
+
297
+ sni_secret_id: List[str]
298
+ """
299
+ List of secrets IDs containing PKCS12 format certificate/key bundles for
300
+ TERMINATED_HTTPS or PROMETHEUS listeners
301
+ """
302
+
303
+ timeout_client_data: Optional[int]
304
+ """Frontend client inactivity timeout in milliseconds"""
305
+
306
+ timeout_member_connect: Optional[int]
307
+ """Backend member connection timeout in milliseconds"""
308
+
309
+ timeout_member_data: Optional[int]
310
+ """Backend member inactivity timeout in milliseconds"""
311
+
312
+ user_list: Iterable[ListenerUserList]
313
+ """Load balancer listener list of username and encrypted password items"""
314
+
315
+
316
+ class Logging(TypedDict, total=False):
317
+ destination_region_id: Optional[int]
318
+ """Destination region id to which the logs will be written"""
319
+
320
+ enabled: bool
321
+ """Enable/disable forwarding logs to LaaS"""
322
+
323
+ retention_policy: Optional[LaasIndexRetentionPolicyParam]
324
+ """The logs retention policy"""
325
+
326
+ topic_name: Optional[str]
327
+ """The topic name to which the logs will be written"""
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["LoadBalancerFailoverParams"]
8
+
9
+
10
+ class LoadBalancerFailoverParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ force: bool
16
+ """Validate current load balancer status before failover or not."""
@@ -0,0 +1,40 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Union, Optional
4
+ from typing_extensions import Literal, TypeAlias
5
+
6
+ from ..._models import BaseModel
7
+ from .flavor_hardware_description import FlavorHardwareDescription
8
+
9
+ __all__ = ["LoadBalancerFlavorDetail", "HardwareDescription"]
10
+
11
+ HardwareDescription: TypeAlias = Union[FlavorHardwareDescription, object]
12
+
13
+
14
+ class LoadBalancerFlavorDetail(BaseModel):
15
+ flavor_id: str
16
+ """Flavor ID is the same as name"""
17
+
18
+ flavor_name: str
19
+ """Flavor name"""
20
+
21
+ hardware_description: HardwareDescription
22
+ """Additional hardware description."""
23
+
24
+ ram: int
25
+ """RAM size in MiB"""
26
+
27
+ vcpus: int
28
+ """Virtual CPU count. For bare metal flavors, it's a physical CPU count"""
29
+
30
+ currency_code: Optional[str] = None
31
+ """Currency code. Shown if the include_prices query parameter if set to true"""
32
+
33
+ price_per_hour: Optional[float] = None
34
+ """Price per hour. Shown if the include_prices query parameter if set to true"""
35
+
36
+ price_per_month: Optional[float] = None
37
+ """Price per month. Shown if the include_prices query parameter if set to true"""
38
+
39
+ price_status: Optional[Literal["error", "hide", "show"]] = None
40
+ """Price status for the UI"""
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from ..._models import BaseModel
6
+ from .load_balancer_flavor_detail import LoadBalancerFlavorDetail
7
+
8
+ __all__ = ["LoadBalancerFlavorList"]
9
+
10
+
11
+ class LoadBalancerFlavorList(BaseModel):
12
+ count: int
13
+ """Number of objects"""
14
+
15
+ results: List[LoadBalancerFlavorDetail]
16
+ """Objects"""
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["LoadBalancerGetParams"]
8
+
9
+
10
+ class LoadBalancerGetParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ show_stats: bool
16
+ """Show statistics"""
17
+
18
+ with_ddos: bool
19
+ """Show DDoS profile"""
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["LoadBalancerInstanceRole"]
6
+
7
+ LoadBalancerInstanceRole: TypeAlias = Literal["BACKUP", "MASTER", "STANDALONE"]
@@ -0,0 +1,86 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+ from .load_balancer_l7_rule import LoadBalancerL7Rule
8
+
9
+ __all__ = ["LoadBalancerL7Policy"]
10
+
11
+
12
+ class LoadBalancerL7Policy(BaseModel):
13
+ id: Optional[str] = None
14
+ """ID"""
15
+
16
+ action: Optional[Literal["REDIRECT_PREFIX", "REDIRECT_TO_POOL", "REDIRECT_TO_URL", "REJECT"]] = None
17
+ """Action"""
18
+
19
+ listener_id: Optional[str] = None
20
+ """Listener ID"""
21
+
22
+ name: Optional[str] = None
23
+ """Human-readable name of the policy"""
24
+
25
+ operating_status: Optional[Literal["DEGRADED", "DRAINING", "ERROR", "NO_MONITOR", "OFFLINE", "ONLINE"]] = None
26
+ """L7 policy operating status"""
27
+
28
+ position: Optional[int] = None
29
+ """The position of this policy on the listener. Positions start at 1."""
30
+
31
+ project_id: Optional[int] = None
32
+ """Project ID"""
33
+
34
+ provisioning_status: Optional[
35
+ Literal["ACTIVE", "DELETED", "ERROR", "PENDING_CREATE", "PENDING_DELETE", "PENDING_UPDATE"]
36
+ ] = None
37
+
38
+ redirect_http_code: Optional[int] = None
39
+ """
40
+ Requests matching this policy will be redirected to the specified URL or Prefix
41
+ URL with the HTTP response code. Valid if action is REDIRECT_TO_URL or
42
+ REDIRECT_PREFIX. Valid options are 301, 302, 303, 307, or 308. Default is 302.
43
+ """
44
+
45
+ redirect_pool_id: Optional[str] = None
46
+ """Requests matching this policy will be redirected to the pool with this ID.
47
+
48
+ Only valid if action is REDIRECT_TO_POOL.
49
+ """
50
+
51
+ redirect_prefix: Optional[str] = None
52
+ """Requests matching this policy will be redirected to this Prefix URL.
53
+
54
+ Only valid if action is REDIRECT_PREFIX.
55
+ """
56
+
57
+ redirect_url: Optional[str] = None
58
+ """Requests matching this policy will be redirected to this URL.
59
+
60
+ Only valid if action is REDIRECT_TO_URL.
61
+ """
62
+
63
+ region: Optional[str] = None
64
+ """Region name"""
65
+
66
+ region_id: Optional[int] = None
67
+ """Region ID"""
68
+
69
+ rules: Optional[List[LoadBalancerL7Rule]] = None
70
+ """Rules.
71
+
72
+ All the rules associated with a given policy are logically ANDed together. A
73
+ request must match all the policy’s rules to match the policy.If you need to
74
+ express a logical OR operation between rules, then do this by creating multiple
75
+ policies with the same action.
76
+ """
77
+
78
+ tags: Optional[List[str]] = None
79
+ """A list of simple strings assigned to the resource."""
80
+
81
+ task_id: Optional[str] = None
82
+ """The UUID of the active task that currently holds a lock on the resource.
83
+
84
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
85
+ the resource is not locked.
86
+ """
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+ from .load_balancer_l7_policy import LoadBalancerL7Policy
7
+
8
+ __all__ = ["LoadBalancerL7PolicyList"]
9
+
10
+
11
+ class LoadBalancerL7PolicyList(BaseModel):
12
+ count: Optional[int] = None
13
+ """Number of objects"""
14
+
15
+ results: Optional[List[LoadBalancerL7Policy]] = None
16
+ """Objects"""