private static StsAssumeRoleCredentialsProvider getStsAssumeRoleCredentialsProvider()

in src/main/java/software/amazon/event/kafkaconnector/auth/EventBridgeAwsCredentialsProviderFactory.java [114:133]


  private static StsAssumeRoleCredentialsProvider getStsAssumeRoleCredentialsProvider(
      EventBridgeSinkConfig config) {
    var stsClient = StsClient.builder().region(Region.of(config.region)).build();
    var requestBuilder =
        AssumeRoleRequest.builder()
            .roleArn(config.roleArn)
            .roleSessionName(config.connectorId)
            .durationSeconds(stsRefreshDuration);

    var externalID = config.externalId.trim();
    if (!externalID.isBlank()) {
      requestBuilder.roleSessionName(config.externalId);
    }

    var request = requestBuilder.build();
    return StsAssumeRoleCredentialsProvider.builder()
        .stsClient(stsClient)
        .refreshRequest(request)
        .build();
  }