Unofficial Rust crate for accessing the Hetzner Cloud API
The hcloud
crate can be used for managing the endpoints provided by the Hetzner Cloud API in your Rust project.
The API client code of this crate has been auto-generated from the Unofficial OpenAPI Description for the Hetzner Cloud API using OpenAPI Generator.
A very basic example for listing all existing servers:
use hcloud::apis::configuration::Configuration;
use hcloud::apis::servers_api;
// set up basic configuration using API token
let mut configuration = Configuration::new();
configuration.bearer_access_token =
Some("YOUR_HCLOUD_API_TOKEN".to_string());
// get list of all existing servers from servers API
let servers = servers_api::list_servers(&configuration, Default::default())
.await?
.servers;
// handle server data
for server in servers {
println!("{:?}", server);
}
For more examples check out the examples folder in the Git repository.
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
vendored
feature 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]
hcloud = { version = "*", default-features = false, features = ["rustls-tls"] }
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.