Skip to main content

Crate vault_client_rs

Crate vault_client_rs 

Source
Expand description

Async and blocking Rust client for the HashiCorp Vault HTTP API

use vault_client_rs::{VaultClient, Kv2Operations};

let client = VaultClient::new("https://vault.example.com:8200", "hvs.EXAMPLE")?;

// KV v2: read secret data directly
let secret: std::collections::HashMap<String, String> =
    client.kv2("secret").read_data("my/path").await?;

// Sys
let health = client.sys().health().await?;

§Feature flags

FlagEffect
blockingEnables [blocking::BlockingVaultClient]
auto-renewEnables [RenewalDaemon] and [LeaseWatcher] for background token/lease lifecycle

Re-exports§

pub use client::ClientBuilder;
pub use client::VaultClient;
pub use client::encode_path;
pub use types::error::VaultError;
pub use types::redaction::RedactionLevel;
pub use types::redaction::redact;
pub use types::redaction::redaction_level;
pub use types::redaction::set_redaction_level;
pub use api::auth::approle::AppRoleAuthHandler;
pub use api::auth::aws::AwsAuthHandler;
pub use api::auth::azure::AzureAuthHandler;
pub use api::auth::cert::CertAuthHandler;
pub use api::auth::gcp::GcpAuthHandler;
pub use api::auth::github::GithubAuthHandler;
pub use api::auth::kerberos::KerberosAuthHandler;
pub use api::auth::kubernetes::K8sAuthHandler;
pub use api::auth::ldap::LdapAuthHandler;
pub use api::auth::oidc::OidcAuthHandler;
pub use api::auth::radius::RadiusAuthHandler;
pub use api::auth::token::TokenAuthHandler;
pub use api::auth::userpass::UserpassAuthHandler;
pub use api::auth::AppRoleLogin;
pub use api::auth::AuthHandler;
pub use api::auth::AuthMethod;
pub use api::auth::AwsLogin;
pub use api::auth::AzureLogin;
pub use api::auth::GcpLogin;
pub use api::auth::GithubLogin;
pub use api::auth::JwtLogin;
pub use api::auth::K8sLogin;
pub use api::auth::LdapLogin;
pub use api::auth::UserpassLogin;
pub use api::aws::AwsSecretsHandler;
pub use api::azure::AzureHandler;
pub use api::consul::ConsulHandler;
pub use api::cubbyhole::CubbyholeHandler;
pub use api::database::DatabaseHandler;
pub use api::gcp::GcpHandler;
pub use api::identity::IdentityHandler;
pub use api::kv1::Kv1Handler;
pub use api::kv2::Kv2Handler;
pub use api::nomad::NomadHandler;
pub use api::pki::PkiHandler;
pub use api::rabbitmq::RabbitmqHandler;
pub use api::ssh::SshHandler;
pub use api::sys::SysHandler;
pub use api::terraform::TerraformCloudHandler;
pub use api::totp::TotpHandler;
pub use api::transit::TransitHandler;
pub use api::traits::AppRoleAuthOperations;
pub use api::traits::AwsAuthOperations;
pub use api::traits::AwsSecretsOperations;
pub use api::traits::AzureAuthOperations;
pub use api::traits::AzureSecretsOperations;
pub use api::traits::CertAuthOperations;
pub use api::traits::ConsulOperations;
pub use api::traits::CubbyholeOperations;
pub use api::traits::DatabaseOperations;
pub use api::traits::GcpAuthOperations;
pub use api::traits::GcpSecretsOperations;
pub use api::traits::GithubAuthOperations;
pub use api::traits::IdentityOperations;
pub use api::traits::K8sAuthOperations;
pub use api::traits::KerberosAuthOperations;
pub use api::traits::Kv1Operations;
pub use api::traits::Kv2Operations;
pub use api::traits::LdapAuthOperations;
pub use api::traits::NomadOperations;
pub use api::traits::OidcAuthOperations;
pub use api::traits::PkiOperations;
pub use api::traits::RabbitmqOperations;
pub use api::traits::RadiusAuthOperations;
pub use api::traits::SshOperations;
pub use api::traits::SysOperations;
pub use api::traits::TerraformCloudOperations;
pub use api::traits::TokenAuthOperations;
pub use api::traits::TotpOperations;
pub use api::traits::TransitOperations;
pub use api::traits::UserpassAuthOperations;
pub use types::kv::KvConfig;
pub use types::kv::KvFullMetadata;
pub use types::kv::KvMetadata;
pub use types::kv::KvMetadataParams;
pub use types::kv::KvReadResponse;
pub use types::kv::KvVersionMetadata;
pub use types::response::AuthInfo;
pub use types::response::VaultResponse;
pub use types::response::WrapInfo;
pub use types::secret::MountPath;
pub use types::secret::SecretPath;
pub use types::transit::TransitBatchCiphertext;
pub use types::transit::TransitBatchDecryptItem;
pub use types::transit::TransitBatchPlaintext;
pub use types::transit::TransitBatchSignInput;
pub use types::transit::TransitBatchSignResult;
pub use types::transit::TransitBatchVerifyInput;
pub use types::transit::TransitBatchVerifyResult;
pub use types::transit::TransitCacheConfig;
pub use types::transit::TransitDataKey;
pub use types::transit::TransitExportedKey;
pub use types::transit::TransitKeyConfig;
pub use types::transit::TransitKeyInfo;
pub use types::transit::TransitKeyParams;
pub use types::transit::TransitSignParams;
pub use types::pki::PkiAcmeConfig;
pub use types::pki::PkiCertificate;
pub use types::pki::PkiCertificateEntry;
pub use types::pki::PkiCrossSignRequest;
pub use types::pki::PkiCsr;
pub use types::pki::PkiImportResult;
pub use types::pki::PkiIntermediateParams;
pub use types::pki::PkiIssueParams;
pub use types::pki::PkiIssuedCert;
pub use types::pki::PkiIssuerInfo;
pub use types::pki::PkiIssuerUpdateParams;
pub use types::pki::PkiRevocationInfo;
pub use types::pki::PkiRole;
pub use types::pki::PkiRoleParams;
pub use types::pki::PkiRootParams;
pub use types::pki::PkiSignParams;
pub use types::pki::PkiSignedCert;
pub use types::pki::PkiTidyParams;
pub use types::pki::PkiTidyStatus;
pub use types::pki::PkiUrlsConfig;
pub use types::auth::AppRoleCreateRequest;
pub use types::auth::AppRoleInfo;
pub use types::auth::AppRoleSecretIdResponse;
pub use types::auth::CertRoleInfo;
pub use types::auth::CertRoleRequest;
pub use types::auth::GithubConfig;
pub use types::auth::GithubConfigRequest;
pub use types::auth::GithubTeamInfo;
pub use types::auth::GithubTeamMapping;
pub use types::auth::K8sAuthConfigRequest;
pub use types::auth::K8sAuthRoleInfo;
pub use types::auth::K8sAuthRoleRequest;
pub use types::auth::KerberosConfig;
pub use types::auth::KerberosConfigRequest;
pub use types::auth::KerberosGroup;
pub use types::auth::KerberosGroupRequest;
pub use types::auth::KerberosLdapConfig;
pub use types::auth::KerberosLdapConfigRequest;
pub use types::auth::LdapConfig;
pub use types::auth::LdapConfigRequest;
pub use types::auth::LdapGroup;
pub use types::auth::LdapGroupRequest;
pub use types::auth::LdapUser;
pub use types::auth::LdapUserRequest;
pub use types::auth::OidcConfig;
pub use types::auth::OidcConfigRequest;
pub use types::auth::OidcRoleInfo;
pub use types::auth::OidcRoleRequest;
pub use types::auth::RadiusConfig;
pub use types::auth::RadiusConfigRequest;
pub use types::auth::RadiusUser;
pub use types::auth::RadiusUserRequest;
pub use types::auth::TokenCreateRequest;
pub use types::auth::TokenLookupResponse;
pub use types::auth::UserpassUserInfo;
pub use types::auth::UserpassUserRequest;
pub use types::sys::AuditDevice;
pub use types::sys::AuditParams;
pub use types::sys::AuthMountInfo;
pub use types::sys::AuthMountParams;
pub use types::sys::AutopilotServerState;
pub use types::sys::AutopilotState;
pub use types::sys::GenerateRootInitRequest;
pub use types::sys::GenerateRootStatus;
pub use types::sys::HealthResponse;
pub use types::sys::HostInfo;
pub use types::sys::InFlightRequest;
pub use types::sys::InitParams;
pub use types::sys::InitResponse;
pub use types::sys::KeyStatus;
pub use types::sys::LeaderResponse;
pub use types::sys::LeaseInfo;
pub use types::sys::LeaseRenewal;
pub use types::sys::MountConfig;
pub use types::sys::MountInfo;
pub use types::sys::MountParams;
pub use types::sys::MountTuneParams;
pub use types::sys::NamespaceInfo;
pub use types::sys::PluginInfo;
pub use types::sys::PolicyInfo;
pub use types::sys::RaftConfig;
pub use types::sys::RaftServer;
pub use types::sys::RateLimitQuota;
pub use types::sys::RateLimitQuotaRequest;
pub use types::sys::RegisterPluginRequest;
pub use types::sys::RekeyInitRequest;
pub use types::sys::RekeyStatus;
pub use types::sys::RemountStatus;
pub use types::sys::SealStatus;
pub use types::sys::VersionHistoryEntry;
pub use types::aws::AwsAuthConfig;
pub use types::aws::AwsAuthConfigRequest;
pub use types::aws::AwsAuthLoginRequest;
pub use types::aws::AwsAuthRoleInfo;
pub use types::aws::AwsAuthRoleRequest;
pub use types::aws::AwsConfigRoot;
pub use types::aws::AwsConfigRootRequest;
pub use types::aws::AwsCredentials;
pub use types::aws::AwsRole;
pub use types::aws::AwsRoleRequest;
pub use types::aws::AwsStsRequest;
pub use types::azure::AzureAuthConfig;
pub use types::azure::AzureAuthConfigRequest;
pub use types::azure::AzureAuthLoginRequest;
pub use types::azure::AzureAuthRoleInfo;
pub use types::azure::AzureAuthRoleRequest;
pub use types::azure::AzureConfig;
pub use types::azure::AzureConfigRequest;
pub use types::azure::AzureCredentials;
pub use types::azure::AzureRole;
pub use types::azure::AzureRoleRequest;
pub use types::gcp::GcpAuthConfig;
pub use types::gcp::GcpAuthConfigRequest;
pub use types::gcp::GcpAuthRoleInfo;
pub use types::gcp::GcpAuthRoleRequest;
pub use types::gcp::GcpConfig;
pub use types::gcp::GcpConfigRequest;
pub use types::gcp::GcpOAuthToken;
pub use types::gcp::GcpRoleset;
pub use types::gcp::GcpRolesetRequest;
pub use types::gcp::GcpServiceAccountKey;
pub use types::database::DatabaseConfig;
pub use types::database::DatabaseConfigRequest;
pub use types::database::DatabaseCredentials;
pub use types::database::DatabaseRole;
pub use types::database::DatabaseRoleRequest;
pub use types::database::DatabaseStaticCredentials;
pub use types::database::DatabaseStaticRole;
pub use types::database::DatabaseStaticRoleRequest;
pub use types::ssh::SshCaConfigRequest;
pub use types::ssh::SshCaPublicKey;
pub use types::ssh::SshRole;
pub use types::ssh::SshRoleRequest;
pub use types::ssh::SshSignRequest;
pub use types::ssh::SshSignedKey;
pub use types::ssh::SshVerifyRequest;
pub use types::ssh::SshVerifyResponse;
pub use types::identity::Entity;
pub use types::identity::EntityAlias;
pub use types::identity::EntityAliasCreateRequest;
pub use types::identity::EntityAliasResponse;
pub use types::identity::EntityCreateRequest;
pub use types::identity::Group;
pub use types::identity::GroupAlias;
pub use types::identity::GroupAliasCreateRequest;
pub use types::identity::GroupAliasResponse;
pub use types::identity::GroupCreateRequest;
pub use types::totp::TotpCode;
pub use types::totp::TotpGenerateResponse;
pub use types::totp::TotpKeyInfo;
pub use types::totp::TotpKeyRequest;
pub use types::totp::TotpValidation;
pub use types::consul::ConsulConfig;
pub use types::consul::ConsulConfigRequest;
pub use types::consul::ConsulCredentials;
pub use types::consul::ConsulRole;
pub use types::consul::ConsulRoleRequest;
pub use types::nomad::NomadConfig;
pub use types::nomad::NomadConfigRequest;
pub use types::nomad::NomadCredentials;
pub use types::nomad::NomadRole;
pub use types::nomad::NomadRoleRequest;
pub use types::rabbitmq::RabbitmqConfigRequest;
pub use types::rabbitmq::RabbitmqCredentials;
pub use types::rabbitmq::RabbitmqRole;
pub use types::rabbitmq::RabbitmqRoleRequest;
pub use types::terraform::TerraformCloudConfig;
pub use types::terraform::TerraformCloudConfigRequest;
pub use types::terraform::TerraformCloudRole;
pub use types::terraform::TerraformCloudRoleRequest;
pub use types::terraform::TerraformCloudToken;

Modules§

api
client
types

Structs§

CircuitBreakerConfig
Configuration for the client-side circuit breaker

Type Aliases§

SecretString
Secret string type.