volcano-sdk 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +203 -0
  3. data/README.md +758 -0
  4. data/lib/volcano/auth.rb +113 -0
  5. data/lib/volcano/auth_anonymous.rb +51 -0
  6. data/lib/volcano/auth_confirm_email.rb +19 -0
  7. data/lib/volcano/auth_email_change.rb +75 -0
  8. data/lib/volcano/auth_get_user.rb +110 -0
  9. data/lib/volcano/auth_hosted.rb +43 -0
  10. data/lib/volcano/auth_oauth.rb +102 -0
  11. data/lib/volcano/auth_oauth_api.rb +51 -0
  12. data/lib/volcano/auth_oauth_sign_in.rb +61 -0
  13. data/lib/volcano/auth_oauth_token.rb +51 -0
  14. data/lib/volcano/auth_refresh.rb +117 -0
  15. data/lib/volcano/auth_resend_confirmation.rb +19 -0
  16. data/lib/volcano/auth_reset_password.rb +23 -0
  17. data/lib/volcano/auth_reset_password_for_email.rb +19 -0
  18. data/lib/volcano/auth_sessions.rb +139 -0
  19. data/lib/volcano/auth_sign_up.rb +40 -0
  20. data/lib/volcano/auth_state.rb +148 -0
  21. data/lib/volcano/auth_update_user.rb +32 -0
  22. data/lib/volcano/client.rb +121 -0
  23. data/lib/volcano/connection_string.rb +85 -0
  24. data/lib/volcano/database.rb +243 -0
  25. data/lib/volcano/errors.rb +38 -0
  26. data/lib/volcano/function_resolution.rb +120 -0
  27. data/lib/volcano/function_response.rb +26 -0
  28. data/lib/volcano/functions.rb +136 -0
  29. data/lib/volcano/generated/lib/volcano-generated/api/anon_keys_api.rb +471 -0
  30. data/lib/volcano/generated/lib/volcano-generated/api/auth_admin_api.rb +739 -0
  31. data/lib/volcano/generated/lib/volcano-generated/api/auth_configuration_api.rb +1798 -0
  32. data/lib/volcano/generated/lib/volcano-generated/api/authentication_api.rb +1523 -0
  33. data/lib/volcano/generated/lib/volcano-generated/api/database_backups_api.rb +791 -0
  34. data/lib/volcano/generated/lib/volcano-generated/api/database_branches_api.rb +665 -0
  35. data/lib/volcano/generated/lib/volcano-generated/api/database_queries_api.rb +905 -0
  36. data/lib/volcano/generated/lib/volcano-generated/api/databases_api.rb +819 -0
  37. data/lib/volcano/generated/lib/volcano-generated/api/frontends_api.rb +913 -0
  38. data/lib/volcano/generated/lib/volcano-generated/api/functions_api.rb +1355 -0
  39. data/lib/volcano/generated/lib/volcano-generated/api/git_connections_api.rb +1012 -0
  40. data/lib/volcano/generated/lib/volcano-generated/api/locks_api.rb +480 -0
  41. data/lib/volcano/generated/lib/volcano-generated/api/logs_api.rb +250 -0
  42. data/lib/volcano/generated/lib/volcano-generated/api/o_auth_authentication_api.rb +962 -0
  43. data/lib/volcano/generated/lib/volcano-generated/api/o_auth_configuration_api.rb +452 -0
  44. data/lib/volcano/generated/lib/volcano-generated/api/project_imports_api.rb +599 -0
  45. data/lib/volcano/generated/lib/volcano-generated/api/projects_api.rb +1862 -0
  46. data/lib/volcano/generated/lib/volcano-generated/api/realtime_api.rb +222 -0
  47. data/lib/volcano/generated/lib/volcano-generated/api/service_keys_api.rb +402 -0
  48. data/lib/volcano/generated/lib/volcano-generated/api/storage_admin_api.rb +189 -0
  49. data/lib/volcano/generated/lib/volcano-generated/api/storage_buckets_api.rb +437 -0
  50. data/lib/volcano/generated/lib/volcano-generated/api/storage_objects_api.rb +857 -0
  51. data/lib/volcano/generated/lib/volcano-generated/api/storage_policies_api.rb +277 -0
  52. data/lib/volcano/generated/lib/volcano-generated/api/system_api.rb +79 -0
  53. data/lib/volcano/generated/lib/volcano-generated/api/variables_api.rb +454 -0
  54. data/lib/volcano/generated/lib/volcano-generated/api_client.rb +393 -0
  55. data/lib/volcano/generated/lib/volcano-generated/api_error.rb +58 -0
  56. data/lib/volcano/generated/lib/volcano-generated/api_model_base.rb +88 -0
  57. data/lib/volcano/generated/lib/volcano-generated/configuration.rb +337 -0
  58. data/lib/volcano/generated/lib/volcano-generated/models/anon_key.rb +257 -0
  59. data/lib/volcano/generated/lib/volcano-generated/models/auth_config.rb +728 -0
  60. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email200_response.rb +181 -0
  61. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_change200_response.rb +156 -0
  62. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_change_request.rb +164 -0
  63. data/lib/volcano/generated/lib/volcano-generated/models/auth_confirm_email_request.rb +165 -0
  64. data/lib/volcano/generated/lib/volcano-generated/models/auth_convert_anonymous200_response.rb +147 -0
  65. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_authorize_request.rb +165 -0
  66. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_token_request.rb +240 -0
  67. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_verify200_response.rb +156 -0
  68. data/lib/volcano/generated/lib/volcano-generated/models/auth_device_verify_request.rb +209 -0
  69. data/lib/volcano/generated/lib/volcano-generated/models/auth_forgot_password200_response.rb +147 -0
  70. data/lib/volcano/generated/lib/volcano-generated/models/auth_forgot_password_request.rb +164 -0
  71. data/lib/volcano/generated/lib/volcano-generated/models/auth_get_my_sessions200_response.rb +231 -0
  72. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page.rb +225 -0
  73. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_defaults.rb +193 -0
  74. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_response.rb +203 -0
  75. data/lib/volcano/generated/lib/volcano-generated/models/auth_hosted_page_runtime.rb +220 -0
  76. data/lib/volcano/generated/lib/volcano-generated/models/auth_identities_response.rb +166 -0
  77. data/lib/volcano/generated/lib/volcano-generated/models/auth_identity.rb +273 -0
  78. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_interval.rb +41 -0
  79. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_response.rb +270 -0
  80. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_series_point.rb +263 -0
  81. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_summary.rb +210 -0
  82. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_window.rb +238 -0
  83. data/lib/volcano/generated/lib/volcano-generated/models/auth_link_o_auth_provider200_response.rb +147 -0
  84. data/lib/volcano/generated/lib/volcano-generated/models/auth_list_o_auth_providers200_response.rb +149 -0
  85. data/lib/volcano/generated/lib/volcano-generated/models/auth_list_o_auth_providers200_response_providers_inner.rb +165 -0
  86. data/lib/volcano/generated/lib/volcano-generated/models/auth_method_summary.rb +370 -0
  87. data/lib/volcano/generated/lib/volcano-generated/models/auth_methods_response.rb +166 -0
  88. data/lib/volcano/generated/lib/volcano-generated/models/auth_o_auth_exchange_request.rb +190 -0
  89. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_defaults.rb +212 -0
  90. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_options.rb +306 -0
  91. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_appearance_response.rb +299 -0
  92. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_density.rb +41 -0
  93. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_font.rb +43 -0
  94. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_layout.rb +41 -0
  95. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_radius.rb +42 -0
  96. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_scale.rb +41 -0
  97. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_theme.rb +318 -0
  98. data/lib/volcano/generated/lib/volcano-generated/models/auth_page_theme_colors.rb +323 -0
  99. data/lib/volcano/generated/lib/volcano-generated/models/auth_password_policy.rb +409 -0
  100. data/lib/volcano/generated/lib/volcano-generated/models/auth_platform_exchange_request.rb +164 -0
  101. data/lib/volcano/generated/lib/volcano-generated/models/auth_refresh_request.rb +190 -0
  102. data/lib/volcano/generated/lib/volcano-generated/models/auth_request_email_change200_response.rb +156 -0
  103. data/lib/volcano/generated/lib/volcano-generated/models/auth_request_email_change_request.rb +164 -0
  104. data/lib/volcano/generated/lib/volcano-generated/models/auth_reset_password200_response.rb +147 -0
  105. data/lib/volcano/generated/lib/volcano-generated/models/auth_reset_password_request.rb +192 -0
  106. data/lib/volcano/generated/lib/volcano-generated/models/auth_session.rb +393 -0
  107. data/lib/volcano/generated/lib/volcano-generated/models/auth_signin_request.rb +233 -0
  108. data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_anonymous_request.rb +150 -0
  109. data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_request.rb +202 -0
  110. data/lib/volcano/generated/lib/volcano-generated/models/auth_signup_response.rb +193 -0
  111. data/lib/volcano/generated/lib/volcano-generated/models/auth_token_response.rb +254 -0
  112. data/lib/volcano/generated/lib/volcano-generated/models/auth_update_user_request.rb +160 -0
  113. data/lib/volcano/generated/lib/volcano-generated/models/auth_user.rb +330 -0
  114. data/lib/volcano/generated/lib/volcano-generated/models/ban_auth_user_request.rb +148 -0
  115. data/lib/volcano/generated/lib/volcano-generated/models/ban_user_response.rb +278 -0
  116. data/lib/volcano/generated/lib/volcano-generated/models/batch_function_deploy_failure.rb +242 -0
  117. data/lib/volcano/generated/lib/volcano-generated/models/batch_function_deploy_response.rb +205 -0
  118. data/lib/volcano/generated/lib/volcano-generated/models/call_o_auth_provider_api200_response.rb +272 -0
  119. data/lib/volcano/generated/lib/volcano-generated/models/call_o_auth_provider_api_request.rb +223 -0
  120. data/lib/volcano/generated/lib/volcano-generated/models/complete_upload_session_response.rb +148 -0
  121. data/lib/volcano/generated/lib/volcano-generated/models/configure_auth_methods_request.rb +167 -0
  122. data/lib/volcano/generated/lib/volcano-generated/models/configure_auth_methods_request_oauth_providers_inner.rb +156 -0
  123. data/lib/volcano/generated/lib/volcano-generated/models/connect_project_git_request.rb +250 -0
  124. data/lib/volcano/generated/lib/volcano-generated/models/create_anon_key_request.rb +228 -0
  125. data/lib/volcano/generated/lib/volcano-generated/models/create_database_backup_request.rb +185 -0
  126. data/lib/volcano/generated/lib/volcano-generated/models/create_database_branch_request.rb +223 -0
  127. data/lib/volcano/generated/lib/volcano-generated/models/create_database_request.rb +290 -0
  128. data/lib/volcano/generated/lib/volcano-generated/models/create_database_restore_request.rb +187 -0
  129. data/lib/volcano/generated/lib/volcano-generated/models/create_email_template_request.rb +270 -0
  130. data/lib/volcano/generated/lib/volcano-generated/models/create_frontend_custom_domain_request.rb +191 -0
  131. data/lib/volcano/generated/lib/volcano-generated/models/create_function_scheduler_request.rb +252 -0
  132. data/lib/volcano/generated/lib/volcano-generated/models/create_o_auth_config_request.rb +230 -0
  133. data/lib/volcano/generated/lib/volcano-generated/models/create_project_request.rb +219 -0
  134. data/lib/volcano/generated/lib/volcano-generated/models/create_service_key_request.rb +206 -0
  135. data/lib/volcano/generated/lib/volcano-generated/models/create_storage_bucket_request.rb +216 -0
  136. data/lib/volcano/generated/lib/volcano-generated/models/create_storage_policy_request.rb +243 -0
  137. data/lib/volcano/generated/lib/volcano-generated/models/create_upload_session_request.rb +276 -0
  138. data/lib/volcano/generated/lib/volcano-generated/models/create_upload_session_response.rb +179 -0
  139. data/lib/volcano/generated/lib/volcano-generated/models/create_variable_request.rb +219 -0
  140. data/lib/volcano/generated/lib/volcano-generated/models/database.rb +442 -0
  141. data/lib/volcano/generated/lib/volcano-generated/models/database_backup.rb +283 -0
  142. data/lib/volcano/generated/lib/volcano-generated/models/database_backup_list.rb +175 -0
  143. data/lib/volcano/generated/lib/volcano-generated/models/database_backup_schedule.rb +167 -0
  144. data/lib/volcano/generated/lib/volcano-generated/models/database_backup_schedule_entry.rb +301 -0
  145. data/lib/volcano/generated/lib/volcano-generated/models/database_branch.rb +480 -0
  146. data/lib/volcano/generated/lib/volcano-generated/models/database_branch_list.rb +166 -0
  147. data/lib/volcano/generated/lib/volcano-generated/models/database_branch_storage.rb +228 -0
  148. data/lib/volcano/generated/lib/volcano-generated/models/database_delete_request.rb +203 -0
  149. data/lib/volcano/generated/lib/volcano-generated/models/database_insert_request.rb +194 -0
  150. data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter.rb +242 -0
  151. data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter_value.rb +106 -0
  152. data/lib/volcano/generated/lib/volcano-generated/models/database_query_filter_value_one_of_inner.rb +105 -0
  153. data/lib/volcano/generated/lib/volcano-generated/models/database_query_order.rb +187 -0
  154. data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_database.rb +190 -0
  155. data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_item.rb +411 -0
  156. data/lib/volcano/generated/lib/volcano-generated/models/database_query_performance_response.rb +166 -0
  157. data/lib/volcano/generated/lib/volcano-generated/models/database_query_result.rb +161 -0
  158. data/lib/volcano/generated/lib/volcano-generated/models/database_restore.rb +388 -0
  159. data/lib/volcano/generated/lib/volcano-generated/models/database_restore_list.rb +166 -0
  160. data/lib/volcano/generated/lib/volcano-generated/models/database_restore_window.rb +159 -0
  161. data/lib/volcano/generated/lib/volcano-generated/models/database_select_request.rb +268 -0
  162. data/lib/volcano/generated/lib/volcano-generated/models/database_stats.rb +447 -0
  163. data/lib/volcano/generated/lib/volcano-generated/models/database_update_request.rb +232 -0
  164. data/lib/volcano/generated/lib/volcano-generated/models/delete_database202_response.rb +156 -0
  165. data/lib/volcano/generated/lib/volcano-generated/models/delete_database_backup200_response.rb +190 -0
  166. data/lib/volcano/generated/lib/volcano-generated/models/delete_database_branch202_response.rb +190 -0
  167. data/lib/volcano/generated/lib/volcano-generated/models/deployment_phase.rb +263 -0
  168. data/lib/volcano/generated/lib/volcano-generated/models/deployment_progress.rb +324 -0
  169. data/lib/volcano/generated/lib/volcano-generated/models/deployment_reference.rb +165 -0
  170. data/lib/volcano/generated/lib/volcano-generated/models/device_authorization_response.rb +296 -0
  171. data/lib/volcano/generated/lib/volcano-generated/models/email_template.rb +305 -0
  172. data/lib/volcano/generated/lib/volcano-generated/models/error.rb +174 -0
  173. data/lib/volcano/generated/lib/volcano-generated/models/export_project_source_request.rb +174 -0
  174. data/lib/volcano/generated/lib/volcano-generated/models/frontend.rb +504 -0
  175. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_response.rb +370 -0
  176. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_tls_config.rb +253 -0
  177. data/lib/volcano/generated/lib/volcano-generated/models/frontend_deployment.rb +487 -0
  178. data/lib/volcano/generated/lib/volcano-generated/models/frontend_domain_routing_record.rb +240 -0
  179. data/lib/volcano/generated/lib/volcano-generated/models/frontend_domain_verification_record.rb +216 -0
  180. data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_daily_entry.rb +247 -0
  181. data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_data.rb +204 -0
  182. data/lib/volcano/generated/lib/volcano-generated/models/frontend_usage_history_response.rb +298 -0
  183. data/lib/volcano/generated/lib/volcano-generated/models/function.rb +565 -0
  184. data/lib/volcano/generated/lib/volcano-generated/models/function_deployment.rb +477 -0
  185. data/lib/volcano/generated/lib/volcano-generated/models/function_http_auth_mode.rb +40 -0
  186. data/lib/volcano/generated/lib/volcano-generated/models/function_invocation_mode.rb +40 -0
  187. data/lib/volcano/generated/lib/volcano-generated/models/function_invocation_request.rb +150 -0
  188. data/lib/volcano/generated/lib/volcano-generated/models/function_region.rb +219 -0
  189. data/lib/volcano/generated/lib/volcano-generated/models/function_runtime_deployment.rb +250 -0
  190. data/lib/volcano/generated/lib/volcano-generated/models/function_runtime_option.rb +245 -0
  191. data/lib/volcano/generated/lib/volcano-generated/models/function_runtimes_response.rb +166 -0
  192. data/lib/volcano/generated/lib/volcano-generated/models/function_scheduler.rb +330 -0
  193. data/lib/volcano/generated/lib/volcano-generated/models/function_scheduler_list_response.rb +290 -0
  194. data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response.rb +178 -0
  195. data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response_email_password.rb +165 -0
  196. data/lib/volcano/generated/lib/volcano-generated/models/get_auth_methods200_response_oauth_providers_inner.rb +194 -0
  197. data/lib/volcano/generated/lib/volcano-generated/models/git_connect_start_response.rb +164 -0
  198. data/lib/volcano/generated/lib/volcano-generated/models/git_connection.rb +346 -0
  199. data/lib/volcano/generated/lib/volcano-generated/models/git_connections_response.rb +166 -0
  200. data/lib/volcano/generated/lib/volcano-generated/models/git_installation.rb +242 -0
  201. data/lib/volcano/generated/lib/volcano-generated/models/git_installations_response.rb +166 -0
  202. data/lib/volcano/generated/lib/volcano-generated/models/git_repositories_response.rb +166 -0
  203. data/lib/volcano/generated/lib/volcano-generated/models/git_repository.rb +270 -0
  204. data/lib/volcano/generated/lib/volcano-generated/models/hosted_auth_page_type.rb +44 -0
  205. data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_email_check_request.rb +164 -0
  206. data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_email_check_response.rb +147 -0
  207. data/lib/volcano/generated/lib/volcano-generated/models/hosted_login_options_response.rb +185 -0
  208. data/lib/volcano/generated/lib/volcano-generated/models/hosted_renderable_page_type.rb +43 -0
  209. data/lib/volcano/generated/lib/volcano-generated/models/import_connect_start_response.rb +164 -0
  210. data/lib/volcano/generated/lib/volcano-generated/models/import_connection.rb +432 -0
  211. data/lib/volcano/generated/lib/volcano-generated/models/import_connections_response.rb +166 -0
  212. data/lib/volcano/generated/lib/volcano-generated/models/import_provider.rb +39 -0
  213. data/lib/volcano/generated/lib/volcano-generated/models/import_source.rb +242 -0
  214. data/lib/volcano/generated/lib/volcano-generated/models/import_sources_response.rb +166 -0
  215. data/lib/volcano/generated/lib/volcano-generated/models/list_anon_keys200_response.rb +189 -0
  216. data/lib/volcano/generated/lib/volcano-generated/models/list_available_o_auth_providers200_response.rb +149 -0
  217. data/lib/volcano/generated/lib/volcano-generated/models/list_available_o_auth_providers200_response_providers_inner.rb +167 -0
  218. data/lib/volcano/generated/lib/volcano-generated/models/list_database_regions200_response_inner.rb +158 -0
  219. data/lib/volcano/generated/lib/volcano-generated/models/list_email_templates200_response.rb +149 -0
  220. data/lib/volcano/generated/lib/volcano-generated/models/list_o_auth_configs200_response.rb +149 -0
  221. data/lib/volcano/generated/lib/volcano-generated/models/list_postgres_versions200_response_inner.rb +178 -0
  222. data/lib/volcano/generated/lib/volcano-generated/models/list_storage_buckets200_response.rb +104 -0
  223. data/lib/volcano/generated/lib/volcano-generated/models/list_storage_objects_admin200_response.rb +205 -0
  224. data/lib/volcano/generated/lib/volcano-generated/models/live_log_level.rb +44 -0
  225. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_bucket.rb +246 -0
  226. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_bucket_counts.rb +226 -0
  227. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_request.rb +252 -0
  228. data/lib/volcano/generated/lib/volcano-generated/models/log_activity_response.rb +194 -0
  229. data/lib/volcano/generated/lib/volcano-generated/models/log_database_request_resource.rb +221 -0
  230. data/lib/volcano/generated/lib/volcano-generated/models/log_deployment.rb +210 -0
  231. data/lib/volcano/generated/lib/volcano-generated/models/log_deployment_request_selector.rb +170 -0
  232. data/lib/volcano/generated/lib/volcano-generated/models/log_event.rb +257 -0
  233. data/lib/volcano/generated/lib/volcano-generated/models/log_event_body.rb +108 -0
  234. data/lib/volcano/generated/lib/volcano-generated/models/log_frontend_request_resource.rb +230 -0
  235. data/lib/volcano/generated/lib/volcano-generated/models/log_function_request_resource.rb +230 -0
  236. data/lib/volcano/generated/lib/volcano-generated/models/log_request_resource.rb +58 -0
  237. data/lib/volcano/generated/lib/volcano-generated/models/log_resource.rb +227 -0
  238. data/lib/volcano/generated/lib/volcano-generated/models/log_search_event.rb +297 -0
  239. data/lib/volcano/generated/lib/volcano-generated/models/log_search_request.rb +264 -0
  240. data/lib/volcano/generated/lib/volcano-generated/models/log_search_response.rb +232 -0
  241. data/lib/volcano/generated/lib/volcano-generated/models/log_stream_request.rb +244 -0
  242. data/lib/volcano/generated/lib/volcano-generated/models/metric_usage_data.rb +278 -0
  243. data/lib/volcano/generated/lib/volcano-generated/models/o_auth_config.rb +256 -0
  244. data/lib/volcano/generated/lib/volcano-generated/models/o_auth_error_response.rb +173 -0
  245. data/lib/volcano/generated/lib/volcano-generated/models/paginated_auth_users.rb +284 -0
  246. data/lib/volcano/generated/lib/volcano-generated/models/paginated_databases.rb +304 -0
  247. data/lib/volcano/generated/lib/volcano-generated/models/paginated_frontend_deployments.rb +284 -0
  248. data/lib/volcano/generated/lib/volcano-generated/models/paginated_frontends.rb +304 -0
  249. data/lib/volcano/generated/lib/volcano-generated/models/paginated_function_deployments.rb +284 -0
  250. data/lib/volcano/generated/lib/volcano-generated/models/paginated_functions.rb +304 -0
  251. data/lib/volcano/generated/lib/volcano-generated/models/paginated_project_custom_domains.rb +284 -0
  252. data/lib/volcano/generated/lib/volcano-generated/models/paginated_project_deployments.rb +306 -0
  253. data/lib/volcano/generated/lib/volcano-generated/models/paginated_projects.rb +368 -0
  254. data/lib/volcano/generated/lib/volcano-generated/models/paginated_service_keys.rb +304 -0
  255. data/lib/volcano/generated/lib/volcano-generated/models/paginated_storage_buckets.rb +251 -0
  256. data/lib/volcano/generated/lib/volcano-generated/models/paginated_variables.rb +304 -0
  257. data/lib/volcano/generated/lib/volcano-generated/models/platform_exchange_response.rb +242 -0
  258. data/lib/volcano/generated/lib/volcano-generated/models/preview_auth_page_request.rb +221 -0
  259. data/lib/volcano/generated/lib/volcano-generated/models/preview_auth_page_response.rb +190 -0
  260. data/lib/volcano/generated/lib/volcano-generated/models/project.rb +419 -0
  261. data/lib/volcano/generated/lib/volcano-generated/models/project_config.rb +273 -0
  262. data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_result.rb +261 -0
  263. data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_result_entry.rb +245 -0
  264. data/lib/volcano/generated/lib/volcano-generated/models/project_config_apply_summary.rb +320 -0
  265. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth.rb +238 -0
  266. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_cors.rb +176 -0
  267. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email.rb +175 -0
  268. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_from.rb +156 -0
  269. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_password_provider.rb +147 -0
  270. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_smtp.rb +184 -0
  271. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_email_verification.rb +158 -0
  272. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_managed_pages.rb +175 -0
  273. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_page_appearance.rb +156 -0
  274. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_page_layouts.rb +214 -0
  275. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_password.rb +211 -0
  276. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_password_reset.rb +167 -0
  277. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_providers.rb +159 -0
  278. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_rate_limits.rb +175 -0
  279. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_redirects.rb +180 -0
  280. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_sessions.rb +158 -0
  281. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_signup.rb +232 -0
  282. data/lib/volcano/generated/lib/volcano-generated/models/project_config_auth_tokens.rb +175 -0
  283. data/lib/volcano/generated/lib/volcano-generated/models/project_config_bucket.rb +226 -0
  284. data/lib/volcano/generated/lib/volcano-generated/models/project_config_bucket_policy.rb +250 -0
  285. data/lib/volcano/generated/lib/volcano-generated/models/project_config_custom_domain.rb +175 -0
  286. data/lib/volcano/generated/lib/volcano-generated/models/project_config_database.rb +274 -0
  287. data/lib/volcano/generated/lib/volcano-generated/models/project_config_email_template.rb +205 -0
  288. data/lib/volcano/generated/lib/volcano-generated/models/project_config_email_templates.rb +175 -0
  289. data/lib/volcano/generated/lib/volcano-generated/models/project_config_frontend.rb +183 -0
  290. data/lib/volcano/generated/lib/volcano-generated/models/project_config_function.rb +248 -0
  291. data/lib/volcano/generated/lib/volcano-generated/models/project_config_hosted_page.rb +203 -0
  292. data/lib/volcano/generated/lib/volcano-generated/models/project_config_hosted_pages.rb +193 -0
  293. data/lib/volcano/generated/lib/volcano-generated/models/project_config_missing_resource.rb +214 -0
  294. data/lib/volcano/generated/lib/volcano-generated/models/project_config_o_auth_provider.rb +238 -0
  295. data/lib/volcano/generated/lib/volcano-generated/models/project_config_project.rb +209 -0
  296. data/lib/volcano/generated/lib/volcano-generated/models/project_config_realtime.rb +174 -0
  297. data/lib/volcano/generated/lib/volcano-generated/models/project_config_scheduler.rb +229 -0
  298. data/lib/volcano/generated/lib/volcano-generated/models/project_config_skipped_resource.rb +240 -0
  299. data/lib/volcano/generated/lib/volcano-generated/models/project_config_validation_error.rb +201 -0
  300. data/lib/volcano/generated/lib/volcano-generated/models/project_config_validation_error_response.rb +193 -0
  301. data/lib/volcano/generated/lib/volcano-generated/models/project_config_variable.rb +199 -0
  302. data/lib/volcano/generated/lib/volcano-generated/models/project_deployment.rb +412 -0
  303. data/lib/volcano/generated/lib/volcano-generated/models/project_deployment_resource.rb +241 -0
  304. data/lib/volcano/generated/lib/volcano-generated/models/project_deployment_summary.rb +312 -0
  305. data/lib/volcano/generated/lib/volcano-generated/models/project_frontend_custom_domain.rb +403 -0
  306. data/lib/volcano/generated/lib/volcano-generated/models/project_frontend_custom_domain_all_of_frontend.rb +191 -0
  307. data/lib/volcano/generated/lib/volcano-generated/models/project_git_connection.rb +296 -0
  308. data/lib/volcano/generated/lib/volcano-generated/models/project_git_connection_summary.rb +294 -0
  309. data/lib/volcano/generated/lib/volcano-generated/models/project_git_deploy_settings.rb +239 -0
  310. data/lib/volcano/generated/lib/volcano-generated/models/project_health_category.rb +40 -0
  311. data/lib/volcano/generated/lib/volcano-generated/models/project_health_check.rb +316 -0
  312. data/lib/volcano/generated/lib/volcano-generated/models/project_health_data_status.rb +42 -0
  313. data/lib/volcano/generated/lib/volcano-generated/models/project_health_evidence.rb +251 -0
  314. data/lib/volcano/generated/lib/volcano-generated/models/project_health_resource.rb +240 -0
  315. data/lib/volcano/generated/lib/volcano-generated/models/project_health_response.rb +356 -0
  316. data/lib/volcano/generated/lib/volcano-generated/models/project_health_scope.rb +164 -0
  317. data/lib/volcano/generated/lib/volcano-generated/models/project_health_status.rb +42 -0
  318. data/lib/volcano/generated/lib/volcano-generated/models/project_health_summary.rb +186 -0
  319. data/lib/volcano/generated/lib/volcano-generated/models/project_import_action.rb +238 -0
  320. data/lib/volcano/generated/lib/volcano-generated/models/project_import_action_code.rb +42 -0
  321. data/lib/volcano/generated/lib/volcano-generated/models/project_import_destination.rb +238 -0
  322. data/lib/volcano/generated/lib/volcano-generated/models/project_import_destination_mode.rb +39 -0
  323. data/lib/volcano/generated/lib/volcano-generated/models/project_import_disposition.rb +42 -0
  324. data/lib/volcano/generated/lib/volcano-generated/models/project_import_finding.rb +327 -0
  325. data/lib/volcano/generated/lib/volcano-generated/models/project_import_impact.rb +41 -0
  326. data/lib/volcano/generated/lib/volcano-generated/models/project_import_preflight_request.rb +305 -0
  327. data/lib/volcano/generated/lib/volcano-generated/models/project_import_readiness.rb +41 -0
  328. data/lib/volcano/generated/lib/volcano-generated/models/project_import_report.rb +476 -0
  329. data/lib/volcano/generated/lib/volcano-generated/models/project_import_resource.rb +270 -0
  330. data/lib/volcano/generated/lib/volcano-generated/models/project_import_resource_kind.rb +43 -0
  331. data/lib/volcano/generated/lib/volcano-generated/models/project_import_run.rb +412 -0
  332. data/lib/volcano/generated/lib/volcano-generated/models/project_import_run_status.rb +43 -0
  333. data/lib/volcano/generated/lib/volcano-generated/models/project_import_start_request.rb +365 -0
  334. data/lib/volcano/generated/lib/volcano-generated/models/project_import_summary.rb +348 -0
  335. data/lib/volcano/generated/lib/volcano-generated/models/project_import_target.rb +39 -0
  336. data/lib/volcano/generated/lib/volcano-generated/models/project_lock_lease.rb +192 -0
  337. data/lib/volcano/generated/lib/volcano-generated/models/project_lock_lease_request.rb +183 -0
  338. data/lib/volcano/generated/lib/volcano-generated/models/project_lock_state.rb +185 -0
  339. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_data_status.rb +41 -0
  340. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_dimensions.rb +190 -0
  341. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_group_by.rb +40 -0
  342. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_metric.rb +42 -0
  343. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query.rb +250 -0
  344. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_request.rb +210 -0
  345. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_response.rb +227 -0
  346. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_query_time_range.rb +188 -0
  347. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_result.rb +292 -0
  348. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_unit.rb +41 -0
  349. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_value.rb +199 -0
  350. data/lib/volcano/generated/lib/volcano-generated/models/project_metrics_window.rb +190 -0
  351. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export.rb +302 -0
  352. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_omission.rb +218 -0
  353. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_skip.rb +217 -0
  354. data/lib/volcano/generated/lib/volcano-generated/models/project_source_export_state.rb +228 -0
  355. data/lib/volcano/generated/lib/volcano-generated/models/project_usage_response.rb +234 -0
  356. data/lib/volcano/generated/lib/volcano-generated/models/realtime_config.rb +217 -0
  357. data/lib/volcano/generated/lib/volcano-generated/models/realtime_plan_limits.rb +189 -0
  358. data/lib/volcano/generated/lib/volcano-generated/models/realtime_stats.rb +178 -0
  359. data/lib/volcano/generated/lib/volcano-generated/models/refresh_o_auth_provider_token200_response.rb +165 -0
  360. data/lib/volcano/generated/lib/volcano-generated/models/reset_database_password200_response.rb +177 -0
  361. data/lib/volcano/generated/lib/volcano-generated/models/resolve_function_response.rb +248 -0
  362. data/lib/volcano/generated/lib/volcano-generated/models/resource_reference.rb +241 -0
  363. data/lib/volcano/generated/lib/volcano-generated/models/schedule_request.rb +210 -0
  364. data/lib/volcano/generated/lib/volcano-generated/models/service_key.rb +294 -0
  365. data/lib/volcano/generated/lib/volcano-generated/models/set_project_git_production_branch_request.rb +183 -0
  366. data/lib/volcano/generated/lib/volcano-generated/models/storage_bucket.rb +282 -0
  367. data/lib/volcano/generated/lib/volcano-generated/models/storage_copy_request.rb +192 -0
  368. data/lib/volcano/generated/lib/volcano-generated/models/storage_list_response.rb +159 -0
  369. data/lib/volcano/generated/lib/volcano-generated/models/storage_move_request.rb +192 -0
  370. data/lib/volcano/generated/lib/volcano-generated/models/storage_object.rb +359 -0
  371. data/lib/volcano/generated/lib/volcano-generated/models/storage_object_with_bucket.rb +383 -0
  372. data/lib/volcano/generated/lib/volcano-generated/models/storage_policy.rb +313 -0
  373. data/lib/volcano/generated/lib/volcano-generated/models/storage_stats.rb +220 -0
  374. data/lib/volcano/generated/lib/volcano-generated/models/storage_visibility_request.rb +165 -0
  375. data/lib/volcano/generated/lib/volcano-generated/models/test_email_request.rb +234 -0
  376. data/lib/volcano/generated/lib/volcano-generated/models/test_email_response.rb +164 -0
  377. data/lib/volcano/generated/lib/volcano-generated/models/unban_user_response.rb +267 -0
  378. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_config_request.rb +626 -0
  379. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_hosted_page_request.rb +175 -0
  380. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_page_layout_request.rb +186 -0
  381. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_page_theme_request.rb +164 -0
  382. data/lib/volcano/generated/lib/volcano-generated/models/update_database_branch_request.rb +184 -0
  383. data/lib/volcano/generated/lib/volcano-generated/models/update_database_type_request.rb +190 -0
  384. data/lib/volcano/generated/lib/volcano-generated/models/update_email_template_request.rb +165 -0
  385. data/lib/volcano/generated/lib/volcano-generated/models/update_function_request.rb +201 -0
  386. data/lib/volcano/generated/lib/volcano-generated/models/update_function_scheduler_request.rb +225 -0
  387. data/lib/volcano/generated/lib/volcano-generated/models/update_o_auth_config_request.rb +187 -0
  388. data/lib/volcano/generated/lib/volcano-generated/models/update_project_git_deploy_settings_request.rb +211 -0
  389. data/lib/volcano/generated/lib/volcano-generated/models/update_project_request.rb +198 -0
  390. data/lib/volcano/generated/lib/volcano-generated/models/update_realtime_config_request.rb +179 -0
  391. data/lib/volcano/generated/lib/volcano-generated/models/update_storage_bucket_request.rb +158 -0
  392. data/lib/volcano/generated/lib/volcano-generated/models/update_variable_request.rb +164 -0
  393. data/lib/volcano/generated/lib/volcano-generated/models/upload_session_part.rb +169 -0
  394. data/lib/volcano/generated/lib/volcano-generated/models/upload_session_status_response.rb +295 -0
  395. data/lib/volcano/generated/lib/volcano-generated/models/upload_storage_object201_response.rb +104 -0
  396. data/lib/volcano/generated/lib/volcano-generated/models/usage_data_point.rb +193 -0
  397. data/lib/volcano/generated/lib/volcano-generated/models/variable.rb +389 -0
  398. data/lib/volcano/generated/lib/volcano-generated/version.rb +15 -0
  399. data/lib/volcano/generated/lib/volcano-generated.rb +405 -0
  400. data/lib/volcano/generated_transport.rb +131 -0
  401. data/lib/volcano/generated_transport_anonymous.rb +34 -0
  402. data/lib/volcano/generated_transport_auth.rb +108 -0
  403. data/lib/volcano/generated_transport_confirmation.rb +30 -0
  404. data/lib/volcano/generated_transport_database.rb +54 -0
  405. data/lib/volcano/generated_transport_email_change.rb +44 -0
  406. data/lib/volcano/generated_transport_functions.rb +108 -0
  407. data/lib/volcano/generated_transport_logs.rb +31 -0
  408. data/lib/volcano/generated_transport_oauth.rb +64 -0
  409. data/lib/volcano/generated_transport_sessions.rb +27 -0
  410. data/lib/volcano/generated_transport_storage.rb +86 -0
  411. data/lib/volcano/generated_transport_support.rb +221 -0
  412. data/lib/volcano/generated_transport_upload_session_api.rb +69 -0
  413. data/lib/volcano/generated_transport_upload_sessions.rb +67 -0
  414. data/lib/volcano/lock_auto_renewal.rb +51 -0
  415. data/lib/volcano/lock_guard.rb +135 -0
  416. data/lib/volcano/lock_lease_clock.rb +39 -0
  417. data/lib/volcano/lock_renewer.rb +73 -0
  418. data/lib/volcano/lock_session.rb +70 -0
  419. data/lib/volcano/locks.rb +109 -0
  420. data/lib/volcano/log_responses.rb +39 -0
  421. data/lib/volcano/logs.rb +82 -0
  422. data/lib/volcano/models.rb +115 -0
  423. data/lib/volcano/realtime/blocking_call.rb +32 -0
  424. data/lib/volcano/realtime/broadcast_delivery.rb +63 -0
  425. data/lib/volcano/realtime/channel_callbacks.rb +127 -0
  426. data/lib/volcano/realtime/channel_lifecycle.rb +133 -0
  427. data/lib/volcano/realtime/connection.rb +114 -0
  428. data/lib/volcano/realtime/connection_callbacks.rb +126 -0
  429. data/lib/volcano/realtime/lifecycle.rb +46 -0
  430. data/lib/volcano/realtime/postgres_batch.rb +89 -0
  431. data/lib/volcano/realtime/postgres_changes.rb +107 -0
  432. data/lib/volcano/realtime/postgres_database.rb +63 -0
  433. data/lib/volcano/realtime/postgres_delivery.rb +113 -0
  434. data/lib/volcano/realtime/postgres_expansion.rb +66 -0
  435. data/lib/volcano/realtime/presence.rb +122 -0
  436. data/lib/volcano/realtime/presence_state.rb +61 -0
  437. data/lib/volcano/realtime/protocol.rb +150 -0
  438. data/lib/volcano/realtime/protocol_dispatch.rb +114 -0
  439. data/lib/volcano/realtime/protocol_io.rb +96 -0
  440. data/lib/volcano/realtime/protocol_lifecycle.rb +122 -0
  441. data/lib/volcano/realtime/protocol_publication_dispatch.rb +121 -0
  442. data/lib/volcano/realtime/protocol_recovery.rb +117 -0
  443. data/lib/volcano/realtime/protocol_recovery_dispatch.rb +106 -0
  444. data/lib/volcano/realtime/protocol_recovery_position.rb +95 -0
  445. data/lib/volcano/realtime/reconnect.rb +88 -0
  446. data/lib/volcano/realtime.rb +260 -0
  447. data/lib/volcano/redaction.rb +60 -0
  448. data/lib/volcano/sign_up_result.rb +9 -0
  449. data/lib/volcano/storage.rb +120 -0
  450. data/lib/volcano/storage_models.rb +121 -0
  451. data/lib/volcano/storage_mutations.rb +81 -0
  452. data/lib/volcano/storage_public_url.rb +64 -0
  453. data/lib/volcano/storage_resumable_upload.rb +90 -0
  454. data/lib/volcano/storage_upload_sessions.rb +116 -0
  455. data/lib/volcano/transport.rb +60 -0
  456. data/lib/volcano/version.rb +5 -0
  457. data/lib/volcano.rb +58 -0
  458. metadata +580 -0
