/rust_backblaze_b2_api_async_plain

Small wrapper around the backblaze API (https://www.backblaze.com/b2/docs/) for rust.

Primary LanguageRust

backblaze b2 api wrapper

** THIS IS CURRENTLY Work in Progress **

Rust

This is a very thin wrapper around backblazes b2 api. Some highlights:

  • individual return types to prevent errors at compile time (for example an upload url is it's own type so that the compiler ensures that you can only pass an upload url recevied via the right methods to calls needing an upload url instead of an api url)
  • individual error types so that compile time checks can be used to ensure you have captured all known error cases
  • serde support

Progress

function implemented in all calls example
b2_authorize_account ✔️ ✔️
b2_cancel_large_file ✔️ ✔️
b2_copy_file ✔️³ ✔️
b2_copy_part ✔️ ✔️
b2_create_bucket ✔️³ ✔️
b2_create_key ✔️³ ✔️
b2_delete_bucket ✔️³ ✔️
b2_delete_file_version ✔️ ✔️
b2_delete_key ✔️³ ✔️
b2_download_file_by_id ✔️ ✔️
b2_download_file_by_name ✔️ ✔️
b2_finish_large_file ✔️³ ✔️
b2_get_download_authorization ✔️ ✔️
b2_get_file_info ✔️ ✔️
b2_get_upload_part_url ✔️ ✔️
b2_get_upload_url ✔️ ✔️
b2_hide_file ✔️³ ✔️
b2_list_buckets ✔️³ ✔️
b2_list_file_names ✔️³ ✔️
b2_list_file_versions ✔️³ ✔️
b2_list_keys ✔️³ ✔️
b2_list_parts ✔️ ✔️
b2_list_unfinished_large_files ✔️ ✔️
b2_start_large_file ✔️³ ✔️
b2_update_bucket ✔️³ ✔️
b2_update_file_legal_hold ✔️ ✔️
b2_update_file_retention ✔️ ✔️
b2_upload_file ✔️³ ✔️
b2_upload_part ✔️ ✔️

³ some fields supported as serde_json::Value with b2_unstable feature flag only

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Serde by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.