package com.sequenceiq.cloudbreak.cloud.azure.client; import java.io.IOException; import org.springframework.stereotype.Component; import com.sequenceiq.cloudbreak.cloud.azure.view.AzureCredentialView; import com.sequenceiq.cloudbreak.cloud.context.AuthenticatedContext; import com.sequenceiq.cloudbreak.cloud.context.CloudContext; import com.sequenceiq.cloudbreak.cloud.model.CloudCredential; @Component public class AzureClientService { public AuthenticatedContext createAuthenticatedContext(CloudContext cloudContext, CloudCredential cloudCredential) throws IOException { AuthenticatedContext authenticatedContext = new AuthenticatedContext(cloudContext, cloudCredential); AzureClient azureClient = getClient(cloudCredential); authenticatedContext.putParameter(AzureClient.class, azureClient); return authenticatedContext; } private AzureClient getClient(CloudCredential cloudCredential) throws IOException { AzureCredentialView azureCredentialView = new AzureCredentialView(cloudCredential); return new AzureClient(azureCredentialView.getTenantId(), azureCredentialView.getAccessKey(), azureCredentialView.getSecretKey(), azureCredentialView.getSubscriptionId()); } }