func NewDefaultCredentialsProvider()

in credentials/providers/default.go [14:58]


func NewDefaultCredentialsProvider() (provider *DefaultCredentialsProvider) {
	providers := []CredentialsProvider{}

	// Add static ak or sts credentials provider
	envProvider, err := NewEnvironmentVariableCredentialsProviderBuilder().Build()
	if err == nil {
		providers = append(providers, envProvider)
	}

	// oidc check
	oidcProvider, err := NewOIDCCredentialsProviderBuilder().Build()
	if err == nil {
		providers = append(providers, oidcProvider)
	}

	// cli credentials provider
	cliProfileProvider, err := NewCLIProfileCredentialsProviderBuilder().Build()
	if err == nil {
		providers = append(providers, cliProfileProvider)
	}

	// profile credentials provider
	profileProvider, err := NewProfileCredentialsProviderBuilder().Build()
	if err == nil {
		providers = append(providers, profileProvider)
	}

	// Add IMDS
	ecsRamRoleProvider, err := NewECSRAMRoleCredentialsProviderBuilder().Build()
	if err == nil {
		providers = append(providers, ecsRamRoleProvider)
	}

	// credentials uri
	if os.Getenv("ALIBABA_CLOUD_CREDENTIALS_URI") != "" {
		credentialsUriProvider, err := NewURLCredentialsProviderBuilder().Build()
		if err == nil {
			providers = append(providers, credentialsUriProvider)
		}
	}

	return &DefaultCredentialsProvider{
		providerChain: providers,
	}
}