UNPKG

@aws-lambda-powertools/parameters

Version:
34 lines (33 loc) 1.31 kB
import { EnvironmentVariablesService as CommonEnvironmentVariablesService } from '@aws-lambda-powertools/commons'; import { DEFAULT_MAX_AGE_SECS } from '../constants.js'; class EnvironmentVariablesService extends CommonEnvironmentVariablesService { // Environment variables parametersMaxAgeVariable = 'POWERTOOLS_PARAMETERS_MAX_AGE'; ssmDecryptVariable = 'POWERTOOLS_PARAMETERS_SSM_DECRYPT'; /** * It returns the value of the POWERTOOLS_PARAMETERS_MAX_AGE environment variable. * * @returns {number|undefined} */ getParametersMaxAge() { const maxAge = this.get(this.parametersMaxAgeVariable); if (maxAge.length === 0) return undefined; const maxAgeAsNumber = Number.parseInt(maxAge, 10); if (Number.isNaN(maxAgeAsNumber)) { console.warn(`Invalid value for ${this.parametersMaxAgeVariable} environment variable: [${maxAge}], using default value of ${DEFAULT_MAX_AGE_SECS} seconds`); } else { return maxAgeAsNumber; } } /** * It returns the value of the POWERTOOLS_PARAMETERS_SSM_DECRYPT environment variable. * * @returns {string} */ getSSMDecrypt() { return this.get(this.ssmDecryptVariable); } } export { EnvironmentVariablesService };