gcore 0.10.0__py3-none-any.whl → 0.11.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (319) hide show
  1. gcore/_base_client.py +3 -3
  2. gcore/_client.py +18 -0
  3. gcore/_compat.py +48 -48
  4. gcore/_models.py +41 -41
  5. gcore/_types.py +35 -1
  6. gcore/_utils/__init__.py +9 -2
  7. gcore/_utils/_compat.py +45 -0
  8. gcore/_utils/_datetime_parse.py +136 -0
  9. gcore/_utils/_transform.py +11 -1
  10. gcore/_utils/_typing.py +6 -1
  11. gcore/_utils/_utils.py +0 -1
  12. gcore/_version.py +1 -1
  13. gcore/resources/__init__.py +28 -0
  14. gcore/resources/cloud/__init__.py +14 -0
  15. gcore/resources/cloud/audit_logs.py +3 -3
  16. gcore/resources/cloud/baremetal/images.py +3 -4
  17. gcore/resources/cloud/baremetal/servers.py +16 -4
  18. gcore/resources/cloud/cloud.py +32 -0
  19. gcore/resources/cloud/cost_reports.py +24 -16
  20. gcore/resources/cloud/file_shares/access_rules.py +2 -2
  21. gcore/resources/cloud/file_shares/file_shares.py +30 -14
  22. gcore/resources/cloud/floating_ips.py +196 -4
  23. gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +1 -1
  24. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +166 -190
  25. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +268 -12
  26. gcore/resources/cloud/inference/__init__.py +14 -14
  27. gcore/resources/cloud/inference/applications/__init__.py +47 -0
  28. gcore/resources/cloud/inference/applications/applications.py +134 -0
  29. gcore/resources/cloud/inference/applications/deployments.py +649 -0
  30. gcore/resources/cloud/inference/applications/templates.py +238 -0
  31. gcore/resources/cloud/inference/deployments/deployments.py +41 -22
  32. gcore/resources/cloud/inference/inference.py +32 -32
  33. gcore/resources/cloud/inference/registry_credentials.py +8 -9
  34. gcore/resources/cloud/instances/images.py +4 -4
  35. gcore/resources/cloud/instances/instances.py +254 -4
  36. gcore/resources/cloud/instances/interfaces.py +544 -0
  37. gcore/resources/cloud/k8s/__init__.py +47 -0
  38. gcore/resources/cloud/k8s/clusters/__init__.py +47 -0
  39. gcore/resources/cloud/k8s/clusters/clusters.py +1391 -0
  40. gcore/resources/cloud/k8s/clusters/nodes.py +291 -0
  41. gcore/resources/cloud/k8s/clusters/pools/__init__.py +33 -0
  42. gcore/resources/cloud/k8s/clusters/pools/nodes.py +303 -0
  43. gcore/resources/cloud/k8s/clusters/pools/pools.py +870 -0
  44. gcore/resources/cloud/k8s/flavors.py +209 -0
  45. gcore/resources/cloud/k8s/k8s.py +233 -0
  46. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +11 -12
  47. gcore/resources/cloud/load_balancers/l7_policies/rules.py +9 -10
  48. gcore/resources/cloud/load_balancers/listeners.py +18 -18
  49. gcore/resources/cloud/load_balancers/load_balancers.py +4 -4
  50. gcore/resources/cloud/load_balancers/pools/health_monitors.py +18 -6
  51. gcore/resources/cloud/load_balancers/pools/members.py +32 -2
  52. gcore/resources/cloud/load_balancers/pools/pools.py +32 -8
  53. gcore/resources/cloud/networks/networks.py +192 -4
  54. gcore/resources/cloud/networks/subnets.py +140 -8
  55. gcore/resources/cloud/reserved_fixed_ips/vip.py +5 -7
  56. gcore/resources/cloud/security_groups/security_groups.py +6 -6
  57. gcore/resources/cloud/tasks.py +46 -46
  58. gcore/resources/cloud/users/role_assignments.py +5 -4
  59. gcore/resources/cloud/volumes.py +4 -4
  60. gcore/resources/dns/__init__.py +75 -0
  61. gcore/resources/dns/dns.py +374 -0
  62. gcore/resources/dns/locations.py +288 -0
  63. gcore/resources/dns/metrics.py +214 -0
  64. gcore/resources/dns/pickers/__init__.py +33 -0
  65. gcore/resources/dns/pickers/pickers.py +167 -0
  66. gcore/resources/dns/pickers/presets.py +135 -0
  67. gcore/resources/dns/zones/__init__.py +47 -0
  68. gcore/resources/{cloud/inference/models.py → dns/zones/dnssec.py} +80 -122
  69. gcore/resources/dns/zones/rrsets.py +1005 -0
  70. gcore/resources/dns/zones/zones.py +1493 -0
  71. gcore/resources/storage/__init__.py +75 -0
  72. gcore/resources/storage/buckets/__init__.py +61 -0
  73. gcore/resources/storage/buckets/buckets.py +470 -0
  74. gcore/resources/storage/buckets/cors.py +265 -0
  75. gcore/resources/storage/buckets/lifecycle.py +276 -0
  76. gcore/resources/storage/buckets/policy.py +345 -0
  77. gcore/resources/storage/credentials.py +221 -0
  78. gcore/resources/storage/locations.py +190 -0
  79. gcore/resources/storage/statistics.py +364 -0
  80. gcore/resources/storage/storage.py +1042 -0
  81. gcore/resources/streaming/ai_tasks.py +56 -70
  82. gcore/resources/streaming/playlists.py +18 -18
  83. gcore/resources/streaming/quality_sets.py +8 -8
  84. gcore/resources/streaming/statistics.py +4 -122
  85. gcore/resources/streaming/streams/overlays.py +6 -6
  86. gcore/resources/streaming/streams/streams.py +40 -64
  87. gcore/resources/streaming/videos/subtitles.py +32 -30
  88. gcore/resources/streaming/videos/videos.py +78 -72
  89. gcore/resources/waap/domains/advanced_rules.py +2 -2
  90. gcore/resources/waap/domains/api_paths.py +13 -13
  91. gcore/resources/waap/domains/custom_rules.py +2 -2
  92. gcore/resources/waap/domains/domains.py +4 -4
  93. gcore/resources/waap/domains/firewall_rules.py +2 -2
  94. gcore/resources/waap/domains/insight_silences.py +6 -6
  95. gcore/resources/waap/domains/insights.py +7 -7
  96. gcore/resources/waap/domains/statistics.py +47 -47
  97. gcore/types/cloud/__init__.py +2 -4
  98. gcore/types/cloud/audit_log_list_params.py +2 -1
  99. gcore/types/cloud/baremetal/image_list_params.py +3 -2
  100. gcore/types/cloud/baremetal/server_create_params.py +8 -6
  101. gcore/types/cloud/baremetal/server_list_params.py +3 -2
  102. gcore/types/cloud/baremetal/server_rebuild_params.py +2 -0
  103. gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +35 -31
  104. gcore/types/cloud/cost_report_get_aggregated_params.py +26 -25
  105. gcore/types/cloud/cost_report_get_detailed_params.py +26 -25
  106. gcore/types/cloud/ddos_profile.py +13 -7
  107. gcore/types/cloud/ddos_profile_field.py +21 -8
  108. gcore/types/cloud/ddos_profile_option_list.py +7 -6
  109. gcore/types/cloud/ddos_profile_status.py +2 -2
  110. gcore/types/cloud/ddos_profile_template.py +7 -3
  111. gcore/types/cloud/ddos_profile_template_field.py +12 -3
  112. gcore/types/cloud/file_share.py +2 -2
  113. gcore/types/cloud/file_share_create_params.py +12 -6
  114. gcore/types/cloud/floating_ip_list_params.py +3 -2
  115. gcore/types/cloud/gpu_baremetal_cluster.py +101 -74
  116. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +76 -93
  117. gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +17 -10
  118. gcore/types/cloud/gpu_baremetal_cluster_list_params.py +14 -3
  119. gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +4 -2
  120. gcore/types/cloud/gpu_baremetal_clusters/__init__.py +6 -0
  121. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +74 -0
  122. gcore/types/cloud/{gpu_baremetal_cluster_server.py → gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1.py} +10 -10
  123. gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1_list.py +16 -0
  124. gcore/types/cloud/{gpu_baremetal_flavor.py → gpu_baremetal_clusters/gpu_baremetal_flavor.py} +1 -1
  125. gcore/types/cloud/{gpu_baremetal_flavor_list.py → gpu_baremetal_clusters/gpu_baremetal_flavor_list.py} +1 -1
  126. gcore/types/cloud/gpu_baremetal_clusters/server_list_params.py +75 -0
  127. gcore/types/cloud/inference/__init__.py +0 -5
  128. gcore/types/cloud/inference/applications/__init__.py +12 -0
  129. gcore/types/cloud/inference/applications/deployment_create_params.py +68 -0
  130. gcore/types/cloud/inference/applications/deployment_patch_params.py +62 -0
  131. gcore/types/cloud/inference/applications/inference_application_deployment.py +111 -0
  132. gcore/types/cloud/inference/applications/inference_application_deployment_list.py +16 -0
  133. gcore/types/cloud/inference/applications/inference_application_template.py +94 -0
  134. gcore/types/cloud/inference/applications/inference_application_template_list.py +16 -0
  135. gcore/types/cloud/inference/deployment_create_params.py +7 -6
  136. gcore/types/cloud/inference/deployment_update_params.py +7 -6
  137. gcore/types/cloud/instance_assign_security_group_params.py +4 -2
  138. gcore/types/cloud/instance_list_params.py +3 -2
  139. gcore/types/cloud/instance_unassign_security_group_params.py +4 -2
  140. gcore/types/cloud/instances/image_list_params.py +3 -2
  141. gcore/types/cloud/k8s/__init__.py +13 -0
  142. gcore/types/cloud/k8s/cluster_create_params.py +299 -0
  143. gcore/types/cloud/k8s/cluster_delete_params.py +16 -0
  144. gcore/types/cloud/k8s/cluster_update_params.py +203 -0
  145. gcore/types/cloud/k8s/cluster_upgrade_params.py +16 -0
  146. gcore/types/cloud/k8s/clusters/__init__.py +10 -0
  147. gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +66 -0
  148. gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +16 -0
  149. gcore/types/cloud/k8s/clusters/node_list_params.py +16 -0
  150. gcore/types/cloud/k8s/clusters/pool_create_params.py +53 -0
  151. gcore/types/cloud/k8s/clusters/pool_resize_params.py +18 -0
  152. gcore/types/cloud/k8s/clusters/pool_update_params.py +34 -0
  153. gcore/types/cloud/k8s/clusters/pools/__init__.py +5 -0
  154. gcore/types/cloud/k8s/clusters/pools/node_list_params.py +18 -0
  155. gcore/types/cloud/k8s/flavor_list_params.py +19 -0
  156. gcore/types/cloud/k8s/k8s_cluster.py +209 -0
  157. gcore/types/cloud/k8s/k8s_cluster_certificate.py +13 -0
  158. gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +19 -0
  159. gcore/types/cloud/k8s/k8s_cluster_list.py +16 -0
  160. gcore/types/cloud/k8s_cluster_version.py +10 -0
  161. gcore/types/cloud/{gpu_baremetal_cluster_server_list.py → k8s_cluster_version_list.py} +4 -4
  162. gcore/types/cloud/load_balancer_create_params.py +23 -4
  163. gcore/types/cloud/load_balancer_list_params.py +3 -2
  164. gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +3 -2
  165. gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +3 -2
  166. gcore/types/cloud/load_balancers/l7_policy_create_params.py +3 -2
  167. gcore/types/cloud/load_balancers/l7_policy_replace_params.py +3 -2
  168. gcore/types/cloud/load_balancers/listener_create_params.py +4 -3
  169. gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
  170. gcore/types/cloud/load_balancers/pool_create_params.py +19 -1
  171. gcore/types/cloud/load_balancers/pool_update_params.py +19 -1
  172. gcore/types/cloud/load_balancers/pools/member_add_params.py +19 -1
  173. gcore/types/cloud/member.py +19 -1
  174. gcore/types/cloud/network_list_params.py +3 -2
  175. gcore/types/cloud/networks/subnet_create_params.py +3 -2
  176. gcore/types/cloud/networks/subnet_list_params.py +3 -2
  177. gcore/types/cloud/networks/subnet_update_params.py +3 -2
  178. gcore/types/cloud/project.py +9 -9
  179. gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +3 -2
  180. gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +3 -2
  181. gcore/types/cloud/security_group_create_params.py +4 -2
  182. gcore/types/cloud/security_group_list_params.py +3 -2
  183. gcore/types/cloud/task_id_list.py +8 -1
  184. gcore/types/cloud/task_list_params.py +23 -23
  185. gcore/types/cloud/usage_report_get_params.py +26 -25
  186. gcore/types/cloud/users/role_assignment.py +2 -1
  187. gcore/types/cloud/users/role_assignment_create_params.py +4 -2
  188. gcore/types/cloud/users/role_assignment_update_params.py +4 -2
  189. gcore/types/cloud/volume_list_params.py +3 -2
  190. gcore/types/dns/__init__.py +31 -0
  191. gcore/types/dns/dns_get_account_overview_response.py +21 -0
  192. gcore/types/dns/dns_label_name.py +13 -0
  193. gcore/types/dns/dns_location_translations.py +11 -0
  194. gcore/types/dns/dns_lookup_params.py +15 -0
  195. gcore/types/dns/dns_lookup_response.py +21 -0
  196. gcore/types/dns/dns_name_server.py +17 -0
  197. gcore/types/dns/location_list_continents_response.py +10 -0
  198. gcore/types/dns/location_list_countries_response.py +10 -0
  199. gcore/types/dns/location_list_regions_response.py +10 -0
  200. gcore/types/dns/location_list_response.py +16 -0
  201. gcore/types/dns/metric_list_params.py +24 -0
  202. gcore/types/dns/metric_list_response.py +7 -0
  203. gcore/types/dns/picker_list_response.py +10 -0
  204. gcore/types/dns/pickers/__init__.py +5 -0
  205. gcore/types/dns/pickers/preset_list_response.py +10 -0
  206. gcore/types/dns/zone_check_delegation_status_response.py +20 -0
  207. gcore/types/dns/zone_create_params.py +59 -0
  208. gcore/types/dns/zone_create_response.py +13 -0
  209. gcore/types/dns/zone_export_response.py +11 -0
  210. gcore/types/dns/zone_get_response.py +106 -0
  211. gcore/types/dns/zone_get_statistics_params.py +43 -0
  212. gcore/types/dns/zone_get_statistics_response.py +19 -0
  213. gcore/types/dns/zone_import_params.py +32 -0
  214. gcore/types/dns/zone_import_response.py +26 -0
  215. gcore/types/dns/zone_list_params.py +57 -0
  216. gcore/types/dns/zone_list_response.py +105 -0
  217. gcore/types/dns/zone_replace_params.py +61 -0
  218. gcore/types/dns/zones/__init__.py +15 -0
  219. gcore/types/dns/zones/dns_failover_log.py +19 -0
  220. gcore/types/dns/zones/dns_output_rrset.py +123 -0
  221. gcore/types/dns/zones/dnssec_get_response.py +38 -0
  222. gcore/types/dns/zones/dnssec_update_params.py +11 -0
  223. gcore/types/dns/zones/dnssec_update_response.py +38 -0
  224. gcore/types/dns/zones/rrset_create_params.py +82 -0
  225. gcore/types/dns/zones/rrset_get_failover_logs_params.py +21 -0
  226. gcore/types/dns/zones/rrset_get_failover_logs_response.py +15 -0
  227. gcore/types/dns/zones/rrset_list_params.py +21 -0
  228. gcore/types/dns/zones/rrset_list_response.py +14 -0
  229. gcore/types/dns/zones/rrset_replace_params.py +82 -0
  230. gcore/types/security/client_profile.py +1 -1
  231. gcore/types/security/profile_create_params.py +2 -2
  232. gcore/types/security/profile_recreate_params.py +2 -2
  233. gcore/types/security/profile_replace_params.py +2 -2
  234. gcore/types/storage/__init__.py +21 -0
  235. gcore/types/storage/bucket.py +15 -0
  236. gcore/types/storage/bucket_list_params.py +15 -0
  237. gcore/types/storage/buckets/__init__.py +9 -0
  238. gcore/types/storage/buckets/bucket_cors.py +18 -0
  239. gcore/types/storage/buckets/bucket_policy.py +7 -0
  240. gcore/types/storage/buckets/cor_create_params.py +17 -0
  241. gcore/types/storage/buckets/lifecycle_create_params.py +18 -0
  242. gcore/types/storage/buckets/policy_get_response.py +7 -0
  243. gcore/types/storage/credential_recreate_params.py +36 -0
  244. gcore/types/storage/location.py +24 -0
  245. gcore/types/storage/location_list_params.py +13 -0
  246. gcore/types/storage/statistic_get_usage_aggregated_params.py +24 -0
  247. gcore/types/storage/statistic_get_usage_series_params.py +38 -0
  248. gcore/types/storage/statistic_get_usage_series_response.py +12 -0
  249. gcore/types/storage/storage.py +101 -0
  250. gcore/types/storage/storage_create_params.py +44 -0
  251. gcore/types/storage/storage_list_params.py +39 -0
  252. gcore/types/storage/storage_restore_params.py +11 -0
  253. gcore/types/storage/storage_update_params.py +18 -0
  254. gcore/types/storage/usage_series.py +201 -0
  255. gcore/types/storage/usage_total.py +54 -0
  256. gcore/types/streaming/__init__.py +0 -4
  257. gcore/types/streaming/ai_contentmoderation_hardnudity.py +1 -1
  258. gcore/types/streaming/ai_contentmoderation_nsfw.py +1 -1
  259. gcore/types/streaming/ai_contentmoderation_softnudity.py +1 -1
  260. gcore/types/streaming/ai_contentmoderation_sport.py +1 -1
  261. gcore/types/streaming/ai_task.py +1 -5
  262. gcore/types/streaming/ai_task_create_params.py +2 -2
  263. gcore/types/streaming/ai_task_get_response.py +0 -46
  264. gcore/types/streaming/clip.py +2 -1
  265. gcore/types/streaming/create_video_param.py +13 -12
  266. gcore/types/streaming/max_stream_series.py +5 -5
  267. gcore/types/streaming/playlist.py +1 -1
  268. gcore/types/streaming/playlist_create_params.py +1 -1
  269. gcore/types/streaming/playlist_update_params.py +1 -1
  270. gcore/types/streaming/playlist_video.py +13 -12
  271. gcore/types/streaming/storage_series.py +5 -5
  272. gcore/types/streaming/stream.py +86 -49
  273. gcore/types/streaming/stream_create_clip_params.py +2 -1
  274. gcore/types/streaming/stream_create_params.py +9 -23
  275. gcore/types/streaming/stream_series.py +5 -5
  276. gcore/types/streaming/stream_update_params.py +9 -23
  277. gcore/types/streaming/video.py +53 -42
  278. gcore/types/streaming/video_update_params.py +13 -12
  279. gcore/types/streaming/vod_statistics_series.py +5 -5
  280. gcore/types/streaming/vod_total_stream_duration_series.py +3 -3
  281. gcore/types/waap/domain_list_params.py +1 -1
  282. gcore/types/waap/domain_update_params.py +1 -1
  283. gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
  284. gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
  285. gcore/types/waap/domains/api_path_create_params.py +4 -3
  286. gcore/types/waap/domains/api_path_list_params.py +3 -1
  287. gcore/types/waap/domains/api_path_update_params.py +5 -4
  288. gcore/types/waap/domains/custom_rule_create_params.py +13 -14
  289. gcore/types/waap/domains/custom_rule_update_params.py +12 -13
  290. gcore/types/waap/domains/firewall_rule_create_params.py +3 -2
  291. gcore/types/waap/domains/firewall_rule_update_params.py +2 -1
  292. gcore/types/waap/domains/insight_list_params.py +4 -2
  293. gcore/types/waap/domains/insight_replace_params.py +1 -1
  294. gcore/types/waap/domains/insight_silence_list_params.py +5 -3
  295. gcore/types/waap/domains/setting_update_params.py +3 -2
  296. gcore/types/waap/domains/statistic_get_ddos_info_params.py +6 -9
  297. gcore/types/waap/domains/statistic_get_events_aggregated_params.py +9 -10
  298. gcore/types/waap/domains/statistic_get_requests_series_params.py +8 -9
  299. gcore/types/waap/domains/statistic_get_traffic_series_params.py +6 -9
  300. gcore/types/waap/domains/waap_advanced_rule.py +3 -2
  301. gcore/types/waap/domains/waap_api_path.py +4 -4
  302. gcore/types/waap/domains/waap_api_scan_result.py +2 -2
  303. gcore/types/waap/domains/waap_custom_rule.py +4 -7
  304. gcore/types/waap/domains/waap_firewall_rule.py +3 -2
  305. gcore/types/waap/domains/waap_insight.py +1 -1
  306. gcore/types/waap/domains/waap_request_details.py +5 -4
  307. gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
  308. gcore/types/waap/waap_rule_set.py +1 -1
  309. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/METADATA +7 -2
  310. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/RECORD +312 -192
  311. gcore/types/cloud/inference/inference_model.py +0 -65
  312. gcore/types/cloud/inference/inference_registry_credentials_create.py +0 -22
  313. gcore/types/cloud/inference/model_list_params.py +0 -21
  314. gcore/types/streaming/ai_contentmoderation_casm.py +0 -39
  315. gcore/types/streaming/ai_contentmoderation_weapon.py +0 -39
  316. gcore/types/streaming/meet_series.py +0 -23
  317. gcore/types/streaming/statistic_get_meet_series_params.py +0 -20
  318. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/WHEEL +0 -0
  319. {gcore-0.10.0.dist-info → gcore-0.11.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,66 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, Optional
4
+
5
+ from ....._models import BaseModel
6
+
7
+ __all__ = ["K8sClusterPool"]
8
+
9
+
10
+ class K8sClusterPool(BaseModel):
11
+ id: str
12
+ """UUID of the cluster pool"""
13
+
14
+ auto_healing_enabled: bool
15
+ """Indicates the status of auto healing"""
16
+
17
+ boot_volume_size: int
18
+ """Size of the boot volume"""
19
+
20
+ boot_volume_type: str
21
+ """Type of the boot volume"""
22
+
23
+ created_at: str
24
+ """Date of function creation"""
25
+
26
+ crio_config: Dict[str, str]
27
+ """Crio configuration for pool nodes"""
28
+
29
+ flavor_id: str
30
+ """ID of the cluster pool flavor"""
31
+
32
+ is_public_ipv4: bool
33
+ """Indicates if the pool is public"""
34
+
35
+ kubelet_config: Dict[str, str]
36
+ """Kubelet configuration for pool nodes"""
37
+
38
+ labels: Dict[str, str]
39
+ """Labels applied to the cluster pool"""
40
+
41
+ max_node_count: int
42
+ """Maximum node count in the cluster pool"""
43
+
44
+ min_node_count: int
45
+ """Minimum node count in the cluster pool"""
46
+
47
+ name: str
48
+ """Name of the cluster pool"""
49
+
50
+ node_count: int
51
+ """Node count in the cluster pool"""
52
+
53
+ status: str
54
+ """Status of the cluster pool"""
55
+
56
+ taints: Dict[str, str]
57
+ """Taints applied to the cluster pool"""
58
+
59
+ servergroup_id: Optional[str] = None
60
+ """Server group ID"""
61
+
62
+ servergroup_name: Optional[str] = None
63
+ """Server group name"""
64
+
65
+ servergroup_policy: Optional[str] = None
66
+ """Anti-affinity, affinity or soft-anti-affinity server group policy"""
@@ -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 .k8s_cluster_pool import K8sClusterPool
7
+
8
+ __all__ = ["K8sClusterPoolList"]
9
+
10
+
11
+ class K8sClusterPoolList(BaseModel):
12
+ count: int
13
+ """Number of objects"""
14
+
15
+ results: List[K8sClusterPool]
16
+ """Objects"""
@@ -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__ = ["NodeListParams"]
8
+
9
+
10
+ class NodeListParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ with_ddos: bool
16
+ """Include DDoS profile information if set to true. Default is false."""
@@ -0,0 +1,53 @@
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 Dict, Optional
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["PoolCreateParams"]
9
+
10
+
11
+ class PoolCreateParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ flavor_id: Required[str]
17
+ """Flavor ID"""
18
+
19
+ min_node_count: Required[int]
20
+ """Minimum node count"""
21
+
22
+ name: Required[str]
23
+ """Pool's name"""
24
+
25
+ auto_healing_enabled: Optional[bool]
26
+ """Enable auto healing"""
27
+
28
+ boot_volume_size: Optional[int]
29
+ """Boot volume size"""
30
+
31
+ boot_volume_type: Optional[Literal["cold", "ssd_hiiops", "ssd_local", "ssd_lowlatency", "standard", "ultra"]]
32
+ """Boot volume type"""
33
+
34
+ crio_config: Optional[Dict[str, str]]
35
+ """Cri-o configuration for pool nodes"""
36
+
37
+ is_public_ipv4: Optional[bool]
38
+ """Enable public v4 address"""
39
+
40
+ kubelet_config: Optional[Dict[str, str]]
41
+ """Kubelet configuration for pool nodes"""
42
+
43
+ labels: Optional[Dict[str, str]]
44
+ """Labels applied to the cluster pool"""
45
+
46
+ max_node_count: Optional[int]
47
+ """Maximum node count"""
48
+
49
+ servergroup_policy: Optional[Literal["affinity", "anti-affinity", "soft-anti-affinity"]]
50
+ """Server group policy: anti-affinity, soft-anti-affinity or affinity"""
51
+
52
+ taints: Optional[Dict[str, str]]
53
+ """Taints applied to the cluster pool"""
@@ -0,0 +1,18 @@
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 Required, TypedDict
6
+
7
+ __all__ = ["PoolResizeParams"]
8
+
9
+
10
+ class PoolResizeParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ cluster_name: Required[str]
16
+
17
+ node_count: Required[int]
18
+ """Target node count"""
@@ -0,0 +1,34 @@
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 Dict, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["PoolUpdateParams"]
9
+
10
+
11
+ class PoolUpdateParams(TypedDict, total=False):
12
+ project_id: int
13
+
14
+ region_id: int
15
+
16
+ cluster_name: Required[str]
17
+
18
+ auto_healing_enabled: Optional[bool]
19
+ """Enable/disable auto healing"""
20
+
21
+ labels: Optional[Dict[str, str]]
22
+ """Labels applied to the cluster pool"""
23
+
24
+ max_node_count: Optional[int]
25
+ """Maximum node count"""
26
+
27
+ min_node_count: Optional[int]
28
+ """Minimum node count"""
29
+
30
+ node_count: Optional[int]
31
+ """Current node count"""
32
+
33
+ taints: Optional[Dict[str, str]]
34
+ """Taints applied to the cluster pool"""
@@ -0,0 +1,5 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .node_list_params import NodeListParams as NodeListParams
@@ -0,0 +1,18 @@
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 Required, TypedDict
6
+
7
+ __all__ = ["NodeListParams"]
8
+
9
+
10
+ class NodeListParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ cluster_name: Required[str]
16
+
17
+ with_ddos: bool
18
+ """Include DDoS profile information if set to true. Default is false."""
@@ -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__ = ["FlavorListParams"]
8
+
9
+
10
+ class FlavorListParams(TypedDict, total=False):
11
+ project_id: int
12
+
13
+ region_id: int
14
+
15
+ exclude_gpu: bool
16
+ """Set to false to include GPU flavors. Default is True."""
17
+
18
+ include_prices: bool
19
+ """Set to true to include flavor prices. Default is False."""
@@ -0,0 +1,209 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ..logging import Logging
8
+ from ...._models import BaseModel
9
+ from .clusters.k8s_cluster_pool import K8sClusterPool
10
+
11
+ __all__ = [
12
+ "K8sCluster",
13
+ "Csi",
14
+ "CsiNfs",
15
+ "Authentication",
16
+ "AuthenticationOidc",
17
+ "Cni",
18
+ "CniCilium",
19
+ "DDOSProfile",
20
+ "DDOSProfileField",
21
+ ]
22
+
23
+
24
+ class CsiNfs(BaseModel):
25
+ vast_enabled: bool
26
+ """Indicates the status of VAST NFS integration"""
27
+
28
+
29
+ class Csi(BaseModel):
30
+ nfs: CsiNfs
31
+ """NFS settings"""
32
+
33
+
34
+ class AuthenticationOidc(BaseModel):
35
+ client_id: Optional[str] = None
36
+ """Client ID"""
37
+
38
+ groups_claim: Optional[str] = None
39
+ """JWT claim to use as the user's group"""
40
+
41
+ groups_prefix: Optional[str] = None
42
+ """Prefix prepended to group claims"""
43
+
44
+ issuer_url: Optional[str] = None
45
+ """Issuer URL"""
46
+
47
+ required_claims: Optional[Dict[str, str]] = None
48
+ """Key-value pairs that describe required claims in the token"""
49
+
50
+ signing_algs: Optional[
51
+ List[Literal["ES256", "ES384", "ES512", "PS256", "PS384", "PS512", "RS256", "RS384", "RS512"]]
52
+ ] = None
53
+ """Accepted signing algorithms"""
54
+
55
+ username_claim: Optional[str] = None
56
+ """JWT claim to use as the user name"""
57
+
58
+ username_prefix: Optional[str] = None
59
+ """Prefix prepended to username claims to prevent clashes"""
60
+
61
+
62
+ class Authentication(BaseModel):
63
+ kubeconfig_created_at: Optional[datetime] = None
64
+ """Kubeconfig creation date"""
65
+
66
+ kubeconfig_expires_at: Optional[datetime] = None
67
+ """Kubeconfig expiration date"""
68
+
69
+ oidc: Optional[AuthenticationOidc] = None
70
+ """OIDC authentication settings"""
71
+
72
+
73
+ class CniCilium(BaseModel):
74
+ encryption: Optional[bool] = None
75
+ """Wireguard encryption"""
76
+
77
+ hubble_relay: Optional[bool] = None
78
+ """Hubble Relay"""
79
+
80
+ hubble_ui: Optional[bool] = None
81
+ """Hubble UI"""
82
+
83
+ lb_acceleration: Optional[bool] = None
84
+ """LoadBalancer acceleration"""
85
+
86
+ lb_mode: Optional[Literal["dsr", "hybrid", "snat"]] = None
87
+ """LoadBalancer mode"""
88
+
89
+ mask_size: Optional[int] = None
90
+ """Mask size for IPv4"""
91
+
92
+ mask_size_v6: Optional[int] = None
93
+ """Mask size for IPv6"""
94
+
95
+ routing_mode: Optional[Literal["native", "tunnel"]] = None
96
+ """Routing mode"""
97
+
98
+ tunnel: Optional[Literal["", "geneve", "vxlan"]] = None
99
+ """CNI provider"""
100
+
101
+
102
+ class Cni(BaseModel):
103
+ cilium: Optional[CniCilium] = None
104
+ """Cilium settings"""
105
+
106
+ provider: Optional[Literal["calico", "cilium"]] = None
107
+ """CNI provider"""
108
+
109
+
110
+ class DDOSProfileField(BaseModel):
111
+ base_field: int
112
+
113
+ field_value: Optional[object] = None
114
+ """Complex value. Only one of 'value' or '`field_value`' must be specified"""
115
+
116
+ value: Optional[str] = None
117
+ """Basic value. Only one of 'value' or '`field_value`' must be specified"""
118
+
119
+
120
+ class DDOSProfile(BaseModel):
121
+ enabled: bool
122
+ """Enable advanced DDoS protection"""
123
+
124
+ fields: Optional[List[DDOSProfileField]] = None
125
+ """DDoS profile parameters"""
126
+
127
+ profile_template: Optional[int] = None
128
+ """DDoS profile template ID"""
129
+
130
+ profile_template_name: Optional[str] = None
131
+ """DDoS profile template name"""
132
+
133
+
134
+ class K8sCluster(BaseModel):
135
+ id: str
136
+ """Cluster pool uuid"""
137
+
138
+ created_at: str
139
+ """Function creation date"""
140
+
141
+ csi: Csi
142
+ """Cluster CSI settings"""
143
+
144
+ is_public: bool
145
+ """Cluster is public"""
146
+
147
+ keypair: str
148
+ """Keypair"""
149
+
150
+ logging: Optional[Logging] = None
151
+ """Logging configuration"""
152
+
153
+ name: str
154
+ """Name"""
155
+
156
+ pools: List[K8sClusterPool]
157
+ """pools"""
158
+
159
+ status: Literal["Deleting", "Provisioned", "Provisioning"]
160
+ """Status"""
161
+
162
+ version: str
163
+ """K8s version"""
164
+
165
+ authentication: Optional[Authentication] = None
166
+ """Cluster authentication settings"""
167
+
168
+ autoscaler_config: Optional[Dict[str, str]] = None
169
+ """
170
+ Cluster autoscaler configuration. It contains overrides to the default
171
+ cluster-autoscaler parameters provided by the platform.
172
+ """
173
+
174
+ cni: Optional[Cni] = None
175
+ """Cluster CNI settings"""
176
+
177
+ creator_task_id: Optional[str] = None
178
+ """Task that created this entity"""
179
+
180
+ ddos_profile: Optional[DDOSProfile] = None
181
+ """Advanced DDoS Protection profile"""
182
+
183
+ fixed_network: Optional[str] = None
184
+ """Fixed network id"""
185
+
186
+ fixed_subnet: Optional[str] = None
187
+ """Fixed subnet id"""
188
+
189
+ is_ipv6: Optional[bool] = None
190
+ """Enable public v6 address"""
191
+
192
+ pods_ip_pool: Optional[str] = None
193
+ """The IP pool for the pods"""
194
+
195
+ pods_ipv6_pool: Optional[str] = None
196
+ """The IPv6 pool for the pods"""
197
+
198
+ services_ip_pool: Optional[str] = None
199
+ """The IP pool for the services"""
200
+
201
+ services_ipv6_pool: Optional[str] = None
202
+ """The IPv6 pool for the services"""
203
+
204
+ task_id: Optional[str] = None
205
+ """The UUID of the active task that currently holds a lock on the resource.
206
+
207
+ This lock prevents concurrent modifications to ensure consistency. If `null`,
208
+ the resource is not locked.
209
+ """
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ...._models import BaseModel
4
+
5
+ __all__ = ["K8sClusterCertificate"]
6
+
7
+
8
+ class K8sClusterCertificate(BaseModel):
9
+ certificate: str
10
+ """Cluster CA certificate"""
11
+
12
+ key: str
13
+ """Cluster CA private key"""
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+
6
+ from ...._models import BaseModel
7
+
8
+ __all__ = ["K8sClusterKubeconfig"]
9
+
10
+
11
+ class K8sClusterKubeconfig(BaseModel):
12
+ config: str
13
+ """Cluster kubeconfig"""
14
+
15
+ created_at: Optional[datetime] = None
16
+ """Kubeconfig creation date"""
17
+
18
+ expires_at: Optional[datetime] = None
19
+ """Kubeconfig expiration date"""
@@ -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 .k8s_cluster import K8sCluster
7
+
8
+ __all__ = ["K8sClusterList"]
9
+
10
+
11
+ class K8sClusterList(BaseModel):
12
+ count: int
13
+ """Number of objects"""
14
+
15
+ results: List[K8sCluster]
16
+ """Objects"""
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["K8sClusterVersion"]
6
+
7
+
8
+ class K8sClusterVersion(BaseModel):
9
+ version: str
10
+ """List of supported Kubernetes cluster versions"""
@@ -3,14 +3,14 @@
3
3
  from typing import List
4
4
 
5
5
  from ..._models import BaseModel
6
- from .gpu_baremetal_cluster_server import GPUBaremetalClusterServer
6
+ from .k8s_cluster_version import K8sClusterVersion
7
7
 
8
- __all__ = ["GPUBaremetalClusterServerList"]
8
+ __all__ = ["K8sClusterVersionList"]
9
9
 
10
10
 
11
- class GPUBaremetalClusterServerList(BaseModel):
11
+ class K8sClusterVersionList(BaseModel):
12
12
  count: int
13
13
  """Number of objects"""
14
14
 
15
- results: List[GPUBaremetalClusterServer]
15
+ results: List[K8sClusterVersion]
16
16
  """Objects"""
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Union, Iterable, Optional
5
+ from typing import Dict, Union, Iterable, Optional
6
6
  from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
7
 
8
+ from ..._types import SequenceNotStr
8
9
  from .http_method import HTTPMethod
9
10
  from .lb_algorithm import LbAlgorithm
10
11
  from .lb_pool_protocol import LbPoolProtocol
@@ -216,7 +217,25 @@ class ListenerPoolMember(TypedDict, total=False):
216
217
  """
217
218
 
218
219
  weight: int
219
- """Member weight. Valid values are 0 < `weight` <= 256, defaults to 1."""
220
+ """Member weight.
221
+
222
+ Valid values are 0 < `weight` <= 256, defaults to 1. Controls traffic
223
+ distribution based on the pool's load balancing algorithm:
224
+
225
+ - `ROUND_ROBIN`: Distributes connections to each member in turn according to
226
+ weights. Higher weight = more turns in the cycle. Example: weights 3 vs 1 =
227
+ ~75% vs ~25% of requests.
228
+ - `LEAST_CONNECTIONS`: Sends new connections to the member with fewest active
229
+ connections, performing round-robin within groups of the same normalized load.
230
+ Higher weight = allowed to hold more simultaneous connections before being
231
+ considered 'more loaded'. Example: weights 2 vs 1 means 20 vs 10 active
232
+ connections is treated as balanced.
233
+ - `SOURCE_IP`: Routes clients consistently to the same member by hashing client
234
+ source IP; hash result is modulo total weight of running members. Higher
235
+ weight = more hash buckets, so more client IPs map to that member. Example:
236
+ weights 2 vs 1 = roughly two-thirds of distinct client IPs map to the
237
+ higher-weight member.
238
+ """
220
239
 
221
240
 
222
241
  class ListenerPoolSessionPersistence(TypedDict, total=False):
@@ -295,7 +314,7 @@ class Listener(TypedDict, total=False):
295
314
  protocol_port: Required[int]
296
315
  """Protocol port"""
297
316
 
298
- allowed_cidrs: Optional[List[str]]
317
+ allowed_cidrs: Optional[SequenceNotStr[str]]
299
318
  """Network CIDRs from which service will be accessible"""
300
319
 
301
320
  connection_limit: int
@@ -316,7 +335,7 @@ class Listener(TypedDict, total=False):
316
335
  PROMETHEUS listener
317
336
  """
318
337
 
319
- sni_secret_id: List[str]
338
+ sni_secret_id: SequenceNotStr[str]
320
339
  """
321
340
  List of secrets IDs containing PKCS12 format certificate/key bundles for
322
341
  `TERMINATED_HTTPS` or PROMETHEUS listeners
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["LoadBalancerListParams"]
9
10
 
10
11
 
@@ -39,7 +40,7 @@ class LoadBalancerListParams(TypedDict, total=False):
39
40
  show_stats: bool
40
41
  """Show statistics"""
41
42
 
42
- tag_key: List[str]
43
+ tag_key: SequenceNotStr[str]
43
44
  """Filter by tag keys."""
44
45
 
45
46
  tag_key_value: str
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Literal, Required, TypedDict
7
6
 
7
+ from ....._types import SequenceNotStr
8
+
8
9
  __all__ = ["RuleCreateParams"]
9
10
 
10
11
 
@@ -46,5 +47,5 @@ class RuleCreateParams(TypedDict, total=False):
46
47
  For example, the name of the cookie to evaluate.
47
48
  """
48
49
 
49
- tags: List[str]
50
+ tags: SequenceNotStr[str]
50
51
  """A list of simple strings assigned to the l7 rule"""
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Literal, Required, TypedDict
7
6
 
7
+ from ....._types import SequenceNotStr
8
+
8
9
  __all__ = ["RuleReplaceParams"]
9
10
 
10
11
 
@@ -31,7 +32,7 @@ class RuleReplaceParams(TypedDict, total=False):
31
32
  For example, the name of the cookie to evaluate.
32
33
  """
33
34
 
34
- tags: List[str]
35
+ tags: SequenceNotStr[str]
35
36
  """A list of simple strings assigned to the l7 rule"""
36
37
 
37
38
  type: Literal[
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Literal, Required, TypedDict
7
6
 
7
+ from ...._types import SequenceNotStr
8
+
8
9
  __all__ = ["L7PolicyCreateParams"]
9
10
 
10
11
 
@@ -50,5 +51,5 @@ class L7PolicyCreateParams(TypedDict, total=False):
50
51
  Only valid if action is `REDIRECT_TO_URL`.
51
52
  """
52
53
 
53
- tags: List[str]
54
+ tags: SequenceNotStr[str]
54
55
  """A list of simple strings assigned to the resource."""