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.
- appwrite_console/__init__.py +1 -0
- appwrite_console/client.py +371 -0
- appwrite_console/encoders/__init__.py +1 -0
- appwrite_console/encoders/value_class_encoder.py +373 -0
- appwrite_console/enums/__init__.py +1 -0
- appwrite_console/enums/account_key_scopes.py +6 -0
- appwrite_console/enums/adapter.py +5 -0
- appwrite_console/enums/addon.py +7 -0
- appwrite_console/enums/appwrite_migration_resource.py +42 -0
- appwrite_console/enums/attribute_status.py +8 -0
- appwrite_console/enums/authentication_factor.py +7 -0
- appwrite_console/enums/authenticator_type.py +4 -0
- appwrite_console/enums/backup_services.py +10 -0
- appwrite_console/enums/billing_plan_group.py +6 -0
- appwrite_console/enums/block_mode.py +5 -0
- appwrite_console/enums/block_resource_type.py +12 -0
- appwrite_console/enums/browser.py +17 -0
- appwrite_console/enums/browser_permission.py +23 -0
- appwrite_console/enums/browser_theme.py +5 -0
- appwrite_console/enums/build_runtime.py +95 -0
- appwrite_console/enums/cache_database.py +6 -0
- appwrite_console/enums/cache_target.py +9 -0
- appwrite_console/enums/column_status.py +8 -0
- appwrite_console/enums/compression.py +6 -0
- appwrite_console/enums/console_resource_type.py +4 -0
- appwrite_console/enums/credit_card.py +20 -0
- appwrite_console/enums/database_status.py +17 -0
- appwrite_console/enums/database_type.py +10 -0
- appwrite_console/enums/databases_index_type.py +7 -0
- appwrite_console/enums/deployment_download_type.py +5 -0
- appwrite_console/enums/deployment_status.py +9 -0
- appwrite_console/enums/detection_framework_type.py +4 -0
- appwrite_console/enums/detection_runtime_type.py +4 -0
- appwrite_console/enums/documents_db_index_type.py +6 -0
- appwrite_console/enums/domain_purchase_status.py +7 -0
- appwrite_console/enums/domain_registration_type.py +7 -0
- appwrite_console/enums/domain_suggestion_type.py +5 -0
- appwrite_console/enums/domain_transfer_status_enum.py +11 -0
- appwrite_console/enums/embedding_model.py +7 -0
- appwrite_console/enums/execution_method.py +10 -0
- appwrite_console/enums/execution_status.py +8 -0
- appwrite_console/enums/execution_trigger.py +6 -0
- appwrite_console/enums/firebase_migration_resource.py +13 -0
- appwrite_console/enums/flag.py +198 -0
- appwrite_console/enums/framework.py +18 -0
- appwrite_console/enums/function_template_use_case.py +10 -0
- appwrite_console/enums/image_format.py +10 -0
- appwrite_console/enums/image_gravity.py +12 -0
- appwrite_console/enums/index_status.py +8 -0
- appwrite_console/enums/message_priority.py +5 -0
- appwrite_console/enums/message_status.py +8 -0
- appwrite_console/enums/messaging_provider_type.py +6 -0
- appwrite_console/enums/n_host_migration_resource.py +14 -0
- appwrite_console/enums/o_auth2_google_prompt.py +6 -0
- appwrite_console/enums/o_auth2_oidc_prompt.py +7 -0
- appwrite_console/enums/o_auth_provider.py +47 -0
- appwrite_console/enums/on_duplicate.py +6 -0
- appwrite_console/enums/order_by.py +5 -0
- appwrite_console/enums/organization_key_scopes.py +19 -0
- appwrite_console/enums/password_hash.py +14 -0
- appwrite_console/enums/platform.py +5 -0
- appwrite_console/enums/platform_type.py +8 -0
- appwrite_console/enums/project_auth_method_id.py +10 -0
- appwrite_console/enums/project_email_template_id.py +10 -0
- appwrite_console/enums/project_email_template_locale.py +134 -0
- appwrite_console/enums/project_key_scopes.py +107 -0
- appwrite_console/enums/project_o_auth2_google_prompt.py +6 -0
- appwrite_console/enums/project_o_auth2_oidc_prompt.py +7 -0
- appwrite_console/enums/project_o_auth_provider_id.py +47 -0
- appwrite_console/enums/project_policy_id.py +17 -0
- appwrite_console/enums/project_protocol_id.py +6 -0
- appwrite_console/enums/project_service_id.py +22 -0
- appwrite_console/enums/project_smtp_secure.py +5 -0
- appwrite_console/enums/project_usage_range.py +5 -0
- appwrite_console/enums/proxy_resource_type.py +5 -0
- appwrite_console/enums/proxy_rule_deployment_resource_type.py +5 -0
- appwrite_console/enums/proxy_rule_status.py +6 -0
- appwrite_console/enums/query_suggestion_resource.py +97 -0
- appwrite_console/enums/region.py +9 -0
- appwrite_console/enums/relation_mutate.py +6 -0
- appwrite_console/enums/relationship_type.py +7 -0
- appwrite_console/enums/runtime.py +95 -0
- appwrite_console/enums/schedule_resource_type.py +7 -0
- appwrite_console/enums/site_template_use_case.py +12 -0
- appwrite_console/enums/smtp_encryption.py +6 -0
- appwrite_console/enums/status.py +4 -0
- appwrite_console/enums/status_code.py +7 -0
- appwrite_console/enums/supabase_migration_resource.py +14 -0
- appwrite_console/enums/tables_db_index_type.py +7 -0
- appwrite_console/enums/template_reference_type.py +6 -0
- appwrite_console/enums/timezone.py +422 -0
- appwrite_console/enums/usage_range.py +6 -0
- appwrite_console/enums/vcs_detection_type.py +5 -0
- appwrite_console/enums/vcs_reference_type.py +6 -0
- appwrite_console/enums/vectors_db_index_type.py +9 -0
- appwrite_console/enums/waf_rule_action.py +8 -0
- appwrite_console/exception.py +7 -0
- appwrite_console/id.py +26 -0
- appwrite_console/input_file.py +21 -0
- appwrite_console/models/__init__.py +803 -0
- appwrite_console/models/activity_event.py +99 -0
- appwrite_console/models/activity_event_list.py +19 -0
- appwrite_console/models/additional_resource.py +30 -0
- appwrite_console/models/addon.py +42 -0
- appwrite_console/models/addon_list.py +19 -0
- appwrite_console/models/addon_price.py +36 -0
- appwrite_console/models/aggregation_breakdown.py +28 -0
- appwrite_console/models/aggregation_team.py +101 -0
- appwrite_console/models/aggregation_team_list.py +19 -0
- appwrite_console/models/algo_argon2.py +24 -0
- appwrite_console/models/algo_bcrypt.py +15 -0
- appwrite_console/models/algo_md5.py +15 -0
- appwrite_console/models/algo_phpass.py +15 -0
- appwrite_console/models/algo_scrypt.py +27 -0
- appwrite_console/models/algo_scrypt_modified.py +24 -0
- appwrite_console/models/algo_sha.py +15 -0
- appwrite_console/models/app.py +91 -0
- appwrite_console/models/app_installation.py +42 -0
- appwrite_console/models/app_installation_list.py +19 -0
- appwrite_console/models/app_key.py +39 -0
- appwrite_console/models/app_key_list.py +19 -0
- appwrite_console/models/app_scope.py +27 -0
- appwrite_console/models/app_scope_list.py +19 -0
- appwrite_console/models/app_secret.py +39 -0
- appwrite_console/models/app_secret_list.py +19 -0
- appwrite_console/models/app_secret_plaintext.py +39 -0
- appwrite_console/models/apps_list.py +19 -0
- appwrite_console/models/attribute_bigint.py +46 -0
- appwrite_console/models/attribute_boolean.py +40 -0
- appwrite_console/models/attribute_datetime.py +43 -0
- appwrite_console/models/attribute_email.py +43 -0
- appwrite_console/models/attribute_enum.py +46 -0
- appwrite_console/models/attribute_float.py +46 -0
- appwrite_console/models/attribute_integer.py +46 -0
- appwrite_console/models/attribute_ip.py +43 -0
- appwrite_console/models/attribute_line.py +40 -0
- appwrite_console/models/attribute_list.py +36 -0
- appwrite_console/models/attribute_longtext.py +43 -0
- appwrite_console/models/attribute_mediumtext.py +43 -0
- appwrite_console/models/attribute_object.py +37 -0
- appwrite_console/models/attribute_point.py +40 -0
- appwrite_console/models/attribute_polygon.py +40 -0
- appwrite_console/models/attribute_relationship.py +55 -0
- appwrite_console/models/attribute_string.py +46 -0
- appwrite_console/models/attribute_text.py +43 -0
- appwrite_console/models/attribute_url.py +43 -0
- appwrite_console/models/attribute_varchar.py +46 -0
- appwrite_console/models/attribute_vector.py +40 -0
- appwrite_console/models/backup_archive.py +48 -0
- appwrite_console/models/backup_archive_list.py +19 -0
- appwrite_console/models/backup_policy.py +48 -0
- appwrite_console/models/backup_policy_list.py +19 -0
- appwrite_console/models/backup_restoration.py +45 -0
- appwrite_console/models/backup_restoration_list.py +19 -0
- appwrite_console/models/base_model.py +27 -0
- appwrite_console/models/billing_address.py +36 -0
- appwrite_console/models/billing_address_list.py +19 -0
- appwrite_console/models/billing_limits.py +36 -0
- appwrite_console/models/billing_plan.py +226 -0
- appwrite_console/models/billing_plan_addon.py +19 -0
- appwrite_console/models/billing_plan_addon_details.py +36 -0
- appwrite_console/models/billing_plan_dedicated_database_limits.py +69 -0
- appwrite_console/models/billing_plan_limits.py +18 -0
- appwrite_console/models/billing_plan_list.py +19 -0
- appwrite_console/models/billing_plan_supported_addons.py +21 -0
- appwrite_console/models/block.py +45 -0
- appwrite_console/models/block_delete.py +19 -0
- appwrite_console/models/block_list.py +19 -0
- appwrite_console/models/branch.py +15 -0
- appwrite_console/models/branch_list.py +19 -0
- appwrite_console/models/bucket.py +54 -0
- appwrite_console/models/bucket_list.py +19 -0
- appwrite_console/models/campaign.py +49 -0
- appwrite_console/models/collection.py +67 -0
- appwrite_console/models/collection_list.py +19 -0
- appwrite_console/models/column_bigint.py +46 -0
- appwrite_console/models/column_boolean.py +40 -0
- appwrite_console/models/column_datetime.py +43 -0
- appwrite_console/models/column_email.py +43 -0
- appwrite_console/models/column_enum.py +46 -0
- appwrite_console/models/column_float.py +46 -0
- appwrite_console/models/column_index.py +42 -0
- appwrite_console/models/column_index_list.py +19 -0
- appwrite_console/models/column_integer.py +46 -0
- appwrite_console/models/column_ip.py +43 -0
- appwrite_console/models/column_line.py +40 -0
- appwrite_console/models/column_list.py +36 -0
- appwrite_console/models/column_longtext.py +43 -0
- appwrite_console/models/column_mediumtext.py +43 -0
- appwrite_console/models/column_point.py +40 -0
- appwrite_console/models/column_polygon.py +40 -0
- appwrite_console/models/column_relationship.py +55 -0
- appwrite_console/models/column_string.py +46 -0
- appwrite_console/models/column_text.py +43 -0
- appwrite_console/models/column_url.py +43 -0
- appwrite_console/models/column_varchar.py +46 -0
- appwrite_console/models/console_key_scope.py +24 -0
- appwrite_console/models/console_key_scope_list.py +19 -0
- appwrite_console/models/console_o_auth2_provider.py +19 -0
- appwrite_console/models/console_o_auth2_provider_list.py +19 -0
- appwrite_console/models/console_o_auth2_provider_parameter.py +24 -0
- appwrite_console/models/console_region.py +30 -0
- appwrite_console/models/console_region_list.py +19 -0
- appwrite_console/models/console_variables.py +96 -0
- appwrite_console/models/continent.py +18 -0
- appwrite_console/models/continent_list.py +19 -0
- appwrite_console/models/country.py +18 -0
- appwrite_console/models/country_list.py +19 -0
- appwrite_console/models/coupon.py +36 -0
- appwrite_console/models/credit.py +45 -0
- appwrite_console/models/credit_available.py +15 -0
- appwrite_console/models/credit_list.py +22 -0
- appwrite_console/models/currency.py +33 -0
- appwrite_console/models/currency_list.py +19 -0
- appwrite_console/models/database.py +52 -0
- appwrite_console/models/database_list.py +19 -0
- appwrite_console/models/database_migration.py +57 -0
- appwrite_console/models/database_migration_list.py +19 -0
- appwrite_console/models/database_status.py +57 -0
- appwrite_console/models/database_status_connections.py +18 -0
- appwrite_console/models/database_status_replica.py +24 -0
- appwrite_console/models/database_status_volume.py +24 -0
- appwrite_console/models/dedicated_database.py +159 -0
- appwrite_console/models/dedicated_database_backup.py +63 -0
- appwrite_console/models/dedicated_database_backup_list.py +19 -0
- appwrite_console/models/dedicated_database_backup_storage.py +27 -0
- appwrite_console/models/dedicated_database_branch.py +48 -0
- appwrite_console/models/dedicated_database_branch_list.py +16 -0
- appwrite_console/models/dedicated_database_execution.py +31 -0
- appwrite_console/models/dedicated_database_execution_column.py +18 -0
- appwrite_console/models/dedicated_database_extensions.py +22 -0
- appwrite_console/models/dedicated_database_list.py +19 -0
- appwrite_console/models/dedicated_database_member.py +24 -0
- appwrite_console/models/dedicated_database_operation.py +45 -0
- appwrite_console/models/dedicated_database_operation_list.py +19 -0
- appwrite_console/models/dedicated_database_pitr_windows.py +18 -0
- appwrite_console/models/dedicated_database_pooler.py +42 -0
- appwrite_console/models/dedicated_database_replicas.py +37 -0
- appwrite_console/models/dedicated_database_restoration.py +45 -0
- appwrite_console/models/dedicated_database_restoration_list.py +19 -0
- appwrite_console/models/dedicated_database_specification.py +39 -0
- appwrite_console/models/dedicated_database_specification_list.py +23 -0
- appwrite_console/models/dedicated_database_specification_pricing.py +27 -0
- appwrite_console/models/deployment.py +94 -0
- appwrite_console/models/deployment_list.py +19 -0
- appwrite_console/models/detection_framework.py +32 -0
- appwrite_console/models/detection_runtime.py +29 -0
- appwrite_console/models/detection_variable.py +18 -0
- appwrite_console/models/dev_key.py +36 -0
- appwrite_console/models/dev_key_list.py +19 -0
- appwrite_console/models/dns_record.py +48 -0
- appwrite_console/models/dns_records_list.py +19 -0
- appwrite_console/models/document.py +80 -0
- appwrite_console/models/document_list.py +32 -0
- appwrite_console/models/domain.py +53 -0
- appwrite_console/models/domain_price.py +30 -0
- appwrite_console/models/domain_purchase.py +43 -0
- appwrite_console/models/domain_suggestion.py +24 -0
- appwrite_console/models/domain_suggestions_list.py +19 -0
- appwrite_console/models/domain_transfer_out.py +15 -0
- appwrite_console/models/domain_transfer_status.py +22 -0
- appwrite_console/models/domains_list.py +19 -0
- appwrite_console/models/downgrade_feedback.py +42 -0
- appwrite_console/models/email_template.py +36 -0
- appwrite_console/models/email_template_list.py +19 -0
- appwrite_console/models/embedding.py +24 -0
- appwrite_console/models/embedding_list.py +19 -0
- appwrite_console/models/ephemeral_key.py +39 -0
- appwrite_console/models/estimation.py +37 -0
- appwrite_console/models/estimation_delete_organization.py +16 -0
- appwrite_console/models/estimation_item.py +18 -0
- appwrite_console/models/estimation_plan_change.py +29 -0
- appwrite_console/models/estimation_update_plan.py +40 -0
- appwrite_console/models/execution.py +69 -0
- appwrite_console/models/execution_list.py +19 -0
- appwrite_console/models/file.py +60 -0
- appwrite_console/models/file_list.py +19 -0
- appwrite_console/models/framework.py +28 -0
- appwrite_console/models/framework_adapter.py +27 -0
- appwrite_console/models/framework_list.py +19 -0
- appwrite_console/models/function.py +109 -0
- appwrite_console/models/function_list.py +19 -0
- appwrite_console/models/headers.py +18 -0
- appwrite_console/models/identity.py +42 -0
- appwrite_console/models/identity_list.py +19 -0
- appwrite_console/models/index.py +43 -0
- appwrite_console/models/index_list.py +19 -0
- appwrite_console/models/insight.py +64 -0
- appwrite_console/models/insight_cta.py +24 -0
- appwrite_console/models/insight_list.py +19 -0
- appwrite_console/models/installation.py +30 -0
- appwrite_console/models/installation_list.py +19 -0
- appwrite_console/models/invoice.py +82 -0
- appwrite_console/models/invoice_list.py +19 -0
- appwrite_console/models/jwt.py +15 -0
- appwrite_console/models/key.py +39 -0
- appwrite_console/models/key_list.py +19 -0
- appwrite_console/models/language.py +21 -0
- appwrite_console/models/language_list.py +19 -0
- appwrite_console/models/locale.py +66 -0
- appwrite_console/models/locale_code.py +18 -0
- appwrite_console/models/locale_code_list.py +19 -0
- appwrite_console/models/log.py +78 -0
- appwrite_console/models/log_list.py +19 -0
- appwrite_console/models/membership.py +57 -0
- appwrite_console/models/membership_list.py +19 -0
- appwrite_console/models/message.py +52 -0
- appwrite_console/models/message_list.py +19 -0
- appwrite_console/models/metric.py +18 -0
- appwrite_console/models/metric_breakdown.py +24 -0
- appwrite_console/models/mfa_challenge.py +24 -0
- appwrite_console/models/mfa_factors.py +24 -0
- appwrite_console/models/mfa_recovery_codes.py +15 -0
- appwrite_console/models/mfa_type.py +18 -0
- appwrite_console/models/migration.py +75 -0
- appwrite_console/models/migration_list.py +19 -0
- appwrite_console/models/migration_report.py +96 -0
- appwrite_console/models/mock_number.py +24 -0
- appwrite_console/models/mock_number_list.py +19 -0
- appwrite_console/models/notification.py +60 -0
- appwrite_console/models/notification_list.py +19 -0
- appwrite_console/models/o_auth2_amazon.py +24 -0
- appwrite_console/models/o_auth2_apple.py +30 -0
- appwrite_console/models/o_auth2_appwrite.py +24 -0
- appwrite_console/models/o_auth2_auth0.py +27 -0
- appwrite_console/models/o_auth2_authentik.py +27 -0
- appwrite_console/models/o_auth2_autodesk.py +24 -0
- appwrite_console/models/o_auth2_bitbucket.py +24 -0
- appwrite_console/models/o_auth2_bitly.py +24 -0
- appwrite_console/models/o_auth2_box.py +24 -0
- appwrite_console/models/o_auth2_dailymotion.py +24 -0
- appwrite_console/models/o_auth2_discord.py +24 -0
- appwrite_console/models/o_auth2_disqus.py +24 -0
- appwrite_console/models/o_auth2_dropbox.py +24 -0
- appwrite_console/models/o_auth2_etsy.py +24 -0
- appwrite_console/models/o_auth2_facebook.py +24 -0
- appwrite_console/models/o_auth2_figma.py +24 -0
- appwrite_console/models/o_auth2_fusion_auth.py +27 -0
- appwrite_console/models/o_auth2_github.py +24 -0
- appwrite_console/models/o_auth2_gitlab.py +27 -0
- appwrite_console/models/o_auth2_google.py +28 -0
- appwrite_console/models/o_auth2_keycloak.py +30 -0
- appwrite_console/models/o_auth2_kick.py +24 -0
- appwrite_console/models/o_auth2_linkedin.py +24 -0
- appwrite_console/models/o_auth2_microsoft.py +27 -0
- appwrite_console/models/o_auth2_notion.py +24 -0
- appwrite_console/models/o_auth2_oidc.py +43 -0
- appwrite_console/models/o_auth2_okta.py +30 -0
- appwrite_console/models/o_auth2_paypal.py +24 -0
- appwrite_console/models/o_auth2_podio.py +24 -0
- appwrite_console/models/o_auth2_provider_list.py +59 -0
- appwrite_console/models/o_auth2_salesforce.py +24 -0
- appwrite_console/models/o_auth2_slack.py +24 -0
- appwrite_console/models/o_auth2_spotify.py +24 -0
- appwrite_console/models/o_auth2_stripe.py +24 -0
- appwrite_console/models/o_auth2_tradeshift.py +24 -0
- appwrite_console/models/o_auth2_twitch.py +24 -0
- appwrite_console/models/o_auth2_word_press.py +24 -0
- appwrite_console/models/o_auth2_x.py +24 -0
- appwrite_console/models/o_auth2_yahoo.py +24 -0
- appwrite_console/models/o_auth2_yandex.py +24 -0
- appwrite_console/models/o_auth2_zoho.py +24 -0
- appwrite_console/models/o_auth2_zoom.py +24 -0
- appwrite_console/models/oauth2_approve.py +15 -0
- appwrite_console/models/oauth2_authorize.py +18 -0
- appwrite_console/models/oauth2_consent.py +42 -0
- appwrite_console/models/oauth2_consent_list.py +19 -0
- appwrite_console/models/oauth2_consent_token.py +45 -0
- appwrite_console/models/oauth2_consent_token_list.py +19 -0
- appwrite_console/models/oauth2_device_authorization.py +30 -0
- appwrite_console/models/oauth2_grant.py +48 -0
- appwrite_console/models/oauth2_organization.py +15 -0
- appwrite_console/models/oauth2_organization_list.py +19 -0
- appwrite_console/models/oauth2_par.py +18 -0
- appwrite_console/models/oauth2_project.py +21 -0
- appwrite_console/models/oauth2_project_list.py +19 -0
- appwrite_console/models/oauth2_reject.py +15 -0
- appwrite_console/models/oauth2_token.py +33 -0
- appwrite_console/models/organization.py +132 -0
- appwrite_console/models/organization_list.py +32 -0
- appwrite_console/models/payment_authentication.py +30 -0
- appwrite_console/models/payment_method.py +72 -0
- appwrite_console/models/payment_method_list.py +19 -0
- appwrite_console/models/phone.py +21 -0
- appwrite_console/models/phone_list.py +19 -0
- appwrite_console/models/plan_change_estimation_details.py +39 -0
- appwrite_console/models/plan_change_limits.py +28 -0
- appwrite_console/models/plan_change_project_compliance.py +28 -0
- appwrite_console/models/plan_change_resource_compliance.py +30 -0
- appwrite_console/models/platform_android.py +31 -0
- appwrite_console/models/platform_apple.py +31 -0
- appwrite_console/models/platform_linux.py +31 -0
- appwrite_console/models/platform_list.py +23 -0
- appwrite_console/models/platform_web.py +31 -0
- appwrite_console/models/platform_windows.py +31 -0
- appwrite_console/models/policy_deny_aliased_email.py +18 -0
- appwrite_console/models/policy_deny_corporate_email.py +18 -0
- appwrite_console/models/policy_deny_disposable_email.py +18 -0
- appwrite_console/models/policy_deny_free_email.py +18 -0
- appwrite_console/models/policy_list.py +32 -0
- appwrite_console/models/policy_membership_privacy.py +33 -0
- appwrite_console/models/policy_password_dictionary.py +18 -0
- appwrite_console/models/policy_password_history.py +18 -0
- appwrite_console/models/policy_password_personal_data.py +18 -0
- appwrite_console/models/policy_password_strength.py +30 -0
- appwrite_console/models/policy_session_alert.py +18 -0
- appwrite_console/models/policy_session_duration.py +18 -0
- appwrite_console/models/policy_session_invalidation.py +18 -0
- appwrite_console/models/policy_session_limit.py +18 -0
- appwrite_console/models/policy_user_limit.py +18 -0
- appwrite_console/models/postgres_extension.py +24 -0
- appwrite_console/models/postgres_extension_list.py +19 -0
- appwrite_console/models/preferences.py +52 -0
- appwrite_console/models/presence.py +39 -0
- appwrite_console/models/presence_list.py +19 -0
- appwrite_console/models/program.py +39 -0
- appwrite_console/models/project.py +153 -0
- appwrite_console/models/project_auth_method.py +19 -0
- appwrite_console/models/project_list.py +19 -0
- appwrite_console/models/project_protocol.py +19 -0
- appwrite_console/models/project_service.py +19 -0
- appwrite_console/models/provider.py +39 -0
- appwrite_console/models/provider_list.py +19 -0
- appwrite_console/models/provider_repository.py +42 -0
- appwrite_console/models/provider_repository_framework.py +45 -0
- appwrite_console/models/provider_repository_framework_list.py +22 -0
- appwrite_console/models/provider_repository_runtime.py +45 -0
- appwrite_console/models/provider_repository_runtime_list.py +22 -0
- appwrite_console/models/proxy_rule.py +59 -0
- appwrite_console/models/proxy_rule_list.py +19 -0
- appwrite_console/models/report.py +49 -0
- appwrite_console/models/report_list.py +19 -0
- appwrite_console/models/resource_token.py +33 -0
- appwrite_console/models/resource_token_list.py +19 -0
- appwrite_console/models/review.py +24 -0
- appwrite_console/models/roles.py +18 -0
- appwrite_console/models/row.py +80 -0
- appwrite_console/models/row_list.py +32 -0
- appwrite_console/models/runtime.py +36 -0
- appwrite_console/models/runtime_list.py +19 -0
- appwrite_console/models/schedule.py +45 -0
- appwrite_console/models/schedule_list.py +19 -0
- appwrite_console/models/session.py +99 -0
- appwrite_console/models/session_list.py +19 -0
- appwrite_console/models/site.py +115 -0
- appwrite_console/models/site_list.py +19 -0
- appwrite_console/models/specification.py +24 -0
- appwrite_console/models/specification_list.py +19 -0
- appwrite_console/models/stage.py +27 -0
- appwrite_console/models/stage_list.py +16 -0
- appwrite_console/models/subscriber.py +40 -0
- appwrite_console/models/subscriber_list.py +19 -0
- appwrite_console/models/table.py +67 -0
- appwrite_console/models/table_list.py +19 -0
- appwrite_console/models/target.py +39 -0
- appwrite_console/models/target_list.py +19 -0
- appwrite_console/models/team.py +43 -0
- appwrite_console/models/team_list.py +32 -0
- appwrite_console/models/template_framework.py +39 -0
- appwrite_console/models/template_function.py +65 -0
- appwrite_console/models/template_function_list.py +19 -0
- appwrite_console/models/template_runtime.py +24 -0
- appwrite_console/models/template_site.py +53 -0
- appwrite_console/models/template_site_list.py +19 -0
- appwrite_console/models/template_variable.py +33 -0
- appwrite_console/models/token.py +30 -0
- appwrite_console/models/topic.py +36 -0
- appwrite_console/models/topic_list.py +19 -0
- appwrite_console/models/transaction.py +30 -0
- appwrite_console/models/transaction_list.py +19 -0
- appwrite_console/models/usage_billing_plan.py +46 -0
- appwrite_console/models/usage_data_point.py +99 -0
- appwrite_console/models/usage_event_list.py +19 -0
- appwrite_console/models/usage_gauge_list.py +19 -0
- appwrite_console/models/usage_metric.py +19 -0
- appwrite_console/models/usage_organization.py +104 -0
- appwrite_console/models/usage_organization_project.py +73 -0
- appwrite_console/models/usage_presence.py +22 -0
- appwrite_console/models/usage_project.py +218 -0
- appwrite_console/models/usage_resources.py +36 -0
- appwrite_console/models/usage_users.py +28 -0
- appwrite_console/models/user.py +111 -0
- appwrite_console/models/user_list.py +32 -0
- appwrite_console/models/variable.py +36 -0
- appwrite_console/models/variable_list.py +19 -0
- appwrite_console/models/vcs_content.py +21 -0
- appwrite_console/models/vcs_content_list.py +19 -0
- appwrite_console/models/vcs_namespace.py +27 -0
- appwrite_console/models/vcs_namespace_list.py +19 -0
- appwrite_console/models/vectorsdb_collection.py +54 -0
- appwrite_console/models/vectorsdb_collection_list.py +19 -0
- appwrite_console/models/waf_rule.py +55 -0
- appwrite_console/models/waf_rule_bypass.py +55 -0
- appwrite_console/models/waf_rule_challenge.py +64 -0
- appwrite_console/models/waf_rule_deny.py +55 -0
- appwrite_console/models/waf_rule_list.py +19 -0
- appwrite_console/models/waf_rule_rate_limit.py +64 -0
- appwrite_console/models/waf_rule_redirect.py +61 -0
- appwrite_console/models/webhook.py +51 -0
- appwrite_console/models/webhook_list.py +19 -0
- appwrite_console/operator.py +150 -0
- appwrite_console/permission.py +21 -0
- appwrite_console/query.py +293 -0
- appwrite_console/role.py +111 -0
- appwrite_console/service.py +50 -0
- appwrite_console/services/__init__.py +1 -0
- appwrite_console/services/account.py +3328 -0
- appwrite_console/services/activities.py +89 -0
- appwrite_console/services/advisor.py +234 -0
- appwrite_console/services/apps.py +1156 -0
- appwrite_console/services/assistant.py +50 -0
- appwrite_console/services/avatars.py +531 -0
- appwrite_console/services/backups.py +572 -0
- appwrite_console/services/console.py +807 -0
- appwrite_console/services/databases.py +4976 -0
- appwrite_console/services/documents_db.py +2052 -0
- appwrite_console/services/domains.py +3047 -0
- appwrite_console/services/functions.py +1659 -0
- appwrite_console/services/graphql.py +92 -0
- appwrite_console/services/locale.py +243 -0
- appwrite_console/services/manager.py +301 -0
- appwrite_console/services/messaging.py +3137 -0
- appwrite_console/services/migrations.py +1036 -0
- appwrite_console/services/mongo.py +1683 -0
- appwrite_console/services/mysql.py +1861 -0
- appwrite_console/services/notifications.py +98 -0
- appwrite_console/services/oauth2.py +914 -0
- appwrite_console/services/organization.py +1039 -0
- appwrite_console/services/organizations.py +2245 -0
- appwrite_console/services/postgresql.py +1995 -0
- appwrite_console/services/presences.py +309 -0
- appwrite_console/services/project.py +5271 -0
- appwrite_console/services/projects.py +885 -0
- appwrite_console/services/proxy.py +394 -0
- appwrite_console/services/sites.py +1593 -0
- appwrite_console/services/storage.py +818 -0
- appwrite_console/services/tables_db.py +5189 -0
- appwrite_console/services/teams.py +993 -0
- appwrite_console/services/tokens.py +243 -0
- appwrite_console/services/usage.py +194 -0
- appwrite_console/services/users.py +2314 -0
- appwrite_console/services/vcs.py +599 -0
- appwrite_console/services/vectors_db.py +2054 -0
- appwrite_console/services/waf.py +1014 -0
- appwrite_console/services/webhooks.py +344 -0
- appwrite_console/utils/__init__.py +1 -0
- appwrite_console/utils/deprecated.py +51 -0
- appwrite_console-0.1.0.dist-info/METADATA +189 -0
- appwrite_console-0.1.0.dist-info/RECORD +552 -0
- appwrite_console-0.1.0.dist-info/WHEEL +5 -0
- appwrite_console-0.1.0.dist-info/licenses/LICENSE +12 -0
- 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
|
+
|