@@ -28,14 +28,14 @@ export interface AWSTempCredentials {
28
28
*/
29
29
export abstract class AWSTemporaryCredentialProvider {
30
30
abstract getCredentials ( ) : Promise < AWSTempCredentials > ;
31
- private static _credentialProvider : ReturnType < typeof getAwsCredentialProvider > ;
32
- protected static get credentialProvider ( ) {
33
- AWSTemporaryCredentialProvider . _credentialProvider ??= getAwsCredentialProvider ( ) ;
34
- return AWSTemporaryCredentialProvider . _credentialProvider ;
31
+ private static _awsSDK : ReturnType < typeof getAwsCredentialProvider > ;
32
+ protected static get awsSDK ( ) {
33
+ AWSTemporaryCredentialProvider . _awsSDK ??= getAwsCredentialProvider ( ) ;
34
+ return AWSTemporaryCredentialProvider . _awsSDK ;
35
35
}
36
36
37
37
static get isAWSSDKInstalled ( ) : boolean {
38
- return ! ( 'kModuleError' in AWSTemporaryCredentialProvider . credentialProvider ) ;
38
+ return ! ( 'kModuleError' in AWSTemporaryCredentialProvider . awsSDK ) ;
39
39
}
40
40
}
41
41
@@ -47,8 +47,8 @@ export class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
47
47
* To ensure this occurs, we need to cache the `provider` returned by the AWS sdk and re-use it when fetching credentials.
48
48
*/
49
49
private get provider ( ) : ( ) => Promise < AWSCredentials > {
50
- if ( 'kModuleError' in AWSTemporaryCredentialProvider . credentialProvider ) {
51
- throw AWSTemporaryCredentialProvider . credentialProvider . kModuleError ;
50
+ if ( 'kModuleError' in AWSTemporaryCredentialProvider . awsSDK ) {
51
+ throw AWSTemporaryCredentialProvider . awsSDK . kModuleError ;
52
52
}
53
53
if ( this . _provider ) {
54
54
return this . _provider ;
@@ -94,12 +94,12 @@ export class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
94
94
AWS_STS_REGIONAL_ENDPOINTS === 'regional' ||
95
95
( AWS_STS_REGIONAL_ENDPOINTS === 'legacy' && ! LEGACY_REGIONS . has ( AWS_REGION ) ) ;
96
96
97
- this . _provider ?? =
97
+ this . _provider =
98
98
awsRegionSettingsExist && useRegionalSts
99
- ? AWSTemporaryCredentialProvider . credentialProvider . fromNodeProviderChain ( {
99
+ ? AWSTemporaryCredentialProvider . awsSDK . fromNodeProviderChain ( {
100
100
clientConfig : { region : AWS_REGION }
101
101
} )
102
- : AWSTemporaryCredentialProvider . credentialProvider . fromNodeProviderChain ( ) ;
102
+ : AWSTemporaryCredentialProvider . awsSDK . fromNodeProviderChain ( ) ;
103
103
104
104
return this . _provider ;
105
105
}
@@ -124,7 +124,7 @@ export class AWSSDKCredentialProvider extends AWSTemporaryCredentialProvider {
124
124
Expiration : creds . expiration
125
125
} ;
126
126
} catch ( error ) {
127
- throw new MongoAWSError ( error . message ) ;
127
+ throw new MongoAWSError ( error . message , { cause : error } ) ;
128
128
}
129
129
}
130
130
}
0 commit comments