appwrite-console 0.1.0__py3-none-any.whl

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 (552) hide show
  1. appwrite_console/__init__.py +1 -0
  2. appwrite_console/client.py +371 -0
  3. appwrite_console/encoders/__init__.py +1 -0
  4. appwrite_console/encoders/value_class_encoder.py +373 -0
  5. appwrite_console/enums/__init__.py +1 -0
  6. appwrite_console/enums/account_key_scopes.py +6 -0
  7. appwrite_console/enums/adapter.py +5 -0
  8. appwrite_console/enums/addon.py +7 -0
  9. appwrite_console/enums/appwrite_migration_resource.py +42 -0
  10. appwrite_console/enums/attribute_status.py +8 -0
  11. appwrite_console/enums/authentication_factor.py +7 -0
  12. appwrite_console/enums/authenticator_type.py +4 -0
  13. appwrite_console/enums/backup_services.py +10 -0
  14. appwrite_console/enums/billing_plan_group.py +6 -0
  15. appwrite_console/enums/block_mode.py +5 -0
  16. appwrite_console/enums/block_resource_type.py +12 -0
  17. appwrite_console/enums/browser.py +17 -0
  18. appwrite_console/enums/browser_permission.py +23 -0
  19. appwrite_console/enums/browser_theme.py +5 -0
  20. appwrite_console/enums/build_runtime.py +95 -0
  21. appwrite_console/enums/cache_database.py +6 -0
  22. appwrite_console/enums/cache_target.py +9 -0
  23. appwrite_console/enums/column_status.py +8 -0
  24. appwrite_console/enums/compression.py +6 -0
  25. appwrite_console/enums/console_resource_type.py +4 -0
  26. appwrite_console/enums/credit_card.py +20 -0
  27. appwrite_console/enums/database_status.py +17 -0
  28. appwrite_console/enums/database_type.py +10 -0
  29. appwrite_console/enums/databases_index_type.py +7 -0
  30. appwrite_console/enums/deployment_download_type.py +5 -0
  31. appwrite_console/enums/deployment_status.py +9 -0
  32. appwrite_console/enums/detection_framework_type.py +4 -0
  33. appwrite_console/enums/detection_runtime_type.py +4 -0
  34. appwrite_console/enums/documents_db_index_type.py +6 -0
  35. appwrite_console/enums/domain_purchase_status.py +7 -0
  36. appwrite_console/enums/domain_registration_type.py +7 -0
  37. appwrite_console/enums/domain_suggestion_type.py +5 -0
  38. appwrite_console/enums/domain_transfer_status_enum.py +11 -0
  39. appwrite_console/enums/embedding_model.py +7 -0
  40. appwrite_console/enums/execution_method.py +10 -0
  41. appwrite_console/enums/execution_status.py +8 -0
  42. appwrite_console/enums/execution_trigger.py +6 -0
  43. appwrite_console/enums/firebase_migration_resource.py +13 -0
  44. appwrite_console/enums/flag.py +198 -0
  45. appwrite_console/enums/framework.py +18 -0
  46. appwrite_console/enums/function_template_use_case.py +10 -0
  47. appwrite_console/enums/image_format.py +10 -0
  48. appwrite_console/enums/image_gravity.py +12 -0
  49. appwrite_console/enums/index_status.py +8 -0
  50. appwrite_console/enums/message_priority.py +5 -0
  51. appwrite_console/enums/message_status.py +8 -0
  52. appwrite_console/enums/messaging_provider_type.py +6 -0
  53. appwrite_console/enums/n_host_migration_resource.py +14 -0
  54. appwrite_console/enums/o_auth2_google_prompt.py +6 -0
  55. appwrite_console/enums/o_auth2_oidc_prompt.py +7 -0
  56. appwrite_console/enums/o_auth_provider.py +47 -0
  57. appwrite_console/enums/on_duplicate.py +6 -0
  58. appwrite_console/enums/order_by.py +5 -0
  59. appwrite_console/enums/organization_key_scopes.py +19 -0
  60. appwrite_console/enums/password_hash.py +14 -0
  61. appwrite_console/enums/platform.py +5 -0
  62. appwrite_console/enums/platform_type.py +8 -0
  63. appwrite_console/enums/project_auth_method_id.py +10 -0
  64. appwrite_console/enums/project_email_template_id.py +10 -0
  65. appwrite_console/enums/project_email_template_locale.py +134 -0
  66. appwrite_console/enums/project_key_scopes.py +107 -0
  67. appwrite_console/enums/project_o_auth2_google_prompt.py +6 -0
  68. appwrite_console/enums/project_o_auth2_oidc_prompt.py +7 -0
  69. appwrite_console/enums/project_o_auth_provider_id.py +47 -0
  70. appwrite_console/enums/project_policy_id.py +17 -0
  71. appwrite_console/enums/project_protocol_id.py +6 -0
  72. appwrite_console/enums/project_service_id.py +22 -0
  73. appwrite_console/enums/project_smtp_secure.py +5 -0
  74. appwrite_console/enums/project_usage_range.py +5 -0
  75. appwrite_console/enums/proxy_resource_type.py +5 -0
  76. appwrite_console/enums/proxy_rule_deployment_resource_type.py +5 -0
  77. appwrite_console/enums/proxy_rule_status.py +6 -0
  78. appwrite_console/enums/query_suggestion_resource.py +97 -0
  79. appwrite_console/enums/region.py +9 -0
  80. appwrite_console/enums/relation_mutate.py +6 -0
  81. appwrite_console/enums/relationship_type.py +7 -0
  82. appwrite_console/enums/runtime.py +95 -0
  83. appwrite_console/enums/schedule_resource_type.py +7 -0
  84. appwrite_console/enums/site_template_use_case.py +12 -0
  85. appwrite_console/enums/smtp_encryption.py +6 -0
  86. appwrite_console/enums/status.py +4 -0
  87. appwrite_console/enums/status_code.py +7 -0
  88. appwrite_console/enums/supabase_migration_resource.py +14 -0
  89. appwrite_console/enums/tables_db_index_type.py +7 -0
  90. appwrite_console/enums/template_reference_type.py +6 -0
  91. appwrite_console/enums/timezone.py +422 -0
  92. appwrite_console/enums/usage_range.py +6 -0
  93. appwrite_console/enums/vcs_detection_type.py +5 -0
  94. appwrite_console/enums/vcs_reference_type.py +6 -0
  95. appwrite_console/enums/vectors_db_index_type.py +9 -0
  96. appwrite_console/enums/waf_rule_action.py +8 -0
  97. appwrite_console/exception.py +7 -0
  98. appwrite_console/id.py +26 -0
  99. appwrite_console/input_file.py +21 -0
  100. appwrite_console/models/__init__.py +803 -0
  101. appwrite_console/models/activity_event.py +99 -0
  102. appwrite_console/models/activity_event_list.py +19 -0
  103. appwrite_console/models/additional_resource.py +30 -0
  104. appwrite_console/models/addon.py +42 -0
  105. appwrite_console/models/addon_list.py +19 -0
  106. appwrite_console/models/addon_price.py +36 -0
  107. appwrite_console/models/aggregation_breakdown.py +28 -0
  108. appwrite_console/models/aggregation_team.py +101 -0
  109. appwrite_console/models/aggregation_team_list.py +19 -0
  110. appwrite_console/models/algo_argon2.py +24 -0
  111. appwrite_console/models/algo_bcrypt.py +15 -0
  112. appwrite_console/models/algo_md5.py +15 -0
  113. appwrite_console/models/algo_phpass.py +15 -0
  114. appwrite_console/models/algo_scrypt.py +27 -0
  115. appwrite_console/models/algo_scrypt_modified.py +24 -0
  116. appwrite_console/models/algo_sha.py +15 -0
  117. appwrite_console/models/app.py +91 -0
  118. appwrite_console/models/app_installation.py +42 -0
  119. appwrite_console/models/app_installation_list.py +19 -0
  120. appwrite_console/models/app_key.py +39 -0
  121. appwrite_console/models/app_key_list.py +19 -0
  122. appwrite_console/models/app_scope.py +27 -0
  123. appwrite_console/models/app_scope_list.py +19 -0
  124. appwrite_console/models/app_secret.py +39 -0
  125. appwrite_console/models/app_secret_list.py +19 -0
  126. appwrite_console/models/app_secret_plaintext.py +39 -0
  127. appwrite_console/models/apps_list.py +19 -0
  128. appwrite_console/models/attribute_bigint.py +46 -0
  129. appwrite_console/models/attribute_boolean.py +40 -0
  130. appwrite_console/models/attribute_datetime.py +43 -0
  131. appwrite_console/models/attribute_email.py +43 -0
  132. appwrite_console/models/attribute_enum.py +46 -0
  133. appwrite_console/models/attribute_float.py +46 -0
  134. appwrite_console/models/attribute_integer.py +46 -0
  135. appwrite_console/models/attribute_ip.py +43 -0
  136. appwrite_console/models/attribute_line.py +40 -0
  137. appwrite_console/models/attribute_list.py +36 -0
  138. appwrite_console/models/attribute_longtext.py +43 -0
  139. appwrite_console/models/attribute_mediumtext.py +43 -0
  140. appwrite_console/models/attribute_object.py +37 -0
  141. appwrite_console/models/attribute_point.py +40 -0
  142. appwrite_console/models/attribute_polygon.py +40 -0
  143. appwrite_console/models/attribute_relationship.py +55 -0
  144. appwrite_console/models/attribute_string.py +46 -0
  145. appwrite_console/models/attribute_text.py +43 -0
  146. appwrite_console/models/attribute_url.py +43 -0
  147. appwrite_console/models/attribute_varchar.py +46 -0
  148. appwrite_console/models/attribute_vector.py +40 -0
  149. appwrite_console/models/backup_archive.py +48 -0
  150. appwrite_console/models/backup_archive_list.py +19 -0
  151. appwrite_console/models/backup_policy.py +48 -0
  152. appwrite_console/models/backup_policy_list.py +19 -0
  153. appwrite_console/models/backup_restoration.py +45 -0
  154. appwrite_console/models/backup_restoration_list.py +19 -0
  155. appwrite_console/models/base_model.py +27 -0
  156. appwrite_console/models/billing_address.py +36 -0
  157. appwrite_console/models/billing_address_list.py +19 -0
  158. appwrite_console/models/billing_limits.py +36 -0
  159. appwrite_console/models/billing_plan.py +226 -0
  160. appwrite_console/models/billing_plan_addon.py +19 -0
  161. appwrite_console/models/billing_plan_addon_details.py +36 -0
  162. appwrite_console/models/billing_plan_dedicated_database_limits.py +69 -0
  163. appwrite_console/models/billing_plan_limits.py +18 -0
  164. appwrite_console/models/billing_plan_list.py +19 -0
  165. appwrite_console/models/billing_plan_supported_addons.py +21 -0
  166. appwrite_console/models/block.py +45 -0
  167. appwrite_console/models/block_delete.py +19 -0
  168. appwrite_console/models/block_list.py +19 -0
  169. appwrite_console/models/branch.py +15 -0
  170. appwrite_console/models/branch_list.py +19 -0
  171. appwrite_console/models/bucket.py +54 -0
  172. appwrite_console/models/bucket_list.py +19 -0
  173. appwrite_console/models/campaign.py +49 -0
  174. appwrite_console/models/collection.py +67 -0
  175. appwrite_console/models/collection_list.py +19 -0
  176. appwrite_console/models/column_bigint.py +46 -0
  177. appwrite_console/models/column_boolean.py +40 -0
  178. appwrite_console/models/column_datetime.py +43 -0
  179. appwrite_console/models/column_email.py +43 -0
  180. appwrite_console/models/column_enum.py +46 -0
  181. appwrite_console/models/column_float.py +46 -0
  182. appwrite_console/models/column_index.py +42 -0
  183. appwrite_console/models/column_index_list.py +19 -0
  184. appwrite_console/models/column_integer.py +46 -0
  185. appwrite_console/models/column_ip.py +43 -0
  186. appwrite_console/models/column_line.py +40 -0
  187. appwrite_console/models/column_list.py +36 -0
  188. appwrite_console/models/column_longtext.py +43 -0
  189. appwrite_console/models/column_mediumtext.py +43 -0
  190. appwrite_console/models/column_point.py +40 -0
  191. appwrite_console/models/column_polygon.py +40 -0
  192. appwrite_console/models/column_relationship.py +55 -0
  193. appwrite_console/models/column_string.py +46 -0
  194. appwrite_console/models/column_text.py +43 -0
  195. appwrite_console/models/column_url.py +43 -0
  196. appwrite_console/models/column_varchar.py +46 -0
  197. appwrite_console/models/console_key_scope.py +24 -0
  198. appwrite_console/models/console_key_scope_list.py +19 -0
  199. appwrite_console/models/console_o_auth2_provider.py +19 -0
  200. appwrite_console/models/console_o_auth2_provider_list.py +19 -0
  201. appwrite_console/models/console_o_auth2_provider_parameter.py +24 -0
  202. appwrite_console/models/console_region.py +30 -0
  203. appwrite_console/models/console_region_list.py +19 -0
  204. appwrite_console/models/console_variables.py +96 -0
  205. appwrite_console/models/continent.py +18 -0
  206. appwrite_console/models/continent_list.py +19 -0
  207. appwrite_console/models/country.py +18 -0
  208. appwrite_console/models/country_list.py +19 -0
  209. appwrite_console/models/coupon.py +36 -0
  210. appwrite_console/models/credit.py +45 -0
  211. appwrite_console/models/credit_available.py +15 -0
  212. appwrite_console/models/credit_list.py +22 -0
  213. appwrite_console/models/currency.py +33 -0
  214. appwrite_console/models/currency_list.py +19 -0
  215. appwrite_console/models/database.py +52 -0
  216. appwrite_console/models/database_list.py +19 -0
  217. appwrite_console/models/database_migration.py +57 -0
  218. appwrite_console/models/database_migration_list.py +19 -0
  219. appwrite_console/models/database_status.py +57 -0
  220. appwrite_console/models/database_status_connections.py +18 -0
  221. appwrite_console/models/database_status_replica.py +24 -0
  222. appwrite_console/models/database_status_volume.py +24 -0
  223. appwrite_console/models/dedicated_database.py +159 -0
  224. appwrite_console/models/dedicated_database_backup.py +63 -0
  225. appwrite_console/models/dedicated_database_backup_list.py +19 -0
  226. appwrite_console/models/dedicated_database_backup_storage.py +27 -0
  227. appwrite_console/models/dedicated_database_branch.py +48 -0
  228. appwrite_console/models/dedicated_database_branch_list.py +16 -0
  229. appwrite_console/models/dedicated_database_execution.py +31 -0
  230. appwrite_console/models/dedicated_database_execution_column.py +18 -0
  231. appwrite_console/models/dedicated_database_extensions.py +22 -0
  232. appwrite_console/models/dedicated_database_list.py +19 -0
  233. appwrite_console/models/dedicated_database_member.py +24 -0
  234. appwrite_console/models/dedicated_database_operation.py +45 -0
  235. appwrite_console/models/dedicated_database_operation_list.py +19 -0
  236. appwrite_console/models/dedicated_database_pitr_windows.py +18 -0
  237. appwrite_console/models/dedicated_database_pooler.py +42 -0
  238. appwrite_console/models/dedicated_database_replicas.py +37 -0
  239. appwrite_console/models/dedicated_database_restoration.py +45 -0
  240. appwrite_console/models/dedicated_database_restoration_list.py +19 -0
  241. appwrite_console/models/dedicated_database_specification.py +39 -0
  242. appwrite_console/models/dedicated_database_specification_list.py +23 -0
  243. appwrite_console/models/dedicated_database_specification_pricing.py +27 -0
  244. appwrite_console/models/deployment.py +94 -0
  245. appwrite_console/models/deployment_list.py +19 -0
  246. appwrite_console/models/detection_framework.py +32 -0
  247. appwrite_console/models/detection_runtime.py +29 -0
  248. appwrite_console/models/detection_variable.py +18 -0
  249. appwrite_console/models/dev_key.py +36 -0
  250. appwrite_console/models/dev_key_list.py +19 -0
  251. appwrite_console/models/dns_record.py +48 -0
  252. appwrite_console/models/dns_records_list.py +19 -0
  253. appwrite_console/models/document.py +80 -0
  254. appwrite_console/models/document_list.py +32 -0
  255. appwrite_console/models/domain.py +53 -0
  256. appwrite_console/models/domain_price.py +30 -0
  257. appwrite_console/models/domain_purchase.py +43 -0
  258. appwrite_console/models/domain_suggestion.py +24 -0
  259. appwrite_console/models/domain_suggestions_list.py +19 -0
  260. appwrite_console/models/domain_transfer_out.py +15 -0
  261. appwrite_console/models/domain_transfer_status.py +22 -0
  262. appwrite_console/models/domains_list.py +19 -0
  263. appwrite_console/models/downgrade_feedback.py +42 -0
  264. appwrite_console/models/email_template.py +36 -0
  265. appwrite_console/models/email_template_list.py +19 -0
  266. appwrite_console/models/embedding.py +24 -0
  267. appwrite_console/models/embedding_list.py +19 -0
  268. appwrite_console/models/ephemeral_key.py +39 -0
  269. appwrite_console/models/estimation.py +37 -0
  270. appwrite_console/models/estimation_delete_organization.py +16 -0
  271. appwrite_console/models/estimation_item.py +18 -0
  272. appwrite_console/models/estimation_plan_change.py +29 -0
  273. appwrite_console/models/estimation_update_plan.py +40 -0
  274. appwrite_console/models/execution.py +69 -0
  275. appwrite_console/models/execution_list.py +19 -0
  276. appwrite_console/models/file.py +60 -0
  277. appwrite_console/models/file_list.py +19 -0
  278. appwrite_console/models/framework.py +28 -0
  279. appwrite_console/models/framework_adapter.py +27 -0
  280. appwrite_console/models/framework_list.py +19 -0
  281. appwrite_console/models/function.py +109 -0
  282. appwrite_console/models/function_list.py +19 -0
  283. appwrite_console/models/headers.py +18 -0
  284. appwrite_console/models/identity.py +42 -0
  285. appwrite_console/models/identity_list.py +19 -0
  286. appwrite_console/models/index.py +43 -0
  287. appwrite_console/models/index_list.py +19 -0
  288. appwrite_console/models/insight.py +64 -0
  289. appwrite_console/models/insight_cta.py +24 -0
  290. appwrite_console/models/insight_list.py +19 -0
  291. appwrite_console/models/installation.py +30 -0
  292. appwrite_console/models/installation_list.py +19 -0
  293. appwrite_console/models/invoice.py +82 -0
  294. appwrite_console/models/invoice_list.py +19 -0
  295. appwrite_console/models/jwt.py +15 -0
  296. appwrite_console/models/key.py +39 -0
  297. appwrite_console/models/key_list.py +19 -0
  298. appwrite_console/models/language.py +21 -0
  299. appwrite_console/models/language_list.py +19 -0
  300. appwrite_console/models/locale.py +66 -0
  301. appwrite_console/models/locale_code.py +18 -0
  302. appwrite_console/models/locale_code_list.py +19 -0
  303. appwrite_console/models/log.py +78 -0
  304. appwrite_console/models/log_list.py +19 -0
  305. appwrite_console/models/membership.py +57 -0
  306. appwrite_console/models/membership_list.py +19 -0
  307. appwrite_console/models/message.py +52 -0
  308. appwrite_console/models/message_list.py +19 -0
  309. appwrite_console/models/metric.py +18 -0
  310. appwrite_console/models/metric_breakdown.py +24 -0
  311. appwrite_console/models/mfa_challenge.py +24 -0
  312. appwrite_console/models/mfa_factors.py +24 -0
  313. appwrite_console/models/mfa_recovery_codes.py +15 -0
  314. appwrite_console/models/mfa_type.py +18 -0
  315. appwrite_console/models/migration.py +75 -0
  316. appwrite_console/models/migration_list.py +19 -0
  317. appwrite_console/models/migration_report.py +96 -0
  318. appwrite_console/models/mock_number.py +24 -0
  319. appwrite_console/models/mock_number_list.py +19 -0
  320. appwrite_console/models/notification.py +60 -0
  321. appwrite_console/models/notification_list.py +19 -0
  322. appwrite_console/models/o_auth2_amazon.py +24 -0
  323. appwrite_console/models/o_auth2_apple.py +30 -0
  324. appwrite_console/models/o_auth2_appwrite.py +24 -0
  325. appwrite_console/models/o_auth2_auth0.py +27 -0
  326. appwrite_console/models/o_auth2_authentik.py +27 -0
  327. appwrite_console/models/o_auth2_autodesk.py +24 -0
  328. appwrite_console/models/o_auth2_bitbucket.py +24 -0
  329. appwrite_console/models/o_auth2_bitly.py +24 -0
  330. appwrite_console/models/o_auth2_box.py +24 -0
  331. appwrite_console/models/o_auth2_dailymotion.py +24 -0
  332. appwrite_console/models/o_auth2_discord.py +24 -0
  333. appwrite_console/models/o_auth2_disqus.py +24 -0
  334. appwrite_console/models/o_auth2_dropbox.py +24 -0
  335. appwrite_console/models/o_auth2_etsy.py +24 -0
  336. appwrite_console/models/o_auth2_facebook.py +24 -0
  337. appwrite_console/models/o_auth2_figma.py +24 -0
  338. appwrite_console/models/o_auth2_fusion_auth.py +27 -0
  339. appwrite_console/models/o_auth2_github.py +24 -0
  340. appwrite_console/models/o_auth2_gitlab.py +27 -0
  341. appwrite_console/models/o_auth2_google.py +28 -0
  342. appwrite_console/models/o_auth2_keycloak.py +30 -0
  343. appwrite_console/models/o_auth2_kick.py +24 -0
  344. appwrite_console/models/o_auth2_linkedin.py +24 -0
  345. appwrite_console/models/o_auth2_microsoft.py +27 -0
  346. appwrite_console/models/o_auth2_notion.py +24 -0
  347. appwrite_console/models/o_auth2_oidc.py +43 -0
  348. appwrite_console/models/o_auth2_okta.py +30 -0
  349. appwrite_console/models/o_auth2_paypal.py +24 -0
  350. appwrite_console/models/o_auth2_podio.py +24 -0
  351. appwrite_console/models/o_auth2_provider_list.py +59 -0
  352. appwrite_console/models/o_auth2_salesforce.py +24 -0
  353. appwrite_console/models/o_auth2_slack.py +24 -0
  354. appwrite_console/models/o_auth2_spotify.py +24 -0
  355. appwrite_console/models/o_auth2_stripe.py +24 -0
  356. appwrite_console/models/o_auth2_tradeshift.py +24 -0
  357. appwrite_console/models/o_auth2_twitch.py +24 -0
  358. appwrite_console/models/o_auth2_word_press.py +24 -0
  359. appwrite_console/models/o_auth2_x.py +24 -0
  360. appwrite_console/models/o_auth2_yahoo.py +24 -0
  361. appwrite_console/models/o_auth2_yandex.py +24 -0
  362. appwrite_console/models/o_auth2_zoho.py +24 -0
  363. appwrite_console/models/o_auth2_zoom.py +24 -0
  364. appwrite_console/models/oauth2_approve.py +15 -0
  365. appwrite_console/models/oauth2_authorize.py +18 -0
  366. appwrite_console/models/oauth2_consent.py +42 -0
  367. appwrite_console/models/oauth2_consent_list.py +19 -0
  368. appwrite_console/models/oauth2_consent_token.py +45 -0
  369. appwrite_console/models/oauth2_consent_token_list.py +19 -0
  370. appwrite_console/models/oauth2_device_authorization.py +30 -0
  371. appwrite_console/models/oauth2_grant.py +48 -0
  372. appwrite_console/models/oauth2_organization.py +15 -0
  373. appwrite_console/models/oauth2_organization_list.py +19 -0
  374. appwrite_console/models/oauth2_par.py +18 -0
  375. appwrite_console/models/oauth2_project.py +21 -0
  376. appwrite_console/models/oauth2_project_list.py +19 -0
  377. appwrite_console/models/oauth2_reject.py +15 -0
  378. appwrite_console/models/oauth2_token.py +33 -0
  379. appwrite_console/models/organization.py +132 -0
  380. appwrite_console/models/organization_list.py +32 -0
  381. appwrite_console/models/payment_authentication.py +30 -0
  382. appwrite_console/models/payment_method.py +72 -0
  383. appwrite_console/models/payment_method_list.py +19 -0
  384. appwrite_console/models/phone.py +21 -0
  385. appwrite_console/models/phone_list.py +19 -0
  386. appwrite_console/models/plan_change_estimation_details.py +39 -0
  387. appwrite_console/models/plan_change_limits.py +28 -0
  388. appwrite_console/models/plan_change_project_compliance.py +28 -0
  389. appwrite_console/models/plan_change_resource_compliance.py +30 -0
  390. appwrite_console/models/platform_android.py +31 -0
  391. appwrite_console/models/platform_apple.py +31 -0
  392. appwrite_console/models/platform_linux.py +31 -0
  393. appwrite_console/models/platform_list.py +23 -0
  394. appwrite_console/models/platform_web.py +31 -0
  395. appwrite_console/models/platform_windows.py +31 -0
  396. appwrite_console/models/policy_deny_aliased_email.py +18 -0
  397. appwrite_console/models/policy_deny_corporate_email.py +18 -0
  398. appwrite_console/models/policy_deny_disposable_email.py +18 -0
  399. appwrite_console/models/policy_deny_free_email.py +18 -0
  400. appwrite_console/models/policy_list.py +32 -0
  401. appwrite_console/models/policy_membership_privacy.py +33 -0
  402. appwrite_console/models/policy_password_dictionary.py +18 -0
  403. appwrite_console/models/policy_password_history.py +18 -0
  404. appwrite_console/models/policy_password_personal_data.py +18 -0
  405. appwrite_console/models/policy_password_strength.py +30 -0
  406. appwrite_console/models/policy_session_alert.py +18 -0
  407. appwrite_console/models/policy_session_duration.py +18 -0
  408. appwrite_console/models/policy_session_invalidation.py +18 -0
  409. appwrite_console/models/policy_session_limit.py +18 -0
  410. appwrite_console/models/policy_user_limit.py +18 -0
  411. appwrite_console/models/postgres_extension.py +24 -0
  412. appwrite_console/models/postgres_extension_list.py +19 -0
  413. appwrite_console/models/preferences.py +52 -0
  414. appwrite_console/models/presence.py +39 -0
  415. appwrite_console/models/presence_list.py +19 -0
  416. appwrite_console/models/program.py +39 -0
  417. appwrite_console/models/project.py +153 -0
  418. appwrite_console/models/project_auth_method.py +19 -0
  419. appwrite_console/models/project_list.py +19 -0
  420. appwrite_console/models/project_protocol.py +19 -0
  421. appwrite_console/models/project_service.py +19 -0
  422. appwrite_console/models/provider.py +39 -0
  423. appwrite_console/models/provider_list.py +19 -0
  424. appwrite_console/models/provider_repository.py +42 -0
  425. appwrite_console/models/provider_repository_framework.py +45 -0
  426. appwrite_console/models/provider_repository_framework_list.py +22 -0
  427. appwrite_console/models/provider_repository_runtime.py +45 -0
  428. appwrite_console/models/provider_repository_runtime_list.py +22 -0
  429. appwrite_console/models/proxy_rule.py +59 -0
  430. appwrite_console/models/proxy_rule_list.py +19 -0
  431. appwrite_console/models/report.py +49 -0
  432. appwrite_console/models/report_list.py +19 -0
  433. appwrite_console/models/resource_token.py +33 -0
  434. appwrite_console/models/resource_token_list.py +19 -0
  435. appwrite_console/models/review.py +24 -0
  436. appwrite_console/models/roles.py +18 -0
  437. appwrite_console/models/row.py +80 -0
  438. appwrite_console/models/row_list.py +32 -0
  439. appwrite_console/models/runtime.py +36 -0
  440. appwrite_console/models/runtime_list.py +19 -0
  441. appwrite_console/models/schedule.py +45 -0
  442. appwrite_console/models/schedule_list.py +19 -0
  443. appwrite_console/models/session.py +99 -0
  444. appwrite_console/models/session_list.py +19 -0
  445. appwrite_console/models/site.py +115 -0
  446. appwrite_console/models/site_list.py +19 -0
  447. appwrite_console/models/specification.py +24 -0
  448. appwrite_console/models/specification_list.py +19 -0
  449. appwrite_console/models/stage.py +27 -0
  450. appwrite_console/models/stage_list.py +16 -0
  451. appwrite_console/models/subscriber.py +40 -0
  452. appwrite_console/models/subscriber_list.py +19 -0
  453. appwrite_console/models/table.py +67 -0
  454. appwrite_console/models/table_list.py +19 -0
  455. appwrite_console/models/target.py +39 -0
  456. appwrite_console/models/target_list.py +19 -0
  457. appwrite_console/models/team.py +43 -0
  458. appwrite_console/models/team_list.py +32 -0
  459. appwrite_console/models/template_framework.py +39 -0
  460. appwrite_console/models/template_function.py +65 -0
  461. appwrite_console/models/template_function_list.py +19 -0
  462. appwrite_console/models/template_runtime.py +24 -0
  463. appwrite_console/models/template_site.py +53 -0
  464. appwrite_console/models/template_site_list.py +19 -0
  465. appwrite_console/models/template_variable.py +33 -0
  466. appwrite_console/models/token.py +30 -0
  467. appwrite_console/models/topic.py +36 -0
  468. appwrite_console/models/topic_list.py +19 -0
  469. appwrite_console/models/transaction.py +30 -0
  470. appwrite_console/models/transaction_list.py +19 -0
  471. appwrite_console/models/usage_billing_plan.py +46 -0
  472. appwrite_console/models/usage_data_point.py +99 -0
  473. appwrite_console/models/usage_event_list.py +19 -0
  474. appwrite_console/models/usage_gauge_list.py +19 -0
  475. appwrite_console/models/usage_metric.py +19 -0
  476. appwrite_console/models/usage_organization.py +104 -0
  477. appwrite_console/models/usage_organization_project.py +73 -0
  478. appwrite_console/models/usage_presence.py +22 -0
  479. appwrite_console/models/usage_project.py +218 -0
  480. appwrite_console/models/usage_resources.py +36 -0
  481. appwrite_console/models/usage_users.py +28 -0
  482. appwrite_console/models/user.py +111 -0
  483. appwrite_console/models/user_list.py +32 -0
  484. appwrite_console/models/variable.py +36 -0
  485. appwrite_console/models/variable_list.py +19 -0
  486. appwrite_console/models/vcs_content.py +21 -0
  487. appwrite_console/models/vcs_content_list.py +19 -0
  488. appwrite_console/models/vcs_namespace.py +27 -0
  489. appwrite_console/models/vcs_namespace_list.py +19 -0
  490. appwrite_console/models/vectorsdb_collection.py +54 -0
  491. appwrite_console/models/vectorsdb_collection_list.py +19 -0
  492. appwrite_console/models/waf_rule.py +55 -0
  493. appwrite_console/models/waf_rule_bypass.py +55 -0
  494. appwrite_console/models/waf_rule_challenge.py +64 -0
  495. appwrite_console/models/waf_rule_deny.py +55 -0
  496. appwrite_console/models/waf_rule_list.py +19 -0
  497. appwrite_console/models/waf_rule_rate_limit.py +64 -0
  498. appwrite_console/models/waf_rule_redirect.py +61 -0
  499. appwrite_console/models/webhook.py +51 -0
  500. appwrite_console/models/webhook_list.py +19 -0
  501. appwrite_console/operator.py +150 -0
  502. appwrite_console/permission.py +21 -0
  503. appwrite_console/query.py +293 -0
  504. appwrite_console/role.py +111 -0
  505. appwrite_console/service.py +50 -0
  506. appwrite_console/services/__init__.py +1 -0
  507. appwrite_console/services/account.py +3328 -0
  508. appwrite_console/services/activities.py +89 -0
  509. appwrite_console/services/advisor.py +234 -0
  510. appwrite_console/services/apps.py +1156 -0
  511. appwrite_console/services/assistant.py +50 -0
  512. appwrite_console/services/avatars.py +531 -0
  513. appwrite_console/services/backups.py +572 -0
  514. appwrite_console/services/console.py +807 -0
  515. appwrite_console/services/databases.py +4976 -0
  516. appwrite_console/services/documents_db.py +2052 -0
  517. appwrite_console/services/domains.py +3047 -0
  518. appwrite_console/services/functions.py +1659 -0
  519. appwrite_console/services/graphql.py +92 -0
  520. appwrite_console/services/locale.py +243 -0
  521. appwrite_console/services/manager.py +301 -0
  522. appwrite_console/services/messaging.py +3137 -0
  523. appwrite_console/services/migrations.py +1036 -0
  524. appwrite_console/services/mongo.py +1683 -0
  525. appwrite_console/services/mysql.py +1861 -0
  526. appwrite_console/services/notifications.py +98 -0
  527. appwrite_console/services/oauth2.py +914 -0
  528. appwrite_console/services/organization.py +1039 -0
  529. appwrite_console/services/organizations.py +2245 -0
  530. appwrite_console/services/postgresql.py +1995 -0
  531. appwrite_console/services/presences.py +309 -0
  532. appwrite_console/services/project.py +5271 -0
  533. appwrite_console/services/projects.py +885 -0
  534. appwrite_console/services/proxy.py +394 -0
  535. appwrite_console/services/sites.py +1593 -0
  536. appwrite_console/services/storage.py +818 -0
  537. appwrite_console/services/tables_db.py +5189 -0
  538. appwrite_console/services/teams.py +993 -0
  539. appwrite_console/services/tokens.py +243 -0
  540. appwrite_console/services/usage.py +194 -0
  541. appwrite_console/services/users.py +2314 -0
  542. appwrite_console/services/vcs.py +599 -0
  543. appwrite_console/services/vectors_db.py +2054 -0
  544. appwrite_console/services/waf.py +1014 -0
  545. appwrite_console/services/webhooks.py +344 -0
  546. appwrite_console/utils/__init__.py +1 -0
  547. appwrite_console/utils/deprecated.py +51 -0
  548. appwrite_console-0.1.0.dist-info/METADATA +189 -0
  549. appwrite_console-0.1.0.dist-info/RECORD +552 -0
  550. appwrite_console-0.1.0.dist-info/WHEEL +5 -0
  551. appwrite_console-0.1.0.dist-info/licenses/LICENSE +12 -0
  552. appwrite_console-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,572 @@
