Crate vultr

Source
Expand description

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

§Example blocking

It needs to have the feature “blocking” enabled.

vultr = { version = "*", features = ["blocking"] }
use vultr::VultrApi;
use vultr::VultrError;

fn main() -> Result<(), VultrError> {
    let api = VultrApi::new("<KEY>");
    let account = api.get_account_info()?;
    println!("ACCOUNT: {:?}", account);

    let regions = api.get_regions()?;
    println!("REGIONS: {:?}", regions);
         
    let plans = api.get_plans()?;
    println!("PLANS: {:?}", plans);
     
    let os = api.get_os_list()?;
    println!("OS: {:?}", os);
    Ok(())
}

§Example async

vultr = { version = "*" }
use vultr::VultrApi;
use vultr::VultrError;

#[async_std::main]
async fn main() -> Result<(), VultrError> {
    let api = VultrApi::new("<KEY>");
    let account = api.get_account_info_async().await?;
    println!("ACCOUNT: {:?}", account);
    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§

CreateInstanceBuilder
Builder struct for creating instances.
VultrAccount
VultrAccountRoot
VultrApi
VultrDomain
VultrDomainRecord
VultrDomainRecordRoot
VultrDomainRecordsRoot
VultrDomainRoot
VultrDomainsRoot
VultrInstance
VultrInstanceRoot
VultrInstancesRoot
VultrOS
VultrOSRoot
VultrPlan
VultrPlansRoot
VultrRegion
VultrRegionsRoot
VultrSSHKey
VultrSSHKeyRoot
VultrSSHKeysRoot
VultrUpdateDnsRecordBuilder

Enums§

LinuxUserScheme
VultrError
VultrInstanceType