@iota-big3/sdk-security
Version:
Advanced security features including zero trust, quantum-safe crypto, and ML threat detection
95 lines • 2.72 kB
TypeScript
/**
* AWS Secrets Manager Provider
* Native AWS integration for secrets management
*/
import { EventEmitter } from 'events';
import { HealthStatus, RotationPolicy, Secret, SecretFilter, SecretMetadata, SecretsManager, SecretsProvider, SecretsProviderConfig } from '../types';
export declare class AWSSecretsProvider extends EventEmitter implements SecretsManager {
readonly provider = SecretsProvider.AWS_SECRETS_MANAGER;
private config;
private isInitialized;
private cache;
constructor(config: SecretsProviderConfig);
/**
* Initialize AWS Secrets Manager client
*/
initialize(): Promise<void>;
/**
* Get secret from AWS Secrets Manager
*/
getSecret(name: string, version?: string): Promise<Secret>;
/**
* Create or update secret
*/
setSecret(name: string, value: any, metadata?: Partial<SecretMetadata>): Promise<void>;
/**
* Delete secret
*/
deleteSecret(name: string, permanent?: boolean): Promise<void>;
/**
* List secrets
*/
listSecrets(filter?: SecretFilter): Promise<SecretMetadata[]>;
/**
* Rotate secret
*/
rotateSecret(name: string): Promise<void>;
/**
* Schedule rotation
*/
scheduleRotation(name: string, policy: RotationPolicy): Promise<void>;
/**
* Get secret versions
*/
getSecretVersions(name: string): Promise<string[]>;
/**
* Rollback to specific version
*/
rollbackSecret(name: string, version: string): Promise<void>;
/**
* Get multiple secrets
*/
getBulkSecrets(names: string[]): Promise<Secret[]>;
/**
* Import secrets
*/
importSecrets(secrets: Secret[]): Promise<void>;
/**
* Export secrets
*/
exportSecrets(filter?: SecretFilter): Promise<Secret[]>;
/**
* Health check
*/
healthCheck(): Promise<HealthStatus>;
/**
* Helper methods
*/
private validateConfig;
private ensureInitialized;
private getFromCache;
private addToCache;
private parseSecretValue;
private inferSecretType;
private convertTagsToRecord;
private convertRecordToTags;
private matchTags;
private secretExists;
private configureRotation;
private createRotationLambda;
private auditLog;
/**
* AWS API Mock Methods
* In production, these would use actual AWS SDK
*/
private awsGetSecret;
private awsCreateSecret;
private awsUpdateSecret;
private awsDeleteSecret;
private awsListSecrets;
private awsRotateSecret;
private awsConfigureRotation;
private awsListSecretVersions;
private awsTagResource;
}
//# sourceMappingURL=aws-secrets-provider.d.ts.map