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
@@ -2,12 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Iterable, Optional
5
+ from typing import Dict, Iterable, Optional
6
6
  from typing_extensions import Literal
7
7
 
8
8
  import httpx
9
9
 
10
- from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
10
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven, SequenceNotStr
11
11
  from ...._utils import maybe_transform, async_maybe_transform
12
12
  from ...._compat import cached_property
13
13
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -58,7 +58,7 @@ class SubnetsResource(SyncAPIResource):
58
58
  name: str,
59
59
  network_id: str,
60
60
  connect_to_network_router: bool | NotGiven = NOT_GIVEN,
61
- dns_nameservers: Optional[List[str]] | NotGiven = NOT_GIVEN,
61
+ dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
62
62
  enable_dhcp: bool | NotGiven = NOT_GIVEN,
63
63
  gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
64
64
  host_routes: Optional[Iterable[subnet_create_params.HostRoute]] | NotGiven = NOT_GIVEN,
@@ -148,13 +148,73 @@ class SubnetsResource(SyncAPIResource):
148
148
  cast_to=TaskIDList,
149
149
  )
150
150
 
151
+ def create_and_poll(
152
+ self,
153
+ *,
154
+ project_id: int | None = None,
155
+ region_id: int | None = None,
156
+ cidr: str,
157
+ name: str,
158
+ network_id: str,
159
+ connect_to_network_router: bool | NotGiven = NOT_GIVEN,
160
+ dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
161
+ enable_dhcp: bool | NotGiven = NOT_GIVEN,
162
+ gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
163
+ host_routes: Optional[Iterable[subnet_create_params.HostRoute]] | NotGiven = NOT_GIVEN,
164
+ ip_version: IPVersion | NotGiven = NOT_GIVEN,
165
+ router_id_to_connect: Optional[str] | NotGiven = NOT_GIVEN,
166
+ tags: Dict[str, str] | NotGiven = NOT_GIVEN,
167
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
168
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
169
+ # The extra values given here take precedence over values defined on the client or passed to this method.
170
+ extra_headers: Headers | None = None,
171
+ extra_query: Query | None = None,
172
+ extra_body: Body | None = None,
173
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
174
+ ) -> Subnet:
175
+ """Create subnet and poll for the result."""
176
+ response = self.create(
177
+ project_id=project_id,
178
+ region_id=region_id,
179
+ cidr=cidr,
180
+ name=name,
181
+ network_id=network_id,
182
+ connect_to_network_router=connect_to_network_router,
183
+ dns_nameservers=dns_nameservers,
184
+ enable_dhcp=enable_dhcp,
185
+ gateway_ip=gateway_ip,
186
+ host_routes=host_routes,
187
+ ip_version=ip_version,
188
+ router_id_to_connect=router_id_to_connect,
189
+ tags=tags,
190
+ extra_headers=extra_headers,
191
+ extra_query=extra_query,
192
+ extra_body=extra_body,
193
+ timeout=timeout,
194
+ )
195
+ if not response.tasks or len(response.tasks) != 1:
196
+ raise ValueError(f"Expected exactly one task to be created")
197
+ task = self._client.cloud.tasks.poll(
198
+ task_id=response.tasks[0],
199
+ extra_headers=extra_headers,
200
+ polling_interval_seconds=polling_interval_seconds,
201
+ )
202
+ if not task.created_resources or not task.created_resources.subnets or len(task.created_resources.subnets) != 1:
203
+ raise ValueError(f"Expected exactly one resource to be created in a task")
204
+ return self.get(
205
+ subnet_id=task.created_resources.subnets[0],
206
+ project_id=project_id,
207
+ region_id=region_id,
208
+ extra_headers=extra_headers,
209
+ )
210
+
151
211
  def update(
152
212
  self,
153
213
  subnet_id: str,
154
214
  *,
155
215
  project_id: int | None = None,
156
216
  region_id: int | None = None,
157
- dns_nameservers: Optional[List[str]] | NotGiven = NOT_GIVEN,
217
+ dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
158
218
  enable_dhcp: Optional[bool] | NotGiven = NOT_GIVEN,
159
219
  gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
160
220
  host_routes: Optional[Iterable[subnet_update_params.HostRoute]] | NotGiven = NOT_GIVEN,
@@ -266,7 +326,7 @@ class SubnetsResource(SyncAPIResource):
266
326
  "updated_at.desc",
267
327
  ]
