#![forbid(unsafe_code)]
#[cfg(not(any(feature = "rustls-tls", feature = "native-tls")))]
compile_error!("openbao requires either the rustls-tls or native-tls feature");
#[cfg(all(feature = "native-tls", not(feature = "native-tls-acknowledged")))]
compile_error!(
"The native-tls feature pulls platform TLS/OpenSSL and may weaken transport security guarantees. \
Add feature \"native-tls-acknowledged\" to confirm you have audited this choice."
);
mod client;
mod error;
mod path;
mod response;
#[cfg(any(
feature = "approle",
feature = "cert-auth",
feature = "jwt-auth",
feature = "kubernetes-auth",
feature = "userpass",
feature = "token"
))]
pub mod auth;
#[cfg(any(
feature = "database",
feature = "kv1",
feature = "kv2",
feature = "pki",
feature = "transit"
))]
pub mod secrets;
#[cfg(feature = "sys")]
pub mod sys;
pub use client::{
Authenticated, Client, ClientBuilder, HeaderMode, HttpPolicy, OpenBao, OpenBaoConfig,
RootCertificateMode, Unauthenticated,
};
pub use error::{Error, Result};
pub use reqwest::{self, Certificate, Identity, Method, StatusCode, tls};
pub use response::{Empty, ResponseEnvelope};
pub use secrecy::{self, ExposeSecret, SecretString};
pub mod prelude {
pub use crate::{
Authenticated, Certificate, Client, ClientBuilder, Empty, Error, ExposeSecret, HeaderMode,
Identity, Method, OpenBao, OpenBaoConfig, ResponseEnvelope, Result, SecretString,
StatusCode, Unauthenticated,
};
#[cfg(any(
feature = "approle",
feature = "cert-auth",
feature = "jwt-auth",
feature = "kubernetes-auth",
feature = "userpass",
feature = "token"
))]
pub use crate::auth;
#[cfg(any(
feature = "database",
feature = "kv1",
feature = "kv2",
feature = "pki",
feature = "transit"
))]
pub use crate::secrets;
#[cfg(feature = "sys")]
pub use crate::sys;
}