1
+ from ..service import Service
2
+ from urllib.parse import quote
3
+ from typing import Any, Dict, List, Optional, Union
4
+ from ..exception import AppwriteException
5
+ from appwrite_console.utils.deprecated import deprecated
6
+ from ..models.backup_archive_list import BackupArchiveList
7
+ from ..enums.backup_services import BackupServices
8
+ from ..models.backup_archive import BackupArchive
9
+ from ..models.backup_policy_list import BackupPolicyList
10
+ from ..models.backup_policy import BackupPolicy
11
+ from ..models.backup_restoration import BackupRestoration
12
+ from ..models.backup_restoration_list import BackupRestorationList
13
+
14
+ class Backups(Service):
15
+
16
+ def __init__(self, client) -> None:
17
+ super(Backups, self).__init__(client)
18
+
19
+ def list_archives(
20
+ self,
21
+ queries: Optional[List[str]] = None
22
+ ) -> BackupArchiveList:
23
+ """
24
+ List all archives for a project.
25
+
26
+ Parameters
27
+ ----------
28
+ queries : Optional[List[str]]
29
+ 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.
30
+
31
+ Returns
32
+ -------
33
+ BackupArchiveList
34
+ API response as a typed Pydantic model
35
+
36
+ Raises
37
+ ------
38
+ AppwriteException
39
+ If API request fails
40
+ """
41
+
42
+ api_path = '/backups/archives'
43
+ api_params = {}
44
+
45
+ if queries is not None:
46
+ api_params['queries'] = self._normalize_value(queries)
47
+
48
+ response = self.client.call('get', api_path, {
49
+ 'X-Appwrite-Project': self.client.get_config('project'),
50
+ 'accept': 'application/json',
51
+ }, api_params)
52
+
53
+ return self._parse_response(response, model=BackupArchiveList)
54
+
55
+
56
+ def create_archive(
57
+ self,
58
+ services: List[BackupServices],
59
+ resource_id: Optional[str] = None
60
+ ) -> BackupArchive:
61
+ """
62
+ Create a new archive asynchronously for a project.
63
+
64
+ Parameters
65
+ ----------
66
+ services : List[BackupServices]
67
+ Array of services to backup
68
+ resource_id : Optional[str]
69
+ Resource ID. When set, only this single resource will be backed up.
70
+
71
+ Returns
72
+ -------
73
+ BackupArchive
74
+ API response as a typed Pydantic model
75
+
76
+ Raises
77
+ ------
78
+ AppwriteException
79
+ If API request fails
80
+ """
81
+
82
+ api_path = '/backups/archives'
83
+ api_params = {}
84
+ if services is None:
85
+ raise AppwriteException('Missing required parameter: "services"')
86
+
87
+
88
+ api_params['services'] = self._normalize_value(services)
89
+ if resource_id is not None:
90
+ api_params['resourceId'] = self._normalize_value(resource_id)
91
+
92
+ response = self.client.call('post', api_path, {
93
+ 'X-Appwrite-Project': self.client.get_config('project'),
94
+ 'content-type': 'application/json',
95
+ 'accept': 'application/json',
96
+ }, api_params)
97
+
98
+ return self._parse_response(response, model=BackupArchive)
99
+
100
+
101
+ def get_archive(
102
+ self,
103
+ archive_id: str
104
+ ) -> BackupArchive:
105
+ """
106
+ Get a backup archive using it's ID.
107
+
108
+ Parameters
109
+ ----------
110
+ archive_id : str
111
+ Archive ID. Choose a custom ID`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
112
+
113
+ Returns
114
+ -------
115
+ BackupArchive
116
+ API response as a typed Pydantic model
117
+
118
+ Raises
119
+ ------
120
+ AppwriteException
121
+ If API request fails
122
+ """
123
+
124
+ api_path = '/backups/archives/{archiveId}'
125
+ api_params = {}
126
+ if archive_id is None:
127
+ raise AppwriteException('Missing required parameter: "archive_id"')
128
+
129
+ api_path = api_path.replace('{archiveId}', str(self._normalize_value(archive_id)))
130
+
131
+
132
+ response = self.client.call('get', api_path, {
133
+ 'X-Appwrite-Project': self.client.get_config('project'),
134
+ 'accept': 'application/json',
135
+ }, api_params)
136
+
137
+ return self._parse_response(response, model=BackupArchive)
138
+
139
+
140
+ def delete_archive(
141
+ self,
142
+ archive_id: str
143
+ ) -> Dict[str, Any]:
144
+ """
145
+ Delete an existing archive for a project.
146
+
147
+ Parameters
148
+ ----------
149
+ archive_id : str
150
+ Policy ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
151
+
152
+ Returns
153
+ -------
154
+ Dict[str, Any]
155
+ API response as a dictionary
156
+
157
+ Raises
158
+ ------
159
+ AppwriteException
160
+ If API request fails
161
+ """
162
+
163
+ api_path = '/backups/archives/{archiveId}'
164
+ api_params = {}
165
+ if archive_id is None:
166
+ raise AppwriteException('Missing required parameter: "archive_id"')
167
+
168
+ api_path = api_path.replace('{archiveId}', str(self._normalize_value(archive_id)))
169
+
170
+
171
+ response = self.client.call('delete', api_path, {
172
+ 'X-Appwrite-Project': self.client.get_config('project'),
173
+ 'content-type': 'application/json',
174
+ 'accept': 'application/json',
175
+ }, api_params)
176
+
177
+ return response
178
+
179
+
180
+ def list_policies(
181
+ self,
182
+ queries: Optional[List[str]] = None
183
+ ) -> BackupPolicyList:
184
+ """
185
+ List all policies for a project.
186
+
187
+ Parameters
188
+ ----------
189
+ queries : Optional[List[str]]
190
+ 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.
191
+
192
+ Returns
193
+ -------
194
+ BackupPolicyList
195
+ API response as a typed Pydantic model
196
+
197
+ Raises
198
+ ------
199
+ AppwriteException
200
+ If API request fails
201
+ """
202
+
203
+ api_path = '/backups/policies'
204
+ api_params = {}
205
+
206
+ if queries is not None:
207
+ api_params['queries'] = self._normalize_value(queries)
208
+
209
+ response = self.client.call('get', api_path, {
210
+ 'X-Appwrite-Project': self.client.get_config('project'),
211
+ 'accept': 'application/json',
212
+ }, api_params)
213
+
214
+ return self._parse_response(response, model=BackupPolicyList)
215
+
216
+
217
+ def create_policy(
218
+ self,
219
+ policy_id: str,
220
+ services: List[BackupServices],
221
+ retention: float,
222
+ schedule: str,
223
+ name: Optional[str] = None,
224
+ resource_id: Optional[str] = None,
225
+ enabled: Optional[bool] = None
226
+ ) -> BackupPolicy:
227
+ """
228
+ Create a new backup policy.
229
+
230
+ Parameters
231
+ ----------
232
+ policy_id : str
233
+ Policy ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
234
+ services : List[BackupServices]
235
+ Array of services to backup
236
+ retention : float
237
+ Days to keep backups before deletion
238
+ schedule : str
239
+ Schedule CRON syntax.
240
+ name : Optional[str]
241
+ Policy name. Max length: 128 chars.
242
+ resource_id : Optional[str]
243
+ Resource ID. When set, only this single resource will be backed up.
244
+ enabled : Optional[bool]
245
+ Is policy enabled? When set to 'disabled', no backups will be taken
246
+
247
+ Returns
248
+ -------
249
+ BackupPolicy
250
+ API response as a typed Pydantic model
251
+
252
+ Raises
253
+ ------
254
+ AppwriteException
255
+ If API request fails
256
+ """
257
+
258
+ api_path = '/backups/policies'
259
+ api_params = {}
260
+ if policy_id is None:
261
+ raise AppwriteException('Missing required parameter: "policy_id"')
262
+
263
+ if services is None:
264
+ raise AppwriteException('Missing required parameter: "services"')
265
+
266
+ if retention is None:
267
+ raise AppwriteException('Missing required parameter: "retention"')
268
+
269
+ if schedule is None:
270
+ raise AppwriteException('Missing required parameter: "schedule"')
271
+
272
+
273
+ api_params['policyId'] = self._normalize_value(policy_id)
274
+ if name is not None:
275
+ api_params['name'] = self._normalize_value(name)
276
+ api_params['services'] = self._normalize_value(services)
277
+ if resource_id is not None:
278
+ api_params['resourceId'] = self._normalize_value(resource_id)
279
+ if enabled is not None:
280
+ api_params['enabled'] = self._normalize_value(enabled)
281
+ api_params['retention'] = self._normalize_value(retention)
282
+ api_params['schedule'] = self._normalize_value(schedule)
283
+
284
+ response = self.client.call('post', api_path, {
285
+ 'X-Appwrite-Project': self.client.get_config('project'),
286
+ 'content-type': 'application/json',
287
+ 'accept': 'application/json',
288
+ }, api_params)
289
+
290
+ return self._parse_response(response, model=BackupPolicy)
291
+
292
+
293
+ def get_policy(
294
+ self,
295
+ policy_id: str
296
+ ) -> BackupPolicy:
297
+ """
298
+ Get a backup policy using it's ID.
299
+
300
+ Parameters
301
+ ----------
302
+ policy_id : str
303
+ Policy ID. Choose a custom ID`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
304
+
305
+ Returns
306
+ -------
307
+ BackupPolicy
308
+ API response as a typed Pydantic model
309
+
310
+ Raises
311
+ ------
312
+ AppwriteException
313
+ If API request fails
314
+ """
315
+
316
+ api_path = '/backups/policies/{policyId}'
317
+ api_params = {}
318
+ if policy_id is None:
319
+ raise AppwriteException('Missing required parameter: "policy_id"')
320
+
321
+ api_path = api_path.replace('{policyId}', str(self._normalize_value(policy_id)))
322
+
323
+
324
+ response = self.client.call('get', api_path, {
325
+ 'X-Appwrite-Project': self.client.get_config('project'),
326
+ 'accept': 'application/json',
327
+ }, api_params)
328
+
329
+ return self._parse_response(response, model=BackupPolicy)
330
+
331
+
332
+ def update_policy(
333
+ self,
334
+ policy_id: str,
335
+ name: Optional[str] = None,
336
+ retention: Optional[float] = None,
337
+ schedule: Optional[str] = None,
338
+ enabled: Optional[bool] = None
339
+ ) -> BackupPolicy:
340
+ """
341
+ Update an existing policy using it's ID.
342
+
343
+ Parameters
344
+ ----------
345
+ policy_id : str
346
+ Policy ID. Choose a custom ID`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
347
+ name : Optional[str]
348
+ Policy name. Max length: 128 chars.
349
+ retention : Optional[float]
350
+ Days to keep backups before deletion
351
+ schedule : Optional[str]
352
+ Cron expression
353
+ enabled : Optional[bool]
354
+ Is Backup enabled? When set to 'disabled', No backup will be taken
355
+
356
+ Returns
357
+ -------
358
+ BackupPolicy
359
+ API response as a typed Pydantic model
360
+
361
+ Raises
362
+ ------
363
+ AppwriteException
364
+ If API request fails
365
+ """
366
+
367
+ api_path = '/backups/policies/{policyId}'
368
+ api_params = {}
369
+ if policy_id is None:
370
+ raise AppwriteException('Missing required parameter: "policy_id"')
371
+
372
+ api_path = api_path.replace('{policyId}', str(self._normalize_value(policy_id)))
373
+
374
+ if name is not None:
375
+ api_params['name'] = self._normalize_value(name)
376
+ if retention is not None:
377
+ api_params['retention'] = self._normalize_value(retention)
378
+ if schedule is not None:
379
+ api_params['schedule'] = self._normalize_value(schedule)
380
+ if enabled is not None:
381
+ api_params['enabled'] = self._normalize_value(enabled)
382
+
383
+ response = self.client.call('patch', api_path, {
384
+ 'X-Appwrite-Project': self.client.get_config('project'),
385
+ 'content-type': 'application/json',
386
+ 'accept': 'application/json',
387
+ }, api_params)
388
+
389
+ return self._parse_response(response, model=BackupPolicy)
390
+
391
+
392
+ def delete_policy(
393
+ self,
394
+ policy_id: str
395
+ ) -> Dict[str, Any]:
396
+ """
397
+ Delete a policy using it's ID.
398
+
399
+ Parameters
400
+ ----------
401
+ policy_id : str
402
+ Policy ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
403
+
404
+ Returns
405
+ -------
406
+ Dict[str, Any]
407
+ API response as a dictionary
408
+
409
+ Raises
410
+ ------
411
+ AppwriteException
412
+ If API request fails
413
+ """
414
+
415
+ api_path = '/backups/policies/{policyId}'
416
+ api_params = {}
417
+ if policy_id is None:
418
+ raise AppwriteException('Missing required parameter: "policy_id"')
419
+
420
+ api_path = api_path.replace('{policyId}', str(self._normalize_value(policy_id)))
421
+
422
+
423
+ response = self.client.call('delete', api_path, {
424
+ 'X-Appwrite-Project': self.client.get_config('project'),
425
+ 'content-type': 'application/json',
426
+ 'accept': 'application/json',
427
+ }, api_params)
428
+
429
+ return response
430
+
431
+
432
+ def create_restoration(
433
+ self,
434
+ archive_id: str,
435
+ services: List[BackupServices],
436
+ new_resource_id: Optional[str] = None,
437
+ new_resource_name: Optional[str] = None
438
+ ) -> BackupRestoration:
439
+ """
440
+ Create and trigger a new restoration for a backup on a project.
441
+
442
+ For a backup of one database, the restoration resolves its destination before it is queued. When `newResourceId` is omitted, the archived database is restored in place and its own ID is returned in `options`. Pass a different `newResourceId` to restore alongside it as a new database instead.
443
+
444
+ The restoration migration records the archived database in `resourceId` and `resourceType`, and the resolved database in `destinationResourceId` and `destinationResourceType`. Database types are stored canonically as `database`, `documentsdb`, or `vectorsdb`. Project-wide restorations leave these fields empty because they do not have a single source or destination database.
445
+
446
+ To list every migration related to one database, use its canonical type in a nested `OR(AND(...), AND(...), AND(...))` across the root, parent, and destination relation pairs: `(resourceType, resourceId)`, `(parentResourceType, parentResourceId)`, and `(destinationResourceType, destinationResourceId)`. Legacy and TablesDB databases use `database`; the operational `resourceType` of a table migration is not rewritten to `tablesdb`.
447
+
448
+ When restoring a DocumentsDB or VectorsDB database from a dedicated source, the restore provisions a fresh dedicated backing database at the source database's own specification and lands the data there. An in-place restore swaps the database onto that backing only once the restore has succeeded, and retires the backing it displaced only once that swap is confirmed, so the source keeps serving its own data until the restored data is in place and any failure leaves it untouched. A serverless source has no dedicated backing to clone and restores onto the archived database instead.
449
+
450
+
451
+ Parameters
452
+ ----------
453
+ archive_id : str
454
+ Backup archive ID to restore
455
+ services : List[BackupServices]
456
+ Array of services to restore
457
+ new_resource_id : Optional[str]
458
+ Destination resource ID. Omit to restore the archived resource in place, or pass a different ID to restore alongside it as a new resource. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
459
+ new_resource_name : Optional[str]
460
+ Database name. Max length: 128 chars.
461
+
462
+ Returns
463
+ -------
464
+ BackupRestoration
465
+ API response as a typed Pydantic model
466
+
467
+ Raises
468
+ ------
469
+ AppwriteException
470
+ If API request fails
471
+ """
472
+
473
+ api_path = '/backups/restoration'
474
+ api_params = {}
475
+ if archive_id is None:
476
+ raise AppwriteException('Missing required parameter: "archive_id"')
477
+
478
+ if services is None:
479
+ raise AppwriteException('Missing required parameter: "services"')
480
+
481
+
482
+ api_params['archiveId'] = self._normalize_value(archive_id)
483
+ api_params['services'] = self._normalize_value(services)
484
+ if new_resource_id is not None:
485
+ api_params['newResourceId'] = self._normalize_value(new_resource_id)
486
+ if new_resource_name is not None:
487
+ api_params['newResourceName'] = self._normalize_value(new_resource_name)
488
+
489
+ response = self.client.call('post', api_path, {
490
+ 'X-Appwrite-Project': self.client.get_config('project'),
491
+ 'content-type': 'application/json',
492
+ 'accept': 'application/json',
493
+ }, api_params)
494
+
495
+ return self._parse_response(response, model=BackupRestoration)
496
+
497
+
498
+ def list_restorations(
499
+ self,
500
+ queries: Optional[List[str]] = None
501
+ ) -> BackupRestorationList:
502
+ """
503
+ List all backup restorations for a project.
504
+
505
+ Parameters
506
+ ----------
507
+ queries : Optional[List[str]]
508
+ 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.
509
+
510
+ Returns
511
+ -------
512
+ BackupRestorationList
513
+ API response as a typed Pydantic model
514
+
515
+ Raises
516
+ ------
517
+ AppwriteException
518
+ If API request fails
519
+ """
520
+
521
+ api_path = '/backups/restorations'
522
+ api_params = {}
523
+
524
+ if queries is not None:
525
+ api_params['queries'] = self._normalize_value(queries)
526
+
527
+ response = self.client.call('get', api_path, {
528
+ 'X-Appwrite-Project': self.client.get_config('project'),
529
+ 'accept': 'application/json',
530
+ }, api_params)
531
+
532
+ return self._parse_response(response, model=BackupRestorationList)
533
+
534
+
535
+ def get_restoration(
536
+ self,
537
+ restoration_id: str
538
+ ) -> BackupRestoration:
539
+ """
540
+ Get the current status of a backup restoration.
541
+
542
+ Parameters
543
+ ----------
544
+ restoration_id : str
545
+ Restoration ID. Choose a custom ID`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
546
+
547
+ Returns
548
+ -------
549
+ BackupRestoration
550
+ API response as a typed Pydantic model
551
+
552
+ Raises
553
+ ------
554
+ AppwriteException
555
+ If API request fails
556
+ """
557
+
558
+ api_path = '/backups/restorations/{restorationId}'
559
+ api_params = {}
560
+ if restoration_id is None:
561
+ raise AppwriteException('Missing required parameter: "restoration_id"')
562
+
563
+ api_path = api_path.replace('{restorationId}', str(self._normalize_value(restoration_id)))
564
+
565
+
566
+ response = self.client.call('get', api_path, {
567
+ 'X-Appwrite-Project': self.client.get_config('project'),
568
+ 'accept': 'application/json',
569
+ }, api_params)
570
+
571
+ return self._parse_response(response, model=BackupRestoration)
572
+