Skip to main content

alien_client_config/
lib.rs

1//! Cloud client configuration and credential loading for Alien
2//!
3//! This crate provides a unified interface for loading cloud credentials from environment variables
4//! and performing cloud-agnostic impersonation operations.
5//!
6//! # Example
7//!
8//! ```rust,no_run
9//! use alien_client_config::ClientConfigExt;
10//! use alien_core::{ClientConfig, Platform};
11//!
12//! # async fn example() -> Result<(), Box<dyn std::error::Error>> {
13//! // Load AWS credentials from environment
14//! let aws_config = ClientConfig::from_std_env(Platform::Aws).await?;
15//!
16//! // Load GCP credentials from environment
17//! let gcp_config = ClientConfig::from_std_env(Platform::Gcp).await?;
18//!
19//! // Load Azure credentials from environment
20//! let azure_config = ClientConfig::from_std_env(Platform::Azure).await?;
21//! # Ok(())
22//! # }
23//! ```
24
25mod client_config_ext;
26
27pub use alien_core::{ClientConfig, ImpersonationConfig};
28pub use client_config_ext::ClientConfigExt;