@@ -8,11 +8,19 @@ import { LoginManager } from './deprecated/loginManager'
88import { fromString } from './providers/credentials'
99import { getLogger } from '../shared/logger'
1010import { ExtensionUse } from './utils'
11- import { isCloud9 } from '../shared/extensionUtilities'
11+ import { isAmazonQ , isCloud9 , isSageMaker } from '../shared/extensionUtilities'
1212import { isInDevEnv } from '../shared/vscode/env'
1313import { isWeb } from '../shared/extensionGlobals'
14+ import { CredentialsProviderManager } from './providers/credentialsProviderManager'
15+ import { SharedCredentialsProviderFactory } from './providers/sharedCredentialsProviderFactory'
16+ import { Ec2CredentialsProvider } from './providers/ec2CredentialsProvider'
17+ import { EcsCredentialsProvider } from './providers/ecsCredentialsProvider'
18+ import { EnvVarsCredentialsProvider } from './providers/envVarsCredentialsProvider'
1419
1520export async function initialize ( loginManager : LoginManager ) : Promise < void > {
21+ if ( isAmazonQ ( ) && isSageMaker ( ) ) {
22+ initializeCredentialsProviderManager ( )
23+ }
1624 Auth . instance . onDidChangeActiveConnection ( async ( conn ) => {
1725 // This logic needs to be moved to `Auth.useConnection` to correctly record `passive`
1826 if ( conn ?. type === 'iam' && conn . state === 'valid' ) {
@@ -25,6 +33,12 @@ export async function initialize(loginManager: LoginManager): Promise<void> {
2533 await showManageConnectionsOnStartup ( )
2634}
2735
36+ function initializeCredentialsProviderManager ( ) {
37+ const manager = CredentialsProviderManager . getInstance ( )
38+ manager . addProviderFactory ( new SharedCredentialsProviderFactory ( ) )
39+ manager . addProviders ( new Ec2CredentialsProvider ( ) , new EcsCredentialsProvider ( ) , new EnvVarsCredentialsProvider ( ) )
40+ }
41+
2842/**
2943 * Show the Manage Connections page when the extension starts up, if it should be shown.
3044 */
0 commit comments