10 个版本
0.1.9 | 2023年11月15日 |
---|---|
0.1.8 | 2023年11月14日 |
0.1.1 | 2023年10月31日 |
#2 in #iaa-s
87 每月下载量
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