# aws-parameter-store-json-writer

> A library that stores JSON in to AWS Parameter Store.

Latest version **2.0.1** (published 2018-11-30) · MIT license · 0 weekly downloads

## Install

```sh
npm install aws-parameter-store-json-writer
pnpm add aws-parameter-store-json-writer
yarn add aws-parameter-store-json-writer
bun add aws-parameter-store-json-writer
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.1 |
| Published | 2018-11-30 |
| First published | 2018-11-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 25.5 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Matthew Lloyd |
| Maintainers | matt.lloyd101 |
| Keywords | aws, parameter, store, json |

## Links

- npm: https://www.npmjs.com/package/aws-parameter-store-json-writer
- Repository: https://github.com/MattLloyd101/aws-parameter-store-json-writer
- Homepage: https://github.com/MattLloyd101/aws-parameter-store-json-writer#readme
- Issues: https://github.com/MattLloyd101/aws-parameter-store-json-writer/issues
- npm.io page: https://npm.io/package/aws-parameter-store-json-writer

## Dependencies (2)

- [retry](https://npm.io/package/retry.md) ^0.12.0
- [aws-sdk](https://npm.io/package/aws-sdk.md) ^2.359.0

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 2.0.1 (latest) — 2018-11-30
- 2.0.0 — 2018-11-27
- 1.1.1 — 2018-11-27
- 1.1.0 — 2018-11-26
- 1.0.0 — 2018-11-23

## README

# AWS Parameter Store JSON Writer

[![Build Status](https://travis-ci.org/MattLloyd101/aws-parameter-store-json-writer.svg?branch=master)](https://travis-ci.org/MattLloyd101/aws-parameter-store-json-writer)
[![npm version](https://badge.fury.io/js/aws-parameter-store-json-writer.svg)](https://badge.fury.io/js/aws-parameter-store-json-writer)

A Node.js library that stores JSON in to AWS Parameter Store.

Meant to be used in conjunction with [aws-parameter-store-json-reader](https://github.com/MattLloyd101/aws-parameter-store-json-reader).

## Installation

via [npm](https://github.com/npm/npm)

```bash
npm install aws-parameter-store-json-writer
```

## Usage

```javascript
const AwsParameterStoreJsonWriter = require('aws-parameter-store-json-writer');

const parameterWriter = new AwsParameterStoreJsonWriter({
	"keyId": "arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e",
	"secrets": [ /\/ContentManagement\/ContentManagementAggregator\/(dev|prod)\/db\/password/ ],
	"retryOptions": {
		"retries": 5,
		"factor": 3,
		"minTimeout": 1 * 1000,
		"maxTimeout": 60 * 1000
	}
});

const config = {
	"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"
		}
	}
};

async function writeConfig(config) {
	const prefix = "/ContentManagement/ContentManagementAggregator";
	return await parameterWriter.write(prefix, config);
}

writeConfig(config);
```

The above will yield the following parameters added:

| Name | Type | Key ID | Value |
| ---- | ---- | ------ | ----- |
| `/ContentManagement/ContentManagementAggregator/dev/db/username` | String | - | dev-user |
| `/ContentManagement/ContentManagementAggregator/dev/db/password` | SecureString | arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e | secret-password |
| `/ContentManagement/ContentManagementAggregator/dev/tags` | StringList | - | "dev", "database" |
| `/ContentManagement/ContentManagementAggregator/dev/ids` | StringList | - | "12", "42", "128" |
| `/ContentManagement/ContentManagementAggregator/dev/objs/0/entry` | String | - | "1" |
| `/ContentManagement/ContentManagementAggregator/dev/objs/1/entry` | String | - | "2" |
| `/ContentManagement/ContentManagementAggregator/dev/objs/2/entry` | String | - | "3" |
| `/ContentManagement/ContentManagementAggregator/prod/db/username` | String | - | prod-user |
| `/ContentManagement/ContentManagementAggregator/prod/db/password` | SecureString | arn: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.  
**keyId** – (optional) The AWS KMS Key Id you wish to encrypt your secrets with.  
**secrets** – (optional) A set of Regular Expressions or Strings which match the paths of the keys you wish to be secret.  
**retryOptions** - (optional) The Parameter Store Json Writer uses [retry](https://github.com/tim-kos/node-retry) as it's exponential backoff mechanism.

## Versioning

This library uses the [Semver](https://semver.org/) versioning system. The numbers do not relate to maturity but the number of breaking changes introduced.

---
_Source: https://npm.io/package/aws-parameter-store-json-writer · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
