mod address;
mod catalog;
mod credentials;
#[allow(unused_imports, unused_macros)]
mod disabled;
mod factory;
#[macro_use]
pub mod macros;
mod path;
mod preflight;
mod registry;
mod runtime;
mod traits;
mod url;
pub use address::Address;
pub use macros::{
PROVIDER_REGISTRY, ProviderMetadata, ProviderRegistration, declared_flag,
declared_read_capability,
};
pub use registry::ProviderInfo;
#[cfg(feature = "cli")]
pub use registry::providers;
pub use traits::{DiscoveryContext, ProducedValuePersistence, Provider};
pub(crate) use address::{OwnedAddress, flat_item};
#[cfg(any(
feature = "cloudflare",
feature = "openbao",
feature = "scaleway",
feature = "vault"
))]
pub(crate) use credentials::preferred_env;
pub(crate) use credentials::{ProviderCredentials, credential_or_env, credential_or_envs};
pub(crate) use factory::provider_from_spec;
#[cfg(test)]
pub(crate) use factory::provider_from_url;
#[cfg(any(feature = "awssm", feature = "infisical", feature = "scaleway", test))]
pub(crate) use path::join_slash_path;
pub(crate) use preflight::ProviderWithPreflight;
#[cfg(any(feature = "cli", test))]
pub(crate) use registry::spec_provider_reads;
pub(crate) use registry::{
credential_names_for_spec, deleting_provider_names, provider_display_name_for_spec,
spec_names_known_provider, spec_provider_deletes,
};
#[cfg(any(
feature = "akv",
feature = "awsps",
feature = "awssm",
feature = "cloudflare",
feature = "gcsm",
feature = "infisical",
feature = "scaleway"
))]
pub(crate) use runtime::block_on;
#[cfg(test)]
pub(crate) use traits::GET_EACH_CONCURRENCY_ENV;
#[cfg(test)]
pub(crate) use traits::get_each;
#[cfg(any(feature = "infisical", feature = "openbao", feature = "vault"))]
pub(crate) use traits::get_each_with;
pub(crate) use traits::{get_each_concurrency, map_concurrently, same_storage_container};
pub(crate) use url::{ProviderUrl, URI_ENCODE_SET};
#[cfg(feature = "aac")]
pub mod aac;
#[cfg(feature = "age")]
pub mod age;
#[cfg(feature = "akv")]
pub mod akv;
#[cfg(feature = "awsps")]
pub mod awsps;
#[cfg(feature = "awssm")]
pub mod awssm;
#[cfg(feature = "bw")]
pub mod bw;
#[cfg(feature = "bws")]
pub mod bws;
#[cfg(feature = "cloudflare")]
pub mod cloudflare;
pub mod dashlane;
pub mod dotenv;
#[cfg(feature = "ejson")]
pub mod ejson;
pub mod env;
pub mod file;
pub mod fly;
#[cfg(feature = "gcsm")]
pub mod gcsm;
pub mod gopass;
#[cfg(feature = "infisical")]
pub mod infisical;
#[cfg(feature = "kdbx")]
pub mod kdbx;
#[cfg(feature = "keeper")]
pub mod keeper;
#[cfg(feature = "keyring")]
pub mod keyring;
#[cfg(feature = "kubernetes")]
pub mod kubernetes;
pub mod lastpass;
pub mod null;
pub mod onepassword;
#[cfg(feature = "openbao")]
pub mod openbao;
pub mod pass;
pub mod passbolt;
pub mod protonpass;
#[cfg(feature = "scaleway")]
pub mod scaleway;
#[cfg(feature = "sops")]
pub mod sops;
pub mod systemd_credential;
#[cfg(feature = "vault")]
pub mod vault;
#[cfg(any(feature = "openbao", feature = "vault"))]
mod vault_common;
#[cfg(test)]
pub(crate) mod tests;