#digitalocean #api-bindings #iaa-s #api

digitalocean-rs

纯Rust的DigitalOcean API绑定

6个版本

0.1.9 2023年11月6日
0.1.8 2023年11月5日

#1032开发工具

Download history 51/week @ 2024-03-13 37/week @ 2024-03-20 26/week @ 2024-03-27 51/week @ 2024-04-03 9/week @ 2024-04-10 8/week @ 2024-04-17 22/week @ 2024-04-24 14/week @ 2024-05-01 17/week @ 2024-05-08 21/week @ 2024-05-15 16/week @ 2024-05-22 33/week @ 2024-05-29 24/week @ 2024-06-05 15/week @ 2024-06-12 15/week @ 2024-06-19 12/week @ 2024-06-26

85 每月下载次数

MIT 许可协议

32KB
719

digitalocean-rs

纯Rust DigitalOcean API绑定。

示例

示例阻塞

需要启用 "blocking" 功能。

digitalocean-rs = { version = "*", features = ["blocking"] }
use digitalocean_rs::DigitalOceanApi;
use digitalocean_rs::DigitalOceanError;

fn main() -> Result<(), DigitalOceanError> {
    let api = DigitalOceanApi::new("api key");

    let images = api.list_images()?;
    println!("IMAGES: {:#?}", images);

    let sizes = api.list_sizes()?;
    println!("SIZES: {:#?}", sizes);
    Ok(())
}

示例异步

digitalocean-rs = { version = "*" }
use digitalocean_rs::DigitalOceanApi;
use digitalocean_rs::DigitalOceanError;

#[async_std::main]
async fn main() -> Result<(), DigitalOceanError> {
    let api = DigitalOceanApi::new("api key");

    let images = api.list_images_async().await?;
    println!("IMAGES: {:#?}", images);

    let sizes = api.list_sizes_async().await?;
    println!("SIZES: {:#?}", sizes);

    Ok(())
}

功能

  • "default" - 使用 nativetls
  • "default-rustls" - 使用 rusttls
  • "blocking" - 启用阻塞API
  • "rustls" - 为 reqwest 启用 rustls
  • "nativetls" - 添加对 nativetls 的支持 DEFAULT
  • "gzip" - 在 reqwest 中启用 gzip
  • "brotli" - 在 reqwest 中启用 brotli
  • "deflate" - 在 reqwest 中启用 deflate

TODO

  • 文档
  • 完整的API支持

依赖项

~3–18MB
~312K SLoC