volcano-sdk 0.5.2

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 (458) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +203 -0
  3. data/README.md +758 -0
  4. data/lib/volcano/auth.rb +113 -0
  5. data/lib/volcano/auth_anonymous.rb +51 -0
  6. data/lib/volcano/auth_confirm_email.rb +19 -0
  7. data/lib/volcano/auth_email_change.rb +75 -0
  8. data/lib/volcano/auth_get_user.rb +110 -0
  9. data/lib/volcano/auth_hosted.rb +43 -0
  10. data/lib/volcano/auth_oauth.rb +102 -0
  11. data/lib/volcano/auth_oauth_api.rb +51 -0
  12. data/lib/volcano/auth_oauth_sign_in.rb +61 -0
  13. data/lib/volcano/auth_oauth_token.rb +51 -0
  14. data/lib/volcano/auth_refresh.rb +117 -0
  15. data/lib/volcano/auth_resend_confirmation.rb +19 -0
  16. data/lib/volcano/auth_reset_password.rb +23 -0
  17. data/lib/volcano/auth_reset_password_for_email.rb +19 -0
  18. data/lib/volcano/auth_sessions.rb +139 -0
  19. data/lib/volcano/auth_sign_up.rb +40 -0
  20. data/lib/volcano/auth_state.rb +148 -0
  21. data/lib/volcano/auth_update_user.rb +32 -0
  22. data/lib/volcano/client.rb +121 -0
  23. data/lib/volcano/connection_string.rb +85 -0
  24. data/lib/volcano/database.rb +243 -0
  25. data/lib/volcano/errors.rb +38 -0
  26. data/lib/volcano/function_resolution.rb +120 -0
  27. data/lib/volcano/function_response.rb +26 -0
  28. data/lib/volcano/functions.rb +136 -0
  29. data/lib/volcano/generated/lib/volcano-generated/api/anon_keys_api.rb +471 -0
  30. data/lib/volcano/generated/lib/volcano-generated/api/auth_admin_api.rb +739 -0
  31. data/lib/volcano/generated/lib/volcano-generated/api/auth_configuration_api.rb +1798 -0
  32. data/lib/volcano/generated/lib/volcano-generated/api/authentication_api.rb +1523 -0
  33. data/lib/volcano/generated/lib/volcano-generated/api/database_backups_api.rb +791 -0
  34. data/lib/volcano/generated/lib/volcano-generated/api/database_branches_api.rb +665 -0
  35. data/lib/volcano/generated/lib/volcano-generated/api/database_queries_api.rb +905 -0
  36. data/lib/volcano/generated/lib/volcano-generated/api/databases_api.rb +819 -0
  37. data/lib/volcano/generated/lib/volcano-generated/api/frontends_api.rb +913 -0
  38. data/lib/volcano/generated/lib/volcano-generated/api/functions_api.rb +1355 -0
  39. data/lib/volcano/generated/lib/volcano-generated/api/git_connections_api.rb +1012 -0
  40. data/lib/volcano/generated/lib/volcano-generated/api/locks_api.rb +480 -0
  41. data/lib/volcano/generated/lib/volcano-generated/api/logs_api.rb +250 -0
  42. data/lib/volcano/generated/lib/volcano-generated/api/o_auth_authentication_api.rb +962 -0
  43. data/lib/volcano/generated/lib/volcano-generated/api/o_auth_configuration_api.rb +452 -0
  44. data/lib/volcano/generated/lib/volcano-generated/api/project_imports_api.rb +599 -0
  45. data/lib/volcano/generated/lib/volcano-generated/api/projects_api.rb +1862 -0
  46. data/lib/volcano/generated/lib/volcano-generated/api/realtime_api.rb +222 -0
  47. data/lib/volcano/generated/lib/volcano-generated/api/service_keys_api.rb +402 -0
  48. data/lib/volcano/generated/lib/volcano-generated/api/storage_admin_api.rb +189 -0
  49. data/lib/volcano/generated/lib/volcano-generated/api/storage_buckets_api.rb +437 -0
  50. data/lib/volcano/generated/lib/volcano-generated/api/storage_objects_api.rb +857 -0
  51. data/lib/volcano/generated/lib/volcano-generated/api/storage_policies_api.rb +277 -0
  52. data/lib/volcano/generated/lib/volcano-generated/api/system_api.rb +79 -0
  53. data/lib/volcano/generated/lib/volcano-generated/api/variables_api.rb +454 -0
  54. data/lib/volcano/generated/lib/volcano-generated/api_client.rb +393 -0
  55. data/lib/volcano/generated/lib/volcano-generated/api_error.rb +58 -0
  56. data/lib/volcano/generated/lib/volcano-generated/api_model_base.rb +88 -0
  57. data/lib/volcano/generated/lib/volcano-generated/configuration.rb +337 -0
  58. data/lib/volcano/generated/lib/volcano-generated/models/anon_key.rb +257 -0
  59. data/lib/volcano/generated/lib/volcano-generated/models/auth_config.rb +728 -0
  60. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email200_response.rb +181 -0
  61. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_change200_response.rb +156 -0
  62. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_change_request.rb +164 -0
  63. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_request.rb +165 -0
  64. data/lib/volcano/generated/lib/volcano-generated/models/auth_convert_anonymous200_response.rb +147 -0
  65. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_authorize_request.rb +165 -0
  66. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_token_request.rb +240 -0
  67. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_verify200_response.rb +156 -0
  68. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_verify_request.rb +209 -0
  69. data/lib/volcano/generated/lib/volcano-generated/models/auth_forgot_password200_response.rb +147 -0
  70. data/lib/volcano/generated/lib/volcano-generated/models/auth_forgot_password_request.rb +164 -0
  71. data/lib/volcano/generated/lib/volcano-generated/models/auth_get_my_sessions200_response.rb +231 -0
  72. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page.rb +225 -0
  73. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_defaults.rb +193 -0
  74. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_response.rb +203 -0
  75. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_runtime.rb +220 -0
  76. data/lib/volcano/generated/lib/volcano-generated/models/auth_identities_response.rb +166 -0
  77. data/lib/volcano/generated/lib/volcano-generated/models/auth_identity.rb +273 -0
  78. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_interval.rb +41 -0
  79. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_response.rb +270 -0
  80. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_series_point.rb +263 -0
  81. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_summary.rb +210 -0
  82. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_window.rb +238 -0
  83. data/lib/volcano/generated/lib/volcano-generated/models/auth_link_o_auth_provider200_response.rb +147 -0
  84. data/lib/volcano/generated/lib/volcano-generated/models/auth_list_o_auth_providers200_response.rb +149 -0
  85. data/lib/volcano/generated/lib/volcano-generated/models/auth_list_o_auth_providers200_response_providers_inner.rb +165 -0
  86. data/lib/volcano/generated/lib/volcano-generated/models/auth_method_summary.rb +370 -0
  87. data/lib/volcano/generated/lib/volcano-generated/models/auth_methods_response.rb +166 -0
  88. data/lib/volcano/generated/lib/volcano-generated/models/auth_o_auth_exchange_request.rb +190 -0
  89. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_defaults.rb +212 -0
  90. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_options.rb +306 -0
  91. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_response.rb +299 -0
  92. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_density.rb +41 -0
  93. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_font.rb +43 -0
  94. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_layout.rb +41 -0
  95. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_radius.rb +42 -0
  96. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_scale.rb +41 -0
  97. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_theme.rb +318 -0
  98. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_theme_colors.rb +323 -0
  99. data/lib/volcano/generated/lib/volcano-generated/models/auth_password_policy.rb +409 -0
  100. data/lib/volcano/generated/lib/volcano-generated/models/auth_platform_exchange_request.rb +164 -0
  101. data/lib/volcano/generated/lib/volcano-generated/models/auth_refresh_request.rb +190 -0
  102. data/lib/volcano/generated/lib/volcano-generated/models/auth_request_email_change200_response.rb +156 -0
  103. data/lib/volcano/generated/lib/volcano-generated/models/auth_request_email_change_request.rb +164 -0
  104. data/lib/volcano/generated/lib/volcano-generated/models/auth_reset_password200_response.rb +147 -0
  105. data/lib/volcano/generated/lib/volcano-generated/models/auth_reset_password_request.rb +192 -0
  106. data/lib/volcano/generated/lib/volcano-generated/models/auth_session.rb +393 -0
  107. data/lib/volcano/generated/lib/volcano-generated/models/auth_signin_request.rb +233 -0
  108. data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_anonymous_request.rb +150 -0
  109. data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_request.rb +202 -0
  110. data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_response.rb +193 -0
  111. data/lib/volcano/generated/lib/volcano-generated/models/auth_token_response.rb +254 -0
  112. data/lib/volcano/generated/lib/volcano-generated/models/auth_update_user_request.rb +160 -0
  113. data/lib/volcano/generated/lib/volcano-generated/models/auth_user.rb +330 -0
  114. data/lib/volcano/generated/lib/volcano-generated/models/ban_auth_user_request.rb +148 -0
  115. data/lib/volcano/generated/lib/volcano-generated/models/ban_user_response.rb +278 -0
  116. data/lib/volcano/generated/lib/volcano-generated/models/batch_function_deploy_failure.rb +242 -0
  117. data/lib/volcano/generated/lib/volcano-generated/models/batch_function_deploy_response.rb +205 -0
  118. data/lib/volcano/generated/lib/volcano-generated/models/call_o_auth_provider_api200_response.rb +272 -0
  119. data/lib/volcano/generated/lib/volcano-generated/models/call_o_auth_provider_api_request.rb +223 -0
  120. data/lib/volcano/generated/lib/volcano-generated/models/complete_upload_session_response.rb +148 -0
  121. data/lib/volcano/generated/lib/volcano-generated/models/configure_auth_methods_request.rb +167 -0
  122. data/lib/volcano/generated/lib/volcano-generated/models/configure_auth_methods_request_oauth_providers_inner.rb +156 -0
  123. data/lib/volcano/generated/lib/volcano-generated/models/connect_project_git_request.rb +250 -0
  124. data/lib/volcano/generated/lib/volcano-generated/models/create_anon_key_request.rb +228 -0
  125. data/lib/volcano/generated/lib/volcano-generated/models/create_database_backup_request.rb +185 -0
  126. data/lib/volcano/generated/lib/volcano-generated/models/create_database_branch_request.rb +223 -0
  127. data/lib/volcano/generated/lib/volcano-generated/models/create_database_request.rb +290 -0
  128. data/lib/volcano/generated/lib/volcano-generated/models/create_database_restore_request.rb +187 -0
  129. data/lib/volcano/generated/lib/volcano-generated/models/create_email_template_request.rb +270 -0
  130. data/lib/volcano/generated/lib/volcano-generated/models/create_frontend_custom_domain_request.rb +191 -0
  131. data/lib/volcano/generated/lib/volcano-generated/models/create_function_scheduler_request.rb +252 -0
  132. data/lib/volcano/generated/lib/volcano-generated/models/create_o_auth_config_request.rb +230 -0
  133. data/lib/volcano/generated/lib/volcano-generated/models/create_project_request.rb +219 -0
  134. data/lib/volcano/generated/lib/volcano-generated/models/create_service_key_request.rb +206 -0
  135. data/lib/volcano/generated/lib/volcano-generated/models/create_storage_bucket_request.rb +216 -0
  136. data/lib/volcano/generated/lib/volcano-generated/models/create_storage_policy_request.rb +243 -0
  137. data/lib/volcano/generated/lib/volcano-generated/models/create_upload_session_request.rb +276 -0
  138. data/lib/volcano/generated/lib/volcano-generated/models/create_upload_session_response.rb +179 -0
  139. data/lib/volcano/generated/lib/volcano-generated/models/create_variable_request.rb +219 -0
  140. data/lib/volcano/generated/lib/volcano-generated/models/database.rb +442 -0
  141. data/lib/volcano/generated/lib/volcano-generated/models/database_backup.rb +283 -0
  142. data/lib/volcano/generated/lib/volcano-generated/models/database_backup_list.rb +175 -0
  143. data/lib/volcano/generated/lib/volcano-generated/models/database_backup_schedule.rb +167 -0
  144. data/lib/volcano/generated/lib/volcano-generated/models/database_backup_schedule_entry.rb +301 -0
  145. data/lib/volcano/generated/lib/volcano-generated/models/database_branch.rb +480 -0
  146. data/lib/volcano/generated/lib/volcano-generated/models/database_branch_list.rb +166 -0
  147. data/lib/volcano/generated/lib/volcano-generated/models/database_branch_storage.rb +228 -0
  148. data/lib/volcano/generated/lib/volcano-generated/models/database_delete_request.rb +203 -0
  149. data/lib/volcano/generated/lib/volcano-generated/models/database_insert_request.rb +194 -0
  150. data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter.rb +242 -0
  151. data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter_value.rb +106 -0
  152. data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter_value_one_of_inner.rb +105 -0
  153. data/lib/volcano/generated/lib/volcano-generated/models/database_query_order.rb +187 -0
  154. data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_database.rb +190 -0
  155. data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_item.rb +411 -0
  156. data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_response.rb +166 -0
  157. data/lib/volcano/generated/lib/volcano-generated/models/database_query_result.rb +161 -0
  158. data/lib/volcano/generated/lib/volcano-generated/models/database_restore.rb +388 -0
  159. data/lib/volcano/generated/lib/volcano-generated/models/database_restore_list.rb +166 -0
  160. data/lib/volcano/generated/lib/volcano-generated/models/database_restore_window.rb +159 -0
  161. data/lib/volcano/generated/lib/volcano-generated/models/database_select_request.rb +268 -0
  162. data/lib/volcano/generated/lib/volcano-generated/models/database_stats.rb +447 -0
  163. data/lib/volcano/generated/lib/volcano-generated/models/database_update_request.rb +232 -0
  164. data/lib/volcano/generated/lib/volcano-generated/models/delete_database202_response.rb +156 -0
  165. data/lib/volcano/generated/lib/volcano-generated/models/delete_database_backup200_response.rb +190 -0
  166. data/lib/volcano/generated/lib/volcano-generated/models/delete_database_branch202_response.rb +190 -0
  167. data/lib/volcano/generated/lib/volcano-generated/models/deployment_phase.rb +263 -0
  168. data/lib/volcano/generated/lib/volcano-generated/models/deployment_progress.rb +324 -0
  169. data/lib/volcano/generated/lib/volcano-generated/models/deployment_reference.rb +165 -0
  170. data/lib/volcano/generated/lib/volcano-generated/models/device_authorization_response.rb +296 -0
  171. data/lib/volcano/generated/lib/volcano-generated/models/email_template.rb +305 -0
  172. data/lib/volcano/generated/lib/volcano-generated/models/error.rb +174 -0
  173. data/lib/volcano/generated/lib/volcano-generated/models/export_project_source_request.rb +174 -0
  174. data/lib/volcano/generated/lib/volcano-generated/models/frontend.rb +504 -0
  175. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_response.rb +370 -0
  176. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_tls_config.rb +253 -0
  177. data/lib/volcano/generated/lib/volcano-generated/models/frontend_deployment.rb +487 -0
  178. data/lib/volcano/generated/lib/volcano-generated/models/frontend_domain_routing_record.rb +240 -0
  179. data/lib/volcano/generated/lib/volcano-generated/models/frontend_domain_verification_record.rb +216 -0
  180. data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_daily_entry.rb +247 -0
  181. data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_data.rb +204 -0
  182. data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_history_response.rb +298 -0
  183. data/lib/volcano/generated/lib/volcano-generated/models/function.rb +565 -0
  184. data/lib/volcano/generated/lib/volcano-generated/models/function_deployment.rb +477 -0
  185. data/lib/volcano/generated/lib/volcano-generated/models/function_http_auth_mode.rb +40 -0
  186. data/lib/volcano/generated/lib/volcano-generated/models/function_invocation_mode.rb +40 -0
  187. data/lib/volcano/generated/lib/volcano-generated/models/function_invocation_request.rb +150 -0
  188. data/lib/volcano/generated/lib/volcano-generated/models/function_region.rb +219 -0
  189. data/lib/volcano/generated/lib/volcano-generated/models/function_runtime_deployment.rb +250 -0
  190. data/lib/volcano/generated/lib/volcano-generated/models/function_runtime_option.rb +245 -0
  191. data/lib/volcano/generated/lib/volcano-generated/models/function_runtimes_response.rb +166 -0
  192. data/lib/volcano/generated/lib/volcano-generated/models/function_scheduler.rb +330 -0
  193. data/lib/volcano/generated/lib/volcano-generated/models/function_scheduler_list_response.rb +290 -0
  194. data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response.rb +178 -0
  195. data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response_email_password.rb +165 -0
  196. data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response_oauth_providers_inner.rb +194 -0
  197. data/lib/volcano/generated/lib/volcano-generated/models/git_connect_start_response.rb +164 -0
  198. data/lib/volcano/generated/lib/volcano-generated/models/git_connection.rb +346 -0
  199. data/lib/volcano/generated/lib/volcano-generated/models/git_connections_response.rb +166 -0
  200. data/lib/volcano/generated/lib/volcano-generated/models/git_installation.rb +242 -0
  201. data/lib/volcano/generated/lib/volcano-generated/models/git_installations_response.rb +166 -0
  202. data/lib/volcano/generated/lib/volcano-generated/models/git_repositories_response.rb +166 -0
  203. data/lib/volcano/generated/lib/volcano-generated/models/git_repository.rb +270 -0
  204. data/lib/volcano/generated/lib/volcano-generated/models/hosted_auth_page_type.rb +44 -0
  205. data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_email_check_request.rb +164 -0
  206. data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_email_check_response.rb +147 -0
  207. data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_options_response.rb +185 -0
  208. data/lib/volcano/generated/lib/volcano-generated/models/hosted_renderable_page_type.rb +43 -0
  209. data/lib/volcano/generated/lib/volcano-generated/models/import_connect_start_response.rb +164 -0
  210. data/lib/volcano/generated/lib/volcano-generated/models/import_connection.rb +432 -0
  211. data/lib/volcano/generated/lib/volcano-generated/models/import_connections_response.rb +166 -0
  212. data/lib/volcano/generated/lib/volcano-generated/models/import_provider.rb +39 -0
  213. data/lib/volcano/generated/lib/volcano-generated/models/import_source.rb +242 -0
  214. data/lib/volcano/generated/lib/volcano-generated/models/import_sources_response.rb +166 -0
  215. data/lib/volcano/generated/lib/volcano-generated/models/list_anon_keys200_response.rb +189 -0
  216. data/lib/volcano/generated/lib/volcano-generated/models/list_available_o_auth_providers200_response.rb +149 -0
  217. data/lib/volcano/generated/lib/volcano-generated/models/list_available_o_auth_providers200_response_providers_inner.rb +167 -0
  218. data/lib/volcano/generated/lib/volcano-generated/models/list_database_regions200_response_inner.rb +158 -0
  219. data/lib/volcano/generated/lib/volcano-generated/models/list_email_templates200_response.rb +149 -0
  220. data/lib/volcano/generated/lib/volcano-generated/models/list_o_auth_configs200_response.rb +149 -0
  221. data/lib/volcano/generated/lib/volcano-generated/models/list_postgres_versions200_response_inner.rb +178 -0
  222. data/lib/volcano/generated/lib/volcano-generated/models/list_storage_buckets200_response.rb +104 -0
  223. data/lib/volcano/generated/lib/volcano-generated/models/list_storage_objects_admin200_response.rb +205 -0
  224. data/lib/volcano/generated/lib/volcano-generated/models/live_log_level.rb +44 -0
  225. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_bucket.rb +246 -0
  226. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_bucket_counts.rb +226 -0
  227. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_request.rb +252 -0
  228. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_response.rb +194 -0
  229. data/lib/volcano/generated/lib/volcano-generated/models/log_database_request_resource.rb +221 -0
  230. data/lib/volcano/generated/lib/volcano-generated/models/log_deployment.rb +210 -0
  231. data/lib/volcano/generated/lib/volcano-generated/models/log_deployment_request_selector.rb +170 -0
  232. data/lib/volcano/generated/lib/volcano-generated/models/log_event.rb +257 -0
  233. data/lib/volcano/generated/lib/volcano-generated/models/log_event_body.rb +108 -0
  234. data/lib/volcano/generated/lib/volcano-generated/models/log_frontend_request_resource.rb +230 -0
  235. data/lib/volcano/generated/lib/volcano-generated/models/log_function_request_resource.rb +230 -0
  236. data/lib/volcano/generated/lib/volcano-generated/models/log_request_resource.rb +58 -0
  237. data/lib/volcano/generated/lib/volcano-generated/models/log_resource.rb +227 -0
  238. data/lib/volcano/generated/lib/volcano-generated/models/log_search_event.rb +297 -0
  239. data/lib/volcano/generated/lib/volcano-generated/models/log_search_request.rb +264 -0
  240. data/lib/volcano/generated/lib/volcano-generated/models/log_search_response.rb +232 -0
  241. data/lib/volcano/generated/lib/volcano-generated/models/log_stream_request.rb +244 -0
  242. data/lib/volcano/generated/lib/volcano-generated/models/metric_usage_data.rb +278 -0
  243. data/lib/volcano/generated/lib/volcano-generated/models/o_auth_config.rb +256 -0
  244. data/lib/volcano/generated/lib/volcano-generated/models/o_auth_error_response.rb +173 -0
  245. data/lib/volcano/generated/lib/volcano-generated/models/paginated_auth_users.rb +284 -0
  246. data/lib/volcano/generated/lib/volcano-generated/models/paginated_databases.rb +304 -0
  247. data/lib/volcano/generated/lib/volcano-generated/models/paginated_frontend_deployments.rb +284 -0
  248. data/lib/volcano/generated/lib/volcano-generated/models/paginated_frontends.rb +304 -0
  249. data/lib/volcano/generated/lib/volcano-generated/models/paginated_function_deployments.rb +284 -0
  250. data/lib/volcano/generated/lib/volcano-generated/models/paginated_functions.rb +304 -0
  251. data/lib/volcano/generated/lib/volcano-generated/models/paginated_project_custom_domains.rb +284 -0
  252. data/lib/volcano/generated/lib/volcano-generated/models/paginated_project_deployments.rb +306 -0
  253. data/lib/volcano/generated/lib/volcano-generated/models/paginated_projects.rb +368 -0
  254. data/lib/volcano/generated/lib/volcano-generated/models/paginated_service_keys.rb +304 -0
  255. data/lib/volcano/generated/lib/volcano-generated/models/paginated_storage_buckets.rb +251 -0
  256. data/lib/volcano/generated/lib/volcano-generated/models/paginated_variables.rb +304 -0
  257. data/lib/volcano/generated/lib/volcano-generated/models/platform_exchange_response.rb +242 -0
  258. data/lib/volcano/generated/lib/volcano-generated/models/preview_auth_page_request.rb +221 -0
  259. data/lib/volcano/generated/lib/volcano-generated/models/preview_auth_page_response.rb +190 -0
  260. data/lib/volcano/generated/lib/volcano-generated/models/project.rb +419 -0
  261. data/lib/volcano/generated/lib/volcano-generated/models/project_config.rb +273 -0
  262. data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_result.rb +261 -0
  263. data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_result_entry.rb +245 -0
  264. data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_summary.rb +320 -0
  265. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth.rb +238 -0
  266. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_cors.rb +176 -0
  267. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email.rb +175 -0
  268. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_from.rb +156 -0
  269. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_password_provider.rb +147 -0
  270. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_smtp.rb +184 -0
  271. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_verification.rb +158 -0
  272. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_managed_pages.rb +175 -0
  273. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_page_appearance.rb +156 -0
  274. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_page_layouts.rb +214 -0
  275. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_password.rb +211 -0
  276. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_password_reset.rb +167 -0
  277. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_providers.rb +159 -0
  278. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_rate_limits.rb +175 -0
  279. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_redirects.rb +180 -0
  280. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_sessions.rb +158 -0
  281. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_signup.rb +232 -0
  282. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_tokens.rb +175 -0
  283. data/lib/volcano/generated/lib/volcano-generated/models/project_config_bucket.rb +226 -0
  284. data/lib/volcano/generated/lib/volcano-generated/models/project_config_bucket_policy.rb +250 -0
  285. data/lib/volcano/generated/lib/volcano-generated/models/project_config_custom_domain.rb +175 -0
  286. data/lib/volcano/generated/lib/volcano-generated/models/project_config_database.rb +274 -0
  287. data/lib/volcano/generated/lib/volcano-generated/models/project_config_email_template.rb +205 -0
  288. data/lib/volcano/generated/lib/volcano-generated/models/project_config_email_templates.rb +175 -0
  289. data/lib/volcano/generated/lib/volcano-generated/models/project_config_frontend.rb +183 -0
  290. data/lib/volcano/generated/lib/volcano-generated/models/project_config_function.rb +248 -0
  291. data/lib/volcano/generated/lib/volcano-generated/models/project_config_hosted_page.rb +203 -0
  292. data/lib/volcano/generated/lib/volcano-generated/models/project_config_hosted_pages.rb +193 -0
  293. data/lib/volcano/generated/lib/volcano-generated/models/project_config_missing_resource.rb +214 -0
  294. data/lib/volcano/generated/lib/volcano-generated/models/project_config_o_auth_provider.rb +238 -0
  295. data/lib/volcano/generated/lib/volcano-generated/models/project_config_project.rb +209 -0
  296. data/lib/volcano/generated/lib/volcano-generated/models/project_config_realtime.rb +174 -0
  297. data/lib/volcano/generated/lib/volcano-generated/models/project_config_scheduler.rb +229 -0
  298. data/lib/volcano/generated/lib/volcano-generated/models/project_config_skipped_resource.rb +240 -0
  299. data/lib/volcano/generated/lib/volcano-generated/models/project_config_validation_error.rb +201 -0
  300. data/lib/volcano/generated/lib/volcano-generated/models/project_config_validation_error_response.rb +193 -0
  301. data/lib/volcano/generated/lib/volcano-generated/models/project_config_variable.rb +199 -0
  302. data/lib/volcano/generated/lib/volcano-generated/models/project_deployment.rb +412 -0
  303. data/lib/volcano/generated/lib/volcano-generated/models/project_deployment_resource.rb +241 -0
  304. data/lib/volcano/generated/lib/volcano-generated/models/project_deployment_summary.rb +312 -0
  305. data/lib/volcano/generated/lib/volcano-generated/models/project_frontend_custom_domain.rb +403 -0
  306. data/lib/volcano/generated/lib/volcano-generated/models/project_frontend_custom_domain_all_of_frontend.rb +191 -0
  307. data/lib/volcano/generated/lib/volcano-generated/models/project_git_connection.rb +296 -0
  308. data/lib/volcano/generated/lib/volcano-generated/models/project_git_connection_summary.rb +294 -0
  309. data/lib/volcano/generated/lib/volcano-generated/models/project_git_deploy_settings.rb +239 -0
  310. data/lib/volcano/generated/lib/volcano-generated/models/project_health_category.rb +40 -0
  311. data/lib/volcano/generated/lib/volcano-generated/models/project_health_check.rb +316 -0
  312. data/lib/volcano/generated/lib/volcano-generated/models/project_health_data_status.rb +42 -0
  313. data/lib/volcano/generated/lib/volcano-generated/models/project_health_evidence.rb +251 -0
  314. data/lib/volcano/generated/lib/volcano-generated/models/project_health_resource.rb +240 -0
  315. data/lib/volcano/generated/lib/volcano-generated/models/project_health_response.rb +356 -0
  316. data/lib/volcano/generated/lib/volcano-generated/models/project_health_scope.rb +164 -0
  317. data/lib/volcano/generated/lib/volcano-generated/models/project_health_status.rb +42 -0
  318. data/lib/volcano/generated/lib/volcano-generated/models/project_health_summary.rb +186 -0
  319. data/lib/volcano/generated/lib/volcano-generated/models/project_import_action.rb +238 -0
  320. data/lib/volcano/generated/lib/volcano-generated/models/project_import_action_code.rb +42 -0
  321. data/lib/volcano/generated/lib/volcano-generated/models/project_import_destination.rb +238 -0
  322. data/lib/volcano/generated/lib/volcano-generated/models/project_import_destination_mode.rb +39 -0
  323. data/lib/volcano/generated/lib/volcano-generated/models/project_import_disposition.rb +42 -0
  324. data/lib/volcano/generated/lib/volcano-generated/models/project_import_finding.rb +327 -0
  325. data/lib/volcano/generated/lib/volcano-generated/models/project_import_impact.rb +41 -0
  326. data/lib/volcano/generated/lib/volcano-generated/models/project_import_preflight_request.rb +305 -0
  327. data/lib/volcano/generated/lib/volcano-generated/models/project_import_readiness.rb +41 -0
  328. data/lib/volcano/generated/lib/volcano-generated/models/project_import_report.rb +476 -0
  329. data/lib/volcano/generated/lib/volcano-generated/models/project_import_resource.rb +270 -0
  330. data/lib/volcano/generated/lib/volcano-generated/models/project_import_resource_kind.rb +43 -0
  331. data/lib/volcano/generated/lib/volcano-generated/models/project_import_run.rb +412 -0
  332. data/lib/volcano/generated/lib/volcano-generated/models/project_import_run_status.rb +43 -0
  333. data/lib/volcano/generated/lib/volcano-generated/models/project_import_start_request.rb +365 -0
  334. data/lib/volcano/generated/lib/volcano-generated/models/project_import_summary.rb +348 -0
  335. data/lib/volcano/generated/lib/volcano-generated/models/project_import_target.rb +39 -0
  336. data/lib/volcano/generated/lib/volcano-generated/models/project_lock_lease.rb +192 -0
  337. data/lib/volcano/generated/lib/volcano-generated/models/project_lock_lease_request.rb +183 -0
  338. data/lib/volcano/generated/lib/volcano-generated/models/project_lock_state.rb +185 -0
  339. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_data_status.rb +41 -0
  340. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_dimensions.rb +190 -0
  341. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_group_by.rb +40 -0
  342. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_metric.rb +42 -0
  343. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query.rb +250 -0
  344. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_request.rb +210 -0
  345. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_response.rb +227 -0
  346. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_time_range.rb +188 -0
  347. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_result.rb +292 -0
  348. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_unit.rb +41 -0
  349. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_value.rb +199 -0
  350. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_window.rb +190 -0
  351. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export.rb +302 -0
  352. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_omission.rb +218 -0
  353. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_skip.rb +217 -0
  354. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_state.rb +228 -0
  355. data/lib/volcano/generated/lib/volcano-generated/models/project_usage_response.rb +234 -0
  356. data/lib/volcano/generated/lib/volcano-generated/models/realtime_config.rb +217 -0
  357. data/lib/volcano/generated/lib/volcano-generated/models/realtime_plan_limits.rb +189 -0
  358. data/lib/volcano/generated/lib/volcano-generated/models/realtime_stats.rb +178 -0
  359. data/lib/volcano/generated/lib/volcano-generated/models/refresh_o_auth_provider_token200_response.rb +165 -0
  360. data/lib/volcano/generated/lib/volcano-generated/models/reset_database_password200_response.rb +177 -0
  361. data/lib/volcano/generated/lib/volcano-generated/models/resolve_function_response.rb +248 -0
  362. data/lib/volcano/generated/lib/volcano-generated/models/resource_reference.rb +241 -0
  363. data/lib/volcano/generated/lib/volcano-generated/models/schedule_request.rb +210 -0
  364. data/lib/volcano/generated/lib/volcano-generated/models/service_key.rb +294 -0
  365. data/lib/volcano/generated/lib/volcano-generated/models/set_project_git_production_branch_request.rb +183 -0
  366. data/lib/volcano/generated/lib/volcano-generated/models/storage_bucket.rb +282 -0
  367. data/lib/volcano/generated/lib/volcano-generated/models/storage_copy_request.rb +192 -0
  368. data/lib/volcano/generated/lib/volcano-generated/models/storage_list_response.rb +159 -0
  369. data/lib/volcano/generated/lib/volcano-generated/models/storage_move_request.rb +192 -0
  370. data/lib/volcano/generated/lib/volcano-generated/models/storage_object.rb +359 -0
  371. data/lib/volcano/generated/lib/volcano-generated/models/storage_object_with_bucket.rb +383 -0
  372. data/lib/volcano/generated/lib/volcano-generated/models/storage_policy.rb +313 -0
  373. data/lib/volcano/generated/lib/volcano-generated/models/storage_stats.rb +220 -0
  374. data/lib/volcano/generated/lib/volcano-generated/models/storage_visibility_request.rb +165 -0
  375. data/lib/volcano/generated/lib/volcano-generated/models/test_email_request.rb +234 -0
  376. data/lib/volcano/generated/lib/volcano-generated/models/test_email_response.rb +164 -0
  377. data/lib/volcano/generated/lib/volcano-generated/models/unban_user_response.rb +267 -0
  378. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_config_request.rb +626 -0
  379. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_hosted_page_request.rb +175 -0
  380. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_page_layout_request.rb +186 -0
  381. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_page_theme_request.rb +164 -0
  382. data/lib/volcano/generated/lib/volcano-generated/models/update_database_branch_request.rb +184 -0
  383. data/lib/volcano/generated/lib/volcano-generated/models/update_database_type_request.rb +190 -0
  384. data/lib/volcano/generated/lib/volcano-generated/models/update_email_template_request.rb +165 -0
  385. data/lib/volcano/generated/lib/volcano-generated/models/update_function_request.rb +201 -0
  386. data/lib/volcano/generated/lib/volcano-generated/models/update_function_scheduler_request.rb +225 -0
  387. data/lib/volcano/generated/lib/volcano-generated/models/update_o_auth_config_request.rb +187 -0
  388. data/lib/volcano/generated/lib/volcano-generated/models/update_project_git_deploy_settings_request.rb +211 -0
  389. data/lib/volcano/generated/lib/volcano-generated/models/update_project_request.rb +198 -0
  390. data/lib/volcano/generated/lib/volcano-generated/models/update_realtime_config_request.rb +179 -0
  391. data/lib/volcano/generated/lib/volcano-generated/models/update_storage_bucket_request.rb +158 -0
  392. data/lib/volcano/generated/lib/volcano-generated/models/update_variable_request.rb +164 -0
  393. data/lib/volcano/generated/lib/volcano-generated/models/upload_session_part.rb +169 -0
  394. data/lib/volcano/generated/lib/volcano-generated/models/upload_session_status_response.rb +295 -0
  395. data/lib/volcano/generated/lib/volcano-generated/models/upload_storage_object201_response.rb +104 -0
  396. data/lib/volcano/generated/lib/volcano-generated/models/usage_data_point.rb +193 -0
  397. data/lib/volcano/generated/lib/volcano-generated/models/variable.rb +389 -0
  398. data/lib/volcano/generated/lib/volcano-generated/version.rb +15 -0
  399. data/lib/volcano/generated/lib/volcano-generated.rb +405 -0
  400. data/lib/volcano/generated_transport.rb +131 -0
  401. data/lib/volcano/generated_transport_anonymous.rb +34 -0
  402. data/lib/volcano/generated_transport_auth.rb +108 -0
  403. data/lib/volcano/generated_transport_confirmation.rb +30 -0
  404. data/lib/volcano/generated_transport_database.rb +54 -0
  405. data/lib/volcano/generated_transport_email_change.rb +44 -0
  406. data/lib/volcano/generated_transport_functions.rb +108 -0
  407. data/lib/volcano/generated_transport_logs.rb +31 -0
  408. data/lib/volcano/generated_transport_oauth.rb +64 -0
  409. data/lib/volcano/generated_transport_sessions.rb +27 -0
  410. data/lib/volcano/generated_transport_storage.rb +86 -0
  411. data/lib/volcano/generated_transport_support.rb +221 -0
  412. data/lib/volcano/generated_transport_upload_session_api.rb +69 -0
  413. data/lib/volcano/generated_transport_upload_sessions.rb +67 -0
  414. data/lib/volcano/lock_auto_renewal.rb +51 -0
  415. data/lib/volcano/lock_guard.rb +135 -0
  416. data/lib/volcano/lock_lease_clock.rb +39 -0
  417. data/lib/volcano/lock_renewer.rb +73 -0
  418. data/lib/volcano/lock_session.rb +70 -0
  419. data/lib/volcano/locks.rb +109 -0
  420. data/lib/volcano/log_responses.rb +39 -0
  421. data/lib/volcano/logs.rb +82 -0
  422. data/lib/volcano/models.rb +115 -0
  423. data/lib/volcano/realtime/blocking_call.rb +32 -0
  424. data/lib/volcano/realtime/broadcast_delivery.rb +63 -0
  425. data/lib/volcano/realtime/channel_callbacks.rb +127 -0
  426. data/lib/volcano/realtime/channel_lifecycle.rb +133 -0
  427. data/lib/volcano/realtime/connection.rb +114 -0
  428. data/lib/volcano/realtime/connection_callbacks.rb +126 -0
  429. data/lib/volcano/realtime/lifecycle.rb +46 -0
  430. data/lib/volcano/realtime/postgres_batch.rb +89 -0
  431. data/lib/volcano/realtime/postgres_changes.rb +107 -0
  432. data/lib/volcano/realtime/postgres_database.rb +63 -0
  433. data/lib/volcano/realtime/postgres_delivery.rb +113 -0
  434. data/lib/volcano/realtime/postgres_expansion.rb +66 -0
  435. data/lib/volcano/realtime/presence.rb +122 -0
  436. data/lib/volcano/realtime/presence_state.rb +61 -0
  437. data/lib/volcano/realtime/protocol.rb +150 -0
  438. data/lib/volcano/realtime/protocol_dispatch.rb +114 -0
  439. data/lib/volcano/realtime/protocol_io.rb +96 -0
  440. data/lib/volcano/realtime/protocol_lifecycle.rb +122 -0
  441. data/lib/volcano/realtime/protocol_publication_dispatch.rb +121 -0
  442. data/lib/volcano/realtime/protocol_recovery.rb +117 -0
  443. data/lib/volcano/realtime/protocol_recovery_dispatch.rb +106 -0
  444. data/lib/volcano/realtime/protocol_recovery_position.rb +95 -0
  445. data/lib/volcano/realtime/reconnect.rb +88 -0
  446. data/lib/volcano/realtime.rb +260 -0
  447. data/lib/volcano/redaction.rb +60 -0
  448. data/lib/volcano/sign_up_result.rb +9 -0
  449. data/lib/volcano/storage.rb +120 -0
  450. data/lib/volcano/storage_models.rb +121 -0
  451. data/lib/volcano/storage_mutations.rb +81 -0
  452. data/lib/volcano/storage_public_url.rb +64 -0
  453. data/lib/volcano/storage_resumable_upload.rb +90 -0
  454. data/lib/volcano/storage_upload_sessions.rb +116 -0
  455. data/lib/volcano/transport.rb +60 -0
  456. data/lib/volcano/version.rb +5 -0
  457. data/lib/volcano.rb +58 -0
  458. metadata +580 -0