268
328
  | NotGiven = NOT_GIVEN,
269
- tag_key: List[str] | NotGiven = NOT_GIVEN,
329
+ tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
270
330
  tag_key_value: str | NotGiven = NOT_GIVEN,
271
331
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
272
332
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -454,7 +514,7 @@ class AsyncSubnetsResource(AsyncAPIResource):
454
514
  name: str,
455
515
  network_id: str,
456
516
  connect_to_network_router: bool | NotGiven = NOT_GIVEN,
457
- dns_nameservers: Optional[List[str]] | NotGiven = NOT_GIVEN,
517
+ dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
458
518
  enable_dhcp: bool | NotGiven = NOT_GIVEN,
459
519
  gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
460
520
  host_routes: Optional[Iterable[subnet_create_params.HostRoute]] | NotGiven = NOT_GIVEN,
@@ -544,13 +604,73 @@ class AsyncSubnetsResource(AsyncAPIResource):
544
604
  cast_to=TaskIDList,
545
605
  )
546
606
 
607
+ async def create_and_poll(
608
+ self,
609
+ *,
610
+ project_id: int | None = None,
611
+ region_id: int | None = None,
612
+ cidr: str,
613
+ name: str,
614
+ network_id: str,
615
+ connect_to_network_router: bool | NotGiven = NOT_GIVEN,
616
+ dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
617
+ enable_dhcp: bool | NotGiven = NOT_GIVEN,
618
+ gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
619
+ host_routes: Optional[Iterable[subnet_create_params.HostRoute]] | NotGiven = NOT_GIVEN,
620
+ ip_version: IPVersion | NotGiven = NOT_GIVEN,
621
+ router_id_to_connect: Optional[str] | NotGiven = NOT_GIVEN,
622
+ tags: Dict[str, str] | NotGiven = NOT_GIVEN,
623
+ polling_interval_seconds: int | NotGiven = NOT_GIVEN,
624
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
625
+ # The extra values given here take precedence over values defined on the client or passed to this method.
626
+ extra_headers: Headers | None = None,
627
+ extra_query: Query | None = None,
628
+ extra_body: Body | None = None,
629
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
630
+ ) -> Subnet:
631
+ """Create subnet and poll for the result."""
632
+ response = await self.create(
633
+ project_id=project_id,
634
+ region_id=region_id,
635
+ cidr=cidr,
636
+ name=name,
637
+ network_id=network_id,
638
+ connect_to_network_router=connect_to_network_router,
639
+ dns_nameservers=dns_nameservers,
640
+ enable_dhcp=enable_dhcp,
641
+ gateway_ip=gateway_ip,
642
+ host_routes=host_routes,
643
+ ip_version=ip_version,
644
+ router_id_to_connect=router_id_to_connect,
645
+ tags=tags,
646
+ extra_headers=extra_headers,
647
+ extra_query=extra_query,
648
+ extra_body=extra_body,
649
+ timeout=timeout,
650
+ )
651
+ if not response.tasks or len(response.tasks) != 1:
652
+ raise ValueError(f"Expected exactly one task to be created")
653
+ task = await self._client.cloud.tasks.poll(
654
+ task_id=response.tasks[0],
655
+ extra_headers=extra_headers,
656
+ polling_interval_seconds=polling_interval_seconds,
657
+ )
658
+ if not task.created_resources or not task.created_resources.subnets or len(task.created_resources.subnets) != 1:
659
+ raise ValueError(f"Expected exactly one resource to be created in a task")
660
+ return await self.get(
661
+ subnet_id=task.created_resources.subnets[0],
662
+ project_id=project_id,
663
+ region_id=region_id,
664
+ extra_headers=extra_headers,
665
+ )
666
+
547
667
  async def update(
548
668
  self,
549
669
  subnet_id: str,
550
670
  *,
551
671
  project_id: int | None = None,
552
672
  region_id: int | None = None,
553
- dns_nameservers: Optional[List[str]] | NotGiven = NOT_GIVEN,
673
+ dns_nameservers: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
554
674
  enable_dhcp: Optional[bool] | NotGiven = NOT_GIVEN,
555
675
  gateway_ip: Optional[str] | NotGiven = NOT_GIVEN,
556
676
  host_routes: Optional[Iterable[subnet_update_params.HostRoute]] | NotGiven = NOT_GIVEN,
@@ -662,7 +782,7 @@ class AsyncSubnetsResource(AsyncAPIResource):
662
782
  "updated_at.desc",
663
783
  ]
