Skip to content

Commit 2e4bb76

Browse files
authored
feat(parameters): SSMProvider support (#1187)
* feat: added SSMProvider.get * added sdk as devDependency * build: updated dependencies * feat: base get * feat: added decrypt option to get param * feat: implemented getParameter function * feat: SSMProvider.getMultiple * feat: getParameters fn * chore: merge conflicts * refactor: moved SSM specific logic from BaseProvider to SSMProvider * wip: other ssmprovider features * wip: other ssmprovider features * wip: other ssmprovider features * feat: completed SSMProvider implementation * refactor: folder structure * refactor: aliases * refactor: changed variable names in splitBatchAndDecryptParameters * refactor: readability & naming * refactor: updated constructor type + interface intersections * chore: types
1 parent 32bd7e8 commit 2e4bb76

14 files changed

+4177
-797
lines changed

Diff for: package-lock.json

+2,192-782
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: packages/parameters/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
],
5656
"devDependencies": {
5757
"@aws-sdk/client-secrets-manager": "^3.238.0",
58+
"@aws-sdk/client-ssm": "^3.244.0",
5859
"aws-sdk-client-mock": "^2.0.1",
5960
"aws-sdk-client-mock-jest": "^2.0.1"
6061
}

Diff for: packages/parameters/src/BaseProvider.ts

+14-14
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,20 @@ abstract class BaseProvider implements BaseProviderInterface {
9898
return values;
9999
}
100100

101+
/**
102+
* Check whether a key has expired in the cache or not
103+
*
104+
* It returns true if the key is expired or not present in the cache.
105+
*
106+
* @param {string} key - Stringified representation of the key to retrieve
107+
*/
108+
public hasKeyExpiredInCache(key: string): boolean {
109+
const value = this.store.get(key);
110+
if (value) return value.isExpired();
111+
112+
return true;
113+
}
114+
101115
/**
102116
* Retrieve parameter value from the underlying parameter store
103117
*
@@ -114,20 +128,6 @@ abstract class BaseProvider implements BaseProviderInterface {
114128
*/
115129
protected abstract _getMultiple(path: string, options?: unknown): Promise<Record<string, string | undefined>>;
116130

117-
/**
118-
* Check whether a key has expired in the cache or not
119-
*
120-
* It returns true if the key is expired or not present in the cache.
121-
*
122-
* @param {string} key - Stringified representation of the key to retrieve
123-
*/
124-
private hasKeyExpiredInCache(key: string): boolean {
125-
const value = this.store.get(key);
126-
if (value) return value.isExpired();
127-
128-
return true;
129-
}
130-
131131
}
132132

133133
const transformValue = (value: string | Uint8Array | undefined, transform: TransformOptions, throwOnTransformError: boolean, key: string): string | Record<string, unknown> | undefined => {

0 commit comments

Comments
 (0)