5 releases
0.1.4 | Oct 29, 2023 |
---|---|
0.1.3 | Oct 29, 2023 |
0.1.2 | Oct 25, 2023 |
0.1.1 | Oct 24, 2023 |
0.1.0 | Oct 23, 2023 |
#2463 in Development tools
32 downloads per month
26KB
661 lines
upcloud
lib.rs
:
Client library for the https://www.upcloud.com/ API which is documented at https://developers.upcloud.com/
Example blocking
It needs to have the feature "blocking" enabled.
upcloud_rs = { version = "*", features = ["blocking"] }
use upcloud_rs::{UpcloudApi, UpcloudError};
fn main() -> Result<(), UpcloudError> {
let api = UpcloudApi::new("username", "password");
let account = api.get_account_info()?;
println!("ACCOUNT: {:?}", account);
let account_list = api.get_account_list()?;
println!("ACCOUNT LIST: {:?}", account_list);
let prices = api.get_prices()?;
println!("PRICES: {:#?}", prices);
let zones = api.get_zones()?;
println!("ZONES: {:#?}", zones);
Ok(())
}
Example async
upcloud_rs = { version = "*" }
use upcloud_rs::{UpcloudApi, UpcloudError};
#[async_std::main]
async fn main() -> Result<(), UpcloudError> {
let api = UpcloudApi::new("username", "password");
let account = api.get_account_info_async().await?;
println!("ACCOUNT: {:?}", account);
let account_list = api.get_account_list_async().await?;
println!("ACCOUNT LIST: {:?}", account_list);
let prices = api.get_prices_async().await?;
println!("PRICES: {:#?}", prices);
Ok(())
}
Features
- "default" - use nativetls
- "default-rustls" - use rusttls
- "blocking" - enable blocking api
- "rustls" - enable rustls for reqwest
- "nativetls" - add support for nativetls DEFAULT
- "gzip" - enable gzip in reqwest
- "brotli" - enable brotli in reqwest
- "deflate" - enable deflate in reqwest
Dependencies
~4–20MB
~263K SLoC