1pub mod api;
27pub(crate) mod circuit_breaker;
28pub mod client;
29pub mod types;
30
31#[cfg(feature = "blocking")]
32pub mod blocking;
33
34#[cfg(feature = "auto-renew")]
35pub mod renewal;
36
37pub use circuit_breaker::CircuitBreakerConfig;
38pub use client::{ClientBuilder, VaultClient, encode_path};
39pub use types::error::VaultError;
40pub use types::redaction::{RedactionLevel, redact, redaction_level, set_redaction_level};
41
42#[cfg(feature = "auto-renew")]
43pub use renewal::{LeaseEvent, LeaseWatcher, RenewalDaemon};
44
45pub use api::auth::approle::AppRoleAuthHandler;
47pub use api::auth::aws::AwsAuthHandler;
48pub use api::auth::azure::AzureAuthHandler;
49pub use api::auth::cert::CertAuthHandler;
50pub use api::auth::gcp::GcpAuthHandler;
51pub use api::auth::github::GithubAuthHandler;
52pub use api::auth::kerberos::KerberosAuthHandler;
53pub use api::auth::kubernetes::K8sAuthHandler;
54pub use api::auth::ldap::LdapAuthHandler;
55pub use api::auth::oidc::OidcAuthHandler;
56pub use api::auth::radius::RadiusAuthHandler;
57pub use api::auth::token::TokenAuthHandler;
58pub use api::auth::userpass::UserpassAuthHandler;
59pub use api::auth::{
60 AppRoleLogin, AuthHandler, AuthMethod, AwsLogin, AzureLogin, GcpLogin, GithubLogin, JwtLogin,
61 K8sLogin, LdapLogin, UserpassLogin,
62};
63pub use api::aws::AwsSecretsHandler;
64pub use api::azure::AzureHandler;
65pub use api::consul::ConsulHandler;
66pub use api::cubbyhole::CubbyholeHandler;
67pub use api::database::DatabaseHandler;
68pub use api::gcp::GcpHandler;
69pub use api::identity::IdentityHandler;
70pub use api::kv1::Kv1Handler;
71pub use api::kv2::Kv2Handler;
72pub use api::nomad::NomadHandler;
73pub use api::pki::PkiHandler;
74pub use api::rabbitmq::RabbitmqHandler;
75pub use api::ssh::SshHandler;
76pub use api::sys::SysHandler;
77pub use api::terraform::TerraformCloudHandler;
78pub use api::totp::TotpHandler;
79pub use api::transit::TransitHandler;
80
81pub use api::traits::{
83 AppRoleAuthOperations, AwsAuthOperations, AwsSecretsOperations, AzureAuthOperations,
84 AzureSecretsOperations, CertAuthOperations, ConsulOperations, CubbyholeOperations,
85 DatabaseOperations, GcpAuthOperations, GcpSecretsOperations, GithubAuthOperations,
86 IdentityOperations, K8sAuthOperations, KerberosAuthOperations, Kv1Operations, Kv2Operations,
87 LdapAuthOperations, NomadOperations, OidcAuthOperations, PkiOperations, RabbitmqOperations,
88 RadiusAuthOperations, SshOperations, SysOperations, TerraformCloudOperations,
89 TokenAuthOperations, TotpOperations, TransitOperations, UserpassAuthOperations,
90};
91
92pub use types::kv::{
93 KvConfig, KvFullMetadata, KvMetadata, KvMetadataParams, KvReadResponse, KvVersionMetadata,
94};
95pub use types::response::{AuthInfo, VaultResponse, WrapInfo};
96pub use types::secret::{MountPath, SecretPath, SecretString};
97
98pub use types::transit::{
100 TransitBatchCiphertext, TransitBatchDecryptItem, TransitBatchPlaintext, TransitBatchSignInput,
101 TransitBatchSignResult, TransitBatchVerifyInput, TransitBatchVerifyResult, TransitCacheConfig,
102 TransitDataKey, TransitExportedKey, TransitKeyConfig, TransitKeyInfo, TransitKeyParams,
103 TransitSignParams,
104};
105
106pub use types::pki::{
108 PkiAcmeConfig, PkiCertificate, PkiCertificateEntry, PkiCrossSignRequest, PkiCsr,
109 PkiImportResult, PkiIntermediateParams, PkiIssueParams, PkiIssuedCert, PkiIssuerInfo,
110 PkiIssuerUpdateParams, PkiRevocationInfo, PkiRole, PkiRoleParams, PkiRootParams, PkiSignParams,
111 PkiSignedCert, PkiTidyParams, PkiTidyStatus, PkiUrlsConfig,
112};
113
114pub use types::auth::{
116 AppRoleCreateRequest, AppRoleInfo, AppRoleSecretIdResponse, CertRoleInfo, CertRoleRequest,
117 GithubConfig, GithubConfigRequest, GithubTeamInfo, GithubTeamMapping, K8sAuthConfigRequest,
118 K8sAuthRoleInfo, K8sAuthRoleRequest, KerberosConfig, KerberosConfigRequest, KerberosGroup,
119 KerberosGroupRequest, KerberosLdapConfig, KerberosLdapConfigRequest, LdapConfig,
120 LdapConfigRequest, LdapGroup, LdapGroupRequest, LdapUser, LdapUserRequest, OidcConfig,
121 OidcConfigRequest, OidcRoleInfo, OidcRoleRequest, RadiusConfig, RadiusConfigRequest,
122 RadiusUser, RadiusUserRequest, TokenCreateRequest, TokenLookupResponse, UserpassUserInfo,
123 UserpassUserRequest,
124};
125
126pub use types::sys::{
128 AuditDevice, AuditParams, AuthMountInfo, AuthMountParams, AutopilotServerState, AutopilotState,
129 GenerateRootInitRequest, GenerateRootStatus, HealthResponse, HostInfo, InFlightRequest,
130 InitParams, InitResponse, KeyStatus, LeaderResponse, LeaseInfo, LeaseRenewal, MountConfig,
131 MountInfo, MountParams, MountTuneParams, NamespaceInfo, PluginInfo, PolicyInfo, RaftConfig,
132 RaftServer, RateLimitQuota, RateLimitQuotaRequest, RegisterPluginRequest, RekeyInitRequest,
133 RekeyStatus, RemountStatus, SealStatus, VersionHistoryEntry,
134};
135
136pub use types::aws::{
138 AwsAuthConfig, AwsAuthConfigRequest, AwsAuthLoginRequest, AwsAuthRoleInfo, AwsAuthRoleRequest,
139 AwsConfigRoot, AwsConfigRootRequest, AwsCredentials, AwsRole, AwsRoleRequest, AwsStsRequest,
140};
141
142pub use types::azure::{
144 AzureAuthConfig, AzureAuthConfigRequest, AzureAuthLoginRequest, AzureAuthRoleInfo,
145 AzureAuthRoleRequest, AzureConfig, AzureConfigRequest, AzureCredentials, AzureRole,
146 AzureRoleRequest,
147};
148
149pub use types::gcp::{
151 GcpAuthConfig, GcpAuthConfigRequest, GcpAuthRoleInfo, GcpAuthRoleRequest, GcpConfig,
152 GcpConfigRequest, GcpOAuthToken, GcpRoleset, GcpRolesetRequest, GcpServiceAccountKey,
153};
154
155pub use types::database::{
157 DatabaseConfig, DatabaseConfigRequest, DatabaseCredentials, DatabaseRole, DatabaseRoleRequest,
158 DatabaseStaticCredentials, DatabaseStaticRole, DatabaseStaticRoleRequest,
159};
160
161pub use types::ssh::{
163 SshCaConfigRequest, SshCaPublicKey, SshRole, SshRoleRequest, SshSignRequest, SshSignedKey,
164 SshVerifyRequest, SshVerifyResponse,
165};
166
167pub use types::identity::{
169 Entity, EntityAlias, EntityAliasCreateRequest, EntityAliasResponse, EntityCreateRequest, Group,
170 GroupAlias, GroupAliasCreateRequest, GroupAliasResponse, GroupCreateRequest,
171};
172
173pub use types::totp::{
175 TotpCode, TotpGenerateResponse, TotpKeyInfo, TotpKeyRequest, TotpValidation,
176};
177
178pub use types::consul::{
180 ConsulConfig, ConsulConfigRequest, ConsulCredentials, ConsulRole, ConsulRoleRequest,
181};
182
183pub use types::nomad::{
185 NomadConfig, NomadConfigRequest, NomadCredentials, NomadRole, NomadRoleRequest,
186};
187
188pub use types::rabbitmq::{
190 RabbitmqConfigRequest, RabbitmqCredentials, RabbitmqRole, RabbitmqRoleRequest,
191};
192
193pub use types::terraform::{
195 TerraformCloudConfig, TerraformCloudConfigRequest, TerraformCloudRole,
196 TerraformCloudRoleRequest, TerraformCloudToken,
197};