@@ -0,0 +1,819 @@
1
+ =begin
2
+ #Volcano Hosting API
3
+
4
+ #Public API for Volcano Hosting clients, SDKs, and CLI tooling (Port 8000). This specification intentionally excludes first-party/internal APIs. See api/openapi-internal.yaml for non-public internal and Builder operations.
5
+
6
+ The version of the OpenAPI document: 3.0.0
7
+ Contact: support@volcano.dev
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.17.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Volcano::Generated
16
+ class DatabasesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create a new serverless PostgreSQL database
23
+ # Creates a serverless PostgreSQL database in the project. Each project can hold 1 database on Free and up to 10,000 on Pro. Requests over the plan's cap return 403.
24
+ # @param id [String] Project ID
25
+ # @param create_database_request [CreateDatabaseRequest]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [Database]
28
+ def create_database(id, create_database_request, opts = {})
29
+ data, _status_code, _headers = create_database_with_http_info(id, create_database_request, opts)
30
+ data
31
+ end
32
+
33
+ # Create a new serverless PostgreSQL database
34
+ # Creates a serverless PostgreSQL database in the project. Each project can hold 1 database on Free and up to 10,000 on Pro. Requests over the plan's cap return 403.
35
+ # @param id [String] Project ID
36
+ # @param create_database_request [CreateDatabaseRequest]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(Database, Integer, Hash)>] Database data, response status code and response headers
39
+ def create_database_with_http_info(id, create_database_request, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: DatabasesApi.create_database ...'
42
+ end
43
+ # verify the required parameter 'id' is set
44
+ if @api_client.config.client_side_validation && id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'id' when calling DatabasesApi.create_database"
46
+ end
47
+ # verify the required parameter 'create_database_request' is set
48
+ if @api_client.config.client_side_validation && create_database_request.nil?
49
+ fail ArgumentError, "Missing the required parameter 'create_database_request' when calling DatabasesApi.create_database"
50
+ end
51
+ # resource path
52
+ local_var_path = '/projects/{id}/databases'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+ # HTTP header 'Content-Type'
62
+ content_type = @api_client.select_header_content_type(['application/json'])
63
+ if !content_type.nil?
64
+ header_params['Content-Type'] = content_type
65
+ end
66
+
67
+ # form parameters
68
+ form_params = opts[:form_params] || {}
69
+
70
+ # http body (model)
71
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_database_request)
72
+
73
+ # return_type
74
+ return_type = opts[:debug_return_type] || 'Database'
75
+
76
+ # auth_names
77
+ auth_names = opts[:debug_auth_names] || ['UserToken']
78
+
79
+ new_options = opts.merge(
80
+ :operation => :"DatabasesApi.create_database",
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => return_type
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: DatabasesApi#create_database\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+
96
+ # Delete a database
97
+ # Deletes a database and the instance backing it. When the instance is removed synchronously the database row is deleted and the response is `204`. If the instance cannot be deleted right away, the database row is retained (status `deleting`) and its teardown is handed to the background reconciler, which retries the deletion and removes the row once the instance is gone; in that case the response is `202`. The database row is never dropped while its instance still exists, so an instance is never orphaned without a record to retry from.
98
+ # @param id [String] Project ID
99
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
100
+ # @param [Hash] opts the optional parameters
101
+ # @return [DeleteDatabase202Response]
102
+ def delete_database(id, database_name, opts = {})
103
+ data, _status_code, _headers = delete_database_with_http_info(id, database_name, opts)
104
+ data
105
+ end
106
+
107
+ # Delete a database
108
+ # Deletes a database and the instance backing it. When the instance is removed synchronously the database row is deleted and the response is &#x60;204&#x60;. If the instance cannot be deleted right away, the database row is retained (status &#x60;deleting&#x60;) and its teardown is handed to the background reconciler, which retries the deletion and removes the row once the instance is gone; in that case the response is &#x60;202&#x60;. The database row is never dropped while its instance still exists, so an instance is never orphaned without a record to retry from.
109
+ # @param id [String] Project ID
110
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
111
+ # @param [Hash] opts the optional parameters
112
+ # @return [Array<(DeleteDatabase202Response, Integer, Hash)>] DeleteDatabase202Response data, response status code and response headers
113
+ def delete_database_with_http_info(id, database_name, opts = {})
114
+ if @api_client.config.debugging
115
+ @api_client.config.logger.debug 'Calling API: DatabasesApi.delete_database ...'
116
+ end
117
+ # verify the required parameter 'id' is set
118
+ if @api_client.config.client_side_validation && id.nil?
119
+ fail ArgumentError, "Missing the required parameter 'id' when calling DatabasesApi.delete_database"
120
+ end
121
+ # verify the required parameter 'database_name' is set
122
+ if @api_client.config.client_side_validation && database_name.nil?
123
+ fail ArgumentError, "Missing the required parameter 'database_name' when calling DatabasesApi.delete_database"
124
+ end
125
+ if @api_client.config.client_side_validation && database_name.to_s.length > 64
126
+ fail ArgumentError, 'invalid value for "database_name" when calling DatabasesApi.delete_database, the character length must be smaller than or equal to 64.'
127
+ end
128
+
129
+ pattern = Regexp.new(/^[a-z0-9_]+$/)
130
+ if @api_client.config.client_side_validation && database_name !~ pattern
131
+ fail ArgumentError, "invalid value for 'database_name' when calling DatabasesApi.delete_database, must conform to the pattern #{pattern}."
132
+ end
133
+
134
+ # resource path
135
+ local_var_path = '/projects/{id}/databases/{databaseName}'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'databaseName' + '}', CGI.escape(database_name.to_s))
136
+
137
+ # query parameters
138
+ query_params = opts[:query_params] || {}
139
+
140
+ # header parameters
141
+ header_params = opts[:header_params] || {}
142
+ # HTTP header 'Accept' (if needed)
143
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
144
+
145
+ # form parameters
146
+ form_params = opts[:form_params] || {}
147
+
148
+ # http body (model)
149
+ post_body = opts[:debug_body]
150
+
151
+ # return_type
152
+ return_type = opts[:debug_return_type] || 'DeleteDatabase202Response'
153
+
154
+ # auth_names
155
+ auth_names = opts[:debug_auth_names] || ['UserToken']
156
+
157
+ new_options = opts.merge(
158
+ :operation => :"DatabasesApi.delete_database",
159
+ :header_params => header_params,
160
+ :query_params => query_params,
161
+ :form_params => form_params,
162
+ :body => post_body,
163
+ :auth_names => auth_names,
164
+ :return_type => return_type
165
+ )
166
+
167
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
168
+ if @api_client.config.debugging
169
+ @api_client.config.logger.debug "API called: DatabasesApi#delete_database\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
170
+ end
171
+ return data, status_code, headers
172
+ end
173
+
174
+ # Get database details
175
+ # @param id [String] Project ID
176
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
177
+ # @param [Hash] opts the optional parameters
178
+ # @return [Database]
179
+ def get_database(id, database_name, opts = {})
180
+ data, _status_code, _headers = get_database_with_http_info(id, database_name, opts)
181
+ data
182
+ end
183
+
184
+ # Get database details
185
+ # @param id [String] Project ID
186
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
187
+ # @param [Hash] opts the optional parameters
188
+ # @return [Array<(Database, Integer, Hash)>] Database data, response status code and response headers
189
+ def get_database_with_http_info(id, database_name, opts = {})
190
+ if @api_client.config.debugging
191
+ @api_client.config.logger.debug 'Calling API: DatabasesApi.get_database ...'
192
+ end
193
+ # verify the required parameter 'id' is set
194
+ if @api_client.config.client_side_validation && id.nil?
195
+ fail ArgumentError, "Missing the required parameter 'id' when calling DatabasesApi.get_database"
196
+ end
197
+ # verify the required parameter 'database_name' is set
198
+ if @api_client.config.client_side_validation && database_name.nil?
199
+ fail ArgumentError, "Missing the required parameter 'database_name' when calling DatabasesApi.get_database"
200
+ end
201
+ if @api_client.config.client_side_validation && database_name.to_s.length > 64
202
+ fail ArgumentError, 'invalid value for "database_name" when calling DatabasesApi.get_database, the character length must be smaller than or equal to 64.'
203
+ end
204
+
205
+ pattern = Regexp.new(/^[a-z0-9_]+$/)
206
+ if @api_client.config.client_side_validation && database_name !~ pattern
207
+ fail ArgumentError, "invalid value for 'database_name' when calling DatabasesApi.get_database, must conform to the pattern #{pattern}."
208
+ end
209
+
210
+ # resource path
211
+ local_var_path = '/projects/{id}/databases/{databaseName}'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'databaseName' + '}', CGI.escape(database_name.to_s))
212
+
213
+ # query parameters
214
+ query_params = opts[:query_params] || {}
215
+
216
+ # header parameters
217
+ header_params = opts[:header_params] || {}
218
+ # HTTP header 'Accept' (if needed)
219
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
220
+
221
+ # form parameters
222
+ form_params = opts[:form_params] || {}
223
+
224
+ # http body (model)
225
+ post_body = opts[:debug_body]
226
+
227
+ # return_type
228
+ return_type = opts[:debug_return_type] || 'Database'
229
+
230
+ # auth_names
231
+ auth_names = opts[:debug_auth_names] || ['UserToken']
232
+
233
+ new_options = opts.merge(
234
+ :operation => :"DatabasesApi.get_database",
235
+ :header_params => header_params,
236
+ :query_params => query_params,
237
+ :form_params => form_params,
238
+ :body => post_body,
239
+ :auth_names => auth_names,
240
+ :return_type => return_type
241
+ )
242
+
243
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
244
+ if @api_client.config.debugging
245
+ @api_client.config.logger.debug "API called: DatabasesApi#get_database\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
246
+ end
247
+ return data, status_code, headers
248
+ end
249
+
250
+ # Get database consumption metrics
251
+ # Retrieve consumption metrics including storage, compute time, and data transfer. Metrics are aggregated at the project level. Defaults to last 24 hours. **Note:** Advanced metrics require an upgraded plan.
252
+ # @param id [String] Project ID
253
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
254
+ # @param [Hash] opts the optional parameters
255
+ # @option opts [Time] :from Start time in RFC3339 format (e.g., \&quot;2024-01-01T00:00:00Z\&quot;). Defaults to 24 hours ago.
256
+ # @option opts [Time] :to End time in RFC3339 format (e.g., \&quot;2024-01-02T00:00:00Z\&quot;). Defaults to now.
257
+ # @option opts [String] :granularity Level of detail for metrics aggregation (default to 'hourly')
258
+ # @return [DatabaseStats]
259
+ def get_database_stats(id, database_name, opts = {})
260
+ data, _status_code, _headers = get_database_stats_with_http_info(id, database_name, opts)
261
+ data
262
+ end
263
+
264
+ # Get database consumption metrics
265
+ # Retrieve consumption metrics including storage, compute time, and data transfer. Metrics are aggregated at the project level. Defaults to last 24 hours. **Note:** Advanced metrics require an upgraded plan.
266
+ # @param id [String] Project ID
267
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
268
+ # @param [Hash] opts the optional parameters
269
+ # @option opts [Time] :from Start time in RFC3339 format (e.g., \&quot;2024-01-01T00:00:00Z\&quot;). Defaults to 24 hours ago.
270
+ # @option opts [Time] :to End time in RFC3339 format (e.g., \&quot;2024-01-02T00:00:00Z\&quot;). Defaults to now.
271
+ # @option opts [String] :granularity Level of detail for metrics aggregation (default to 'hourly')
272
+ # @return [Array<(DatabaseStats, Integer, Hash)>] DatabaseStats data, response status code and response headers
273
+ def get_database_stats_with_http_info(id, database_name, opts = {})
274
+ if @api_client.config.debugging
275
+ @api_client.config.logger.debug 'Calling API: DatabasesApi.get_database_stats ...'
276
+ end
277
+ # verify the required parameter 'id' is set
278
+ if @api_client.config.client_side_validation && id.nil?
279
+ fail ArgumentError, "Missing the required parameter 'id' when calling DatabasesApi.get_database_stats"
280
+ end
281
+ # verify the required parameter 'database_name' is set
282
+ if @api_client.config.client_side_validation && database_name.nil?
283
+ fail ArgumentError, "Missing the required parameter 'database_name' when calling DatabasesApi.get_database_stats"
284
+ end
285
+ if @api_client.config.client_side_validation && database_name.to_s.length > 64
286
+ fail ArgumentError, 'invalid value for "database_name" when calling DatabasesApi.get_database_stats, the character length must be smaller than or equal to 64.'
287
+ end
288
+
289
+ pattern = Regexp.new(/^[a-z0-9_]+$/)
290
+ if @api_client.config.client_side_validation && database_name !~ pattern
291
+ fail ArgumentError, "invalid value for 'database_name' when calling DatabasesApi.get_database_stats, must conform to the pattern #{pattern}."
292
+ end
293
+
294
+ allowable_values = ["hourly", "daily", "monthly"]
295
+ if @api_client.config.client_side_validation && opts[:'granularity'] && !allowable_values.include?(opts[:'granularity'])
296
+ fail ArgumentError, "invalid value for \"granularity\", must be one of #{allowable_values}"
297
+ end
298
+ # resource path
299
+ local_var_path = '/projects/{id}/databases/{databaseName}/stats'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'databaseName' + '}', CGI.escape(database_name.to_s))
300
+
301
+ # query parameters
302
+ query_params = opts[:query_params] || {}
303
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
304
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
305
+ query_params[:'granularity'] = opts[:'granularity'] if !opts[:'granularity'].nil?
306
+
307
+ # header parameters
308
+ header_params = opts[:header_params] || {}
309
+ # HTTP header 'Accept' (if needed)
310
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
311
+
312
+ # form parameters
313
+ form_params = opts[:form_params] || {}
314
+
315
+ # http body (model)
316
+ post_body = opts[:debug_body]
317
+
318
+ # return_type
319
+ return_type = opts[:debug_return_type] || 'DatabaseStats'
320
+
321
+ # auth_names
322
+ auth_names = opts[:debug_auth_names] || ['UserToken']
323
+
324
+ new_options = opts.merge(
325
+ :operation => :"DatabasesApi.get_database_stats",
326
+ :header_params => header_params,
327
+ :query_params => query_params,
328
+ :form_params => form_params,
329
+ :body => post_body,
330
+ :auth_names => auth_names,
331
+ :return_type => return_type
332
+ )
333
+
334
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
335
+ if @api_client.config.debugging
336
+ @api_client.config.logger.debug "API called: DatabasesApi#get_database_stats\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
337
+ end
338
+ return data, status_code, headers
339
+ end
340
+
341
+ # Get database queries
342
+ # Returns the database's current top queries from pg_stat_statements ranked by total execution time. **PRO plan required.** This endpoint is only available to projects owned by users on the PRO billing plan.
343
+ # @param id [String] Project ID
344
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
345
+ # @param [Hash] opts the optional parameters
346
+ # @option opts [Integer] :limit Maximum number of queries to return. (default to 10)
347
+ # @return [DatabaseQueryPerformanceResponse]
348
+ def get_project_database_queries(id, database_name, opts = {})
349
+ data, _status_code, _headers = get_project_database_queries_with_http_info(id, database_name, opts)
350
+ data
351
+ end
352
+
353
+ # Get database queries
354
+ # Returns the database&#39;s current top queries from pg_stat_statements ranked by total execution time. **PRO plan required.** This endpoint is only available to projects owned by users on the PRO billing plan.
355
+ # @param id [String] Project ID
356
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
357
+ # @param [Hash] opts the optional parameters
358
+ # @option opts [Integer] :limit Maximum number of queries to return. (default to 10)
359
+ # @return [Array<(DatabaseQueryPerformanceResponse, Integer, Hash)>] DatabaseQueryPerformanceResponse data, response status code and response headers
360
+ def get_project_database_queries_with_http_info(id, database_name, opts = {})
361
+ if @api_client.config.debugging
362
+ @api_client.config.logger.debug 'Calling API: DatabasesApi.get_project_database_queries ...'
363
+ end
364
+ # verify the required parameter 'id' is set
365
+ if @api_client.config.client_side_validation && id.nil?
366
+ fail ArgumentError, "Missing the required parameter 'id' when calling DatabasesApi.get_project_database_queries"
367
+ end
368
+ # verify the required parameter 'database_name' is set
369
+ if @api_client.config.client_side_validation && database_name.nil?
370
+ fail ArgumentError, "Missing the required parameter 'database_name' when calling DatabasesApi.get_project_database_queries"
371
+ end
372
+ if @api_client.config.client_side_validation && database_name.to_s.length > 64
373
+ fail ArgumentError, 'invalid value for "database_name" when calling DatabasesApi.get_project_database_queries, the character length must be smaller than or equal to 64.'
374
+ end
375
+
376
+ pattern = Regexp.new(/^[a-z0-9_]+$/)
377
+ if @api_client.config.client_side_validation && database_name !~ pattern
378
+ fail ArgumentError, "invalid value for 'database_name' when calling DatabasesApi.get_project_database_queries, must conform to the pattern #{pattern}."
379
+ end
380
+
381
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
382
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DatabasesApi.get_project_database_queries, must be smaller than or equal to 100.'
383
+ end
384
+
385
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
386
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DatabasesApi.get_project_database_queries, must be greater than or equal to 1.'
387
+ end
388
+
389
+ # resource path
390
+ local_var_path = '/projects/{id}/databases/{databaseName}/queries'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'databaseName' + '}', CGI.escape(database_name.to_s))
391
+
392
+ # query parameters
393
+ query_params = opts[:query_params] || {}
394
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
395
+
396
+ # header parameters
397
+ header_params = opts[:header_params] || {}
398
+ # HTTP header 'Accept' (if needed)
399
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
400
+
401
+ # form parameters
402
+ form_params = opts[:form_params] || {}
403
+
404
+ # http body (model)
405
+ post_body = opts[:debug_body]
406
+
407
+ # return_type
408
+ return_type = opts[:debug_return_type] || 'DatabaseQueryPerformanceResponse'
409
+
410
+ # auth_names
411
+ auth_names = opts[:debug_auth_names] || ['UserToken']
412
+
413
+ new_options = opts.merge(
414
+ :operation => :"DatabasesApi.get_project_database_queries",
415
+ :header_params => header_params,
416
+ :query_params => query_params,
417
+ :form_params => form_params,
418
+ :body => post_body,
419
+ :auth_names => auth_names,
420
+ :return_type => return_type
421
+ )
422
+
423
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
424
+ if @api_client.config.debugging
425
+ @api_client.config.logger.debug "API called: DatabasesApi#get_project_database_queries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
426
+ end
427
+ return data, status_code, headers
428
+ end
429
+
430
+ # List platform-supported regions for database provisioning
431
+ # Returns the regions enabled for database provisioning in this platform environment. This is a public endpoint that doesn't require authentication.
432
+ # @param [Hash] opts the optional parameters
433
+ # @return [Array<ListDatabaseRegions200ResponseInner>]
434
+ def list_database_regions(opts = {})
435
+ data, _status_code, _headers = list_database_regions_with_http_info(opts)
436
+ data
437
+ end
438
+
439
+ # List platform-supported regions for database provisioning
440
+ # Returns the regions enabled for database provisioning in this platform environment. This is a public endpoint that doesn&#39;t require authentication.
441
+ # @param [Hash] opts the optional parameters
442
+ # @return [Array<(Array<ListDatabaseRegions200ResponseInner>, Integer, Hash)>] Array<ListDatabaseRegions200ResponseInner> data, response status code and response headers
443
+ def list_database_regions_with_http_info(opts = {})
444
+ if @api_client.config.debugging
445
+ @api_client.config.logger.debug 'Calling API: DatabasesApi.list_database_regions ...'
446
+ end
447
+ # resource path
448
+ local_var_path = '/databases/regions'
449
+
450
+ # query parameters
451
+ query_params = opts[:query_params] || {}
452
+
453
+ # header parameters
454
+ header_params = opts[:header_params] || {}
455
+ # HTTP header 'Accept' (if needed)
456
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
457
+
458
+ # form parameters
459
+ form_params = opts[:form_params] || {}
460
+
461
+ # http body (model)
462
+ post_body = opts[:debug_body]
463
+
464
+ # return_type
465
+ return_type = opts[:debug_return_type] || 'Array<ListDatabaseRegions200ResponseInner>'
466
+
467
+ # auth_names
468
+ auth_names = opts[:debug_auth_names] || []
469
+
470
+ new_options = opts.merge(
471
+ :operation => :"DatabasesApi.list_database_regions",
472
+ :header_params => header_params,
473
+ :query_params => query_params,
474
+ :form_params => form_params,
475
+ :body => post_body,
476
+ :auth_names => auth_names,
477
+ :return_type => return_type
478
+ )
479
+
480
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
481
+ if @api_client.config.debugging
482
+ @api_client.config.logger.debug "API called: DatabasesApi#list_database_regions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
483
+ end
484
+ return data, status_code, headers
485
+ end
486
+
487
+ # List all databases for a project
488
+ # Supports two mutually exclusive pagination modes. Offset mode uses `page` and `limit`. Cursor mode uses `cursor` and `limit`, supports `search` (case-insensitive name match), and returns `next_cursor`/`prev_cursor`. The optional `status` filter applies in both modes and is bound to the cursor. Sending both `page` and `cursor` (or `page` and `search`) returns 400.
489
+ # @param id [String] Project ID
490
+ # @param [Hash] opts the optional parameters
491
+ # @option opts [Integer] :page Page number (1-indexed) for offset pagination. Declares no schema default so the request validator does not inject one: handlers that omit &#x60;page&#x60; see it unset (nil) and default to 1 in code, while cursor-first endpoints (e.g. the project deployments feed) can detect its absence to stay in keyset/search mode. Supplying &#x60;page&#x60; selects offset pagination.
492
+ # @option opts [Integer] :limit Number of items per page (max 100) (default to 10)
493
+ # @option opts [String] :cursor Opaque keyset pagination cursor from a previous response&#39;s &#x60;next_cursor&#x60; — pages forward. Mutually exclusive with &#x60;page&#x60; and &#x60;ending_before&#x60;; combining them returns 400. When supplied, the request&#39;s &#x60;search&#x60; and &#x60;limit&#x60; must match the values bound to the cursor or the request returns 400.
494
+ # @option opts [String] :ending_before Opaque keyset pagination cursor from a previous response&#39;s &#x60;prev_cursor&#x60; — pages backward (the page immediately preceding this cursor). Mutually exclusive with &#x60;page&#x60; and &#x60;cursor&#x60;; combining them returns 400. &#x60;search&#x60; and &#x60;limit&#x60; must match the values bound to the cursor or the request returns 400.
495
+ # @option opts [Integer] :offset Bounded row offset past the keyset anchor named by &#x60;cursor&#x60; (forward) or &#x60;ending_before&#x60; (backward) — the hybrid jump. Seek to the anchor, then skip this many rows within. Used for numbered jump-to-page: from the current page, seek to its next/prev cursor and offset the remaining pages. Only honored on the cursor pagination path; ignored otherwise. (default to 0)
496
+ # @option opts [String] :search Case-insensitive substring match on the resource &#x60;name&#x60;. See the endpoint description for supported pagination modes.
497
+ # @option opts [String] :status Return only the databases in this status.
498
+ # @return [PaginatedDatabases]
499
+ def list_databases(id, opts = {})
500
+ data, _status_code, _headers = list_databases_with_http_info(id, opts)
501
+ data
502
+ end
503
+
504
+ # List all databases for a project
505
+ # Supports two mutually exclusive pagination modes. Offset mode uses &#x60;page&#x60; and &#x60;limit&#x60;. Cursor mode uses &#x60;cursor&#x60; and &#x60;limit&#x60;, supports &#x60;search&#x60; (case-insensitive name match), and returns &#x60;next_cursor&#x60;/&#x60;prev_cursor&#x60;. The optional &#x60;status&#x60; filter applies in both modes and is bound to the cursor. Sending both &#x60;page&#x60; and &#x60;cursor&#x60; (or &#x60;page&#x60; and &#x60;search&#x60;) returns 400.
506
+ # @param id [String] Project ID
507
+ # @param [Hash] opts the optional parameters
508
+ # @option opts [Integer] :page Page number (1-indexed) for offset pagination. Declares no schema default so the request validator does not inject one: handlers that omit &#x60;page&#x60; see it unset (nil) and default to 1 in code, while cursor-first endpoints (e.g. the project deployments feed) can detect its absence to stay in keyset/search mode. Supplying &#x60;page&#x60; selects offset pagination.
509
+ # @option opts [Integer] :limit Number of items per page (max 100) (default to 10)
510
+ # @option opts [String] :cursor Opaque keyset pagination cursor from a previous response&#39;s &#x60;next_cursor&#x60; — pages forward. Mutually exclusive with &#x60;page&#x60; and &#x60;ending_before&#x60;; combining them returns 400. When supplied, the request&#39;s &#x60;search&#x60; and &#x60;limit&#x60; must match the values bound to the cursor or the request returns 400.
511
+ # @option opts [String] :ending_before Opaque keyset pagination cursor from a previous response&#39;s &#x60;prev_cursor&#x60; — pages backward (the page immediately preceding this cursor). Mutually exclusive with &#x60;page&#x60; and &#x60;cursor&#x60;; combining them returns 400. &#x60;search&#x60; and &#x60;limit&#x60; must match the values bound to the cursor or the request returns 400.
512
+ # @option opts [Integer] :offset Bounded row offset past the keyset anchor named by &#x60;cursor&#x60; (forward) or &#x60;ending_before&#x60; (backward) — the hybrid jump. Seek to the anchor, then skip this many rows within. Used for numbered jump-to-page: from the current page, seek to its next/prev cursor and offset the remaining pages. Only honored on the cursor pagination path; ignored otherwise. (default to 0)
513
+ # @option opts [String] :search Case-insensitive substring match on the resource &#x60;name&#x60;. See the endpoint description for supported pagination modes.
514
+ # @option opts [String] :status Return only the databases in this status.
515
+ # @return [Array<(PaginatedDatabases, Integer, Hash)>] PaginatedDatabases data, response status code and response headers
516
+ def list_databases_with_http_info(id, opts = {})
517
+ if @api_client.config.debugging
518
+ @api_client.config.logger.debug 'Calling API: DatabasesApi.list_databases ...'
519
+ end
520
+ # verify the required parameter 'id' is set
521
+ if @api_client.config.client_side_validation && id.nil?
522
+ fail ArgumentError, "Missing the required parameter 'id' when calling DatabasesApi.list_databases"
523
+ end
524
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
525
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling DatabasesApi.list_databases, must be greater than or equal to 1.'
526
+ end
527
+
528
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
529
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DatabasesApi.list_databases, must be smaller than or equal to 100.'
530
+ end
531
+
532
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
533
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DatabasesApi.list_databases, must be greater than or equal to 1.'
534
+ end
535
+
536
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
537
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling DatabasesApi.list_databases, must be greater than or equal to 0.'
538
+ end
539
+
540
+ if @api_client.config.client_side_validation && !opts[:'search'].nil? && opts[:'search'].to_s.length > 256
541
+ fail ArgumentError, 'invalid value for "opts[:"search"]" when calling DatabasesApi.list_databases, the character length must be smaller than or equal to 256.'
542
+ end
543
+
544
+ allowable_values = ["provisioning", "active", "restoring", "failed", "deleting"]
545
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
546
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
547
+ end
548
+ # resource path
549
+ local_var_path = '/projects/{id}/databases'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
550
+
551
+ # query parameters
552
+ query_params = opts[:query_params] || {}
553
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
554
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
555
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
556
+ query_params[:'ending_before'] = opts[:'ending_before'] if !opts[:'ending_before'].nil?
557
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
558
+ query_params[:'search'] = opts[:'search'] if !opts[:'search'].nil?
559
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
560
+
561
+ # header parameters
562
+ header_params = opts[:header_params] || {}
563
+ # HTTP header 'Accept' (if needed)
564
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
565
+
566
+ # form parameters
567
+ form_params = opts[:form_params] || {}
568
+
569
+ # http body (model)
570
+ post_body = opts[:debug_body]
571
+
572
+ # return_type
573
+ return_type = opts[:debug_return_type] || 'PaginatedDatabases'
574
+
575
+ # auth_names
576
+ auth_names = opts[:debug_auth_names] || ['UserToken']
577
+
578
+ new_options = opts.merge(
579
+ :operation => :"DatabasesApi.list_databases",
580
+ :header_params => header_params,
581
+ :query_params => query_params,
582
+ :form_params => form_params,
583
+ :body => post_body,
584
+ :auth_names => auth_names,
585
+ :return_type => return_type
586
+ )
587
+
588
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
589
+ if @api_client.config.debugging
590
+ @api_client.config.logger.debug "API called: DatabasesApi#list_databases\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
591
+ end
592
+ return data, status_code, headers
593
+ end
594
+
595
+ # List available PostgreSQL versions
596
+ # Returns a list of supported PostgreSQL major versions for database provisioning. This is a public endpoint that doesn't require authentication.
597
+ # @param [Hash] opts the optional parameters
598
+ # @return [Array<ListPostgresVersions200ResponseInner>]
599
+ def list_postgres_versions(opts = {})
600
+ data, _status_code, _headers = list_postgres_versions_with_http_info(opts)
601
+ data
602
+ end
603
+
604
+ # List available PostgreSQL versions
605
+ # Returns a list of supported PostgreSQL major versions for database provisioning. This is a public endpoint that doesn&#39;t require authentication.
606
+ # @param [Hash] opts the optional parameters
607
+ # @return [Array<(Array<ListPostgresVersions200ResponseInner>, Integer, Hash)>] Array<ListPostgresVersions200ResponseInner> data, response status code and response headers
608
+ def list_postgres_versions_with_http_info(opts = {})
609
+ if @api_client.config.debugging
610
+ @api_client.config.logger.debug 'Calling API: DatabasesApi.list_postgres_versions ...'
611
+ end
612
+ # resource path
613
+ local_var_path = '/databases/postgres-versions'
614
+
615
+ # query parameters
616
+ query_params = opts[:query_params] || {}
617
+
618
+ # header parameters
619
+ header_params = opts[:header_params] || {}
620
+ # HTTP header 'Accept' (if needed)
621
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
622
+
623
+ # form parameters
624
+ form_params = opts[:form_params] || {}
625
+
626
+ # http body (model)
627
+ post_body = opts[:debug_body]
628
+
629
+ # return_type
630
+ return_type = opts[:debug_return_type] || 'Array<ListPostgresVersions200ResponseInner>'
631
+
632
+ # auth_names
633
+ auth_names = opts[:debug_auth_names] || []
634
+
635
+ new_options = opts.merge(
636
+ :operation => :"DatabasesApi.list_postgres_versions",
637
+ :header_params => header_params,
638
+ :query_params => query_params,
639
+ :form_params => form_params,
640
+ :body => post_body,
641
+ :auth_names => auth_names,
642
+ :return_type => return_type
643
+ )
644
+
645
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
646
+ if @api_client.config.debugging
647
+ @api_client.config.logger.debug "API called: DatabasesApi#list_postgres_versions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
648
+ end
649
+ return data, status_code, headers
650
+ end
651
+
652
+ # Reset database password
653
+ # Rotates the Volcano-managed PostgreSQL password used by clients when connecting through pgproxy. This does not rotate or expose the internal owner password. The returned password and connection string are the only client credentials that will authenticate through pgproxy after reset. Existing connections are not interrupted; new ones must use the returned string. Proxies pick the rotation up within a few seconds, so the previous password can still open new connections until then.
654
+ # @param id [String] Project ID
655
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
656
+ # @param [Hash] opts the optional parameters
657
+ # @return [ResetDatabasePassword200Response]
658
+ def reset_database_password(id, database_name, opts = {})
659
+ data, _status_code, _headers = reset_database_password_with_http_info(id, database_name, opts)
660
+ data
661
+ end
662
+
663
+ # Reset database password
664
+ # Rotates the Volcano-managed PostgreSQL password used by clients when connecting through pgproxy. This does not rotate or expose the internal owner password. The returned password and connection string are the only client credentials that will authenticate through pgproxy after reset. Existing connections are not interrupted; new ones must use the returned string. Proxies pick the rotation up within a few seconds, so the previous password can still open new connections until then.
665
+ # @param id [String] Project ID
666
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
667
+ # @param [Hash] opts the optional parameters
668
+ # @return [Array<(ResetDatabasePassword200Response, Integer, Hash)>] ResetDatabasePassword200Response data, response status code and response headers
669
+ def reset_database_password_with_http_info(id, database_name, opts = {})
670
+ if @api_client.config.debugging
671
+ @api_client.config.logger.debug 'Calling API: DatabasesApi.reset_database_password ...'
672
+ end
673
+ # verify the required parameter 'id' is set
674
+ if @api_client.config.client_side_validation && id.nil?
675
+ fail ArgumentError, "Missing the required parameter 'id' when calling DatabasesApi.reset_database_password"
676
+ end
677
+ # verify the required parameter 'database_name' is set
678
+ if @api_client.config.client_side_validation && database_name.nil?
679
+ fail ArgumentError, "Missing the required parameter 'database_name' when calling DatabasesApi.reset_database_password"
680
+ end
681
+ if @api_client.config.client_side_validation && database_name.to_s.length > 64
682
+ fail ArgumentError, 'invalid value for "database_name" when calling DatabasesApi.reset_database_password, the character length must be smaller than or equal to 64.'
683
+ end
684
+
685
+ pattern = Regexp.new(/^[a-z0-9_]+$/)
686
+ if @api_client.config.client_side_validation && database_name !~ pattern
687
+ fail ArgumentError, "invalid value for 'database_name' when calling DatabasesApi.reset_database_password, must conform to the pattern #{pattern}."
688
+ end
689
+
690
+ # resource path
691
+ local_var_path = '/projects/{id}/databases/{databaseName}/reset-password'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'databaseName' + '}', CGI.escape(database_name.to_s))
692
+
693
+ # query parameters
694
+ query_params = opts[:query_params] || {}
695
+
696
+ # header parameters
697
+ header_params = opts[:header_params] || {}
698
+ # HTTP header 'Accept' (if needed)
699
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
700
+
701
+ # form parameters
702
+ form_params = opts[:form_params] || {}
703
+
704
+ # http body (model)
705
+ post_body = opts[:debug_body]
706
+
707
+ # return_type
708
+ return_type = opts[:debug_return_type] || 'ResetDatabasePassword200Response'
709
+
710
+ # auth_names
711
+ auth_names = opts[:debug_auth_names] || ['UserToken']
712
+
713
+ new_options = opts.merge(
714
+ :operation => :"DatabasesApi.reset_database_password",
715
+ :header_params => header_params,
716
+ :query_params => query_params,
717
+ :form_params => form_params,
718
+ :body => post_body,
719
+ :auth_names => auth_names,
720
+ :return_type => return_type
721
+ )
722
+
723
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
724
+ if @api_client.config.debugging
725
+ @api_client.config.logger.debug "API called: DatabasesApi#reset_database_password\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
726
+ end
727
+ return data, status_code, headers
728
+ end
729
+
730
+ # Update database size
731
+ # Change the size tier of a database. This may briefly interrupt active connections. **Available sizes:** - `volcano-db-xs`: Up to ~1GB RAM - Development, small apps - `volcano-db-s`: Up to ~4GB RAM - Production-ready, light traffic - `volcano-db-m`: Up to ~8GB RAM - Medium traffic applications - `volcano-db-l`: Up to ~16GB RAM - High traffic, larger datasets - `volcano-db-xl`: Up to ~32GB RAM - Heavy workloads - `volcano-db-2xl`: Up to ~64GB RAM - Enterprise-scale
732
+ # @param id [String] Project ID
733
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
734
+ # @param update_database_type_request [UpdateDatabaseTypeRequest]
735
+ # @param [Hash] opts the optional parameters
736
+ # @return [Database]
737
+ def update_database_type(id, database_name, update_database_type_request, opts = {})
738
+ data, _status_code, _headers = update_database_type_with_http_info(id, database_name, update_database_type_request, opts)
739
+ data
740
+ end
741
+
742
+ # Update database size
743
+ # Change the size tier of a database. This may briefly interrupt active connections. **Available sizes:** - &#x60;volcano-db-xs&#x60;: Up to ~1GB RAM - Development, small apps - &#x60;volcano-db-s&#x60;: Up to ~4GB RAM - Production-ready, light traffic - &#x60;volcano-db-m&#x60;: Up to ~8GB RAM - Medium traffic applications - &#x60;volcano-db-l&#x60;: Up to ~16GB RAM - High traffic, larger datasets - &#x60;volcano-db-xl&#x60;: Up to ~32GB RAM - Heavy workloads - &#x60;volcano-db-2xl&#x60;: Up to ~64GB RAM - Enterprise-scale
744
+ # @param id [String] Project ID
745
+ # @param database_name [String] Database name (unique within project, lowercase letters, numbers, and underscores only)
746
+ # @param update_database_type_request [UpdateDatabaseTypeRequest]
747
+ # @param [Hash] opts the optional parameters
748
+ # @return [Array<(Database, Integer, Hash)>] Database data, response status code and response headers
749
+ def update_database_type_with_http_info(id, database_name, update_database_type_request, opts = {})
750
+ if @api_client.config.debugging
751
+ @api_client.config.logger.debug 'Calling API: DatabasesApi.update_database_type ...'
752
+ end
753
+ # verify the required parameter 'id' is set
754
+ if @api_client.config.client_side_validation && id.nil?
755
+ fail ArgumentError, "Missing the required parameter 'id' when calling DatabasesApi.update_database_type"
756
+ end
757
+ # verify the required parameter 'database_name' is set
758
+ if @api_client.config.client_side_validation && database_name.nil?
759
+ fail ArgumentError, "Missing the required parameter 'database_name' when calling DatabasesApi.update_database_type"
760
+ end
761
+ if @api_client.config.client_side_validation && database_name.to_s.length > 64
762
+ fail ArgumentError, 'invalid value for "database_name" when calling DatabasesApi.update_database_type, the character length must be smaller than or equal to 64.'
763
+ end
764
+
765
+ pattern = Regexp.new(/^[a-z0-9_]+$/)
766
+ if @api_client.config.client_side_validation && database_name !~ pattern
767
+ fail ArgumentError, "invalid value for 'database_name' when calling DatabasesApi.update_database_type, must conform to the pattern #{pattern}."
768
+ end
769
+
770
+ # verify the required parameter 'update_database_type_request' is set
771
+ if @api_client.config.client_side_validation && update_database_type_request.nil?
772
+ fail ArgumentError, "Missing the required parameter 'update_database_type_request' when calling DatabasesApi.update_database_type"
773
+ end
774
+ # resource path
775
+ local_var_path = '/projects/{id}/databases/{databaseName}/type'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'databaseName' + '}', CGI.escape(database_name.to_s))
776
+
777
+ # query parameters
778
+ query_params = opts[:query_params] || {}
779
+
780
+ # header parameters
781
+ header_params = opts[:header_params] || {}
782
+ # HTTP header 'Accept' (if needed)
783
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
784
+ # HTTP header 'Content-Type'
785
+ content_type = @api_client.select_header_content_type(['application/json'])
786
+ if !content_type.nil?
787
+ header_params['Content-Type'] = content_type
788
+ end
789
+
790
+ # form parameters
791
+ form_params = opts[:form_params] || {}
792
+
793
+ # http body (model)
794
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_database_type_request)
795
+
796
+ # return_type
797
+ return_type = opts[:debug_return_type] || 'Database'
798
+
799
+ # auth_names
800
+ auth_names = opts[:debug_auth_names] || ['UserToken']
801
+
802
+ new_options = opts.merge(
803
+ :operation => :"DatabasesApi.update_database_type",
804
+ :header_params => header_params,
805
+ :query_params => query_params,
806
+ :form_params => form_params,
807
+ :body => post_body,
808
+ :auth_names => auth_names,
809
+ :return_type => return_type
810
+ )
811
+
812
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
813
+ if @api_client.config.debugging
814
+ @api_client.config.logger.debug "API called: DatabasesApi#update_database_type\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
815
+ end
816
+ return data, status_code, headers
817
+ end
818
+ end
819
+ end