@@ -0,0 +1,728 @@
1
+ =begin
2
+ #Volcano Hosting API
3
+
4
+ #Public API for Volcano Hosting clients, SDKs, and CLI tooling (Port 8000). This specification intentionally excludes first-party/internal APIs. See api/openapi-internal.yaml for non-public internal and Builder operations.
5
+
6
+ The version of the OpenAPI document: 3.0.0
7
+ Contact: support@volcano.dev
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.17.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Volcano::Generated
17
+ class AuthConfig < ApiModelBase
18
+ attr_accessor :project_id
19
+
20
+ # Access token lifetime in seconds
21
+ attr_accessor :access_token_lifetime
22
+
23
+ # Refresh token lifetime in seconds
24
+ attr_accessor :refresh_token_lifetime
25
+
26
+ # Force re-login after inactivity (seconds, 0=never)
27
+ attr_accessor :inactivity_timeout
28
+
29
+ # Force re-login after duration (seconds, 0=never)
30
+ attr_accessor :max_session_duration
31
+
32
+ # Configured minimum password length in Unicode characters.
33
+ attr_accessor :min_password_length
34
+
35
+ attr_accessor :password_policy
36
+
37
+ attr_accessor :require_uppercase
38
+
39
+ attr_accessor :require_lowercase
40
+
41
+ attr_accessor :require_numbers
42
+
43
+ attr_accessor :require_special_chars
44
+
45
+ # Master switch - allow new user signups via ANY provider
46
+ attr_accessor :enable_signup
47
+
48
+ # Enable email/password authentication as a provider
49
+ attr_accessor :enable_email_password
50
+
51
+ # Signups per hour per IP
52
+ attr_accessor :rate_limit_signup
53
+
54
+ # Signins per hour per IP
55
+ attr_accessor :rate_limit_signin
56
+
57
+ # Refreshes per hour per IP
58
+ attr_accessor :rate_limit_token_refresh
59
+
60
+ attr_accessor :cors_enabled
61
+
62
+ attr_accessor :cors_allowed_origins
63
+
64
+ # Allow creating users without email/password
65
+ attr_accessor :enable_anonymous_signins
66
+
67
+ # Email domains allowed to create users in this project. Applies to email/password signup, OAuth/SSO signup, anonymous conversion, and email changes. Empty (the default) allows every domain. Entries are stored normalized (lowercase, no `@` prefix) and match the domain part exactly: `domain1.com` does not cover `mail.domain1.com`. Signups from other domains are rejected with 403, and `allowed_email_domains_mode` decides whether sign-in is covered as well. The allowlist is a PRO feature to configure and to enforce. A downgrade parks it: the domains are still returned here and stop being applied until the project is back on PRO.
68
+ attr_accessor :allowed_email_domains
69
+
70
+ # How far `allowed_email_domains` reaches. `signup` only gates account creation, so accounts that predate the list keep signing in. `signup_and_signin` also refuses to issue a session to an account whose domain is not listed. `disabled` keeps the list without enforcing it.
71
+ attr_accessor :allowed_email_domains_mode
72
+
73
+ # TTL in seconds for platform tokens minted via `/auth/platform/exchange`
74
+ attr_accessor :platform_token_ttl
75
+
76
+ # Enable forgot password flow
77
+ attr_accessor :allow_password_reset
78
+
79
+ # Recovery token expiry in seconds
80
+ attr_accessor :password_reset_timeout
81
+
82
+ # Number of previous passwords to remember (0=disabled)
83
+ attr_accessor :max_password_history
84
+
85
+ # Allow credentials in CORS requests
86
+ attr_accessor :cors_allow_credentials
87
+
88
+ # CORS preflight cache duration (seconds)
89
+ attr_accessor :cors_max_age
90
+
91
+ # Require users to confirm email before sign-in. Can only be true when email_enabled is true.
92
+ attr_accessor :require_email_confirmation
93
+
94
+ # Email confirmation token expiry in seconds.
95
+ attr_accessor :email_confirmation_timeout
96
+
97
+ # Link a verified OAuth identity to an existing confirmed account with the same email instead of returning a conflict. Requires require_email_confirmation to be true.
98
+ attr_accessor :auto_link_verified_oauth
99
+
100
+ # Enable transactional email sending (confirmation, reset, change notifications). Must be true when require_email_confirmation is true.
101
+ attr_accessor :email_enabled
102
+
103
+ attr_accessor :email_from_address
104
+
105
+ attr_accessor :email_from_name
106
+
107
+ attr_accessor :smtp_host
108
+
109
+ attr_accessor :smtp_port
110
+
111
+ attr_accessor :smtp_username
112
+
113
+ # Whether an SMTP password is configured. The password itself is never returned.
114
+ attr_accessor :smtp_password_configured
115
+
116
+ attr_accessor :smtp_use_tls
117
+
118
+ attr_accessor :email_confirmation_subject
119
+
120
+ attr_accessor :email_password_reset_subject
121
+
122
+ attr_accessor :email_password_changed_subject
123
+
124
+ # Enables project-hosted managed auth pages.
125
+ attr_accessor :managed_auth_enabled
126
+
127
+ # Default redirect target after successful hosted auth.
128
+ attr_accessor :post_auth_redirect_url
129
+
130
+ # Redirect allowlist used to validate post_auth_redirect_url and post_logout_redirect_url.
131
+ attr_accessor :allowed_redirect_urls
132
+
133
+ # Redirect target after logout from hosted pages.
134
+ attr_accessor :post_logout_redirect_url
135
+
136
+ # Optional override for the device-authorization verification page. When set, POST /auth/device/authorize returns this URL (with the user_code) as verification_uri/verification_uri_complete instead of the built-in managed device page. Lets a CLI surface the project's own RFC 8628 approval page. Empty falls back to the managed page.
137
+ attr_accessor :device_verification_url
138
+
139
+ class EnumAttributeValidator
140
+ attr_reader :datatype
141
+ attr_reader :allowable_values
142
+
143
+ def initialize(datatype, allowable_values)
144
+ @allowable_values = allowable_values.map do |value|
145
+ case datatype.to_s
146
+ when /Integer/i
147
+ value.to_i
148
+ when /Float/i
149
+ value.to_f
150
+ else
151
+ value
152
+ end
153
+ end
154
+ end
155
+
156
+ def valid?(value)
157
+ !value || allowable_values.include?(value)
158
+ end
159
+ end
160
+
161
+ # Attribute mapping from ruby-style variable name to JSON key.
162
+ def self.attribute_map
163
+ {
164
+ :'project_id' => :'project_id',
165
+ :'access_token_lifetime' => :'access_token_lifetime',
166
+ :'refresh_token_lifetime' => :'refresh_token_lifetime',
167
+ :'inactivity_timeout' => :'inactivity_timeout',
168
+ :'max_session_duration' => :'max_session_duration',
169
+ :'min_password_length' => :'min_password_length',
170
+ :'password_policy' => :'password_policy',
171
+ :'require_uppercase' => :'require_uppercase',
172
+ :'require_lowercase' => :'require_lowercase',
173
+ :'require_numbers' => :'require_numbers',
174
+ :'require_special_chars' => :'require_special_chars',
175
+ :'enable_signup' => :'enable_signup',
176
+ :'enable_email_password' => :'enable_email_password',
177
+ :'rate_limit_signup' => :'rate_limit_signup',
178
+ :'rate_limit_signin' => :'rate_limit_signin',
179
+ :'rate_limit_token_refresh' => :'rate_limit_token_refresh',
180
+ :'cors_enabled' => :'cors_enabled',
181
+ :'cors_allowed_origins' => :'cors_allowed_origins',
182
+ :'enable_anonymous_signins' => :'enable_anonymous_signins',
183
+ :'allowed_email_domains' => :'allowed_email_domains',
184
+ :'allowed_email_domains_mode' => :'allowed_email_domains_mode',
185
+ :'platform_token_ttl' => :'platform_token_ttl',
186
+ :'allow_password_reset' => :'allow_password_reset',
187
+ :'password_reset_timeout' => :'password_reset_timeout',
188
+ :'max_password_history' => :'max_password_history',
189
+ :'cors_allow_credentials' => :'cors_allow_credentials',
190
+ :'cors_max_age' => :'cors_max_age',
191
+ :'require_email_confirmation' => :'require_email_confirmation',
192
+ :'email_confirmation_timeout' => :'email_confirmation_timeout',
193
+ :'auto_link_verified_oauth' => :'auto_link_verified_oauth',
194
+ :'email_enabled' => :'email_enabled',
195
+ :'email_from_address' => :'email_from_address',
196
+ :'email_from_name' => :'email_from_name',
197
+ :'smtp_host' => :'smtp_host',
198
+ :'smtp_port' => :'smtp_port',
199
+ :'smtp_username' => :'smtp_username',
200
+ :'smtp_password_configured' => :'smtp_password_configured',
201
+ :'smtp_use_tls' => :'smtp_use_tls',
202
+ :'email_confirmation_subject' => :'email_confirmation_subject',
203
+ :'email_password_reset_subject' => :'email_password_reset_subject',
204
+ :'email_password_changed_subject' => :'email_password_changed_subject',
205
+ :'managed_auth_enabled' => :'managed_auth_enabled',
206
+ :'post_auth_redirect_url' => :'post_auth_redirect_url',
207
+ :'allowed_redirect_urls' => :'allowed_redirect_urls',
208
+ :'post_logout_redirect_url' => :'post_logout_redirect_url',
209
+ :'device_verification_url' => :'device_verification_url'
210
+ }
211
+ end
212
+
213
+ # Returns attribute mapping this model knows about
214
+ def self.acceptable_attribute_map
215
+ attribute_map
216
+ end
217
+
218
+ # Returns all the JSON keys this model knows about
219
+ def self.acceptable_attributes
220
+ acceptable_attribute_map.values
221
+ end
222
+
223
+ # Attribute type mapping.
224
+ def self.openapi_types
225
+ {
226
+ :'project_id' => :'String',
227
+ :'access_token_lifetime' => :'Integer',
228
+ :'refresh_token_lifetime' => :'Integer',
229
+ :'inactivity_timeout' => :'Integer',
230
+ :'max_session_duration' => :'Integer',
231
+ :'min_password_length' => :'Integer',
232
+ :'password_policy' => :'AuthPasswordPolicy',
233
+ :'require_uppercase' => :'Boolean',
234
+ :'require_lowercase' => :'Boolean',
235
+ :'require_numbers' => :'Boolean',
236
+ :'require_special_chars' => :'Boolean',
237
+ :'enable_signup' => :'Boolean',
238
+ :'enable_email_password' => :'Boolean',
239
+ :'rate_limit_signup' => :'Integer',
240
+ :'rate_limit_signin' => :'Integer',
241
+ :'rate_limit_token_refresh' => :'Integer',
242
+ :'cors_enabled' => :'Boolean',
243
+ :'cors_allowed_origins' => :'Array<String>',
244
+ :'enable_anonymous_signins' => :'Boolean',
245
+ :'allowed_email_domains' => :'Array<String>',
246
+ :'allowed_email_domains_mode' => :'String',
247
+ :'platform_token_ttl' => :'Integer',
248
+ :'allow_password_reset' => :'Boolean',
249
+ :'password_reset_timeout' => :'Integer',
250
+ :'max_password_history' => :'Integer',
251
+ :'cors_allow_credentials' => :'Boolean',
252
+ :'cors_max_age' => :'Integer',
253
+ :'require_email_confirmation' => :'Boolean',
254
+ :'email_confirmation_timeout' => :'Integer',
255
+ :'auto_link_verified_oauth' => :'Boolean',
256
+ :'email_enabled' => :'Boolean',
257
+ :'email_from_address' => :'String',
258
+ :'email_from_name' => :'String',
259
+ :'smtp_host' => :'String',
260
+ :'smtp_port' => :'Integer',
261
+ :'smtp_username' => :'String',
262
+ :'smtp_password_configured' => :'Boolean',
263
+ :'smtp_use_tls' => :'Boolean',
264
+ :'email_confirmation_subject' => :'String',
265
+ :'email_password_reset_subject' => :'String',
266
+ :'email_password_changed_subject' => :'String',
267
+ :'managed_auth_enabled' => :'Boolean',
268
+ :'post_auth_redirect_url' => :'String',
269
+ :'allowed_redirect_urls' => :'Array<String>',
270
+ :'post_logout_redirect_url' => :'String',
271
+ :'device_verification_url' => :'String'
272
+ }
273
+ end
274
+
275
+ # List of attributes with nullable: true
276
+ def self.openapi_nullable
277
+ Set.new([
278
+ ])
279
+ end
280
+
281
+ # Initializes the object
282
+ # @param [Hash] attributes Model attributes in the form of hash
283
+ def initialize(attributes = {})
284
+ if (!attributes.is_a?(Hash))
285
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Volcano::Generated::AuthConfig` initialize method"
286
+ end
287
+
288
+ # check to see if the attribute exists and convert string to symbol for hash key
289
+ acceptable_attribute_map = self.class.acceptable_attribute_map
290
+ attributes = attributes.each_with_object({}) { |(k, v), h|
291
+ if (!acceptable_attribute_map.key?(k.to_sym))
292
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Volcano::Generated::AuthConfig`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
293
+ end
294
+ h[k.to_sym] = v
295
+ }
296
+
297
+ if attributes.key?(:'project_id')
298
+ self.project_id = attributes[:'project_id']
299
+ end
300
+
301
+ if attributes.key?(:'access_token_lifetime')
302
+ self.access_token_lifetime = attributes[:'access_token_lifetime']
303
+ else
304
+ self.access_token_lifetime = 3600
305
+ end
306
+
307
+ if attributes.key?(:'refresh_token_lifetime')
308
+ self.refresh_token_lifetime = attributes[:'refresh_token_lifetime']
309
+ else
310
+ self.refresh_token_lifetime = 2592000
311
+ end
312
+
313
+ if attributes.key?(:'inactivity_timeout')
314
+ self.inactivity_timeout = attributes[:'inactivity_timeout']
315
+ else
316
+ self.inactivity_timeout = 0
317
+ end
318
+
319
+ if attributes.key?(:'max_session_duration')
320
+ self.max_session_duration = attributes[:'max_session_duration']
321
+ else
322
+ self.max_session_duration = 0
323
+ end
324
+
325
+ if attributes.key?(:'min_password_length')
326
+ self.min_password_length = attributes[:'min_password_length']
327
+ else
328
+ self.min_password_length = 15
329
+ end
330
+
331
+ if attributes.key?(:'password_policy')
332
+ self.password_policy = attributes[:'password_policy']
333
+ else
334
+ self.password_policy = nil
335
+ end
336
+
337
+ if attributes.key?(:'require_uppercase')
338
+ self.require_uppercase = attributes[:'require_uppercase']
339
+ else
340
+ self.require_uppercase = false
341
+ end
342
+
343
+ if attributes.key?(:'require_lowercase')
344
+ self.require_lowercase = attributes[:'require_lowercase']
345
+ else
346
+ self.require_lowercase = false
347
+ end
348
+
349
+ if attributes.key?(:'require_numbers')
350
+ self.require_numbers = attributes[:'require_numbers']
351
+ else
352
+ self.require_numbers = false
353
+ end
354
+
355
+ if attributes.key?(:'require_special_chars')
356
+ self.require_special_chars = attributes[:'require_special_chars']
357
+ else
358
+ self.require_special_chars = false
359
+ end
360
+
361
+ if attributes.key?(:'enable_signup')
362
+ self.enable_signup = attributes[:'enable_signup']
363
+ else
364
+ self.enable_signup = true
365
+ end
366
+
367
+ if attributes.key?(:'enable_email_password')
368
+ self.enable_email_password = attributes[:'enable_email_password']
369
+ else
370
+ self.enable_email_password = true
371
+ end
372
+
373
+ if attributes.key?(:'rate_limit_signup')
374
+ self.rate_limit_signup = attributes[:'rate_limit_signup']
375
+ else
376
+ self.rate_limit_signup = 100
377
+ end
378
+
379
+ if attributes.key?(:'rate_limit_signin')
380
+ self.rate_limit_signin = attributes[:'rate_limit_signin']
381
+ else
382
+ self.rate_limit_signin = 100
383
+ end
384
+
385
+ if attributes.key?(:'rate_limit_token_refresh')
386
+ self.rate_limit_token_refresh = attributes[:'rate_limit_token_refresh']
387
+ else
388
+ self.rate_limit_token_refresh = 1000
389
+ end
390
+
391
+ if attributes.key?(:'cors_enabled')
392
+ self.cors_enabled = attributes[:'cors_enabled']
393
+ else
394
+ self.cors_enabled = false
395
+ end
396
+
397
+ if attributes.key?(:'cors_allowed_origins')
398
+ if (value = attributes[:'cors_allowed_origins']).is_a?(Array)
399
+ self.cors_allowed_origins = value
400
+ end
401
+ end
402
+
403
+ if attributes.key?(:'enable_anonymous_signins')
404
+ self.enable_anonymous_signins = attributes[:'enable_anonymous_signins']
405
+ else
406
+ self.enable_anonymous_signins = false
407
+ end
408
+
409
+ if attributes.key?(:'allowed_email_domains')
410
+ if (value = attributes[:'allowed_email_domains']).is_a?(Array)
411
+ self.allowed_email_domains = value
412
+ end
413
+ end
414
+
415
+ if attributes.key?(:'allowed_email_domains_mode')
416
+ self.allowed_email_domains_mode = attributes[:'allowed_email_domains_mode']
417
+ else
418
+ self.allowed_email_domains_mode = 'signup'
419
+ end
420
+
421
+ if attributes.key?(:'platform_token_ttl')
422
+ self.platform_token_ttl = attributes[:'platform_token_ttl']
423
+ else
424
+ self.platform_token_ttl = 2592000
425
+ end
426
+
427
+ if attributes.key?(:'allow_password_reset')
428
+ self.allow_password_reset = attributes[:'allow_password_reset']
429
+ else
430
+ self.allow_password_reset = true
431
+ end
432
+
433
+ if attributes.key?(:'password_reset_timeout')
434
+ self.password_reset_timeout = attributes[:'password_reset_timeout']
435
+ else
436
+ self.password_reset_timeout = 3600
437
+ end
438
+
439
+ if attributes.key?(:'max_password_history')
440
+ self.max_password_history = attributes[:'max_password_history']
441
+ else
442
+ self.max_password_history = 0
443
+ end
444
+
445
+ if attributes.key?(:'cors_allow_credentials')
446
+ self.cors_allow_credentials = attributes[:'cors_allow_credentials']
447
+ else
448
+ self.cors_allow_credentials = true
449
+ end
450
+
451
+ if attributes.key?(:'cors_max_age')
452
+ self.cors_max_age = attributes[:'cors_max_age']
453
+ else
454
+ self.cors_max_age = 86400
455
+ end
456
+
457
+ if attributes.key?(:'require_email_confirmation')
458
+ self.require_email_confirmation = attributes[:'require_email_confirmation']
459
+ else
460
+ self.require_email_confirmation = false
461
+ end
462
+
463
+ if attributes.key?(:'email_confirmation_timeout')
464
+ self.email_confirmation_timeout = attributes[:'email_confirmation_timeout']
465
+ else
466
+ self.email_confirmation_timeout = 86400
467
+ end
468
+
469
+ if attributes.key?(:'auto_link_verified_oauth')
470
+ self.auto_link_verified_oauth = attributes[:'auto_link_verified_oauth']
471
+ else
472
+ self.auto_link_verified_oauth = false
473
+ end
474
+
475
+ if attributes.key?(:'email_enabled')
476
+ self.email_enabled = attributes[:'email_enabled']
477
+ else
478
+ self.email_enabled = false
479
+ end
480
+
481
+ if attributes.key?(:'email_from_address')
482
+ self.email_from_address = attributes[:'email_from_address']
483
+ end
484
+
485
+ if attributes.key?(:'email_from_name')
486
+ self.email_from_name = attributes[:'email_from_name']
487
+ end
488
+
489
+ if attributes.key?(:'smtp_host')
490
+ self.smtp_host = attributes[:'smtp_host']
491
+ end
492
+
493
+ if attributes.key?(:'smtp_port')
494
+ self.smtp_port = attributes[:'smtp_port']
495
+ else
496
+ self.smtp_port = 587
497
+ end
498
+
499
+ if attributes.key?(:'smtp_username')
500
+ self.smtp_username = attributes[:'smtp_username']
501
+ end
502
+
503
+ if attributes.key?(:'smtp_password_configured')
504
+ self.smtp_password_configured = attributes[:'smtp_password_configured']
505
+ else
506
+ self.smtp_password_configured = false
507
+ end
508
+
509
+ if attributes.key?(:'smtp_use_tls')
510
+ self.smtp_use_tls = attributes[:'smtp_use_tls']
511
+ else
512
+ self.smtp_use_tls = true
513
+ end
514
+
515
+ if attributes.key?(:'email_confirmation_subject')
516
+ self.email_confirmation_subject = attributes[:'email_confirmation_subject']
517
+ end
518
+
519
+ if attributes.key?(:'email_password_reset_subject')
520
+ self.email_password_reset_subject = attributes[:'email_password_reset_subject']
521
+ end
522
+
523
+ if attributes.key?(:'email_password_changed_subject')
524
+ self.email_password_changed_subject = attributes[:'email_password_changed_subject']
525
+ end
526
+
527
+ if attributes.key?(:'managed_auth_enabled')
528
+ self.managed_auth_enabled = attributes[:'managed_auth_enabled']
529
+ else
530
+ self.managed_auth_enabled = false
531
+ end
532
+
533
+ if attributes.key?(:'post_auth_redirect_url')
534
+ self.post_auth_redirect_url = attributes[:'post_auth_redirect_url']
535
+ end
536
+
537
+ if attributes.key?(:'allowed_redirect_urls')
538
+ if (value = attributes[:'allowed_redirect_urls']).is_a?(Array)
539
+ self.allowed_redirect_urls = value
540
+ end
541
+ end
542
+
543
+ if attributes.key?(:'post_logout_redirect_url')
544
+ self.post_logout_redirect_url = attributes[:'post_logout_redirect_url']
545
+ end
546
+
547
+ if attributes.key?(:'device_verification_url')
548
+ self.device_verification_url = attributes[:'device_verification_url']
549
+ end
550
+ end
551
+
552
+ # Show invalid properties with the reasons. Usually used together with valid?
553
+ # @return Array for valid properties with the reasons
554
+ def list_invalid_properties
555
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
556
+ invalid_properties = Array.new
557
+ if !@min_password_length.nil? && @min_password_length > 128
558
+ invalid_properties.push('invalid value for "min_password_length", must be smaller than or equal to 128.')
559
+ end
560
+
561
+ if !@min_password_length.nil? && @min_password_length < 15
562
+ invalid_properties.push('invalid value for "min_password_length", must be greater than or equal to 15.')
563
+ end
564
+
565
+ if @password_policy.nil?
566
+ invalid_properties.push('invalid value for "password_policy", password_policy cannot be nil.')
567
+ end
568
+
569
+ invalid_properties
570
+ end
571
+
572
+ # Check to see if the all the properties in the model are valid
573
+ # @return true if the model is valid
574
+ def valid?
575
+ warn '[DEPRECATED] the `valid?` method is obsolete'
576
+ return false if !@min_password_length.nil? && @min_password_length > 128
577
+ return false if !@min_password_length.nil? && @min_password_length < 15
578
+ return false if @password_policy.nil?
579
+ allowed_email_domains_mode_validator = EnumAttributeValidator.new('String', ["disabled", "signup", "signup_and_signin"])
580
+ return false unless allowed_email_domains_mode_validator.valid?(@allowed_email_domains_mode)
581
+ true
582
+ end
583
+
584
+ # Custom attribute writer method with validation
585
+ # @param [Object] min_password_length Value to be assigned
586
+ def min_password_length=(min_password_length)
587
+ if min_password_length.nil?
588
+ fail ArgumentError, 'min_password_length cannot be nil'
589
+ end
590
+
591
+ if min_password_length > 128
592
+ fail ArgumentError, 'invalid value for "min_password_length", must be smaller than or equal to 128.'
593
+ end
594
+
595
+ if min_password_length < 15
596
+ fail ArgumentError, 'invalid value for "min_password_length", must be greater than or equal to 15.'
597
+ end
598
+
599
+ @min_password_length = min_password_length
600
+ end
601
+
602
+ # Custom attribute writer method with validation
603
+ # @param [Object] password_policy Value to be assigned
604
+ def password_policy=(password_policy)
605
+ if password_policy.nil?
606
+ fail ArgumentError, 'password_policy cannot be nil'
607
+ end
608
+
609
+ @password_policy = password_policy
610
+ end
611
+
612
+ # Custom attribute writer method checking allowed values (enum).
613
+ # @param [Object] allowed_email_domains_mode Object to be assigned
614
+ def allowed_email_domains_mode=(allowed_email_domains_mode)
615
+ validator = EnumAttributeValidator.new('String', ["disabled", "signup", "signup_and_signin"])
616
+ unless validator.valid?(allowed_email_domains_mode)
617
+ fail ArgumentError, "invalid value for \"allowed_email_domains_mode\", must be one of #{validator.allowable_values}."
618
+ end
619
+ @allowed_email_domains_mode = allowed_email_domains_mode
620
+ end
621
+
622
+ # Checks equality by comparing each attribute.
623
+ # @param [Object] Object to be compared
624
+ def ==(o)
625
+ return true if self.equal?(o)
626
+ self.class == o.class &&
627
+ project_id == o.project_id &&
628
+ access_token_lifetime == o.access_token_lifetime &&
629
+ refresh_token_lifetime == o.refresh_token_lifetime &&
630
+ inactivity_timeout == o.inactivity_timeout &&
631
+ max_session_duration == o.max_session_duration &&
632
+ min_password_length == o.min_password_length &&
633
+ password_policy == o.password_policy &&
634
+ require_uppercase == o.require_uppercase &&
635
+ require_lowercase == o.require_lowercase &&
636
+ require_numbers == o.require_numbers &&
637
+ require_special_chars == o.require_special_chars &&
638
+ enable_signup == o.enable_signup &&
639
+ enable_email_password == o.enable_email_password &&
640
+ rate_limit_signup == o.rate_limit_signup &&
641
+ rate_limit_signin == o.rate_limit_signin &&
642
+ rate_limit_token_refresh == o.rate_limit_token_refresh &&
643
+ cors_enabled == o.cors_enabled &&
644
+ cors_allowed_origins == o.cors_allowed_origins &&
645
+ enable_anonymous_signins == o.enable_anonymous_signins &&
646
+ allowed_email_domains == o.allowed_email_domains &&
647
+ allowed_email_domains_mode == o.allowed_email_domains_mode &&
648
+ platform_token_ttl == o.platform_token_ttl &&
649
+ allow_password_reset == o.allow_password_reset &&
650
+ password_reset_timeout == o.password_reset_timeout &&
651
+ max_password_history == o.max_password_history &&
652
+ cors_allow_credentials == o.cors_allow_credentials &&
653
+ cors_max_age == o.cors_max_age &&
654
+ require_email_confirmation == o.require_email_confirmation &&
655
+ email_confirmation_timeout == o.email_confirmation_timeout &&
656
+ auto_link_verified_oauth == o.auto_link_verified_oauth &&
657
+ email_enabled == o.email_enabled &&
658
+ email_from_address == o.email_from_address &&
659
+ email_from_name == o.email_from_name &&
660
+ smtp_host == o.smtp_host &&
661
+ smtp_port == o.smtp_port &&
662
+ smtp_username == o.smtp_username &&
663
+ smtp_password_configured == o.smtp_password_configured &&
664
+ smtp_use_tls == o.smtp_use_tls &&
665
+ email_confirmation_subject == o.email_confirmation_subject &&
666
+ email_password_reset_subject == o.email_password_reset_subject &&
667
+ email_password_changed_subject == o.email_password_changed_subject &&
668
+ managed_auth_enabled == o.managed_auth_enabled &&
669
+ post_auth_redirect_url == o.post_auth_redirect_url &&
670
+ allowed_redirect_urls == o.allowed_redirect_urls &&
671
+ post_logout_redirect_url == o.post_logout_redirect_url &&
672
+ device_verification_url == o.device_verification_url
673
+ end
674
+
675
+ # @see the `==` method
676
+ # @param [Object] Object to be compared
677
+ def eql?(o)
678
+ self == o
679
+ end
680
+
681
+ # Calculates hash code according to all attributes.
682
+ # @return [Integer] Hash code
683
+ def hash
684
+ [project_id, access_token_lifetime, refresh_token_lifetime, inactivity_timeout, max_session_duration, min_password_length, password_policy, require_uppercase, require_lowercase, require_numbers, require_special_chars, enable_signup, enable_email_password, rate_limit_signup, rate_limit_signin, rate_limit_token_refresh, cors_enabled, cors_allowed_origins, enable_anonymous_signins, allowed_email_domains, allowed_email_domains_mode, platform_token_ttl, allow_password_reset, password_reset_timeout, max_password_history, cors_allow_credentials, cors_max_age, require_email_confirmation, email_confirmation_timeout, auto_link_verified_oauth, email_enabled, email_from_address, email_from_name, smtp_host, smtp_port, smtp_username, smtp_password_configured, smtp_use_tls, email_confirmation_subject, email_password_reset_subject, email_password_changed_subject, managed_auth_enabled, post_auth_redirect_url, allowed_redirect_urls, post_logout_redirect_url, device_verification_url].hash
685
+ end
686
+
687
+ # Builds the object from hash
688
+ # @param [Hash] attributes Model attributes in the form of hash
689
+ # @return [Object] Returns the model itself
690
+ def self.build_from_hash(attributes)
691
+ return nil unless attributes.is_a?(Hash)
692
+ attributes = attributes.transform_keys(&:to_sym)
693
+ transformed_hash = {}
694
+ openapi_types.each_pair do |key, type|
695
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
696
+ transformed_hash["#{key}"] = nil
697
+ elsif type =~ /\AArray<(.*)>/i
698
+ # check to ensure the input is an array given that the attribute
699
+ # is documented as an array but the input is not
700
+ if attributes[attribute_map[key]].is_a?(Array)
701
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
702
+ end
703
+ elsif !attributes[attribute_map[key]].nil?
704
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
705
+ end
706
+ end
707
+ new(transformed_hash)
708
+ end
709
+
710
+ # Returns the object in the form of hash
711
+ # @return [Hash] Returns the object in the form of hash
712
+ def to_hash
713
+ hash = {}
714
+ self.class.attribute_map.each_pair do |attr, param|
715
+ value = self.send(attr)
716
+ if value.nil?
717
+ is_nullable = self.class.openapi_nullable.include?(attr)
718
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
719
+ end
720
+
721
+ hash[param] = _to_hash(value)
722
+ end
723
+ hash
724
+ end
725
+
726
+ end
727
+
728
+ end