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,857 @@
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 StorageObjectsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Copy an object
23
+ # @param bucket_name [String] Storage bucket name
24
+ # @param storage_copy_request [StorageCopyRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [StorageObject]
27
+ def copy_storage_object(bucket_name, storage_copy_request, opts = {})
28
+ data, _status_code, _headers = copy_storage_object_with_http_info(bucket_name, storage_copy_request, opts)
29
+ data
30
+ end
31
+
32
+ # Copy an object
33
+ # @param bucket_name [String] Storage bucket name
34
+ # @param storage_copy_request [StorageCopyRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(StorageObject, Integer, Hash)>] StorageObject data, response status code and response headers
37
+ def copy_storage_object_with_http_info(bucket_name, storage_copy_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: StorageObjectsApi.copy_storage_object ...'
40
+ end
41
+ # verify the required parameter 'bucket_name' is set
42
+ if @api_client.config.client_side_validation && bucket_name.nil?
43
+ fail ArgumentError, "Missing the required parameter 'bucket_name' when calling StorageObjectsApi.copy_storage_object"
44
+ end
45
+ if @api_client.config.client_side_validation && bucket_name.to_s.length > 64
46
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.copy_storage_object, the character length must be smaller than or equal to 64.'
47
+ end
48
+
49
+ if @api_client.config.client_side_validation && bucket_name.to_s.length < 1
50
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.copy_storage_object, the character length must be greater than or equal to 1.'
51
+ end
52
+
53
+ pattern = Regexp.new(/^[a-zA-Z0-9_-]+$/)
54
+ if @api_client.config.client_side_validation && bucket_name !~ pattern
55
+ fail ArgumentError, "invalid value for 'bucket_name' when calling StorageObjectsApi.copy_storage_object, must conform to the pattern #{pattern}."
56
+ end
57
+
58
+ # verify the required parameter 'storage_copy_request' is set
59
+ if @api_client.config.client_side_validation && storage_copy_request.nil?
60
+ fail ArgumentError, "Missing the required parameter 'storage_copy_request' when calling StorageObjectsApi.copy_storage_object"
61
+ end
62
+ # resource path
63
+ local_var_path = '/storage/{bucketName}/copy'.sub('{' + 'bucketName' + '}', CGI.escape(bucket_name.to_s))
64
+
65
+ # query parameters
66
+ query_params = opts[:query_params] || {}
67
+
68
+ # header parameters
69
+ header_params = opts[:header_params] || {}
70
+ # HTTP header 'Accept' (if needed)
71
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
72
+ # HTTP header 'Content-Type'
73
+ content_type = @api_client.select_header_content_type(['application/json'])
74
+ if !content_type.nil?
75
+ header_params['Content-Type'] = content_type
76
+ end
77
+
78
+ # form parameters
79
+ form_params = opts[:form_params] || {}
80
+
81
+ # http body (model)
82
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(storage_copy_request)
83
+
84
+ # return_type
85
+ return_type = opts[:debug_return_type] || 'StorageObject'
86
+
87
+ # auth_names
88
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken']
89
+
90
+ new_options = opts.merge(
91
+ :operation => :"StorageObjectsApi.copy_storage_object",
92
+ :header_params => header_params,
93
+ :query_params => query_params,
94
+ :form_params => form_params,
95
+ :body => post_body,
96
+ :auth_names => auth_names,
97
+ :return_type => return_type
98
+ )
99
+
100
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
101
+ if @api_client.config.debugging
102
+ @api_client.config.logger.debug "API called: StorageObjectsApi#copy_storage_object\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
103
+ end
104
+ return data, status_code, headers
105
+ end
106
+
107
+ # Delete a file or abort upload session
108
+ # Delete a file, or abort a resumable upload session. **File Delete (default):** Deletes the file at the specified path. **Abort Session (with X-Upload-Session header):** Aborts a resumable upload session and cleans up any uploaded parts. Anonymous sessions must reuse the exact anon key that created the session.
109
+ # @param bucket_name [String] Storage bucket name
110
+ # @param path [String] Object path within bucket
111
+ # @param [Hash] opts the optional parameters
112
+ # @option opts [String] :x_upload_session Upload session ID (to abort session instead of deleting file)
113
+ # @return [nil]
114
+ def delete_storage_object(bucket_name, path, opts = {})
115
+ delete_storage_object_with_http_info(bucket_name, path, opts)
116
+ nil
117
+ end
118
+
119
+ # Delete a file or abort upload session
120
+ # Delete a file, or abort a resumable upload session. **File Delete (default):** Deletes the file at the specified path. **Abort Session (with X-Upload-Session header):** Aborts a resumable upload session and cleans up any uploaded parts. Anonymous sessions must reuse the exact anon key that created the session.
121
+ # @param bucket_name [String] Storage bucket name
122
+ # @param path [String] Object path within bucket
123
+ # @param [Hash] opts the optional parameters
124
+ # @option opts [String] :x_upload_session Upload session ID (to abort session instead of deleting file)
125
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
126
+ def delete_storage_object_with_http_info(bucket_name, path, opts = {})
127
+ if @api_client.config.debugging
128
+ @api_client.config.logger.debug 'Calling API: StorageObjectsApi.delete_storage_object ...'
129
+ end
130
+ # verify the required parameter 'bucket_name' is set
131
+ if @api_client.config.client_side_validation && bucket_name.nil?
132
+ fail ArgumentError, "Missing the required parameter 'bucket_name' when calling StorageObjectsApi.delete_storage_object"
133
+ end
134
+ if @api_client.config.client_side_validation && bucket_name.to_s.length > 64
135
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.delete_storage_object, the character length must be smaller than or equal to 64.'
136
+ end
137
+
138
+ if @api_client.config.client_side_validation && bucket_name.to_s.length < 1
139
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.delete_storage_object, the character length must be greater than or equal to 1.'
140
+ end
141
+
142
+ pattern = Regexp.new(/^[a-zA-Z0-9_-]+$/)
143
+ if @api_client.config.client_side_validation && bucket_name !~ pattern
144
+ fail ArgumentError, "invalid value for 'bucket_name' when calling StorageObjectsApi.delete_storage_object, must conform to the pattern #{pattern}."
145
+ end
146
+
147
+ # verify the required parameter 'path' is set
148
+ if @api_client.config.client_side_validation && path.nil?
149
+ fail ArgumentError, "Missing the required parameter 'path' when calling StorageObjectsApi.delete_storage_object"
150
+ end
151
+ # resource path
152
+ local_var_path = '/storage/{bucketName}/{path}'.sub('{' + 'bucketName' + '}', CGI.escape(bucket_name.to_s)).sub('{' + 'path' + '}', CGI.escape(path.to_s))
153
+
154
+ # query parameters
155
+ query_params = opts[:query_params] || {}
156
+
157
+ # header parameters
158
+ header_params = opts[:header_params] || {}
159
+ # HTTP header 'Accept' (if needed)
160
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
161
+ header_params[:'X-Upload-Session'] = opts[:'x_upload_session'] if !opts[:'x_upload_session'].nil?
162
+
163
+ # form parameters
164
+ form_params = opts[:form_params] || {}
165
+
166
+ # http body (model)
167
+ post_body = opts[:debug_body]
168
+
169
+ # return_type
170
+ return_type = opts[:debug_return_type]
171
+
172
+ # auth_names
173
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'AnonKey']
174
+
175
+ new_options = opts.merge(
176
+ :operation => :"StorageObjectsApi.delete_storage_object",
177
+ :header_params => header_params,
178
+ :query_params => query_params,
179
+ :form_params => form_params,
180
+ :body => post_body,
181
+ :auth_names => auth_names,
182
+ :return_type => return_type
183
+ )
184
+
185
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
186
+ if @api_client.config.debugging
187
+ @api_client.config.logger.debug "API called: StorageObjectsApi#delete_storage_object\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
188
+ end
189
+ return data, status_code, headers
190
+ end
191
+
192
+ # Download a public file (no authentication required)
193
+ # Download a file that has been marked as public. This endpoint requires NO authentication. **Access Requirements:** - The file must have `is_public: true` set via the visibility endpoint - Private files will return 403 Forbidden **Use Cases:** - Shareable public URLs for profile pictures, public documents, etc. - Embedding public files on external websites - Direct linking without requiring SDK or authentication **URL Format:** ``` GET /public/{projectId}/{bucketName}/{path} ``` **Example:** ``` https://api.volcano.dev/public/abc123/avatars/user-photo.jpg ``` **CORS:** This endpoint allows all origins since the file is already public.
194
+ # @param project_id [String] Project ID
195
+ # @param bucket_name [String] Storage bucket name
196
+ # @param path [String] Object path within bucket
197
+ # @param [Hash] opts the optional parameters
198
+ # @return [File]
199
+ def download_public_file(project_id, bucket_name, path, opts = {})
200
+ data, _status_code, _headers = download_public_file_with_http_info(project_id, bucket_name, path, opts)
201
+ data
202
+ end
203
+
204
+ # Download a public file (no authentication required)
205
+ # Download a file that has been marked as public. This endpoint requires NO authentication. **Access Requirements:** - The file must have &#x60;is_public: true&#x60; set via the visibility endpoint - Private files will return 403 Forbidden **Use Cases:** - Shareable public URLs for profile pictures, public documents, etc. - Embedding public files on external websites - Direct linking without requiring SDK or authentication **URL Format:** &#x60;&#x60;&#x60; GET /public/{projectId}/{bucketName}/{path} &#x60;&#x60;&#x60; **Example:** &#x60;&#x60;&#x60; https://api.volcano.dev/public/abc123/avatars/user-photo.jpg &#x60;&#x60;&#x60; **CORS:** This endpoint allows all origins since the file is already public.
206
+ # @param project_id [String] Project ID
207
+ # @param bucket_name [String] Storage bucket name
208
+ # @param path [String] Object path within bucket
209
+ # @param [Hash] opts the optional parameters
210
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
211
+ def download_public_file_with_http_info(project_id, bucket_name, path, opts = {})
212
+ if @api_client.config.debugging
213
+ @api_client.config.logger.debug 'Calling API: StorageObjectsApi.download_public_file ...'
214
+ end
215
+ # verify the required parameter 'project_id' is set
216
+ if @api_client.config.client_side_validation && project_id.nil?
217
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling StorageObjectsApi.download_public_file"
218
+ end
219
+ # verify the required parameter 'bucket_name' is set
220
+ if @api_client.config.client_side_validation && bucket_name.nil?
221
+ fail ArgumentError, "Missing the required parameter 'bucket_name' when calling StorageObjectsApi.download_public_file"
222
+ end
223
+ if @api_client.config.client_side_validation && bucket_name.to_s.length > 64
224
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.download_public_file, the character length must be smaller than or equal to 64.'
225
+ end
226
+
227
+ if @api_client.config.client_side_validation && bucket_name.to_s.length < 1
228
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.download_public_file, the character length must be greater than or equal to 1.'
229
+ end
230
+
231
+ pattern = Regexp.new(/^[a-zA-Z0-9_-]+$/)
232
+ if @api_client.config.client_side_validation && bucket_name !~ pattern
233
+ fail ArgumentError, "invalid value for 'bucket_name' when calling StorageObjectsApi.download_public_file, must conform to the pattern #{pattern}."
234
+ end
235
+
236
+ # verify the required parameter 'path' is set
237
+ if @api_client.config.client_side_validation && path.nil?
238
+ fail ArgumentError, "Missing the required parameter 'path' when calling StorageObjectsApi.download_public_file"
239
+ end
240
+ # resource path
241
+ local_var_path = '/public/{projectId}/{bucketName}/{path}'.sub('{' + 'projectId' + '}', CGI.escape(project_id.to_s)).sub('{' + 'bucketName' + '}', CGI.escape(bucket_name.to_s)).sub('{' + 'path' + '}', CGI.escape(path.to_s))
242
+
243
+ # query parameters
244
+ query_params = opts[:query_params] || {}
245
+
246
+ # header parameters
247
+ header_params = opts[:header_params] || {}
248
+ # HTTP header 'Accept' (if needed)
249
+ header_params['Accept'] = @api_client.select_header_accept(['*/*', 'application/json']) unless header_params['Accept']
250
+
251
+ # form parameters
252
+ form_params = opts[:form_params] || {}
253
+
254
+ # http body (model)
255
+ post_body = opts[:debug_body]
256
+
257
+ # return_type
258
+ return_type = opts[:debug_return_type] || 'File'
259
+
260
+ # auth_names
261
+ auth_names = opts[:debug_auth_names] || []
262
+
263
+ new_options = opts.merge(
264
+ :operation => :"StorageObjectsApi.download_public_file",
265
+ :header_params => header_params,
266
+ :query_params => query_params,
267
+ :form_params => form_params,
268
+ :body => post_body,
269
+ :auth_names => auth_names,
270
+ :return_type => return_type
271
+ )
272
+
273
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
274
+ if @api_client.config.debugging
275
+ @api_client.config.logger.debug "API called: StorageObjectsApi#download_public_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
276
+ end
277
+ return data, status_code, headers
278
+ end
279
+
280
+ # Download a file or get upload session status
281
+ # Download a file, or get the status of a resumable upload session. **File Download (default):** Downloads the file at the specified path. **Session Status (with X-Upload-Session header):** Returns the status of a resumable upload session, including which parts have been uploaded. Anonymous sessions must reuse the exact anon key that created the session.
282
+ # @param bucket_name [String] Storage bucket name
283
+ # @param path [String] Object path within bucket
284
+ # @param [Hash] opts the optional parameters
285
+ # @option opts [String] :range HTTP Range header for partial downloads. Format: bytes&#x3D;start-end or bytes&#x3D;start- Examples: bytes&#x3D;0-1023, bytes&#x3D;1000-
286
+ # @option opts [String] :x_upload_session Upload session ID (to get session status instead of downloading)
287
+ # @return [File]
288
+ def download_storage_object(bucket_name, path, opts = {})
289
+ data, _status_code, _headers = download_storage_object_with_http_info(bucket_name, path, opts)
290
+ data
291
+ end
292
+
293
+ # Download a file or get upload session status
294
+ # Download a file, or get the status of a resumable upload session. **File Download (default):** Downloads the file at the specified path. **Session Status (with X-Upload-Session header):** Returns the status of a resumable upload session, including which parts have been uploaded. Anonymous sessions must reuse the exact anon key that created the session.
295
+ # @param bucket_name [String] Storage bucket name
296
+ # @param path [String] Object path within bucket
297
+ # @param [Hash] opts the optional parameters
298
+ # @option opts [String] :range HTTP Range header for partial downloads. Format: bytes&#x3D;start-end or bytes&#x3D;start- Examples: bytes&#x3D;0-1023, bytes&#x3D;1000-
299
+ # @option opts [String] :x_upload_session Upload session ID (to get session status instead of downloading)
300
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
301
+ def download_storage_object_with_http_info(bucket_name, path, opts = {})
302
+ if @api_client.config.debugging
303
+ @api_client.config.logger.debug 'Calling API: StorageObjectsApi.download_storage_object ...'
304
+ end
305
+ # verify the required parameter 'bucket_name' is set
306
+ if @api_client.config.client_side_validation && bucket_name.nil?
307
+ fail ArgumentError, "Missing the required parameter 'bucket_name' when calling StorageObjectsApi.download_storage_object"
308
+ end
309
+ if @api_client.config.client_side_validation && bucket_name.to_s.length > 64
310
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.download_storage_object, the character length must be smaller than or equal to 64.'
311
+ end
312
+
313
+ if @api_client.config.client_side_validation && bucket_name.to_s.length < 1
314
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.download_storage_object, the character length must be greater than or equal to 1.'
315
+ end
316
+
317
+ pattern = Regexp.new(/^[a-zA-Z0-9_-]+$/)
318
+ if @api_client.config.client_side_validation && bucket_name !~ pattern
319
+ fail ArgumentError, "invalid value for 'bucket_name' when calling StorageObjectsApi.download_storage_object, must conform to the pattern #{pattern}."
320
+ end
321
+
322
+ # verify the required parameter 'path' is set
323
+ if @api_client.config.client_side_validation && path.nil?
324
+ fail ArgumentError, "Missing the required parameter 'path' when calling StorageObjectsApi.download_storage_object"
325
+ end
326
+ pattern = Regexp.new(/^bytes=\d+-\d*$/)
327
+ if @api_client.config.client_side_validation && !opts[:'range'].nil? && opts[:'range'] !~ pattern
328
+ fail ArgumentError, "invalid value for 'opts[:\"range\"]' when calling StorageObjectsApi.download_storage_object, must conform to the pattern #{pattern}."
329
+ end
330
+
331
+ # resource path
332
+ local_var_path = '/storage/{bucketName}/{path}'.sub('{' + 'bucketName' + '}', CGI.escape(bucket_name.to_s)).sub('{' + 'path' + '}', CGI.escape(path.to_s))
333
+
334
+ # query parameters
335
+ query_params = opts[:query_params] || {}
336
+
337
+ # header parameters
338
+ header_params = opts[:header_params] || {}
339
+ # HTTP header 'Accept' (if needed)
340
+ header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream', 'application/json']) unless header_params['Accept']
341
+ header_params[:'Range'] = opts[:'range'] if !opts[:'range'].nil?
342
+ header_params[:'X-Upload-Session'] = opts[:'x_upload_session'] if !opts[:'x_upload_session'].nil?
343
+
344
+ # form parameters
345
+ form_params = opts[:form_params] || {}
346
+
347
+ # http body (model)
348
+ post_body = opts[:debug_body]
349
+
350
+ # return_type
351
+ return_type = opts[:debug_return_type] || 'File'
352
+
353
+ # auth_names
354
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'AnonKey']
355
+
356
+ new_options = opts.merge(
357
+ :operation => :"StorageObjectsApi.download_storage_object",
358
+ :header_params => header_params,
359
+ :query_params => query_params,
360
+ :form_params => form_params,
361
+ :body => post_body,
362
+ :auth_names => auth_names,
363
+ :return_type => return_type
364
+ )
365
+
366
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
367
+ if @api_client.config.debugging
368
+ @api_client.config.logger.debug "API called: StorageObjectsApi#download_storage_object\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
369
+ end
370
+ return data, status_code, headers
371
+ end
372
+
373
+ # List objects in a bucket
374
+ # @param bucket_name [String] Storage bucket name
375
+ # @param [Hash] opts the optional parameters
376
+ # @option opts [String] :prefix Filter objects by path prefix
377
+ # @option opts [Integer] :limit Maximum objects to return (default to 50)
378
+ # @option opts [String] :cursor Pagination cursor
379
+ # @return [StorageListResponse]
380
+ def list_storage_objects(bucket_name, opts = {})
381
+ data, _status_code, _headers = list_storage_objects_with_http_info(bucket_name, opts)
382
+ data
383
+ end
384
+
385
+ # List objects in a bucket
386
+ # @param bucket_name [String] Storage bucket name
387
+ # @param [Hash] opts the optional parameters
388
+ # @option opts [String] :prefix Filter objects by path prefix
389
+ # @option opts [Integer] :limit Maximum objects to return (default to 50)
390
+ # @option opts [String] :cursor Pagination cursor
391
+ # @return [Array<(StorageListResponse, Integer, Hash)>] StorageListResponse data, response status code and response headers
392
+ def list_storage_objects_with_http_info(bucket_name, opts = {})
393
+ if @api_client.config.debugging
394
+ @api_client.config.logger.debug 'Calling API: StorageObjectsApi.list_storage_objects ...'
395
+ end
396
+ # verify the required parameter 'bucket_name' is set
397
+ if @api_client.config.client_side_validation && bucket_name.nil?
398
+ fail ArgumentError, "Missing the required parameter 'bucket_name' when calling StorageObjectsApi.list_storage_objects"
399
+ end
400
+ if @api_client.config.client_side_validation && bucket_name.to_s.length > 64
401
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.list_storage_objects, the character length must be smaller than or equal to 64.'
402
+ end
403
+
404
+ if @api_client.config.client_side_validation && bucket_name.to_s.length < 1
405
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.list_storage_objects, the character length must be greater than or equal to 1.'
406
+ end
407
+
408
+ pattern = Regexp.new(/^[a-zA-Z0-9_-]+$/)
409
+ if @api_client.config.client_side_validation && bucket_name !~ pattern
410
+ fail ArgumentError, "invalid value for 'bucket_name' when calling StorageObjectsApi.list_storage_objects, must conform to the pattern #{pattern}."
411
+ end
412
+
413
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 1000
414
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling StorageObjectsApi.list_storage_objects, must be smaller than or equal to 1000.'
415
+ end
416
+
417
+ # resource path
418
+ local_var_path = '/storage/{bucketName}'.sub('{' + 'bucketName' + '}', CGI.escape(bucket_name.to_s))
419
+
420
+ # query parameters
421
+ query_params = opts[:query_params] || {}
422
+ query_params[:'prefix'] = opts[:'prefix'] if !opts[:'prefix'].nil?
423
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
424
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
425
+
426
+ # header parameters
427
+ header_params = opts[:header_params] || {}
428
+ # HTTP header 'Accept' (if needed)
429
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
430
+
431
+ # form parameters
432
+ form_params = opts[:form_params] || {}
433
+
434
+ # http body (model)
435
+ post_body = opts[:debug_body]
436
+
437
+ # return_type
438
+ return_type = opts[:debug_return_type] || 'StorageListResponse'
439
+
440
+ # auth_names
441
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'AnonKey']
442
+
443
+ new_options = opts.merge(
444
+ :operation => :"StorageObjectsApi.list_storage_objects",
445
+ :header_params => header_params,
446
+ :query_params => query_params,
447
+ :form_params => form_params,
448
+ :body => post_body,
449
+ :auth_names => auth_names,
450
+ :return_type => return_type
451
+ )
452
+
453
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
454
+ if @api_client.config.debugging
455
+ @api_client.config.logger.debug "API called: StorageObjectsApi#list_storage_objects\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
456
+ end
457
+ return data, status_code, headers
458
+ end
459
+
460
+ # Move/rename an object
461
+ # @param bucket_name [String] Storage bucket name
462
+ # @param storage_move_request [StorageMoveRequest]
463
+ # @param [Hash] opts the optional parameters
464
+ # @return [StorageObject]
465
+ def move_storage_object(bucket_name, storage_move_request, opts = {})
466
+ data, _status_code, _headers = move_storage_object_with_http_info(bucket_name, storage_move_request, opts)
467
+ data
468
+ end
469
+
470
+ # Move/rename an object
471
+ # @param bucket_name [String] Storage bucket name
472
+ # @param storage_move_request [StorageMoveRequest]
473
+ # @param [Hash] opts the optional parameters
474
+ # @return [Array<(StorageObject, Integer, Hash)>] StorageObject data, response status code and response headers
475
+ def move_storage_object_with_http_info(bucket_name, storage_move_request, opts = {})
476
+ if @api_client.config.debugging
477
+ @api_client.config.logger.debug 'Calling API: StorageObjectsApi.move_storage_object ...'
478
+ end
479
+ # verify the required parameter 'bucket_name' is set
480
+ if @api_client.config.client_side_validation && bucket_name.nil?
481
+ fail ArgumentError, "Missing the required parameter 'bucket_name' when calling StorageObjectsApi.move_storage_object"
482
+ end
483
+ if @api_client.config.client_side_validation && bucket_name.to_s.length > 64
484
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.move_storage_object, the character length must be smaller than or equal to 64.'
485
+ end
486
+
487
+ if @api_client.config.client_side_validation && bucket_name.to_s.length < 1
488
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.move_storage_object, the character length must be greater than or equal to 1.'
489
+ end
490
+
491
+ pattern = Regexp.new(/^[a-zA-Z0-9_-]+$/)
492
+ if @api_client.config.client_side_validation && bucket_name !~ pattern
493
+ fail ArgumentError, "invalid value for 'bucket_name' when calling StorageObjectsApi.move_storage_object, must conform to the pattern #{pattern}."
494
+ end
495
+
496
+ # verify the required parameter 'storage_move_request' is set
497
+ if @api_client.config.client_side_validation && storage_move_request.nil?
498
+ fail ArgumentError, "Missing the required parameter 'storage_move_request' when calling StorageObjectsApi.move_storage_object"
499
+ end
500
+ # resource path
501
+ local_var_path = '/storage/{bucketName}/move'.sub('{' + 'bucketName' + '}', CGI.escape(bucket_name.to_s))
502
+
503
+ # query parameters
504
+ query_params = opts[:query_params] || {}
505
+
506
+ # header parameters
507
+ header_params = opts[:header_params] || {}
508
+ # HTTP header 'Accept' (if needed)
509
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
510
+ # HTTP header 'Content-Type'
511
+ content_type = @api_client.select_header_content_type(['application/json'])
512
+ if !content_type.nil?
513
+ header_params['Content-Type'] = content_type
514
+ end
515
+
516
+ # form parameters
517
+ form_params = opts[:form_params] || {}
518
+
519
+ # http body (model)
520
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(storage_move_request)
521
+
522
+ # return_type
523
+ return_type = opts[:debug_return_type] || 'StorageObject'
524
+
525
+ # auth_names
526
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken']
527
+
528
+ new_options = opts.merge(
529
+ :operation => :"StorageObjectsApi.move_storage_object",
530
+ :header_params => header_params,
531
+ :query_params => query_params,
532
+ :form_params => form_params,
533
+ :body => post_body,
534
+ :auth_names => auth_names,
535
+ :return_type => return_type
536
+ )
537
+
538
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
539
+ if @api_client.config.debugging
540
+ @api_client.config.logger.debug "API called: StorageObjectsApi#move_storage_object\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
541
+ end
542
+ return data, status_code, headers
543
+ end
544
+
545
+ # Update file visibility (public/private)
546
+ # Change whether a file is publicly accessible. Only the file owner or a service key can change visibility. If the bucket defines UPDATE policies, the owner must also satisfy one of them. - Public files can be downloaded with just an anon key (no user authentication required) - Private files (default) require authentication and must pass policy checks - All downloads go through the Volcano API - there is no direct access to the underlying store
547
+ # @param bucket_name [String] Storage bucket name
548
+ # @param path [String] Object path within bucket
549
+ # @param storage_visibility_request [StorageVisibilityRequest]
550
+ # @param [Hash] opts the optional parameters
551
+ # @return [StorageObject]
552
+ def update_storage_object_visibility(bucket_name, path, storage_visibility_request, opts = {})
553
+ data, _status_code, _headers = update_storage_object_visibility_with_http_info(bucket_name, path, storage_visibility_request, opts)
554
+ data
555
+ end
556
+
557
+ # Update file visibility (public/private)
558
+ # Change whether a file is publicly accessible. Only the file owner or a service key can change visibility. If the bucket defines UPDATE policies, the owner must also satisfy one of them. - Public files can be downloaded with just an anon key (no user authentication required) - Private files (default) require authentication and must pass policy checks - All downloads go through the Volcano API - there is no direct access to the underlying store
559
+ # @param bucket_name [String] Storage bucket name
560
+ # @param path [String] Object path within bucket
561
+ # @param storage_visibility_request [StorageVisibilityRequest]
562
+ # @param [Hash] opts the optional parameters
563
+ # @return [Array<(StorageObject, Integer, Hash)>] StorageObject data, response status code and response headers
564
+ def update_storage_object_visibility_with_http_info(bucket_name, path, storage_visibility_request, opts = {})
565
+ if @api_client.config.debugging
566
+ @api_client.config.logger.debug 'Calling API: StorageObjectsApi.update_storage_object_visibility ...'
567
+ end
568
+ # verify the required parameter 'bucket_name' is set
569
+ if @api_client.config.client_side_validation && bucket_name.nil?
570
+ fail ArgumentError, "Missing the required parameter 'bucket_name' when calling StorageObjectsApi.update_storage_object_visibility"
571
+ end
572
+ if @api_client.config.client_side_validation && bucket_name.to_s.length > 64
573
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.update_storage_object_visibility, the character length must be smaller than or equal to 64.'
574
+ end
575
+
576
+ if @api_client.config.client_side_validation && bucket_name.to_s.length < 1
577
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.update_storage_object_visibility, the character length must be greater than or equal to 1.'
578
+ end
579
+
580
+ pattern = Regexp.new(/^[a-zA-Z0-9_-]+$/)
581
+ if @api_client.config.client_side_validation && bucket_name !~ pattern
582
+ fail ArgumentError, "invalid value for 'bucket_name' when calling StorageObjectsApi.update_storage_object_visibility, must conform to the pattern #{pattern}."
583
+ end
584
+
585
+ # verify the required parameter 'path' is set
586
+ if @api_client.config.client_side_validation && path.nil?
587
+ fail ArgumentError, "Missing the required parameter 'path' when calling StorageObjectsApi.update_storage_object_visibility"
588
+ end
589
+ # verify the required parameter 'storage_visibility_request' is set
590
+ if @api_client.config.client_side_validation && storage_visibility_request.nil?
591
+ fail ArgumentError, "Missing the required parameter 'storage_visibility_request' when calling StorageObjectsApi.update_storage_object_visibility"
592
+ end
593
+ # resource path
594
+ local_var_path = '/storage/{bucketName}/{path}/visibility'.sub('{' + 'bucketName' + '}', CGI.escape(bucket_name.to_s)).sub('{' + 'path' + '}', CGI.escape(path.to_s))
595
+
596
+ # query parameters
597
+ query_params = opts[:query_params] || {}
598
+
599
+ # header parameters
600
+ header_params = opts[:header_params] || {}
601
+ # HTTP header 'Accept' (if needed)
602
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
603
+ # HTTP header 'Content-Type'
604
+ content_type = @api_client.select_header_content_type(['application/json'])
605
+ if !content_type.nil?
606
+ header_params['Content-Type'] = content_type
607
+ end
608
+
609
+ # form parameters
610
+ form_params = opts[:form_params] || {}
611
+
612
+ # http body (model)
613
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(storage_visibility_request)
614
+
615
+ # return_type
616
+ return_type = opts[:debug_return_type] || 'StorageObject'
617
+
618
+ # auth_names
619
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken']
620
+
621
+ new_options = opts.merge(
622
+ :operation => :"StorageObjectsApi.update_storage_object_visibility",
623
+ :header_params => header_params,
624
+ :query_params => query_params,
625
+ :form_params => form_params,
626
+ :body => post_body,
627
+ :auth_names => auth_names,
628
+ :return_type => return_type
629
+ )
630
+
631
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
632
+ if @api_client.config.debugging
633
+ @api_client.config.logger.debug "API called: StorageObjectsApi#update_storage_object_visibility\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
634
+ end
635
+ return data, status_code, headers
636
+ end
637
+
638
+ # Upload a part of a resumable upload
639
+ # Upload a single part of a resumable upload session. **Requirements:** - Part numbers start at 1 - All parts except the last must be at least 5MB - Maximum part size is 25MB - Parts can be uploaded in any order - Re-uploading a part overwrites the previous upload - Anonymous sessions must reuse the exact anon key that created the session
640
+ # @param bucket_name [String] Storage bucket name
641
+ # @param path [String] Object path within bucket
642
+ # @param x_upload_session [String] Upload session ID
643
+ # @param x_part_number [Integer] Part number (1 to 10000)
644
+ # @param body [File]
645
+ # @param [Hash] opts the optional parameters
646
+ # @return [UploadSessionPart]
647
+ def upload_part(bucket_name, path, x_upload_session, x_part_number, body, opts = {})
648
+ data, _status_code, _headers = upload_part_with_http_info(bucket_name, path, x_upload_session, x_part_number, body, opts)
649
+ data
650
+ end
651
+
652
+ # Upload a part of a resumable upload
653
+ # Upload a single part of a resumable upload session. **Requirements:** - Part numbers start at 1 - All parts except the last must be at least 5MB - Maximum part size is 25MB - Parts can be uploaded in any order - Re-uploading a part overwrites the previous upload - Anonymous sessions must reuse the exact anon key that created the session
654
+ # @param bucket_name [String] Storage bucket name
655
+ # @param path [String] Object path within bucket
656
+ # @param x_upload_session [String] Upload session ID
657
+ # @param x_part_number [Integer] Part number (1 to 10000)
658
+ # @param body [File]
659
+ # @param [Hash] opts the optional parameters
660
+ # @return [Array<(UploadSessionPart, Integer, Hash)>] UploadSessionPart data, response status code and response headers
661
+ def upload_part_with_http_info(bucket_name, path, x_upload_session, x_part_number, body, opts = {})
662
+ if @api_client.config.debugging
663
+ @api_client.config.logger.debug 'Calling API: StorageObjectsApi.upload_part ...'
664
+ end
665
+ # verify the required parameter 'bucket_name' is set
666
+ if @api_client.config.client_side_validation && bucket_name.nil?
667
+ fail ArgumentError, "Missing the required parameter 'bucket_name' when calling StorageObjectsApi.upload_part"
668
+ end
669
+ if @api_client.config.client_side_validation && bucket_name.to_s.length > 64
670
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.upload_part, the character length must be smaller than or equal to 64.'
671
+ end
672
+
673
+ if @api_client.config.client_side_validation && bucket_name.to_s.length < 1
674
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.upload_part, the character length must be greater than or equal to 1.'
675
+ end
676
+
677
+ pattern = Regexp.new(/^[a-zA-Z0-9_-]+$/)
678
+ if @api_client.config.client_side_validation && bucket_name !~ pattern
679
+ fail ArgumentError, "invalid value for 'bucket_name' when calling StorageObjectsApi.upload_part, must conform to the pattern #{pattern}."
680
+ end
681
+
682
+ # verify the required parameter 'path' is set
683
+ if @api_client.config.client_side_validation && path.nil?
684
+ fail ArgumentError, "Missing the required parameter 'path' when calling StorageObjectsApi.upload_part"
685
+ end
686
+ # verify the required parameter 'x_upload_session' is set
687
+ if @api_client.config.client_side_validation && x_upload_session.nil?
688
+ fail ArgumentError, "Missing the required parameter 'x_upload_session' when calling StorageObjectsApi.upload_part"
689
+ end
690
+ # verify the required parameter 'x_part_number' is set
691
+ if @api_client.config.client_side_validation && x_part_number.nil?
692
+ fail ArgumentError, "Missing the required parameter 'x_part_number' when calling StorageObjectsApi.upload_part"
693
+ end
694
+ if @api_client.config.client_side_validation && x_part_number > 10000
695
+ fail ArgumentError, 'invalid value for "x_part_number" when calling StorageObjectsApi.upload_part, must be smaller than or equal to 10000.'
696
+ end
697
+
698
+ if @api_client.config.client_side_validation && x_part_number < 1
699
+ fail ArgumentError, 'invalid value for "x_part_number" when calling StorageObjectsApi.upload_part, must be greater than or equal to 1.'
700
+ end
701
+
702
+ # verify the required parameter 'body' is set
703
+ if @api_client.config.client_side_validation && body.nil?
704
+ fail ArgumentError, "Missing the required parameter 'body' when calling StorageObjectsApi.upload_part"
705
+ end
706
+ # resource path
707
+ local_var_path = '/storage/{bucketName}/{path}'.sub('{' + 'bucketName' + '}', CGI.escape(bucket_name.to_s)).sub('{' + 'path' + '}', CGI.escape(path.to_s))
708
+
709
+ # query parameters
710
+ query_params = opts[:query_params] || {}
711
+
712
+ # header parameters
713
+ header_params = opts[:header_params] || {}
714
+ # HTTP header 'Accept' (if needed)
715
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
716
+ # HTTP header 'Content-Type'
717
+ content_type = @api_client.select_header_content_type(['application/octet-stream'])
718
+ if !content_type.nil?
719
+ header_params['Content-Type'] = content_type
720
+ end
721
+ header_params[:'X-Upload-Session'] = x_upload_session
722
+ header_params[:'X-Part-Number'] = x_part_number
723
+
724
+ # form parameters
725
+ form_params = opts[:form_params] || {}
726
+
727
+ # http body (model)
728
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
729
+
730
+ # return_type
731
+ return_type = opts[:debug_return_type] || 'UploadSessionPart'
732
+
733
+ # auth_names
734
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'AnonKey']
735
+
736
+ new_options = opts.merge(
737
+ :operation => :"StorageObjectsApi.upload_part",
738
+ :header_params => header_params,
739
+ :query_params => query_params,
740
+ :form_params => form_params,
741
+ :body => post_body,
742
+ :auth_names => auth_names,
743
+ :return_type => return_type
744
+ )
745
+
746
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
747
+ if @api_client.config.debugging
748
+ @api_client.config.logger.debug "API called: StorageObjectsApi#upload_part\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
749
+ end
750
+ return data, status_code, headers
751
+ end
752
+
753
+ # Upload a file or create resumable session
754
+ # Unified endpoint for file uploads. Behavior depends on Content-Type and headers: **Simple Upload (multipart/form-data):** Upload a complete file in a single request. Best for files under 100MB. **Create Resumable Session (application/json):** Create a session for chunked uploads. Best for large files or unreliable networks. Requires: `Content-Type: application/json` with body `{\"filename\": \"...\", \"content_type\": \"...\", \"total_size\": ...}` **Complete Resumable Session:** Complete a session after all parts are uploaded. Requires: `X-Upload-Session` header with session ID and `X-Upload-Complete: true` header. **Resumable Session Ownership:** A session created with a user access token remains bound to that user. A session created with an anon key remains bound to that exact anon key. Reuse the same identity or anon key for part uploads, status, completion, and abort requests; an ownership mismatch returns `404`.
755
+ # @param bucket_name [String] Storage bucket name
756
+ # @param path [String] Object path within bucket
757
+ # @param file [File] File to upload (simple upload)
758
+ # @param [Hash] opts the optional parameters
759
+ # @option opts [String] :x_upload_session Upload session ID (for completing resumable uploads)
760
+ # @option opts [String] :x_upload_complete Set to \&quot;true\&quot; to complete a resumable upload session
761
+ # @return [CompleteUploadSessionResponse]
762
+ def upload_storage_object(bucket_name, path, file, opts = {})
763
+ data, _status_code, _headers = upload_storage_object_with_http_info(bucket_name, path, file, opts)
764
+ data
765
+ end
766
+
767
+ # Upload a file or create resumable session
768
+ # Unified endpoint for file uploads. Behavior depends on Content-Type and headers: **Simple Upload (multipart/form-data):** Upload a complete file in a single request. Best for files under 100MB. **Create Resumable Session (application/json):** Create a session for chunked uploads. Best for large files or unreliable networks. Requires: &#x60;Content-Type: application/json&#x60; with body &#x60;{\&quot;filename\&quot;: \&quot;...\&quot;, \&quot;content_type\&quot;: \&quot;...\&quot;, \&quot;total_size\&quot;: ...}&#x60; **Complete Resumable Session:** Complete a session after all parts are uploaded. Requires: &#x60;X-Upload-Session&#x60; header with session ID and &#x60;X-Upload-Complete: true&#x60; header. **Resumable Session Ownership:** A session created with a user access token remains bound to that user. A session created with an anon key remains bound to that exact anon key. Reuse the same identity or anon key for part uploads, status, completion, and abort requests; an ownership mismatch returns &#x60;404&#x60;.
769
+ # @param bucket_name [String] Storage bucket name
770
+ # @param path [String] Object path within bucket
771
+ # @param file [File] File to upload (simple upload)
772
+ # @param [Hash] opts the optional parameters
773
+ # @option opts [String] :x_upload_session Upload session ID (for completing resumable uploads)
774
+ # @option opts [String] :x_upload_complete Set to \&quot;true\&quot; to complete a resumable upload session
775
+ # @return [Array<(CompleteUploadSessionResponse, Integer, Hash)>] CompleteUploadSessionResponse data, response status code and response headers
776
+ def upload_storage_object_with_http_info(bucket_name, path, file, opts = {})
777
+ if @api_client.config.debugging
778
+ @api_client.config.logger.debug 'Calling API: StorageObjectsApi.upload_storage_object ...'
779
+ end
780
+ # verify the required parameter 'bucket_name' is set
781
+ if @api_client.config.client_side_validation && bucket_name.nil?
782
+ fail ArgumentError, "Missing the required parameter 'bucket_name' when calling StorageObjectsApi.upload_storage_object"
783
+ end
784
+ if @api_client.config.client_side_validation && bucket_name.to_s.length > 64
785
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.upload_storage_object, the character length must be smaller than or equal to 64.'
786
+ end
787
+
788
+ if @api_client.config.client_side_validation && bucket_name.to_s.length < 1
789
+ fail ArgumentError, 'invalid value for "bucket_name" when calling StorageObjectsApi.upload_storage_object, the character length must be greater than or equal to 1.'
790
+ end
791
+
792
+ pattern = Regexp.new(/^[a-zA-Z0-9_-]+$/)
793
+ if @api_client.config.client_side_validation && bucket_name !~ pattern
794
+ fail ArgumentError, "invalid value for 'bucket_name' when calling StorageObjectsApi.upload_storage_object, must conform to the pattern #{pattern}."
795
+ end
796
+
797
+ # verify the required parameter 'path' is set
798
+ if @api_client.config.client_side_validation && path.nil?
799
+ fail ArgumentError, "Missing the required parameter 'path' when calling StorageObjectsApi.upload_storage_object"
800
+ end
801
+ # verify the required parameter 'file' is set
802
+ if @api_client.config.client_side_validation && file.nil?
803
+ fail ArgumentError, "Missing the required parameter 'file' when calling StorageObjectsApi.upload_storage_object"
804
+ end
805
+ allowable_values = ["true"]
806
+ if @api_client.config.client_side_validation && opts[:'x_upload_complete'] && !allowable_values.include?(opts[:'x_upload_complete'])
807
+ fail ArgumentError, "invalid value for \"x_upload_complete\", must be one of #{allowable_values}"
808
+ end
809
+ # resource path
810
+ local_var_path = '/storage/{bucketName}/{path}'.sub('{' + 'bucketName' + '}', CGI.escape(bucket_name.to_s)).sub('{' + 'path' + '}', CGI.escape(path.to_s))
811
+
812
+ # query parameters
813
+ query_params = opts[:query_params] || {}
814
+
815
+ # header parameters
816
+ header_params = opts[:header_params] || {}
817
+ # HTTP header 'Accept' (if needed)
818
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
819
+ # HTTP header 'Content-Type'
820
+ content_type = @api_client.select_header_content_type(['multipart/form-data', 'application/json'])
821
+ if !content_type.nil?
822
+ header_params['Content-Type'] = content_type
823
+ end
824
+ header_params[:'X-Upload-Session'] = opts[:'x_upload_session'] if !opts[:'x_upload_session'].nil?
825
+ header_params[:'X-Upload-Complete'] = opts[:'x_upload_complete'] if !opts[:'x_upload_complete'].nil?
826
+
827
+ # form parameters
828
+ form_params = opts[:form_params] || {}
829
+ form_params['file'] = file
830
+
831
+ # http body (model)
832
+ post_body = opts[:debug_body]
833
+
834
+ # return_type
835
+ return_type = opts[:debug_return_type] || 'CompleteUploadSessionResponse'
836
+
837
+ # auth_names
838
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'AnonKey']
839
+
840
+ new_options = opts.merge(
841
+ :operation => :"StorageObjectsApi.upload_storage_object",
842
+ :header_params => header_params,
843
+ :query_params => query_params,
844
+ :form_params => form_params,
845
+ :body => post_body,
846
+ :auth_names => auth_names,
847
+ :return_type => return_type
848
+ )
849
+
850
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
851
+ if @api_client.config.debugging
852
+ @api_client.config.logger.debug "API called: StorageObjectsApi#upload_storage_object\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
853
+ end
854
+ return data, status_code, headers
855
+ end
856
+ end
857
+ end