Expand description
Unofficial Rust crate for accessing the cloud-hypervisor REST API
§Overview
The cloud-hypervisor-client crate can be used for managing the endpoints provided by the cloud-hypervisor REST API socket in your Rust project.
The API client code of this crate has been auto-generated from the Official OpenAPI Description for the cloud-hypervisor REST API using OpenAPI Generator.
§Example
Get information about a VM:
use cloud_hypervisor_client::apis::DefaultApi;
use cloud_hypervisor_client::socket_based_api_client;
#[tokio::main]
async fn main() -> Result<(), String> {
let client = socket_based_api_client("cloud_hypervisor_vm_socket.sock");
let vm_info = client.vm_info_get()
.await
.map_err(|err| format!("API call to vm_info_get failed: {:?}", err))?;
println!("Received vm info: {vm_info:?}");
Ok(())
}For more examples check out the examples folder in the Git repository.
§Selecting TLS implementation
The underlying TLS implementation for reqwest can be selected using Cargo features:
- default-tls (enabled by default): Provides TLS support to connect over HTTPS.
- native-tls: Enables TLS functionality provided by
native-tls. - native-tls-vendored: Enables the
vendoredfeature ofnative-tls. - rustls-tls: Enables TLS functionality provided by
rustls.
(Refer to Optional Features in the reqwest documentation.)
Example for using the TLS functionality provided by rustls:
[dependencies]
cloud_hypervisor_client = { version = "*", default-features = false, features = ["rustls-tls"] }