33 * SPDX-License-Identifier: Apache-2.0
44 */
55
6- import { SecretsManager } from 'aws-sdk'
7- import globals from '../extensionGlobals'
86import {
7+ CreateSecretCommand ,
98 CreateSecretRequest ,
109 CreateSecretResponse ,
10+ ListSecretsCommand ,
1111 ListSecretsRequest ,
1212 ListSecretsResponse ,
13- } from 'aws-sdk/clients/secretsmanager'
13+ SecretsManagerClient as SecretsManagerSdkClient ,
14+ } from '@aws-sdk/client-secrets-manager'
15+ import globals from '../extensionGlobals'
1416import { productName } from '../constants'
1517
1618export class SecretsManagerClient {
1719 public constructor (
1820 public readonly regionCode : string ,
1921 private readonly secretsManagerClientProvider : (
2022 regionCode : string
21- ) => Promise < SecretsManager > = createSecretsManagerClient
23+ ) => SecretsManagerSdkClient = createSecretsManagerClient
2224 ) { }
2325
2426 /**
@@ -27,7 +29,7 @@ export class SecretsManagerClient {
2729 * @returns a list of the secrets
2830 */
2931 public async listSecrets ( filter : string ) : Promise < ListSecretsResponse > {
30- const secretsManagerClient = await this . secretsManagerClientProvider ( this . regionCode )
32+ const secretsManagerClient = this . secretsManagerClientProvider ( this . regionCode )
3133 const request : ListSecretsRequest = {
3234 IncludePlannedDeletion : false ,
3335 Filters : [
@@ -38,11 +40,11 @@ export class SecretsManagerClient {
3840 ] ,
3941 SortOrder : 'desc' ,
4042 }
41- return secretsManagerClient . listSecrets ( request ) . promise ( )
43+ return secretsManagerClient . send ( new ListSecretsCommand ( request ) )
4244 }
4345
4446 public async createSecret ( secretString : string , username : string , password : string ) : Promise < CreateSecretResponse > {
45- const secretsManagerClient = await this . secretsManagerClientProvider ( this . regionCode )
47+ const secretsManagerClient = this . secretsManagerClientProvider ( this . regionCode )
4648 const request : CreateSecretRequest = {
4749 Description : `Database secret created with ${ productName } ` ,
4850 Name : secretString ? secretString : '' ,
@@ -59,10 +61,13 @@ export class SecretsManagerClient {
5961 ] ,
6062 ForceOverwriteReplicaSecret : true ,
6163 }
62- return secretsManagerClient . createSecret ( request ) . promise ( )
64+ return secretsManagerClient . send ( new CreateSecretCommand ( request ) )
6365 }
6466}
6567
66- async function createSecretsManagerClient ( regionCode : string ) : Promise < SecretsManager > {
67- return await globals . sdkClientBuilder . createAwsService ( SecretsManager , { computeChecksums : true } , regionCode )
68+ function createSecretsManagerClient ( regionCode : string ) : SecretsManagerSdkClient {
69+ return globals . sdkClientBuilderV3 . createAwsService ( {
70+ serviceClient : SecretsManagerSdkClient ,
71+ clientOptions : { region : regionCode } ,
72+ } )
6873}
0 commit comments