pub struct Vault { /* private fields */ }Expand description
Represents a client to interact with HashiCorp Vault using HTTP(S).
Contains configuration and an HTTP client used for making API requests to Vault.
Implementations§
Source§impl Vault
impl Vault
pub fn new() -> VaultBuilder
Sourcepub async fn health_check(&self) -> Result<(), Box<dyn Error + Send + Sync>>
pub async fn health_check(&self) -> Result<(), Box<dyn Error + Send + Sync>>
This method sends a GET request to the /v1/sys/health endpoint of the Vault server,
which provides status information about the Vault node (e.g., whether it is initialized,
unsealed, and active).
§Returns
Ok(())if the Vault server responds with a healthy status (200 OK).Err(...)with aVaultErrorif the response indicates an unhealthy or non-operational state, such as being sealed, a standby node, or uninitialized.
§Errors
Returns an error if:
- The Vault URI is invalid.
- The HTTP request fails.
- The Vault server returns a non-200 status code that maps to a known or unknown
VaultError.
§Example
let vault = Vault::new()
.address("127.0.0.1".to_string())
.port(8200)
.token("my-token".to_string())
.https()
.build()
.await?;
vault.health_check().await?;§Vault Status Codes
200 OK: Vault is initialized and unsealed.503: Vault is sealed.472: Vault is a standby performance secondary node.473: Vault is a standby performance node.501: Vault is not initialized.404: Invalid path (possibly misconfigured secret path).
pub async fn get_secret<T>(self) -> Result<T, Box<dyn Error + Send + Sync>>where
T: DeserializeOwned,
pub async fn get_secret_v2<T>(self) -> Result<T, Box<dyn Error + Send + Sync>>where
T: DeserializeOwned,
Auto Trait Implementations§
impl Freeze for Vault
impl !RefUnwindSafe for Vault
impl Send for Vault
impl Sync for Vault
impl Unpin for Vault
impl !UnwindSafe for Vault
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more