package com.sequenceiq.cloudbreak.cloud.aws; import javax.inject.Inject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import com.sequenceiq.cloudbreak.cloud.Authenticator; import com.sequenceiq.cloudbreak.cloud.context.AuthenticatedContext; import com.sequenceiq.cloudbreak.cloud.context.CloudContext; import com.sequenceiq.cloudbreak.cloud.model.CloudCredential; import com.sequenceiq.cloudbreak.cloud.model.Platform; import com.sequenceiq.cloudbreak.cloud.model.Variant; @Service public class AwsAuthenticator implements Authenticator { private static final Logger LOGGER = LoggerFactory.getLogger(AwsAuthenticator.class); @Inject private AwsClient awsClient; @Override public Platform platform() { return AwsConstants.AWS_PLATFORM; } @Override public Variant variant() { return AwsConstants.AWS_VARIANT; } @Override public AuthenticatedContext authenticate(CloudContext cloudContext, CloudCredential cloudCredential) { LOGGER.info("Authenticating to aws ..."); awsClient.checkAwsEnvironmentVariables(cloudCredential); return awsClient.createAuthenticatedContext(cloudContext, cloudCredential); } }