package com.sequenceiq.cloudbreak.cloud.gcp; 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; @Service public class GcpConnector implements CloudConnector { @Inject private GcpAuthenticator authenticator; @Inject private GcpProvisionSetup provisionSetup; @Inject private GcpTagValidator gcpTagValidator; @Inject private GcpInstanceConnector instanceConnector; @Inject private GcpResourceConnector resourceConnector; @Inject private GcpCredentialConnector gcpCredentialConnector; @Inject private GcpPlatformParameters gcpPlatformParameters; @Inject private GcpMetadataCollector metadataCollector; @Override public Authenticator authentication() { return authenticator; } @Override public Setup setup() { return provisionSetup; } @Override public List<Validator> validators() { return Collections.singletonList(gcpTagValidator); } @Override public CredentialConnector credentials() { return gcpCredentialConnector; } @Override public ResourceConnector resources() { return resourceConnector; } @Override public InstanceConnector instances() { return instanceConnector; } @Override public MetadataCollector metadata() { return metadataCollector; } @Override public PlatformParameters parameters() { return gcpPlatformParameters; } @Override public Platform platform() { return GcpConstants.GCP_PLATFORM; } @Override public Variant variant() { return GcpConstants.GCP_VARIANT; } }