in pulsar-io/aws/src/main/java/org/apache/pulsar/io/aws/AbstractAwsConnector.java [80:110]
public AwsCredentialProviderPlugin defaultCredentialProvider(String awsCredentialPluginParam) {
Map<String, String> credentialMap = new Gson().fromJson(awsCredentialPluginParam,
new TypeToken<Map<String, String>>() {
}.getType());
String accessKey = credentialMap.get(ACCESS_KEY_NAME);
String secretKey = credentialMap.get(SECRET_KEY_NAME);
if (!(StringUtils.isNotBlank(accessKey) && StringUtils.isNotBlank(secretKey))) {
throw new IllegalArgumentException(
String.format(
"Default %s and %s must be present into json-map if AwsCredentialProviderPlugin not provided",
ACCESS_KEY_NAME, SECRET_KEY_NAME)
);
}
return new AwsCredentialProviderPlugin() {
@Override
public void init(String param) {
// noop
}
@Override
public AWSCredentialsProvider getCredentialProvider() {
return defaultCredentialProvider(accessKey, secretKey);
}
@Override
public void close() throws IOException {
}
};
}