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.
- checksums.yaml +4 -4
- data/README.md +54 -2
- data/lib/volcano/auth_profile_fields.rb +2 -2
- data/lib/volcano/client.rb +3 -2
- data/lib/volcano/durable.rb +7 -34
- data/lib/volcano/durable_approval_models.rb +171 -0
- data/lib/volcano/durable_approval_responses.rb +222 -0
- data/lib/volcano/durable_approvals.rb +143 -0
- data/lib/volcano/durable_arguments.rb +59 -0
- data/lib/volcano/durable_models.rb +0 -4
- data/lib/volcano/errors.rb +5 -0
- data/lib/volcano/generated/lib/volcano-generated/api/anon_keys_api.rb +8 -8
- data/lib/volcano/generated/lib/volcano-generated/api/auth_admin_api.rb +17 -17
- data/lib/volcano/generated/lib/volcano-generated/api/auth_configuration_api.rb +26 -26
- data/lib/volcano/generated/lib/volcano-generated/api/authentication_api.rb +4 -4
- data/lib/volcano/generated/lib/volcano-generated/api/database_backups_api.rb +11 -11
- data/lib/volcano/generated/lib/volcano-generated/api/database_branches_api.rb +9 -9
- data/lib/volcano/generated/lib/volcano-generated/api/database_queries_api.rb +4 -4
- data/lib/volcano/generated/lib/volcano-generated/api/databases_api.rb +18 -18
- data/lib/volcano/generated/lib/volcano-generated/api/durable_functions_api.rb +559 -8
- data/lib/volcano/generated/lib/volcano-generated/api/frontends_api.rb +337 -21
- data/lib/volcano/generated/lib/volcano-generated/api/functions_api.rb +33 -27
- data/lib/volcano/generated/lib/volcano-generated/api/git_connections_api.rb +19 -11
- data/lib/volcano/generated/lib/volcano-generated/api/locks_api.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/api/logs_api.rb +11 -11
- data/lib/volcano/generated/lib/volcano-generated/api/o_auth_authentication_api.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/api/o_auth_configuration_api.rb +8 -8
- data/lib/volcano/generated/lib/volcano-generated/api/project_access_tokens_api.rb +479 -0
- data/lib/volcano/generated/lib/volcano-generated/api/project_imports_api.rb +10 -2
- data/lib/volcano/generated/lib/volcano-generated/api/projects_api.rb +110 -30
- data/lib/volcano/generated/lib/volcano-generated/api/realtime_api.rb +5 -5
- data/lib/volcano/generated/lib/volcano-generated/api/sandboxes_api.rb +1792 -0
- data/lib/volcano/generated/lib/volcano-generated/api/service_keys_api.rb +9 -9
- data/lib/volcano/generated/lib/volcano-generated/api/storage_admin_api.rb +4 -4
- data/lib/volcano/generated/lib/volcano-generated/api/storage_buckets_api.rb +7 -7
- data/lib/volcano/generated/lib/volcano-generated/api/storage_objects_api.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/api/storage_policies_api.rb +5 -5
- data/lib/volcano/generated/lib/volcano-generated/api/system_api.rb +310 -2
- data/lib/volcano/generated/lib/volcano-generated/api/variables_api.rb +13 -13
- data/lib/volcano/generated/lib/volcano-generated/api/verified_domains_api.rb +214 -0
- data/lib/volcano/generated/lib/volcano-generated/api_client.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/api_error.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/api_model_base.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/configuration.rb +11 -3
- data/lib/volcano/generated/lib/volcano-generated/models/anon_key.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_config.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_change200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_change_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_convert_anonymous200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_device_authorize_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_device_token_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_device_verify200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_device_verify_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_forgot_password200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_forgot_password_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_get_my_sessions200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_defaults.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_runtime.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_identities_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_identity.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_interval.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_series_point.rb +67 -4
- data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_summary.rb +77 -5
- data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_window.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_link_o_auth_provider200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_list_o_auth_providers200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_list_o_auth_providers200_response_providers_inner.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_method_summary.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_methods_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_o_auth_exchange_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_defaults.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_options.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_page_density.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_page_font.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_page_layout.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_page_radius.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_page_scale.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_page_theme.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_page_theme_colors.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_password_policy.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_platform_exchange_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_refresh_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_request_email_change200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_request_email_change_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_reset_password200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_reset_password_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_session.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_signin_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_anonymous_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_token_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_update_user_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/auth_user.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/ban_auth_user_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/ban_user_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/batch_function_deploy_failure.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/batch_function_deploy_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/byoc_project_config_frontend_custom_domain_tls_config.rb +270 -0
- data/lib/volcano/generated/lib/volcano-generated/models/byoc_project_config_frontend_custom_domain_tls_config_not.rb +102 -0
- data/lib/volcano/generated/lib/volcano-generated/models/call_mcp200_response.rb +220 -0
- data/lib/volcano/generated/lib/volcano-generated/models/call_mcp200_response_error.rb +190 -0
- data/lib/volcano/generated/lib/volcano-generated/models/call_mcp200_response_id.rb +105 -0
- data/lib/volcano/generated/lib/volcano-generated/models/call_mcp_request.rb +236 -0
- data/lib/volcano/generated/lib/volcano-generated/models/call_mcp_request_id.rb +105 -0
- data/lib/volcano/generated/lib/volcano-generated/models/call_o_auth_provider_api200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/call_o_auth_provider_api_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/complete_upload_session_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/configure_auth_methods_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/configure_auth_methods_request_oauth_providers_inner.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/connect_project_git_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_anon_key_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_database_backup_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_database_branch_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_database_request.rb +6 -6
- data/lib/volcano/generated/lib/volcano-generated/models/create_database_restore_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_email_template_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_frontend_custom_domain_request.rb +12 -3
- data/lib/volcano/generated/lib/volcano-generated/models/create_frontend_function_route_request.rb +230 -0
- data/lib/volcano/generated/lib/volcano-generated/models/create_function_scheduler_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_o_auth_config_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_project_access_token_request.rb +241 -0
- data/lib/volcano/generated/lib/volcano-generated/models/create_project_request.rb +57 -3
- data/lib/volcano/generated/lib/volcano-generated/models/create_sandbox_session_request.rb +292 -0
- data/lib/volcano/generated/lib/volcano-generated/models/create_sandbox_template_request.rb +247 -0
- data/lib/volcano/generated/lib/volcano-generated/models/create_service_key_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_storage_bucket_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_storage_policy_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_upload_session_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_upload_session_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/create_variable_request.rb +3 -2
- data/lib/volcano/generated/lib/volcano-generated/models/created_project_access_token.rb +459 -0
- data/lib/volcano/generated/lib/volcano-generated/models/database.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_backup.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_backup_list.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_backup_schedule.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_backup_schedule_entry.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_branch.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_branch_list.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_branch_storage.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_delete_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_insert_request.rb +3 -3
- data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter_value.rb +3 -3
- data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter_value_one_of_inner.rb +3 -3
- data/lib/volcano/generated/lib/volcano-generated/models/database_query_order.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_database.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_item.rb +4 -4
- data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_query_result.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_restore.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_restore_list.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_restore_window.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_select_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_stats.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/database_update_request.rb +3 -3
- data/lib/volcano/generated/lib/volcano-generated/models/delete_database202_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/delete_database_backup200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/delete_database_branch202_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/deployment_phase.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/deployment_progress.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/deployment_reference.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/device_authorization_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval.rb +406 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_counts.rb +295 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_daily_counts.rb +190 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_decider.rb +191 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_decision.rb +203 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_decision_request.rb +167 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_execution.rb +211 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_function.rb +177 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_function_counts.rb +190 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_registration.rb +225 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_stats.rb +339 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_approval_status.rb +43 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_execution.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_error.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_invocation.rb +191 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_operation.rb +372 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_operation_attempt.rb +271 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_operation_list.rb +234 -0
- data/lib/volcano/generated/lib/volcano-generated/models/durable_execution_status.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/durable_function.rb +31 -4
- data/lib/volcano/generated/lib/volcano-generated/models/durable_function_config.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/email_template.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/error.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/export_project_source_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/frontend.rb +85 -3
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_conflict_error.rb +191 -0
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_response.rb +27 -5
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_tls_config.rb +42 -18
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_tls_config_not.rb +103 -0
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_tls_config_not_any_of.rb +188 -0
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_tls_config_not_any_of1.rb +188 -0
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_deployment.rb +24 -68
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_domain_routing_record.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_domain_verification_record.rb +3 -2
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_function_route.rb +375 -0
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_function_route_list.rb +166 -0
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_daily_entry.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_data.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_history_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/function.rb +31 -14
- data/lib/volcano/generated/lib/volcano-generated/models/function_deployment.rb +24 -50
- data/lib/volcano/generated/lib/volcano-generated/models/function_http_auth_mode.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/function_invocation_mode.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/function_invocation_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/function_kind.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/function_kind_filter.rb +40 -0
- data/lib/volcano/generated/lib/volcano-generated/models/function_region.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/function_runtime_deployment.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/function_runtime_option.rb +30 -3
- data/lib/volcano/generated/lib/volcano-generated/models/function_runtimes_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/function_scheduler.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/function_scheduler_list_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/function_visibility.rb +41 -0
- data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response_email_password.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response_oauth_providers_inner.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/git_connect_start_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/git_connection.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/git_connections_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/git_installation.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/git_installations_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/git_repositories_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/git_repository.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/hosted_auth_page_type.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_email_check_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_email_check_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_options_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/hosted_renderable_page_type.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/import_connect_start_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/import_connection.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/import_connections_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/import_provider.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/import_source.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/import_sources_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/list_anon_keys200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/list_available_o_auth_providers200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/list_available_o_auth_providers200_response_providers_inner.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/list_database_regions200_response_inner.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/list_email_templates200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/list_o_auth_configs200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/list_postgres_versions200_response_inner.rb +14 -4
- data/lib/volcano/generated/lib/volcano-generated/models/list_storage_buckets200_response.rb +3 -3
- data/lib/volcano/generated/lib/volcano-generated/models/list_storage_objects_admin200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/live_log_level.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_activity_bucket.rb +5 -5
- data/lib/volcano/generated/lib/volcano-generated/models/log_activity_bucket_counts.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_activity_request.rb +5 -5
- data/lib/volcano/generated/lib/volcano-generated/models/log_activity_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_database_request_resource.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_deployment.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_deployment_request_selector.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_event.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_event_body.rb +3 -3
- data/lib/volcano/generated/lib/volcano-generated/models/log_frontend_request_resource.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_function_request_resource.rb +13 -3
- data/lib/volcano/generated/lib/volcano-generated/models/log_request_resource.rb +3 -3
- data/lib/volcano/generated/lib/volcano-generated/models/log_resource.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_search_event.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_search_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/log_search_response.rb +4 -4
- data/lib/volcano/generated/lib/volcano-generated/models/log_stream_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/managed_project_config_frontend_custom_domain_tls_config.rb +189 -0
- data/lib/volcano/generated/lib/volcano-generated/models/metric_usage_data.rb +3 -3
- data/lib/volcano/generated/lib/volcano-generated/models/o_auth_config.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/o_auth_error_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_auth_users.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_databases.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_durable_approvals.rb +274 -0
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_durable_executions.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_durable_functions.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_frontend_deployments.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_frontends.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_function_deployments.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_functions.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_project_access_tokens.rb +279 -0
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_project_custom_domains.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_project_deployments.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_projects.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_service_keys.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_storage_buckets.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/paginated_variables.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/platform_exchange_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/preview_auth_page_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/preview_auth_page_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project.rb +13 -13
- data/lib/volcano/generated/lib/volcano-generated/models/project_access_token.rb +426 -0
- data/lib/volcano/generated/lib/volcano-generated/models/project_access_token_scope.rb +40 -0
- data/lib/volcano/generated/lib/volcano-generated/models/project_access_token_usage.rb +299 -0
- data/lib/volcano/generated/lib/volcano-generated/models/project_access_token_usage_daily_entry.rb +191 -0
- data/lib/volcano/generated/lib/volcano-generated/models/project_config.rb +40 -6
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_result.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_result_entry.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_summary.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_cors.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_from.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_password_provider.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_smtp.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_verification.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_managed_pages.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_page_appearance.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_page_layouts.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_password.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_password_reset.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_providers.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_rate_limits.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_redirects.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_sessions.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_signup.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_tokens.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_bucket.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_bucket_policy.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_custom_domain.rb +14 -5
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_database.rb +6 -6
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_email_template.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_email_templates.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_frontend.rb +103 -6
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_frontend_custom_domain_tls_config.rb +105 -0
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_frontend_function_route.rb +240 -0
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_function.rb +13 -4
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_hosted_page.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_hosted_pages.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_missing_resource.rb +4 -4
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_o_auth_provider.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_project.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_realtime.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_sandbox.rb +327 -0
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_scheduler.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_skipped_resource.rb +4 -4
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_validation_error.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_validation_error_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_config_variable.rb +3 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_deployment.rb +3 -12
- data/lib/volcano/generated/lib/volcano-generated/models/project_deployment_resource.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_deployment_summary.rb +3 -3
- data/lib/volcano/generated/lib/volcano-generated/models/project_frontend_custom_domain.rb +27 -5
- data/lib/volcano/generated/lib/volcano-generated/models/project_frontend_custom_domain_all_of_frontend.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_git_connection.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_git_connection_summary.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_git_deploy_settings.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_health_category.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_health_check.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_health_data_status.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_health_evidence.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_health_resource.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_health_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_health_scope.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_health_status.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_health_summary.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_action.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_action_code.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_destination.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_destination_mode.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_disposition.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_finding.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_impact.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_preflight_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_readiness.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_report.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_resource.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_resource_kind.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_run.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_run_status.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_start_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_summary.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_import_target.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_lock_lease.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_lock_lease_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_lock_state.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_data_status.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_dimensions.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_group_by.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_metric.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_time_range.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_result.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_unit.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_value.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_window.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_source_export.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_omission.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_skip.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_state.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/project_template_installation.rb +217 -0
- data/lib/volcano/generated/lib/volcano-generated/models/project_usage_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/publish_sandbox_preset_request.rb +268 -0
- data/lib/volcano/generated/lib/volcano-generated/models/realtime_config.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/realtime_plan_limits.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/realtime_stats.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/refresh_o_auth_provider_token200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/replace_frontend_shared_variables_request.rb +237 -0
- data/lib/volcano/generated/lib/volcano-generated/models/replace_shared_variables_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/request_durable_approval_request.rb +355 -0
- data/lib/volcano/generated/lib/volcano-generated/models/reset_database_password200_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/resolve_function_response.rb +13 -3
- data/lib/volcano/generated/lib/volcano-generated/models/resource_reference.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_access.rb +216 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_access_request.rb +221 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_build_log_page.rb +176 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_build_log_page_data_inner.rb +190 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_capacity.rb +199 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_capacity_list.rb +166 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_command_request.rb +251 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_command_result.rb +294 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_deployment.rb +242 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_deployment_page.rb +192 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_execution_request.rb +329 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_execution_result.rb +381 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_file_read_request.rb +182 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_file_result.rb +164 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_file_write_request.rb +217 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_pagination.rb +199 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_preset.rb +294 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_preset_list.rb +166 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_session.rb +407 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_session_page.rb +192 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_subject_grant_request.rb +164 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_template.rb +321 -0
- data/lib/volcano/generated/lib/volcano-generated/models/sandbox_template_page.rb +192 -0
- data/lib/volcano/generated/lib/volcano-generated/models/schedule_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/service_key.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/set_project_git_production_branch_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/storage_bucket.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/storage_copy_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/storage_list_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/storage_move_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/storage_object.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/storage_object_with_bucket.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/storage_policy.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/storage_stats.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/storage_visibility_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/test_email_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/test_email_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/unban_user_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_auth_config_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_auth_hosted_page_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_auth_page_layout_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_auth_page_theme_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_database_branch_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_database_type_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_email_template_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_function_request.rb +13 -4
- data/lib/volcano/generated/lib/volcano-generated/models/update_function_scheduler_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_o_auth_config_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_project_git_deploy_settings_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_project_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_realtime_config_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_sandbox_template_request.rb +175 -0
- data/lib/volcano/generated/lib/volcano-generated/models/update_storage_bucket_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/update_variable_request.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/upload_session_part.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/upload_session_status_response.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/upload_storage_object201_response.rb +3 -3
- data/lib/volcano/generated/lib/volcano-generated/models/usage_data_point.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated/models/variable.rb +13 -3
- data/lib/volcano/generated/lib/volcano-generated/models/verified_domain.rb +192 -0
- data/lib/volcano/generated/lib/volcano-generated/models/verified_domains_response.rb +166 -0
- data/lib/volcano/generated/lib/volcano-generated/models/verify_domain_request.rb +183 -0
- data/lib/volcano/generated/lib/volcano-generated/version.rb +2 -2
- data/lib/volcano/generated/lib/volcano-generated.rb +82 -2
- data/lib/volcano/generated_transport.rb +1 -0
- data/lib/volcano/generated_transport_durable.rb +59 -0
- data/lib/volcano/generated_transport_functions.rb +1 -1
- data/lib/volcano/generated_transport_sandbox.rb +101 -0
- data/lib/volcano/lock_response.rb +2 -2
- data/lib/volcano/sandbox_deployment_response.rb +39 -0
- data/lib/volcano/sandbox_deployments.rb +79 -0
- data/lib/volcano/sandbox_files.rb +37 -0
- data/lib/volcano/sandbox_models.rb +32 -0
- data/lib/volcano/sandbox_request.rb +98 -0
- data/lib/volcano/sandbox_response.rb +74 -0
- data/lib/volcano/sandbox_session.rb +78 -0
- data/lib/volcano/sandboxes.rb +69 -0
- data/lib/volcano/storage_mutations.rb +2 -2
- data/lib/volcano/storage_object_response.rb +2 -2
- data/lib/volcano/transport.rb +1 -1
- data/lib/volcano/version.rb +1 -1
- data/lib/volcano.rb +13 -0
- data/sig/client.rbs +1 -0
- data/sig/core_facades.rbs +14 -0
- data/sig/durable_approval_records.rbs +218 -0
- data/sig/errors.rbs +3 -0
- data/sig/sandboxes.rbs +125 -0
- 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
|
|
83
|
-
return false if value
|
|
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
|
|
54
|
-
return false if value
|
|
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
|
data/lib/volcano/transport.rb
CHANGED
|
@@ -11,7 +11,7 @@ module Volcano
|
|
|
11
11
|
ERROR_TYPES = {
|
|
12
12
|
400 => Error::ValidationError,
|
|
13
13
|
401 => Error::AuthenticationError,
|
|
14
|
-
403 => Error::
|
|
14
|
+
403 => Error::PermissionDeniedError,
|
|
15
15
|
404 => Error::NotFoundError,
|
|
16
16
|
409 => Error::ConflictError,
|
|
17
17
|
422 => Error::ValidationError,
|
data/lib/volcano/version.rb
CHANGED
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
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
|