664
784
  | NotGiven = NOT_GIVEN,
665
- tag_key: List[str] | NotGiven = NOT_GIVEN,
785
+ tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
666
786
  tag_key_value: str | NotGiven = NOT_GIVEN,
667
787
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
668
788
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -828,6 +948,9 @@ class SubnetsResourceWithRawResponse:
828
948
  self.create = to_raw_response_wrapper(
829
949
  subnets.create,
830
950
  )
951
+ self.create_and_poll = to_raw_response_wrapper(
952
+ subnets.create_and_poll,
953
+ )
831
954
  self.update = to_raw_response_wrapper(
832
955
  subnets.update,
833
956
  )
@@ -849,6 +972,9 @@ class AsyncSubnetsResourceWithRawResponse:
849
972
  self.create = async_to_raw_response_wrapper(
850
973
  subnets.create,
851
974
  )
975
+ self.create_and_poll = async_to_raw_response_wrapper(
976
+ subnets.create_and_poll,
977
+ )
852
978
  self.update = async_to_raw_response_wrapper(
853
979
  subnets.update,
854
980
  )
@@ -870,6 +996,9 @@ class SubnetsResourceWithStreamingResponse:
870
996
  self.create = to_streamed_response_wrapper(
871
997
  subnets.create,
872
998
  )
999
+ self.create_and_poll = to_streamed_response_wrapper(
1000
+ subnets.create_and_poll,
1001
+ )
873
1002
  self.update = to_streamed_response_wrapper(
874
1003
  subnets.update,
875
1004
  )
@@ -891,6 +1020,9 @@ class AsyncSubnetsResourceWithStreamingResponse:
891
1020
  self.create = async_to_streamed_response_wrapper(
892
1021
  subnets.create,
893
1022
  )
1023
+ self.create_and_poll = async_to_streamed_response_wrapper(
1024
+ subnets.create_and_poll,
1025
+ )
894
1026
  self.update = async_to_streamed_response_wrapper(
895
1027
  subnets.update,
896
1028
  )
@@ -2,11 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
-
7
5
  import httpx
8
6
 
9
- from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
7
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven, SequenceNotStr
10
8
  from ...._utils import maybe_transform, async_maybe_transform
11
9
  from ...._compat import cached_property
12
10
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -133,7 +131,7 @@ class VipResource(SyncAPIResource):
133
131
  *,
134
132
  project_id: int | None = None,
135
133
  region_id: int | None = None,
136
- port_ids: List[str] | NotGiven = NOT_GIVEN,
134
+ port_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
137
135
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
138
136
  # The extra values given here take precedence over values defined on the client or passed to this method.
139
137
  extra_headers: Headers | None = None,
@@ -221,7 +219,7 @@ class VipResource(SyncAPIResource):
221
219
  *,
222
220
  project_id: int | None = None,
223
221
  region_id: int | None = None,
224
- port_ids: List[str] | NotGiven = NOT_GIVEN,
222
+ port_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
225
223
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
226
224
  # The extra values given here take precedence over values defined on the client or passed to this method.
227
225
  extra_headers: Headers | None = None,
@@ -365,7 +363,7 @@ class AsyncVipResource(AsyncAPIResource):
365
363
  *,
366
364
  project_id: int | None = None,
367
365
  region_id: int | None = None,
368
- port_ids: List[str] | NotGiven = NOT_GIVEN,
366
+ port_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
369
367
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
370
368
  # The extra values given here take precedence over values defined on the client or passed to this method.
371
369
  extra_headers: Headers | None = None,
@@ -453,7 +451,7 @@ class AsyncVipResource(AsyncAPIResource):
453
451
  *,
454
452
  project_id: int | None = None,
