pub mod error;
pub mod provider;
pub mod service;
pub mod store;
pub mod types;
pub mod wami;
pub use error::{AmiError, Result};
pub use types::{AmiResponse, AwsConfig, PaginationParams, PolicyDocument, PolicyStatement, Tag};
pub use store::memory::InMemoryStore;
pub use store::{SsoAdminStore, Store, StsStore, WamiStore};
pub use provider::ProviderConfig;
pub use service::{
AccessKeyService, AccountAssignmentService, ApplicationService, AssumeRoleService,
CredentialReportService, EvaluationService, FederationService, GroupService, IdentityService,
InstanceService as SsoInstanceService, LoginProfileService, MfaDeviceService,
PermissionSetService, PolicyService, RoleService, ServerCertificateService,
ServiceCredentialService, ServiceLinkedRoleService, SessionService, SessionTokenService,
SigningCertificateService, TenantService, TrustedTokenIssuerService, UserService,
};
pub use wami::{sso_admin, sts, tenant};
pub use wami::identity::{Group, Role, User};
pub use wami::credentials::{
AccessKey, LoginProfile, MfaDevice, ServerCertificate, ServiceSpecificCredential,
};
pub use wami::policies::Policy;
pub use wami::reports::CredentialReport;
pub use wami::sts::{Credentials, StsSession};
pub use wami::tenant::{
check_tenant_permission, BillingInfo, QuotaMode, Tenant, TenantAction, TenantId, TenantQuotas,
TenantStatus, TenantType, TenantUsage,
};
pub use wami::credentials::access_key::{
AccessKeyLastUsed, CreateAccessKeyRequest, ListAccessKeysRequest, ListAccessKeysResponse,
UpdateAccessKeyRequest,
};
pub use wami::credentials::login_profile::{
CreateLoginProfileRequest, GetLoginProfileRequest, UpdateLoginProfileRequest,
};
pub use wami::credentials::mfa_device::{EnableMfaDeviceRequest, ListMfaDevicesRequest};
pub use wami::credentials::server_certificate::{
DeleteServerCertificateRequest, GetServerCertificateRequest, GetServerCertificateResponse,
ListServerCertificatesRequest, ListServerCertificatesResponse, UpdateServerCertificateRequest,
UploadServerCertificateRequest, UploadServerCertificateResponse,
};
pub use wami::credentials::service_credential::{
CreateServiceSpecificCredentialRequest, CreateServiceSpecificCredentialResponse,
DeleteServiceSpecificCredentialRequest, ListServiceSpecificCredentialsRequest,
ListServiceSpecificCredentialsResponse, ResetServiceSpecificCredentialRequest,
ResetServiceSpecificCredentialResponse, UpdateServiceSpecificCredentialRequest,
};
pub use wami::credentials::signing_certificate::{
CertificateStatus, DeleteSigningCertificateRequest, ListSigningCertificatesRequest,
ListSigningCertificatesResponse, SigningCertificate, UpdateSigningCertificateRequest,
UploadSigningCertificateRequest, UploadSigningCertificateResponse,
};
pub use wami::identity::group::{
CreateGroupRequest, ListGroupsRequest, ListGroupsResponse, UpdateGroupRequest,
};
pub use wami::identity::role::{
CreateRoleRequest, ListRolesRequest, ListRolesResponse, UpdateRoleRequest,
};
pub use wami::identity::service_linked_role::{
CreateServiceLinkedRoleRequest, CreateServiceLinkedRoleResponse,
DeleteServiceLinkedRoleRequest, DeleteServiceLinkedRoleResponse, DeletionTaskFailureReason,
DeletionTaskInfo, DeletionTaskStatus, GetServiceLinkedRoleDeletionStatusRequest,
GetServiceLinkedRoleDeletionStatusResponse, RoleUsageType,
};
pub use wami::identity::user::{
CreateUserRequest, ListUsersRequest, ListUsersResponse, UpdateUserRequest,
};
pub use wami::policies::evaluation::{
ContextEntry, EvaluationResult, SimulateCustomPolicyRequest, SimulatePolicyResponse,
SimulatePrincipalPolicyRequest, StatementMatch,
};
pub use wami::policies::policy::{
CreatePolicyRequest, ListPoliciesRequest, ListPoliciesResponse, UpdatePolicyRequest,
};
pub use wami::reports::credential_report::{
AccountSummaryMap, CredentialReport as CredentialReportType, GenerateCredentialReportRequest,
GenerateCredentialReportResponse, GetAccountSummaryRequest, GetAccountSummaryResponse,
GetCredentialReportRequest, GetCredentialReportResponse, ReportState,
};
pub use wami::tags::{ListResourceTagsRequest, TagResourceRequest, UntagResourceRequest};
pub use sts::{AssumeRoleRequest, GetSessionTokenRequest};
pub fn create_memory_store() -> InMemoryStore {
InMemoryStore::new()
}