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

Download history 69/week @ 2024-07-22 16/week @ 2024-07-29 18/week @ 2024-08-05 11/week @ 2024-08-12 14/week @ 2024-08-19 5/week @ 2024-08-26 10/week @ 2024-09-02 13/week @ 2024-09-09 21/week @ 2024-09-16 127/week @ 2024-09-23 23/week @ 2024-09-30 23/week @ 2024-10-07 29/week @ 2024-10-14 13/week @ 2024-10-21 7/week @ 2024-10-28 9/week @ 2024-11-04

60 downloads per month

MIT license

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