package com.sequenceiq.cloudbreak.cloud.openstack.nativ; import java.util.Collections; import java.util.List; import javax.inject.Inject; import org.springframework.stereotype.Service; import com.sequenceiq.cloudbreak.cloud.Authenticator; import com.sequenceiq.cloudbreak.cloud.CloudConnector; import com.sequenceiq.cloudbreak.cloud.CredentialConnector; import com.sequenceiq.cloudbreak.cloud.InstanceConnector; import com.sequenceiq.cloudbreak.cloud.MetadataCollector; import com.sequenceiq.cloudbreak.cloud.PlatformParameters; import com.sequenceiq.cloudbreak.cloud.ResourceConnector; import com.sequenceiq.cloudbreak.cloud.Setup; import com.sequenceiq.cloudbreak.cloud.Validator; import com.sequenceiq.cloudbreak.cloud.model.Platform; import com.sequenceiq.cloudbreak.cloud.model.Variant; import com.sequenceiq.cloudbreak.cloud.openstack.auth.OpenStackAuthenticator; import com.sequenceiq.cloudbreak.cloud.openstack.auth.OpenStackCredentialConnector; import com.sequenceiq.cloudbreak.cloud.openstack.common.OpenStackConstants; import com.sequenceiq.cloudbreak.cloud.openstack.common.OpenStackParameters; import com.sequenceiq.cloudbreak.cloud.openstack.common.OpenStackSetup; import com.sequenceiq.cloudbreak.cloud.openstack.common.OpenStackTagValidator; @Service public class OpenStackNativeConnector implements CloudConnector { @Inject private OpenStackCredentialConnector credentialConnector; @Inject private OpenStackAuthenticator authenticator; @Inject private OpenStackNativeResourceConnector resourceConnector; @Inject private OpenStackNativeInstanceConnector instanceConnector; @Inject private OpenStackSetup openStackSetup; @Inject private OpenStackTagValidator openStackTagValidator; @Inject private OpenStackParameters openStackParameters; @Inject private OpenStackNativeMetaDataCollector metadataCollector; @Override public Platform platform() { return OpenStackConstants.OPENSTACK_PLATFORM; } @Override public Variant variant() { return OpenStackConstants.OpenStackVariant.NATIVE.variant(); } @Override public Authenticator authentication() { return authenticator; } @Override public ResourceConnector resources() { return resourceConnector; } @Override public InstanceConnector instances() { return instanceConnector; } @Override public MetadataCollector metadata() { return metadataCollector; } @Override public Setup setup() { return openStackSetup; } @Override public List<Validator> validators() { return Collections.singletonList(openStackTagValidator); } @Override public CredentialConnector credentials() { return credentialConnector; } @Override public PlatformParameters parameters() { return openStackParameters; } }