in flink-connector-aws-base/src/main/java/org/apache/flink/connector/aws/util/AWSGeneralUtil.java [136:180]
public static AwsCredentialsProvider getCredentialsProvider(
final Properties configProps, final String configPrefix) {
CredentialProvider credentialProviderType =
getCredentialProviderType(configProps, configPrefix);
switch (credentialProviderType) {
case ENV_VAR:
return EnvironmentVariableCredentialsProvider.create();
case SYS_PROP:
return SystemPropertyCredentialsProvider.create();
case CUSTOM:
return getCustomCredentialProvider(
configProps,
AWSConfigConstants.customCredentialsProviderClass(configPrefix));
case PROFILE:
return getProfileCredentialProvider(configProps, configPrefix);
case BASIC:
return () ->
AwsBasicCredentials.create(
configProps.getProperty(
AWSConfigConstants.accessKeyId(configPrefix)),
configProps.getProperty(
AWSConfigConstants.secretKey(configPrefix)));
case ASSUME_ROLE:
return getAssumeRoleCredentialProvider(configProps, configPrefix);
case WEB_IDENTITY_TOKEN:
return getWebIdentityTokenFileCredentialsProvider(
WebIdentityTokenFileCredentialsProvider.builder(),
configProps,
configPrefix);
case AUTO:
return DefaultCredentialsProvider.create();
default:
throw new IllegalArgumentException(
"Credential provider not supported: " + credentialProviderType);
}
}