Search in sources :

Example 1 with Arn

use of com.amazonaws.arn.Arn in project titus-control-plane by Netflix.

the class AmazonClientProvider method getAwsCredentialsProvider.

private AWSCredentialsProvider getAwsCredentialsProvider(String accountId) {
    AWSCredentialsProvider credentialsProvider = awsCredentialsByAccountId.get(accountId);
    if (credentialsProvider == null) {
        synchronized (this) {
            credentialsProvider = awsCredentialsByAccountId.get(accountId);
            if (credentialsProvider == null) {
                String roleSessionName = configuration.getControlPlaneRoleSessionName();
                int roleSessionDurationSeconds = configuration.getControlPlaneRoleSessionDurationSeconds();
                Arn roleArn = getControlPlaneRoleArnForAccount(accountId);
                credentialsProvider = new STSAssumeRoleSessionCredentialsProvider.Builder(roleArn.toString(), roleSessionName).withStsClient(stsClient).withRoleSessionDurationSeconds(roleSessionDurationSeconds).build();
                awsCredentialsByAccountId.put(accountId, credentialsProvider);
            }
        }
    }
    return credentialsProvider;
}
Also used : AmazonElasticLoadBalancingAsyncClientBuilder(com.amazonaws.services.elasticloadbalancingv2.AmazonElasticLoadBalancingAsyncClientBuilder) Arn(com.amazonaws.arn.Arn) AWSCredentialsProvider(com.amazonaws.auth.AWSCredentialsProvider)

Aggregations

Arn (com.amazonaws.arn.Arn)1 AWSCredentialsProvider (com.amazonaws.auth.AWSCredentialsProvider)1 AmazonElasticLoadBalancingAsyncClientBuilder (com.amazonaws.services.elasticloadbalancingv2.AmazonElasticLoadBalancingAsyncClientBuilder)1