import { GetSecretValueCommand, SecretsManagerClient, ListSecretsCommand, } from '@aws-sdk/client-secrets-manager'; import CloudProviderBase from './CloudProviderBase'; export default class AwsSecretsManagerProvider extends CloudProviderBase { private secretsManagerClient: SecretsManagerClient; constructor(private secretId: string, region: string) { super(); this.secretsManagerClient = new SecretsManagerClient({ region: region, }); } public getAll(): Promise> { } protected async getSecretData(secretName: string) { const secretData = await this.secretsManagerClient.send( new GetSecretValueCommand({ SecretId: this.secretId, }) ); const formattedSecretData = JSON.parse(secretData.SecretString ?? ''); return formattedSecretData[secretName]; } }