455
453
  region_id: int | None = None,
456
- port_ids: List[str] | NotGiven = NOT_GIVEN,
454
+ port_ids: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
457
455
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
458
456
  # The extra values given here take precedence over values defined on the client or passed to this method.
459
457
  extra_headers: Headers | None = None,
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Iterable, Optional
5
+ from typing import Iterable, Optional
6
6
 
7
7
  import httpx
8
8
 
@@ -14,7 +14,7 @@ from .rules import (
14
14
  RulesResourceWithStreamingResponse,
15
15
  AsyncRulesResourceWithStreamingResponse,
16
16
  )
17
- from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
17
+ from ...._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven, SequenceNotStr
18
18
  from ...._utils import maybe_transform, async_maybe_transform
19
19
  from ...._compat import cached_property
20
20
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -68,7 +68,7 @@ class SecurityGroupsResource(SyncAPIResource):
68
68
  project_id: int | None = None,
69
69
  region_id: int | None = None,
70
70
  security_group: security_group_create_params.SecurityGroup,
71
- instances: List[str] | NotGiven = NOT_GIVEN,
71
+ instances: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
72
72
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
73
73
  # The extra values given here take precedence over values defined on the client or passed to this method.
74
74
  extra_headers: Headers | None = None,
@@ -192,7 +192,7 @@ class SecurityGroupsResource(SyncAPIResource):
192
192
  region_id: int | None = None,
193
193
  limit: int | NotGiven = NOT_GIVEN,
194
194
  offset: int | NotGiven = NOT_GIVEN,
195
- tag_key: List[str] | NotGiven = NOT_GIVEN,
195
+ tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
196
196
  tag_key_value: str | NotGiven = NOT_GIVEN,
197
197
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
198
198
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -438,7 +438,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
438
438
  project_id: int | None = None,
439
439
  region_id: int | None = None,
440
440
  security_group: security_group_create_params.SecurityGroup,
441
- instances: List[str] | NotGiven = NOT_GIVEN,
441
+ instances: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
442
442
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
443
443
  # The extra values given here take precedence over values defined on the client or passed to this method.
444
444
  extra_headers: Headers | None = None,
@@ -562,7 +562,7 @@ class AsyncSecurityGroupsResource(AsyncAPIResource):
562
562
  region_id: int | None = None,
563
563
  limit: int | NotGiven = NOT_GIVEN,
564
564
  offset: int | NotGiven = NOT_GIVEN,
565
- tag_key: List[str] | NotGiven = NOT_GIVEN,
565
+ tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
566
566
  tag_key_value: str | NotGiven = NOT_GIVEN,
567
567
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
568
568
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -142,25 +142,25 @@ class TasksResource(SyncAPIResource):
142
142
  '`create_faas_function`', '`create_faas_namespace`', '`create_fip`',
143
143
  '`create_gpu_virtual_cluster`', '`create_image`',
144
144
  '`create_inference_application`', '`create_inference_instance`',
