volcano-sdk 0.32.7 → 0.34.0

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 (496) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +54 -2
  3. data/lib/volcano/auth_profile_fields.rb +2 -2
  4. data/lib/volcano/client.rb +3 -2
  5. data/lib/volcano/durable.rb +7 -34
  6. data/lib/volcano/durable_approval_models.rb +171 -0
  7. data/lib/volcano/durable_approval_responses.rb +222 -0
  8. data/lib/volcano/durable_approvals.rb +143 -0
  9. data/lib/volcano/durable_arguments.rb +59 -0
  10. data/lib/volcano/durable_models.rb +0 -4
  11. data/lib/volcano/errors.rb +5 -0
  12. data/lib/volcano/generated/lib/volcano-generated/api/anon_keys_api.rb +8 -8
  13. data/lib/volcano/generated/lib/volcano-generated/api/auth_admin_api.rb +17 -17
  14. data/lib/volcano/generated/lib/volcano-generated/api/auth_configuration_api.rb +26 -26
  15. data/lib/volcano/generated/lib/volcano-generated/api/authentication_api.rb +4 -4
  16. data/lib/volcano/generated/lib/volcano-generated/api/database_backups_api.rb +11 -11
  17. data/lib/volcano/generated/lib/volcano-generated/api/database_branches_api.rb +9 -9
  18. data/lib/volcano/generated/lib/volcano-generated/api/database_queries_api.rb +4 -4
  19. data/lib/volcano/generated/lib/volcano-generated/api/databases_api.rb +18 -18
  20. data/lib/volcano/generated/lib/volcano-generated/api/durable_functions_api.rb +559 -8
  21. data/lib/volcano/generated/lib/volcano-generated/api/frontends_api.rb +337 -21
  22. data/lib/volcano/generated/lib/volcano-generated/api/functions_api.rb +33 -27
  23. data/lib/volcano/generated/lib/volcano-generated/api/git_connections_api.rb +19 -11
  24. data/lib/volcano/generated/lib/volcano-generated/api/locks_api.rb +2 -2
  25. data/lib/volcano/generated/lib/volcano-generated/api/logs_api.rb +11 -11
  26. data/lib/volcano/generated/lib/volcano-generated/api/o_auth_authentication_api.rb +2 -2
  27. data/lib/volcano/generated/lib/volcano-generated/api/o_auth_configuration_api.rb +8 -8
  28. data/lib/volcano/generated/lib/volcano-generated/api/project_access_tokens_api.rb +479 -0
  29. data/lib/volcano/generated/lib/volcano-generated/api/project_imports_api.rb +10 -2
  30. data/lib/volcano/generated/lib/volcano-generated/api/projects_api.rb +110 -30
  31. data/lib/volcano/generated/lib/volcano-generated/api/realtime_api.rb +5 -5
  32. data/lib/volcano/generated/lib/volcano-generated/api/sandboxes_api.rb +1792 -0
  33. data/lib/volcano/generated/lib/volcano-generated/api/service_keys_api.rb +9 -9
  34. data/lib/volcano/generated/lib/volcano-generated/api/storage_admin_api.rb +4 -4
  35. data/lib/volcano/generated/lib/volcano-generated/api/storage_buckets_api.rb +7 -7
  36. data/lib/volcano/generated/lib/volcano-generated/api/storage_objects_api.rb +2 -2
  37. data/lib/volcano/generated/lib/volcano-generated/api/storage_policies_api.rb +5 -5
  38. data/lib/volcano/generated/lib/volcano-generated/api/system_api.rb +310 -2
  39. data/lib/volcano/generated/lib/volcano-generated/api/variables_api.rb +13 -13
  40. data/lib/volcano/generated/lib/volcano-generated/api/verified_domains_api.rb +214 -0
  41. data/lib/volcano/generated/lib/volcano-generated/api_client.rb +2 -2
  42. data/lib/volcano/generated/lib/volcano-generated/api_error.rb +2 -2
  43. data/lib/volcano/generated/lib/volcano-generated/api_model_base.rb +2 -2
  44. data/lib/volcano/generated/lib/volcano-generated/configuration.rb +11 -3
  45. data/lib/volcano/generated/lib/volcano-generated/models/anon_key.rb +2 -2
  46. data/lib/volcano/generated/lib/volcano-generated/models/auth_config.rb +2 -2
  47. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email200_response.rb +2 -2
  48. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_change200_response.rb +2 -2
  49. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_change_request.rb +2 -2
  50. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_request.rb +2 -2
  51. data/lib/volcano/generated/lib/volcano-generated/models/auth_convert_anonymous200_response.rb +2 -2
  52. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_authorize_request.rb +2 -2
  53. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_token_request.rb +2 -2
  54. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_verify200_response.rb +2 -2
  55. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_verify_request.rb +2 -2
  56. data/lib/volcano/generated/lib/volcano-generated/models/auth_forgot_password200_response.rb +2 -2
  57. data/lib/volcano/generated/lib/volcano-generated/models/auth_forgot_password_request.rb +2 -2
  58. data/lib/volcano/generated/lib/volcano-generated/models/auth_get_my_sessions200_response.rb +2 -2
  59. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page.rb +2 -2
  60. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_defaults.rb +2 -2
  61. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_response.rb +2 -2
  62. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_runtime.rb +2 -2
  63. data/lib/volcano/generated/lib/volcano-generated/models/auth_identities_response.rb +2 -2
  64. data/lib/volcano/generated/lib/volcano-generated/models/auth_identity.rb +2 -2
  65. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_interval.rb +2 -2
  66. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_response.rb +2 -2
  67. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_series_point.rb +67 -4
  68. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_summary.rb +77 -5
  69. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_window.rb +2 -2
  70. data/lib/volcano/generated/lib/volcano-generated/models/auth_link_o_auth_provider200_response.rb +2 -2
  71. data/lib/volcano/generated/lib/volcano-generated/models/auth_list_o_auth_providers200_response.rb +2 -2
  72. data/lib/volcano/generated/lib/volcano-generated/models/auth_list_o_auth_providers200_response_providers_inner.rb +2 -2
  73. data/lib/volcano/generated/lib/volcano-generated/models/auth_method_summary.rb +2 -2
  74. data/lib/volcano/generated/lib/volcano-generated/models/auth_methods_response.rb +2 -2
  75. data/lib/volcano/generated/lib/volcano-generated/models/auth_o_auth_exchange_request.rb +2 -2
  76. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_defaults.rb +2 -2
  77. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_options.rb +2 -2
  78. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_response.rb +2 -2
  79. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_density.rb +2 -2
  80. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_font.rb +2 -2
  81. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_layout.rb +2 -2
  82. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_radius.rb +2 -2
  83. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_scale.rb +2 -2
  84. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_theme.rb +2 -2
  85. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_theme_colors.rb +2 -2
  86. data/lib/volcano/generated/lib/volcano-generated/models/auth_password_policy.rb +2 -2
  87. data/lib/volcano/generated/lib/volcano-generated/models/auth_platform_exchange_request.rb +2 -2
  88. data/lib/volcano/generated/lib/volcano-generated/models/auth_refresh_request.rb +2 -2
  89. data/lib/volcano/generated/lib/volcano-generated/models/auth_request_email_change200_response.rb +2 -2
  90. data/lib/volcano/generated/lib/volcano-generated/models/auth_request_email_change_request.rb +2 -2
  91. data/lib/volcano/generated/lib/volcano-generated/models/auth_reset_password200_response.rb +2 -2
  92. data/lib/volcano/generated/lib/volcano-generated/models/auth_reset_password_request.rb +2 -2
  93. data/lib/volcano/generated/lib/volcano-generated/models/auth_session.rb +2 -2
  94. data/lib/volcano/generated/lib/volcano-generated/models/auth_signin_request.rb +2 -2
  95. data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_anonymous_request.rb +2 -2
  96. data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_request.rb +2 -2
  97. data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_response.rb +2 -2
  98. data/lib/volcano/generated/lib/volcano-generated/models/auth_token_response.rb +2 -2
  99. data/lib/volcano/generated/lib/volcano-generated/models/auth_update_user_request.rb +2 -2
  100. data/lib/volcano/generated/lib/volcano-generated/models/auth_user.rb +2 -2
  101. data/lib/volcano/generated/lib/volcano-generated/models/ban_auth_user_request.rb +2 -2
  102. data/lib/volcano/generated/lib/volcano-generated/models/ban_user_response.rb +2 -2
  103. data/lib/volcano/generated/lib/volcano-generated/models/batch_function_deploy_failure.rb +2 -2
  104. data/lib/volcano/generated/lib/volcano-generated/models/batch_function_deploy_response.rb +2 -2
  105. data/lib/volcano/generated/lib/volcano-generated/models/byoc_project_config_frontend_custom_domain_tls_config.rb +270 -0
  106. data/lib/volcano/generated/lib/volcano-generated/models/byoc_project_config_frontend_custom_domain_tls_config_not.rb +102 -0
  107. data/lib/volcano/generated/lib/volcano-generated/models/call_mcp200_response.rb +220 -0
  108. data/lib/volcano/generated/lib/volcano-generated/models/call_mcp200_response_error.rb +190 -0
  109. data/lib/volcano/generated/lib/volcano-generated/models/call_mcp200_response_id.rb +105 -0
  110. data/lib/volcano/generated/lib/volcano-generated/models/call_mcp_request.rb +236 -0
  111. data/lib/volcano/generated/lib/volcano-generated/models/call_mcp_request_id.rb +105 -0
  112. data/lib/volcano/generated/lib/volcano-generated/models/call_o_auth_provider_api200_response.rb +2 -2
  113. data/lib/volcano/generated/lib/volcano-generated/models/call_o_auth_provider_api_request.rb +2 -2
  114. data/lib/volcano/generated/lib/volcano-generated/models/complete_upload_session_response.rb +2 -2
  115. data/lib/volcano/generated/lib/volcano-generated/models/configure_auth_methods_request.rb +2 -2
  116. data/lib/volcano/generated/lib/volcano-generated/models/configure_auth_methods_request_oauth_providers_inner.rb +2 -2
  117. data/lib/volcano/generated/lib/volcano-generated/models/connect_project_git_request.rb +2 -2
  118. data/lib/volcano/generated/lib/volcano-generated/models/create_anon_key_request.rb +2 -2
  119. data/lib/volcano/generated/lib/volcano-generated/models/create_database_backup_request.rb +2 -2
  120. data/lib/volcano/generated/lib/volcano-generated/models/create_database_branch_request.rb +2 -2
  121. data/lib/volcano/generated/lib/volcano-generated/models/create_database_request.rb +6 -6
  122. data/lib/volcano/generated/lib/volcano-generated/models/create_database_restore_request.rb +2 -2
  123. data/lib/volcano/generated/lib/volcano-generated/models/create_email_template_request.rb +2 -2
  124. data/lib/volcano/generated/lib/volcano-generated/models/create_frontend_custom_domain_request.rb +12 -3
  125. data/lib/volcano/generated/lib/volcano-generated/models/create_frontend_function_route_request.rb +230 -0
  126. data/lib/volcano/generated/lib/volcano-generated/models/create_function_scheduler_request.rb +2 -2
  127. data/lib/volcano/generated/lib/volcano-generated/models/create_o_auth_config_request.rb +2 -2
  128. data/lib/volcano/generated/lib/volcano-generated/models/create_project_access_token_request.rb +241 -0
  129. data/lib/volcano/generated/lib/volcano-generated/models/create_project_request.rb +57 -3
  130. data/lib/volcano/generated/lib/volcano-generated/models/create_sandbox_session_request.rb +292 -0
  131. data/lib/volcano/generated/lib/volcano-generated/models/create_sandbox_template_request.rb +247 -0
  132. data/lib/volcano/generated/lib/volcano-generated/models/create_service_key_request.rb +2 -2
  133. data/lib/volcano/generated/lib/volcano-generated/models/create_storage_bucket_request.rb +2 -2
  134. data/lib/volcano/generated/lib/volcano-generated/models/create_storage_policy_request.rb +2 -2
  135. data/lib/volcano/generated/lib/volcano-generated/models/create_upload_session_request.rb +2 -2
  136. data/lib/volcano/generated/lib/volcano-generated/models/create_upload_session_response.rb +2 -2
  137. data/lib/volcano/generated/lib/volcano-generated/models/create_variable_request.rb +3 -2
  138. data/lib/volcano/generated/lib/volcano-generated/models/created_project_access_token.rb +459 -0
  139. data/lib/volcano/generated/lib/volcano-generated/models/database.rb +2 -2
  140. data/lib/volcano/generated/lib/volcano-generated/models/database_backup.rb +2 -2
  141. data/lib/volcano/generated/lib/volcano-generated/models/database_backup_list.rb +2 -2
  142. data/lib/volcano/generated/lib/volcano-generated/models/database_backup_schedule.rb +2 -2
  143. data/lib/volcano/generated/lib/volcano-generated/models/database_backup_schedule_entry.rb +2 -2
  144. data/lib/volcano/generated/lib/volcano-generated/models/database_branch.rb +2 -2
  145. data/lib/volcano/generated/lib/volcano-generated/models/database_branch_list.rb +2 -2
  146. data/lib/volcano/generated/lib/volcano-generated/models/database_branch_storage.rb +2 -2
  147. data/lib/volcano/generated/lib/volcano-generated/models/database_delete_request.rb +2 -2
  148. data/lib/volcano/generated/lib/volcano-generated/models/database_insert_request.rb +3 -3
  149. data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter.rb +2 -2
  150. data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter_value.rb +3 -3
  151. data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter_value_one_of_inner.rb +3 -3
  152. data/lib/volcano/generated/lib/volcano-generated/models/database_query_order.rb +2 -2
  153. data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_database.rb +2 -2
  154. data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_item.rb +4 -4
  155. data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_response.rb +2 -2
  156. data/lib/volcano/generated/lib/volcano-generated/models/database_query_result.rb +2 -2
  157. data/lib/volcano/generated/lib/volcano-generated/models/database_restore.rb +2 -2
  158. data/lib/volcano/generated/lib/volcano-generated/models/database_restore_list.rb +2 -2
  159. data/lib/volcano/generated/lib/volcano-generated/models/database_restore_window.rb +2 -2
  160. data/lib/volcano/generated/lib/volcano-generated/models/database_select_request.rb +2 -2
  161. data/lib/volcano/generated/lib/volcano-generated/models/database_stats.rb +2 -2
  162. data/lib/volcano/generated/lib/volcano-generated/models/database_update_request.rb +3 -3
  163. data/lib/volcano/generated/lib/volcano-generated/models/delete_database202_response.rb +2 -2
  164. data/lib/volcano/generated/lib/volcano-generated/models/delete_database_backup200_response.rb +2 -2
  165. data/lib/volcano/generated/lib/volcano-generated/models/delete_database_branch202_response.rb +2 -2
  166. data/lib/volcano/generated/lib/volcano-generated/models/deployment_phase.rb +2 -2
  167. data/lib/volcano/generated/lib/volcano-generated/models/deployment_progress.rb +2 -2
  168. data/lib/volcano/generated/lib/volcano-generated/models/deployment_reference.rb +2 -2
  169. data/lib/volcano/generated/lib/volcano-generated/models/device_authorization_response.rb +2 -2
  170. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval.rb +406 -0
  171. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_counts.rb +295 -0
  172. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_daily_counts.rb +190 -0
  173. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_decider.rb +191 -0
  174. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_decision.rb +203 -0
  175. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_decision_request.rb +167 -0
  176. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_execution.rb +211 -0
  177. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_function.rb +177 -0
  178. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_function_counts.rb +190 -0
  179. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_registration.rb +225 -0
  180. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_stats.rb +339 -0
  181. data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_status.rb +43 -0
  182. data/lib/volcano/generated/lib/volcano-generated/models/durable_execution.rb +2 -2
  183. data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_error.rb +2 -2
  184. data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_invocation.rb +191 -0
  185. data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_operation.rb +372 -0
  186. data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_operation_attempt.rb +271 -0
  187. data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_operation_list.rb +234 -0
  188. data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_status.rb +2 -2
  189. data/lib/volcano/generated/lib/volcano-generated/models/durable_function.rb +31 -4
  190. data/lib/volcano/generated/lib/volcano-generated/models/durable_function_config.rb +2 -2
  191. data/lib/volcano/generated/lib/volcano-generated/models/email_template.rb +2 -2
  192. data/lib/volcano/generated/lib/volcano-generated/models/error.rb +2 -2
  193. data/lib/volcano/generated/lib/volcano-generated/models/export_project_source_request.rb +2 -2
  194. data/lib/volcano/generated/lib/volcano-generated/models/frontend.rb +85 -3
  195. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_conflict_error.rb +191 -0
  196. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_response.rb +27 -5
  197. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_tls_config.rb +42 -18
  198. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_tls_config_not.rb +103 -0
  199. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_tls_config_not_any_of.rb +188 -0
  200. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_tls_config_not_any_of1.rb +188 -0
  201. data/lib/volcano/generated/lib/volcano-generated/models/frontend_deployment.rb +24 -68
  202. data/lib/volcano/generated/lib/volcano-generated/models/frontend_domain_routing_record.rb +2 -2
  203. data/lib/volcano/generated/lib/volcano-generated/models/frontend_domain_verification_record.rb +3 -2
  204. data/lib/volcano/generated/lib/volcano-generated/models/frontend_function_route.rb +375 -0
  205. data/lib/volcano/generated/lib/volcano-generated/models/frontend_function_route_list.rb +166 -0
  206. data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_daily_entry.rb +2 -2
  207. data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_data.rb +2 -2
  208. data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_history_response.rb +2 -2
  209. data/lib/volcano/generated/lib/volcano-generated/models/function.rb +31 -14
  210. data/lib/volcano/generated/lib/volcano-generated/models/function_deployment.rb +24 -50
  211. data/lib/volcano/generated/lib/volcano-generated/models/function_http_auth_mode.rb +2 -2
  212. data/lib/volcano/generated/lib/volcano-generated/models/function_invocation_mode.rb +2 -2
  213. data/lib/volcano/generated/lib/volcano-generated/models/function_invocation_request.rb +2 -2
  214. data/lib/volcano/generated/lib/volcano-generated/models/function_kind.rb +2 -2
  215. data/lib/volcano/generated/lib/volcano-generated/models/function_kind_filter.rb +40 -0
  216. data/lib/volcano/generated/lib/volcano-generated/models/function_region.rb +2 -2
  217. data/lib/volcano/generated/lib/volcano-generated/models/function_runtime_deployment.rb +2 -2
  218. data/lib/volcano/generated/lib/volcano-generated/models/function_runtime_option.rb +30 -3
  219. data/lib/volcano/generated/lib/volcano-generated/models/function_runtimes_response.rb +2 -2
  220. data/lib/volcano/generated/lib/volcano-generated/models/function_scheduler.rb +2 -2
  221. data/lib/volcano/generated/lib/volcano-generated/models/function_scheduler_list_response.rb +2 -2
  222. data/lib/volcano/generated/lib/volcano-generated/models/function_visibility.rb +41 -0
  223. data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response.rb +2 -2
  224. data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response_email_password.rb +2 -2
  225. data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response_oauth_providers_inner.rb +2 -2
  226. data/lib/volcano/generated/lib/volcano-generated/models/git_connect_start_response.rb +2 -2
  227. data/lib/volcano/generated/lib/volcano-generated/models/git_connection.rb +2 -2
  228. data/lib/volcano/generated/lib/volcano-generated/models/git_connections_response.rb +2 -2
  229. data/lib/volcano/generated/lib/volcano-generated/models/git_installation.rb +2 -2
  230. data/lib/volcano/generated/lib/volcano-generated/models/git_installations_response.rb +2 -2
  231. data/lib/volcano/generated/lib/volcano-generated/models/git_repositories_response.rb +2 -2
  232. data/lib/volcano/generated/lib/volcano-generated/models/git_repository.rb +2 -2
  233. data/lib/volcano/generated/lib/volcano-generated/models/hosted_auth_page_type.rb +2 -2
  234. data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_email_check_request.rb +2 -2
  235. data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_email_check_response.rb +2 -2
  236. data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_options_response.rb +2 -2
  237. data/lib/volcano/generated/lib/volcano-generated/models/hosted_renderable_page_type.rb +2 -2
  238. data/lib/volcano/generated/lib/volcano-generated/models/import_connect_start_response.rb +2 -2
  239. data/lib/volcano/generated/lib/volcano-generated/models/import_connection.rb +2 -2
  240. data/lib/volcano/generated/lib/volcano-generated/models/import_connections_response.rb +2 -2
  241. data/lib/volcano/generated/lib/volcano-generated/models/import_provider.rb +2 -2
  242. data/lib/volcano/generated/lib/volcano-generated/models/import_source.rb +2 -2
  243. data/lib/volcano/generated/lib/volcano-generated/models/import_sources_response.rb +2 -2
  244. data/lib/volcano/generated/lib/volcano-generated/models/list_anon_keys200_response.rb +2 -2
  245. data/lib/volcano/generated/lib/volcano-generated/models/list_available_o_auth_providers200_response.rb +2 -2
  246. data/lib/volcano/generated/lib/volcano-generated/models/list_available_o_auth_providers200_response_providers_inner.rb +2 -2
  247. data/lib/volcano/generated/lib/volcano-generated/models/list_database_regions200_response_inner.rb +2 -2
  248. data/lib/volcano/generated/lib/volcano-generated/models/list_email_templates200_response.rb +2 -2
  249. data/lib/volcano/generated/lib/volcano-generated/models/list_o_auth_configs200_response.rb +2 -2
  250. data/lib/volcano/generated/lib/volcano-generated/models/list_postgres_versions200_response_inner.rb +14 -4
  251. data/lib/volcano/generated/lib/volcano-generated/models/list_storage_buckets200_response.rb +3 -3
  252. data/lib/volcano/generated/lib/volcano-generated/models/list_storage_objects_admin200_response.rb +2 -2
  253. data/lib/volcano/generated/lib/volcano-generated/models/live_log_level.rb +2 -2
  254. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_bucket.rb +5 -5
  255. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_bucket_counts.rb +2 -2
  256. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_request.rb +5 -5
  257. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_response.rb +2 -2
  258. data/lib/volcano/generated/lib/volcano-generated/models/log_database_request_resource.rb +2 -2
  259. data/lib/volcano/generated/lib/volcano-generated/models/log_deployment.rb +2 -2
  260. data/lib/volcano/generated/lib/volcano-generated/models/log_deployment_request_selector.rb +2 -2
  261. data/lib/volcano/generated/lib/volcano-generated/models/log_event.rb +2 -2
  262. data/lib/volcano/generated/lib/volcano-generated/models/log_event_body.rb +3 -3
  263. data/lib/volcano/generated/lib/volcano-generated/models/log_frontend_request_resource.rb +2 -2
  264. data/lib/volcano/generated/lib/volcano-generated/models/log_function_request_resource.rb +13 -3
  265. data/lib/volcano/generated/lib/volcano-generated/models/log_request_resource.rb +3 -3
  266. data/lib/volcano/generated/lib/volcano-generated/models/log_resource.rb +2 -2
  267. data/lib/volcano/generated/lib/volcano-generated/models/log_search_event.rb +2 -2
  268. data/lib/volcano/generated/lib/volcano-generated/models/log_search_request.rb +2 -2
  269. data/lib/volcano/generated/lib/volcano-generated/models/log_search_response.rb +4 -4
  270. data/lib/volcano/generated/lib/volcano-generated/models/log_stream_request.rb +2 -2
  271. data/lib/volcano/generated/lib/volcano-generated/models/managed_project_config_frontend_custom_domain_tls_config.rb +189 -0
  272. data/lib/volcano/generated/lib/volcano-generated/models/metric_usage_data.rb +3 -3
  273. data/lib/volcano/generated/lib/volcano-generated/models/o_auth_config.rb +2 -2
  274. data/lib/volcano/generated/lib/volcano-generated/models/o_auth_error_response.rb +2 -2
  275. data/lib/volcano/generated/lib/volcano-generated/models/paginated_auth_users.rb +2 -2
  276. data/lib/volcano/generated/lib/volcano-generated/models/paginated_databases.rb +2 -2
  277. data/lib/volcano/generated/lib/volcano-generated/models/paginated_durable_approvals.rb +274 -0
  278. data/lib/volcano/generated/lib/volcano-generated/models/paginated_durable_executions.rb +2 -2
  279. data/lib/volcano/generated/lib/volcano-generated/models/paginated_durable_functions.rb +2 -2
  280. data/lib/volcano/generated/lib/volcano-generated/models/paginated_frontend_deployments.rb +2 -2
  281. data/lib/volcano/generated/lib/volcano-generated/models/paginated_frontends.rb +2 -2
  282. data/lib/volcano/generated/lib/volcano-generated/models/paginated_function_deployments.rb +2 -2
  283. data/lib/volcano/generated/lib/volcano-generated/models/paginated_functions.rb +2 -2
  284. data/lib/volcano/generated/lib/volcano-generated/models/paginated_project_access_tokens.rb +279 -0
  285. data/lib/volcano/generated/lib/volcano-generated/models/paginated_project_custom_domains.rb +2 -2
  286. data/lib/volcano/generated/lib/volcano-generated/models/paginated_project_deployments.rb +2 -2
  287. data/lib/volcano/generated/lib/volcano-generated/models/paginated_projects.rb +2 -2
  288. data/lib/volcano/generated/lib/volcano-generated/models/paginated_service_keys.rb +2 -2
  289. data/lib/volcano/generated/lib/volcano-generated/models/paginated_storage_buckets.rb +2 -2
  290. data/lib/volcano/generated/lib/volcano-generated/models/paginated_variables.rb +2 -2
  291. data/lib/volcano/generated/lib/volcano-generated/models/platform_exchange_response.rb +2 -2
  292. data/lib/volcano/generated/lib/volcano-generated/models/preview_auth_page_request.rb +2 -2
  293. data/lib/volcano/generated/lib/volcano-generated/models/preview_auth_page_response.rb +2 -2
  294. data/lib/volcano/generated/lib/volcano-generated/models/project.rb +13 -13
  295. data/lib/volcano/generated/lib/volcano-generated/models/project_access_token.rb +426 -0
  296. data/lib/volcano/generated/lib/volcano-generated/models/project_access_token_scope.rb +40 -0
  297. data/lib/volcano/generated/lib/volcano-generated/models/project_access_token_usage.rb +299 -0
  298. data/lib/volcano/generated/lib/volcano-generated/models/project_access_token_usage_daily_entry.rb +191 -0
  299. data/lib/volcano/generated/lib/volcano-generated/models/project_config.rb +40 -6
  300. data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_result.rb +2 -2
  301. data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_result_entry.rb +2 -2
  302. data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_summary.rb +2 -2
  303. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth.rb +2 -2
  304. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_cors.rb +2 -2
  305. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email.rb +2 -2
  306. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_from.rb +2 -2
  307. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_password_provider.rb +2 -2
  308. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_smtp.rb +2 -2
  309. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_verification.rb +2 -2
  310. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_managed_pages.rb +2 -2
  311. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_page_appearance.rb +2 -2
  312. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_page_layouts.rb +2 -2
  313. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_password.rb +2 -2
  314. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_password_reset.rb +2 -2
  315. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_providers.rb +2 -2
  316. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_rate_limits.rb +2 -2
  317. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_redirects.rb +2 -2
  318. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_sessions.rb +2 -2
  319. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_signup.rb +2 -2
  320. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_tokens.rb +2 -2
  321. data/lib/volcano/generated/lib/volcano-generated/models/project_config_bucket.rb +2 -2
  322. data/lib/volcano/generated/lib/volcano-generated/models/project_config_bucket_policy.rb +2 -2
  323. data/lib/volcano/generated/lib/volcano-generated/models/project_config_custom_domain.rb +14 -5
  324. data/lib/volcano/generated/lib/volcano-generated/models/project_config_database.rb +6 -6
  325. data/lib/volcano/generated/lib/volcano-generated/models/project_config_email_template.rb +2 -2
  326. data/lib/volcano/generated/lib/volcano-generated/models/project_config_email_templates.rb +2 -2
  327. data/lib/volcano/generated/lib/volcano-generated/models/project_config_frontend.rb +103 -6
  328. data/lib/volcano/generated/lib/volcano-generated/models/project_config_frontend_custom_domain_tls_config.rb +105 -0
  329. data/lib/volcano/generated/lib/volcano-generated/models/project_config_frontend_function_route.rb +240 -0
  330. data/lib/volcano/generated/lib/volcano-generated/models/project_config_function.rb +13 -4
  331. data/lib/volcano/generated/lib/volcano-generated/models/project_config_hosted_page.rb +2 -2
  332. data/lib/volcano/generated/lib/volcano-generated/models/project_config_hosted_pages.rb +2 -2
  333. data/lib/volcano/generated/lib/volcano-generated/models/project_config_missing_resource.rb +4 -4
  334. data/lib/volcano/generated/lib/volcano-generated/models/project_config_o_auth_provider.rb +2 -2
  335. data/lib/volcano/generated/lib/volcano-generated/models/project_config_project.rb +2 -2
  336. data/lib/volcano/generated/lib/volcano-generated/models/project_config_realtime.rb +2 -2
  337. data/lib/volcano/generated/lib/volcano-generated/models/project_config_sandbox.rb +327 -0
  338. data/lib/volcano/generated/lib/volcano-generated/models/project_config_scheduler.rb +2 -2
  339. data/lib/volcano/generated/lib/volcano-generated/models/project_config_skipped_resource.rb +4 -4
  340. data/lib/volcano/generated/lib/volcano-generated/models/project_config_validation_error.rb +2 -2
  341. data/lib/volcano/generated/lib/volcano-generated/models/project_config_validation_error_response.rb +2 -2
  342. data/lib/volcano/generated/lib/volcano-generated/models/project_config_variable.rb +3 -2
  343. data/lib/volcano/generated/lib/volcano-generated/models/project_deployment.rb +3 -12
  344. data/lib/volcano/generated/lib/volcano-generated/models/project_deployment_resource.rb +2 -2
  345. data/lib/volcano/generated/lib/volcano-generated/models/project_deployment_summary.rb +3 -3
  346. data/lib/volcano/generated/lib/volcano-generated/models/project_frontend_custom_domain.rb +27 -5
  347. data/lib/volcano/generated/lib/volcano-generated/models/project_frontend_custom_domain_all_of_frontend.rb +2 -2
  348. data/lib/volcano/generated/lib/volcano-generated/models/project_git_connection.rb +2 -2
  349. data/lib/volcano/generated/lib/volcano-generated/models/project_git_connection_summary.rb +2 -2
  350. data/lib/volcano/generated/lib/volcano-generated/models/project_git_deploy_settings.rb +2 -2
  351. data/lib/volcano/generated/lib/volcano-generated/models/project_health_category.rb +2 -2
  352. data/lib/volcano/generated/lib/volcano-generated/models/project_health_check.rb +2 -2
  353. data/lib/volcano/generated/lib/volcano-generated/models/project_health_data_status.rb +2 -2
  354. data/lib/volcano/generated/lib/volcano-generated/models/project_health_evidence.rb +2 -2
  355. data/lib/volcano/generated/lib/volcano-generated/models/project_health_resource.rb +2 -2
  356. data/lib/volcano/generated/lib/volcano-generated/models/project_health_response.rb +2 -2
  357. data/lib/volcano/generated/lib/volcano-generated/models/project_health_scope.rb +2 -2
  358. data/lib/volcano/generated/lib/volcano-generated/models/project_health_status.rb +2 -2
  359. data/lib/volcano/generated/lib/volcano-generated/models/project_health_summary.rb +2 -2
  360. data/lib/volcano/generated/lib/volcano-generated/models/project_import_action.rb +2 -2
  361. data/lib/volcano/generated/lib/volcano-generated/models/project_import_action_code.rb +2 -2
  362. data/lib/volcano/generated/lib/volcano-generated/models/project_import_destination.rb +2 -2
  363. data/lib/volcano/generated/lib/volcano-generated/models/project_import_destination_mode.rb +2 -2
  364. data/lib/volcano/generated/lib/volcano-generated/models/project_import_disposition.rb +2 -2
  365. data/lib/volcano/generated/lib/volcano-generated/models/project_import_finding.rb +2 -2
  366. data/lib/volcano/generated/lib/volcano-generated/models/project_import_impact.rb +2 -2
  367. data/lib/volcano/generated/lib/volcano-generated/models/project_import_preflight_request.rb +2 -2
  368. data/lib/volcano/generated/lib/volcano-generated/models/project_import_readiness.rb +2 -2
  369. data/lib/volcano/generated/lib/volcano-generated/models/project_import_report.rb +2 -2
  370. data/lib/volcano/generated/lib/volcano-generated/models/project_import_resource.rb +2 -2
  371. data/lib/volcano/generated/lib/volcano-generated/models/project_import_resource_kind.rb +2 -2
  372. data/lib/volcano/generated/lib/volcano-generated/models/project_import_run.rb +2 -2
  373. data/lib/volcano/generated/lib/volcano-generated/models/project_import_run_status.rb +2 -2
  374. data/lib/volcano/generated/lib/volcano-generated/models/project_import_start_request.rb +2 -2
  375. data/lib/volcano/generated/lib/volcano-generated/models/project_import_summary.rb +2 -2
  376. data/lib/volcano/generated/lib/volcano-generated/models/project_import_target.rb +2 -2
  377. data/lib/volcano/generated/lib/volcano-generated/models/project_lock_lease.rb +2 -2
  378. data/lib/volcano/generated/lib/volcano-generated/models/project_lock_lease_request.rb +2 -2
  379. data/lib/volcano/generated/lib/volcano-generated/models/project_lock_state.rb +2 -2
  380. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_data_status.rb +2 -2
  381. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_dimensions.rb +2 -2
  382. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_group_by.rb +2 -2
  383. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_metric.rb +2 -2
  384. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query.rb +2 -2
  385. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_request.rb +2 -2
  386. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_response.rb +2 -2
  387. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_time_range.rb +2 -2
  388. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_result.rb +2 -2
  389. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_unit.rb +2 -2
  390. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_value.rb +2 -2
  391. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_window.rb +2 -2
  392. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export.rb +2 -2
  393. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_omission.rb +2 -2
  394. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_skip.rb +2 -2
  395. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_state.rb +2 -2
  396. data/lib/volcano/generated/lib/volcano-generated/models/project_template_installation.rb +217 -0
  397. data/lib/volcano/generated/lib/volcano-generated/models/project_usage_response.rb +2 -2
  398. data/lib/volcano/generated/lib/volcano-generated/models/publish_sandbox_preset_request.rb +268 -0
  399. data/lib/volcano/generated/lib/volcano-generated/models/realtime_config.rb +2 -2
  400. data/lib/volcano/generated/lib/volcano-generated/models/realtime_plan_limits.rb +2 -2
  401. data/lib/volcano/generated/lib/volcano-generated/models/realtime_stats.rb +2 -2
  402. data/lib/volcano/generated/lib/volcano-generated/models/refresh_o_auth_provider_token200_response.rb +2 -2
  403. data/lib/volcano/generated/lib/volcano-generated/models/replace_frontend_shared_variables_request.rb +237 -0
  404. data/lib/volcano/generated/lib/volcano-generated/models/replace_shared_variables_request.rb +2 -2
  405. data/lib/volcano/generated/lib/volcano-generated/models/request_durable_approval_request.rb +355 -0
  406. data/lib/volcano/generated/lib/volcano-generated/models/reset_database_password200_response.rb +2 -2
  407. data/lib/volcano/generated/lib/volcano-generated/models/resolve_function_response.rb +13 -3
  408. data/lib/volcano/generated/lib/volcano-generated/models/resource_reference.rb +2 -2
  409. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_access.rb +216 -0
  410. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_access_request.rb +221 -0
  411. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_build_log_page.rb +176 -0
  412. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_build_log_page_data_inner.rb +190 -0
  413. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_capacity.rb +199 -0
  414. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_capacity_list.rb +166 -0
  415. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_command_request.rb +251 -0
  416. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_command_result.rb +294 -0
  417. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_deployment.rb +242 -0
  418. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_deployment_page.rb +192 -0
  419. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_execution_request.rb +329 -0
  420. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_execution_result.rb +381 -0
  421. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_file_read_request.rb +182 -0
  422. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_file_result.rb +164 -0
  423. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_file_write_request.rb +217 -0
  424. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_pagination.rb +199 -0
  425. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_preset.rb +294 -0
  426. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_preset_list.rb +166 -0
  427. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_session.rb +407 -0
  428. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_session_page.rb +192 -0
  429. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_subject_grant_request.rb +164 -0
  430. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_template.rb +321 -0
  431. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_template_page.rb +192 -0
  432. data/lib/volcano/generated/lib/volcano-generated/models/schedule_request.rb +2 -2
  433. data/lib/volcano/generated/lib/volcano-generated/models/service_key.rb +2 -2
  434. data/lib/volcano/generated/lib/volcano-generated/models/set_project_git_production_branch_request.rb +2 -2
  435. data/lib/volcano/generated/lib/volcano-generated/models/storage_bucket.rb +2 -2
  436. data/lib/volcano/generated/lib/volcano-generated/models/storage_copy_request.rb +2 -2
  437. data/lib/volcano/generated/lib/volcano-generated/models/storage_list_response.rb +2 -2
  438. data/lib/volcano/generated/lib/volcano-generated/models/storage_move_request.rb +2 -2
  439. data/lib/volcano/generated/lib/volcano-generated/models/storage_object.rb +2 -2
  440. data/lib/volcano/generated/lib/volcano-generated/models/storage_object_with_bucket.rb +2 -2
  441. data/lib/volcano/generated/lib/volcano-generated/models/storage_policy.rb +2 -2
  442. data/lib/volcano/generated/lib/volcano-generated/models/storage_stats.rb +2 -2
  443. data/lib/volcano/generated/lib/volcano-generated/models/storage_visibility_request.rb +2 -2
  444. data/lib/volcano/generated/lib/volcano-generated/models/test_email_request.rb +2 -2
  445. data/lib/volcano/generated/lib/volcano-generated/models/test_email_response.rb +2 -2
  446. data/lib/volcano/generated/lib/volcano-generated/models/unban_user_response.rb +2 -2
  447. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_config_request.rb +2 -2
  448. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_hosted_page_request.rb +2 -2
  449. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_page_layout_request.rb +2 -2
  450. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_page_theme_request.rb +2 -2
  451. data/lib/volcano/generated/lib/volcano-generated/models/update_database_branch_request.rb +2 -2
  452. data/lib/volcano/generated/lib/volcano-generated/models/update_database_type_request.rb +2 -2
  453. data/lib/volcano/generated/lib/volcano-generated/models/update_email_template_request.rb +2 -2
  454. data/lib/volcano/generated/lib/volcano-generated/models/update_function_request.rb +13 -4
  455. data/lib/volcano/generated/lib/volcano-generated/models/update_function_scheduler_request.rb +2 -2
  456. data/lib/volcano/generated/lib/volcano-generated/models/update_o_auth_config_request.rb +2 -2
  457. data/lib/volcano/generated/lib/volcano-generated/models/update_project_git_deploy_settings_request.rb +2 -2
  458. data/lib/volcano/generated/lib/volcano-generated/models/update_project_request.rb +2 -2
  459. data/lib/volcano/generated/lib/volcano-generated/models/update_realtime_config_request.rb +2 -2
  460. data/lib/volcano/generated/lib/volcano-generated/models/update_sandbox_template_request.rb +175 -0
  461. data/lib/volcano/generated/lib/volcano-generated/models/update_storage_bucket_request.rb +2 -2
  462. data/lib/volcano/generated/lib/volcano-generated/models/update_variable_request.rb +2 -2
  463. data/lib/volcano/generated/lib/volcano-generated/models/upload_session_part.rb +2 -2
  464. data/lib/volcano/generated/lib/volcano-generated/models/upload_session_status_response.rb +2 -2
  465. data/lib/volcano/generated/lib/volcano-generated/models/upload_storage_object201_response.rb +3 -3
  466. data/lib/volcano/generated/lib/volcano-generated/models/usage_data_point.rb +2 -2
  467. data/lib/volcano/generated/lib/volcano-generated/models/variable.rb +13 -3
  468. data/lib/volcano/generated/lib/volcano-generated/models/verified_domain.rb +192 -0
  469. data/lib/volcano/generated/lib/volcano-generated/models/verified_domains_response.rb +166 -0
  470. data/lib/volcano/generated/lib/volcano-generated/models/verify_domain_request.rb +183 -0
  471. data/lib/volcano/generated/lib/volcano-generated/version.rb +2 -2
  472. data/lib/volcano/generated/lib/volcano-generated.rb +82 -2
  473. data/lib/volcano/generated_transport.rb +1 -0
  474. data/lib/volcano/generated_transport_durable.rb +59 -0
  475. data/lib/volcano/generated_transport_functions.rb +1 -1
  476. data/lib/volcano/generated_transport_sandbox.rb +101 -0
  477. data/lib/volcano/lock_response.rb +2 -2
  478. data/lib/volcano/sandbox_deployment_response.rb +39 -0
  479. data/lib/volcano/sandbox_deployments.rb +79 -0
  480. data/lib/volcano/sandbox_files.rb +37 -0
  481. data/lib/volcano/sandbox_models.rb +32 -0
  482. data/lib/volcano/sandbox_request.rb +98 -0
  483. data/lib/volcano/sandbox_response.rb +74 -0
  484. data/lib/volcano/sandbox_session.rb +78 -0
  485. data/lib/volcano/sandboxes.rb +69 -0
  486. data/lib/volcano/storage_mutations.rb +2 -2
  487. data/lib/volcano/storage_object_response.rb +2 -2
  488. data/lib/volcano/transport.rb +1 -1
  489. data/lib/volcano/version.rb +1 -1
  490. data/lib/volcano.rb +13 -0
  491. data/sig/client.rbs +1 -0
  492. data/sig/core_facades.rbs +14 -0
  493. data/sig/durable_approval_records.rbs +218 -0
  494. data/sig/errors.rbs +3 -0
  495. data/sig/sandboxes.rbs +125 -0
  496. metadata +119 -10
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'securerandom'
4
+ require 'time'
5
+
6
+ module Volcano
7
+ # Immutable addressing and payload for a generated Sandbox operation.
8
+ class SandboxRequest
9
+ def initialize(options)
10
+ @options = options.dup
11
+ body = options[:body]
12
+ @options[:body] = ImmutableRequestValue.capture(body) if body
13
+ @options.freeze
14
+ freeze
15
+ end
16
+
17
+ def operation = @options.fetch(:operation)
18
+ def resource_id = @options[:resource_id]
19
+ def subject_id = @options[:subject_id]
20
+ def body = @options[:body]
21
+ def request_id = @options[:request_id]
22
+ def deployment_id = @options[:deployment_id]
23
+ def archive = @options.fetch(:archive)
24
+ def deployment_body = @options.fetch(:body)
25
+ def cursor = @options[:cursor]
26
+ def region = @options[:region]
27
+ def limit = @options[:limit]
28
+ def timeout = @options.fetch(:timeout, 0)
29
+ end
30
+
31
+ # Shared validation and credentials for Sandbox facade operations.
32
+ class SandboxRequests
33
+ UUID = /\A[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}\z/i
34
+ USER_OPERATIONS = %i[get_sandbox_session execute_sandbox_session read_sandbox_session_file
35
+ write_sandbox_session_file create_sandbox_session_access].freeze
36
+ private_constant :UUID, :USER_OPERATIONS
37
+
38
+ def initialize(client, transport, service_only: false)
39
+ @client = client
40
+ @transport = transport
41
+ @service_only = service_only
42
+ end
43
+
44
+ def service_scope = SandboxRequests.new(@client, @transport, service_only: true)
45
+
46
+ def call(request, status: 200)
47
+ response = if request.operation == :list_sandbox_presets
48
+ dispatch(request, '')
49
+ elsif user_request?(request)
50
+ @client.session_request { |token| dispatch(request, token) }
51
+ else
52
+ dispatch(request, @client.service_token)
53
+ end
54
+ Transport.body(response, status)
55
+ end
56
+
57
+ def self.expiry(value)
58
+ parsed = value.is_a?(Time) ? value : Time.iso8601(value)
59
+ parsed.getutc.iso8601
60
+ rescue ArgumentError
61
+ raise Error::ValidationError, 'Sandbox grant expiry must be a Time or ISO8601 timestamp'
62
+ end
63
+
64
+ def self.identifier(value)
65
+ return value.dup.freeze if value.is_a?(String) && UUID.match?(value)
66
+
67
+ raise Error::ValidationError, 'Sandbox resource and request IDs must be UUIDs'
68
+ end
69
+
70
+ def self.request_id(options)
71
+ identifier(options.fetch(:request_id) { SecureRandom.uuid })
72
+ end
73
+
74
+ def self.selector(options)
75
+ if options.key?(:preset) == options.key?(:sandbox_id)
76
+ raise Error::ValidationError, 'Choose exactly one preset or sandbox_id'
77
+ end
78
+
79
+ result = options.slice(:region, :preset, :sandbox_id, :memory_mb)
80
+ result[:sandbox_id] = identifier(result[:sandbox_id]) if result.key?(:sandbox_id)
81
+ result
82
+ end
83
+
84
+ def self.command(command, options)
85
+ options.slice(:timeout_seconds, :environment).merge(command: command)
86
+ end
87
+
88
+ private
89
+
90
+ def user_request?(request)
91
+ !@service_only && USER_OPERATIONS.include?(request.operation) && !@client.current_session.nil?
92
+ end
93
+
94
+ def dispatch(request, token)
95
+ Transport.invoke { @transport.sandbox_request(authorization: token, request: request) }
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Volcano
4
+ # Validate wire values before exposing language-native Sandbox results.
5
+ module SandboxResponse
6
+ STATES = %w[starting running suspending suspended resuming terminating terminated unknown].freeze
7
+ private_constant :STATES
8
+
9
+ def self.text(value)
10
+ return value if value.is_a?(String)
11
+
12
+ raise TypeError, 'Invalid Sandbox text field'
13
+ end
14
+
15
+ def self.timestamp(value)
16
+ Time.iso8601(text(value)).freeze
17
+ rescue ArgumentError
18
+ raise TypeError, 'Invalid Sandbox timestamp'
19
+ end
20
+
21
+ def self.integer(value)
22
+ return value if value.is_a?(Integer)
23
+
24
+ raise TypeError, 'Invalid Sandbox integer field'
25
+ end
26
+
27
+ def self.flag(value)
28
+ return value if value.is_a?(TrueClass) || value.is_a?(FalseClass)
29
+
30
+ raise TypeError, 'Invalid Sandbox flag'
31
+ end
32
+
33
+ def self.state(value)
34
+ result = text(value)
35
+ return result.dup.freeze if STATES.include?(result)
36
+
37
+ raise TypeError, 'Invalid Sandbox state'
38
+ end
39
+
40
+ def self.command(value)
41
+ data = Transport.json_object(value)
42
+ SandboxCommandResult.new(
43
+ stdout: text(data['stdout']), stderr: text(data['stderr']), exit_code: integer(data['exit_code']),
44
+ timed_out: flag(data['timed_out']), stdout_truncated: flag(data['stdout_truncated']),
45
+ stderr_truncated: flag(data['stderr_truncated'])
46
+ )
47
+ end
48
+
49
+ def self.execution(value)
50
+ data = Transport.json_object(value)
51
+ SandboxExecutionResult.new(
52
+ **command(data).to_h, session_id: text(data['session_id']),
53
+ region: text(data['region']), duration_ms: integer(data['duration_ms'])
54
+ )
55
+ end
56
+
57
+ def self.access(value)
58
+ data = Transport.json_object(value)
59
+ SandboxAccess.new(url: text(data['url']), token: text(data['token']), expires_at: timestamp(data['expires_at']))
60
+ end
61
+
62
+ def self.preset(value)
63
+ data = Transport.json_object(value)
64
+ regions = array(data['regions']).map { |region| text(region) }.freeze
65
+ SandboxPreset.new(id: text(data['id']), memory_mb: integer(data['memory_mb']), regions: regions)
66
+ end
67
+
68
+ def self.array(value)
69
+ return value if value.is_a?(Array)
70
+
71
+ raise TypeError, 'Invalid Sandbox list'
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Volcano
4
+ # A session handle whose observed state changes only after validated responses.
5
+ class SandboxSession
6
+ attr_reader :id, :project_id, :region, :state, :expires_at, :files
7
+
8
+ def initialize(requests, value)
9
+ data = Transport.json_object(value)
10
+ @requests = requests
11
+ @id = SandboxRequests.identifier(data['id'])
12
+ @project_id = SandboxRequests.identifier(data['project_id'])
13
+ @region = SandboxResponse.text(data['region'])
14
+ assign_state(data)
15
+ @files = SandboxFiles.new(requests, @id)
16
+ end
17
+
18
+ def refresh = update(:get_sandbox_session)
19
+ def suspend = update(:suspend_sandbox_session, status: 202)
20
+ def resume = update(:resume_sandbox_session, status: 202)
21
+ def terminate = update(:terminate_sandbox_session, status: 202)
22
+
23
+ def inspect
24
+ "#<Volcano::SandboxSession id=#{@id.inspect} project_id=#{@project_id.inspect} " \
25
+ "region=#{@region.inspect} state=#{@state.inspect}>"
26
+ end
27
+
28
+ def exec(command, timeout_seconds: 60, environment: nil, request_id: nil)
29
+ options = { timeout_seconds: timeout_seconds, environment: environment, request_id: request_id }.compact
30
+ request = SandboxRequest.new(operation: :execute_sandbox_session, resource_id: @id,
31
+ body: SandboxRequests.command(command, options),
32
+ request_id: SandboxRequests.request_id(options),
33
+ timeout: SandboxResponse.integer(options.fetch(:timeout_seconds, 60)) + 120)
34
+ SandboxResponse.command(@requests.call(request))
35
+ end
36
+
37
+ def access(port)
38
+ request = SandboxRequest.new(operation: :create_sandbox_session_access, resource_id: @id, body: { port: port })
39
+ SandboxResponse.access(@requests.call(request))
40
+ end
41
+
42
+ def use
43
+ # @type var unwinding: bool
44
+ unwinding = true
45
+ result = yield self
46
+ unwinding = false
47
+ result
48
+ ensure
49
+ cleanup(unwinding) unless %w[terminating terminated].include?(@state)
50
+ end
51
+
52
+ private
53
+
54
+ def cleanup(unwinding)
55
+ terminate
56
+ rescue Error::NotFoundError
57
+ nil
58
+ rescue StandardError
59
+ raise unless unwinding
60
+ end
61
+
62
+ def update(operation, status: 200)
63
+ response = @requests.call(SandboxRequest.new(operation: operation, resource_id: @id), status: status)
64
+ data = Transport.json_object(response)
65
+ raise TypeError, 'Sandbox session identity changed' unless data['id'] == @id
66
+
67
+ assign_state(data)
68
+ self
69
+ end
70
+
71
+ def assign_state(data)
72
+ next_state = SandboxResponse.state(data['state'])
73
+ expiry = SandboxResponse.timestamp(data['expires_at'])
74
+ @state = next_state
75
+ @expires_at = expiry
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Volcano
4
+ # Create isolated sessions or execute a command to completion.
5
+ class Sandboxes
6
+ include SandboxDeployments
7
+
8
+ def initialize(client, transport)
9
+ @requests = SandboxRequests.new(client, transport)
10
+ end
11
+
12
+ def presets
13
+ response = @requests.call(SandboxRequest.new(operation: :list_sandbox_presets))
14
+ SandboxResponse.array(Transport.json_object(response)['data']).map { |value| SandboxResponse.preset(value) }
15
+ end
16
+
17
+ def inspect = '#<Volcano::Sandboxes>'
18
+
19
+ def create( # rubocop:disable Metrics/ParameterLists -- Preserve explicit typed facade keywords.
20
+ project_id, region:, preset: nil, sandbox_id: nil, memory_mb: nil,
21
+ max_duration_seconds: nil, idle_timeout_seconds: nil, request_id: nil
22
+ )
23
+ options = { region: region, preset: preset, sandbox_id: sandbox_id, memory_mb: memory_mb,
24
+ max_duration_seconds: max_duration_seconds, idle_timeout_seconds: idle_timeout_seconds,
25
+ request_id: request_id }.compact
26
+ body = SandboxRequests.selector(options).merge(options.slice(:max_duration_seconds, :idle_timeout_seconds))
27
+ request = SandboxRequest.new(operation: :create_sandbox_session,
28
+ resource_id: SandboxRequests.identifier(project_id), body: body,
29
+ request_id: SandboxRequests.request_id(options))
30
+ requests = @requests.service_scope
31
+ SandboxSession.new(requests, requests.call(request, status: 201))
32
+ end
33
+
34
+ def get(session_id)
35
+ request = SandboxRequest.new(operation: :get_sandbox_session, resource_id: SandboxRequests.identifier(session_id))
36
+ SandboxSession.new(@requests, @requests.call(request))
37
+ end
38
+
39
+ def exec( # rubocop:disable Metrics/ParameterLists -- Preserve explicit typed facade keywords.
40
+ project_id, command, region:, preset: nil, sandbox_id: nil, memory_mb: nil,
41
+ timeout_seconds: 60, environment: nil, request_id: nil
42
+ )
43
+ options = { region: region, preset: preset, sandbox_id: sandbox_id, memory_mb: memory_mb,
44
+ timeout_seconds: timeout_seconds, environment: environment, request_id: request_id }.compact
45
+ body = SandboxRequests.selector(options).merge(SandboxRequests.command(command, options))
46
+ request = SandboxRequest.new(operation: :execute_sandbox, resource_id: SandboxRequests.identifier(project_id),
47
+ body: body, request_id: SandboxRequests.request_id(options),
48
+ timeout: SandboxResponse.integer(options.fetch(:timeout_seconds, 60)) + 120)
49
+ SandboxResponse.execution(@requests.call(request))
50
+ end
51
+
52
+ def grant(session_id, auth_user_id, expires_at:)
53
+ request = SandboxRequest.new(operation: :grant_sandbox_session,
54
+ resource_id: SandboxRequests.identifier(session_id),
55
+ subject_id: SandboxRequests.identifier(auth_user_id),
56
+ body: { expires_at: SandboxRequests.expiry(expires_at) })
57
+ @requests.call(request, status: 204)
58
+ nil
59
+ end
60
+
61
+ def revoke(session_id, auth_user_id)
62
+ request = SandboxRequest.new(operation: :revoke_sandbox_session,
63
+ resource_id: SandboxRequests.identifier(session_id),
64
+ subject_id: SandboxRequests.identifier(auth_user_id))
65
+ @requests.call(request, status: 204)
66
+ nil
67
+ end
68
+ end
69
+ end
@@ -79,8 +79,8 @@ module Volcano
79
79
  end
