@@ -186,8 +186,8 @@ export class PgBouncer extends Construct {
186
186
runtime : lambda . Runtime . NODEJS_20_X ,
187
187
handler : "index.handler" ,
188
188
code : lambda . Code . fromInline ( `
189
- const AWS = require('aws-sdk');
190
- const sm = new AWS.SecretsManager ();
189
+ const { SecretsManagerClient, GetSecretValueCommand, PutSecretValueCommand } = require('@ aws-sdk/client-secrets-manager ');
190
+ const client = new SecretsManagerClient ();
191
191
192
192
exports.handler = async (event) => {
193
193
console.log('Event:', JSON.stringify(event, null, 2));
@@ -196,21 +196,25 @@ export class PgBouncer extends Construct {
196
196
const instanceIp = event.ResourceProperties.instanceIp;
197
197
198
198
// Get the original secret value
199
- const originalSecret = await sm.getSecretValue({
200
- SecretId: '${ props . database . secret . secretArn } '
201
- }).promise();
199
+ const getSecretResponse = await client.send(
200
+ new GetSecretValueCommand({
201
+ SecretId: '${ props . database . secret . secretArn } '
202
+ })
203
+ );
202
204
203
205
// Parse the secret string
204
- const secretData = JSON.parse(originalSecret .SecretString);
206
+ const secretData = JSON.parse(getSecretResponse .SecretString);
205
207
206
208
// Update the host value with the PgBouncer instance IP
207
209
secretData.host = instanceIp;
208
210
209
211
// Put the modified secret value
210
- await sm.putSecretValue({
211
- SecretId: '${ this . pgbouncerSecret . secretArn } ',
212
- SecretString: JSON.stringify(secretData)
213
- }).promise();
212
+ await client.send(
213
+ new PutSecretValueCommand({
214
+ SecretId: '${ this . pgbouncerSecret . secretArn } ',
215
+ SecretString: JSON.stringify(secretData)
216
+ })
217
+ );
214
218
215
219
return {
216
220
PhysicalResourceId: '${ this . pgbouncerSecret . secretArn } ',
0 commit comments