public AwsCredentialProviderPlugin defaultCredentialProvider()

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 {

            }
        };
    }