package com.sequenceiq.cloudbreak.cloud.handler; import com.sequenceiq.cloudbreak.cloud.CloudConnector; import com.sequenceiq.cloudbreak.cloud.context.AuthenticatedContext; import com.sequenceiq.cloudbreak.cloud.context.CloudContext; import com.sequenceiq.cloudbreak.cloud.init.CloudPlatformConnectors; import com.sequenceiq.cloudbreak.cloud.model.CloudCredential; import com.sequenceiq.cloudbreak.cloud.model.CloudInstance; import com.sequenceiq.cloudbreak.cloud.model.CloudVmInstanceStatus; import org.springframework.stereotype.Component; import javax.inject.Inject; import java.util.List; @Component public class InstanceStateQuery { @Inject private CloudPlatformConnectors cloudPlatformConnectors; public List<CloudVmInstanceStatus> getCloudVmInstanceStatuses( CloudCredential cloudCredential, CloudContext cloudContext, List<CloudInstance> instances) { CloudConnector connector = cloudPlatformConnectors.get(cloudContext.getPlatformVariant()); AuthenticatedContext auth = connector.authentication().authenticate(cloudContext, cloudCredential); return connector.instances().check(auth, instances); } }