Crate linode_rs

Source
Expand description

Client library for the https://www.linode.com/ API which is documented at https://www.linode.com/docs/api/

§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

Structs§

LinodeApi
LinodeAvailability
LinodeCreateInstanceBuilder
LinodeInstance
LinodeInstanceAlerts
LinodeInstanceBackupSchedule
LinodeInstanceBackups
LinodeInstanceSpecs
LinodeOs
LinodeRegion
LinodeRegionResolver
LinodeType
LinodeTypeAddon
LinodeTypeAddons
LinodeTypePrice
LinodeTypeRegionPrice

Enums§

LinodeError