volcano-sdk-python 0.6.7__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.
Files changed (778) hide show
  1. volcano_sdk/__init__.py +91 -0
  2. volcano_sdk/_function_resolution.py +159 -0
  3. volcano_sdk/_generated/__init__.py +8 -0
  4. volcano_sdk/_generated/api/__init__.py +1 -0
  5. volcano_sdk/_generated/api/anon_keys/__init__.py +1 -0
  6. volcano_sdk/_generated/api/anon_keys/create_anon_key.py +192 -0
  7. volcano_sdk/_generated/api/anon_keys/get_anon_key.py +197 -0
  8. volcano_sdk/_generated/api/anon_keys/list_anon_keys.py +297 -0
  9. volcano_sdk/_generated/api/anon_keys/regenerate_anon_key.py +193 -0
  10. volcano_sdk/_generated/api/anon_keys/revoke_anon_key.py +216 -0
  11. volcano_sdk/_generated/api/anon_keys/set_default_anon_key.py +217 -0
  12. volcano_sdk/_generated/api/auth_admin/__init__.py +1 -0
  13. volcano_sdk/_generated/api/auth_admin/ban_auth_user.py +240 -0
  14. volcano_sdk/_generated/api/auth_admin/delete_all_user_sessions.py +132 -0
  15. volcano_sdk/_generated/api/auth_admin/delete_auth_user.py +127 -0
  16. volcano_sdk/_generated/api/auth_admin/delete_user_session.py +139 -0
  17. volcano_sdk/_generated/api/auth_admin/get_auth_insights.py +301 -0
  18. volcano_sdk/_generated/api/auth_admin/get_auth_user.py +185 -0
  19. volcano_sdk/_generated/api/auth_admin/list_auth_users.py +306 -0
  20. volcano_sdk/_generated/api/auth_admin/list_user_sessions.py +365 -0
  21. volcano_sdk/_generated/api/auth_admin/unban_auth_user.py +205 -0
  22. volcano_sdk/_generated/api/auth_configuration/__init__.py +1 -0
  23. volcano_sdk/_generated/api/auth_configuration/configure_auth_methods.py +143 -0
  24. volcano_sdk/_generated/api/auth_configuration/create_email_template.py +246 -0
  25. volcano_sdk/_generated/api/auth_configuration/delete_auth_page_layout.py +219 -0
  26. volcano_sdk/_generated/api/auth_configuration/delete_auth_page_theme.py +197 -0
  27. volcano_sdk/_generated/api/auth_configuration/delete_email_template.py +211 -0
  28. volcano_sdk/_generated/api/auth_configuration/get_auth_config.py +172 -0
  29. volcano_sdk/_generated/api/auth_configuration/get_auth_hosted_page.py +207 -0
  30. volcano_sdk/_generated/api/auth_configuration/get_auth_methods.py +184 -0
  31. volcano_sdk/_generated/api/auth_configuration/get_auth_page_appearance.py +201 -0
  32. volcano_sdk/_generated/api/auth_configuration/get_default_email_template.py +177 -0
  33. volcano_sdk/_generated/api/auth_configuration/get_default_email_templates.py +158 -0
  34. volcano_sdk/_generated/api/auth_configuration/get_email_template.py +191 -0
  35. volcano_sdk/_generated/api/auth_configuration/get_hosted_login_options.py +221 -0
  36. volcano_sdk/_generated/api/auth_configuration/hosted_login_check_email.py +231 -0
  37. volcano_sdk/_generated/api/auth_configuration/list_email_templates.py +180 -0
  38. volcano_sdk/_generated/api/auth_configuration/preview_auth_page.py +243 -0
  39. volcano_sdk/_generated/api/auth_configuration/render_auth_page_preview.py +228 -0
  40. volcano_sdk/_generated/api/auth_configuration/render_default_managed_auth_page.py +261 -0
  41. volcano_sdk/_generated/api/auth_configuration/render_managed_auth_page.py +215 -0
  42. volcano_sdk/_generated/api/auth_configuration/test_email_config.py +292 -0
  43. volcano_sdk/_generated/api/auth_configuration/update_auth_config.py +219 -0
  44. volcano_sdk/_generated/api/auth_configuration/update_auth_hosted_page.py +243 -0
  45. volcano_sdk/_generated/api/auth_configuration/update_auth_page_layout.py +242 -0
  46. volcano_sdk/_generated/api/auth_configuration/update_auth_page_theme.py +227 -0
  47. volcano_sdk/_generated/api/auth_configuration/update_email_template.py +239 -0
  48. volcano_sdk/_generated/api/authentication/__init__.py +1 -0
  49. volcano_sdk/_generated/api/authentication/auth_cancel_email_change.py +158 -0
  50. volcano_sdk/_generated/api/authentication/auth_confirm_email.py +198 -0
  51. volcano_sdk/_generated/api/authentication/auth_confirm_email_change.py +215 -0
  52. volcano_sdk/_generated/api/authentication/auth_convert_anonymous.py +222 -0
  53. volcano_sdk/_generated/api/authentication/auth_delete_all_my_sessions.py +166 -0
  54. volcano_sdk/_generated/api/authentication/auth_delete_my_session.py +195 -0
  55. volcano_sdk/_generated/api/authentication/auth_forgot_password.py +209 -0
  56. volcano_sdk/_generated/api/authentication/auth_get_my_sessions.py +397 -0
  57. volcano_sdk/_generated/api/authentication/auth_get_password_policy.py +181 -0
  58. volcano_sdk/_generated/api/authentication/auth_get_user.py +166 -0
  59. volcano_sdk/_generated/api/authentication/auth_list_identities.py +178 -0
  60. volcano_sdk/_generated/api/authentication/auth_list_methods.py +174 -0
  61. volcano_sdk/_generated/api/authentication/auth_logout.py +138 -0
  62. volcano_sdk/_generated/api/authentication/auth_promote_method.py +221 -0
  63. volcano_sdk/_generated/api/authentication/auth_refresh.py +235 -0
  64. volcano_sdk/_generated/api/authentication/auth_request_email_change.py +226 -0
  65. volcano_sdk/_generated/api/authentication/auth_resend_confirmation.py +210 -0
  66. volcano_sdk/_generated/api/authentication/auth_reset_password.py +206 -0
  67. volcano_sdk/_generated/api/authentication/auth_signin.py +222 -0
  68. volcano_sdk/_generated/api/authentication/auth_signup.py +254 -0
  69. volcano_sdk/_generated/api/authentication/auth_signup_anonymous.py +205 -0
  70. volcano_sdk/_generated/api/authentication/auth_unlink_identity.py +206 -0
  71. volcano_sdk/_generated/api/authentication/auth_update_user.py +211 -0
  72. volcano_sdk/_generated/api/database_backups/__init__.py +1 -0
  73. volcano_sdk/_generated/api/database_backups/create_database_backup.py +265 -0
  74. volcano_sdk/_generated/api/database_backups/create_database_restore.py +305 -0
  75. volcano_sdk/_generated/api/database_backups/delete_database_backup.py +247 -0
  76. volcano_sdk/_generated/api/database_backups/get_database_backup.py +235 -0
  77. volcano_sdk/_generated/api/database_backups/get_database_backup_schedule.py +226 -0
  78. volcano_sdk/_generated/api/database_backups/get_database_restore.py +232 -0
  79. volcano_sdk/_generated/api/database_backups/list_database_backups.py +242 -0
  80. volcano_sdk/_generated/api/database_backups/list_database_restores.py +223 -0
  81. volcano_sdk/_generated/api/database_backups/update_database_backup_schedule.py +272 -0
  82. volcano_sdk/_generated/api/database_branches/__init__.py +1 -0
  83. volcano_sdk/_generated/api/database_branches/create_database_branch.py +285 -0
  84. volcano_sdk/_generated/api/database_branches/delete_database_branch.py +249 -0
  85. volcano_sdk/_generated/api/database_branches/get_database_branch.py +225 -0
  86. volcano_sdk/_generated/api/database_branches/list_database_branches.py +224 -0
  87. volcano_sdk/_generated/api/database_branches/reset_database_branch.py +268 -0
  88. volcano_sdk/_generated/api/database_branches/reset_database_branch_password.py +252 -0
  89. volcano_sdk/_generated/api/database_branches/update_database_branch.py +267 -0
  90. volcano_sdk/_generated/api/database_queries/__init__.py +1 -0
  91. volcano_sdk/_generated/api/database_queries/query_database_branch_delete.py +295 -0
  92. volcano_sdk/_generated/api/database_queries/query_database_branch_insert.py +299 -0
  93. volcano_sdk/_generated/api/database_queries/query_database_branch_ping.py +276 -0
  94. volcano_sdk/_generated/api/database_queries/query_database_branch_select.py +315 -0
  95. volcano_sdk/_generated/api/database_queries/query_database_branch_update.py +303 -0
  96. volcano_sdk/_generated/api/database_queries/query_database_delete.py +259 -0
  97. volcano_sdk/_generated/api/database_queries/query_database_insert.py +263 -0
  98. volcano_sdk/_generated/api/database_queries/query_database_ping.py +240 -0
  99. volcano_sdk/_generated/api/database_queries/query_database_select.py +279 -0
  100. volcano_sdk/_generated/api/database_queries/query_database_update.py +267 -0
  101. volcano_sdk/_generated/api/databases/__init__.py +1 -0
  102. volcano_sdk/_generated/api/databases/create_database.py +236 -0
  103. volcano_sdk/_generated/api/databases/delete_database.py +247 -0
  104. volcano_sdk/_generated/api/databases/get_database.py +185 -0
  105. volcano_sdk/_generated/api/databases/get_database_stats.py +292 -0
  106. volcano_sdk/_generated/api/databases/get_project_database_queries.py +267 -0
  107. volcano_sdk/_generated/api/databases/list_database_regions.py +167 -0
  108. volcano_sdk/_generated/api/databases/list_databases.py +314 -0
  109. volcano_sdk/_generated/api/databases/list_postgres_versions.py +167 -0
  110. volcano_sdk/_generated/api/databases/reset_database_password.py +250 -0
  111. volcano_sdk/_generated/api/databases/update_database_type.py +268 -0
  112. volcano_sdk/_generated/api/frontends/__init__.py +1 -0
  113. volcano_sdk/_generated/api/frontends/create_frontend.py +369 -0
  114. volcano_sdk/_generated/api/frontends/create_frontend_custom_domain.py +278 -0
  115. volcano_sdk/_generated/api/frontends/delete_frontend.py +244 -0
  116. volcano_sdk/_generated/api/frontends/delete_frontend_custom_domain.py +217 -0
  117. volcano_sdk/_generated/api/frontends/get_frontend.py +221 -0
  118. volcano_sdk/_generated/api/frontends/get_frontend_custom_domain.py +234 -0
  119. volcano_sdk/_generated/api/frontends/get_frontend_usage_history.py +283 -0
  120. volcano_sdk/_generated/api/frontends/list_frontend_deployments.py +258 -0
  121. volcano_sdk/_generated/api/frontends/list_frontends.py +329 -0
  122. volcano_sdk/_generated/api/frontends/list_project_custom_domains.py +318 -0
  123. volcano_sdk/_generated/api/frontends/redeploy_frontend.py +267 -0
  124. volcano_sdk/_generated/api/functions/__init__.py +1 -0
  125. volcano_sdk/_generated/api/functions/create_function.py +320 -0
  126. volcano_sdk/_generated/api/functions/create_function_scheduler.py +225 -0
  127. volcano_sdk/_generated/api/functions/create_functions_batch.py +271 -0
  128. volcano_sdk/_generated/api/functions/delete_function.py +209 -0
  129. volcano_sdk/_generated/api/functions/delete_function_scheduler.py +130 -0
  130. volcano_sdk/_generated/api/functions/get_function.py +193 -0
  131. volcano_sdk/_generated/api/functions/get_function_scheduler.py +198 -0
  132. volcano_sdk/_generated/api/functions/invoke_function.py +385 -0
  133. volcano_sdk/_generated/api/functions/list_function_deployments.py +230 -0
  134. volcano_sdk/_generated/api/functions/list_function_regions.py +171 -0
  135. volcano_sdk/_generated/api/functions/list_function_runtimes.py +166 -0
  136. volcano_sdk/_generated/api/functions/list_function_schedulers.py +185 -0
  137. volcano_sdk/_generated/api/functions/list_functions.py +301 -0
  138. volcano_sdk/_generated/api/functions/list_project_schedulers.py +289 -0
  139. volcano_sdk/_generated/api/functions/resolve_function_for_invocation.py +264 -0
  140. volcano_sdk/_generated/api/functions/update_function.py +220 -0
  141. volcano_sdk/_generated/api/functions/update_function_scheduler.py +218 -0
  142. volcano_sdk/_generated/api/git_connections/__init__.py +1 -0
  143. volcano_sdk/_generated/api/git_connections/delete_git_connection.py +204 -0
  144. volcano_sdk/_generated/api/git_connections/git_connect_callback.py +247 -0
  145. volcano_sdk/_generated/api/git_connections/list_git_connections.py +172 -0
  146. volcano_sdk/_generated/api/git_connections/list_git_installation_repositories.py +237 -0
  147. volcano_sdk/_generated/api/git_connections/list_git_installations.py +224 -0
  148. volcano_sdk/_generated/api/git_connections/start_git_connect.py +250 -0
  149. volcano_sdk/_generated/api/locks/__init__.py +1 -0
  150. volcano_sdk/_generated/api/locks/acquire_project_lock.py +289 -0
  151. volcano_sdk/_generated/api/locks/force_release_project_lock.py +254 -0
  152. volcano_sdk/_generated/api/locks/get_project_lock.py +246 -0
  153. volcano_sdk/_generated/api/locks/release_project_lock.py +252 -0
  154. volcano_sdk/_generated/api/locks/renew_project_lock.py +285 -0
  155. volcano_sdk/_generated/api/logs/__init__.py +1 -0
  156. volcano_sdk/_generated/api/logs/get_project_log_activity.py +261 -0
  157. volcano_sdk/_generated/api/logs/search_project_logs.py +265 -0
  158. volcano_sdk/_generated/api/logs/stream_project_logs.py +345 -0
  159. volcano_sdk/_generated/api/o_auth_authentication/__init__.py +1 -0
  160. volcano_sdk/_generated/api/o_auth_authentication/auth_device_authorize.py +266 -0
  161. volcano_sdk/_generated/api/o_auth_authentication/auth_device_token.py +209 -0
  162. volcano_sdk/_generated/api/o_auth_authentication/auth_device_verify.py +230 -0
  163. volcano_sdk/_generated/api/o_auth_authentication/auth_link_o_auth_provider.py +272 -0
  164. volcano_sdk/_generated/api/o_auth_authentication/auth_list_o_auth_providers.py +166 -0
  165. volcano_sdk/_generated/api/o_auth_authentication/auth_o_auth_authorize.py +181 -0
  166. volcano_sdk/_generated/api/o_auth_authentication/auth_o_auth_callback.py +260 -0
  167. volcano_sdk/_generated/api/o_auth_authentication/auth_o_auth_exchange.py +210 -0
  168. volcano_sdk/_generated/api/o_auth_authentication/auth_platform_exchange.py +202 -0
  169. volcano_sdk/_generated/api/o_auth_authentication/auth_unlink_o_auth_provider.py +203 -0
  170. volcano_sdk/_generated/api/o_auth_authentication/call_o_auth_provider_api.py +309 -0
  171. volcano_sdk/_generated/api/o_auth_authentication/get_o_auth_provider_token.py +200 -0
  172. volcano_sdk/_generated/api/o_auth_authentication/refresh_o_auth_provider_token.py +207 -0
  173. volcano_sdk/_generated/api/o_auth_configuration/__init__.py +1 -0
  174. volcano_sdk/_generated/api/o_auth_configuration/create_o_auth_config.py +204 -0
  175. volcano_sdk/_generated/api/o_auth_configuration/delete_o_auth_config.py +142 -0
  176. volcano_sdk/_generated/api/o_auth_configuration/get_o_auth_config.py +209 -0
  177. volcano_sdk/_generated/api/o_auth_configuration/list_available_o_auth_providers.py +180 -0
  178. volcano_sdk/_generated/api/o_auth_configuration/list_o_auth_configs.py +180 -0
  179. volcano_sdk/_generated/api/o_auth_configuration/update_o_auth_config.py +230 -0
  180. volcano_sdk/_generated/api/project_imports/__init__.py +1 -0
  181. volcano_sdk/_generated/api/project_imports/complete_import_connect.py +322 -0
  182. volcano_sdk/_generated/api/project_imports/delete_import_connection.py +211 -0
  183. volcano_sdk/_generated/api/project_imports/get_project_import_run.py +216 -0
  184. volcano_sdk/_generated/api/project_imports/list_import_connections.py +165 -0
  185. volcano_sdk/_generated/api/project_imports/list_import_sources.py +261 -0
  186. volcano_sdk/_generated/api/project_imports/preflight_project_import.py +258 -0
  187. volcano_sdk/_generated/api/project_imports/start_import_connect.py +246 -0
  188. volcano_sdk/_generated/api/project_imports/start_project_import.py +284 -0
  189. volcano_sdk/_generated/api/projects/__init__.py +1 -0
  190. volcano_sdk/_generated/api/projects/apply_project_config.py +342 -0
  191. volcano_sdk/_generated/api/projects/cancel_project_source_export.py +231 -0
  192. volcano_sdk/_generated/api/projects/connect_project_git.py +278 -0
  193. volcano_sdk/_generated/api/projects/create_project.py +205 -0
  194. volcano_sdk/_generated/api/projects/delete_project.py +196 -0
  195. volcano_sdk/_generated/api/projects/delete_project_logo.py +213 -0
  196. volcano_sdk/_generated/api/projects/disconnect_project_git.py +204 -0
  197. volcano_sdk/_generated/api/projects/export_project_source.py +351 -0
  198. volcano_sdk/_generated/api/projects/get_project.py +180 -0
  199. volcano_sdk/_generated/api/projects/get_project_config.py +251 -0
  200. volcano_sdk/_generated/api/projects/get_project_git_connection.py +201 -0
  201. volcano_sdk/_generated/api/projects/get_project_git_deploy_settings.py +201 -0
  202. volcano_sdk/_generated/api/projects/get_project_health.py +221 -0
  203. volcano_sdk/_generated/api/projects/get_project_logo.py +196 -0
  204. volcano_sdk/_generated/api/projects/get_project_source_export.py +276 -0
  205. volcano_sdk/_generated/api/projects/get_project_usage.py +199 -0
  206. volcano_sdk/_generated/api/projects/list_deployments.py +558 -0
  207. volcano_sdk/_generated/api/projects/list_project_deployments.py +358 -0
  208. volcano_sdk/_generated/api/projects/list_projects.py +332 -0
  209. volcano_sdk/_generated/api/projects/query_project_metrics.py +251 -0
  210. volcano_sdk/_generated/api/projects/set_project_git_production_branch.py +291 -0
  211. volcano_sdk/_generated/api/projects/summarize_project_deployments.py +288 -0
  212. volcano_sdk/_generated/api/projects/update_project.py +221 -0
  213. volcano_sdk/_generated/api/projects/update_project_git_deploy_settings.py +287 -0
  214. volcano_sdk/_generated/api/projects/upload_project_logo.py +248 -0
  215. volcano_sdk/_generated/api/realtime/__init__.py +1 -0
  216. volcano_sdk/_generated/api/realtime/get_realtime_config.py +195 -0
  217. volcano_sdk/_generated/api/realtime/get_realtime_stats.py +188 -0
  218. volcano_sdk/_generated/api/realtime/update_realtime_config.py +219 -0
  219. volcano_sdk/_generated/api/service_keys/__init__.py +1 -0
  220. volcano_sdk/_generated/api/service_keys/create_service_key.py +216 -0
  221. volcano_sdk/_generated/api/service_keys/delete_service_key.py +129 -0
  222. volcano_sdk/_generated/api/service_keys/get_service_key.py +197 -0
  223. volcano_sdk/_generated/api/service_keys/list_service_keys.py +285 -0
  224. volcano_sdk/_generated/api/service_keys/regenerate_service_key.py +201 -0
  225. volcano_sdk/_generated/api/storage_admin/__init__.py +1 -0
  226. volcano_sdk/_generated/api/storage_admin/get_storage_stats.py +180 -0
  227. volcano_sdk/_generated/api/storage_admin/list_storage_objects_admin.py +299 -0
  228. volcano_sdk/_generated/api/storage_buckets/__init__.py +1 -0
  229. volcano_sdk/_generated/api/storage_buckets/create_storage_bucket.py +196 -0
  230. volcano_sdk/_generated/api/storage_buckets/delete_storage_bucket.py +123 -0
  231. volcano_sdk/_generated/api/storage_buckets/get_storage_bucket.py +189 -0
  232. volcano_sdk/_generated/api/storage_buckets/list_storage_buckets.py +297 -0
  233. volcano_sdk/_generated/api/storage_buckets/update_storage_bucket.py +205 -0
  234. volcano_sdk/_generated/api/storage_objects/__init__.py +1 -0
  235. volcano_sdk/_generated/api/storage_objects/copy_storage_object.py +203 -0
  236. volcano_sdk/_generated/api/storage_objects/delete_storage_object.py +252 -0
  237. volcano_sdk/_generated/api/storage_objects/download_public_file.py +302 -0
  238. volcano_sdk/_generated/api/storage_objects/download_storage_object.py +283 -0
  239. volcano_sdk/_generated/api/storage_objects/list_storage_objects.py +235 -0
  240. volcano_sdk/_generated/api/storage_objects/move_storage_object.py +203 -0
  241. volcano_sdk/_generated/api/storage_objects/update_storage_object_visibility.py +244 -0
  242. volcano_sdk/_generated/api/storage_objects/upload_part.py +287 -0
  243. volcano_sdk/_generated/api/storage_objects/upload_storage_object.py +380 -0
  244. volcano_sdk/_generated/api/storage_policies/__init__.py +1 -0
  245. volcano_sdk/_generated/api/storage_policies/create_storage_policy.py +205 -0
  246. volcano_sdk/_generated/api/storage_policies/delete_storage_policy.py +130 -0
  247. volcano_sdk/_generated/api/storage_policies/list_storage_policies.py +190 -0
  248. volcano_sdk/_generated/api/system/__init__.py +1 -0
  249. volcano_sdk/_generated/api/system/health_check.py +153 -0
  250. volcano_sdk/_generated/api/variables/__init__.py +1 -0
  251. volcano_sdk/_generated/api/variables/create_variable.py +212 -0
  252. volcano_sdk/_generated/api/variables/delete_variable.py +201 -0
  253. volcano_sdk/_generated/api/variables/get_variable.py +201 -0
  254. volcano_sdk/_generated/api/variables/list_variables.py +285 -0
  255. volcano_sdk/_generated/api/variables/update_variable.py +225 -0
  256. volcano_sdk/_generated/client.py +271 -0
  257. volcano_sdk/_generated/errors.py +14 -0
  258. volcano_sdk/_generated/models/__init__.py +1003 -0
  259. volcano_sdk/_generated/models/anon_key.py +167 -0
  260. volcano_sdk/_generated/models/auth_cancel_email_change_response_200.py +78 -0
  261. volcano_sdk/_generated/models/auth_config.py +559 -0
  262. volcano_sdk/_generated/models/auth_config_allowed_email_domains_mode.py +10 -0
  263. volcano_sdk/_generated/models/auth_confirm_email_body.py +76 -0
  264. volcano_sdk/_generated/models/auth_confirm_email_change_body.py +76 -0
  265. volcano_sdk/_generated/models/auth_confirm_email_change_response_200.py +102 -0
  266. volcano_sdk/_generated/models/auth_confirm_email_response_200.py +92 -0
  267. volcano_sdk/_generated/models/auth_confirm_email_response_200_message.py +10 -0
  268. volcano_sdk/_generated/models/auth_convert_anonymous_body.py +110 -0
  269. volcano_sdk/_generated/models/auth_convert_anonymous_body_user_metadata.py +65 -0
  270. volcano_sdk/_generated/models/auth_convert_anonymous_response_200.py +93 -0
  271. volcano_sdk/_generated/models/auth_device_authorize_body.py +76 -0
  272. volcano_sdk/_generated/models/auth_device_token_body.py +98 -0
  273. volcano_sdk/_generated/models/auth_device_token_body_grant_type.py +10 -0
  274. volcano_sdk/_generated/models/auth_device_verify_body.py +100 -0
  275. volcano_sdk/_generated/models/auth_device_verify_body_action.py +10 -0
  276. volcano_sdk/_generated/models/auth_device_verify_response_200.py +87 -0
  277. volcano_sdk/_generated/models/auth_forgot_password_body.py +76 -0
  278. volcano_sdk/_generated/models/auth_forgot_password_response_200.py +78 -0
  279. volcano_sdk/_generated/models/auth_get_my_sessions_response_200.py +190 -0
  280. volcano_sdk/_generated/models/auth_get_my_sessions_sort.py +10 -0
  281. volcano_sdk/_generated/models/auth_get_my_sessions_status.py +10 -0
  282. volcano_sdk/_generated/models/auth_get_user_response_200.py +93 -0
  283. volcano_sdk/_generated/models/auth_hosted_page.py +188 -0
  284. volcano_sdk/_generated/models/auth_hosted_page_defaults.py +87 -0
  285. volcano_sdk/_generated/models/auth_hosted_page_response.py +133 -0
  286. volcano_sdk/_generated/models/auth_hosted_page_runtime.py +97 -0
  287. volcano_sdk/_generated/models/auth_identities_response.py +94 -0
  288. volcano_sdk/_generated/models/auth_identity.py +119 -0
  289. volcano_sdk/_generated/models/auth_insights_interval.py +10 -0
  290. volcano_sdk/_generated/models/auth_insights_response.py +128 -0
  291. volcano_sdk/_generated/models/auth_insights_series_point.py +87 -0
  292. volcano_sdk/_generated/models/auth_insights_summary.py +67 -0
  293. volcano_sdk/_generated/models/auth_insights_window.py +87 -0
  294. volcano_sdk/_generated/models/auth_link_o_auth_provider_provider.py +10 -0
  295. volcano_sdk/_generated/models/auth_link_o_auth_provider_response_200.py +78 -0
  296. volcano_sdk/_generated/models/auth_link_o_auth_provider_response_mode.py +10 -0
  297. volcano_sdk/_generated/models/auth_list_o_auth_providers_response_200.py +100 -0
  298. volcano_sdk/_generated/models/auth_list_o_auth_providers_response_200_providers_item.py +118 -0
  299. volcano_sdk/_generated/models/auth_logout_body.py +101 -0
  300. volcano_sdk/_generated/models/auth_logout_body_session_mode.py +10 -0
  301. volcano_sdk/_generated/models/auth_method_summary.py +173 -0
  302. volcano_sdk/_generated/models/auth_method_summary_type.py +10 -0
  303. volcano_sdk/_generated/models/auth_methods_response.py +94 -0
  304. volcano_sdk/_generated/models/auth_o_auth_authorize_provider.py +10 -0
  305. volcano_sdk/_generated/models/auth_o_auth_authorize_response_mode.py +10 -0
  306. volcano_sdk/_generated/models/auth_o_auth_callback_provider.py +10 -0
  307. volcano_sdk/_generated/models/auth_o_auth_exchange_body.py +84 -0
  308. volcano_sdk/_generated/models/auth_page_appearance_defaults.py +97 -0
  309. volcano_sdk/_generated/models/auth_page_appearance_options.py +207 -0
  310. volcano_sdk/_generated/models/auth_page_appearance_response.py +148 -0
  311. volcano_sdk/_generated/models/auth_page_appearance_response_layouts.py +78 -0
  312. volcano_sdk/_generated/models/auth_page_appearance_response_parked.py +66 -0
  313. volcano_sdk/_generated/models/auth_page_density.py +10 -0
  314. volcano_sdk/_generated/models/auth_page_font.py +10 -0
  315. volcano_sdk/_generated/models/auth_page_layout.py +10 -0
  316. volcano_sdk/_generated/models/auth_page_radius.py +10 -0
  317. volcano_sdk/_generated/models/auth_page_scale.py +10 -0
  318. volcano_sdk/_generated/models/auth_page_theme.py +131 -0
  319. volcano_sdk/_generated/models/auth_page_theme_colors.py +90 -0
  320. volcano_sdk/_generated/models/auth_page_theme_version.py +10 -0
  321. volcano_sdk/_generated/models/auth_password_policy.py +116 -0
  322. volcano_sdk/_generated/models/auth_platform_exchange_body.py +76 -0
  323. volcano_sdk/_generated/models/auth_refresh_body.py +101 -0
  324. volcano_sdk/_generated/models/auth_refresh_body_session_mode.py +10 -0
  325. volcano_sdk/_generated/models/auth_request_email_change_body.py +76 -0
  326. volcano_sdk/_generated/models/auth_request_email_change_response_200.py +87 -0
  327. volcano_sdk/_generated/models/auth_resend_confirmation_body.py +76 -0
  328. volcano_sdk/_generated/models/auth_resend_confirmation_response_200.py +78 -0
  329. volcano_sdk/_generated/models/auth_reset_password_body.py +85 -0
  330. volcano_sdk/_generated/models/auth_reset_password_response_200.py +78 -0
  331. volcano_sdk/_generated/models/auth_session.py +239 -0
  332. volcano_sdk/_generated/models/auth_session_provider.py +10 -0
  333. volcano_sdk/_generated/models/auth_signin_body.py +108 -0
  334. volcano_sdk/_generated/models/auth_signin_body_session_mode.py +10 -0
  335. volcano_sdk/_generated/models/auth_signup_anonymous_body.py +94 -0
  336. volcano_sdk/_generated/models/auth_signup_anonymous_body_user_metadata.py +69 -0
  337. volcano_sdk/_generated/models/auth_signup_body.py +110 -0
  338. volcano_sdk/_generated/models/auth_signup_body_user_metadata.py +65 -0
  339. volcano_sdk/_generated/models/auth_signup_response.py +90 -0
  340. volcano_sdk/_generated/models/auth_token_response.py +119 -0
  341. volcano_sdk/_generated/models/auth_unlink_o_auth_provider_provider.py +10 -0
  342. volcano_sdk/_generated/models/auth_update_user_body.py +105 -0
  343. volcano_sdk/_generated/models/auth_update_user_body_user_metadata.py +68 -0
  344. volcano_sdk/_generated/models/auth_update_user_response_200.py +93 -0
  345. volcano_sdk/_generated/models/auth_user.py +276 -0
  346. volcano_sdk/_generated/models/auth_user_app_metadata.py +66 -0
  347. volcano_sdk/_generated/models/auth_user_status.py +10 -0
  348. volcano_sdk/_generated/models/auth_user_user_metadata.py +66 -0
  349. volcano_sdk/_generated/models/ban_auth_user_body.py +91 -0
  350. volcano_sdk/_generated/models/ban_user_response.py +146 -0
  351. volcano_sdk/_generated/models/ban_user_response_status.py +10 -0
  352. volcano_sdk/_generated/models/batch_function_deploy_failure.py +128 -0
  353. volcano_sdk/_generated/models/batch_function_deploy_failure_operation.py +10 -0
  354. volcano_sdk/_generated/models/batch_function_deploy_response.py +138 -0
  355. volcano_sdk/_generated/models/call_o_auth_provider_api_body.py +126 -0
  356. volcano_sdk/_generated/models/call_o_auth_provider_api_body_body.py +66 -0
  357. volcano_sdk/_generated/models/call_o_auth_provider_api_body_method.py +10 -0
  358. volcano_sdk/_generated/models/call_o_auth_provider_api_provider.py +10 -0
  359. volcano_sdk/_generated/models/call_o_auth_provider_api_response_200.py +107 -0
  360. volcano_sdk/_generated/models/call_o_auth_provider_api_response_200_provider.py +10 -0
  361. volcano_sdk/_generated/models/complete_upload_session_response.py +94 -0
  362. volcano_sdk/_generated/models/configure_auth_methods_body.py +118 -0
  363. volcano_sdk/_generated/models/configure_auth_methods_body_oauth_providers_item.py +87 -0
  364. volcano_sdk/_generated/models/connect_project_git_request.py +137 -0
  365. volcano_sdk/_generated/models/create_anon_key_body.py +112 -0
  366. volcano_sdk/_generated/models/create_anon_key_body_permissions_item.py +10 -0
  367. volcano_sdk/_generated/models/create_database_backup_request.py +78 -0
  368. volcano_sdk/_generated/models/create_database_branch_request.py +88 -0
  369. volcano_sdk/_generated/models/create_database_request.py +134 -0
  370. volcano_sdk/_generated/models/create_database_request_database_type.py +10 -0
  371. volcano_sdk/_generated/models/create_database_request_pg_version.py +10 -0
  372. volcano_sdk/_generated/models/create_database_request_region.py +10 -0
  373. volcano_sdk/_generated/models/create_database_restore_request.py +109 -0
  374. volcano_sdk/_generated/models/create_email_template_request.py +109 -0
  375. volcano_sdk/_generated/models/create_email_template_request_template_type.py +10 -0
  376. volcano_sdk/_generated/models/create_frontend_body.py +159 -0
  377. volcano_sdk/_generated/models/create_frontend_body_framework.py +10 -0
  378. volcano_sdk/_generated/models/create_frontend_custom_domain_request.py +92 -0
  379. volcano_sdk/_generated/models/create_function_body.py +243 -0
  380. volcano_sdk/_generated/models/create_function_body_runtime.py +10 -0
  381. volcano_sdk/_generated/models/create_function_scheduler_request.py +139 -0
  382. volcano_sdk/_generated/models/create_function_scheduler_request_payload.py +65 -0
  383. volcano_sdk/_generated/models/create_functions_batch_body.py +125 -0
  384. volcano_sdk/_generated/models/create_o_auth_config_request.py +128 -0
  385. volcano_sdk/_generated/models/create_o_auth_config_request_provider.py +10 -0
  386. volcano_sdk/_generated/models/create_project_request.py +109 -0
  387. volcano_sdk/_generated/models/create_service_key_body.py +100 -0
  388. volcano_sdk/_generated/models/create_storage_bucket_request.py +101 -0
  389. volcano_sdk/_generated/models/create_storage_policy_request.py +98 -0
  390. volcano_sdk/_generated/models/create_storage_policy_request_operation.py +10 -0
  391. volcano_sdk/_generated/models/create_upload_session_request.py +103 -0
  392. volcano_sdk/_generated/models/create_upload_session_response.py +119 -0
  393. volcano_sdk/_generated/models/create_variable_request.py +84 -0
  394. volcano_sdk/_generated/models/database.py +255 -0
  395. volcano_sdk/_generated/models/database_backup.py +142 -0
  396. volcano_sdk/_generated/models/database_backup_list.py +123 -0
  397. volcano_sdk/_generated/models/database_backup_schedule.py +96 -0
  398. volcano_sdk/_generated/models/database_backup_schedule_entry.py +114 -0
  399. volcano_sdk/_generated/models/database_backup_schedule_entry_frequency.py +10 -0
  400. volcano_sdk/_generated/models/database_backup_source.py +10 -0
  401. volcano_sdk/_generated/models/database_branch.py +235 -0
  402. volcano_sdk/_generated/models/database_branch_list.py +94 -0
  403. volcano_sdk/_generated/models/database_branch_status.py +10 -0
  404. volcano_sdk/_generated/models/database_branch_storage.py +99 -0
  405. volcano_sdk/_generated/models/database_database_type.py +10 -0
  406. volcano_sdk/_generated/models/database_delete_request.py +103 -0
  407. volcano_sdk/_generated/models/database_insert_request.py +93 -0
  408. volcano_sdk/_generated/models/database_insert_request_values.py +69 -0
  409. volcano_sdk/_generated/models/database_query_filter.py +142 -0
  410. volcano_sdk/_generated/models/database_query_filter_operator.py +10 -0
  411. volcano_sdk/_generated/models/database_query_order.py +96 -0
  412. volcano_sdk/_generated/models/database_query_performance_database.py +88 -0
  413. volcano_sdk/_generated/models/database_query_performance_item.py +156 -0
  414. volcano_sdk/_generated/models/database_query_performance_response.py +94 -0
  415. volcano_sdk/_generated/models/database_query_result.py +111 -0
  416. volcano_sdk/_generated/models/database_query_result_data_item.py +65 -0
  417. volcano_sdk/_generated/models/database_restore.py +221 -0
  418. volcano_sdk/_generated/models/database_restore_kind.py +10 -0
  419. volcano_sdk/_generated/models/database_restore_list.py +94 -0
  420. volcano_sdk/_generated/models/database_restore_status.py +10 -0
  421. volcano_sdk/_generated/models/database_restore_window.py +117 -0
  422. volcano_sdk/_generated/models/database_select_request.py +171 -0
  423. volcano_sdk/_generated/models/database_stats.py +211 -0
  424. volcano_sdk/_generated/models/database_stats_granularity.py +10 -0
  425. volcano_sdk/_generated/models/database_status.py +10 -0
  426. volcano_sdk/_generated/models/database_update_request.py +120 -0
  427. volcano_sdk/_generated/models/database_update_request_values.py +69 -0
  428. volcano_sdk/_generated/models/delete_database_backup_response_200.py +84 -0
  429. volcano_sdk/_generated/models/delete_database_branch_response_202.py +84 -0
  430. volcano_sdk/_generated/models/delete_database_response_202.py +87 -0
  431. volcano_sdk/_generated/models/delete_email_template_type.py +10 -0
  432. volcano_sdk/_generated/models/delete_o_auth_config_provider.py +10 -0
  433. volcano_sdk/_generated/models/deployment_phase.py +145 -0
  434. volcano_sdk/_generated/models/deployment_phase_name.py +10 -0
  435. volcano_sdk/_generated/models/deployment_phase_status.py +10 -0
  436. volcano_sdk/_generated/models/deployment_progress.py +168 -0
  437. volcano_sdk/_generated/models/deployment_progress_current_phase.py +10 -0
  438. volcano_sdk/_generated/models/deployment_reference.py +81 -0
  439. volcano_sdk/_generated/models/device_authorization_response.py +122 -0
  440. volcano_sdk/_generated/models/email_template.py +186 -0
  441. volcano_sdk/_generated/models/email_template_template_type.py +10 -0
  442. volcano_sdk/_generated/models/error.py +86 -0
  443. volcano_sdk/_generated/models/export_project_source_request.py +58 -0
  444. volcano_sdk/_generated/models/frontend.py +293 -0
  445. volcano_sdk/_generated/models/frontend_custom_domain_response.py +203 -0
  446. volcano_sdk/_generated/models/frontend_custom_domain_response_domain_status.py +10 -0
  447. volcano_sdk/_generated/models/frontend_custom_domain_response_tls_mode.py +10 -0
  448. volcano_sdk/_generated/models/frontend_custom_domain_response_verification_status.py +10 -0
  449. volcano_sdk/_generated/models/frontend_custom_domain_status.py +10 -0
  450. volcano_sdk/_generated/models/frontend_custom_domain_tls_config.py +108 -0
  451. volcano_sdk/_generated/models/frontend_custom_domain_tls_config_mode.py +10 -0
  452. volcano_sdk/_generated/models/frontend_deployment.py +304 -0
  453. volcano_sdk/_generated/models/frontend_deployment_deploy_source.py +10 -0
  454. volcano_sdk/_generated/models/frontend_deployment_operation.py +10 -0
  455. volcano_sdk/_generated/models/frontend_deployment_status.py +10 -0
  456. volcano_sdk/_generated/models/frontend_domain_routing_record.py +98 -0
  457. volcano_sdk/_generated/models/frontend_domain_routing_record_record_type.py +10 -0
  458. volcano_sdk/_generated/models/frontend_domain_verification_record.py +92 -0
  459. volcano_sdk/_generated/models/frontend_framework.py +10 -0
  460. volcano_sdk/_generated/models/frontend_status.py +10 -0
  461. volcano_sdk/_generated/models/frontend_usage_daily_entry.py +107 -0
  462. volcano_sdk/_generated/models/frontend_usage_data.py +112 -0
  463. volcano_sdk/_generated/models/frontend_usage_history_response.py +139 -0
  464. volcano_sdk/_generated/models/function.py +341 -0
  465. volcano_sdk/_generated/models/function_deployment.py +313 -0
  466. volcano_sdk/_generated/models/function_deployment_deploy_source.py +10 -0
  467. volcano_sdk/_generated/models/function_deployment_operation.py +10 -0
  468. volcano_sdk/_generated/models/function_deployment_status.py +10 -0
  469. volcano_sdk/_generated/models/function_http_auth_mode.py +10 -0
  470. volcano_sdk/_generated/models/function_invocation_mode.py +10 -0
  471. volcano_sdk/_generated/models/function_invocation_request.py +106 -0
  472. volcano_sdk/_generated/models/function_invocation_request_payload.py +79 -0
  473. volcano_sdk/_generated/models/function_invocation_response.py +66 -0
  474. volcano_sdk/_generated/models/function_openapi_spec_type_0.py +66 -0
  475. volcano_sdk/_generated/models/function_region.py +92 -0
  476. volcano_sdk/_generated/models/function_runtime_deployment.py +109 -0
  477. volcano_sdk/_generated/models/function_runtime_option.py +108 -0
  478. volcano_sdk/_generated/models/function_runtimes_response.py +94 -0
  479. volcano_sdk/_generated/models/function_scheduler.py +338 -0
  480. volcano_sdk/_generated/models/function_scheduler_list_response.py +146 -0
  481. volcano_sdk/_generated/models/function_scheduler_payload.py +65 -0
  482. volcano_sdk/_generated/models/function_scheduler_schedule_kind.py +10 -0
  483. volcano_sdk/_generated/models/function_status.py +10 -0
  484. volcano_sdk/_generated/models/get_auth_methods_response_200.py +158 -0
  485. volcano_sdk/_generated/models/get_auth_methods_response_200_anonymous.py +96 -0
  486. volcano_sdk/_generated/models/get_auth_methods_response_200_email_password.py +96 -0
  487. volcano_sdk/_generated/models/get_auth_methods_response_200_oauth_providers_item.py +129 -0
  488. volcano_sdk/_generated/models/get_database_stats_granularity.py +10 -0
  489. volcano_sdk/_generated/models/get_default_email_template_type.py +10 -0
  490. volcano_sdk/_generated/models/get_default_email_templates_response_200.py +100 -0
  491. volcano_sdk/_generated/models/get_email_template_type.py +10 -0
  492. volcano_sdk/_generated/models/get_o_auth_config_provider.py +10 -0
  493. volcano_sdk/_generated/models/get_o_auth_provider_token_provider.py +10 -0
  494. volcano_sdk/_generated/models/get_o_auth_provider_token_response_200.py +96 -0
  495. volcano_sdk/_generated/models/get_project_config_format.py +10 -0
  496. volcano_sdk/_generated/models/git_connect_start_response.py +76 -0
  497. volcano_sdk/_generated/models/git_connection.py +147 -0
  498. volcano_sdk/_generated/models/git_connections_response.py +94 -0
  499. volcano_sdk/_generated/models/git_installation.py +100 -0
  500. volcano_sdk/_generated/models/git_installations_response.py +94 -0
  501. volcano_sdk/_generated/models/git_repositories_response.py +94 -0
  502. volcano_sdk/_generated/models/git_repository.py +108 -0
  503. volcano_sdk/_generated/models/hosted_auth_page_type.py +10 -0
  504. volcano_sdk/_generated/models/hosted_login_email_check_request.py +76 -0
  505. volcano_sdk/_generated/models/hosted_login_email_check_response.py +78 -0
  506. volcano_sdk/_generated/models/hosted_login_options_response.py +120 -0
  507. volcano_sdk/_generated/models/hosted_renderable_page_type.py +10 -0
  508. volcano_sdk/_generated/models/import_connect_start_response.py +76 -0
  509. volcano_sdk/_generated/models/import_connection.py +205 -0
  510. volcano_sdk/_generated/models/import_connections_response.py +94 -0
  511. volcano_sdk/_generated/models/import_provider.py +10 -0
  512. volcano_sdk/_generated/models/import_source.py +100 -0
  513. volcano_sdk/_generated/models/import_sources_response.py +94 -0
  514. volcano_sdk/_generated/models/list_anon_keys_response_200.py +137 -0
  515. volcano_sdk/_generated/models/list_auth_users_status.py +10 -0
  516. volcano_sdk/_generated/models/list_available_o_auth_providers_response_200.py +100 -0
  517. volcano_sdk/_generated/models/list_available_o_auth_providers_response_200_providers_item.py +102 -0
  518. volcano_sdk/_generated/models/list_database_regions_response_200_item.py +87 -0
  519. volcano_sdk/_generated/models/list_databases_status.py +10 -0
  520. volcano_sdk/_generated/models/list_deployments_operation.py +10 -0
  521. volcano_sdk/_generated/models/list_deployments_order.py +10 -0
  522. volcano_sdk/_generated/models/list_deployments_resource_type.py +10 -0
  523. volcano_sdk/_generated/models/list_deployments_status.py +10 -0
  524. volcano_sdk/_generated/models/list_email_templates_response_200.py +100 -0
  525. volcano_sdk/_generated/models/list_o_auth_configs_response_200.py +100 -0
  526. volcano_sdk/_generated/models/list_postgres_versions_response_200_item.py +105 -0
  527. volcano_sdk/_generated/models/list_project_deployments_resource_type.py +10 -0
  528. volcano_sdk/_generated/models/list_projects_include_item.py +10 -0
  529. volcano_sdk/_generated/models/list_storage_objects_admin_response_200.py +155 -0
  530. volcano_sdk/_generated/models/list_user_sessions_response_200.py +190 -0
  531. volcano_sdk/_generated/models/list_user_sessions_sort.py +10 -0
  532. volcano_sdk/_generated/models/list_user_sessions_status.py +10 -0
  533. volcano_sdk/_generated/models/live_log_level.py +10 -0
  534. volcano_sdk/_generated/models/log_activity_bucket.py +116 -0
  535. volcano_sdk/_generated/models/log_activity_bucket_counts.py +113 -0
  536. volcano_sdk/_generated/models/log_activity_bucket_counts_levels.py +66 -0
  537. volcano_sdk/_generated/models/log_activity_bucket_counts_regions.py +66 -0
  538. volcano_sdk/_generated/models/log_activity_bucket_counts_resource_ids.py +66 -0
  539. volcano_sdk/_generated/models/log_activity_request.py +168 -0
  540. volcano_sdk/_generated/models/log_activity_response.py +103 -0
  541. volcano_sdk/_generated/models/log_database_request_resource.py +94 -0
  542. volcano_sdk/_generated/models/log_database_request_resource_type.py +10 -0
  543. volcano_sdk/_generated/models/log_deployment.py +105 -0
  544. volcano_sdk/_generated/models/log_deployment_request_selector.py +81 -0
  545. volcano_sdk/_generated/models/log_deployment_stage.py +10 -0
  546. volcano_sdk/_generated/models/log_event.py +222 -0
  547. volcano_sdk/_generated/models/log_event_body_type_1.py +65 -0
  548. volcano_sdk/_generated/models/log_frontend_request_resource.py +117 -0
  549. volcano_sdk/_generated/models/log_frontend_request_resource_type.py +10 -0
  550. volcano_sdk/_generated/models/log_function_request_resource.py +117 -0
  551. volcano_sdk/_generated/models/log_function_request_resource_type.py +10 -0
  552. volcano_sdk/_generated/models/log_resource.py +105 -0
  553. volcano_sdk/_generated/models/log_resource_type.py +10 -0
  554. volcano_sdk/_generated/models/log_search_event.py +212 -0
  555. volcano_sdk/_generated/models/log_search_request.py +177 -0
  556. volcano_sdk/_generated/models/log_search_response.py +121 -0
  557. volcano_sdk/_generated/models/log_stream_request.py +148 -0
  558. volcano_sdk/_generated/models/metric_usage_data.py +148 -0
  559. volcano_sdk/_generated/models/o_auth_config.py +201 -0
  560. volcano_sdk/_generated/models/o_auth_config_provider.py +10 -0
  561. volcano_sdk/_generated/models/o_auth_error_response.py +86 -0
  562. volcano_sdk/_generated/models/paginated_auth_users.py +136 -0
  563. volcano_sdk/_generated/models/paginated_databases.py +155 -0
  564. volcano_sdk/_generated/models/paginated_frontend_deployments.py +136 -0
  565. volcano_sdk/_generated/models/paginated_frontends.py +155 -0
  566. volcano_sdk/_generated/models/paginated_function_deployments.py +136 -0
  567. volcano_sdk/_generated/models/paginated_functions.py +155 -0
  568. volcano_sdk/_generated/models/paginated_project_custom_domains.py +136 -0
  569. volcano_sdk/_generated/models/paginated_project_deployments.py +159 -0
  570. volcano_sdk/_generated/models/paginated_projects.py +218 -0
  571. volcano_sdk/_generated/models/paginated_projects_status.py +10 -0
  572. volcano_sdk/_generated/models/paginated_service_keys.py +155 -0
  573. volcano_sdk/_generated/models/paginated_storage_buckets.py +140 -0
  574. volcano_sdk/_generated/models/paginated_variables.py +155 -0
  575. volcano_sdk/_generated/models/platform_exchange_response.py +109 -0
  576. volcano_sdk/_generated/models/preview_auth_page_request.py +89 -0
  577. volcano_sdk/_generated/models/preview_auth_page_response.py +89 -0
  578. volcano_sdk/_generated/models/project.py +255 -0
  579. volcano_sdk/_generated/models/project_config.py +288 -0
  580. volcano_sdk/_generated/models/project_config_apply_result.py +170 -0
  581. volcano_sdk/_generated/models/project_config_apply_result_entry.py +118 -0
  582. volcano_sdk/_generated/models/project_config_apply_result_entry_action.py +10 -0
  583. volcano_sdk/_generated/models/project_config_apply_summary.py +124 -0
  584. volcano_sdk/_generated/models/project_config_auth.py +296 -0
  585. volcano_sdk/_generated/models/project_config_auth_cors.py +93 -0
  586. volcano_sdk/_generated/models/project_config_auth_email.py +132 -0
  587. volcano_sdk/_generated/models/project_config_auth_email_from.py +69 -0
  588. volcano_sdk/_generated/models/project_config_auth_email_password_provider.py +60 -0
  589. volcano_sdk/_generated/models/project_config_auth_email_smtp.py +96 -0
  590. volcano_sdk/_generated/models/project_config_auth_email_verification.py +70 -0
  591. volcano_sdk/_generated/models/project_config_auth_managed_pages.py +129 -0
  592. volcano_sdk/_generated/models/project_config_auth_page_appearance.py +97 -0
  593. volcano_sdk/_generated/models/project_config_auth_page_layouts.py +174 -0
  594. volcano_sdk/_generated/models/project_config_auth_password.py +96 -0
  595. volcano_sdk/_generated/models/project_config_auth_password_reset.py +78 -0
  596. volcano_sdk/_generated/models/project_config_auth_providers.py +105 -0
  597. volcano_sdk/_generated/models/project_config_auth_rate_limits.py +88 -0
  598. volcano_sdk/_generated/models/project_config_auth_redirects.py +93 -0
  599. volcano_sdk/_generated/models/project_config_auth_sessions.py +69 -0
  600. volcano_sdk/_generated/models/project_config_auth_signup.py +118 -0
  601. volcano_sdk/_generated/models/project_config_auth_signup_allowed_email_domains_mode.py +10 -0
  602. volcano_sdk/_generated/models/project_config_auth_tokens.py +88 -0
  603. volcano_sdk/_generated/models/project_config_bucket.py +118 -0
  604. volcano_sdk/_generated/models/project_config_bucket_policy.py +80 -0
  605. volcano_sdk/_generated/models/project_config_bucket_policy_operation.py +10 -0
  606. volcano_sdk/_generated/models/project_config_custom_domain.py +88 -0
  607. volcano_sdk/_generated/models/project_config_database.py +109 -0
  608. volcano_sdk/_generated/models/project_config_database_database_type.py +10 -0
  609. volcano_sdk/_generated/models/project_config_database_pg_version.py +10 -0
  610. volcano_sdk/_generated/models/project_config_email_template.py +78 -0
  611. volcano_sdk/_generated/models/project_config_email_templates.py +136 -0
  612. volcano_sdk/_generated/models/project_config_frontend.py +91 -0
  613. volcano_sdk/_generated/models/project_config_function.py +188 -0
  614. volcano_sdk/_generated/models/project_config_function_openapi_spec_type_0.py +66 -0
  615. volcano_sdk/_generated/models/project_config_hosted_page.py +68 -0
  616. volcano_sdk/_generated/models/project_config_hosted_pages.py +172 -0
  617. volcano_sdk/_generated/models/project_config_missing_resource.py +90 -0
  618. volcano_sdk/_generated/models/project_config_missing_resource_type.py +10 -0
  619. volcano_sdk/_generated/models/project_config_o_auth_provider.py +116 -0
  620. volcano_sdk/_generated/models/project_config_o_auth_provider_provider.py +10 -0
  621. volcano_sdk/_generated/models/project_config_project.py +85 -0
  622. volcano_sdk/_generated/models/project_config_realtime.py +87 -0
  623. volcano_sdk/_generated/models/project_config_scheduler.py +100 -0
  624. volcano_sdk/_generated/models/project_config_scheduler_payload.py +65 -0
  625. volcano_sdk/_generated/models/project_config_skipped_resource.py +98 -0
  626. volcano_sdk/_generated/models/project_config_skipped_resource_type.py +10 -0
  627. volcano_sdk/_generated/models/project_config_validation_error.py +94 -0
  628. volcano_sdk/_generated/models/project_config_validation_error_response.py +103 -0
  629. volcano_sdk/_generated/models/project_config_variable.py +66 -0
  630. volcano_sdk/_generated/models/project_config_version.py +10 -0
  631. volcano_sdk/_generated/models/project_deployment.py +231 -0
  632. volcano_sdk/_generated/models/project_deployment_deploy_source.py +10 -0
  633. volcano_sdk/_generated/models/project_deployment_operation.py +10 -0
  634. volcano_sdk/_generated/models/project_deployment_resource.py +103 -0
  635. volcano_sdk/_generated/models/project_deployment_resource_type.py +10 -0
  636. volcano_sdk/_generated/models/project_deployment_status.py +10 -0
  637. volcano_sdk/_generated/models/project_deployment_summary.py +132 -0
  638. volcano_sdk/_generated/models/project_frontend_custom_domain.py +218 -0
  639. volcano_sdk/_generated/models/project_frontend_custom_domain_frontend.py +90 -0
  640. volcano_sdk/_generated/models/project_git_connection.py +122 -0
  641. volcano_sdk/_generated/models/project_git_connection_summary.py +121 -0
  642. volcano_sdk/_generated/models/project_git_deploy_settings.py +119 -0
  643. volcano_sdk/_generated/models/project_health_category.py +10 -0
  644. volcano_sdk/_generated/models/project_health_check.py +140 -0
  645. volcano_sdk/_generated/models/project_health_data_status.py +10 -0
  646. volcano_sdk/_generated/models/project_health_evidence.py +100 -0
  647. volcano_sdk/_generated/models/project_health_resource.py +102 -0
  648. volcano_sdk/_generated/models/project_health_resource_type.py +10 -0
  649. volcano_sdk/_generated/models/project_health_response.py +176 -0
  650. volcano_sdk/_generated/models/project_health_scope.py +84 -0
  651. volcano_sdk/_generated/models/project_health_status.py +10 -0
  652. volcano_sdk/_generated/models/project_health_summary.py +82 -0
  653. volcano_sdk/_generated/models/project_import_action.py +110 -0
  654. volcano_sdk/_generated/models/project_import_action_code.py +10 -0
  655. volcano_sdk/_generated/models/project_import_destination.py +103 -0
  656. volcano_sdk/_generated/models/project_import_destination_mode.py +10 -0
  657. volcano_sdk/_generated/models/project_import_disposition.py +10 -0
  658. volcano_sdk/_generated/models/project_import_finding.py +134 -0
  659. volcano_sdk/_generated/models/project_import_impact.py +10 -0
  660. volcano_sdk/_generated/models/project_import_preflight_request.py +123 -0
  661. volcano_sdk/_generated/models/project_import_readiness.py +10 -0
  662. volcano_sdk/_generated/models/project_import_report.py +230 -0
  663. volcano_sdk/_generated/models/project_import_resource.py +109 -0
  664. volcano_sdk/_generated/models/project_import_resource_kind.py +10 -0
  665. volcano_sdk/_generated/models/project_import_run.py +190 -0
  666. volcano_sdk/_generated/models/project_import_run_status.py +10 -0
  667. volcano_sdk/_generated/models/project_import_start_request.py +126 -0
  668. volcano_sdk/_generated/models/project_import_summary.py +116 -0
  669. volcano_sdk/_generated/models/project_import_target.py +10 -0
  670. volcano_sdk/_generated/models/project_lock_lease.py +75 -0
  671. volcano_sdk/_generated/models/project_lock_lease_request.py +62 -0
  672. volcano_sdk/_generated/models/project_lock_state.py +90 -0
  673. volcano_sdk/_generated/models/project_metrics_data_status.py +10 -0
  674. volcano_sdk/_generated/models/project_metrics_dimensions.py +83 -0
  675. volcano_sdk/_generated/models/project_metrics_dimensions_resource_type.py +10 -0
  676. volcano_sdk/_generated/models/project_metrics_group_by.py +10 -0
  677. volcano_sdk/_generated/models/project_metrics_metric.py +10 -0
  678. volcano_sdk/_generated/models/project_metrics_query.py +95 -0
  679. volcano_sdk/_generated/models/project_metrics_query_request.py +90 -0
  680. volcano_sdk/_generated/models/project_metrics_query_response.py +122 -0
  681. volcano_sdk/_generated/models/project_metrics_query_time_range.py +64 -0
  682. volcano_sdk/_generated/models/project_metrics_query_time_range_window.py +10 -0
  683. volcano_sdk/_generated/models/project_metrics_result.py +123 -0
  684. volcano_sdk/_generated/models/project_metrics_unit.py +10 -0
  685. volcano_sdk/_generated/models/project_metrics_value.py +74 -0
  686. volcano_sdk/_generated/models/project_metrics_window.py +92 -0
  687. volcano_sdk/_generated/models/project_plan.py +10 -0
  688. volcano_sdk/_generated/models/project_source_export.py +152 -0
  689. volcano_sdk/_generated/models/project_source_export_omission.py +93 -0
  690. volcano_sdk/_generated/models/project_source_export_skip.py +93 -0
  691. volcano_sdk/_generated/models/project_source_export_state.py +171 -0
  692. volcano_sdk/_generated/models/project_source_export_state_mode.py +10 -0
  693. volcano_sdk/_generated/models/project_status.py +10 -0
  694. volcano_sdk/_generated/models/project_usage_response.py +145 -0
  695. volcano_sdk/_generated/models/realtime_config.py +167 -0
  696. volcano_sdk/_generated/models/realtime_plan_limits.py +115 -0
  697. volcano_sdk/_generated/models/realtime_stats.py +132 -0
  698. volcano_sdk/_generated/models/refresh_o_auth_provider_token_provider.py +10 -0
  699. volcano_sdk/_generated/models/refresh_o_auth_provider_token_response_200.py +96 -0
  700. volcano_sdk/_generated/models/render_default_managed_auth_page_action.py +10 -0
  701. volcano_sdk/_generated/models/reset_database_password_response_200.py +106 -0
  702. volcano_sdk/_generated/models/resolve_function_response.py +96 -0
  703. volcano_sdk/_generated/models/resource_reference.py +103 -0
  704. volcano_sdk/_generated/models/resource_reference_type.py +10 -0
  705. volcano_sdk/_generated/models/schedule_request.py +101 -0
  706. volcano_sdk/_generated/models/schedule_request_kind.py +10 -0
  707. volcano_sdk/_generated/models/service_key.py +183 -0
  708. volcano_sdk/_generated/models/set_project_git_production_branch_request.py +77 -0
  709. volcano_sdk/_generated/models/start_git_connect_provider.py +10 -0
  710. volcano_sdk/_generated/models/storage_bucket.py +223 -0
  711. volcano_sdk/_generated/models/storage_copy_request.py +84 -0
  712. volcano_sdk/_generated/models/storage_list_response.py +109 -0
  713. volcano_sdk/_generated/models/storage_move_request.py +84 -0
  714. volcano_sdk/_generated/models/storage_object.py +243 -0
  715. volcano_sdk/_generated/models/storage_object_metadata.py +67 -0
  716. volcano_sdk/_generated/models/storage_object_with_bucket.py +248 -0
  717. volcano_sdk/_generated/models/storage_object_with_bucket_metadata.py +65 -0
  718. volcano_sdk/_generated/models/storage_policy.py +166 -0
  719. volcano_sdk/_generated/models/storage_policy_operation.py +10 -0
  720. volcano_sdk/_generated/models/storage_stats.py +93 -0
  721. volcano_sdk/_generated/models/storage_visibility_request.py +76 -0
  722. volcano_sdk/_generated/models/summarize_project_deployments_resource_type.py +10 -0
  723. volcano_sdk/_generated/models/test_email_request.py +115 -0
  724. volcano_sdk/_generated/models/test_email_response.py +76 -0
  725. volcano_sdk/_generated/models/unban_user_response.py +111 -0
  726. volcano_sdk/_generated/models/unban_user_response_status.py +10 -0
  727. volcano_sdk/_generated/models/update_auth_config_request.py +485 -0
  728. volcano_sdk/_generated/models/update_auth_config_request_allowed_email_domains_mode.py +10 -0
  729. volcano_sdk/_generated/models/update_auth_hosted_page_request.py +86 -0
  730. volcano_sdk/_generated/models/update_auth_page_layout_request.py +64 -0
  731. volcano_sdk/_generated/models/update_auth_page_theme_request.py +66 -0
  732. volcano_sdk/_generated/models/update_database_branch_request.py +77 -0
  733. volcano_sdk/_generated/models/update_database_type_request.py +83 -0
  734. volcano_sdk/_generated/models/update_database_type_request_database_type.py +10 -0
  735. volcano_sdk/_generated/models/update_email_template_request.py +96 -0
  736. volcano_sdk/_generated/models/update_email_template_type.py +10 -0
  737. volcano_sdk/_generated/models/update_function_request.py +149 -0
  738. volcano_sdk/_generated/models/update_function_request_openapi_spec_type_0.py +66 -0
  739. volcano_sdk/_generated/models/update_function_scheduler_request.py +147 -0
  740. volcano_sdk/_generated/models/update_function_scheduler_request_payload.py +65 -0
  741. volcano_sdk/_generated/models/update_o_auth_config_provider.py +10 -0
  742. volcano_sdk/_generated/models/update_o_auth_config_request.py +120 -0
  743. volcano_sdk/_generated/models/update_project_git_deploy_settings_request.py +105 -0
  744. volcano_sdk/_generated/models/update_project_request.py +107 -0
  745. volcano_sdk/_generated/models/update_realtime_config_request.py +107 -0
  746. volcano_sdk/_generated/models/update_storage_bucket_request.py +93 -0
  747. volcano_sdk/_generated/models/update_variable_request.py +76 -0
  748. volcano_sdk/_generated/models/upload_project_logo_body.py +101 -0
  749. volcano_sdk/_generated/models/upload_session_part.py +97 -0
  750. volcano_sdk/_generated/models/upload_session_status_response.py +234 -0
  751. volcano_sdk/_generated/models/upload_session_status_response_status.py +10 -0
  752. volcano_sdk/_generated/models/upload_storage_object_files_body.py +101 -0
  753. volcano_sdk/_generated/models/upload_storage_object_x_upload_complete.py +10 -0
  754. volcano_sdk/_generated/models/usage_data_point.py +90 -0
  755. volcano_sdk/_generated/models/variable.py +216 -0
  756. volcano_sdk/_generated/models/variable_deploy_source.py +10 -0
  757. volcano_sdk/_generated/models/variable_status.py +10 -0
  758. volcano_sdk/_generated/types.py +53 -0
  759. volcano_sdk/_lock_guard.py +159 -0
  760. volcano_sdk/_lock_renewer.py +30 -0
  761. volcano_sdk/_lock_worker.py +104 -0
  762. volcano_sdk/_realtime_fetch_worker.py +265 -0
  763. volcano_sdk/_transport.py +1767 -0
  764. volcano_sdk/auth.py +1128 -0
  765. volcano_sdk/client.py +288 -0
  766. volcano_sdk/connection_string.py +70 -0
  767. volcano_sdk/database.py +281 -0
  768. volcano_sdk/errors.py +61 -0
  769. volcano_sdk/functions.py +277 -0
  770. volcano_sdk/locks.py +227 -0
  771. volcano_sdk/logs.py +140 -0
  772. volcano_sdk/models.py +330 -0
  773. volcano_sdk/realtime.py +1611 -0
  774. volcano_sdk/storage.py +750 -0
  775. volcano_sdk_python-0.6.7.dist-info/METADATA +828 -0
  776. volcano_sdk_python-0.6.7.dist-info/RECORD +778 -0
  777. volcano_sdk_python-0.6.7.dist-info/WHEEL +4 -0
  778. volcano_sdk_python-0.6.7.dist-info/licenses/LICENSE +203 -0
