package com.sequenceiq.cloudbreak.cloud.azure; 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.azure.client.AzureClientService; import com.sequenceiq.cloudbreak.cloud.context.AuthenticatedContext; import com.sequenceiq.cloudbreak.cloud.context.CloudContext; import com.sequenceiq.cloudbreak.cloud.exception.CloudConnectorException; import com.sequenceiq.cloudbreak.cloud.model.CloudCredential; import com.sequenceiq.cloudbreak.cloud.model.Platform; import com.sequenceiq.cloudbreak.cloud.model.Variant; @Service public class AzureAuthenticator implements Authenticator { private static final Logger LOGGER = LoggerFactory.getLogger(AzureAuthenticator.class); @Inject private AzureClientService azureClient; public AuthenticatedContext authenticate(CloudContext cloudContext, CloudCredential cloudCredential) { try { LOGGER.info("Authenticating to Azure ..."); return azureClient.createAuthenticatedContext(cloudContext, cloudCredential); } catch (Exception e) { throw new CloudConnectorException("Could not authenticate to Azure!", e); } } public Platform platform() { return AzureConstants.PLATFORM; } public Variant variant() { return AzureConstants.VARIANT; } }