80
80
 
81
81
  def visibility_value(value)
82
- return true if value == true
83
- return false if value == false
82
+ return true if value.equal?(true)
83
+ return false if value.equal?(false)
84
84
 
85
85
  raise ArgumentError, 'public must be true or false'
86
86
  end
@@ -50,8 +50,8 @@ module Volcano
50
50
  end
51
51
 
52
52
  def storage_boolean(value)
53
- return true if value == true
54
- return false if value == false
53
+ return true if value.equal?(true)
54
+ return false if value.equal?(false)
55
55
 
56
56
  raise Error::TransportError, 'invalid storage boolean'
57
57
  end
@@ -11,7 +11,7 @@ module Volcano
11
11
  ERROR_TYPES = {
12
12
  400 => Error::ValidationError,
13
13
  401 => Error::AuthenticationError,
14
- 403 => Error::AuthenticationError,
14
+ 403 => Error::PermissionDeniedError,
15
15
  404 => Error::NotFoundError,
16
16
  409 => Error::ConflictError,
17
17
  422 => Error::ValidationError,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Volcano
4
- VERSION = '0.32.7'
4
+ VERSION = '0.34.0'
5
5
  end
data/lib/volcano.rb CHANGED
@@ -8,6 +8,7 @@ require_relative 'volcano/session'
8
8
  require_relative 'volcano/session_credentials'
9
9
  require_relative 'volcano/function_response'
10
10
  require_relative 'volcano/durable_models'
11
+ require_relative 'volcano/durable_approval_models'
11
12
  require_relative 'volcano/log_responses'
12
13
  require_relative 'volcano/storage_models'
13
14
  require_relative 'volcano/storage_upload_models'
@@ -44,6 +45,9 @@ require_relative 'volcano/auth_reset_password'
44
45
  require_relative 'volcano/database'
45
46
  require_relative 'volcano/function_resolution'
46
47
  require_relative 'volcano/functions'
48
+ require_relative 'volcano/durable_arguments'
49
+ require_relative 'volcano/durable_approval_responses'
50
+ require_relative 'volcano/durable_approvals'
47
51
  require_relative 'volcano/durable'
48
52
  require_relative 'volcano/logs'
49
53
  require_relative 'volcano/storage_session_adapter'
@@ -64,10 +68,19 @@ require_relative 'volcano/lock_response'
64
68
  require_relative 'volcano/locks'
65
69
  require_relative 'volcano/realtime/protocol'
66
70
  require_relative 'volcano/realtime'
71
+ require_relative 'volcano/sandbox_models'
72
+ require_relative 'volcano/sandbox_request'
73
+ require_relative 'volcano/sandbox_response'
74
+ require_relative 'volcano/sandbox_files'
75
+ require_relative 'volcano/sandbox_session'
76
+ require_relative 'volcano/sandbox_deployment_response'
77
+ require_relative 'volcano/sandbox_deployments'
78
+ require_relative 'volcano/sandboxes'
67
79
  require_relative 'volcano/client'
68
80
 
69
81
  # Public namespace for the Volcano Ruby SDK.
70
82
  module Volcano
83
+ private_constant :SandboxRequest, :SandboxRequests, :SandboxResponse
71
84
  private_constant :AuthRefresh, :AuthSignOut, :AuthProfile, :AuthProfileFields, :AuthUpdateUser, :AuthEmailChange,
72
85
  :AuthSessions, :AuthSessionConstruction,
73
86
  :GeneratedTransport, :LockAutoRenewal, :LockLeaseClock, :LockRenewer,
data/sig/client.rbs CHANGED
@@ -1,5 +1,6 @@
1
1
  module Volcano
2
2
  class Client
3
+ attr_reader sandboxes: Sandboxes
3
4
  attr_reader auth: Auth
4
5
  attr_reader functions: Functions
5
6
  attr_reader durable: Durable
data/sig/core_facades.rbs CHANGED
@@ -1,6 +1,7 @@
1
1
  module Volcano
2
2
  type sdk_json = nil | bool | Integer | Float | String | Time | Array[sdk_json] | Hash[String | Symbol, sdk_json]
3
3
  type sdk_payload = Hash[String | Symbol, sdk_json]
4
+ type durable_approval_filters = { ?status: String?, ?function: String?, ?execution_id: String?, ?from: (Time | String)?, ?to: (Time | String)?, ?page: Integer?, ?limit: Integer? }
4
5
  type database_rows = Array[Hash[String, json_value]]
5
6
 
6
7
  class Database
@@ -67,7 +68,20 @@ module Volcano
67
68
  def invoke: (String name, ?sdk_payload payload) -> FunctionResponse
68
69
  end
69
70
 
71
+ class DurableApprovals
72
+ MAX_FUNCTION_LENGTH: Integer
73
+ MAX_COMMENT_LENGTH: Integer
74
+
75
+ def list: (String project_id, ?durable_approval_filters filters) -> DurableApprovalPage
76
+ def get: (String project_id, String approval_id) -> DurableApproval
77
+ def stats: (String project_id, ?function: String?, ?from: (Time | String)?, ?to: (Time | String)?) -> DurableApprovalStats
78
+ def approve: (String project_id, String approval_id, ?comment: String?) -> DurableApproval
79
+ def deny: (String project_id, String approval_id, ?comment: String?) -> DurableApproval
80
+ end
81
+
70
82
  class Durable
83
+ attr_reader approvals: DurableApprovals
84
+
71
85
  def start: (String function_name, ?sdk_payload payload, ?execution_name: String?) -> DurableExecution
72
86
  def get: (String project_id, String function_name, String execution_id) -> DurableExecution
73
87
  def list: (String project_id, String function_name, ?status: String?, ?page: Integer?, ?limit: Integer?) -> DurableExecutionPage
@@ -0,0 +1,218 @@
1
+ module Volcano
2
+ class DurableApprovalFunction < Data
3
+ attr_reader id: String?
4
+ attr_reader name: String
5
+
6
+ def self.new: (String? id, String name) -> DurableApprovalFunction
7
+ | (id: String?, name: String) -> DurableApprovalFunction
8
+ def self.[]: (String? id, String name) -> DurableApprovalFunction
9
+ | (id: String?, name: String) -> DurableApprovalFunction
10
+ def self.members: () -> [:id, :name]
11
+
12
+ def initialize: (id: String?, name: String) -> void
13
+ def members: () -> [:id, :name]
14
+ def with: (?id: String?, ?name: String) -> DurableApprovalFunction
15
+ def to_h: () -> { id: String?, name: String }
16
+ | [K, V] () { (Symbol, String?) -> [K, V] } -> Hash[K, V]
17
+ def deconstruct: () -> [String?, String]
18
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, String?]
19
+ end
20
+
21
+ class DurableApprovalExecution < Data
22
+ attr_reader id: String?
23
+ attr_reader name: String
24
+ attr_reader status: String?
25
+
26
+ def self.new: (String? id, String name, String? status) -> DurableApprovalExecution
27
+ | (id: String?, name: String, status: String?) -> DurableApprovalExecution
28
+ def self.[]: (String? id, String name, String? status) -> DurableApprovalExecution
29
+ | (id: String?, name: String, status: String?) -> DurableApprovalExecution
30
+ def self.members: () -> [:id, :name, :status]
31
+
32
+ def initialize: (id: String?, name: String, status: String?) -> void
33
+ def members: () -> [:id, :name, :status]
34
+ def with: (?id: String?, ?name: String, ?status: String?) -> DurableApprovalExecution
35
+ def to_h: () -> { id: String?, name: String, status: String? }
36
+ | [K, V] () { (Symbol, String?) -> [K, V] } -> Hash[K, V]
37
+ def deconstruct: () -> [String?, String, String?]
38
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, String?]
39
+ end
40
+
41
+ class DurableApprovalDecider < Data
42
+ attr_reader id: String
43
+ attr_reader email: String
44
+
45
+ def self.new: (String id, String email) -> DurableApprovalDecider
46
+ | (id: String, email: String) -> DurableApprovalDecider
47
+ def self.[]: (String id, String email) -> DurableApprovalDecider
48
+ | (id: String, email: String) -> DurableApprovalDecider
49
+ def self.members: () -> [:id, :email]
50
+
51
+ def initialize: (id: String, email: String) -> void
52
+ def members: () -> [:id, :email]
53
+ def with: (?id: String, ?email: String) -> DurableApprovalDecider
54
+ def to_h: () -> { id: String, email: String }
55
+ | [K, V] () { (Symbol, String) -> [K, V] } -> Hash[K, V]
56
+ def deconstruct: () -> [String, String]
57
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, String]
58
+ end
59
+
60
+ class DurableApprovalDecision < Data
61
+ attr_reader comment: String
62
+ attr_reader decided_by: DurableApprovalDecider?
63
+ attr_reader decided_at: Time
64
+
65
+ def self.new: (String comment, DurableApprovalDecider? decided_by, Time decided_at) -> DurableApprovalDecision
66
+ | (comment: String, decided_by: DurableApprovalDecider?, decided_at: Time) -> DurableApprovalDecision
67
+ def self.[]: (String comment, DurableApprovalDecider? decided_by, Time decided_at) -> DurableApprovalDecision
68
+ | (comment: String, decided_by: DurableApprovalDecider?, decided_at: Time) -> DurableApprovalDecision
69
+ def self.members: () -> [:comment, :decided_by, :decided_at]
70
+
71
+ def initialize: (comment: String, decided_by: DurableApprovalDecider?, decided_at: Time) -> void
72
+ def members: () -> [:comment, :decided_by, :decided_at]
73
+ def with: (?comment: String, ?decided_by: DurableApprovalDecider?, ?decided_at: Time) -> DurableApprovalDecision
74
+ def to_h: () -> { comment: String, decided_by: DurableApprovalDecider?, decided_at: Time }
75
+ | [K, V] () { (Symbol, String | DurableApprovalDecider | Time | nil) -> [K, V] } -> Hash[K, V]
76
+ def deconstruct: () -> [String, DurableApprovalDecider?, Time]
77
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, String | DurableApprovalDecider | Time | nil]
78
+ end
79
+
80
+ class DurableApproval < Data
81
+ type field = String | json_value | DurableApprovalFunction | DurableApprovalExecution | Time | DurableApprovalDecision | nil
82
+
83
+ attr_reader id: String
84
+ attr_reader status: String
85
+ attr_reader name: String
86
+ attr_reader title: String
87
+ attr_reader description: String
88
+ attr_reader details: json_value
89
+ attr_reader function: DurableApprovalFunction
90
+ attr_reader execution: DurableApprovalExecution
91
+ attr_reader requested_at: Time
92
+ attr_reader expires_at: Time?
93
+ attr_reader decision: DurableApprovalDecision?
94
+
95
+ def self.new: (String id, String status, String name, String title, String description, json_value details, DurableApprovalFunction function, DurableApprovalExecution execution, Time requested_at, ?Time? expires_at, ?DurableApprovalDecision? decision) -> DurableApproval
96
+ | (id: String, status: String, name: String, title: String, description: String, ?details: json_value, function: DurableApprovalFunction, execution: DurableApprovalExecution, requested_at: Time, ?expires_at: Time?, ?decision: DurableApprovalDecision?) -> DurableApproval
97
+ def self.[]: (String id, String status, String name, String title, String description, json_value details, DurableApprovalFunction function, DurableApprovalExecution execution, Time requested_at, ?Time? expires_at, ?DurableApprovalDecision? decision) -> DurableApproval
98
+ | (id: String, status: String, name: String, title: String, description: String, ?details: json_value, function: DurableApprovalFunction, execution: DurableApprovalExecution, requested_at: Time, ?expires_at: Time?, ?decision: DurableApprovalDecision?) -> DurableApproval
99
+ def self.members: () -> [:id, :status, :name, :title, :description, :details, :function, :execution, :requested_at, :expires_at, :decision]
100
+
101
+ private def initialize: (**field attributes) -> void
102
+ def members: () -> [:id, :status, :name, :title, :description, :details, :function, :execution, :requested_at, :expires_at, :decision]
103
+ def with: (?id: String, ?status: String, ?name: String, ?title: String, ?description: String, ?details: json_value, ?function: DurableApprovalFunction, ?execution: DurableApprovalExecution, ?requested_at: Time, ?expires_at: Time?, ?decision: DurableApprovalDecision?) -> DurableApproval
104
+ def to_h: () -> { id: String, status: String, name: String, title: String, description: String, details: json_value, function: DurableApprovalFunction, execution: DurableApprovalExecution, requested_at: Time, expires_at: Time?, decision: DurableApprovalDecision? }
105
+ | [K, V] () { (Symbol, field) -> [K, V] } -> Hash[K, V]
106
+ def deconstruct: () -> [String, String, String, String, String, json_value, DurableApprovalFunction, DurableApprovalExecution, Time, Time?, DurableApprovalDecision?]
107
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, field]
108
+ end
109
+
110
+ class DurableApprovalPage < Data
111
+ attr_reader approvals: Array[DurableApproval]
112
+ attr_reader page: Integer
113
+ attr_reader limit: Integer
114
+ attr_reader total: Integer
115
+ attr_reader has_more: bool
116
+
117
+ def self.new: (Enumerable[DurableApproval] approvals, Integer page, Integer limit, Integer total, bool has_more) -> DurableApprovalPage
118
+ | (approvals: Enumerable[DurableApproval], page: Integer, limit: Integer, total: Integer, has_more: bool) -> DurableApprovalPage
119
+ def self.[]: (Enumerable[DurableApproval] approvals, Integer page, Integer limit, Integer total, bool has_more) -> DurableApprovalPage
120
+ | (approvals: Enumerable[DurableApproval], page: Integer, limit: Integer, total: Integer, has_more: bool) -> DurableApprovalPage
121
+ def self.members: () -> [:approvals, :page, :limit, :total, :has_more]
122
+
123
+ def initialize: (approvals: Enumerable[DurableApproval], page: Integer, limit: Integer, total: Integer, has_more: bool) -> void
124
+ def members: () -> [:approvals, :page, :limit, :total, :has_more]
125
+ def with: (?approvals: Enumerable[DurableApproval], ?page: Integer, ?limit: Integer, ?total: Integer, ?has_more: bool) -> DurableApprovalPage
126
+ def to_h: () -> { approvals: Array[DurableApproval], page: Integer, limit: Integer, total: Integer, has_more: bool }
127
+ | [K, V] () { (Symbol, Array[DurableApproval] | Integer | bool) -> [K, V] } -> Hash[K, V]
128
+ def deconstruct: () -> [Array[DurableApproval], Integer, Integer, Integer, bool]
129
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, Array[DurableApproval] | Integer | bool]
130
+ end
131
+
132
+ class DurableApprovalCounts < Data
133
+ attr_reader requested: Integer
134
+ attr_reader pending: Integer
135
+ attr_reader approved: Integer
136
+ attr_reader denied: Integer
137
+ attr_reader expired: Integer
138
+ attr_reader cancelled: Integer
139
+
140
+ def self.new: (Integer requested, Integer pending, Integer approved, Integer denied, Integer expired, Integer cancelled) -> DurableApprovalCounts
141
+ | (requested: Integer, pending: Integer, approved: Integer, denied: Integer, expired: Integer, cancelled: Integer) -> DurableApprovalCounts
142
+ def self.[]: (Integer requested, Integer pending, Integer approved, Integer denied, Integer expired, Integer cancelled) -> DurableApprovalCounts
143
+ | (requested: Integer, pending: Integer, approved: Integer, denied: Integer, expired: Integer, cancelled: Integer) -> DurableApprovalCounts
144
+ def self.members: () -> [:requested, :pending, :approved, :denied, :expired, :cancelled]
145
+
146
+ def members: () -> [:requested, :pending, :approved, :denied, :expired, :cancelled]
147
+ def with: (?requested: Integer, ?pending: Integer, ?approved: Integer, ?denied: Integer, ?expired: Integer, ?cancelled: Integer) -> DurableApprovalCounts
148
+ def to_h: () -> { requested: Integer, pending: Integer, approved: Integer, denied: Integer, expired: Integer, cancelled: Integer }
149
+ | [K, V] () { (Symbol, Integer) -> [K, V] } -> Hash[K, V]
150
+ def deconstruct: () -> [Integer, Integer, Integer, Integer, Integer, Integer]
151
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, Integer]
152
+ end
153
+
154
+ class DurableApprovalFunctionCounts < Data
155
+ attr_reader function: DurableApprovalFunction
156
+ attr_reader counts: DurableApprovalCounts
157
+
158
+ def self.new: (DurableApprovalFunction function, DurableApprovalCounts counts) -> DurableApprovalFunctionCounts
159
+ | (function: DurableApprovalFunction, counts: DurableApprovalCounts) -> DurableApprovalFunctionCounts
160
+ def self.[]: (DurableApprovalFunction function, DurableApprovalCounts counts) -> DurableApprovalFunctionCounts
161
+ | (function: DurableApprovalFunction, counts: DurableApprovalCounts) -> DurableApprovalFunctionCounts
162
+ def self.members: () -> [:function, :counts]
163
+
164
+ def members: () -> [:function, :counts]
165
+ def with: (?function: DurableApprovalFunction, ?counts: DurableApprovalCounts) -> DurableApprovalFunctionCounts
166
+ def to_h: () -> { function: DurableApprovalFunction, counts: DurableApprovalCounts }
167
+ | [K, V] () { (Symbol, DurableApprovalFunction | DurableApprovalCounts) -> [K, V] } -> Hash[K, V]
168
+ def deconstruct: () -> [DurableApprovalFunction, DurableApprovalCounts]
169
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, DurableApprovalFunction | DurableApprovalCounts]
170
+ end
171
+
172
+ class DurableApprovalDailyCounts < Data
173
+ attr_reader date: String
174
+ attr_reader counts: DurableApprovalCounts
175
+
176
+ def self.new: (String date, DurableApprovalCounts counts) -> DurableApprovalDailyCounts
177
+ | (date: String, counts: DurableApprovalCounts) -> DurableApprovalDailyCounts
178
+ def self.[]: (String date, DurableApprovalCounts counts) -> DurableApprovalDailyCounts
179
+ | (date: String, counts: DurableApprovalCounts) -> DurableApprovalDailyCounts
180
+ def self.members: () -> [:date, :counts]
181
+
182
+ def initialize: (date: String, counts: DurableApprovalCounts) -> void
183
+ def members: () -> [:date, :counts]
184
+ def with: (?date: String, ?counts: DurableApprovalCounts) -> DurableApprovalDailyCounts
185
+ def to_h: () -> { date: String, counts: DurableApprovalCounts }
186
+ | [K, V] () { (Symbol, String | DurableApprovalCounts) -> [K, V] } -> Hash[K, V]
187
+ def deconstruct: () -> [String, DurableApprovalCounts]
188
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, String | DurableApprovalCounts]
189
+ end
190
+
191
+ class DurableApprovalStats < Data
192
+ type field = Time | DurableApprovalCounts | Float | Array[DurableApprovalFunctionCounts] | Array[DurableApprovalDailyCounts] | nil
193
+
194
+ attr_reader from: Time
195
+ attr_reader to: Time
196
+ attr_reader counts: DurableApprovalCounts
197
+ attr_reader approval_rate: Float?
198
+ attr_reader median_seconds_to_decision: Float?
199
+ attr_reader p90_seconds_to_decision: Float?
200
+ attr_reader functions: Array[DurableApprovalFunctionCounts]
201
+ attr_reader other_functions: DurableApprovalCounts
202
+ attr_reader daily: Array[DurableApprovalDailyCounts]
203
+
204
+ def self.new: (Time from, Time to, DurableApprovalCounts counts, Float? approval_rate, Float? median_seconds_to_decision, Float? p90_seconds_to_decision, Array[DurableApprovalFunctionCounts] functions, DurableApprovalCounts other_functions, Array[DurableApprovalDailyCounts] daily) -> DurableApprovalStats
205
+ | (from: Time, to: Time, counts: DurableApprovalCounts, ?approval_rate: Float?, ?median_seconds_to_decision: Float?, ?p90_seconds_to_decision: Float?, functions: Array[DurableApprovalFunctionCounts], other_functions: DurableApprovalCounts, daily: Array[DurableApprovalDailyCounts]) -> DurableApprovalStats
206
+ def self.[]: (Time from, Time to, DurableApprovalCounts counts, Float? approval_rate, Float? median_seconds_to_decision, Float? p90_seconds_to_decision, Array[DurableApprovalFunctionCounts] functions, DurableApprovalCounts other_functions, Array[DurableApprovalDailyCounts] daily) -> DurableApprovalStats
207
+ | (from: Time, to: Time, counts: DurableApprovalCounts, ?approval_rate: Float?, ?median_seconds_to_decision: Float?, ?p90_seconds_to_decision: Float?, functions: Array[DurableApprovalFunctionCounts], other_functions: DurableApprovalCounts, daily: Array[DurableApprovalDailyCounts]) -> DurableApprovalStats
208
+ def self.members: () -> [:from, :to, :counts, :approval_rate, :median_seconds_to_decision, :p90_seconds_to_decision, :functions, :other_functions, :daily]
209
+
210
+ private def initialize: (**field attributes) -> void
211
+ def members: () -> [:from, :to, :counts, :approval_rate, :median_seconds_to_decision, :p90_seconds_to_decision, :functions, :other_functions, :daily]
212
+ def with: (?from: Time, ?to: Time, ?counts: DurableApprovalCounts, ?approval_rate: Float?, ?median_seconds_to_decision: Float?, ?p90_seconds_to_decision: Float?, ?functions: Array[DurableApprovalFunctionCounts], ?other_functions: DurableApprovalCounts, ?daily: Array[DurableApprovalDailyCounts]) -> DurableApprovalStats
213
+ def to_h: () -> { from: Time, to: Time, counts: DurableApprovalCounts, approval_rate: Float?, median_seconds_to_decision: Float?, p90_seconds_to_decision: Float?, functions: Array[DurableApprovalFunctionCounts], other_functions: DurableApprovalCounts, daily: Array[DurableApprovalDailyCounts] }
214
+ | [K, V] () { (Symbol, field) -> [K, V] } -> Hash[K, V]
215
+ def deconstruct: () -> [Time, Time, DurableApprovalCounts, Float?, Float?, Float?, Array[DurableApprovalFunctionCounts], DurableApprovalCounts, Array[DurableApprovalDailyCounts]]
216
+ def deconstruct_keys: (Array[Symbol]?) -> Hash[Symbol, field]
217
+ end
218
+ end
data/sig/errors.rbs CHANGED
@@ -11,6 +11,9 @@ module Volcano
11
11
  class AuthenticationError < VolcanoError
12
12
  end
13
13
 
14
+ class PermissionDeniedError < AuthenticationError
15
+ end
16
+
14
17
  class ValidationError < VolcanoError
15
18
  end
16
19