package org.dasein.cloud.ci;
import java.util.ArrayList;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.dasein.cloud.CloudException;
import org.dasein.cloud.CloudProvider;
import org.dasein.cloud.InternalException;
import org.dasein.cloud.ProviderContext;
import org.dasein.cloud.ResourceStatus;
public abstract class AbstractConvergedHttpLoadBalancer<T extends CloudProvider> implements ConvergedHttpLoadBalancerSupport {
private T provider;
public AbstractConvergedHttpLoadBalancer(@Nonnull T provider) {
this.provider = provider;
}
protected final @Nonnull T getProvider() {
return provider;
}
protected final @Nonnull ProviderContext getContext() throws CloudException {
ProviderContext ctx = getProvider().getContext();
if( ctx == null ) {
throw new CloudException("No context was specified for this request");
}
return ctx;
}
@Override
public @Nullable ConvergedHttpLoadBalancer getConvergedHttpLoadBalancer(@Nonnull String convergedHttpLoadBalancerName) throws CloudException, InternalException {
throw new InternalException("Operation not supported for this cloud");
}
@Override
public @Nonnull Iterable<ResourceStatus> listConvergedHttpLoadBalancerStatus() throws InternalException, CloudException {
throw new InternalException("Operation not supported for this cloud");
}
@Override
public String createConvergedHttpLoadBalancer(@Nonnull ConvergedHttpLoadBalancer withConvergedHttpLoadBalancerOptions) throws CloudException, InternalException {
throw new InternalException("Operation not supported for this cloud");
}
@Override
public void removeConvergedHttpLoadBalancers(@Nonnull String globalForwardingRuleName) throws CloudException, InternalException {
throw new InternalException("Operation not supported for this cloud");
}
}