145
- '`create_inference_instance_key`', '`create_k8s_cluster_pool_v2`',
146
- '`create_k8s_cluster_v2`', '`create_l7policy`', '`create_l7rule`',
147
- '`create_lblistener`', '`create_lbmember`', '`create_lbpool`',
148
- '`create_lbpool_health_monitor`', '`create_loadbalancer`', '`create_network`',
149
- '`create_reserved_fixed_ip`', '`create_router`', '`create_secret`',
150
- '`create_servergroup`', '`create_sfs`', '`create_snapshot`', '`create_subnet`',
151
- '`create_vm`', '`create_volume`', '`deactivate_ddos_profile`',
152
- '`delete_ai_cluster_gpu`', '`delete_caas_container`',
153
- '`delete_dbaas_postgres_cluster`', '`delete_ddos_profile`',
154
- '`delete_faas_function`', '`delete_faas_namespace`', '`delete_fip`',
155
- '`delete_gpu_virtual_cluster`', '`delete_gpu_virtual_server`', '`delete_image`',
156
- '`delete_inference_application`', '`delete_inference_instance`',
157
- '`delete_k8s_cluster_pool_v2`', '`delete_k8s_cluster_v2`', '`delete_l7policy`',
158
- '`delete_l7rule`', '`delete_lblistener`', '`delete_lbmember`',
159
- '`delete_lbmetadata`', '`delete_lbpool`', '`delete_loadbalancer`',
160
- '`delete_network`', '`delete_reserved_fixed_ip`', '`delete_router`',
161
- '`delete_secret`', '`delete_servergroup`', '`delete_sfs`', '`delete_snapshot`',
162
- '`delete_subnet`', '`delete_vm`', '`delete_volume`', '`detach_vm_interface`',
163
- '`detach_volume`', '`download_image`', '`downscale_ai_cluster_gpu`',
145
+ '`create_k8s_cluster_pool_v2`', '`create_k8s_cluster_v2`', '`create_l7policy`',
146
+ '`create_l7rule`', '`create_lblistener`', '`create_lbmember`',
147
+ '`create_lbpool`', '`create_lbpool_health_monitor`', '`create_loadbalancer`',
148
+ '`create_network`', '`create_reserved_fixed_ip`', '`create_router`',
149
+ '`create_secret`', '`create_servergroup`', '`create_sfs`', '`create_snapshot`',
150
+ '`create_subnet`', '`create_vm`', '`create_volume`',
151
+ '`deactivate_ddos_profile`', '`delete_ai_cluster_gpu`',
152
+ '`delete_caas_container`', '`delete_dbaas_postgres_cluster`',
153
+ '`delete_ddos_profile`', '`delete_faas_function`', '`delete_faas_namespace`',
154
+ '`delete_fip`', '`delete_gpu_virtual_cluster`', '`delete_gpu_virtual_server`',
155
+ '`delete_image`', '`delete_inference_application`',
156
+ '`delete_inference_instance`', '`delete_k8s_cluster_pool_v2`',
157
+ '`delete_k8s_cluster_v2`', '`delete_l7policy`', '`delete_l7rule`',
158
+ '`delete_lblistener`', '`delete_lbmember`', '`delete_lbmetadata`',
159
+ '`delete_lbpool`', '`delete_loadbalancer`', '`delete_network`',
160
+ '`delete_reserved_fixed_ip`', '`delete_router`', '`delete_secret`',
161
+ '`delete_servergroup`', '`delete_sfs`', '`delete_snapshot`', '`delete_subnet`',
162
+ '`delete_vm`', '`delete_volume`', '`detach_vm_interface`', '`detach_volume`',
163
+ '`download_image`', '`downscale_ai_cluster_gpu`',
164
164
  '`downscale_gpu_virtual_cluster`', '`extend_sfs`', '`extend_volume`',
165
165
  '`failover_loadbalancer`', '`hard_reboot_gpu_baremetal_server`',
166
166
  '`hard_reboot_gpu_virtual_cluster`', '`hard_reboot_gpu_virtual_server`',
@@ -177,10 +177,10 @@ class TasksResource(SyncAPIResource):
177
177
  '`stop_gpu_virtual_cluster`', '`stop_gpu_virtual_server`', '`stop_vm`',
178
178
  '`suspend_vm`', '`sync_private_flavors`', '`update_ddos_profile`',
179
179
  '`update_inference_application`', '`update_inference_instance`',
180
- '`update_inference_instance_key`', '`update_k8s_cluster_v2`',
181
- '`update_lbmetadata`', '`update_port_allowed_address_pairs`',
182
- '`update_tags_gpu_virtual_cluster`', '`upgrade_k8s_cluster_v2`',
183
- '`upscale_ai_cluster_gpu`', '`upscale_gpu_virtual_cluster`']
180
+ '`update_k8s_cluster_v2`', '`update_lbmetadata`',
181
+ '`update_port_allowed_address_pairs`', '`update_tags_gpu_virtual_cluster`',
182
+ '`upgrade_k8s_cluster_v2`', '`upscale_ai_cluster_gpu`',
183
+ '`upscale_gpu_virtual_cluster`']
184
184
 
185
185
  to_timestamp: ISO formatted datetime string. Filter the tasks by creation date less than or
186
186
  equal to `to_timestamp`
@@ -451,25 +451,25 @@ class AsyncTasksResource(AsyncAPIResource):
451
451
  '`create_faas_function`', '`create_faas_namespace`', '`create_fip`',
