private static AwsCredentialsProvider getAssumeRoleCredentialProvider()

in flink-connector-aws-base/src/main/java/org/apache/flink/connector/aws/util/AWSGeneralUtil.java [242:269]


    private static AwsCredentialsProvider getAssumeRoleCredentialProvider(
            final Properties configProps, final String configPrefix) {
        final StsClientBuilder stsClientBuilder =
                StsClient.builder()
                        .credentialsProvider(
                                getCredentialsProvider(
                                        configProps,
                                        AWSConfigConstants.roleCredentialsProvider(configPrefix)))
                        .region(getRegion(configProps));
        Optional.ofNullable(getStsEndpoint(configProps))
                .ifPresent(stsClientBuilder::endpointOverride);

        return StsAssumeRoleCredentialsProvider.builder()
                .refreshRequest(
                        AssumeRoleRequest.builder()
                                .roleArn(
                                        configProps.getProperty(
                                                AWSConfigConstants.roleArn(configPrefix)))
                                .roleSessionName(
                                        configProps.getProperty(
                                                AWSConfigConstants.roleSessionName(configPrefix)))
                                .externalId(
                                        configProps.getProperty(
                                                AWSConfigConstants.externalId(configPrefix)))
                                .build())
                .stsClient(stsClientBuilder.build())
                .build();
    }