1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//! Store Trait Definitions
//!
//! This module contains the trait definitions for all store operations.
//! These traits define the interface that storage backends must implement.
//!
//! # Architecture
//!
//! ## Interface Segregation Principle
//!
//! The store traits follow the Interface Segregation Principle with focused sub-traits:
//! - `UserStore`, `GroupStore`, `RoleStore` - Identity management
//! - `AccessKeyStore`, `MfaDeviceStore`, `LoginProfileStore` - Credential management
//! - `PolicyStore` - Authorization management
//! - `WamiStore` - Composite trait combining all IAM sub-traits
//! - `StsStore`, `SsoAdminStore`, `TenantStore` - Service-specific traits
//!
//! ## Benefits
//!
//! - **Flexibility**: Implement only what you need (e.g., UserStore + GroupStore)
//! - **Testability**: Easier testing with focused mocks
//! - **Modularity**: Better code organization and separation of concerns
//! - **Scalability**: Parallel development without merge conflicts
// Sub-trait directories (organized by functionality)
// Access Keys, MFA Devices, Login Profiles, Certificates, Service Credentials
// Users, Groups, Roles, Service-Linked Roles
// Policies
// Credential Reports
// Composite trait directories
// STS store (sessions + identities)
// WAMI store (identity + credentials + policies) // SSO Admin store (permission sets + assignments + instances + apps + issuers)
// Supporting trait modules
// Export sub-traits from identity
pub use ;
// Export sub-traits from credentials
pub use ;
// Export sub-traits from policies
pub use PolicyStore;
// Export sub-traits from reports
pub use CredentialReportStore;
// Export composite traits
pub use ;
pub use ;
pub use TenantStore;
pub use WamiStore;