1- import { Logger } from '@aws-lambda-powertools/logger' ;
21import { BaseProvider } from '@aws-lambda-powertools/parameters/base' ;
2+ import { GetParameterError } from '@aws-lambda-powertools/parameters/errors' ;
33import Vault from 'hashi-vault-js' ;
44import type {
55 HashiCorpVaultGetOptions ,
@@ -9,17 +9,14 @@ import type {
99class HashiCorpVaultProvider extends BaseProvider {
1010 public client : Vault ;
1111 readonly #token: string ;
12- readonly #logger: Logger ;
1312
1413 /**
1514 * It initializes the HashiCorpVaultProvider class.
1615 *
1716 * @param {HashiCorpVaultProviderOptions } config - The configuration object.
1817 */
1918 public constructor ( config : HashiCorpVaultProviderOptions ) {
20- super ( {
21- proto : Vault ,
22- } ) ;
19+ super ( { } ) ;
2320
2421 const { url, token, clientConfig, vaultClient } = config ;
2522 if ( vaultClient ) {
@@ -39,9 +36,6 @@ class HashiCorpVaultProvider extends BaseProvider {
3936 this . client = new Vault ( config ) ;
4037 }
4138 this . #token = token ;
42- this . #logger = new Logger ( {
43- serviceName : 'HashiCorpVaultProvider' ,
44- } ) ;
4539 }
4640
4741 /**
@@ -55,13 +49,13 @@ class HashiCorpVaultProvider extends BaseProvider {
5549 * @param {string } name - The name of the secret
5650 * @param {HashiCorpVaultGetOptions } options - Options to customize the retrieval of the secret
5751 */
58- public async get (
52+ public async get < T extends Record < string , unknown > > (
5953 name : string ,
6054 options ?: HashiCorpVaultGetOptions
61- ) : Promise < Record < string , unknown > | undefined > {
55+ ) : Promise < T | undefined > {
6256 return super . get ( name , options ) as Promise <
6357 Record < string , unknown > | undefined
64- > ;
58+ > as Promise < T | undefined > ;
6559 }
6660
6761 /**
@@ -92,9 +86,6 @@ class HashiCorpVaultProvider extends BaseProvider {
9286 ) ;
9387
9488 if ( response . isVaultError ) {
95- this . #logger. error ( 'An error occurred' , {
96- error : response . vaultHelpMessage ,
97- } ) ;
9889 throw response ;
9990 }
10091 return response . data ;
@@ -108,8 +99,8 @@ class HashiCorpVaultProvider extends BaseProvider {
10899 protected async _getMultiple (
109100 _path : string ,
110101 _options ?: unknown
111- ) : Promise < void > {
112- throw new Error ( 'Method not implemented.' ) ;
102+ ) : Promise < Record < string , unknown > | undefined > {
103+ throw new GetParameterError ( 'Method not implemented.' ) ;
113104 }
114105}
115106
0 commit comments