Skip to content

Commit 4724a63

Browse files
Use aws-sdk v3 for secrets manager (#616)
* use v3 aws sdk * adjust test * pin to version last supporting ndoe 16
1 parent c163362 commit 4724a63

File tree

4 files changed

+723
-11
lines changed

4 files changed

+723
-11
lines changed

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
},
2222
"devDependencies": {
2323
"@aws-sdk/client-kms": "^3.366.0",
24+
"@aws-sdk/client-secrets-manager": "^3.721.0",
2425
"@types/aws-lambda": "^8.10.136",
2526
"@types/aws-sdk": "^2.7.0",
2627
"@types/jest": "^26.0.23",

src/metrics/listener.spec.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,12 @@ import StatsDClient from "hot-shots";
99
import { Context } from "aws-lambda";
1010
jest.mock("hot-shots");
1111

12-
jest.mock("aws-sdk/clients/secretsmanager", () => {
13-
return jest.fn().mockImplementation(() => ({
14-
getSecretValue: jest.fn().mockReturnValue({
15-
promise: jest.fn().mockResolvedValue({
16-
SecretString: "api-key-secret",
17-
}),
18-
}),
19-
}));
12+
jest.mock("@aws-sdk/client-secrets-manager", () => {
13+
return {
14+
SecretsManager: jest.fn().mockImplementation(() => ({
15+
getSecretValue: jest.fn().mockResolvedValue({ SecretString: "api-key-secret" }),
16+
})),
17+
};
2018
});
2119

2220
const siteURL = "example.com";

src/metrics/listener.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,9 @@ export class MetricsListener {
222222

223223
if (config.apiKeySecretARN !== "") {
224224
try {
225-
const { default: secretsClient } = await import("aws-sdk/clients/secretsmanager");
226-
const secretsManager = new secretsClient();
227-
const secret = await secretsManager.getSecretValue({ SecretId: config.apiKeySecretARN }).promise();
225+
const { SecretsManager } = await import("@aws-sdk/client-secrets-manager");
226+
const secretsManager = new SecretsManager();
227+
const secret = await secretsManager.getSecretValue({ SecretId: config.apiKeySecretARN });
228228
return secret?.SecretString ?? "";
229229
} catch (error) {
230230
logError("couldn't get secrets manager api key", error as Error);

0 commit comments

Comments
 (0)