@allthings/cloud-toolkit 5.1.0-beta.1 → 5.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib.cjs.js +22 -20
- package/dist/lib.esm.mjs +23 -21
- package/dist/src/aws/index.d.ts +1 -1
- package/dist/src/aws/parameterStore.d.ts +0 -2
- package/dist/src/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/lib.cjs.js
CHANGED
|
@@ -967,16 +967,32 @@ const getSecrets = async (ssm, config, parameters_, defaultValues) => {
|
|
|
967
967
|
return defaultValues;
|
|
968
968
|
}
|
|
969
969
|
};
|
|
970
|
+
const fetchParameterValue = async (ssm, config, parameter_) => {
|
|
971
|
+
const parameter = await ssm.send(new clientSsm.GetParameterCommand({
|
|
972
|
+
Name: `${config.prefix ?? ''}${parameter_}`,
|
|
973
|
+
WithDecryption: true,
|
|
974
|
+
}));
|
|
975
|
+
return parameter?.Parameter?.Value;
|
|
976
|
+
};
|
|
977
|
+
const getRequiredSecret = async (ssm, config, parameter_) => {
|
|
978
|
+
const value = await fetchParameterValue(ssm, config, parameter_);
|
|
979
|
+
if (value === undefined) {
|
|
980
|
+
throw new Error(`Could not retrieve parameter ${parameter_} from AWS SSM parameter store`);
|
|
981
|
+
}
|
|
982
|
+
return value;
|
|
983
|
+
};
|
|
970
984
|
const getSecret = async (ssm, config, parameter_, defaultValue) => {
|
|
985
|
+
if (defaultValue === undefined) {
|
|
986
|
+
if (config.onlyDefault) {
|
|
987
|
+
throw new Error(`Cannot retrieve parameter ${parameter_}: onlyDefault is enabled and no default value was provided`);
|
|
988
|
+
}
|
|
989
|
+
return getRequiredSecret(ssm, config, parameter_);
|
|
990
|
+
}
|
|
971
991
|
if (config.onlyDefault) {
|
|
972
992
|
return defaultValue;
|
|
973
993
|
}
|
|
974
994
|
try {
|
|
975
|
-
|
|
976
|
-
Name: `${config.prefix ?? ''}${parameter_}`,
|
|
977
|
-
WithDecryption: true,
|
|
978
|
-
}));
|
|
979
|
-
return parameter?.Parameter?.Value ?? defaultValue;
|
|
995
|
+
return (await fetchParameterValue(ssm, config, parameter_)) ?? defaultValue;
|
|
980
996
|
}
|
|
981
997
|
catch (error) {
|
|
982
998
|
if (config.logger) {
|
|
@@ -985,19 +1001,6 @@ const getSecret = async (ssm, config, parameter_, defaultValue) => {
|
|
|
985
1001
|
return defaultValue;
|
|
986
1002
|
}
|
|
987
1003
|
};
|
|
988
|
-
const getSecureStringParameter = async (ssm, config, parameter_) => {
|
|
989
|
-
if (config.onlyDefault) {
|
|
990
|
-
throw new Error(`Cannot retrieve parameter ${parameter_}: getSecureStringParameter has no default value, but onlyDefault is enabled`);
|
|
991
|
-
}
|
|
992
|
-
const parameter = await ssm.send(new clientSsm.GetParameterCommand({
|
|
993
|
-
Name: `${config.prefix ?? ''}${parameter_}`,
|
|
994
|
-
WithDecryption: true,
|
|
995
|
-
}));
|
|
996
|
-
if (parameter?.Parameter?.Value === undefined) {
|
|
997
|
-
throw new Error(`Could not retrieve parameter ${parameter_} from AWS SSM parameter store`);
|
|
998
|
-
}
|
|
999
|
-
return parameter.Parameter.Value;
|
|
1000
|
-
};
|
|
1001
1004
|
const parameterStore = (userConfig) => {
|
|
1002
1005
|
const { clientConfig, ...config } = {
|
|
1003
1006
|
...DEFAULT_CLIENT_CONFIG$1,
|
|
@@ -1005,9 +1008,8 @@ const parameterStore = (userConfig) => {
|
|
|
1005
1008
|
};
|
|
1006
1009
|
const ssm = new clientSsm.SSMClient(clientConfig);
|
|
1007
1010
|
return {
|
|
1008
|
-
getSecret: (parameter, defaultValue
|
|
1011
|
+
getSecret: (parameter, defaultValue) => getSecret(ssm, config, parameter, defaultValue),
|
|
1009
1012
|
getSecrets: (parameters, defaultValues = []) => getSecrets(ssm, config, parameters, defaultValues),
|
|
1010
|
-
getSecureStringParameter: (parameter) => getSecureStringParameter(ssm, config, parameter),
|
|
1011
1013
|
};
|
|
1012
1014
|
};
|
|
1013
1015
|
|
package/dist/lib.esm.mjs
CHANGED
|
@@ -7,7 +7,7 @@ import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
|
7
7
|
import { DynamoDBDocumentClient, UpdateCommand, ScanCommand, QueryCommand, PutCommand, GetCommand, DeleteCommand, BatchWriteCommand } from '@aws-sdk/lib-dynamodb';
|
|
8
8
|
import Bottleneck from 'bottleneck';
|
|
9
9
|
import { LambdaClient, InvokeCommand } from '@aws-sdk/client-lambda';
|
|
10
|
-
import { SSMClient,
|
|
10
|
+
import { SSMClient, GetParametersCommand, GetParameterCommand } from '@aws-sdk/client-ssm';
|
|
11
11
|
import { SESv2Client, SendEmailCommand } from '@aws-sdk/client-sesv2';
|
|
12
12
|
import { createTransport } from 'nodemailer';
|
|
13
13
|
import { SQSClient, SendMessageCommand, SendMessageBatchCommand, GetQueueUrlCommand, ReceiveMessageCommand, DeleteMessageCommand } from '@aws-sdk/client-sqs';
|
|
@@ -945,16 +945,32 @@ const getSecrets = async (ssm, config, parameters_, defaultValues) => {
|
|
|
945
945
|
return defaultValues;
|
|
946
946
|
}
|
|
947
947
|
};
|
|
948
|
+
const fetchParameterValue = async (ssm, config, parameter_) => {
|
|
949
|
+
const parameter = await ssm.send(new GetParameterCommand({
|
|
950
|
+
Name: `${config.prefix ?? ''}${parameter_}`,
|
|
951
|
+
WithDecryption: true,
|
|
952
|
+
}));
|
|
953
|
+
return parameter?.Parameter?.Value;
|
|
954
|
+
};
|
|
955
|
+
const getRequiredSecret = async (ssm, config, parameter_) => {
|
|
956
|
+
const value = await fetchParameterValue(ssm, config, parameter_);
|
|
957
|
+
if (value === undefined) {
|
|
958
|
+
throw new Error(`Could not retrieve parameter ${parameter_} from AWS SSM parameter store`);
|
|
959
|
+
}
|
|
960
|
+
return value;
|
|
961
|
+
};
|
|
948
962
|
const getSecret = async (ssm, config, parameter_, defaultValue) => {
|
|
963
|
+
if (defaultValue === undefined) {
|
|
964
|
+
if (config.onlyDefault) {
|
|
965
|
+
throw new Error(`Cannot retrieve parameter ${parameter_}: onlyDefault is enabled and no default value was provided`);
|
|
966
|
+
}
|
|
967
|
+
return getRequiredSecret(ssm, config, parameter_);
|
|
968
|
+
}
|
|
949
969
|
if (config.onlyDefault) {
|
|
950
970
|
return defaultValue;
|
|
951
971
|
}
|
|
952
972
|
try {
|
|
953
|
-
|
|
954
|
-
Name: `${config.prefix ?? ''}${parameter_}`,
|
|
955
|
-
WithDecryption: true,
|
|
956
|
-
}));
|
|
957
|
-
return parameter?.Parameter?.Value ?? defaultValue;
|
|
973
|
+
return (await fetchParameterValue(ssm, config, parameter_)) ?? defaultValue;
|
|
958
974
|
}
|
|
959
975
|
catch (error) {
|
|
960
976
|
if (config.logger) {
|
|
@@ -963,19 +979,6 @@ const getSecret = async (ssm, config, parameter_, defaultValue) => {
|
|
|
963
979
|
return defaultValue;
|
|
964
980
|
}
|
|
965
981
|
};
|
|
966
|
-
const getSecureStringParameter = async (ssm, config, parameter_) => {
|
|
967
|
-
if (config.onlyDefault) {
|
|
968
|
-
throw new Error(`Cannot retrieve parameter ${parameter_}: getSecureStringParameter has no default value, but onlyDefault is enabled`);
|
|
969
|
-
}
|
|
970
|
-
const parameter = await ssm.send(new GetParameterCommand({
|
|
971
|
-
Name: `${config.prefix ?? ''}${parameter_}`,
|
|
972
|
-
WithDecryption: true,
|
|
973
|
-
}));
|
|
974
|
-
if (parameter?.Parameter?.Value === undefined) {
|
|
975
|
-
throw new Error(`Could not retrieve parameter ${parameter_} from AWS SSM parameter store`);
|
|
976
|
-
}
|
|
977
|
-
return parameter.Parameter.Value;
|
|
978
|
-
};
|
|
979
982
|
const parameterStore = (userConfig) => {
|
|
980
983
|
const { clientConfig, ...config } = {
|
|
981
984
|
...DEFAULT_CLIENT_CONFIG$1,
|
|
@@ -983,9 +986,8 @@ const parameterStore = (userConfig) => {
|
|
|
983
986
|
};
|
|
984
987
|
const ssm = new SSMClient(clientConfig);
|
|
985
988
|
return {
|
|
986
|
-
getSecret: (parameter, defaultValue
|
|
989
|
+
getSecret: (parameter, defaultValue) => getSecret(ssm, config, parameter, defaultValue),
|
|
987
990
|
getSecrets: (parameters, defaultValues = []) => getSecrets(ssm, config, parameters, defaultValues),
|
|
988
|
-
getSecureStringParameter: (parameter) => getSecureStringParameter(ssm, config, parameter),
|
|
989
991
|
};
|
|
990
992
|
};
|
|
991
993
|
|
package/dist/src/aws/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { default as dynamodb, IDynamoDBConfig, IDynamoDBInstance, IUnprocessedItems, TBatchWriteItems, TDeleteItem, TGetItem, TPutItem, TQueryTable, TScanTable, TUpdateItem, } from './dynamodb';
|
|
2
2
|
export { ILambda, ILambdaInstance, default as lambda, TInvokeLambda, } from './lambda';
|
|
3
|
-
export { DEFAULT_CLIENT_CONFIG as DEFAULT_PARAMETER_STORE_CLIENT_CONFIG, IParameterStore, IParameterStoreInstance, default as parameterStore, TGetSecret, TGetSecrets,
|
|
3
|
+
export { DEFAULT_CLIENT_CONFIG as DEFAULT_PARAMETER_STORE_CLIENT_CONFIG, IParameterStore, IParameterStoreInstance, default as parameterStore, TGetSecret, TGetSecrets, } from './parameterStore';
|
|
4
4
|
export { DEFAULT_CLIENT_CONFIG as DEFAULT_SES_CLIENT_CONFIG, IEmailAttachment, IEmailOptions, ISES, ISESInstance, default as ses, TSendMail, } from './ses';
|
|
5
5
|
export { ISQS, ISQSInstance, default as sqs, TDeleteQueueItem, TGetQueueItems, TGetQueueUrl, TSendMessage, } from './sqs';
|
|
@@ -13,12 +13,10 @@ interface IParameter {
|
|
|
13
13
|
}
|
|
14
14
|
export type TGetSecret = (parameter: string, defaultValue?: string) => Promise<string>;
|
|
15
15
|
export type TGetSecrets = (parameters: string[], defaultValues?: IParameter[]) => Promise<IParameter[]>;
|
|
16
|
-
export type TGetSecureStringParameter = (parameter: string) => Promise<string>;
|
|
17
16
|
export declare const DEFAULT_CLIENT_CONFIG: IParameterStore;
|
|
18
17
|
export interface IParameterStoreInstance {
|
|
19
18
|
getSecret: TGetSecret;
|
|
20
19
|
getSecrets: TGetSecrets;
|
|
21
|
-
getSecureStringParameter: TGetSecureStringParameter;
|
|
22
20
|
}
|
|
23
21
|
declare const parameterStore: (userConfig: IParameterStore) => IParameterStoreInstance;
|
|
24
22
|
export default parameterStore;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Alagarr, default as alagarr, ClientError, HandlerFunction, IInterfaceAlagarrOptions, IInterfaceHeaders, IInterfaceQueryParameters, IInterfaceRequest, IInterfaceResponse, ServerError, } from './alagarr';
|
|
2
|
-
export { DEFAULT_PARAMETER_STORE_CLIENT_CONFIG, DEFAULT_SES_CLIENT_CONFIG, dynamodb, IDynamoDBConfig, IDynamoDBInstance, IEmailAttachment, IEmailOptions, ILambda, ILambdaInstance, IParameterStore, IParameterStoreInstance, ISES, ISESInstance, ISQS, ISQSInstance, IUnprocessedItems, lambda, parameterStore, ses, sqs, TBatchWriteItems, TDeleteItem, TDeleteQueueItem, TGetItem, TGetQueueItems, TGetQueueUrl, TGetSecret, TGetSecrets,
|
|
2
|
+
export { DEFAULT_PARAMETER_STORE_CLIENT_CONFIG, DEFAULT_SES_CLIENT_CONFIG, dynamodb, IDynamoDBConfig, IDynamoDBInstance, IEmailAttachment, IEmailOptions, ILambda, ILambdaInstance, IParameterStore, IParameterStoreInstance, ISES, ISESInstance, ISQS, ISQSInstance, IUnprocessedItems, lambda, parameterStore, ses, sqs, TBatchWriteItems, TDeleteItem, TDeleteQueueItem, TGetItem, TGetQueueItems, TGetQueueUrl, TGetSecret, TGetSecrets, TInvokeLambda, TPutItem, TQueryTable, TScanTable, TSendMail, TSendMessage, TUpdateItem, } from './aws';
|
|
3
3
|
export { atob, btoa } from './base64';
|
|
4
4
|
export { default as logger } from './logger/logger';
|
|
5
5
|
export { asyncReduce, deepFlatten, flatten, List, partial, splitEvery, times, until, } from './utils';
|