4 releases
0.1.3 | Nov 12, 2023 |
---|---|
0.1.2 | Nov 10, 2023 |
0.1.1 | Nov 9, 2023 |
0.1.0 | Nov 9, 2023 |
#1990 in Development tools
60 downloads per month
34KB
769 lines
linode
A pure Rust Linode API binding.
Examples
Example blocking
It needs to have the feature "blocking" enabled.
linode-rs = { version = "*", features = ["blocking"] }
use linode_rs::LinodeApi;
use linode_rs::LinodeError;
fn main() -> Result<(), LinodeError> {
let api = LinodeApi::new("<KEY>");
let list = api.list_os()?;
println!("OS {:#?}", list);
let list = api.list_types()?;
println!("TYPES {:#?}", list);
let list = api.list_instances()?;
println!("INSTANCES {:#?}", list);
Ok(())
}
Example async
linode-rs = { version = "*" }
use linode_rs::LinodeApi;
use linode_rs::LinodeError;
#[async_std::main]
async fn main() -> Result<(), LinodeError> {
let api = LinodeApi::new("<KEY>");
let list = api.list_os_async().await?;
println!("OS {:#?}", list);
let list = api.list_types_async().await?;
println!("TYPES {:#?}", list);
let list = api.list_instances_async().await?;
println!("INSTANCES {:#?}", list);
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
TODO
- Documentation
- Full api support
Dependencies
~4–19MB
~305K SLoC