452
452
  '`create_gpu_virtual_cluster`', '`create_image`',
453
453
  '`create_inference_application`', '`create_inference_instance`',
454
- '`create_inference_instance_key`', '`create_k8s_cluster_pool_v2`',
455
- '`create_k8s_cluster_v2`', '`create_l7policy`', '`create_l7rule`',
456
- '`create_lblistener`', '`create_lbmember`', '`create_lbpool`',
457
- '`create_lbpool_health_monitor`', '`create_loadbalancer`', '`create_network`',
458
- '`create_reserved_fixed_ip`', '`create_router`', '`create_secret`',
459
- '`create_servergroup`', '`create_sfs`', '`create_snapshot`', '`create_subnet`',
460
- '`create_vm`', '`create_volume`', '`deactivate_ddos_profile`',
461
- '`delete_ai_cluster_gpu`', '`delete_caas_container`',
462
- '`delete_dbaas_postgres_cluster`', '`delete_ddos_profile`',
463
- '`delete_faas_function`', '`delete_faas_namespace`', '`delete_fip`',
464
- '`delete_gpu_virtual_cluster`', '`delete_gpu_virtual_server`', '`delete_image`',
465
- '`delete_inference_application`', '`delete_inference_instance`',
466
- '`delete_k8s_cluster_pool_v2`', '`delete_k8s_cluster_v2`', '`delete_l7policy`',
467
- '`delete_l7rule`', '`delete_lblistener`', '`delete_lbmember`',
468
- '`delete_lbmetadata`', '`delete_lbpool`', '`delete_loadbalancer`',
469
- '`delete_network`', '`delete_reserved_fixed_ip`', '`delete_router`',
470
- '`delete_secret`', '`delete_servergroup`', '`delete_sfs`', '`delete_snapshot`',
471
- '`delete_subnet`', '`delete_vm`', '`delete_volume`', '`detach_vm_interface`',
472
- '`detach_volume`', '`download_image`', '`downscale_ai_cluster_gpu`',
454
+ '`create_k8s_cluster_pool_v2`', '`create_k8s_cluster_v2`', '`create_l7policy`',
455
+ '`create_l7rule`', '`create_lblistener`', '`create_lbmember`',
456
+ '`create_lbpool`', '`create_lbpool_health_monitor`', '`create_loadbalancer`',
457
+ '`create_network`', '`create_reserved_fixed_ip`', '`create_router`',
458
+ '`create_secret`', '`create_servergroup`', '`create_sfs`', '`create_snapshot`',
459
+ '`create_subnet`', '`create_vm`', '`create_volume`',
460
+ '`deactivate_ddos_profile`', '`delete_ai_cluster_gpu`',
461
+ '`delete_caas_container`', '`delete_dbaas_postgres_cluster`',
462
+ '`delete_ddos_profile`', '`delete_faas_function`', '`delete_faas_namespace`',
463
+ '`delete_fip`', '`delete_gpu_virtual_cluster`', '`delete_gpu_virtual_server`',
464
+ '`delete_image`', '`delete_inference_application`',
465
+ '`delete_inference_instance`', '`delete_k8s_cluster_pool_v2`',
466
+ '`delete_k8s_cluster_v2`', '`delete_l7policy`', '`delete_l7rule`',
467
+ '`delete_lblistener`', '`delete_lbmember`', '`delete_lbmetadata`',
468
+ '`delete_lbpool`', '`delete_loadbalancer`', '`delete_network`',
469
+ '`delete_reserved_fixed_ip`', '`delete_router`', '`delete_secret`',
470
+ '`delete_servergroup`', '`delete_sfs`', '`delete_snapshot`', '`delete_subnet`',
471
+ '`delete_vm`', '`delete_volume`', '`detach_vm_interface`', '`detach_volume`',
472
+ '`download_image`', '`downscale_ai_cluster_gpu`',
473
473
  '`downscale_gpu_virtual_cluster`', '`extend_sfs`', '`extend_volume`',
474
474
  '`failover_loadbalancer`', '`hard_reboot_gpu_baremetal_server`',
475
475
  '`hard_reboot_gpu_virtual_cluster`', '`hard_reboot_gpu_virtual_server`',
