appwrite 28.4.0 → 30.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +19 -19
  3. data/lib/appwrite/enums/billing_plan_group.rb +0 -1
  4. data/lib/appwrite/enums/execution_trigger.rb +1 -0
  5. data/lib/appwrite/enums/proxy_rule_protocol.rb +8 -0
  6. data/lib/appwrite/models/account.rb +8 -8
  7. data/lib/appwrite/models/activity_event.rb +1 -0
  8. data/lib/appwrite/models/activity_event_list.rb +1 -0
  9. data/lib/appwrite/models/additional_resource.rb +1 -0
  10. data/lib/appwrite/models/algo_argon2.rb +1 -0
  11. data/lib/appwrite/models/algo_bcrypt.rb +1 -0
  12. data/lib/appwrite/models/algo_md5.rb +1 -0
  13. data/lib/appwrite/models/algo_phpass.rb +1 -0
  14. data/lib/appwrite/models/algo_scrypt.rb +1 -0
  15. data/lib/appwrite/models/algo_scrypt_modified.rb +1 -0
  16. data/lib/appwrite/models/algo_sha.rb +1 -0
  17. data/lib/appwrite/models/app.rb +1 -0
  18. data/lib/appwrite/models/app_installation.rb +2 -1
  19. data/lib/appwrite/models/app_installation_list.rb +1 -0
  20. data/lib/appwrite/models/app_key.rb +2 -1
  21. data/lib/appwrite/models/app_key_list.rb +1 -0
  22. data/lib/appwrite/models/app_scope.rb +1 -0
  23. data/lib/appwrite/models/app_scope_list.rb +1 -0
  24. data/lib/appwrite/models/app_secret.rb +2 -1
  25. data/lib/appwrite/models/app_secret_list.rb +1 -0
  26. data/lib/appwrite/models/app_secret_plaintext.rb +2 -1
  27. data/lib/appwrite/models/apps_list.rb +1 -0
  28. data/lib/appwrite/models/attribute_bigint.rb +10 -4
  29. data/lib/appwrite/models/attribute_boolean.rb +8 -2
  30. data/lib/appwrite/models/attribute_datetime.rb +8 -2
  31. data/lib/appwrite/models/attribute_email.rb +8 -2
  32. data/lib/appwrite/models/attribute_enum.rb +8 -2
  33. data/lib/appwrite/models/attribute_float.rb +10 -4
  34. data/lib/appwrite/models/attribute_integer.rb +10 -4
  35. data/lib/appwrite/models/attribute_ip.rb +8 -2
  36. data/lib/appwrite/models/attribute_line.rb +8 -2
  37. data/lib/appwrite/models/attribute_list.rb +1 -0
  38. data/lib/appwrite/models/attribute_longtext.rb +9 -3
  39. data/lib/appwrite/models/attribute_mediumtext.rb +9 -3
  40. data/lib/appwrite/models/attribute_object.rb +7 -1
  41. data/lib/appwrite/models/attribute_point.rb +8 -2
  42. data/lib/appwrite/models/attribute_polygon.rb +8 -2
  43. data/lib/appwrite/models/attribute_relationship.rb +7 -1
  44. data/lib/appwrite/models/attribute_string.rb +9 -3
  45. data/lib/appwrite/models/attribute_text.rb +9 -3
  46. data/lib/appwrite/models/attribute_url.rb +8 -2
  47. data/lib/appwrite/models/attribute_varchar.rb +9 -3
  48. data/lib/appwrite/models/attribute_vector.rb +7 -1
  49. data/lib/appwrite/models/backup_archive.rb +5 -4
  50. data/lib/appwrite/models/backup_archive_list.rb +1 -0
  51. data/lib/appwrite/models/backup_policy.rb +3 -2
  52. data/lib/appwrite/models/backup_policy_list.rb +1 -0
  53. data/lib/appwrite/models/backup_restoration.rb +2 -1
  54. data/lib/appwrite/models/backup_restoration_list.rb +1 -0
  55. data/lib/appwrite/models/billing_limits.rb +8 -8
  56. data/lib/appwrite/models/billing_plan.rb +19 -14
  57. data/lib/appwrite/models/billing_plan_addon.rb +2 -2
  58. data/lib/appwrite/models/billing_plan_addon_details.rb +2 -1
  59. data/lib/appwrite/models/billing_plan_dedicated_database_limits.rb +19 -19
  60. data/lib/appwrite/models/billing_plan_limits.rb +2 -2
  61. data/lib/appwrite/models/billing_plan_supported_addons.rb +1 -0
  62. data/lib/appwrite/models/block.rb +4 -33
  63. data/lib/appwrite/models/bucket.rb +11 -0
  64. data/lib/appwrite/models/bucket_list.rb +1 -0
  65. data/lib/appwrite/models/collection.rb +6 -0
  66. data/lib/appwrite/models/collection_list.rb +1 -0
  67. data/lib/appwrite/models/column_bigint.rb +10 -4
  68. data/lib/appwrite/models/column_boolean.rb +8 -2
  69. data/lib/appwrite/models/column_datetime.rb +8 -2
  70. data/lib/appwrite/models/column_email.rb +8 -2
  71. data/lib/appwrite/models/column_enum.rb +8 -2
  72. data/lib/appwrite/models/column_float.rb +10 -4
  73. data/lib/appwrite/models/column_index.rb +7 -1
  74. data/lib/appwrite/models/column_index_list.rb +1 -0
  75. data/lib/appwrite/models/column_integer.rb +10 -4
  76. data/lib/appwrite/models/column_ip.rb +8 -2
  77. data/lib/appwrite/models/column_line.rb +8 -2
  78. data/lib/appwrite/models/column_list.rb +1 -0
  79. data/lib/appwrite/models/column_longtext.rb +9 -3
  80. data/lib/appwrite/models/column_mediumtext.rb +9 -3
  81. data/lib/appwrite/models/column_point.rb +8 -2
  82. data/lib/appwrite/models/column_polygon.rb +8 -2
  83. data/lib/appwrite/models/column_relationship.rb +7 -1
  84. data/lib/appwrite/models/column_string.rb +9 -3
  85. data/lib/appwrite/models/column_text.rb +9 -3
  86. data/lib/appwrite/models/column_url.rb +8 -2
  87. data/lib/appwrite/models/column_varchar.rb +9 -3
  88. data/lib/appwrite/models/continent.rb +1 -0
  89. data/lib/appwrite/models/continent_list.rb +1 -0
  90. data/lib/appwrite/models/country.rb +1 -0
  91. data/lib/appwrite/models/country_list.rb +1 -0
  92. data/lib/appwrite/models/currency.rb +1 -0
  93. data/lib/appwrite/models/currency_list.rb +1 -0
  94. data/lib/appwrite/models/database.rb +15 -9
  95. data/lib/appwrite/models/database_list.rb +1 -0
  96. data/lib/appwrite/models/database_migration.rb +1 -0
  97. data/lib/appwrite/models/database_migration_list.rb +1 -0
  98. data/lib/appwrite/models/database_status.rb +6 -5
  99. data/lib/appwrite/models/database_status_connections.rb +1 -0
  100. data/lib/appwrite/models/database_status_replica.rb +3 -2
  101. data/lib/appwrite/models/database_status_volume.rb +1 -0
  102. data/lib/appwrite/models/dedicated_database.rb +8 -7
  103. data/lib/appwrite/models/dedicated_database_backup.rb +6 -5
  104. data/lib/appwrite/models/dedicated_database_backup_list.rb +1 -0
  105. data/lib/appwrite/models/dedicated_database_backup_storage.rb +1 -0
  106. data/lib/appwrite/models/dedicated_database_branch.rb +2 -1
  107. data/lib/appwrite/models/dedicated_database_branch_list.rb +1 -0
  108. data/lib/appwrite/models/dedicated_database_execution.rb +1 -0
  109. data/lib/appwrite/models/dedicated_database_execution_column.rb +1 -0
  110. data/lib/appwrite/models/dedicated_database_extensions.rb +1 -0
  111. data/lib/appwrite/models/dedicated_database_list.rb +1 -0
  112. data/lib/appwrite/models/dedicated_database_member.rb +3 -2
  113. data/lib/appwrite/models/dedicated_database_operation.rb +4 -3
  114. data/lib/appwrite/models/dedicated_database_operation_list.rb +1 -0
  115. data/lib/appwrite/models/dedicated_database_pitr_windows.rb +1 -0
  116. data/lib/appwrite/models/dedicated_database_pooler.rb +1 -0
  117. data/lib/appwrite/models/dedicated_database_replicas.rb +3 -2
  118. data/lib/appwrite/models/dedicated_database_restoration.rb +11 -5
  119. data/lib/appwrite/models/dedicated_database_restoration_list.rb +1 -0
  120. data/lib/appwrite/models/dedicated_database_specification.rb +1 -0
  121. data/lib/appwrite/models/dedicated_database_specification_list.rb +4 -8
  122. data/lib/appwrite/models/deployment.rb +1 -0
  123. data/lib/appwrite/models/deployment_list.rb +1 -0
  124. data/lib/appwrite/models/document.rb +1 -0
  125. data/lib/appwrite/models/document_list.rb +1 -0
  126. data/lib/appwrite/models/domain.rb +1 -1
  127. data/lib/appwrite/models/domain_price.rb +2 -2
  128. data/lib/appwrite/models/email_template.rb +1 -0
  129. data/lib/appwrite/models/email_template_list.rb +1 -0
  130. data/lib/appwrite/models/embedding.rb +1 -0
  131. data/lib/appwrite/models/embedding_list.rb +1 -0
  132. data/lib/appwrite/models/ephemeral_key.rb +6 -0
  133. data/lib/appwrite/models/execution.rb +3 -1
  134. data/lib/appwrite/models/execution_list.rb +1 -0
  135. data/lib/appwrite/models/file.rb +1 -0
  136. data/lib/appwrite/models/file_list.rb +1 -0
  137. data/lib/appwrite/models/framework.rb +1 -0
  138. data/lib/appwrite/models/framework_adapter.rb +2 -1
  139. data/lib/appwrite/models/framework_list.rb +1 -0
  140. data/lib/appwrite/models/function.rb +15 -4
  141. data/lib/appwrite/models/function_list.rb +1 -0
  142. data/lib/appwrite/models/headers.rb +1 -0
  143. data/lib/appwrite/models/identity.rb +1 -0
  144. data/lib/appwrite/models/identity_list.rb +1 -0
  145. data/lib/appwrite/models/index.rb +7 -1
  146. data/lib/appwrite/models/index_list.rb +1 -0
  147. data/lib/appwrite/models/insight.rb +4 -3
  148. data/lib/appwrite/models/insight_cta.rb +1 -0
  149. data/lib/appwrite/models/insight_list.rb +1 -0
  150. data/lib/appwrite/models/jwt.rb +1 -0
  151. data/lib/appwrite/models/key.rb +6 -0
  152. data/lib/appwrite/models/key_list.rb +1 -0
  153. data/lib/appwrite/models/language.rb +1 -0
  154. data/lib/appwrite/models/language_list.rb +1 -0
  155. data/lib/appwrite/models/locale.rb +12 -11
  156. data/lib/appwrite/models/locale_code.rb +1 -0
  157. data/lib/appwrite/models/locale_code_list.rb +1 -0
  158. data/lib/appwrite/models/membership.rb +1 -0
  159. data/lib/appwrite/models/membership_list.rb +1 -0
  160. data/lib/appwrite/models/message.rb +4 -3
  161. data/lib/appwrite/models/message_list.rb +1 -0
  162. data/lib/appwrite/models/mfa_challenge.rb +1 -0
  163. data/lib/appwrite/models/mfa_challenge_secret.rb +1 -0
  164. data/lib/appwrite/models/mfa_factors.rb +1 -0
  165. data/lib/appwrite/models/mfa_recovery_codes.rb +1 -0
  166. data/lib/appwrite/models/mfa_type.rb +1 -0
  167. data/lib/appwrite/models/mock_number.rb +1 -0
  168. data/lib/appwrite/models/mock_number_list.rb +1 -0
  169. data/lib/appwrite/models/o_auth2_amazon.rb +1 -0
  170. data/lib/appwrite/models/o_auth2_apple.rb +1 -0
  171. data/lib/appwrite/models/o_auth2_appwrite.rb +1 -0
  172. data/lib/appwrite/models/o_auth2_auth0.rb +2 -1
  173. data/lib/appwrite/models/o_auth2_authentik.rb +1 -0
  174. data/lib/appwrite/models/o_auth2_autodesk.rb +1 -0
  175. data/lib/appwrite/models/o_auth2_bitbucket.rb +1 -0
  176. data/lib/appwrite/models/o_auth2_bitly.rb +1 -0
  177. data/lib/appwrite/models/o_auth2_box.rb +1 -0
  178. data/lib/appwrite/models/o_auth2_cloudflare.rb +1 -0
  179. data/lib/appwrite/models/o_auth2_dailymotion.rb +1 -0
  180. data/lib/appwrite/models/o_auth2_discord.rb +2 -1
  181. data/lib/appwrite/models/o_auth2_disqus.rb +1 -0
  182. data/lib/appwrite/models/o_auth2_dropbox.rb +1 -0
  183. data/lib/appwrite/models/o_auth2_etsy.rb +1 -0
  184. data/lib/appwrite/models/o_auth2_facebook.rb +1 -0
  185. data/lib/appwrite/models/o_auth2_figma.rb +1 -0
  186. data/lib/appwrite/models/o_auth2_fusion_auth.rb +1 -0
  187. data/lib/appwrite/models/o_auth2_github.rb +2 -1
  188. data/lib/appwrite/models/o_auth2_gitlab.rb +1 -0
  189. data/lib/appwrite/models/o_auth2_google.rb +1 -0
  190. data/lib/appwrite/models/o_auth2_hugging_face.rb +1 -0
  191. data/lib/appwrite/models/o_auth2_keycloak.rb +1 -0
  192. data/lib/appwrite/models/o_auth2_kick.rb +1 -0
  193. data/lib/appwrite/models/o_auth2_linkedin.rb +1 -0
  194. data/lib/appwrite/models/o_auth2_microsoft.rb +2 -1
  195. data/lib/appwrite/models/o_auth2_notion.rb +1 -0
  196. data/lib/appwrite/models/o_auth2_oidc.rb +7 -6
  197. data/lib/appwrite/models/o_auth2_okta.rb +2 -1
  198. data/lib/appwrite/models/o_auth2_paypal.rb +1 -0
  199. data/lib/appwrite/models/o_auth2_podio.rb +1 -0
  200. data/lib/appwrite/models/o_auth2_provider_list.rb +1 -0
  201. data/lib/appwrite/models/o_auth2_resend.rb +1 -0
  202. data/lib/appwrite/models/o_auth2_salesforce.rb +2 -1
  203. data/lib/appwrite/models/o_auth2_slack.rb +1 -0
  204. data/lib/appwrite/models/o_auth2_spotify.rb +1 -0
  205. data/lib/appwrite/models/o_auth2_stripe.rb +1 -0
  206. data/lib/appwrite/models/o_auth2_tradeshift.rb +1 -0
  207. data/lib/appwrite/models/o_auth2_twitch.rb +1 -0
  208. data/lib/appwrite/models/o_auth2_word_press.rb +1 -0
  209. data/lib/appwrite/models/o_auth2_x.rb +1 -0
  210. data/lib/appwrite/models/o_auth2_yahoo.rb +1 -0
  211. data/lib/appwrite/models/o_auth2_yandex.rb +1 -0
  212. data/lib/appwrite/models/o_auth2_zoho.rb +2 -1
  213. data/lib/appwrite/models/o_auth2_zoom.rb +1 -0
  214. data/lib/appwrite/models/oauth2_approve.rb +1 -0
  215. data/lib/appwrite/models/oauth2_authorize.rb +1 -0
  216. data/lib/appwrite/models/oauth2_consent.rb +1 -0
  217. data/lib/appwrite/models/oauth2_consent_list.rb +1 -0
  218. data/lib/appwrite/models/oauth2_consent_token.rb +1 -0
  219. data/lib/appwrite/models/oauth2_consent_token_list.rb +1 -0
  220. data/lib/appwrite/models/oauth2_device_authorization.rb +1 -0
  221. data/lib/appwrite/models/oauth2_grant.rb +1 -0
  222. data/lib/appwrite/models/oauth2_introspection.rb +11 -11
  223. data/lib/appwrite/models/oauth2_organization.rb +1 -0
  224. data/lib/appwrite/models/oauth2_organization_list.rb +1 -0
  225. data/lib/appwrite/models/oauth2_par.rb +1 -0
  226. data/lib/appwrite/models/oauth2_project.rb +1 -0
  227. data/lib/appwrite/models/oauth2_project_list.rb +1 -0
  228. data/lib/appwrite/models/oauth2_reject.rb +1 -0
  229. data/lib/appwrite/models/oauth2_token.rb +3 -2
  230. data/lib/appwrite/models/organization.rb +21 -20
  231. data/lib/appwrite/models/passkey.rb +1 -0
  232. data/lib/appwrite/models/passkey_challenge.rb +1 -0
  233. data/lib/appwrite/models/passkey_list.rb +1 -0
  234. data/lib/appwrite/models/phone.rb +1 -0
  235. data/lib/appwrite/models/phone_list.rb +1 -0
  236. data/lib/appwrite/models/platform_android.rb +1 -0
  237. data/lib/appwrite/models/platform_apple.rb +1 -0
  238. data/lib/appwrite/models/platform_linux.rb +1 -0
  239. data/lib/appwrite/models/platform_list.rb +1 -0
  240. data/lib/appwrite/models/platform_web.rb +1 -0
  241. data/lib/appwrite/models/platform_windows.rb +1 -0
  242. data/lib/appwrite/models/policy_deny_aliased_email.rb +1 -0
  243. data/lib/appwrite/models/policy_deny_corporate_email.rb +1 -0
  244. data/lib/appwrite/models/policy_deny_disposable_email.rb +1 -0
  245. data/lib/appwrite/models/policy_deny_free_email.rb +1 -0
  246. data/lib/appwrite/models/policy_list.rb +1 -0
  247. data/lib/appwrite/models/policy_membership_privacy.rb +1 -0
  248. data/lib/appwrite/models/policy_mfa_factors.rb +1 -0
  249. data/lib/appwrite/models/policy_passkey.rb +1 -0
  250. data/lib/appwrite/models/policy_password_dictionary.rb +9 -3
  251. data/lib/appwrite/models/policy_password_history.rb +1 -0
  252. data/lib/appwrite/models/policy_password_personal_data.rb +9 -3
  253. data/lib/appwrite/models/policy_password_strength.rb +1 -0
  254. data/lib/appwrite/models/policy_session_alert.rb +1 -0
  255. data/lib/appwrite/models/policy_session_duration.rb +1 -0
  256. data/lib/appwrite/models/policy_session_invalidation.rb +1 -0
  257. data/lib/appwrite/models/policy_session_limit.rb +1 -0
  258. data/lib/appwrite/models/policy_user_limit.rb +1 -0
  259. data/lib/appwrite/models/postgres_extension.rb +1 -0
  260. data/lib/appwrite/models/presence.rb +4 -3
  261. data/lib/appwrite/models/presence_list.rb +1 -0
  262. data/lib/appwrite/models/program.rb +1 -0
  263. data/lib/appwrite/models/project.rb +23 -27
  264. data/lib/appwrite/models/project_auth_method.rb +1 -0
  265. data/lib/appwrite/models/project_list.rb +1 -0
  266. data/lib/appwrite/models/project_protocol.rb +1 -0
  267. data/lib/appwrite/models/project_service.rb +1 -0
  268. data/lib/appwrite/models/provider.rb +2 -1
  269. data/lib/appwrite/models/provider_list.rb +1 -0
  270. data/lib/appwrite/models/proxy_invalidation.rb +1 -0
  271. data/lib/appwrite/models/proxy_rule.rb +23 -4
  272. data/lib/appwrite/models/proxy_rule_list.rb +1 -0
  273. data/lib/appwrite/models/report.rb +2 -1
  274. data/lib/appwrite/models/report_list.rb +1 -0
  275. data/lib/appwrite/models/resource_token.rb +1 -0
  276. data/lib/appwrite/models/resource_token_list.rb +1 -0
  277. data/lib/appwrite/models/row.rb +1 -0
  278. data/lib/appwrite/models/row_list.rb +1 -0
  279. data/lib/appwrite/models/runtime.rb +1 -0
  280. data/lib/appwrite/models/runtime_list.rb +1 -0
  281. data/lib/appwrite/models/session.rb +1 -0
  282. data/lib/appwrite/models/session_list.rb +1 -0
  283. data/lib/appwrite/models/site.rb +6 -0
  284. data/lib/appwrite/models/site_list.rb +1 -0
  285. data/lib/appwrite/models/specification.rb +1 -0
  286. data/lib/appwrite/models/specification_list.rb +1 -0
  287. data/lib/appwrite/models/subscriber.rb +1 -0
  288. data/lib/appwrite/models/subscriber_list.rb +1 -0
  289. data/lib/appwrite/models/table.rb +6 -0
  290. data/lib/appwrite/models/table_list.rb +1 -0
  291. data/lib/appwrite/models/target.rb +2 -1
  292. data/lib/appwrite/models/target_list.rb +1 -0
  293. data/lib/appwrite/models/team.rb +1 -0
  294. data/lib/appwrite/models/team_list.rb +1 -0
  295. data/lib/appwrite/models/token.rb +1 -0
  296. data/lib/appwrite/models/token_secret.rb +1 -0
  297. data/lib/appwrite/models/topic.rb +8 -2
  298. data/lib/appwrite/models/topic_list.rb +1 -0
  299. data/lib/appwrite/models/transaction.rb +1 -0
  300. data/lib/appwrite/models/transaction_list.rb +1 -0
  301. data/lib/appwrite/models/usage_billing_plan.rb +27 -27
  302. data/lib/appwrite/models/user.rb +12 -11
  303. data/lib/appwrite/models/user_list.rb +1 -0
  304. data/lib/appwrite/models/variable.rb +6 -0
  305. data/lib/appwrite/models/variable_list.rb +1 -0
  306. data/lib/appwrite/models/vectorsdb_collection.rb +6 -0
  307. data/lib/appwrite/models/vectorsdb_collection_list.rb +1 -0
  308. data/lib/appwrite/models/webhook.rb +6 -0
  309. data/lib/appwrite/models/webhook_list.rb +1 -0
  310. data/lib/appwrite/query/builder.rb +361 -0
  311. data/lib/appwrite/query.rb +190 -0
  312. data/lib/appwrite/services/account.rb +135 -107
  313. data/lib/appwrite/services/activities.rb +8 -5
  314. data/lib/appwrite/services/advisor.rb +19 -18
  315. data/lib/appwrite/services/apps.rb +89 -89
  316. data/lib/appwrite/services/avatars.rb +21 -21
  317. data/lib/appwrite/services/backups.rb +42 -33
  318. data/lib/appwrite/services/databases.rb +727 -488
  319. data/lib/appwrite/services/documents_db.rb +266 -190
  320. data/lib/appwrite/services/domains.rb +63 -57
  321. data/lib/appwrite/services/embeddings.rb +2 -2
  322. data/lib/appwrite/services/functions.rb +132 -112
  323. data/lib/appwrite/services/graphql.rb +4 -4
  324. data/lib/appwrite/services/messaging.rb +172 -156
  325. data/lib/appwrite/services/mongo.rb +206 -133
  326. data/lib/appwrite/services/mysql.rb +224 -147
  327. data/lib/appwrite/services/oauth2.rb +27 -27
  328. data/lib/appwrite/services/organization.rb +59 -247
  329. data/lib/appwrite/services/postgresql.rb +238 -161
  330. data/lib/appwrite/services/presences.rb +17 -16
  331. data/lib/appwrite/services/project.rb +187 -147
  332. data/lib/appwrite/services/proxy.rb +70 -23
  333. data/lib/appwrite/services/sites.rb +124 -108
  334. data/lib/appwrite/services/storage.rb +77 -62
  335. data/lib/appwrite/services/tables_db.rb +832 -589
  336. data/lib/appwrite/services/teams.rb +83 -81
  337. data/lib/appwrite/services/tokens.rb +25 -24
  338. data/lib/appwrite/services/users.rb +170 -199
  339. data/lib/appwrite/services/vectors_db.rb +199 -179
  340. data/lib/appwrite/services/waf.rb +7 -7
  341. data/lib/appwrite/services/webhooks.rb +31 -24
  342. data/lib/appwrite/topic.rb +53 -0
  343. data/lib/appwrite.rb +6 -9
  344. metadata +6 -8
  345. data/lib/appwrite/enums/organization_key_scopes.rb +0 -22
  346. data/lib/appwrite/models/dedicated_database_specification_pricing.rb +0 -42
  347. data/lib/appwrite/models/dev_key.rb +0 -62
  348. data/lib/appwrite/models/log.rb +0 -132
  349. data/lib/appwrite/models/log_list.rb +0 -32
