package com.sequenceiq.cloudbreak.cloud.byos;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import com.sequenceiq.cloudbreak.cloud.CredentialConnector;
import com.sequenceiq.cloudbreak.cloud.context.AuthenticatedContext;
import com.sequenceiq.cloudbreak.cloud.context.CloudContext;
import com.sequenceiq.cloudbreak.cloud.credential.CredentialNotifier;
import com.sequenceiq.cloudbreak.cloud.model.CloudCredentialStatus;
import com.sequenceiq.cloudbreak.cloud.model.CredentialStatus;
import com.sequenceiq.cloudbreak.cloud.model.ExtendedCloudCredential;
@Service
public class BYOSCredentialConnector implements CredentialConnector {
private static final Logger LOGGER = LoggerFactory.getLogger(BYOSCredentialConnector.class);
@Override
public CloudCredentialStatus verify(AuthenticatedContext authenticatedContext) {
return new CloudCredentialStatus(authenticatedContext.getCloudCredential(), CredentialStatus.VERIFIED);
}
@Override
public CloudCredentialStatus create(AuthenticatedContext authenticatedContext) {
return new CloudCredentialStatus(authenticatedContext.getCloudCredential(), CredentialStatus.CREATED);
}
@Override
public Map<String, String> interactiveLogin(CloudContext cloudContext, ExtendedCloudCredential extendedCloudCredential,
CredentialNotifier credentialNotifier) {
throw new UnsupportedOperationException("Interactive login not supported on BYOS");
}
@Override
public CloudCredentialStatus delete(AuthenticatedContext authenticatedContext) {
return new CloudCredentialStatus(authenticatedContext.getCloudCredential(), CredentialStatus.DELETED);
}
}