@@ -486,10 +486,10 @@ class AsyncTasksResource(AsyncAPIResource):
486
486
  '`stop_gpu_virtual_cluster`', '`stop_gpu_virtual_server`', '`stop_vm`',
487
487
  '`suspend_vm`', '`sync_private_flavors`', '`update_ddos_profile`',
488
488
  '`update_inference_application`', '`update_inference_instance`',
489
- '`update_inference_instance_key`', '`update_k8s_cluster_v2`',
490
- '`update_lbmetadata`', '`update_port_allowed_address_pairs`',
491
- '`update_tags_gpu_virtual_cluster`', '`upgrade_k8s_cluster_v2`',
492
- '`upscale_ai_cluster_gpu`', '`upscale_gpu_virtual_cluster`']
489
+ '`update_k8s_cluster_v2`', '`update_lbmetadata`',
490
+ '`update_port_allowed_address_pairs`', '`update_tags_gpu_virtual_cluster`',
491
+ '`upgrade_k8s_cluster_v2`', '`upscale_ai_cluster_gpu`',
492
+ '`upscale_gpu_virtual_cluster`']
493
493
 
494
494
  to_timestamp: ISO formatted datetime string. Filter the tasks by creation date less than or
495
495
  equal to `to_timestamp`
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from typing import Optional
6
+ from typing_extensions import Literal
6
7
 
7
8
  import httpx
8
9
 
