@aws-lambda-powertools/parameters
Version:
The parameters package for the Powertools for AWS Lambda (TypeScript) library
34 lines (33 loc) • 1.31 kB
JavaScript
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 };