aws-ssm-parameters-injector

A utility module to load and inject ssm parameters into json configuration objects
Installation
npm install --save aws-ssm-parameters-injector
Usage
const injector = require('aws-ssm-parameters-injector')
injector.loadConfig(configFilePath, options).then((r) => {
}, (e) => {
})
injector.loadSsmParamsIntoConfig(configObject, options).then((r) => {
}, (e) => {
})
Options
{
ssm: SSM,
strict?: boolean
}
Config
Any json object. If you want to load a string from ssm then use 'ssm:/path/to/ssm/param' as its value
String template
"prefix{ssm:/path/to/ssm/param}suffix" - see "d" in the example below
Object template
"prefix{ssm:/path/to/ssm/param paramObjectPath}suffix" - see "e" in the example below
Example
Assuming you have 5 values in your ssm paramters.
/app/token = 'sometoken'
/app/some/url = 'https://someurl.com'
/app/some/json = '{"d":{"v":2}}'
And, your config object is
{
"myAppUrl": "ssm:/app/some/url",
"b": {
"myToken": "ssm:/app/token",
"someObject": "ssm:/app/some/json"
},
"c": "normalData",
"d": "pr{ssm:/app/token}su",
"e": "pr{ssm:/app/some/json d.v}su"
}
Then,
const injector = require('aws-ssm-parameters-injector')
injector.loadSsmParamsIntoConfig(configObject, options).then((r) => {
}, (e) => {
})