//!Unofficial Rust crate for accessing the [Hetzner Cloud API](https://docs.hetzner.cloud/)
//!
//!# Overview
//!
//!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](https://github.com/MaximilianKoestler/hcloud-openapi) using [OpenAPI Generator](https://openapi-generator.tech/).
//!
//!# Example
//!
//!A very basic example for listing all existing servers:
//!
//!```rust,no_run
//!use hcloud::apis::configuration::Configuration;
//!use hcloud::apis::servers_api;
//!
//!# #[tokio::main]
//!# async fn main() -> Result<(), Box<dyn std::error::Error>> {
//!// 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);
//!}
//!# Ok(())
//!# }
//!```
//!
//! For more examples check out the [examples](https://github.com/HenningHolmDE/hcloud-rust/tree/main/examples) folder in the Git repository.
//!
//!# Selecting TLS implementation
//!
//!The underlying TLS implementation for `reqwest` can be selected using [Cargo features](https://doc.rust-lang.org/stable/cargo/reference/manifest.html#the-features-section):
//!- **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 of `native-tls`.
//!- **rustls-tls**: Enables TLS functionality provided by `rustls`.
//!
//!(Refer to [Optional Features](https://docs.rs/reqwest/latest/reqwest/#optional-features) in the `reqwest` documentation.)
//!
//!Example for using the TLS functionality provided by `rustls`:
//!```toml
//![dependencies]
//!hcloud = { version = "*", default-features = false, features = ["rustls-tls"] }
//!```

#![allow(unused_imports)]
#![allow(clippy::too_many_arguments)]

extern crate reqwest;
extern crate serde;
extern crate serde_json;
extern crate url;

pub mod apis;
pub mod models;