@@ -9,15 +9,18 @@ module Appwrite
9
9
  # List all dedicated databases. Results support pagination.
10
10
  #
11
11
  # @param [Array] queries Array of query strings.
12
+ # @param [] total When set to false, the total count returned will be 0 and will not be calculated.
12
13
  #
13
14
  # @return [DedicatedDatabaseList]
14
15
  def list(
15
- queries: nil
16
+ queries: nil,
17
+ total: nil
16
18
  )
17
19
  api_path = '/mysql'
18
20
 
19
21
  api_params = {
20
22
  queries: queries,
23
+ total: total,
21
24
  }
22
25
 
23
26
  api_headers = {
@@ -50,7 +53,7 @@ module Appwrite
50
53
  # @param [Integer] pitr_retention_days Number of days to retain PITR data.
51
54
  # @param [] storage_autoscaling Enable automatic storage expansion when usage exceeds threshold.
52
55
  # @param [Integer] storage_autoscaling_threshold_percent Storage usage percentage (50-95) that triggers automatic expansion.
53
- # @param [Integer] storage_autoscaling_max_gb Maximum storage size in GB for autoscaling. 0 means no limit.
56
+ # @param [Integer] storage_autoscaling_max_gb Maximum storage size in GB for autoscaling. Defaults to 3 times the specification's storage. 0 means no limit.
54
57
  #
55
58
  # @return [DedicatedDatabase]
56
59
  def create(
@@ -69,8 +72,6 @@ module Appwrite
69
72
  storage_autoscaling_threshold_percent: nil,
70
73
  storage_autoscaling_max_gb: nil
71
74
  )
72
- api_path = '/mysql'
73
-
74
75
  if database_id.nil?
75
76
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
76
77
  end
@@ -79,6 +80,8 @@ module Appwrite
79
80
  raise Appwrite::Exception.new('Missing required parameter: "name"')
80
81
  end
81
82
 
83
+ api_path = '/mysql'
84
+
82
85
  api_params = {
83
86
  databaseId: database_id,
84
87
  name: name,
@@ -112,8 +115,8 @@ module Appwrite
112
115
  end
113
116
 
114
117
  # List the dedicated database specifications available on the current plan.
115
- # Each specification reports its resource limits, pricing, and whether it is
116
- # enabled for the organization.
118
+ # Each specification reports its resource limits, its own prices and overage
119
+ # rates, and whether it is enabled for the organization.
117
120
  #
118
121
  #
119
122
  # @return [DedicatedDatabaseSpecificationList]
@@ -145,13 +148,13 @@ module Appwrite
145
148
  def get(
146
149
  database_id:
147
150
  )
148
- api_path = '/mysql/{databaseId}'
149
- .gsub('{databaseId}', database_id)
150
-
151
- if database_id.nil?
151
+ if database_id.nil? || database_id == ''
152
152
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
153
153
  end
154
154
 
155
+ api_path = '/mysql/{databaseId}'
156
+ .gsub('{databaseId}', database_id)
157
+
155
158
  api_params = {}
156
159
 
157
160
  api_headers = {
@@ -219,13 +222,13 @@ module Appwrite
219
222
  sql_api_max_bytes: nil,
220
223
  sql_api_timeout_seconds: nil
221
224
  )
222
- api_path = '/mysql/{databaseId}'
223
- .gsub('{databaseId}', database_id)
224
-
225
- if database_id.nil?
225
+ if database_id.nil? || database_id == ''
226
226
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
227
227
  end
228
228
 
229
+ api_path = '/mysql/{databaseId}'
230
+ .gsub('{databaseId}', database_id)
231
+
229
232
  api_params = {
230
233
  name: name,
231
234
  status: status,
@@ -275,13 +278,13 @@ module Appwrite
275
278
  def delete(
276
279
  database_id:
277
280
  )
278
- api_path = '/mysql/{databaseId}'
279
- .gsub('{databaseId}', database_id)
280
-
281
- if database_id.nil?
281
+ if database_id.nil? || database_id == ''
282
282
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
283
283
  end
284
284
 
285
+ api_path = '/mysql/{databaseId}'
286
+ .gsub('{databaseId}', database_id)
287
+
285
288
  api_params = {}
286
289
 
287
290
  api_headers = {
@@ -303,21 +306,24 @@ module Appwrite
303
306
  #
304
307
  # @param [String] database_id Database ID.
305
308
  # @param [Array] queries Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: status, type, databaseId
309
+ # @param [] total When set to false, the total count returned will be 0 and will not be calculated.
306
310
  #
307
311
  # @return [DedicatedDatabaseBackupList]
308
312
  def list_backups(
309
313
  database_id:,
310
- queries: nil
314
+ queries: nil,
315
+ total: nil
311
316
  )
312
- api_path = '/mysql/{databaseId}/backups'
313
- .gsub('{databaseId}', database_id)
314
-
315
- if database_id.nil?
317
+ if database_id.nil? || database_id == ''
316
318
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
317
319
  end
318
320
 
321
+ api_path = '/mysql/{databaseId}/backups'
322
+ .gsub('{databaseId}', database_id)
323
+
319
324
  api_params = {
320
325
  queries: queries,
326
+ total: total,
321
327
  }
322
328
 
323
329
  api_headers = {
@@ -345,13 +351,13 @@ module Appwrite
345
351
  database_id:,
346
352
  type: nil
347
353
  )
348
- api_path = '/mysql/{databaseId}/backups'
349
- .gsub('{databaseId}', database_id)
350
-
351
- if database_id.nil?
354
+ if database_id.nil? || database_id == ''
352
355
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
353
356
  end
354
357
 
358
+ api_path = '/mysql/{databaseId}/backups'
359
+ .gsub('{databaseId}', database_id)
360
+
355
361
  api_params = {
356
362
  type: type,
357
363
  }
@@ -375,21 +381,24 @@ module Appwrite
375
381
  #
376
382
  # @param [String] database_id Database ID.
377
383
  # @param [Array] queries Array of query strings generated using the Query class provided by the SDK.
384
+ # @param [] total When set to false, the total count returned will be 0 and will not be calculated.
378
385
  #
379
386
  # @return [BackupPolicyList]
380
387
  def list_backup_policies(
381
388
  database_id:,
382
- queries: nil
389
+ queries: nil,
390
+ total: nil
383
391
  )
384
- api_path = '/mysql/{databaseId}/backups/policies'
385
- .gsub('{databaseId}', database_id)
386
-
387
- if database_id.nil?
392
+ if database_id.nil? || database_id == ''
388
393
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
389
394
  end
390
395
 
396
+ api_path = '/mysql/{databaseId}/backups/policies'
397
+ .gsub('{databaseId}', database_id)
398
+
391
399
  api_params = {
392
400
  queries: queries,
401
+ total: total,
393
402
  }
394
403
 
395
404
  api_headers = {
@@ -426,10 +435,7 @@ module Appwrite
426
435
  type: nil,
427
436
  enabled: nil
428
437
  )
429
- api_path = '/mysql/{databaseId}/backups/policies'
430
- .gsub('{databaseId}', database_id)
431
-
432
- if database_id.nil?
438
+ if database_id.nil? || database_id == ''
433
439
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
434
440
  end
435
441
 
@@ -449,6 +455,9 @@ module Appwrite
449
455
  raise Appwrite::Exception.new('Missing required parameter: "retention"')
450
456
  end
451
457
 
458
+ api_path = '/mysql/{databaseId}/backups/policies'
459
+ .gsub('{databaseId}', database_id)
460
+
452
461
  api_params = {
453
462
  policyId: policy_id,
454
463
  name: name,
@@ -483,18 +492,18 @@ module Appwrite
483
492
  database_id:,
484
493
  policy_id:
485
494
  )
486
- api_path = '/mysql/{databaseId}/backups/policies/{policyId}'
487
- .gsub('{databaseId}', database_id)
488
- .gsub('{policyId}', policy_id)
489
-
490
- if database_id.nil?
495
+ if database_id.nil? || database_id == ''
491
496
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
492
497
  end
493
498
 
494
- if policy_id.nil?
499
+ if policy_id.nil? || policy_id == ''
495
500
  raise Appwrite::Exception.new('Missing required parameter: "policyId"')
496
501
  end
497
502
 
503
+ api_path = '/mysql/{databaseId}/backups/policies/{policyId}'
504
+ .gsub('{databaseId}', database_id)
505
+ .gsub('{policyId}', policy_id)
506
+
498
507
  api_params = {}
499
508
 
500
509
  api_headers = {
@@ -529,18 +538,18 @@ module Appwrite
529
538
  retention: nil,
530
539
  enabled: nil
531
540
  )
532
- api_path = '/mysql/{databaseId}/backups/policies/{policyId}'
533
- .gsub('{databaseId}', database_id)
534
- .gsub('{policyId}', policy_id)
535
-
536
- if database_id.nil?
541
+ if database_id.nil? || database_id == ''
537
542
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
538
543
  end
539
544
 
540
- if policy_id.nil?
545
+ if policy_id.nil? || policy_id == ''
541
546
  raise Appwrite::Exception.new('Missing required parameter: "policyId"')
542
547
  end
543
548
 
549
+ api_path = '/mysql/{databaseId}/backups/policies/{policyId}'
550
+ .gsub('{databaseId}', database_id)
551
+ .gsub('{policyId}', policy_id)
552
+
544
553
  api_params = {
545
554
  name: name,
546
555
  schedule: schedule,
@@ -574,18 +583,18 @@ module Appwrite
574
583
  database_id:,
575
584
  policy_id:
576
585
  )
577
- api_path = '/mysql/{databaseId}/backups/policies/{policyId}'
578
- .gsub('{databaseId}', database_id)
579
- .gsub('{policyId}', policy_id)
580
-
581
- if database_id.nil?
586
+ if database_id.nil? || database_id == ''
582
587
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
583
588
  end
584
589
 
585
- if policy_id.nil?
590
+ if policy_id.nil? || policy_id == ''
586
591
  raise Appwrite::Exception.new('Missing required parameter: "policyId"')
587
592
  end
588
593
 
594
+ api_path = '/mysql/{databaseId}/backups/policies/{policyId}'
595
+ .gsub('{databaseId}', database_id)
596
+ .gsub('{policyId}', policy_id)
597
+
589
598
  api_params = {}
590
599
 
591
600
  api_headers = {
@@ -626,10 +635,7 @@ module Appwrite
626
635
  prefix: nil,
627
636
  endpoint: nil
628
637
  )
629
- api_path = '/mysql/{databaseId}/backups/storage'
630
- .gsub('{databaseId}', database_id)
631
-
632
- if database_id.nil?
638
+ if database_id.nil? || database_id == ''
633
639
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
634
640
  end
635
641
 
@@ -649,6 +655,9 @@ module Appwrite
649
655
  raise Appwrite::Exception.new('Missing required parameter: "secretKey"')
650
656
  end
651
657
 
658
+ api_path = '/mysql/{databaseId}/backups/storage'
659
+ .gsub('{databaseId}', database_id)
660
+
652
661
  api_params = {
653
662
  provider: provider,
654
663
  bucket: bucket,
@@ -685,18 +694,18 @@ module Appwrite
685
694
  database_id:,
686
695
  backup_id:
687
696
  )
688
- api_path = '/mysql/{databaseId}/backups/{backupId}'
689
- .gsub('{databaseId}', database_id)
690
- .gsub('{backupId}', backup_id)
691
-
692
- if database_id.nil?
697
+ if database_id.nil? || database_id == ''
693
698
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
694
699
  end
695
700
 
696
- if backup_id.nil?
701
+ if backup_id.nil? || backup_id == ''
697
702
  raise Appwrite::Exception.new('Missing required parameter: "backupId"')
698
703
  end
699
704
 
705
+ api_path = '/mysql/{databaseId}/backups/{backupId}'
706
+ .gsub('{databaseId}', database_id)
707
+ .gsub('{backupId}', backup_id)
708
+
700
709
  api_params = {}
701
710
 
702
711
  api_headers = {
@@ -724,18 +733,18 @@ module Appwrite
724
733
  database_id:,
725
734
  backup_id:
726
735
  )
727
- api_path = '/mysql/{databaseId}/backups/{backupId}'
728
- .gsub('{databaseId}', database_id)
729
- .gsub('{backupId}', backup_id)
730
-
731
- if database_id.nil?
736
+ if database_id.nil? || database_id == ''
732
737
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
733
738
  end
734
739
 
735
- if backup_id.nil?
740
+ if backup_id.nil? || backup_id == ''
736
741
  raise Appwrite::Exception.new('Missing required parameter: "backupId"')
737
742
  end
738
743
 
744
+ api_path = '/mysql/{databaseId}/backups/{backupId}'
745
+ .gsub('{databaseId}', database_id)
746
+ .gsub('{backupId}', backup_id)
747
+
739
748
  api_params = {}
740
749
 
741
750
  api_headers = {
@@ -761,13 +770,13 @@ module Appwrite
761
770
  def list_branches(
762
771
  database_id:
763
772
  )
764
- api_path = '/mysql/{databaseId}/branches'
765
- .gsub('{databaseId}', database_id)
766
-
767
- if database_id.nil?
773
+ if database_id.nil? || database_id == ''
768
774
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
769
775
  end
770
776
 
777
+ api_path = '/mysql/{databaseId}/branches'
778
+ .gsub('{databaseId}', database_id)
779
+
771
780
  api_params = {}
772
781
 
773
782
  api_headers = {
@@ -800,13 +809,13 @@ module Appwrite
800
809
  branch_id: nil,
801
810
  ttl: nil
802
811
  )
803
- api_path = '/mysql/{databaseId}/branches'
804
- .gsub('{databaseId}', database_id)
805
-
806
- if database_id.nil?
812
+ if database_id.nil? || database_id == ''
807
813
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
808
814
  end
809
815
 
816
+ api_path = '/mysql/{databaseId}/branches'
817
+ .gsub('{databaseId}', database_id)
818
+
810
819
  api_params = {
811
820
  branchId: branch_id,
812
821
  ttl: ttl,
@@ -839,18 +848,18 @@ module Appwrite
839
848
  database_id:,
840
849
  branch_id:
841
850
  )
842
- api_path = '/mysql/{databaseId}/branches/{branchId}'
843
- .gsub('{databaseId}', database_id)
844
- .gsub('{branchId}', branch_id)
845
-
846
- if database_id.nil?
851
+ if database_id.nil? || database_id == ''
847
852
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
848
853
  end
849
854
 
850
- if branch_id.nil?
855
+ if branch_id.nil? || branch_id == ''
851
856
  raise Appwrite::Exception.new('Missing required parameter: "branchId"')
852
857
  end
853
858
 
859
+ api_path = '/mysql/{databaseId}/branches/{branchId}'
860
+ .gsub('{databaseId}', database_id)
861
+ .gsub('{branchId}', branch_id)
862
+
854
863
  api_params = {}
855
864
 
856
865
  api_headers = {
@@ -879,13 +888,13 @@ module Appwrite
879
888
  def update_credentials(
880
889
  database_id:
881
890
  )
882
- api_path = '/mysql/{databaseId}/credentials'
883
- .gsub('{databaseId}', database_id)
884
-
885
- if database_id.nil?
891
+ if database_id.nil? || database_id == ''
886
892
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
887
893
  end
888
894
 
895
+ api_path = '/mysql/{databaseId}/credentials'
896
+ .gsub('{databaseId}', database_id)
897
+
889
898
  api_params = {}
890
899
 
891
900
  api_headers = {
@@ -912,11 +921,15 @@ module Appwrite
912
921
  # without a per-query cloud round-trip. The statement type must be on the
913
922
  # database's configured allow-list. Use bound parameters for any
914
923
  # user-supplied values — the API does not interpolate raw strings.
924
+ # Long-running statements (for example CREATE INDEX) can outlive the HTTP
925
+ # request: if the request ends before a result is returned, check the
926
+ # database before retrying, and prefer a direct connection for work that may
927
+ # take minutes.
915
928
  #
916
929
  # @param [String] database_id Database ID.
917
930
  # @param [String] sql SQL statement to execute. Exactly one statement per request.
918
931
  # @param [Hash] bindings Optional bound parameters. Pass either a positional list or a name => value map matching the placeholder style used in the SQL.
919
- # @param [Integer] timeout_seconds Per-call execution timeout override. Must be less than or equal to the database's configured sqlApiTimeoutSeconds.
932
+ # @param [Integer] timeout_seconds Per-call execution timeout override. Must be less than or equal to the database's configured sqlApiTimeoutSeconds. Statements that may exceed this — or the HTTP request timeout in front of Cloud — should use a direct connection instead.
920
933
  #
921
934
  # @return [DedicatedDatabaseExecution]
922
935
  def create_execution(
@@ -925,10 +938,7 @@ module Appwrite
925
938
  bindings: nil,
926
939
  timeout_seconds: nil
927
940
  )
928
- api_path = '/mysql/{databaseId}/executions'
929
- .gsub('{databaseId}', database_id)
930
-
931
- if database_id.nil?
941
+ if database_id.nil? || database_id == ''
932
942
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
933
943
  end
934
944
 
@@ -936,6 +946,9 @@ module Appwrite
936
946
  raise Appwrite::Exception.new('Missing required parameter: "sql"')
937
947
  end
938
948
 
949
+ api_path = '/mysql/{databaseId}/executions'
950
+ .gsub('{databaseId}', database_id)
951
+
939
952
  api_params = {
940
953
  sql: sql,
941
954
  bindings: bindings,
@@ -975,13 +988,13 @@ module Appwrite
975
988
  database_id:,
976
989
  target_replica_id: nil
977
990
  )
978
- api_path = '/mysql/{databaseId}/failovers'
979
- .gsub('{databaseId}', database_id)
980
-
981
- if database_id.nil?
991
+ if database_id.nil? || database_id == ''
982
992
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
983
993
  end
984
994
 
995
+ api_path = '/mysql/{databaseId}/failovers'
996
+ .gsub('{databaseId}', database_id)
997
+
985
998
  api_params = {
986
999
  targetReplicaId: target_replica_id,
987
1000
  }
@@ -1015,10 +1028,7 @@ module Appwrite
1015
1028
  day:,
1016
1029
  hour_utc:
1017
1030
  )
1018
- api_path = '/mysql/{databaseId}/maintenance'
1019
- .gsub('{databaseId}', database_id)
1020
-
1021
- if database_id.nil?
1031
+ if database_id.nil? || database_id == ''
1022
1032
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1023
1033
  end
1024
1034
 
@@ -1030,6 +1040,9 @@ module Appwrite
1030
1040
  raise Appwrite::Exception.new('Missing required parameter: "hourUtc"')
1031
1041
  end
1032
1042
 
1043
+ api_path = '/mysql/{databaseId}/maintenance'
1044
+ .gsub('{databaseId}', database_id)
1045
+
1033
1046
  api_params = {
1034
1047
  day: day,
1035
1048
  hourUtc: hour_utc,
@@ -1065,10 +1078,7 @@ module Appwrite
1065
1078
  target_type:,
1066
1079
  specification: nil
1067
1080
  )
1068
- api_path = '/mysql/{databaseId}/migrations'
1069
- .gsub('{databaseId}', database_id)
1070
-
1071
- if database_id.nil?
1081
+ if database_id.nil? || database_id == ''
1072
1082
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1073
1083
  end
1074
1084
 
@@ -1076,6 +1086,9 @@ module Appwrite
1076
1086
  raise Appwrite::Exception.new('Missing required parameter: "targetType"')
1077
1087
  end
1078
1088
 
1089
+ api_path = '/mysql/{databaseId}/migrations'
1090
+ .gsub('{databaseId}', database_id)
1091
+
1079
1092
  api_params = {
1080
1093
  targetType: target_type,
1081
1094
  specification: specification,
@@ -1113,13 +1126,13 @@ module Appwrite
1113
1126
  limit: nil,
1114
1127
  offset: nil
1115
1128
  )
1116
- api_path = '/mysql/{databaseId}/operations'
1117
- .gsub('{databaseId}', database_id)
1118
-
1119
- if database_id.nil?
1129
+ if database_id.nil? || database_id == ''
1120
1130
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1121
1131
  end
1122
1132
 
1133
+ api_path = '/mysql/{databaseId}/operations'
1134
+ .gsub('{databaseId}', database_id)
1135
+
1123
1136
  api_params = {
1124
1137
  status: status,
1125
1138
  limit: limit,
@@ -1149,13 +1162,13 @@ module Appwrite
1149
1162
  def get_pitr(
1150
1163
  database_id:
1151
1164
  )
1152
- api_path = '/mysql/{databaseId}/pitr'
1153
- .gsub('{databaseId}', database_id)
1154
-
1155
- if database_id.nil?
1165
+ if database_id.nil? || database_id == ''
1156
1166
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1157
1167
  end
1158
1168
 
1169
+ api_path = '/mysql/{databaseId}/pitr'
1170
+ .gsub('{databaseId}', database_id)
1171
+
1159
1172
  api_params = {}
1160
1173
 
1161
1174
  api_headers = {
@@ -1181,13 +1194,13 @@ module Appwrite
1181
1194
  def get_pooler(
1182
1195
  database_id:
1183
1196
  )
1184
- api_path = '/mysql/{databaseId}/pooler'
1185
- .gsub('{databaseId}', database_id)
1186
-
1187
- if database_id.nil?
1197
+ if database_id.nil? || database_id == ''
1188
1198
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1189
1199
  end
1190
1200
 
1201
+ api_path = '/mysql/{databaseId}/pooler'
1202
+ .gsub('{databaseId}', database_id)
1203
+
1191
1204
  api_params = {}
1192
1205
 
1193
1206
  api_headers = {
@@ -1211,7 +1224,7 @@ module Appwrite
1211
1224
  # @param [String] mode Connection pool mode. Allowed values: transaction, session. Transaction mode returns connections to the pool after each transaction; session mode holds connections for the entire session lifetime.
1212
1225
  # @param [Integer] max_connections Client-connection ceiling the pooler accepts. Supported on MySQL and MariaDB only; the PostgreSQL pooler has no client cap, so set networkMaxConnections on the database instead.
1213
1226
  # @param [Integer] default_pool_size Default pool size per user.
1214
- # @param [] read_write_splitting Route SELECTs to HA replicas, writes and locked reads to the primary. Defaults to true when HA is enabled.
1227
+ # @param [] read_write_splitting Route SELECTs to HA replicas, writes and locked reads to the primary. Off by default, and only takes effect while HA is enabled. Replication is asynchronous, so a read issued immediately after a write may not observe it.
1215
1228
  # @param [String] pooler_cpu_request Pooler sidecar CPU request override (Kubernetes quantity, e.g. "250m" or "1"). Leave null for the proportional default (5% of DB CPU, floor 100m).
1216
1229
  # @param [String] pooler_cpu_limit Pooler sidecar CPU limit override (Kubernetes quantity, e.g. "500m" or "1"). Leave null for the proportional default (10% of DB CPU, floor 200m). Changing this field rolls the database pod.
1217
1230
  # @param [String] pooler_memory_request Pooler sidecar memory request override (Kubernetes quantity, e.g. "128Mi" or "1Gi"). Leave null for the proportional default (7.5% of DB memory, floor 64Mi).
@@ -1229,13 +1242,13 @@ module Appwrite
1229
1242
  pooler_memory_request: nil,
1230
1243
  pooler_memory_limit: nil
1231
1244
  )
1232
- api_path = '/mysql/{databaseId}/pooler'
1233
- .gsub('{databaseId}', database_id)
1234
-
1235
- if database_id.nil?
1245
+ if database_id.nil? || database_id == ''
1236
1246
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1237
1247
  end
1238
1248
 
1249
+ api_path = '/mysql/{databaseId}/pooler'
1250
+ .gsub('{databaseId}', database_id)
1251
+
1239
1252
  api_params = {
1240
1253
  mode: mode,
1241
1254
  maxConnections: max_connections,
@@ -1271,13 +1284,13 @@ module Appwrite
1271
1284
  def get_replicas(
1272
1285
  database_id:
1273
1286
  )
1274
- api_path = '/mysql/{databaseId}/replicas'
1275
- .gsub('{databaseId}', database_id)
1276
-
1277
- if database_id.nil?
1287
+ if database_id.nil? || database_id == ''
1278
1288
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1279
1289
  end
1280
1290
 
1291
+ api_path = '/mysql/{databaseId}/replicas'
1292
+ .gsub('{databaseId}', database_id)
1293
+
1281
1294
  api_params = {}
1282
1295
 
1283
1296
  api_headers = {
@@ -1311,13 +1324,13 @@ module Appwrite
1311
1324
  limit: nil,
1312
1325
  offset: nil
1313
1326
  )
1314
- api_path = '/mysql/{databaseId}/restorations'
1315
- .gsub('{databaseId}', database_id)
1316
-
1317
- if database_id.nil?
1327
+ if database_id.nil? || database_id == ''
1318
1328
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1319
1329
  end
1320
1330
 
1331
+ api_path = '/mysql/{databaseId}/restorations'
1332
+ .gsub('{databaseId}', database_id)
1333
+
1321
1334
  api_params = {
1322
1335
  status: status,
1323
1336
  type: type,
@@ -1344,11 +1357,25 @@ module Appwrite
1344
1357
  # an ISO 8601 datetime. PITR requires the database to have PITR enabled and
1345
1358
  # is only available for enterprise databases.
1346
1359
  #
1360
+ # By default the backup is replayed over the database it was taken from. Pass
1361
+ # `restoreMode` as `clone` to recover it onto a second workload beside this
1362
+ # database instead: this database keeps serving its own data while the clone
1363
+ # is filled, and the switch happens as soon as the clone is ready, on the
1364
+ # endpoint and credentials it already had. Pass `autoPromote` as false to
1365
+ # hold the clone until you promote it yourself. Pass `restoreMode` as `copy`
1366
+ # to recover onto a separate database with its own endpoint, either one you
1367
+ # name with `targetDatabaseId` or one provisioned as a copy of this
1368
+ # database's engine, version, specification and replicas. Neither mode is
1369
+ # available for a point-in-time recovery or an incremental backup.
1370
+ #
1347
1371
  # @param [String] database_id Database ID.
1348
1372
  # @param [String] type Restoration type. Allowed values: backup, pitr. Use "backup" to restore from a specific backup, or "pitr" for point-in-time recovery.
1349
1373
  # @param [String] backup_id Backup ID to restore from (required for backup type).
1350
- # @param [String] target_database_id Existing database ID to restore into. The target must be distinct, ready, and use the same engine and version.
1374
+ # @param [String] target_database_id Existing database ID to restore into. The target must be distinct, ready, and use the same engine and version. Omit it on a copy restoration to have one provisioned. Not accepted for a clone, which is recovered inside this database.
1351
1375
  # @param [String] target_time Target time for PITR (required for pitr type) as an [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) datetime.
1376
+ # @param [String] restore_mode Where the backup is restored. Allowed values: in_place, clone, copy. Use "clone" to recover onto a second workload beside this database and leave it serving until you promote — the endpoint and credentials do not change. Use "copy" to recover onto a separate database with its own endpoint, either one you name with targetDatabaseId or one Cloud provisions. Use "in_place" to replay the backup over this database. Defaults to "copy" when a targetDatabaseId is given, "in_place" otherwise.
1377
+ # @param [String] target_name Display name for the database a copy restoration provisions. Defaults to this database's name followed by "(restored)". Max length: 128 chars.
1378
+ # @param [] auto_promote Whether a clone restoration switches the database over as soon as the recovery is ready. Default true: the restore finishes with the database serving the recovery point on the endpoint it already had, and the side it replaced kept briefly so the switch can be reversed. Pass false to hold the recovery until you call the promotion endpoint yourself.
1352
1379
  #
1353
1380
  # @return [DedicatedDatabaseRestoration]
1354
1381
  def create_restoration(
@@ -1356,20 +1383,26 @@ module Appwrite
1356
1383
  type: nil,
1357
1384
  backup_id: nil,
1358
1385
  target_database_id: nil,
1359
- target_time: nil
1386
+ target_time: nil,
1387
+ restore_mode: nil,
1388
+ target_name: nil,
1389
+ auto_promote: nil
1360
1390
  )
1361
- api_path = '/mysql/{databaseId}/restorations'
1362
- .gsub('{databaseId}', database_id)
1363
-
1364
- if database_id.nil?
1391
+ if database_id.nil? || database_id == ''
1365
1392
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1366
1393
  end
1367
1394
 
1395
+ api_path = '/mysql/{databaseId}/restorations'
1396
+ .gsub('{databaseId}', database_id)
1397
+
1368
1398
  api_params = {
1369
1399
  type: type,
1370
1400
  backupId: backup_id,
1371
1401
  targetDatabaseId: target_database_id,
1372
1402
  targetTime: target_time,
1403
+ restoreMode: restore_mode,
1404
+ targetName: target_name,
1405
+ autoPromote: auto_promote,
1373
1406
  }
1374
1407
 
1375
1408
  api_headers = {
@@ -1398,27 +1431,71 @@ module Appwrite
1398
1431
  database_id:,
1399
1432
  restoration_id:
1400
1433
  )
1434
+ if database_id.nil? || database_id == ''
1435
+ raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1436
+ end
1437
+
1438
+ if restoration_id.nil? || restoration_id == ''
1439
+ raise Appwrite::Exception.new('Missing required parameter: "restorationId"')
1440
+ end
1441
+
1401
1442
  api_path = '/mysql/{databaseId}/restorations/{restorationId}'
1402
1443
  .gsub('{databaseId}', database_id)
1403
1444
  .gsub('{restorationId}', restoration_id)
1404
1445
 
1405
- if database_id.nil?
1446
+ api_params = {}
1447
+
1448
+ api_headers = {
1449
+ "X-Appwrite-Project": @client.get_config('project'),
1450
+ "accept": 'application/json',
1451
+ }
1452
+
1453
+ @client.call(
1454
+ method: 'GET',
1455
+ path: api_path,
1456
+ headers: api_headers,
1457
+ params: api_params,
1458
+ response_type: Models::DedicatedDatabaseRestoration
1459
+ )
1460
+ end
1461
+
1462
+ # Switch the database over to the clone a restoration recovered. The database
1463
+ # keeps
1464
+ # its endpoint and credentials; clients reconnect once. Writes made after the
1465
+ # recovery point are discarded, and the side being replaced is retained
1466
+ # briefly so
1467
+ # the switch can be reversed.
1468
+ #
1469
+ # @param [String] database_id Database ID.
1470
+ # @param [String] restoration_id Restoration ID.
1471
+ #
1472
+ # @return [DedicatedDatabaseRestoration]
1473
+ def promote_restoration(
1474
+ database_id:,
1475
+ restoration_id:
1476
+ )
1477
+ if database_id.nil? || database_id == ''
1406
1478
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1407
1479
  end
1408
1480
 
1409
- if restoration_id.nil?
1481
+ if restoration_id.nil? || restoration_id == ''
1410
1482
  raise Appwrite::Exception.new('Missing required parameter: "restorationId"')
1411
1483
  end
1412
1484
 
1485
+ api_path = '/mysql/{databaseId}/restorations/{restorationId}/promotions'
1486
+ .gsub('{databaseId}', database_id)
1487
+ .gsub('{restorationId}', restoration_id)
1488
+
1413
1489
  api_params = {}
1414
1490
 
1415
1491
  api_headers = {
1416
1492
  "X-Appwrite-Project": @client.get_config('project'),
1493
+ "content-type": 'application/json',
1417
1494
  "accept": 'application/json',
1418
1495
  }
1419
1496
 
1420
1497
  @client.call(
1421
- method: 'GET',
1498
+ method: 'POST',
1422
1499
  path: api_path,
1423
1500
  headers: api_headers,
1424
1501
  params: api_params,
@@ -1436,13 +1513,13 @@ module Appwrite
1436
1513
  def get_status(
1437
1514
  database_id:
1438
1515
  )
1439
- api_path = '/mysql/{databaseId}/status'
1440
- .gsub('{databaseId}', database_id)
1441
-
1442
- if database_id.nil?
1516
+ if database_id.nil? || database_id == ''
1443
1517
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1444
1518
  end
1445
1519
 
1520
+ api_path = '/mysql/{databaseId}/status'
1521
+ .gsub('{databaseId}', database_id)
1522
+
1446
1523
  api_params = {}
1447
1524
 
1448
1525
  api_headers = {
@@ -1470,10 +1547,7 @@ module Appwrite
1470
1547
  database_id:,
1471
1548
  target_version:
1472
1549
  )
1473
- api_path = '/mysql/{databaseId}/upgrades'
1474
- .gsub('{databaseId}', database_id)
1475
-
1476
- if database_id.nil?
1550
+ if database_id.nil? || database_id == ''
1477
1551
  raise Appwrite::Exception.new('Missing required parameter: "databaseId"')
1478
1552
  end
1479
1553
 
@@ -1481,6 +1555,9 @@ module Appwrite
1481
1555
  raise Appwrite::Exception.new('Missing required parameter: "targetVersion"')
1482
1556
  end
1483
1557
 
1558
+ api_path = '/mysql/{databaseId}/upgrades'
1559
+ .gsub('{databaseId}', database_id)
1560
+
1484
1561
  api_params = {
1485
1562
  targetVersion: target_version,
1486
1563
  }