1.0.1 • Published 5 years ago

aws-parameter-store-json-reader v1.0.1

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

AWS Parameter Store JSON Reader

Build Status npm version

A Node.js library that reads JSON from AWS Parameter Store.

Meant to be used in conjunction with aws-parameter-store-json-writer.

Installation

via npm

npm install aws-parameter-store-json-reader

Usage

const AwsParameterStoreJsonReader = require('aws-parameter-store-json-reader');

const parameterReader = new AwsParameterStoreJsonReader({
    "apiVersion": '2014-11-06',
});

async function readConfig(path) {
    return await parameterReader.read(path);
}

readConfig("/ContentManagement/ContentManagementAggregator");

// {
//     "dev": {
//         "db": {
//             "username": "dev-user",
//             "password": "secret-password"
//         },
//         "tags": ["dev", "database"],
//         "ids": ["12", "42", "128"],
//         "objs": [{ "entry": "1" }, { "entry": "2" }, { "entry": "3" }]
//     },
//     "prod": {
//         "db": {
//             "username": "prod-user",
//             "password": "super-secret-password"
//         }
//     }
// };

The above assumes that the values in the path adhere to the JSON structure provided by aws-parameter-store-json-writer. e.g.

NameTypeKey IDValue
/ContentManagement/ContentManagementAggregator/dev/db/usernameString-dev-user
/ContentManagement/ContentManagementAggregator/dev/db/passwordSecureStringarn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e"secret-password"
/ContentManagement/ContentManagementAggregator/dev/tagsStringList-"dev", "database"
/ContentManagement/ContentManagementAggregator/dev/idsStringList-"12", "42", "128"
/ContentManagement/ContentManagementAggregator/dev/objs/0/entryString-"1"
/ContentManagement/ContentManagementAggregator/dev/objs/1/entryString-"2"
/ContentManagement/ContentManagementAggregator/dev/objs/2/entryString-"3"
/ContentManagement/ContentManagementAggregator/prod/db/usernameString-"prod-user"
/ContentManagement/ContentManagementAggregator/prod/db/passwordSecureStringarn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e"super-secret-password"

Parameter Store Json Writer Configuration

apiVersion – (optional) The version of the AWS API you wish to be using.

Versioning

This library uses the Semver versioning system. The numbers do not relate to maturity but the number of breaking changes introduced.