Skip to content

Commit 2822736

Browse files
committed
docs: adds documentation
1 parent 6b0d7ee commit 2822736

File tree

3 files changed

+35
-1
lines changed

3 files changed

+35
-1
lines changed

docs/utilities/parameters.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ This utility requires additional permissions to work as expected.
6161
| SSM | **`getParameters`**, **`SSMProvider.getMultiple`** | **`ssm:GetParametersByPath`** |
6262
| SSM | **`getParametersByName`**, **`SSMProvider.getParametersByName`** | **`ssm:GetParameter`** and **`ssm:GetParameters`** |
6363
| SSM | If using **`decrypt: true`** | You must add an additional permission **`kms:Decrypt`** |
64+
| SSM | **`setParameter`**, **`SSMProvider.set`** | **`ssm:PutParameter`** |
6465
| Secrets | **`getSecret`**, **`SecretsProvider.get`** | **`secretsmanager:GetSecretValue`** |
6566
| DynamoDB | **`DynamoDBProvider.get`** | **`dynamodb:GetItem`** |
6667
| DynamoDB | **`DynamoDBProvider.getMultiple`** | **`dynamodb:Query`** |
@@ -104,6 +105,20 @@ For multiple parameters, you can use either:
104105
--8<-- "examples/snippets/parameters/getParametersByNameGracefulErrorHandling.ts"
105106
```
106107

108+
### Storing parameters
109+
110+
You can store parameters in the System Manager Parameter Store using `setParameter`.
111+
112+
```typescript hl_lines="1 5" title="Storing a parameter in SSM"
113+
--8<-- "examples/snippets/parameters/setParameter.ts"
114+
```
115+
116+
If the parameter is already existent, it needs to have the `overwrite` parameter set to `true` to update the value.
117+
118+
```typescript hl_lines="1 7" title="Overwriting an existing parameter in SSM"
119+
--8<-- "examples/snippets/parameters/setParameterOverwrite.ts"
120+
```
121+
107122
### Fetching secrets
108123

109124
You can fetch secrets stored in Secrets Manager using `getSecret`.
@@ -370,11 +385,13 @@ You can use a special `sdkOptions` object argument to pass any supported option
370385
Here is the mapping between this utility's functions and methods and the underlying SDK:
371386

372387
| Provider | Function/Method | Client name | Function name |
373-
| ------------------- | ------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
388+
| ------------------- |--------------------------------| --------------------------------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
374389
| SSM Parameter Store | `getParameter` | `@aws-sdk/client-ssm` | [GetParameterCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/GetParameterCommand/){target="_blank"} |
375390
| SSM Parameter Store | `getParameters` | `@aws-sdk/client-ssm` | [GetParametersByPathCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/GetParametersByPathCommand/){target="_blank"} |
376391
| SSM Parameter Store | `SSMProvider.get` | `@aws-sdk/client-ssm` | [GetParameterCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/GetParameterCommand/){target="_blank"} |
377392
| SSM Parameter Store | `SSMProvider.getMultiple` | `@aws-sdk/client-ssm` | [GetParametersByPathCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/GetParametersByPathCommand){target="_blank"} |
393+
| SSM Parameter Store | `setParameter` | `@aws-sdk/client-ssm` | [PutParameterCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/PutParameterCommand/){target="_blank"} |
394+
| SSM Parameter Store | `SSMProvider.set` | `@aws-sdk/client-ssm` | [PutParameterCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ssm/command/PutParameterCommand/){target="_blank"} |
378395
| Secrets Manager | `getSecret` | `@aws-sdk/client-secrets-manager` | [GetSecretValueCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/secrets-manager/command/GetSecretValueCommand/){target="_blank"} |
379396
| Secrets Manager | `SecretsProvider.get` | `@aws-sdk/client-secrets-manager` | [GetSecretValueCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/secrets-manager/command/GetSecretValueCommand/){target="_blank"} |
380397
| AppConfig | `AppConfigProvider.get` | `@aws-sdk/client-appconfigdata` | [StartConfigurationSessionCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/appconfigdata/command/StartConfigurationSessionCommand/){target="_blank"} & [GetLatestConfigurationCommand](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/appconfigdata/command/GetLatestConfigurationCommand/){target="_blank"} |
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { setParameter } from '@aws-lambda-powertools/parameters/ssm';
2+
3+
export const handler = async (): Promise<void> => {
4+
// Store a string parameter
5+
const parameter = await setParameter('/my/parameter', { value: 'my-value' });
6+
console.log(parameter);
7+
};
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { setParameter } from '@aws-lambda-powertools/parameters/ssm';
2+
3+
export const handler = async (): Promise<void> => {
4+
// Overwrite a string parameter
5+
const parameter = await setParameter('/my/parameter', {
6+
value: 'my-value',
7+
overwrite: true,
8+
});
9+
console.log(parameter);
10+
};

0 commit comments

Comments
 (0)