Skip to content

Commit

Permalink
Fix Null STS Client when role_arn is used.
Browse files Browse the repository at this point in the history
Signed-off-by: Anas <[email protected]>
  • Loading branch information
anas-aso committed Nov 6, 2020
1 parent c7fd02f commit ecd822f
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions src/main/java/io/prometheus/cloudwatch/CloudWatchCollector.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import software.amazon.awssdk.services.resourcegroupstaggingapi.model.ResourceTagMapping;
import software.amazon.awssdk.services.resourcegroupstaggingapi.model.Tag;
import software.amazon.awssdk.services.resourcegroupstaggingapi.model.TagFilter;
import software.amazon.awssdk.services.sts.StsClient;
import software.amazon.awssdk.services.sts.auth.StsAssumeRoleCredentialsProvider;
import software.amazon.awssdk.services.sts.model.AssumeRoleRequest;

Expand Down Expand Up @@ -280,12 +281,13 @@ private void loadConfig(ArrayList<MetricRule> rules, CloudWatchClient cloudWatch
}

private AwsCredentialsProvider getRoleCredentialProvider(Map<String, Object> config) {
StsAssumeRoleCredentialsProvider credentialsProvider = StsAssumeRoleCredentialsProvider.builder()
.refreshRequest(AssumeRoleRequest.builder()
.roleArn((String) config.get("role_arn"))
.roleSessionName("cloudwatch_exporter").build()
).build();
return credentialsProvider;
StsClient stsClient = StsClient.builder().region(Region.of((String) config.get("region"))).build();
AssumeRoleRequest assumeRoleRequest = AssumeRoleRequest.builder()
.roleArn((String) config.get("role_arn"))
.roleSessionName("cloudwatch_exporter").build();
return StsAssumeRoleCredentialsProvider.builder()
.stsClient(stsClient)
.refreshRequest(assumeRoleRequest).build();
}

private List<ResourceTagMapping> getResourceTagMappings(MetricRule rule, ResourceGroupsTaggingApiClient taggingClient) {
Expand Down

0 comments on commit ecd822f

Please sign in to comment.