@@ -52,7 +53,7 @@ class RoleAssignmentsResource(SyncAPIResource):
52
53
  def create(
53
54
  self,
54
55
  *,
55
- role: str,
56
+ role: Literal["ClientAdministrator", "InternalNetworkOnlyUser", "Observer", "ProjectAdministrator", "User"],
56
57
  user_id: int,
57
58
  client_id: Optional[int] | NotGiven = NOT_GIVEN,
58
59
  project_id: Optional[int] | NotGiven = NOT_GIVEN,
@@ -104,7 +105,7 @@ class RoleAssignmentsResource(SyncAPIResource):
104
105
  self,
105
106
  assignment_id: int,
106
107
  *,
107
- role: str,
108
+ role: Literal["ClientAdministrator", "InternalNetworkOnlyUser", "Observer", "ProjectAdministrator", "User"],
108
109
  user_id: int,
109
110
  client_id: Optional[int] | NotGiven = NOT_GIVEN,
110
111
  project_id: Optional[int] | NotGiven = NOT_GIVEN,
@@ -267,7 +268,7 @@ class AsyncRoleAssignmentsResource(AsyncAPIResource):
267
268
  async def create(
268
269
  self,
269
270
  *,
270
- role: str,
271
+ role: Literal["ClientAdministrator", "InternalNetworkOnlyUser", "Observer", "ProjectAdministrator", "User"],
271
272
  user_id: int,
272
273
  client_id: Optional[int] | NotGiven = NOT_GIVEN,
273
274
  project_id: Optional[int] | NotGiven = NOT_GIVEN,
@@ -319,7 +320,7 @@ class AsyncRoleAssignmentsResource(AsyncAPIResource):
319
320
  self,
320
321
  assignment_id: int,
321
322
  *,
322
- role: str,
323
+ role: Literal["ClientAdministrator", "InternalNetworkOnlyUser", "Observer", "ProjectAdministrator", "User"],
323
324
  user_id: int,
324
325
  client_id: Optional[int] | NotGiven = NOT_GIVEN,
325
326
  project_id: Optional[int] | NotGiven = NOT_GIVEN,
@@ -2,12 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Iterable, Optional
5
+ from typing import Iterable, Optional
6
6
  from typing_extensions import Literal, overload
7
7
 
8
8
  import httpx
9
9
 
10
- from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
10
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven, SequenceNotStr
11
11
  from ..._utils import required_args, maybe_transform, async_maybe_transform
12
12
  from ..._compat import cached_property
13
13
  from ..._resource import SyncAPIResource, AsyncAPIResource
@@ -403,7 +403,7 @@ class VolumesResource(SyncAPIResource):
403
403
  limit: int | NotGiven = NOT_GIVEN,
404
404
  name_part: str | NotGiven = NOT_GIVEN,
405
405
  offset: int | NotGiven = NOT_GIVEN,
406
- tag_key: List[str] | NotGiven = NOT_GIVEN,
406
+ tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
407
407
  tag_key_value: str | NotGiven = NOT_GIVEN,
408
408
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
409
409
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1212,7 +1212,7 @@ class AsyncVolumesResource(AsyncAPIResource):
1212
1212
  limit: int | NotGiven = NOT_GIVEN,
1213
1213
  name_part: str | NotGiven = NOT_GIVEN,
1214
1214
  offset: int | NotGiven = NOT_GIVEN,
1215
- tag_key: List[str] | NotGiven = NOT_GIVEN,
1215
+ tag_key: SequenceNotStr[str] | NotGiven = NOT_GIVEN,
1216
1216
  tag_key_value: str | NotGiven = NOT_GIVEN,
1217
1217
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1218
1218
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -0,0 +1,75 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .dns import (
4
+ DNSResource,
5
+ AsyncDNSResource,
6
+ DNSResourceWithRawResponse,
7
+ AsyncDNSResourceWithRawResponse,
8
+ DNSResourceWithStreamingResponse,
9
+ AsyncDNSResourceWithStreamingResponse,
10
+ )
11
+ from .zones import (
12
+ ZonesResource,
13
+ AsyncZonesResource,
14
+ ZonesResourceWithRawResponse,
15
+ AsyncZonesResourceWithRawResponse,
16
+ ZonesResourceWithStreamingResponse,
17
+ AsyncZonesResourceWithStreamingResponse,
18
+ )
19
+ from .metrics import (
20
+ MetricsResource,
21
+ AsyncMetricsResource,
22
+ MetricsResourceWithRawResponse,
23
+ AsyncMetricsResourceWithRawResponse,
24
+ MetricsResourceWithStreamingResponse,
25
+ AsyncMetricsResourceWithStreamingResponse,
26
+ )
27
+ from .pickers import (
28
+ PickersResource,
29
+ AsyncPickersResource,
30
+ PickersResourceWithRawResponse,
31
+ AsyncPickersResourceWithRawResponse,
32
+ PickersResourceWithStreamingResponse,
33
+ AsyncPickersResourceWithStreamingResponse,
34
+ )
35
+ from .locations import (
36
+ LocationsResource,
37
+ AsyncLocationsResource,
38
+ LocationsResourceWithRawResponse,
39
+ AsyncLocationsResourceWithRawResponse,
40
+ LocationsResourceWithStreamingResponse,
41
+ AsyncLocationsResourceWithStreamingResponse,
42
+ )
43
+
44
+ __all__ = [
45
+ "LocationsResource",
46
+ "AsyncLocationsResource",
47
+ "LocationsResourceWithRawResponse",
48
+ "AsyncLocationsResourceWithRawResponse",
49
+ "LocationsResourceWithStreamingResponse",
50
+ "AsyncLocationsResourceWithStreamingResponse",
51
+ "MetricsResource",
52
+ "AsyncMetricsResource",
53
+ "MetricsResourceWithRawResponse",
54
+ "AsyncMetricsResourceWithRawResponse",
55
+ "MetricsResourceWithStreamingResponse",
56
+ "AsyncMetricsResourceWithStreamingResponse",
57
+ "PickersResource",
58
+ "AsyncPickersResource",
59
+ "PickersResourceWithRawResponse",
60
+ "AsyncPickersResourceWithRawResponse",
61
+ "PickersResourceWithStreamingResponse",
62
+ "AsyncPickersResourceWithStreamingResponse",
63
+ "ZonesResource",
64
+ "AsyncZonesResource",
65
+ "ZonesResourceWithRawResponse",
66
+ "AsyncZonesResourceWithRawResponse",
67
+ "ZonesResourceWithStreamingResponse",
68
+ "AsyncZonesResourceWithStreamingResponse",
69
+ "DNSResource",
70
+ "AsyncDNSResource",
71
+ "DNSResourceWithRawResponse",
72
+ "AsyncDNSResourceWithRawResponse",
73
+ "DNSResourceWithStreamingResponse",
74
+ "AsyncDNSResourceWithStreamingResponse",
75
+ ]