volcano_sdk/client.py ADDED
@@ -0,0 +1,288 @@
1
+ """Top-level Volcano client."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import threading
6
+ from collections import deque
7
+ from typing import TYPE_CHECKING
8
+
9
+ from ._transport import GeneratedTransport, Transport
10
+ from .auth import Auth
11
+ from .database import Database
12
+ from .functions import Functions
13
+ from .locks import Locks
14
+ from .logs import Logs
15
+ from .models import (
16
+ AuthChangeEvent,
17
+ AuthStateCallback,
18
+ AuthSubscription,
19
+ Session,
20
+ )
21
+ from .realtime import CentrifugeFactory, Realtime
22
+ from .storage import Storage
23
+
24
+ if TYPE_CHECKING:
25
+ from collections.abc import Callable
26
+ from types import TracebackType
27
+
28
+ _NO_ACTIVE_SESSION = "No active session"
29
+ _NO_SERVICE_KEY = "No service key configured"
30
+
31
+
32
+ class _CallbackOutcome:
33
+ """Capture a callback failure without unwinding dispatcher ownership."""
34
+
35
+ def __init__(self) -> None:
36
+ self.error: BaseException | None = None
37
+
38
+ def __enter__(self) -> None:
39
+ return None
40
+
41
+ def __exit__(
42
+ self,
43
+ _error_type: type[BaseException] | None,
44
+ error: BaseException | None,
45
+ _traceback: TracebackType | None,
46
+ ) -> bool:
47
+ self.error = error
48
+ return error is not None
49
+
50
+
51
+ class VolcanoClient:
52
+ """Volcano SDK entry point."""
53
+
54
+ def __init__(
55
+ self,
56
+ *,
57
+ anon_key: str,
58
+ api_url: str = "https://api.volcano.dev",
59
+ service_key: str | None = None,
60
+ timeout: float = 60.0,
61
+ _transport: Transport | None = None,
62
+ _realtime_client_factory: CentrifugeFactory | None = None,
63
+ ) -> None:
64
+ """Create a client for a Volcano project."""
65
+ self._api_url = api_url.rstrip("/")
66
+ self._anon_key = anon_key
67
+ self._service_key = service_key
68
+ self._session_lock = threading.Lock()
69
+ self._session_generation = 0
70
+ self._session_lineage = 0
71
+ self._current_session: Session | None = None
72
+ self._auth_callbacks: dict[int, AuthStateCallback] = {}
73
+ self._next_auth_callback_id = 0
74
+ self._auth_notifications: deque[
75
+ tuple[
76
+ tuple[int, ...],
77
+ AuthChangeEvent,
78
+ Session | None,
79
+ ]
80
+ ] = deque()
81
+ self._dispatching_auth_notifications = False
82
+ self._transport: Transport = (
83
+ _transport
84
+ if _transport is not None
85
+ else GeneratedTransport(api_url=self._api_url, timeout=timeout)
86
+ )
87
+ self.auth = Auth(self)
88
+ self.functions = Functions(self)
89
+ self.logs = Logs(self)
90
+ self.storage = Storage(self)
91
+ self.locks = Locks(self)
92
+ if _realtime_client_factory is None:
93
+ self.realtime = Realtime(self, api_url=self._api_url)
94
+ else:
95
+ self.realtime = Realtime(
96
+ self,
97
+ api_url=self._api_url,
98
+ client_factory=_realtime_client_factory,
99
+ )
100
+
101
+ @property
102
+ def current_session(self) -> Session | None:
103
+ """Return the authenticated session, if one exists."""
104
+ return self._capture_session()[1]
105
+
106
+ def database(self, name: str) -> Database:
107
+ """Create a query facade for a project database."""
108
+ return Database(self, name)
109
+
110
+ def _anon_token(self) -> str:
111
+ return self._anon_key
112
+
113
+ def _api_base_url(self) -> str:
114
+ return self._api_url
115
+
116
+ def _session_token(self) -> str:
117
+ session = self._capture_session()[1]
118
+ if session is None:
119
+ raise RuntimeError(_NO_ACTIVE_SESSION)
120
+ return session.access_token
121
+
122
+ def _service_token(self) -> str:
123
+ if self._service_key is None:
124
+ raise RuntimeError(_NO_SERVICE_KEY)
125
+ return self._service_key
126
+
127
+ def _function_token(self) -> str:
128
+ session = self._capture_session()[1]
129
+ if session is not None:
130
+ return session.access_token
131
+ if self._service_key is not None:
132
+ return self._service_key
133
+ return self._anon_key
134
+
135
+ def _set_session(
136
+ self,
137
+ session: Session,
138
+ *,
139
+ event: AuthChangeEvent | None = "SIGNED_IN",
140
+ ) -> None:
141
+ with self._session_lock:
142
+ self._current_session = session
143
+ self._session_generation += 1
144
+ self._session_lineage += 1
145
+ if event is None:
146
+ return
147
+ callback_ids = tuple(self._auth_callbacks)
148
+ dispatch = self._enqueue_auth_state_change(callback_ids, event, session)
149
+ if dispatch:
150
+ self._drain_auth_state_changes()
151
+
152
+ def _capture_session(self) -> tuple[int, Session | None]:
153
+ with self._session_lock:
154
+ return self._session_generation, self._current_session
155
+
156
+ def _capture_session_binding(self) -> tuple[int, int, Session | None]:
157
+ with self._session_lock:
158
+ return (
159
+ self._session_generation,
160
+ self._session_lineage,
161
+ self._current_session,
162
+ )
163
+
164
+ def _set_session_if_current(
165
+ self,
166
+ session: Session,
167
+ generation: int,
168
+ *,
169
+ event: AuthChangeEvent = "SIGNED_IN",
170
+ notifications: list[Callable[[], None]] | None = None,
171
+ ) -> bool:
172
+ with self._session_lock:
173
+ if generation != self._session_generation:
174
+ return False
175
+ self._current_session = session
176
+ self._session_generation += 1
177
+ if event != "TOKEN_REFRESHED":
178
+ self._session_lineage += 1
179
+ callback_ids = tuple(self._auth_callbacks)
180
+ dispatch = self._enqueue_auth_state_change(callback_ids, event, session)
181
+ if dispatch:
182
+ self._dispatch_or_defer(notifications)
183
+ return True
184
+
185
+ def _clear_session_if_current(
186
+ self,
187
+ generation: int,
188
+ *,
189
+ event: AuthChangeEvent = "SIGNED_OUT",
190
+ notifications: list[Callable[[], None]] | None = None,
191
+ ) -> bool:
192
+ with self._session_lock:
193
+ if generation != self._session_generation:
194
+ return False
195
+ self._current_session = None
196
+ self._session_generation += 1
197
+ self._session_lineage += 1
198
+ callback_ids = tuple(self._auth_callbacks)
199
+ dispatch = self._enqueue_auth_state_change(callback_ids, event, None)
200
+ if dispatch:
201
+ self._dispatch_or_defer(notifications)
202
+ return True
203
+
204
+ def _dispatch_or_defer(
205
+ self, notifications: list[Callable[[], None]] | None
206
+ ) -> None:
207
+ if notifications is None:
208
+ self._drain_auth_state_changes()
209
+ else:
210
+ notifications.append(self._drain_auth_state_changes)
211
+
212
+ def _subscribe_auth_state_change(
213
+ self,
214
+ callback: AuthStateCallback,
215
+ ) -> AuthSubscription:
216
+ with self._session_lock:
217
+ callback_id = self._next_auth_callback_id
218
+ self._next_auth_callback_id += 1
219
+ self._auth_callbacks[callback_id] = callback
220
+ current = self._current_session
221
+ dispatch = self._enqueue_auth_state_change(
222
+ (callback_id,),
223
+ "INITIAL_SESSION",
224
+ current,
225
+ )
226
+ if dispatch:
227
+ self._drain_auth_state_changes()
228
+ return AuthSubscription(
229
+ lambda: self._unsubscribe_auth_state_change(callback_id)
230
+ )
231
+
232
+ def _unsubscribe_auth_state_change(self, callback_id: int) -> None:
233
+ with self._session_lock:
234
+ self._auth_callbacks.pop(callback_id, None)
235
+
236
+ def _enqueue_auth_state_change(
237
+ self,
238
+ callback_ids: tuple[int, ...],
239
+ event: AuthChangeEvent,
240
+ session: Session | None,
241
+ ) -> bool:
242
+ if not callback_ids:
243
+ return False
244
+ self._auth_notifications.append((callback_ids, event, session))
245
+ if self._dispatching_auth_notifications:
246
+ return False
247
+ self._dispatching_auth_notifications = True
248
+ return True
249
+
250
+ def _drain_auth_state_changes(self) -> None:
251
+ failure: BaseException | None = None
252
+ while True:
253
+ with self._session_lock:
254
+ if not self._auth_notifications:
255
+ self._dispatching_auth_notifications = False
256
+ break
257
+ callback_ids, event, session = self._auth_notifications.popleft()
258
+ current_failure = self._notify_auth_state_change(
259
+ callback_ids,
260
+ event,
261
+ session,
262
+ )
263
+ if failure is None:
264
+ failure = current_failure
265
+ if failure is not None:
266
+ raise failure
267
+
268
+ def _notify_auth_state_change(
269
+ self,
270
+ callback_ids: tuple[int, ...],
271
+ event: AuthChangeEvent,
272
+ session: Session | None,
273
+ ) -> BaseException | None:
274
+ failure: BaseException | None = None
275
+ for callback_id in callback_ids:
276
+ with self._session_lock:
277
+ callback = self._auth_callbacks.get(callback_id)
278
+ if callback is None:
279
+ continue
280
+ outcome = _CallbackOutcome()
281
+ with outcome:
282
+ callback(event, session)
283
+ if outcome.error is None or isinstance(outcome.error, Exception):
284
+ continue
285
+ self._unsubscribe_auth_state_change(callback_id)
286
+ if failure is None:
287
+ failure = outcome.error
288
+ return failure
@@ -0,0 +1,70 @@
1
+ """Postgres connection helpers for Volcano functions."""
2
+
3
+ import re
4
+ from urllib.parse import quote, unquote
5
+
6
+ _FULL_ACCESS_APP_NAME = "volcano_full_access"
7
+ _USER_ACCESS_APP_NAME = "volcano_user_access"
8
+ _CONNECTION_URI_PREFIX = re.compile(r"^postgres(?:ql)?://")
9
+ _INVALID_PERCENT_ENCODING = re.compile(r"%(?![0-9A-Fa-f]{2})")
10
+ _REQUIRED_ERROR = (
11
+ "database_connection_string: base_connection_string (DATABASE_URL) is required"
12
+ )
13
+ _INVALID_ERROR = (
14
+ "database_connection_string: base_connection_string is not a valid connection URL"
15
+ )
16
+
17
+
18
+ def database_connection_string(
19
+ base_connection_string: str,
20
+ *,
21
+ user_id: str | None = None,
22
+ ) -> str:
23
+ """Select full or user-scoped database access for a Volcano function."""
24
+ if not base_connection_string:
25
+ raise ValueError(_REQUIRED_ERROR)
26
+
27
+ target, query = _connection_parts(base_connection_string)
28
+ parameters = _query_parameters(query)
29
+ application_name = quote(_database_application_name(user_id), safe="")
30
+ parameters.append(f"application_name={application_name}")
31
+ return f"{target}?{'&'.join(parameters)}"
32
+
33
+
34
+ def _connection_parts(value: str) -> tuple[str, str]:
35
+ prefix = _CONNECTION_URI_PREFIX.match(value)
36
+ if prefix is None or _INVALID_PERCENT_ENCODING.search(value):
37
+ raise ValueError(_INVALID_ERROR)
38
+
39
+ authority_end = value.find("/", prefix.end())
40
+ possible_userinfo_end = value.find("@", prefix.end())
41
+ userinfo_end = (
42
+ possible_userinfo_end
43
+ if possible_userinfo_end != -1
44
+ and (authority_end == -1 or possible_userinfo_end < authority_end)
45
+ else -1
46
+ )
47
+ query_start = value.find("?", max(prefix.end(), userinfo_end + 1))
48
+ if query_start == -1:
49
+ return value, ""
50
+ return value[:query_start], value[query_start + 1 :]
51
+
52
+
53
+ def _query_parameters(query: str) -> list[str]:
54
+ if not query:
55
+ return []
56
+ parameters = [
57
+ parameter
58
+ for parameter in query.split("&")
59
+ if unquote(parameter.partition("=")[0]) != "application_name"
60
+ ]
61
+ while parameters and not parameters[-1]:
62
+ parameters.pop()
63
+ return parameters
64
+
65
+
66
+ def _database_application_name(user_id: str | None) -> str:
67
+ value = "" if user_id is None else str(user_id)
68
+ if not value:
69
+ return _FULL_ACCESS_APP_NAME
70
+ return f"{_USER_ACCESS_APP_NAME}:{value}"
@@ -0,0 +1,281 @@
1
+ """Database query facade."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from collections.abc import Mapping
6
+ from dataclasses import dataclass, replace
7
+ from typing import TYPE_CHECKING, Any, Protocol, Self, cast
8
+
9
+ if TYPE_CHECKING:
10
+ from collections.abc import Sequence
11
+
12
+ from .auth import Auth
13
+ from .models import JSONValue
14
+
15
+ from ._transport import Transport, invoke, response_payload
16
+
17
+
18
+ def _snapshot_json(value: JSONValue) -> JSONValue:
19
+ if isinstance(value, Mapping):
20
+ return {key: _snapshot_json(item) for key, item in value.items()}
21
+ if isinstance(value, (list, tuple)):
22
+ return [_snapshot_json(item) for item in value]
23
+ return value
24
+
25
+
26
+ def _snapshot_row(values: Mapping[str, JSONValue]) -> dict[str, JSONValue]:
27
+ return {key: _snapshot_json(value) for key, value in values.items()}
28
+
29
+
30
+ def _snapshot_filter_value(value: object) -> object:
31
+ if isinstance(value, Mapping):
32
+ mapping = cast("Mapping[object, object]", value)
33
+ return {key: _snapshot_filter_value(item) for key, item in mapping.items()}
34
+ if isinstance(value, (list, tuple)):
35
+ sequence = cast("list[object] | tuple[object, ...]", value)
36
+ return [_snapshot_filter_value(item) for item in sequence]
37
+ return value
38
+
39
+
40
+ class DatabaseContext(Protocol):
41
+ """Client capabilities required by database queries."""
42
+
43
+ _transport: Transport
44
+ auth: Auth
45
+
46
+ def _session_token(self) -> str: ...
47
+
48
+
49
+ class FilterBuilder:
50
+ """Shared immutable filters for database operations."""
51
+
52
+ _filters: tuple[dict[str, Any], ...]
53
+
54
+ def _with_filters(self, filters: tuple[dict[str, Any], ...]) -> Self:
55
+ raise NotImplementedError
56
+
57
+ def eq(self, column: str, value: object) -> Self:
58
+ """Add an equality filter."""
59
+ return self._filter(column, "eq", value)
60
+
61
+ def neq(self, column: str, value: object) -> Self:
62
+ """Add an inequality filter."""
63
+ return self._filter(column, "neq", value)
64
+
65
+ def gt(self, column: str, value: object) -> Self:
66
+ """Add a greater-than filter."""
67
+ return self._filter(column, "gt", value)
68
+
69
+ def gte(self, column: str, value: object) -> Self:
70
+ """Add a greater-than-or-equal filter."""
71
+ return self._filter(column, "gte", value)
72
+
73
+ def lt(self, column: str, value: object) -> Self:
74
+ """Add a less-than filter."""
75
+ return self._filter(column, "lt", value)
76
+
77
+ def lte(self, column: str, value: object) -> Self:
78
+ """Add a less-than-or-equal filter."""
79
+ return self._filter(column, "lte", value)
80
+
81
+ def like(self, column: str, pattern: str) -> Self:
82
+ """Add a case-sensitive pattern filter."""
83
+ return self._filter(column, "like", pattern)
84
+
85
+ def ilike(self, column: str, pattern: str) -> Self:
86
+ """Add a case-insensitive pattern filter."""
87
+ return self._filter(column, "ilike", pattern)
88
+
89
+ def is_(self, column: str, value: object) -> Self:
90
+ """Add a null or boolean identity filter."""
91
+ return self._filter(column, "is", value)
92
+
93
+ def in_(self, column: str, values: Sequence[object]) -> Self:
94
+ """Add a membership filter."""
95
+ return self._filter(column, "in", list(values))
96
+
97
+ def _filter(self, column: str, operator: str, value: object) -> Self:
98
+ condition = {
99
+ "column": column,
100
+ "operator": operator,
101
+ "value": _snapshot_filter_value(value),
102
+ }
103
+ return self._with_filters((*self._filters, condition))
104
+
105
+
106
+ @dataclass(frozen=True, slots=True)
107
+ class QueryBuilder(FilterBuilder):
108
+ """Build and execute an immutable database select query."""
109
+
110
+ _client: DatabaseContext
111
+ _database_name: str
112
+ _table: str
113
+ _columns: tuple[str, ...] = ()
114
+ _filters: tuple[dict[str, Any], ...] = ()
115
+ _order: tuple[dict[str, Any], ...] = ()
116
+ _limit: int | None = None
117
+ _offset: int | None = None
118
+
119
+ def select(self, *columns: str) -> QueryBuilder:
120
+ """Select the requested columns."""
121
+ return replace(self, _columns=columns)
122
+
123
+ def insert(self, values: Mapping[str, JSONValue]) -> InsertBuilder:
124
+ """Build an insert for this table."""
125
+ return InsertBuilder(
126
+ self._client,
127
+ self._database_name,
128
+ self._table,
129
+ _snapshot_row(values),
130
+ )
131
+
132
+ def update(self, values: Mapping[str, JSONValue]) -> UpdateBuilder:
133
+ """Build a filtered update for this table."""
134
+ return UpdateBuilder(
135
+ self._client,
136
+ self._database_name,
137
+ self._table,
138
+ _snapshot_row(values),
139
+ self._filters,
140
+ )
141
+
142
+ def delete(self) -> DeleteBuilder:
143
+ """Build a filtered delete for this table."""
144
+ return DeleteBuilder(
145
+ self._client,
146
+ self._database_name,
147
+ self._table,
148
+ self._filters,
149
+ )
150
+
151
+ def order(self, column: str, *, ascending: bool = True) -> QueryBuilder:
152
+ """Add an ordering clause."""
153
+ clause = {"column": column, "ascending": ascending}
154
+ return replace(self, _order=(*self._order, clause))
155
+
156
+ def limit(self, count: int) -> QueryBuilder:
157
+ """Limit the number of returned rows."""
158
+ return replace(self, _limit=count)
159
+
160
+ def offset(self, count: int) -> QueryBuilder:
161
+ """Skip rows before returning results."""
162
+ return replace(self, _offset=count)
163
+
164
+ def _with_filters(self, filters: tuple[dict[str, Any], ...]) -> QueryBuilder:
165
+ return replace(self, _filters=filters)
166
+
167
+ def execute(self) -> list[dict[str, Any]]:
168
+ """Execute the query and return its rows."""
169
+ body: dict[str, Any] = {"table": self._table}
170
+ if self._columns and self._columns != ("*",):
171
+ body["select"] = list(self._columns)
172
+ if self._filters:
173
+ body["filters"] = list(self._filters)
174
+ if self._order:
175
+ body["order"] = list(self._order)
176
+ if self._limit is not None:
177
+ body["limit"] = self._limit
178
+ if self._offset is not None:
179
+ body["offset"] = self._offset
180
+ response = self._client.auth._session_request(
181
+ lambda token: invoke(
182
+ self._client._transport.query_database_select,
183
+ authorization=token,
184
+ database_name=self._database_name,
185
+ body=body,
186
+ )
187
+ )
188
+ payload = response_payload(response, 200)
189
+ return list(payload["data"])
190
+
191
+
192
+ @dataclass(frozen=True, slots=True)
193
+ class InsertBuilder:
194
+ """Build and execute an immutable database insert."""
195
+
196
+ _client: DatabaseContext
197
+ _database_name: str
198
+ _table: str
199
+ _values: dict[str, JSONValue]
200
+
201
+ def execute(self) -> list[dict[str, Any]]:
202
+ """Insert one row and return the inserted rows."""
203
+ response = self._client.auth._session_request(
204
+ lambda token: invoke(
205
+ self._client._transport.query_database_insert,
206
+ authorization=token,
207
+ database_name=self._database_name,
208
+ body={"table": self._table, "values": _snapshot_row(self._values)},
209
+ )
210
+ )
211
+ payload = response_payload(response, 200)
212
+ return list(payload["data"])
213
+
214
+
215
+ @dataclass(frozen=True, slots=True)
216
+ class UpdateBuilder(FilterBuilder):
217
+ """Build and execute an immutable filtered database update."""
218
+
219
+ _client: DatabaseContext
220
+ _database_name: str
221
+ _table: str
222
+ _values: dict[str, JSONValue]
223
+ _filters: tuple[dict[str, Any], ...] = ()
224
+
225
+ def _with_filters(self, filters: tuple[dict[str, Any], ...]) -> UpdateBuilder:
226
+ return replace(self, _filters=filters)
227
+
228
+ def execute(self) -> list[dict[str, Any]]:
229
+ """Update matching rows and return them."""
230
+ response = self._client.auth._session_request(
231
+ lambda token: invoke(
232
+ self._client._transport.query_database_update,
233
+ authorization=token,
234
+ database_name=self._database_name,
235
+ body={
236
+ "table": self._table,
237
+ "values": _snapshot_row(self._values),
238
+ "filters": list(self._filters),
239
+ },
240
+ )
241
+ )
242
+ payload = response_payload(response, 200)
243
+ return list(payload["data"])
244
+
245
+
246
+ @dataclass(frozen=True, slots=True)
247
+ class DeleteBuilder(FilterBuilder):
248
+ """Build and execute an immutable filtered database delete."""
249
+
250
+ _client: DatabaseContext
251
+ _database_name: str
252
+ _table: str
253
+ _filters: tuple[dict[str, Any], ...] = ()
254
+
255
+ def _with_filters(self, filters: tuple[dict[str, Any], ...]) -> DeleteBuilder:
256
+ return replace(self, _filters=filters)
257
+
258
+ def execute(self) -> list[dict[str, Any]]:
259
+ """Delete matching rows and return them."""
260
+ response = self._client.auth._session_request(
261
+ lambda token: invoke(
262
+ self._client._transport.query_database_delete,
263
+ authorization=token,
264
+ database_name=self._database_name,
265
+ body={"table": self._table, "filters": list(self._filters)},
266
+ )
267
+ )
268
+ payload = response_payload(response, 200)
269
+ return list(payload["data"])
270
+
271
+
272
+ @dataclass(frozen=True, slots=True)
273
+ class Database:
274
+ """Entry point for queries against one database."""
275
+
276
+ _client: DatabaseContext
277
+ _name: str
278
+
279
+ def from_(self, table: str) -> QueryBuilder:
280
+ """Create a query builder for a table."""
281
+ return QueryBuilder(self._client, self._name, table)
volcano_sdk/errors.py ADDED
@@ -0,0 +1,61 @@
1
+ """Typed errors raised by the Volcano SDK."""
2
+
3
+ from __future__ import annotations
4
+
5
+
6
+ class VolcanoError(Exception):
7
+ """Base error containing structured Volcano response details."""
8
+
9
+ def __init__(
10
+ self,
11
+ message: str,
12
+ *,
13
+ status: int | None = None,
14
+ code: str | None = None,
15
+ retry_after: int | None = None,
16
+ ) -> None:
17
+ """Create an error from an API or transport failure."""
18
+ super().__init__(message)
19
+ self.status = status
20
+ self.code = code
21
+ self.retry_after = retry_after
22
+
23
+
24
+ class AuthenticationError(VolcanoError):
25
+ """The supplied credentials are missing or invalid."""
26
+
27
+
28
+ class ValidationError(VolcanoError):
29
+ """The request failed API validation."""
30
+
31
+
32
+ class NotFoundError(VolcanoError):
33
+ """The requested resource does not exist."""
34
+
35
+
36
+ class ConflictError(VolcanoError):
37
+ """The request conflicts with the current resource state."""
38
+
39
+
40
+ class SessionChangedError(ConflictError):
41
+ """An auth operation completed after the client session changed."""
42
+
43
+ def __init__(self) -> None:
44
+ """Create a deterministic stale-auth-operation error."""
45
+ super().__init__(
46
+ "Session changed during authentication operation",
47
+ status=409,
48
+ code="auth_session_changed",
49
+ )
50
+
51
+
52
+ class RateLimitedError(VolcanoError):
53
+ """The API rejected the request because of a rate limit."""
54
+
55
+
56
+ class ServerError(VolcanoError):
57
+ """The Volcano API failed to process the request."""
58
+
59
+
60
+ class TransportError(VolcanoError):
61
+ """The request failed before receiving an API response."""