#api-bindings #scaleway #api #iaa-s

scaleway-rs

纯 Rust Scaleway API 绑定

10 个版本

0.1.9 2023年11月15日
0.1.8 2023年11月14日
0.1.1 2023年10月31日

#2 in #iaa-s

Download history

87 每月下载量

MIT 许可证

60KB
1.5K SLoC

scaleway-rs

纯 Rust Scaleway API 绑定。

示例

示例阻塞

需要启用 "blocking" 功能。

scaleway-rs = { version = "*", features = ["blocking"] }
use scaleway_rs::ScalewayApi;
use scaleway_rs::ScalewayError;

fn main() -> Result<(), ScalewayError> {
    let region = "fr-par-2";
    let api = ScalewayApi::new("<KEY>");

    let types = api.get_server_types_async(region).await?;
    println!("SERVERTYPES: {:#?}", types);

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

    let instances = api
        .list_instances(region)
        .order("creation_date_asc")
        .run_async()
        .await?;
    println!("INSTANCES: {:#?}", instances);
    Ok(())
}

示例异步

scaleway-rs = { version = "*" }
use scaleway_rs::ScalewayApi;
use scaleway_rs::ScalewayError;

#[async_std::main]
async fn main() -> Result<(), ScalewayError> {
    let region = "fr-par-2";
    let api = ScalewayApi::new("<KEY>");

    let types = api.get_server_types(region)?;
    println!("SERVERTYPES: {:#?}", types);

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

    let instances = api.list_instances(region).order("creation_date_asc").run()?;
    println!("INSTANCES: {:#?}", instances);
    Ok(())
}

特性

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

待办事项

  • 文档
  • 完整 API 支持

依赖项

~4–21MB
~314K SLoC